/*
Theme Name: Green Technology
Theme URI: https://greentechnologyctg.com
Author: Green Technology
Author URI: https://greentechnologyctg.com
Description: একটি সম্পূর্ণ বাংলা ওয়ার্ডপ্রেস থিম — Green Technology-এর জন্য তৈরি, ফটোকপিয়ার সার্ভিস, প্রিন্টার, কম্পিউটার ও আইটি প্রোডাক্ট বিক্রয় প্রতিষ্ঠানের জন্য বিশেষভাবে ডিজাইন করা। Forest green ও lime accent ব্র্যান্ডিং, কাস্টম পোস্ট টাইপ, কাস্টমাইজার অপশন, WooCommerce ও Elementor সাপোর্ট সহ।
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: green-technology
Tags: green, technology, it-store, ecommerce, custom-menu, custom-logo, translation-ready
*/

/* =========================================================
   0. Design tokens
   ========================================================= */
:root{
  --forest-900:#0B3D2E;
  --forest-700:#124A38;
  --green-600:#1B6B45;
  --green-400:#4CAF7D;
  --lime-500:#C6FF3D;
  --lime-300:#E3FF9C;
  --paper:#F6FAF7;
  --white:#FFFFFF;
  --ink:#0E211A;
  --ink-soft:#4B5F57;
  --line:#E1EBE5;
  --shadow: 0 20px 45px -20px rgba(11,61,46,.35);
  --radius-lg: 26px;
  --radius-md: 16px;
  --radius-sm: 10px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Noto Sans Bengali','Hind Siliguri',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  margin:0;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6, .display{
  font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
  font-weight:700;
  color:var(--forest-900);
  line-height:1.25;
  margin:0 0 .5em;
}
a{text-decoration:none; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
img{max-width:100%; height:auto; display:block;}
svg{display:block;}
button{font-family:inherit;}
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--forest-900); color:#fff;
  padding:12px 20px; z-index:9999; border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--green-600); outline-offset:3px;}

.container{
  width:min(1180px, 92%);
  margin-inline:auto;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.82rem; font-weight:600; letter-spacing:.04em;
  color:var(--green-600);
  background:rgba(76,175,125,.12);
  padding:6px 14px; border-radius:999px; margin-bottom:16px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--lime-500);box-shadow:0 0 0 4px rgba(198,255,61,.25);}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Hind Siliguri',sans-serif; font-weight:600; font-size:1rem;
  padding:14px 26px; border-radius:999px; border:none; cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;
}
.btn-primary{ background:var(--lime-500); color:var(--forest-900); box-shadow:0 12px 24px -8px rgba(198,255,61,.55); }
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 16px 30px -8px rgba(198,255,61,.7);}
.btn-outline{ background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.5); }
.btn-outline:hover{background:rgba(255,255,255,.12); transform:translateY(-3px);}
.btn-outline-dark{ background:transparent; color:var(--forest-900); border:1.5px solid var(--line); }
.btn-outline-dark:hover{border-color:var(--green-600); background:rgba(27,107,69,.06);}
.btn-sm{padding:10px 20px; font-size:.9rem;}

/* =========================================================
   1. Header
   ========================================================= */
#masthead{
  position:sticky; top:0; z-index:100;
  background:rgba(246,250,247,.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:20px; }
.site-logo{display:flex; align-items:center; gap:10px;}
.logo-mark{
  width:42px; height:42px; border-radius:12px;
  background:linear-gradient(145deg, var(--forest-900), var(--green-600));
  display:flex; align-items:center; justify-content:center;
  position:relative; flex-shrink:0;
}
.logo-mark::after{
  content:""; position:absolute; width:14px; height:14px; border-radius:50%;
  background:var(--lime-500); top:-4px; right:-4px; box-shadow:0 0 0 4px var(--paper);
}
.logo-mark svg{width:24px; height:24px;}
.site-logo img{max-height:44px; width:auto; border-radius:10px;}
.logo-text{font-family:'Hind Siliguri'; font-weight:700; font-size:1.15rem; color:var(--forest-900);}
.logo-text span{display:block; font-size:.68rem; font-weight:500; color:var(--ink-soft);}
#site-navigation ul{display:flex; gap:32px; align-items:center;}
#site-navigation li{position:relative;}
#site-navigation a{font-weight:500; font-size:.98rem; color:var(--ink); position:relative; padding:6px 0; display:inline-block;}
#site-navigation a::after{content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--green-600); transition:width .25s ease;}
#site-navigation a:hover::after, #site-navigation .current-menu-item > a::after{width:100%;}
#site-navigation ul ul{
  position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--line);
  border-radius:12px; padding:10px; min-width:200px; box-shadow:var(--shadow);
  flex-direction:column; display:none; z-index:50;
}
#site-navigation li:hover > ul{display:flex;}
#site-navigation ul ul a::after{display:none;}
.nav-right{display:flex; align-items:center; gap:18px;}
.header-cart{position:relative; display:flex; align-items:center;}
.header-cart svg{width:22px; height:22px;}
.cart-count{
  position:absolute; top:-8px; right:-10px; background:var(--forest-900); color:#fff;
  font-size:.65rem; font-weight:700; width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.menu-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:0;}
.menu-toggle span{width:26px; height:2.5px; background:var(--forest-900); border-radius:2px;}
#site-navigation.nav-open{
  display:block !important; position:absolute; top:72px; left:0; right:0; background:#fff;
  border-top:1px solid var(--line); padding:20px 6%;
}
#site-navigation.nav-open ul{flex-direction:column; align-items:flex-start; gap:18px;}
#site-navigation.nav-open ul ul{position:static; box-shadow:none; display:flex; border:none; padding-left:14px;}

/* =========================================================
   2. Hero / device stage
   ========================================================= */
.hero{
  position:relative;
  background:radial-gradient(120% 130% at 15% 0%, var(--forest-700) 0%, var(--forest-900) 55%, #072118 100%);
  color:var(--white); overflow:hidden; padding:90px 0 120px;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 30% 20%, black 0%, transparent 70%);
  pointer-events:none;
}
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; position:relative; z-index:2; }
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:.82rem; font-weight:600; letter-spacing:.03em;
  color:var(--lime-300); background:rgba(198,255,61,.1); border:1px solid rgba(198,255,61,.25);
  padding:7px 16px; border-radius:999px; margin-bottom:22px;
}
.hero h1{ font-size:clamp(2rem, 4vw, 3.1rem); color:var(--white); margin-bottom:20px; max-width:600px; }
.hero h1 em{font-style:normal; color:var(--lime-500);}
.hero p.lead{ font-size:1.08rem; color:rgba(255,255,255,.78); max-width:520px; margin-bottom:34px; }
.hero-actions{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px;}
.hero-stats{display:flex; gap:36px; flex-wrap:wrap;}
.hero-stats div strong{display:block; font-family:'Hind Siliguri'; font-size:1.7rem; font-weight:700; color:var(--white);}
.hero-stats div span{font-size:.85rem; color:rgba(255,255,255,.6);}

.device-stage{position:relative; height:480px; perspective:1400px;}
.orbit-ring{
  position:absolute; inset:0; margin:auto; width:340px; height:340px;
  border:1px solid rgba(198,255,61,.18); border-radius:50%; top:50%; left:50%;
  transform:translate(-50%,-50%); animation:gtSpin 26s linear infinite;
}
.orbit-ring.r2{width:440px; height:440px; border-color:rgba(255,255,255,.08); animation-duration:38s; animation-direction:reverse;}
@keyframes gtSpin{ to{ transform:translate(-50%,-50%) rotate(360deg);} }
.core-glow{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:150px; height:150px; border-radius:50%;
  background:radial-gradient(circle, rgba(198,255,61,.55) 0%, rgba(198,255,61,.08) 60%, transparent 75%);
  filter:blur(2px); animation:gtPulse 3.2s ease-in-out infinite;
}
@keyframes gtPulse{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.9;} 50%{ transform:translate(-50%,-50%) scale(1.15); opacity:1;} }
.device{
  position:absolute; width:96px; height:96px; background:linear-gradient(150deg,#ffffff 0%, #E9F5EE 100%);
  border-radius:22px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 25px 40px -12px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.6);
  transform-style:preserve-3d;
}
.device svg{width:46px; height:46px;}
.device.main{ width:150px; height:150px; top:50%; left:50%; transform:translate(-50%,-50%) rotateX(8deg) rotateY(-10deg); animation:gtFloatMain 5s ease-in-out infinite; z-index:3; }
.device.main svg{width:74px; height:74px;}
@keyframes gtFloatMain{
  0%,100%{ transform:translate(-50%,-50%) rotateX(8deg) rotateY(-10deg) translateY(0px);}
  50%{ transform:translate(-50%,-50%) rotateX(8deg) rotateY(-10deg) translateY(-16px);}
}
.device.d1{ top:8%; left:6%; animation:gtFloatA 4.5s ease-in-out infinite; }
.device.d2{ top:6%; right:4%; width:78px; height:78px; animation:gtFloatB 5.5s ease-in-out infinite .3s;}
.device.d2 svg{width:38px; height:38px;}
.device.d3{ bottom:10%; left:0%; width:84px; height:84px; animation:gtFloatA 5s ease-in-out infinite .6s;}
.device.d3 svg{width:40px; height:40px;}
.device.d4{ bottom:4%; right:10%; animation:gtFloatB 4.8s ease-in-out infinite .2s;}
.device.d5{ top:42%; right:-2%; width:70px; height:70px; animation:gtFloatA 4.2s ease-in-out infinite .9s;}
.device.d5 svg{width:34px; height:34px;}
@keyframes gtFloatA{ 0%,100%{ transform:translateY(0) rotate(-3deg);} 50%{ transform:translateY(-18px) rotate(2deg);} }
@keyframes gtFloatB{ 0%,100%{ transform:translateY(0) rotate(3deg);} 50%{ transform:translateY(-14px) rotate(-2deg);} }
@media (prefers-reduced-motion: reduce){ .orbit-ring, .core-glow, .device, .device.main{animation:none !important;} }

/* =========================================================
   3. Category strip
   ========================================================= */
.cat-section{padding:70px 0 30px;}
.cat-strip{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
.cat-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:24px 16px; text-align:center; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent;}
.cat-icon{ width:52px; height:52px; border-radius:14px; background:rgba(27,107,69,.09); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.cat-icon svg{width:26px; height:26px;}
.cat-card p{font-weight:600; font-size:.92rem; color:var(--forest-900); margin:0;}

/* =========================================================
   4. Section heading
   ========================================================= */
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; flex-wrap:wrap; }
.section-head h2{font-size:clamp(1.5rem, 2.4vw, 2.1rem);}
.section-head p{color:var(--ink-soft); max-width:480px; margin-top:10px;}

/* =========================================================
   5. Services
   ========================================================= */
.services{padding:60px 0;}
.service-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:auto auto; gap:20px; }
.service-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:32px; position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;
}
.service-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.service-card.featured{ grid-row:span 2; background:linear-gradient(160deg, var(--forest-900), var(--forest-700)); color:var(--white); }
.service-card.featured h3{color:var(--white); font-size:1.5rem;}
.service-card.featured p{color:rgba(255,255,255,.75);}
.service-card.featured .badge{ display:inline-block; background:var(--lime-500); color:var(--forest-900); font-size:.78rem; font-weight:700; padding:5px 12px; border-radius:999px; margin-bottom:18px; }
.service-icon{ width:56px; height:56px; border-radius:16px; background:rgba(27,107,69,.1); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.service-card.featured .service-icon{background:rgba(198,255,61,.14);}
.service-icon svg{width:28px; height:28px;}
.service-card h3{font-size:1.15rem; margin-bottom:10px;}
.service-card p{color:var(--ink-soft); font-size:.94rem; margin-bottom:18px;}
.service-link{font-weight:600; font-size:.9rem; color:var(--green-600); display:inline-flex; align-items:center; gap:6px;}
.service-card.featured .service-link{color:var(--lime-500);}
.device-illustration{ margin-top:24px; height:150px; border-radius:16px; background:rgba(255,255,255,.05); display:flex; align-items:center; justify-content:center; }
.device-illustration svg{width:90px; height:90px;}
.service-grid-page{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}

/* =========================================================
   6. Brands
   ========================================================= */
.brands{padding:50px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.brand-row{display:flex; flex-wrap:wrap; gap:14px; justify-content:center;}
.brand-chip{
  padding:12px 26px; border-radius:999px; border:1px solid var(--line); font-weight:600; color:var(--forest-900);
  font-family:'Hind Siliguri'; letter-spacing:.02em; transition:all .25s ease; background:var(--white);
}
.brand-chip:hover{background:var(--forest-900); color:var(--white); border-color:var(--forest-900);}
.brand-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.brand-tile{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:30px 20px;
  text-align:center; font-family:'Hind Siliguri'; font-weight:700; font-size:1.1rem; color:var(--forest-900);
  transition:transform .25s ease, box-shadow .25s ease;
}
.brand-tile:hover{transform:translateY(-6px); box-shadow:var(--shadow);}

/* =========================================================
   7. Products
   ========================================================= */
.products{padding:80px 0;}
.product-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:22px;}
.product-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.product-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.product-thumb{ height:170px; background:linear-gradient(160deg,#EAF6EF, #DCEFE3); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.product-thumb img{width:100%; height:100%; object-fit:cover;}
.product-thumb svg{width:64px; height:64px;}
.product-tag{ position:absolute; top:12px; left:12px; background:var(--forest-900); color:var(--white); font-size:.7rem; font-weight:700; padding:4px 10px; border-radius:999px; }
.product-body{padding:18px 18px 22px;}
.product-body .brand-name{font-size:.78rem; color:var(--ink-soft); font-weight:600; margin-bottom:4px;}
.product-body h4, .product-body h3{font-size:1rem; color:var(--forest-900); margin-bottom:8px; font-family:'Hind Siliguri'; font-weight:600;}
.stars{display:flex; align-items:center; gap:4px; margin-bottom:10px;}
.stars svg{width:15px; height:15px;}
.stars span{font-size:.8rem; color:var(--ink-soft); margin-left:4px;}
.price-row{display:flex; align-items:center; justify-content:space-between;}
.price{font-family:'Hind Siliguri'; font-weight:700; color:var(--forest-900); font-size:1.05rem;}
.price small{font-weight:500; font-size:.75rem; color:var(--ink-soft);}
.icon-btn{ width:38px; height:38px; border-radius:10px; background:rgba(27,107,69,.08); display:flex; align-items:center; justify-content:center; transition:background .25s ease; cursor:pointer; border:none; }
.icon-btn:hover{background:var(--green-600);}
.icon-btn:hover svg path{stroke:white;}
.icon-btn svg{width:17px; height:17px;}
.single-product-wrap{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:flex-start;}
.single-product-gallery{background:linear-gradient(160deg,#EAF6EF, #DCEFE3); border-radius:var(--radius-lg); height:420px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.single-product-gallery img{width:100%; height:100%; object-fit:cover;}

/* =========================================================
   8. Testimonials
   ========================================================= */
.testimonials{padding:80px 0; background:var(--forest-900); color:var(--white); position:relative; overflow:hidden;}
.testimonials .section-head p{color:rgba(255,255,255,.65);}
.testimonials .section-head h2{color:var(--white);}
.t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.t-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); padding:28px; }
.t-card .quote{width:30px; height:30px; margin-bottom:16px; opacity:.7;}
.t-card p.msg{color:rgba(255,255,255,.85); font-size:.95rem; margin-bottom:20px;}
.t-person{display:flex; align-items:center; gap:12px;}
.t-avatar{ width:42px; height:42px; border-radius:50%; background:linear-gradient(145deg, var(--green-400), var(--lime-500)); display:flex; align-items:center; justify-content:center; font-family:'Hind Siliguri'; font-weight:700; color:var(--forest-900); overflow:hidden; }
.t-avatar img{width:100%; height:100%; object-fit:cover;}
.t-person strong{display:block; font-size:.92rem;}
.t-person span{font-size:.78rem; color:rgba(255,255,255,.55);}

/* =========================================================
   9. FAQ
   ========================================================= */
.faq{padding:80px 0;}
.faq-wrap{max-width:820px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
.faq-q{ display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-weight:600; font-family:'Hind Siliguri'; font-size:1.02rem; color:var(--forest-900); }
.faq-q .plus{ width:26px; height:26px; border-radius:50%; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .3s ease, background .3s ease; position:relative; }
.faq-q .plus::before, .faq-q .plus::after{ content:""; position:absolute; background:var(--forest-900); }
.faq-q .plus::before{width:10px; height:1.6px;}
.faq-q .plus::after{width:1.6px; height:10px; transition:opacity .25s ease;}
.faq-item.open .faq-q .plus{background:var(--lime-500); transform:rotate(180deg);}
.faq-item.open .faq-q .plus::after{opacity:0;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease; color:var(--ink-soft); font-size:.94rem;}
.faq-a p{padding-top:14px;}
.faq-item.open .faq-a{max-height:260px;}

/* =========================================================
   10. CTA banner
   ========================================================= */
.cta-banner{
  margin:0 auto 90px; width:min(1180px,92%);
  background:linear-gradient(120deg, var(--green-600), var(--forest-900));
  border-radius:var(--radius-lg); padding:50px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; color:var(--white);
}
.cta-banner h3{color:var(--white); font-size:1.5rem; max-width:520px;}
.cta-banner p{color:rgba(255,255,255,.7); margin-top:8px;}

/* =========================================================
   11. Footer
   ========================================================= */
#colophon{background:#08281D; color:rgba(255,255,255,.75); padding:70px 0 30px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.1);}
.foot-grid h4{color:var(--white); font-size:1rem; margin-bottom:20px; font-family:'Hind Siliguri';}
.foot-grid ul li{margin-bottom:12px; font-size:.92rem;}
.foot-grid ul li a:hover{color:var(--lime-500);}
.foot-about p{font-size:.92rem; margin:16px 0 20px; max-width:280px;}
.foot-contact li{display:flex; gap:10px; align-items:flex-start; font-size:.9rem;}
.foot-contact svg{width:17px; height:17px; flex-shrink:0; margin-top:2px;}
.social-row{display:flex; gap:10px; margin-top:6px;}
.social-icon{ width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; transition:background .25s ease; }
.social-icon:hover{background:var(--lime-500);}
.social-icon svg{width:17px; height:17px;}
.foot-bottom{padding-top:26px; display:flex; justify-content:space-between; align-items:center; font-size:.85rem; color:rgba(255,255,255,.5); flex-wrap:wrap; gap:10px;}

/* =========================================================
   12. Floating actions
   ========================================================= */
.float-actions{position:fixed; right:22px; bottom:26px; z-index:200; display:flex; flex-direction:column; gap:14px;}
.float-btn{ width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 26px -8px rgba(0,0,0,.4); transition:transform .25s ease; }
.float-btn:hover{transform:scale(1.08);}
.float-btn.whatsapp{background:#25D366;}
.float-btn.call{background:var(--lime-500);}
.float-btn svg{width:26px; height:26px;}

/* =========================================================
   13. Generic page / content / blog / comments
   ========================================================= */
.page-header-band{ background:var(--forest-900); color:#fff; padding:70px 0; text-align:center; }
.page-header-band h1{color:#fff; margin-bottom:10px;}
.page-header-band p{color:rgba(255,255,255,.7);}
.content-wrap{padding:70px 0;}
.entry-content{max-width:820px; margin:0 auto;}
.entry-content p{margin-bottom:1.2em;}
.entry-content img{border-radius:var(--radius-md); margin:1.5em 0;}
/* Content lists — the site-wide `ul{list-style:none}` reset at the top of this
   file intentionally strips bullets from nav/footer/category-strip lists, but
   that also strips bullets from actual written content (post/page/product
   descriptions). Restore real bullets/numbers, scoped to content areas only. */
.entry-content ul,
.wc-tab-panel ul,
.woocommerce-product-details__short-description ul{
  list-style: disc;
  padding-left: 1.4em;
  margin-bottom: 1.2em;
}
.entry-content ul li,
.wc-tab-panel ul li,
.woocommerce-product-details__short-description ul li{
  margin-bottom: .4em;
}
.entry-content ol,
.wc-tab-panel ol{
  list-style: decimal;
  padding-left: 1.4em;
  margin-bottom: 1.2em;
}
.blog-grid{display:grid; grid-template-columns:2fr 1fr; gap:50px;}
.post-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:26px; margin-bottom:22px;}
.post-card h2{font-size:1.2rem;}
.post-card .meta{font-size:.82rem; color:var(--ink-soft); margin-bottom:10px;}
.widget{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; margin-bottom:22px;}
.widget h2, .widget h3{font-size:1rem; margin-bottom:16px;}
.widget ul li{margin-bottom:10px; font-size:.92rem;}
#comments{max-width:820px; margin:0 auto; padding:40px 0;}
.comment-list{margin-bottom:30px;}
.comment-body{border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; margin-bottom:16px;}
.comment-rating{color:var(--lime-500); margin-bottom:6px;}
.comment-form label{display:block; font-weight:600; margin-bottom:6px; font-size:.92rem;}
.comment-form input, .comment-form textarea, .gt-form input, .gt-form textarea, .gt-form select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-sm);
  font-family:inherit; font-size:.95rem; margin-bottom:16px; background:#fff;
}
.comment-form input:focus, .comment-form textarea:focus, .gt-form input:focus, .gt-form textarea:focus{
  outline:none; border-color:var(--green-600); box-shadow:0 0 0 3px rgba(27,107,69,.12);
}
.star-rating-input{display:flex; gap:6px; margin-bottom:16px; flex-direction:row-reverse; justify-content:flex-end;}
.star-rating-input input{display:none;}
.star-rating-input label{width:24px; height:24px; cursor:pointer; color:var(--line);}
.star-rating-input label svg{width:24px; height:24px; fill:var(--line);}
.star-rating-input input:checked ~ label svg, .star-rating-input label:hover svg, .star-rating-input label:hover ~ label svg{fill:var(--lime-500);}

/* =========================================================
   14. Contact page
   ========================================================= */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:flex-start;}
.contact-info-card{background:var(--forest-900); color:#fff; border-radius:var(--radius-lg); padding:36px;}
.contact-info-card h3{color:#fff;}
.contact-info-card ul{margin-top:20px;}
.contact-info-card li{display:flex; gap:12px; align-items:flex-start; margin-bottom:18px; font-size:.94rem; color:rgba(255,255,255,.85);}
.contact-info-card svg{width:20px; height:20px; flex-shrink:0; margin-top:2px;}
.map-embed{border-radius:var(--radius-lg); overflow:hidden; margin-top:30px; border:1px solid var(--line);}
.map-embed iframe{width:100%; height:340px; border:0; display:block;}
.form-success{background:rgba(76,175,125,.12); color:var(--green-600); padding:16px 20px; border-radius:var(--radius-sm); margin-bottom:20px; font-weight:600;}
.form-error{background:rgba(220,53,69,.1); color:#c0392b; padding:16px 20px; border-radius:var(--radius-sm); margin-bottom:20px; font-weight:600;}

/* =========================================================
   15. WooCommerce compatibility
   ========================================================= */
.woocommerce ul.products li.product{ border:1px solid var(--line); border-radius:var(--radius-md); padding:16px; background:#fff; }
.woocommerce ul.products li.product .price{color:var(--forest-900); font-weight:700;}
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit{
  background:var(--lime-500) !important; color:var(--forest-900) !important; border-radius:999px !important;
  font-family:'Hind Siliguri',sans-serif !important; font-weight:600 !important; border:none !important; padding:12px 24px !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--forest-900) !important; color:#fff !important; }
.woocommerce span.onsale{background:var(--forest-900) !important; border-radius:999px !important;}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{border-color:var(--line) !important;}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--forest-900);}

/* =========================================================
   15b. Shop — featured categories + toolbar + filter sidebar
   ========================================================= */
.shop-hero{ background:var(--forest-900); color:#fff; padding:60px 0; text-align:center; }
.shop-hero h1{color:#fff; margin-bottom:8px;}
.shop-hero p{color:rgba(255,255,255,.7);}

.shop-cat-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin:50px 0; }
.shop-cat-tile{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:22px 14px; text-align:center;
  transition:transform .25s ease, box-shadow .25s ease;
}
.shop-cat-tile:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.shop-cat-tile .cat-icon{margin:0 auto 12px;}
.shop-cat-tile span{font-weight:600; font-size:.88rem; color:var(--forest-900); display:block;}
.shop-cat-tile small{color:var(--ink-soft); font-size:.75rem;}

.shop-section-title{display:flex; align-items:center; justify-content:space-between; margin:50px 0 24px;}
.shop-section-title h2{font-size:1.4rem; margin:0;}

.shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:16px 22px; margin-bottom:26px;
}
.shop-toolbar .result-count{color:var(--ink-soft); font-size:.9rem;}
.shop-toolbar select{ border:1px solid var(--line); border-radius:var(--radius-sm); padding:10px 14px; font-family:inherit; background:#fff; }
.shop-toolbar .mobile-filter-toggle{display:none;}

.shop-layout{display:grid; grid-template-columns:260px 1fr; gap:32px; align-items:flex-start;}
.shop-filters{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; position:sticky; top:100px; }
.filter-widget{border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:20px;}
.filter-widget:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.filter-widget h4{font-size:.95rem; margin-bottom:14px; color:var(--forest-900);}
.filter-checkbox-list label{ display:flex; align-items:center; gap:8px; font-size:.9rem; color:var(--ink); margin-bottom:10px; cursor:pointer; }
.filter-checkbox-list input[type="checkbox"]{ width:16px; height:16px; accent-color:var(--green-600); }
.filter-price-inputs{display:flex; gap:10px; align-items:center;}
.filter-price-inputs input{ width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius-sm); font-size:.85rem; }
.filter-apply-btn{width:100%; margin-top:6px; justify-content:center;}
.filter-clear{ display:block; text-align:center; font-size:.82rem; color:var(--ink-soft); margin-top:10px; text-decoration:underline; }

/* Product grid card (WooCommerce content-product.php reuses the gt_product card classes) */
.wc-badge-sale{ position:absolute; top:12px; left:12px; background:var(--forest-900); color:#fff; font-size:.7rem; font-weight:700; padding:4px 10px; border-radius:999px; z-index:2; }
.wc-badge-out{ position:absolute; top:12px; right:12px; background:#8a8a8a; color:#fff; font-size:.7rem; font-weight:700; padding:4px 10px; border-radius:999px; z-index:2; }

/* =========================================================
   15c. Single product page
   ========================================================= */
.wc-product-info .brand-name{font-size:.9rem;}
.wc-product-info h1{font-size:1.9rem; margin:8px 0 12px;}
.wc-price-block{font-size:1.7rem; font-weight:700; color:var(--forest-900); margin:14px 0;}
.wc-price-block del{color:var(--ink-soft); font-weight:500; font-size:1.1rem; margin-right:10px;}
.wc-short-description{color:var(--ink-soft); margin-bottom:20px; line-height:1.7;}
.wc-stock-badge{ display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:600; padding:6px 14px; border-radius:999px; margin-bottom:20px; }
.wc-stock-in{background:rgba(76,175,125,.15); color:var(--green-600);}
.wc-stock-out{background:rgba(220,53,69,.1); color:#c0392b;}
.wc-addtocart-row{display:flex; align-items:center; gap:16px; margin-bottom:24px; flex-wrap:wrap;}
.wc-addtocart-row .quantity input{ width:70px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-sm); text-align:center; font-size:1rem; }
.wc-secondary-actions{display:flex; gap:14px; flex-wrap:wrap;}
.wc-whatsapp-order{ display:inline-flex; align-items:center; gap:8px; color:#25D366; font-weight:600; font-size:.92rem; border:1.5px solid #25D366; padding:11px 20px; border-radius:999px; }
.wc-whatsapp-order:hover{background:#25D366; color:#fff;}
.wc-whatsapp-order svg path{transition:fill .2s ease;}

.wc-tabs{margin-top:60px;}
.wc-tab-nav{display:flex; gap:8px; border-bottom:1px solid var(--line); margin-bottom:30px; flex-wrap:wrap;}
.wc-tab-nav button{
  background:none; border:none; padding:14px 22px; font-family:'Hind Siliguri'; font-weight:600; font-size:.95rem;
  color:var(--ink-soft); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.wc-tab-nav button.active{color:var(--forest-900); border-bottom-color:var(--lime-500);}
.wc-tab-panel{display:none;}
.wc-tab-panel.active{display:block;}
.wc-spec-table{width:100%; border-collapse:collapse;}
.wc-spec-table tr{border-bottom:1px solid var(--line);}
.wc-spec-table td{padding:12px 10px; font-size:.92rem;}
.wc-spec-table td:first-child{color:var(--ink-soft); width:35%;}
.wc-spec-table td:last-child{color:var(--forest-900); font-weight:600;}

.wc-related{margin-top:70px;}

/* =========================================================
   15d. Cart page
   ========================================================= */
.wc-cart-layout{display:grid; grid-template-columns:1fr 340px; gap:36px; align-items:flex-start;}
.wc-cart-table{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden;}
.wc-cart-table th{ text-align:left; background:var(--paper); padding:16px; font-size:.85rem; color:var(--ink-soft); font-weight:600; }
.wc-cart-table td{padding:16px; border-top:1px solid var(--line); vertical-align:middle;}
.wc-cart-product{display:flex; align-items:center; gap:14px;}
.wc-cart-product img{width:64px; height:64px; object-fit:cover; border-radius:10px; background:#EAF6EF;}
.wc-cart-remove{color:#c0392b; font-size:.85rem; text-decoration:underline; cursor:pointer;}
.wc-cart-summary{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:26px; position:sticky; top:100px; }
.wc-cart-summary h3{font-size:1.1rem; margin-bottom:18px;}
.wc-summary-row{display:flex; justify-content:space-between; font-size:.92rem; margin-bottom:12px; color:var(--ink-soft);}
.wc-summary-row.total{ font-weight:700; color:var(--forest-900); font-size:1.15rem; border-top:1px solid var(--line); padding-top:14px; margin-top:14px; }
.wc-coupon-row{display:flex; gap:10px; margin:20px 0;}
.wc-coupon-row input{flex:1; padding:11px 14px; border:1px solid var(--line); border-radius:var(--radius-sm);}

/* =========================================================
   15e. Checkout page
   ========================================================= */
.wc-checkout-layout{display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:flex-start;}
.wc-checkout-section{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:30px; margin-bottom:24px;}
.wc-checkout-section h3{font-size:1.05rem; margin-bottom:20px;}
.wc-form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.wc-payment-methods label{
  display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:var(--radius-sm);
  padding:14px 16px; margin-bottom:12px; cursor:pointer; font-size:.92rem;
}
.wc-payment-methods input{accent-color:var(--green-600);}
.wc-order-review{ background:var(--forest-900); color:#fff; border-radius:var(--radius-lg); padding:28px; position:sticky; top:100px; }
.wc-order-review h3{color:#fff;}
.wc-order-review .wc-summary-row{color:rgba(255,255,255,.7);}
.wc-order-review .wc-summary-row.total{color:#fff; border-top-color:rgba(255,255,255,.15);}

/* =========================================================
   15f. My Account
   ========================================================= */
.wc-account-layout{display:grid; grid-template-columns:240px 1fr; gap:32px; align-items:flex-start;}
.wc-account-nav{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:10px; position:sticky; top:100px;}
.wc-account-nav a{ display:block; padding:12px 16px; border-radius:var(--radius-sm); font-size:.92rem; font-weight:500; color:var(--ink); margin-bottom:4px; }
.wc-account-nav a:hover{background:var(--paper);}
.wc-account-nav a.active{background:var(--forest-900); color:#fff;}
.wc-account-content{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:32px;}
.wc-orders-table{width:100%; border-collapse:collapse;}
.wc-orders-table th{text-align:left; padding:12px; font-size:.82rem; color:var(--ink-soft); border-bottom:1px solid var(--line);}
.wc-orders-table td{padding:14px 12px; border-bottom:1px solid var(--line); font-size:.9rem;}
.wc-order-status{padding:5px 12px; border-radius:999px; font-size:.78rem; font-weight:600; display:inline-block;}
.wc-status-processing{background:rgba(198,255,61,.2); color:var(--green-600);}
.wc-status-completed{background:rgba(76,175,125,.15); color:var(--green-600);}
.wc-status-pending{background:rgba(220,53,69,.1); color:#c0392b;}
.wc-tracking-link{color:var(--green-600); font-weight:600; font-size:.85rem;}

/* =========================================================
   15g. Responsive — shop
   ========================================================= */
@media (max-width:1024px){
  .shop-cat-grid{grid-template-columns:repeat(3,1fr);}
  .shop-layout{grid-template-columns:1fr;}
  .shop-filters{position:static; margin-bottom:24px;}
  .wc-single-wrap, .wc-cart-layout, .wc-checkout-layout, .wc-account-layout{grid-template-columns:1fr;}
  .wc-order-review, .wc-cart-summary{position:static;}
}
@media (max-width:680px){
  .shop-cat-grid{grid-template-columns:repeat(2,1fr);}
  .wc-form-row{grid-template-columns:1fr;}
  .shop-toolbar{flex-direction:column; align-items:flex-start;}
  .wc-account-layout{grid-template-columns:1fr;}
}

/* =========================================================
   15h. Theming WooCommerce's own default markup
   (product gallery, cart totals box, checkout fields, payment list)
   — these are intentionally NOT rebuilt from scratch (see readme),
   just restyled here so they match the rest of the site.
   ========================================================= */

/* Product gallery (kept as WooCommerce's own markup so zoom/lightbox/slider
   theme support keeps working) */
.wc-single-wrap{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:flex-start; margin-bottom:20px;}
.wc-single-wrap .woocommerce-product-gallery{border-radius:var(--radius-lg); overflow:hidden; background:linear-gradient(160deg,#EAF6EF, #DCEFE3);}
.wc-single-wrap .woocommerce-product-gallery img{border-radius:0;}
.wc-single-wrap .flex-control-thumbs{display:flex; gap:10px; margin-top:14px; list-style:none; padding:0;}
.wc-single-wrap .flex-control-thumbs li{width:72px;}
.wc-single-wrap .flex-control-thumbs img{border-radius:10px; border:2px solid var(--line); cursor:pointer;}
.wc-single-wrap .flex-control-thumbs img.flex-active{border-color:var(--green-600);}

.wc-product-info .product_title{font-size:1.9rem; margin:8px 0 12px; color:var(--forest-900);}
.wc-product-info .price{font-size:1.7rem; font-weight:700; color:var(--forest-900); margin:14px 0; display:block;}
.wc-product-info .price del{color:var(--ink-soft); font-weight:500; font-size:1.1rem; margin-right:10px; opacity:1;}
.wc-product-info .price ins{text-decoration:none;}
.wc-product-info .woocommerce-product-details__short-description{color:var(--ink-soft); margin-bottom:20px; line-height:1.7;}
.wc-product-info .stock{ display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:600; padding:6px 14px; border-radius:999px; margin-bottom:20px; background:rgba(76,175,125,.15); color:var(--green-600); }
.wc-product-info .stock.out-of-stock{background:rgba(220,53,69,.1); color:#c0392b;}
.wc-product-info .woocommerce-variation-add-to-cart,
.wc-product-info form.cart{display:flex; align-items:center; gap:16px; margin-bottom:16px; flex-wrap:wrap;}
.wc-product-info form.cart .quantity input{width:70px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-sm); text-align:center; font-size:1rem;}
.wc-product-info form.cart button.single_add_to_cart_button{
  background:var(--lime-500) !important; color:var(--forest-900) !important; border-radius:999px !important;
  font-family:'Hind Siliguri',sans-serif !important; font-weight:600 !important; border:none !important; padding:14px 28px !important;
}
.wc-product-info .product_meta{font-size:.85rem; color:var(--ink-soft); margin-top:20px;}
.wc-product-info .product_meta a{color:var(--green-600);}

/* Specification tab table (wc_display_product_attributes core markup) */
.woocommerce-product-attributes{width:100%; border-collapse:collapse;}
.woocommerce-product-attributes-item{border-bottom:1px solid var(--line);}
.woocommerce-product-attributes-item__label{padding:12px 10px; font-size:.92rem; color:var(--ink-soft); width:35%;}
.woocommerce-product-attributes-item__value{padding:12px 10px; font-size:.92rem; color:var(--forest-900); font-weight:600;}

/* Reviews tab (WooCommerce's native review markup) */
.woocommerce-Reviews-title{font-size:1.2rem; margin-bottom:20px;}
#comments .commentlist{list-style:none; padding:0; margin:0 0 30px;}
#comments .commentlist li{border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; margin-bottom:16px;}
#comments .star-rating{color:var(--lime-500); margin-bottom:8px;}
#review_form .comment-form-rating select{ padding:10px 14px; border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:16px; width:100%; }

/* Cart totals box (woocommerce_cart_totals default markup, kept as-is) */
.wc-cart-summary .cart_totals{width:100%;}
.wc-cart-summary .cart_totals h2{font-size:1.1rem; margin-bottom:18px;}
.wc-cart-summary .cart_totals table{width:100%; border-collapse:collapse;}
.wc-cart-summary .cart_totals th, .wc-cart-summary .cart_totals td{padding:10px 0; font-size:.92rem; color:var(--ink-soft); border-top:1px solid var(--line);}
.wc-cart-summary .cart_totals .order-total th, .wc-cart-summary .cart_totals .order-total td{font-weight:700; color:var(--forest-900); font-size:1.1rem;}
.wc-cart-summary a.checkout-button{
  display:flex; justify-content:center; width:100%; margin-top:16px;
  background:var(--lime-500) !important; color:var(--forest-900) !important; border-radius:999px !important;
  font-family:'Hind Siliguri',sans-serif !important; font-weight:600 !important; padding:14px 24px !important;
}

/* Checkout billing/shipping fields + payment method list (WooCommerce default markup) */
.wc-checkout-fields .form-row{margin-bottom:16px;}
.wc-checkout-fields label{display:block; font-weight:600; margin-bottom:6px; font-size:.9rem; color:var(--forest-900);}
.wc-checkout-fields input.input-text, .wc-checkout-fields select, .wc-checkout-fields textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-sm); font-family:inherit; font-size:.95rem;
}
#payment ul.payment_methods{list-style:none; padding:0; margin:0 0 20px;}
#payment ul.payment_methods li{ border:1.5px solid var(--line); border-radius:var(--radius-sm); padding:14px 16px; margin-bottom:12px; }
#payment .payment_box{background:var(--paper); border-radius:var(--radius-sm); padding:16px; margin-top:12px; font-size:.88rem; color:var(--ink-soft);}
#place_order{
  width:100%; background:var(--lime-500) !important; color:var(--forest-900) !important; border-radius:999px !important;
  font-family:'Hind Siliguri',sans-serif !important; font-weight:700 !important; border:none !important; padding:16px 24px !important; font-size:1rem !important;
}

/* =========================================================
   15i. Single product — breadcrumb, savings badge, trust badges,
   and WooCommerce's default star-rating widget (used in the summary,
   separate from the SVG stars used on product cards)
   ========================================================= */
.woocommerce-breadcrumb{
  font-size:.85rem; color:var(--ink-soft); padding:18px 0; margin-bottom:10px;
}
.woocommerce-breadcrumb a{color:var(--green-600); font-weight:500;}
.woocommerce-breadcrumb a:hover{text-decoration:underline;}
.woocommerce-breadcrumb .crumb-sep{margin:0 6px; color:var(--line);}

.woocommerce-product-rating{display:flex; align-items:center; gap:10px; margin-bottom:6px;}
.woocommerce-product-rating .star-rating{
  color:var(--lime-500); font-size:1rem; overflow:hidden; position:relative; height:1.1em; line-height:1.1em; width:5.4em;
}
.woocommerce-product-rating .star-rating::before{
  content:"\2605\2605\2605\2605\2605"; color:var(--line); letter-spacing:2px; position:absolute; left:0; top:0;
}
.woocommerce-product-rating .star-rating span{position:absolute; top:0; left:0; overflow:hidden;}
.woocommerce-product-rating .star-rating span::before{
  content:"\2605\2605\2605\2605\2605"; color:var(--lime-500); letter-spacing:2px; position:absolute; left:0; top:0;
}
.woocommerce-product-rating .woocommerce-review-link{font-size:.85rem; color:var(--ink-soft); text-decoration:underline; cursor:pointer;}

.wc-savings-badge{
  display:inline-block; background:rgba(198,255,61,.18); color:var(--green-600); font-weight:700; font-size:.85rem;
  padding:6px 14px; border-radius:999px; margin:-6px 0 14px;
}

.wc-trust-badges{ display:flex; gap:22px; flex-wrap:wrap; list-style:none; padding:18px 0; margin:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.wc-trust-badges li{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--ink-soft); font-weight:500;}
.wc-trust-badges svg{width:20px; height:20px; flex-shrink:0;}

/* =========================================================
   16. Elementor canvas
   ========================================================= */
.gt-elementor-canvas{padding:0; margin:0;}

/* =========================================================
   18. Shop category tabs (pill row)
   ========================================================= */
.cat-tabs-wrap{background:#fff; border-bottom:1px solid var(--line); overflow-x:auto;}
.cat-tabs{display:flex; gap:10px; padding:16px 0; width:max-content; min-width:100%;}
.cat-tab{
  display:flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; border:1.5px solid var(--line);
  font-size:.88rem; font-weight:600; white-space:nowrap; color:var(--ink); flex-shrink:0;
}
.cat-tab svg{width:16px; height:16px;}
.cat-tab.active{background:var(--forest-900); border-color:var(--forest-900); color:#fff;}

/* =========================================================
   19. Availability filter + quantity stepper
   ========================================================= */
.quantity{display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; overflow:hidden;}
.quantity input.qty{ width:46px; height:42px; border:none; text-align:center; font-size:.95rem; font-family:inherit; -moz-appearance:textfield; }
.quantity input.qty::-webkit-inner-spin-button, .quantity input.qty::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.gt-qty-btn{ width:38px; height:42px; background:var(--paper); border:none; font-size:1.1rem; cursor:pointer; color:var(--forest-900); flex-shrink:0; }
.gt-qty-btn:hover{background:var(--line);}

/* =========================================================
   20. Login / Register page
   ========================================================= */
.auth-layout{
  display:grid; grid-template-columns:1fr 1fr; gap:0; max-width:920px; margin:0 auto;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow);
}
.auth-layout.auth-layout--single{grid-template-columns:1fr; max-width:480px;}
.auth-panel{padding:44px 40px;}
.auth-panel.login{border-right:1px solid var(--line);}
.auth-layout--single .auth-panel.login{border-right:none;}
.auth-icon{width:52px; height:52px; border-radius:14px; background:rgba(27,107,69,.1); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.auth-panel.register .auth-icon{background:rgba(198,255,61,.18);}
.auth-icon svg{width:26px; height:26px;}
.auth-panel h2{font-size:1.3rem; margin-bottom:6px;}
.auth-panel .sub{color:var(--ink-soft); font-size:.88rem; margin-bottom:26px;}
.auth-panel .form-row{margin-bottom:18px;}
.auth-panel .form-row label{display:block; font-weight:600; font-size:.88rem; margin-bottom:7px; color:var(--forest-900);}
.auth-panel .form-row input{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-sm); font-family:inherit; font-size:.92rem;}
.auth-panel .form-row input:focus{outline:none; border-color:var(--green-600); box-shadow:0 0 0 3px rgba(27,107,69,.12);}
.remember-row{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; font-size:.85rem; flex-wrap:wrap; gap:10px;}
.remember-row label{display:flex; align-items:center; gap:7px; color:var(--ink-soft); font-weight:500; cursor:pointer;}
.remember-row input{width:15px; height:15px; accent-color:var(--green-600);}
.remember-row a{color:var(--green-600); font-weight:600;}
.password-hint{font-size:.8rem; color:var(--ink-soft); margin:-10px 0 20px;}
.auth-panel button[type="submit"]{width:100%; justify-content:center;}

/* =========================================================
   21. Thank-you / order confirmation page
   ========================================================= */
.success-block{text-align:center; max-width:560px; margin:40px auto 44px;}
.success-icon{
  width:84px; height:84px; border-radius:50%; background:rgba(198,255,61,.2); display:flex; align-items:center;
  justify-content:center; margin:0 auto 22px; position:relative;
}
.success-icon::after{content:""; position:absolute; inset:-8px; border-radius:50%; border:2px solid rgba(198,255,61,.35);}
.success-icon svg{width:40px; height:40px;}
.success-block h1{font-size:1.7rem; margin-bottom:10px;}
.success-block p{color:var(--ink-soft); font-size:.95rem;}
.order-number-pill{
  display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px;
  padding:8px 20px; font-weight:700; color:var(--forest-900); margin-top:14px; font-size:.9rem;
}
.steps-row{display:flex; justify-content:center; gap:0; max-width:560px; margin:0 auto 44px;}
.step{flex:1; text-align:center; position:relative;}
.step:not(:last-child)::after{content:""; position:absolute; top:19px; left:60%; width:80%; height:2px; background:var(--line); z-index:0;}
.step.done:not(:last-child)::after{background:var(--green-600);}
.step-circle{width:38px; height:38px; border-radius:50%; background:#fff; border:2px solid var(--line); display:flex; align-items:center; justify-content:center; margin:0 auto 10px; position:relative; z-index:1;}
.step.done .step-circle{background:var(--green-600); border-color:var(--green-600);}
.step.active .step-circle{border-color:var(--lime-500); background:var(--forest-900);}
.step-circle svg{width:16px; height:16px;}
.step span{font-size:.78rem; color:var(--ink-soft); font-weight:500;}
.step.done span, .step.active span{color:var(--forest-900); font-weight:600;}

.order-layout{display:grid; grid-template-columns:1.3fr 1fr; gap:26px; max-width:920px; margin:0 auto;}
.order-layout .card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:26px;}
.order-layout .card h3{font-size:1rem; margin-bottom:18px;}
.order-items{margin:0; padding:0; list-style:none;}
.order-items li{display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--line);}
.order-items li:last-child{border-bottom:none;}
.item-thumb{width:50px; height:50px; border-radius:8px; background:linear-gradient(160deg,#EAF6EF,#DCEFE3); display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden;}
.item-thumb img{width:100%; height:100%; object-fit:cover;}
.item-info{flex:1;}
.item-info .name{font-size:.9rem; font-weight:600; color:var(--forest-900); display:block;}
.item-info .qty{font-size:.8rem; color:var(--ink-soft);}
.item-price{font-weight:700; color:var(--forest-900); font-size:.9rem; white-space:nowrap;}

.info-row{display:flex; gap:10px; margin-bottom:14px; font-size:.88rem;}
.info-row svg{width:18px; height:18px; flex-shrink:0; margin-top:1px;}
.info-row .label{color:var(--ink-soft); display:block; font-size:.78rem;}
.info-row .value{color:var(--forest-900); font-weight:600;}

.action-row{display:flex; gap:14px; justify-content:center; max-width:920px; margin:36px auto 0; flex-wrap:wrap;}

.support-strip{
  max-width:920px; margin:30px auto 0; background:var(--forest-900); color:#fff; border-radius:var(--radius-md);
  padding:20px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.support-strip p{margin:0; font-size:.9rem; color:rgba(255,255,255,.75);}
.support-strip .btn-outline{border-color:rgba(255,255,255,.4); color:#fff;}

/* =========================================================
   17. Responsive
   ========================================================= */
@media (max-width:1024px){
  .cat-strip{grid-template-columns:repeat(3,1fr);}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .service-grid{grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto;}
  .service-card.featured{grid-row:span 1; grid-column:span 2;}
  .service-grid-page{grid-template-columns:1fr 1fr;}
  .t-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .device-stage{height:360px; margin-top:20px;}
  .blog-grid{grid-template-columns:1fr;}
  .contact-grid, .single-product-wrap{grid-template-columns:1fr;}
  .brand-grid{grid-template-columns:repeat(2,1fr);}
  .auth-layout{grid-template-columns:1fr; max-width:480px;}
  .auth-panel.login{border-right:none; border-bottom:1px solid var(--line);}
  .order-layout{grid-template-columns:1fr;}
}
@media (max-width:680px){
  #site-navigation{display:none;}
  .menu-toggle{display:flex;}
  .cat-strip{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:1fr 1fr;}
  .service-grid-page{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr; gap:30px;}
  .cta-banner{padding:36px 26px; text-align:center; justify-content:center;}
  .hero{padding:60px 0 90px;}
  .nav-right .btn{display:none;}
  .steps-row{max-width:100%;}
}
