/* ============================================================
   v2-shell.css — Shared shell for pages ported from the minimal
   legacy shell — extracted from pricing.html; the v2 overlay
   sheets that load after this restyle it the same way they
   restyle inline page CSS.
   Load order: this file MUST be linked immediately BEFORE
   /css/v2-design-overlay.css so the overlay still wins.
   Token fallbacks are inlined because several ported pages do
   not define the full :root palette.
   ============================================================ */

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 5vw;height:68px;display:flex;align-items:center;justify-content:space-between;background:rgba(11,36,71,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,168,76,.2);}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--gold,#C9A84C),var(--gold-light,#F0D080));border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Poppins',serif;font-weight:800;font-size:18px;color:var(--navy,#0B2447);flex-shrink:0;}
.logo-text{font-family:'Poppins',serif;font-weight:600;font-size:20px;color:var(--white,#FFFFFF);letter-spacing:-.3px;}
.logo-text span{color:var(--gold,#C9A84C);}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{color:rgba(255,255,255,.8);font-size:14px;font-weight:500;transition:color .2s;white-space:nowrap;}
.nav-links a:hover{color:var(--gold,#C9A84C);}
.nav-cta{background:linear-gradient(135deg,var(--gold,#C9A84C),#E8BC56);color:var(--navy,#0B2447)!important;padding:9px 22px;border-radius:8px;font-weight:700!important;font-size:13px!important;transition:transform .2s,box-shadow .2s!important;}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(201,168,76,.4)!important;}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;z-index:200;}
.nav-burger span{display:block;width:24px;height:2px;background:var(--white,#FFFFFF);border-radius:2px;transition:all .3s;}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mobile-menu{display:none;position:fixed;inset:68px 0 0;background:rgba(11,36,71,.99);z-index:99;padding:32px 5vw;flex-direction:column;gap:24px;overflow-y:auto;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:rgba(255,255,255,.85);font-size:18px;font-weight:500;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu .nav-cta{color:var(--navy,#0B2447)!important;text-align:center;border-radius:12px;padding:14px 32px;font-size:15px!important;margin-top:8px;}
/* ── MEGA MENU DROPDOWNS ── */
.nav-parent{position:relative;}
.nav-parent>span{color:rgba(255,255,255,.8);font-size:14px;font-weight:500;cursor:pointer;transition:color .2s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.nav-parent>span::after{content:'\25BE';font-size:10px;opacity:.5;transition:transform .2s;}
.nav-parent:hover>span{color:var(--gold,#C9A84C);}
.nav-parent:hover>span::after{transform:rotate(180deg);}
.nav-drop{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--white,#FFFFFF);border-radius:var(--radius,14px);box-shadow:var(--shadow-lg,0 12px 48px rgba(11,36,71,.18));padding:10px 0;min-width:240px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:200;}
.nav-parent:hover .nav-drop{opacity:1;visibility:visible;}
.nav-drop a{display:block;padding:9px 20px;font-size:13px;font-weight:500;color:var(--gray-800,#2C3444)!important;transition:background .15s;white-space:nowrap;text-decoration:none;}
.nav-drop a:hover{background:var(--off-white,#F4F6FA);color:var(--navy,#0B2447)!important;}
.nav-drop .drop-divider{border-top:1px solid var(--gray-100,#E8EDF5);margin:6px 0;}
.nav-drop .drop-label{padding:4px 20px;font-size:10px;font-weight:700;color:var(--gray-600,#5A6880);text-transform:uppercase;letter-spacing:.8px;}
/* Mobile accordion */
.mob-section{border-bottom:1px solid rgba(255,255,255,.06);}
.mob-section-title{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:18px;font-weight:500;color:rgba(255,255,255,.85);cursor:pointer;}
.mob-section-title::after{content:'\25BE';font-size:14px;opacity:.5;transition:transform .3s;}
.mob-section-title.mob-open::after{transform:rotate(180deg);}
.mob-section-links{display:none;padding:4px 0 12px 16px;}
.mob-section-links a{display:block;padding:10px 0;font-size:15px;color:rgba(255,255,255,.65)!important;border-bottom:1px solid rgba(255,255,255,.03);text-decoration:none;}
.mob-section-links a:hover{color:var(--gold,#C9A84C)!important;}

/* ── FOOTER ── */
footer{background:#070F1E;color:rgba(255,255,255,.7);padding:60px 5vw 30px;}
.footer-top{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.06);}
.footer-brand{display:flex;flex-direction:column;}
.footer-brand p{font-size:13px;line-height:1.8;max-width:260px;margin:16px 0 20px;}
.footer-certifications{display:flex;gap:10px;flex-wrap:wrap;}
.cert-badge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 12px;font-size:11px;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.5px;}
.footer-col{display:flex;flex-direction:column;}
.footer-col h4{color:var(--white,#FFFFFF);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px;}
.footer-col a{display:block;color:rgba(255,255,255,.65);font-size:13px;margin-bottom:11px;transition:color .2s;}
.footer-col a:hover{color:var(--gold,#C9A84C);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:28px;font-size:12px;}
.footer-bottom a{color:rgba(255,255,255,.75);}
.footer-bottom a:hover{color:rgba(255,255,255,.65);}

/* Auth Nav */
.nav-login{color:rgba(255,255,255,.8);font-size:14px;font-weight:500;transition:color .2s;white-space:nowrap;}
.nav-login:hover{color:var(--gold,#C9A84C);}
.nav-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold,#C9A84C),var(--gold-light,#F0D080));display:flex;align-items:center;justify-content:center;font-family:'Poppins',serif;font-weight:800;font-size:14px;color:var(--navy,#0B2447);cursor:pointer;position:relative;flex-shrink:0;}
.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white,#FFFFFF);border-radius:var(--radius,14px);box-shadow:var(--shadow-lg,0 12px 48px rgba(11,36,71,.18));padding:8px 0;min-width:200px;display:none;z-index:200;}
.nav-dropdown.open{display:block;}
.nav-dropdown a{display:block;padding:10px 20px;font-size:13px;font-weight:500;color:var(--gray-800,#2C3444)!important;transition:background .2s;}
.nav-dropdown a:hover{background:var(--off-white,#F4F6FA);color:var(--gray-800,#2C3444)!important;}
.nav-dropdown hr{border:none;border-top:1px solid var(--gray-100,#E8EDF5);margin:6px 0;}
.nav-tp-badge{font-size:11px;color:#C9A84C;text-decoration:none;flex-shrink:0;white-space:nowrap;font-weight:600;letter-spacing:.2px;opacity:.85;transition:opacity .2s;}.nav-tp-badge:hover{opacity:1;}@media(max-width:768px){.nav-tp-badge{display:none;}}

/* ── Responsive (shell subset of pricing.html media queries) ── */
@media(max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .nav-links{display:none;}#pmAuthNav{display:none!important;}
  .nav-burger{display:flex;}
  .footer-top{grid-template-columns:1fr;}
}
