/*
Theme Name: Need Flyers Bright Pro Max
Theme URI: https://www.needflyers.co.uk
Author: Need Flyers (generated)
Version: 4.2.1
Description: Bold energetic print shop theme with full service + location landing templates, built-in quote + file upload forms, and SEO schemas.
License: GPLv2 or later
Text Domain: needflyers-bright-pro-max
*/

:root{
  --nf-pink:#ff2d55;
  --nf-orange:#ff8a00;
  --nf-dark:#111;
  --nf-mist:#f3f6fb;
  --nf-ink:#1a1a1a;
  --nf-radius:18px;
}
*{box-sizing:border-box}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  margin:0;
  color:var(--nf-ink);
  line-height:1.6;
  background:#fff;
}
a{color:var(--nf-pink);text-decoration:none;font-weight:700}
a:hover{text-decoration:underline}
h1,h2,h3{font-weight:900;letter-spacing:-.02em;margin:0 0 14px;line-height:1.15}
h1{font-size:52px}
h2{font-size:36px}
h3{font-size:22px}
p{margin:0 0 14px}
small,.small{font-size:.95rem;color:#334155}
.container{max-width:1180px;margin:auto;padding:0 22px}
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(17,17,17,.92);backdrop-filter:saturate(180%) blur(10px);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:18px}
.logo{font-size:24px;font-weight:1000;color:#fff}
.nav a{color:#fff;font-weight:800;margin:0 10px;opacity:.92}
.nav a:hover{opacity:1;text-decoration:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--nf-pink);color:#fff !important;
  padding:14px 22px;border-radius:12px;font-weight:900;text-decoration:none !important;
  box-shadow:0 18px 40px rgba(255,45,85,.25);
  border:none; cursor:pointer;
}
.btn.alt{background:#fff;color:var(--nf-dark) !important;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.btn.dark{background:var(--nf-dark)}
.btn:hover{transform:translateY(-1px)}
.hero{
  padding:92px 0 70px;
  color:#fff;
  background:linear-gradient(135deg,var(--nf-pink),var(--nf-orange));
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;inset:-200px -200px auto auto;
  width:520px;height:520px;border-radius:999px;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), rgba(255,255,255,0));
  transform:rotate(12deg);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;position:relative}
.hero p{font-size:1.25rem;color:rgba(255,255,255,.92)}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  padding:8px 12px;border-radius:999px;
  font-weight:900;
}
.panel{
  background:rgba(17,17,17,.18);
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--nf-radius);
  padding:22px;
}
.section{padding:70px 0}
.section.mist{background:var(--nf-mist)}
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 900px){
  h1{font-size:40px}
  .hero-grid{grid-template-columns:1fr}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .nav{display:none}
}
.card{
  background:#fff;border-radius:var(--nf-radius);
  padding:24px;
  box-shadow:0 18px 44px rgba(0,0,0,.08);
  border:1px solid rgba(2,6,23,.06);
}
.card.dark{
  background:var(--nf-dark);color:#fff;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}
.card h3{margin-top:0}
.kicker{font-weight:1000;letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-size:.85rem}
.card .kicker{color:#94a3b8}
hr.sep{border:none;border-top:1px solid rgba(2,6,23,.10);margin:22px 0}
.list-check{padding-left:18px;margin:0}
.list-check li{margin:8px 0}
.table{
  width:100%;border-collapse:separate;border-spacing:0;
  overflow:hidden;border-radius:14px;border:1px solid rgba(2,6,23,.10);
}
.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(2,6,23,.08);vertical-align:top}
.table th{background:#0b1220;color:#fff;font-weight:900}
.table tr:last-child td{border-bottom:none}
.notice{
  background:rgba(255,45,85,.08);
  border:1px solid rgba(255,45,85,.18);
  padding:14px 16px;border-radius:14px;
}
.accordion details{background:#fff;border:1px solid rgba(2,6,23,.10);border-radius:14px;padding:14px 16px}
.accordion details+details{margin-top:10px}
.accordion summary{cursor:pointer;font-weight:900}
.form{display:grid;gap:12px}
.form label{font-weight:900}
.form input,.form select,.form textarea{
  width:100%;padding:12px 12px;border-radius:12px;
  border:1px solid rgba(2,6,23,.18);font-size:1rem;
}
.form textarea{min-height:130px}
.form .row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media(max-width:900px){.form .row{grid-template-columns:1fr}}
.flash{padding:12px 14px;border-radius:14px;margin:16px 0;font-weight:800}
.flash.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25)}
.flash.bad{background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.22)}
.footer{
  background:var(--nf-dark);color:#fff;margin-top:70px;
  padding:54px 0;border-top:1px solid rgba(255,255,255,.10);
}
.footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr}}
.mini{opacity:.86}

/* Products page upgrades */
.products-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}
.products-filter input{max-width:520px}
.product-card{position:relative;overflow:hidden}
.product-card:before{content:'';position:absolute;inset:-60% -40% auto auto;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle at 30% 30%, rgba(255,45,85,.22), rgba(255,255,255,0));transform:rotate(12deg)}
.product-card details{margin-top:10px}
.product-card summary{font-weight:900;cursor:pointer}
.product-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,45,85,.10);border:1px solid rgba(255,45,85,.18);padding:8px 12px;border-radius:999px;font-weight:900}
.product-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.product-links a{background:rgba(2,6,23,.04);border:1px solid rgba(2,6,23,.08);padding:9px 12px;border-radius:12px;font-weight:900;color:var(--nf-ink)}
.product-links a:hover{border-color:rgba(255,45,85,.35);text-decoration:none}

/* Media + gallery + blog */
.nf-media{border-radius:18px;overflow:hidden;border:1px solid rgba(2,6,23,.08);box-shadow:0 18px 44px rgba(0,0,0,.08);background:#fff}
.nf-media img{width:100%;height:auto;display:block}
.media-caption{padding:14px 16px}
.hero-image{margin-top:18px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:14px;border:1px solid rgba(2,6,23,.08)}
@media(max-width:900px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:220px}}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
@media(max-width:900px){.post-grid{grid-template-columns:1fr}}
.post-card .meta{font-size:.92rem;color:#64748b}
.post-card h3{margin-bottom:8px}
