/* 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);
}

/* 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;
    overflow-x: visible;
    overflow-y: visible; /* evita recortar .dropdown-menu posicionado por Popper */
}
#b-wrapper {
    padding-top: var(--nav-height);
    z-index: 3; 
    position: relative;
}

/* La columna del menú lateral no debe recortar los desplegables */
#b-wrapper.row > header {
    overflow: visible;
}

/* 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 ;
}


.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);
}

/* 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);
}

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;
}