/*
Theme Name: SERDEC Academy
Theme URI: https://edu.serdec.so
Author: SERDEC
Description: A bright, modern course & book selling theme for SERDEC Academy. Built for WooCommerce + Tutor LMS. Sell video courses, PDF books and Grade 1-12 school lessons. Payments: EVC Plus, Mastercard/Visa, PayPal.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: serdec-academy
Tags: education, e-commerce, courses, one-column, custom-colors, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ============================================================
   1. COLOR SYSTEM  — change these 6 lines to restyle the site
   ============================================================ */
:root{
  --navy:#0A2540;      /* deep ocean blue - headings, nav, footer */
  --navy-2:#123A5C;    /* lighter navy for gradients */
  --teal:#0FB5A5;      /* bright teal - buttons, prices, links */
  --teal-d:#0C9689;    /* teal hover */
  --gold:#FFC233;      /* warm gold - highlighter, ticker, badges */
  --coral:#FF6B4A;     /* coral - SALE tags, cart count */
  --violet:#7C5CFF;    /* violet - Grades 1-12 school section */
  --sky:#EDF5FB;       /* light blue section background */
  --mist:#F7FAFC;      /* softest background */
  --white:#FFFFFF;
  --text:#243B53;      /* body text */
  --muted:#627D98;     /* secondary text */
  --line:#DAE4EE;      /* borders */

  --radius:16px;
  --shadow:0 12px 32px -14px rgba(10,37,64,.28);
  --shadow-lg:0 24px 60px -24px rgba(10,37,64,.45);
  --font-d:'Bricolage Grotesque',system-ui,sans-serif;
  --font-b:'Public Sans',system-ui,sans-serif;
  --font-m:'IBM Plex Mono',monospace;
}

/* ============================================================
   2. BASE
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--text);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:none}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
input,select,textarea{font:inherit}
h1,h2,h3,h4,h5{font-family:var(--font-d);color:var(--navy);line-height:1.2;letter-spacing:-.02em;font-weight:800}
.wrap{width:min(1200px,92%);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.eyebrow{font-family:var(--font-m);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:600}
.h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
.lead{color:var(--muted);max-width:58ch}
.mono{font-family:var(--font-m)}

/* highlighter sweep */
.mark{position:relative;display:inline-block;z-index:1}
.mark:after{content:"";position:absolute;left:-.1em;right:-.1em;bottom:.05em;height:.42em;background:var(--gold);z-index:-1;transform:scaleX(0);transform-origin:left;animation:sweep .9s .45s cubic-bezier(.6,.1,.2,1) forwards;border-radius:3px}
@keyframes sweep{to{transform:scaleX(1)}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.93rem;transition:transform .18s,box-shadow .18s,background .18s;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--navy);color:#fff}
.btn-p:hover{background:#0D2846;box-shadow:0 12px 24px -12px rgba(18,53,91,.8);color:#fff}
.btn-t{background:var(--teal);color:#fff}
.btn-t:hover{background:var(--teal-d);color:#fff}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#F0A800}
.btn-g{border:2px solid var(--line);color:var(--navy)}
.btn-g:hover{border-color:var(--navy);color:var(--navy)}
.btn-w{border:2px solid rgba(255,255,255,.4);color:#fff}
.btn-w:hover{background:rgba(255,255,255,.14);color:#fff}

/* ============================================================
   3. HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:22px;height:78px}
.brand{display:flex;align-items:center;gap:11px}
.brand-txt{font-family:var(--font-d);font-weight:800;font-size:1.22rem;color:var(--navy);line-height:1.1}
.brand-txt small{display:block;font-family:var(--font-m);font-size:.56rem;letter-spacing:.34em;color:var(--teal);font-weight:600}
.menu{display:flex;gap:22px;margin-left:16px;list-style:none;font-size:.94rem;font-weight:600}
.menu a{color:var(--muted);padding:6px 0;border-bottom:2px solid transparent;transition:.2s}
.menu a:hover,.menu .current-menu-item>a{color:var(--navy);border-color:var(--gold)}
.navright{margin-left:auto;display:flex;align-items:center;gap:10px}
.cartbtn{position:relative;width:46px;height:46px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:var(--navy)}
.cartbtn:hover{border-color:var(--navy)}
.badge{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--coral);color:#fff;font-family:var(--font-m);font-size:.68rem;font-weight:600;display:grid;place-items:center}
.burger{display:none;width:46px;height:46px;border-radius:12px;border:2px solid var(--line);color:var(--navy);place-items:center}

/* ============================================================
   4. HERO SLIDER
   ============================================================ */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0A2540 0%,#123A5C 48%,#0B6E7F 100%);color:#fff}
.hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:34px 34px}
.hero:after{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(18,179,168,.55),transparent 68%)}
.slides{position:relative;min-height:560px}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;display:grid;align-items:center}
.slide.on{opacity:1;visibility:visible}
.slide-in{width:min(1200px,92%);margin-inline:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:76px 0;position:relative;z-index:2}
.slide h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.07;color:#fff;margin:16px 0 18px}
.slide p{color:#D3E4F2;max-width:48ch;font-size:1.05rem}
.slide .eyebrow{color:var(--gold)}
.slide .cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.on .slide-in>*{animation:rise .7s .08s both cubic-bezier(.2,.7,.3,1)}
.on .slide-in>*:last-child{animation-delay:.2s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

.deck{position:relative;height:340px}
.card3d{position:absolute;width:252px;padding:20px;border-radius:18px;background:#fff;box-shadow:var(--shadow-lg);transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.deck:hover .card3d{transform:rotate(0) translateY(0)}
.card3d:nth-child(1){top:10px;left:4%;transform:rotate(-7deg)}
.card3d:nth-child(2){top:72px;left:26%;transform:rotate(3deg)}
.card3d:nth-child(3){top:156px;left:6%;transform:rotate(-2deg)}
.card3d .code{font-family:var(--font-m);font-size:.68rem;color:var(--teal);font-weight:600;letter-spacing:.1em}
.card3d h4{font-size:1.02rem;margin:6px 0 12px}
.spark{display:flex;align-items:flex-end;gap:4px;height:34px}
.spark i{flex:1;background:var(--sky);border-radius:3px 3px 0 0}
.spark i.hi{background:var(--gold)}
.dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:5}
.dot{width:36px;height:4px;border-radius:9px;background:rgba(255,255,255,.3);border:0}
.dot.on{background:var(--gold)}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;display:grid;place-items:center;font-size:1.4rem}
.arrow:hover{background:rgba(255,255,255,.25)}
.arrow.prev{left:2%}.arrow.next{right:2%}

/* ticker */
.ticker{background:var(--gold);color:var(--navy);overflow:hidden;white-space:nowrap;padding:12px 0;font-family:var(--font-m);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ticker span{display:inline-block;animation:slide 28s linear infinite}
.ticker b{margin:0 26px;font-weight:600}
@keyframes slide{to{transform:translateX(-50%)}}

/* ============================================================
   5. SECTIONS
   ============================================================ */
.sec{padding:86px 0}
.sec-mist{background:var(--mist)}
.sec-sky{background:var(--sky)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;flex-wrap:wrap}

/* categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cat{position:relative;display:block;padding:28px 24px 24px;border:2px solid var(--line);border-radius:var(--radius);background:#fff;transition:.28s;overflow:hidden}
.cat:hover{transform:translateY(-6px);border-color:transparent;box-shadow:var(--shadow)}
.cat .bar{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--teal)}
.cat:nth-child(2) .bar{background:var(--gold)}
.cat:nth-child(3) .bar{background:var(--coral)}
.cat:nth-child(4) .bar{background:var(--violet)}
.cat .n{font-family:var(--font-m);font-size:.7rem;font-weight:600;color:var(--muted)}
.cat h3{font-size:1.24rem;margin:12px 0 6px}
.cat p{font-size:.9rem;color:var(--muted)}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{border:2px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:.3s;opacity:0;transform:translateY(18px)}
.card.in{opacity:1;transform:none}
.card:hover{box-shadow:var(--shadow);transform:translateY(-5px);border-color:transparent}
.thumb{height:170px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--navy)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb .glyph{font-family:var(--font-d);font-size:3.4rem;font-weight:800;color:rgba(255,255,255,.9)}
.thumb .tag{position:absolute;top:12px;left:12px;font-family:var(--font-m);font-size:.66rem;font-weight:600;background:#fff;color:var(--navy);padding:5px 9px;border-radius:6px;z-index:2}
.thumb .sale{position:absolute;top:12px;right:12px;font-family:var(--font-m);font-size:.64rem;font-weight:600;background:var(--coral);color:#fff;padding:5px 9px;border-radius:6px;z-index:2}
.pbody{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.pbody h3{font-size:1.08rem}
.pbody h3 a{color:var(--navy)}
.pbody h3 a:hover{color:var(--teal)}
.meta{display:flex;gap:14px;font-family:var(--font-m);font-size:.78rem;color:var(--muted)}
.pfoot{margin-top:auto;padding-top:12px;border-top:2px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-family:var(--font-d);font-size:1.3rem;font-weight:800;color:var(--navy)}
.price del{font-family:var(--font-b);font-size:.85rem;font-weight:500;color:var(--muted);margin-left:6px}
.price ins{text-decoration:none}
.add{background:var(--sky);color:var(--navy);padding:11px 16px;border-radius:11px;font-weight:700;font-size:.86rem;transition:.2s;display:inline-block}
.add:hover{background:var(--teal);color:#fff}
.add.added,.added_to_cart{background:var(--teal)!important;color:#fff!important}

/* grade chips */
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:10px 18px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:.87rem;font-weight:700;color:var(--navy);transition:.2s}
.chip:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-2px)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* stats */
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat b{display:block;font-family:var(--font-d);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--navy)}
.stat span{font-family:var(--font-m);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* payments */
.pays{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.pay{display:flex;align-items:center;gap:10px;padding:13px 18px;border:2px solid var(--line);border-radius:12px;background:#fff;font-weight:700;font-size:.9rem;color:var(--navy)}
.pay .d{width:10px;height:10px;border-radius:50%}
.steps{background:#fff;border:2px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
.steps ol{list-style:none;display:grid;gap:16px;margin-top:16px}
.steps li{display:flex;gap:13px;align-items:flex-start}
.num{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--font-m);font-weight:600;font-size:.85rem;background:var(--navy);color:#fff}
.steps li:nth-child(2) .num{background:var(--teal)}
.steps li:nth-child(3) .num{background:var(--gold);color:var(--navy)}
.steps b{color:var(--navy)}
.steps small{color:var(--muted)}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.q{padding:28px;border-radius:var(--radius);background:#fff;border:2px solid var(--line)}
.q p{font-size:.98rem}
.who{margin-top:16px;display:flex;align-items:center;gap:11px}
.av{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--font-m);font-size:.78rem;font-weight:600}
.who b{display:block;font-size:.92rem;color:var(--navy)}
.who small{color:var(--muted);font-size:.78rem}

/* CTA band */
.band{background:linear-gradient(120deg,var(--teal),#0E6E8C);color:#fff;text-align:center;padding:78px 0}
.band h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.6rem)}
.band p{color:#D9F3F1;margin:14px auto 26px;max-width:52ch}

/* ============================================================
   6. FOOTER
   ============================================================ */
.site-footer{background:var(--navy);color:#B7CBDD;padding:66px 0 28px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.site-footer h5{color:#fff;font-family:var(--font-m);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:9px;font-size:.93rem}
.site-footer a{color:#B7CBDD}
.site-footer a:hover{color:var(--gold)}
.site-footer .brand-txt{color:#fff}
.fbot{margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:14px;font-size:.83rem;flex-wrap:wrap}

/* ============================================================
   7. WOOCOMMERCE + INNER PAGES
   ============================================================ */
.page-hero{background:var(--sky);padding:56px 0;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(1.9rem,4vw,2.8rem)}
.content{padding:60px 0}
.content p{margin-bottom:1em}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;border:2px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff;transition:.3s}
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.woocommerce ul.products li.product img{border-radius:10px;margin-bottom:12px}
.woocommerce ul.products li.product .price{color:var(--navy)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--teal)!important;color:#fff!important;border-radius:999px!important;font-weight:700!important;padding:12px 22px!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--teal-d)!important}
.woocommerce .button.alt,.woocommerce #place_order{background:var(--gold)!important;color:var(--navy)!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--teal)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--teal)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container .select2-selection--single{border:2px solid var(--line)!important;border-radius:11px!important;padding:12px 14px!important;height:auto!important}
.woocommerce-checkout #payment{background:var(--mist)!important;border-radius:16px!important}
.woocommerce-checkout #payment ul.payment_methods li{padding:14px!important;border-radius:12px;background:#fff;margin-bottom:10px;border:2px solid var(--line)}

/* toast */
.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,90px);background:var(--navy);color:#fff;padding:14px 22px;border-radius:12px;z-index:99;font-weight:600;font-size:.9rem;opacity:0;transition:.35s}
.toast.on{transform:translate(-50%,0);opacity:1}

/* ============================================================
   8. RESPONSIVE + ACCESSIBILITY
   ============================================================ */
@media(max-width:980px){
  .menu{display:none}
  .menu.open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:#fff;padding:20px 6%;gap:6px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .burger{display:grid}
  .navright .btn{display:none}
  .slide-in{grid-template-columns:1fr;padding:56px 0}
  .deck{display:none}
  .arrow{display:none}
  .slides{min-height:470px}
  .cats,.grid,.quotes,.fgrid,.woocommerce ul.products{grid-template-columns:1fr}
  .statgrid{grid-template-columns:1fr 1fr;gap:30px}
  .paycols{grid-template-columns:1fr!important}
}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* ============================================================
   9. DROPDOWN NAVIGATION
   ============================================================ */
.menu li{position:relative}
.menu .menu-item-has-children>a:after{content:"";display:inline-block;margin-left:7px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.2s}
.menu .menu-item-has-children:hover>a:after{transform:rotate(225deg) translateY(1px)}
.menu .sub-menu{
  position:absolute;top:100%;left:-16px;min-width:250px;list-style:none;
  background:#fff;border:2px solid var(--line);border-radius:14px;padding:10px;
  box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.22s ease;z-index:70;display:block;
}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.menu .sub-menu li{margin:0}
.menu .sub-menu a{
  display:block;padding:11px 14px;border-radius:10px;border:0;color:var(--text);
  font-weight:600;font-size:.9rem;white-space:nowrap;
}
.menu .sub-menu a:hover{background:var(--sky);color:var(--navy);border:0}
.menu .sub-menu .sub-menu{top:-12px;left:100%}

/* ============================================================
   10. HOW IT WORKS
   ============================================================ */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.how-i{position:relative;padding:30px 24px;background:#fff;border:2px solid var(--line);border-radius:var(--radius);transition:.28s}
.how-i:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.how-i .s{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-m);font-weight:600;background:var(--navy);color:#fff;margin-bottom:16px}
.how-i:nth-child(2) .s{background:var(--teal)}
.how-i:nth-child(3) .s{background:var(--gold);color:var(--navy)}
.how-i:nth-child(4) .s{background:var(--violet)}
.how-i h3{font-size:1.1rem;margin-bottom:8px}
.how-i p{font-size:.9rem;color:var(--muted)}

/* ============================================================
   11. FEATURES / WHY SERDEC
   ============================================================ */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feat{display:flex;gap:16px;padding:26px;background:#fff;border:2px solid var(--line);border-radius:var(--radius)}
.feat .ic{width:48px;height:48px;flex:none;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--teal)}
.feat h3{font-size:1.05rem;margin-bottom:6px}
.feat p{font-size:.9rem;color:var(--muted)}

/* ============================================================
   12. INSTRUCTORS
   ============================================================ */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.tm{background:#fff;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:center;transition:.28s}
.tm:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.tm .ph{height:150px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--font-d);font-size:2.4rem;font-weight:800}
.tm:nth-child(2) .ph{background:var(--teal)}
.tm:nth-child(3) .ph{background:var(--violet)}
.tm:nth-child(4) .ph{background:var(--coral)}
.tm .tb{padding:20px}
.tm h3{font-size:1.05rem}
.tm .role{font-family:var(--font-m);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin:6px 0 10px;font-weight:600}
.tm p{font-size:.86rem;color:var(--muted)}

/* ============================================================
   13. BLOG STRIP + NEWSLETTER
   ============================================================ */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:24px;transition:.28s}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.post .date{font-family:var(--font-m);font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.post h3{font-size:1.08rem;margin:10px 0 8px}
.post h3 a{color:var(--navy)}
.post h3 a:hover{color:var(--teal)}
.post p{font-size:.9rem;color:var(--muted)}
.news{background:var(--navy-2);border-radius:20px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;color:#fff}
.news h3{color:#fff;font-size:1.6rem}
.news p{color:#B7CBDD;font-size:.95rem;margin-top:6px}
.news form{display:flex;gap:10px}
.news input{padding:14px 18px;border-radius:999px;border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;min-width:250px}
.news input::placeholder{color:#94AEC6}
.news input:focus{outline:none;border-color:var(--gold)}

/* ============================================================
   14. FAQ ACCORDION
   ============================================================ */
.faq{max-width:820px;margin-inline:auto;display:grid;gap:12px}
.fq{border:2px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.fq summary{padding:20px 24px;font-family:var(--font-d);font-weight:700;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.fq summary::-webkit-details-marker{display:none}
.fq summary:after{content:"+";font-size:1.5rem;color:var(--teal);font-weight:400}
.fq[open] summary:after{content:"–"}
.fq[open] summary{border-bottom:2px solid var(--line)}
.fq .a{padding:20px 24px;color:var(--muted);font-size:.95rem}

/* ============================================================
   15. CONTACT
   ============================================================ */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.cbox{background:#fff;border:2px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}
.cbox label{display:block;font-family:var(--font-m);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:16px 0 6px}
.cbox input,.cbox textarea,.cbox select{width:100%;padding:13px 15px;border:2px solid var(--line);border-radius:11px;background:#fff}
.cbox input:focus,.cbox textarea:focus{outline:none;border-color:var(--teal)}
.cinfo li{list-style:none;display:flex;gap:14px;padding:18px 0;border-bottom:2px dashed var(--line)}
.cinfo .ic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--sky);color:var(--teal);display:grid;place-items:center}
.cinfo b{display:block;color:var(--navy)}
.cinfo small{color:var(--muted)}
.notice{padding:14px 18px;border-radius:12px;background:rgba(15,181,165,.12);color:var(--teal-d);font-weight:600;margin-bottom:18px}

@media(max-width:980px){
  .menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:3px solid var(--line);border-radius:0;padding:0 0 0 12px;margin:4px 0 8px;min-width:0}
  .how,.feats,.team,.posts,.contact{grid-template-columns:1fr}
  .news{grid-template-columns:1fr;padding:28px}
  .news form{flex-direction:column}
  .news input{min-width:0;width:100%}
}


/* ============================================================
   16. TOP BAR
   ============================================================ */
.topbar{background:var(--navy);color:#9FB6CC;font-size:.8rem;padding:9px 0}
.topbar .wrap{display:flex;align-items:center;gap:10px}
.topbar a{color:var(--gold);font-weight:600}
.topbar .tb-right{margin-left:auto}
.topbar .dotsep{opacity:.5}
@media(max-width:980px){.topbar .dotsep,.topbar .tb-right{display:none}.topbar .wrap{justify-content:center}}
