/*
Theme Name: Melina Hotel by Taino Estudio
Theme URI: https://tainoestudio.com
Author: Thony Polonia CEO de Taino Estudio
Author URI: https://tainoestudio.com
Description: Tema premium de WordPress diseñado para hoteles boutique, resorts y alojamientos de lujo. Compatible con Gutenberg y altamente personalizable.
Version: 5.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hotel-by-taino
Tags: hotel, luxury, boutique, full-width-template, custom-colors, custom-menu, featured-images, theme-options
*/

/* ============================================
   DESIGN SYSTEM v5.0 — Melina Hotel Premium
   Refactored: Apr 2026 — Taino Estudio
   Focus: Legibility · Conversion · Modern Luxury
   ============================================ */

/* ============================================
   CSS CUSTOM PROPERTIES — Design Tokens
   ============================================ */
:root {
    /* Colors — Refined Gold Palette */
    --hbt-primary: #B8965A;
    --hbt-primary-dark: #9A7D4A;
    --hbt-primary-hover: #A6843E;
    --hbt-secondary: #C8A96E;
    --hbt-secondary-light: #D4BA85;

    /* Text Colors — WCAG AA+ Contrast */
    --hbt-text: #222222;
    --hbt-text-light: #555555;
    --hbt-dark: #222222;
    --hbt-dark-soft: #333333;

    /* Background Dark — Footer, Newsletter, Dark sections */
    --hbt-bg-dark: #555555;
    --hbt-bg-dark-soft: #4A4A4A;

    /* Surface Colors */
    --hbt-white: #FFFFFF;
    --hbt-light: #F9F9F9;
    --hbt-light-warm: #F5F0E8;
    --hbt-border: #E2E2E2;

    /* Overlay & Shadows */
    --hbt-overlay: rgba(26,26,26,0.55);
    --hbt-shadow: 0 4px 24px rgba(0,0,0,0.06);
    --hbt-shadow-hover: 0 8px 40px rgba(0,0,0,0.12);
    --hbt-shadow-card: 0 2px 12px rgba(0,0,0,0.04);

    /* Typography — Inter + Cinzel Decorative */
    --hbt-font-heading: 'Cinzel Decorative','Georgia','Times New Roman',serif;
    --hbt-font-body: 'Inter',-apple-system,'Segoe UI',sans-serif;
    --hbt-font-accent: 'Cinzel Decorative','Georgia',serif;
    --hbt-font-menu: 'Inter',-apple-system,'Segoe UI',sans-serif;

    /* Type Scale */
    --hbt-text-base: 1.0625rem;
    --hbt-text-sm: 0.875rem;
    --hbt-text-xs: 0.8125rem;
    --hbt-text-lg: 1.125rem;
    --hbt-line-height: 1.65;
    --hbt-line-height-tight: 1.3;
    --hbt-max-line-length: 70ch;

    /* Spacing */
    --hbt-section-padding: 80px 0;
    --hbt-container-width: 1200px;
    --hbt-gap: 30px;
    --hbt-space-xs: 8px;
    --hbt-space-sm: 16px;
    --hbt-space-md: 24px;
    --hbt-space-lg: 40px;
    --hbt-space-xl: 60px;
    --hbt-space-2xl: 80px;

    /* Transitions */
    --hbt-transition: all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
    --hbt-transition-fast: all 0.2s ease;

    /* Buttons */
    --hbt-btn-radius: 6px;
    --hbt-btn-padding: 14px 28px;
    --hbt-btn-padding-sm: 10px 20px;
    --hbt-btn-padding-lg: 18px 40px;
}

/* ============================================
   RESET & BASE
   ============================================ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

body {
    font-family: var(--hbt-font-body);
    font-size: var(--hbt-text-base);
    font-weight: 400;
    line-height: var(--hbt-line-height);
    color: var(--hbt-text);
    background-color: var(--hbt-white);
    overflow-x: hidden;
    max-width: 100vw;
}

.hbt-main { overflow-x:hidden; max-width:100%; }

img { max-width:100%; height:auto; display:block; }

/* ============================================
   LINKS — Visible, Accessible, Interactive
   ============================================ */
a {
    color: var(--hbt-primary-dark);
    text-decoration: none;
    transition: var(--hbt-transition-fast);
}
a:hover {
    color: var(--hbt-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.hbt-btn:hover,
.hbt-room-card a:hover,
.hbt-category-card a:hover,
.hbt-blog-card a:hover { text-decoration:none; }

/* ============================================
   TYPOGRAPHY — Inter body · Cinzel titles
   ============================================ */
h1,h2,h3,h4,h5,h6 {
    font-family: var(--hbt-font-heading);
    font-weight: 400;
    line-height: var(--hbt-line-height-tight);
    color: var(--hbt-dark);
    margin-bottom: 0.5em;
}
h1 { font-size: clamp(2rem,5vw,3.5rem); }
h2 { font-size: clamp(1.6rem,4vw,2.8rem); }
h3 { font-size: clamp(1.3rem,3vw,1.8rem); }
h4 { font-size: clamp(1.1rem,2.5vw,1.4rem); }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

p { margin-bottom:1.25em; max-width:var(--hbt-max-line-length); }

.hbt-accent-font { font-family:var(--hbt-font-accent); font-style:italic; }

/* ============================================
   LAYOUT
   ============================================ */
.hbt-container { max-width:var(--hbt-container-width); margin:0 auto; padding:0 24px; }
.hbt-container-wide { max-width:1400px; margin:0 auto; padding:0 24px; }
.hbt-section { padding:var(--hbt-section-padding); }
.hbt-section-light { background-color:var(--hbt-light); }
.hbt-section-dark { background-color:var(--hbt-bg-dark); color:rgba(255,255,255,0.85); }
.hbt-section-dark h2,.hbt-section-dark h3 { color:var(--hbt-white); }
.hbt-text-center { text-align:center; }

.hbt-section-header {
    text-align:center; max-width:680px; margin:0 auto var(--hbt-space-xl);
}
.hbt-section-header h2 {
    font-family:var(--hbt-font-accent); font-style:italic; font-weight:400; margin-bottom:16px;
}
.hbt-section-header p {
    color:var(--hbt-text-light); font-size:var(--hbt-text-base);
    line-height:var(--hbt-line-height); max-width:60ch; margin-left:auto; margin-right:auto;
}

.hbt-section-label {
    font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600;
    letter-spacing:2.5px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:8px;
}
.hbt-section-eyebrow {
    font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600;
    letter-spacing:2.5px; text-transform:uppercase; color:var(--hbt-primary); margin-bottom:10px;
}
.hbt-divider { width:50px; height:2px; background:var(--hbt-secondary); margin:16px auto; }

/* ============================================
   BUTTONS — High contrast, generous padding
   ============================================ */
.hbt-btn {
    display:inline-block; padding:var(--hbt-btn-padding);
    font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600;
    letter-spacing:1.5px; text-transform:uppercase;
    border:2px solid transparent; border-radius:var(--hbt-btn-radius);
    cursor:pointer; transition:var(--hbt-transition);
    text-align:center; line-height:1; text-decoration:none;
}
.hbt-btn:hover { text-decoration:none; }

.hbt-btn-primary {
    background-color:var(--hbt-primary); color:#FFFFFF; border-color:var(--hbt-primary);
}
.hbt-btn-primary:hover {
    background-color:var(--hbt-primary-dark); border-color:var(--hbt-primary-dark); color:#FFFFFF;
    transform:translateY(-2px); box-shadow:0 6px 20px rgba(184,150,90,0.35);
}

.hbt-btn-outline {
    background:transparent; color:var(--hbt-primary); border-color:var(--hbt-primary);
}
.hbt-btn-outline:hover {
    background-color:var(--hbt-primary); color:#FFFFFF;
    transform:translateY(-2px); box-shadow:0 6px 20px rgba(184,150,90,0.25);
}

.hbt-btn-white { background:var(--hbt-white); color:var(--hbt-dark); border-color:var(--hbt-white); }
.hbt-btn-white:hover { background:transparent; color:var(--hbt-white); }

.hbt-btn-gold { background-color:var(--hbt-secondary); color:#FFFFFF; border-color:var(--hbt-secondary); }
.hbt-btn-gold:hover { background-color:var(--hbt-secondary-light); border-color:var(--hbt-secondary-light); }

.hbt-btn-sm { padding:var(--hbt-btn-padding-sm); font-size:0.75rem; }
.hbt-btn-lg { padding:var(--hbt-btn-padding-lg); font-size:0.875rem; }

/* ============================================
   TOP BAR
   ============================================ */
.hbt-topbar {
    background:var(--hbt-bg-dark); position:relative; z-index:1001;
    transition:transform .35s ease, opacity .35s ease;
}
.hbt-topbar.hidden { transform:translateY(-100%); opacity:0; pointer-events:none; }
.hbt-topbar-inner {
    max-width:1400px; margin:0 auto; padding:7px 30px;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.hbt-topbar-address {
    font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:400;
    letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,0.6);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hbt-topbar-right { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.hbt-topbar-email {
    font-family:var(--hbt-font-menu); font-size:0.6875rem;
    color:rgba(255,255,255,0.6); text-decoration:none; transition:color .2s;
}
.hbt-topbar-email:hover { color:#fff; text-decoration:none; }
.hbt-topbar-email i { margin-right:4px; }
.hbt-topbar-social { display:flex; gap:6px; }
.hbt-topbar-social a {
    width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,0.1);
    display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,0.6); font-size:0.75rem; text-decoration:none; transition:all .25s ease;
}
.hbt-topbar-social a:hover { background:var(--hbt-primary); color:#fff; text-decoration:none; }

@media (max-width:768px) {
    .hbt-topbar-inner { padding:5px 16px; }
    .hbt-topbar-address { font-size:0.625rem; max-width:55%; }
    .hbt-topbar-email { display:none; }
}

/* ============================================
   HEADER — Dynamic Logo + Scroll
   ============================================ */
.hbt-header {
    position:fixed; top:34px; left:0; width:100%; z-index:1000;
    background:transparent;
    transition:top .35s ease, background .35s ease, box-shadow .35s ease, padding .35s ease;
    padding:14px 0;
}
.hbt-header.scrolled {
    top:0; background:rgba(255,255,255,0.97);
    box-shadow:0 2px 20px rgba(0,0,0,0.06); padding:8px 0;
}
.hbt-header-inner {
    display:flex; align-items:center; justify-content:space-between;
    max-width:1400px; margin:0 auto; padding:0 30px;
}

.hbt-logo { flex-shrink:0; display:flex; align-items:center; text-decoration:none; }
.hbt-logo:hover { text-decoration:none; }
.hbt-logo img { max-height:48px; width:auto; transition:opacity .35s ease, max-height .35s ease; }
.hbt-logo-white { display:block; }
.hbt-logo-dark { display:none; }
.hbt-header.scrolled .hbt-logo-white { display:none; }
.hbt-header.scrolled .hbt-logo-dark { display:block; }
.hbt-header.scrolled .hbt-logo img { max-height:40px; }
.hbt-header.hbt-use-filter .hbt-logo-white { filter:brightness(0) invert(1); }
.hbt-header.hbt-use-filter.scrolled .hbt-logo-white { display:none; }
.hbt-header.hbt-use-filter.scrolled .hbt-logo-dark { display:block; filter:none; }
.hbt-footer-logo img { max-height:45px; width:auto; }
.hbt-footer-logo.hbt-filter-white img { filter:brightness(0) invert(1); }

/* ============================================
   NAVIGATION — Inter 13px weight 500-600
   ============================================ */
.hbt-nav { display:flex; align-items:center; margin-left:auto; }
.hbt-nav ul { display:flex; list-style:none; gap:4px; margin:0; padding:0; }
.hbt-nav a {
    display:block; padding:10px 16px;
    font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:500;
    letter-spacing:1.2px; text-transform:uppercase; color:#fff;
    text-decoration:none; transition:color .3s ease; position:relative;
}
.hbt-nav a::after {
    content:""; position:absolute; bottom:4px; left:50%; width:0; height:2px;
    background:var(--hbt-secondary); transition:width .3s ease; transform:translateX(-50%);
}
.hbt-nav a:hover { color:var(--hbt-secondary); text-decoration:none; }
.hbt-nav a:hover::after,
.hbt-nav .current-menu-item > a::after,
.hbt-nav .current-menu-ancestor > a::after,
.hbt-nav .current-page-ancestor > a::after,
.hbt-nav .current_page_parent > a::after { width:70%; }
.hbt-nav .current-menu-item > a,
.hbt-nav .current-menu-ancestor > a,
.hbt-nav .current-page-ancestor > a { color:var(--hbt-secondary); font-weight:600; }
.hbt-header.scrolled .hbt-nav .current-menu-item > a,
.hbt-header.scrolled .hbt-nav .current-menu-ancestor > a { color:var(--hbt-primary); }
.hbt-header.scrolled .hbt-nav a { color:var(--hbt-dark); }
.hbt-header.scrolled .hbt-nav a:hover { color:var(--hbt-primary); }

/* Hamburger & Mobile Nav */
.hbt-hamburger {
    display:none; flex-direction:column; gap:6px; cursor:pointer;
    padding:5px; z-index:1001; margin-left:auto;
}
.hbt-hamburger span { width:26px; height:2px; background:#fff; transition:all .3s ease; }
.hbt-header.scrolled .hbt-hamburger span { background:var(--hbt-dark); }
.hbt-hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(6px,6px); }
.hbt-hamburger.active span:nth-child(2) { opacity:0; }
.hbt-hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(6px,-6px); }

.hbt-mobile-nav {
    position:fixed; top:0; right:-100%; width:100%; max-width:380px;
    height:100vh; background:var(--hbt-bg-dark); z-index:1000;
    transition:right .4s cubic-bezier(.25,.46,.45,.94); padding:90px 36px 40px; overflow-y:auto;
}
.hbt-mobile-nav.active { right:0; }
.hbt-mobile-nav ul { list-style:none; margin:0; padding:0; }
.hbt-mobile-nav li { border-bottom:1px solid rgba(255,255,255,0.06); }
.hbt-mobile-nav a {
    display:block; padding:16px 0; font-family:var(--hbt-font-menu);
    font-size:0.875rem; font-weight:500; letter-spacing:1.5px;
    text-transform:uppercase; color:rgba(255,255,255,0.8);
    text-decoration:none; transition:all .25s ease;
}
.hbt-mobile-nav a:hover { color:var(--hbt-secondary); padding-left:8px; text-decoration:none; }
.hbt-mobile-nav .hbt-sub-menu,
.hbt-mobile-nav ul ul { list-style:none; margin:0; padding:0 0 0 20px; }
.hbt-mobile-nav .hbt-sub-menu li a,
.hbt-mobile-nav ul ul li a { font-size:0.8125rem; color:rgba(255,255,255,0.55); padding:12px 0; letter-spacing:1.2px; }
.hbt-mobile-nav .hbt-sub-menu li a:hover,
.hbt-mobile-nav ul ul li a:hover { color:var(--hbt-secondary); }
.hbt-mobile-nav .hbt-dropdown-chevron { display:none; }

.hbt-mobile-overlay {
    position:fixed; top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.5); z-index:999; opacity:0; visibility:hidden; transition:all .3s ease;
}
.hbt-mobile-overlay.active { opacity:1; visibility:visible; }

@media (max-width:1024px) { .hbt-nav{display:none;} .hbt-hamburger{display:flex;} }
@media (max-width:768px) {
    .hbt-header { top:30px; }
    .hbt-header-inner { padding:0 16px; }
    .hbt-logo img, .hbt-logo .custom-logo { max-height:36px; }
}

/* ============================================
   BOOKING BAR
   ============================================ */
.hbt-booking-bar {
    background:rgba(255,255,255,0.98); padding:0; display:flex; align-items:stretch;
    justify-content:center; flex-wrap:nowrap;
    box-shadow:0 12px 40px rgba(0,0,0,0.14), 0 2px 6px rgba(0,0,0,0.04);
    position:relative; z-index:50; margin-top:-35px;
    border-top:3px solid var(--hbt-primary);
    max-width:var(--hbt-container-width); margin-left:auto; margin-right:auto;
    border-radius:0 0 var(--hbt-btn-radius) var(--hbt-btn-radius);
}
.hbt-booking-bar-left {
    display:flex; flex-direction:column; justify-content:center;
    padding:12px 25px; border-right:1px solid var(--hbt-border); min-width:200px;
}
.hbt-booking-bar-left span {
    font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600;
    letter-spacing:0.3px; color:var(--hbt-dark); display:block; line-height:1.6;
}
.hbt-booking-bar-left a {
    font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:500;
    color:var(--hbt-text-light); text-decoration:underline; text-underline-offset:2px;
}
.hbt-booking-bar-left a:hover { color:var(--hbt-primary); }

.hbt-booking-field {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:10px 20px; border-right:1px solid var(--hbt-border);
    cursor:pointer; position:relative; min-width:100px; transition:var(--hbt-transition-fast);
}
.hbt-booking-field:hover { background:var(--hbt-light); }
.hbt-booking-field label {
    font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-dark); margin-bottom:2px;
}
.hbt-booking-field-date { display:flex; align-items:baseline; gap:3px; }
.hbt-booking-field-day { font-family:var(--hbt-font-body); font-size:2.2rem; font-weight:700; color:var(--hbt-dark); line-height:1; }
.hbt-booking-field-month { font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:500; color:var(--hbt-text-light); text-transform:capitalize; }
.hbt-booking-field input[type="date"] { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }

.hbt-booking-field-select {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:10px 18px; border-right:1px solid var(--hbt-border); position:relative; min-width:80px;
}
.hbt-booking-field-select label {
    font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-dark); margin-bottom:2px;
}
.hbt-booking-field-select .hbt-select-display { display:flex; align-items:baseline; gap:4px; cursor:pointer; }
.hbt-booking-field-select .hbt-select-value { font-family:var(--hbt-font-body); font-size:2.2rem; font-weight:700; color:var(--hbt-dark); line-height:1; }
.hbt-booking-field-select .hbt-select-arrow { font-size:0.6rem; color:var(--hbt-text-light); }
.hbt-booking-field-select select { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }

.hbt-booking-promo {
    font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:500;
    letter-spacing:0.3px; text-decoration:underline; text-underline-offset:3px;
    color:var(--hbt-text-light); cursor:pointer; padding:10px 20px;
    border-right:1px solid var(--hbt-border); display:flex; align-items:center;
    background:none; border-top:none; border-bottom:none; border-left:none;
    transition:var(--hbt-transition-fast);
}
.hbt-booking-promo:hover { color:var(--hbt-primary); }

.hbt-booking-submit.hbt-btn {
    border-radius:0 0 var(--hbt-btn-radius) 0; padding:20px 35px;
    font-size:0.875rem; font-weight:700; letter-spacing:1.5px;
    min-height:100%; display:flex; align-items:center; border:none;
}
.hbt-booking-submit.hbt-btn:hover { transform:none; background-color:var(--hbt-primary-dark); }

/* Datepicker */
.hbt-datepicker {
    display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
    z-index:200; background:#4A4A4A; border-radius:8px; padding:24px;
    min-width:340px; box-shadow:0 20px 60px rgba(0,0,0,0.35); margin-top:8px;
}
.hbt-datepicker.active { display:block; }
.hbt-cal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.hbt-cal-nav { background:none; border:none; color:rgba(255,255,255,0.6); font-size:1.4rem; cursor:pointer; padding:4px 10px; transition:color .2s; }
.hbt-cal-nav:hover { color:#fff; }
.hbt-cal-title { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#fff; }
.hbt-cal-weekdays { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; margin-bottom:8px; }
.hbt-cal-weekdays span { font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:600; letter-spacing:1px; color:rgba(255,255,255,0.5); padding:6px 0; }
.hbt-cal-days { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.hbt-cal-day { text-align:center; padding:8px 4px; cursor:pointer; border-radius:4px; transition:background .2s; }
.hbt-cal-day:hover { background:rgba(255,255,255,0.1); }
.hbt-cal-day-number { display:block; font-size:0.9375rem; font-weight:600; color:#fff; }
.hbt-cal-day-price { display:block; font-size:0.625rem; color:rgba(255,255,255,0.5); margin-top:2px; }
.hbt-cal-day.hbt-cal-empty { cursor:default; }
.hbt-cal-day.hbt-cal-past { opacity:0.25; cursor:default; }
.hbt-cal-day.hbt-cal-past:hover { background:none; }
.hbt-cal-day.hbt-cal-today .hbt-cal-day-number { color:var(--hbt-secondary); }
.hbt-cal-day.hbt-cal-selected { background:var(--hbt-primary); border-radius:50%; }
.hbt-cal-day.hbt-cal-selected .hbt-cal-day-number { color:#fff; }
.hbt-cal-day.hbt-cal-selected .hbt-cal-day-price { color:rgba(255,255,255,0.8); }
.hbt-cal-day.hbt-cal-in-range { background:rgba(184,150,90,0.3); }
.hbt-cal-footer { margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.1); text-align:center; }
.hbt-cal-footer span { font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:500; letter-spacing:1px; color:rgba(255,255,255,0.5); }
.hbt-cal-footer span::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--hbt-primary); margin-right:6px; vertical-align:middle; }

@media (max-width:768px) {
    .hbt-datepicker { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); min-width:300px; max-width:95vw; }
    .hbt-booking-bar {
        flex-direction:column; align-items:stretch; gap:0;
        margin:-20px 12px 0; padding:0; border-top:3px solid var(--hbt-primary); max-width:none;
        border-radius:0 0 var(--hbt-btn-radius) var(--hbt-btn-radius);
    }
    .hbt-booking-bar-left { padding:15px 20px; border-right:none; border-bottom:1px solid var(--hbt-border); text-align:center; }
    .hbt-booking-field, .hbt-booking-field-select {
        flex-direction:row; justify-content:space-between; align-items:center;
        padding:12px 20px; border-right:none; border-bottom:1px solid var(--hbt-border); min-width:auto;
    }
    .hbt-booking-field-day, .hbt-select-value { font-size:1.6rem !important; }
    .hbt-booking-promo { padding:12px 20px; border:none; border-bottom:1px solid var(--hbt-border); justify-content:center; }
    .hbt-booking-submit.hbt-btn { padding:18px 20px; justify-content:center; border-radius:0 0 var(--hbt-btn-radius) var(--hbt-btn-radius); }
}

/* ============================================
   HERO SECTION
   ============================================ */
.hbt-hero { position:relative; height:100vh; min-height:600px; max-height:900px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hbt-hero-slide { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transition:opacity 1.2s ease; }
.hbt-hero-slide.active { opacity:1; }
.hbt-hero-slide img, .hbt-hero-bg { width:100%; height:100%; object-fit:cover; }
.hbt-hero-overlay {
    position:absolute; top:0; left:0; width:100%; height:100%;
    background:linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.1) 40%, rgba(0,0,0,0.45) 100%);
    z-index:1;
}
.hbt-hero-content { position:relative; z-index:2; text-align:center; color:var(--hbt-white); max-width:780px; padding:0 24px; }
.hbt-hero-subtitle { font-family:var(--hbt-font-accent); font-style:italic; font-size:clamp(1rem,2.5vw,1.3rem); margin-bottom:16px; opacity:0.9; }
.hbt-hero-title { font-family:var(--hbt-font-heading); font-size:clamp(2.2rem,5.5vw,4rem); color:var(--hbt-white); line-height:1.1; margin-bottom:32px; text-shadow:0 2px 20px rgba(0,0,0,0.3); }
.hbt-hero-nav { position:absolute; bottom:80px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.hbt-hero-nav-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.5); cursor:pointer; transition:var(--hbt-transition-fast); }
.hbt-hero-nav-dot.active { background:var(--hbt-white); transform:scale(1.3); }
.hbt-hero-controls { position:absolute; bottom:60px; right:40px; z-index:3; display:flex; align-items:center; gap:12px; color:var(--hbt-white); font-family:var(--hbt-font-menu); font-size:0.875rem; font-weight:500; letter-spacing:1px; }
.hbt-hero-counter { opacity:0.8; }
.hbt-hero-control-btn { background:none; border:none; color:var(--hbt-white); font-size:1.2rem; cursor:pointer; opacity:0.7; transition:var(--hbt-transition-fast); padding:4px; }
.hbt-hero-control-btn:hover { opacity:1; }

/* WhatsApp + Rewards */
.hbt-whatsapp-btn {
    position:fixed; bottom:25px; right:25px; z-index:900; width:56px; height:56px;
    border-radius:50%; background:#25D366; color:var(--hbt-white);
    display:flex; align-items:center; justify-content:center; font-size:1.6rem;
    box-shadow:0 4px 15px rgba(37,211,102,0.4); transition:var(--hbt-transition); text-decoration:none;
}
.hbt-whatsapp-btn:hover { transform:scale(1.1); box-shadow:0 6px 25px rgba(37,211,102,0.5); color:var(--hbt-white); text-decoration:none; }
.hbt-rewards-tab {
    position:fixed; top:50%; right:0; transform:translateY(-50%); z-index:800;
    writing-mode:vertical-rl; text-orientation:mixed; background:var(--hbt-primary);
    color:var(--hbt-white); padding:18px 10px; font-family:var(--hbt-font-menu);
    font-size:0.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
    cursor:pointer; border-radius:4px 0 0 4px; transition:var(--hbt-transition-fast); text-decoration:none;
}

/* ============================================
   ABOUT SECTION
   ============================================ */
.hbt-about-section { display:grid; grid-template-columns:1fr 1fr; min-height:500px; margin-top:var(--hbt-space-xl); }
.hbt-about-image { overflow:hidden; }
.hbt-about-image img { width:100%; height:100%; object-fit:cover; }
.hbt-about-placeholder { width:100%; height:100%; background:linear-gradient(145deg, var(--hbt-bg-dark) 0%, var(--hbt-bg-dark-soft) 100%); }
.hbt-about-text { display:flex; flex-direction:column; justify-content:center; padding:var(--hbt-space-2xl) var(--hbt-space-xl); }
.hbt-about-text h2 { font-family:var(--hbt-font-heading); font-weight:400; font-size:clamp(1.6rem,3vw,2.3rem); color:var(--hbt-dark); line-height:1.15; margin:0; }
.hbt-about-bar { width:50px; height:2px; background:var(--hbt-secondary); margin:20px 0 28px; }
.hbt-about-text p { font-family:var(--hbt-font-body); font-size:var(--hbt-text-base); line-height:var(--hbt-line-height); color:var(--hbt-text); margin:0 0 14px; max-width:var(--hbt-max-line-length); }
.hbt-about-text p strong { color:var(--hbt-dark); font-weight:600; }
.hbt-about-text p:last-of-type { margin-bottom:0; }
.hbt-about-buttons { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }

@media (max-width:1024px) {
    .hbt-about-section { grid-template-columns:1fr; min-height:auto; margin-top:var(--hbt-space-lg); }
    .hbt-about-image { min-height:320px; }
    .hbt-about-image img { min-height:320px; }
    .hbt-about-text { padding:var(--hbt-space-lg) 30px 48px; }
    .hbt-about-text h2 { font-size:1.6rem; }
}
@media (max-width:768px) {
    .hbt-about-section { margin-top:30px; }
    .hbt-about-image { min-height:260px; }
    .hbt-about-image img { min-height:260px; }
    .hbt-about-text { padding:32px 20px 40px; }
    .hbt-about-text h2 { font-size:1.4rem; }
    .hbt-about-buttons { flex-direction:column; }
    .hbt-about-buttons .hbt-btn { text-align:center; }
}

/* Legacy intro */
.hbt-intro { padding:var(--hbt-section-padding); }
.hbt-intro-content { max-width:760px; margin:0 auto; text-align:center; }
.hbt-intro-content h2 { font-family:var(--hbt-font-accent); font-style:italic; font-weight:400; font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:10px; }
.hbt-intro-content .hbt-intro-subtitle { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:24px; }
.hbt-intro-content p { font-size:var(--hbt-text-base); line-height:var(--hbt-line-height); color:var(--hbt-text-light); max-width:60ch; margin-left:auto; margin-right:auto; }

/* ============================================
   ROOM CARDS
   ============================================ */
.hbt-rooms-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hbt-room-card { background:var(--hbt-white); overflow:hidden; transition:var(--hbt-transition); position:relative; border:1px solid var(--hbt-border); border-radius:var(--hbt-btn-radius); }
.hbt-room-card:hover { box-shadow:var(--hbt-shadow-hover); }
.hbt-room-card-image { position:relative; overflow:hidden; aspect-ratio:4/3; }
.hbt-room-card-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.25,.46,.45,.94); }
.hbt-room-card:hover .hbt-room-card-image img { transform:scale(1.05); }

.hbt-room-arrow {
    position:absolute; top:50%; transform:translateY(-50%); z-index:3;
    width:36px; height:36px; background:rgba(0,0,0,0.45); color:#fff; border:none;
    font-size:1.3rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
    opacity:0; transition:opacity .3s, background .3s; border-radius:4px;
}
.hbt-room-card:hover .hbt-room-arrow { opacity:1; }
.hbt-room-arrow:hover { background:rgba(0,0,0,0.7); }
.hbt-room-arrow-prev { left:8px; }
.hbt-room-arrow-next { right:8px; }

.hbt-room-card-body { padding:28px 24px; text-align:center; }
.hbt-room-card-body h3 { font-family:var(--hbt-font-menu); font-size:0.875rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-dark); margin-bottom:12px; }
.hbt-room-card-body h3 a { color:var(--hbt-dark); text-decoration:none; }
.hbt-room-card-body h3 a:hover { color:var(--hbt-primary); text-decoration:none; }
.hbt-room-card-body p { font-size:var(--hbt-text-sm); color:var(--hbt-text-light); margin-bottom:16px; line-height:var(--hbt-line-height); max-width:45ch; margin-left:auto; margin-right:auto; }
.hbt-room-card-links { margin-bottom:20px; }
.hbt-room-card-links a { font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--hbt-primary); text-decoration:underline; text-underline-offset:3px; transition:color .2s; }
.hbt-room-card-links a:hover { color:var(--hbt-primary-dark); }
.hbt-room-book { display:block; width:100%; max-width:200px; margin:0 auto; }

@media (max-width:1024px) { .hbt-rooms-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .hbt-rooms-grid { grid-template-columns:1fr; } .hbt-room-arrow { opacity:1; } }

/* ============================================
   CATEGORIES (Offers, Dining, Weddings)
   ============================================ */
.hbt-categories { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.hbt-category-card { position:relative; height:450px; overflow:hidden; cursor:pointer; }
.hbt-category-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.8s ease; }
.hbt-category-card:hover img { transform:scale(1.1); }
.hbt-category-card::after { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.4); transition:var(--hbt-transition); }
.hbt-category-card:hover::after { background:rgba(0,0,0,0.55); }
.hbt-category-card-content { position:absolute; bottom:0; left:0; width:100%; padding:40px; z-index:2; text-align:center; color:var(--hbt-white); }
.hbt-category-card-content h3 { font-family:var(--hbt-font-accent); font-style:italic; font-size:1.8rem; color:var(--hbt-white); margin-bottom:20px; }

/* ============================================
   EVENTS
   ============================================ */
.hbt-events-content { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.hbt-events-featured { position:relative; }
.hbt-events-featured__image { overflow:hidden; margin-bottom:0; }
.hbt-events-featured__img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform 0.8s cubic-bezier(.25,.46,.45,.94); }
.hbt-events-featured:hover .hbt-events-featured__img { transform:scale(1.04); }
.hbt-events-featured__body { background:var(--hbt-primary-dark); padding:32px 28px; }
.hbt-events-featured__body .hbt-event-date { background:rgba(255,255,255,0.1); color:var(--hbt-secondary-light); }
.hbt-events-featured__title { font-family:var(--hbt-font-heading); font-size:clamp(1.1rem,2vw,1.35rem); font-weight:700; letter-spacing:1px; text-transform:uppercase; line-height:var(--hbt-line-height-tight); margin-bottom:12px; }
.hbt-events-featured__title a { color:#ffffff; text-decoration:none; transition:color 0.3s; }
.hbt-events-featured__title a:hover { color:var(--hbt-secondary); text-decoration:none; }
.hbt-events-featured__excerpt { font-size:var(--hbt-text-sm); line-height:var(--hbt-line-height); color:rgba(255,255,255,0.7); margin-bottom:16px; }
.hbt-events-featured__link { display:inline-flex; align-items:center; gap:7px; font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-secondary); text-decoration:none; transition:color 0.3s, gap 0.3s; }
.hbt-events-featured__link:hover { color:#ffffff; gap:11px; text-decoration:none; }
.hbt-events-list__header { margin-bottom:10px; }
.hbt-events-list__header h3 { font-size:clamp(1.4rem,3vw,2rem); margin-bottom:6px; }
.hbt-events-list__subtitle { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--hbt-text-light); }
.hbt-event-item { padding:25px 0; border-bottom:1px solid var(--hbt-border); }
.hbt-event-date { display:inline-block; background:var(--hbt-light); padding:4px 12px; font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:10px; border-radius:4px; }
.hbt-event-item h3 { font-family:var(--hbt-font-menu); font-size:0.9375rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.hbt-event-item p { font-size:var(--hbt-text-sm); color:var(--hbt-text-light); margin-bottom:10px; }

/* ============================================
   SPA / SPLIT SECTION
   ============================================ */
.hbt-split-section { display:grid; grid-template-columns:1fr 1fr; min-height:500px; }
.hbt-split-image { overflow:hidden; }
.hbt-split-image img { width:100%; height:100%; object-fit:cover; }
.hbt-split-content { display:flex; flex-direction:column; justify-content:center; padding:var(--hbt-space-2xl) var(--hbt-space-xl); }
.hbt-split-content h2 { font-family:var(--hbt-font-accent); font-style:italic; }
.hbt-split-content h3 { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:15px; }
.hbt-split-content p { max-width:var(--hbt-max-line-length); }

/* ============================================
   TESTIMONIALS
   ============================================ */
.hbt-testimonials { background:var(--hbt-light); }
.hbt-testimonial-slider { max-width:760px; margin:0 auto; text-align:center; }
.hbt-testimonial-item { padding:var(--hbt-space-lg) 20px; }
.hbt-testimonial-text { font-family:var(--hbt-font-accent); font-style:italic; font-size:1.3rem; line-height:1.8; color:var(--hbt-text); margin-bottom:30px; }
.hbt-testimonial-author { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-text-light); }
.hbt-testimonial-stars { color:var(--hbt-secondary); font-size:1.2rem; margin-bottom:20px; }

/* ============================================
   GALLERY
   ============================================ */
.hbt-gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.hbt-gallery-item { position:relative; overflow:hidden; aspect-ratio:1; cursor:pointer; }
.hbt-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.hbt-gallery-item:hover img { transform:scale(1.1); }
.hbt-gallery-item::after { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0); transition:var(--hbt-transition); }
.hbt-gallery-item:hover::after { background:rgba(0,0,0,0.2); }
.hbt-gallery-large { grid-column:span 2; grid-row:span 2; }
.hbt-gallery-tabs { display:flex; justify-content:center; gap:30px; margin-bottom:var(--hbt-space-lg); }
.hbt-gallery-tab { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-text-light); cursor:pointer; padding:8px 0; border:none; background:none; transition:var(--hbt-transition-fast); position:relative; }
.hbt-gallery-tab::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--hbt-primary); transition:var(--hbt-transition); }
.hbt-gallery-tab.active, .hbt-gallery-tab:hover { color:var(--hbt-primary); }
.hbt-gallery-tab.active::after { width:100%; }

/* ============================================
   VENUE + RESTAURANT CARDS
   ============================================ */
.hbt-venues-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--hbt-space-lg); }
.hbt-venue-card { text-align:center; transition:var(--hbt-transition); }
.hbt-venue-card:hover { transform:translateY(-5px); }
.hbt-venue-card-image { overflow:hidden; margin-bottom:25px; aspect-ratio:16/10; border-radius:var(--hbt-btn-radius); }
.hbt-venue-card-image img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.hbt-venue-card:hover .hbt-venue-card-image img { transform:scale(1.05); }
.hbt-venue-card h3 { font-family:var(--hbt-font-menu); font-size:0.9375rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:15px; }
.hbt-venue-card p { font-size:var(--hbt-text-sm); color:var(--hbt-text-light); max-width:400px; margin:0 auto 15px; line-height:var(--hbt-line-height); }

.hbt-restaurants-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.hbt-restaurant-card { text-align:center; transition:var(--hbt-transition); }
.hbt-restaurant-card:hover { transform:translateY(-5px); }
.hbt-restaurant-card-image { overflow:hidden; margin-bottom:25px; aspect-ratio:4/3; border-radius:var(--hbt-btn-radius); }
.hbt-restaurant-card-image img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.hbt-restaurant-card:hover .hbt-restaurant-card-image img { transform:scale(1.05); }
.hbt-restaurant-card h3 { font-family:var(--hbt-font-menu); font-size:0.875rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:12px; }
.hbt-restaurant-card p { font-size:var(--hbt-text-sm); color:var(--hbt-text-light); line-height:var(--hbt-line-height); margin-bottom:15px; max-width:40ch; margin-left:auto; margin-right:auto; }

/* ============================================
   NEWSLETTER
   ============================================ */
.hbt-newsletter { background:var(--hbt-bg-dark); padding:var(--hbt-space-xl) 0; text-align:center; }
.hbt-newsletter h3 { font-family:var(--hbt-font-accent); font-style:italic; font-size:1.6rem; color:var(--hbt-white); margin-bottom:16px; }
.hbt-newsletter p { color:rgba(255,255,255,0.7); margin-bottom:28px; font-size:var(--hbt-text-base); }
.hbt-newsletter-form { display:flex; justify-content:center; gap:10px; max-width:500px; margin:0 auto; }
.hbt-newsletter-form input[type="email"] { flex:1; padding:14px 20px; border:1px solid rgba(255,255,255,0.2); background:transparent; color:var(--hbt-white); font-family:var(--hbt-font-body); font-size:1rem; outline:none; border-radius:var(--hbt-btn-radius); }
.hbt-newsletter-form input[type="email"]::placeholder { color:rgba(255,255,255,0.5); }
.hbt-newsletter-form input[type="email"]:focus { border-color:var(--hbt-secondary); }

/* ============================================
   FOOTER
   ============================================ */
.hbt-footer { background:var(--hbt-bg-dark); color:rgba(255,255,255,0.7); }
.hbt-footer-main { padding:var(--hbt-space-xl) 0; }
.hbt-footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:50px; }
.hbt-footer-logo { display:inline-block; margin-bottom:16px; }
.hbt-footer-tagline { font-family:var(--hbt-font-body); font-size:0.8125rem; letter-spacing:1px; color:rgba(255,255,255,0.5); margin-bottom:20px; }
.hbt-footer-col h4 { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#fff; margin-bottom:20px; }
.hbt-footer-links { list-style:none; padding:0; margin:0; }
.hbt-footer-links li { margin-bottom:10px; }
.hbt-footer-links a { font-size:var(--hbt-text-sm); color:rgba(255,255,255,0.6); text-decoration:none; transition:var(--hbt-transition-fast); }
.hbt-footer-links a:hover { color:var(--hbt-secondary); padding-left:4px; text-decoration:none; }
.hbt-footer-info { font-size:var(--hbt-text-sm); color:rgba(255,255,255,0.6); line-height:1.8; margin-bottom:8px; }
.hbt-footer-info i { width:18px; color:var(--hbt-secondary); margin-right:6px; }
.hbt-footer-info a { color:rgba(255,255,255,0.6); text-decoration:none; }
.hbt-footer-info a:hover { color:#fff; text-decoration:none; }
.hbt-footer-social { display:flex; gap:10px; margin-top:16px; }
.hbt-footer-social a { width:36px; height:36px; border:1px solid rgba(255,255,255,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.875rem; color:rgba(255,255,255,0.6); transition:var(--hbt-transition-fast); text-decoration:none; }
.hbt-footer-social a:hover { background:var(--hbt-primary); border-color:var(--hbt-primary); color:#fff; text-decoration:none; }
.hbt-footer-bottom { padding:20px 0; border-top:1px solid rgba(255,255,255,0.08); text-align:center; }
.hbt-footer-bottom p { font-size:0.8125rem; color:rgba(255,255,255,0.35); margin:0; }
.hbt-footer-bottom a { color:rgba(255,255,255,0.5); text-decoration:none; }
.hbt-footer-bottom a:hover { color:var(--hbt-secondary); text-decoration:none; }

@media (max-width:768px) {
    .hbt-footer-grid { grid-template-columns:1fr; gap:30px; text-align:center; }
    .hbt-footer-social { justify-content:center; }
    .hbt-footer-logo { margin:0 auto 16px; }
}

/* ============================================
   AMENITIES + WEDDING + SIDEBAR + BLOG
   ============================================ */
.hbt-amenities-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:900px; margin:0 auto; border:1px solid var(--hbt-border); padding:var(--hbt-space-lg); border-radius:var(--hbt-btn-radius); }
.hbt-amenities-col h4 { font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:15px; color:var(--hbt-dark); }
.hbt-amenities-col ul { list-style:none; }
.hbt-amenities-col li { font-size:var(--hbt-text-sm); color:var(--hbt-text-light); padding:5px 0 5px 15px; position:relative; }
.hbt-amenities-col li::before { content:'•'; position:absolute; left:0; color:var(--hbt-secondary); }

.hbt-wedding-package { display:grid; grid-template-columns:1fr 1fr; gap:var(--hbt-space-xl); align-items:center; padding:var(--hbt-space-xl) 0; }
.hbt-wedding-package-image { overflow:hidden; }
.hbt-wedding-package-image img { width:100%; height:auto; object-fit:cover; border-radius:var(--hbt-btn-radius); }
.hbt-wedding-package-content h3 { font-family:var(--hbt-font-accent); font-style:italic; font-size:1.8rem; margin-bottom:20px; }

.hbt-sidebar { padding-left:var(--hbt-space-lg); }
.hbt-widget { margin-bottom:var(--hbt-space-lg); padding-bottom:var(--hbt-space-lg); border-bottom:1px solid var(--hbt-border); }
.hbt-widget:last-child { border-bottom:none; }
.hbt-widget-title { font-family:var(--hbt-font-menu); font-size:0.875rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid var(--hbt-secondary); }

.hbt-blog-grid { display:grid; grid-template-columns:2fr 1fr; gap:50px; }
.hbt-post-card { margin-bottom:50px; padding-bottom:50px; border-bottom:1px solid var(--hbt-border); }
.hbt-post-card-image { overflow:hidden; margin-bottom:25px; aspect-ratio:16/9; border-radius:var(--hbt-btn-radius); }
.hbt-post-card-image img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.hbt-post-card:hover .hbt-post-card-image img { transform:scale(1.03); }
.hbt-post-meta { font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:15px; }
.hbt-post-card h2 { font-size:1.5rem; margin-bottom:15px; }
.hbt-post-card h2 a { color:var(--hbt-dark); }
.hbt-post-card h2 a:hover { color:var(--hbt-primary); text-decoration:none; }

/* Single Post + Page */
.hbt-single-header { padding:180px 0 80px; text-align:center; background:var(--hbt-light); }
.hbt-single-content { max-width:720px; margin:0 auto; padding:var(--hbt-space-xl) 20px; }
.hbt-single-content p { font-size:var(--hbt-text-base); line-height:1.8; }
.hbt-page-hero { position:relative; height:60vh; min-height:400px; max-height:600px; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; padding-bottom:80px; }
.hbt-page-hero img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.hbt-page-hero .hbt-hero-overlay { z-index:1; }
.hbt-page-hero-content { position:relative; z-index:2; text-align:center; color:var(--hbt-white); }
.hbt-page-hero-content h1 { font-family:var(--hbt-font-accent); font-style:italic; color:var(--hbt-white); font-size:clamp(1.8rem,5vw,3.2rem); margin-bottom:15px; }
.hbt-page-hero-content p { font-size:var(--hbt-text-lg); max-width:600px; margin:0 auto; opacity:0.9; }

/* ============================================
   CONTACT
   ============================================ */
.hbt-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--hbt-space-xl); overflow:hidden; max-width:100%; }
.hbt-contact-grid > div:first-child { overflow:hidden; max-width:100%; min-width:0; }
.hbt-contact-form .hbt-form-group { margin-bottom:25px; }
.hbt-contact-form label { display:block; font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:8px; }
.hbt-contact-form input, .hbt-contact-form textarea, .hbt-contact-form select { width:100%; padding:14px 18px; border:1px solid var(--hbt-border); background:var(--hbt-white); font-family:var(--hbt-font-body); font-size:1rem; color:var(--hbt-text); outline:none; transition:var(--hbt-transition-fast); border-radius:var(--hbt-btn-radius); }
.hbt-contact-form input:focus, .hbt-contact-form textarea:focus { border-color:var(--hbt-primary); box-shadow:0 0 0 3px rgba(184,150,90,0.1); }
.hbt-contact-form textarea { min-height:150px; resize:vertical; }
.hbt-contact-info { margin-top:30px; }
.hbt-contact-info-item { display:flex; gap:16px; margin-bottom:24px; align-items:flex-start; }
.hbt-contact-info-icon { width:40px; height:40px; border-radius:50%; background:var(--hbt-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hbt-contact-info-icon i { color:var(--hbt-primary); font-size:0.875rem; }
.hbt-contact-info-item h4 { font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-dark); margin-bottom:4px; }
.hbt-contact-info-item p { color:var(--hbt-text-light); font-size:var(--hbt-text-sm); margin:0; }
.hbt-contact-info-item a { color:var(--hbt-primary); }
.hbt-contact-extra { margin-top:30px; }
.hbt-contact-form-title { font-family:var(--hbt-font-heading); font-size:1.3rem; font-weight:400; letter-spacing:1px; margin-bottom:25px; color:var(--hbt-dark); }
.hbt-contact-map { margin-top:30px; overflow:hidden; border:1px solid var(--hbt-border); width:100%; max-width:100%; box-sizing:border-box; border-radius:var(--hbt-btn-radius); }
.hbt-contact-map__inner { position:relative; width:100%; height:0; padding-bottom:65%; overflow:hidden; max-width:100%; }
.hbt-contact-map__inner iframe { position:absolute; top:0; left:0; width:100% !important; height:100% !important; border:0 !important; display:block; max-width:100%; }

@media (max-width:768px) {
    .hbt-contact-map__inner { padding-bottom:75%; }
    .hbt-contact-grid { grid-template-columns:1fr; gap:var(--hbt-space-lg); }
}

/* ============================================
   ANIMATIONS + PAGINATION + ACCESSIBILITY
   ============================================ */
.hbt-fade-in { opacity:0; transform:translateY(30px); transition:opacity 0.8s ease, transform 0.8s ease; }
.hbt-fade-in.visible { opacity:1; transform:translateY(0); }
.hbt-fade-in-left { opacity:0; transform:translateX(-30px); transition:opacity 0.8s ease, transform 0.8s ease; }
.hbt-fade-in-left.visible { opacity:1; transform:translateX(0); }
.hbt-fade-in-right { opacity:0; transform:translateX(30px); transition:opacity 0.8s ease, transform 0.8s ease; }
.hbt-fade-in-right.visible { opacity:1; transform:translateX(0); }

.hbt-pagination { display:flex; justify-content:center; gap:8px; padding:var(--hbt-space-lg) 0; }
.hbt-pagination a, .hbt-pagination span { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--hbt-border); font-family:var(--hbt-font-menu); font-size:0.875rem; font-weight:600; color:var(--hbt-text); transition:var(--hbt-transition-fast); border-radius:var(--hbt-btn-radius); text-decoration:none; }
.hbt-pagination a:hover, .hbt-pagination .current { background:var(--hbt-primary); border-color:var(--hbt-primary); color:var(--hbt-white); text-decoration:none; }

.screen-reader-text { clip:rect(1px,1px,1px,1px); position:absolute !important; height:1px; width:1px; overflow:hidden; word-wrap:normal !important; }
.screen-reader-text:focus { background-color:var(--hbt-light); clip:auto !important; display:block; font-size:1em; height:auto; left:5px; line-height:normal; padding:15px 23px 14px; text-decoration:none; top:5px; width:auto; z-index:100000; }

/* ============================================
   GLOBAL RESPONSIVE
   ============================================ */
@media (max-width:1024px) {
    .hbt-split-section { grid-template-columns:1fr; }
    .hbt-split-content { padding:var(--hbt-space-xl) 30px; }
    .hbt-events-content { grid-template-columns:1fr; gap:30px; }
    .hbt-wedding-package { grid-template-columns:1fr; gap:30px; }
    .hbt-blog-grid { grid-template-columns:1fr; }
    .hbt-sidebar { padding-left:0; }
    .hbt-contact-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
    :root { --hbt-section-padding:60px 0; }
    body { font-size:1rem; }
    .hbt-hero { min-height:500px; }
    .hbt-rooms-grid { grid-template-columns:1fr; }
    .hbt-categories { grid-template-columns:1fr; }
    .hbt-category-card { height:300px; }
    .hbt-restaurants-grid { grid-template-columns:1fr; }
    .hbt-venues-grid { grid-template-columns:1fr; }
    .hbt-gallery-grid { grid-template-columns:repeat(2,1fr); }
    .hbt-gallery-large { grid-column:span 2; grid-row:span 1; }
    .hbt-amenities-grid { grid-template-columns:1fr; }
    .hbt-gallery-tabs { flex-wrap:wrap; gap:15px; }
    .hbt-btn { padding:14px 24px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; }
}
@media (max-width:480px) {
    .hbt-hero { min-height:450px; }
    .hbt-hero-title { font-size:1.8rem; }
    .hbt-section-header h2 { font-size:1.6rem; }
    .hbt-btn { padding:12px 24px; }
    .hbt-newsletter-form { flex-direction:column; }
}

/* ============================================
   WORDPRESS CORE
   ============================================ */
.alignnone { margin:5px 20px 20px 0; }
.aligncenter { display:block; margin:5px auto; text-align:center; }
.alignright { float:right; margin:5px 0 20px 20px; }
.alignleft { float:left; margin:5px 20px 20px 0; }
a img.alignright { float:right; margin:5px 0 20px 20px; }
a img.alignnone { margin:5px 20px 20px 0; }
a img.alignleft { float:left; margin:5px 20px 20px 0; }
a img.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.wp-caption { background:var(--hbt-light); max-width:100%; padding:5px 3px 10px; text-align:center; border-radius:var(--hbt-btn-radius); }
.wp-caption img { border:0 none; height:auto; margin:0; max-width:100%; padding:0; width:auto; }
.wp-caption p.wp-caption-text { font-size:var(--hbt-text-sm); line-height:1.4; margin:0; padding:5px 4px; }
.gallery-caption { display:block; }
.wp-block-image img { max-width:100%; height:auto; }
.alignfull { margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%); max-width:100vw; width:100vw; }
.alignwide { max-width:1200px; margin-left:auto; margin-right:auto; }

/* ============================================
   ROOMS EDITORIAL ALTERNATING
   ============================================ */
.hbt-rooms-editorial-section { padding-top:var(--hbt-space-2xl); padding-bottom:var(--hbt-space-lg); background:var(--hbt-light); }
.hbt-rooms-editorial-section .hbt-section-header { margin-bottom:70px; }
.hbt-room-editorial { display:grid; grid-template-columns:55% 45%; gap:0; margin-bottom:0; min-height:520px; position:relative; }
.hbt-room-editorial + .hbt-room-editorial { margin-top:var(--hbt-space-xl); }
.hbt-room-editorial__image { order:1; position:relative; overflow:hidden; z-index:1; }
.hbt-room-editorial__content { order:2; display:flex; align-items:center; z-index:2; position:relative; }
.hbt-room-editorial--reversed { grid-template-columns:45% 55%; }
.hbt-room-editorial--reversed .hbt-room-editorial__image { order:2; }
.hbt-room-editorial--reversed .hbt-room-editorial__content { order:1; }
.hbt-room-editorial__image-link { display:block; width:100%; height:100%; }
.hbt-room-editorial__img { width:100%; height:100%; object-fit:cover; display:block; min-height:520px; transition:transform 1.2s cubic-bezier(0.25,0.46,0.45,0.94); }
.hbt-room-editorial:hover .hbt-room-editorial__img { transform:scale(1.04); }
.hbt-room-editorial__image-placeholder { width:100%; height:100%; min-height:520px; background:#ccc; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.4); font-family:var(--hbt-font-body); font-size:var(--hbt-text-sm); text-transform:uppercase; letter-spacing:3px; }
.hbt-room-editorial__content-inner { background:#555; padding:48px 44px; margin-left:-60px; width:calc(100% + 60px); max-width:480px; position:relative; border-radius:var(--hbt-btn-radius); }
.hbt-room-editorial--reversed .hbt-room-editorial__content-inner { margin-left:auto; margin-right:-60px; width:calc(100% + 60px); }
.hbt-room-editorial__eyebrow { display:inline-block; font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--hbt-secondary-light); margin-bottom:8px; }
.hbt-room-editorial__title { font-family:var(--hbt-font-heading); font-size:clamp(1.1rem,2.2vw,1.45rem); font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#fff; line-height:var(--hbt-line-height-tight); margin-bottom:0; }
.hbt-room-editorial__title a { color:#fff; text-decoration:none; transition:color 0.3s ease; }
.hbt-room-editorial__title a:hover { color:var(--hbt-secondary); text-decoration:none; }
.hbt-room-editorial__divider { width:40px; height:1px; background:var(--hbt-secondary); margin:18px 0; transition:width 0.5s ease; }
.hbt-room-editorial:hover .hbt-room-editorial__divider { width:70px; }
.hbt-room-editorial__desc { font-family:var(--hbt-font-body); font-size:var(--hbt-text-sm); font-weight:400; line-height:var(--hbt-line-height); color:rgba(255,255,255,0.85); margin-bottom:8px; }
.hbt-room-editorial__desc-es { font-family:var(--hbt-font-body); font-size:var(--hbt-text-xs); font-weight:400; font-style:italic; line-height:1.7; color:rgba(255,255,255,0.6); margin-bottom:20px; }
.hbt-room-editorial__meta { display:flex; gap:20px; margin-bottom:22px; }
.hbt-room-editorial__meta-item { display:flex; align-items:center; gap:7px; font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:500; letter-spacing:0.5px; color:rgba(255,255,255,0.55); }
.hbt-room-editorial__meta-item i { font-size:0.6875rem; color:var(--hbt-secondary); }
.hbt-room-editorial__price { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
.hbt-room-editorial__price-label { font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,0.4); }
.hbt-room-editorial__price-old { font-family:var(--hbt-font-body); font-size:var(--hbt-text-sm); color:rgba(255,255,255,0.3); text-decoration:line-through; }
.hbt-room-editorial__price-current { font-family:var(--hbt-font-heading); font-size:1.4rem; font-weight:700; color:var(--hbt-secondary); letter-spacing:0.5px; }
.hbt-room-editorial__price-unit { font-family:var(--hbt-font-body); font-size:0.6875rem; color:rgba(255,255,255,0.35); }
.hbt-room-editorial__actions { display:flex; align-items:center; gap:18px; }
.hbt-room-editorial__link { display:inline-flex; align-items:center; gap:7px; font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-secondary); text-decoration:none; transition:color 0.3s ease, gap 0.3s ease; }
.hbt-room-editorial__link:hover { color:#fff; gap:11px; text-decoration:none; }
.hbt-room-editorial__link svg { transition:transform 0.3s ease; }
.hbt-room-editorial__link:hover svg { transform:translateX(3px); }
.hbt-room-editorial__footer .hbt-btn-primary { font-size:0.75rem; padding:10px 22px; letter-spacing:1.5px; }
.hbt-rooms-editorial-empty { text-align:center; padding:var(--hbt-space-xl) 20px; }
.hbt-rooms-editorial-empty p { color:var(--hbt-text-light); font-size:1rem; }

@media (max-width:1100px) {
    .hbt-room-editorial { grid-template-columns:50% 50%; }
    .hbt-room-editorial--reversed { grid-template-columns:50% 50%; }
    .hbt-room-editorial__content-inner { margin-left:-40px; width:calc(100% + 40px); padding:38px 32px; }
    .hbt-room-editorial--reversed .hbt-room-editorial__content-inner { margin-right:-40px; width:calc(100% + 40px); }
}
@media (max-width:768px) {
    .hbt-rooms-editorial-section { padding-top:50px; padding-bottom:20px; }
    .hbt-room-editorial, .hbt-room-editorial--reversed { grid-template-columns:1fr; min-height:auto; }
    .hbt-room-editorial + .hbt-room-editorial { margin-top:var(--hbt-space-lg); }
    .hbt-room-editorial__image { order:1 !important; }
    .hbt-room-editorial__content { order:2 !important; }
    .hbt-room-editorial__img { min-height:260px; max-height:360px; }
    .hbt-room-editorial__image-placeholder { min-height:260px; }
    .hbt-room-editorial__content-inner, .hbt-room-editorial--reversed .hbt-room-editorial__content-inner { margin-left:20px; margin-right:20px; width:calc(100% - 40px); max-width:100%; padding:32px 26px; margin-top:-30px; }
    .hbt-room-editorial__title { font-size:1rem; }
    .hbt-room-editorial__desc { font-size:var(--hbt-text-xs); }
    .hbt-room-editorial__actions { flex-direction:column; align-items:flex-start; gap:12px; }
    .hbt-room-editorial__price-current { font-size:1.2rem; }
}
@media (max-width:480px) {
    .hbt-room-editorial__content-inner, .hbt-room-editorial--reversed .hbt-room-editorial__content-inner { padding:26px 20px; margin-left:12px; margin-right:12px; width:calc(100% - 24px); }
    .hbt-room-editorial__img { min-height:200px; }
}

/* ============================================
   SINGLE ROOM
   ============================================ */
.hbt-room-single-grid { display:grid; grid-template-columns:1fr 360px; gap:50px; align-items:start; overflow:hidden; max-width:100%; }
.hbt-room-single-main { overflow:hidden; max-width:100%; min-width:0; }
.hbt-room-single-stats { display:flex; gap:0; border:1px solid var(--hbt-border); margin-bottom:var(--hbt-space-lg); border-radius:var(--hbt-btn-radius); }
.hbt-room-single-stat { flex:1; padding:22px 20px; text-align:center; border-right:1px solid var(--hbt-border); display:flex; flex-direction:column; align-items:center; gap:6px; }
.hbt-room-single-stat:last-child { border-right:none; }
.hbt-room-single-stat i { font-size:1.1rem; color:var(--hbt-primary); }
.hbt-room-single-stat-label { font-family:var(--hbt-font-menu); font-size:0.6875rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--hbt-text-light); }
.hbt-room-single-stat-value { font-family:var(--hbt-font-heading); font-size:1rem; font-weight:700; color:var(--hbt-dark); }
.hbt-room-single-stat-value small { font-size:0.6875rem; font-weight:400; color:var(--hbt-text-light); }
.hbt-room-single-desc { margin-bottom:20px; line-height:1.85; }
.hbt-room-single-desc-es { margin-bottom:var(--hbt-space-lg); padding:20px 24px; background:var(--hbt-light); border-left:3px solid var(--hbt-primary); border-radius:0 var(--hbt-btn-radius) var(--hbt-btn-radius) 0; }
.hbt-room-single-desc-es p { font-style:italic; color:var(--hbt-text-light); font-size:var(--hbt-text-sm); line-height:1.75; margin:0; }
.hbt-room-single-amenities { margin-bottom:50px; padding-top:30px; border-top:1px solid var(--hbt-border); }
.hbt-room-amenities-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 30px; }
.hbt-room-amenity-item { display:flex; align-items:center; gap:10px; font-size:var(--hbt-text-sm); color:var(--hbt-text); }
.hbt-room-amenity-item i { color:var(--hbt-primary); font-size:0.75rem; flex-shrink:0; }
.hbt-room-single-gallery { margin-top:30px; padding-top:30px; border-top:1px solid var(--hbt-border); }
.hbt-room-booking-card { background:var(--hbt-bg-dark); padding:36px 30px; position:sticky; top:100px; border-radius:var(--hbt-btn-radius); }
.hbt-room-booking-card-title { font-family:var(--hbt-font-heading); font-size:1.1rem; font-weight:400; letter-spacing:1px; text-transform:uppercase; color:#fff; margin-bottom:20px; text-align:center; }
.hbt-room-booking-price { text-align:center; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,0.1); }
.hbt-room-booking-price-old { font-size:var(--hbt-text-sm); color:rgba(255,255,255,0.35); text-decoration:line-through; margin-right:6px; }
.hbt-room-booking-price-current { font-family:var(--hbt-font-heading); font-size:2rem; font-weight:700; color:var(--hbt-secondary); }
.hbt-room-booking-price-unit { font-size:0.8125rem; color:rgba(255,255,255,0.45); }
.hbt-room-booking-details { margin-bottom:24px; }
.hbt-room-booking-detail { font-size:var(--hbt-text-sm); color:rgba(255,255,255,0.7); padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); }
.hbt-room-booking-detail strong { color:rgba(255,255,255,0.9); }
.hbt-room-booking-note { text-align:center; font-size:0.75rem; color:rgba(255,255,255,0.4); margin-top:14px; letter-spacing:0.5px; }

@media (max-width:900px) { .hbt-room-single-grid { grid-template-columns:1fr; gap:30px; } .hbt-room-booking-card { position:static; } .hbt-room-single-stats { flex-wrap:wrap; } .hbt-room-single-stat { flex:1 1 45%; border-bottom:1px solid var(--hbt-border); } }
@media (max-width:600px) { .hbt-room-single-stats { flex-direction:column; } .hbt-room-single-stat { border-right:none; } .hbt-room-amenities-list { grid-template-columns:1fr; } }

/* ============================================
   NAV DROPDOWN
   ============================================ */
.hbt-nav ul li.hbt-has-dropdown, .hbt-nav ul li.menu-item-has-children { position:relative; }
.hbt-nav ul li > a .hbt-dropdown-chevron { display:inline-block; vertical-align:middle; margin-left:3px; transition:transform 0.3s ease; }
.hbt-nav ul li.hbt-has-dropdown:hover > a .hbt-dropdown-chevron, .hbt-nav ul li.menu-item-has-children:hover > a .hbt-dropdown-chevron { transform:rotate(180deg); }
.hbt-nav .hbt-sub-menu, .hbt-nav ul li.menu-item-has-children > ul { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:#fff; min-width:220px; box-shadow:0 12px 40px rgba(0,0,0,0.12); z-index:1000; padding:10px 0; list-style:none; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease; border-top:2px solid var(--hbt-primary); border-radius:0 0 var(--hbt-btn-radius) var(--hbt-btn-radius); }
.hbt-nav ul li.hbt-has-dropdown:hover > .hbt-sub-menu, .hbt-nav ul li.menu-item-has-children:hover > ul, .hbt-nav ul li.hbt-has-dropdown:hover > ul { display:block; opacity:1; visibility:visible; }
.hbt-nav .hbt-sub-menu li, .hbt-nav ul li.menu-item-has-children > ul li { display:block; }
.hbt-nav .hbt-sub-menu li a, .hbt-nav ul li.menu-item-has-children > ul li a { display:block; padding:11px 28px; font-family:var(--hbt-font-menu); font-size:0.8125rem; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:var(--hbt-dark) !important; white-space:nowrap; transition:background 0.2s ease, color 0.2s ease, padding-left 0.2s ease; }
.hbt-nav .hbt-sub-menu li a::after, .hbt-nav ul li.menu-item-has-children > ul li a::after { display:none !important; }
.hbt-nav .hbt-sub-menu li a:hover, .hbt-nav ul li.menu-item-has-children > ul li a:hover { background:var(--hbt-light); color:var(--hbt-primary) !important; padding-left:34px; text-decoration:none; }
.hbt-header.scrolled .hbt-nav .hbt-sub-menu li a, .hbt-header.scrolled .hbt-nav ul li.menu-item-has-children > ul li a { color:var(--hbt-dark) !important; }
.hbt-header.scrolled .hbt-nav .hbt-sub-menu li a:hover, .hbt-header.scrolled .hbt-nav ul li.menu-item-has-children > ul li a:hover { color:var(--hbt-primary) !important; }

/* ============================================
   PAGE CONTENT + BLOG EDITORIAL + ROOM GALLERY
   ============================================ */
.hbt-page-content { max-width:760px; margin:0 auto; text-align:center; }
.hbt-page-content h2, .hbt-page-content h3 { font-family:var(--hbt-font-heading); text-transform:uppercase; letter-spacing:1px; }
.hbt-page-content p { color:var(--hbt-text-light); line-height:1.85; font-size:var(--hbt-text-base); }

.hbt-blog-editorial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.hbt-blog-card { background:var(--hbt-white); border:1px solid var(--hbt-border); overflow:hidden; transition:var(--hbt-transition); border-radius:var(--hbt-btn-radius); }
.hbt-blog-card:hover { box-shadow:var(--hbt-shadow-hover); }
.hbt-blog-card__image { overflow:hidden; aspect-ratio:4/3; }
.hbt-blog-card__image img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s cubic-bezier(.25,.46,.45,.94); }
.hbt-blog-card:hover .hbt-blog-card__image img { transform:scale(1.05); }
.hbt-blog-card__body { padding:24px 22px; }
.hbt-blog-card__meta { display:flex; align-items:center; gap:8px; font-size:0.75rem; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:var(--hbt-text-light); margin-bottom:12px; }
.hbt-blog-card__cat a { color:var(--hbt-primary); }
.hbt-blog-card__title { font-family:var(--hbt-font-menu); font-size:0.9375rem; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; line-height:1.4; margin-bottom:10px; }
.hbt-blog-card__title a { color:var(--hbt-dark); text-decoration:none; transition:color 0.3s; }
.hbt-blog-card__title a:hover { color:var(--hbt-primary); text-decoration:none; }
.hbt-blog-card__excerpt { font-size:var(--hbt-text-sm); color:var(--hbt-text-light); line-height:var(--hbt-line-height); margin-bottom:16px; }
.hbt-blog-card__link { display:inline-flex; align-items:center; gap:6px; font-family:var(--hbt-font-menu); font-size:0.75rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--hbt-primary); transition:color 0.3s, gap 0.3s; text-decoration:none; }
.hbt-blog-card__link:hover { color:var(--hbt-primary-dark); gap:10px; text-decoration:none; }

@media (max-width:1024px) { .hbt-blog-editorial-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .hbt-blog-editorial-grid { grid-template-columns:1fr; } }

.hbt-room-gallery { margin-bottom:30px; overflow:hidden; max-width:100%; }
.hbt-room-gallery__main { position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:#f0ece4; border-radius:var(--hbt-btn-radius); }
.hbt-room-gallery__main img { width:100%; height:100%; object-fit:cover; display:block; transition:opacity 0.25s ease; }
.hbt-room-gallery__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:42px; height:42px; background:rgba(26,26,26,0.55); color:#fff; border:1px solid rgba(255,255,255,0.15); font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.3s; line-height:1; padding:0; border-radius:var(--hbt-btn-radius); }
.hbt-room-gallery__nav:hover { background:rgba(26,26,26,0.85); }
.hbt-room-gallery__nav--prev { left:12px; }
.hbt-room-gallery__nav--next { right:12px; }
.hbt-room-gallery__thumbs { display:flex; flex-direction:row; flex-wrap:wrap; gap:6px; margin-top:8px; max-width:100%; }
.hbt-room-gallery__thumb { width:80px; height:60px; flex-shrink:0; overflow:hidden; cursor:pointer; border:2px solid transparent; opacity:0.45; transition:opacity 0.3s, border-color 0.3s; border-radius:4px; }
.hbt-room-gallery__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.hbt-room-gallery__thumb:hover { opacity:0.75; }
.hbt-room-gallery__thumb.active { opacity:1; border-color:var(--hbt-primary); }

@media (max-width:768px) { .hbt-room-gallery__main { aspect-ratio:16/10; } .hbt-room-gallery__thumb { width:60px; height:45px; } .hbt-room-gallery__nav { width:36px; height:36px; font-size:0.85rem; } }
@media (max-width:480px) { .hbt-room-gallery__thumb { width:50px; height:38px; } .hbt-room-gallery__thumbs { gap:4px; } }

/* ============================================
   GLOBAL READABILITY LAYER v5.0
   Uses font-family tokens — NO !important spam
   ============================================ */
p, article p, .entry-content p, .page-content p, .hbt-page-content p,
.hbt-about-hero__desc, .hbt-room-card__excerpt, .hbt-section__desc,
.hbt-cta__desc, .hbt-amenity__desc, .hbt-amenities-col p,
.hbt-testimonial__text, .hbt-offer-card__excerpt, .hbt-restaurant-card__desc,
.hbt-event-venue__desc, .hbt-experience-card__desc, .hbt-spa-service__desc,
.hbt-wedding-desc, .hbt-contact__text { font-family:var(--hbt-font-body); line-height:var(--hbt-line-height); color:var(--hbt-text); }

.hbt-room-card__meta, .hbt-offer-card__meta, .hbt-blog-card__meta, .hbt-post-meta,
.hbt-testimonial-author, .hbt-testimonial__author, .hbt-event-date,
.hbt-events-list__subtitle, .hbt-restaurant-card__cuisine, .hbt-gallery-tab,
.hbt-breadcrumb, .hbt-breadcrumb a, figcaption, .wp-caption-text, small { font-family:var(--hbt-font-body); }

label, .hbt-contact-form label, .wpcf7-form label { font-family:var(--hbt-font-menu); }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="search"], input[type="number"], input[type="date"], input[type="password"],
textarea, select { font-family:var(--hbt-font-body); font-size:1rem; color:var(--hbt-text); }

.hbt-room-card__title, .hbt-offer-card__title, .hbt-restaurant-card__title,
.hbt-event-venue__title, .hbt-experience-card__title, .hbt-amenity__title,
.hbt-spa-service__title, .hbt-blog-card__title, .hbt-widget-title { color:var(--hbt-dark); }

.entry-content li, .page-content li, .hbt-page-content li, article li { font-size:var(--hbt-text-base); line-height:1.75; color:var(--hbt-text); }
blockquote, blockquote p { font-size:var(--hbt-text-lg); line-height:1.75; color:var(--hbt-dark); font-style:italic; border-left:3px solid var(--hbt-primary); padding-left:20px; }
.hbt-footer p, .hbt-footer__desc, .hbt-footer li, .hbt-footer span, .hbt-footer a:not(.hbt-btn) { font-family:var(--hbt-font-body); }

@media (max-width:768px) {
    body { font-size:1rem; }
    p, .entry-content p, article p, .hbt-room-editorial__desc, .hbt-split-content p, .hbt-about-hero__desc { font-size:1rem; }
}

/* ============================================
   CONTACT FORM — Submit Button
   ============================================ */
.hbt-contact-form button[type="submit"],
.hbt-contact-form input[type="submit"],
.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"],
.wpcf7-submit {
    width: 100%;
    padding: 16px 28px;
    background-color: #9A7D4A;
    color: #fff;
    border: 2px solid #9A7D4A;
    border-radius: var(--hbt-btn-radius);
    font-family: var(--hbt-font-menu);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--hbt-transition);
}
.hbt-contact-form button[type="submit"]:hover,
.hbt-contact-form input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form button[type="submit"]:hover,
.wpcf7-submit:hover {
    background-color: #8a6f3e;
    border-color: #8a6f3e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(154,125,74,0.35);
}
