/* Electro Showroom — Customer Storefront
   Plain white theme throughout. Only the header and footer are filled with
   the store's brand color (--brandfill, set per-store via an inline style
   tag in includes/front_layout.php) — no gradients anywhere on the page. */

:root{
  --ink:#0f172a;
  --ink-soft:#475569;
  --muted:#64748b;
  --line:#e6e9ef;
  --bg:#ffffff;
  --bg-soft:#f7f9fc;
  --brand:#2563eb;
  --brand-dark:#1d4ed8;
  --brand-soft:#eff4ff;
  --brandfill:#0f172a;   /* header/footer fill color — overridden per-store */
  --accent:#f59e0b;
  --success:#16a34a;
  --danger:#e11d48;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 10px 30px -12px rgba(15,23,42,.12);
  --shadow-sm:0 4px 14px -6px rgba(15,23,42,.10);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:#ffffff;color:var(--ink);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1240px;margin:0 auto;padding:0 20px;}
.muted{color:var(--muted);}
section{padding:56px 0;background:#ffffff;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:16px;flex-wrap:wrap;}
.section-head h2{font-size:28px;margin:0 0 6px;font-weight:700;letter-spacing:-.02em;}
.section-head p{margin:0;color:var(--muted);}
.section-link{font-weight:600;color:var(--brand);white-space:nowrap;}
.section-link:hover{color:var(--brand-dark);}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;font-weight:600;font-size:14px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-dark);}
.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}
.btn-sm{padding:8px 14px;font-size:13px;}
.btn-block{width:100%;}

/* ---------- Header (premium, brand-color filled) ---------- */
.site-header{position:sticky;top:0;z-index:50;}
.header-top{background:var(--brandfill);color:#fff;}
.header-top .container{display:flex;align-items:center;gap:22px;padding:14px 20px;flex-wrap:wrap;}
.brand-mark{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.brand-mark img{height:42px;width:42px;object-fit:contain;border-radius:10px;background:#fff;padding:4px;}
.logo-ph{height:42px;width:42px;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#fff;flex-shrink:0;}
.brand-mark .name{font-weight:800;font-size:19px;letter-spacing:-.01em;line-height:1.15;color:#fff;}
.brand-mark .tagline{font-size:11.5px;color:rgba(255,255,255,.65);}
.search-form{flex:1;display:flex;max-width:520px;min-width:180px;}
.search-form input{flex:1;padding:11px 16px;border:1px solid transparent;border-right:none;border-radius:999px 0 0 999px;font-size:14px;font-family:inherit;background:rgba(255,255,255,.94);color:var(--ink);}
.search-form input:focus{outline:none;}
.search-form input::placeholder{color:var(--muted);}
.search-form button{border:none;background:#fff;color:var(--brandfill);padding:0 20px;border-radius:0 999px 999px 0;cursor:pointer;font-weight:700;}
.search-form button:hover{background:#eef1f5;}
.header-meta{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:12.5px;color:rgba(255,255,255,.85);}
.header-meta a{color:#fff;font-weight:600;}
.header-badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;}
.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.icon-link{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:rgba(255,255,255,.85);font-weight:600;position:relative;padding:6px 10px;border-radius:10px;}
.icon-link:hover{background:rgba(255,255,255,.12);color:#fff;}
.icon-link .glyph{font-size:19px;}
.badge-count{position:absolute;top:0;right:2px;background:var(--accent);color:#1f2937;font-size:10px;font-weight:700;border-radius:999px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 3px;}

.main-nav{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px -8px rgba(15,23,42,.2);}
.main-nav .container{display:flex;align-items:center;gap:26px;overflow-x:auto;scrollbar-width:none;padding:0 20px;}
.main-nav .container::-webkit-scrollbar{display:none;}
.main-nav a{display:block;padding:13px 0;font-size:13.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid transparent;letter-spacing:.01em;}
.main-nav a:hover,.main-nav a.active{color:var(--brandfill);border-bottom-color:var(--brandfill);}

/* ---------- Hero (plain white, fully admin-styleable text) ---------- */
.hero{background:#fff;border-bottom:1px solid var(--line);}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:64px 0;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);border:1px solid var(--line);color:var(--brand-dark);padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;margin-bottom:18px;}
.hero h1{font-size:44px;line-height:1.14;margin:0 0 14px;font-weight:800;letter-spacing:-.02em;}
.hero p.lead{font-size:16.5px;margin:0 0 12px;max-width:480px;}
.hero p.desc{font-size:14.5px;margin:0 0 28px;max-width:480px;line-height:1.7;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow);animation:rise .6s ease both;}
@keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.hero-card img{width:100%;height:220px;object-fit:contain;margin-bottom:14px;}
.hero-card .name{font-weight:700;font-size:17px;margin-bottom:6px;}
.hero-card .price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:16px;}
.price{font-size:22px;font-weight:800;color:var(--brand);}
.price-strike{color:var(--muted);text-decoration:line-through;font-size:14px;}
.price-save{background:#fef3c7;color:#92400e;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;}

/* ---------- Category tiles ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;}
.cat-tile{text-align:center;}
.cat-tile .photo{border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:var(--bg-soft);border:1px solid var(--line);margin-bottom:10px;transition:transform .25s ease,box-shadow .25s ease;}
.cat-tile .photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.cat-tile:hover .photo{transform:translateY(-6px);box-shadow:var(--shadow);}
.cat-tile:hover .photo img{transform:scale(1.08);}
.cat-tile .label{font-weight:600;font-size:13.5px;}

/* ---------- Product cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;display:flex;flex-direction:column;}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--line);}
.product-media{position:relative;aspect-ratio:1/1;background:var(--bg-soft);}
.product-media img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .35s ease;}
.product-card:hover .product-media img{transform:scale(1.06);}
.product-badge{position:absolute;top:10px;left:10px;background:var(--accent);color:#1f2937;font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;}
.product-badge.badge-deal{background:var(--danger);color:#fff;}
.product-badge.badge-trend{background:var(--ink);color:#fff;}
.compare-check{position:absolute;top:10px;right:10px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:600;padding:5px 10px;display:flex;align-items:center;gap:5px;cursor:pointer;box-shadow:var(--shadow-sm);}
.compare-check:hover{border-color:var(--brand);color:var(--brand);}
.product-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1;border-top:1px solid var(--line);}
.product-brand{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;}
.product-title{font-size:14.5px;font-weight:600;line-height:1.35;min-height:38px;}
.product-title:hover{color:var(--brand);}
.product-price-row{display:flex;align-items:baseline;gap:8px;margin-top:2px;}
.stock-line{font-size:12px;}
.stock-in{color:var(--success);}
.stock-limited{color:#b45309;}
.stock-out{color:var(--danger);}
.product-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px;}
.product-actions .btn{flex:1;padding:9px 12px;font-size:13px;}

/* ---------- Trust strip ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;}
.trust-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;transition:transform .2s ease;}
.trust-card:hover{transform:translateY(-4px);}
.trust-card .glyph{font-size:30px;margin-bottom:10px;}
.trust-card h3{font-size:15px;margin:0 0 6px;}
.trust-card p{font-size:13px;color:var(--muted);margin:0;}

/* ---------- Brand strip ---------- */
.brand-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:38px;}
.brand-strip img{height:38px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .2s ease,opacity .2s ease,transform .2s ease;}
.brand-strip img:hover{filter:none;opacity:1;transform:scale(1.05);}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.testi-stars{color:var(--accent);font-size:15px;margin-bottom:10px;}
.testi-quote{font-size:14.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:14px;}
.testi-name{font-weight:700;font-size:14px;}
.testi-loc{font-size:12.5px;color:var(--muted);}

/* ---------- Showrooms ---------- */
.showroom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.showroom-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.showroom-card h3{margin:0 0 8px;font-size:16px;}
.showroom-card p{margin:0 0 6px;font-size:13.5px;color:var(--ink-soft);}
.showroom-card .links{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;}

/* ---------- CTA band (plain white, bordered — no fill) ---------- */
.cta-band{background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.cta-band h2{margin:0 0 6px;font-size:24px;}
.cta-band p{margin:0;color:var(--muted);}

/* ---------- Footer (brand-color filled) ---------- */
.site-footer{background:var(--brandfill);color:rgba(255,255,255,.75);padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14);}
.footer-grid h4{color:#fff;font-size:14px;margin:0 0 14px;}
.footer-grid p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.6);}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.footer-grid a{font-size:13px;color:rgba(255,255,255,.75);}
.footer-grid a:hover{color:#fff;}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;}
.footer-social a:hover{background:rgba(255,255,255,.25);}
.footer-bottom{padding:18px 0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.5);}

/* ---------- Misc ---------- */
.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:18px;}
.breadcrumbs a:hover{color:var(--brand);}
.empty-state{text-align:center;padding:60px 20px;color:var(--muted);}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:32px;}
.pagination a,.pagination span{padding:9px 15px;border-radius:10px;border:1px solid var(--line);font-size:13.5px;font-weight:600;}
.pagination a:hover{border-color:var(--brand);color:var(--brand);}
.pagination .current{background:var(--brand);color:#fff;border-color:var(--brand);}

.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:14px 18px;}
.filter-bar select,.filter-bar label{font-size:13.5px;}
.filter-bar select{padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:#fff;font-family:inherit;}

.alert{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:14px;}
.alert-error{background:#fef2f2;color:#991b1b;}
.alert-success{background:#f0fdf4;color:#166534;}

table.compare-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
table.compare-table th,table.compare-table td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:13.5px;text-align:left;vertical-align:top;}
table.compare-table th{background:var(--bg-soft);position:sticky;top:64px;}
table.compare-table td.spec-name{font-weight:600;color:var(--ink-soft);white-space:nowrap;}

@media (max-width:1000px){
  .header-meta{display:none;}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;padding:48px 0;}
  .hero h1{font-size:32px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .search-form{display:none;}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;text-align:center;}
}
