/* VALDIBIA LANDING WORLDS v3.1.0 — shared ornamental buttons + synced color switch.
   Scope: this plugin's standalone landing only. World/links/admin logic unchanged.
   Frame: identical 9-slice illustration to Valdibia Official (do NOT stretch full art).
*/

/* Real links/text remain on top; this border creates the identical gold-purple frame. */
.vdb-page a.vdb-btn,
.vdb-page span.vdb-btn {
    --vdb-btn-h: 47px;
    --vdb-btn-min: 140px;
    --vdb-btn-font: 11px;
    --vdb-btn-y: 13px;
    --vdb-btn-x: 25px;
    box-sizing: border-box;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    vertical-align: middle;
    height: var(--vdb-btn-h);
    min-height: var(--vdb-btn-h);
    min-width: var(--vdb-btn-min);
    max-width: 100%;
    padding: 0 11px;
    border: solid transparent;
    border-width: var(--vdb-btn-y) var(--vdb-btn-x);
    border-image-source: url('./valdibia-button-frame.png');
    border-image-slice: 118 280 128 280;
    border-image-width: var(--vdb-btn-y) var(--vdb-btn-x);
    border-image-repeat: stretch;
    border-radius: 0;
    background: radial-gradient(ellipse at 50% 15%, rgba(117,26,157,.38), transparent 75%),
        linear-gradient(180deg,#200035 0%,#0b0018 52%,#1a002d 100%);
    color: #ffdc85;
    font: 800 var(--vdb-btn-font)/1.05 Georgia,'Times New Roman',serif;
    letter-spacing: .055em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    text-shadow: 0 1px 2px #10000f,0 0 7px rgba(239,174,57,.30);
    white-space: nowrap;
    box-shadow: none;
    filter: drop-shadow(0 4px 7px rgba(0,0,0,.32));
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform .18s ease,filter .18s ease,color .18s ease;
}
.vdb-page a.vdb-btn:visited { color: #ffdc85; }
.vdb-page a.vdb-btn:hover { color: #fff3c0; transform: translateY(-1px); filter: brightness(1.13) drop-shadow(0 0 8px rgba(181,39,255,.42)); }
.vdb-page a.vdb-btn:active { transform: translateY(1px); filter: brightness(.92); }
.vdb-page a.vdb-btn:focus-visible { outline: 2px solid #ffe9af; outline-offset: 4px; }
.vdb-page .vdb-btn.vdb-disabled { opacity: .53; cursor: not-allowed; pointer-events: none; }
.vdb-nav .vdb-actions .vdb-btn { --vdb-btn-h: 43px; --vdb-btn-min: 112px; --vdb-btn-font: 10px; --vdb-btn-y: 12px; --vdb-btn-x: 22px; }
.vdb-hero-buttons .vdb-btn { --vdb-btn-h: 52px; --vdb-btn-min: 185px; --vdb-btn-font: 12px; --vdb-btn-y: 15px; --vdb-btn-x: 28px; }
.vdb-card-actions .vdb-btn { --vdb-btn-h: 46px; --vdb-btn-min: 145px; --vdb-btn-font: 10px; }
.vdb-cta-buttons .vdb-btn { --vdb-btn-h: 49px; --vdb-btn-min: 175px; --vdb-btn-font: 11px; --vdb-btn-y: 14px; --vdb-btn-x: 27px; }

/* Shared Valdibia-style sun/moon switch, kept outside the CTA button selector. */
.vdb-theme-switch {
    appearance: none; border: 0; padding: 3px; margin: 0;
    flex: 0 0 auto; width: 68px; height: 37px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px; background: rgba(17,22,36,.92);
    box-shadow: inset 0 0 0 1px rgba(214,168,76,.22),0 3px 12px rgba(0,0,0,.2);
    cursor: pointer; transition: background .2s ease,box-shadow .2s ease;
}
.vdb-theme-track { position: relative; width: 62px; height: 31px; display: flex; align-items: center; justify-content: space-around; border-radius: 999px; }
.vdb-theme-track .vdb-theme-sun,.vdb-theme-track .vdb-theme-moon { position: relative; z-index: 2; width: 28px; text-align: center; font-size: 16px; line-height: 1; transition: color .2s; }
.vdb-theme-sun { color: #362008; }
.vdb-theme-moon { color: #9ca6c2; }
.vdb-theme-thumb { position: absolute; z-index: 1; left: 1px; top: 1px; width: 29px; height: 29px; border-radius: 50%; background: linear-gradient(145deg,#ffe08c,#c38b32); box-shadow: 0 1px 7px rgba(0,0,0,.3); transform: translateX(0); transition: transform .22s ease,background .22s ease; }
html[data-vr-theme='light'] .vdb-theme-thumb { transform: translateX(31px); background: linear-gradient(145deg,#eadffd,#b6a7d6); }
html[data-vr-theme='light'] .vdb-theme-sun { color: #977341; }
html[data-vr-theme='light'] .vdb-theme-moon { color: #241d3b; }
.vdb-theme-switch:hover { box-shadow: inset 0 0 0 1px rgba(244,205,112,.55),0 0 11px rgba(130,52,215,.18); }
.vdb-theme-switch:focus-visible { outline: 2px solid #e9b85d; outline-offset: 3px; }

/* Light palette: applies to content, navigational chrome and sections, not the
   dark-image hero or dark-overlay world cards (readable contrast is retained). */
html[data-vr-theme='light'] { color-scheme: light; --ink:#f1f2f8; --panel:#fff; --text:#22263a; --muted:#596374; --line:rgba(124,83,164,.20); --shadow:0 21px 65px rgba(36,27,61,.13); background:#f1f2f8; }
html[data-vr-theme='light'] body { color:var(--text); background:#f1f2f8; }
html[data-vr-theme='light'] .vdb-page { background:radial-gradient(circle at 16% 12%,rgba(123,69,220,.06),transparent 35%),linear-gradient(180deg,#f5f3fb,#eef0f8); }
html[data-vr-theme='light'] .vdb-nav { background:rgba(249,249,254,.95); border-bottom-color:rgba(67,43,93,.14); box-shadow:0 2px 12px rgba(22,20,45,.06); }
html[data-vr-theme='light'] .vdb-links { color:#2e3043; }
html[data-vr-theme='light'] .vdb-links a:hover { color:#7142a9; }
html[data-vr-theme='light'] .vdb-social { color:#424157; border-color:rgba(63,43,93,.18); background:rgba(75,51,117,.045); }
html[data-vr-theme='light'] .vdb-social:hover { color:#7647bc; border-color:rgba(112,66,167,.35); background:rgba(112,66,167,.10); }
html[data-vr-theme='light'] .vdb-theme-switch { background:rgba(231,226,243,.92); box-shadow:inset 0 0 0 1px rgba(117,80,161,.27); }
html[data-vr-theme='light'] .vdb-menu { background:#f7f4fa; border-color:rgba(92,62,126,.28); color:#282239; }
html[data-vr-theme='light'] .vdb-mobile.open { background:rgba(249,248,253,.98); border-bottom-color:rgba(68,39,112,.13); }
html[data-vr-theme='light'] .vdb-mobile>a { color:#282d40; }
html[data-vr-theme='light'] .vdb-mobile-socials .vdb-social { color:#424157 !important; }
/* Keep the full-bleed hero moody; it contains light typography over an image. */
html[data-vr-theme='light'] .vdb-hero { color:#fffaf0; }
html[data-vr-theme='light'] .vdb-hero:after { background:linear-gradient(90deg,rgba(4,7,12,.73),rgba(4,7,12,.37) 48%,rgba(4,7,12,.59)),linear-gradient(180deg,rgba(4,7,12,.03),rgba(4,7,12,.14) 55%,#f6f5fb 100%); }
html[data-vr-theme='light'] .vdb-hero p { color:#e2e5ee; }
html[data-vr-theme='light'] .vdb-meta { color:#d6d9e3; }
html[data-vr-theme='light'] .vdb-editorial { background:linear-gradient(180deg,#f6f5fb,#f1f2f9 52%,#f7f6fc); }
html[data-vr-theme='light'] .vdb-editorial-intro { background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(249,247,254,.96)); border-color:rgba(110,78,145,.17); box-shadow:0 22px 60px rgba(42,30,78,.1); color:#303347; }
html[data-vr-theme='light'] .vdb-editorial-intro p { color:#464c60; }
html[data-vr-theme='light'] .vdb-editorial-intro h1,html[data-vr-theme='light'] .vdb-editorial-intro h2 { color:#252a3c; }
html[data-vr-theme='light'] .vdb-section { background:#f7f7fb; }
html[data-vr-theme='light'] .vdb-head h2 { color:#262437; }
html[data-vr-theme='light'] .vdb-head p { color:#5e667b; }
/* World cards stay dark because their white and gold typography sits over artwork. */
html[data-vr-theme='light'] .vdb-card { background:#141421; color:#f5f1fa; }
html[data-vr-theme='light'] .vdb-card p { color:#d0d2df; }
html[data-vr-theme='light'] .vdb-card .vdb-fact { color:#ece8f6; }
html[data-vr-theme='light'] .vdb-online { color:#eff5ef; }
html[data-vr-theme='light'] .vdb-cta { background:linear-gradient(180deg,#f4f2fa,#eae9f4); }
html[data-vr-theme='light'] .vdb-cta h2 { color:#252338; }
html[data-vr-theme='light'] .vdb-cta p { color:#565e72; }
html[data-vr-theme='light'] .vdb-footer { background:#eae9f4; border-top-color:rgba(84,65,127,.15); color:#595e73; }
html[data-vr-theme='light'] .vdb-footer a:hover { color:#6f44a9; }

@media(max-width:980px) {
    .vdb-page .vdb-actions .vdb-btn.vdb-ghost { display:none; }
}
@media(max-width:720px) {
    .vdb-nav .vdb-actions .vdb-btn { --vdb-btn-h:40px; --vdb-btn-min:105px; --vdb-btn-font:9px; --vdb-btn-y:11px; --vdb-btn-x:20px; padding:0 5px; }
    .vdb-hero-buttons .vdb-btn { --vdb-btn-h:48px; --vdb-btn-min:150px; --vdb-btn-font:10px; }
    .vdb-card-actions .vdb-btn { --vdb-btn-h:44px; --vdb-btn-min:132px; }
    .vdb-cta-buttons .vdb-btn { --vdb-btn-h:48px; --vdb-btn-min:156px; --vdb-btn-font:10px; }
}
@media(max-width:620px) {
    .vdb-nav .vdb-actions > .vdb-btn { display:none; }
    .vdb-theme-switch { width:58px; height:34px; }
    .vdb-theme-track { width:52px; height:28px; }
    .vdb-theme-thumb { width:26px; height:26px; }
    .vdb-theme-track .vdb-theme-sun,.vdb-theme-track .vdb-theme-moon { width:24px; font-size:14px; }
    html[data-vr-theme='light'] .vdb-theme-thumb { transform:translateX(25px); }
    .vdb-hero-buttons { gap:8px; }
}
@media(max-width:390px) {
    .vdb-brand img { max-width:165px; }
    .vdb-nav-in { gap:7px; }
    .vdb-actions { gap:5px; }
    .vdb-hero-buttons .vdb-btn { --vdb-btn-min:135px; --vdb-btn-font:9px; }
}
@media(prefers-reduced-motion:reduce) {
    .vdb-page a.vdb-btn,.vdb-theme-thumb { transition:none; }
}


/* ===========================================================================
   VALDIBIA LANDING WORLDS v3.1.1 — UNIVERSAL TYPOGRAPHY
   ONLY applies to this standalone landing; MyAAC Official is unaffected.
   Cinzel Decorative Bold (700): headings, title-like kickers, CTA buttons.
   Metamorphous Regular (400): descriptions, nav, labels, metadata and all copy.
   The !important font-family declaration intentionally overrides hard-coded
   PHP inline font-family: Arial/Georgia and earlier font shorthand on buttons.
   Google Fonts stylesheet is loaded in landing.php; serif fallback included.
   =========================================================================== */
.vdb-page {
    --vdb-font-heading: 'Cinzel Decorative', Georgia, serif;
    --vdb-font-body: 'Metamorphous', Georgia, serif;
    font-family: var(--vdb-font-body) !important;
    font-weight: 400 !important;
}
/* Include embedded editorial/news content with inline fonts, without modifying
   icon geometry, HTML text, or content from the MyAAC world pages. */
.vdb-page :where(*:not(svg):not(path)) {
    font-family: var(--vdb-font-body) !important;
    font-weight: 400 !important;
}
/* Title hierarchy and decorative section labels. */
.vdb-page :is(h1, h2, h3, h4, h5, h6),
.vdb-page :is(.vdb-word, .vdb-logo-text, .vdb-kicker, .vdb-eye, .vdb-card-kicker, .vdb-editorial-kicker) {
    font-family: var(--vdb-font-heading) !important;
    font-weight: 700 !important;
}
/* All actual game CTA links and disabled button lookalikes (not icon-only toggles). */
.vdb-page :is(a.vdb-btn, span.vdb-btn, button.vdb-btn),
.vdb-page :is(a.vdb-btn, span.vdb-btn, button.vdb-btn):is(:visited, :hover, :focus-visible) {
    font-family: var(--vdb-font-heading) !important;
    font-weight: 700 !important;
    font-size: var(--vdb-btn-font, 11px);
    letter-spacing: .015em;
    line-height: 1.18;
}
/* Taller cap height avoids clipping on the ornamental frame. */
.vdb-page .vdb-hero h1 { line-height: 1.13; letter-spacing: -.018em; }
.vdb-page :is(.vdb-head h2, .vdb-cta h2) { line-height: 1.19; letter-spacing: -.01em; }
.vdb-page .vdb-card h3 { line-height: 1.14; }
.vdb-page .vdb-editorial-intro :is(h1,h2,h3) { line-height: 1.19 !important; }
/* Prefer normal weight for all Metamorphous copy, including editorial markup. */
.vdb-page .vdb-editorial-intro :where(p, span, div, small, strong, b, a) {
    font-family: var(--vdb-font-body) !important;
    font-weight: 400 !important;
}
/* Editorial eyebrow labels are titles too (override the copy reset above). */
.vdb-page .vdb-editorial-intro .vdb-editorial-kicker {
    font-family: var(--vdb-font-heading) !important;
    font-weight: 700 !important;
}
/* Preserve Cinzel for headings inside the embedded editorial HTML. */
.vdb-page .vdb-editorial-intro :is(h1, h2, h3, h4, h5, h6),
.vdb-page .vdb-editorial-intro :is(h1, h2, h3, h4, h5, h6) :is(span, strong, b) {
    font-family: var(--vdb-font-heading) !important;
    font-weight: 700 !important;
}
@media (max-width: 720px) {
    .vdb-page .vdb-hero h1 { font-size: clamp(30px, 7.6vw, 43px); line-height: 1.18; }
    .vdb-page :is(.vdb-head h2, .vdb-cta h2) { font-size: clamp(29px, 7vw, 42px); }
    .vdb-page .vdb-card h3 { font-size: clamp(29px, 7vw, 37px); }
    .vdb-page .vdb-editorial-intro :is(h1,h2,h3) { overflow-wrap: anywhere; }
    .vdb-page :is(.vdb-card-kicker,.vdb-kicker,.vdb-eye) { letter-spacing: .12em; }
}
@media (max-width: 390px) {
    .vdb-page :is(a.vdb-btn, span.vdb-btn, button.vdb-btn) { letter-spacing: 0; }
}
