/* ==== fonts.css ==== */
/* ============================================================
LOCAL FONT FACES — self-hosted instead of Google Fonts CDN
Saves 2 DNS lookups + connection overhead per page load.
Files:assets/fonts/*.woff2
============================================================ */
/* Bebas Neue — used for hero titles,big impact headings */
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bebas-neue-400.woff2') format('woff2');}/* Inter — body text,descriptions,UI labels (variable:300–600) */
@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/inter-var.woff2') format('woff2');}/* Oswald — subheadings,section titles,labels (variable:400–700) */
@font-face{font-family:'Oswald';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/oswald-var.woff2') format('woff2');}/* ==== base.css ==== */
/* ============================================================
EDGETHATGUY THEME — base.css
Variables,reset,layout,navigation,hero,buttons
⚠️ BUILDER:After editing,run:cd agent-dev-server && node scripts/rebuild-theme.cjs
============================================================ */
/* ---- Variables ---- */:root{--bg-outer:#1a1a23;/* outer frame — medium-dark (visible on wide screens as perimeter) */
--bg:#0c0c10;/* inner content panel — very dark (centred,max-width) */
--bg-nav:#1a1a23;/* nav = outer layer — matches body frame,seamless */
/* Color intention:inner panel (content area) is the DEEPEST dark (#0c0c10).
Outer frame (#1a1a23) is slightly lighter,visible as a perimeter on wide screens.
This creates a vignette / spotlight effect — content sinks into shadow. */
--bg-card:#22222c;--bg-popup:#22222c;--border:#2a2a35;/* subtle border for dividers INSIDE the inner panel */
--accent:#c0147c;/* brand pink/magenta */
--accent-hover:#d9168d;--text:#f0f0f0;--text-muted:#8a8d94;--gold:#f5a623;--font-head:'Oswald',sans-serif;--font-body:'Inter',sans-serif;--max-w:1520px;--nav-h:72px;/* compact nav — more content visible */
--radius:6px;--ease:0.2s ease;--accent-rgb:192,20,124;/* default accent RGB — overridden when accent changes */
color-scheme:dark;/* native browser elements (scrollbars,inputs) use dark mode */}/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{background:var(--bg-outer);/* outer "frame" layer — the soft dark perimeter */
color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}a{color:inherit;text-decoration:none;transition:color var(--ease);}a:hover{color:var(--accent);}img{max-width:100%;height:auto;display:block;}a,button,[role='button']{touch-action:manipulation;}button{cursor:pointer;}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:600;letter-spacing:0.03em;text-transform:uppercase;line-height:1.2;text-rendering:optimizeLegibility;text-wrap:balance;}ul{list-style:none;}/* ---- Layout ---- */
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;}/* Content sections use extra horizontal padding — so the grid looks "boxed"
and noticeably narrower than the full-bleed hero above it */
.section .container{padding:0 56px;}.site-main{padding-top:var(--nav-h);min-height:calc(100vh - var(--nav-h));}/* ============================================================
TWO-LAYER SITE WRAPPER
Outer body = --bg-outer (soft dark frame visible on wide screens)
Inner #page = --bg (deep dark panel,max-width centered)
============================================================ */
#page.site{background:var(--bg);max-width:var(--max-w);margin:0 auto;min-height:100vh;position:relative;}/* ============================================================
NAVIGATION
Nav bg = --bg-outer (same as body frame).
No border-bottom — the colour shift from outer nav → inner
content panel creates the natural visual separation.
============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:var(--bg-nav);/* outer layer — seamless with body frame */
z-index:1000;/* NO border-bottom — outer nav colour vs inner content colour is enough */}.site-header .container{height:100%;}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;}/* Left group:logo + menu sit together on the left */
.nav-left{display:flex;align-items:center;gap:32px;}.nav-logo{display:flex;align-items:center;}.nav-logo img{height:38px;width:auto;}.nav-logo-text{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:0.1em;color:var(--text);}/* Mini wordart logo — stencil style matching footer art,at nav scale */
.nav-logo-art{display:inline-flex;align-items:baseline;line-height:1;gap:0;text-decoration:none;}.nav-fat{font-family:var(--font-head);font-size:24px;font-weight:700;letter-spacing:-0.01em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(240,240,240,0.65);text-stroke:1.5px rgba(240,240,240,0.65);line-height:1;transition:-webkit-text-stroke-color 0.25s ease;user-select:none;}.nav-fat-accent{-webkit-text-stroke-color:var(--accent);text-stroke-color:var(--accent);}.nav-logo:hover .nav-fat:not(.nav-fat-accent){-webkit-text-stroke-color:rgba(240,240,240,1);}.nav-logo:hover .nav-fat-accent{color:var(--accent);-webkit-text-stroke-color:var(--accent);}.nav-menu{display:flex;align-items:center;gap:28px;}.nav-menu a{font-family:var(--font-head);font-size:13px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);transition:color var(--ease);}.nav-menu a:hover,.nav-menu a.current-menu-item{color:var(--text);}.nav-actions{display:flex;align-items:center;gap:10px;}.btn-join{background:var(--accent);color:#fff;font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:8px 20px;border-radius:var(--radius);border:none;cursor:pointer;transition:background var(--ease);white-space:nowrap;display:inline-block;}.btn-join:hover{background:var(--accent-hover);color:#fff;}.btn-login{font-family:var(--font-head);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);transition:color var(--ease);white-space:nowrap;}.btn-login:hover{color:var(--text);}.nav-cart{color:var(--text-muted);font-size:13px;display:flex;align-items:center;gap:4px;transition:color var(--ease);}.nav-cart:hover{color:var(--text);}.nav-cart svg{width:18px;height:18px;}.nav-toggle{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:4px;}.nav-toggle svg{display:block;width:22px;height:22px;}.nav-mobile{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--bg-nav);border-bottom:1px solid var(--border);padding:20px 24px;z-index:9500;}.nav-mobile.open{display:block;}.nav-mobile-menu{display:flex;flex-direction:column;gap:0;}.nav-mobile-menu a{font-family:var(--font-head);font-size:15px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);padding:12px 0;border-bottom:1px solid var(--border);transition:color var(--ease);}.nav-mobile-menu a:hover{color:var(--text);}.nav-mobile-actions{display:flex;gap:12px;margin-top:16px;}/* ============================================================
INLINE NAV SEARCH
Expanding search bar that appears within the nav actions.
Click the search icon → input slides open → user types directly.
============================================================ */
.nav-search{display:flex;align-items:center;position:relative;}.nav-search-icon{background:rgba(255,255,255,0.07);border:1px solid var(--border);color:var(--text);cursor:pointer;padding:8px 12px;display:flex;align-items:center;justify-content:center;transition:color var(--ease),border-color var(--ease),background var(--ease);border-radius:var(--radius);}.nav-search-icon:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}.nav-search-icon svg{display:block;stroke:currentColor;fill:none;}/* The form starts collapsed (max-width:0),expands on .open */
.nav-search-form{display:flex;align-items:center;overflow:hidden;max-width:0;opacity:0;transition:max-width 0.3s ease,opacity 0.25s ease;position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);}.nav-search.open .nav-search-icon{display:none;}.nav-search.open .nav-search-form{max-width:280px;opacity:1;position:relative;right:auto;top:auto;transform:none;}#nav-search-input{background:none;border:none;outline:none;color:var(--text);font-size:14px;font-family:var(--font-body);padding:9px 14px;width:220px;-webkit-appearance:none;}#nav-search-input::placeholder{color:var(--text-muted);}.nav-search-close{background:none;border:none;border-left:1px solid var(--border);color:var(--text-muted);cursor:pointer;padding:9px 12px;font-size:18px;line-height:1;transition:color var(--ease);display:flex;align-items:center;}.nav-search-close:hover{color:var(--text);}/* ============================================================
HERO SLIDER
4-slide full-width carousel. Navigation arrows left/right,dot indicators at the bottom. Slides are configured via
Appearance → Theme Settings (WordPress admin).
Desktop target:1920 × 800 px (standard wide hero)
============================================================ */
.hero-slider{position:relative;width:100%;/* Show full 16:9 image — aspect-ratio matches image,capped at viewport height minus navbar */
aspect-ratio:16 / 9;max-height:calc(100vh - 70px);min-height:260px;overflow:hidden;background:var(--bg);}/* On very small screens clamp to a reasonable minimum */
/* ── MOBILE HERO — complete rewrite v3.02 ── */
@media (max-width:640px){
  /* 4:3 aspect-ratio gives a taller hero on portrait phones (390px → ~292px)
     so all content (eyebrow + title + sub + button + dots) fits without clipping */
  .hero-slider{
    aspect-ratio:4 / 3;
    min-height:260px;
    max-height:400px;
  }

  /* Tighten content padding: extra bottom padding leaves room for the absolute dots */
  .hero-slide-content{
    padding:36px 18px 52px;
  }

  /* Smaller eyebrow — scales relative to admin setting */
  .hero-eyebrow{
    font-size:calc(var(--hero-eyebrow-sz,11px) * 0.82);
    letter-spacing:0.18em;
    margin-bottom:7px;
  }

  /* Smaller title — on 390px, clamp(18px,5.5vw,26px) → ~21px so 3-line titles fit */
  .hero-title{
    font-size:clamp(18px,5.5vw,26px) !important;
    margin-bottom:10px;
    line-height:1.08;
  }

  /* Smaller subtitle — scales relative to admin setting */
  .hero-sub{
    font-size:calc(var(--hero-sub-sz,16px) * 0.75);
    margin-bottom:16px;
    line-height:1.3;
  }

  /* Compact CTA button */
  .hero-cta .btn-primary{
    font-size:10px;
    padding:8px 16px;
    letter-spacing:0.07em;
  }

  /* Smaller arrows, closer to edge */
  .slider-arrow{width:38px;height:38px;}
  .slider-arrow svg{width:17px;height:17px;}
  .slider-arrow-prev{left:8px;}
  .slider-arrow-next{right:8px;}

  /* Tighten dot position */
  .slider-dots{bottom:14px;}
}/* ---- Track ---- */
.hero-slides-track{display:flex;width:100%;height:100%;transition:transform 0.55s cubic-bezier(0.45,0,0.15,1);}/* ---- Individual slide ---- */
.hero-slide{flex-shrink:0;flex-basis:100%;width:100%;height:100%;position:relative;/* anchor for all absolute children */
overflow:hidden;}.hero-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:brightness(1);display:block;}.hero-slide-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}.hero-slide-overlay{position:absolute;inset:0;background:rgba(0,0,0,var(--hero-overlay-op,0));z-index:1;}/* Content sits absolutely centred over the image */
.hero-slide-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 32px;opacity:0;transform:translateY(14px);transition:opacity 0.45s 0.2s ease,transform 0.45s 0.2s ease;}.hero-slide.is-active .hero-slide-content{opacity:1;transform:translateY(0);}.hero-eyebrow{font-family:var(--font-head);font-size:var(--hero-eyebrow-sz,11px);letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;opacity:var(--hero-eyebrow-op,1);}.hero-title{font-size:clamp(var(--hero-title-min,30px),6vw,var(--hero-title-max,66px));font-weight:700;margin-bottom:16px;text-shadow:0 2px 24px rgba(0,0,0,0.9);line-height:1.1;opacity:var(--hero-title-op,1);}.hero-sub{font-family:var(--font-head);font-size:var(--hero-sub-sz,16px);text-transform:uppercase;letter-spacing:0.15em;color:#fff;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;opacity:var(--hero-sub-op,1);}.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.10);color:#fff;font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:9px 22px;border-radius:var(--radius);border:1px solid rgba(255,255,255,0.40);cursor:pointer;transition:background var(--ease),border-color var(--ease),color var(--ease);}.btn-primary:hover{background:rgba(255,255,255,0.20);color:#fff;}.hero-slide-content .btn-primary,.hero-slide-content .btn-primary:hover{color:var(--hero-btn-text,#fff) !important;}/* ---- Prev / Next arrows ---- */
.slider-arrow{position:absolute;top:50%;z-index:10;transform:translateY(-50%);background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.15);color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease),border-color var(--ease);line-height:1;}.slider-arrow:hover{background:var(--accent);border-color:var(--accent);}.slider-arrow svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;}.slider-arrow-prev{left:20px;}.slider-arrow-next{right:20px;}/* ---- Dot indicators ---- */
.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10;}.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.35);border:none;cursor:pointer;transition:background 0.25s,transform 0.25s;padding:0;}.slider-dot.is-active{background:var(--accent);transform:scale(1.25);}/* ---- No-image fallback ---- */
.hero-slide-fallback{position:absolute;inset:0;background:linear-gradient(135deg,var(--bg-card) 0%,#0d0d17 100%);}.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text);font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:13px 32px;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:border-color var(--ease),color var(--ease),background var(--ease);}.btn-outline:hover{border-color:var(--text-muted);color:var(--text);}/* ============================================================
SECTIONS
============================================================ */
.section{padding:72px 0;}.section + .section{border-top:none;}/* No visible dividers between sections */
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;}.section-title{font-size:clamp(22px,3vw,34px);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;display:flex;align-items:center;gap:12px;line-height:1;}.section-line{display:inline-block;width:5px;height:28px;background:var(--accent);border-radius:2px;flex-shrink:0;}.view-all{font-family:var(--font-head);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);transition:color var(--ease);white-space:nowrap;}.view-all:hover{color:var(--accent);}/* Breadcrumbs */
.breadcrumbs{padding:18px 0 0;font-size:12px;color:var(--text-muted);}.breadcrumbs ul{display:flex;flex-wrap:wrap;gap:6px;}.breadcrumbs li + li::before{content:'/';margin-right:6px;opacity:0.4;}.breadcrumbs a{color:var(--text-muted);transition:color var(--ease);}.breadcrumbs a:hover{color:var(--accent);}/* Pagination — full styles in pages.css */
/* Generic page content */
.page-content{padding:48px 0 60px;}.page-title{font-size:32px;margin-bottom:28px;}.entry-content{font-size:15px;line-height:1.8;color:var(--text-muted);max-width:760px;}.entry-content p{margin-bottom:16px;}.entry-content h2,.entry-content h3{color:var(--text);margin:28px 0 12px;}.entry-content ul,.entry-content ol{margin:0 0 16px 20px;}.entry-content li{margin-bottom:6px;}.entry-content a{color:var(--accent);text-decoration:underline;}/* 404 */
.not-found{padding:80px 0;text-align:center;}.not-found-code{font-size:100px;font-weight:700;color:var(--border);line-height:1;}.not-found-title{font-size:28px;margin-bottom:14px;}.not-found-sub{color:var(--text-muted);margin-bottom:32px;}/* Search */
.search-form-wrap{padding:40px 0 20px;}.search-field{background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:15px;padding:12px 16px;border-radius:var(--radius);width:100%;max-width:500px;}.search-field:focus{outline:none;border-color:var(--accent);}/* ============================================================
MOBILE RESPONSIVE (base.css)
ALL rules here are inside max-width media queries.
Desktop styles above are COMPLETELY UNCHANGED.
============================================================ */
/* ── Global:prevent horizontal scroll on mobile ── */
@media (max-width:768px){html{overflow-x:hidden;}/* NOTE:Do NOT add overflow-x:hidden to <body> —
it causes position:fixed elements (like the mobile nav drawer)
to behave incorrectly on iOS Safari and Android Chrome.
overflow-x:hidden on <html> is enough to prevent viewport horizontal scroll. */
#page.site{overflow-x:hidden;}}/* ── Container + section padding ── */
@media (max-width:768px){.container{padding:0 16px;}.section .container{padding:0 16px;}.section{padding:40px 0;}}/* ── Navigation:show hamburger,hide desktop nav on mobile ── */
@media (max-width:768px){/* Show hamburger toggle */
.nav-toggle{display:flex !important;align-items:center;justify-content:center;width:38px;height:38px;}/* Hide the horizontal desktop menu */
.nav-menu{display:none !important;}/* Hide the text Join button in header (it's in mobile drawer already) */
.nav-actions .btn-join{display:none !important;}/* Keep cart icon + search icon in nav-actions */
.nav-actions{gap:6px;}/* Tighten nav inner */
.nav-inner{gap:10px;}/* Site header narrower padding */
.site-header .container{padding:0 16px;}}/* ── Mobile nav drawer ── */
@media (max-width:768px){.nav-mobile{padding:20px 16px 24px;}.nav-mobile-menu{gap:0;}.nav-mobile-menu a{padding:13px 0;font-size:16px;}.nav-mobile-actions{flex-direction:column;gap:8px;margin-top:0;padding-top:0;}.nav-mobile-actions .btn-join,.nav-mobile-actions .btn-account{width:100%;justify-content:center;}.nav-mobile-actions .btn-login{display:block;font-size:16px;padding:13px 0;width:100%;text-align:left;border-bottom:1px solid var(--border);}}/* ── Footer responsive ── */
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px 32px;}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr;gap:24px;}.footer-bottom{flex-direction:column;text-align:center;gap:8px;}.footer-tagline{max-width:100%;}}/* ── Footer art section ── */
@media (max-width:480px){.footer-art-section{padding:56px 16px 48px;}.fat-word{font-size:clamp(52px,17vw,100px);}}/* ============================================================
GLOBAL:Every input[type="submit"] & button[type="submit"]
must follow the theme accent colour — no one-off overrides needed.
If a specific component needs a different colour,add a more-
specific selector in the relevant component CSS file AFTER this.
============================================================ */
input[type="submit"],button[type="submit"]{background:var(--accent) !important;color:#fff !important;font-family:var(--font-head) !important;font-size:13px !important;font-weight:600 !important;letter-spacing:0.07em !important;text-transform:uppercase !important;border:none !important;border-radius:var(--radius) !important;padding:10px 24px !important;cursor:pointer !important;transition:background var(--ease) !important;line-height:1.4 !important;}input[type="submit"]:hover,button[type="submit"]:hover{background:var(--accent-hover) !important;}/* Note:.btn-join is already defined above with its own background rules.
If you ever need to override the global submit style for a specific component,add a more-specific selector after this block (e.g. .wc-proceed-to-checkout button). */
/* ─── Scroll-to-Top Button (global + popup) ─── */
.edgt-scroll-top{position:fixed;bottom:28px;right:24px;z-index:9000;width:40px;height:40px;border:none;border-radius:50%;background:var(--accent);color:var(--btn-text-color,#fff);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s ease,background 0.2s ease,transform 0.25s ease;transform:translateY(12px);box-shadow:0 2px 12px rgba(0,0,0,0.35);}.edgt-scroll-top.visible{opacity:1;pointer-events:auto;transform:translateY(0);}.edgt-scroll-top:hover{background:var(--accent-hover,var(--accent));color:var(--btn-text-color,#fff);filter:brightness(1.15);}.vmodal-scroll-top{position:fixed;bottom:28px;right:24px;z-index:9900;width:40px;height:40px;border:none;border-radius:50%;background:var(--accent);color:var(--btn-text-color,#fff);cursor:pointer;display:none;align-items:center;justify-content:center;transition:opacity 0.25s ease,background 0.2s ease;box-shadow:0 2px 12px rgba(0,0,0,0.35);}.vmodal-scroll-top.visible{display:flex;}.vmodal-scroll-top:hover{background:var(--accent-hover,var(--accent));color:var(--btn-text-color,#fff);filter:brightness(1.15);}@media (max-width:768px){.edgt-scroll-top,.vmodal-scroll-top{bottom:20px;right:16px;width:36px;height:36px;}}/* ============================================================
CUSTOM SCROLLBAR — premium dark aesthetic
============================================================ */::-webkit-scrollbar{width:6px;height:6px;}::-webkit-scrollbar-track{background:var(--bg-outer);}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:3px;}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.22);}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.12) transparent;}/* ============================================================
PREFERS-REDUCED-MOTION — accessibility
Disable all transitions and animations for users who prefer
reduced motion (vestibular disorders,motion sensitivity).
============================================================ */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}.hero-slides-track{transition:none !important;}.hero-slide-content{transition:none !important;opacity:1 !important;transform:none !important;}.vmodal-box,.popup-box,.notice-modal-box{animation:none !important;}.blog-modal-box{transition:none !important;transform:none !important;}}/* ==== cards.css ==== */
/* ============================================================
EDGETHATGUY THEME — cards.css
Video cards,model cards,models archive,author profile
⚠️ BUILDER:After editing,run:cd agent-dev-server && node scripts/rebuild-theme.cjs
============================================================ */
/* ============================================================
VIDEO CARDS
============================================================ */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);/* 3 columns — centred with horizontal breathing room */
gap:14px;/* "Box" effect:grid is narrower than the container so left/right borders are visible */
max-width:88%;margin-left:auto;margin-right:auto;}/* Responsive:step down to avoid too-narrow cards on small screens */
/* 1100px → 3 col | 760px → 2 col | 480px → 1 col */
.video-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;cursor:pointer;will-change:transform;transition:transform var(--ease),box-shadow var(--ease);}.video-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.5);}.video-card-link{display:block;color:inherit;}.video-card-link:hover{color:inherit;}.video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0a0a12;}.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease;}.video-card:hover .video-thumb img{transform:scale(1.0);}.video-thumb-overlay{position:absolute;inset:0;/* Stronger gradient — title is now bigger,needs more dark background area */
background:linear-gradient(
to bottom,rgba(0,0,0,0.05) 0%,rgba(0,0,0,0.05) 25%,rgba(0,0,0,0.65) 65%,rgba(0,0,0,0.92) 100%
);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;/* title anchored to bottom */
padding:12px 13px 14px;transition:background var(--ease);}.video-card:hover .video-thumb-overlay{background:linear-gradient(
to bottom,rgba(0,0,0,0.15) 0%,rgba(0,0,0,0.15) 30%,rgba(0,0,0,0.65) 65%,rgba(0,0,0,0.92) 100%
);}/* Play icon — centred,ALWAYS visible */
.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);width:52px;height:52px;background:rgba(0,0,0,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:2px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:1;/* always shown */
transition:background 0.22s ease,border-color 0.22s ease,box-shadow 0.22s ease,transform 0.22s ease;z-index:3;}.video-card:hover .play-icon{transform:translate(-50%,-50%) scale(1);background:var(--accent);border-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 60%,transparent);}.video-card:hover .play-icon svg{fill:#fff;}.play-icon svg{fill:var(--accent);width:20px;height:20px;margin-left:3px;}/* Title inside the overlay — bottom-left,bold,nicely sized */
.video-bottom{position:relative;z-index:2;width:100%;}/* Keyword line — category/model name,small + accent */
.video-keyword{display:block;font-family:var(--font-head);font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);opacity:0.95;margin-bottom:3px;text-shadow:0 1px 4px rgba(0,0,0,0.8);}/* Main title — BIG and bold,like the reference site (nicksluckycharm style) */
.video-title{font-family:var(--card-title-font,var(--font-head)),sans-serif;font-size:var(--card-title-size,21px);font-weight:700;line-height:1.25;font-style:normal;color:var(--card-title-color,#fff);letter-spacing:0.01em;text-transform:none;text-align:center;/* Use display:block + max-height instead of -webkit-line-clamp so that::first-line pseudo-element (first-line size) works correctly.
-webkit-box is incompatible with::first-line.
Height = first-line * 1.3 + second-line * 1.6 (extra room for descenders). */
display:block;max-height:calc(var(--card-title-l1-size,28px) * 1.3 + var(--card-title-size,21px) * 1.6);overflow:hidden;margin:0;text-shadow:0 2px 10px rgba(0,0,0,0.95);width:100%;}/* First line rendered at its own size (admin:Card Title — Line 1 Size).
Default 28px gives the Nick's-style "big title / smaller subtitle" look. */
.video-title::first-line{font-size:var(--card-title-l1-size,28px);}.video-badge{position:absolute;top:8px;left:8px;font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:3px 8px;border-radius:3px;z-index:3;}.video-badge.ppv{background:var(--gold);color:#111;}.video-badge.new{background:var(--accent);color:#fff;}/* .video-info is removed from the template — these rules are kept only for
any third-party widget that might still output them */
.video-info{display:none;}.video-meta{display:none;}.video-cats{display:none;}.video-date{display:none;}.video-cat-tag{display:none;}.video-model-link{display:none;}/* ============================================================
MODEL CARDS (homepage strip — 6 across)
============================================================ */
.model-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}.model-card{text-align:center;cursor:pointer;will-change:transform;transition:transform var(--ease),box-shadow var(--ease);}.model-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,0.55);}.model-card-link{display:block;color:inherit;}.model-card-link:hover{color:inherit;}.model-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--bg-card);margin-bottom:9px;}.model-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease;}.model-card:hover .model-thumb img{transform:scale(1.06);}.model-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.65) 0%,transparent 55%);opacity:0;transition:opacity var(--ease);}.model-card:hover .model-thumb-overlay{opacity:1;}.model-name{font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--text);transition:color var(--ease);}.model-card:hover .model-name{color:var(--accent);}.model-count{font-size:11px;color:var(--text-muted);margin-top:3px;font-variant-numeric:tabular-nums;}/* ============================================================
MODELS ARCHIVE PAGE (/model/)
============================================================ */
.models-page{padding:40px 0 60px;}.models-page-title{font-size:28px;margin-bottom:6px;}.models-count{font-size:13px;color:var(--text-muted);margin-bottom:24px;}.models-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border);}.models-sort{display:flex;gap:6px;flex-wrap:wrap;}.sort-btn{font-family:var(--font-head);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color var(--ease),color var(--ease),background var(--ease);text-decoration:none;display:inline-block;}.sort-btn:hover,.sort-btn.active{border-color:var(--accent);color:var(--accent);}.models-alpha{display:flex;flex-wrap:wrap;gap:4px;}.alpha-btn{font-family:var(--font-head);font-size:12px;font-weight:600;padding:5px 9px;border-radius:3px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color var(--ease),color var(--ease),background var(--ease);text-decoration:none;display:inline-block;}.alpha-btn:hover,.alpha-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}.model-grid-full{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}/* ============================================================
AUTHOR / MODEL PROFILE PAGE
============================================================ */
.model-profile{padding:48px 0 60px;}.model-profile-header{display:flex;gap:40px;align-items:flex-start;margin-bottom:48px;padding-bottom:40px;border-bottom:1px solid var(--border);}.model-profile-photo{flex-shrink:0;width:200px;height:200px;border-radius:var(--radius);overflow:hidden;background:var(--bg-card);}.model-profile-photo img{width:100%;height:100%;object-fit:cover;}.model-profile-info{flex:1;min-width:0;}.model-profile-name{font-size:40px;margin-bottom:16px;}.model-stats{display:flex;gap:28px;margin-bottom:20px;}.model-stat-num{font-family:var(--font-head);font-size:28px;font-weight:700;color:var(--accent);display:block;font-variant-numeric:tabular-nums;}.model-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.07em;}.model-bio{font-size:14px;line-height:1.75;color:var(--text-muted);max-width:600px;margin-bottom:20px;}.model-socials{display:flex;gap:10px;flex-wrap:wrap;}.model-social-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-size:11px;letter-spacing:0.07em;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius);border:1px solid var(--border);color:var(--text-muted);transition:border-color var(--ease),color var(--ease),background var(--ease);}.model-social-link:hover{border-color:var(--accent);color:var(--accent);}.model-videos-heading{font-size:18px;margin-bottom:20px;display:flex;align-items:center;gap:10px;}/* ============================================================
MOBILE RESPONSIVE (cards.css)
DESKTOP styles above are COMPLETELY UNCHANGED.
Only mobile/tablet breakpoints below.
============================================================ */
/* ── Video grid:1 column on mobile (was 3) ── */
@media (max-width:768px){.video-grid{grid-template-columns:1fr !important;max-width:100% !important;}}/* ── PPV grid:2 columns on tablet,1 on small mobile ── */
@media (max-width:768px){.ppv-grid{grid-template-columns:repeat(2,1fr) !important;max-width:100% !important;}}@media (max-width:480px){.ppv-grid{grid-template-columns:1fr !important;}}/* ── Model grids responsive ── */
@media (max-width:900px){.model-grid{grid-template-columns:repeat(4,1fr) !important;}.model-grid-full{grid-template-columns:repeat(4,1fr) !important;}}@media (max-width:600px){.model-grid{grid-template-columns:repeat(3,1fr) !important;}.model-grid-full{grid-template-columns:repeat(3,1fr) !important;}}@media (max-width:400px){.model-grid{grid-template-columns:repeat(2,1fr) !important;}.model-grid-full{grid-template-columns:repeat(2,1fr) !important;}}/* ── Video card:ensure thumbnail fills width and is visible ── */
@media (max-width:768px){.video-card{margin:0;}.video-thumb{aspect-ratio:16/9;}.video-tag-new{font-size:10px !important;padding:3px 7px !important;}}/* ==== pages.css ==== */
/* ============================================================
EDGETHATGUY THEME — pages.css
Single post,WooCommerce,popup,footer,responsive
⚠️ BUILDER:After editing,run:cd agent-dev-server && node scripts/rebuild-theme.cjs
============================================================ */
/* ============================================================
SINGLE VIDEO / POST
============================================================ */
.video-single{padding:40px 0 60px;}.video-single-grid{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start;}.video-single-title{font-size:clamp(20px,3vw,32px);margin-bottom:14px;}.video-single-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:var(--text-muted);align-items:center;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border);}.video-single-meta a{color:var(--text-muted);transition:color var(--ease);}.video-single-meta a:hover{color:var(--accent);}.video-single-meta .sep{color:var(--border);}.video-player-wrap{/* CHANGED:removed position:relative + padding-top:56.25% (the old responsive-iframe trick)
and background:#000. The post content (the_content) contains a Bunny.net embed which
already has its OWN self-contained 16:9 wrapper — layering another one on top created:(a) an empty black frame / blank space at the top of every post,and
(b) the entire content area appearing on a solid black background.
The Bunny embed handles its own aspect-ratio. We just need a clean card container. */
margin-bottom:28px;background:var(--bg);/* inner-layer colour — same dark as the page content area */
border-radius:var(--radius);overflow:hidden;padding:0 0 20px;/* bottom breathing room;video fills full width,text flows naturally */}.video-player-wrap iframe{/* CHANGED:was position:absolute + top/left/width/height (the aspect-ratio trick).
Now just ensure iframes don't overflow the card and are borderless.
The Bunny.net embed iframe is already positioned by Bunny's own wrapper (inline styles). */
max-width:100%;border:0;display:block;}.video-paywall{position:relative;padding-top:56.25%;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;margin-bottom:28px;}.video-paywall-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;}.paywall-lock{margin-bottom:14px;}.paywall-lock svg{width:48px;height:48px;stroke:var(--text-muted);fill:none;opacity:0.5;}.paywall-title{font-size:22px;margin-bottom:8px;}.paywall-sub{font-size:14px;color:var(--text-muted);margin-bottom:24px;}.post-body{font-size:15px;line-height:1.8;color:var(--text-muted);}.post-body p{margin-bottom:14px;}.post-body h2,.post-body h3{color:var(--text);margin:24px 0 10px;}.post-body img{border-radius:var(--radius);margin:16px 0;}.post-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px;padding-top:28px;border-top:1px solid var(--border);}.post-tag{font-family:var(--font-head);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius);border:1px solid var(--border);color:var(--text-muted);transition:border-color var(--ease),color var(--ease),background var(--ease);}.post-tag:hover{border-color:var(--accent);color:var(--accent);}.single-sidebar{}.sidebar-widget{background:var(--bg-card);border-radius:var(--radius);padding:20px;margin-bottom:14px;}.sidebar-widget-title{font-size:13px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);}.sidebar-model{display:flex;align-items:center;gap:14px;}.sidebar-model-photo{width:58px;height:58px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg);}.sidebar-model-photo img{width:100%;height:100%;object-fit:cover;}.sidebar-model-name{font-family:var(--font-head);font-size:14px;font-weight:600;text-transform:uppercase;}.sidebar-model-count{font-size:11px;color:var(--text-muted);margin-top:2px;}.sidebar-model-link{color:inherit;transition:color var(--ease);}.sidebar-model-link:hover{color:var(--accent);}.related-section{margin-top:56px;padding-top:48px;border-top:1px solid var(--border);}/* ============================================================
PPV / PRODUCT CARDS
============================================================ */
.ppv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:88%;margin-left:auto;margin-right:auto;}.ppv-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform var(--ease),box-shadow var(--ease);}.ppv-card:hover{box-shadow:0 6px 28px rgba(0,0,0,0.55);/* NO translateY — user:no pop-up effect */}.ppv-card-link{display:block;color:inherit;}.ppv-card-link:hover{color:inherit;}.ppv-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0a0a12;}.ppv-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease;}.ppv-card:hover .ppv-thumb img{transform:scale(1.0);/* NO scale — no pop-up effect */}/* Play icon inside PPV cards — reuses base .play-icon styles from cards.css */
.ppv-card:hover .play-icon{background:var(--accent);border-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 60%,transparent);}.ppv-card:hover .play-icon svg{fill:#fff;}.ppv-badge-wrap{display:none !important;}.ppv-badge{display:none !important;}.ppv-sale-badge{display:none !important;}.ppv-info{padding:12px 14px 16px;}.ppv-title{font-family:var(--font-body);font-size:13px;font-weight:600;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px;}.ppv-price-row{display:flex;align-items:center;justify-content:space-between;}.ppv-price{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;}.ppv-price.sale{color:var(--accent);}.ppv-price del{font-size:13px;color:var(--text-muted);margin-left:6px;}.btn-buy{font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;padding:6px 14px;background:var(--accent);color:#fff;border-radius:var(--radius);border:none;cursor:pointer;transition:background var(--ease);}.btn-buy:hover{background:var(--accent-hover);}/* WooCommerce archive */
.shop-page{padding:40px 0 60px;}.shop-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--border);}.shop-title{font-size:26px;}.shop-count{font-size:13px;color:var(--text-muted);}.woocommerce-ordering select{background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;}/* ============================================================
WOOCOMMERCE — background & body reset
Ensure WooCommerce product and shop pages always use the theme
inner-layer colour (--bg) rather than a plugin-injected black.
============================================================ */
body.woocommerce-page,body.single-product,body.woocommerce{background:var(--bg-outer) !important;color:var(--text) !important;}.woocommerce table,.woocommerce tbody,.woocommerce td,.woocommerce th,.woocommerce-page .woocommerce,.single-product .woocommerce{background:transparent;color:inherit;}/* ============================================================
WOOCOMMERCE single product */
.product-single{padding:48px 0 60px;}.product-single-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}.product-gallery-main{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--bg-card);}.product-gallery-main img{width:100%;height:100%;object-fit:cover;}/* Paywall / preview video inside gallery */
.product-gallery-main .product-video-embed{position:absolute;inset:0;width:100%;height:100%;border:0;}/* Full-width description below gallery+info grid */
.product-desc-full{margin-top:36px;padding-top:32px;border-top:1px solid var(--border);}.product-desc-full .product-desc-columns{column-count:2;column-gap:48px;font-size:14px;line-height:1.8;color:var(--text-muted);}.product-desc-full .product-desc-columns p{margin-bottom:12px;}.product-desc-full .product-desc-columns h2,.product-desc-full .product-desc-columns h3{color:var(--text);margin:20px 0 8px;column-span:none;}@media (max-width:700px){.product-desc-full .product-desc-columns{column-count:1;}}/* ── Product description inline-styled blocks fix ──────────────────────────
WP editor content sometimes has inline background:#faf9f9 (near-white).
The global p{color:#fff!important}makes text invisible on those light backgrounds.
Force all inline-styled containers inside the description to use the dark
card background so text (white) stays readable.
─────────────────────────────────────────────────────────────────────────── */
.product-desc-full [style*="background"],.product-desc-full div[style],.woocommerce-tabs .panel [style*="background"],.woocommerce-tabs .panel div[style*="#f"]{background:var(--bg-card) !important;background-color:var(--bg-card) !important;color:var(--text) !important;}/* ── Broader WooCommerce product page background reset ──
WooCommerce and Gutenberg sometimes inject white/light backgrounds
on tab panels,content areas,and product detail sections.
Force everything to use the dark theme background. */
.woocommerce-tabs .wc-tab,.woocommerce-tabs #tab-description,.woocommerce-tabs .panel,.woocommerce-Tabs-panel,.woocommerce-Tabs-panel--description,.wp-block-woocommerce-product-description,.woocommerce-product-details__short-description,.entry-content .product,.woocommerce div.product,.product_title + *{background:transparent !important;background-color:transparent !important;}/* Any inline background light color within product description panels */
.woocommerce div.product .woocommerce-tabs [style*="background"],.woocommerce div.product .woocommerce-tabs [style*="background-color"],.woocommerce-page .entry-content [style*="background-color:#f"],.woocommerce-page .entry-content [style*="background:#f"]{background-color:var(--bg-card) !important;background:var(--bg-card) !important;}.product-badges{display:flex;gap:8px;margin-bottom:16px;}.product-title{font-size:28px;margin-bottom:16px;}.product-price{font-family:var(--font-head);font-size:32px;font-weight:700;color:var(--accent);margin-bottom:20px;font-variant-numeric:tabular-nums;}.product-price del{font-size:20px;color:var(--text-muted);margin-right:8px;}.product-published-date{margin-top:-10px;margin-bottom:22px;font-size:13px;line-height:1.5;color:var(--text-muted);letter-spacing:.02em;}.product-published-date span{color:var(--text);font-family:var(--font-head);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:12px;}.product-desc{font-size:14px;line-height:1.75;color:var(--text-muted);margin-bottom:28px;}.product-desc p{margin-bottom:10px;}.btn-add-to-cart,.edgt-atc-form .single_add_to_cart_button,.edgt-atc-form button[type="submit"]{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:14px 32px;border-radius:var(--radius);border:none;cursor:pointer;transition:background var(--ease),color var(--ease);width:100%;text-decoration:none;}.btn-add-to-cart:hover,.edgt-atc-form .single_add_to_cart_button:hover,.edgt-atc-form button[type="submit"]:hover{background:var(--accent-hover) !important;color:var(--btn-text-color,#fff) !important;}/* ---- Force WooCommerce default buttons to use theme accent — overrides WC blue ---- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit,.woocommerce #respond input#submit.alt,.woocommerce .single_add_to_cart_button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order,.wc-block-components-checkout-place-order-button{background-color:var(--accent) !important;color:var(--btn-text-color,#fff) !important;border-color:var(--accent) !important;font-family:var(--font-head) !important;font-weight:600 !important;letter-spacing:0.07em !important;text-transform:uppercase !important;border-radius:var(--radius) !important;transition:background var(--ease) !important;}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #respond input#submit:hover,.woocommerce .single_add_to_cart_button:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce #payment #place_order:hover{background-color:var(--accent-hover) !important;border-color:var(--accent-hover) !important;color:var(--btn-text-color,#fff) !important;}.product-after-buy{margin-top:20px;}.download-link{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);color:var(--text);font-family:var(--font-head);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;padding:10px 20px;border-radius:var(--radius);border:1px solid var(--border);transition:border-color var(--ease),color var(--ease),background var(--ease);margin-right:8px;margin-bottom:8px;}.download-link:hover{border-color:var(--accent);color:var(--accent);}/* ============================================================
MEMBERSHIP POPUP — two-column:plans (left) | login (right)
============================================================ */
.popup-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.88);z-index:10000;align-items:center;justify-content:center;backdrop-filter:blur(6px);}.popup-overlay.active{display:flex;}.popup-box{background:var(--bg-popup);border:1px solid rgba(255,255,255,0.09);border-radius:16px;max-width:900px;width:95%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative;animation:popIn 0.25s ease;max-height:90vh;}@keyframes popIn{from{opacity:0;transform:scale(0.93) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}.popup-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:22px;line-height:1;transition:color var(--ease);z-index:10;}.popup-close:hover{color:var(--text);}/* ─── LEFT:plans + icons + auth tabs ─── */
.popup-left{padding:22px 20px 20px 24px;background:var(--bg-card);border-right:1px solid rgba(255,255,255,0.06);display:flex;flex-direction:column;overflow-y:auto;min-height:0;/* grid child must have min-height:0 to allow scroll */
max-height:90vh;/* cap height so overflow-y:auto triggers scrolling when content overflows */}.popup-left-logo{height:26px;width:auto;margin-bottom:10px;display:block;}.popup-left-title{font-family:var(--font-head);font-size:18px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:4px;}.popup-left-sub{font-size:13px;color:var(--text-muted);margin-bottom:8px;line-height:1.4;}/* Feature icons row */
.popup-features{display:flex;gap:10px;margin-bottom:10px;}.popup-feature-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;}.popup-feature-icon{display:block;}.popup-feature-icon svg{width:32px;height:32px;}.popup-feature-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);line-height:1.3;}/* Plan card */
.popup-plan{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin-bottom:6px;cursor:pointer;transition:border-color var(--ease),background var(--ease);text-decoration:none;color:inherit;display:block;}.popup-plan:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);color:inherit;}.popup-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;}.popup-plan-name{font-family:var(--font-head);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text);}.popup-plan-price{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--accent);}.popup-plan-desc{font-size:12px;color:var(--text-muted);line-height:1.4;}.popup-plan-cta{display:block;text-align:center;margin-top:6px;font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity var(--ease);}.popup-plan:hover .popup-plan-cta{opacity:1;}/* ─── Auth section at bottom of left panel ─── */
.popup-auth-bottom{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,0.06);}/* Tab switcher */
.popup-tabs{display:flex;gap:0;margin-bottom:8px;border-bottom:2px solid var(--border);}.popup-tab{flex:1;background:none;border:none;cursor:pointer;font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-muted);padding:9px 0 11px;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color var(--ease),border-color var(--ease);}.popup-tab.active{color:var(--accent);border-bottom-color:var(--accent);}.popup-tab:hover:not(.active){color:var(--text);}/* Tab panels */
.popup-tab-panel{display:none;}.popup-tab-panel.active{display:block;}/* WP login form overrides – now inside .popup-auth-bottom */
.popup-auth-bottom .login-username,.popup-auth-bottom .login-password{margin-bottom:10px;}.popup-auth-bottom .login-username label,.popup-auth-bottom .login-password label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--text-muted);margin-bottom:5px;}.popup-auth-bottom .login-username input,.popup-auth-bottom .login-password input{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:9px 11px;border-radius:var(--radius);transition:border-color var(--ease);outline:none;}.popup-auth-bottom .login-username input:focus,.popup-auth-bottom .login-password input:focus{border-color:var(--accent);}.popup-auth-bottom .login-remember{margin-bottom:12px;}.popup-auth-bottom .login-remember label{font-size:12px;color:var(--text-muted);}.popup-auth-bottom .login-submit input[type="submit"],.popup-auth-bottom .submit input[type="submit"],.popup-auth-bottom #wp-submit{width:100% !important;background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;font-family:var(--font-head) !important;font-size:13px !important;font-weight:600 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;padding:11px !important;border-radius:var(--radius) !important;border:none !important;cursor:pointer !important;transition:background var(--ease) !important;display:block !important;box-sizing:border-box !important;}.popup-auth-bottom .login-submit input[type="submit"]:hover,.popup-auth-bottom .submit input[type="submit"]:hover,.popup-auth-bottom #wp-submit:hover{background:var(--accent-hover) !important;color:var(--btn-text-color,#fff) !important;}/* Register form fields in auth-bottom */
.popup-field{margin-bottom:10px;}.popup-field input[type="text"],.popup-field input[type="email"],.popup-field input[type="password"]{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:9px 11px;border-radius:var(--radius);transition:border-color var(--ease);outline:none;}.popup-field input:focus{border-color:var(--accent);}.popup-field input::placeholder{color:var(--text-muted);}.popup-field .btn-join{width:100%;}/* Message banners */
.popup-register-msg{padding:9px 12px;border-radius:var(--radius);font-size:13px;margin-bottom:12px;}.popup-register-msg.success{background:rgba(34,197,94,0.15);color:#4ade80;border:1px solid rgba(34,197,94,0.3);}.popup-register-msg.error{background:rgba(239,68,68,0.15);color:#f87171;border:1px solid rgba(239,68,68,0.3);}.popup-terms{font-size:11px;color:var(--text-muted);text-align:center;margin-top:10px;line-height:1.5;}.popup-terms a{color:var(--text-muted);text-decoration:underline;}/* Forgot-password link */
.popup-right-forgot{font-size:12px;color:var(--text-muted);margin-top:8px;text-align:right;}.popup-right-forgot a{color:var(--text-muted);text-decoration:underline;}/* ─── RIGHT:Promotional banner image ─── */
.popup-right.popup-right-banner{padding:0;background:linear-gradient(160deg,#1a0a1c 0%,#3d0030 40%,#0a0a14 100%);background-size:cover;background-position:center;display:flex;flex-direction:column;position:relative;overflow:hidden;}.popup-right-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.85) 40%,rgba(0,0,0,0.25) 100%);display:flex;align-items:flex-end;padding:36px 32px;}.popup-right-promo{width:100%;}.popup-right-promo-text{font-family:var(--font-head);font-size:15px;font-weight:700;line-height:1.7;letter-spacing:0.04em;text-transform:uppercase;color:#fff;margin-bottom:20px;}.popup-right-cta{display:inline-block;width:100%;text-align:center;padding:13px;background:var(--accent);color:var(--btn-text-color,#fff) !important;font-family:var(--font-head);font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:var(--radius);text-decoration:none;transition:background var(--ease);border:none;cursor:pointer;}.popup-right-cta:hover{background:var(--accent-hover);color:var(--btn-text-color,#fff);}/* Modern promo chips (NicksLuckyCharm style — small gray squares) */
.popup-promo-chips{display:flex;flex-wrap:wrap;gap:8px;}.popup-chip{background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);border-radius:5px;padding:7px 13px;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:#fff;white-space:nowrap;backdrop-filter:blur(4px);transition:background var(--ease),border-color var(--ease);}.popup-chip:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4);}/* Collapsed single-column on small screens */
@media (max-width:680px){.popup-box{grid-template-columns:1fr;max-width:440px;max-height:95vh;}.popup-left{border-right:none;border-bottom:1px solid rgba(255,255,255,0.06);padding:24px 20px;}.popup-right.popup-right-banner{display:none;}}/* ============================================================
CATEGORIES PAGE (page-categories.php)
============================================================ */
.cats-grid{display:grid;grid-template-columns:repeat(4,1fr);/* exactly 4 per row */
gap:16px;padding:0 0 48px;}@media (max-width:1100px){.cats-grid{grid-template-columns:repeat(3,1fr);}}@media (max-width:720px){.cats-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:480px){.cats-grid{grid-template-columns:1fr;}}.cat-card{display:block;position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;transition:transform var(--ease),box-shadow var(--ease);}.cat-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,0.6);color:inherit;}.cat-thumb{position:relative;aspect-ratio:16/9;background:var(--bg-card);overflow:hidden;}.cat-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}.cat-card:hover .cat-thumb img{transform:scale(1.06);}.cat-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0) 38%,transparent 100%);display:flex;align-items:flex-end;padding:16px 14px;transition:background var(--ease);}.cat-card:hover .cat-thumb-overlay{background:linear-gradient(to top,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0) 40%,transparent 100%);}.cat-info{display:flex;flex-direction:column;}.cat-name{font-family:'Bebas Neue',var(--font-head),sans-serif;font-size:22px;font-weight:400;letter-spacing:0.05em;color:#fff;text-transform:uppercase;line-height:1.1;text-shadow:0 1px 6px rgba(0,0,0,0.9);}.cat-count{font-family:var(--font-head);font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);opacity:0.9;margin-top:3px;}/* ============================================================
CONTACT PAGE (page-contact.php)
============================================================ */
.contact-hero{background:var(--bg-outer);padding:56px 0 40px;border-bottom:1px solid rgba(255,255,255,0.06);}.contact-hero-title{font-family:var(--font-head);font-size:clamp(28px,4vw,48px);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:10px;}.contact-hero-sub{font-size:15px;color:var(--text-muted);max-width:520px;line-height:1.6;}/* Two-column layout:FAQ + form */
.contact-cols{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}@media (max-width:860px){.contact-cols{grid-template-columns:1fr;gap:40px;}}.contact-section-title{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border);}/* ── FAQ Accordion ── */
.faq-list{display:flex;flex-direction:column;gap:0;}.faq-item{border-bottom:1px solid var(--border);}.faq-q{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 0;text-align:left;font-family:var(--font-head);font-size:15px;font-weight:600;letter-spacing:0.02em;color:var(--text);transition:color var(--ease);}.faq-q:hover{color:var(--accent);}.faq-icon svg{width:18px;height:18px;transition:transform 0.25s ease;flex-shrink:0;}.faq-item.open .faq-icon svg{transform:rotate(180deg);}.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}.faq-item.open .faq-a{max-height:400px;}.faq-a p{font-size:14px;line-height:1.75;color:var(--text-muted);padding:0 0 18px;}.faq-a a{color:var(--accent);}/* ── Shared Form Styles ── */
.edgt-form{display:flex;flex-direction:column;gap:0;}.edgt-row{display:flex;gap:16px;}.edgt-row-2col > .edgt-field-wrap{flex:1;}@media (max-width:600px){.edgt-row{flex-direction:column;gap:0;}}.edgt-field-wrap{display:flex;flex-direction:column;margin-bottom:18px;}.edgt-field-wrap label,.edgt-group-label{font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;}.edgt-group-label{display:block;}.req{color:var(--accent);}.edgt-field-wrap input[type="text"],.edgt-field-wrap input[type="email"],.edgt-field-wrap select,.edgt-field-wrap textarea{background:#16161f;border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:14px;padding:11px 14px;border-radius:var(--radius);outline:none;transition:border-color 0.2s ease;width:100%;-webkit-appearance:none;}.edgt-field-wrap input:focus,.edgt-field-wrap select:focus,.edgt-field-wrap textarea:focus{border-color:var(--accent);}.edgt-field-wrap input::placeholder,.edgt-field-wrap textarea::placeholder{color:#555565;}.edgt-field-wrap textarea{resize:vertical;min-height:130px;}.edgt-field-wrap select{appearance:none;cursor:pointer;}.edgt-field-wrap select option{background:#16161f;color:var(--text);}/* Checkbox groups */
.edgt-check-group{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px;}.edgt-check-item{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--text);cursor:pointer;padding:6px 12px;border-radius:var(--radius);border:1px solid var(--border);transition:border-color 0.2s;}.edgt-check-item:hover{border-color:var(--accent);}.edgt-check-item input[type="checkbox"]{accent-color:var(--accent);width:15px;height:15px;margin:0;flex-shrink:0;}.edgt-other-field{background:#16161f;border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:9px 12px;border-radius:var(--radius);outline:none;width:100%;margin-top:6px;}.edgt-other-field:focus{border-color:var(--accent);}.edgt-other-field::placeholder{color:#555565;}/* File upload */
.edgt-file-wrap{position:relative;}.edgt-file-wrap input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;}.edgt-file-label{display:block;padding:11px 14px;background:#16161f;border:1px dashed var(--border);border-radius:var(--radius);font-size:13px;color:var(--text-muted);text-align:center;cursor:pointer;transition:border-color 0.2s;}.edgt-file-wrap:hover .edgt-file-label{border-color:var(--accent);}/* Submit button */
.edgt-btn-submit{align-self:flex-start;background:var(--accent);color:#fff;font-family:var(--font-head);font-size:14px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:14px 32px;border:none;border-radius:var(--radius);cursor:pointer;transition:background 0.2s ease;margin-top:6px;}.edgt-btn-submit:hover{background:var(--accent-hover);}.edgt-btn-submit:disabled{opacity:0.6;cursor:wait;}/* Notice banners */
.edgt-form-notice{padding:13px 18px;border-radius:var(--radius);font-size:14px;line-height:1.5;margin-bottom:20px;border-left:4px solid;}.edgt-form-notice.success{background:rgba(34,197,94,0.1);border-color:#22c55e;color:#4ade80;}.edgt-form-notice.error{background:rgba(239,68,68,0.1);border-color:#ef4444;color:#f87171;}/* Report section separator */
.report-section{background:var(--bg-outer);border-top:1px solid rgba(255,255,255,0.06);}.edgt-report-form{max-width:860px;}.contact-section-header{margin-bottom:36px;}/* ============================================================
FOOTER ARTWORK SECTION
Full-width wordmark above the footer. Sits outside #page.site
so it spans the full viewport (same outer-layer colour).
============================================================ */
.footer-art-section{background:var(--bg-outer);padding:88px 24px 80px;text-align:center;overflow-x:hidden;/* prevent fat-word from scrolling horizontally on mobile */
/* No border-top — seamless transition from outer layer */}.footer-art-inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px;}/* ---- The big wordmark ---- */
.footer-art-word{display:flex;flex-wrap:wrap;justify-content:center;gap:0;line-height:0.92;}.fat-word{font-family:var(--font-head);font-size:clamp(80px,14vw,180px);font-weight:700;letter-spacing:-0.02em;text-transform:uppercase;/* Hollow "stencil" style:transparent fill + stroke */
color:transparent;-webkit-text-stroke:2px rgba(240,240,240,0.18);text-stroke:2px rgba(240,240,240,0.18);/* Gradient shine on hover */
transition:-webkit-text-stroke-color 0.35s ease,color 0.35s ease;user-select:none;}.fat-word:hover{-webkit-text-stroke-color:rgba(240,240,240,0.55);}.fat-accent{color:var(--accent);-webkit-text-stroke:0;text-stroke:0;}.fat-accent:hover{color:var(--accent-hover);-webkit-text-stroke-color:transparent;}.footer-art-sub{font-family:var(--font-head);font-size:13px;letter-spacing:0.28em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;}.footer-art-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:18px;margin-bottom:4px;}.footer-art-link{color:rgba(255,255,255,.5);font-family:var(--font-head);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;transition:color .2s;}.footer-art-link:hover{color:rgba(255,255,255,.9);}.footer-art-contact-btn{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--text-muted);border:1px solid var(--border);font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:12px 28px;border-radius:var(--radius);transition:background var(--ease),border-color var(--ease),color var(--ease);margin-top:8px;}.footer-art-contact-btn svg{width:16px;height:16px;}.footer-art-contact-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;}/* ============================================================
FOOTER
============================================================ */
.site-footer{background:var(--bg-nav);/* outer layer — same dark as nav,no visible border needed */
padding:48px 0 28px;margin-top:40px;overflow-x:hidden;/* prevent any wide child from creating horizontal scroll */}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}.footer-logo{height:34px;width:auto;margin-bottom:14px;}.footer-tagline{font-size:13px;color:var(--text-muted);line-height:1.6;max-width:220px;}.footer-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}.footer-social-link{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:border-color var(--ease),color var(--ease),background var(--ease);}.footer-social-link:hover{border-color:var(--accent);color:var(--accent);}.footer-social-link svg{width:16px;height:16px;}.footer-heading{font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:16px;color:var(--text);}.footer-links{display:flex;flex-direction:column;gap:8px;}.footer-links a{font-size:13px;color:var(--text-muted);transition:color var(--ease);word-break:normal;overflow-wrap:anywhere;}.footer-links a:hover{color:var(--accent);}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);}.footer-bottom a{color:var(--text-muted);transition:color var(--ease);}.footer-bottom a:hover{color:var(--accent);}/* Footer responsive — defined here (pages.css loads after base.css) so these
breakpoints win and actually take effect on mobile */
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr !important;gap:28px !important;}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr !important;gap:24px !important;}}/* ============================================================
NOTICE BOARD / ANNOUNCEMENT SECTION (front-page.php)
============================================================ */
.notice-board-section{background:var(--bg-outer);}/* ── Announcement slider ────────────────────────────────────────────────────
Structure:.notice-slider-wrapper > [.notice-nav] + .notice-slider-viewport
> .notice-slider-track > .notice-card × N + [.notice-nav]
JS reads actual card width via getBoundingClientRect();gap MUST stay 16px.
──────────────────────────────────────────────────────────────────────────── */
.notice-slider-wrapper{display:flex;align-items:center;gap:8px;}.notice-slider-viewport{flex:1 1 0;overflow:hidden;/* clips cards that are scrolled out of view */
min-width:0;}.notice-slider-track{display:flex;gap:16px;/* MUST match JS gap variable (16) */
transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);will-change:transform;}/* Card width — JS reads actual width dynamically;we aim for 4 visible at desktop */
.notice-slider-track .notice-card{flex:0 0 280px;}@media (max-width:480px){/* On very small screens,fill the available viewport width */
.notice-slider-track .notice-card{flex:0 0 calc(100vw - 3rem - 88px);}}/* ── Slider prev / next buttons ── */
.notice-nav{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease),color var(--ease),border-color var(--ease);padding:0;}.notice-nav:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent);}.notice-nav:disabled{opacity:0.35;cursor:default;}.notice-nav svg{width:18px;height:18px;flex-shrink:0;}/* Legacy grid class — no longer used in HTML but kept to avoid breakage */
.notice-board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}@media (max-width:900px){.notice-board-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:540px){.notice-board-grid{grid-template-columns:1fr;}}.notice-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:16px 18px;text-align:left;cursor:pointer;width:100%;transition:border-color var(--ease),background var(--ease),transform var(--ease);}.notice-card:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);border-color:var(--accent);border-left-color:var(--accent);transform:translateY(-2px);}.notice-card-cat{font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);}.notice-card-title{font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--text);line-height:1.35;letter-spacing:0.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.notice-card-meta{font-size:11px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;}/* ── Announcement Modal ── */
.notice-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:9100;align-items:center;justify-content:center;backdrop-filter:blur(6px);padding:24px;}.notice-modal-overlay.active{display:flex;}.notice-modal-box{background:var(--bg-card);border:1px solid rgba(255,255,255,0.1);border-radius:10px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;padding:40px 44px;position:relative;animation:popIn 0.22s ease;}@media (max-width:600px){.notice-modal-box{padding:28px 24px;}}.notice-modal-close{position:absolute;top:16px;right:18px;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:color var(--ease);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;}.notice-modal-close svg{width:20px;height:20px;}.notice-modal-close:hover{color:var(--text);background:rgba(255,255,255,0.08);}.notice-modal-cat{font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}.notice-modal-title{font-family:var(--font-head);font-size:clamp(20px,3vw,28px);font-weight:700;line-height:1.2;color:var(--text);margin-bottom:8px;}.notice-modal-date{font-size:12px;color:var(--text-muted);margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border);}.notice-modal-body{font-size:15px;line-height:1.75;color:var(--text-muted);}.notice-modal-body p{margin-bottom:14px;}.notice-modal-body h2,.notice-modal-body h3{color:var(--text);margin:20px 0 8px;}.notice-modal-body a{color:var(--accent);}.notice-modal-body img{max-width:100%;border-radius:var(--radius);margin:12px 0;}/* ============================================================
WOOCOMMERCE CART PAGE
Same dark-card aesthetic as the membership popup:left = items (.popup-left feel)
right = order totals (.popup-right feel)
============================================================ */
/* page.php full-width wrapper for cart/checkout/account — no outer container needed */
.edgt-woo-page{width:100%;}/* ── Override WooCommerce CSS custom properties so dark-theme wins ───────────
WooCommerce 8+ sets --wc-form-color-background:#fff on:root which overrides
any background rule on inputs/selects. We reset it here on checkout body. */
body.woocommerce-checkout{--wc-form-color-background:var(--bg,#0c0c10);--wc-form-color-background-dark:var(--bg-card,#22222c);--wc-form-color-text:var(--text,#f0f0f0);--wc-form-color-text-placeholder:var(--text-muted,#8a8d94);--wc-form-color-border:var(--border,rgba(255,255,255,0.12));--wc-form-color-border-focus:var(--accent);}/* Checkout page:constrain WooCommerce default checkout to max-width */
/* UAGB/Spectra wraps .woocommerce in .uagb-container-inner-blocks-wrap — removed > */
body.woocommerce-checkout .edgt-woo-page .woocommerce{max-width:var(--max-w);margin:0 auto;padding:48px 24px;}/* ── UAGB/Spectra container reset for checkout page ─────────────────────────
Spectra plugin wraps page content in:.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > .woocommerce
Reset padding/width so WooCommerce checkout layout is not broken by the block */
body.woocommerce-checkout .wp-block-uagb-container,body.woocommerce-checkout .uagb-container-inner-blocks-wrap{padding:0 !important;max-width:100% !important;width:100% !important;}body.woocommerce-checkout .uagb-is-root-container{background:transparent !important;background-color:transparent !important;}/* ─────────────────────────────────────────────────────────
CLASSIC SHORTCODE CHECKOUT — comprehensive dark-theme overrides
WooCommerce outputs:form.woocommerce-checkout > #customer_details + #order_review + #payment
───────────────────────────────────────────────────────── */
/* Two-column billing layout */
body.woocommerce-checkout #customer_details.col2-set{overflow:hidden;margin-bottom:32px;}body.woocommerce-checkout #customer_details .col-1{float:left;width:47%;}body.woocommerce-checkout #customer_details .col-2{float:right;width:47%;}@media (max-width:760px){body.woocommerce-checkout #customer_details .col-1,body.woocommerce-checkout #customer_details .col-2{float:none;width:100%;}}/* Section headings */
body.woocommerce-checkout h3{font-family:var(--font-head);font-size:16px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--text);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--border);}/* Order review box */
body.woocommerce-checkout #order_review_heading{margin-top:32px;}body.woocommerce-checkout #order_review{background:var(--bg-card) !important;border-radius:var(--radius);border:1px solid var(--border);padding:24px;margin-bottom:24px;}/* Order review table */
body.woocommerce-checkout table.shop_table,body.woocommerce-checkout .woocommerce-checkout-review-order-table{background:transparent !important;color:var(--text) !important;border:1px solid var(--border) !important;border-radius:var(--radius);border-collapse:separate;border-spacing:0;width:100%;}body.woocommerce-checkout table.shop_table th,body.woocommerce-checkout table.shop_table td{background:transparent !important;color:var(--text) !important;border-color:var(--border) !important;padding:10px 14px;}body.woocommerce-checkout table.shop_table thead th{background:rgba(255,255,255,0.05) !important;font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}body.woocommerce-checkout table.shop_table tfoot th,body.woocommerce-checkout table.shop_table tfoot td{background:rgba(255,255,255,0.03) !important;}body.woocommerce-checkout table.shop_table .order-total th,body.woocommerce-checkout table.shop_table .order-total td{font-weight:700;font-size:16px;color:var(--accent) !important;}/* Payment box */
body.woocommerce-checkout #payment{background:var(--bg-card) !important;border-radius:var(--radius) !important;border:1px solid var(--border) !important;padding:24px !important;}body.woocommerce-checkout #payment ul.payment_methods{background:transparent !important;border-bottom:1px solid var(--border) !important;padding:0 0 16px !important;margin-bottom:16px !important;list-style:none !important;}body.woocommerce-checkout #payment ul.payment_methods li{margin-bottom:8px;}body.woocommerce-checkout #payment ul.payment_methods li label{color:var(--text) !important;font-size:14px;}body.woocommerce-checkout #payment div.payment_box{background:rgba(255,255,255,0.06) !important;color:var(--text-muted) !important;border-radius:var(--radius) !important;padding:14px !important;margin-bottom:16px;}body.woocommerce-checkout #payment div.payment_box::before{border:8px solid rgba(255,255,255,0.06) !important;border-top-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;}/* Place order button */
body.woocommerce-checkout #payment #place_order{background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;font-family:var(--font-head) !important;font-size:13px !important;font-weight:700 !important;letter-spacing:0.09em !important;text-transform:uppercase !important;padding:14px 28px !important;border:none !important;border-radius:var(--radius) !important;cursor:pointer;width:100%;transition:background var(--ease);}/* ─── Checkout form field inputs ─── */
body.woocommerce-checkout .form-row input[type=text],body.woocommerce-checkout .form-row input[type=email],body.woocommerce-checkout .form-row input[type=tel],body.woocommerce-checkout .form-row input[type=password],body.woocommerce-checkout .form-row input[type=number],body.woocommerce-checkout .form-row textarea,body.woocommerce-checkout .form-row select,body.woocommerce-checkout .woocommerce-input-wrapper input,body.woocommerce-checkout .woocommerce-input-wrapper select{background:var(--bg) !important;border:1px solid var(--border) !important;color:var(--text) !important;border-radius:var(--radius) !important;padding:11px 14px !important;font-size:14px !important;font-family:var(--font-body) !important;width:100% !important;box-sizing:border-box !important;outline:none !important;transition:border-color var(--ease) !important;}body.woocommerce-checkout .form-row input:focus,body.woocommerce-checkout .form-row select:focus,body.woocommerce-checkout .form-row textarea:focus{border-color:var(--accent) !important;box-shadow:0 0 0 2px rgba(var(--accent-rgb,198,16,0),0.15) !important;}body.woocommerce-checkout .form-row input::placeholder,body.woocommerce-checkout .form-row textarea::placeholder{color:var(--text-muted) !important;opacity:1 !important;}body.woocommerce-checkout .form-row select option{background:var(--bg-card) !important;color:var(--text) !important;}body.woocommerce-checkout .select2-container .select2-selection--single{background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;height:42px !important;}body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text) !important;line-height:42px !important;padding-left:14px !important;}body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{top:8px !important;}/* Login link / coupon toggle */
body.woocommerce-checkout .woocommerce-info a,body.woocommerce-checkout .showlogin,body.woocommerce-checkout .showcoupon{color:var(--accent) !important;}body.woocommerce-checkout #payment #place_order:hover{background:var(--accent-hover) !important;}/* Coupon row */
body.woocommerce-checkout .checkout_coupon,body.woocommerce-checkout .woocommerce-form-coupon{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:16px 20px !important;margin-bottom:24px;}/* Form field labels */
body.woocommerce-checkout .form-row label{color:var(--text-muted) !important;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;font-weight:600;}/* Required star */
body.woocommerce-checkout .required{color:var(--accent) !important;}/* Notices */
body.woocommerce-checkout .woocommerce-error,body.woocommerce-checkout .woocommerce-info,body.woocommerce-checkout .woocommerce-message{background:var(--bg-card) !important;color:var(--text) !important;border-top-color:var(--accent) !important;}/* Strong in checkout table */
body.woocommerce-checkout table.shop_table strong{color:var(--text) !important;}/* ─── Comments (sidebar on post,full-width on product) ─── */
.edgt-comment-list,.edgt-comment-list.edgt-comment-list-full{list-style:none;padding:0;margin:0 0 16px;}.edgt-comment-list .comment,.edgt-comment-list li.comment{padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.07);}.edgt-comment-list .comment:last-child{border-bottom:none;}.comment-author .fn{font-family:var(--font-head);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text);}.comment-author .fn a{color:inherit;}.comment-meta,.comment-metadata{font-size:11px;color:var(--text-muted);margin-bottom:5px;}.comment-content p{font-size:13px;color:var(--text-muted);line-height:1.6;margin:0;}.comment-content{font-size:13px;color:var(--text-muted);line-height:1.6;}.comment .avatar{display:none;}/* hide avatars in narrow sidebar */
/* Comment form */
.comment-respond{margin-top:8px;}.comment-reply-title{display:none;}/* we use sidebar-widget-title instead */
.comment-form-comment{margin:0 0 10px;}.comment-form-comment label{display:none;}.comment-form textarea#comment{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:10px 12px;border-radius:var(--radius);resize:vertical;min-height:80px;outline:none;box-sizing:border-box;display:block;}.comment-form textarea#comment:focus{border-color:var(--accent);}.comment-form .logged-in-as{font-size:11px;color:var(--text-muted);margin-bottom:8px;}.comment-form .logged-in-as a{color:var(--text-muted);}.comment-form .form-submit{margin:0;}.comment-form .submit{width:100%;background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;font-family:var(--font-head) !important;font-size:12px !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;padding:10px !important;border:none !important;border-radius:var(--radius) !important;cursor:pointer;transition:background var(--ease);display:block;box-sizing:border-box;}.comment-form .submit:hover{background:var(--accent-hover) !important;}/* ── Custom comment callback output (edgt_comment_callback) ── */
.edgt-cmt{list-style:none;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.07);}.edgt-cmt:last-child{border-bottom:none;}.edgt-cmt-header{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}.edgt-cmt-name{font-family:var(--font-head);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text);}.edgt-cmt-date{font-size:11px;color:var(--text-muted);}.edgt-cmt-body{font-size:13px;color:var(--text);line-height:1.6;}.edgt-cmt-body p{margin:0 0 4px;}/* Sidebar comment note */
.edgt-comment-none{font-size:12px;color:var(--text-muted);margin-bottom:12px;}.edgt-comment-gate{font-size:12px;color:var(--text-muted);text-align:center;padding:10px 0;}/* Full-width product comment section */
.edgt-product-comments{margin-top:36px;padding-top:32px;border-top:1px solid var(--border);}.edgt-product-comments-title{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;margin-bottom:22px;}.edgt-comment-list-full .comment,.edgt-comment-list-full li.comment{padding:18px 0;}.edgt-comment-list-full .comment-content p{font-size:14px;}.edgt-comment-list-full .comment .avatar{display:inline-block;width:36px;height:36px;border-radius:50%;margin-right:10px;vertical-align:middle;}/* Product comment form */
.edgt-product-comments .comment-respond{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);}.edgt-product-comments .comment-reply-title{display:block !important;font-family:var(--font-head);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;margin-bottom:16px;}.edgt-product-comments .comment-form textarea#comment{min-height:120px;}.edgt-product-gate{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-top:20px;font-size:13px;color:var(--text-muted);}.edgt-product-gate svg{flex-shrink:0;opacity:0.5;}/* ─────────────────────────────────────────────────────────
WOOCOMMERCE CART BLOCK (modern block-based cart)
Overrides default white/blue Gutenberg block styles
───────────────────────────────────────────────────────── */
/* Page-level wrapper */
body.woocommerce-cart .edgt-woo-page,body.woocommerce-cart .wp-block-woocommerce-cart{background:var(--bg);color:var(--text);}/* Constrain block cart to max width */
body.woocommerce-cart .wp-block-woocommerce-cart{max-width:960px;margin:0 auto;padding:48px 24px;}/* Also constrain the alignwide version WC outputs */
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide{max-width:960px !important;margin-left:auto !important;margin-right:auto !important;}/* Block Cart — two-column:items LEFT,totals RIGHT
WC Cart Block uses .wc-block-cart as a flex container by default;we must NOT set display:block here (breaks it). Instead,reinforce flex. */
.wp-block-woocommerce-cart .wc-block-cart{display:flex !important;gap:32px;align-items:flex-start;flex-wrap:nowrap;}.wp-block-woocommerce-cart .wc-block-cart__main{flex:1 !important;min-width:0 !important;}.wp-block-woocommerce-cart .wc-block-cart__sidebar{width:360px !important;flex-shrink:0 !important;}/* Block-named wrappers (WooCommerce 9+) */
.wp-block-woocommerce-filled-cart-block{display:flex !important;gap:32px;align-items:flex-start;}.wp-block-woocommerce-cart-items-block{flex:1 !important;min-width:0 !important;}.wp-block-woocommerce-cart-totals-block{width:360px !important;flex-shrink:0 !important;}@media (max-width:860px){.wp-block-woocommerce-cart .wc-block-cart,.wp-block-woocommerce-filled-cart-block{flex-direction:column !important;}.wp-block-woocommerce-cart .wc-block-cart__sidebar,.wp-block-woocommerce-cart-totals-block{width:100% !important;}}/* Cart items panel */
.wc-block-cart-items,.wp-block-woocommerce-cart-form-block{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:24px !important;margin-bottom:24px;}/* Remove WC's default white panels */
.wc-block-cart-item-list{border:none !important;background:transparent !important;}/* Item rows */
.wc-block-cart-item-list-item,.wc-block-cart-item-list__item{border-bottom:1px solid var(--border) !important;padding:16px 0 !important;background:transparent !important;}.wc-block-cart-item-list-item:last-child,.wc-block-cart-item-list__item:last-child{border-bottom:none !important;}/* Item title,meta */
.wc-block-cart-item__description h3 a,.wc-block-cart-item__description .wc-block-cart-item__product-name,.wc-block-components-product-name,.wc-block-components-product-name a{color:var(--text) !important;text-decoration:none !important;font-family:var(--font-head);font-weight:700;font-size:15px;}.wc-block-cart-item__description .wc-block-cart-item__product-name a:hover,.wc-block-components-product-name a:hover{color:var(--accent) !important;}/* Item price */
.wc-block-cart-item__total,.wc-block-components-product-price,.wc-block-components-totals-item__value,.wc-block-components-order-summary-item__individual-prices,.wc-block-components-price del,.woocommerce-Price-amount{color:var(--accent) !important;font-family:var(--font-head) !important;font-weight:700 !important;}/* Remove button */
.wc-block-cart-item__remove-link,.wc-block-components-product-metadata .wc-block-cart-item__remove-link{color:var(--text-muted) !important;font-size:12px !important;}.wc-block-cart-item__remove-link:hover{color:#ef4444 !important;}/* Quantity selector */
.wc-block-components-quantity-selector{background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;color:var(--text) !important;}.wc-block-components-quantity-selector__button{color:var(--text-muted) !important;}.wc-block-components-quantity-selector input{color:var(--text) !important;background:transparent !important;}/* Order summary / totals sidebar */
.wp-block-woocommerce-cart-order-summary-block,.wc-block-components-order-summary,.wc-block-order-summary{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:24px !important;}.wc-block-components-totals-wrapper,.wc-block-totals-wrapper{background:transparent !important;}.wc-block-components-totals-item{border-bottom:1px solid var(--border) !important;}.wc-block-components-totals-item__label,.wc-block-components-totals-item span{color:var(--text) !important;}/* Coupon input */
.wc-block-components-coupon-form .wc-block-components-text-input input,.wc-block-components-text-input input{background:var(--bg) !important;border:1px solid var(--border) !important;color:var(--text) !important;border-radius:var(--radius) !important;padding:10px 14px !important;}/* Proceed to checkout / submit buttons */
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.wp-block-woocommerce-proceed-to-checkout-block a,.wc-block-proceed-to-checkout-block__button{background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;border:none !important;border-radius:var(--radius) !important;font-family:var(--font-head) !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;padding:14px 28px !important;width:100% !important;text-align:center !important;transition:background 0.2s !important;}.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover,.wc-block-proceed-to-checkout-block__button:hover{background:var(--accent-hover) !important;color:var(--btn-text-color,#fff) !important;}/* Empty cart message */
.wc-block-cart--is-loading .wc-block-cart__empty-cart__title,.wc-block-cart__empty-cart__title,.wc-block-cart .wc-empty-cart-message{color:var(--text) !important;text-align:center;padding:48px 0;}/* General form elements in cart/checkout blocks */
body.woocommerce-cart input,body.woocommerce-cart select,body.woocommerce-cart textarea,body.woocommerce-checkout input,body.woocommerce-checkout select,body.woocommerce-checkout textarea{background:var(--bg) !important;border-color:var(--border) !important;color:var(--text) !important;}body.woocommerce-cart input:focus,body.woocommerce-checkout input:focus{border-color:var(--accent) !important;}/* WC notices in cart/checkout */
.wc-block-components-notice-banner,.wc-block-components-notice-banner.is-info{background:var(--bg-card) !important;border-color:var(--accent) !important;color:var(--text) !important;}/* ─────────────────────────────────────────────────────────
CLASSIC (shortcode) CART — .edgt-cart-page styles below
───────────────────────────────────────────────────────── */
.edgt-cart-page{padding:48px 0 72px;}/* Constrain cart container to match checkout page width (~960px),preventing
product rows from stretching across the full 1520px site container */
.edgt-cart-page .container{max-width:960px;}/* Two-column grid */
.edgt-cart-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:32px;align-items:start;}@media (max-width:860px){.edgt-cart-grid{grid-template-columns:1fr;}}/* Section heading shared */
.edgt-cart-section-title{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:15px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:20px;color:var(--text);}.edgt-cart-section-title svg{opacity:0.7;flex-shrink:0;}.edgt-cart-count{font-size:12px;color:var(--text-muted);font-weight:400;}/* ── LEFT:cart items panel ── */
.edgt-cart-items{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:28px 24px;}/* Single cart item row */
.edgt-cart-item{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);}.edgt-cart-item:last-of-type{border-bottom:none;}.edgt-ci-thumb{width:96px;height:60px;flex-shrink:0;border-radius:calc(var(--radius) - 2px);overflow:hidden;background:var(--bg);}.edgt-ci-thumb img{width:100%;height:100%;object-fit:cover;display:block;}.edgt-ci-thumb a{display:block;width:100%;height:100%;}.edgt-ci-details{flex:1;min-width:0;}.edgt-ci-name{font-size:14px;font-weight:600;margin-bottom:8px;line-height:1.4;}.edgt-ci-name a{color:var(--text);transition:color var(--ease);}.edgt-ci-name a:hover{color:var(--accent);}.edgt-ci-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}.edgt-ci-price{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--accent);}/* WooCommerce qty input inside cart */
.edgt-ci-qty .quantity{display:flex;align-items:center;gap:6px;}.edgt-ci-qty input[type="number"]{width:52px;text-align:center;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:6px 8px;border-radius:var(--radius);}.edgt-ci-qty input[type="number"]:focus{border-color:var(--accent);outline:none;}/* Remove icon */
.edgt-ci-remove{flex-shrink:0;}.edgt-ci-remove .remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--text-muted);transition:border-color var(--ease),color var(--ease),background var(--ease);border:1px solid transparent;}.edgt-ci-remove .remove:hover{color:#f87171;border-color:rgba(248,113,113,0.4);background:rgba(248,113,113,0.1);}/* Coupon + update row */
.edgt-cart-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border);}.edgt-cart-coupon{display:flex;gap:8px;flex:1;min-width:220px;}.edgt-coupon-input{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:13px;padding:9px 12px;border-radius:var(--radius);outline:none;transition:border-color var(--ease);}.edgt-coupon-input:focus{border-color:var(--accent);}.edgt-coupon-input::placeholder{color:var(--text-muted);}.edgt-btn-coupon{font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:9px 18px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--ease),color var(--ease),background var(--ease);}.edgt-btn-coupon:hover{border-color:var(--accent);color:var(--accent);}.edgt-btn-update{font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:9px 18px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--ease),color var(--ease),background var(--ease);}.edgt-btn-update:hover{border-color:var(--text-muted);color:var(--text);}/* ── RIGHT:totals panel ── */
.edgt-cart-totals-col{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:28px 24px;position:sticky;top:100px;/* sticks while scrolling items list */}/* Totals rows */
.edgt-totals-rows{display:flex;flex-direction:column;gap:0;margin-bottom:4px;}.edgt-totals-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px;}.edgt-totals-row:first-child{border-top:1px solid var(--border);}.edgt-totals-label{color:var(--text-muted);}.edgt-totals-value{font-weight:600;text-align:right;}.edgt-totals-discount .edgt-totals-value{color:#4ade80;}/* Grand total row */
.edgt-totals-total{border-bottom:none;padding:16px 0 8px;}.edgt-totals-total .edgt-totals-label{font-family:var(--font-head);font-size:15px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text);}.edgt-total-amount{font-family:var(--font-head);font-size:24px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;}.edgt-remove-coupon{font-size:11px;color:var(--text-muted);margin-left:6px;}/* Checkout button — override WC's default button to match accent */
.edgt-cart-checkout-btn-wrap{margin-top:20px;}.edgt-cart-checkout-btn-wrap .checkout-button,.edgt-cart-checkout-btn-wrap a.button,.edgt-cart-checkout-btn-wrap button.button,.woocommerce-cart .wc-proceed-to-checkout a{display:block;width:100%;text-align:center;background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;font-family:var(--font-head) !important;font-size:15px !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;padding:15px 24px !important;border-radius:var(--radius) !important;border:none !important;cursor:pointer !important;transition:background var(--ease) !important;text-decoration:none !important;}.edgt-cart-checkout-btn-wrap .checkout-button:hover,.edgt-cart-checkout-btn-wrap a.button:hover,.woocommerce-cart .wc-proceed-to-checkout a:hover{background:var(--accent-hover) !important;color:var(--btn-text-color,#fff) !important;}.edgt-secure-hint{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-top:14px;justify-content:center;text-align:center;}.edgt-secure-hint svg{flex-shrink:0;opacity:0.7;}.edgt-continue-link{display:block;text-align:center;margin-top:14px;font-size:12px;color:var(--text-muted);transition:color var(--ease);}.edgt-continue-link:hover{color:var(--accent);}/* Empty cart state */
.edgt-cart-empty{text-align:center;padding:80px 32px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:500px;margin:0 auto;}.edgt-cart-empty svg{margin-bottom:20px;opacity:0.4;}.edgt-cart-empty-msg{font-size:18px;margin-bottom:24px;}.edgt-btn-cart-continue{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;padding:12px 28px;border-radius:var(--radius);transition:background var(--ease);text-decoration:none;}.edgt-btn-cart-continue:hover{background:var(--accent-hover);color:#fff;}/* ── WOOCOMMERCE shipping calculator in cart ── */
.shipping-calculator-form{margin-top:12px;}.shipping-calculator-form p{margin-bottom:10px;}.shipping-calculator-form .button{background:var(--accent);color:#fff;font-family:var(--font-head);font-size:12px;padding:8px 18px;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--ease);}.shipping-calculator-form .button:hover{background:var(--accent-hover);}/* ============================================================
HOMEPAGE SEO TEXT BLOCK
Visible to Google but deliberately understated — small grey
text at the very bottom of the page content,above the footer.
This is the Google-approved approach:content IS visible
(never display:none) but styled to not distract from the UI.
Admins control the copy in WP Admin → Appearance → Theme Settings.
============================================================ */
/* ============================================================
WC BLOCKS CART + CHECKOUT — COMPREHENSIVE DARK THEME
Covers:spacing,borders,coupon,recurring,inputs,sidebar
============================================================ */
/* ── Coupon section:REMOVED force-show (it caused React re-render slowness).
The WC coupon toggle button now works naturally.
KEEP only the styling for when the coupon form IS visible. ── */
/* ── Coupon input + apply button ── */
.wc-block-components-coupon-form,.wc-block-components-totals-coupon__form{display:flex !important;gap:10px !important;padding:12px 0 4px !important;align-items:flex-end !important;}.wc-block-components-coupon-form input[type="text"],.wc-block-components-totals-coupon__form input[type="text"],.wc-block-components-coupon-form .wc-block-components-text-input input{flex:1 !important;background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;color:var(--text) !important;padding:10px 14px !important;font-size:13px !important;}.wc-block-components-coupon-form button[type="submit"],.wc-block-components-totals-coupon__form button[type="submit"]{background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;border:none !important;border-radius:var(--radius) !important;padding:10px 18px !important;font-size:13px !important;font-weight:700 !important;cursor:pointer !important;white-space:nowrap !important;}/* Style the coupon toggle panel button in dark theme */
.wc-block-components-totals-coupon .wc-block-components-panel__button,.wc-block-components-panel__button[aria-controls*="coupon"]{color:var(--text-muted) !important;background:transparent !important;border:none !important;font-family:var(--font-head) !important;font-size:12px !important;letter-spacing:0.05em !important;cursor:pointer !important;}/* ── 4. Hide recurring totals (WC Subscriptions block integration) ── */
.wcs-recurring-totals-panel,.wcs-block-checkout-recurring-totals,.wcs-block-checkout__recurring-totals,[class*="wcs-recurring"],[class*="recurring-total"],[class*="recurring-totals"],.subscription-recurring-totals,.woocommerce-subscription-details{display:none !important;}/* ── 5. Cart page:totals sidebar ── */
.wc-block-cart__sidebar .wc-block-components-sidebar,.wc-block-cart__sidebar .wc-block-totals-panel,.wc-block-cart__sidebar .wc-block-components-order-summary{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:20px !important;}.wc-block-cart__sidebar .wc-block-components-totals-footer-item{border-top:2px solid var(--border) !important;padding-top:14px !important;margin-top:8px !important;}.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:16px !important;font-weight:700 !important;color:var(--text) !important;}/* ── 6. Checkout page layout ── */
/* Constrain checkout container to match cart page width (960px) */
body.woocommerce-checkout .wp-block-woocommerce-checkout{max-width:960px;margin:0 auto;padding:48px 24px;}body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide{max-width:960px !important;margin-left:auto !important;margin-right:auto !important;}.wc-block-checkout{display:flex !important;flex-wrap:nowrap !important;gap:32px !important;padding:24px 0 !important;align-items:flex-start !important;}.wc-block-checkout__main,.wp-block-woocommerce-checkout-fields-block{flex:1 !important;min-width:0 !important;}.wc-block-checkout__sidebar,.wp-block-woocommerce-checkout-totals-block{width:340px !important;flex-shrink:0 !important;background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:24px !important;position:sticky !important;top:100px !important;}@media (max-width:860px){.wc-block-checkout{flex-direction:column !important;}.wc-block-checkout__sidebar,.wp-block-woocommerce-checkout-totals-block{width:100% !important;position:static !important;}}/* ── 7. Checkout steps — bordered boxes with breathing room ── */
.wc-block-components-checkout-step{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;margin-bottom:16px !important;overflow:hidden !important;}.wc-block-components-checkout-step__container{padding:20px 24px 24px !important;}.wc-block-components-checkout-step__heading,.wc-block-components-checkout-step__heading-content{font-family:var(--font-head) !important;font-size:12px !important;font-weight:700 !important;letter-spacing:0.1em !important;text-transform:uppercase !important;color:var(--text-muted) !important;padding:14px 24px !important;margin:0 !important;background:rgba(255,255,255,0.03) !important;border-bottom:1px solid var(--border) !important;display:flex !important;align-items:center !important;gap:12px !important;}/* Step number circle */
.wc-block-components-checkout-step__heading-number{background:var(--accent) !important;color:#fff !important;border-radius:50% !important;width:22px !important;height:22px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;font-size:11px !important;font-weight:700 !important;flex-shrink:0 !important;}/* Description under heading */
.wc-block-components-checkout-step__description{display:none !important;/* hide verbose description text */}/* ── 8. Checkout inputs ── */
.wc-block-checkout__main input[type="text"],.wc-block-checkout__main input[type="email"],.wc-block-checkout__main input[type="tel"],.wc-block-checkout__main input[type="password"],.wc-block-checkout__main select,.wc-block-checkout__main textarea,.wc-block-components-text-input input,.wc-block-components-select-input select,.wc-block-components-combobox input{background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;color:var(--text) !important;padding:11px 14px !important;font-size:14px !important;width:100% !important;box-sizing:border-box !important;margin-bottom:4px !important;}.wc-block-checkout__main input:focus,.wc-block-components-text-input input:focus{border-color:var(--accent) !important;outline:none !important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent) !important;}/* Input group spacing */
.wc-block-components-text-input,.wc-block-components-select-input,.wc-block-components-combobox,.wc-block-components-address-form__address_1,.wc-block-components-address-form__address_2{margin-bottom:14px !important;}/* Labels */
.wc-block-checkout__main label,.wc-block-components-text-input label,.wc-block-components-select-input label{color:var(--text-muted) !important;font-size:11px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:0.05em !important;margin-bottom:6px !important;display:block !important;}/* ── 9. Payment methods ── */
.wc-block-components-radio-control-accordion-option{background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;margin-bottom:8px !important;padding:14px 16px !important;}.wc-block-components-radio-control-accordion-option--checked{border-color:var(--accent) !important;background:color-mix(in srgb,var(--accent) 7%,transparent) !important;}.wc-block-components-radio-control__label{color:var(--text) !important;font-size:14px !important;}/* Credit card form */
.wc-block-components-payment-method-icons svg,.wc-block-components-payment-method-icons img{filter:brightness(0.8) !important;}/* ── 9b. HIDE individual billing fields — show email only ──
Strategy:hide per-field wrappers,NOT the whole block.
Hiding the whole block removes the email field too. Instead
we hide every field EXCEPT email and let JS (wp.data) auto-fill
the hidden required fields (first_name,last_name) from the
logged-in user's account so WC Blocks validation passes silently.
Shipping block is fully hidden (digital products only). ── */
/* Shipping block — fully hidden */
[data-block-name="woocommerce/checkout-shipping-address-block"],[data-block-name="woocommerce/checkout-shipping-address"],.wp-block-woocommerce-checkout-shipping-address-block,.wp-block-woocommerce-checkout-shipping-address{display:none !important;}/* Individual billing field wrappers — hide all except email */
.wc-block-components-address-form__first_name,.wc-block-components-address-form__last_name,.wc-block-components-address-form__company,.wc-block-components-address-form__address_1,.wc-block-components-address-form__address_2,.wc-block-components-address-form__city,.wc-block-components-address-form__state,.wc-block-components-address-form__postcode,.wc-block-components-address-form__country,.wc-block-components-address-form__phone{display:none !important;}/* WC Blocks 9.x renders first/last name outside address-form — hide those too */
.wc-block-checkout__contact-fields .wc-block-components-address-form__first_name,.wc-block-checkout__contact-fields .wc-block-components-address-form__last_name,.wc-block-billing-address__name-row,.wc-block-components-checkout-step .wc-block-components-address-form__first_name,.wc-block-components-checkout-step .wc-block-components-address-form__last_name{display:none !important;}/* Hide the step heading for billing (says "Billing address" — just show email box cleanly) */
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-checkout-step:has([data-block-name="woocommerce/checkout-billing-address-block"])
> .wc-block-components-checkout-step__heading{display:none !important;}/* ── 9c. Payment option extra breathing room ── */
.wc-block-components-payment-methods{padding:8px 0 !important;}.wc-block-components-radio-control-accordion-option:first-child{margin-top:0 !important;}.wc-block-components-payment-method-label{display:flex;align-items:center;gap:8px;}/* ── 10. Order summary / sidebar totals ── */
.wc-block-checkout__sidebar .wc-block-components-sidebar,.wc-block-checkout__sidebar .wc-block-order-summary,.wc-block-checkout__sidebar .wc-block-components-order-summary{background:transparent !important;border:none !important;padding:0 !important;}.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{padding:0 !important;}/* Order summary heading */
.wc-block-components-order-summary__toggle{font-family:var(--font-head) !important;font-size:12px !important;font-weight:700 !important;letter-spacing:0.1em !important;text-transform:uppercase !important;color:var(--text-muted) !important;background:transparent !important;border:none !important;cursor:pointer !important;padding:0 0 16px !important;display:block !important;}/* Summary items */
.wc-block-components-order-summary-item{display:flex !important;gap:14px !important;padding:12px 0 !important;border-bottom:1px solid var(--border) !important;align-items:center !important;}.wc-block-components-order-summary-item:last-child{border-bottom:none !important;}.wc-block-components-order-summary-item__image{width:56px !important;height:56px !important;object-fit:cover !important;border-radius:6px !important;flex-shrink:0 !important;}.wc-block-components-order-summary-item__individual-prices,.wc-block-components-order-summary-item__quantity{color:var(--text-muted) !important;font-size:12px !important;}/* Totals rows */
.wc-block-components-totals-item{display:flex !important;justify-content:space-between !important;align-items:center !important;padding:9px 0 !important;border-bottom:1px solid rgba(255,255,255,0.04) !important;}.wc-block-components-totals-item:last-child{border-bottom:none !important;}.wc-block-components-totals-item__label{color:var(--text-muted) !important;font-size:13px !important;}.wc-block-components-totals-item__value{color:var(--text) !important;font-size:13px !important;font-weight:600 !important;}/* Footer total (Order total row) */
.wc-block-components-totals-footer-item{border-top:2px solid var(--border) !important;padding-top:14px !important;margin-top:8px !important;border-bottom:none !important;}.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:18px !important;font-weight:700 !important;color:var(--text) !important;}/* ── 11. Checkout "Place Order" button ── */
.wc-block-components-checkout-place-order-button,.wc-block-checkout__actions button[type="submit"],.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,.wc-block-checkout .wc-block-components-checkout-place-order-button{background:var(--accent) !important;color:var(--btn-text-color,#fff) !important;border:none !important;border-radius:var(--radius) !important;padding:15px 40px !important;font-family:var(--font-head) !important;font-size:14px !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;cursor:pointer !important;width:100% !important;margin-top:20px !important;}.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,.wc-block-checkout .wc-block-components-checkout-place-order-button:hover{background:var(--accent-hover) !important;color:var(--btn-text-color,#fff) !important;}/* ── 12. Notices / error messages ── */
.wc-block-store-notice,.wc-block-components-notice{background:color-mix(in srgb,var(--accent) 10%,transparent) !important;border-left:3px solid var(--accent) !important;border-radius:var(--radius) !important;color:var(--text) !important;padding:12px 16px !important;margin-bottom:16px !important;}.wc-block-components-notice--error{background:rgba(220,38,38,0.1) !important;border-left-color:#dc2626 !important;}/* ── 13. Checkout responsive ── */
@media (max-width:768px){.wc-block-checkout{flex-direction:column !important;}.wc-block-checkout__sidebar{flex:none !important;width:100% !important;position:static !important;}}/* ============================================================
WC MEMBERSHIPS — MEMBERS AREA SUB-NAVIGATION + CONTENT
URL:/my-account/members-area/{id}/my-membership-content/
Sub-tabs:Back to Dashboard,Content,Products,Discounts,Notes,Manage
============================================================ */
/* ── Account page wrapper — constrain and pad ── */
body.woocommerce-account .edgt-woo-page > .woocommerce{max-width:var(--max-w);margin:0 auto;padding:40px 24px;}/* Ensure floats inside .woocommerce don't collapse the parent */
body.woocommerce-account .edgt-woo-page > .woocommerce::after{content:'';display:table;clear:both;}/* ── WC Memberships member area wraps .woocommerce inside #wc-memberships-members-area,so the direct-child (>) selector above does NOT apply there.
Replicate the same outer padding + clearfix for those pages. ── */
body.woocommerce-account #wc-memberships-members-area > .woocommerce{max-width:var(--max-w) !important;margin:0 auto !important;padding:40px 24px !important;}body.woocommerce-account #wc-memberships-members-area > .woocommerce::after{content:'';display:table;clear:both;}/* ── Sidebar navigation — visual dark-theme only (WC float/width stays intact) ── */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none !important;padding:0 !important;margin:0 !important;background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;overflow:hidden !important;}.woocommerce-account .woocommerce-MyAccount-navigation ul li{margin:0 !important;border-bottom:1px solid var(--border) !important;}.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{border-bottom:none !important;}.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block !important;padding:12px 20px !important;color:var(--text-muted) !important;text-decoration:none !important;font-family:var(--font-head) !important;font-size:12px !important;font-weight:700 !important;letter-spacing:0.06em !important;text-transform:uppercase !important;border-left:3px solid transparent !important;transition:color 0.2s,background 0.2s !important;}.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{color:var(--text) !important;background:rgba(255,255,255,0.04) !important;}.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover{color:var(--accent) !important;border-left-color:var(--accent) !important;background:color-mix(in srgb,var(--accent) 7%,transparent) !important;}/* ── Content area ── */
.woocommerce-account .woocommerce-MyAccount-content{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:24px 28px !important;color:var(--text) !important;}/* Do NOT add border/padding to the outer .woocommerce — it wraps both nav + content */
/* ── Sub-navigation tabs (items-count-*) ── */
.wc-memberships-members-area-navigation,ul.wc-memberships-members-area-navigation{list-style:none !important;padding:0 !important;margin:0 0 28px !important;display:flex !important;flex-wrap:wrap !important;gap:6px !important;border-bottom:2px solid var(--border) !important;padding-bottom:0 !important;}/* ── Each nav item (li) ── */
.wc-memberships-members-area-navigation-item,.wc-memberships-members-area-navigation li{list-style:none !important;margin:0 !important;padding:0 !important;}/* ── Nav links ── */
.wc-memberships-members-area-navigation-item a,.wc-memberships-members-area-navigation li a,.wc-memberships-members-area-navigation a{display:inline-block !important;padding:10px 18px !important;font-family:var(--font-head) !important;font-size:11px !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;color:var(--text-muted) !important;text-decoration:none !important;border-radius:6px 6px 0 0 !important;border:1px solid transparent !important;border-bottom:none !important;margin-bottom:-2px !important;transition:color 0.2s,background 0.2s !important;background:rgba(255,255,255,0.03) !important;}.wc-memberships-members-area-navigation-item a:hover,.wc-memberships-members-area-navigation li a:hover{color:var(--text) !important;background:rgba(255,255,255,0.07) !important;}/* ── Active tab ── */
.wc-memberships-members-area-navigation-item.is-active a,.wc-memberships-members-area-navigation-item.current a,.wc-memberships-members-area-navigation li.is-active a,.wc-memberships-members-area-navigation li.current a{color:var(--accent) !important;background:var(--bg-card) !important;border-color:var(--border) var(--border) var(--bg-card) !important;}/* ── Content area below tabs (membership sub-pages only) ── */
/* NOTE:ONLY .wc-memberships-* selectors here — do NOT target .woocommerce or
.woocommerce-MyAccount-content as they break the normal account page layout */
.wc-memberships-member-area-section,.wc-memberships-my-account-section{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:0 var(--radius) var(--radius) var(--radius) !important;padding:24px !important;margin-top:0 !important;}/* ── Tables inside membership content ── */
.woocommerce-MyAccount-content table,.wc-memberships-member-area-section table,.woocommerce-account table.shop_table{width:100% !important;border-collapse:collapse !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;overflow:hidden !important;background:var(--bg) !important;}.woocommerce-MyAccount-content table th,.wc-memberships-member-area-section table th,.woocommerce-account table.shop_table th{background:rgba(255,255,255,0.05) !important;color:var(--text-muted) !important;font-family:var(--font-head) !important;font-size:11px !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;padding:12px 16px !important;text-align:left !important;border-bottom:1px solid var(--border) !important;}.woocommerce-MyAccount-content table td,.wc-memberships-member-area-section table td,.woocommerce-account table.shop_table td{padding:14px 16px !important;border-bottom:1px solid rgba(255,255,255,0.05) !important;color:var(--text) !important;font-size:14px !important;vertical-align:middle !important;background:transparent !important;}.woocommerce-MyAccount-content table tr:last-child td,.wc-memberships-member-area-section table tr:last-child td{border-bottom:none !important;}.woocommerce-MyAccount-content table tr:hover td{background:rgba(255,255,255,0.02) !important;}/* ── Content/videos list in members area ── */
.wc-memberships-member-area-content-list,.wc-memberships-member-area-products-list{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr)) !important;gap:16px !important;list-style:none !important;padding:0 !important;margin:0 !important;}.wc-memberships-member-area-content-list li,.wc-memberships-member-area-products-list li{background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;overflow:hidden !important;}.wc-memberships-member-area-content-list li a,.wc-memberships-member-area-products-list li a{color:var(--text) !important;text-decoration:none !important;}.wc-memberships-member-area-content-list li a:hover,.wc-memberships-member-area-products-list li a:hover{color:var(--accent) !important;}/* ── Membership details (in Manage tab) ── */
.wc-memberships-member-area-membership-details{background:var(--bg) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;padding:20px !important;margin-bottom:20px !important;}.wc-memberships-member-area-membership-details p{color:var(--text) !important;margin-bottom:8px !important;font-size:14px !important;}/* ── Cancel / pause buttons ── */
.wc-memberships-member-area-actions a,.wc-memberships-member-area-membership-actions a,.button.wc-memberships-member-area-cancel-membership,.button.wc-memberships-member-area-pause-membership{display:inline-block !important;padding:9px 18px !important;border-radius:var(--radius) !important;font-size:12px !important;font-weight:700 !important;font-family:var(--font-head) !important;text-transform:uppercase !important;letter-spacing:0.06em !important;cursor:pointer !important;text-decoration:none !important;background:rgba(255,255,255,0.08) !important;color:var(--text) !important;border:1px solid var(--border) !important;margin-right:8px !important;margin-top:8px !important;}.button.wc-memberships-member-area-cancel-membership{background:rgba(220,38,38,0.15) !important;border-color:#dc2626 !important;color:#f87171 !important;}.button.wc-memberships-member-area-cancel-membership:hover{background:#dc2626 !important;color:#fff !important;}/* ── Pagination in members area ── */
.wc-memberships-member-area-section .woocommerce-pagination,.wc-memberships-member-area-section nav.woocommerce-pagination{margin-top:24px !important;text-align:center !important;}.wc-memberships-member-area-section .page-numbers{display:inline-flex !important;gap:6px !important;list-style:none !important;padding:0 !important;}.wc-memberships-member-area-section .page-numbers a,.wc-memberships-member-area-section .page-numbers span{background:var(--bg-card) !important;border:1px solid var(--border) !important;border-radius:var(--radius) !important;color:var(--text) !important;padding:7px 12px !important;font-size:12px !important;font-weight:600 !important;text-decoration:none !important;}.wc-memberships-member-area-section .page-numbers .current{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important;}/* ── Notices / info messages ── */
.woocommerce-MyAccount-content .woocommerce-message,.woocommerce-MyAccount-content .woocommerce-notice,.woocommerce-MyAccount-content .woocommerce-info{background:rgba(255,255,255,0.05) !important;border-left:3px solid var(--accent) !important;border-radius:var(--radius) !important;color:var(--text) !important;padding:14px 18px !important;margin-bottom:16px !important;list-style:none !important;}/* ── Responsive ── */
@media (max-width:600px){.wc-memberships-members-area-navigation{flex-direction:column !important;border-bottom:none !important;}.wc-memberships-members-area-navigation-item a{border-radius:var(--radius) !important;border:1px solid var(--border) !important;margin-bottom:0 !important;}.wc-memberships-member-area-section,.wc-memberships-my-account-section{border-radius:var(--radius) !important;}}/* ============================================================
MOBILE RESPONSIVE (pages.css additions)
DESKTOP styles above are COMPLETELY UNCHANGED.
Only mobile/tablet breakpoints below.
============================================================ */
/* ─────────────────────────────────────────────────────────
1. POPUP:fix overflow so buttons are always visible
───────────────────────────────────────────────────────── */
@media (max-width:680px){/* Make the OVERLAY scrollable so tall popup content is reachable */
.popup-overlay{align-items:flex-start !important;padding:12px 8px !important;overflow-y:auto !important;}/* Remove the hard max-height so content never gets clipped */
.popup-box{max-height:none !important;overflow:visible !important;width:100% !important;max-width:100% !important;border-radius:12px !important;margin:auto !important;}.popup-left{max-height:none !important;overflow-y:visible !important;padding:20px 16px 24px !important;}/* Reduce plan card padding on very small screens */
.popup-plan{padding:10px 12px !important;}.popup-plan-name{font-size:12px !important;}.popup-features{gap:6px !important;}.popup-feature-label{font-size:9px !important;}.popup-feature-icon svg{width:32px !important;height:32px !important;}}/* ─────────────────────────────────────────────────────────
2. SINGLE POST:stack grid vertically on mobile
───────────────────────────────────────────────────────── */
@media (max-width:768px){.video-single-grid{grid-template-columns:1fr !important;gap:24px !important;}/* Main content first,sidebar second */
.video-single-main{order:1 !important;}.single-sidebar{order:2 !important;}/* Sidebar widgets full width on mobile */
.sidebar-widget{margin-bottom:12px !important;}}/* ─────────────────────────────────────────────────────────
3. SINGLE PRODUCT:stack grid vertically,fix video player
───────────────────────────────────────────────────────── */
@media (max-width:768px){.product-single-grid{grid-template-columns:1fr !important;gap:28px !important;}/* Video/image first,info below */
.product-gallery-main{order:1 !important;}.product-info{order:2 !important;}/* Ensure 16:9 iframe fills 100% width and maintains aspect ratio */
.product-gallery-main{aspect-ratio:16/9 !important;width:100% !important;}.product-gallery-main .product-video-embed,.product-gallery-main iframe{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;}/* Product title + price */
.product-title{font-size:22px !important;}.product-price{font-size:26px !important;}/* Full-width description:single column */
.product-desc-full .product-desc-columns{column-count:1 !important;}/* Product page container */
.product-single{padding:28px 0 48px !important;}}/* ─────────────────────────────────────────────────────────
4. BLOCK CART:mobile (extra safety on top of existing rule)
───────────────────────────────────────────────────────── */
@media (max-width:768px){body.woocommerce-cart .wp-block-woocommerce-cart{padding:20px 0 !important;}}/* ─────────────────────────────────────────────────────────
5. PPV SECTION on homepage — prevent max-width from overflowing
───────────────────────────────────────────────────────── */
@media (max-width:768px){.ppv-grid{max-width:100% !important;}}/* ─────────────────────────────────────────────────────────
6. HERO SLIDER — ensure it doesn't cause horizontal scroll
───────────────────────────────────────────────────────── */
@media (max-width:768px){.hero-slider{overflow:hidden !important;}.hero-slide{max-width:100% !important;}}/* ─────────────────────────────────────────────────────────
7. NOTICE SLIDER — prevent overflow on mobile
───────────────────────────────────────────────────────── */
@media (max-width:768px){.notice-slider-wrapper{overflow:hidden !important;}.notice-slider-viewport{overflow:hidden !important;}}/* ─────────────────────────────────────────────────────────
8. SECTION HEADER (view-all links) — wrap on small screens
───────────────────────────────────────────────────────── */
@media (max-width:480px){.section-header{flex-wrap:wrap !important;gap:8px !important;}.section-title{font-size:20px !important;}}/* ─────────────────────────────────────────────────────────
9. SHOP (archive-product) — 2-column grid on mobile
The inline <style> in archive-product.php forces
repeat(4,1fr). We override it here with !important
so mobile gets a sensible 2-column layout.
───────────────────────────────────────────────────────── */
@media (max-width:860px){ul.products,.products{grid-template-columns:repeat(2,1fr) !important;}.ppv-grid{grid-template-columns:repeat(2,1fr) !important;}}/* ─────────────────────────────────────────────────────────
FIX:Issue 3 — MOBILE:PPV Grid → 1 column (not 3)
Override the 860px rule (2-col) down to 1-col
so Premium Video section matches New Releases layout.
───────────────────────────────────────────────────────── */
@media (max-width:640px){.ppv-grid{grid-template-columns:1fr !important;max-width:100% !important;gap:12px !important;}.ppv-card{max-width:100% !important;width:100% !important;}}/* ─────────────────────────────────────────────────────────
FIX:Issue 4 — MOBILE:Shop page → 1 column (not 4 or 2)
The inline <style> in archive-product.php sets
repeat(4,1fr). Use higher specificity + !important
to override. Match layout with New Releases (1 col).
───────────────────────────────────────────────────────── */
@media (max-width:640px){.shop-page ul.products,.shop-page .products,ul.products,.products{grid-template-columns:1fr !important;gap:12px !important;}}/* ─────────────────────────────────────────────────────────
FIX:Issue 5 — MOBILE:Limit New Releases + Premium Video
to 4 posts. Hides items 5+ on mobile only.
Desktop is unaffected (no media query wrapping applies).
───────────────────────────────────────────────────────── */
/* nth-child mobile cap removed — PHP admin controls count *//* ============================================================
CATEGORY GROUPS — product-style cards (cat-card--ppv)
Added v2.26.0:shown when a group has a product_cat_id
============================================================ */
/* PPV badge top-left corner of category card */
.cat-ppv-badge{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:3px 7px;border-radius:3px;z-index:3;pointer-events:none;}/* Product-style card:price + shop row in overlay */
.cat-product-row{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap;}.cat-price{font-size:13px;font-weight:700;color:#fff;}.cat-shop-btn{display:inline-block;padding:4px 12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;border-radius:3px;transition:opacity 0.2s;}.cat-card--ppv:hover .cat-shop-btn{opacity:0.85;}/* Play icon reuse inside cat-card--ppv (same as video-card / ppv-card) */
.cat-card--ppv .play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.25s,background 0.25s;z-index:3;}.cat-card--ppv .play-icon svg{width:18px;height:18px;fill:var(--accent);margin-left:3px;}.cat-card--ppv:hover .play-icon{opacity:1;background:var(--accent);}.cat-card--ppv:hover .play-icon svg{fill:#fff;}/* ============================================================
ARCHIVE PAGE — header + description layout
============================================================ */
.archive-section-header{margin-bottom:32px;}.archive-section-header .section-header{margin-bottom:0;}.cat-archive-desc{margin:14px 0 0;font-size:15px;color:var(--text-muted);line-height:1.85;max-width:100%;columns:2;column-gap:40px;}@media (max-width:760px){.cat-archive-desc{columns:1;}}.cat-archive-desc p{margin-bottom:10px;}.cat-archive-desc p:last-child{margin-bottom:0;}/* ============================================================
PAGINATION — edgt-pagination (array type,flat items)
============================================================ */
.edgt-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:48px;}.edgt-page-item{display:contents;/* let inner <a>/<span> be the flex item */}.edgt-pagination .page-numbers{font-family:var(--font-head);font-size:13px;font-weight:600;padding:8px 15px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-muted);text-decoration:none;transition:background var(--ease),color var(--ease),border-color var(--ease);display:inline-flex;align-items:center;line-height:1;}.edgt-pagination .page-numbers.current,.edgt-pagination .page-numbers:hover{background:var(--accent);border-color:var(--accent);color:#fff;}.edgt-pagination .page-numbers.dots{border-color:transparent;background:transparent;cursor:default;pointer-events:none;}/* ============================================================
WOOCOMMERCE PAGINATION — match edgt-pagination style
============================================================ */
.woocommerce-pagination{display:flex;justify-content:center;margin-top:48px;}.woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;}.woocommerce-pagination ul.page-numbers li{display:contents;}.woocommerce-pagination .page-numbers{font-family:var(--font-head);font-size:13px;font-weight:600;padding:8px 15px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-muted);text-decoration:none;transition:background var(--ease),color var(--ease),border-color var(--ease);display:inline-flex;align-items:center;line-height:1;}.woocommerce-pagination .page-numbers.current,.woocommerce-pagination .page-numbers:hover{background:var(--accent);border-color:var(--accent);color:#fff;}.woocommerce-pagination .page-numbers.dots{border-color:transparent;background:transparent;pointer-events:none;}/* ============================================================
WOOCOMMERCE RESULT COUNT + ORDERING
============================================================ */
p.woocommerce-result-count{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4;}.woocommerce-ordering{margin:0;}.woocommerce-ordering select{background:var(--card-bg);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-body);font-size:13px;padding:7px 12px;border-radius:var(--radius);outline:none;cursor:pointer;transition:border-color var(--ease);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;}.woocommerce-ordering select:hover,.woocommerce-ordering select:focus{border-color:var(--accent);}/* FIX v2.27 #1 — Dropdown option list:CSS vars don't work in native <option>
elements cross-browser;hard-coded dark values ensure readability. */
.woocommerce-ordering select option,select.orderby option,select[name="orderby"] option{background-color:#1e1e2e;color:#f0f0f0;}/* FIX v2.27:Native dropdown options need hard-coded colours —
CSS variables are unreliable inside <option> elements across browsers */
.woocommerce-ordering select option,select.orderby option,select[name="orderby"] option{background-color:#1e1e2e;color:#f0f0f0;}/* ============================================================
WC MEMBERSHIPS — hide restriction notice boxes
The theme uses a popup gate;the plain-text notices are clutter.
============================================================ */
.wc-memberships-message,.wc-memberships-restriction-message,.wc-memberships-member-area-section .wc-memberships-content-restricted-message,.wc-memberships-content-restricted,.wc-memberships-product-member-discount-message,div.wc-memberships-restriction-notice,.woocommerce-info.wc-memberships-restriction-message{display:none !important;}/* ═══════════════════════════════════════════════════════════════════════════
BLOG PAGE
═══════════════════════════════════════════════════════════════════════════ */
/* Page wrapper */
.blog-page-wrap{max-width:1200px;margin:0 auto;padding:40px 24px 80px;}/* Hero header */
.blog-page-header{text-align:center;margin-bottom:48px;}.blog-page-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-0.02em;color:var(--text-primary,#fff);margin-bottom:12px;}.blog-page-sub{font-size:15px;color:var(--text-muted,#aaa);max-width:480px;margin:0 auto;}/* 3-column responsive grid */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}@media (max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:560px){.blog-grid{grid-template-columns:1fr;}}/* Blog card */
.blog-card{background:var(--bg-card,#1e1e28);border:1px solid rgba(255,255,255,0.07);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;outline:none;}.blog-card:hover,.blog-card:focus-visible{transform:translateY(-4px);border-color:var(--accent,#c6a05a);box-shadow:0 8px 32px rgba(0,0,0,0.35);}/* Card image */
.blog-card-img{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:#111;}.blog-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease;}.blog-card:hover .blog-card-img img{transform:scale(1.04);}.blog-card-img-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,0.5));}.blog-card-img--none{display:flex;align-items:center;justify-content:center;background:#18181f;}.blog-card-img--none svg{width:64px;height:64px;opacity:0.4;}/* Card body */
.blog-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}/* Category badges */
.blog-card-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}.blog-card-cat{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent,#c6a05a);background:rgba(198,160,90,0.12);border:1px solid rgba(198,160,90,0.25);border-radius:20px;padding:2px 9px;}/* Card title */
.blog-card-title{font-size:16px;font-weight:600;color:var(--text-primary,#fff);line-height:1.4;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}/* Card excerpt */
.blog-card-excerpt{font-size:13px;color:var(--text-muted,#aaa);line-height:1.55;margin:0 0 14px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}/* Card meta */
.blog-card-meta{margin-top:auto;}.blog-card-date{font-size:11px;color:var(--text-dim,#777);letter-spacing:0.04em;}/* Empty state */
.blog-empty{text-align:center;padding:80px 20px;color:var(--text-muted,#aaa);font-size:15px;}/* Pagination */
.blog-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:48px;}.blog-page-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:var(--bg-card,#1e1e28);border:1px solid rgba(255,255,255,0.1);color:var(--text-primary,#fff);text-decoration:none;font-size:14px;font-weight:500;transition:background 0.2s,border-color 0.2s;}.blog-page-num.active,.blog-page-num:hover{background:var(--accent,#c6a05a);border-color:var(--accent,#c6a05a);color:#000;}/* ═══════════════════════════════════════════════════════════════════════════
BLOG POST POPUP MODAL
═══════════════════════════════════════════════════════════════════════════ */
.blog-modal-overlay{position:fixed;inset:0;z-index:9200;/* login popup is 10000 — must stay below */background:rgba(0,0,0,0.82);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.25s ease,visibility 0.25s ease;padding:20px;overflow-y:auto;}.blog-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;}body.blog-modal-open{overflow:hidden;}.blog-modal-box{position:relative;background:var(--bg-card,#1e1e28);border:1px solid rgba(255,255,255,0.1);border-radius:16px;width:100%;max-width:740px;max-height:88vh;overflow-y:auto;transform:translateY(24px) scale(0.97);transition:transform 0.25s ease;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) transparent;}.blog-modal-overlay.is-open .blog-modal-box{transform:translateY(0) scale(1);}/* Close button */
.blog-modal-close{position:sticky;top:0;float:right;width:36px;height:36px;margin:14px 14px 0 0;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:50%;color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}.blog-modal-close:hover{background:rgba(255,255,255,0.18);}/* Inner container */
.blog-modal-inner{padding-bottom:30px;}/* Loading spinner */
.blog-modal-loading{display:flex;align-items:center;justify-content:center;padding:80px 20px;}.blog-modal-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,0.1);border-top-color:var(--accent,#c6a05a);animation:blog-spin 0.7s linear infinite;}@keyframes blog-spin{to{transform:rotate(360deg);}}/* Hero image */
.blog-modal-hero{border-radius:16px 16px 0 0;overflow:hidden;aspect-ratio:16 / 7;}.blog-modal-hero img{width:100%;height:100%;object-fit:cover;display:block;}/* Content area */
.blog-modal-content{padding:28px 32px 10px;}@media (max-width:600px){.blog-modal-content{padding:22px 20px 10px;}}.blog-modal-cats{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;}.blog-modal-cat-link{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent,#c6a05a);background:rgba(198,160,90,0.12);border:1px solid rgba(198,160,90,0.25);border-radius:20px;padding:2px 9px;text-decoration:none;}.blog-modal-cat-link:hover{background:rgba(198,160,90,0.25);}.blog-modal-title{font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:700;color:#fff;line-height:1.3;margin:0 0 10px;}.blog-modal-byline{font-size:12px;color:var(--text-dim,#777);letter-spacing:0.03em;margin-bottom:24px;}/* Blog body prose */
.blog-modal-body{font-size:15px;color:rgba(255,255,255,0.82);line-height:1.75;}.blog-modal-body p{margin-bottom:1em;color:rgba(255,255,255,0.82);}/* ── Reset inline Gutenberg background-colors inside blog modal ──────────────
Block editor paragraphs carry inline style="background-color:#fff" or
utility classes like has-white-background-color — force transparent */
.blog-modal-body [style*="background"],.blog-modal-body .wp-block-paragraph,.blog-modal-body .has-background,.blog-modal-body .has-white-background-color,.blog-modal-body .has-very-light-gray-background-color,.blog-modal-body .has-pale-cyan-blue-background-color,.blog-modal-body .has-pale-blue-background-color{background:transparent !important;background-color:transparent !important;color:rgba(255,255,255,0.82) !important;}.blog-modal-body > div,.blog-modal-body > section{background:transparent !important;}.blog-modal-body h2,.blog-modal-body h3{color:#fff;margin:1.5em 0 0.6em;font-size:1.15em;font-weight:600;}.blog-modal-body ul,.blog-modal-body ol{padding-left:1.4em;margin-bottom:1em;}.blog-modal-body a{color:var(--accent,#c6a05a);}.blog-modal-body img{max-width:100%;border-radius:8px;margin:1em 0;}.blog-modal-link{display:inline-block;margin-top:24px;margin-left:32px;font-size:13px;font-weight:600;color:var(--accent,#c6a05a);text-decoration:none;letter-spacing:0.04em;}.blog-modal-link:hover{text-decoration:underline;}.blog-modal-error{text-align:center;padding:40px;color:#e88;font-size:14px;}/* ── WORDPRESS BLOCK COLOR OVERRIDES ──────────────────────────
WordPress global-styles injects .has-white-background-color{background:#fff !important}On our dark theme this makes paragraphs white-on-white (invisible).
Selectors cover:single posts (video-player-wrap),pages (entry-content),blog popup (blog-post-body).
────────────────────────────────────────────────────────────── */
.video-player-wrap .has-white-background-color,.video-single-main .has-white-background-color,.video-player-wrap .has-black-background-color,.video-single-main .has-black-background-color,.entry-content .has-white-background-color,.entry-content .has-black-background-color,.post-content .has-white-background-color,.post-content .has-black-background-color,.blog-post-body .has-white-background-color,.blog-post-body .has-black-background-color,.edgt-woo-page .has-white-background-color{background-color:transparent !important;}.video-player-wrap .has-white-color,.video-single-main .has-white-color,.entry-content .has-white-color,.post-content .has-white-color,.blog-post-body .has-white-color{color:inherit !important;}/* ── WORDPRESS GUTENBERG BLOCK COLOR OVERRIDES ─────────────────────────
Gutenberg adds .has-white-background-color{background:#fff !important}On dark theme this creates invisible white-on-white paragraphs.
Override ALL has-*-background-color classes inside post/page content. ── */
.video-player-wrap [class*=has-][class*=-background-color],.post-body [class*=has-][class*=-background-color],.entry-content [class*=has-][class*=-background-color],.blog-post-body [class*=has-][class*=-background-color],.single-post .wp-block-paragraph[class*=has-][class*=-background-color]{background-color:transparent !important;background:transparent !important;}/* Also prevent white/light text colors from being overridden to white */
.video-player-wrap .has-white-color,.post-body .has-white-color,.entry-content .has-white-color{color:var(--text) !important;}/* ============================================================
MOBILE SEARCH OVERLAY (replaces inline expanding search)
============================================================ */
.mobile-search-overlay{display:none;/* hidden until JS opens it */
position:fixed;inset:0;z-index:9999;background:rgba(10,10,18,0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:flex-start;justify-content:center;padding-top:80px;}.mobile-search-overlay.is-open{display:flex !important;}.mobile-search-overlay-inner{width:calc(100% - 32px);max-width:480px;}.mobile-search-overlay-form{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:12px 14px;box-shadow:0 8px 32px rgba(0,0,0,0.5);}.mobile-search-overlay-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:16px;font-family:var(--font-body);}.mobile-search-overlay-input::placeholder{color:rgba(240,240,240,0.4);}.mobile-search-overlay-close{background:none;border:none;color:var(--text);cursor:pointer;padding:4px;display:flex;align-items:center;flex-shrink:0;opacity:0.7;transition:opacity 0.2s;}.mobile-search-overlay-close:hover{opacity:1;color:var(--accent);}/* On mobile:hide inline nav-search,show mobile trigger button */
@media (max-width:768px){.nav-search{display:none !important;}.nav-mobile-search-btn{position:relative;z-index:200;background:rgba(255,255,255,0.07);border:1px solid var(--border);color:var(--text);cursor:pointer;padding:8px 12px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:color var(--ease),border-color var(--ease);}.nav-mobile-search-btn:hover{color:var(--accent);border-color:var(--accent);}.nav-mobile-search-btn svg{display:block;stroke:currentColor;fill:none;}}@media (min-width:769px){.nav-mobile-search-btn{display:none !important;}.mobile-search-overlay{display:none !important;}}

/* ── Popup promo stat boxes (NicksLuckyCharm-style) ─────────────────── */
.popup-promo-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:12px 8px;}
.popup-stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:12px 14px;min-width:80px;flex:1;text-align:center;}
.popup-stat-num{font-family:var(--font-head,Oswald,sans-serif);font-size:26px;font-weight:700;color:var(--accent);line-height:1.1;letter-spacing:-0.5px;}
.popup-stat-label{font-family:var(--font-head,Oswald,sans-serif);font-size:11px;font-weight:600;color:rgba(240,240,240,0.85);letter-spacing:1px;margin-top:3px;text-transform:uppercase;}
.popup-stat-text .popup-stat-label{font-size:12px;color:rgba(240,240,240,0.7);}
.popup-stat-text{min-width:auto;padding:8px 12px;}
/* Keep old chip class hidden in case it exists */
.popup-promo-chips{display:none;}

/* ── Homepage SEO block — editorial magazine style ─────────────────── */
.homepage-seo-block{padding:64px 0;background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.seo-wrap{display:grid;grid-template-columns:40px 1fr auto;gap:28px;align-items:start;}
.seo-accent-col{display:flex;flex-direction:column;align-items:center;padding-top:4px;}
.seo-accent-label{font-family:var(--font-head,Oswald,sans-serif);font-size:10px;letter-spacing:4px;color:var(--accent);text-transform:uppercase;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);white-space:nowrap;}
.seo-accent-line{width:2px;min-height:60px;flex:1;background:linear-gradient(to bottom,var(--accent),transparent);margin-top:10px;}
.seo-content-col{columns:2;column-gap:48px;}
.seo-content-col p{color:rgba(240,240,240,0.75);font-size:14px;line-height:1.85;margin-bottom:14px;break-inside:avoid;}
.seo-content-col p:last-child{margin-bottom:0;}
.seo-content-col a{color:var(--accent);text-decoration:none;}
.seo-content-col a:hover{text-decoration:underline;}
@media(max-width:768px){
  .seo-wrap{grid-template-columns:30px 1fr;gap:16px;}
  .seo-content-col{columns:1;}
  .homepage-seo-block{padding:40px 0;}
}
/* ── SEO block social icons ─────────────────────────────────────────── */
.seo-social-col{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:2px;}
.seo-social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.06);border:1px solid var(--border);color:var(--text-muted,rgba(240,240,240,0.5));transition:background 0.2s,border-color 0.2s,color 0.2s;text-decoration:none;flex-shrink:0;}
.seo-social-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.seo-social-link svg{display:block;}
@media(max-width:768px){
  .seo-wrap{grid-template-columns:30px 1fr;gap:16px;}
  .seo-social-col{flex-direction:row;justify-content:flex-end;grid-column:1/-1;padding-top:0;border-top:1px solid var(--border);padding-top:14px;}
}
/* ============================================================
   v3.61 — Homepage hero + member chat layout
   ============================================================ */
.edgt-hero-chat-section{width:100%;background:var(--bg,#0c0c10);padding:0 0 22px;}
.edgt-hero-chat-grid{max-width:none;width:100%;margin:0;display:grid;grid-template-columns:minmax(0,2.55fr) minmax(300px,.86fr);gap:16px;align-items:stretch;padding:0 0 0 0;box-sizing:border-box;}
.edgt-hero-chat-left{min-width:0;display:flex;}
.edgt-hero-chat-grid .hero-slider{width:100%;height:clamp(420px,42vw,640px);min-height:0;aspect-ratio:auto;margin:0;overflow:hidden;background:var(--bg,#050509);}
.edgt-hero-chat-grid .hero-slide-content{max-width:none;width:100%;padding:0 40px;}
.edgt-hero-chat-grid .hero-title{font-size:clamp(calc(var(--hero-title-min,30px) * .84),4vw,calc(var(--hero-title-max,66px) * .86));}.edgt-hero-chat-grid .hero-title,.edgt-hero-chat-grid .hero-sub,.edgt-hero-chat-grid .hero-eyebrow,.edgt-hero-chat-grid .hero-cta{max-width:74%;margin-left:auto;margin-right:auto;}
.edgt-hero-chat-right{min-width:0;display:flex;}
.edgt-home-chat{width:100%;height:clamp(420px,42vw,640px);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 50px rgba(0,0,0,.25);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;color:var(--text,#fff);max-width:390px;justify-self:end;}
.edgt-chat-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.18);}
.edgt-chat-kicker{display:block;font-family:var(--font-head,'Oswald',sans-serif);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent,#b9f23d);line-height:1;margin-bottom:7px;}
.edgt-chat-head h2{margin:0;font-size:28px;line-height:1;text-transform:uppercase;letter-spacing:.045em;color:#fff;}
.edgt-chat-wordart{display:flex;flex-direction:column;line-height:1;}.ecw-badge{display:inline-block;border:1px solid #b9f23d;padding:2px 9px 1px;font-family:var(--font-head,'Oswald',sans-serif);font-size:9px;letter-spacing:.35em;color:#b9f23d;text-transform:uppercase;margin-bottom:8px;line-height:1.6;font-weight:700;}.ecw-label{font-family:var(--font-head,'Oswald',sans-serif);font-size:20px;font-weight:700;letter-spacing:-.01em;color:#fff;text-transform:uppercase;line-height:1;}.edgt-chat-head h2{display:none;}.edgt-chat-live-dot{width:11px;height:11px;border-radius:999px;background:var(--accent,#b9f23d);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent,#b9f23d) 18%,transparent);}
.edgt-owner-status{margin:14px 14px 0;padding:13px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(0,0,0,.22);}
.edgt-owner-status-label{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent,#b9f23d) 16%,transparent);color:var(--accent,#b9f23d);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.edgt-owner-status-text{font-size:13px;line-height:1.5;color:rgba(255,255,255,.86);}
.edgt-owner-status-text p{margin:.2em 0 .65em;}
.edgt-owner-status-text p:last-child{margin-bottom:0;}
.edgt-owner-status img{display:block;width:100%;max-height:120px;object-fit:cover;border-radius:10px;margin-top:10px;}
.edgt-chat-stream{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;}
.edgt-chat-item{display:flex;gap:10px;align-items:flex-start;}
.edgt-chat-initial{flex:0 0 22px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;margin-top:6px;font-family:var(--font-head,'Oswald',sans-serif);font-size:18px;font-weight:700;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.72);text-shadow:0 2px 10px rgba(0,0,0,.45);}
.edgt-chat-body{min-width:0;flex:1;padding:10px 11px;border-radius:13px;background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.07);}
.edgt-chat-item-comment .edgt-chat-body{background:rgba(255,255,255,.045);}
.edgt-chat-item-admin{flex-direction:row-reverse;}
.edgt-chat-item-admin .edgt-chat-body{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07);}
.edgt-chat-item-admin .edgt-chat-meta{justify-content:flex-start;}
.edgt-chat-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.edgt-chat-meta strong{font-size:12px;color:#fff;line-height:1.1;}
.edgt-chat-meta span{font-size:10px;color:rgba(255,255,255,.48);}
.edgt-chat-comment-ref{font-size:11px;color:rgba(255,255,255,.54);margin-bottom:5px;}
.edgt-chat-comment-ref a{color:var(--accent,#b9f23d);text-decoration:none;}
.edgt-chat-text{font-size:13px;line-height:1.45;color:rgba(255,255,255,.82);overflow-wrap:anywhere;}
.edgt-chat-text p{margin:.15em 0 .55em;}
.edgt-chat-text p:last-child{margin-bottom:0;}
.edgt-chat-thumb{display:block;width:92px;height:92px;object-fit:cover;border-radius:10px;margin-top:9px;border:1px solid rgba(255,255,255,.12);}
.edgt-chat-delete{margin-top:8px;background:transparent;border:0;color:rgba(255,255,255,.48);font-size:11px;padding:0;cursor:pointer;text-decoration:underline;}
.edgt-chat-delete:hover{color:#ff7d7d;}
.edgt-chat-empty,.edgt-chat-login-note{border:1px dashed rgba(255,255,255,.14);border-radius:12px;padding:14px;color:rgba(255,255,255,.62);font-size:13px;text-align:center;background:rgba(0,0,0,.16);}
.edgt-chat-compose{padding:13px 14px 14px;border-top:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.22);}
.edgt-chat-compose textarea{width:100%;height:64px;resize:none;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(0,0,0,.34);color:#fff;padding:10px 11px;font-size:13px;line-height:1.4;outline:none;}
.edgt-chat-compose textarea:focus{border-color:color-mix(in srgb,var(--accent,#b9f23d) 70%,#fff 0%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#b9f23d) 13%,transparent);}
.edgt-chat-compose-row{display:flex;align-items:center;gap:10px;margin-top:9px;}
.edgt-chat-file-label{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.76);cursor:pointer;white-space:nowrap;}
.edgt-chat-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.edgt-chat-count{font-size:11px;color:rgba(255,255,255,.48);margin-left:auto;white-space:nowrap;}
.edgt-chat-send{border:0;border-radius:10px;background:var(--accent,#b9f23d);color:#111;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:11px;padding:9px 13px;cursor:pointer;}
.edgt-chat-send:disabled{opacity:.55;cursor:wait;}
.edgt-chat-attach-note{font-size:12px;color:rgba(255,255,255,.55);margin-top:8px;min-height:1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.edgt-chat-attach-note.is-ready{color:var(--accent,#b9f23d);}
.edgt-chat-feedback{font-size:12px;color:rgba(255,255,255,.65);margin-top:6px;min-height:1em;}
.edgt-chat-feedback.is-error{color:#ff9a9a;}
@media (max-width:1100px){.edgt-hero-chat-grid{grid-template-columns:1fr;padding:0 14px;}.edgt-hero-chat-grid .hero-slider{height:auto;aspect-ratio:16/9;border-radius:16px;}.edgt-home-chat{height:520px;max-width:none;justify-self:stretch;}.edgt-hero-chat-grid .hero-slide-content{padding:0 26px;}.edgt-hero-chat-grid .hero-title,.edgt-hero-chat-grid .hero-sub,.edgt-hero-chat-grid .hero-eyebrow,.edgt-hero-chat-grid .hero-cta{max-width:84%;}}
@media (max-width:640px){.edgt-hero-chat-grid{gap:12px;padding:0 10px;}.edgt-hero-chat-grid .hero-slider{aspect-ratio:4/3;border-radius:14px;}.edgt-home-chat{height:560px;border-radius:14px;}.edgt-hero-chat-grid .hero-slide-content{padding:0 18px 52px;}.edgt-hero-chat-grid .hero-title,.edgt-hero-chat-grid .hero-sub,.edgt-hero-chat-grid .hero-eyebrow,.edgt-hero-chat-grid .hero-cta{max-width:90%;}.edgt-chat-head{padding:15px 14px 12px;}.edgt-chat-head h2{font-size:24px;}.edgt-chat-stream{padding:12px;}.edgt-chat-compose-row{gap:7px;}.edgt-chat-file-label{padding:8px;font-size:11px;}.edgt-chat-send{padding:9px 10px;}.edgt-chat-thumb{width:78px;height:78px;}}

/* v3.65 — Chat order + clearer delete controls */
.edgt-chat-body{position:relative;}
.edgt-chat-delete{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.62);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;}
.edgt-chat-delete:hover{background:rgba(255,80,80,.13);border-color:rgba(255,120,120,.35);color:#ffb3b3;}

/* v3.74 LCP */.hero-slide:first-child{opacity:1;visibility:visible;}.hero-slide:first-child .hero-slide-img{opacity:1!important;}
/* ── v3.78: Inline-style background override for single-post direct URL ─────
   Class-based overrides above cover .has-*-background-color.
   Gutenberg blocks ALSO use inline style="background:#fff" / style="background-color:#fff"
   which class selectors cannot target. This mirrors .blog-modal-body which already works.
   Without this, white inline-style backgrounds make text invisible (theme forces p color:white)
   on the direct post page. ─────────────────────────────────────────────────── */
.video-player-wrap [style*="background"],.video-single-main [style*="background"],.entry-content [style*="background-color"],.post-content [style*="background-color"]{background:transparent !important;background-color:transparent !important;}
/* ── EDGT Logo Style Classes (v3.80) ──────────────────────────────────────
   All 7 wordart logo options. Active class rendered by edgt_render_logo_art().
   Switch at: WP Admin → Appearance → Logo Style
   ─────────────────────────────────────────────────────────────────────── */
.edgt-logo-3,.edgt-logo-4,.edgt-logo-6,.edgt-logo-7,.edgt-logo-8,.edgt-logo-9,.edgt-logo-10{font-family:'Bebas Neue','Impact',sans-serif}
/* #3 Ghost Layer */
.edgt-logo-3{position:relative;display:inline-flex;flex-direction:column;line-height:1;padding-bottom:2px}
.edgt-logo-3 .elg3-ghost{font-size:36px;letter-spacing:.08em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(186,218,85,.2);position:absolute;top:0;left:0;white-space:nowrap;pointer-events:none;user-select:none}
.edgt-logo-3 .elg3-fg{padding-top:12px;font-family:'Oswald','Arial Narrow',sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.edgt-logo-3 .elg3-w{color:#fff}.edgt-logo-3 .elg3-a{color:var(--accent,#bada55);font-weight:400}
/* #4 3D Shadow */
.edgt-logo-4{display:inline-flex;flex-direction:column;line-height:1}
.edgt-logo-4 .elg4-edge{font-size:28px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#bada55);text-shadow:1px 1px 0 rgba(0,0,0,.8),2px 2px 0 rgba(0,0,0,.7),3px 3px 0 rgba(0,0,0,.6),4px 4px 0 rgba(0,0,0,.5),5px 5px 0 rgba(0,0,0,.3),6px 6px 8px rgba(0,0,0,.5)}
.edgt-logo-4 .elg4-thatguy{font-family:'Oswald','Arial Narrow',sans-serif;font-size:14px;font-weight:700;letter-spacing:.3em;color:#fff;text-transform:uppercase;text-shadow:2px 2px 0 rgba(0,0,0,.6),3px 3px 4px rgba(0,0,0,.4);margin-top:2px}
/* #6 ETG Badge */
.edgt-logo-6{display:inline-flex;align-items:center;gap:10px}
.edgt-logo-6 .elg6-badge{background:var(--accent,#bada55);color:#0c0c10;border-radius:4px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;letter-spacing:.05em}
.edgt-logo-6 .elg6-text{line-height:1}
.edgt-logo-6 .elg6-name{display:block;font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.edgt-logo-6 .elg6-sub{display:block;font-family:system-ui,sans-serif;font-size:9px;letter-spacing:.3em;color:var(--accent,#bada55);text-transform:uppercase;margin-top:2px}
/* #7 Angled Undercut */
.edgt-logo-7{display:inline-flex;flex-direction:column;line-height:1}
.edgt-logo-7 .elg7-words{font-size:28px;letter-spacing:.05em;text-transform:uppercase}
.edgt-logo-7 .elg7-w{color:#fff}.edgt-logo-7 .elg7-a{color:var(--accent,#bada55)}
.edgt-logo-7 .elg7-line{height:4px;width:100%;background:var(--accent,#bada55);border-radius:2px;margin-top:3px;clip-path:polygon(0 0,85% 0,100% 100%,15% 100%)}
/* #8 Blocked Reverse */
.edgt-logo-8{display:inline-flex;align-items:center;line-height:1}
.edgt-logo-8 .elg8-left{background:var(--accent,#bada55);padding:6px 10px;font-size:22px;letter-spacing:.1em;color:#0c0c10;text-transform:uppercase;border-radius:4px 0 0 4px}
.edgt-logo-8 .elg8-right{background:rgba(255,255,255,.06);border:1.5px solid var(--accent,#bada55);border-left:none;padding:6px 10px;font-size:22px;letter-spacing:.1em;color:#fff;text-transform:uppercase;border-radius:0 4px 4px 0}
/* #9 Dot Compressed */
.edgt-logo-9{display:inline-flex;flex-direction:column;line-height:1}
.edgt-logo-9 .elg9-words{font-family:'Oswald','Arial Narrow',sans-serif;font-size:20px;font-weight:700;letter-spacing:.06em;color:#fff;text-transform:uppercase;display:flex;align-items:center;gap:5px}
.edgt-logo-9 .elg9-dot{color:var(--accent,#bada55);font-size:10px}
.edgt-logo-9 .elg9-guy{color:var(--accent,#bada55)}
.edgt-logo-9 .elg9-line{height:1.5px;width:70px;margin-top:4px;background:linear-gradient(90deg,var(--accent,#bada55) 0%,transparent 100%);border-radius:1px}
/* #10 Italic Slab */
.edgt-logo-10{display:inline-flex;align-items:stretch;gap:10px}
.edgt-logo-10 .elg10-bar{width:4px;background:var(--accent,#bada55);border-radius:2px;flex-shrink:0}
.edgt-logo-10 .elg10-text{line-height:1}
.edgt-logo-10 .elg10-main{display:block;font-size:26px;letter-spacing:.05em;text-transform:uppercase;font-style:italic;color:#fff}
.edgt-logo-10 .elg10-guy{color:var(--accent,#bada55)}
.edgt-logo-10 .elg10-sub{display:block;font-family:system-ui,sans-serif;font-size:8.5px;letter-spacing:.35em;color:rgba(255,255,255,.35);text-transform:uppercase;margin-top:3px}
/* ── End Logo Style Classes ──────────────────────────────────────────────── */

/* ── Chat Header Design Switcher v3.82 ────────────────────────────────────── */
/* Design 1 — Logo-10 Mirror */
.edgt-chd-1{display:inline-flex;align-items:stretch;gap:8px;line-height:1}.chd1-bar{width:3px;background:var(--accent,#bada55);border-radius:2px;align-self:stretch}.chd1-text{line-height:1}.chd1-main{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:21px;letter-spacing:.05em;text-transform:uppercase;font-style:italic;color:#fff}.chd1-a{color:var(--accent,#bada55)}.chd1-sub{display:block;font-family:system-ui,sans-serif;font-size:8px;letter-spacing:.35em;color:rgba(255,255,255,.35);text-transform:uppercase;margin-top:3px}
/* Design 2 — Two-line Italic */
.edgt-chd-2{line-height:1;display:block}.chd2-kicker{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:10px;letter-spacing:.45em;font-style:italic;color:rgba(255,255,255,.5);text-transform:uppercase}.chd2-main{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:21px;letter-spacing:.04em;font-style:italic;color:var(--accent,#bada55);text-transform:uppercase}
/* Design 5 — Split Pill */
.edgt-chd-5{display:inline-flex;align-items:stretch}.chd5-left{background:var(--accent,#bada55);color:#0c0c10;font-family:'Bebas Neue','Impact',sans-serif;font-size:19px;letter-spacing:.08em;font-style:italic;text-transform:uppercase;padding:4px 10px;border-radius:3px 0 0 3px}.chd5-right{background:rgba(255,255,255,.06);border:1.5px solid var(--accent,#bada55);border-left:none;color:#fff;font-family:'Bebas Neue','Impact',sans-serif;font-size:19px;letter-spacing:.08em;font-style:italic;text-transform:uppercase;padding:4px 10px;border-radius:0 3px 3px 0}
/* Design 6 — Inline + Underbar */
.edgt-chd-6{line-height:1;display:block}.chd6-row{display:flex;align-items:baseline;gap:8px}.chd6-edge{font-family:'Bebas Neue','Impact',sans-serif;font-size:20px;letter-spacing:.05em;font-style:italic;text-transform:uppercase;color:var(--accent,#bada55)}.chd6-comm{font-family:'Bebas Neue','Impact',sans-serif;font-size:20px;letter-spacing:.05em;font-style:italic;text-transform:uppercase;color:#fff}.chd6-bar{height:2px;width:44px;background:var(--accent,#bada55);border-radius:1px;margin-top:4px;display:block}
/* Design 8 — Reversed Hierarchy */
.edgt-chd-8{line-height:1;display:block}.chd8-kicker{display:block;font-family:system-ui,sans-serif;font-size:8px;letter-spacing:.42em;color:var(--accent,#bada55);text-transform:uppercase;margin-bottom:5px}.chd8-main{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:21px;letter-spacing:.03em;font-style:italic;text-transform:uppercase;color:#fff}
/* Design 9 — Bar + Two-tone */
.edgt-chd-9{display:inline-flex;align-items:stretch;gap:8px}.chd9-bar{width:3px;background:var(--accent,#bada55);border-radius:2px;align-self:stretch}.chd9-text{line-height:1}.chd9-kicker{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:10px;letter-spacing:.35em;font-style:italic;color:rgba(255,255,255,.4);text-transform:uppercase;margin-bottom:3px}.chd9-main{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:21px;letter-spacing:.04em;font-style:italic;color:#fff;text-transform:uppercase}.chd9-a{color:var(--accent,#bada55)}
/* Design 10 — Bar + Full Italic */
.edgt-chd-10{display:inline-flex;align-items:stretch;gap:8px}.chd10-bar{width:3px;background:var(--accent,#bada55);border-radius:2px;align-self:stretch}.chd10-text{line-height:.95}.chd10-edge{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:22px;letter-spacing:.05em;font-style:italic;color:var(--accent,#bada55);text-transform:uppercase}.chd10-comm{display:block;font-family:'Bebas Neue','Impact',sans-serif;font-size:22px;letter-spacing:.05em;font-style:italic;color:#fff;text-transform:uppercase}.chd10-sub{display:block;font-family:system-ui,sans-serif;font-size:8px;letter-spacing:.35em;color:rgba(255,255,255,.35);text-transform:uppercase;margin-top:3px}
/* ── End Chat Header Design Switcher ─────────────────────────────────────── */

/* v3.83 — remove dark thumbnail overlay layers on video/category cards */
.video-thumb-overlay,
.video-card:hover .video-thumb-overlay,
.cat-thumb-overlay,
.cat-card:hover .cat-thumb-overlay{
  background: transparent !important;
}

/* v3.85 — Make video thumbnails feel closer to PPV/product thumbnail height
   Only changes the video thumbnail box height. Keeps title placement and hover behavior unchanged. */
.video-thumb{aspect-ratio:16/10;}
@media (max-width:768px){.video-thumb{aspect-ratio:16/10;}}


/* v3.86 — Card title shadow control
   Default is transparent/off, controlled from Theme Settings → Typography. */
.video-title{ color:var(--card-title-color,#fff)!important; opacity:var(--card-title-opacity,1)!important; text-shadow: var(--card-title-shadow, none) !important; }
.video-keyword{ text-shadow: var(--card-keyword-shadow, none) !important; }

/* v3.104 — Mobile model profile layout fix
   Stack the model image and profile information vertically on phones so the
   biography uses the full available width instead of remaining squeezed into
   the desktop right-hand column. Desktop/tablet layout remains unchanged. */
@media (max-width: 768px) {
  .model-profile {
    width: 100%;
    padding: 28px 0 48px;
    overflow-x: hidden;
  }

  .model-profile-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    margin-bottom: 36px;
    padding-bottom: 32px;
  }

  .model-profile-photo {
    flex: none;
    width: 100%;
    max-width: 520px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
  }

  .model-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .model-profile-info {
    flex: none;
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .model-profile-name {
    max-width: 100%;
    margin-bottom: 14px;
    font-size: clamp(30px, 9vw, 40px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .model-stats {
    width: 100%;
    margin-bottom: 18px;
  }

  .model-bio {
    width: 100%;
    max-width: none;
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.75;
    overflow-wrap: anywhere;
  }

  .model-socials {
    width: 100%;
  }
}

