/* VARIABLES */

:root {

    --fim-color-main: #b3995d;
    --fim-color-main-rgb: 179, 153, 93;
    --fim-color-main-light: #faf7f0;
    --fim-color-secondary: #454243;

    --fim-color-black: #000 ;
    --fim-color-darkgrey: #666;
    --fim-color-mediumgrey: #808080;
    --fim-color-lightgrey: #a5a5a5;

    --bs-border-radius: 0.475rem;

    --bs-link-color-rgb: var(--fim-color-main-rgb);

    --fim-letter-spacing: 0.01em;

}

/* COLORS */

.color-main {
    color:  var(--fim-color-main);
}
.color-main-light {
    color:  var(--fim-color-main-light);
}
.color-secondary {
    color:  var(--fim-color-secondary);
}

.color-bg-main {
    background-color: var(--fim-color-main);
}
.color-bg-main-light {
    background-color: var(--fim-color-main-light);
}
.color-bg-secondary {
    background-color: var(--fim-color-secondary);
}

/* Documentos asociados: recuadro blanco con borde de marca */
.fim-documentos-asociados {
    background-color: #fff;
    border: 2px solid var(--fim-color-main);
    border-radius: var(--bs-border-radius);
    padding: 1rem 1.25rem;
    box-shadow: 0 0.15rem 0.45rem rgba(var(--fim-color-main-rgb), 0.14);
}

/* WebForms CheckBox: CssClass aplica al <span>, no al <input>; usar InputAttributes-class="form-check-input" en el .aspx.
   Evita que el span envuelva mal el interruptor Bootstrap. */
.form-check.form-switch > span {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    vertical-align: middle;
}

/* Intranet dashboard: mismo criterio que .fim-dashboard-gear (line-height / flex evitan óvalos) */
.fim-dash-icon-wrap {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    min-height: 3.5rem !important;
    max-width: 3.5rem !important;
    max-height: 3.5rem !important;
    padding: 0 !important;
    margin: 0;
    box-sizing: border-box !important;
    line-height: 0 !important;
    flex: 0 0 3.5rem !important;
    align-self: center;
    overflow: hidden;
    border-radius: 50% !important;
    aspect-ratio: 1 / 1;
}

.fim-dash-icon-wrap .bi {
    display: block;
    line-height: 1;
}


/* STRUCTURE */

body, #main, .btn-fim { 
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

body {
    --bs-body-line-height: 1.4;
    --bs-body-bg: var(--fim-color-main-light);
    --bs-body-color: var(--fim-color-secondary);
    letter-spacing: var(--fim-letter-spacing);
}

:root {
    --nav-height: 60px;
}

@media (min-width:576px) {
    :root {
        --nav-height: 85px;
    }

}

#main-menu.sticky-top {
    top: var( --nav-height) !important; /* Alto navbar + margen. Mide el tuyo con DevTools */
    max-height: calc(100vh - var( --nav-height));
    z-index: 1020;
    /* Con max-height fijo, sin scroll el contenido (calendario, enlaces) queda recortado.
       Los desplegables usan data-bs-display="static" en MenuElemento.ascx (flujo normal, no Popper flotante). */
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
#b-wrapper {
    padding-top: var(--nav-height);
    /* Sin z-index: si no, todo el contenido queda por debajo del backdrop (.fim-aside-backdrop)
       que es hermano en el DOM y el menú móvil deja de recibir clics. */
    position: relative;
}

/* Móvil: panel lateral fuera de flujo (mismo ASide, sin duplicar controles servidor) */
@media (max-width: 767.98px) {
    body.fim-aside-nav-open {
        overflow: hidden;
    }

    /* Capa sólo oscurece contenido detrás del panel; por debajo del aside (véase z-index más abajo) */
    .fim-aside-backdrop {
        position: fixed;
        top: var(--nav-height);
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1038;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.2s ease, visibility 0.2s ease;
    }

    .fim-aside-backdrop.show {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    #b-wrapper.row > .fim-aside-column {
        position: fixed;
        top: var(--nav-height);
        left: 0;
        bottom: 0;
        width: min(20rem, 92vw);
        max-width: 100%;
        z-index: 1040;
        margin: 0;
        padding: 0 0.5rem 0.75rem;
        background-color: var(--bs-body-bg, #fff);
        box-shadow: 0.35rem 0 1.25rem rgba(0, 0, 0, 0.18);
        transform: translateX(-102%);
        transition: transform 0.25s ease;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    #b-wrapper.row > .fim-aside-column.fim-aside-open {
        transform: translateX(0);
    }

    #b-wrapper.row > .fim-aside-column #main-menu.sticky-top {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    #b-wrapper.row > .fim-aside-column #main-menu .d-flex.flex-column {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Columna lateral: min-height 0 evita que flexbox (row) impida el scroll interno del #main-menu */
#b-wrapper.row > header.fim-aside-column {
    overflow: visible;
    min-height: 0;
}

/* WebForms: el <form runat="server"> debe ocupar todo el ancho sin comprimir el navbar */
#form1 {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

section {
    margin: 0 0 1.625rem !important
}

hr {
    margin: 0.4rem 0;
}


.card {
    position: relative;
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-border-width: 0px;
  /*--bs-card-border-color: var(--fim-color-main);*/
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - 1px);
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: var(--bs-white);
  --bs-card-cap-color: var(--fim-color-secondary);
  --bs-card-height: ;
  --bs-card-color: var(--fim-color-secondary);
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-width: 100%;
  --bs-card-group-margin: 0.75rem 0;
  --bs-card-group-border-width: 1px;
}

.wrapper-img {
    overflow: hidden;
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
}

.wrapper-ico {
    padding: 2rem;
    text-align: center;
    border-bottom: 2px var(--bs-border-style) var(--fim-color-main-light) !important;
    
    background-color: var(--fim-color-secondary);
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
    color: var(--bs-white);
}

.wrapper-ico-in {
    padding: 3rem;
    text-align: center;
    border-bottom: 2px var(--bs-border-style) var(--fim-color-main-light) !important;
    
    background-color: var(--fim-color-main);
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
    color: var(--bs-white);
}

.card-link-wrapper:hover .wrapper-ico {
   background-color: var(--fim-color-main);
   border: 1px var(--bs-border-style) var(--bs-white) !important;
}

.card-img-top {
    transition: transform 0.3s ease-in-out;
    width: 100%;
    height: auto;
}

.card-link-wrapper:hover .card-img-top {
    transform: scale(1.05);
    overflow: hidden;
}

.card-link-wrapper:hover .card-title {
    transition: transform 0.3s ease-in-out;
    color:  var(--bs-black);
}

.card-body {
    display: flex;
    flex-direction: column;
    padding-bottom: 2rem;
}

.card-category{
    color: var(--fim-color-main);
    font-size: 0.785rem;
    margin-bottom: 0.425rem;
}

.card-footer {
    text-align: end;
    border-top: 2px var(--bs-border-style) var(--fim-color-main-light) !important;
}

.card-title {
    font-size: 1.15rem;
    font-weight: 600;    
}

.card-link-wrapper {
    text-decoration: none !important;
}

.new-badge {
    position: absolute;
    top: 15px;
    left: -8px;
    padding: 0.175rem 0.65rem;
    border: 2px solid var(--fim-color-main-light) !important;
    border-end-end-radius: 0.5rem;
    border-start-end-radius: 0.5rem;
    color: var(--bs-white);
    background-color:  var(--fim-color-main);
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.10em;
    z-index: 10;
}



#search-btn {
    position: absolute;
    right: 25px;
    top: 65px;
}

/* FONTS */
@font-face {
    font-family: 'Blauer-Nue';
    src: url('../fonts/Blauer-Nue/Blauer-Nue-Semibold.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


/* NAVAR */


/* EFFECTS */
img, .img-fluid, .card-img {
    pointer-events: none;
    user-drag: none !important;
    -webkit-user-drag: none !important;
}


/* BUTTONS */

.btn, input, select, textarea, .form-control {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    -ms-user-select: auto !important;
    user-select: auto !important;
    pointer-events: auto !important;
}

.btn {
    border-radius: var(--bs-border-radius);
    -webkit-transition: all 0.3s;
    --bs-btn-font-size: 0.875rem;
}

.btn-fim { 
    width: 100%;
    padding: 0.5rem 1rem;
    text-align: start;
    font-weight: 400;
    background-color: var(--bs-white);
    color: var(--fim-color-secondary);
    align-items: center;
    display: flex;
    line-height: 1.35em;
    box-shadow: var(--bs-box-shadow-sm) !important;
    font-weight: 500;
}

.btn-fim:hover {
    background-color: var(--fim-color-main-light);
    color: var(--fim-color-secondary);
    border: var(--fim-color-main) solid 1px ;
}

/* Icono marca I+ en menú lateral (Equipo Farmacia I+) */
.fim-aside-icon-iplus {
    display: block;
    width: 1.375rem;
    height: 1.375rem;
    max-width: 22px;
    max-height: 22px;
    object-fit: contain;
}


.btn-fim-in { 
    border-radius: 50px;
    width: 100%;
    padding: 0.5rem 1rem;
    text-align: start;
    font-weight: 400;
    background-color: var(--fim-color-main-light);
    border: var(--fim-color-main) solid 1px ;
    align-items: center;
    display: flex;
    line-height: 1.35em;
    box-shadow: var(--bs-box-shadow-sm) !important;
    font-weight: 500;
}

.btn-fim-in:hover {
    background-color: var(--fim-color-secondary);
    color: var(--bs-white) !important;
    border: var(--fim-color-main) solid 1px ;
}

.btn-circle {
    width: 40px;
    height: 40px;
    border-radius: 50px;
    border-color: var(--fim-color-main);
    color: var(--fim-color-main);
    font-size: 18px;
    padding: 4px 10px;
}

.btn-circle:hover {
    width: 40px;
    height: 40px;
    border-radius: 50px;
    color: var(--bs-white);
    background-color: var(--fim-color-main);
    border-color: var(--fim-color-main);
}

/* Botón del asistente (mascota): mismo 40×40 y borde que cerrar sesión (.btn-circle) */
.fim-btn-asistente-mascota {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    max-width: 40px;
    min-height: 40px;
    max-height: 40px;
    padding: 0 !important;
    overflow: hidden;
    flex-shrink: 0;
    box-sizing: border-box;
    line-height: 0;
}
.fim-btn-asistente-mascota .fim-btn-asistente-mascota-img {
    width: 35px !important;
    height: 35px !important;
    max-width: 35px !important;
    max-height: 35px !important;
    object-fit: cover;
    object-position: center 35%;
    border-radius: 50%;
    display: block;
    pointer-events: none;
    flex-shrink: 0;
}

/* Engranaje → dashboard (ASide): sin clases .btn de Bootstrap (su padding/CSS variables deformaba el contorno). */
.fim-dashboard-gear {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
    max-width: 2.75rem !important;
    max-height: 2.75rem !important;
    padding: 0 !important;
    margin: 0 auto;
    border: 1px solid var(--bs-secondary);
    border-radius: 50% !important;
    box-sizing: border-box !important;
    line-height: 0 !important;
    flex: 0 0 2.75rem !important;
    aspect-ratio: 1 / 1;
    color: var(--bs-secondary);
    background-color: transparent;
    text-decoration: none !important;
    vertical-align: middle;
}

.fim-dashboard-gear__icon {
    font-size: 1.15rem;
    line-height: 1;
    display: block;
}

.fim-dashboard-gear:hover {
    color: var(--bs-white);
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}


.btn-bd{ 
    border-radius: 50px;
    border-color: var(--fim-color-main);
    padding: 0.225rem .85rem;
    margin-right: 0.435rem;
    font-weight: 500;
    color: var(--fim-color-secondary);
    background-color: var(--bs-white);
    align-items: center;
    font-size: 0.825rem;
}

.btn-bd:hover {
    border-color: var(--fim-color-secondary);
    color: var(--bs-white);
    background-color: var(--fim-color-secondary);
}


.btn-bd-in{ 
    border-radius: 50px;
    border-color: var(--fim-color-secondary);
    padding: 0.225rem .85rem;
    margin-right: 0.435rem;
    font-weight: 500;
    color: var(--bs-white);
    background-color: var(--fim-color-secondary);
    align-items: center;
    font-size: 0.825rem;
}

.btn-bd-in:hover {
    border-color: var(--fim-color-main);
    color: var(--fim-color-secondary);
    background-color: var(--bs-white);
}


/* Menú lateral: data-bs-display="static" → sin Popper; el LI debe anclar el menú */
#main-menu li.nav-item.dropdown {
    position: relative;
}
#main-menu .dropdown-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    width: 100%;
    margin-top: 0.125rem;
    z-index: 1055;
    font-size: 0.875rem;
    background-color: var(--bs-white);
}

.dropdown-toggle::after {
    margin-left: auto !important;
    color: var(--fim-color-main);
}

.dropdown-item:focus, .dropdown-item:hover {
    color: var(--fim-color-secondary);
    background-color: var(--fim-color-main-light);
}

/* Subcategoría activa en migas de Categoria.aspx */
.breadcrumb .btn.fim-miga-sub--activa {
    border-color: var(--fim-color-main);
    color: var(--fim-color-main);
    font-weight: 600;
    opacity: 1 !important;
    cursor: default;
}

.btn-lines, .btn-lines:hover { 
    width: 100%;
    padding: 1rem;
    font-weight: 400;
    background-color: var(--bs-white);
    --bs-btn-border-color: var(--fim-color-main);
    color: var(--fim-color-main);
    text-align: center;
    line-height: 1.35em;
}

.btn-special, .btn-special:hover { 
    font-family: 'Blauer-Nue';
    width: 100%;
    padding: 1rem;
    font-weight: 600;
    --bs-btn-border-color: var(--fim-color-main-light);
    background-color: var(--fim-color-main);
    color: var(--bs-white);
    text-transform: uppercase;
    align-items: center;
    text-align: center;
    letter-spacing: 0.5pt;
}

.btn-cancel, .btn-cancel:hover {
    padding: 1px;
    border-radius: 50%;
    line-height: 1.3;
    width: 32px;
    height: 33px;
}


.btn-fim-big { 
    --bs-btn-border-color: var(--fim-color-main);
    width: 100%;
    padding: 2rem;
}

.btn-cat, .btn-cat:hover { 
    border-radius: 50px;
    border-color: var(--fim-color-main);
    padding: 0.625rem 1.5rem;
    margin: .425rem 0.425rem .425rem 0;
    font-weight: 400;
    background-color: var(--bs-white);
    color: var(--fim-color-secondary);
    align-items: center;
    line-height: 1.35em;
    box-shadow: var(--bs-box-shadow-sm) !important;
}




.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    color: var(--fim-color-main);
    background-color: var(--bs-btn-active-bg);
    border-color:  var(--fim-color-main);
}

.btn-cat.active {
    background-color: var(--fim-color-main);
    color:var(--bs-white);
}

.nav-item {
    margin:0.325rem 0;
}

.nav-item i {
    font-size: 1.375rem;
    margin-right: .675rem;
    color: var(--fim-color-main);
}

.btn:disabled, fieldset:disabled .btn {
    
    pointer-events: none !important;
    --bs-btn-border-color: var(--fim-color-main-light);
    background-color: var(--fim-color-main);
    color: var(--bs-white);
    opacity: 0.35;
}


/* FOOTER */


/* CUSTOM */

.table {
    --bs-table-bg: var(--bs-white);
}

.table>:not(caption)>*>* {
    padding: 0.825rem 0;
}

.lh-125 {
    line-height: 1.25 !important;
}

.col-10p {
    width: 10%;
}

h1, h2, h3, h4, h5, h5, .total {
    font-family: 'Blauer-Nue';
}

h2 {
    font-size: 1.725rem;
}

.post p:last-child {
    margin-bottom: 0px;
}

.post a{
    font-weight: bold;
}

.post a:hover{
    color: var(--fim-color-secondary);
}

/* Vídeo embebido (adjuntos): controles del reproductor clicables. */
.post-content video,
.fim-doc-video-wrap video {
    pointer-events: auto;
}

/* Reproductor MP4/WebM: en pantallas grandes ancho acotado y centrado; en móvil ancho de viewport. */
.fim-doc-video-shell {
    display: block;
    width: 100%;
}

@media (max-width: 767.98px) {
    .fim-doc-video-shell {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    /* Borde/redondeado del vídeo pegado al borde de pantalla en móvil */
    .fim-doc-video-shell .fim-doc-video-frame.rounded.border {
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
    }
}

@media (min-width: 768px) {
    .fim-doc-video-frame {
        max-width: min(38rem, 100%);
        margin-left: auto;
        margin-right: auto;
    }

    /* Tarjeta vídeo: esquinas superiores alineadas con la tarjeta con bordes redondeados */
    .fim-doc-file-card--video .fim-doc-video-shell .fim-doc-video-frame {
        border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0;
        overflow: hidden;
    }
}

/* Permitir que el vídeo alcance todo el viewport en anchos estrechos (evita recorte por overflow del card). */
.fim-doc-file-card.fim-doc-file-card--video {
    overflow: visible;
}

label {
    font-weight: 600;
    color: var(--fim-color-secondary);
}

.table {
    font-size: 0.875rem;
}

table thead tr th{
    color: var(--fim-color-main) !important;
}

table tbody tr th, table thead tr th:first-child{
    text-align: center;
}


.listado {
    font-size: 0.875rem;
}

.listaddo-wrapper .row {
    padding: 0.525rem 0;
    align-items: center;
    margin: 0;
}

.listaddo-wrapper .row:first-child{
    background-color:  var(--bs-white) !important;

}

.listaddo-wrapper .row:nth-child(even){
    background-color:  var(--bs-light);
    border-top: solid 1px  var(--bs-border-color);
    border-bottom: solid 1px  var(--bs-border-color);

}

.listaddo-wrapper .row:hover {
    background: rgba(var(--fim-color-main-rgb), 0.3);
}
.listado .title, .listado .order {
    font-weight: 700;
}
.listado .order {
    text-align: center;
}

/* Opciones nuevas en desplegables de contenido boletín (no usadas antes en ningún boletín) */
select.form-select option.fim-bc-opt-nuevo,
select.form-select-sm option.fim-bc-opt-nuevo {
    font-weight: 700;
}

/* Avatar en filas del listado de usuarios intranet */
.usuario-listado-foto {
    width: 2.125rem;
    height: 2.125rem;
    object-fit: cover;
}

/* Calendario compacto en menú lateral (ASide) */
.fim-aside-cal-navitem {
    list-style: none;
}

.fim-aside-cal__link {
    display: block;
    margin-top: 0.35rem;
    padding: 0;
    font-size: 0.68rem;
    line-height: 1.25;
    text-align: center;
    color: var(--fim-color-main);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.fim-aside-cal__link:hover {
    color: var(--fim-color-secondary);
}

.fim-aside-cal {
    padding: 0.5rem 0.35rem 0.35rem;
    border-radius: var(--bs-border-radius);
    border: 1px solid rgba(var(--fim-color-main-rgb), 0.25);
    background: linear-gradient(165deg, var(--fim-color-main-light) 0%, #fff 70%);
}

.fim-aside-cal__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
    margin-bottom: 0.35rem;
}

.fim-aside-cal__navbtn {
    flex: 0 0 auto;
    padding: 0.15rem 0.35rem;
    line-height: 1;
    color: var(--fim-color-secondary);
    border: 1px solid rgba(var(--fim-color-main-rgb), 0.35);
    background: #fff;
}

.fim-aside-cal__navbtn:hover:not(:disabled) {
    background: var(--fim-color-main-light);
    color: var(--fim-color-main);
    border-color: var(--fim-color-main);
}

.fim-aside-cal__navbtn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.fim-aside-cal__heading {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--fim-color-secondary);
    text-align: center;
    letter-spacing: 0.02em;
}

.fim-aside-cal__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    font-size: 0.68rem;
}

.fim-aside-cal__table thead th {
    padding: 0.2rem 0;
    text-align: center;
    font-weight: 700;
    color: var(--fim-color-main);
    border-bottom: 1px solid rgba(var(--fim-color-main-rgb), 0.3);
}

.fim-aside-cal__cell {
    position: relative;
    text-align: center;
    vertical-align: middle;
    padding: 0.28rem 0.1rem 0.32rem;
    border: 1px solid #ece8e0;
    background: #fff;
    min-height: 1.85rem;
}

.fim-aside-cal__cell--muted {
    background: #f7f6f4;
    color: #b0ada8;
}

.fim-aside-cal__cell--muted .fim-aside-cal__num {
    opacity: 0.75;
}

.fim-aside-cal__cell--today .fim-aside-cal__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    min-height: 1.35rem;
    border-radius: 50%;
    background: var(--fim-color-main);
    color: #fff;
    font-weight: 700;
}

.fim-aside-cal__cell--event {
    cursor: help;
    background: linear-gradient(160deg, rgba(var(--fim-color-main-rgb), 0.22) 0%, rgba(var(--fim-color-main-rgb), 0.08) 100%);
    border-color: rgba(var(--fim-color-main-rgb), 0.55);
    box-shadow:
        inset 0 0 0 2px rgba(var(--fim-color-main-rgb), 0.45),
        0 0.12rem 0.35rem rgba(var(--fim-color-main-rgb), 0.18);
}

.fim-aside-cal__cell--event.fim-aside-cal__cell--muted {
    background: linear-gradient(160deg, rgba(var(--fim-color-main-rgb), 0.14) 0%, rgba(var(--fim-color-main-rgb), 0.04) 100%);
    border-color: rgba(var(--fim-color-main-rgb), 0.38);
    box-shadow: inset 0 0 0 2px rgba(var(--fim-color-main-rgb), 0.28);
}

.fim-aside-cal__cell--event .fim-aside-cal__num {
    font-weight: 800;
    color: #5c4a24;
}

.fim-aside-cal__num {
    font-weight: 600;
    color: var(--fim-color-secondary);
    line-height: 1.2;
}

.fim-aside-cal__cell--today.fim-aside-cal__cell--event .fim-aside-cal__num {
    color: #fff;
}

.fim-aside-cal__mark {
    display: block;
    width: 70%;
    max-width: 1.35rem;
    min-width: 0.55rem;
    height: 0.32rem;
    margin: 0.18rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--fim-color-main) 0%, #8a7340 100%);
    box-shadow: 0 0.08rem 0.2rem rgba(var(--fim-color-main-rgb), 0.45);
}