/*
Theme Name: softHarbour
Theme URI: https://softharbour.in
Author: Ravi Shankar
Author URI: https://softharbour.in
Description: A lightweight, fully responsive WordPress theme built for softHarbour — a marketplace that sells WordPress themes, plugins, Enterprise softwares and many more. Ships with Home, About, Services and Contact page templates plus a WooCommerce-powered Customer Dashboard for managing purchases, downloads and license keys. No page builder or heavy framework required.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: softharbour
Tags: e-commerce, custom-menu, footer-widgets, full-width-template, responsive-layout, dark, translation-ready
*/

/* =========================================================
   0. DESIGN TOKENS
========================================================= */
:root{
  --sh-bg: #090c16;
  --sh-bg-alt: #0c1122;
  --sh-surface: #121933;
  --sh-surface-2: #161f3d;
  --sh-border: rgba(255,255,255,.08);
  --sh-border-soft: rgba(255,255,255,.05);
  --sh-text: #eaedf7;
  --sh-text-dim: #9aa3c2;
  --sh-text-faint: #6a7290;
  --sh-blue: #4066ff;
  --sh-blue-light: #7c9bff;
  --sh-blue-dark: #24409c;
  --sh-green: #2fd18b;
  --sh-purple: #8b6bff;
  --sh-amber: #ffb648;
  --sh-pink: #ff6b9a;
  --sh-cyan:#22d3ee;
  --sh-red:#f87171;
  --sh-indigo:#818cf8;
  --sh-orange:#fb923c;
  --sh-teal:#2dd4bf;
  --sh-radius-sm: 8px;
  --sh-radius: 14px;
  --sh-radius-lg: 22px;
  --sh-shadow: 0 20px 50px -20px rgba(0,0,0,.6);
  --sh-container: 1200px;
  --sh-gradient: linear-gradient(135deg,#16205c 0%, #2743c9 55%, #3f63ff 100%);
  --sh-font-display: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sh-font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* =========================================================
   1. RESET
========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--sh-bg);
  color:var(--sh-text);
  font-family:var(--sh-font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-family:var(--sh-font-display);font-weight:700;line-height:1.2;letter-spacing:-0.02em;}
p{margin:0 0 1em;color:var(--sh-text-dim);}
.screen-reader-text{position:absolute;left:-9999px;}
:focus-visible{outline:2px solid var(--sh-blue-light);outline-offset:3px;}

/* =========================================================
   2. LAYOUT HELPERS
========================================================= */
.container{max-width:var(--sh-container);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
.section--tight{padding:64px 0;}
.section--alt{background:var(--sh-bg-alt);}
.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.text-center{text-align:center;}
.eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sh-blue-light);margin-bottom:14px;
}
.section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:14px;}
.section-head p{font-size:17px;}
.section-head.align-left{margin:0 0 48px;text-align:left;}

/* =========================================================
   3. BUTTONS
========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:10px;font-weight:600;font-size:15px;
  border:1px solid transparent;transition:.2s ease;white-space:nowrap;
}
.btn-primary{background:var(--sh-blue);color:#fff;box-shadow:0 10px 25px -8px rgba(64,102,255,.55);}
.btn-primary:hover{background:#5578ff;transform:translateY(-2px);}
.btn-outline{background:transparent;border-color:var(--sh-border);color:var(--sh-text);}
.btn-outline:hover{border-color:var(--sh-blue-light);color:var(--sh-blue-light);}
.btn-sm{padding:10px 18px;font-size:14px;}
.btn-block{width:100%;}

/* =========================================================
   4. HEADER / NAV
========================================================= */
.site-header{
  position:sticky;top:0;z-index:999;
  background:rgba(9,12,22,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--sh-border-soft);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:76px;}
.site-logo{display:flex;align-items:center;gap:10px;font-family:var(--sh-font-display);font-weight:800;font-size:20px;color:#fff;}
.site-logo .logo-mark{
  width:34px;height:34px;border-radius:9px;background:var(--sh-gradient);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;flex-shrink:0;
}
.site-logo img{max-height:38px;width:auto;}
.primary-nav ul{display:flex;align-items:center;gap:36px;}
.primary-nav a{font-size:15px;font-weight:500;color:var(--sh-text-dim);transition:.2s;}
.primary-nav a:hover,.primary-nav .current-menu-item>a{color:#fff;}
.header-actions{display:flex;align-items:center;gap:14px;}
.header-account{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--sh-border);
  display:flex;align-items:center;justify-content:center;color:var(--sh-text-dim);position:relative;transition:.2s;
}
.header-account:hover{color:#fff;border-color:var(--sh-blue-light);}
.cart-count{
  position:absolute;top:-4px;right:-4px;background:var(--sh-blue);color:#fff;
  font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:6px;}
.menu-toggle span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s;}
.menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.is-active span:nth-child(2){opacity:0;}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* =========================================================
   5. HERO
========================================================= */
.hero{padding:88px 0 60px;position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(64,102,255,.28),transparent 70%);pointer-events:none;
}
.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1;}
.hero h1{font-size:clamp(34px,4.6vw,52px);color:#fff;}
.hero h1 span{color:var(--sh-blue-light);}
.hero p.lead{font-size:17px;max-width:480px;margin-bottom:28px;}
.hero-actions{display:flex;gap:14px;margin-bottom:44px;flex-wrap:wrap;}
/* .hero-visual{
  background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius-lg);
  padding:22px;box-shadow:var(--sh-shadow);
} */
.hero-visual img{border-radius:10px;}
.trust-strip{margin-top:8px;}
.trust-strip .label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sh-text-faint);margin-bottom:16px;}
.trust-logos{display:flex;gap:36px;flex-wrap:wrap;align-items:center;opacity:.6;}
.trust-logos span{font-weight:700;font-size:16px;color:var(--sh-text-dim);}

/* =========================================================
   6. STAT STRIP
========================================================= */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--sh-border-soft);border-bottom:1px solid var(--sh-border-soft);padding:36px 0;}
.stat-item{display:flex;align-items:center;gap:14px;}
.stat-icon{width:46px;height:46px;border-radius:12px;background:var(--sh-surface);border:1px solid var(--sh-border);display:flex;align-items:center;justify-content:center;color:var(--sh-blue-light);flex-shrink:0;}
.stat-item strong{display:block;font-size:24px;color:#fff;font-family:var(--sh-font-display);}
.stat-item span{font-size:13px;color:var(--sh-text-faint);}

/* =========================================================
   7. CARDS (services / features)
========================================================= */
.card{
  background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);
  padding:28px;transition:.25s ease;
}
.card:hover{border-color:rgba(124,155,255,.4);transform:translateY(-4px);box-shadow:var(--sh-shadow);}
.card-icon{
  width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;font-size:20px;
}
.card h3{font-size:18px;color:#fff;margin-bottom:8px;}
.card p{font-size:14.5px;margin:0;}
.icon-blue{background:rgba(64,102,255,.15);color:var(--sh-blue-light);}
.icon-green{background:rgba(47,209,139,.15);color:var(--sh-green);}
.icon-purple{background:rgba(139,107,255,.15);color:var(--sh-purple);}
.icon-amber{background:rgba(255,182,72,.15);color:var(--sh-amber);}
.icon-pink{background:rgba(255,107,154,.15);color:var(--sh-pink);}
.icon-cyan{background:rgba(34,211,238,.15);color:#22d3ee;}
.icon-red{background:rgba(248,113,113,.15);color:var(--sh-red);}
.icon-indigo{background:rgba(129,140,248,.15);color:var(--sh-indigo);}
.icon-orange{background:rgba(251,146,60,.15);color:var(--sh-orange);}
.icon-teal{background:rgba(45,212,191,.15);color:var(--sh-teal);}

/* =========================================================
   8. PROCESS STEPS
========================================================= */
.process-track{display:flex;justify-content:space-between;align-items:flex-start;position:relative;flex-wrap:wrap;gap:24px;}
.process-track::before{
  content:"";position:absolute;top:28px;left:0;right:0;height:1px;
  background:repeating-linear-gradient(90deg,var(--sh-border) 0 8px,transparent 8px 16px);z-index:0;
}
.process-step{position:relative;z-index:1;text-align:center;flex:1;min-width:110px;}
.process-num{
  width:56px;height:56px;border-radius:50%;background:var(--sh-surface);border:1px solid var(--sh-border);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-weight:700;color:var(--sh-blue-light);font-family:var(--sh-font-display);
}
.process-step.is-active .process-num{background:var(--sh-blue);color:#fff;border-color:var(--sh-blue);}
.process-step span{font-size:14px;font-weight:600;color:var(--sh-text);}

/* =========================================================
   9. TABS (technologies / plugin categories)
========================================================= */
.tabs-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:36px;}
.tabs-nav button{
  padding:10px 20px;border-radius:30px;border:1px solid var(--sh-border);background:var(--sh-surface);
  color:var(--sh-text-dim);font-size:14px;font-weight:600;transition:background .2s, border-color .2s, color .2s, transform .1s;
}
.tabs-nav button.is-active,.tabs-nav button:hover{background:var(--sh-blue);border-color:var(--sh-blue);color:#fff;}
.tabs-nav button.is-active{box-shadow:0 8px 20px -6px rgba(64,102,255,.55);}
.tabs-nav button:active{transform:scale(.96);}

.tabs-panel{display:none;}
.tabs-panel.is-active{display:flex;animation:sh-tab-fade-in .35s ease both;}
.tabs-panel{flex-wrap:wrap;justify-content:center;gap:18px;}

@keyframes sh-tab-fade-in{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}

.tech-chip{
  display:flex;align-items:center;gap:8px;background:var(--sh-surface);border:1px solid var(--sh-border);
  padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;color:var(--sh-text-dim);
  transition:border-color .2s, transform .2s, color .2s;
}
.tech-chip:hover{border-color:rgba(124,155,255,.4);color:#fff;transform:translateY(-2px);}

.tabs-panel.is-active .tech-chip{
  opacity:0;
  animation:sh-chip-fade-in .4s ease forwards;
}
.tabs-panel.is-active .tech-chip:nth-child(1){animation-delay:.02s;}
.tabs-panel.is-active .tech-chip:nth-child(2){animation-delay:.05s;}
.tabs-panel.is-active .tech-chip:nth-child(3){animation-delay:.08s;}
.tabs-panel.is-active .tech-chip:nth-child(4){animation-delay:.11s;}
.tabs-panel.is-active .tech-chip:nth-child(5){animation-delay:.14s;}
.tabs-panel.is-active .tech-chip:nth-child(6){animation-delay:.17s;}
.tabs-panel.is-active .tech-chip:nth-child(7){animation-delay:.20s;}
.tabs-panel.is-active .tech-chip:nth-child(8){animation-delay:.23s;}
.tabs-panel.is-active .tech-chip:nth-child(9){animation-delay:.26s;}
.tabs-panel.is-active .tech-chip:nth-child(10){animation-delay:.29s;}
.tabs-panel.is-active .tech-chip:nth-child(11){animation-delay:.32s;}
.tabs-panel.is-active .tech-chip:nth-child(12){animation-delay:.35s;}
.tabs-panel.is-active .tech-chip:nth-child(13){animation-delay:.38s;}
.tabs-panel.is-active .tech-chip:nth-child(14){animation-delay:.41s;}
@keyframes sh-chip-fade-in{
  from{opacity:0;transform:translateY(6px) scale(.94);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

/* =========================================================
   10. PRODUCT / WORK GRID
========================================================= */
.work-card{border-radius:var(--sh-radius);overflow:hidden;border:1px solid var(--sh-border);background:var(--sh-surface);transition:.25s;}
.work-card:hover{transform:translateY(-4px);border-color:rgba(124,155,255,.4);}
.work-thumb{aspect-ratio:4/3;overflow:hidden;background:var(--sh-surface-2);}
.work-thumb img{width:100%;height:100%;object-fit:cover;}
.work-body{padding:18px 20px;}
.work-body h3{font-size:16px;color:#fff;margin-bottom:4px;}
.work-body span{font-size:13px;color:var(--sh-text-faint);}
.work-price{color:var(--sh-blue-light);font-weight:700;margin-top:8px;font-size:15px;}

/* =========================================================
   11. TESTIMONIALS
========================================================= */
.testimonial-card{background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);padding:28px;}
.testimonial-card .quote-mark{font-size:34px;color:var(--sh-blue);font-family:Georgia,serif;line-height:1;}
.testimonial-card p{font-size:14.5px;color:var(--sh-text-dim);margin:14px 0 20px;}
.testimonial-author{display:flex;align-items:center;gap:12px;}
.testimonial-author img{width:42px;height:42px;border-radius:50%;object-fit:cover;}
.testimonial-author strong{display:block;font-size:14px;color:#fff;}
.testimonial-author span{font-size:12.5px;color:var(--sh-text-faint);}
.dots{display:flex;justify-content:center;gap:8px;margin-top:32px;}
.dots span{width:7px;height:7px;border-radius:50%;background:var(--sh-border);transition:.2s;}
.dots span.is-active{background:var(--sh-blue);width:22px;border-radius:5px;}

/* =========================================================
   12. CTA BANNER
========================================================= */
.cta-banner{
  background:var(--sh-gradient);border-radius:var(--sh-radius-lg);padding:56px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden;
}
.cta-banner::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.12),transparent 60%);}
.cta-banner h2{color:#fff;font-size:clamp(24px,3vw,32px);margin-bottom:8px;position:relative;}
.cta-banner p{color:rgba(255,255,255,.75);margin:0;position:relative;}
.cta-banner .btn-primary{background:#fff;color:var(--sh-blue-dark);box-shadow:none;position:relative;}
.cta-banner .btn-primary:hover{background:#eef2ff;}

/* =========================================================
   13. FOOTER
========================================================= */
.site-footer{background:var(--sh-bg-alt);border-top:1px solid var(--sh-border-soft);padding-top:72px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;}
.footer-col h4{color:#fff;font-size:15px;margin-bottom:18px;}
.footer-col p{font-size:14px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul a{font-size:14px;color:var(--sh-text-dim);transition:.2s;}
.footer-col ul a:hover{color:var(--sh-blue-light);}
.footer-col .contact-line{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--sh-text-dim);margin-bottom:12px;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid var(--sh-border);display:flex;align-items:center;justify-content:center;color:var(--sh-text-dim);transition:.2s;}
.footer-social a:hover{border-color:var(--sh-blue-light);color:var(--sh-blue-light);}
.footer-bottom{border-top:1px solid var(--sh-border-soft);padding:22px 0;display:flex;justify-content:space-between;font-size:13px;color:var(--sh-text-faint);flex-wrap:wrap;gap:10px;}
.footer-bottom a{color:var(--sh-text-faint);}
.footer-bottom a:hover{color:var(--sh-blue-light);}

/* =========================================================
   14. FORMS / CONTACT
========================================================= */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--sh-text-dim);margin-bottom:8px;}
.field input,.field textarea,.field select{
  width:100%;padding:13px 16px;border-radius:10px;border:1px solid var(--sh-border);
  background:var(--sh-surface-2);color:#fff;font-size:14.5px;transition:.2s;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--sh-blue-light);outline:none;}
.field textarea{resize:vertical;min-height:130px;}
.contact-card{background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius-lg);padding:36px;}
.contact-info-item{display:flex;gap:14px;margin-bottom:22px;}
.contact-info-item .ci-icon{width:42px;height:42px;border-radius:10px;background:rgba(64,102,255,.15);color:var(--sh-blue-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-info-item strong{display:block;color:#fff;font-size:14px;margin-bottom:2px;}
.contact-info-item span{font-size:13.5px;color:var(--sh-text-dim);}
.map-embed{border-radius:var(--sh-radius-lg);overflow:hidden;border:1px solid var(--sh-border);margin-top:56px;}
.map-embed iframe{width:100%;height:340px;border:0;display:block;filter:grayscale(1) invert(.9) contrast(.85);}
.form-msg{padding:14px 18px;border-radius:10px;margin-bottom:18px;font-size:14px;}
.form-msg.success{background:rgba(47,209,139,.12);border:1px solid rgba(47,209,139,.4);color:var(--sh-green);}
.form-msg.error{background:rgba(255,107,154,.12);border:1px solid rgba(255,107,154,.4);color:var(--sh-pink);}

/* =========================================================
   15. ABOUT PAGE SPECIFIC
========================================================= */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-hero .checklist li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--sh-text-dim);margin-bottom:10px;}
.about-hero .checklist li svg{color:var(--sh-green);flex-shrink:0;}
.about-hero-visual{position:relative;border-radius:var(--sh-radius-lg);overflow:hidden;border:1px solid var(--sh-border);}
.about-hero-visual img{width:100%;}
.about-badge{
  position:absolute;bottom:18px;left:18px;background:rgba(9,12,22,.85);backdrop-filter:blur(6px);
  border:1px solid var(--sh-border);border-radius:12px;padding:14px 20px;
}
.about-badge strong{display:block;color:#fff;font-size:22px;}
.about-badge span{font-size:12px;color:var(--sh-text-faint);}
.story-block{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.story-block img{border-radius:var(--sh-radius-lg);border:1px solid var(--sh-border);}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.team-card{text-align:center;}
.team-card img{border-radius:var(--sh-radius);margin-bottom:14px;aspect-ratio:1/1;object-fit:cover;}
.team-card strong{display:block;color:#fff;font-size:15px;}
.team-card span{font-size:13px;color:var(--sh-text-faint);display:block;margin-bottom:10px;}
.team-social{display:flex;justify-content:center;gap:8px;}
.team-social a{width:30px;height:30px;border-radius:50%;border:1px solid var(--sh-border);display:flex;align-items:center;justify-content:center;color:var(--sh-text-faint);font-size:12px;}

/* =========================================================
   16. SERVICES PAGE SPECIFIC
========================================================= */
.services-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.service-row{display:flex;gap:18px;align-items:flex-start;background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);padding:24px;}
.service-row .card-icon{margin-bottom:0;flex-shrink:0;}
.service-row h3{font-size:16px;color:#fff;margin-bottom:6px;}
.service-row p{font-size:14px;margin:0;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.price-card{background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius-lg);padding:34px;text-align:center;}
.price-card.is-featured{border-color:var(--sh-blue);background:linear-gradient(180deg,rgba(64,102,255,.1),var(--sh-surface));position:relative;}
.price-card .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--sh-blue);color:#fff;font-size:12px;font-weight:700;padding:5px 16px;border-radius:20px;}
.price-card h3{font-size:16px;color:var(--sh-text-dim);margin-bottom:10px;}
.price-card .price{font-size:38px;color:#fff;font-family:var(--sh-font-display);font-weight:800;margin-bottom:6px;}
.price-card .price span{font-size:14px;color:var(--sh-text-faint);font-weight:500;}
.price-card ul{margin:24px 0;text-align:left;}
.price-card ul li{display:flex;gap:10px;font-size:14px;color:var(--sh-text-dim);margin-bottom:12px;align-items:center;}
.price-card ul li svg{color:var(--sh-green);flex-shrink:0;}
.faq-item{border-bottom:1px solid var(--sh-border);padding:22px 0;}
.faq-item summary{cursor:pointer;font-size:15.5px;font-weight:600;color:#fff;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:22px;color:var(--sh-blue-light);}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:14px;font-size:14.5px;}

/* =========================================================
   17. CUSTOMER DASHBOARD
========================================================= */
.dashboard-wrap{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start;}
.dashboard-sidebar{background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);padding:22px;position:sticky;top:96px;}
.dashboard-user{display:flex;align-items:center;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--sh-border-soft);}
.dashboard-user .avatar{width:44px;height:44px;border-radius:50%;background:var(--sh-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;}
.dashboard-user strong{display:block;color:#fff;font-size:14px;}
.dashboard-user span{font-size:12.5px;color:var(--sh-text-faint);}
.dashboard-content{background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);padding:32px;min-height:400px;}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px;}
.dashboard-stat{background:var(--sh-surface-2);border:1px solid var(--sh-border-soft);border-radius:12px;padding:18px;}
.dashboard-stat strong{display:block;font-size:24px;color:#fff;}
.dashboard-stat span{font-size:12.5px;color:var(--sh-text-faint);}

/* WooCommerce My Account overrides */
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:4px;}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:8px;font-size:14px;color:var(--sh-text-dim);}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation a:hover{background:rgba(64,102,255,.14);color:var(--sh-blue-light);}
.woocommerce-MyAccount-content table,.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:14px;}
.woocommerce-MyAccount-content th,.woocommerce table.shop_table th{text-align:left;color:var(--sh-text-faint);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--sh-border);}
.woocommerce-MyAccount-content td,.woocommerce table.shop_table td{padding:14px 10px;border-bottom:1px solid var(--sh-border-soft);color:var(--sh-text-dim);}
.woocommerce-MyAccount-content .button,.woocommerce a.button,.woocommerce button.button{
  display:inline-flex;align-items:center;padding:10px 18px;background:var(--sh-blue);color:#fff!important;border-radius:8px;font-size:13.5px;font-weight:600;border:0;
}
.woocommerce-MyAccount-content .woocommerce-form input,.woocommerce form .form-row input{
  width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--sh-border);background:var(--sh-surface-2);color:#fff;
}
.woocommerce-message,.woocommerce-info{background:rgba(64,102,255,.12);border:1px solid rgba(64,102,255,.4);border-radius:10px;padding:14px 18px;color:var(--sh-blue-light);list-style:none;margin-bottom:20px;}

/* =========================================================
   18. RESPONSIVE
========================================================= */
@media (max-width: 1024px){
  .hero .container,.about-hero,.story-block{grid-template-columns:1fr;}
  .hero-visual{order:-1;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
  .values-grid,.team-grid{grid-template-columns:repeat(2,1fr);}
  .pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
  .services-list{grid-template-columns:1fr;}
  .dashboard-wrap{grid-template-columns:1fr;}
  .dashboard-sidebar{position:static;}
}
@media (max-width: 782px){
	.primary-nav{
	  position:fixed;top:76px;left:0;width:100%;height:calc(100vh - 76px);
	  background:var(--sh-bg);padding:28px 24px;
	  transform:translateX(100%);transition:.3s ease;overflow-y:auto;z-index:998;
	}
/*   .primary-nav{
    position:fixed;inset:76px 0 0 0;background:var(--sh-bg);padding:28px 24px;
    transform:translateX(100%);transition:.3s ease;overflow-y:auto;z-index:998;
  } */
  .primary-nav.is-open{transform:translateX(0);}
  .primary-nav ul{flex-direction:column;align-items:flex-start;gap:4px;}
  .primary-nav a{display:block;padding:14px 4px;width:100%;font-size:16px;border-bottom:1px solid var(--sh-border-soft);}
  .menu-toggle{display:flex;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .form-row{grid-template-columns:1fr;}
  .cta-banner{flex-direction:column;text-align:center;padding:40px 26px;}
  .section{padding:64px 0;}
  .stat-strip{grid-template-columns:1fr 1fr;}
  .values-grid,.team-grid{grid-template-columns:1fr 1fr;}
  .process-track::before{display:none;}
  .process-track{justify-content:center;}
  .process-step{flex:0 0 45%;}
}
@media (max-width: 480px){
  .container{padding:0 18px;}
  .hero{padding:56px 0 40px;}
  .stat-strip,.values-grid,.team-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .cta-banner{padding:32px 20px;}
}
