/*
Theme Name: NOT BROCCOLI
Theme URI: https://notbroccoli.com
Author: NOT BROCCOLI
Description: A bold one-page parody T-shirt brand landing page for people who would rather wear broccoli than eat it.
Version: 2.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: not-broccoli
*/

:root{--ink:var(--nb-dark,#070907);--paper:#f4efe3;--acid:var(--nb-accent,#b8f000);--orange:var(--nb-orange,#ff6b00);--yellow:#ffc400;--muted:#b8b8af;--card:#121612;--line:rgba(255,255,255,.12);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:9999;background:#fff;color:#000;padding:12px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:linear-gradient(to bottom,rgba(0,0,0,.86),rgba(0,0,0,0));padding:18px 0}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:1000;letter-spacing:-1px}.brand img{width:48px;height:48px;border-radius:12px;object-fit:cover;border:2px solid var(--orange)}.brand span{font-size:1.22rem}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{text-decoration:none;font-weight:800;font-size:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:2px solid #fff;border-radius:999px;text-decoration:none;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(184,240,0,.2)}.button-primary{background:var(--acid);color:#080b05;border-color:var(--acid)}.button-secondary{background:transparent}.button-orange{background:var(--orange);border-color:var(--orange);color:#fff}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 70% 45%,rgba(255,107,0,.28),transparent 34%),linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.78) 48%,rgba(0,0,0,.25) 100%),url('assets/images/icon.jpg') center right/auto 100% no-repeat;padding:130px 0 70px}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--ink))}.hero-content{position:relative;z-index:2;max-width:760px;margin-right:auto}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--acid);font-weight:1000;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem}.eyebrow:before{content:"";width:34px;height:4px;background:var(--acid)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(4rem,10vw,9rem);line-height:.78;letter-spacing:-.075em;margin:22px 0 30px;text-transform:uppercase;font-weight:1000}.hero h1 span{display:block;color:var(--acid);text-shadow:0 8px 0 #315000}.hero-copy{font-size:clamp(1.1rem,2vw,1.45rem);max-width:650px;color:#eee}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.micro{font-size:.82rem;color:#aaa;margin-top:18px}
.marquee{overflow:hidden;background:var(--acid);color:#091000;border-block:4px solid #000;transform:rotate(-1deg);position:relative;z-index:4}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite;padding:15px 0;font-weight:1000;text-transform:uppercase;font-size:1.05rem;letter-spacing:.04em}.marquee span{padding:0 22px}.marquee b{color:#e44b00}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:105px 0}.section-title{font-size:clamp(2.7rem,6vw,5.8rem);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin-bottom:22px}.section-title em{color:var(--acid);font-style:normal}.section-lead{font-size:1.2rem;color:var(--muted);max-width:700px;margin-bottom:48px}.manifesto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.manifesto-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:34px;position:relative;overflow:hidden}.manifesto-card.big{min-height:480px;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.9)),url('assets/images/ad-fire.png') center/cover}.manifesto-card.big .card-copy{position:absolute;left:34px;right:34px;bottom:30px}.manifesto-card h3{font-size:2rem;line-height:1}.manifesto-card p{color:#d1d1c8}.quote{font-size:clamp(2rem,4vw,4rem);line-height:1;font-weight:1000;text-transform:uppercase;color:var(--paper)}
.shop{background:var(--paper);color:#080808;clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);padding-block:150px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:#fff;border:4px solid #000;border-radius:22px;overflow:hidden;box-shadow:10px 10px 0 #000;transition:.2s}.product-card:hover{transform:translate(-3px,-3px);box-shadow:14px 14px 0 #000}.product-art{aspect-ratio:4/4.7;display:grid;place-items:center;padding:34px;text-align:center;background:radial-gradient(circle,#d4ff4f,#8bc500)}.product-card:nth-child(2) .product-art{background:radial-gradient(circle,#ffb65d,#ff5d00)}.product-card:nth-child(3) .product-art{background:radial-gradient(circle,#e8e8e8,#9b9b9b)}.shirt{width:85%;filter:drop-shadow(0 18px 10px rgba(0,0,0,.24))}.shirt-shape{clip-path:polygon(25% 7%,38% 0,45% 9%,55% 9%,62% 0,75% 7%,100% 23%,84% 43%,74% 36%,74% 100%,26% 100%,26% 36%,16% 43%,0 23%);height:290px;background:#101510;display:grid;place-items:center;color:#fff;padding:70px 35px 30px;font-weight:1000;font-size:2.1rem;line-height:.86;text-transform:uppercase}.product-info{padding:24px}.product-info h3{font-size:1.45rem;margin-bottom:8px}.price{font-weight:1000;font-size:1.2rem}.tag{display:inline-block;background:#000;color:#fff;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;margin-bottom:13px}
.gallery-grid{columns:3 280px;column-gap:16px}.gallery-grid img{width:100%;border-radius:18px;margin:0 0 16px;break-inside:avoid;border:1px solid var(--line)}
.signup{background:radial-gradient(circle at center,rgba(184,240,0,.14),transparent 55%)}.signup-box{border:3px solid var(--acid);border-radius:30px;padding:clamp(28px,6vw,70px);text-align:center;background:#0c100b;box-shadow:0 0 80px rgba(184,240,0,.09)}.signup-form{display:flex;gap:10px;max-width:700px;margin:30px auto 0}.signup-form input[type=email]{flex:1;min-height:56px;border-radius:999px;border:2px solid #fff;background:#fff;padding:0 22px;font-size:1rem}.hp{position:absolute;left:-9999px}.notice{max-width:700px;margin:22px auto 0;padding:13px;border-radius:12px;background:#1b2b13;color:#d9ffbe}.notice.error{background:#351313;color:#ffd1d1}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:1000;font-size:1.15rem}.faq details p{color:var(--muted);padding-top:14px}
.site-footer{padding:60px 0 35px;border-top:1px solid var(--line)}.footer-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.footer-brand{font-size:clamp(2.5rem,7vw,7rem);font-weight:1000;letter-spacing:-.07em;line-height:.8}.footer-brand span{color:var(--acid)}.legal{font-size:.78rem;color:#888;max-width:500px;text-align:right}
@media(max-width:900px){.nav-links a:not(.button){display:none}.hero{background:linear-gradient(0deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.42) 64%,rgba(0,0,0,.15)),url('assets/images/icon.jpg') center top/100% auto no-repeat;padding-top:55vh;min-height:auto}.hero h1{font-size:clamp(3.7rem,18vw,7rem)}.manifesto-grid,.faq{grid-template-columns:1fr}.products{grid-template-columns:1fr}.product-card{max-width:540px;margin:auto}.shop{clip-path:polygon(0 1%,100% 0,100% 99%,0 100%);padding-block:110px}.footer-grid{display:block}.legal{text-align:left;margin-top:28px}.signup-form{flex-direction:column}.signup-form .button{width:100%}}
@media(max-width:520px){.wrap{width:min(100% - 26px,var(--max))}.brand span{font-size:1rem}.brand img{width:42px;height:42px}.nav .button{padding:0 15px;min-height:44px;font-size:.78rem}.section{padding:78px 0}.hero{padding-bottom:55px}.manifesto-card{padding:24px}.manifesto-card.big .card-copy{left:24px;right:24px}.gallery-grid{columns:2 150px}}


/* Ad-click welcome popup */
body.nb-popup-open{overflow:hidden}
.nb-popup[hidden]{display:none}
.nb-popup{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.nb-popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.nb-popup-card{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100svh - 40px);overflow:auto;background:radial-gradient(circle at 80% 10%,rgba(255,107,0,.24),transparent 32%),#0d110c;border:3px solid var(--acid);border-radius:28px;padding:clamp(28px,5vw,56px);box-shadow:0 0 0 8px rgba(0,0,0,.65),0 30px 100px rgba(0,0,0,.8),0 0 70px rgba(184,240,0,.16);text-align:center;animation:nbPopupIn .42s cubic-bezier(.2,.8,.2,1)}
.nb-popup-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.09);border-radius:20px;pointer-events:none}
.nb-popup-close{position:absolute;top:14px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#000;font-size:2rem;line-height:1;cursor:pointer;font-weight:900;z-index:2}
.nb-popup-flame{font-size:3.2rem;filter:drop-shadow(0 7px 12px rgba(255,90,0,.5));margin-bottom:8px}
.nb-popup-card .eyebrow{justify-content:center}
.nb-popup-card h2{font-size:clamp(2.35rem,7vw,4.8rem);line-height:.88;letter-spacing:-.055em;margin:22px auto;text-transform:uppercase;max-width:580px}
.nb-popup-card p{color:#e4e4dc;font-size:clamp(1rem,2.2vw,1.22rem);max-width:570px;margin:0 auto 24px}
.nb-promo-code{background:var(--paper);color:#080808;border:3px solid #000;border-radius:16px;padding:17px 20px;margin:0 auto 22px;max-width:560px;font-size:clamp(1rem,2.4vw,1.3rem);font-weight:900;text-transform:uppercase;box-shadow:7px 7px 0 var(--orange)}
.nb-promo-code strong:first-child{display:inline-block;background:#000;color:var(--acid);padding:2px 8px;border-radius:5px;letter-spacing:.08em}
.nb-popup-cta{width:100%;max-width:560px;min-height:60px;font-size:1rem}
.nb-popup-skip{display:block;margin:18px auto 0;border:0;background:none;color:#8f948c;text-decoration:underline;cursor:pointer;font:inherit;font-size:.8rem}
@keyframes nbPopupIn{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}
@media(max-width:520px){.nb-popup{padding:12px}.nb-popup-card{max-height:calc(100svh - 24px);padding:34px 18px 26px;border-radius:22px}.nb-popup-close{top:10px;right:10px;width:38px;height:38px}.nb-popup-flame{font-size:2.6rem}.nb-popup-card h2{margin:16px auto}.nb-promo-code{box-shadow:5px 5px 0 var(--orange)}}
@media(prefers-reduced-motion:reduce){.nb-popup-card{animation:none}}


/* Conversion-focused campaign additions */
.nav-shop-cta{background:var(--acid)!important;color:#080b05!important;border-color:var(--acid)!important;white-space:nowrap;box-shadow:0 0 24px rgba(184,240,0,.22)}
.nb-hater-ticker{position:fixed;z-index:95;top:88px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 30px));padding:10px 18px;border:2px solid var(--acid);border-radius:999px;background:rgba(5,7,5,.92);box-shadow:0 10px 35px rgba(0,0,0,.45);text-align:center;font-size:.78rem;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px)}
.nb-hater-ticker span,.nb-hater-ticker strong{color:var(--acid)}
.nb-floating-discount{position:fixed;right:22px;top:43%;z-index:90;width:112px;height:112px;display:grid;place-content:center;text-align:center;text-decoration:none;border-radius:50%;background:var(--acid);color:#070907;border:4px solid #000;box-shadow:7px 7px 0 var(--orange),0 20px 45px rgba(0,0,0,.4);transform:rotate(8deg);transition:.2s}
.nb-floating-discount:hover{transform:rotate(0) scale(1.06)}
.nb-floating-discount span{font-size:2.2rem;font-weight:1000;line-height:.8}.nb-floating-discount small{font-size:1rem;font-weight:1000}.nb-floating-discount b{font-size:.72rem;margin-top:4px;background:#000;color:#fff;padding:2px 6px;border-radius:4px}
.nb-mobile-shop{display:none;position:fixed;z-index:110;left:12px;right:12px;bottom:12px;min-height:54px;align-items:center;justify-content:center;border-radius:999px;background:var(--acid);color:#070907;text-decoration:none;font-weight:1000;text-transform:uppercase;border:3px solid #000;box-shadow:0 12px 35px rgba(0,0,0,.55)}
.nb-exit-popup[hidden]{display:none}.nb-exit-popup{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.nb-exit-card{max-width:620px}.nb-exit-card p strong{color:var(--acid);letter-spacing:.08em}
@media(max-width:900px){.nb-hater-ticker{top:78px}.nb-floating-discount{width:88px;height:88px;right:12px;top:auto;bottom:82px}.nb-floating-discount span{font-size:1.7rem}.nb-floating-discount small{font-size:.8rem}.nb-mobile-shop{display:flex}.site-footer{padding-bottom:100px}}
@media(max-width:520px){.nb-hater-ticker{font-size:.68rem;top:68px;padding:8px 12px}.nav-shop-cta{font-size:.7rem!important;padding:0 12px!important}.brand span{display:none}.nb-floating-discount{width:78px;height:78px}.nb-floating-discount b{font-size:.58rem}}

/* v2.1 — comprehensive phone layout corrections */
@media (max-width: 767px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  body { padding-bottom:76px; }
  .wrap { width:calc(100% - 28px); max-width:100%; }

  .site-header {
    padding:10px 0;
    background:rgba(5,7,5,.96);
    border-bottom:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(10px);
  }
  .nav { gap:8px; min-width:0; }
  .brand { flex:0 0 auto; gap:8px; min-width:0; }
  .brand img { width:40px; height:40px; border-radius:10px; }
  .brand span { display:none; }
  .nav-links { margin-left:auto; gap:0; min-width:0; }
  .nav-links a:not(.nav-shop-cta) { display:none; }
  .nav-shop-cta {
    min-height:40px!important;
    max-width:215px;
    padding:7px 12px!important;
    white-space:normal;
    text-align:center;
    font-size:clamp(.58rem,2.8vw,.72rem)!important;
    line-height:1.08;
    letter-spacing:.02em;
  }

  .nb-hater-ticker {
    top:66px;
    width:calc(100% - 20px);
    min-height:34px;
    padding:7px 10px;
    border-radius:14px;
    font-size:clamp(.61rem,2.6vw,.72rem);
    line-height:1.2;
  }

  .hero {
    min-height:auto;
    padding:calc(52vw + 130px) 0 58px;
    background:
      linear-gradient(0deg,#070907 0%,rgba(7,9,7,.96) 28%,rgba(0,0,0,.45) 66%,rgba(0,0,0,.08) 100%),
      url('assets/images/icon.jpg') center 96px/100% auto no-repeat;
  }
  .hero:after { height:80px; }
  .hero-content { width:100%; max-width:100%; }
  .eyebrow { font-size:.68rem; letter-spacing:.1em; }
  .eyebrow:before { width:22px; height:3px; }
  .hero h1 {
    font-size:clamp(3rem,17vw,5.4rem);
    line-height:.82;
    letter-spacing:-.065em;
    margin:16px 0 22px;
    overflow-wrap:anywhere;
  }
  .hero-copy { font-size:1rem; line-height:1.48; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:25px; }
  .hero-actions .button { width:100%; min-height:52px; padding:10px 14px; line-height:1.15; text-align:center; }
  .micro { font-size:.74rem; }

  .marquee-track { font-size:.82rem; padding:11px 0; }
  .marquee span { padding:0 14px; }
  .section { padding:72px 0; }
  .section-title { font-size:clamp(2.35rem,13vw,4rem); overflow-wrap:anywhere; }
  .section-lead { font-size:1rem; margin-bottom:30px; }
  .manifesto-grid, .faq { display:block; }
  .manifesto-card { border-radius:20px; padding:22px; margin-bottom:18px; }
  .manifesto-card.big { min-height:390px; }
  .manifesto-card.big .card-copy { left:22px; right:22px; bottom:20px; }
  .manifesto-card h3 { font-size:1.55rem; }
  .quote { font-size:clamp(1.8rem,10vw,3rem); }

  .shop { clip-path:none; padding:78px 0; }
  .products { display:block; }
  .product-card { width:100%; max-width:none; margin:0 0 26px; border-width:3px; box-shadow:7px 7px 0 #000; }
  .product-art { padding:20px; }
  .shirt { width:78%; max-width:310px; }
  .shirt-shape { height:250px; padding:60px 28px 25px; font-size:1.75rem; }
  .product-info { padding:20px; }
  .product-info .button { width:100%; text-align:center; }

  .gallery-grid { columns:1; column-gap:0; }
  .gallery-grid img { margin-bottom:14px; border-radius:14px; }
  .signup-box { padding:28px 18px; border-radius:22px; }
  .signup-form { display:grid; grid-template-columns:1fr; }
  .signup-form input[type=email] { width:100%; min-width:0; }
  .faq details { padding:18px 0; }
  .faq summary { font-size:1rem; }
  .footer-brand { font-size:clamp(2.6rem,17vw,4.8rem); overflow-wrap:anywhere; }
  .legal { max-width:100%; }

  .nb-popup, .nb-exit-popup { padding:8px; align-items:center; }
  .nb-popup-card {
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 16px);
    padding:50px 16px 22px;
    border-width:2px;
    border-radius:18px;
  }
  .nb-popup-card:before { inset:7px; border-radius:13px; }
  .nb-popup-close { top:8px; right:8px; width:36px; height:36px; font-size:1.6rem; }
  .nb-popup-flame { font-size:2.2rem; margin-bottom:3px; }
  .nb-popup-card h2 { font-size:clamp(2rem,12vw,3.2rem); margin:12px auto 16px; line-height:.9; overflow-wrap:anywhere; }
  .nb-popup-card p { font-size:.93rem; line-height:1.42; margin-bottom:16px; }
  .nb-promo-code { padding:13px 10px; margin-bottom:16px; font-size:.92rem; box-shadow:4px 4px 0 var(--orange); }
  .nb-popup-cta { min-height:52px; padding:9px 12px; font-size:.82rem; line-height:1.15; white-space:normal; }
  .nb-popup-skip { margin-top:13px; }

  .nb-floating-discount {
    width:68px;
    height:68px;
    right:8px;
    bottom:78px;
    border-width:3px;
    box-shadow:4px 4px 0 var(--orange),0 10px 24px rgba(0,0,0,.4);
  }
  .nb-floating-discount span { font-size:1.35rem; }
  .nb-floating-discount small { font-size:.68rem; }
  .nb-floating-discount b { font-size:.5rem; padding:1px 4px; }
  .nb-mobile-shop { left:8px; right:8px; bottom:8px; min-height:52px; padding:8px 12px; font-size:.8rem; line-height:1.1; text-align:center; }
}

@media (max-width: 360px) {
  .wrap { width:calc(100% - 20px); }
  .nav-shop-cta { max-width:190px; padding-inline:9px!important; }
  .hero { padding-top:calc(58vw + 125px); }
  .hero h1 { font-size:2.85rem; }
  .nb-hater-ticker { width:calc(100% - 12px); }
}

/* v3 marketing engine */
.nb-countdown{position:sticky;top:0;z-index:1001;display:flex;justify-content:center;align-items:center;gap:14px;padding:10px 18px;background:var(--nb-accent);color:#050705;font-weight:900;letter-spacing:.04em;text-align:center}.nb-countdown span{font-variant-numeric:tabular-nums;background:#050705;color:#fff;padding:5px 10px;border-radius:999px}.nb-countdown.ended{opacity:.75}@media(max-width:520px){.nb-countdown{font-size:12px;gap:8px;flex-wrap:wrap}.nb-countdown span{font-size:12px}}
