/*
Theme Name: Pull Up Banner King
Theme URI: https://pullupbannerking.com.au
Description: Standalone WooCommerce theme for Pull Up Banner King. No parent theme required.
Author: Pull Up Banner King
Version: 1.0.0
Requires PHP: 8.0
Text Domain: pubk
*/

/* ============================================================ tokens */
:root{
  --ink:#111111;
  --ink-2:#232323;
  --ink-3:#2a2a2a;
  --yellow:#FFD21F;
  --yellow-2:#FFC81A;
  --cream:#f0eee6;
  --fill:#f6f5f1;
  --white:#fff;
  --muted:#444;
  --muted-2:#666;
  --muted-3:#888;
  --line:#e6e3da;
  --ok:#16a34a;
  --bad:#dc2626;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-xl:18px;
  --shadow:0 6px 0 var(--ink);
  --shadow-sm:0 4px 0 var(--ink);
  --display:'Lilita One', system-ui, sans-serif;
  --body:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --wrap:1440px;
  --gutter:clamp(16px, 4vw, 56px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:inherit}
[hidden]{display:none!important}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;margin:0 0 .35em}
h1{font-size:clamp(34px,5.5vw,64px)}
h2{font-size:clamp(28px,4vw,46px)}
h3{font-size:clamp(20px,2.4vw,27px)}
p{margin:0 0 1em}

.shell{width:100%;max-width:var(--wrap);margin:0 auto;background:var(--white)}
.pad{padding:clamp(28px,5vw,64px) var(--gutter)}
.lede{font-size:clamp(16px,1.6vw,19px);color:var(--muted);max-width:62ch}

/* ============================================================ buttons */
.btn{
  display:inline-block;cursor:pointer;text-decoration:none;text-align:center;
  background:var(--yellow);color:var(--ink);
  border:3px solid var(--ink);border-radius:var(--r-lg);
  padding:14px 26px;font-weight:800;font-size:17px;font-family:var(--body);
  box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s;
}
.btn:hover{background:var(--yellow-2)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.btn--dark{background:var(--ink);color:var(--yellow)}
.btn--dark:hover{background:var(--ink-2)}
.btn--ghost{background:var(--white)}
.btn--sm{padding:9px 16px;font-size:15px;border-width:2px;border-radius:var(--r)}
.btn--wide{display:block;width:100%}
.btn:focus-visible,a:focus-visible,button:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--ink);outline-offset:2px
}

/* ============================================================ header */
.trustbar{
  background:var(--ink);color:var(--yellow);font-weight:800;font-size:13px;
  letter-spacing:.04em;display:flex;justify-content:center;flex-wrap:wrap;
  gap:clamp(14px,4vw,48px);padding:10px var(--gutter);text-align:center;
}
.masthead{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:8px var(--gutter);border-bottom:3px solid var(--ink);background:var(--white);
  position:sticky;top:0;z-index:50;
}
.masthead__logo img{height:clamp(56px,7vw,96px);width:auto;display:block}
.nav{display:flex;gap:clamp(14px,2.4vw,36px);font-weight:800;font-size:17px;align-items:center}
.nav a{text-decoration:none}
.nav a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
.masthead__actions{display:flex;align-items:center;gap:14px;font-weight:700;font-size:15px}
.cartlink{position:relative;text-decoration:none;font-weight:800}
.cartlink__count{
  display:inline-block;min-width:22px;padding:0 6px;margin-left:6px;
  background:var(--ink);color:var(--yellow);border-radius:999px;
  font-size:12px;line-height:22px;text-align:center;font-weight:800;
}
.navtoggle{display:none;background:none;border:3px solid var(--ink);border-radius:var(--r);
  padding:7px 12px;font-weight:800;font-size:15px;cursor:pointer;font-family:var(--body)}

@media(max-width:900px){
  .navtoggle{display:block}
  .nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--white);border-bottom:3px solid var(--ink);
  }
  .nav.is-open{display:flex}
  .nav a{padding:14px var(--gutter);border-top:1px solid var(--line)}
  .trustbar span:nth-child(n+3){display:none}
}

/* ============================================================ footer */
.sitefoot{background:var(--ink);color:#fff;padding:clamp(32px,5vw,56px) var(--gutter) 28px}
.sitefoot a{color:#fff;text-decoration:none}
.sitefoot a:hover{text-decoration:underline}
.sitefoot__grid{
  max-width:var(--wrap);margin:0 auto;display:grid;gap:30px;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
.sitefoot h4{font-family:var(--display);font-size:20px;margin:0 0 12px;color:var(--yellow)}
.sitefoot ul{list-style:none;margin:0;padding:0}
.sitefoot li{margin:0 0 9px;font-size:15px}
.sitefoot__legal{
  max-width:var(--wrap);margin:30px auto 0;padding-top:20px;
  border-top:1px solid #333;font-size:13px;color:#aaa;
  display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;
}

/* ============================================================ forms */
.field{display:block;margin:0 0 16px}
.field > span{display:block;font-weight:800;font-size:14px;margin:0 0 6px}
input[type=text],input[type=email],input[type=tel],input[type=password],
input[type=number],input[type=search],textarea,select{
  width:100%;font:inherit;font-size:16px;padding:12px 14px;color:var(--ink);
  background:var(--white);border:3px solid var(--ink);border-radius:var(--r);
}
textarea{min-height:150px;resize:vertical}
.notice-ok{background:#DCFCE7;border:3px solid var(--ok);border-radius:var(--r-lg);padding:14px 16px;font-weight:700;margin:0 0 18px}
.notice-bad{background:#FEE2E2;border:3px solid var(--bad);border-radius:var(--r-lg);padding:14px 16px;font-weight:700;margin:0 0 18px}

/* ============================================================ prose */
.prose{max-width:74ch}
.prose h2{margin-top:1.3em}
.prose h3{margin-top:1.2em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.1em}
.prose li{margin:0 0 .45em}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.3em}
.prose th,.prose td{border:2px solid var(--ink);padding:9px 12px;text-align:left;font-size:15px}
.prose th{background:var(--yellow);font-weight:800}
.prose a{font-weight:700}

.card{background:var(--white);border:3px solid var(--ink);border-radius:var(--r-xl);padding:clamp(18px,3vw,28px)}
.muted{color:var(--muted-2);font-size:14px}

/* ============================================================ landing pages */
.lp-hero{
  background:repeating-conic-gradient(from 0deg at 50% 100%,
    var(--yellow) 0deg, var(--yellow) 6deg, var(--yellow-2) 6deg, var(--yellow-2) 12deg);
  border-bottom:3px solid var(--ink);padding:clamp(34px,6vw,70px) var(--gutter);
}
.lp-hero__in{max-width:860px}
.lp-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;margin:0 0 10px}
.lp-hero h1{font-size:clamp(32px,5.4vw,58px);margin:0 0 .3em;text-shadow:3px 3px 0 #fff}
.lp-hero .lede{color:#1a1a1a;font-weight:600;max-width:60ch}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}

.lp-strip{
  display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  background:var(--ink);color:#fff;border-bottom:3px solid var(--ink);
}
.lp-strip div{padding:16px var(--gutter);border-right:1px solid #2e2e2e;display:flex;flex-direction:column;gap:2px}
.lp-strip div:last-child{border-right:0}
.lp-strip strong{font-family:var(--display);color:var(--yellow);font-size:19px}
.lp-strip span{font-size:12.5px;color:#bbb}

.lp-sizes{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.lp-size{
  display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;
  background:#fff;border:3px solid var(--ink);border-radius:var(--r-xl);padding:14px 10px;
  text-decoration:none;transition:background .12s,box-shadow .12s;
}
.lp-size:hover{background:#FFFBEA;box-shadow:var(--shadow-sm)}
.lp-size img{width:72px;height:112px;margin-bottom:6px}
.lp-size strong{font-family:var(--display);font-size:17px;font-weight:400}
.lp-size__d{font-size:12px;color:var(--muted-2);font-weight:700}
.lp-size__p{font-family:var(--display);font-size:19px}
.lp-size__w{font-size:12px;color:var(--muted-2);margin-top:4px;line-height:1.35}

.lp-faq details{
  border:3px solid var(--ink);border-radius:var(--r-lg);margin:0 0 10px;background:#fff;overflow:hidden;
}
.lp-faq summary{
  cursor:pointer;padding:14px 18px;font-weight:800;font-size:16px;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";font-family:var(--display);font-size:24px;line-height:1}
.lp-faq details[open] summary{background:var(--yellow);border-bottom:3px solid var(--ink)}
.lp-faq details[open] summary::after{content:"\2013"}
.lp-faq details > div{padding:14px 18px;font-size:15px;line-height:1.6;color:var(--muted)}
.lp-faq details > div p:last-child{margin-bottom:0}

.lp-links{display:flex;flex-wrap:wrap;gap:9px;margin:0}
.lp-links a{
  display:inline-block;padding:8px 14px;border:2px solid var(--ink);border-radius:999px;
  font-size:14px;font-weight:700;text-decoration:none;background:#fff;
}
.lp-links a:hover{background:var(--yellow)}

.lp-end{
  margin:40px 0 0;padding:clamp(24px,4vw,38px);background:var(--ink);color:#fff;
  border-radius:var(--r-xl);text-align:center;
}
.lp-end h2{color:var(--yellow);margin:0 0 .3em}
.lp-end p{color:#ccc;margin:0 0 20px}

.lp-footlinks{
  max-width:var(--wrap);margin:34px auto 0;padding-top:26px;border-top:1px solid #333;
  display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.lp-footlinks h4{font-family:var(--display);font-size:15px;color:var(--yellow);margin:0 0 10px}
.lp-footlinks a{
  display:inline-block;font-size:13px;color:#bbb;text-decoration:none;
  margin:0 12px 7px 0;border-bottom:1px solid transparent;
}
.lp-footlinks a:hover{color:#fff;border-bottom-color:var(--yellow)}
