/*
 * 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 {
    padding: 0.18rem;
    background: #ffffff;
}

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

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