/*
Theme Name: Hill Zone
Theme URI: https://hillzonebd.com
Author: Hill Zone
Description: Official Hill Zone theme — Mobile, Gadget & Accessories shop in Rangamati. Mirrors the Lovable React design with full CMS via Customizer & Custom Post Types.
Version: 2.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: hillzone
*/

:root{
  --radius: 14px;
  --bg:#fdfffb; --fg:#0f1d18;
  --card:#ffffff; --card-fg:#0f1d18;
  --primary:#22c55e; --primary-fg:#ffffff;
  --primary-glow: rgba(34,197,94,.35);
  --secondary:#eef7ee; --secondary-fg:#0f1d18;
  --muted:#f1f5f1; --muted-fg:#5a6b62;
  --accent:#f5b540; --accent-fg:#3a2906;
  --destructive:#ef4444;
  --success:#22c55e;
  --border:#e1ebe3; --input:#eef2ee;
  --shadow-glow: 0 10px 40px -10px var(--primary-glow);
  --shadow-card: 0 8px 30px -12px rgba(15,29,24,.18);
  --gradient-hero: linear-gradient(135deg,#fafff7 0%,#dff6df 50%,#fff1c2 100%);
  --gradient-primary: linear-gradient(135deg,#22c55e,#f5b540);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif; background:var(--bg); color:var(--fg);
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(circle at 20% 0%, rgba(34,197,94,.08), transparent 40%),
    radial-gradient(circle at 80% 100%, rgba(245,181,64,.08), transparent 40%);
  background-attachment:fixed;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Space Grotesk','Inter',sans-serif;letter-spacing:-.02em;line-height:1.1}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.font-display{font-family:'Space Grotesk','Inter',sans-serif}
.text-gradient-primary{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}
.bg-hero{background:var(--gradient-hero)}
.shadow-glow{box-shadow:var(--shadow-glow)}
.shadow-card{box-shadow:var(--shadow-card)}

/* Header */
.hz-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.hz-header .row{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.hz-logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px}
.hz-logo span{color:var(--primary)}
.hz-nav{display:none;gap:24px;font-weight:600;font-size:14px}
.hz-nav a:hover{color:var(--primary)}
@media(min-width:768px){.hz-nav{display:flex}}
.hz-cta{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:var(--primary-fg);padding:9px 16px;border-radius:12px;font-weight:600;font-size:14px;box-shadow:var(--shadow-glow);transition:transform .2s}
.hz-cta:hover{transform:scale(1.04)}
.hz-btn-outline{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);border:1px solid var(--border);padding:9px 16px;border-radius:12px;font-weight:600;font-size:14px}
.hz-btn-outline:hover{border-color:var(--primary);color:var(--primary)}

/* Hero */
.hz-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.hz-hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;padding:48px 0}
@media(min-width:768px){.hz-hero-grid{grid-template-columns:1fr 1fr;padding:80px 0}}
.hz-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(34,197,94,.3);background:rgba(34,197,94,.1);color:var(--primary);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}
.hz-h1{font-weight:700;font-size:44px;line-height:.95}
@media(min-width:768px){.hz-h1{font-size:80px}}
.hz-lead{font-size:18px;color:var(--muted-fg);max-width:480px}
.hz-actions{display:flex;flex-wrap:wrap;gap:12px}
.hz-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
@media(min-width:640px){.hz-trust{grid-template-columns:repeat(4,1fr)}}
.hz-trust-item{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.6);border:1px solid var(--border);padding:12px;border-radius:14px;font-size:12px;font-weight:600}
.hz-trust-item .ico{color:var(--primary);font-size:18px}
.hz-hero-img{position:relative}
.hz-hero-img::before{content:"";position:absolute;inset:-32px;background:rgba(34,197,94,.18);filter:blur(48px);border-radius:50%}
.hz-hero-img img{position:relative;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow-card)}

/* Section */
.hz-section{padding:40px 0}
@media(min-width:768px){.hz-section{padding:56px 0}}
.hz-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:16px}
.hz-section h2{font-size:28px;font-weight:700}
@media(min-width:768px){.hz-section h2{font-size:32px}}
.hz-section .sub{font-size:14px;color:var(--muted-fg);margin-top:4px}

/* Categories */
.hz-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(min-width:640px){.hz-cats{grid-template-columns:repeat(5,1fr)}}
@media(min-width:1024px){.hz-cats{grid-template-columns:repeat(10,1fr)}}
.hz-cat{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:12px;text-align:center;transition:all .2s}
.hz-cat:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}
.hz-cat .emoji{font-size:28px;margin-bottom:4px;display:block;transition:transform .2s}
.hz-cat:hover .emoji{transform:scale(1.1)}
.hz-cat .lbl{font-size:11px;font-weight:600}

/* Brands */
.hz-brands{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;text-align:center;font-weight:700}
.hz-brands span{margin:0 12px;color:var(--fg)}

/* Deal */
.hz-deal{background:linear-gradient(135deg,rgba(245,181,64,.15),rgba(34,197,94,.10));border:1px solid var(--accent);border-radius:24px;padding:24px;display:grid;gap:16px;align-items:center}
@media(min-width:768px){.hz-deal{grid-template-columns:1fr auto;padding:32px}}
.hz-deal h3{font-size:24px;font-weight:700}
.hz-deal-time{display:flex;gap:8px}
.hz-deal-time div{background:#0f1d18;color:#fff;padding:10px 14px;border-radius:12px;font-weight:700;text-align:center;min-width:56px}
.hz-deal-time div small{display:block;font-size:10px;font-weight:500;opacity:.7}

/* Products */
.hz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:640px){.hz-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.hz-grid{grid-template-columns:repeat(4,1fr)}}
.hz-card{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s}
.hz-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}
.hz-card .thumb{aspect-ratio:1;display:grid;place-items:center;font-size:64px;background:var(--gradient-hero)}
.hz-card .body{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.hz-card .brand{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg);font-weight:600}
.hz-card .name{font-weight:600;font-size:14px;line-height:1.3;min-height:36px}
.hz-card .price{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;color:var(--primary)}
.hz-card .old{font-size:12px;color:var(--muted-fg);text-decoration:line-through;margin-left:6px}
.hz-card .ctas{display:flex;gap:6px;margin-top:auto;padding-top:8px}
.hz-card .ctas a{flex:1;text-align:center;padding:8px;border-radius:10px;font-size:12px;font-weight:600}
.hz-card .ctas .buy{background:var(--primary);color:var(--primary-fg)}
.hz-card .ctas .ask{background:var(--secondary);border:1px solid var(--border)}
.hz-badge-out{position:absolute;top:8px;right:8px;background:var(--destructive);color:#fff;font-size:10px;padding:3px 8px;border-radius:8px;font-weight:600}

/* Promo */
.hz-promo{background:linear-gradient(135deg,var(--primary),rgba(34,197,94,.7));color:var(--primary-fg);border-radius:28px;padding:32px;position:relative;overflow:hidden}
@media(min-width:768px){.hz-promo{padding:48px}}
.hz-promo .emoji-bg{position:absolute;right:-30px;top:-30px;font-size:200px;opacity:.1}
.hz-promo h3{font-size:32px;font-weight:700;margin-top:8px}
@media(min-width:768px){.hz-promo h3{font-size:40px}}
.hz-promo .uptag{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;opacity:.8}

/* SEO content */
.hz-seo{max-width:880px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:24px;padding:24px}
@media(min-width:768px){.hz-seo{padding:40px}}
.hz-seo p{color:var(--muted-fg);line-height:1.7;margin-top:14px;font-size:15px}
.hz-seo strong{color:var(--fg)}
.hz-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.hz-tag{background:var(--secondary);border:1px solid var(--border);font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;color:#33453c}

/* Testimonials */
.hz-testi{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.hz-testi{grid-template-columns:repeat(3,1fr)}}
.hz-testi .item{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px}
.hz-testi .stars{color:#f5b540;letter-spacing:2px;margin-bottom:8px}
.hz-testi .who{font-weight:700;margin-top:10px;font-size:14px}

/* Video / FAQ / Map */
.hz-video{aspect-ratio:16/9;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card);max-width:880px;margin:0 auto}
.hz-video iframe{width:100%;height:100%;border:0}
.hz-faq{max-width:760px;margin:0 auto}
.hz-faq details{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:10px}
.hz-faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
.hz-faq summary::after{content:"+";font-size:22px;color:var(--primary)}
.hz-faq details[open] summary::after{content:"−"}
.hz-faq details p{margin-top:10px;color:var(--muted-fg);line-height:1.6;font-size:14px}

.hz-map{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.hz-map{grid-template-columns:1fr 1fr}}
.hz-map .info{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:24px;display:flex;flex-direction:column;justify-content:center}
.hz-map iframe{width:100%;height:100%;min-height:280px;border:0;border-radius:24px;border:1px solid var(--border)}

/* Footer */
.hz-footer{margin-top:64px;border-top:1px solid var(--border);background:rgba(255,255,255,.5)}
.hz-footer .grid{display:grid;grid-template-columns:1fr;gap:32px;padding:40px 0}
@media(min-width:768px){.hz-footer .grid{grid-template-columns:2fr 1fr 1fr}}
.hz-footer h4{font-size:15px;margin-bottom:12px}
.hz-footer ul{list-style:none}
.hz-footer li{font-size:14px;color:var(--muted-fg);margin-bottom:8px;display:flex;gap:8px}
.hz-footer li a:hover{color:var(--primary)}
.hz-footer .copy{border-top:1px solid var(--border);text-align:center;padding:14px 0;font-size:12px;color:var(--muted-fg)}

/* Floating WA */
.hz-fab{position:fixed;bottom:24px;right:24px;z-index:50;height:56px;width:56px;display:grid;place-items:center;border-radius:50%;background:var(--success);color:#fff;box-shadow:var(--shadow-glow);transition:transform .2s;font-size:24px}
.hz-fab:hover{transform:scale(1.1)}

/* Single product */
.hz-single{display:grid;grid-template-columns:1fr;gap:32px;padding:40px 0}
@media(min-width:768px){.hz-single{grid-template-columns:1fr 1fr}}
.hz-single .gallery{aspect-ratio:1;background:var(--gradient-hero);border-radius:24px;display:grid;place-items:center;font-size:160px;border:1px solid var(--border)}
.hz-single h1{font-size:32px;font-weight:700}
.hz-single .price-wrap{display:flex;align-items:baseline;gap:12px;margin:16px 0}
.hz-single .price-wrap .p{font-size:36px;font-weight:700;color:var(--primary);font-family:'Space Grotesk',sans-serif}
.hz-single .price-wrap .o{font-size:18px;color:var(--muted-fg);text-decoration:line-through}
.hz-single .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}

/* Filters bar */
.hz-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.hz-filters a{background:var(--card);border:1px solid var(--border);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600}
.hz-filters a.active,.hz-filters a:hover{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}

/* ============================================
   MOBILE RESPONSIVE FIXES v2.0.1
   ============================================ */
html,body{overflow-x:hidden;max-width:100vw}
img,iframe,video{max-width:100%;height:auto}
.container{width:100%;padding-left:14px;padding-right:14px}

/* Header — prevent overflow on small screens */
.hz-header .row{gap:8px;flex-wrap:nowrap}
.hz-logo{font-size:18px;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.hz-cta,.hz-btn-outline{flex-shrink:0}
@media(max-width:480px){
  .hz-logo{font-size:16px}
  .hz-cta{padding:8px 12px;font-size:12px}
  .hz-header .row{height:56px}
}

/* Hero — fit on mobile, no horizontal overflow */
.hz-hero{overflow:hidden}
.hz-hero-grid{padding:32px 0;gap:28px}
.hz-h1{font-size:36px;word-break:break-word}
@media(max-width:380px){.hz-h1{font-size:30px}}
.hz-lead,.hz-hero p{max-width:100%;font-size:15px}
.hz-actions a{flex:1 1 auto;justify-content:center;min-width:140px}
.hz-trust-item{font-size:11px;padding:10px;line-height:1.2}
.hz-hero-img::before{inset:-12px}

/* Brand strip — wrap instead of overflow */
.hz-brands{font-size:13px;line-height:1.8;padding:14px;word-spacing:2px}
.hz-brands span{margin:0 6px;display:inline-block;white-space:nowrap}

/* Deal */
.hz-deal h3{font-size:18px;line-height:1.3}
.hz-deal-time div{min-width:48px;padding:8px 10px;font-size:14px}

/* Section heads — stack on mobile */
@media(max-width:640px){
  .hz-section-head{flex-direction:column;align-items:flex-start;gap:10px}
  .hz-section-head .hz-btn-outline{align-self:stretch;text-align:center;justify-content:center}
  .hz-section h2{font-size:22px}
}

/* Promo */
.hz-promo{padding:24px;border-radius:22px}
.hz-promo h3{font-size:24px}
.hz-promo .emoji-bg{font-size:140px;right:-20px;top:-20px}

/* SEO content */
.hz-seo{padding:18px;border-radius:18px}
.hz-seo h2{font-size:22px}
.hz-seo p{font-size:14px;line-height:1.65}

/* Map */
.hz-map iframe{min-height:240px}

/* Single product */
.hz-single{padding:24px 0;gap:24px}
.hz-single h1{font-size:24px}
.hz-single .price-wrap .p{font-size:28px}
.hz-single .price-wrap .o{font-size:15px}
.hz-single .gallery{font-size:110px;border-radius:20px}
.hz-single .ctas a{flex:1 1 auto;text-align:center;justify-content:center;min-width:140px}

/* Floating WA — don't cover content */
.hz-fab{bottom:18px;right:18px;height:52px;width:52px;font-size:22px}

/* Footer */
.hz-footer{margin-top:40px}
.hz-footer .grid{padding:28px 0;gap:24px}

/* Grids — min-width:0 prevents overflow inside grid items */
.hz-grid > *,.hz-cats > *,.hz-testi > *,.hz-map > *{min-width:0}

/* Tables / pre that might overflow */
table,pre{max-width:100%;overflow-x:auto;display:block}

/* Tap targets */
a,button{touch-action:manipulation}

/* ========== v2.1.0 — Header parity with React site ========== */
.hz-topbar{display:none;background:rgba(34,197,94,.10);font-size:12px;color:var(--muted-fg)}
@media(min-width:768px){.hz-topbar{display:block}}
.hz-topbar-row{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;gap:12px}
.hz-topbar-loc{display:inline-flex;align-items:center;gap:6px}
.hz-topbar-phone{display:inline-flex;align-items:center;gap:6px;color:var(--muted-fg)}
.hz-topbar-phone:hover{color:var(--primary)}

.hz-mainbar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px}
.hz-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}
.hz-brand-logo{height:40px;width:40px;object-fit:contain;flex-shrink:0;border-radius:8px}
.hz-brand-text{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.hz-brand-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hz-accent{color:var(--primary)}
.hz-brand-sub{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted-fg);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:768px){.hz-brand-title{font-size:20px}}

.hz-nav{display:none;align-items:center;gap:4px;font-size:14px;font-weight:500}
.hz-nav a{padding:8px 12px;border-radius:8px;transition:all .15s}
.hz-nav a:hover{color:var(--primary);background:rgba(34,197,94,.08)}
@media(min-width:1024px){.hz-nav{display:flex}}

.hz-cart-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;width:40px;border-radius:12px;background:var(--secondary);font-size:18px;flex-shrink:0;transition:all .15s}
.hz-cart-btn:hover{background:var(--primary);color:var(--primary-fg)}

/* hide old header styles fallback */
.hz-header .row{display:none}

/* ========== Mobile bottom navigation ========== */
.hz-bottom-nav{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border-top:1px solid var(--border);
  padding-bottom:env(safe-area-inset-bottom);
  height:64px;
}
.hz-bottom-nav a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-size:10px;font-weight:600;color:var(--muted-fg);
  text-align:center;line-height:1.1;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.hz-bottom-nav a .ico{font-size:20px;line-height:1}
.hz-bottom-nav a:hover,.hz-bottom-nav a:active{color:var(--primary)}
@media(min-width:768px){.hz-bottom-nav{display:none}}

/* prevent page content from being covered by bottom nav on mobile */
@media(max-width:767px){
  body{padding-bottom:80px}
  .hz-fab{bottom:80px !important}
}
