/* BuyFastVPN – Premium International Marketplace */

:root {
  --primary: #0b1f3a;
  --primary-mid: #132f54;
  --accent: #2563eb;
  --accent-hover: #1d4ed8;
  --accent-soft: #eff6ff;
  --success: #059669;
  --danger: #dc2626;
  --bg: #ffffff;
  --bg-muted: #f8fafc;
  --text: #0f172a;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --border: #e2e8f0;
  --border-strong: #cbd5e1;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 1px 3px rgba(15,23,42,.06), 0 4px 16px rgba(15,23,42,.04);
  --shadow-lg: 0 8px 30px rgba(15,23,42,.1);
  --font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --header-h: 68px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font); color: var(--text); background: var(--bg); line-height: 1.6; font-size: 15px; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-decoration: none; transition: color .15s; }
a:hover { color: var(--accent-hover); }
button, input, select, textarea { font-family: inherit; }

.container { width: 100%; max-width: 1160px; margin: 0 auto; padding: 0 1.25rem; }
.narrow { max-width: 680px; }
.text-center { text-align: center; }
.mt-2 { margin-top: 1.5rem; }
.mb-2 { margin-bottom: 1.5rem; }

/* HEADER */
.site-header { background: var(--primary); color: #fff; position: sticky; top: 0; z-index: 200; height: var(--header-h); box-shadow: 0 2px 12px rgba(0,0,0,.18); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); gap: 1rem; }
.logo { font-size: 1.3rem; font-weight: 800; color: #fff !important; letter-spacing: -.03em; white-space: nowrap; }
.logo span { color: #60a5fa; }
.main-nav { display: none; align-items: center; gap: .15rem; }
.main-nav a { color: rgba(255,255,255,.88); font-size: .9rem; font-weight: 500; padding: .45rem .7rem; border-radius: 6px; }
.main-nav a:hover, .main-nav a.active { background: rgba(255,255,255,.1); color: #fff; text-decoration: none; }
.header-actions { display: flex; align-items: center; gap: .5rem; }
.header-actions a { color: rgba(255,255,255,.9); padding: .4rem .65rem; border-radius: 6px; font-size: .875rem; font-weight: 500; display: inline-flex; align-items: center; gap: .35rem; }
.header-actions a:hover { background: rgba(255,255,255,.1); color: #fff; text-decoration: none; }
.cart-badge { background: var(--accent); color: #fff; font-size: .7rem; font-weight: 700; min-width: 18px; height: 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px; }
.nav-toggle { display: flex; background: none; border: none; color: #fff; font-size: 1.4rem; cursor: pointer; padding: .35rem; }
@media (min-width: 960px) { .main-nav { display: flex; } .nav-toggle { display: none; } }
.mobile-nav { display: none; position: fixed; inset: var(--header-h) 0 0 0; background: var(--primary-mid); z-index: 190; padding: 1.25rem; overflow-y: auto; flex-direction: column; gap: .35rem; }
.mobile-nav.open { display: flex; }
.mobile-nav a { color: rgba(255,255,255,.92); font-size: 1.05rem; font-weight: 500; padding: .75rem 1rem; border-radius: 8px; }
.mobile-nav a:hover { background: rgba(255,255,255,.08); color: #fff; text-decoration: none; }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .7rem 1.4rem; border-radius: var(--radius-sm); font-weight: 600; font-size: .925rem; border: 2px solid transparent; cursor: pointer; transition: background .15s, border-color .15s, color .15s; text-decoration: none !important; line-height: 1.25; }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-hover); color: #fff; }
.btn-outline { background: transparent; border-color: var(--border-strong); color: var(--text); }
.btn-outline:hover { border-color: var(--accent); color: var(--accent); }
.btn-sm { padding: .45rem 1rem; font-size: .825rem; }
.btn-lg { padding: .9rem 1.85rem; font-size: 1.05rem; }
.btn-block { width: 100%; }
.btn-outline-white { background: transparent; border-color: rgba(255,255,255,.55); color: #fff; }
.btn-outline-white:hover { background: #fff; color: var(--primary); border-color: #fff; }

/* HERO */
.hero { background: linear-gradient(145deg, #0b1f3a 0%, #132f54 55%, #1e3a5f 100%); color: #fff; padding: 3.75rem 0 4.25rem; text-align: center; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% -20%, rgba(37,99,235,.25), transparent); pointer-events: none; }
.hero-content { position: relative; z-index: 1; }
.hero h1 { font-size: clamp(1.85rem, 5vw, 2.85rem); font-weight: 800; line-height: 1.15; margin-bottom: 1rem; letter-spacing: -.035em; max-width: 720px; margin-left: auto; margin-right: auto; }
.hero-sub { font-size: 1.1rem; opacity: .9; max-width: 520px; margin: 0 auto 2rem; line-height: 1.55; }
.hero-cta { display: flex; gap: .85rem; justify-content: center; flex-wrap: wrap; }

/* SECTIONS */
.section { padding: 3.75rem 0; }
.section-alt { background: var(--bg-muted); }
.section-title { font-size: 1.65rem; font-weight: 800; text-align: center; margin-bottom: .5rem; letter-spacing: -.025em; }
.section-sub { text-align: center; color: var(--text-muted); margin-bottom: 2.25rem; max-width: 520px; margin-left: auto; margin-right: auto; font-size: .975rem; }

/* PRODUCT CARDS */
.product-grid { display: grid; grid-template-columns: 1fr; gap: 1.35rem; }
@media (min-width: 560px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 920px) { .product-grid { grid-template-columns: repeat(3, 1fr); } }
.product-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; display: flex; flex-direction: column; box-shadow: var(--shadow); transition: transform .18s, box-shadow .18s, border-color .18s; position: relative; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: #bfdbfe; }
.product-card .badge-sale { position: absolute; top: 12px; right: 12px; background: #fef2f2; color: var(--danger); font-size: .7rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; }
.product-logo { height: 52px; display: flex; align-items: center; margin-bottom: 1rem; }
.product-logo img { max-height: 44px; width: auto; object-fit: contain; }
.product-card h3 { font-size: 1.15rem; font-weight: 700; margin-bottom: .35rem; letter-spacing: -.02em; }
.product-card .short-desc { color: var(--text-muted); font-size: .875rem; flex-grow: 1; margin-bottom: .85rem; line-height: 1.5; }
.product-card .starting { font-size: .9rem; margin-bottom: .25rem; color: var(--text-secondary); }
.product-card .starting strong { font-size: 1.2rem; font-weight: 800; color: var(--text); }
.product-card .old-price { text-decoration: line-through; color: var(--text-muted); font-size: .85rem; margin-right: .35rem; }
.product-card .durations { font-size: .78rem; color: var(--text-muted); margin-bottom: 1.1rem; }
.product-card .card-actions { display: flex; gap: .5rem; margin-top: auto; }
.product-card .card-actions .btn { flex: 1; }

/* TRUST */
.trust-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 600px) { .trust-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .trust-grid { grid-template-columns: repeat(5, 1fr); } }
.trust-item { text-align: center; padding: 1.35rem 1rem; background: var(--bg); border-radius: var(--radius); border: 1px solid var(--border); }
.trust-icon { width: 44px; height: 44px; background: var(--accent-soft); color: var(--accent); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin: 0 auto .75rem; font-size: 1.15rem; font-weight: 700; }
.trust-item h3 { font-size: .95rem; font-weight: 700; margin-bottom: .25rem; }
.trust-item p { color: var(--text-muted); font-size: .8rem; line-height: 1.45; }

/* STEPS */
.steps { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 700px) { .steps { grid-template-columns: repeat(4, 1fr); } }
.step { text-align: center; padding: .5rem; }
.step-num { display: inline-flex; width: 42px; height: 42px; background: var(--accent); color: #fff; border-radius: 50%; align-items: center; justify-content: center; font-weight: 800; font-size: 1rem; margin-bottom: .85rem; }
.step h3 { font-size: 1rem; font-weight: 700; margin-bottom: .3rem; }
.step p { color: var(--text-muted); font-size: .85rem; }

/* CATEGORIES */
.category-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 520px) { .category-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 880px) { .category-grid { grid-template-columns: repeat(3, 1fr); } }
.category-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 1.4rem 1.35rem; transition: border-color .15s, box-shadow .15s; color: inherit; text-decoration: none !important; display: block; }
.category-card:hover { border-color: #93c5fd; box-shadow: var(--shadow); }
.category-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .3rem; color: var(--primary); }
.category-card p { color: var(--text-muted); font-size: .85rem; }

/* FAQ */
.faq-list details { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: .65rem; padding: 1rem 1.2rem; }
.faq-list summary { font-weight: 600; cursor: pointer; list-style: none; font-size: .95rem; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list details[open] summary { margin-bottom: .55rem; color: var(--accent); }
.faq-list p { color: var(--text-secondary); font-size: .9rem; line-height: 1.55; }

/* CTA */
.cta-section { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-mid) 100%); color: #fff; text-align: center; padding: 3.5rem 0; }
.cta-section h2 { font-size: 1.75rem; font-weight: 800; margin-bottom: .5rem; letter-spacing: -.02em; }
.cta-section p { opacity: .9; margin-bottom: 1.5rem; font-size: 1.05rem; }

/* FOOTER */
.site-footer { background: #071525; color: rgba(255,255,255,.8); padding: 3.25rem 0 1.5rem; font-size: .875rem; }
.footer-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-bottom: 2.25rem; }
@media (min-width: 640px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.site-footer h3, .site-footer h4 { color: #fff; margin-bottom: .85rem; font-size: .95rem; font-weight: 700; }
.site-footer a { display: block; color: rgba(255,255,255,.65); margin-bottom: .4rem; font-size: .875rem; }
.site-footer a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 1.25rem; text-align: center; font-size: .8rem; opacity: .65; }

/* ALERTS */
.alert { padding: .9rem 1.2rem; border-radius: var(--radius-sm); margin: 1rem auto; max-width: 1160px; font-size: .9rem; font-weight: 500; }
.alert-success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.alert-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* FORMS */
.form-group { margin-bottom: 1.15rem; }
.form-group label { display: block; font-weight: 600; margin-bottom: .35rem; font-size: .875rem; }
.form-control { width: 100%; padding: .7rem .9rem; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: .95rem; background: #fff; transition: border-color .15s, box-shadow .15s; }
.form-control:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }

/* PRODUCT DETAIL */
.product-hero { display: grid; gap: 2.25rem; padding: 2.5rem 0 1rem; }
@media (min-width: 800px) { .product-hero { grid-template-columns: 1.1fr .9fr; align-items: start; } }
.breadcrumb { font-size: .8rem; color: var(--text-muted); margin-bottom: 1.25rem; }
.breadcrumb a { color: var(--text-muted); }
.plan-list { display: flex; flex-direction: column; gap: .6rem; }
.plan-card { border: 2px solid var(--border); border-radius: var(--radius-sm); padding: 1rem 1.15rem; display: flex; justify-content: space-between; align-items: center; cursor: pointer; transition: border-color .15s, background .15s; background: #fff; }
.plan-card:hover { border-color: #93c5fd; }
.plan-card.selected { border-color: var(--accent); background: var(--accent-soft); }
.plan-card .plan-label { font-weight: 600; font-size: .95rem; }
.plan-card .price { font-size: 1.2rem; font-weight: 800; }
.plan-card .old-price { text-decoration: line-through; color: var(--text-muted); font-size: .85rem; margin-right: .4rem; font-weight: 500; }
.order-box { background: var(--bg-muted); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; position: sticky; top: calc(var(--header-h) + 1rem); }

/* FILTERS */
.filters-bar { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.75rem; align-items: center; }
.filters-bar .form-control { width: auto; min-width: 140px; padding: .55rem .8rem; font-size: .875rem; }
.search-input { flex: 1; min-width: 180px; max-width: 320px; }

/* CART */
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th, .cart-table td { padding: 1rem .85rem; text-align: left; border-bottom: 1px solid var(--border); font-size: .9rem; }
.cart-table th { font-weight: 600; color: var(--text-secondary); font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.summary-box { background: var(--bg-muted); border-radius: var(--radius); padding: 1.5rem; border: 1px solid var(--border); }

/* ADMIN */
.admin-body { display: flex; min-height: 100vh; background: #f1f5f9; }
.admin-sidebar { width: 250px; background: var(--primary); color: #fff; padding: 1.25rem 0; flex-shrink: 0; overflow-y: auto; position: sticky; top: 0; height: 100vh; }
.admin-sidebar .brand { padding: 0 1.35rem 1.35rem; font-weight: 800; font-size: 1.1rem; letter-spacing: -.02em; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: .75rem; }
.admin-sidebar a { display: flex; align-items: center; gap: .6rem; padding: .55rem 1.35rem; color: rgba(255,255,255,.8); font-size: .875rem; font-weight: 500; }
.admin-sidebar a:hover, .admin-sidebar a.active { background: rgba(255,255,255,.1); color: #fff; text-decoration: none; }
.admin-sidebar .nav-section { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.4); padding: 1rem 1.35rem .4rem; font-weight: 600; }
.admin-main { flex: 1; padding: 1.5rem; overflow-x: auto; min-width: 0; }
.admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; flex-wrap: wrap; gap: .75rem; }
.admin-header h1 { font-size: 1.4rem; font-weight: 800; letter-spacing: -.02em; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.stat-card { background: #fff; border-radius: var(--radius); padding: 1.15rem 1.25rem; box-shadow: var(--shadow); border: 1px solid var(--border); }
.stat-card .value { font-size: 1.55rem; font-weight: 800; color: var(--primary); letter-spacing: -.02em; }
.stat-card .label { font-size: .75rem; color: var(--text-muted); font-weight: 500; margin-top: .15rem; }
.admin-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); font-size: .875rem; }
.admin-table th, .admin-table td { padding: .8rem 1rem; text-align: left; border-bottom: 1px solid var(--border); }
.admin-table th { background: #f8fafc; font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: var(--text-secondary); }
.admin-table tr:hover td { background: #f8fafc; }
.badge { display: inline-block; padding: .2rem .55rem; border-radius: 999px; font-size: .7rem; font-weight: 700; }
.badge-success { background: #d1fae5; color: #065f46; }
.badge-warning { background: #fef3c7; color: #92400e; }
.badge-danger { background: #fee2e2; color: #991b1b; }
.badge-info { background: #dbeafe; color: #1e40af; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 860px) { .admin-body { flex-direction: column; } .admin-sidebar { width: 100%; height: auto; position: relative; } }

/* COMPARE */
.compare-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.compare-table th, .compare-table td { padding: .85rem 1rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.compare-table th { background: var(--bg-muted); font-weight: 700; }

/* PAGE */
.page-header { padding: 2rem 0 1rem; border-bottom: 1px solid var(--border); margin-bottom: 2rem; }
.page-header h1 { font-size: 1.75rem; font-weight: 800; letter-spacing: -.025em; }
.page-header p { color: var(--text-muted); margin-top: .35rem; }
.empty-state { text-align: center; padding: 3rem 1.5rem; color: var(--text-muted); }
.empty-state h3 { font-size: 1.15rem; color: var(--text); margin-bottom: .5rem; }
.deal-tag { display: inline-flex; background: #fef2f2; color: var(--danger); font-size: .75rem; font-weight: 700; padding: .25rem .6rem; border-radius: 6px; }
/* Premium BuyFastVPN v3 overrides */
:root{--primary:#071a33;--primary-mid:#0d3b70;--accent:#2563eb;--border:#e2e8f0;--bg:#f8fafc;--bg-muted:#f1f5f9;--text:#0b172a;--text-muted:#64748b;--radius:18px;--shadow:0 8px 28px rgba(15,23,42,.06)}
.site-header{background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 20px rgba(15,23,42,.05)}
/* Glass header: override white text colors that were meant for dark navy header */
.site-header .logo{color:var(--primary)!important}
.site-header .logo span{color:var(--accent)}
.site-header .main-nav a{color:rgba(7,26,51,.72)}
.site-header .main-nav a:hover,.site-header .main-nav a.active{background:#eff6ff;color:var(--accent)}
.site-header .header-actions a{color:rgba(7,26,51,.72)}
.site-header .header-actions a:hover{background:#eff6ff;color:var(--accent);text-decoration:none}
.site-header .nav-toggle{color:var(--primary)}
.logo{font-weight:900;letter-spacing:-.045em}.main-nav a,.header-actions a{font-weight:600;border-radius:10px}.main-nav a:hover,.header-actions a:hover{background:#eff6ff;color:#1d4ed8}
.hero{background:radial-gradient(circle at 85% 20%,rgba(56,189,248,.22),transparent 28%),linear-gradient(135deg,#06152a,#0b2b52 62%,#123e70);padding:6rem 0 5rem}.hero h1{font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.065em;font-weight:900}.hero p{color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.7}.hero .btn-primary{background:#fff;color:#0b2b52;border-color:#fff}.hero .btn-outline-white{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
.section{padding:4.5rem 0}.section-title{letter-spacing:-.04em}.product-card{border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 5px 20px rgba(15,23,42,.035);transition:.2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 55px rgba(15,23,42,.1);border-color:#bfdbfe}.product-logo{height:78px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eef4fb);border:1px solid #e5edf7}.product-card h3{letter-spacing:-.015em}.category-card,.trust-item{border-radius:18px;box-shadow:0 4px 18px rgba(15,23,42,.035)}.cta-section{background:linear-gradient(135deg,#071a33,#0d3a6e);padding:5rem 0}.site-footer{background:#061326}
.product-hero{padding:3rem 0 2rem}.order-box{border-radius:22px;box-shadow:0 20px 55px rgba(15,23,42,.1);background:#fff}.plan-card{border-radius:15px}.compare-table{border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(15,23,42,.05)}
.admin-sidebar{width:270px;background:linear-gradient(180deg,#06162c,#0b2547)}.admin-sidebar a{border-radius:10px;margin:.12rem .65rem}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.1)}.admin-main{padding:2rem}.stat-card,.admin-table{border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.045)}.form-control{border-radius:11px}.btn{border-radius:10px;font-weight:700}.plan-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:.85rem}
@media(max-width:900px){.main-nav{display:none}.nav-toggle{display:block}.site-header{height:64px}.hero{padding:4.8rem 0 4.2rem}}@media(max-width:560px){.hero h1{font-size:2.55rem}.hero-cta .btn{width:100%}.section{padding:3.4rem 0}}
/* Premium v4 commerce polish */
.eyebrow{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#2563eb;margin-bottom:.45rem}.muted{color:var(--text-muted)}
.card-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.card-actions form{margin:0}.btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.danger-link{color:#b91c1c!important}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid>div{min-width:0}.order-summary,.admin-panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.35rem;box-shadow:0 10px 35px rgba(15,23,42,.045)}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:1.5rem;align-items:start}.checkout-summary{position:sticky;top:90px}.checkout-head{max-width:720px;margin-bottom:1.75rem}.checkout-step{display:flex;gap:.8rem;align-items:center;padding:1rem;background:#f8fafc;border:1px solid var(--border);border-radius:15px;margin-bottom:1.1rem}.checkout-step>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8;font-weight:800}.checkout-step small{display:block;color:var(--text-muted);margin-top:.15rem}.payment-methods{display:grid;gap:.65rem;margin-bottom:1.2rem}.payment-option{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:14px;cursor:pointer;background:#fff}.payment-option:has(input:checked){border-color:#60a5fa;background:#eff6ff}.payment-option input{margin-top:.25rem}.payment-option strong,.payment-option small{display:block}.payment-option small{color:var(--text-muted);margin-top:.2rem;line-height:1.45}.checkout-note{font-size:.78rem;color:var(--text-muted);margin-top:.9rem;line-height:1.5}.summary-top,.panel-heading,.notification-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.summary-item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border)}.summary-item small{display:block;color:var(--text-muted);margin-top:.2rem}.discount-row{color:#047857}.coupon-form{display:flex;gap:.5rem;margin-top:1rem}.success-panel{text-align:center;padding:2rem 0}.success-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#dcfce7;color:#15803d;font-size:2rem;font-weight:900;margin:0 auto 1rem}.confirmation-card{text-align:left;max-width:560px;margin:1.5rem auto}.payment-instructions{margin-top:1.1rem;padding:1rem;border-radius:14px;background:#f8fafc;border:1px solid var(--border)}.payment-instructions p{margin:.4rem 0 0;color:var(--text-secondary);line-height:1.55}.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.cart-summary{position:sticky;top:90px}.cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.cart-item-logo{width:64px;height:64px;border:1px solid var(--border);border-radius:14px;background:#f8fafc;display:grid;place-items:center}.cart-item-logo img{max-width:48px;max-height:42px}.cart-item-main span,.cart-item-main small{display:block;color:var(--text-muted);margin-top:.25rem}.cart-item-controls{display:flex;align-items:center;gap:.7rem}.cart-item-controls label{font-size:.72rem;color:var(--text-muted)}.cart-item-controls select{min-width:65px;padding:.45rem}.premium-empty{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--border);border-radius:22px}.notification-toolbar{margin-bottom:1rem}.notification-toolbar form{margin:0}.notification-list{display:grid;gap:.75rem}.notification-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.15rem;background:#fff;border:1px solid var(--border);border-radius:16px}.notification-card.unread{border-color:#93c5fd;background:#f8fbff}.notification-content{display:flex;gap:.8rem}.notification-dot{width:9px;height:9px;background:#2563eb;border-radius:50%;margin-top:.45rem;flex:0 0 auto}.notification-card:not(.unread) .notification-dot{background:#cbd5e1}.notification-card p{margin:.25rem 0;color:var(--text-secondary);line-height:1.45}.notification-card small{color:var(--text-muted)}
.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem}.mini-chart{height:230px;display:flex;align-items:end;gap:.65rem;padding-top:1.5rem}.chart-col{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:.5rem}.chart-col span{display:block;width:100%;max-width:34px;background:linear-gradient(180deg,#60a5fa,#1d4ed8);border-radius:8px 8px 3px 3px;min-height:8px}.chart-col small{font-size:.68rem;color:var(--text-muted)}.rank-row,.admin-list-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.admin-list-row small{display:block;color:var(--text-muted);margin-top:.15rem}.inline-actions{display:flex;gap:.4rem;flex-wrap:wrap}.inline-actions form{margin:0}.payment-admin{display:grid;grid-template-columns:180px 1fr;gap:.7rem;padding:1rem 0;border-top:1px solid var(--border)}.payment-admin>textarea{grid-column:2}.settings-form{display:grid;gap:1rem;max-width:1000px}.settings-form h2,.admin-panel h2{font-size:1.05rem;margin-bottom:1rem}.support-admin-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem}.ticket-meta{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.ticket-meta span{color:var(--text-muted)}.ticket-message{padding:1rem 0;line-height:1.7}.ticket-reply{background:#f8fafc;border:1px solid var(--border);padding:1rem;border-radius:14px;margin-top:.7rem}.ticket-reply small{color:var(--text-muted);margin-left:.5rem}.ticket-reply p{margin-top:.5rem;line-height:1.6}
@media(max-width:900px){.checkout-grid,.cart-layout,.dashboard-grid,.support-admin-grid{grid-template-columns:1fr}.checkout-summary,.cart-summary{position:static}.form-grid{grid-template-columns:1fr}.payment-admin{grid-template-columns:1fr}.payment-admin>textarea{grid-column:auto}.admin-main{padding:1rem}.cart-item{grid-template-columns:52px 1fr}.cart-item-logo{width:52px;height:52px}.cart-item-controls{grid-column:2;justify-content:space-between}.notification-card{align-items:flex-start;flex-direction:column}.notification-card>form{align-self:flex-end}}
@media(max-width:560px){.cart-item{gap:.7rem}.coupon-form{flex-direction:column}.coupon-form .btn{width:100%}.checkout-step{padding:.8rem}.order-summary,.admin-panel{padding:1rem}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}}
/* Premium 2nd-generation modules */
.narrow{max-width:760px}.finder-hero{padding:5rem 1rem 2rem;text-align:center}.finder-hero h1{font-size:clamp(2.2rem,6vw,4rem);margin:.4rem 0}.finder-form{margin-bottom:4rem}.analytics-bars{height:260px;display:flex;align-items:flex-end;gap:6px;padding:1rem 0}.analytics-bar{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.analytics-bar span{display:block;width:100%;min-height:3px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#39a0ff,#0b63f6)}.analytics-bar small{font-size:.65rem;color:#6b7280}.health-list{padding:0 1.25rem}.health-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e7edf5}.health-row:last-child{border-bottom:0}.health-ok,.health-warn{font-size:.75rem;border-radius:999px;padding:.3rem .65rem}.health-ok{background:#dcfce7;color:#166534}.health-warn{background:#fef3c7;color:#92400e}.invoice-wrap{padding:2rem 1rem}.invoice-actions{text-align:right;margin-bottom:1rem}.invoice{max-width:900px;margin:auto;background:#fff;padding:3rem;border-radius:20px;box-shadow:0 20px 60px rgba(15,23,42,.1)}.invoice header,.invoice-meta{display:flex;justify-content:space-between;gap:2rem}.invoice-title{text-align:right}.invoice-title span{display:block;font-weight:800;letter-spacing:.15em}.invoice-title small{display:block;margin-top:.4rem;color:#64748b}.invoice-table{width:100%;border-collapse:collapse;margin:2rem 0}.invoice-table th,.invoice-table td{text-align:left;padding:1rem;border-bottom:1px solid #e5e7eb}.invoice-total{max-width:320px;margin-left:auto}.invoice-total div{display:flex;justify-content:space-between;padding:.45rem 0}.invoice-total .grand{font-size:1.2rem;border-top:2px solid #0f172a;margin-top:.5rem;padding-top:.8rem}.invoice footer{margin-top:3rem;padding-top:1rem;border-top:1px solid #e5e7eb;color:#64748b;font-size:.9rem}@media print{.site-header,.site-footer,.invoice-actions{display:none!important}.invoice{box-shadow:none;border:0}.invoice-wrap{padding:0}}


/* ===== v3 brand polish ===== */
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#0b1f3a;padding:.6rem 1rem;z-index:1000;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
.logo{display:inline-flex;align-items:center;gap:.5rem}
.logo img{width:30px;height:30px;display:block}
.footer-brand{display:flex;align-items:center;gap:.5rem}
.footer-disclaimer{margin-top:.5rem;font-size:.78rem;opacity:.7;max-width:820px}
.wa-float{position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:150;transition:transform .15s}
.wa-float:hover{transform:scale(1.07)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.trust-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero{background:radial-gradient(1200px 500px at 80% -10%,rgba(37,99,235,.35),transparent 60%),linear-gradient(135deg,#0b1f3a 0%,#132f54 60%,#1d4ed8 140%)}
.admin-sidebar .brand{display:flex;align-items:center;gap:.5rem}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.admin-sidebar a.active{background:rgba(255,255,255,.12);color:#fff}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:480px){.wa-float{right:12px;bottom:12px}}

/* === Mobile Header Fix: horizontal scroll === */
/* Problem: header-actions has 6 links (~648px total) on a 390px screen.
   Fix: on small screens hide secondary links — they're all in the mobile-nav. */
@media(max-width:640px){
  .header-actions>a:not([href*="/cart"]):not([href*="/notification"]){display:none}
  html,body{overflow-x:hidden;max-width:100vw}
}
/* Keep cart badge readable & toggle visible */
@media(max-width:640px){
  .header-actions a[href*="/cart"]{padding:.4rem .7rem;font-size:.85rem}
  .nav-toggle{padding:.35rem .45rem}
}
/* Ensure mobile-nav has a Search link too */

/* =============================================
   v4 – Complete polish, missing classes & mobile
   ============================================= */

/* --- Missing utility classes (used in views) --- */
.row-between{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--border)}
.row-between:last-child{border-bottom:0}
.total-line{font-size:1.05rem;font-weight:800;border-top:2px solid var(--primary);border-bottom:0;margin-top:.25rem;padding-top:.75rem;color:var(--text)}
.btn-link{background:none;border:none;padding:.25rem .4rem;font-size:.875rem;cursor:pointer;color:var(--accent);font-weight:500;text-decoration:underline;line-height:1}
.btn-link:hover{color:var(--accent-hover)}
.compare-logo{max-height:36px;width:auto;object-fit:contain;border-radius:8px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}
.page-heading h1{font-size:1.75rem;font-weight:800;letter-spacing:-.03em}
.page-heading p{color:var(--text-muted);margin-top:.2rem}
.header-wishlist{display:none}
@media(min-width:700px){.header-wishlist{display:inline-flex}}
.cart-items{display:flex;flex-direction:column}

/* --- Scroll anchor offset for sticky header --- */
[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}

/* --- Premium: Stat card improvements --- */
.stat-card .value{font-size:1.75rem;font-weight:800;letter-spacing:-.04em;color:var(--primary);line-height:1}
.stat-card .label{font-size:.75rem;color:var(--text-muted);margin-top:.3rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}

/* --- Premium: Smooth mobile nav (replaces display:none toggle) --- */
.mobile-nav{transform:translateY(-8px);opacity:0;pointer-events:none;display:flex!important;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .18s ease;border-top:1px solid rgba(255,255,255,.08)}
.mobile-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}

/* --- Premium: Hero badge / eyebrow --- */
.hero-eyebrow{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.9);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;margin-bottom:1.25rem;backdrop-filter:blur(6px)}
.hero-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ade80;animation:pulse-dot 2s infinite}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}

/* --- Premium: Product card rating row --- */
.product-card .rating{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-muted);margin-bottom:.5rem}
.rating-stars{color:#f59e0b;font-size:.8rem;letter-spacing:.05em}

/* --- Premium: trust-icon with gradient --- */
.trust-item:hover{border-color:#bfdbfe;box-shadow:0 8px 28px rgba(37,99,235,.08);transform:translateY(-2px);transition:all .18s}
.trust-item{transition:all .18s}

/* --- Premium: Section title marker --- */
.section-title{font-size:1.55rem;font-weight:800;letter-spacing:-.035em;margin-bottom:.5rem}
.section-title::after{content:'';display:block;width:40px;height:3px;background:linear-gradient(90deg,var(--accent),#60a5fa);border-radius:4px;margin-top:.45rem}

/* --- Premium: Better CTA section --- */
.cta-section h2{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;margin-bottom:.75rem;letter-spacing:-.04em}
.cta-section p{opacity:.82;margin-bottom:1.75rem;font-size:1.05rem}

/* --- Premium: Footer brand logo row --- */
.footer-brand{font-size:1.05rem;font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:.65rem}
.footer-grid{display:grid;gap:2rem}
@media(min-width:640px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}

/* --- Premium: Mobile nav icons using emoji/unicode --- */
.mobile-nav a[href$="/"]::before{content:'🏠 '}
.mobile-nav a[href*="/vpns"]::before{content:'🛡️ '}
.mobile-nav a[href*="/deals"]::before{content:'🏷️ '}
.mobile-nav a[href*="/compare"]::before{content:'⚖️ '}
.mobile-nav a[href*="/vpn-finder"]::before{content:'🔍 '}
.mobile-nav a[href*="/blog"]::before{content:'📝 '}
.mobile-nav a[href*="/faq"]::before{content:'❓ '}
.mobile-nav a[href*="/support"]::before{content:'💬 '}
.mobile-nav a[href*="/track"]::before{content:'📦 '}
.mobile-nav a[href*="/search"]::before{content:'🔎 '}
.mobile-nav a[href*="/account"]::before,.mobile-nav a[href*="/login"]::before{content:'👤 '}
.mobile-nav a[href*="/register"]::before{content:'✨ '}
.mobile-nav a[href*="/wishlist"]::before{content:'♡ '}
.mobile-nav a[href*="/notification"]::before{content:'🔔 '}
.mobile-nav a[href*="/cart"]::before{content:'🛒 '}
.mobile-nav a::before{display:inline;opacity:.8}

/* --- Premium: Login/auth card styling --- */
.auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2.25rem;box-shadow:0 12px 40px rgba(15,23,42,.08);max-width:420px;margin:0 auto}
.auth-card .section-title{text-align:center}
.auth-card .section-title::after{margin-left:auto;margin-right:auto}
.auth-footer-link{text-align:center;margin-top:1.25rem;color:var(--text-muted);font-size:.9rem}

/* --- Premium: Plan card price styling --- */
.plan-card{position:relative}
.plan-card .plan-label{font-weight:700;font-size:.95rem;color:var(--text)}
.plan-card .price{font-size:1.15rem;font-weight:800;color:var(--accent)}
.plan-card.selected .price{color:var(--primary)}
.plan-card.selected::before{content:'✓';position:absolute;right:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center}

/* --- Premium: Glass header border bottom --- */
.site-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.2),transparent)}
.site-header{position:relative}

/* --- Premium: Smooth page-level transitions --- */
@media(prefers-reduced-motion:no-preference){
  .product-card,.trust-item,.category-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
  .btn{transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease}
  .btn:active{transform:scale(.98)}
}

/* --- Premium: Cart item image frame --- */
.cart-item-logo{background:linear-gradient(135deg,#f8fafc,#eef4fb);border-radius:14px;border:1px solid var(--border)}

/* --- Premium: Admin dashboard polish --- */
.stat-grid .stat-card{position:relative;overflow:hidden}
.stat-grid .stat-card::before{content:'';position:absolute;right:-10px;top:-10px;width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#eff6ff,#dbeafe);opacity:.6}

/* --- Checkout: fix double .order-summary conflict --- */
.checkout-grid .order-summary:first-child{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.75rem;box-shadow:0 10px 35px rgba(15,23,42,.045)}

/* --- Premium: Focus ring improvement --- */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:5px}

/* --- Fix: btn-block on link elements --- */
a.btn-block{display:flex;justify-content:center}

/* ═════════════════════════════════════════════════════════════════════
   v5 PREMIUM STOREFRONT LAYER  (scoped to body.store — admin unaffected)
   Palette: Ink #0c1a2b · Porcelain #f6f7f9 · Brass #a37b3c · Emerald #0f7a5a
   Type: Newsreader (display) + Inter (interface)
   ═════════════════════════════════════════════════════════════════════ */
body.store{
  --primary:#0c1a2b;--primary-mid:#14263d;--accent:#0c1a2b;--accent-hover:#1c3251;--accent-soft:#eef1f5;
  --brass:#8a6428;--brass-lt:#d9bd82;--success:#0f7a5a;--danger:#b42318;
  --bg:#fff;--bg-muted:#f6f7f9;--text:#0c1a2b;--text-secondary:#3d4b5e;--text-muted:#5b6778;
  --border:#e3e6eb;--border-strong:#c9cfd8;--radius:14px;--radius-sm:10px;
  --shadow:0 1px 2px rgba(12,26,43,.05),0 6px 20px rgba(12,26,43,.05);--shadow-lg:0 18px 50px rgba(12,26,43,.14);
  --display:'Newsreader',Georgia,'Times New Roman',serif;--header-h:64px;
  font-size:16px;line-height:1.6;background:#fff;
}
body.store a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
body.store a:hover{color:var(--brass);text-decoration-color:currentColor}
body.store h1,body.store h2{font-family:var(--display);font-weight:600;letter-spacing:-.015em;line-height:1.15}
body.store :focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:6px}
body.store .btn,body.store .logo,body.store .hd a,body.store .pc a.btn,body.store .ft a.ft-link{text-decoration:none}
body.store .container{max-width:1180px}

/* buttons */
body.store .btn{border-radius:999px;padding:.72rem 1.5rem;font-weight:600;font-size:.95rem;min-height:44px;transition:background .18s,color .18s,border-color .18s,transform .12s,box-shadow .18s}
body.store .btn:active{transform:translateY(1px)}
body.store .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
body.store .btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;box-shadow:0 8px 22px rgba(12,26,43,.22)}
body.store .btn-outline{background:transparent;color:var(--text);border-color:var(--border-strong)}
body.store .btn-outline:hover{border-color:var(--text);background:var(--bg-muted);color:var(--text)}
body.store .btn-sm{min-height:38px;padding:.5rem 1.1rem;font-size:.86rem}
body.store .btn-light{background:#fff;color:var(--primary);border-color:#fff}
body.store .btn-light:hover{background:var(--brass-lt);border-color:var(--brass-lt);color:var(--primary)}
body.store .btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
body.store .btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
body.store .btn[disabled],body.store .btn.is-loading{opacity:.65;pointer-events:none}
body.store .btn.is-loading::after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* forms */
body.store .form-control{border-radius:var(--radius-sm);border:1px solid var(--border-strong);min-height:46px;padding:.65rem .9rem;font-size:1rem;background:#fff;transition:border-color .15s,box-shadow .15s}
body.store .form-control:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(163,123,60,.22)}
body.store .form-control[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.12)}
body.store .form-group label{font-weight:600;font-size:.88rem;margin-bottom:.35rem;display:block}
.field-err{color:var(--danger);font-size:.84rem;margin-top:.35rem;min-height:0}
.field-hint{color:var(--text-muted);font-size:.82rem;margin-top:.3rem}

/* header */
.hd{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border)}
.hd-in{display:flex;align-items:center;gap:1.25rem;height:var(--header-h)}
body.store .hd .logo{color:var(--text)!important;font-family:var(--display);font-size:1.45rem;font-weight:600;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.5rem;margin-right:.5rem}
body.store .hd .logo span{color:var(--brass)}
.hd-nav{display:none;gap:.1rem;flex:1}
.hd-nav a{padding:.5rem .8rem;border-radius:8px;font-size:.92rem;font-weight:500;color:var(--text-secondary)}
body.store .hd-nav a:hover,.hd-nav a[aria-current="page"]{color:var(--text);background:var(--bg-muted)}
.hd-act{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.hd-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;min-height:44px;padding:0 .7rem;border:0;background:none;border-radius:999px;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer}
body.store .hd-btn:hover{background:var(--bg-muted);color:var(--text)}
.hd-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hd-btn .lbl{display:none}
.hd .cart-badge{position:absolute;top:4px;right:2px;background:var(--primary);color:#fff;min-width:17px;height:17px;font-size:.66rem;padding:0 4px}
.hd .cart-badge[data-n="0"]{display:none}
.hd-menu{display:inline-flex}
@media(min-width:1000px){.hd-nav{display:flex}.hd-menu{display:none}.hd-btn .lbl{display:inline}.hd-act{margin-left:0}.hd-nav{margin-left:.5rem}.hd-in{gap:.75rem}.hd-spacer{flex:0}}
body.store .mobile-nav{background:#fff;inset:var(--header-h) 0 0 0;padding:1rem 1.25rem 6rem;border-top:1px solid var(--border)}
body.store .mobile-nav a{color:var(--text);font-size:1.1rem;font-weight:500;padding:.9rem .5rem;border-bottom:1px solid var(--border);border-radius:0;text-decoration:none}
body.store .mobile-nav a:hover{background:var(--bg-muted);color:var(--text)}

/* search overlay */
.so{position:fixed;inset:0;z-index:300;background:rgba(12,26,43,.5);display:none;align-items:flex-start;justify-content:center;padding:calc(var(--header-h) + 8px) 1rem 1rem}
.so.open{display:flex;animation:fadein .16s ease-out}
.so-box{width:100%;max-width:640px;background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .18s ease-out}
.so-field{display:flex;align-items:center;gap:.6rem;padding:.35rem 1rem;border-bottom:1px solid var(--border)}
.so-field svg{width:20px;height:20px;stroke:var(--text-muted);fill:none;stroke-width:1.7;flex:none}
.so-field input{flex:1;border:0;outline:0;font-size:1.05rem;min-height:52px;background:none;color:var(--text)}
.so-close{border:0;background:var(--bg-muted);border-radius:999px;min-height:34px;padding:0 .8rem;font-size:.8rem;cursor:pointer;color:var(--text-secondary)}
.so-list{max-height:min(60vh,420px);overflow:auto;padding:.4rem}
.so-item{display:flex;align-items:center;gap:.8rem;padding:.7rem .75rem;border-radius:12px;text-decoration:none;color:var(--text)}
body.store .so-item:hover,.so-item.act{background:var(--bg-muted);color:var(--text)}
.so-item small{display:block;color:var(--text-muted);font-size:.82rem}
.so-item .so-price{margin-left:auto;font-weight:600;white-space:nowrap}
.so-empty,.so-hint{padding:1.4rem 1.2rem;color:var(--text-muted);font-size:.92rem}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}

/* logo tile */
.logo-tile{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--bg-muted);border:1px solid var(--border);flex:none;overflow:hidden}
.logo-tile img{max-width:80%;max-height:70%;object-fit:contain}
.logo-mono{font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--primary);background:linear-gradient(135deg,#fbf7ee,#f1e8d3);border-color:#e6d9b8;letter-spacing:.02em}
.logo-tile.lg{width:72px;height:72px;border-radius:18px;font-size:1.6rem}

/* hero */
.hero-l{background:var(--primary);color:#fff;padding:clamp(2.75rem,7vw,5.5rem) 0;position:relative;overflow:hidden}
.hero-l::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 10%,rgba(217,189,130,.14),transparent 60%);pointer-events:none}
.hero-grid{position:relative;display:grid;gap:2.5rem;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:4rem}}
body.store .hero-l h1{font-size:clamp(2.3rem,6vw,3.9rem);font-weight:500;color:#fff;margin-bottom:1.1rem;max-width:14ch}
.hero-l p.lead{font-size:1.1rem;color:rgba(255,255,255,.78);max-width:46ch;margin-bottom:1.75rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-note{margin-top:1.25rem;font-size:.85rem;color:rgba(255,255,255,.6)}
.ledger{background:#fff;color:var(--text);border-radius:20px;padding:1.4rem 1.4rem .6rem;box-shadow:var(--shadow-lg)}
.ledger h2{font-size:1.15rem;margin-bottom:.15rem}
.ledger .sub{font-size:.84rem;color:var(--text-muted);margin-bottom:.6rem}
.ledger a.row{display:flex;align-items:center;gap:.85rem;padding:.75rem 0;border-top:1px solid var(--border);text-decoration:none}
.ledger a.row:hover .nm{color:var(--brass)}
.ledger .logo-tile{width:40px;height:40px;border-radius:11px;font-size:.95rem}
.ledger .nm{font-weight:600;transition:color .15s}
.ledger .pr{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.ledger .pr small{display:block;font-weight:400;color:var(--text-muted);font-size:.76rem}
.ledger .more{display:block;text-align:center;padding:.9rem 0;font-size:.9rem;font-weight:600;border-top:1px solid var(--border)}

/* sections */
.sec{padding:clamp(3rem,7vw,5rem) 0}
.sec.alt{background:var(--bg-muted)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.35rem)}
.sec-head p{color:var(--text-muted);max-width:52ch;margin-top:.4rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 1rem;border:1px solid var(--border-strong);border-radius:999px;font-size:.9rem;font-weight:500;background:#fff;text-decoration:none;transition:border-color .15s,background .15s}
body.store .chip:hover,.chip[aria-current="true"]{border-color:var(--primary);background:var(--primary);color:#fff}

/* product card */
.pgrid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pc{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:border-color .2s,box-shadow .2s,transform .2s}
.pc:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}
.pc-top{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}
.pc-top h3{font-family:var(--display);font-size:1.3rem;font-weight:600;line-height:1.15}
.pc-top h3 a{color:var(--text);text-decoration:none}
.pc-top h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.pc-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.6rem;min-height:1.4rem}
.tag{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border)}
.tag.brass{background:#faf3e2;color:#6f4f16;border-color:#ecdcb0}
.tag.deal{background:#e8f5ef;color:#0b5c44;border-color:#bfe4d3}
.pc-desc{color:var(--text-secondary);font-size:.93rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-meta{font-size:.82rem;color:var(--text-muted);margin-bottom:1rem;display:grid;gap:.15rem}
.pc-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding-top:.9rem;border-top:1px solid var(--border)}
.pc-price small{display:block;font-size:.74rem;color:var(--text-muted)}
.pc-price strong{font-family:var(--display);font-size:1.6rem;font-weight:600;font-variant-numeric:tabular-nums}
.pc-price .was{font-size:.86rem;color:var(--text-muted);text-decoration:line-through;margin-right:.3rem}
.pc-act{position:relative;z-index:2;display:flex;gap:.4rem;align-items:center}
.pc-act form{margin:0}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--border-strong);background:#fff;cursor:pointer;color:var(--text);font-size:1.05rem;transition:border-color .15s,background .15s}
.icon-btn:hover{border-color:var(--text);background:var(--bg-muted)}
.pc-cmp{position:relative;z-index:2;font-size:.82rem;background:none;border:0;padding:.3rem 0;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:32px}

/* listing */
.pagehead{padding:clamp(2rem,5vw,3.5rem) 0 1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.75rem}
.pagehead h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.6rem}
.pagehead p{color:var(--text-secondary);max-width:62ch}
.toolbar{display:grid;gap:.6rem;margin-bottom:1.25rem}
.toolbar form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.toolbar .search-input{flex:1 1 220px}
.toolbar select{flex:0 1 190px}
.res-count{color:var(--text-muted);font-size:.9rem;margin:.25rem 0 1rem}
.seo-copy{max-width:74ch;margin:3.5rem auto 0;color:var(--text-secondary)}
.seo-copy h2{font-size:1.6rem;margin-bottom:.7rem}
.seo-copy p{margin-bottom:1rem}
.empty-l{text-align:center;padding:3.5rem 1rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-muted)}
.empty-l h2{font-size:1.5rem;margin-bottom:.4rem}
.empty-l p{color:var(--text-muted);margin-bottom:1.25rem}

/* breadcrumb */
body.store .breadcrumb{font-size:.84rem;margin:1.25rem 0 1rem}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;padding:0}
.breadcrumb li+li::before{content:"/";margin-right:.35rem;color:var(--border-strong)}
.breadcrumb a{color:var(--text-muted)}

/* product page */
.pdp{display:grid;gap:2.5rem;align-items:start}
@media(min-width:960px){.pdp{grid-template-columns:1.25fr .75fr;gap:4rem}.pdp-buy{position:sticky;top:calc(var(--header-h) + 20px)}}
.pdp h1{font-size:clamp(2rem,5vw,3.1rem);margin:.4rem 0 .8rem}
.pdp-lead{font-size:1.12rem;color:var(--text-secondary);margin-bottom:1.5rem;max-width:56ch}
.pdp h2{font-size:1.55rem;margin:2.25rem 0 .8rem}
.pdp-body{color:var(--text-secondary);max-width:66ch}
.ticks{list-style:none;padding:0;display:grid;gap:.55rem;max-width:66ch}
.ticks li{display:flex;gap:.65rem;color:var(--text-secondary)}
.ticks li::before{content:"";flex:none;width:18px;height:18px;margin-top:.22rem;border-radius:50%;background:var(--success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.spec{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-width:66ch}
.spec div{display:grid;gap:.15rem;padding:.85rem 1.1rem;border-top:1px solid var(--border)}
.spec div:first-child{border-top:0}
@media(min-width:640px){.spec div{grid-template-columns:170px 1fr;gap:1rem}}
.spec dt{font-weight:600;font-size:.88rem}.spec dd{color:var(--text-secondary);font-size:.94rem}
.buybox{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.4rem;box-shadow:var(--shadow)}
.buybox h2{font-size:1.3rem;margin:0 0 .25rem}
.buybox .sub{color:var(--text-muted);font-size:.86rem;margin-bottom:1rem}
.plans{display:grid;gap:.6rem;border:0;padding:0;margin:0}
.plan{position:relative;display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1.5px solid var(--border);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s}
.plan:hover{border-color:var(--border-strong)}
.plan input{position:absolute;opacity:0;inset:0;cursor:pointer}
.plan .dot{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;transition:border-color .15s}
.plan .dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary);transform:scale(0);transition:transform .15s}
.plan:has(input:checked){border-color:var(--primary);background:var(--bg-muted)}
.plan:has(input:checked) .dot{border-color:var(--primary)}
.plan:has(input:checked) .dot::after{transform:scale(1)}
.plan:has(input:focus-visible){outline:2px solid var(--brass);outline-offset:2px}
.plan .pl-l{font-weight:600}.plan .pl-l small{display:block;font-weight:400;color:var(--text-muted);font-size:.78rem}
.plan .pl-p{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.plan .pl-p s{display:block;font-weight:400;font-size:.78rem;color:var(--text-muted)}
.buy-total{display:flex;justify-content:space-between;align-items:baseline;margin:1.1rem 0 .9rem;padding-top:1rem;border-top:1px solid var(--border)}
.buy-total strong{font-family:var(--display);font-size:1.9rem;font-weight:600}
.buy-assure{margin-top:1rem;display:grid;gap:.45rem;font-size:.84rem;color:var(--text-muted)}
.buy-assure span{display:flex;gap:.5rem;align-items:flex-start}
.buybar{display:none}
@media(max-width:959px){
  .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;align-items:center;gap:.9rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--border);transform:translateY(110%);transition:transform .25s ease}
  .buybar.show{transform:none}
  .buybar .bb-p small{display:block;font-size:.72rem;color:var(--text-muted);line-height:1.2}
  .buybar .bb-p strong{font-family:var(--display);font-size:1.35rem;font-weight:600}
  .buybar .btn{flex:1}
  body.has-buybar{padding-bottom:76px}
}
.faq details{border-bottom:1px solid var(--border);padding:1rem 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:32px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--brass);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:.6rem;color:var(--text-secondary);max-width:66ch}

/* steps / trust */
.steps-l{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:s;list-style:none;padding:0}
.steps-l li{counter-increment:s;padding-top:1rem;border-top:2px solid var(--primary)}
.steps-l li::before{content:counter(s);font-family:var(--display);font-size:1.6rem;color:var(--brass);display:block;margin-bottom:.3rem}
.steps-l h3{font-size:1.05rem;margin-bottom:.3rem}
.steps-l p{color:var(--text-secondary);font-size:.94rem}
.facts{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.fact{padding:1.4rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.fact h3{font-size:1rem;margin-bottom:.35rem}.fact p{color:var(--text-secondary);font-size:.93rem}
.band{background:var(--primary);color:#fff;border-radius:24px;padding:clamp(1.75rem,5vw,3.25rem);display:grid;gap:1.25rem;align-items:center}
@media(min-width:860px){.band{grid-template-columns:1fr auto}}
body.store .band h2{color:#fff;font-size:clamp(1.6rem,3.6vw,2.3rem)}
.band p{color:rgba(255,255,255,.75);max-width:50ch;margin-top:.5rem}

/* footer */
.ft{background:var(--primary);color:rgba(255,255,255,.72);padding:3.5rem 0 1.5rem;margin-top:0}
.ft-grid{display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:860px){.ft-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.ft-brand{grid-column:1/-1}@media(min-width:860px){.ft-brand{grid-column:auto}}
.ft h4{color:#fff;font-size:.9rem;margin-bottom:.8rem;font-weight:600}
body.store .ft a{color:rgba(255,255,255,.72);display:block;padding:.3rem 0;font-size:.92rem;text-decoration:none}
body.store .ft a:hover{color:var(--brass-lt)}
.ft .ft-name{font-family:var(--display);font-size:1.5rem;color:#fff;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}
.ft p{font-size:.9rem;max-width:38ch}
.ft-bot{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;display:grid;gap:.5rem}

/* toasts + skeleton + alerts */
.toasts{position:fixed;z-index:400;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));display:grid;gap:.5rem;width:min(92vw,420px);pointer-events:none}
.toast{pointer-events:auto;background:var(--primary);color:#fff;padding:.85rem 1.1rem;border-radius:14px;box-shadow:var(--shadow-lg);font-size:.92rem;animation:pop .2s ease-out}
.toast.ok{border-left:4px solid #34d399}.toast.warn{border-left:4px solid var(--brass-lt)}.toast.err{border-left:4px solid #f87171}
.sk{background:linear-gradient(90deg,#eef0f3 25%,#f7f8fa 37%,#eef0f3 63%);background-size:400% 100%;animation:sh 1.3s infinite;border-radius:10px;min-height:1em}
@keyframes sh{0%{background-position:100% 50%}100%{background-position:0 50%}}
body.store .alert{border-radius:12px;margin:1rem auto 0;max-width:1180px}
body.store .alert-success{background:#eaf6f0;border-color:#b8e0cf;color:#0b5c44}
body.store .alert-error{background:#fdefed;border-color:#f5c2bd;color:#8a1c12}

/* cart / checkout polish */
body.store .order-summary,body.store .summary-box,body.store .order-box{border-radius:20px;border-color:var(--border);box-shadow:none}
body.store .total-line strong{font-family:var(--display);font-size:1.5rem}
body.store .checkout-step span{background:var(--primary);color:#fff}
body.store .payment-option{border-radius:14px;transition:border-color .15s,background .15s}
body.store .payment-option:has(input:checked){border-color:var(--primary);background:var(--bg-muted)}
.trust-row{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.84rem;color:var(--text-muted);margin-top:1rem}
.tl{list-style:none;padding:0;display:grid;gap:0;margin:1rem 0}
.tl li{position:relative;padding:0 0 1.2rem 2rem;color:var(--text-muted)}
.tl li::before{content:"";position:absolute;left:5px;top:.3rem;width:12px;height:12px;border-radius:50%;border:2px solid var(--border-strong);background:#fff}
.tl li::after{content:"";position:absolute;left:10px;top:1.1rem;bottom:-.1rem;width:2px;background:var(--border)}
.tl li:last-child::after{display:none}
.tl li.done{color:var(--text)}.tl li.done::before{background:var(--success);border-color:var(--success)}
.tl li.now{color:var(--text);font-weight:600}.tl li.now::before{border-color:var(--brass);background:var(--brass-lt)}
.tl small{display:block;font-weight:400;color:var(--text-muted)}

@media(max-width:600px){.pgrid{grid-template-columns:1fr}.toolbar select{flex:1 1 45%}body.store .btn-lg{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:999px){.hd-wish,.hd-acct{display:none}}

/* ═══════════ v5 Pass 2 — customer experience (finder, compare, account, notifications) ═══════════ */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--text-muted)}
.tag.ok{background:#eaf6f0;color:#0b5c44}.tag.warn{background:#fdf3e1;color:#7a5410}
.callout{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-muted);margin-bottom:1rem}
.callout.warn{background:#fdf6e8;border-color:#ecd7a6}
.callout-inline{color:#7a5410;font-weight:600;font-size:.9rem;margin-top:.5rem}
/* finder */
.finder{display:grid;gap:1rem;max-width:860px}
.fstep{border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.25rem;background:#fff;min-width:0}
.fstep legend{font-family:var(--display);font-size:1.25rem;font-weight:600;padding:0 .4rem}
.fq{font-weight:600;font-size:.9rem;margin:1rem 0 .5rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1rem;border:1.5px solid var(--border-strong);border-radius:999px;font-weight:500;font-size:.94rem;background:#fff;transition:border-color .15s,background .15s,color .15s}
.chip:hover span{border-color:var(--text)}
.chip input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.fhow{margin-top:.9rem;font-size:.9rem;color:var(--text-secondary)}.fhow summary{cursor:pointer;font-weight:600}.fhow p{margin-top:.4rem;max-width:64ch}
.finder-progress{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--text-muted)}
.finder-progress .bar{flex:1;height:6px;border-radius:99px;background:var(--border);overflow:hidden}
.finder-progress .bar i{display:block;height:100%;width:25%;background:var(--brass);transition:width .25s}
.finder.is-stepped .fstep{display:none}.finder.is-stepped .fstep.on{display:block}
.fnav{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.fnav-reset{font-size:.9rem}
.fresults{margin:2.5rem 0 3rem;scroll-margin-top:calc(var(--header-h) + 16px)}
.fresults>h2{font-size:1.7rem;margin-bottom:.6rem}
.fsummary{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.fcards{display:grid;gap:1rem}
.fcard{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:#fff;box-shadow:var(--shadow)}
.fcard-h{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center}
.fcard-h h3{font-size:1.15rem}.fcard-h h3 a{text-decoration:none}
.fcard-fit{margin-top:.25rem}
.fcard-price{grid-column:1/-1;display:flex;align-items:baseline;gap:.5rem;padding-top:.6rem;border-top:1px solid var(--border)}
.fcard-price strong{font-family:var(--display);font-size:1.7rem;font-weight:600}.fcard-price small{color:var(--text-muted)}
.fwhy{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:1rem 0 .5rem}
.fticks{max-width:none}.fmiss{list-style:none;padding:0;display:grid;gap:.3rem;color:var(--text-secondary);font-size:.92rem}
.fmiss li::before{content:"–";margin-right:.5rem;color:var(--text-muted)}
.fcard-f{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1.1rem}
.fcard-f form{margin:0}
.fexcluded{color:var(--text-muted);font-size:.9rem;margin-top:1rem}
.fhelp{margin:2.5rem 0 4rem;color:var(--text-secondary)}.fhelp h2{font-size:1.4rem;margin-bottom:.4rem}
@media(min-width:720px){.fcard-h{grid-template-columns:auto 1fr auto}.fcard-price{grid-column:auto;flex-direction:column;align-items:flex-end;border:0;padding:0;gap:0}}
/* compare */
.cmp-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.cmp-opt{position:relative;display:block;cursor:pointer}
.cmp-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;z-index:2}
.cmp-card{display:grid;gap:.35rem;padding:1rem;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;transition:border-color .15s,background .15s}
.cmp-opt:hover .cmp-card{border-color:var(--border-strong)}
.cmp-opt input:checked+.cmp-card{border-color:var(--primary);background:var(--bg-muted)}
.cmp-opt input:focus-visible+.cmp-card{outline:2px solid var(--brass);outline-offset:2px}
.cmp-top{display:flex;align-items:center;gap:.7rem}.cmp-top strong{flex:1}
.cmp-tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center}
.cmp-opt input:checked+.cmp-card .cmp-tick{background:var(--success);border-color:var(--success)}
.cmp-opt input:checked+.cmp-card .cmp-tick::after{content:"✓";color:#fff;font-size:.8rem;line-height:1}
.cmp-meta{font-size:.84rem;color:var(--text-muted)}
.cmp-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem 0 calc(.8rem + env(safe-area-inset-bottom));background:linear-gradient(0deg,#fff 70%,rgba(255,255,255,0));z-index:20}
.cmp-overview{margin:2.5rem 0 4rem}.cmp-overview h2{font-size:1.5rem;margin-bottom:.8rem}
.cmp-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:.93rem}
.cmp th,.cmp td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-top:1px solid var(--border)}
.cmp thead th{border-top:0;background:var(--bg-muted)}
.cmp tbody th[scope=row]{font-weight:600;background:#fff;position:sticky;left:0;min-width:130px;z-index:1}
.cmp td{min-width:190px}.cmp td small{display:block;color:var(--text-muted);font-size:.8rem}
.cmp-head{display:grid;gap:.5rem;justify-items:start}.cmp-name{font-family:var(--display);font-size:1.15rem;font-weight:600;text-decoration:none}
.cmp-group th{background:var(--bg-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.cmp-plans,.cmp-list{list-style:none;padding:0;display:grid;gap:.25rem}.cmp-plans li{display:flex;justify-content:space-between;gap:.75rem;font-variant-numeric:tabular-nums}
.cmp .yes{color:var(--success);font-weight:600}.cmp .no{color:var(--text-muted)}.cmp .ev{display:inline}
.cmp .was{color:var(--text-muted)}
.cmp-tools{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.8rem}.cmp-tools-r{display:flex;gap:.5rem}
.switch{display:inline-flex;gap:.55rem;align-items:center;cursor:pointer;font-weight:500;min-height:44px}.switch input{width:20px;height:20px;accent-color:var(--primary)}
#cmpTable.diff tr[data-same="1"]{display:none}
.cmp-tray{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:160;display:flex;gap:.8rem;align-items:center;padding:.65rem .8rem .65rem 1.1rem;background:var(--primary);color:#fff;border-radius:999px;box-shadow:var(--shadow-lg);max-width:92vw}
.cmp-tray[hidden]{display:none}
body.store .cmp-tray a.btn{background:#fff;color:var(--primary);border-color:#fff}.cmp-tray button{background:none;border:0;color:rgba(255,255,255,.8);cursor:pointer;min-height:44px;padding:0 .5rem}
/* account */
.acct-grid{display:grid;gap:1.25rem;margin-bottom:3.5rem}
@media(min-width:900px){.acct-grid{grid-template-columns:230px 1fr;gap:2.5rem;align-items:start}.acct-grid aside{position:sticky;top:calc(var(--header-h) + 20px)}}
.acct-nav{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.4rem;-webkit-overflow-scrolling:touch}
@media(min-width:900px){.acct-nav{flex-direction:column;overflow:visible}}
.acct-nav a,.acct-out button{display:flex;align-items:center;gap:.5rem;justify-content:space-between;white-space:nowrap;min-height:44px;padding:.5rem .95rem;border-radius:12px;font-weight:500;font-size:.94rem;text-decoration:none;color:var(--text);border:0;background:none;cursor:pointer;width:100%;font-family:inherit}
.acct-nav a:hover,.acct-out button:hover{background:var(--bg-muted)}
.acct-nav a[aria-current=page]{background:var(--primary);color:#fff}
.acct-out{margin:0}.acct-out button{color:var(--text-muted)}
.pill{background:var(--brass);color:#fff;border-radius:99px;font-size:.72rem;font-weight:700;padding:.05rem .45rem;min-width:20px;text-align:center}
.acct-head{margin-bottom:1.25rem}.acct-head h1{font-size:clamp(1.7rem,4vw,2.3rem)}
.acct-head.row-between,.row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.acct-main{min-width:0;display:grid;gap:1rem;align-content:start}
.acard{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:#fff}
.acard h2{font-size:1.2rem;margin-bottom:.6rem}
.acard .big{font-family:var(--display);font-size:1.3rem;font-weight:600;margin-bottom:.2rem}
.acard .btn{margin-top:.75rem}
.stats{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}@media(min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{display:grid;gap:.15rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;text-decoration:none!important}
.stat strong{font-family:var(--display);font-size:1.8rem;line-height:1}.stat span{font-size:.82rem;color:var(--text-muted)}
.stat:hover{border-color:var(--border-strong)}
.cards2{display:grid;gap:1rem}@media(min-width:700px){.cards2{grid-template-columns:1fr 1fr}}
.quick{display:flex;flex-wrap:wrap;gap:.5rem}.quick a{padding:.55rem 1rem;border:1px solid var(--border);border-radius:99px;font-size:.92rem;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.mini-list{list-style:none;padding:0;display:grid;gap:.75rem}.mini-list li{display:grid;gap:.1rem;padding-left:.9rem;border-left:3px solid var(--border)}.mini-list li.unread{border-color:var(--brass)}.mini-list small{color:var(--text-muted)}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap}.tabs.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}
.tabs a{white-space:nowrap;display:inline-flex;gap:.35rem;align-items:center;min-height:40px;padding:.4rem .9rem;border:1px solid var(--border);border-radius:99px;font-size:.9rem;text-decoration:none}
.tabs a[aria-current=page]{background:var(--primary);color:#fff;border-color:var(--primary)}.tabs .count{font-size:.75rem;opacity:.75}
.olist{list-style:none;padding:0;display:grid;gap:.6rem}
.orow{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;text-decoration:none!important;color:var(--text)}
.orow:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}
.orow-main{display:grid;gap:.1rem;min-width:0}.orow-main .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orow-main small{color:var(--text-muted)}
.orow-side{display:grid;gap:.3rem;justify-items:end;flex:none}
.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;color:var(--text-muted)}
.kv3{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kv3 dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.kv3 dd{font-weight:600}
.line{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0}.line small{display:block;color:var(--text-muted);font-weight:400}.line.total strong{font-family:var(--display);font-size:1.5rem}.line.disc{color:var(--success)}
.secret{white-space:pre-wrap;word-break:break-word;background:var(--bg-muted);border:1px solid var(--border);border-radius:12px;padding:1rem;font:inherit;user-select:all}
.subs{display:grid;gap:1rem}.sub h2{margin:0}
.meter{height:8px;border-radius:99px;background:var(--border);overflow:hidden;margin:.9rem 0 .2rem}.meter i{display:block;height:100%;background:var(--brass)}
.claim summary{cursor:pointer;font-weight:600}.claim form{margin-top:1rem}
.form-grid2{display:grid;gap:0 1rem}@media(min-width:640px){.form-grid2{grid-template-columns:1fr 1fr}}
/* notifications */
.nlist{list-style:none;padding:0;display:grid;gap:.6rem}
.nitem{display:flex;gap:.8rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.nitem.unread{background:#fbf8f1;border-color:#e6d6b0}
.ndot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:.5rem;background:transparent}.nitem.unread .ndot{background:var(--brass)}
.nbody{min-width:0;display:grid;gap:.25rem}.nbody p{color:var(--text-secondary)}
.nmeta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}
.nact{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.nact form{margin:0}
.thread{list-style:none;padding:0;display:grid;gap:.75rem}
.msg{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:92%}
.msg.mine{background:var(--bg-muted);justify-self:end}.msg p{margin-top:.3rem;overflow-wrap:anywhere}
@media(max-width:600px){.orow{flex-direction:column;align-items:flex-start}.orow-side{justify-items:start}.cmp-tools-r{width:100%}}


/* ===== Final production pass: small-screen fixes (320-430px) ===== */
img,svg,video{max-width:100%}
.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
@media(max-width:640px){
  /* admin tables scroll inside their own box instead of widening the page */
  .admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .admin-main{padding:1rem .75rem}
  /* product form plan rows: stack instead of five squeezed columns */
  .plan-row{display:grid!important;grid-template-columns:1fr 1fr!important}
  .plan-row>.form-group:first-of-type{grid-column:1/-1}
  /* invoice: no fixed 3rem padding, stacked header, scrollable table */
  .invoice{padding:1.25rem;border-radius:14px}
  .invoice header,.invoice-meta{flex-direction:column;gap:1rem}
  .invoice-title{text-align:left}
  .invoice-table{display:block;overflow-x:auto}
  .invoice-table th,.invoice-table td{padding:.6rem}
  .invoice-total{max-width:none}
  /* keep floating buttons clear of the sticky buy bar and the home indicator */
  body.has-buybar .wa-float{bottom:calc(84px + env(safe-area-inset-bottom))}
  body.has-buybar .cmp-tray{bottom:calc(84px + env(safe-area-inset-bottom))}
  .btn{min-height:44px}
  pre.secret,.payment-instructions{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .hero h1{font-size:2.05rem}
  .hd-in{gap:.25rem}
  .hd-btn{min-width:40px;padding:0 .5rem}
  .cart-item{grid-template-columns:44px minmax(0,1fr)}
  .cart-item-logo{width:44px;height:44px}
}
@media print{.wa-float,.cmp-tray,.buybar,.hd,.ft{display:none!important}}


/* ===== Final pass: admin desktop/mobile layout rebuild (fixed sidebar, off-canvas drawer) ===== */
.admin-body{display:block;min-height:100vh;min-height:100dvh;background:#f1f5f9}
.admin-sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:270px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:linear-gradient(180deg,#06162c,#0b2547);color:#fff;padding:1.25rem 0;z-index:400;
  transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 0 0 rgba(0,0,0,0)}
.admin-sidebar.open{transform:translateX(0);box-shadow:20px 0 50px rgba(0,0,0,.25)}
.admin-sidebar .brand{padding:0 1.35rem 1.35rem;font-weight:800;font-size:1.1rem;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.admin-sidebar a{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.35rem;color:rgba(255,255,255,.8);font-size:.875rem;font-weight:500;border-radius:10px;margin:.12rem .65rem}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.admin-sidebar .nav-section{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.4);padding:1rem 1.35rem .4rem;font-weight:600}
.admin-sidebar-logout{color:#fecaca!important}
.admin-sidebar-close{margin-left:auto;background:none;border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:.2rem .4rem;min-height:44px;min-width:44px;display:none}
.admin-scrim{position:fixed;inset:0;background:rgba(8,14,26,.55);z-index:390}
.admin-scrim[hidden]{display:none}
.admin-content{min-height:100vh;min-height:100dvh}
.admin-topbar{position:sticky;top:0;z-index:210;display:flex;align-items:center;gap:.75rem;height:56px;padding:0 .9rem;background:#fff;border-bottom:1px solid var(--border, #e2e8f0)}
.admin-hamburger{background:none;border:0;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#0f172a;cursor:pointer}
.admin-hamburger:hover{background:#f1f5f9}
.admin-topbar-title{font-weight:700;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-main{padding:1.25rem 1rem;overflow-x:hidden;min-width:0}
@media(min-width:861px){
  .admin-sidebar{transform:none!important;box-shadow:none!important}
  .admin-content{margin-left:270px}
  .admin-topbar{display:none}
  .admin-scrim{display:none!important}
  .admin-main{padding:2rem;overflow-x:auto}
}
@media(max-width:860px){
  .admin-sidebar{max-width:86vw}
  .admin-sidebar-close{display:inline-flex;align-items:center;justify-content:center}
  .admin-main{padding:1rem .75rem}
  /* every admin content grid collapses to one column so nothing forces horizontal scroll on the page itself */
  .dashboard-grid,.support-admin-grid,.form-grid,.payment-admin{grid-template-columns:1fr!important}
  .payment-admin>textarea{grid-column:auto!important}
  .stats{grid-template-columns:repeat(2,1fr)}
}

/* ---- Manual payments (bank transfer / crypto) ---- */
.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
.pay-details{margin:.75rem 0;display:grid;gap:.5rem}.pay-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.6rem .8rem;background:var(--bg-muted,#f8fafc);border:1px solid var(--border);border-radius:12px}.pay-row dt{color:var(--text-muted);font-size:.82rem}.pay-row dd{margin:0;overflow-wrap:anywhere;font-weight:600}.pay-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;overflow-wrap:anywhere;word-break:break-all}
.pay-amount{font-size:1.05rem;margin:.6rem 0}.pay-amount small{display:block;color:var(--text-muted);font-weight:400;margin-top:.2rem}.pay-network{line-height:1.5}
.pay-proofs{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.5rem}.pay-proofs li{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;padding:.6rem .8rem;border:1px solid var(--border);border-radius:12px;background:#fff}
.pay-proof-form input[type=file]{width:100%;max-width:100%}
.pay-admin h3{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.pay-admin-proofs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}.pay-admin-proof{padding:.75rem;border:1px solid var(--border);border-radius:12px;overflow-wrap:anywhere}.pay-audit{list-style:none;padding:0;display:grid;gap:.5rem}.pay-audit li{padding:.6rem .8rem;border:1px solid var(--border);border-radius:12px;font-size:.92rem}
.pay-decision .card-actions .btn{min-height:44px}
.order-filters{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;-webkit-overflow-scrolling:touch}.order-filter{flex:0 0 auto;padding:.45rem .8rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-secondary);font-size:.88rem;text-decoration:none;white-space:nowrap}.order-filter span{margin-left:.3rem;font-weight:700}.order-filter.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.pay-cfg{grid-template-columns:180px minmax(0,1fr)}.pay-cfg-fields{min-width:0}.pay-cfg small{display:block;margin-top:.3rem;color:var(--text-muted)}.pay-warn{color:#92400e!important}.pay-ok{color:#065f46!important}
@media(max-width:560px){.pay-row{grid-template-columns:1fr auto}.pay-row dt{grid-column:1/-1}.pay-cfg{grid-template-columns:1fr}.pay-cfg>div:first-child{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.pay-proof-form .btn,.pay-decision .card-actions .btn{width:100%}}

/* ── Cookie consent (round 3) ── */
.cc-banner[hidden],.cc-modal[hidden]{display:none!important}
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:#fff;border-top:1px solid var(--border-strong);box-shadow:0 -8px 30px rgba(12,26,43,.14);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}
.cc-in{max-width:1100px;margin:0 auto;display:flex;gap:1rem 1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cc-text{flex:1 1 340px;min-width:0;font-size:.9rem;line-height:1.5}
.cc-text p{margin:.2rem 0 0;color:var(--text-secondary)}
.cc-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cc-actions .btn{min-height:44px}
.cc-actions-end{justify-content:flex-end;margin-top:1.25rem}
.cc-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:1rem}
.cc-scrim{position:absolute;inset:0;background:rgba(12,26,43,.55)}
.cc-box{position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.5rem;outline:none}
.cc-box h2{margin:0 0 .4rem;font-size:1.3rem}
.cc-row{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;padding:.9rem 0;border-top:1px solid var(--border)}
.cc-row:first-of-type{margin-top:1rem}
.cc-row p{margin:.2rem 0 0;font-size:.85rem;color:var(--text-secondary)}
.cc-switch{position:relative;flex:0 0 auto;width:46px;height:26px;margin-top:.2rem}
.cc-switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.cc-switch span{position:absolute;inset:0;background:var(--border-strong);border-radius:999px;transition:background .15s;pointer-events:none}
.cc-switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .15s}
.cc-switch input:checked+span{background:var(--accent)}
.cc-switch input:checked+span::after{transform:translateX(20px)}
.cc-switch input:disabled{cursor:not-allowed}.cc-switch input:disabled+span{opacity:.6}
.cc-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.ft-linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;display:block}
.ft-linkbtn:hover{text-decoration:underline}
@media(max-width:560px){.cc-actions{width:100%}.cc-actions .btn{flex:1 1 100%}.cc-box{padding:1.1rem}}
.wa-float{bottom:calc(18px + env(safe-area-inset-bottom,0px))}
@media print{.cc-banner,.cc-modal{display:none!important}}

/* ── Blog & FAQ CMS (round 3) ── */
.post-body{line-height:1.75;font-size:1.03rem;overflow-wrap:anywhere}
.post-body h2{font-size:1.4rem;margin:2rem 0 .6rem}.post-body h3{font-size:1.15rem;margin:1.5rem 0 .5rem}
.post-body p{margin:0 0 1.1rem}.post-body ul{margin:0 0 1.1rem 1.25rem;padding:0}.post-body li{margin:.3rem 0}
.post-body img,.post-card-img{max-width:100%;height:auto}
.post-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:.75rem;display:block}
.post-tags{margin-top:1.25rem;display:flex;gap:.4rem;flex-wrap:wrap}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.4rem .9rem}
.check-grid-1{grid-template-columns:1fr}
.check-item{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;font-size:.9rem;line-height:1.35;min-height:32px}
.check-item input{margin-top:.15rem;flex:0 0 auto}
.faq-tools{margin:0 0 1.25rem}.faq-tools input{width:100%}
.faq-group{margin:0 0 1.75rem}.faq-group h2{font-size:1.15rem;margin:0 0 .6rem}
.faq-tag{display:inline-block;font-size:.72rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem;margin-left:.4rem;vertical-align:middle}
.faq-empty{color:var(--text-muted)}
.faq-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.faq-adm-item{border-top:1px solid var(--border);padding:.75rem 0;display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.faq-adm-item>div:first-child{flex:1 1 320px;min-width:0;overflow-wrap:anywhere}
.faq-adm-actions{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.faq-adm-actions form{margin:0}
[data-faq-item][hidden],[data-faq-group][hidden]{display:none!important}

/* ── Invoice additions (round 3) ── */
.invoice-title small{display:block}
.invoice-table .num{text-align:right;white-space:nowrap}
.inv-addr{white-space:normal}
.inv-note,.inv-support{font-size:.85rem;color:var(--text-secondary);margin-top:1rem}
.inv-support{border-top:1px solid var(--border);padding-top:1rem}
.inv-support p{margin:.25rem 0 0}
.invoice-meta>div{min-width:0;overflow-wrap:anywhere}
@media print{.invoice-actions,.wa-float{display:none!important}.invoice{box-shadow:none!important;border:0!important}}
