/*
TREBOL V83 ORDENADO
Archivo fuente de estilos de la portada. Versión V83 con header móvil del inicio corregido desde origen.
No cambia diseño: conserva el orden original de los bloques CSS.
*/

/* ===================== BLOQUE CSS 1 | origen index.php línea 417 ===================== */
/* =========================================================
           TREBOL V34 - PRENSA PROFESIONAL PARA LECTURA ADULTA
           Solo corrige el hero: sin líneas decorativas, sin panel lateral y sin parche de navegación.
        ========================================================= */
        :root {
            --trb-ink: #2A2016;
            --trb-dark: #2A2016;
            --trb-green: #008f3a;
            --trb-green-2: #008f3a;
            --trb-cream: #f6efe4;
            --trb-paper: #fffaf2;
            --trb-soft: #e9ddcd;
            --trb-gold: #c9a46b;
            --trb-muted: #857868;
            --trb-line-dark: rgba(255,250,242,.16);
            --trb-line-light: rgba(17,16,13,.14);
        }

        html { scroll-behavior: smooth; }
        body { background: var(--trb-dark); }

        .trebol-v27,
        .trebol-v27 *,
        .trebol-v27 *::before,
        .trebol-v27 *::after { box-sizing: border-box; }

        .trebol-v27 {
            background: var(--trb-dark);
            color: var(--trb-cream);
            overflow: hidden;
            font-family: inherit;
        }

        .trb-container {
            width: min(100% - 72px, 1180px);
            margin: 0 auto;
        }

        .trb-eyebrow {
            display: inline-block;
            margin-bottom: 16px;
            color: var(--trb-gold);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .trb-title {
            margin: 0;
            font-family: Georgia, 'Times New Roman', serif;
            font-weight: 400;
            letter-spacing: -.045em;
            line-height: 1.02;
            color: inherit;
        }

        .trb-copy {
            margin: 0;
            font-size: clamp(16px, 1.5vw, 20px);
            line-height: 1.72;
            color: rgba(255,250,242,.76);
        }

        .trb-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            padding: 14px 22px;
            border: 1px solid rgba(255,250,242,.48);
            color: var(--trb-cream);
            background: rgba(42,32,22,.14);
            text-decoration: none;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
            transition: background .22s ease, color .22s ease, border-color .22s ease;
        }

        .trb-btn:hover {
            background: var(--trb-cream);
            color: var(--trb-ink);
            border-color: var(--trb-cream);
        }

        .trb-btn.dark {
            color: var(--trb-ink);
            border-color: rgba(42,32,22,.38);
            background: transparent;
        }

        .trb-btn.dark:hover {
            background: var(--trb-ink);
            color: var(--trb-paper);
            border-color: var(--trb-ink);
        }

        .trb-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        /* Header transparente hasta terminar el hero */
        .top-bar-area,
        header {
            left: 0;
            right: 0;
            width: 100%;
            transition: background .26s ease, box-shadow .26s ease, top .26s ease, opacity .26s ease, transform .26s ease;
        }

        .top-bar-area {
            position: fixed !important;
            top: 0;
            z-index: 10030;
        }

        header {
            position: fixed !important;
            top: 0 !important;
            z-index: 10020;
            border-bottom: 1px solid rgba(255,255,255,.15) !important;
        }

        body:not(.trebol-nav-scrolled) .top-bar-area {
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
            transform: translateY(-110%) !important;
            background: transparent !important;
            box-shadow: none !important;
            border: 0 !important;
        }

        body:not(.trebol-nav-scrolled) header,
        body:not(.trebol-nav-scrolled) header nav,
        body:not(.trebol-nav-scrolled) header .navbar,
        body:not(.trebol-nav-scrolled) header .navbar-default,
        body:not(.trebol-nav-scrolled) header .navbar-collapse,
        body:not(.trebol-nav-scrolled) header .navbar-header,
        body:not(.trebol-nav-scrolled) header .main-menu,
        body:not(.trebol-nav-scrolled) header .attr-nav,
        body:not(.trebol-nav-scrolled) header .nav-wrapper,
        body:not(.trebol-nav-scrolled) header .bg-theme {
            background: transparent !important;
            box-shadow: none !important;
            border-color: transparent !important;
        }

        body:not(.trebol-nav-scrolled) header a,
        body:not(.trebol-nav-scrolled) header .navbar-nav > li > a,
        body:not(.trebol-nav-scrolled) header .attr-nav > ul > li > a {
            color: #fffaf2 !important;
            text-shadow: 0 10px 30px rgba(0,0,0,.44);
        }

        body:not(.trebol-nav-scrolled) header img { filter: brightness(0) invert(1) !important; }

        body.trebol-nav-scrolled .top-bar-area {
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
            transform: none !important;
            background: var(--trb-green) !important;
            box-shadow: 0 12px 30px rgba(0,0,0,.18) !important;
        }

        body.trebol-nav-scrolled header,
        body.trebol-nav-scrolled header nav,
        body.trebol-nav-scrolled header .navbar,
        body.trebol-nav-scrolled header .navbar-default,
        body.trebol-nav-scrolled header .navbar-collapse,
        body.trebol-nav-scrolled header .navbar-header,
        body.trebol-nav-scrolled header .main-menu,
        body.trebol-nav-scrolled header .attr-nav,
        body.trebol-nav-scrolled header .nav-wrapper,
        body.trebol-nav-scrolled header .bg-theme {
            background: var(--trb-green) !important;
            box-shadow: none !important;
        }

        body.trebol-nav-scrolled header {
            top: var(--trebol-topbar-h, 42px) !important;
            border-bottom: 1px solid rgba(255,255,255,.12) !important;
        }


        /* =========================================================
           TREBOL V71 - CONTROL REAL DEL HEADER
           Ajusta el estado del header desde el CSS fuente, no como parche.
           Evita que Reservar y la hamburguesa tomen fondos blancos al hacer scroll.
        ========================================================= */
        #sticky-header,
        #sticky-header.header-section,
        #sticky-header .container,
        #sticky-header .menu-wrapper,
        #sticky-header nav,
        #sticky-header .logo,
        #sticky-header .mobile-logo,
        #sticky-header .menu-toggle,
        #sticky-header .mobile-icon,
        header #sticky-header,
        header #sticky-header.header-section {
            box-shadow: none !important;
        }

        body.trebol-nav-scrolled #sticky-header,
        body.trebol-nav-scrolled #sticky-header.header-section,
        body.trebol-nav-scrolled #sticky-header .container,
        body.trebol-nav-scrolled #sticky-header .menu-wrapper,
        body.trebol-nav-scrolled #sticky-header nav,
        body.trebol-nav-scrolled header #sticky-header,
        body.trebol-nav-scrolled header #sticky-header.header-section {
            background: var(--trb-green) !important;
            background-color: var(--trb-green) !important;
        }

        #sticky-header .nav-btn,
        #sticky-header .nav-btn.d-sm-none,
        #sticky-header .nav-btn.d-md-none,
        #sticky-header .nav-btn.d-lg-inline-block {
            background: transparent !important;
            background-color: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            padding: 0 !important;
            margin: 0 !important;
            width: auto !important;
            height: auto !important;
            min-height: 0 !important;
            display: inline-flex !important;
            align-items: center !important;
        }

        #sticky-header .nav-btn a,
        body.trebol-nav-scrolled #sticky-header .nav-btn a,
        header #sticky-header .nav-btn a,
        header #sticky-header .menu-wrapper .nav-btn a {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: auto !important;
            height: auto !important;
            min-width: 0 !important;
            min-height: 42px !important;
            padding: 11px 18px !important;
            margin: 0 !important;
            background: transparent !important;
            background-color: transparent !important;
            color: #fffaf2 !important;
            border: 1px solid rgba(255,250,242,.82) !important;
            border-radius: 999px !important;
            box-shadow: none !important;
            text-shadow: none !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            letter-spacing: .08em !important;
            line-height: 1 !important;
            text-transform: uppercase !important;
            opacity: 1 !important;
            visibility: visible !important;
        }

        #sticky-header .nav-btn a:hover,
        body.trebol-nav-scrolled #sticky-header .nav-btn a:hover,
        header #sticky-header .nav-btn a:hover {
            background: #fffaf2 !important;
            background-color: #fffaf2 !important;
            color: var(--trb-green) !important;
            border-color: #fffaf2 !important;
        }

        #sticky-header .menu-toggle,
        #sticky-header .menu-toggle:hover,
        #sticky-header .mobile-icon,
        #sticky-header .mobile-icon:hover,
        .mobile-menu .menu-toggle,
        .mobile-menu .menu-toggle:hover,
        .mobile-menu .mobile-icon,
        .mobile-menu .mobile-icon:hover {
            background: transparent !important;
            background-color: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            outline: 0 !important;
        }

        #sticky-header .menu-toggle i,
        #sticky-header .mobile-icon i,
        .mobile-menu .menu-toggle i,
        .mobile-menu .mobile-icon i {
            color: #fffaf2 !important;
            opacity: 1 !important;
            visibility: visible !important;
            text-shadow: none !important;
        }

        @media (max-width: 991px) {
            /* TREBOL V83 - header móvil del inicio en verde real.
               Evita que la regla del hero transparente afecte al menú móvil nuevo. */
            html body:not(.trebol-nav-scrolled) header,
            html body header,
            html body #sticky-header,
            html body #sticky-header.header-section,
            html body #sticky-header .container,
            html body #sticky-header .menu-wrapper,
            html body .mobile-menu,
            html body .mobile-menu .logo-container,
            html body .mobile-menu .header-menu2,
            html body .trebol-mobile-header-v82,
            html body .trebol-mobile-header-v82 .trebol-mobile-bar-v82,
            html body .trebol-mobile-header-v82 .trebol-mobile-panel-v82 {
                background: var(--trb-green) !important;
                background-color: var(--trb-green) !important;
            }

            html body .trebol-mobile-header-v82 {
                position: fixed !important;
                top: 0 !important;
                left: 0 !important;
                right: 0 !important;
                width: 100% !important;
                max-width: 100vw !important;
                z-index: 10070 !important;
                box-shadow: 0 10px 30px rgba(0,0,0,.16) !important;
            }

            html body.admin-bar .trebol-mobile-header-v82 { top: 46px !important; }

            html body #sticky-header .menu-toggle,
            html body #sticky-header .mobile-icon,
            html body .mobile-menu .menu-toggle,
            html body .mobile-menu .mobile-icon {
                background: transparent !important;
                background-color: transparent !important;
            }

            html body #sticky-header .menu-toggle i,
            html body #sticky-header .mobile-icon i,
            html body .mobile-menu .menu-toggle i,
            html body .mobile-menu .mobile-icon i,
            html body .mobile-menu .header-menu2 a {
                color: #fffaf2 !important;
            }
        }

        /* Hero - V28: más aire, jerarquía SEO y lectura profesional */
        .trb-hero {
            position: relative;
            min-height: 100vh;
            min-height: 100svh;
            isolation: isolate;
            display: flex;
            align-items: flex-end;
            background: var(--trb-ink);
            overflow: hidden;
        }

        .trb-hero-media {
            position: absolute;
            inset: 0;
            z-index: -2;
        }

        .trb-hero-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 61% 42%;
            filter: saturate(.96) contrast(1.03) brightness(.86);
            transform: scale(1.01);
        }

        .trb-hero::after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: -1;
            background:
                linear-gradient(90deg, rgba(8,7,6,.88) 0%, rgba(8,7,6,.70) 34%, rgba(8,7,6,.28) 68%, rgba(8,7,6,.46) 100%),
                linear-gradient(180deg, rgba(8,7,6,.30) 0%, rgba(8,7,6,.10) 48%, rgba(8,7,6,.88) 100%);
        }

        .trb-hero-inner {
            display: grid;
            grid-template-columns: minmax(0, 690px) minmax(260px, 350px);
            gap: clamp(42px, 7vw, 104px);
            align-items: end;
            width: 100%;
            padding-top: clamp(118px, 15vh, 172px);
            padding-bottom: clamp(66px, 9vh, 108px);
        }

        .trb-hero-main {
            max-width: 720px;
        }

        .trb-hero h1 {
            max-width: 700px;
            margin: 0;
            font-family: Georgia, 'Times New Roman', serif;
            font-weight: 400;
            font-size: clamp(46px, 6.3vw, 92px);
            line-height: .98;
            letter-spacing: -.055em;
            color: var(--trb-cream);
            text-shadow: 0 28px 74px rgba(0,0,0,.48);
        }

        .trb-hero-subtitle {
            display: block;
            margin-top: 18px;
            color: rgba(255,250,242,.96);
            font-family: Georgia, 'Times New Roman', serif;
            font-size: clamp(24px, 2.6vw, 40px);
            font-weight: 400;
            line-height: 1.18;
            letter-spacing: -.025em;
            text-shadow: 0 20px 60px rgba(0,0,0,.44);
        }

        .trb-hero-slogan {
            position: relative;
            max-width: 520px;
            margin: 26px 0 0;
            padding-top: 22px;
            color: rgba(255,250,242,.90);
            font-family: Georgia, 'Times New Roman', serif;
            font-size: clamp(18px, 1.45vw, 23px);
            line-height: 1.55;
        }

        .trb-hero-slogan::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 82px;
            height: 1px;
            background: rgba(255,250,242,.58);
        }

        .trb-hero-local {
            max-width: 560px;
            margin: 18px 0 0;
            color: rgba(255,250,242,.78);
            font-size: clamp(15px, 1.08vw, 17px);
            line-height: 1.7;
        }

        .trb-hero .trb-actions {
            margin-top: 34px;
        }

        .trb-hero-info {
            align-self: end;
            padding: 28px 0 0;
            border-top: 1px solid rgba(255,250,242,.48);
        }

        .trb-hero-info dl { margin: 0; }
        .trb-hero-info div {
            padding: 0 0 18px;
            margin: 0 0 18px;
            border-bottom: 1px solid rgba(255,250,242,.16);
        }
        .trb-hero-info div:last-child {
            padding-bottom: 0;
            margin-bottom: 0;
            border-bottom: 0;
        }
        .trb-hero-info dt {
            margin-bottom: 7px;
            color: rgba(255,250,242,.68);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .16em;
            text-transform: uppercase;
        }
        .trb-hero-info dd {
            margin: 0;
            color: rgba(255,250,242,.94);
            font-size: 15px;
            line-height: 1.55;
        }
        .trb-hero-info a { color: inherit; text-decoration: none; }

        /* Secciones */
        .trb-section {
            padding: clamp(78px, 9vw, 124px) 0;
            border-bottom: 1px solid var(--trb-line-dark);
        }

        .trb-section.light {
            background: var(--trb-paper);
            color: var(--trb-ink);
            border-bottom-color: var(--trb-line-light);
        }

        .trb-section.warm {
            background: var(--trb-soft);
            color: var(--trb-ink);
            border-bottom-color: var(--trb-line-light);
        }

        .trb-section.light .trb-eyebrow,
        .trb-section.warm .trb-eyebrow { color: var(--trb-green); }

        .trb-section.light .trb-copy,
        .trb-section.light p,
        .trb-section.warm .trb-copy,
        .trb-section.warm p { color: rgba(17,16,13,.72); }

        .trb-split {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: clamp(38px, 7vw, 92px);
            align-items: center;
        }

        .trb-split.large-media { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
        .trb-split.text-first { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
        .trb-split.trb-split-no-media {
            grid-template-columns: minmax(0, 820px);
            justify-content: center;
            text-align: center;
        }

        .trb-split.trb-split-no-media .trb-text,
        .trb-split.trb-split-no-media .trb-text h2,
        .trb-split.trb-split-no-media .trb-text p {
            margin-left: auto;
            margin-right: auto;
        }

        .trb-split.trb-split-no-media .trb-actions,
        .trb-split.trb-split-no-media .trb-menu-tags {
            justify-content: center;
        }

        .trb-text h2 {
            max-width: 720px;
            margin-bottom: 24px;
            font-size: clamp(42px, 6vw, 82px);
        }

        .trb-text p {
            max-width: 650px;
            margin: 0 0 22px;
            font-size: clamp(16px, 1.45vw, 20px);
            line-height: 1.72;
            color: rgba(255,250,242,.76);
        }

        .trb-figure {
            margin: 0;
            position: relative;
            min-height: 560px;
            overflow: hidden;
            background: #2A2016;
            box-shadow: 0 34px 90px rgba(0,0,0,.22);
        }

        .trb-figure.medium { min-height: 440px; }
        .trb-figure img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }

        .trb-figure figcaption {
            position: absolute;
            left: 18px;
            right: 18px;
            bottom: 18px;
            padding: 13px 15px;
            color: rgba(255,250,242,.90);
            background: rgba(42,32,22,.58);
            backdrop-filter: blur(10px);
            font-size: 12px;
            line-height: 1.45;
        }

        .trb-story-detail {
            margin-top: 26px;
            padding-top: 24px;
            border-top: 1px solid rgba(17,16,13,.16);
            display: grid;
            grid-template-columns: 160px minmax(0, 1fr);
            gap: 20px;
            align-items: center;
        }

        .trb-story-detail img {
            width: 160px;
            height: 110px;
            object-fit: cover;
            display: block;
        }

        .trb-story-detail p {
            margin: 0;
            color: rgba(17,16,13,.66);
            font-size: 14px;
            line-height: 1.6;
        }

        .trb-highlight {
            margin-top: 30px;
            padding-left: 22px;
            border-left: 3px solid var(--trb-green);
            color: rgba(17,16,13,.82);
            font-family: Georgia, 'Times New Roman', serif;
            font-size: clamp(22px, 2.4vw, 34px);
            line-height: 1.24;
        }

        .trb-mesa-card {
            max-width: 860px;
            margin: 0 auto;
            text-align: center;
        }

        .trb-mesa-card .trb-title {
            font-size: clamp(48px, 8vw, 112px);
            margin-bottom: 26px;
        }

        .trb-mesa-card p {
            max-width: 760px;
            margin: 0 auto 28px;
            font-size: clamp(18px, 2vw, 24px);
            line-height: 1.65;
            color: rgba(255,250,242,.76);
        }

        .trb-press-grid {
            display: grid;
            grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
            gap: clamp(34px, 7vw, 80px);
            align-items: start;
        }

        .trb-press-list { border-top: 1px solid rgba(255,250,242,.20); }
        .trb-press-item {
            display: grid;
            grid-template-columns: 130px minmax(0, 1fr);
            gap: 24px;
            padding: 25px 0;
            border-bottom: 1px solid rgba(255,250,242,.16);
            color: inherit;
            text-decoration: none;
        }
        .trb-press-item small {
            color: var(--trb-gold);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .14em;
            text-transform: uppercase;
        }
        .trb-press-item h3 {
            margin: 0 0 8px;
            color: var(--trb-cream);
            font-family: Georgia, 'Times New Roman', serif;
            font-weight: 400;
            font-size: clamp(22px, 2vw, 32px);
            line-height: 1.12;
        }
        .trb-press-item p {
            margin: 0;
            color: rgba(255,250,242,.66);
            font-size: 15px;
            line-height: 1.6;
        }

        .trb-menu-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin: 26px 0 30px;
        }
        .trb-menu-tags span {
            border: 1px solid rgba(42,32,22,.22);
            padding: 10px 14px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .trb-contact-list {
            margin-top: 34px;
            border-top: 1px solid rgba(255,250,242,.18);
        }
        .trb-contact-list div {
            display: grid;
            grid-template-columns: 115px minmax(0, 1fr);
            gap: 18px;
            padding: 18px 0;
            border-bottom: 1px solid rgba(255,250,242,.14);
        }
        .trb-contact-list strong {
            color: var(--trb-gold);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .14em;
            text-transform: uppercase;
        }
        .trb-contact-list a,
        .trb-contact-list span { color: rgba(255,250,242,.82); text-decoration: none; }

        .trb-reservation-grid {
            display: grid;
            grid-template-columns: minmax(0, .9fr) minmax(360px, 500px);
            gap: clamp(40px, 7vw, 86px);
            align-items: start;
        }

        .trb-form-panel {
            background: var(--trb-paper);
            color: var(--trb-ink);
            padding: clamp(26px, 4vw, 42px);
            box-shadow: 0 34px 90px rgba(0,0,0,.30);
        }
        .trb-form-panel label { color: var(--trb-ink) !important; font-weight: 700; }
        .trb-form-panel input.form-control {
            border: 0 !important;
            border-bottom: 1px solid rgba(17,16,13,.25) !important;
            background: transparent !important;
            box-shadow: none !important;
            color: var(--trb-ink) !important;
            border-radius: 0 !important;
        }
        .trb-form-panel button#sendform-c {
            width: 100%;
            min-height: 52px;
            border: 0;
            background: var(--trb-green);
            color: var(--trb-paper);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .trb-mobile-bar {
            display: none;
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 10040;
            background: var(--trb-green);
            border-top: 1px solid rgba(255,255,255,.16);
        }
        .trb-mobile-bar a {
            flex: 1;
            padding: 15px 8px;
            color: var(--trb-paper);
            text-align: center;
            text-decoration: none;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .10em;
            text-transform: uppercase;
            border-right: 1px solid rgba(255,255,255,.16);
        }
        .trb-mobile-bar a:last-child { border-right: 0; }

        @media (max-width: 991px) {
            .top-bar-area { display: none !important; }
            body.trebol-nav-scrolled header { top: 0 !important; }
            .trb-container { width: min(100% - 36px, 760px); }
            .trb-hero-inner {
                grid-template-columns: 1fr;
                gap: 34px;
                padding-top: 112px;
                padding-bottom: 92px;
            }
            .trb-hero h1 { font-size: clamp(40px, 10vw, 66px); }
            .trb-hero-subtitle { font-size: clamp(22px, 5vw, 34px); }
            .trb-hero-slogan { max-width: 92%; font-size: 17px; line-height: 1.58; }
            .trb-hero-local { max-width: 92%; font-size: 15px; }
            .trb-hero-info { max-width: 100%; padding-top: 20px; }
            .trb-hero-info div:nth-child(3) { display: none; }
            .trb-hero-media img { object-position: 66% center; }
            .trb-split,
            .trb-split.large-media,
            .trb-split.text-first,
            .trb-press-grid,
            .trb-reservation-grid { grid-template-columns: 1fr; }
            .trb-figure { min-height: 430px; }
            .trb-figure.medium { min-height: 360px; }
            .trb-press-item { grid-template-columns: 1fr; gap: 10px; }
            .trb-mobile-bar { display: flex; }
            body { padding-bottom: 68px; }
        }

        @media (max-width: 575px) {
            .trb-container { width: min(100% - 30px, 100%); }
            .trb-hero { min-height: 100svh; }
            .trb-hero-inner { padding-top: 108px; padding-bottom: 86px; }
            .trb-hero h1 { font-size: clamp(38px, 12vw, 56px); line-height: 1.02; }
            .trb-hero-subtitle { margin-top: 12px; font-size: clamp(21px, 7vw, 32px); line-height: 1.2; }
            .trb-hero-slogan { margin-top: 22px; padding-top: 18px; font-size: 16px; line-height: 1.55; }
            .trb-hero-local { display: none; }
            .trb-hero .trb-actions { margin-top: 26px; }
            .trb-hero .trb-actions .trb-btn { width: 100%; }
            .trb-hero-info { display: none; }
            .trb-hero-media img { object-position: 68% center; }
            .trb-actions { display: grid; grid-template-columns: 1fr; }
            .trb-btn { width: 100%; }
            .trb-section { padding: 68px 0; }
            .trb-text h2 { font-size: clamp(38px, 11vw, 58px); }
            .trb-figure { min-height: 330px; }
            .trb-story-detail { grid-template-columns: 1fr; }
            .trb-story-detail img { width: 100%; height: 180px; }
            .trb-contact-list div { grid-template-columns: 1fr; gap: 5px; }
        }


        /* =========================================================
           TREBOL V30 - CORRECCIÓN REAL SOLO HERO
           Sin línea decorativa, sin panel lateral, sin franja verde dentro del hero.
        ========================================================= */
        body:not(.trebol-nav-scrolled) .top-bar-area {
            display: none !important;
            height: 0 !important;
            min-height: 0 !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
            transform: translateY(-120%) !important;
            background: transparent !important;
        }

        body:not(.trebol-nav-scrolled) header,
        body:not(.trebol-nav-scrolled) header nav,
        body:not(.trebol-nav-scrolled) header .navbar,
        body:not(.trebol-nav-scrolled) header .navbar-default,
        body:not(.trebol-nav-scrolled) header .navbar-collapse,
        body:not(.trebol-nav-scrolled) header .navbar-header,
        body:not(.trebol-nav-scrolled) header .main-menu,
        body:not(.trebol-nav-scrolled) header .attr-nav,
        body:not(.trebol-nav-scrolled) header .nav-wrapper,
        body:not(.trebol-nav-scrolled) header .bg-theme,
        body:not(.trebol-nav-scrolled) header .container,
        body:not(.trebol-nav-scrolled) header .container-fluid {
            background: transparent !important;
            background-color: transparent !important;
            box-shadow: none !important;
            border-color: transparent !important;
        }

        body:not(.trebol-nav-scrolled) header {
            top: 0 !important;
            border-bottom: 0 !important;
        }

        body:not(.trebol-nav-scrolled) header::before,
        body:not(.trebol-nav-scrolled) header::after,
        body:not(.trebol-nav-scrolled) header nav::before,
        body:not(.trebol-nav-scrolled) header nav::after {
            display: none !important;
        }

        body:not(.trebol-nav-scrolled) header .attr-nav > ul > li > a,
        body:not(.trebol-nav-scrolled) header .navbar-nav > li > a {
            background: transparent !important;
            color: #fffaf2 !important;
        }

        body:not(.trebol-nav-scrolled) header .attr-nav > ul > li > a {
            border: 1px solid rgba(255,250,242,.72) !important;
            min-width: 154px;
            text-align: center;
        }

        .trb-hero-v29 {
            min-height: 100vh;
            min-height: 100svh;
            align-items: flex-end;
        }

        .trb-hero-v29 .trb-hero-media img {
            object-position: 64% center;
            filter: saturate(.96) contrast(1.02) brightness(.88);
            transform: none;
        }

        .trb-hero-v29::after {
            background:
                linear-gradient(90deg, rgba(8,7,6,.86) 0%, rgba(8,7,6,.64) 38%, rgba(8,7,6,.26) 70%, rgba(8,7,6,.42) 100%),
                linear-gradient(180deg, rgba(8,7,6,.20) 0%, rgba(8,7,6,.06) 46%, rgba(8,7,6,.76) 100%);
        }

        .trb-hero-v29 .trb-hero-inner {
            display: flex !important;
            align-items: flex-end;
            justify-content: flex-start;
            width: 100%;
            padding-top: clamp(128px, 16vh, 176px);
            padding-bottom: clamp(58px, 8vh, 92px);
        }

        .trb-hero-v29 .trb-hero-main {
            max-width: 760px;
        }

        .trb-hero-place {
            display: inline-block;
            margin-bottom: 18px;
            color: #d8b172;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .trb-hero-v29 h1 {
            max-width: 760px;
            font-size: clamp(44px, 6vw, 76px);
            line-height: 1;
            letter-spacing: -.045em;
        }

        .trb-hero-lead {
            margin: 20px 0 0;
            color: rgba(255,250,242,.96);
            font-family: Georgia, 'Times New Roman', serif;
            font-size: clamp(24px, 2.6vw, 36px);
            font-weight: 400;
            line-height: 1.18;
            letter-spacing: -.025em;
            text-shadow: 0 20px 60px rgba(0,0,0,.44);
        }

        .trb-hero-v29 .trb-hero-slogan {
            max-width: 620px;
            margin: 22px 0 0;
            padding-top: 0;
            color: rgba(255,250,242,.88);
            font-size: clamp(18px, 1.45vw, 22px);
            line-height: 1.55;
        }

        .trb-hero-v29 .trb-hero-slogan::before,
        .trb-hero-v29 .trb-hero-slogan::after {
            display: none !important;
            content: none !important;
        }

        .trb-hero-v29 .trb-hero-local {
            max-width: 650px;
            margin: 14px 0 0;
            color: rgba(255,250,242,.74);
            font-size: 16px;
            line-height: 1.65;
        }

        .trb-hero-v29 .trb-hero-actions {
            margin-top: 28px;
        }

        .trb-hero-data {
            margin: 24px 0 0;
            color: rgba(255,250,242,.72);
            font-size: 14px;
            line-height: 1.65;
        }

        .trb-hero-data a {
            color: inherit;
            text-decoration: none;
        }

        .trb-hero-data a:hover {
            color: #fffaf2;
        }

        .trb-hero-info {
            display: none !important;
        }

        @media (max-width: 991px) {
            .trb-hero-v29 .trb-hero-inner {
                padding-top: 120px;
                padding-bottom: 78px;
            }
            .trb-hero-v29 h1 {
                font-size: clamp(42px, 10vw, 64px);
            }
            .trb-hero-lead {
                font-size: clamp(22px, 5vw, 30px);
            }
            .trb-hero-v29 .trb-hero-local {
                max-width: 92%;
                font-size: 15px;
            }
            .trb-hero-data {
                max-width: 92%;
                font-size: 13px;
            }
            .trb-hero-v29 .trb-hero-media img {
                object-position: 67% center;
            }
        }

        @media (max-width: 767px) {
            .trb-container {
                width: min(100% - 34px, 1180px);
            }
            .trb-hero-v29 .trb-hero-inner {
                padding-top: 118px;
                padding-bottom: 96px;
            }
            .trb-hero-place {
                margin-bottom: 14px;
                font-size: 10px;
                letter-spacing: .13em;
            }
            .trb-hero-v29 h1 {
                font-size: clamp(38px, 13vw, 54px);
                line-height: 1.02;
            }
            .trb-hero-lead {
                margin-top: 16px;
                font-size: clamp(21px, 7vw, 30px);
                line-height: 1.2;
            }
            .trb-hero-v29 .trb-hero-slogan {
                margin-top: 18px;
                max-width: 94%;
                font-size: 16px;
            }
            .trb-hero-v29 .trb-hero-local {
                display: none;
            }
            .trb-hero-v29 .trb-actions {
                margin-top: 24px;
            }
            .trb-hero-v29 .trb-actions .trb-btn {
                width: 100%;
            }
            .trb-hero-data {
                display: none;
            }
            .trb-hero-v29 .trb-hero-media img {
                object-position: 69% center;
            }
        }
    

        /* =========================================================
           TREBOL V33 - AJUSTE HEADER Y REDES
           - El texto respeta margen real del contenedor.
           - La barra de teléfono/correo/redes no aparece arriba.
           - El menú queda transparente en hero y verde solo después.
        ========================================================= */
        .top-bar-area {
            display: none !important;
            height: 0 !important;
            min-height: 0 !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
            overflow: hidden !important;
        }

        body,
        body.trebol-nav-scrolled {
            padding-top: 0 !important;
        }

        header,
        body.trebol-nav-scrolled header {
            top: 0 !important;
        }

        body:not(.trebol-nav-scrolled) header,
        body:not(.trebol-nav-scrolled) header nav,
        body:not(.trebol-nav-scrolled) header .navbar,
        body:not(.trebol-nav-scrolled) header .navbar-default,
        body:not(.trebol-nav-scrolled) header .navbar-collapse,
        body:not(.trebol-nav-scrolled) header .navbar-header,
        body:not(.trebol-nav-scrolled) header .main-menu,
        body:not(.trebol-nav-scrolled) header .attr-nav,
        body:not(.trebol-nav-scrolled) header .nav-wrapper,
        body:not(.trebol-nav-scrolled) header .bg-theme,
        body:not(.trebol-nav-scrolled) header .container,
        body:not(.trebol-nav-scrolled) header .container-fluid {
            background: transparent !important;
            background-color: transparent !important;
            box-shadow: none !important;
            border-color: transparent !important;
        }

        body.trebol-nav-scrolled header,
        body.trebol-nav-scrolled header nav,
        body.trebol-nav-scrolled header .navbar,
        body.trebol-nav-scrolled header .navbar-default,
        body.trebol-nav-scrolled header .navbar-collapse,
        body.trebol-nav-scrolled header .navbar-header,
        body.trebol-nav-scrolled header .main-menu,
        body.trebol-nav-scrolled header .attr-nav,
        body.trebol-nav-scrolled header .nav-wrapper,
        body.trebol-nav-scrolled header .bg-theme,
        body.trebol-nav-scrolled header .container,
        body.trebol-nav-scrolled header .container-fluid {
            background: var(--trb-green) !important;
            background-color: var(--trb-green) !important;
            box-shadow: none !important;
        }

        body.trebol-nav-scrolled header {
            border-bottom: 1px solid rgba(255,255,255,.12) !important;
            box-shadow: 0 16px 34px rgba(0,0,0,.16) !important;
        }

        .trb-hero-v30 {
            min-height: 100vh;
            min-height: 100svh;
            align-items: flex-end;
            padding: 0 !important;
        }

        .trb-hero-v30 .trb-hero-media img {
            object-position: 65% center;
            filter: saturate(.98) contrast(1.02) brightness(.84);
            transform: none !important;
        }

        .trb-hero-v30::after {
            background:
                linear-gradient(90deg, rgba(8,7,6,.82) 0%, rgba(8,7,6,.62) 40%, rgba(8,7,6,.24) 74%, rgba(8,7,6,.34) 100%),
                linear-gradient(180deg, rgba(8,7,6,.18) 0%, rgba(8,7,6,.05) 48%, rgba(8,7,6,.78) 100%);
        }

        .trb-hero-v30 .trb-hero-inner {
            width: min(100% - 96px, 1120px) !important;
            max-width: 1120px !important;
            margin: 0 auto !important;
            padding-top: clamp(132px, 17vh, 184px) !important;
            padding-bottom: clamp(72px, 10vh, 118px) !important;
            display: block !important;
        }

        .trb-hero-v30 .trb-hero-main {
            max-width: 680px !important;
            margin: 0 !important;
        }

        .trb-hero-v30 .trb-hero-place {
            display: block;
            margin: 0 0 18px !important;
            color: #d8b172;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .trb-hero-v30 h1 {
            max-width: 660px !important;
            margin: 0 !important;
            font-size: clamp(48px, 6.1vw, 78px) !important;
            line-height: 1.01 !important;
            letter-spacing: -.048em !important;
        }

        .trb-hero-v30 .trb-hero-lead {
            max-width: 640px;
            margin: 20px 0 0 !important;
            font-size: clamp(24px, 2.5vw, 34px) !important;
            line-height: 1.22 !important;
        }

        .trb-hero-v30 .trb-hero-slogan {
            max-width: 560px !important;
            margin: 22px 0 0 !important;
            padding: 0 !important;
            color: rgba(255,250,242,.90) !important;
            font-size: clamp(17px, 1.35vw, 20px) !important;
            line-height: 1.6 !important;
        }

        .trb-hero-v30 .trb-hero-slogan::before,
        .trb-hero-v30 .trb-hero-slogan::after {
            display: none !important;
            content: none !important;
        }

        .trb-hero-v30 .trb-hero-local {
            max-width: 580px !important;
            margin: 12px 0 0 !important;
            color: rgba(255,250,242,.72) !important;
            font-size: 13px !important;
            line-height: 1.7 !important;
        }

        .trb-hero-v30 .trb-hero-actions {
            margin-top: 30px !important;
        }

        .trb-hero-v30 .trb-hero-data {
            margin-top: 22px !important;
            color: rgba(255,250,242,.68) !important;
            font-size: 12px !important;
            line-height: 1.5 !important;
        }

        .trb-footer-contact-strip {
            background: var(--trb-green);
            color: var(--trb-cream);
            border-top: 1px solid rgba(255,255,255,.12);
            border-bottom: 1px solid rgba(255,255,255,.12);
            padding: 26px 0;
        }

        .trb-footer-contact-inner {
            display: grid;
            grid-template-columns: 1fr 1.1fr 1.6fr auto;
            gap: 22px;
            align-items: center;
        }

        .trb-footer-contact-strip span {
            display: block;
            margin-bottom: 6px;
            color: rgba(255,250,242,.62);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .trb-footer-contact-strip a {
            color: var(--trb-cream);
            text-decoration: none;
            font-size: 15px;
            font-weight: 700;
        }

        .trb-footer-social {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .trb-footer-social span { margin: 0 4px 0 0; }
        .trb-footer-social a { font-size: 20px; line-height: 1; }

        @media (max-width: 991px) {
            .trb-hero-v30 .trb-hero-inner {
                width: min(100% - 58px, 1120px) !important;
                padding-top: 126px !important;
                padding-bottom: 92px !important;
            }
            .trb-hero-v30 h1 {
                font-size: clamp(44px, 9vw, 66px) !important;
            }
            .trb-hero-v30 .trb-hero-media img {
                object-position: 68% center;
            }
            .trb-footer-contact-inner {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 767px) {
            .trb-hero-v30 {
                min-height: 100svh;
            }
            .trb-hero-v30 .trb-hero-inner {
                width: min(100% - 34px, 1120px) !important;
                padding-top: 112px !important;
                padding-bottom: 104px !important;
            }
            .trb-hero-v30 .trb-hero-place {
                font-size: 10px;
                line-height: 1.4;
                letter-spacing: .13em;
            }
            .trb-hero-v30 h1 {
                font-size: clamp(38px, 11.5vw, 52px) !important;
                line-height: 1.04 !important;
                letter-spacing: -.04em !important;
            }
            .trb-hero-v30 .trb-hero-lead {
                font-size: clamp(21px, 6.3vw, 29px) !important;
                line-height: 1.22 !important;
            }
            .trb-hero-v30 .trb-hero-slogan {
                max-width: 94% !important;
                font-size: 15.5px !important;
                line-height: 1.58 !important;
            }
            .trb-hero-v30 .trb-hero-local {
                display: none !important;
            }
            .trb-hero-v30 .trb-hero-actions {
                margin-top: 24px !important;
            }
            .trb-hero-v30 .trb-actions .trb-btn {
                width: 100%;
            }
            .trb-hero-v30 .trb-hero-data {
                display: none !important;
            }
            .trb-hero-v30 .trb-hero-media img {
                object-position: 70% center;
            }
            .trb-footer-contact-inner {
                grid-template-columns: 1fr;
                gap: 16px;
            }
            .trb-footer-contact-strip {
                padding-bottom: 92px;
            }
        }


        /* =========================================================
           TREBOL V33 - CORRECCIÓN FINAL VERDE UNICO REAL
           Un solo verde, sin parche encima ni franja extra.
        ========================================================= */
        :root {
            --trb-green: #008f3a;
            --trb-green-2: #008f3a;
        }

        body.trebol-nav-scrolled header,
        body.trebol-nav-scrolled header nav,
        body.trebol-nav-scrolled header .navbar,
        body.trebol-nav-scrolled header .navbar-default,
        body.trebol-nav-scrolled header .navbar-collapse,
        body.trebol-nav-scrolled header .navbar-header,
        body.trebol-nav-scrolled header .main-menu,
        body.trebol-nav-scrolled header .attr-nav,
        body.trebol-nav-scrolled header .nav-wrapper,
        body.trebol-nav-scrolled header .bg-theme,
        body.trebol-nav-scrolled header .container,
        body.trebol-nav-scrolled header .container-fluid,
        body.trebol-nav-scrolled header .navbar-sticky,
        body.trebol-nav-scrolled header .navbar-sticky.sticked,
        body.trebol-nav-scrolled header .bootsnav,
        body.trebol-nav-scrolled header .site-navigation,
        body.trebol-nav-scrolled header .header-area,
        body.trebol-nav-scrolled header .header-main {
            background: #008f3a !important;
            background-color: #008f3a !important;
            border-color: rgba(255,255,255,.10) !important;
            box-shadow: none !important;
        }

        body.trebol-nav-scrolled header {
            padding: 0 !important;
            margin: 0 !important;
            border-bottom: 1px solid rgba(255,255,255,.12) !important;
            box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
        }

        body.trebol-nav-scrolled header::before,
        body.trebol-nav-scrolled header::after,
        body.trebol-nav-scrolled header nav::before,
        body.trebol-nav-scrolled header nav::after,
        body.trebol-nav-scrolled header .navbar::before,
        body.trebol-nav-scrolled header .navbar::after,
        body.trebol-nav-scrolled header .container::before,
        body.trebol-nav-scrolled header .container::after,
        body.trebol-nav-scrolled header .container-fluid::before,
        body.trebol-nav-scrolled header .container-fluid::after {
            background: transparent !important;
            background-color: transparent !important;
            box-shadow: none !important;
            border: 0 !important;
        }

        body.trebol-nav-scrolled header .attr-nav > ul > li > a,
        body.trebol-nav-scrolled header .navbar-nav > li > a {
            color: #fffaf2 !important;
        }

        body.trebol-nav-scrolled header .attr-nav > ul > li > a {
            background: #fffaf2 !important;
            color: #008f3a !important;
            border-color: #fffaf2 !important;
        }

        .trb-footer-social a {
            width: 28px;
            height: 28px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fffaf2 !important;
            text-decoration: none !important;
        }


        /* =========================================================
           TREBOL V33 - HERO SIN FRASE LOCAL
           Fuerza el mismo verde en toda la barra para evitar parches oscuros.
        ========================================================= */
        :root {
            --trb-green: #008f3a !important;
            --trb-green-2: #008f3a !important;
        }

        body.trebol-nav-scrolled header,
        body.trebol-nav-scrolled header *,
        body.trebol-nav-scrolled header nav,
        body.trebol-nav-scrolled header .navbar,
        body.trebol-nav-scrolled header .navbar-default,
        body.trebol-nav-scrolled header .navbar-collapse,
        body.trebol-nav-scrolled header .navbar-header,
        body.trebol-nav-scrolled header .main-menu,
        body.trebol-nav-scrolled header .attr-nav,
        body.trebol-nav-scrolled header .nav-wrapper,
        body.trebol-nav-scrolled header .bg-theme,
        body.trebol-nav-scrolled header .container,
        body.trebol-nav-scrolled header .container-fluid,
        body.trebol-nav-scrolled header .navbar-sticky,
        body.trebol-nav-scrolled header .bootsnav,
        body.trebol-nav-scrolled header .site-navigation,
        body.trebol-nav-scrolled header .header-area,
        body.trebol-nav-scrolled header .header-main {
            background: #008f3a !important;
            background-color: #008f3a !important;
            box-shadow: none !important;
        }

        body.trebol-nav-scrolled header a,
        body.trebol-nav-scrolled header .navbar-nav > li > a {
            color: #fffaf2 !important;
        }

        body.trebol-nav-scrolled header .attr-nav > ul > li > a {
            background: #fffaf2 !important;
            background-color: #fffaf2 !important;
            color: #008f3a !important;
            border-color: #fffaf2 !important;
        }

        .trb-footer-contact-strip,
        .trb-footer-contact-strip *,
        .trb-footer-contact-strip .trb-footer-contact-inner {
            background-color: #008f3a !important;
        }

        .trb-footer-contact-strip a,
        .trb-footer-contact-strip span,
        .trb-footer-social a {
            color: #fffaf2 !important;
        }


        /* =========================================================
           TREBOL V36 - PRENSA HORIZONTAL E INTELIGENTE
           Mantiene el titular, una imagen principal y dos menciones sin cortar. Aprovecha mejor el ancho de pantalla en escritorio.
        ========================================================= */
        /* =========================================================
           TREBOL V74 - HISTORIAS Y PRENSA TARJETAS MAS CLARAS
           Se mantiene el fondo café, pero se aclaran las tarjetas
           para que no se vean opacas ni se pierdan en la sección.
        ========================================================= */
        .trb-press-home {
            background: #2A2016 !important;
            color: #fffaf2 !important;
            border-bottom: 1px solid rgba(255,250,242,.16) !important;
        }

        .trb-press-home .trb-eyebrow {
            color: #b9f3c7 !important;
        }

        .trb-press-home-head {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
            gap: clamp(24px, 5vw, 68px);
            align-items: end;
            margin-bottom: clamp(26px, 4vw, 44px);
        }

        .trb-press-home-title .trb-title {
            max-width: 760px;
            font-size: clamp(42px, 5.6vw, 74px);
            line-height: 1.03;
            letter-spacing: -.045em;
            color: #fffaf2 !important;
        }

        .trb-press-home-copy {
            max-width: 420px;
            justify-self: end;
        }

        .trb-press-home-copy p {
            margin: 0 0 20px;
            color: rgba(255,250,242,.82) !important;
            font-size: clamp(17px, 1.15vw, 19px);
            line-height: 1.72;
        }

        .trb-press-home-copy .trb-btn.dark {
            background: #008f3a !important;
            border-color: #008f3a !important;
            color: #fffaf2 !important;
        }

        .trb-press-home-copy .trb-btn.dark:hover {
            background: #fffaf2 !important;
            border-color: #fffaf2 !important;
            color: #008f3a !important;
        }

        .trb-press-layout {
            display: grid;
            grid-template-columns: 1fr;
            gap: clamp(18px, 2vw, 24px);
        }

        .trb-press-featured {
            display: grid;
            grid-template-columns: minmax(380px, 46%) minmax(0, 1fr);
            align-items: stretch;
            background: #fffaf2;
            border: 1px solid rgba(255,250,242,.34);
            box-shadow: 0 24px 70px rgba(0,0,0,.22);
            overflow: hidden;
            min-height: clamp(330px, 32vw, 430px);
        }

        .trb-press-featured a,
        .trb-press-mention a {
            color: inherit;
            text-decoration: none;
        }

        .trb-press-featured > a {
            display: block;
            min-height: 100%;
        }

        .trb-press-featured figure {
            margin: 0;
            height: 100%;
            min-height: clamp(330px, 32vw, 430px);
            background: #fffaf2;
            overflow: hidden;
        }

        .trb-press-featured img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform .35s ease;
        }

        .trb-press-featured:hover img {
            transform: scale(1.018);
        }

        .trb-press-featured-body {
            padding: clamp(28px, 4.5vw, 54px);
            display: flex;
            flex-direction: column;
            justify-content: center;
            background: #fffaf2;
        }

        .trb-press-source {
            display: inline-flex;
            align-items: center;
            margin-bottom: 14px;
            color: var(--trb-green);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .14em;
            text-transform: uppercase;
        }

        .trb-press-featured h3,
        .trb-press-mention h3 {
            margin: 0;
            color: var(--trb-ink) !important;
            font-family: Georgia, 'Times New Roman', serif;
            font-weight: 400;
            letter-spacing: -.025em;
        }

        .trb-press-featured h3 {
            max-width: 760px;
            font-size: clamp(32px, 3.8vw, 56px);
            line-height: 1.05;
        }

        .trb-press-featured p,
        .trb-press-mention p {
            color: rgba(17,16,13,.70) !important;
            font-size: 16px;
            line-height: 1.68;
        }

        .trb-press-featured p {
            margin: 18px 0 0;
            max-width: 680px;
            font-size: clamp(16px, 1.1vw, 18px);
        }

        .trb-press-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 24px;
        }

        .trb-press-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 12px 18px;
            border: 1px solid rgba(42,32,22,.22);
            color: var(--trb-ink) !important;
            background: transparent;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
            text-decoration: none;
            transition: background .2s ease, color .2s ease, border-color .2s ease;
        }

        .trb-press-action:hover {
            background: var(--trb-green);
            border-color: var(--trb-green);
            color: #fffaf2 !important;
        }

        .trb-press-side {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(16px, 2vw, 22px);
            background: transparent;
            border: 0;
        }

        .trb-press-side-label {
            grid-column: 1 / -1;
            padding: 0;
            border: 0;
            color: rgba(255,250,242,.88);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .13em;
            text-transform: uppercase;
        }

        .trb-press-mention {
            min-height: 245px;
            padding: clamp(24px, 3vw, 34px);
            border: 1px solid rgba(255,250,242,.36);
            background: #fffaf2;
            box-shadow: 0 18px 48px rgba(0,0,0,.18);
            display: flex;
            flex-direction: column;
        }

        .trb-press-mention h3 {
            font-size: clamp(25px, 2.4vw, 38px);
            line-height: 1.1;
        }

        .trb-press-mention p {
            margin: 13px 0 0;
        }

        .trb-press-mention .trb-press-actions {
            margin-top: auto;
            padding-top: 18px;
        }

        @media (max-width: 1199px) {
            .trb-press-featured {
                grid-template-columns: minmax(330px, 44%) minmax(0, 1fr);
            }
        }

        @media (max-width: 991px) {
            .trb-press-home-head {
                grid-template-columns: 1fr;
            }
            .trb-press-home-copy {
                justify-self: start;
                max-width: 680px;
            }
            .trb-press-featured {
                grid-template-columns: 1fr;
                min-height: 0;
            }
            .trb-press-featured figure {
                min-height: 320px;
            }
            .trb-press-featured-body {
                justify-content: flex-start;
            }
        }

        @media (max-width: 767px) {
            .trb-press-side {
                grid-template-columns: 1fr;
            }
            .trb-press-mention {
                min-height: 0;
            }
        }

        @media (max-width: 575px) {
            .trb-press-home-title .trb-title {
                font-size: clamp(38px, 11vw, 54px);
            }
            .trb-press-home-copy p {
                font-size: 16px;
            }
            .trb-press-featured figure {
                min-height: 230px;
            }
            .trb-press-featured-body,
            .trb-press-mention {
                padding: 22px;
            }
            .trb-press-featured h3,
            .trb-press-mention h3 {
                font-size: clamp(24px, 7vw, 34px);
                line-height: 1.12;
            }
            .trb-press-actions {
                gap: 8px;
            }
            .trb-press-action {
                width: 100%;
            }
        }


        /* TREBOL V43 - Reservas limpio, alineado y responsive */
        .trb-reserva-pro {
            background:
                radial-gradient(circle at 18% 12%, rgba(0,143,58,.12), transparent 32%),
                #2A2016;
            color: var(--trb-cream);
            overflow: hidden;
        }

        .trb-reserva-shell {
            display: grid;
            grid-template-columns: minmax(0, .92fr) minmax(390px, 520px);
            gap: clamp(42px, 7vw, 92px);
            align-items: center;
        }

        .trb-reserva-copy .trb-title,
        .trb-reserva-copy h2 {
            color: var(--trb-cream) !important;
            max-width: 560px;
            margin-bottom: 18px;
        }

        .trb-reserva-intro {
            max-width: 620px;
            margin: 0;
            color: rgba(255,250,242,.78) !important;
            font-size: clamp(17px, 1.25vw, 20px);
            line-height: 1.7;
        }

        .trb-reserva-details {
            margin-top: 34px;
            max-width: 680px;
            border-top: 1px solid rgba(255,250,242,.16);
        }

        .trb-reserva-detail {
            display: grid;
            grid-template-columns: 132px minmax(0, 1fr);
            gap: 18px;
            align-items: center;
            padding: 18px 0;
            border-bottom: 1px solid rgba(255,250,242,.13);
        }

        .trb-reserva-detail strong {
            color: var(--trb-gold);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .14em;
            text-transform: uppercase;
        }

        .trb-reserva-detail a,
        .trb-reserva-detail span {
            color: rgba(255,250,242,.86) !important;
            text-decoration: none;
            font-size: 15px;
            line-height: 1.55;
        }

        .trb-reserva-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 30px;
        }

        .trb-reserva-actions .trb-btn.ghost {
            background: transparent;
            color: var(--trb-cream);
            border-color: rgba(255,250,242,.32);
        }

        .trb-reserva-card {
            position: relative;
            background: #fffaf2;
            color: var(--trb-ink);
            border: 1px solid rgba(255,250,242,.74);
            border-radius: 30px;
            padding: clamp(24px, 3.3vw, 40px);
            box-shadow: 0 36px 90px rgba(0,0,0,.34);
        }

        .trb-reserva-card::before {
            content: "";
            position: absolute;
            inset: 12px;
            border: 1px solid rgba(17,16,13,.08);
            border-radius: 22px;
            pointer-events: none;
        }

        .trb-reserva-card-head {
            position: relative;
            margin-bottom: 24px;
            padding-bottom: 18px;
            border-bottom: 1px solid rgba(17,16,13,.10);
        }

        .trb-reserva-card-head span {
            display: block;
            color: var(--trb-green);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .13em;
            text-transform: uppercase;
        }

        .trb-reserva-card-head p {
            max-width: 410px;
            margin: 8px 0 0;
            color: rgba(17,16,13,.66) !important;
            font-size: 15px;
            line-height: 1.55;
        }

        .trb-form-clean,
        .trb-form-clean * {
            box-sizing: border-box;
        }

        .trb-form-grid {
            position: relative;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 18px 18px;
            z-index: 1;
        }

        .trb-field,
        .trb-field-full {
            min-width: 0;
        }

        .trb-field-full {
            grid-column: 1 / -1;
        }

        .trb-field label {
            display: block;
            margin: 0 0 8px;
            color: rgba(17,16,13,.74) !important;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .04em;
        }

        .trb-form-clean .form-control,
        .trb-form-clean input.form-control {
            width: 100%;
            height: 52px;
            min-height: 52px;
            margin: 0;
            padding: 0 16px;
            border: 1px solid rgba(17,16,13,.14) !important;
            border-radius: 14px !important;
            background: #ffffff !important;
            color: var(--trb-ink) !important;
            font-size: 15px;
            line-height: 52px;
            box-shadow: none !important;
            outline: none !important;
        }

        .trb-form-clean .form-control::placeholder {
            color: rgba(17,16,13,.42) !important;
        }

        .trb-form-clean .form-control:focus {
            border-color: rgba(0,143,58,.55) !important;
            box-shadow: 0 0 0 4px rgba(0,143,58,.10) !important;
        }

        .trb-date-field {
            display: flex !important;
            align-items: stretch !important;
            width: 100%;
            height: 52px;
            min-height: 52px;
            border: 1px solid rgba(17,16,13,.14) !important;
            border-radius: 14px !important;
            background: #fff !important;
            overflow: hidden;
            box-shadow: none !important;
        }

        .trb-date-field input.form-control {
            flex: 1 1 auto;
            min-width: 0;
            height: 50px !important;
            min-height: 50px !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            line-height: 50px;
            box-shadow: none !important;
        }

        .trb-date-field .input-group-addon {
            position: static !important;
            top: auto !important;
            right: auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex: 0 0 54px;
            width: 54px !important;
            height: 52px !important;
            min-width: 54px;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-left: 1px solid rgba(17,16,13,.10) !important;
            border-radius: 0 !important;
            background: var(--trb-green) !important;
            color: #fffaf2 !important;
            line-height: 1 !important;
        }

        .trb-date-field .input-group-addon i {
            color: #fffaf2 !important;
            font-size: 15px;
            line-height: 1;
        }

        .trb-form-clean button#sendform-c {
            width: 100%;
            min-height: 54px;
            margin-top: 6px;
            border: 0;
            border-radius: 14px;
            background: var(--trb-green);
            color: #fffaf2;
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .13em;
            text-transform: uppercase;
            box-shadow: 0 14px 28px rgba(0,143,58,.22);
        }

        .trb-form-clean button#sendform-c:hover {
            filter: brightness(.96);
        }

        @media (max-width: 991px) {
            .trb-reserva-shell {
                grid-template-columns: 1fr;
                align-items: start;
            }
            .trb-reserva-card {
                max-width: 620px;
                width: 100%;
            }
        }

        @media (max-width: 575px) {
            .trb-reserva-pro {
                padding-top: 72px;
                padding-bottom: 86px;
            }
            .trb-reserva-copy .trb-title,
            .trb-reserva-copy h2 {
                font-size: clamp(38px, 11vw, 58px);
                line-height: 1.05;
            }
            .trb-reserva-detail {
                grid-template-columns: 1fr;
                gap: 6px;
                padding: 16px 0;
            }
            .trb-reserva-actions {
                display: grid;
                grid-template-columns: 1fr;
            }
            .trb-form-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }
            .trb-reserva-card {
                border-radius: 24px;
                padding: 24px 20px;
            }
            .trb-reserva-card::before {
                inset: 8px;
                border-radius: 18px;
            }
            .trb-date-field .input-group-addon {
                flex-basis: 50px;
                width: 50px !important;
                min-width: 50px;
            }
        }



        /* =========================================================
           TREBOL V45 - CAFÉ CACAO PROFUNDO
           Reemplaza fondos negros restantes por un tono cálido que combina con el verde Trébol.
        ========================================================= */
        :root {
            --trb-cacao: #2A2016;
            --trb-dark: #2A2016;
            --trb-ink: #2A2016;
            --trb-line-dark: rgba(255,250,242,.18);
        }

        body,
        .trebol-v27 {
            background-color: var(--trb-earth) !important;
        }

        .trb-section:not(.light):not(.warm):not(.trb-press-home):not(.trb-reserva-pro),
        .trb-reserva-pro,
        .trb-footer-contact-strip + footer,
        .trb-menu-photo,
        .trb-figure,
        .trb-press-featured figure {
            background-color: var(--trb-cacao) !important;
        }

        .trb-reserva-pro {
            background:
                radial-gradient(circle at 18% 12%, rgba(0,143,58,.12), transparent 32%),
                var(--trb-cacao) !important;
        }

        .trb-menu-photo.is-low-res,
        .trb-menu-photo.is-low-res img,
        #menutre .trb-menu-photo.is-carta-fixed {
            background-color: var(--trb-cacao) !important;
        }

        .trb-figure figcaption {
            background: rgba(42,32,22,.68) !important;
        }



        /* =========================================================
           TREBOL V46 - CARTA DIGITAL MÁS APETITOSA
           Reemplaza el plomo frío por tonos crema, dorado y madera.
           Solo afecta la sección Carta digital.
        ========================================================= */
        #menutre.trb-section.warm {
            background:
                radial-gradient(circle at 78% 20%, rgba(255, 192, 94, .34), transparent 34%),
                radial-gradient(circle at 12% 85%, rgba(184, 120, 58, .18), transparent 32%),
                linear-gradient(135deg, #fff2d8 0%, #f4cf9a 48%, #d99a55 100%) !important;
            color: #2A2016 !important;
            border-bottom-color: rgba(87, 48, 22, .16) !important;
        }

        #menutre .trb-container.trb-split {
            grid-template-columns: minmax(0, .98fr) minmax(320px, 430px) !important;
            gap: clamp(28px, 5vw, 64px) !important;
            align-items: center !important;
            position: relative;
            overflow: hidden;
            padding: clamp(26px, 4.5vw, 58px) !important;
            border-radius: 34px;
            background: rgba(255, 250, 242, .58);
            border: 1px solid rgba(115, 66, 28, .18);
            box-shadow: 0 30px 90px rgba(102, 54, 20, .18);
            backdrop-filter: blur(6px);
        }

        #menutre .trb-text {
            max-width: 660px;
            position: relative;
            z-index: 2;
        }

        #menutre .trb-eyebrow {
            color: #8B4A1F !important;
            margin-bottom: 14px !important;
        }

        #menutre .trb-title {
            color: #3A2113 !important;
            text-wrap: balance;
            max-width: 690px;
            margin-bottom: 22px !important;
        }

        #menutre .trb-text p {
            color: rgba(58, 33, 19, .80) !important;
            font-size: clamp(17px, 1.55vw, 21px) !important;
            line-height: 1.7 !important;
            max-width: 620px;
        }

        #menutre .trb-menu-tags {
            gap: 10px !important;
            margin-top: 24px !important;
            margin-bottom: 28px !important;
        }

        #menutre .trb-menu-tags span {
            color: #4A2816 !important;
            background: rgba(255, 248, 232, .86) !important;
            border: 1px solid rgba(126, 73, 32, .18) !important;
            box-shadow: 0 10px 24px rgba(92, 49, 19, .08);
        }

        #menutre .trb-actions .trb-btn.dark:first-child {
            background: var(--trb-green) !important;
            border-color: var(--trb-green) !important;
            color: #fffaf2 !important;
        }

        #menutre .trb-actions .trb-btn.dark:first-child:hover {
            background: #007832 !important;
            border-color: #007832 !important;
            color: #fffaf2 !important;
        }

        #menutre .trb-actions .trb-btn.dark:last-child {
            background: #2A2016 !important;
            border-color: #2A2016 !important;
            color: #fffaf2 !important;
        }

        #menutre .trb-actions .trb-btn.dark:last-child:hover {
            background: #3D2A1A !important;
            border-color: #3D2A1A !important;
            color: #fffaf2 !important;
        }

        #menutre .trb-menu-photo.is-carta-fixed {
            width: 100% !important;
            max-width: 430px !important;
            aspect-ratio: 4 / 5 !important;
            justify-self: end !important;
            border-radius: 30px !important;
            background: #4A2816 !important;
            box-shadow: 0 34px 85px rgba(80, 38, 14, .28) !important;
            border: 9px solid rgba(255, 250, 242, .72);
        }

        #menutre .trb-menu-photo.is-carta-fixed img {
            object-fit: cover !important;
            object-position: center center !important;
            filter: saturate(1.08) contrast(1.04) brightness(1.02);
        }

        #menutre .trb-menu-photo.is-carta-fixed figcaption {
            left: 16px !important;
            right: 16px !important;
            bottom: 16px !important;
            color: #fff7e8 !important;
            background: rgba(58, 33, 19, .72) !important;
            border: 1px solid rgba(255, 250, 242, .20);
            border-radius: 18px;
            backdrop-filter: blur(10px);
        }

        @media (max-width: 991px) {
            #menutre .trb-container.trb-split {
                grid-template-columns: 1fr !important;
                padding: 28px !important;
                border-radius: 28px;
            }

            #menutre .trb-menu-photo.is-carta-fixed {
                justify-self: center !important;
                width: min(100%, 430px) !important;
                max-width: 430px !important;
            }
        }

        @media (max-width: 575px) {
            #menutre.trb-section.warm {
                padding-top: 58px !important;
                padding-bottom: 62px !important;
            }

            #menutre .trb-container.trb-split {
                width: min(100% - 30px, 100%) !important;
                padding: 22px !important;
                gap: 14px !important;
                border-radius: 24px;
            }

            #menutre .trb-title {
                font-size: clamp(38px, 12vw, 52px) !important;
                line-height: 1.03 !important;
            }

            #menutre .trb-text p {
                font-size: 15px !important;
                line-height: 1.65 !important;
            }

            #menutre .trb-menu-photo.is-carta-fixed {
                aspect-ratio: 4 / 5 !important;
                border-width: 6px;
                border-radius: 22px !important;
            }
        }

/* ===================== BLOQUE CSS 2 | origen index.php línea 2703 ===================== */
/* =========================================================
           TREBOL V56 - HISTORIAS Y PRENSA RESPONSIVE REAL
           Corrige solo móvil. El CSS ahora sí está dentro de <style>.
        ========================================================= */
        @media (max-width: 767px) {
            html body #historias.trb-section.trb-press-home {
                padding: 34px 0 38px !important;
                overflow: hidden !important;
            }

            html body #historias.trb-section.trb-press-home .trb-container {
                width: min(100% - 30px, 1120px) !important;
                max-width: 1120px !important;
                margin-left: auto !important;
                margin-right: auto !important;
            }

            html body #historias .trb-press-home-head {
                display: block !important;
                grid-template-columns: 1fr !important;
                gap: 0 !important;
                margin: 0 0 18px !important;
            }

            html body #historias .trb-press-home-title .trb-title {
                font-size: clamp(28px, 8vw, 36px) !important;
                line-height: 1.04 !important;
                letter-spacing: -.04em !important;
                margin: 0 !important;
            }

            html body #historias .trb-press-home-copy {
                max-width: 100% !important;
                margin-top: 12px !important;
                justify-self: auto !important;
            }

            html body #historias .trb-press-home-copy p {
                font-size: 14px !important;
                line-height: 1.5 !important;
                margin: 0 0 12px !important;
            }

            html body #historias .trb-press-home-copy .trb-btn {
                width: 100% !important;
                min-height: 40px !important;
                padding: 11px 14px !important;
                font-size: 11px !important;
            }

            html body #historias .trb-press-layout {
                display: block !important;
                grid-template-columns: 1fr !important;
                gap: 0 !important;
            }

            html body #historias .trb-press-featured {
                display: block !important;
                grid-template-columns: 1fr !important;
                min-height: 0 !important;
                height: auto !important;
                max-height: none !important;
                width: 100% !important;
                overflow: hidden !important;
                border-radius: 18px !important;
                background: #fffaf2 !important;
                box-shadow: 0 16px 36px rgba(0,0,0,.18) !important;
            }

            html body #historias .trb-press-featured > a {
                display: block !important;
                width: 100% !important;
                min-height: 0 !important;
                height: auto !important;
            }

            html body #historias .trb-press-featured figure {
                display: block !important;
                width: 100% !important;
                height: 176px !important;
                min-height: 0 !important;
                max-height: 176px !important;
                aspect-ratio: auto !important;
                margin: 0 !important;
                padding: 0 !important;
                overflow: hidden !important;
                background: #f6efe4 !important;
            }

            html body #historias .trb-press-featured figure img,
            html body #historias .trb-press-featured img {
                display: block !important;
                width: 100% !important;
                height: 100% !important;
                max-height: 176px !important;
                object-fit: contain !important;
                object-position: center center !important;
                transform: none !important;
            }

            html body #historias .trb-press-featured:hover img {
                transform: none !important;
            }

            html body #historias .trb-press-featured-body {
                display: block !important;
                padding: 16px !important;
                min-height: 0 !important;
                height: auto !important;
            }

            html body #historias .trb-press-source {
                font-size: 9px !important;
                margin: 0 0 8px !important;
            }

            html body #historias .trb-press-featured h3 {
                font-size: clamp(20px, 6vw, 25px) !important;
                line-height: 1.12 !important;
                margin: 0 !important;
            }

            html body #historias .trb-press-featured p {
                margin: 10px 0 0 !important;
                font-size: 13.5px !important;
                line-height: 1.48 !important;
                display: -webkit-box !important;
                -webkit-line-clamp: 3 !important;
                -webkit-box-orient: vertical !important;
                overflow: hidden !important;
            }

            html body #historias .trb-press-actions {
                margin-top: 12px !important;
                gap: 8px !important;
                display: grid !important;
                grid-template-columns: 1fr !important;
            }

            html body #historias .trb-press-action {
                width: 100% !important;
                min-height: 38px !important;
                padding: 10px 13px !important;
                font-size: 10.5px !important;
            }

            html body #historias .trb-press-side {
                display: grid !important;
                grid-template-columns: 1fr !important;
                gap: 10px !important;
                margin-top: 12px !important;
            }

            html body #historias .trb-press-side-label {
                font-size: 9px !important;
                margin: 0 !important;
            }

            html body #historias .trb-press-mention {
                min-height: 0 !important;
                height: auto !important;
                padding: 14px !important;
                border-radius: 16px !important;
                background: #fffaf2 !important;
                box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
            }

            html body #historias .trb-press-mention h3 {
                font-size: 19px !important;
                line-height: 1.12 !important;
                margin: 0 !important;
            }

            html body #historias .trb-press-mention p {
                font-size: 13px !important;
                line-height: 1.45 !important;
                margin-top: 8px !important;
                display: -webkit-box !important;
                -webkit-line-clamp: 2 !important;
                -webkit-box-orient: vertical !important;
                overflow: hidden !important;
            }
        }

        @media (max-width: 380px) {
            html body #historias .trb-press-featured figure,
            html body #historias .trb-press-featured figure img,
            html body #historias .trb-press-featured img {
                height: 154px !important;
                max-height: 154px !important;
            }
        }

/* ===================== BLOQUE CSS 3 | origen index.php línea 3021 ===================== */
@media (max-width: 991px) {
                html,
                body {
                    overflow-x: hidden !important;
                }

                html body {
                    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
                }

                /* Menú hamburguesa visible desde el primer segundo en móvil */
                html body header,
                html body header nav,
                html body header .navbar,
                html body header .navbar-default,
                html body header .navbar-header,
                html body header .navbar-collapse,
                html body header .bootsnav,
                html body header .site-navigation,
                html body header .header-area,
                html body .mean-container .mean-bar,
                html body .mean-container .mean-nav {
                    background: #008f3a !important;
                    background-color: #008f3a !important;
                    border-color: rgba(255,255,255,.16) !important;
                }

                html body header a,
                html body header .navbar-nav > li > a,
                html body header .attr-nav > ul > li > a,
                html body header .navbar-toggle,
                html body header .navbar-toggle i,
                html body header .meanmenu-reveal,
                html body .mean-container .mean-bar a,
                html body .mean-container .mean-nav ul li a {
                    color: #fffaf2 !important;
                }

                html body header .navbar-toggle span,
                html body header .meanmenu-reveal span,
                html body .mean-container a.meanmenu-reveal span {
                    background: #fffaf2 !important;
                    background-color: #fffaf2 !important;
                }

                html body header .navbar-brand img,
                html body header img.logo,
                html body header .logo img {
                    filter: brightness(0) invert(1) !important;
                }

                /* Barra inferior: una sola regla, pegada al borde inferior y con tap libre */
                html body .trb-mobile-bar {
                    display: flex !important;
                    position: fixed !important;
                    left: 0 !important;
                    right: 0 !important;
                    bottom: 0 !important;
                    width: 100% !important;
                    height: auto !important;
                    min-height: 58px !important;
                    padding: 0 0 env(safe-area-inset-bottom) !important;
                    margin: 0 !important;
                    background: #008f3a !important;
                    background-color: #008f3a !important;
                    border-radius: 0 0 24px 24px !important;
                    border-top: 1px solid rgba(255,255,255,.18) !important;
                    box-shadow: 0 -10px 28px rgba(0,0,0,.18) !important;
                    z-index: 10000 !important;
                    pointer-events: auto !important;
                    transform: none !important;
                }

                html body .trb-mobile-bar a {
                    flex: 1 1 0 !important;
                    min-height: 58px !important;
                    padding: 14px 8px !important;
                    display: flex !important;
                    align-items: center !important;
                    justify-content: center !important;
                    color: #fffaf2 !important;
                    background: transparent !important;
                    text-decoration: none !important;
                    text-align: center !important;
                    border-right: 1px solid rgba(255,255,255,.18) !important;
                    font-size: 11px !important;
                    font-weight: 900 !important;
                    letter-spacing: .08em !important;
                    text-transform: uppercase !important;
                    line-height: 1 !important;
                    pointer-events: auto !important;
                    touch-action: manipulation !important;
                    position: relative !important;
                    z-index: 1 !important;
                }

                html body .trb-mobile-bar a.trb-mobile-mundo-link {
                    position: relative !important;
                    z-index: 10001 !important;
                    pointer-events: auto !important;
                    touch-action: manipulation !important;
                }

                html body .trb-mobile-bar a:last-child {
                    border-right: 0 !important;
                }

                /* Contáctanos: arriba de la barra, sin tapar Mundo */
                html body #qlwapp,
                html body .qlwapp,
                html body .qlwapp-container,
                html body .qlwapp-toggle,
                html body .joinchat,
                html body .joinchat__button,
                html body .wa__btn_popup,
                html body .whatsapp_float,
                html body .whatsapp-float,
                html body .float-whatsapp,
                html body .floating-whatsapp,
                html body .fixed-whatsapp,
                html body .chaty-widget,
                html body .chaty-widget-i,
                html body .modos-contacto,
                html body #modos-contacto,
                html body .modo-contacto,
                html body #modo-contacto,
                html body .btn-contacto-flotante,
                html body .box-modos-contacto,
                html body .modos-contacto-fixed,
                html body .btn-fixed-contact {
                    position: fixed !important;
                    right: 14px !important;
                    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
                    z-index: 10020 !important;
                    pointer-events: auto !important;
                }

                /* Volver arriba: derecha, transparente, arriba de Contáctanos */
                html body #to-top {
                    display: inline-flex !important;
                    align-items: center !important;
                    justify-content: center !important;
                    position: fixed !important;
                    right: 18px !important;
                    left: auto !important;
                    bottom: calc(138px + env(safe-area-inset-bottom)) !important;
                    width: 38px !important;
                    height: 38px !important;
                    min-width: 38px !important;
                    min-height: 38px !important;
                    border-radius: 999px !important;
                    background: transparent !important;
                    color: #008f3a !important;
                    border: 1px solid rgba(0,143,58,.22) !important;
                    box-shadow: none !important;
                    opacity: .76 !important;
                    visibility: visible !important;
                    z-index: 10021 !important;
                    pointer-events: auto !important;
                    transform: none !important;
                }
            }

            @media (max-width: 575px) {
                html body {
                    padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
                }

                html body .trb-mobile-bar {
                    min-height: 56px !important;
                    border-radius: 0 0 22px 22px !important;
                }

                html body .trb-mobile-bar a {
                    min-height: 56px !important;
                    font-size: 10.5px !important;
                    letter-spacing: .07em !important;
                }

                html body #qlwapp,
                html body .qlwapp,
                html body .qlwapp-container,
                html body .qlwapp-toggle,
                html body .joinchat,
                html body .joinchat__button,
                html body .wa__btn_popup,
                html body .whatsapp_float,
                html body .whatsapp-float,
                html body .float-whatsapp,
                html body .floating-whatsapp,
                html body .fixed-whatsapp,
                html body .chaty-widget,
                html body .chaty-widget-i,
                html body .modos-contacto,
                html body #modos-contacto,
                html body .modo-contacto,
                html body #modo-contacto,
                html body .btn-contacto-flotante,
                html body .box-modos-contacto,
                html body .modos-contacto-fixed,
                html body .btn-fixed-contact {
                    right: 12px !important;
                    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
                }

                html body #to-top {
                    right: 16px !important;
                    bottom: calc(130px + env(safe-area-inset-bottom)) !important;
                    width: 36px !important;
                    height: 36px !important;
                    min-width: 36px !important;
                    min-height: 36px !important;
                }
            }

            /* TREBOL V66 - Contactanos siempre encima de la barra inferior */
            @media (max-width: 991px) {
                html body #qlwapp,
                html body .qlwapp,
                html body .qlwapp-container,
                html body .qlwapp-toggle,
                html body .joinchat,
                html body .joinchat__button,
                html body .wa__btn_popup,
                html body .whatsapp_float,
                html body .whatsapp-float,
                html body .float-whatsapp,
                html body .floating-whatsapp,
                html body .fixed-whatsapp,
                html body .chaty-widget,
                html body .chaty-widget-i,
                html body .modos-contacto,
                html body #modos-contacto,
                html body .modo-contacto,
                html body #modo-contacto,
                html body .btn-contacto-flotante,
                html body .box-modos-contacto,
                html body .modos-contacto-fixed,
                html body .btn-fixed-contact {
                    z-index: 10020 !important;
                }

                html body #to-top {
                    z-index: 10021 !important;
                }
            }

/* ===================== BLOQUE CSS 4 | origen index.php línea 3315 ===================== */
/* =========================================================
           TREBOL V48 - FOOTER FINAL CREMA SIN MARRÓN
           Corrige solo el cierre: franja verde arriba y footer claro.
           Sin marrón, sin columnas descuadradas y sin redes repetidas.
        ========================================================= */
        .trb-footer-contact-strip {
            background: #008f3a !important;
            background-color: #008f3a !important;
            color: #fffaf2 !important;
            border: 0 !important;
            padding: clamp(9px, 1.25vw, 13px) 0 !important;
            margin: 0 !important;
        }

        .trb-footer-contact-strip .trb-container,
        .trb-footer-contact-inner {
            width: min(100% - 44px, 1120px) !important;
            max-width: 1120px !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }

        .trb-footer-contact-inner {
            display: grid !important;
            grid-template-columns: .9fr 1.05fr 1.55fr auto !important;
            gap: clamp(12px, 1.6vw, 22px) !important;
            align-items: center !important;
        }

        .trb-footer-contact-strip span {
            display: block !important;
            margin: 0 0 5px !important;
            color: rgba(255,250,242,.72) !important;
            font-size: 8px !important;
            font-weight: 900 !important;
            letter-spacing: .14em !important;
            text-transform: uppercase !important;
            line-height: 1 !important;
        }

        .trb-footer-contact-strip a {
            color: #fffaf2 !important;
            text-decoration: none !important;
            font-size: 12px !important;
            font-weight: 800 !important;
            line-height: 1.45 !important;
        }

        .trb-footer-social {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-end !important;
            gap: 14px !important;
            white-space: nowrap !important;
        }

        .trb-footer-social span {
            margin: 0 3px 0 0 !important;
        }

        .trb-footer-social a {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 22px !important;
            height: 22px !important;
            color: #fffaf2 !important;
            font-size: 15px !important;
            line-height: 1 !important;
        }

        .trb-site-footer-v54 {
            background: #f6efe4 !important;
            background-color: #f6efe4 !important;
            color: #1f1a14 !important;
            padding: clamp(44px, 6vw, 72px) 0 24px !important;
            margin: 0 !important;
            border-top: 1px solid rgba(31,26,20,.08) !important;
            overflow: hidden !important;
        }

        .trb-site-footer-v54::before,
        .trb-site-footer-v54::after {
            display: none !important;
            content: none !important;
        }

        .trb-site-footer-v54 .trb-container,
        .trb-footer-main-v54,
        .trb-footer-bottom-v54 {
            width: min(100% - 44px, 1120px) !important;
            max-width: 1120px !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }

        .trb-footer-main-v54 {
            display: grid !important;
            grid-template-columns: minmax(230px, 1.18fr) minmax(130px, .72fr) minmax(220px, .95fr) minmax(250px, 1fr) !important;
            gap: clamp(26px, 4vw, 54px) !important;
            align-items: start !important;
        }

        .trb-footer-col-v54 {
            min-width: 0 !important;
        }

        .trb-footer-col-v54 h3 {
            margin: 0 0 10px !important;
            color: #1f1a14 !important;
            font-size: clamp(20px, 1.45vw, 25px) !important;
            line-height: 1.12 !important;
            font-weight: 900 !important;
            letter-spacing: -.035em !important;
        }

        .trb-footer-col-v54 p,
        .trb-footer-col-v54 a,
        .trb-footer-col-v54 li {
            color: rgba(31,26,20,.76) !important;
            font-size: 15px !important;
            line-height: 1.72 !important;
            text-decoration: none !important;
            font-weight: 500 !important;
        }

        .trb-footer-col-v54 p {
            max-width: 330px !important;
            margin: 0 !important;
        }

        .trb-footer-menu-v54 {
            display: flex !important;
            flex-direction: column !important;
            gap: 7px !important;
            align-items: flex-start !important;
        }

        .trb-footer-menu-v54 a:hover,
        .trb-footer-link-v54:hover {
            color: #008f3a !important;
        }

        .trb-footer-link-v54 {
            display: inline-flex !important;
            align-items: center !important;
            margin-top: 10px !important;
            color: #008f3a !important;
            font-size: 13px !important;
            font-weight: 900 !important;
        }

        .trb-footer-reserve-v48 {
            padding: 24px !important;
            border-radius: 26px !important;
            background: #fffaf2 !important;
            background-color: #fffaf2 !important;
            border: 1px solid rgba(31,26,20,.09) !important;
            box-shadow: 0 24px 70px rgba(31,26,20,.10) !important;
        }

        .trb-footer-reserve-v48 p {
            margin: 0 0 18px !important;
            color: rgba(31,26,20,.74) !important;
        }

        .trb-footer-cta-v48 {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-height: 46px !important;
            padding: 13px 20px !important;
            border-radius: 999px !important;
            background: #008f3a !important;
            background-color: #008f3a !important;
            color: #fffaf2 !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            letter-spacing: .04em !important;
            text-transform: uppercase !important;
            line-height: 1 !important;
            box-shadow: 0 14px 28px rgba(0,143,58,.20) !important;
        }

        .trb-footer-cta-v48:hover {
            background: #007b32 !important;
            color: #fffaf2 !important;
        }

        .trb-footer-bottom-v54 {
            display: flex !important;
            justify-content: space-between !important;
            gap: 14px !important;
            margin-top: clamp(32px, 4vw, 52px) !important;
            padding-top: 9px !important;
            border-top: 1px solid rgba(31,26,20,.10) !important;
            color: rgba(31,26,20,.58) !important;
            font-size: 12px !important;
        }

        @media (max-width: 991px) {
            .trb-footer-contact-inner,
            .trb-footer-main-v54 {
                grid-template-columns: 1fr 1fr !important;
            }

            .trb-footer-social {
                justify-content: flex-start !important;
            }
        }

        @media (max-width: 767px) {
            .trb-footer-contact-strip {
                padding: 22px 0 !important;
            }

            .trb-footer-contact-inner,
            .trb-footer-main-v54 {
                grid-template-columns: 1fr !important;
                gap: 22px !important;
            }

            .trb-footer-social {
                justify-content: flex-start !important;
                flex-wrap: wrap !important;
            }

            .trb-site-footer-v54 {
                padding-bottom: 96px !important;
            }

            .trb-footer-reserve-v48 {
                padding: 22px !important;
            }

            .trb-footer-cta-v48 {
                width: 100% !important;
            }

            .trb-footer-bottom-v54 {
                flex-direction: column !important;
                align-items: flex-start !important;
                gap: 6px !important;
            }
        }

/* ===================== BLOQUE CSS 5 | origen index.php línea 3565 ===================== */
/* =========================================================
           TREBOL V50 - FOOTER SIN UBICACIÓN REPETIDA
           Ajuste final del footer:
           los datos de ubicación quedan solo en la franja verde superior.
           El footer principal cierra con marca, navegación, horarios y reserva.
        ========================================================= */
        html body .trb-footer-contact-strip + footer.trb-site-footer-v54,
        html body footer.trb-site-footer-v54 {
            position: relative !important;
            z-index: 2 !important;
            isolation: isolate !important;
            background: #f6efe4 !important;
            background-color: #f6efe4 !important;
            background-image: none !important;
            color: #1f1a14 !important;
            padding: clamp(12px, 1.5vw, 18px) 0 10px !important;
            margin: 0 !important;
            border-top: 1px solid rgba(31,26,20,.08) !important;
            opacity: 1 !important;
            filter: none !important;
            overflow: hidden !important;
        }

        html body footer.trb-site-footer-v54::before,
        html body footer.trb-site-footer-v54::after {
            display: none !important;
            content: none !important;
            background: transparent !important;
        }

        html body footer.trb-site-footer-v54 .trb-container,
        html body footer.trb-site-footer-v54 .trb-footer-main-v54,


        html body footer.trb-site-footer-v54 .trb-footer-link-v54,
        html body footer.trb-site-footer-v54 a.trb-footer-link-v54 {
            color: #008f3a !important;
            font-weight: 900 !important;
            text-decoration: none !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-link-v54:hover,
        html body footer.trb-site-footer-v54 a.trb-footer-link-v54:hover {
            color: #006f2e !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-bottom-v54 {
            width: min(100% - 44px, 1120px) !important;
            max-width: 1120px !important;
            margin-left: auto !important;
            margin-right: auto !important;
            opacity: 1 !important;
            filter: none !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-main-v54 {
            display: grid !important;
            grid-template-columns: minmax(210px, 1fr) minmax(140px, .72fr) minmax(190px, .78fr) !important;
            gap: clamp(14px, 1.6vw, 20px) !important;
            align-items: start !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-col-v54,
        html body footer.trb-site-footer-v54 .trb-footer-col-v54 * {
            opacity: 1 !important;
            filter: none !important;
            text-shadow: none !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-col-v54 h3 {
            margin: 0 0 10px !important;
            color: #1f1a14 !important;
            font-size: clamp(14px, .95vw, 16px) !important;
            line-height: 1.12 !important;
            font-weight: 900 !important;
            letter-spacing: -.035em !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-col-v54 p,
        html body footer.trb-site-footer-v54 .trb-footer-col-v54 a,
        html body footer.trb-site-footer-v54 .trb-footer-col-v54 li {
            color: rgba(31,26,20,.78) !important;
            font-size: 13px !important;
            line-height: 1.46 !important;
            text-decoration: none !important;
            font-weight: 600 !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-menu-v54 {
            display: flex !important;
            flex-direction: column !important;
            gap: 6px !important;
            align-items: flex-start !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-menu-v54 a:hover,
        html body footer.trb-site-footer-v54 .trb-footer-link-v54:hover {
            color: #008f3a !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-link-v54 {
            display: inline-flex !important;
            margin-top: 7px !important;
            color: #008f3a !important;
            font-size: 13px !important;
            font-weight: 900 !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-reserve-v48 {
            padding: 24px !important;
            border-radius: 24px !important;
            background: #fffaf2 !important;
            background-color: #fffaf2 !important;
            border: 1px solid rgba(31,26,20,.10) !important;
            box-shadow: 0 22px 58px rgba(31,26,20,.10) !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-reserve-v48 p {
            margin: 0 0 18px !important;
            color: rgba(31,26,20,.76) !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-cta-v48 {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-height: 46px !important;
            padding: 13px 20px !important;
            border-radius: 999px !important;
            background: #008f3a !important;
            background-color: #008f3a !important;
            color: #fffaf2 !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            letter-spacing: .045em !important;
            text-transform: uppercase !important;
            line-height: 1.25 !important;
            text-align: center !important;
            box-shadow: 0 14px 28px rgba(0,143,58,.18) !important;
        }

        html body footer.trb-site-footer-v54 .trb-footer-bottom-v54 {
            display: flex !important;
            justify-content: space-between !important;
            gap: 14px !important;
            margin-top: clamp(14px, 1.7vw, 20px) !important;
            padding-top: 18px !important;
            border-top: 1px solid rgba(31,26,20,.12) !important;
            color: rgba(31,26,20,.62) !important;
            font-size: 12px !important;
        }

        @media (max-width: 991px) {
            html body footer.trb-site-footer-v54 .trb-footer-main-v54 {
                grid-template-columns: 1fr 1fr !important;
            }
        }

        @media (max-width: 767px) {
            html body footer.trb-site-footer-v54 {
                padding: 22px 0 78px !important;
            }

            html body footer.trb-site-footer-v54 .trb-container,
            html body footer.trb-site-footer-v54 .trb-footer-main-v54,
            html body footer.trb-site-footer-v54 .trb-footer-bottom-v54 {
                width: min(100% - 34px, 1120px) !important;
            }

            html body footer.trb-site-footer-v54 .trb-footer-main-v54 {
                grid-template-columns: 1fr !important;
                gap: 24px !important;
            }

            html body footer.trb-site-footer-v54 .trb-footer-reserve-v48 {
                padding: 22px !important;
            }

            html body footer.trb-site-footer-v54 .trb-footer-cta-v48 {
                width: 100% !important;
            }

            html body footer.trb-site-footer-v54 .trb-footer-bottom-v54 {
                flex-direction: column !important;
                align-items: flex-start !important;
                gap: 6px !important;
            }
        }
    
        /* TREBOL V54 - ajuste final: footer más pequeño y Ver carta verde fijo */
        html body footer.trb-site-footer-v54 .trb-footer-link-v54,
        html body footer.trb-site-footer-v54 .trb-footer-visit-v54 > a.trb-footer-link-v54,
        html body footer.trb-site-footer-v54 a[href="#menutre"].trb-footer-link-v54 {
            color: #008f3a !important;
            font-weight: 900 !important;
            text-decoration: none !important;
        }
        html body footer.trb-site-footer-v54 .trb-footer-link-v54:hover,
        html body footer.trb-site-footer-v54 a[href="#menutre"].trb-footer-link-v54:hover {
            color: #006f2e !important;
        }
        html body footer.trb-site-footer-v54 .trb-footer-main-v54 {
            gap: clamp(14px, 1.6vw, 20px) !important;
        }
        html body footer.trb-site-footer-v54 .trb-footer-bottom-v54 {
            margin-top: clamp(12px, 1.4vw, 16px) !important;
            padding-top: 8px !important;
        }


/* TREBOL V74 - tarjetas de Historias y prensa aclaradas sin tocar estructura */

/* TREBOL V76 - Volver arriba transparente, sin bloque pesado */
@media (max-width: 991px) {
    html body #to-top {
        background: transparent !important;
        box-shadow: none !important;
        border: 1px solid rgba(0,143,58,.24) !important;
        color: #008f3a !important;
        opacity: .74 !important;
    }

    html body #to-top:hover,
    html body #to-top:focus,
    html body #to-top:active {
        background: rgba(255,255,255,.08) !important;
        color: #008f3a !important;
        opacity: 1 !important;
    }
}
