/*
 * Llano
 * Paleta inspirada en la referencia indicada: negro profundo, blanco limpio,
 * cobre #d98c3a y terracota #bd5f00. La composicion permanece propia del portal.
 */

body.theme-llano {
    --theme-sans-family: "Public Sans", "Segoe UI Variable Text", "Segoe UI", sans-serif;
    --theme-serif-family: "Source Serif 4", Georgia, serif;
    --ink: #25211e;
    --ink-soft: #6e6259;
    --line: #ded4ca;
    --line-strong: #bdaea0;
    --paper: #f5f1ec;
    --paper-deep: #e9e1d8;
    --panel: #ffffff;
    --panel-soft: #fbf8f4;
    --brand: #bd5f00;
    --brand-deep: #050505;
    --brand-soft: #f7e8d7;
    --accent: #bd5f00;
    --accent-soft: #f6e1c9;
    --shadow-soft: 0 15px 40px rgba(28, 19, 12, 0.09);
    --shadow-card: 0 12px 28px rgba(28, 19, 12, 0.065);
    --radius-lg: 0.7rem;
    --radius-md: 0.45rem;
    --radius-sm: 0.28rem;
    --professional-highlight: #d98c3a;
    --professional-focus: #a54f00;
    --professional-border-hover: #d98c3a;
    --professional-shadow-hover: 0 18px 38px rgba(96, 46, 3, 0.15);
    --professional-footer-line: rgba(217, 140, 58, 0.34);

    background:
        linear-gradient(90deg, rgba(189, 95, 0, 0.025) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, var(--paper) 58%, #eee7df 100%);
    background-size: 84px 100%, 100% 100%;
}

body.theme-llano .professional-topbar {
    border-bottom: 1px solid rgba(217, 140, 58, 0.72);
    background: #000000;
    color: #f1ebe5;
}

body.theme-llano .professional-service-label {
    color: #e8aa5f;
}

body.theme-llano .professional-service-dot {
    box-shadow: 0 0 0 0.24rem rgba(217, 140, 58, 0.18);
}

body.theme-llano .professional-header {
    border-bottom: 4px solid #ce7618;
    background: #000000;
}

body.theme-llano .professional-navbar {
    padding-block: 0.55rem 0.75rem;
}

body.theme-llano .professional-nav-surface {
    border: 0;
    border-radius: 0;
    background: #000000;
    box-shadow: none;
}

body.theme-llano .professional-brand-mark {
    border: 1px solid #d98c3a;
    border-radius: 0.2rem;
    background: #ffffff;
    color: #8e4504;
    box-shadow: inset 0 0 0 3px #ffffff, inset 0 0 0 4px rgba(217, 140, 58, 0.38);
}

body.theme-llano .professional-brand-mark-image {
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.theme-llano .professional-brand-mark-image img {
    border-radius: 0;
    background: transparent;
    object-fit: contain;
}

body.theme-llano .professional-brand-copy .brand-kicker {
    color: #d98c3a;
}

body.theme-llano .professional-brand-copy .brand-title {
    color: #ffffff;
    font-size: 1.24rem;
    font-weight: 650;
}

body.theme-llano .professional-nav-list .nav-link {
    border-radius: 0.16rem;
    color: #ffffff;
}

body.theme-llano .professional-nav-list .nav-link:hover,
body.theme-llano .professional-nav-list .nav-link.active,
body.theme-llano .professional-nav-list .show > .nav-link {
    background: rgba(217, 140, 58, 0.12);
    color: #e8aa5f;
}

body.theme-llano .professional-nav-list .nav-link.active::after {
    content: "";
    position: absolute;
    right: 0.82rem;
    bottom: 0.3rem;
    left: 0.82rem;
    height: 2px;
    background: #d98c3a;
}

body.theme-llano .professional-toggler {
    border-color: #d98c3a;
    border-radius: 0.2rem;
    background: #111111;
}

body.theme-llano .professional-toggler span {
    background: #ffffff;
}

body.theme-llano .public-menu-dropdown {
    border-top: 3px solid #d98c3a;
    background: #ffffff;
}

body.theme-llano .public-menu-dropdown .dropdown-item:hover,
body.theme-llano .public-menu-dropdown .dropdown-item.active {
    background: #f7e8d7;
    color: #8e4504;
}

body.theme-llano .public-site .btn {
    border-radius: 0.22rem;
    letter-spacing: 0.01em;
}

body.theme-llano .btn-primary {
    border-color: #bd5f00;
    background: #bd5f00;
    color: #ffffff;
    box-shadow: 0 9px 20px rgba(189, 95, 0, 0.2);
}

body.theme-llano .btn-primary:hover,
body.theme-llano .btn-primary:focus-visible {
    border-color: #8f4500;
    background: #8f4500;
    color: #ffffff;
}

body.theme-llano .btn-outline-primary {
    border-color: #bd5f00;
    background: #ffffff;
    color: #8f4500;
}

body.theme-llano .btn-outline-primary:hover,
body.theme-llano .btn-outline-primary:focus-visible {
    border-color: #000000;
    background: #000000;
    color: #ffffff;
}

body.theme-llano .professional-hero-section {
    background:
        radial-gradient(circle at 91% 8%, rgba(217, 140, 58, 0.13), transparent 27%),
        linear-gradient(90deg, transparent 0 8%, rgba(189, 95, 0, 0.08) 8% calc(8% + 1px), transparent calc(8% + 1px));
}

body.theme-llano .section-kicker,
body.theme-llano .panel-kicker,
body.theme-llano .eyebrow,
body.theme-llano .footer-kicker,
body.theme-llano .notice-meta {
    color: #a65100;
}

body.theme-llano .section-title,
body.theme-llano .hero-copy h1,
body.theme-llano .page-hero-shell h1,
body.theme-llano .detail-hero h1,
body.theme-llano .layout-executive-intro h1,
body.theme-llano .layout-folio-copy h1,
body.theme-llano .layout-concierge-copy h1,
body.theme-llano .layout-magazine-lead h1,
body.theme-llano .layout-boardroom-intro h1 {
    color: #17120f;
    font-weight: 650;
}

body.theme-llano .public-card,
body.theme-llano .public-panel,
body.theme-llano .content-card,
body.theme-llano .sidebar-card,
body.theme-llano .table-shell,
body.theme-llano .portal-auth-panel,
body.theme-llano .interest-link-card,
body.theme-llano .faq-accordion .accordion-item {
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, #ffffff, #fcfaf7);
}

body.theme-llano .notice-card::before,
body.theme-llano .record-panel::before,
body.theme-llano .content-card::before,
body.theme-llano .sidebar-card::before {
    height: 3px;
    background: linear-gradient(90deg, #bd5f00, #e8aa5f);
}

body.theme-llano .feature-category,
body.theme-llano .stack-item-badge,
body.theme-llano .result-pill {
    border: 1px solid #e3bd95;
    background: #f8e9d8;
    color: #7b3b00;
}

body.theme-llano .feature-code,
body.theme-llano .stack-item-date,
body.theme-llano .table-shell a {
    color: #9b4c00;
}

body.theme-llano .quick-links-grid a,
body.theme-llano .quick-links-grid-home a,
body.theme-llano .interest-link-card {
    border-radius: 0.25rem;
    border-color: #d9c9ba;
    background: #ffffff;
    color: #29211b;
}

body.theme-llano .quick-links-grid a::after,
body.theme-llano .quick-links-grid-home a::after {
    content: "›";
    color: #bd5f00;
}

body.theme-llano .section-soft {
    background: rgba(235, 225, 216, 0.62);
    box-shadow: inset 0 1px 0 rgba(189, 95, 0, 0.1), inset 0 -1px 0 rgba(189, 95, 0, 0.1);
}

body.theme-llano .home-main-layout-immersive .home-hero-shell,
body.theme-llano .layout-panorama-hero,
body.theme-llano .home-gallery-panel,
body.theme-llano .layout-executive-shell,
body.theme-llano .layout-folio-shell,
body.theme-llano .layout-concierge-shell {
    border-radius: 0.45rem;
}

body.theme-llano .home-main-layout-immersive .home-hero-shell {
    border: 1px solid #a95609;
    box-shadow: 0 24px 54px rgba(20, 12, 7, 0.2);
}

body.theme-llano .home-main-layout-immersive .home-hero-media-overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.42) 48%, rgba(0, 0, 0, 0.96) 82%);
}

body.theme-llano .home-main-layout-immersive .home-hero-panel {
    border-radius: 0;
    border-left-color: rgba(217, 140, 58, 0.58);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.96) 25%);
    box-shadow: none;
}

body.theme-llano .home-main-layout-immersive .home-hero-panel :is(h1, p, strong) {
    color: #ffffff;
}

body.theme-llano .home-main-layout-immersive .home-hero-panel :is(.eyebrow, .panel-kicker) {
    color: #e8aa5f;
}

body.theme-llano .layout-executive-status > span,
body.theme-llano .layout-folio-aside,
body.theme-llano .layout-concierge-route,
body.theme-llano .layout-boardroom-tile,
body.theme-llano .bento-card {
    border-radius: 0.3rem;
}

body.theme-llano .layout-executive-status > span:first-child,
body.theme-llano .layout-folio-index,
body.theme-llano .layout-concierge-route:hover {
    border-color: #d98c3a;
}

body.theme-llano .page-hero {
    background: transparent;
}

body.theme-llano .detail-hero {
    background:
        linear-gradient(90deg, rgba(189, 95, 0, 0.08), transparent 35%),
        #f6f0e9;
}

body.theme-llano .compact-definition {
    grid-template-columns: minmax(8.5rem, 0.8fr) minmax(0, 1.2fr);
    gap: 0.65rem 1rem;
}

body.theme-llano .compact-definition dt,
body.theme-llano .compact-definition dd {
    padding-block: 0.1rem;
}

/* Paginas editoriales creadas desde el CMS. */
body.theme-llano .cms-page-main {
    background:
        linear-gradient(90deg, rgba(189, 95, 0, 0.025) 1px, transparent 1px),
        #f7f3ee;
    background-size: 84px 100%, 100% 100%;
}

body.theme-llano .cms-page-hero {
    padding: clamp(1.4rem, 2.5vw, 2.25rem) 0 1rem;
    background: transparent;
}

body.theme-llano .cms-page-hero .container,
body.theme-llano .cms-page-section .container {
    width: min(100% - 2rem, 1240px);
}

body.theme-llano .cms-page-hero-shell {
    display: grid;
    align-content: center;
    min-height: 0;
    padding: clamp(1.7rem, 3.2vw, 2.8rem) clamp(1.5rem, 4vw, 3.5rem);
    border: 1px solid #ddcdbd;
    border-left: 5px solid #bd5f00;
    border-radius: 0.4rem;
    background:
        linear-gradient(105deg, #ffffff 0%, #ffffff 70%, #f5e7d8 100%);
    box-shadow: 0 14px 34px rgba(35, 21, 11, 0.07);
}

body.theme-llano .cms-page-hero-shell .section-kicker {
    margin: 0 0 0.65rem;
    color: #a65100;
    font-size: 0.7rem;
    letter-spacing: 0.16em;
}

body.theme-llano .cms-page-hero-shell h1 {
    max-width: 20ch;
    margin: 0;
    font-size: clamp(2.15rem, 4.2vw, 3.65rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
}

body.theme-llano .cms-page-hero-shell > p:last-child:not(.section-kicker) {
    max-width: 64ch;
    margin: 0.9rem 0 0;
    font-size: 1.02rem;
}

body.theme-llano .cms-page-section {
    padding: 0.5rem 0 clamp(3rem, 6vw, 5rem);
}

body.theme-llano .cms-page-card {
    padding: clamp(1.75rem, 4vw, 3.5rem);
    border: 1px solid #dfd4c9;
    border-radius: 0.4rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(35, 21, 11, 0.075);
}

body.theme-llano .cms-page-card::before {
    width: 4.25rem;
    height: 3px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(90deg, #bd5f00, #e8aa5f);
}

body.theme-llano .cms-page-card .page-content {
    max-width: 84ch;
    margin-inline: auto;
    color: #5e5148;
    font-size: clamp(1rem, 0.35vw + 0.95rem, 1.12rem);
    line-height: 1.8;
}

body.theme-llano .cms-page-card .page-content > :first-child {
    margin-top: 0;
}

body.theme-llano .cms-page-card .page-content > :last-child {
    margin-bottom: 0;
}

body.theme-llano .table-shell thead th {
    border-bottom-color: #d98c3a;
    background: #171717;
    color: #ffffff;
}

body.theme-llano .faq-accordion .accordion-button:not(.collapsed) {
    background: #f7e8d7;
    color: #773900;
}

body.theme-llano .professional-footer {
    border-top: 5px solid #bd5f00;
    background:
        radial-gradient(circle at 10% 0%, rgba(217, 140, 58, 0.16), transparent 27%),
        #000000;
    color: #f3eee9;
}

body.theme-llano .professional-footer-seal {
    border: 1px solid #d98c3a;
    border-radius: 0.2rem;
    background: #ffffff;
    color: #8c4300;
}

body.theme-llano .professional-footer-seal.footer-seal-image {
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.theme-llano .professional-footer-seal.footer-seal-image img {
    border-radius: 0;
    background: transparent;
    object-fit: contain;
}

body.theme-llano .professional-footer-brand h2,
body.theme-llano .professional-footer-column h3 {
    color: #ffffff;
}

body.theme-llano .professional-footer-brand .footer-kicker,
body.theme-llano .professional-signature-note strong {
    color: #e8aa5f;
}

body.theme-llano .professional-footer-summary,
body.theme-llano .professional-footer-column li,
body.theme-llano .professional-footer-bottom,
body.theme-llano .professional-signature-note {
    color: #d7cec6;
}

body.theme-llano .professional-footer-links a,
body.theme-llano .footer-credit a {
    color: #e8aa5f;
}

body.theme-llano .professional-footer-links a:hover,
body.theme-llano .footer-credit a:hover {
    color: #ffffff;
}

@media (max-width: 991px) {
    body.theme-llano .professional-nav-surface .navbar-collapse {
        border-top-color: rgba(217, 140, 58, 0.42);
    }

    body.theme-llano .compact-definition {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    body.theme-llano .compact-definition dd + dt {
        margin-top: 0.55rem;
    }
}

@media (max-width: 575px) {
    body.theme-llano .cms-page-hero .container,
    body.theme-llano .cms-page-section .container {
        width: min(100% - 1.2rem, 1240px);
    }

    body.theme-llano .cms-page-hero-shell {
        padding: 1.5rem 1.25rem;
        border-left-width: 4px;
    }

    body.theme-llano .cms-page-card {
        padding: 1.5rem 1.25rem;
    }
}
