/* Legal page components (plan r4 section 5). Page-level rules moved from each policy page, scoped, with home tokens. */
/* moved from terms.html */
/* moved from privacy.html */
/* moved from cancellation-policy.html */
.v-legal-cancellation .policy-section{margin-bottom: 48px;}
.v-legal-cancellation .policy-section h2{font-family: Georgia,'Times New Roman',serif;
      font-size: 26px;
      font-weight: 500;
      color: var(--v-gold);
      margin: 0 0 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(199,166,75,0.15);}
.v-legal-cancellation .policy-section h3{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.8);
      margin: 24px 0 10px;}
.v-legal-cancellation .policy-section p{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 14px;
      color: rgba(255,255,255,0.6);
      line-height: 1.8;
      margin: 0 0 14px;}
.v-legal-cancellation .policy-section ul,.v-legal-cancellation .policy-section ol{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 14px;
      color: rgba(255,255,255,0.6);
      line-height: 1.8;
      margin: 0 0 14px;
      padding-left: 22px;}
.v-legal-cancellation .policy-section li{margin-bottom: 8px;}
.v-legal-cancellation .policy-section strong{color: rgba(255,255,255,0.9);
      font-weight: 600;}
.v-legal-cancellation .policy-section a{color: rgba(199,166,75,0.7);
      text-decoration: none;}
.v-legal-cancellation .policy-section a:hover{color: var(--v-gold);
      text-decoration: underline;}
.v-legal-cancellation .path-cards{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin: 24px 0;}
@media (max-width: 640px){
.v-legal-cancellation .path-cards{grid-template-columns: 1fr;}
}
.v-legal-cancellation .path-card{background: rgba(0,0,0,0.70);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 12px;
      padding: 22px 20px;}
.v-legal-cancellation .path-card.pay-now{border-color: rgba(199,166,75,0.3);
      background: rgba(0,0,0,0.72);}
.v-legal-cancellation .path-card.pay-later{border-color: rgba(255,255,255,0.15);}
.v-legal-cancellation .path-card .path-label{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--v-gold);
      margin-bottom: 8px;}
.v-legal-cancellation .path-card h4{font-family: Georgia,'Times New Roman',serif;
      font-size: 20px;
      font-weight: 500;
      color: #fff;
      margin: 0 0 14px;}
.v-legal-cancellation .path-card ul{margin: 0;
      padding-left: 18px;}
.v-legal-cancellation .scenario-table{width: 100%;
      border-collapse: collapse;
      margin: 16px 0 24px;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 13px;}
.v-legal-cancellation .scenario-table th{text-align: left;
      padding: 10px 14px;
      background: rgba(0,0,0,0.6);
      color: var(--v-gold);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      border-bottom: 1px solid rgba(199,166,75,0.2);}
.v-legal-cancellation .scenario-table td{padding: 12px 14px;
      color: rgba(255,255,255,0.6);
      border-bottom: 1px solid rgba(255,255,255,0.05);
      vertical-align: top;
      line-height: 1.6;}
.v-legal-cancellation .scenario-table tr:last-child td{border-bottom: none;}
.v-legal-cancellation .scenario-table td strong{color: rgba(255,255,255,0.85);}
.v-legal-cancellation .badge-green{display: inline-block;
      padding: 2px 8px;
      background: rgba(39,174,96,0.15);
      border: 1px solid rgba(39,174,96,0.3);
      border-radius: 4px;
      color: #27ae60;
      font-size: 11px;
      font-weight: 600;}
.v-legal-cancellation .badge-red{display: inline-block;
      padding: 2px 8px;
      background: rgba(192,57,43,0.15);
      border: 1px solid rgba(192,57,43,0.3);
      border-radius: 4px;
      color: #e74c3c;
      font-size: 11px;
      font-weight: 600;}
.v-legal-cancellation .badge-gold{display: inline-block;
      padding: 2px 8px;
      background: rgba(199,166,75,0.12);
      border: 1px solid rgba(199,166,75,0.3);
      border-radius: 4px;
      color: var(--v-gold);
      font-size: 11px;
      font-weight: 600;}
.v-legal-cancellation .policy-alert{background: rgba(0,0,0,0.65);
      border: 1px solid rgba(199,166,75,0.3);
      border-radius: 10px;
      padding: 18px 22px;
      margin: 20px 0;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 13px;
      color: rgba(255,255,255,0.75);
      line-height: 1.7;}
.v-legal-cancellation .policy-alert strong{color: var(--v-gold);}
.v-legal-cancellation .policy-contact-cta{text-align: center;
      padding: 48px 24px;
      background: rgba(0,0,0,0.72);
      border: 1px solid rgba(199,166,75,0.22);
      border-radius: 16px;
      margin-top: 48px;}
.v-legal-cancellation .policy-contact-cta h3{font-family: Georgia,'Times New Roman',serif;
      font-size: 28px;
      font-weight: 400;
      color: #fff;
      margin: 0 0 10px;}
.v-legal-cancellation .policy-contact-cta p{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 14px;
      color: rgba(255,255,255,0.5);
      margin: 0 0 24px;}
.v-legal-cancellation .policy-contact-cta .cta-buttons{display: flex;
      gap: 14px;
      justify-content: center;
      flex-wrap: wrap;}
.v-legal-cancellation .btn-gold{display: inline-block;
      padding: 13px 28px;
      background: linear-gradient(135deg, var(--v-gold), #b8962e);
      color: #000;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: 8px;
      transition: opacity 0.2s;}
.v-legal-cancellation .btn-gold:hover{opacity: 0.85;}
.v-legal-cancellation .btn-outline{display: inline-block;
      padding: 13px 28px;
      background: transparent;
      color: var(--v-gold);
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      text-decoration: none;
      border: 1px solid rgba(199,166,75,0.4);
      border-radius: 8px;
      transition: all 0.2s;}
.v-legal-cancellation .btn-outline:hover{background: rgba(199,166,75,0.08);
      border-color: var(--v-gold);}
/* moved from sms-consent.html */
.v-legal-sms .opt-in-demo{background: rgba(0,0,0,0.55);
            border: 1px solid rgba(199,166,75,0.28);
            border-radius: 10px;
            padding: 1.5rem 1.75rem;
            margin: 1.25rem 0;}
.v-legal-sms .opt-in-demo .demo-label{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 0.65rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--color-gold);
            margin-bottom: 1rem;}
.v-legal-sms .checkbox-row{display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            margin-bottom: 0.85rem;}
.v-legal-sms .checkbox-row:last-child{margin-bottom: 0;}
.v-legal-sms .checkbox-row input[type="checkbox"]{width: 15px;
            height: 15px;
            margin-top: 3px;
            accent-color: var(--v-gold);
            flex-shrink: 0;
            cursor: default;}
.v-legal-sms .checkbox-row label{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 0.85rem;
            color: rgba(255,255,255,0.75);
            line-height: 1.6;}
.v-legal-sms .checkbox-row label a{color: var(--color-gold);}
.v-legal-sms .sms-bubble-wrap{display: flex;
            justify-content: flex-start;
            margin: 1.25rem 0;}
.v-legal-sms .sms-bubble{background: rgba(199,166,75,0.1);
            border: 1px solid rgba(199,166,75,0.25);
            border-radius: 0 14px 14px 14px;
            padding: 1rem 1.25rem;
            max-width: 520px;
            position: relative;}
.v-legal-sms .sms-bubble::before{content: '';
            position: absolute;
            top: 0; left: -8px;
            width: 0; height: 0;
            border-top: 8px solid rgba(199,166,75,0.25);
            border-left: 8px solid transparent;}
.v-legal-sms .sms-bubble .bubble-sender{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--color-gold);
            margin-bottom: 0.4rem;}
.v-legal-sms .sms-bubble p{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 0.88rem;
            color: rgba(255,255,255,0.82) !important;
            line-height: 1.65;
            margin-bottom: 0 !important;}
.v-legal-sms .command-grid{display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.75rem;
            margin: 1.25rem 0;}
.v-legal-sms .command-card{background: rgba(0,0,0,0.4);
            border: 1px solid rgba(199,166,75,0.15);
            border-radius: 8px;
            padding: 1rem;
            text-align: center;}
.v-legal-sms .command-card .cmd{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--color-gold);
            letter-spacing: 0.1em;
            margin-bottom: 0.3rem;}
.v-legal-sms .command-card .cmd-desc{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 0.75rem;
            color: rgba(255,255,255,0.45);}
@media (max-width: 500px){
.v-legal-sms .command-grid{grid-template-columns: 1fr;}
}
.v-legal-sms .contact-block{background: rgba(199,166,75,0.05);
            border: 1px solid rgba(199,166,75,0.2);
            border-radius: 12px;
            padding: 2rem;
            margin-top: 2.5rem;
            text-align: center;}
.v-legal-sms .contact-block .contact-title{font-family: Georgia,'Times New Roman',serif;
            font-size: 1.1rem;
            color: #fff;
            margin-bottom: 0.4rem;}
.v-legal-sms .contact-block .contact-sub{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-size: 0.82rem;
            color: rgba(255,255,255,0.4);
            margin-bottom: 1.25rem;}
.v-legal-sms .contact-links{display: flex;
            justify-content: center;
            gap: 2rem;
            flex-wrap: wrap;}
.v-legal-sms .contact-links a{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            color: var(--color-gold) !important;
            text-decoration: none !important;
            font-size: 0.88rem;
            letter-spacing: 0.03em;
            transition: opacity 0.2s;}
.v-legal-sms .contact-links a:hover{opacity: 0.7;}

/* Shared legal layout base (replaces the four page-level layouts) */
.v-legal{min-height:100vh;padding:120px 0 80px;color:var(--v-ivory)}
.v-legal .legal-container,.v-legal .sms-container,.v-legal-cancellation .policy-body-inner{max-width:880px;margin:0 auto;padding:0 1.5rem}
.v-legal .policy-hero{max-width:880px;margin:0 auto;padding:0 1.5rem}
.v-legal .back-link{display:inline-flex;align-items:center;min-height:48px;color:var(--v-gold-label);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none}
.v-legal .v-legal-header{margin:0 0 2rem;padding:0 0 1.5rem}
.v-legal .v-legal-header .eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem}
.v-legal .v-legal-header h1{font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.15;margin:0 0 .75rem}
.v-legal .v-legal-header .subtitle{max-width:60ch;line-height:1.7;margin:0 0 .75rem}
.v-legal .v-legal-header .icon-wrap,.v-legal .policy-divider{display:none}
.v-legal .v-legal-body{padding:2.5rem}
.v-legal .v-legal-body h2{font-size:1.35rem;font-weight:400;margin:2rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--v-line)}
.v-legal .v-legal-body h2:first-child{margin-top:0}
.v-legal .v-legal-body h3{font-family:Inter,system-ui,sans-serif;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v-ivory);margin:1.5rem 0 .5rem}
.v-legal .v-legal-body p,.v-legal .v-legal-body li,.v-legal-cancellation .policy-section p,.v-legal-cancellation .policy-section ul,.v-legal-cancellation .policy-section ol,.v-legal-sms .sms-body p,.v-legal-sms .sms-body ul{font-family:Inter,system-ui,sans-serif;font-size:15.5px;line-height:1.75;color:var(--v-muted)}
.v-legal .v-legal-body ul{padding-left:1.25rem;margin:0 0 1rem}
.v-legal .v-legal-body strong{color:var(--v-ivory)}
.v-legal .v-legal-body a{color:var(--v-gold-label)}
.v-legal .highlight-box{background:rgba(199,166,75,.08);border:1px solid var(--v-line);border-radius:var(--v-radius);padding:1.25rem 1.5rem;margin:0 0 2rem}
.v-legal .highlight-box p{margin:0;color:var(--v-ivory)}
.v-legal-cancellation .policy-last-updated{font-size:.875rem;margin:0 0 2rem}
/* SMS facts strip as a vc-card row */
.v-legal-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 1.5rem}
.v-legal-facts .fact-card{padding:1.1rem 1.25rem;text-align:center}
.v-legal-facts .fact-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.35rem}
.v-legal-facts .fact-value{font-size:1rem;font-weight:600}
@media (max-width:640px){.v-legal{padding-top:96px}.v-legal .v-legal-body{padding:1.5rem 1.1rem}.v-legal-facts{grid-template-columns:1fr}}

/* Site nav additions and mobile overlay (shared by legal pages) */
.v-menu-btn{display:none;min-width:48px;min-height:48px;background:none;border:1px solid rgba(199,166,75,.4);border-radius:6px;cursor:pointer;color:var(--v-gold);font-size:1.3rem;line-height:1}
.v-nav-portal{padding:.5rem 1.25rem;font-size:.875rem}
@media (max-width:1024px){.v-menu-btn{display:inline-block}.nav .nav-auth,.nav .nav-links{display:none}}
.v-mobile-nav{position:fixed;inset:0;background:rgba(7,7,6,.97);z-index:2000;flex-direction:column;align-items:center;justify-content:center}
.v-mobile-nav-close{position:absolute;top:1.25rem;right:1.25rem;min-width:48px;min-height:48px;background:none;border:none;color:var(--v-gold);font-size:2rem;cursor:pointer}
.v-mobile-nav nav{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 2rem}
.v-mobile-nav nav a{display:block;width:100%;text-align:center;padding:1rem;color:var(--v-ivory);font-size:1.2rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--v-line)}
.v-mobile-nav nav a.v-mobile-nav-portal{display:inline-block;width:auto;margin-top:1.5rem;background:var(--v-gold);color:var(--v-ink);border-radius:8px;padding:.75rem 2.5rem;border:0}
.v-menu-btn:focus-visible,.v-mobile-nav a:focus-visible,.v-mobile-nav-close:focus-visible,.v-policy-links a:focus-visible{outline:3px solid var(--v-focus);outline-offset:3px}
/* Neutralise the older atelier/pages wrappers on legal pages (they use !important) */
.v-legal .legal-container,.v-legal .sms-container,.v-legal .policy-body-inner{background:transparent!important;border:0!important;box-shadow:none!important;padding-top:0!important}
.v-legal .policy-hero,.v-legal .legal-header,.v-legal .sms-hero{background:none!important;min-height:0!important;padding-top:0!important;border-bottom:1px solid var(--v-line)!important}
.v-legal-cancellation .policy-body{background:transparent;border:0;padding:0}
.v-legal-cancellation .policy-body-inner{background:var(--v-card)!important;border:1px solid var(--v-line)!important;border-radius:var(--v-radius)!important;padding:2.5rem!important}
.v-legal-cancellation > :not(footer){width:100%;max-width:880px;margin-left:auto!important;margin-right:auto!important;padding-left:1.5rem;padding-right:1.5rem;box-sizing:border-box}
.v-legal-cancellation > .v-legal-toc{padding:1rem 1.25rem;max-width:832px}
.v-legal-cancellation > .policy-body{padding:0 1.5rem}
@media (max-width:640px){.v-legal-cancellation .policy-body-inner{padding:1.5rem 1.1rem!important}}
.v-legal nav.v-legal-toc{background:var(--v-card)!important;border:1px solid var(--v-line)!important;border-radius:var(--v-radius)!important;position:static!important}
.v-legal nav.v-legal-crumbs,.v-legal nav[aria-label="Policies"]{background:none!important;border:0!important;position:static!important;padding-left:0;padding-right:0}
/* Cancellation page: its nav helpers sit directly in #page-wrap, where atelier styles bare navs */
#page-wrap.v-legal-cancellation > nav{position:static!important;display:block!important;width:100%!important;max-width:880px!important;min-height:0!important;margin:0 auto 1rem!important;padding:0 1.5rem!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
#page-wrap.v-legal-cancellation > nav.v-legal-toc{max-width:832px!important;padding:1rem 1.25rem!important;margin-bottom:1.5rem!important;background:var(--v-card)!important;border:1px solid var(--v-line)!important;border-radius:var(--v-radius)!important}
@media (max-width:700px){#page-wrap.v-legal-cancellation > nav.v-legal-toc{display:none!important}#page-wrap.v-legal-cancellation > nav.v-legal-toc.is-open{display:block!important}}
.v-legal .v-legal-toc ol{list-style:none;padding-left:0}
