/* =========================================================
   SRIVEN ENERGIES — Design System v3
   Premium renewable-energy UI. Token-driven, mobile-first.
========================================================= */
:root{
  --primary:#0675D8;
  --primary-dark:#054F9E;
  --primary-light:#E8F3FE;
  --secondary:#18A83A;
  --secondary-dark:#0F7A29;
  --accent:#FFB400;
  --navy:#183B56;
  --bg:#FFFFFF;
  --surface:#F7FAFC;
  --surface-alt:#F1F5F9;
  --border:#E2E8F0;
  --text-primary:#16232E;
  --text-secondary:#5B6B7A;
  --text-muted:#8A97A3;
  --success:#18A83A;
  --warning:#FFB400;
  --error:#E23B3B;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --shadow-sm:0 2px 8px rgba(16,40,60,.06);
  --shadow-md:0 8px 24px rgba(16,40,60,.10);
  --shadow-lg:0 20px 48px rgba(16,40,60,.14);
  --header-h:76px;
  --section-y:96px;
  --section-y-tab:72px;
  --section-y-mob:56px;
  --font: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  color:var(--text-primary);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  padding-top:var(--header-h);
}
@media(prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} html{scroll-behavior:auto;} }

a{color:var(--primary); text-decoration:none;}
a:hover{color:var(--primary-dark);}
img{max-width:100%; display:block;}
.container-xl{max-width:1280px;}

h1,h2,h3,h4,h5{font-weight:800; color:var(--navy); letter-spacing:-.02em;}
.h1-hero{font-size:clamp(2rem,4.5vw,3.4rem); line-height:1.08;}
.h2-section{font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.15;}
.h3-card{font-size:1.15rem;}
.eyebrow{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--primary); background:var(--primary-light);
  padding:.35rem .85rem; border-radius:999px; margin-bottom:1rem;
}
.text-secondary{color:var(--text-secondary) !important;}
.lead-text{font-size:1.08rem; color:var(--text-secondary); line-height:1.7;}
section{padding:var(--section-y-mob) 0;}
@media(min-width:768px){ section{padding:var(--section-y-tab) 0;} }
@media(min-width:1200px){ section{padding:var(--section-y) 0;} }
.section-alt{background:var(--surface);}
.section-navy{background:linear-gradient(135deg,var(--navy),#0F2A40); color:#fff;}
.section-navy h2,.section-navy h3{color:#fff;}
.section-navy .text-secondary{color:#B7C6D3 !important;}

/* ---------- Buttons ---------- */
.btn{font-weight:700; border-radius:999px; padding:.75rem 1.5rem; font-size:.95rem; transition:all .2s ease; border:2px solid transparent; display:inline-flex; align-items:center; gap:.5rem; min-height:46px; justify-content:center;}
.btn:focus-visible{outline:3px solid var(--accent); outline-offset:2px;}
.btn-primary{background:var(--primary); color:#fff; border-color:var(--primary);}
.btn-primary:hover{background:var(--primary-dark); border-color:var(--primary-dark); transform:translateY(-1px); box-shadow:var(--shadow-md); color:#fff;}
.btn-secondary{background:var(--secondary); color:#fff; border-color:var(--secondary);}
.btn-secondary:hover{background:var(--secondary-dark); border-color:var(--secondary-dark); color:#fff; transform:translateY(-1px);}
.btn-outline-brand{background:transparent; color:var(--primary); border-color:var(--primary);}
.btn-outline-brand:hover{background:var(--primary); color:#fff;}
.btn-ghost{background:transparent; color:var(--navy); border-color:transparent;}
.btn-ghost:hover{background:var(--surface-alt);}
.btn-dark{background:var(--navy); color:#fff;}
.btn-dark:hover{background:#0F2A40; color:#fff;}
.btn-whatsapp{background:#1EBE57; color:#fff;}
.btn-whatsapp:hover{background:#17A34A; color:#fff;}
.btn-sm{padding:.5rem 1.1rem; min-height:38px; font-size:.85rem;}
.btn-lg{padding:.95rem 2rem; min-height:54px; font-size:1.02rem;}
.btn-icon{transition:transform .2s ease;}
.btn:hover .btn-icon{transform:translateX(3px);}

/* ---------- Header ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1050;
  height:var(--header-h); background:rgba(255,255,255,.94); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border); box-shadow:var(--shadow-sm);
}
.site-header .navbar-brand img{height:44px;}
.site-header .nav-link{font-weight:600; color:var(--text-primary); padding:.5rem .85rem !important; font-size:.94rem;}
.site-header .nav-link:hover, .site-header .nav-link.active{color:var(--primary);}
.dropdown-menu{border:none; box-shadow:var(--shadow-lg); border-radius:var(--radius-md); padding:.6rem;}
.dropdown-item{border-radius:var(--radius-sm); padding:.55rem .85rem; font-weight:600; font-size:.9rem;}
.dropdown-item:hover{background:var(--primary-light); color:var(--primary-dark);}
.header-cta{display:flex; align-items:center; gap:.6rem;}

/* Mobile drawer */
.mobile-drawer{position:fixed; top:0; right:-100%; width:min(360px,88vw); height:100%; background:#fff; z-index:1200; box-shadow:var(--shadow-lg); transition:right .3s ease; overflow-y:auto;}
.mobile-drawer.open{right:0;}
.drawer-backdrop{position:fixed; inset:0; background:rgba(10,20,30,.5); z-index:1190; opacity:0; pointer-events:none; transition:opacity .3s ease;}
.drawer-backdrop.open{opacity:1; pointer-events:auto;}
.mobile-drawer .accordion-button{font-weight:700; color:var(--navy);}
.mobile-drawer .accordion-button:not(.collapsed){background:var(--primary-light); color:var(--primary-dark);}
body.drawer-lock{overflow:hidden;}

/* ---------- Hero ---------- */
.hero{padding-top:52px; padding-bottom:52px; background:radial-gradient(circle at 85% 20%, var(--primary-light) 0%, #fff 55%);}
@media(min-width:992px){.hero{padding-top:88px; padding-bottom:88px;}}
.hero-visual{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg);}
.stat-pill{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:1rem 1.2rem; box-shadow:var(--shadow-sm);}
.stat-pill .num{font-size:1.6rem; font-weight:800; color:var(--primary);}

/* ---------- Cards ---------- */
.card-tech{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:2rem; height:100%; transition:all .25s ease; box-shadow:var(--shadow-sm);}
.card-tech:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--primary);}
.card-tech .icon-wrap{width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin-bottom:1.1rem;}
.icon-wind{background:#E8F3FE; color:var(--primary);}
.icon-solar{background:#FFF6E0; color:#C98600;}
.icon-hybrid{background:#E8F9EC; color:var(--secondary-dark);}

.product-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; height:100%; display:flex; flex-direction:column; transition:all .25s ease; box-shadow:var(--shadow-sm);}
.product-card:hover{box-shadow:var(--shadow-lg); transform:translateY(-4px);}
.product-card .pc-media{aspect-ratio:4/3; background:linear-gradient(135deg,var(--surface-alt),#fff); display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-size:2.4rem; position:relative;}
.product-card .pc-body{padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.4rem; flex:1;}
.badge-series{background:var(--primary-light); color:var(--primary-dark); font-weight:700; font-size:.7rem; letter-spacing:.03em; text-transform:uppercase; padding:.32rem .65rem; border-radius:999px;}
.pc-price{font-weight:800; color:var(--navy); font-size:1.15rem;}
.pc-actions{display:flex; gap:.5rem; margin-top:.6rem; flex-wrap:wrap;}

.card-basic{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.6rem; height:100%; box-shadow:var(--shadow-sm); transition:all .2s ease;}
.card-basic:hover{box-shadow:var(--shadow-md); border-color:var(--primary);}

.badge-soft{background:var(--surface-alt); color:var(--text-secondary); font-weight:600; font-size:.78rem; padding:.3rem .65rem; border-radius:999px;}

/* ---------- Calculators ---------- */
.calc-shell{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:1.8rem;}
.calc-result{background:var(--navy); color:#fff; border-radius:var(--radius-md); padding:1.4rem; text-align:center;}
.calc-result .val{font-size:1.9rem; font-weight:800; color:var(--accent);}
.calc-result .label{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:#B7C6D3;}
.form-label{font-weight:700; font-size:.86rem; color:var(--navy);}
.form-control,.form-select{border-radius:var(--radius-sm); border-color:var(--border); min-height:46px; padding:.6rem .9rem;}
.form-control:focus,.form-select:focus{border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-light);}
.disclaimer-box{background:#FFF6E0; border:1px solid #FFE3A0; border-radius:var(--radius-sm); padding:.9rem 1.1rem; font-size:.85rem; color:#7A5900;}

/* ---------- Breadcrumb ---------- */
.crumb{font-size:.85rem; color:var(--text-secondary); padding:14px 0;}
.crumb a{color:var(--text-secondary); font-weight:600;}
.crumb a:hover{color:var(--primary);}

/* ---------- FAQ / Accordion ---------- */
.accordion-item{border:1px solid var(--border); border-radius:var(--radius-md) !important; margin-bottom:.7rem; overflow:hidden;}
.accordion-button{font-weight:700; color:var(--navy); background:#fff;}
.accordion-button:not(.collapsed){background:var(--primary-light); color:var(--primary-dark); box-shadow:none;}
.accordion-button:focus{box-shadow:none;}

/* ---------- Filters ---------- */
.filter-bar{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:1rem; box-shadow:var(--shadow-sm);}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy); color:#CBD8E2; padding:64px 0 24px;}
.site-footer h6{color:#fff; font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; margin-bottom:1.1rem;}
.site-footer a{color:#CBD8E2;}
.site-footer a:hover{color:#fff;}
.site-footer ul{list-style:none; padding:0; margin:0;}
.site-footer li{margin-bottom:.55rem; font-size:.92rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:2.5rem; padding-top:1.5rem; font-size:.82rem; color:#8FA2B3;}
.footer-accordion .accordion-button{background:transparent; color:#fff; box-shadow:none; padding:.8rem 0; font-size:.9rem;}
.footer-accordion .accordion-button::after{filter:invert(1);}
.footer-accordion .accordion-item{background:transparent; border:none; border-bottom:1px solid rgba(255,255,255,.12); border-radius:0 !important; margin:0;}
.footer-accordion .accordion-body{padding:0 0 1rem;}

/* ---------- Floating actions ---------- */
.float-actions{position:fixed; bottom:20px; right:20px; z-index:1100; display:flex; flex-direction:column; gap:.6rem;}
.fab{width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff; box-shadow:var(--shadow-lg); transition:transform .2s ease;}
.fab:hover{transform:scale(1.08); color:#fff;}
.fab-wa{background:#1EBE57;}
.fab-call{background:var(--primary);}
.mobile-bottom-bar{position:fixed; bottom:0; left:0; right:0; z-index:1090; background:#fff; border-top:1px solid var(--border); display:flex; box-shadow:0 -4px 16px rgba(0,0,0,.08);}
.mobile-bottom-bar a{flex:1; text-align:center; padding:.75rem .3rem; font-weight:700; font-size:.78rem; color:var(--navy); border-right:1px solid var(--border);}
.mobile-bottom-bar a:last-child{border-right:none;}
.mobile-bottom-bar i{display:block; font-size:1.15rem; margin-bottom:.15rem;}
@media(min-width:992px){.mobile-bottom-bar{display:none;} body{padding-bottom:0;}}
@media(max-width:991px){body{padding-bottom:58px;} .float-actions{bottom:70px;}}

/* Utility */
.rounded-xl{border-radius:var(--radius-lg) !important;}
.shadow-soft{box-shadow:var(--shadow-md) !important;}
.bg-primary-soft{background:var(--primary-light) !important;}
.text-primary-brand{color:var(--primary) !important;}
.no-scrollbar::-webkit-scrollbar{display:none;}

/* Admin */
.admin-shell{min-height:100vh; background:var(--surface);}
.admin-sidebar{width:250px; background:var(--navy); color:#fff; min-height:100vh; position:fixed; top:0; left:0; padding:1.2rem; overflow-y:auto;}
.admin-sidebar a{display:block; color:#CBD8E2; padding:.6rem .8rem; border-radius:var(--radius-sm); font-weight:600; font-size:.9rem; margin-bottom:.2rem;}
.admin-sidebar a:hover, .admin-sidebar a.active{background:rgba(255,255,255,.1); color:#fff;}
.admin-main{margin-left:250px; padding:2rem;}
@media(max-width:900px){.admin-sidebar{position:relative; width:100%; min-height:auto;} .admin-main{margin-left:0;}}
.admin-card{background:#fff; border-radius:var(--radius-md); border:1px solid var(--border); padding:1.5rem; box-shadow:var(--shadow-sm);}
.table-admin th{font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-secondary); border-bottom-width:2px;}
.stat-box{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:1.2rem; text-align:center;}
.stat-box .n{font-size:1.8rem; font-weight:800; color:var(--primary);}
