/* ==========================================================================
   SECTIONS.CSS - Homepage Sections (Hero, Stats, Products, Features, News, Certs, CTA)
   ========================================================================== */

/* ── HERO ── */
.hero{background:linear-gradient(130deg,#050F2E 0%,#0E2A5C 40%,#0D5C42 100%);background-size:200% 200%;animation:gradientShift 12s ease infinite;min-height:88vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:5rem 0}
.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.hero-blob-1{width:600px;height:600px;background:rgba(37,99,235,.15);top:-100px;right:-150px}
.hero-blob-2{width:400px;height:400px;background:rgba(5,150,105,.12);bottom:-100px;left:100px}
.hero-blob-3{width:300px;height:300px;background:rgba(99,102,241,.1);top:50%;left:40%}
.hero-inner{max-width:1280px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(110,231,183,.1);border:1px solid rgba(110,231,183,.25);color:#6EE7B7;font-size:12.5px;font-weight:600;padding:7px 18px;border-radius:30px;margin-bottom:1.5rem}
.badge-dot{width:7px;height:7px;border-radius:50%;background:#6EE7B7;animation:pulse 2s infinite}
.hero h1{font-size:3.2rem;font-weight:900;line-height:1.3;color:#fff;margin-bottom:1.2rem}
.hero h1 em{font-style:normal;background:linear-gradient(135deg,#6EE7B7,#93C5FD);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:15.5px;color:rgba(255,255,255,.72);line-height:2;max-width:520px;margin-bottom:2.2rem}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap}
.hstat{text-align:center}
.hstat-num{font-size:1.8rem;font-weight:900;color:#fff;display:block;line-height:1}
.hstat-label{font-size:11.5px;color:rgba(255,255,255,.5);margin-top:4px}
.hstat-divider{width:1px;background:rgba(255,255,255,.15);height:48px;align-self:center}
.hero-visual{display:flex;flex-direction:column;gap:12px;animation:heroFloat 6s ease-in-out infinite}
.hcard{background:rgba(255,255,255,.08);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:14px;transition:background var(--transition),transform var(--transition);cursor:default}
.hcard:hover{background:rgba(255,255,255,.14);transform:translateX(-5px)}
.hcard-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hi-blue{background:rgba(37,99,235,.25)}
.hi-green{background:rgba(5,150,105,.25)}
.hi-amber{background:rgba(217,119,6,.25)}
.hcard-text p{font-size:11.5px;color:rgba(255,255,255,.55);margin-bottom:4px}
.hcard-text strong{font-size:14.5px;font-weight:700;color:#fff}

/* ── STATS ── */
.stats-section{background:#fff;border-bottom:1px solid var(--border)}
.stats-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:1.8rem 1.5rem;text-align:center;border-left:1px solid var(--border);position:relative;overflow:hidden;cursor:default}
.stat-item:first-child{border-left:none}
.stat-item::before{content:'';position:absolute;bottom:0;right:0;left:100%;height:3px;background:linear-gradient(to left,var(--blue2),var(--green2));transition:left .5s ease}
.stat-item:hover::before{left:0}
.stat-num{font-size:2.8rem;font-weight:900;color:var(--navy);display:block;line-height:1}
.stat-suf{font-size:1.4rem;font-weight:700;color:var(--green2)}
.stat-label{font-size:13px;color:var(--gray);margin-top:8px;font-weight:500}

/* ── PRODUCTS GRID ── */
.products-bg{background:var(--light)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
/* v1.8.1: Column count variants */
.pgrid-cols-2{grid-template-columns:repeat(2,1fr)!important}
.pgrid-cols-3{grid-template-columns:repeat(3,1fr)!important}
.pgrid-cols-4{grid-template-columns:repeat(4,1fr)!important}
.pgrid-cols-5{grid-template-columns:repeat(5,1fr)!important}
.pgrid-cols-6{grid-template-columns:repeat(6,1fr)!important}
/* v1.8.1: Layout variants */
.pgrid-masonry{display:block;column-count:3;column-gap:1.4rem}
.pgrid-masonry .pcard{display:inline-block;width:100%;margin-bottom:1.4rem;break-inside:avoid}
.pgrid-list{grid-template-columns:1fr!important}
.pgrid-list .pcard{display:flex;flex-direction:row;align-items:center}
.pgrid-list .pcard .pimg-wrap{width:200px;flex-shrink:0}
.pgrid-list .pcard .pcard-body{flex:1}
/* v1.8.1: Card sizes */
.pcard-size-small .pimg-wrap{height:160px}
.pcard-size-medium .pimg-wrap{height:200px}
.pcard-size-large .pimg-wrap{height:260px}
.pcard-size-small .pcard-body{padding:14px}
.pcard-size-large .pcard-body{padding:24px}
/* v1.8.1: Card shadow & hover */
.pcard-shadow{box-shadow:0 4px 16px rgba(15,42,92,.06)}
.pcard-hover{transition:transform .25s,box-shadow .25s}
.pcard-hover:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(15,42,92,.12)}
/* v1.8.1: Card price & rating */
.pcard-price{font-size:18px;font-weight:800;color:var(--navy);margin:.5rem 0 .25rem}
.pcard-rating{display:flex;align-items:center;gap:4px;margin-bottom:.5rem;font-size:14px}
.pstar{color:#D1D5DB}
.pstar.pstar-on{color:#F59E0B}
.prating-num{font-size:12px;color:var(--gray);margin-right:6px}
.pbtn-cart{background:var(--green);color:#fff}
.pbtn-cart:hover{background:var(--green2)}
/* v1.8.1: View all button */
.sec-view-all{margin-top:2.5rem}
.btn-outline{background:transparent;border:2px solid var(--navy);color:var(--navy);display:inline-flex;align-items:center;gap:8px}
.btn-outline:hover{background:var(--navy);color:#fff}

/* ── LOGO CAROUSEL ── */
.logos-section{background:#fff;padding:3rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.logos-label{text-align:center;font-size:13.5px;font-weight:700;color:var(--gray);margin-bottom:1.8rem;letter-spacing:.3px}
.logos-subtitle{text-align:center;font-size:12.5px;color:var(--gray);margin-bottom:1.5rem;opacity:.8}
.logos-outer{overflow:hidden;position:relative}
.logos-outer::before,.logos-outer::after{content:'';position:absolute;top:0;height:100%;width:160px;z-index:2;pointer-events:none}
.logos-outer::before{right:0;background:linear-gradient(to left,#fff 40%,transparent)}
.logos-outer::after{left:0;background:linear-gradient(to right,#fff 40%,transparent)}
.logos-track{display:flex;align-items:center;will-change:transform}
.litem{flex-shrink:0;width:170px;height:80px;margin:0 10px;border:1.5px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:center;background:#FAFBFF;transition:all .25s;cursor:default;position:relative;overflow:hidden}
.litem::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.5));opacity:0;transition:opacity .3s}
.litem:hover{border-color:var(--blue2);box-shadow:0 6px 24px rgba(37,99,235,.12);transform:translateY(-3px)}
.litem:hover::before{opacity:1}
.lname{font-size:19px;font-weight:900}
/* v1.8.1: Logo image styling */
.litem img{max-width:80%;max-height:60px;width:auto;height:auto;object-fit:contain;filter:grayscale(0)}
.litem-grayscale img{filter:grayscale(100%);opacity:.6;transition:filter .3s,opacity .3s}
.litem-grayscale:hover img{filter:grayscale(0);opacity:1}
.litem-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none}
/* v1.8.1: Grid layout for logos */
.logos-grid .logos-grid-inner{display:grid;gap:1.5rem;padding:2rem 1rem;max-width:1280px;margin:0 auto}
.logos-grid .litem{width:100%;margin:0}
/* v1.8.1: Marquee animation */
.logos-marquee .logos-track{animation:logo-marquee 25s linear infinite}
.logos-marquee:hover .logos-track{animation-play-state:paused}
@keyframes logo-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* v1.8.1: Slider arrows */
.logos-slider{position:relative;padding:0 3rem}
.logos-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:1px solid var(--border);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;color:var(--navy);z-index:10;transition:all .25s}
.logos-arrow:hover{background:var(--navy);color:#fff}
.logos-arrow-prev{right:-10px}
.logos-arrow-next{left:-10px}

/* ── FEATURES ── */
.feat-bg{background:linear-gradient(135deg,#EFF6FF 0%,#ECFDF5 100%)}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}

/* ── NEWS ── */
.news-bg{background:var(--light);position:relative}
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
/* v1.8.1: News layout variants */
.ngrid-cols-1{grid-template-columns:1fr!important}
.ngrid-cols-2{grid-template-columns:repeat(2,1fr)!important}
.ngrid-cols-3{grid-template-columns:repeat(3,1fr)!important}
.ngrid-cols-4{grid-template-columns:repeat(4,1fr)!important}
.ngrid-masonry{display:block;column-count:3;column-gap:1.4rem}
.ngrid-masonry .ncard{display:inline-block;width:100%;margin-bottom:1.4rem;break-inside:avoid}
.ngrid-list{grid-template-columns:1fr!important}
.ngrid-list .ncard{display:flex;flex-direction:row;align-items:stretch}
.ngrid-list .ncard .nimg{width:280px;flex-shrink:0}
.ngrid-list .ncard .nbody{flex:1}
.ngrid-featured .ncard-featured-first{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch}
.ngrid-featured .ncard-featured-first .nimg{height:100%;min-height:280px}
.ngrid-featured .ncard-featured-first .nbody{padding:2rem}
.ngrid-slider{display:flex;overflow-x:auto;gap:1.5rem;scroll-snap-type:x mandatory;padding-bottom:1rem}
.ngrid-slider .ncard{flex:0 0 360px;scroll-snap-align:start}
.ngrid-two-col-list{grid-template-columns:2fr 1fr!important}
.ngrid-two-col-list .ncard:first-child{grid-row:1 / 4}
/* v1.8.1: News card extras */
.ncard-shadow{box-shadow:0 4px 16px rgba(15,42,92,.06)}
.ncard-hover{transition:transform .25s,box-shadow .25s}
.ncard-hover:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(15,42,92,.12)}
.ncard-img-left{display:flex;flex-direction:row-reverse;align-items:stretch}
.ncard-img-left .nimg{width:240px;flex-shrink:0}
.ncard-img-left .nbody{flex:1}
.ncard-img-right{display:flex;flex-direction:row;align-items:stretch}
.ncard-img-right .nimg{width:240px;flex-shrink:0}
.ncard-img-right .nbody{flex:1}
.ncard-img-bg{position:relative}
.ncard-img-bg .nbody{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);color:#fff;padding:1.5rem}
.ncard-img-bg .nbody h3,.ncard-img-bg .nbody p{color:#fff}
.ncard-img-bg .nbody .ndate,.ncard-img-bg .nbody .nmore{color:rgba(255,255,255,.85)}
.nbody-meta{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0;font-size:12px;color:var(--gray)}
.nauthor{display:flex;align-items:center;gap:6px}
.nauthor-avatar{border-radius:50%!important}
.nread-time,.ncomments{display:inline-flex;align-items:center;gap:4px}

/* v1.8.1: HERO animations & layout variants */
.hero-layout-text-only .hero-inner{grid-template-columns:1fr!important;max-width:760px;text-align:center;margin:0 auto}
.hero-layout-centered .hero-inner{grid-template-columns:1fr!important;max-width:760px;text-align:center;margin:0 auto}
.hero-layout-centered .hero-btns,.hero-layout-centered .hero-stats{justify-content:center}
.hero-align-center{text-align:center}
.hero-align-center .hero-badge,.hero-align-center .hero-btns,.hero-align-center .hero-stats{justify-content:center}
.hero-align-left{text-align:left}
.hero-align-right{text-align:right}
.hero-overlay{position:absolute;inset:0;pointer-events:none;z-index:0}
/* Load animations */
.hero-load-fade-in{animation:heroFadeIn 1s ease forwards}
.hero-load-slide-up{animation:heroSlideUp 1s ease forwards}
.hero-load-zoom-in{animation:heroZoomIn 1s ease forwards}
@keyframes heroFadeIn{from{opacity:0}to{opacity:1}}
@keyframes heroSlideUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroZoomIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
/* Text animations */
.hero-anim-fade .reveal{opacity:0;animation:heroFadeIn var(--hero-anim-dur,.8s) ease forwards}
.hero-anim-slide-up .reveal{opacity:0;animation:heroSlideUp var(--hero-anim-dur,.8s) ease forwards}
.hero-anim-slide-right .reveal{opacity:0;animation:heroSlideRight var(--hero-anim-dur,.8s) ease forwards}
.hero-anim-slide-left .reveal{opacity:0;animation:heroSlideLeft var(--hero-anim-dur,.8s) ease forwards}
.hero-anim-zoom .reveal{opacity:0;animation:heroZoomIn var(--hero-anim-dur,.8s) ease forwards}
.hero-anim-flip .reveal{opacity:0;animation:heroFlip var(--hero-anim-dur,.8s) ease forwards}
.hero-anim-bounce .reveal{opacity:0;animation:heroBounce var(--hero-anim-dur,.8s) ease forwards}
@keyframes heroSlideRight{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}
@keyframes heroSlideLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}
@keyframes heroFlip{from{opacity:0;transform:perspective(800px) rotateY(90deg)}to{opacity:1;transform:perspective(800px) rotateY(0)}}
@keyframes heroBounce{0%{opacity:0;transform:translateY(-100px)}60%{opacity:1;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}
.hero-anim-typewriter .hero h1{overflow:hidden;border-left:3px solid #6EE7B7;white-space:nowrap;animation:heroType 4s steps(40) forwards}
@keyframes heroType{from{width:0}to{width:100%}}

/* ── CERTS ── */
.certs-bg{background:#fff}

/* ── CTA ── */
.cta-section{background:linear-gradient(135deg,var(--navy),#1a3a70);padding:4rem 0;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(37,99,235,.15),transparent 70%)}
.cta-section::after{content:'';position:absolute;bottom:-50%;left:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(5,150,105,.1),transparent 70%)}
.cta-inner{max-width:780px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}
.cta-inner h2{font-size:2.2rem;font-weight:800;color:#fff;margin-bottom:.8rem}
.cta-inner p{font-size:15px;color:rgba(255,255,255,.75);line-height:1.9;margin-bottom:2rem}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
