/*
Theme Name: Creator Mode
Theme URI: https://www.creator-mode.com
Author: Creator Mode
Author URI: https://www.creator-mode.com
Description: Dark, editorial theme for the Creator Mode beginner-creator brand. Bold two-line hero typography over a host photo, minimal corner nav, basic-pages-only structure (About, Contact, Shop, Terms, Privacy, Search).
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: creator-mode
*/

:root{
  --void-black:#0A0A0A;
  --deep-purple:#6B21A8;
  --electric-purple:#A855F7;
  --voltage-lime:#C4FF00;
  --ghost-white:#F0E8FF;
  --display:'Archivo Black', sans-serif;
  --body:'Inter', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--void-black); color:var(--ghost-white); font-family:var(--body); -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
:focus-visible{outline:2px solid var(--voltage-lime); outline-offset:3px;}
img{max-width:100%; display:block;}
ul{list-style:none;}

/* ---------- NAV (solid by default; overridden to float on the front page) ---------- */
.site-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:26px clamp(24px,5vw,64px);
  border-bottom:1px solid rgba(240,232,255,0.08);
  position:relative; z-index:10;
}
.front-page .site-nav{
  position:absolute; top:0; left:0; right:0;
  border-bottom:none; background:transparent;
  padding:32px clamp(24px,5vw,64px);
}
.nav-logo{font-family:var(--display); font-size:0.95rem; letter-spacing:0.02em;}
.nav-logo span{color:var(--voltage-lime);}
.nav-links{display:flex; align-items:center; gap:32px;}
.nav-links a{font-size:0.85rem; font-weight:500; color:rgba(240,232,255,0.8); transition:color 0.2s ease;}
.nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--ghost-white);}
.nav-right{display:flex; align-items:center; gap:24px;}
.nav-search{font-size:0.85rem; color:rgba(240,232,255,0.85);}
.nav-search:hover{color:var(--ghost-white);}
.nav-cta{
  display:inline-block; padding:9px 18px; border-radius:8px;
  background:var(--voltage-lime); color:var(--void-black);
  font-size:0.78rem; font-weight:700; transition:opacity 0.2s ease;
}
.nav-cta:hover{opacity:0.85;}
@media (max-width:820px){ .nav-links{display:none;} }

/* ---------- HERO (front page only) ---------- */
.hero{position:relative; min-height:100vh; overflow:hidden; display:flex; align-items:flex-end;}
.hero-glow{
  position:absolute; inset:0;
  background:
    radial-gradient(60% 70% at 82% 40%, rgba(168,85,247,0.55), transparent 70%),
    radial-gradient(45% 55% at 95% 25%, rgba(107,33,168,0.65), transparent 70%);
  animation:pulse 8s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce){ .hero-glow{animation:none;} }
@keyframes pulse{ 0%,100%{opacity:1;} 50%{opacity:0.85;} }
.hero-photo{
  position:absolute; z-index:1;
  bottom:0; right:clamp(16px,3vw,64px);
  height:96%; width:auto; max-width:42vw;
  object-fit:contain;
  -webkit-mask-image:linear-gradient(to top, black 68%, transparent 100%);
  mask-image:linear-gradient(to top, black 68%, transparent 100%);
  filter:drop-shadow(0 0 70px rgba(168,85,247,0.4));
}
@media (max-width:820px){
  .hero-photo{position:relative; z-index:1; height:auto; width:62%; max-width:300px; margin:0 auto; right:auto; display:block; -webkit-mask-image:none; mask-image:none;}
}
.hero-content{
  position:relative; z-index:2; width:100%;
  padding:0 clamp(24px,5vw,64px) 72px;
  display:grid; grid-template-columns:1fr; gap:28px;
}
.eyebrow{font-size:0.8rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--voltage-lime);}
.headline{font-family:var(--display); text-transform:uppercase; line-height:0.94; letter-spacing:-0.01em;}
.headline .line-1{display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; font-size:clamp(2.6rem,6.2vw,5.2rem);}
.headline .line-1 em{font-family:var(--body); font-style:italic; font-weight:400; text-transform:lowercase; font-size:0.42em; color:rgba(240,232,255,0.75);}
.headline .line-2{font-size:clamp(3.2rem,9vw,8rem);}
.headline .line-2 .dot{color:var(--voltage-lime);}
.hero-lower{display:flex; flex-wrap:wrap; align-items:flex-end; gap:40px; max-width:1100px;}
.hero-attribution{font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:rgba(240,232,255,0.6); white-space:nowrap;}
.hero-copy{max-width:440px; font-size:0.98rem; line-height:1.55; color:rgba(240,232,255,0.78);}
.hero-ctas{display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
.corner-controls{position:absolute; right:clamp(24px,5vw,64px); bottom:32px; z-index:3; display:flex; align-items:center; gap:20px;}
.yt-link{display:flex; align-items:center; gap:8px; font-size:0.82rem; font-weight:600; color:rgba(240,232,255,0.75);}
.yt-link:hover{color:var(--ghost-white);}
.scroll-top{width:44px; height:44px; border-radius:50%; background:var(--ghost-white); color:var(--void-black); display:flex; align-items:center; justify-content:center; font-size:1.1rem; border:none; cursor:pointer;}
@media (max-width:820px){ .corner-controls{position:relative; right:auto; bottom:auto; margin-top:24px; justify-content:flex-start;} }

/* ---------- Buttons (shared) ---------- */
.btn-primary{
  padding:11px 22px; border-radius:8px; background:var(--voltage-lime); color:var(--void-black);
  font-weight:700; font-size:0.85rem; display:inline-block; border:none; cursor:pointer;
  font-family:var(--body); transition:opacity 0.2s ease;
}
.btn-primary:hover{opacity:0.85;}
.btn-secondary{font-weight:600; font-size:0.9rem; color:var(--ghost-white); border-bottom:1px solid rgba(240,232,255,0.4); padding-bottom:2px; display:inline-block;}

/* ---------- Interior page header ---------- */
.page-header{padding:clamp(48px,8vw,88px) clamp(24px,5vw,64px) clamp(32px,5vw,56px);}
.page-eyebrow{font-size:0.78rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--voltage-lime); margin-bottom:14px;}
.page-title{font-family:var(--display); text-transform:uppercase; font-size:clamp(2.2rem,5.5vw,3.8rem); line-height:1.02; letter-spacing:-0.01em; max-width:820px;}
.page-lede{margin-top:18px; max-width:560px; font-size:1rem; line-height:1.6; color:rgba(240,232,255,0.72);}
.wrap{max-width:1100px; margin:0 auto; padding:0 clamp(24px,5vw,64px);}

/* ---------- About ---------- */
.about-hero{display:flex; flex-wrap:wrap; gap:48px; align-items:center; padding:0 clamp(24px,5vw,64px) clamp(48px,7vw,80px);}
.about-photo{width:min(320px,40vw); border-radius:12px; overflow:hidden; background:radial-gradient(circle at 50% 30%, rgba(168,85,247,0.35), transparent 70%);}
.about-copy{max-width:560px; font-size:1rem; line-height:1.7; color:rgba(240,232,255,0.8);}
.about-copy p + p{margin-top:16px;}
.value-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:0 clamp(24px,5vw,64px) clamp(56px,8vw,88px);}
.value-card{border:1px solid rgba(240,232,255,0.1); border-radius:12px; padding:28px;}
.value-card h3{font-family:var(--display); font-size:1rem; text-transform:uppercase; margin-bottom:10px; letter-spacing:0.01em;}
.value-card p{font-size:0.92rem; line-height:1.55; color:rgba(240,232,255,0.7);}
@media (max-width:820px){ .value-grid{grid-template-columns:1fr;} }

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:56px; padding:0 clamp(24px,5vw,64px) clamp(56px,8vw,88px);}
.contact-form{display:flex; flex-direction:column; gap:16px; max-width:480px;}
.field label{display:block; font-size:0.8rem; font-weight:600; letter-spacing:0.02em; margin-bottom:6px; color:rgba(240,232,255,0.8);}
.field input, .field textarea{width:100%; padding:12px 14px; border-radius:8px; border:1px solid rgba(240,232,255,0.25); background:rgba(255,255,255,0.03); color:var(--ghost-white); font-family:var(--body); font-size:0.92rem;}
.field textarea{min-height:140px; resize:vertical;}
.field input:focus-visible, .field textarea:focus-visible{outline:2px solid var(--voltage-lime); outline-offset:2px;}
.contact-alt{border-left:1px solid rgba(240,232,255,0.1); padding-left:40px;}
.contact-alt h3{font-family:var(--display); font-size:0.95rem; text-transform:uppercase; margin-bottom:12px;}
.contact-alt a{display:block; font-size:0.95rem; margin-bottom:8px; color:rgba(240,232,255,0.8);}
.contact-alt a:hover{color:var(--ghost-white);}
@media (max-width:820px){ .contact-grid{grid-template-columns:1fr;} .contact-alt{border-left:none; padding-left:0; border-top:1px solid rgba(240,232,255,0.1); padding-top:28px;} }

/* ---------- Shop ---------- */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:0 clamp(24px,5vw,64px) clamp(56px,8vw,88px);}
.product-card{border:1px solid rgba(240,232,255,0.1); border-radius:12px; overflow:hidden; display:flex; flex-direction:column;}
.product-thumb{height:150px; background:radial-gradient(circle at 30% 30%, rgba(168,85,247,0.5), rgba(107,33,168,0.4) 60%, transparent 100%); background-size:cover; background-position:center;}
.product-body{padding:20px; display:flex; flex-direction:column; gap:8px; flex:1;}
.product-body h3{font-family:var(--display); font-size:0.95rem; text-transform:uppercase;}
.product-body p{font-size:0.88rem; line-height:1.5; color:rgba(240,232,255,0.68); flex:1;}
.product-price{font-weight:700; color:var(--voltage-lime); font-size:0.95rem;}
.shop-empty{padding:0 clamp(24px,5vw,64px) clamp(56px,8vw,88px); color:rgba(240,232,255,0.65); font-size:0.95rem; line-height:1.6;}
.shop-empty a{text-decoration:underline;}
@media (max-width:820px){ .product-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .product-grid{grid-template-columns:1fr;} }

/* ---------- Legal (Terms / Privacy) ---------- */
.legal-body{max-width:720px; padding:0 clamp(24px,5vw,64px) clamp(56px,8vw,88px); font-size:0.95rem; line-height:1.7; color:rgba(240,232,255,0.75);}
.legal-body h2{font-family:var(--display); font-size:1rem; text-transform:uppercase; color:var(--ghost-white); margin:32px 0 10px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{margin-bottom:12px;}
.legal-notice{display:inline-block; margin-top:24px; padding:10px 16px; border:1px dashed rgba(240,232,255,0.3); border-radius:8px; font-size:0.8rem; color:rgba(240,232,255,0.55);}

/* ---------- Search ---------- */
.search-hero{padding:0 clamp(24px,5vw,64px) clamp(32px,5vw,48px);}
.search-box{display:flex; gap:12px; max-width:640px; margin-top:8px;}
.search-box input{flex:1; padding:14px 18px; border-radius:8px; border:1px solid rgba(240,232,255,0.25); background:rgba(255,255,255,0.03); color:var(--ghost-white); font-family:var(--body); font-size:0.95rem;}
.search-box input:focus-visible{outline:2px solid var(--voltage-lime); outline-offset:2px;}
.results{padding:0 clamp(24px,5vw,64px) clamp(56px,8vw,88px); display:flex; flex-direction:column; gap:4px; max-width:760px;}
.result-card{padding:18px 0; border-bottom:1px solid rgba(240,232,255,0.08);}
.result-tag{font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--voltage-lime);}
.result-card h3{font-family:var(--display); font-size:1.1rem; text-transform:uppercase; margin:6px 0 6px;}
.result-card p{font-size:0.9rem; color:rgba(240,232,255,0.68); line-height:1.5;}

/* ---------- Newsletter + Footer ---------- */
.newsletter{background:var(--deep-purple); padding:clamp(56px,8vw,96px) clamp(24px,5vw,64px);}
.newsletter-inner{max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:32px;}
.newsletter-headline{font-family:var(--display); text-transform:uppercase; font-size:clamp(1.6rem,3.4vw,2.6rem); line-height:1.08; letter-spacing:-0.01em; max-width:520px;}
.newsletter-form{display:flex; gap:12px; flex-wrap:wrap;}
.newsletter-input{padding:12px 18px; border-radius:8px; border:1px solid rgba(240,232,255,0.3); background:rgba(10,10,10,0.25); color:var(--ghost-white); font-family:var(--body); font-size:0.9rem; min-width:240px;}
.newsletter-input::placeholder{color:rgba(240,232,255,0.55);}
.newsletter-input:focus-visible{outline:2px solid var(--voltage-lime); outline-offset:2px;}
.site-footer{background:var(--void-black); padding:clamp(40px,6vw,56px) clamp(24px,5vw,64px) 32px;}
.footer-top{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding-bottom:28px; border-bottom:1px solid rgba(240,232,255,0.08);}
.footer-logo{font-family:var(--display); font-size:1.2rem; letter-spacing:0.02em;}
.footer-logo span{color:var(--voltage-lime);}
.footer-nav{display:flex; flex-wrap:wrap; gap:28px;}
.footer-nav a{font-size:0.85rem; font-weight:500; color:rgba(240,232,255,0.75); transition:color 0.2s ease;}
.footer-nav a:hover{color:var(--ghost-white);}
.footer-yt{display:flex; align-items:center; gap:8px; font-size:0.82rem; font-weight:600; color:rgba(240,232,255,0.75);}
.footer-yt:hover{color:var(--ghost-white);}
.footer-copy{font-size:0.78rem; color:rgba(240,232,255,0.4); padding-top:20px;}
@media (max-width:640px){ .footer-top{flex-direction:column; align-items:flex-start;} }

/* ---------- 404 / index fallback ---------- */
.simple-list article{margin-bottom:32px;}
.simple-list h2{font-family:var(--display); font-size:1.1rem; text-transform:uppercase; margin-bottom:8px;}
