/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ============================================================
   LOS APARTAMENTOS DEL CAPITÁN — v3 Únic Hotels Style
   style.css
   ============================================================ */

/* --- VARIABLES --- */
:root {
  --cr: #faf8f5;
  --cr2: #f2ede6;
  --wh: #ffffff;
  --st: #e0dbd3;
  --stl: #ece8e1;
  --cb: #262320;
  --cbm: #5a5550;
  --cbl: #8c867f;
  --ch: #c5aa6e;
  --chl: #e2d4b8;
  --chd: #9a7d48;
  --bk-h: 0px;
  --nav-h: 148px;
}

/* --- RESET --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:focus-visible { outline: 2px solid rgba(197,170,110,.7); outline-offset: 2px; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--cr);
  color: var(--cb);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 300;
  line-height: 1.6;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
p { text-align: justify; }

/* Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--cr2); }
::-webkit-scrollbar-thumb { background: var(--ch); border-radius: 2px; }

/* --- TYPOGRAPHY --- */
.fs { font-family: 'Cormorant Garamond', Georgia, serif; }
.lbl {
  font-size: .67rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--chd);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.lbl::before { content: ''; width: 28px; height: 1px; background: var(--ch); flex-shrink: 0; }

/* --- LAYOUT --- */
section { padding: 120px 56px; }
.wrap { max-width: 1200px; margin: 0 auto; }
[id] { scroll-margin-top: 160px; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.sep { width: 44px; height: 1px; background: var(--ch); margin: 22px 0; }
@media (max-width: 900px) { .two { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 768px) { section { padding: 80px 24px; } }

/* --- SCROLL REVEAL --- */
.rv, .rvl, .rvr, .rvs {
  opacity: 0;
  transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
}
.rv  { transform: translateY(30px); }
.rvl { transform: translateX(-36px); }
.rvr { transform: translateX(36px); }
.rvs { transform: scale(.94); }
.rv.in, .rvl.in, .rvr.in, .rvs.in { opacity: 1; transform: none; }
.d1 { transition-delay: .10s; }
.d2 { transition-delay: .20s; }
.d3 { transition-delay: .30s; }
.d4 { transition-delay: .40s; }
.d5 { transition-delay: .50s; }

/* ============================================================
   NAV — vertical (logo centered above, links below) — Únic Hotels style
   ============================================================ */
#nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 200;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(249,247,242,.98);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--stl);
  padding: 16px 48px 10px;
  transition: padding .4s, box-shadow .4s;
}
#nav.lit {
  padding: 12px 48px 8px;
  box-shadow: 0 2px 22px rgba(38,35,32,.06);
}

/* Logo image row */
.nav-logo-row { display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.nav-logo-img { height: 70px; width: auto; display: block; filter: brightness(0); }

/* Links row */
.nav-links {
  display: flex;
  align-items: center;
  gap: 36px;
}
.nav-links-r { display: flex; align-items: center; gap: 36px; }
.nav-links-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
  width: 100%;
}

.nav-link {
  font-size: .6rem;
  letter-spacing: .3em;
  text-transform: lowercase;
  font-weight: 400;
  color: var(--cbm);
  transition: color .35s;
  white-space: nowrap;
}
.nav-link:hover { color: var(--chd) !important; }

/* Text logo fallback (hidden when img loads) */
.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.08rem;
  font-weight: 400;
  letter-spacing: .1em;
  color: var(--cb);
  text-align: center;
  white-space: nowrap;
  display: none;
}

/* Language switcher — dropdown */
.lang-wrap { position: relative; }
.lang-btn {
  font-size: .6rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--cbm);
  transition: color .35s;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0;
}
.lang-btn:hover { color: var(--chd) !important; }
.lang-btn svg { transition: transform .25s; }
.lang-btn.open svg { transform: rotate(180deg); }

.lang-dd {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  background: var(--wh);
  border: 1px solid var(--stl);
  min-width: 80px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .22s, transform .22s;
  box-shadow: 0 8px 28px rgba(38,35,32,.1);
  z-index: 1000;
}
.lang-dd.open { opacity: 1; pointer-events: all; transform: none; }
.lang-dd a {
  display: block;
  padding: 10px 18px;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cbm);
  cursor: pointer;
  transition: background .2s, color .2s;
}
.lang-dd a:hover,
.lang-dd a.active { background: var(--cr2); color: var(--cb); }

/* Mobile hamburger */
.ham {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}
.hl {
  width: 26px;
  height: 1px;
  background: #fff;
  transition: background .4s, transform .4s, opacity .4s;
  transform-origin: center;
}
#nav.lit .hl { background: var(--cb); }

@media (max-width: 900px) {
  #nav { flex-direction: row; justify-content: space-between; align-items: center; padding: 14px 24px; }
  .nav-logo-row { margin-bottom: 0; }
  .nav-logo-img { height: 50px; }
  .nav-links-row { display: none; }
  .lang-wrap { display: none; }
  .ham { display: flex; }
}

/* ============================================================
   FULL-SCREEN MOBILE MENU
   ============================================================ */
#nav-ol {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: var(--cr);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 10vw;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s cubic-bezier(.16,1,.3,1);
}
#nav-ol.open { opacity: 1; pointer-events: all; }

.nol-a {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--cb);
  letter-spacing: .02em;
  opacity: 0;
  transform: translateY(24px);
  transition: transform .55s cubic-bezier(.16,1,.3,1), opacity .55s, color .3s;
  display: block;
}
#nav-ol.open .nol-a { opacity: 1; transform: none; }
#nav-ol.open .nol-a:nth-child(1) { transition-delay: .04s; }
#nav-ol.open .nol-a:nth-child(2) { transition-delay: .09s; }
#nav-ol.open .nol-a:nth-child(3) { transition-delay: .14s; }
#nav-ol.open .nol-a:nth-child(4) { transition-delay: .19s; }
#nav-ol.open .nol-a:nth-child(5) { transition-delay: .24s; }
#nav-ol.open .nol-a:nth-child(6) { transition-delay: .29s; }
#nav-ol.open .nol-a:nth-child(7) { transition-delay: .34s; }
.nol-a:hover { color: var(--chd); }

#nol-close {
  position: absolute;
  top: 26px;
  right: 44px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--cbm);
  font-size: 1.4rem;
  transition: color .3s;
  line-height: 1;
}
#nol-close:hover { color: var(--cb); }
.nol-foot {
  position: absolute;
  bottom: 44px;
  left: 10vw;
  font-size: .76rem;
  color: var(--cbl);
  letter-spacing: .1em;
}

/* ============================================================
   SCROLL-VIDEO HERO
   ============================================================ */
.svh { height: 500vh; position: relative; }
.svh-st {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}
.svh-st video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.svh-ov {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(12,10,8,.15) 0%,
    rgba(12,10,8,.42) 38%,
    rgba(12,10,8,.68) 75%,
    rgba(250,248,245,1) 100%
  );
}
.svh-ct {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--nav-h) 28px 120px;
}
/* Progress bar */
.svh-pr {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  z-index: 3;
}
.svh-fi {
  height: 100%;
  width: 0%;
  background: linear-gradient(to right, var(--chd), var(--chl));
  transition: width .06s linear;
}

/* Scroll hint */
.scroll-h {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  animation: hintIn 2s ease 2.5s both;
}
.scroll-h span {
  font-size: .62rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
}
.sc-ln {
  width: 1px;
  height: 42px;
  background: linear-gradient(to bottom, var(--ch), transparent);
  animation: scDrop 2.2s ease infinite;
}
@keyframes scDrop {
  0%   { opacity: 0; transform: scaleY(0); transform-origin: top; }
  50%  { opacity: 1; transform: scaleY(1); }
  100% { opacity: 0; }
}
@keyframes hintIn {
  from { opacity: 0; transform: translateX(-50%) translateY(14px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* Hero text */
.hero-t {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 300;
  line-height: 1.06;
  color: #fff;
  letter-spacing: .02em;
  margin-bottom: 18px;
}
.hero-s {
  font-size: clamp(.9rem, 1.8vw, 1.1rem);
  font-weight: 300;
  color: rgba(255,255,255,.72);
  letter-spacing: .05em;
  margin-bottom: 44px;
  font-style: italic;
}
.hero-lbl {
  font-size: .66rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.hero-lbl::before,
.hero-lbl::after { content: ''; width: 24px; height: 1px; background: rgba(197,170,110,.6); }

@media (max-width: 768px) {
  .svh { height: 100vh; }
  .svh-st { position: relative; }
}
@media (prefers-reduced-motion: reduce) { .svh { height: 100vh; } }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 16px 36px;
  cursor: pointer;
  border: none;
  transition: transform .25s, box-shadow .25s, opacity .25s, background .25s, color .25s;
}
.btn-dark { background: var(--cb); color: #fff; }
.btn-dark:hover { opacity: .84; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(38,35,32,.22); }
.btn-ch { background: var(--ch); color: var(--cb); }
.btn-ch:hover { opacity: .88; transform: translateY(-2px); box-shadow: 0 10px 26px rgba(197,170,110,.28); }
.btn-od { background: transparent; color: var(--cb); border: 1px solid rgba(38,35,32,.3); font-size: .72rem; padding: 13px 28px; }
.btn-od:hover { background: var(--cb); color: #fff; }
.btn-oc { background: transparent; color: var(--chd); border: 1px solid rgba(197,170,110,.55); font-size: .72rem; padding: 13px 28px; }
.btn-oc:hover { background: var(--ch); color: var(--cb); }
.btn-wh { background: rgba(255,255,255,.9); color: var(--cb); }
.btn-wh:hover { background: #fff; transform: translateY(-2px); }

/* ============================================================
   BOOKING BAR — floating pill, Únic Hotels style
   ============================================================ */
#bk-bar {
  position: fixed;
  bottom: 24px;
  left: 20px;
  right: 20px;
  z-index: 150;
  background: var(--wh);
  box-shadow: 0 8px 48px rgba(38,35,32,.18);
}
#bk-bar.fixed {
  position: fixed;
  bottom: 24px;
}

/* Tabs */
.bk-tabs {
  display: flex;
  border-bottom: 1px solid var(--stl);
  padding: 0 2px;
}
.bk-tab {
  padding: 9px 22px;
  font-size: .64rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  border: none;
  background: none;
  color: var(--cbl);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .25s, border-color .25s;
}
.bk-tab.active { color: var(--cb); border-bottom-color: var(--cb); }

/* Fields row */
.bk-panel { display: none; }
.bk-panel.active { display: flex; }
.bk-fields { display: flex; align-items: stretch; min-height: 58px; }
.bk-fi {
  flex: 1;
  padding: 10px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  border-right: 1px solid var(--stl);
  background: var(--wh);
  min-width: 0;
}
.bk-fi label {
  font-size: .57rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbl);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.bk-fi select,
.bk-fi input {
  font-family: 'Inter', sans-serif;
  font-size: .84rem;
  font-weight: 300;
  color: var(--cb);
  border: none;
  outline: none;
  background: transparent;
  width: 100%;
  cursor: pointer;
  padding: 0;
}
.bk-fi input[type="date"] { color-scheme: light; }
.bk-fi-static { /* non-interactive label field */
  font-size: .84rem;
  font-weight: 300;
  color: var(--cb);
}
.bk-btn {
  flex: none;
  padding: 0 36px;
  background: #8b8b8b;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: .65rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  font-weight: 400;
  white-space: nowrap;
  transition: background .3s;
}
.bk-btn:hover { background: #6e6e6e; }

@media (max-width: 900px) {
  .bk-fields { flex-wrap: wrap; }
  .bk-fi { flex: 1 0 50%; border-bottom: 1px solid var(--stl); border-right: none; }
  .bk-fi:nth-child(odd) { border-right: 1px solid var(--stl); }
  .bk-btn { width: 100%; padding: 18px; min-height: 52px; }
}
@media (max-width: 540px) {
  .bk-fi { flex: 1 0 100%; border-right: none; }
  .bk-tabs { display: none; }
}

/* ============================================================
   BOOKING OVERLAY — Loader → Checkout → Confirm
   ============================================================ */
#bk-ov {
  position: fixed;
  inset: 0;
  z-index: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(38,35,32,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s;
}
#bk-ov.open { opacity: 1; pointer-events: auto; }

/* --- LOADER --- */
#bk-loader {
  background: rgba(25,22,20,.97);
  color: #fff;
  width: 100%;
  max-width: 420px;
  padding: 64px 48px;
  text-align: center;
  display: none;
}
#bk-ov.step-loader #bk-loader { display: block; }

.loader-spin {
  width: 38px;
  height: 38px;
  border: 1.5px solid rgba(255,255,255,.12);
  border-top-color: var(--ch);
  border-radius: 50%;
  animation: spin .85s linear infinite;
  margin: 0 auto 28px;
}
@keyframes spin { to { transform: rotate(360deg); } }
.loader-txt {
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  line-height: 1.8;
}

/* --- CHECKOUT --- */
#bk-checkout {
  background: var(--wh);
  width: 100%;
  max-width: 880px;
  max-height: 92vh;
  overflow: hidden;
  display: none;
  grid-template-columns: 1fr 1fr;
  transform: translateY(20px) scale(.98);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
  position: relative;
}
#bk-ov.step-checkout #bk-checkout {
  display: grid;
  transform: none;
}

/* Left panel — summary */
.bkco-l {
  background: var(--cb);
  color: #fff;
  padding: 64px 52px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.bkco-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ch);
  margin-bottom: 36px;
}
.bkco-apt-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.6rem;
  font-weight: 300;
  font-style: italic;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin-bottom: 4px;
}
.bkco-loc {
  font-size: .72rem;
  color: rgba(255,255,255,.4);
  letter-spacing: .1em;
  margin-bottom: 36px;
}
.bkco-dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 28px;
}
.bkco-date-lbl {
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 5px;
}
.bkco-date-val {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.6;
  letter-spacing: .01em;
}
.bkco-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,.08);
  margin: 20px 0;
}
.bkco-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: .86rem;
  color: rgba(255,255,255,.58);
}
.bkco-total-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 16px;
}
.bkco-total-lbl {
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.38);
}
.bkco-total-val {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.8rem;
  font-weight: 300;
  color: var(--chl);
  line-height: 1.25;
  letter-spacing: -.01em;
}
.bkco-policy {
  font-size: .7rem;
  color: rgba(255,255,255,.25);
  margin-top: auto;
  padding-top: 24px;
  line-height: 1.65;
}

/* Right panel — form */
.bkco-r {
  padding: 64px 52px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  position: relative;
}
.bkco-r-title {
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--chd);
  font-weight: 600;
  margin-bottom: 24px;
}
.bkco-field { margin-bottom: 18px; }
.bkco-err { display:none; font-size:.7rem; color:#c0392b; margin-top:4px; }
.bkco-field.has-error input { border-bottom-color:#c0392b !important; }
.bkco-field.has-error .bkco-err { display:block; }
.bk-rest-phone { align-items: center; gap: 12px; }
.bk-fi-info { cursor: default; font-size: .78rem; color: var(--ct); gap: 10px; pointer-events: none; flex: 1 1 auto; }
.bk-rest-web { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--chd); gap: 9px; flex: 1 1 auto; text-decoration: none; transition: color .25s; }
.bk-rest-web:hover { color: var(--ch); }
.bk-btn-tel { display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.bkco-field label {
  display: block;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cbl);
  margin-bottom: 7px;
}
.bkco-field input {
  width: 100%;
  border: none;
  border-bottom: 0.5px solid rgba(38,35,32,.14);
  padding: 8px 0;
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  font-weight: 300;
  color: var(--cb);
  outline: none;
  background: transparent;
  transition: border-color .3s ease, border-bottom-width .3s ease;
}
.bkco-field input:focus { border-bottom-width: 1px; border-bottom-color: var(--ch); }
.bkco-section-label {
  font-size: .58rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--chd);
  font-weight: 600;
  margin: 28px 0 18px;
}
.bkco-card-row {
  display: grid;
  grid-template-columns: 1fr 90px 70px;
  gap: 12px;
}
.bkco-pay-btn {
  width: 100%;
  padding: 18px 24px;
  background: var(--cb);
  color: #fff;
  border: 1px solid transparent;
  cursor: pointer;
  font-size: .7rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
  transition: background .35s ease, border-color .35s ease, text-shadow .35s ease, opacity .35s ease;
}
.bkco-pay-btn:hover {
  background: #1a1816;
  border-color: rgba(197,160,89,.38);
  text-shadow: 0 0 32px rgba(197,160,89,.4);
  opacity: .92;
}
.bkco-ssl {
  font-size: .63rem;
  color: var(--cbl);
  text-align: center;
  margin-top: 6px;
  letter-spacing: .06em;
  line-height: 1.55;
}
.bkco-back {
  font-size: .66rem;
  color: var(--cbl);
  cursor: pointer;
  background: none;
  border: none;
  margin-top: 5px;
  transition: color .25s;
  display: block;
  text-align: center;
  width: 100%;
  letter-spacing: .08em;
}
.bkco-back:hover { color: var(--cb); }
.bkco-despedida {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: .82rem;
  font-weight: 400;
  color: var(--cbl);
  text-align: center;
  margin-top: 22px;
  letter-spacing: .02em;
  line-height: 1.6;
  opacity: .72;
}
.bkco-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--cbl);
  font-size: 1.1rem;
  transition: color .25s;
  line-height: 1;
  padding: 4px;
  z-index: 2;
}
.bkco-close:hover { color: var(--cb); }

@media (max-width: 768px) {
  #bk-checkout { grid-template-columns: 1fr; max-height: 90vh; overflow-y: auto; }
  .bkco-l, .bkco-r { padding: 36px 26px; }
  .bkco-card-row { grid-template-columns: 1fr 80px 62px; }
}
@media (max-width: 420px) {
  .bkco-l, .bkco-r { padding: 28px 16px; }
  .bkco-card-row { grid-template-columns: 1fr 72px; }
  #bk-ov { padding: 0; }
  #bk-checkout { max-height: 100dvh; border-radius: 0; }
}

/* --- CONFIRMATION --- */
#bk-confirm {
  background: var(--wh);
  width: 100%;
  max-width: 480px;
  padding: 64px 52px;
  text-align: center;
  position: relative;
  display: none;
  transform: translateY(20px) scale(.98);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
#bk-ov.step-confirm #bk-confirm { display: block; transform: none; }

.conf-check {
  width: 60px;
  height: 60px;
  margin: 0 auto 28px;
  color: var(--chd);
}
.conf-welcome {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.5rem;
  font-weight: 300;
  color: var(--cb);
  margin-bottom: 8px;
}
.conf-sub {
  font-size: .88rem;
  color: var(--cbm);
  margin-bottom: 28px;
  line-height: 1.65;
}
.conf-ref-lbl {
  font-size: .6rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbl);
  margin-bottom: 6px;
}
.conf-ref-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--chd);
  margin-bottom: 24px;
}
.conf-detail {
  font-size: .82rem;
  color: var(--cbm);
  line-height: 1.8;
  margin-bottom: 10px;
}
.conf-email {
  font-size: .76rem;
  color: var(--cbl);
  font-style: italic;
  margin-bottom: 36px;
}
.conf-wa {
  font-size: .7rem;
  color: var(--cbl);
  letter-spacing: .08em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 16px;
  transition: color .25s;
}
.conf-wa:hover { color: var(--chd); }

/* Animated check SVG */
@keyframes circleIn { from { stroke-dashoffset: 160; } to { stroke-dashoffset: 0; } }
@keyframes checkIn  { from { stroke-dashoffset: 50; }  to { stroke-dashoffset: 0; } }

/* ============================================================
   APT CARDS — with prices
   ============================================================ */
.apt-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 640px) { .apt-grid { grid-template-columns: 1fr; } }

.apt-card {
  background: var(--wh);
  cursor: pointer;
  box-shadow: 0 2px 18px rgba(38,35,32,.07);
  transition: box-shadow .4s, transform .4s;
  position: relative;
}
.apt-card:hover { box-shadow: 0 12px 40px rgba(38,35,32,.13); transform: translateY(-4px); }

.apt-ci { width: 100%; aspect-ratio: 4/3; overflow: hidden; }
.apt-ci img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.9) saturate(.88);
  transition: transform .7s cubic-bezier(.16,1,.3,1), filter .4s;
}
.apt-card:hover .apt-ci img { transform: scale(1.055); filter: brightness(.95) saturate(1); }

.apt-bd { padding: 24px 28px 30px; }

.apt-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .6rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--chd);
  border: 1px solid var(--chl);
  padding: 4px 12px;
  margin-bottom: 14px;
  background: rgba(197,170,110,.06);
}
.apt-badge svg { width: 13px; height: 13px; flex-shrink: 0; }

.apt-price { margin: 10px 0 12px; display: flex; align-items: baseline; gap: 4px; }
.apt-price-from {
  font-size: .6rem;
  letter-spacing: .1em;
  color: var(--cbl);
  text-transform: uppercase;
}
.apt-price-val {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  font-weight: 500;
  color: var(--chd);
  line-height: 1;
}
.apt-price-per {
  font-size: .62rem;
  color: var(--cbl);
  letter-spacing: .08em;
}

.apt-arr {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cbl);
  margin-top: 16px;
  transition: color .3s, gap .3s;
}
.apt-arr svg { flex-shrink: 0; }
.apt-card:hover .apt-arr { color: var(--chd); gap: 14px; }

/* ============================================================
   EL GALEÓN — feature highlights
   ============================================================ */
.feat-hl {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 26px 24px;
  border-left: 2px solid var(--ch);
  background: var(--wh);
  box-shadow: 0 2px 12px rgba(38,35,32,.06);
  margin-bottom: 12px;
}
.feat-ico {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--chd);
  width: 24px;
  height: 24px;
}

/* ============================================================
   EQUIPMENT GRID — SVG icons
   ============================================================ */
.eq-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--stl);
}
.eq-it {
  background: var(--wh);
  padding: 30px 20px;
  text-align: center;
  transition: background .3s;
}
.eq-it:hover { background: var(--cr2); }
.eq-ic {
  width: 26px;
  height: 26px;
  margin: 0 auto 14px;
  color: var(--chd);
  display: block;
}
@media (max-width: 768px) { .eq-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .eq-grid { grid-template-columns: 1fr; } }

/* ============================================================
   EXPERIENCE CARDS
   ============================================================ */
.exp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 768px) { .exp-grid { grid-template-columns: 1fr; } }

.exp-card {
  background: var(--wh);
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(38,35,32,.06);
  transition: transform .4s, box-shadow .4s;
}
.exp-card:hover { transform: translateY(-6px); box-shadow: 0 16px 44px rgba(38,35,32,.12); }
.exp-img { width: 100%; height: 220px; overflow: hidden; }
.exp-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}
.exp-card:hover .exp-img img { transform: scale(1.06); }
.exp-bd { padding: 26px 26px 30px; }
.exp-cat {
  font-size: .62rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--chd);
  font-weight: 500;
  margin-bottom: 10px;
}

/* EXPERIENCE CTA */
.exp-cta {
  background: var(--cb);
  color: var(--cr);
  text-align: center;
  padding: 96px 48px;
}
.exp-cta-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  color: var(--cr);
  line-height: 1.15;
  margin-bottom: 20px;
}
.exp-cta-txt {
  font-size: .88rem;
  color: rgba(250,248,245,.5);
  line-height: 1.9;
  max-width: 460px;
  margin: 0 auto 40px;
}
.exp-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px;
  border: 1px solid var(--ch);
  color: var(--ch);
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.exp-cta-btn:hover { background: var(--ch); color: var(--cb); }
@media (max-width: 768px) { .exp-cta { padding: 72px 28px; } }

/* ============================================================
   RESTAURANTE — Cenador del Capitán
   ============================================================ */
#restaurante { padding: 0; overflow: hidden; }
.rest-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
}
.rest-img { position: relative; overflow: hidden; }
.rest-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.75) saturate(.85);
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}
.rest-img:hover img { transform: scale(1.04); }
.rest-content {
  background: var(--cb);
  color: #fff;
  padding: 80px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rest-lbl {
  font-size: .66rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ch);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.rest-lbl::before { content: ''; width: 28px; height: 1px; background: var(--ch); flex-shrink: 0; }
.rest-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 300;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 20px;
}
.rest-desc {
  font-size: .94rem;
  color: rgba(255,255,255,.58);
  line-height: 1.9;
  margin-bottom: 36px;
  max-width: 380px;
}
.rest-offer {
  border: 1px solid rgba(197,170,110,.28);
  padding: 28px 32px;
}
.rest-offer-hdr {
  font-size: .6rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ch);
  font-weight: 500;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rest-offer-hdr::after { content: ''; flex: 1; height: 1px; background: rgba(197,170,110,.2); }
.rest-offer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.rest-offer-row:last-child { border-bottom: none; padding-bottom: 0; }
.rest-offer-name { font-size: .86rem; color: rgba(255,255,255,.72); }
.rest-offer-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--chl);
}
.rest-cta { margin-top: 28px; }

@media (max-width: 900px) {
  .rest-wrap { grid-template-columns: 1fr; }
  .rest-img { height: 300px; }
  .rest-content { padding: 52px 32px; }
}
@media (max-width: 540px) { .rest-content { padding: 44px 24px; } }

/* ============================================================
   LOCATION
   ============================================================ */
.loc-it {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 22px 0;
  border-bottom: 1px solid var(--stl);
}
.loc-it:last-child { border: none; }
.loc-ic {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border: 1px solid var(--st);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wh);
  color: var(--chd);
}
.loc-ic svg { width: 18px; height: 18px; }

/* ============================================================
   EDITORIAL STRIP
   ============================================================ */
.edit-strip { width: 100%; height: 280px; overflow: hidden; position: relative; }
.edit-strip img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.6) saturate(.75); }
.edit-ct {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

/* ============================================================
   ABOUT — stat boxes
   ============================================================ */
.st-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--stl);
}
.st-box { background: var(--wh); padding: 40px 30px; text-align: center; }
.st-n {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.8rem;
  font-weight: 300;
  line-height: 1;
  color: var(--chd);
}
.st-l {
  font-size: .66rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbl);
  margin-top: 9px;
  font-weight: 500;
}
.st-ic {
  width: 34px;
  height: 34px;
  margin: 0 auto 10px;
  color: var(--chd);
}

/* ============================================================
   MODAL — apartment detail
   ============================================================ */
#mod-ov {
  position: fixed;
  inset: 0;
  z-index: 500;
  background: rgba(38,35,32,.58);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s;
}
#mod-ov.open { opacity: 1; pointer-events: all; }
#mod-box {
  background: var(--wh);
  width: 100%;
  max-width: 980px;
  height: 82vh;
  max-height: 82vh;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  transform: translateY(22px) scale(.98);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
  position: relative;
}
#mod-ov.open #mod-box { transform: none; }
@media (max-width: 768px) { #mod-box { grid-template-columns: 1fr; overflow-y: auto; } }

.mod-gal { display: flex; flex-direction: column; height: 100%; }
@media (min-width: 769px) {
  .mod-gal { min-height: 0; }
}
.mod-main { width: 100%; flex: 1; min-height: 0; overflow: hidden; position: relative; flex-shrink: 0; }
@media (min-width: 769px) {
  .mod-main { flex-shrink: 1; }
}
@media (max-width: 768px) { .mod-main { flex: none; height: 240px; } }
.mod-main img { width: 100%; height: 100%; object-fit: cover; transition: opacity .35s; }
.mod-cnt {
  font-size: .68rem;
  letter-spacing: .12em;
  color: rgba(255,255,255,.8);
  position: absolute;
  bottom: 10px;
  right: 12px;
  background: rgba(38,35,32,.65);
  padding: 3px 9px;
}

/* Botón de zoom de imagen en modal */
.mod-zoom-btn {
  position: absolute;
  bottom: 10px;
  left: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(38,35,32,.65);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 5;
  padding: 0;
}
.mod-zoom-btn:hover {
  background: #faf8f5;
  color: #1e1c1a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* Lightbox de Pantalla Completa (Sin recortes) */
.lb-ov {
  position: fixed;
  inset: 0;
  z-index: 10000000;
  background: rgba(14, 12, 11, 0.98);
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.lb-ov.open {
  display: flex;
  opacity: 1;
}
.lb-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.lb-wrapper img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.6);
  user-select: none;
  -webkit-user-drag: none;
}
.lb-cls {
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 300;
  cursor: pointer;
  z-index: 12;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
  line-height: 1;
  padding: 8px;
}
.lb-arr {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #fff;
  font-size: 4rem;
  font-weight: 300;
  cursor: pointer;
  z-index: 11;
  padding: 24px;
  user-select: none;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
  transition: color 0.25s, transform 0.25s;
}
.lb-arr:hover {
  color: var(--ch);
}
.lb-arr-l { left: 8px; }
.lb-arr-r { right: 8px; }
.lb-cnt {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(250, 248, 245, 0.7);
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  z-index: 11;
}

@media (max-width: 768px) {
  .lb-arr { font-size: 3.2rem; padding: 16px; }
  .lb-arr-l { left: 0px; }
  .lb-arr-r { right: 0px; }
  .lb-cls { top: 16px; right: 16px; font-size: 2.4rem; }
}
.mod-arr { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(30,28,26,.45); border: none; color: #faf8f5; font-size: 2rem; line-height: 1; width: 44px; height: 64px; cursor: pointer; z-index: 2; transition: background .2s; display: flex; align-items: center; justify-content: center; }
.mod-arr:hover { background: rgba(30,28,26,.75); }
.mod-arr-l { left: 0; }
.mod-arr-r { right: 0; }
.mod-thumbs { display: none !important; }
.mod-th { aspect-ratio: 1; overflow: hidden; cursor: pointer; opacity: .55; transition: opacity .3s; }
.mod-th.active, .mod-th:hover { opacity: 1; }
.mod-th img { width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }

.mod-ct { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
@media (min-width: 769px) {
  .mod-ct { height: 100%; min-height: 0; }
}
.mod-ct-body { flex: 1; overflow-y: auto; padding: 28px 48px 16px; }
@media (max-width: 768px) { .mod-ct-body { padding: 24px 24px 12px; } }
.mod-rsv-wrap { flex-shrink: 0; padding: 16px 48px 24px; }
@media (max-width: 768px) { .mod-rsv-wrap { padding: 12px 24px 20px; } }

.mod-rsv-btn {
  width: 100%;
  margin-top: 0;
  padding-top: 22px;
  padding-bottom: 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(38,35,32,.28);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--cb);
  cursor: pointer;
  transition: border-color .35s ease, color .35s ease;
}
.mod-rsv-btn:hover { border-color: var(--cb); color: var(--cb); }

.mod-cls {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  background: rgba(250,248,245,.92);
  border: none;
  cursor: pointer;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cb);
  transition: background .3s;
  font-size: .9rem;
}
.mod-cls:hover { background: var(--stl); }

.mod-hl {
  background: rgba(197,170,110,.08);
  border-left: 2px solid var(--ch);
  padding: 8px 12px;
  margin-bottom: 6px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.mod-hl-ico { color: var(--chd); flex-shrink: 0; width: 20px; height: 20px; margin-top: 2px; }
.mod-hl-lbl {
  font-size: .6rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--chd);
  font-weight: 600;
}
.mod-hl-v { font-size: .88rem; color: #1e1c1a; font-weight: 500; margin-top: 2px; }

.mod-price { margin: 10px 0 0; display: flex; align-items: baseline; gap: 4px; }
.mod-price-from { font-size: .6rem; color: var(--cbl); text-transform: uppercase; letter-spacing: .1em; }
.mod-price-val {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--chd);
  line-height: 1;
}
.mod-price-per { font-size: .62rem; color: var(--cbl); letter-spacing: .08em; }

.mod-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--stl); margin: 22px 0 0; }
.mod-sp { background: var(--cr); padding: 13px 16px; }
.mod-sp-ico { color: var(--ch); margin-bottom: 8px; }
.mod-sp-ico svg { width: 18px; height: 18px; display: block; }
.mod-sp-l { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cbl); font-weight: 500; }
.mod-sp-v { font-size: .84rem; color: var(--cb); margin-top: 2px; }

/* ============================================================
   FOOTER
   ============================================================ */
footer { background: var(--cb); color: rgba(250,248,245,.82); padding: 70px 56px 44px; }
.ft-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 56px;
}
.ft-lk {
  color: rgba(250,248,245,.45);
  font-size: .84rem;
  font-weight: 300;
  transition: color .3s;
  display: block;
  margin-bottom: 12px;
}
.ft-lk:hover { color: var(--chl); }
@media (max-width: 900px) {
  footer { padding: 56px 24px 36px; }
  .ft-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 540px) { .ft-grid { grid-template-columns: 1fr; gap: 32px; } }

/* ============================================================
   WA FLOAT — subtle
   ============================================================ */
#wa-f {
  position: fixed;
  bottom: 108px;
  right: 24px;
  z-index: 400;
  width: 44px;
  height: 44px;
  background: #3fbb6a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(37,211,102,.25);
  transition: transform .3s, box-shadow .3s;
}
#wa-f:hover { transform: scale(1.08); box-shadow: 0 6px 22px rgba(37,211,102,.4); }

/* Tooltip */
.wa-tooltip {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--cb);
  color: rgba(255,255,255,.82);
  font-size: .64rem;
  letter-spacing: .08em;
  padding: 7px 13px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
}
#wa-f:hover .wa-tooltip { opacity: 1; }

/* ============================================================
   PLACEHOLDER NOTE
   ============================================================ */
.ph {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(38,35,32,.75);
  padding: 5px 12px;
  font-size: .64rem;
  color: rgba(255,255,255,.5);
  font-style: italic;
  pointer-events: none;
}


/* ============================================================
   PARCHE DE ULTRA-LUJO v2 — réplica exacta Único Hotels
   Sólo CSS, sin tocar HTML
   ============================================================ */

/* ── NAV CONTAINER: sin borde propio, crema puro ── */
#nav {
  padding: 18px 48px 0;
  border-bottom: none;
  box-shadow: none;
  background: rgba(249,247,242,.99);
  overflow: visible;
}
#nav.lit {
  padding: 14px 48px 0;
  box-shadow: none;
  border-bottom: none;
}

/* ── LOGO ROW: línea fina SÓLO bajo el logo ── */
.nav-logo-row {
  margin-bottom: 0;
  padding-bottom: 14px;
  border-bottom: 0.5px solid #eaeaea;
  width: 100%;
  text-align: center;
}

/* Logo +15% (100px → 115px), autoridad */
.nav-logo-img {
  height: 115px;
  filter: brightness(0);
}
/* Si carga el fallback texto */
.nav-logo {
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: .12em;
}

/* ── LINKS ROW: pegado al logo, mínimo padding inferior ── */
.nav-links-row {
  padding: 10px 0 8px;
  position: static;
  gap: 44px;
}

/* Links: 12px, uppercase, spacing aéreo */
.nav-link {
  font-size: 12px;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 400;
  color: #5a5550;
  line-height: 1;
}
.nav-link:hover { color: #9a7d48 !important; }

/* ── IDIOMA: top-right absoluto, +20% tamaño ── */
.lang-wrap {
  position: absolute;
  top: 24px;
  right: 48px;
  z-index: 300;
}
.lang-btn {
  font-size: 12px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #5a5550;
  gap: 6px;
}
.lang-btn svg { width: 11px; height: 11px; }
.lang-btn:hover { color: #9a7d48 !important; }

/* ── BARRA FLOTANTE: franja limpia 70px total ── */
#bk-bar {
  bottom: 20px;
  box-shadow: 0 4px 28px rgba(38,35,32,.11);
}
.bk-tabs {
  padding: 0;
  border-bottom: 1px solid #f2ede6;
}
.bk-tab {
  padding: 6px 20px 5px;
  font-size: .58rem;
  letter-spacing: .2em;
}
.bk-fields { min-height: 42px; }
.bk-fi {
  padding: 6px 16px;
  border-right: 1px solid #f2ede6;
  gap: 1px;
}
.bk-fi label {
  font-size: .52rem;
  letter-spacing: .22em;
  color: #b8b0a6;
}
.bk-fi select,
.bk-fi input { font-size: .8rem; color: #262320; }
.bk-fi-static { font-size: .8rem; }
.bk-btn {
  padding: 0 30px;
  font-size: .6rem;
  letter-spacing: .24em;
  background: #8b8b8b;
  min-height: 0;
}
.bk-btn:hover { background: #717171; }

/* ── HERO: título compacto, vídeo empieza casi inmediato ── */
.hero-t {
  font-size: clamp(1.9rem, 4vw, 3rem) !important;
  line-height: 1.14;
}
/* Hero content padding-top = altura real del nav ≈ 120px */
.svh-ct { padding-top: 120px; }

/* ── MOBILE ── */
@media (max-width: 900px) {
  #nav { padding: 12px 24px 0; }
  .nav-logo-row { padding-bottom: 10px; }
  .nav-logo-img { height: 58px; }
  .lang-wrap { position: static; display: none; }
}

/* 1. Espacios masivos (Whitespace) para que la web respire */
section { padding: 160px 56px !important; }
@media (max-width: 768px) { section { padding: 100px 24px !important; } }
.two { gap: 120px !important; }

/* 2. Eliminar sombras baratas y bordes pesados */
.apt-card, .exp-card, .feat-hl { 
  box-shadow: none !important; 
  border: 1px solid rgba(0,0,0,0.04) !important; 
}
.apt-card:hover, .exp-card:hover {
  box-shadow: 0 20px 40px rgba(0,0,0,0.06) !important;
}
.eq-grid, .st-grid { gap: 0 !important; border: 1px solid rgba(0,0,0,0.04); }
.eq-it, .st-box { border: 1px solid rgba(0,0,0,0.04); }

/* 3. Fondo crema más sutil (menos amarillo) */
body { background: #fbfaf8 !important; }

/* 4. El Menú de Único: Logo a la izq y Hamburguesa a la derecha al bajar */
#nav.lit { grid-template-columns: auto 1fr auto !important; padding: 20px 48px !important; }
#nav.lit .nav-links, #nav.lit .lang-wrap { display: none !important; }
#nav.lit .ham { display: flex !important; margin-left: auto; }
#nav.lit .nav-logo { text-align: left !important; padding: 0 !important; font-size: 1.2rem !important; }

/* 5. La Barra Móvil: Solo el botón negro gigante */
@media (max-width: 540px) {
  #bk-bar .bk-tabs, #bk-bar .bk-panel { display: none !important; }
  #bk-bar { padding: 0 !important; background: transparent !important; border: none !important; box-shadow: none !important; }
  .btn-mobile-reservar {
    display: block !important; width: 100%; padding: 24px; background: var(--cb); color: #fff;
    text-align: center; font-size: .85rem; letter-spacing: .25em; text-transform: uppercase;
    border: none; cursor: pointer; font-weight: 400; box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  }
}
@media (min-width: 541px) { .btn-mobile-reservar { display: none !important; } }

/* ============================================================
   PARCHE v3 — Simetría y unificación de color
   ============================================================ */

/* 1 ── FONDO UNIFICADO: mismo crema del header en toda la web */
:root { --cr: #f9f7f2; --cr2: #f3f0ea; }
body { background: #f9f7f2 !important; }
/* Los fondos oscuros (galeón, ubicación, footer, restaurante) se quedan tal cual */

/* 2 ── LOGO: +15% → 132px, firma de autoridad */
.nav-logo-img { height: 132px !important; }
.nav-logo {
  font-size: 1.55rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
}

/* 3 ── LÍNEA DIVISORIA: 20px de respiro arriba y abajo */
.nav-logo-row {
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
  border-bottom: 0.5px solid #e8e4de !important;
}
.nav-links-row {
  padding-top: 20px !important;
  padding-bottom: 20px !important; /* simetría con el espacio hacia el vídeo */
  gap: 44px !important;
}

/* 4 ── SIMETRÍA DEL VÍDEO:
   espacio bajo los links = espacio entre línea y links = 20px
   El padding-bottom: 20px de .nav-links-row lo garantiza.
   El hero content se ajusta para no chocar con el nav. */
.svh-ct { padding-top: 240px !important; }

/* 5 ── LINKS e IDIOMA: ambos 12px, alineados */
.nav-link {
  font-size: 12px !important;
  letter-spacing: 4px !important;
  color: #5a5550 !important;
}
.lang-btn {
  font-size: 12px !important;
  letter-spacing: 4px !important;
  color: #5a5550 !important;
}
/* ES: top ajustado a la nueva altura de logo (132px + padding 20px + top nav 18px) */
.lang-wrap { top: 26px !important; right: 48px !important; }

/* Mobile */
@media (max-width: 900px) {
  .nav-logo-img { height: 64px !important; }
  .svh-ct { padding-top: 100px !important; }
  .nav-links-row { padding: 10px 0 10px !important; }
}

/* ============================================================
   PARCHE v4 — Hero limpio + Barra réplica Únic Hotels
   ============================================================ */

/* ── 1. HERO: solo título, sin botón ni subtítulo ── */
.hero-s               { display: none !important; }
.svh-ct .btn          { display: none !important; }
/* Centrar el título sin el espacio sobrante */
.svh-ct               { justify-content: center !important; gap: 0 !important; }

/* ── 2. BARRA DE RESERVAS — réplica pixel-perfect Únic Hotels ── */

/* Contenedor general: blanco, sombra sutil, sin bordes redondeados */
#bk-bar {
  background: #fff !important;
  box-shadow: 0 -1px 0 0 #e8e4de, 0 4px 24px rgba(38,35,32,.08) !important;
  bottom: 0 !important;          /* pegada al borde inferior exactamente */
  left: 0 !important;
  right: 0 !important;
  border-top: 1px solid #ece8e1 !important;
}

/* TABS: exactamente como Únic Hotels */
.bk-tabs {
  background: #fff !important;
  border-bottom: 1px solid #ece8e1 !important;
  padding: 0 0 0 0 !important;
  display: flex !important;
  gap: 0 !important;
}
.bk-tab {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 12px 28px !important;
  color: #8c867f !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  background: transparent !important;
  border-right: none !important;
  transition: color .2s, border-color .2s !important;
}
.bk-tab.active {
  color: #262320 !important;
  border-bottom-color: #262320 !important;
}
.bk-tab:hover { color: #262320 !important; }

/* FIELDS ROW: altura generosa, limpia */
.bk-fields {
  min-height: 58px !important;
  display: flex !important;
  align-items: stretch !important;
}

/* Cada campo: sin label visible, icono CSS + texto inline */
.bk-fi {
  flex-direction: row !important;
  align-items: center !important;
  padding: 0 20px 0 16px !important;
  gap: 10px !important;
  border-right: 1px solid #ece8e1 !important;
  background: #fff !important;
  min-height: 58px !important;
}

/* Ocultar labels — el placeholder de select/input hace de texto */
.bk-fi label { display: none !important; }

/* Icono SVG vía ::before con data-url */
.bk-fi:nth-child(1)::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 2C8.69 2 6 4.69 6 8c0 5 6 14 6 14s6-9 6-14c0-3.31-2.69-6-6-6z'/%3E%3Ccircle cx='12' cy='8' r='2.5'/%3E%3C/svg%3E") no-repeat center/contain;
}
.bk-fi:nth-child(2)::before,
.bk-fi:nth-child(3)::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat center/contain;
}
.bk-fi:nth-child(4)::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Ccircle cx='16' cy='7' r='3'/%3E%3Cpath d='M2 20c0-3.31 3.13-6 7-6M13 20c0-3.31 3.13-6 7-6'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Select e input: tipografía limpia, sin bordes */
.bk-fi select,
.bk-fi input[type="date"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #3a3632 !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
}
/* Añadir flecha discreta a los selects */
.bk-fi select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
  background-size: 14px !important;
  padding-right: 18px !important;
}

/* Campo restaurante estático */
.bk-fi-static {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #3a3632 !important;
}

/* BOTÓN RESERVAR: igual que Únic Hotels — gris piedra, texto aireado */
.bk-btn {
  flex: none !important;
  padding: 0 48px !important;
  background: #8b8b8b !important;
  color: #fff !important;
  border: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  min-height: 58px !important;
  transition: background .25s !important;
}
.bk-btn:hover { background: #717171 !important; }

/* ── RESTAURANTE: iconos del panel REST ── */
#bk-rest .bk-fi:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20'/%3E%3Cpath d='M21 2a5 5 0 0 0-5 5v6h3v7'/%3E%3C/svg%3E") !important;
}
#bk-rest .bk-fi:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
}
#bk-rest .bk-fi:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") !important;
}
#bk-rest .bk-fi:nth-child(4)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c867f' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Ccircle cx='16' cy='7' r='3'/%3E%3Cpath d='M2 20c0-3.31 3.13-6 7-6M13 20c0-3.31 3.13-6 7-6'/%3E%3C/svg%3E") !important;
}

/* ── MOBILE ── */
@media (max-width: 768px) {
  #bk-bar { bottom: 0 !important; left: 0 !important; right: 0 !important; }
  .bk-fi { padding: 0 12px !important; }
  .bk-btn { padding: 0 24px !important; font-size: 10px !important; letter-spacing: 3px !important; }
}

/* ── PARCHE v5 (final) — Hero extremo ── */

/* 1. Logo: 158px, peso de firma */
.nav-logo-img { height: 158px !important; }
.nav-logo     { font-size: 1.85rem !important; font-weight: 600 !important; }

/* 2. Etiqueta POTES, CANTABRIA: solo texto, sin SVGs ni líneas */
.hero-lbl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .58rem !important;
  letter-spacing: .42em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.5) !important;
  font-weight: 300 !important;
  margin-bottom: 16px !important;
  gap: 0 !important;
}
/* Ocultar los SVGs de ancla dentro del label */
.hero-lbl svg           { display: none !important; }
/* Ocultar las líneas decorativas pseudo-element */
.hero-lbl::before,
.hero-lbl::after        { display: none !important; }

/* 3. Slogan: sigue oculto */
.hero-s { display: none !important; }

/* 4. Scroll indicator: visible y centrado */
.scroll-h {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: none;
}

/* 5. ES: top-right, mismo tamaño que los links (12px) */
.lang-wrap {
  position: absolute !important;
  top: 22px !important;
  right: 44px !important;
}
.lang-btn {
  font-size: 12px !important;
  letter-spacing: 4px !important;
  color: #5a5550 !important;
}

@media (max-width: 900px) {
  .lang-wrap        { display: none !important; }
  .nav-logo-img     { display: none !important; }
  .nav-logo         { display: block !important; font-size: 1.15rem !important; }
}

/* ── PARCHE v6 — Cormorant Garamond en el título ── */

/* Ocultar imagen y mostrar el texto tipografiado */
.nav-logo-img { display: none !important; }
.nav-logo {
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #1a1a1a !important;
  line-height: 1 !important;
}

/* ── PARCHE v7 — Hero minimalista extremo ── */

/* 1. Slogan: oculto */
.hero-s { display: none !important; }

/* 2. Etiqueta POTES — sello con líneas a cada lado */
.hero-lbl {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .58rem !important;
  font-weight: 300 !important;
  letter-spacing: .46em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.45) !important;
  width: 100% !important;
  max-width: 360px !important;
  margin: 0 auto 20px !important;
}
/* Ocultar los SVGs de ancla */
.hero-lbl svg { display: none !important; }
/* Líneas finas a cada lado del texto */
.hero-lbl::before,
.hero-lbl::after {
  content: '' !important;
  display: block !important;
  flex: 1 !important;
  height: 1px !important;
  background: #c5aa6e !important; /* mismo dorado que .sc-ln */
}

/* Scroll indicator: visible y centrado */
.scroll-h { display: flex !important; opacity: 1 !important; }

/* ── SLOGAN: eliminación nuclear ── */
.hero-s {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* ── SINTONÍA CROMÁTICA: líneas doradas #c5aa6e (= color scroll) ── */
.hero-lbl::before,
.hero-lbl::after {
  content: '' !important;
  display: block !important;
  flex: 1 !important;
  height: 1px !important;
  background: #c5aa6e !important;
  opacity: 1 !important;
}

/* ── PARCHE v8 — Vídeo enmarcado estilo editorial ── */

/* El wrapper deja de ser 500vh de scroll y pasa a ser un frame fijo */
.svh {
  height: 70vh !important;
  padding: 0 !important;
  padding-top: 12px !important; /* respiro tras el nav */
}

/* El contenedor sticky se convierte en un marco centrado */
.svh-st {
  position: relative !important; /* sin sticky — frame estático */
  top: auto !important;
  height: 100% !important;      /* llena los 70vh del padre */
  width: 94% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* El vídeo llena el marco sin deformarse */
.svh-st video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 15% center !important;
}

/* El poster de fondo (imagen de carga inicial) */
#hero-poster {
  width: 100% !important;
  height: 100% !important;
  background-color: #0c0a08 !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

@media (min-width: 769px) {
  #hero-poster {
    background-image: url('assets/edificiodesdefuera.webp') !important;
    background-position: 20% 65% !important;
  }
}

/* Contenido centrado dentro del marco */
.svh-ct {
  padding-top: 0 !important;
  justify-content: center !important;
}

/* Scroll hint: posición dentro del marco */
.scroll-h { bottom: 28px !important; }

/* Progress bar al fondo del marco */
.svh-pr { bottom: 0 !important; }

/* En móvil: full-width, sin margen */
@media (max-width: 768px) {
  .svh { height: 52vh !important; padding-top: 8px !important; }
  .svh-st { width: 100% !important; max-width: none !important; }
  #hero-poster { 
    background-image: url('assets/edificio-movil.webp') !important;
    background-position: center 15% !important; 
  }
}

/* ── PARCHE v9 — Altura majestuosa + corte limpio ── */

/* 1. Altura: 70vh → 85vh */
.svh { height: 85vh !important; }

/* 2. Degradado blanco inferior: eliminado.
      Solo queda una sombra oscura sutil arriba para
      que el texto sea legible sobre el vídeo. */
.svh-ov {
  background: linear-gradient(
    to bottom,
    rgba(10,8,6,.38) 0%,
    rgba(10,8,6,.18) 45%,
    rgba(10,8,6,.08) 70%,
    transparent 100%
  ) !important;
}

/* ESTILO ETIQUETA POTES CON LÍNEAS LATERALES */
.hero-lbl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px; /* Separación entre el texto y las líneas */
  text-transform: uppercase;
  letter-spacing: 0.25em; /* Aire elegante entre las letras */
  color: #fffffff2; /* Blanco roto suave */
  font-size: 0.75rem; 
}

/* LÍNEAS NARANJAS/DORADAS A LOS LADOS */
.hero-lbl::before,
.hero-lbl::after {
  content: "";
  display: block;
  width: 45px; /* Largo de la línea (puedes subirlo a 60px si las quieres más largas) */
  height: 1px; /* Grosor fino y elegante */
  background-color: rgba(197, 170, 110, 0.8);
}

/* ── PARCHE v10 — Legibilidad hero + WA elegante ── */

/* 1. Overlay: toque oscuro muy sutil para domar el blanco del vídeo */
.svh-ov {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.32) 0%,
    rgba(0,0,0,.14) 50%,
    rgba(0,0,0,.06) 80%,
    transparent 100%
  ) !important;
}

/* 2. Text-shadow en todos los textos del hero */
.hero-lbl,
.hero-t,
.scroll-h span {
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

/* 3. WhatsApp — dorado elegante en vez de verde */
#wa-f {
  background: rgba(197,170,110,1) !important;
  box-shadow: 0 4px 16px rgba(197,170,110,.35) !important;
}
#wa-f:hover {
  background: #b89a58 !important;
  box-shadow: 0 6px 22px rgba(197,170,110,.45) !important;
}

/* ============================================================
   MOBILE-FIRST — réplica Único Hotels móvil
   ============================================================ */
@media (max-width: 768px) {

  /* ── HEADER: logo izquierda + MENÚ derecha ── */
  #nav {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 20px !important;
    border-bottom: 0.5px solid #e8e4de !important;
  }
  .nav-logo-row {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    text-align: left !important;
  }
  .nav-logo {
    font-size: 1.05rem !important;
    letter-spacing: .04em !important;
  }
  .nav-logo-img { height: 46px !important; }

  /* Ocultar links y selector de idioma */
  .nav-links-row { display: none !important; }
  .lang-wrap     { display: none !important; }

  /* Botón MENÚ: 2 líneas + texto */
  .ham {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    order: 2 !important;
  }
  .ham::after {
    content: 'MENÚ';
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 3px;
    font-weight: 400;
    color: #1a1a1a;
    text-transform: uppercase;
  }
  /* Solo 2 líneas (ocultar la del medio) */
  .hl:nth-child(2) { display: none !important; }
  .hl {
    width: 22px !important;
    background: #1a1a1a !important;
  }

  /* ── VÍDEO: enmarcado al 94%, 75vh ── */
  .svh {
    height: 75vh !important;
    padding-top: 6px !important;
  }
  .svh-st {
    width: 94% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
  }

  /* Ajustar padding-top del hero content para nav móvil (~78px) */
  .svh-ct { padding-top: 0 !important; }

  /* ── BARRA RESERVAS: franja negra simple con RESERVAR ── */
  #bk-bar {
    background: #1a1a1a !important;
    height: 60px !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    border-top: none !important;
    cursor: pointer !important;
  }
  /* Ocultar toda la interfaz compleja */
  .bk-tabs,
  .bk-panel { display: none !important; }

  /* Texto RESERVAR centrado vía pseudo-elemento */
  #bk-bar::after {
    content: 'RESERVAR';
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 5px;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
  }

  /* Al pulsar la barra negra, abre el booking overlay */
  #bk-bar { pointer-events: auto !important; }

  /* WA: más pequeño y alejado de la barra */
  #wa-f { bottom: 76px !important; width: 40px !important; height: 40px !important; }
}

/* ============================================================
   BOOKING BAR — DEFINITIVO v2 (réplica fiel Único Hotels)
   Sustituye todos los parches anteriores.
   ============================================================ */

@media (min-width: 769px) {

  /* ── CONTENEDOR: flotante centrado, no full-width ── */
  #bk-bar {
    position: fixed !important;
    bottom: 22px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
    width: calc(100% - 80px) !important;
    max-width: 960px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    border: 1px solid #e5e1da !important;
    box-shadow: 0 4px 32px rgba(38,35,32,.14) !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 900 !important;
  }

  /* ── TABS: más grandes, prominentes ── */
  .bk-tabs {
    display: flex !important;
    border-bottom: 1px solid #e5e1da !important;
    padding: 0 28px !important;
    gap: 0 !important;
    background: #fff !important;
  }
  .bk-tab {
    font-family: 'Inter', sans-serif !important;
    font-size: 11.5px !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 13px 0 !important;
    margin-right: 36px !important;
    color: #b8b0a6 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px !important;
    background: transparent !important;
    cursor: pointer !important;
    transition: color .2s, border-color .2s !important;
  }
  .bk-tab.active {
    color: #1a1a1a !important;
    border-bottom-color: #1a1a1a !important;
    font-weight: 600 !important;
  }
  .bk-tab:hover { color: #1a1a1a !important; }

  /* ── PANEL ── */
  .bk-panel { display: none !important; }
  .bk-panel.active { display: block !important; }

  /* ── FILA DE CAMPOS ── */
  .bk-fields {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    min-height: 58px !important;
    width: 100% !important;
  }

  /* ── Campo individual ── */
  .bk-fi {
    flex: 1 1 0% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 22px !important;
    border-right: 1px solid #e5e1da !important;
    border-bottom: none !important;
    min-width: 0 !important;
    background: #fff !important;
    position: relative !important;
  }
  .bk-fi label { display: none !important; }

  /* ── ICONOS via ::before ── */
  .bk-fi::before {
    content: '' !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    width: 17px !important;
    height: 17px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    opacity: .45 !important;
  }
  /* Pin — Elige apartamento */
  #bk-apt .bk-fi:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 2C8.69 2 6 4.69 6 8c0 5 6 14 6 14s6-9 6-14c0-3.31-2.69-6-6-6z'/%3E%3Ccircle cx='12' cy='8' r='2.5'/%3E%3C/svg%3E") !important;
  }
  /* Calendario — Elige tus fechas */
  #bk-apt .bk-fi:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  }
  /* Personas — 1 hab. 2 adultos */
  #bk-apt .bk-fi:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 20c0-3.31 2.69-6 6-6s6 2.69 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M17 15c2.21 0 4 1.79 4 4'/%3E%3C/svg%3E") !important;
  }
  /* Panel RESTAURANTE */
  #bk-rest .bk-fi:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20'/%3E%3Cpath d='M21 2a5 5 0 0 0-5 5v6h3v7'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 20c0-3.31 2.69-6 6-6s6 2.69 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3C/svg%3E") !important;
  }

  /* ── Campo de fechas combinado (Llegada — Salida) ── */
  .bk-fi-dates {
    flex: 1.4 1 0% !important;
  }
  .bk-dates-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .bk-dates-wrap input[type="date"] {
    flex: 1 !important;
    min-width: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 300 !important;
    color: #3a3530 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    color-scheme: light !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }
  .bk-dates-sep {
    color: #ccc !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  /* ── Selects y inputs globales ── */
  .bk-fi > select,
  .bk-fi > input[type="date"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 300 !important;
    color: #3a3530 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .bk-fi > select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 2px center !important;
    background-size: 12px !important;
    padding-right: 18px !important;
  }
  .bk-fi-static {
    font-family: 'Inter', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 300 !important;
    color: #3a3530 !important;
  }

  /* ── BOTÓN RESERVAR — color piedra cálida ── */
  .bk-btn {
    flex: 0 0 auto !important;
    min-width: 155px !important;
    padding: 0 38px !important;
    align-self: stretch !important;
    background: #9a9087 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background .2s !important;
  }
  .bk-btn:hover { background: #837870 !important; }
}

/* ============================================================
   BOOKING BAR — ASIMÉTRICA (réplica exacta Único Hotels)
   ============================================================ */
@media (min-width: 769px) {

  /* Contenedor sin fondo propio — cada sección tiene su fondo */
  #bk-bar {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;   /* ← clave: solapa izquierda */
  }

  /* SOLAPA DE TABS: solo tan ancha como su contenido */
  .bk-tabs {
    display: inline-flex !important;
    width: auto !important;
    background: #fff !important;
    border: 1px solid #e5e1da !important;
    border-bottom: none !important;
    padding: 0 24px !important;
    gap: 0 !important;
  }
  .bk-tab {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 12px 16px 12px 0 !important;
    margin-right: 28px !important;
    color: #b8b0a6 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px !important;
    background: transparent !important;
    cursor: pointer !important;
    transition: color .2s, border-color .2s !important;
  }
  .bk-tab:last-child { margin-right: 0 !important; }
  .bk-tab.active {
    color: #1a1a1a !important;
    border-bottom-color: #1a1a1a !important;
    font-weight: 600 !important;
  }

  /* BARRA PRINCIPAL: fondo blanco, ancho completo, sombra */
  .bk-panel { display: none !important; }
  .bk-panel.active {
    display: block !important;
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #e5e1da !important;
    box-shadow: 0 8px 40px rgba(38,35,32,.13) !important;
  }

  /* FILA DE CAMPOS: gap generoso, SIN bordes verticales */
  .bk-fields {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    min-height: 60px !important;
    width: 100% !important;
    gap: 0 !important;
  }

  /* Campo individual: padding amplio, SIN border-right */
  .bk-fi {
    flex: 1 1 0% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 28px !important;
    border-right: none !important;
    border-bottom: none !important;
    min-width: 0 !important;
    background: transparent !important;
  }
  .bk-fi label { display: none !important; }

  /* Iconos de trazo fino */
  .bk-fi::before {
    content: '' !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    opacity: .4 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }
  #bk-apt .bk-fi:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M12 2C8.69 2 6 4.69 6 8c0 5 6 14 6 14s6-9 6-14c0-3.31-2.69-6-6-6z'/%3E%3Ccircle cx='12' cy='8' r='2.5'/%3E%3C/svg%3E") !important;
  }
  #bk-apt .bk-fi:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  }
  #bk-apt .bk-fi:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 20c0-3.31 2.69-6 6-6s6 2.69 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M17 15c2.21 0 4 1.79 4 4'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20'/%3E%3Cpath d='M21 2a5 5 0 0 0-5 5v6h3v7'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") !important;
  }
  #bk-rest .bk-fi:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 20c0-3.31 2.69-6 6-6s6 2.69 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3C/svg%3E") !important;
  }

  /* Inputs y selects */
  .bk-fi > select,
  .bk-fi > input,
  .bk-dates-wrap input {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #2e2a26 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .bk-fi > select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0 center !important;
    background-size: 13px !important;
    padding-right: 16px !important;
  }
  /* Placeholder color */
  .bk-fi > input::placeholder,
  .bk-dates-wrap input::placeholder { color: #2e2a26 !important; opacity: 1 !important; }

  /* Campo fechas: dos inputs en fila */
  .bk-fi-dates { flex: 1.5 1 0% !important; }
  .bk-dates-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .bk-dates-wrap input { flex: 1 !important; }
  .bk-dates-sep {
    color: #bbb !important;
    font-size: 12px !important;
    flex-shrink: 0 !important;
  }
  .bk-fi-static {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #2e2a26 !important;
  }

  /* BOTÓN: gris cálido oscuro, Sentence case, sin radius */
  .bk-btn {
    flex: 0 0 auto !important;
    min-width: 150px !important;
    padding: 0 36px !important;
    align-self: stretch !important;
    background: #7a7268 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    letter-spacing: .05em !important;
    text-transform: none !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background .2s !important;
  }
  .bk-btn:hover { background: #645d54 !important; }
}

/* ============================================================
   BOOKING BAR — 4 BLOQUES IGUALES, SOLO BOTONES, ÚNICO HOTELS
   ============================================================ */
@media (min-width: 769px) {

  /* Barra: 95% ancho, máx 1400px, margen = 24px (= bottom) */
  #bk-bar {
    width: 95% !important;
    max-width: 1400px !important;
    bottom: 24px !important;
  }

  /* Tabs más grandes y con más presencia */
  .bk-tab {
    font-size: 13px !important;
    letter-spacing: .24em !important;
    padding: 14px 20px 14px 0 !important;
    margin-right: 36px !important;
  }

  /* Fila de campos: 4 bloques iguales flex-1, altura 68px */
  .bk-fields {
    min-height: 68px !important;
    align-items: stretch !important;
  }

  /* Los 3 bloques de info: botones limpios, flex-1 igual */
  button.bk-fi {
    flex: 1 1 0% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 32px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    transition: opacity .2s !important;
    text-align: left !important;
    color: #2a2520 !important;
    min-width: 0 !important;
  }
  button.bk-fi:hover { opacity: .65 !important; }

  /* Anular ::before de parches anteriores (iconos duplicados) */
  button.bk-fi::before,
  .bk-fi::before { content: none !important; display: none !important; }

  /* SVG en los botones: trazo fino, color heredado */
  button.bk-fi svg {
    flex-shrink: 0 !important;
    opacity: .55 !important;
    color: #2a2520 !important;
  }

  /* Texto de cada bloque */
  button.bk-fi span {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: #2a2520 !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
  }

  /* Botón RESERVAR: ocupa el mismo flex-1, fondo gris cálido */
  .bk-btn {
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: .06em !important;
    text-transform: none !important;
    background: #7a7268 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background .2s !important;
    align-self: stretch !important;
  }
  .bk-btn:hover { background: #645d54 !important; opacity: 1 !important; }
}

/* ============================================================
   NAV — DOS ESTADOS SEPARADOS Y LIMPIOS
   ============================================================ */

#nav { transition: padding .7s ease, background .7s ease, box-shadow .7s ease; }

/* ── ESTADO 1: Sin scroll (.nav-links-group base) ─────────── */
/* El grupo de links funciona igual que antes en la fila */
.nav-links-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 36px;
}
/* ES: posición absoluta arriba a la derecha */
.lang-wrap {
  position: absolute !important;
  top: 18px !important;
  right: 48px !important;
}

/* ── ESTADO 2: Con scroll (#nav.lit) ──────────────────────── */

/* Contenedor: fila horizontal, logo izq, derecha dcha */
#nav.lit {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding: 14px 40px !important;
  background: rgba(249,247,242,.98) !important;
  box-shadow: 0 1px 0 rgba(38,35,32,.09) !important;
}

/* Logo: extremo izquierdo */
#nav.lit .nav-logo-row {
  width: auto !important;
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  justify-content: flex-start !important;
}

/* Contenedor derecho: flex row, no ocupa todo el ancho */
#nav.lit .nav-links-row {
  width: auto !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 32px !important;  /* gap entre grupo-links y ES */
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Grupo de links: flex row */
#nav.lit .nav-links-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
  flex-shrink: 0 !important;
}

/* Links */
#nav.lit .nav-link {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #2a2520 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  position: relative !important;
  padding-bottom: 3px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
#nav.lit .nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important;
  width: 0 !important; height: 1px !important;
  background: #2a2520 !important;
  transition: width .3s ease !important;
}
#nav.lit .nav-link:hover::after { width: 100% !important; }

/* ES: vuelve al flujo normal (static), hermano del grupo */
#nav.lit .lang-wrap {
  position: static !important;
  display: flex !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  top: auto !important;
  right: auto !important;
  margin: 0 !important;
}
#nav.lit .lang-btn {
  color: #2a2520 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* Hamburguesa: eliminada en scroll */
#nav.lit .ham,
#nav.lit #ham { display: none !important; visibility: hidden !important; }

/* ============================================================
   MOBILE FINAL — Único Hotels style (< 768px)
   ============================================================ */
@media (max-width: 768px) {

  /* NAVBAR */
  #nav, #nav.lit {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    background: #f9f7f2 !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }
  .nav-logo-row, #nav.lit .nav-logo-row {
    width: auto !important; flex: 0 0 auto !important;
    margin: 0 !important; padding: 0 !important;
    border: none !important; text-align: left !important;
    justify-content: flex-start !important;
  }
  .nav-logo {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: .98rem !important; font-weight: 400 !important;
    letter-spacing: .02em !important; color: #1a1a1a !important;
  }
  .nav-logo-img { height: 34px !important; }
  .nav-links-row, #nav.lit .nav-links-row { display: none !important; }
  .lang-wrap { display: none !important; position: static !important; }

  /* HAMBURGUESA: 2 líneas (via ::before box-shadow) + MENÚ */
  .ham, #nav.lit .ham, #nav.lit #ham {
    display: flex !important; visibility: visible !important;
    flex-direction: row !important; align-items: center !important;
    gap: 9px !important; background: none !important;
    border: none !important; cursor: pointer !important; padding: 0 !important;
  }
  .ham .hl { display: none !important; }
  .ham::before {
    content: '' !important;
    display: inline-block !important;
    width: 20px !important; height: 1px !important;
    background: #1a1a1a !important;
    box-shadow: 0 7px 0 0 #1a1a1a !important;
    flex-shrink: 0 !important;
  }
  .ham::after {
    content: 'MENÚ' !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 9px !important; letter-spacing: 3.5px !important;
    font-weight: 400 !important; color: #1a1a1a !important;
  }

  /* HERO: enmarcado con padding uniforme (passepartout crema) */
  .svh {
    height: 75vh !important;
    padding: 12px 16px 0 16px !important;
    background: #f9f7f2 !important;
    box-sizing: border-box !important;
  }
  .svh-st {
    width: 100% !important; height: 100% !important;
    margin: 0 !important; position: relative !important;
    overflow: hidden !important; border-radius: 0 !important;
  }
  .svh video, .svh-bg, .svh img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: 15% center !important;
  }
  .svh-ct {
    padding-top: 0 !important;
    position: absolute !important;
    bottom: 12% !important; left: 0 !important; right: 0 !important;
    text-align: center !important;
  }
  .hero-t {
    font-size: clamp(1.5rem, 6.5vw, 2.2rem) !important;
    color: #fff !important; line-height: 1.2 !important;
    padding: 0 24px !important;
  }

  /* BARRA RESERVAR — negra, texto blanco */
  #bk-bar {
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: none !important;
    height: 60px !important;
    background: #111 !important;
    display: flex !important;
    align-items: center !important; justify-content: center !important;
    z-index: 900 !important;
    border: none !important; box-shadow: none !important;
    cursor: pointer !important; transform: none !important;
  }
  .bk-tabs, .bk-panel, button.bk-fi, .bk-btn,
  #bk-bar button, .btn-mobile-reservar { display: none !important; }
  #bk-bar::after {
    content: 'RESERVAR' !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important; letter-spacing: 6px !important;
    font-weight: 400 !important; color: #fff !important;
  }
  #bk-bar button::before,
  #bk-bar button::after { display: none !important; }

  /* WA por encima de la barra */
  #wa-f {
    bottom: 74px !important; right: 16px !important;
    width: 40px !important; height: 40px !important;
  }

  /* Ocultar el #bk-bar antiguo en móvil — usa #mob-reservar */
  #bk-bar { display: none !important; }

  body { padding-bottom: 60px !important; }
}

/* BARRA MÓVIL DEDICADA — solo móvil */
#mob-reservar {
  display: none; /* oculta en desktop */
}
@media (max-width: 768px) {
  #mob-reservar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 60px !important;
    background: #111 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9999 !important;
    cursor: pointer !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,.3) !important;
  }
  #mob-reservar span {
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
  }
}

/* ============================================================
   SUITES GRID — Home page escaparate
   ============================================================ */
.suites-section {
  background: var(--cr);
  padding: 120px 72px 160px;
}
.suites-hdr {
  margin-bottom: 96px;
}
.suites-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px 60px;
  max-width: 1280px;
  margin: 0 auto;
}
.suite-card {
  cursor: pointer;
  position: relative;
  outline: none;
}
.suite-card:focus-visible { outline: 2px solid var(--ch); outline-offset: 4px; }
.suite-card-img-wrap {
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
}
.suite-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(16px) brightness(.7);
  opacity: .65;
  transition: transform .95s cubic-bezier(.16,1,.3,1), filter 1.1s ease, opacity .9s ease;
}
.suite-card-img.loaded {
  filter: brightness(.88) saturate(.82);
  opacity: 1;
}
.suite-card:hover .suite-card-img {
  transform: scale(1.04);
  filter: brightness(.78) saturate(.82);
  opacity: 1;
}
.suite-card-body {
  padding: 22px 0 0;
}
.suite-card-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  font-weight: 400;
  color: var(--cb);
  letter-spacing: .01em;
  margin-bottom: 6px;
  line-height: 1.1;
}
.suite-card-price {
  margin-bottom: 22px;
}
.suite-card-price-from {
  font-family: 'Inter', sans-serif;
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(38,35,32,.55);
  display: block;
  margin-bottom: 2px;
}
.suite-card-price-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: rgba(38,35,32,.52);
  letter-spacing: .03em;
}
.suite-card-discover {
  display: inline-block;
  position: relative;
  font-family: 'Inter', sans-serif;
  font-size: .58rem;
  font-weight: 400;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--cb);
  border: none;
  background: none;
  cursor: pointer;
  padding: 0 0 7px;
}
.suite-card-discover::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(.22);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.suite-card:hover .suite-card-discover::after { transform: scaleX(1); }

@media (max-width: 900px) {
  .suites-section { padding: 90px 40px 110px; }
  .suites-grid { gap: 52px 36px; }
}
@media (max-width: 768px) {
  .suites-section { padding: 72px 20px 96px; }
  .suites-grid { 
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 16px !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; 
    -ms-overflow-style: none;
    margin: 0 -24px !important;
    padding: 10px 24px 40px !important;
  }
  .suites-grid::-webkit-scrollbar {
    display: none;
  }
  .suite-card {
    flex: 0 0 85vw !important;
    scroll-snap-align: center;
  }
  .suite-card-img-wrap { aspect-ratio: 4/3; }
  .suite-card-name { font-size: 1.9rem; }
}

/* ============================================================
   PAGE HERO — Static image hero for sub-pages
   ============================================================ */
.page-hero {
  position: relative;
  height: 62vh;
  min-height: 440px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 0 72px 64px;
}
.page-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.6) saturate(.8);
}
.page-hero-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.6) 0%, rgba(0,0,0,.1) 55%, transparent 100%);
}
.page-hero-ct {
  position: relative;
  z-index: 2;
}
.page-hero-lbl {
  font-family: 'Inter', sans-serif;
  font-size: .58rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ch);
  margin-bottom: 14px;
}
.page-hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.6rem, 5vw, 4.2rem);
  font-weight: 300;
  color: #fff;
  line-height: 1.08;
}
@media (max-width: 768px) {
  .page-hero { padding: 0 24px 44px; height: 50vh; min-height: 340px; }
  .page-hero-title { font-size: clamp(2rem, 8vw, 2.8rem); }
}

/* Sub-page: nav always in lit state via data-subpage body attr */
[data-subpage] #nav { background: rgba(249,247,242,.98) !important; box-shadow: 0 1px 0 rgba(38,35,32,.09) !important; }

/* ============================================================
   MOBILE STYLE — hero tagline & layout
   ============================================================ */

/* Tagline oculta en desktop */
.hero-tagline { display: none; }

@media (max-width: 768px) {

  /* Vídeo: altura de pantalla completa */
  .svh { height: 100vh !important; }

  /* Contenido centrado, anclado al fondo */
  .svh-ct {
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 0 32px 100px !important;
    text-align: center !important;
  }

  /* Gradiente: transparente arriba → oscuro en el tercio inferior */
  .svh-ov {
    background: linear-gradient(
      to bottom,
      rgba(12,10,8,.0)  18%,
      rgba(12,10,8,.55) 72%,
      rgba(12,10,8,.75) 100%
    ) !important;
  }

  /* Ocultar etiqueta "POTES, CANTABRIA" */
  .hero-lbl { display: none !important; }

  /* Ocultar indicador SCROLL y barra de progreso */
  .scroll-h { display: none !important; }
  .svh-pr   { display: none !important; }

  /* Tagline elegante — centrada */
  .hero-tagline {
    display: block !important;
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 7.5vw, 2.6rem);
    font-weight: 300;
    font-style: italic;
    line-height: 1.22;
    color: rgba(255,255,255,.95);
    letter-spacing: .03em;
    text-align: center;
  }

  /* ── Título "La Casa del Capitán" más grande y seminegrita ── */
  .nav-logo {
    font-size: 1.22rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
  }
  /* Si se muestra la imagen del logo, también un poco más grande */
  .nav-logo-img { height: 54px !important; }

  /* ── Hamburguesa asimétrica — estilo Único Hotels ── */
  /* Solo 2 líneas, la de arriba más larga */
  .hl:nth-child(1) { width: 24px !important; background: var(--cb) !important; }
  .hl:nth-child(2) { width: 15px !important; background: var(--cb) !important; }
  .hl:nth-child(3) { display: none !important; }

  /* ── BARRA FIJA INFERIOR — fondo blanco + botón negro ── */

  /* Eliminar residuos de versiones anteriores */
  body::after        { display: none !important; }
  #mob-reservar::after { display: none !important; }

  /* Contenedor: fondo blanco fijo, extiende hasta el borde con safe-area */
  #mob-reservar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    height: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    background: #fff !important;
    padding: 10px 16px !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transform: none !important;
    z-index: 9999 !important;
    cursor: default !important;
  }

  /* Botón negro ancho dentro de la barra blanca */
  #mob-reservar span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    background: #000 !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: .3em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    border-radius: 0 !important;
  }

  /* Padding en body para que la barra no tape el footer */
  body {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* ── Header igual al hacer scroll ── */
  #nav.lit {
    padding: 14px 24px !important;
    box-shadow: none !important;
    background: rgba(249,247,242,.98) !important;
  }
  #nav.lit .ham,
  #nav.lit #ham { display: flex !important; }
  #nav.lit .nav-links-row { display: none !important; }
  #nav.lit .lang-wrap    { display: none !important; }

  /* ── Espaciado entre secciones ── */
  section { padding: 40px 20px !important; }
  .two { gap: 24px !important; }
  .sep { margin: 12px 0 !important; }

  /* ── Suites: filtros compactos, todos visibles ── */
  .suites-section { padding: 40px 0 56px !important; }
  .suites-hdr { padding: 0 20px !important; margin-bottom: 24px !important; }
  .suites-nav { padding: 0 20px !important; margin-bottom: 16px !important; }
  .suites-nav-scroller { gap: 6px !important; padding-bottom: 10px !important; justify-content: space-between !important; }
  .suites-nav-btn {
    font-size: .5rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 0 3px !important;
    white-space: nowrap !important;
  }

  /* ── Suites: apilado vertical lujoso (override del carrusel) ── */
  .suites-grid {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .suites-grid::-webkit-scrollbar { display: none; }

  .suite-card {
    flex: none !important;
    width: 100% !important;
    scroll-snap-align: none !important;
    border-bottom: 1px solid rgba(38,35,32,.08) !important;
    padding: 0 0 28px !important;
    margin-bottom: 28px !important;
    border-radius: 0 !important;
  }
  .suite-card:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  /* Imagen: márgenes laterales para sensación de lujo */
  .suite-card-img-wrap {
    width: calc(100% - 40px) !important;
    aspect-ratio: 3/4 !important;
    margin: 0 20px !important;
    border-radius: 0 !important;
  }
  /* Texto: alineado con la imagen */
  .suite-card-body {
    padding: 16px 20px 0 !important;
  }
  .suite-card-name {
    font-size: 1.7rem !important;
    font-weight: 300 !important;
    letter-spacing: .02em !important;
    margin-bottom: 6px !important;
  }
  .suite-card-price { margin-bottom: 14px !important; }
}

/* ============================================================
   LUXURY MICRO-INTERACTIONS
   ============================================================ */

/* Ocultar botón reserva móvil cuando hay modal abierto */
body.mod-open #mob-reservar { display: none !important; }

/* Nav: transición suave al hacerse sticky */
#nav { transition: padding .4s, box-shadow .4s, background .35s; }

/* Nav links: underline animado desde la izquierda */
.nav-link {
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--chd);
  transition: width .35s cubic-bezier(.16,1,.3,1);
}
.nav-link:hover::after { width: 100%; }

/* Logo: fade sutil en hover */
.nav-logo-row a { transition: opacity .25s ease; }
.nav-logo-row a:hover { opacity: .72; }

/* Focus visible — navegación por teclado */
.btn:focus-visible, .bk-tab:focus-visible, .bk-btn:focus-visible { outline: 2px solid var(--ch); outline-offset: 3px; }
.nav-link:focus-visible { outline: 2px solid var(--ch); outline-offset: 4px; }
.ft-lk:focus-visible { outline: 1px solid rgba(197,170,110,.4); outline-offset: 2px; }
.ham:focus-visible, #nol-close:focus-visible { outline: 2px solid var(--ch); outline-offset: 4px; }

/* ============================================================
   OPTIMIZACIONES MÓVILES ADICIONALES (UX/UI 10/10)
   ============================================================ */
@media (max-width: 768px) {
  /* Más respiración para las secciones */
  section {
    padding: 60px 24px !important;
  }
  
  /* Evitar auto-zoom molesto en iOS al hacer foco en inputs/selects */
  .bkco-field input,
  .bkco-field select,
  .rsv-form-field input,
  .rsv-form-field select {
    font-size: 16px !important;
  }

  /* Botón de cerrar modal fijo y flotante siempre accesible */
  .mod-cls {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #faf8f5 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.14) !important;
    font-size: 1.5rem !important;
    z-index: 99999 !important;
  }

  /* Botón de reserva del modal como CTA sólido */
  .mod-rsv-btn {
    margin-top: 36px !important;
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    padding: 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .25em !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Selector de idiomas en el menú móvil lateral */
  .nol-lang {
    display: flex;
    gap: 24px;
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid rgba(0,0,0,.08);
    width: 100%;
  }
  .nol-lang a {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(30,28,26,.45);
    cursor: pointer;
    transition: color .3s;
  }
  .nol-lang a.active {
    color: var(--cb);
    font-weight: 500;
  }

  /* Cerrar menú lateral táctil área */
  #nol-close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    top: 14px !important;
    right: 14px !important;
    font-size: 2.2rem !important;
    line-height: 1 !important;
  }
}

/* ── iPad: reposicionar fotos ── */
@media (min-width: 768px) and (max-width: 1180px) {
  .suite-card-img  { object-position: 30% 15%; }
  .page-hero-img   { object-position: 25% 10%; }
  #hero-poster     { 
    background-image: url('assets/edificio-tablet.webp') !important;
    background-position: center center !important; 
  }
}

