/* 书店和商品详情页共用的样式（原来内嵌在每个页面里） */
:root{
  --blue:#2F5DA8;
  --blue-d:#234A8A;
  --blue-l:#E4ECF7;
  --blue-m:#C8D7EE;

  --ora:#F06B2A;
  --ora-l:#FFF2EB;
  --ora-m:#F5875A;

  --cream:#FFFFFF;
  --sand:#F8F8F6;
  --sand-d:#EBEBEA;

  --ink:#1D1D1B;
  --ink2:#45413B;
  --ink3:#756F66;
  --ink4:#B8B0A4;

  --bdr:rgba(45,35,25,.12);
  --bdr2:rgba(45,35,25,.07);

  --grn:#28724C;
  --grn-l:#EAF4EE;

  --r:10px;
  --rl:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Nunito',sans-serif;background:var(--sand);color:var(--ink);overflow-x:hidden;}
.tb{background:var(--blue);height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.2);}
.logo-main{
  height:52px;
  width:auto;
  flex-shrink:0;
  cursor:pointer;
}
.news-ticker{height:28px;background:#fff;border-bottom:1px solid var(--bdr2);overflow:hidden;display:flex;align-items:center;position:sticky;top:64px;z-index:90;}
.news-track{display:inline-flex;gap:42px;white-space:nowrap;animation:ticker 35s linear infinite;font-size:12.5px;font-weight:850;color:var(--ink2);padding-left:100%;} 
  @media(max-width:700px){
  .news-track{
    animation-duration:18s;
  }
}
.news-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ora);margin-right:7px;vertical-align:middle;}
.news-item{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;cursor:pointer;transition:background .18s,color .18s,transform .18s;}
.news-item:hover{background:var(--ora-l);color:var(--ora);transform:translateY(-1px);}
.news-track:hover{animation-play-state:paused;}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.nc{display:flex;gap:0;}
.nl{color:rgba(255,255,255,.72);font-size:14px;padding:8px 13px;cursor:pointer;border:none;background:none;font-family:inherit;font-weight:800;white-space:nowrap;transition:color .15s;}
.nl:hover,.nl.on{color:#fff;}
.nr{display:flex;align-items:center;gap:6px;}
.lb{padding:5px 10px;border-radius:20px;border:1.5px solid rgba(255,255,255,.22);background:transparent;color:rgba(255,255,255,.7);font-size:12px;cursor:pointer;font-family:inherit;font-weight:800;}
.lb.on{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.5);}
.cta{background:var(--ora);border:none;color:#fff;padding:7px 16px;border-radius:20px;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;}
.ub{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);padding:7px 13px;border-radius:20px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;}
.pg{display:none;}.pg.on{display:block;}

/* HERO */
.hero{
  position:relative;
  height:74vh;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:36px 20px 48px;
}
.hvid{
  display:none;
}

.hovl{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(120deg,rgba(10,45,75,.58),rgba(12,55,90,.42)),
    rgba(0,0,0,.34);
}

.gfb{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url('/hero-bg.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:saturate(1.08) contrast(1.05) brightness(1.05);
}

.gfb::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
}

.gb{
  display:none;
}

.hc{
  position:relative;
  z-index:2;
  text-align:center;
  padding:0 20px;
  max-width:760px;
}

.hpill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:30px;padding:5px 15px;font-size:12px;color:rgba(255,255,255,.88);margin-bottom:1.4rem;font-weight:700;}
.pdot{width:7px;height:7px;border-radius:50%;background:var(--ora);flex-shrink:0;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.6rem);color:#fff;line-height:1.15;margin-bottom:.85rem;}
.hero h1 em{color:#7EC8F5;font-style:normal;}
.hsub{color:rgba(255,255,255,.65);font-size:15px;line-height:1.72;max-width:510px;margin:0 auto 2rem;font-weight:500;}

.hbtns{
  display:flex;
  gap:18px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}

.hb1,
.hb2{
  min-width:250px;
  min-height:64px;
  padding:0 34px;
  border-radius:10px;
  font-size:20px;
  font-weight:900;
  cursor:pointer;
  font-family:inherit;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.hb1{
  background:#2F5DA8;
  color:#fff;
  border:2px solid #2F5DA8;
  box-shadow:0 12px 26px rgba(47,93,168,.18);
}

.hb2{
  background:rgba(255,255,255,.86);
  color:#111;
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 12px 26px rgba(47,93,168,.10);
}

.hb1:hover,
.hb2:hover{
  transform:translateY(-2px);
}

.hb1:hover{
  background:#234A8A;
  border-color:#234A8A;
}

.hb2:hover{
  background:#fff;
  border-color:#E96F3C;
}
.hstats{display:flex;gap:2.5rem;justify-content:center;margin-top:2.8rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12);}
.hn{font-family:'Playfair Display',serif;font-size:1.8rem;color:#fff;}
.hl{color:rgba(255,255,255,.42);font-size:11px;margin-top:2px;letter-spacing:.4px;font-weight:600;}

/* SECTIONS */
.sec{padding:4rem 20px;max-width:980px;margin:0 auto;}
.sec-sm{max-width:680px;}
.eye{font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);margin-bottom:.45rem;}
.stit{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2rem);color:var(--ink);font-weight:700;margin-bottom:.4rem;}
.ssub{color:var(--ink3);font-size:14.5px;line-height:1.65;max-width:520px;font-weight:500;}
.shead{margin-bottom:2.4rem;}
.bg-sky{background:var(--blue-l);}
.bg-sand{background:var(--sand);}
.bg-w{background:#fff;}

/* FEAT */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.1rem;}
.fcard{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.35rem;}
.ficon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.8rem;font-size:20px;}
.fi-b{background:var(--blue-l);}.fi-o{background:var(--ora-l);}.fi-g{background:#E6FAF5;}.fi-t{background:#FFE9EC;}
.ft{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:.28rem;}
.fd{font-size:12.5px;color:var(--ink3);line-height:1.58;font-weight:500;}

/* PILLARS */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.1rem;}
.pillar{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);overflow:hidden;cursor:pointer;transition:box-shadow .18s,transform .18s;}
.pillar:hover{box-shadow:0 6px 22px rgba(26,109,193,.12);transform:translateY(-3px);}
.ph{padding:14px 16px 11px;border-bottom:1.5px solid var(--bdr2);}
.plv{font-size:19px;font-weight:900;letter-spacing:-.4px;}
.psub{font-size:11.5px;color:var(--ink3);margin-top:2px;font-weight:600;}
.pb{padding:13px 16px 15px;}
.ptit{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:.5rem;}
.ppts{list-style:none;margin-bottom:.85rem;}
.ppts li{font-size:12px;color:var(--ink2);padding:2.5px 0;display:flex;align-items:flex-start;gap:6px;line-height:1.42;font-weight:500;}
.ppts li::before{content:'✦';font-size:6.5px;color:var(--ora);flex-shrink:0;margin-top:5.5px;}
.ptags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.85rem;}
.ptag{font-size:10px;padding:2px 8px;border-radius:20px;border:1.5px solid var(--bdr);color:var(--ink3);font-weight:700;background:var(--sand);}
.pprice{
  font-family:'Playfair Display',serif;
  font-size:1.18rem;
  color:var(--ink);
  font-weight:700;
}
.pprice{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--ink);font-weight:700;}
.pnote{
  font-size:10.5px;
  color:var(--ink4);
  margin-top:1px;
  font-weight:600;
  line-height:1.45;
  white-space:nowrap;
}
.benroll{
  background:var(--blue);
  color:#fff;
  border:none;
  padding:7px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
  min-width:76px;
  flex-shrink:0;
}
.pillar[data-l="elearn"] .ph{background:linear-gradient(135deg,#FFF0E6,#FFE4CC);}.pillar[data-l="elearn"] .plv{color:var(--ora);}
.pillar[data-l="a0a1"] .ph{background:#EAF3FF;}.pillar[data-l="a0a1"] .plv{color:#1A6DC1;}
.pillar[data-l="a1a2"] .ph{background:#E8F7F0;}.pillar[data-l="a1a2"] .plv{color:#1C7A45;}
.pillar[data-l="a2b1"] .ph{background:#FFF4EB;}.pillar[data-l="a2b1"] .plv{color:#C05A10;}
.pillar[data-l="inb"] .ph{background:#F3EEFF;}.pillar[data-l="inb"] .plv{color:#5C1EA8;}

/* TESTIMONIALS */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;}
.tcard{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.35rem;}
.tstars{color:#E8920A;font-size:12.5px;letter-spacing:1px;margin-bottom:.65rem;}
.ttext{font-size:13px;color:var(--ink2);line-height:1.68;margin-bottom:.85rem;font-style:italic;font-weight:500;}
.tau{display:flex;align-items:center;gap:9px;}
.tava{width:34px;height:34px;border-radius:50%;background:var(--blue-l);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:var(--blue);}
.tname{font-size:13px;font-weight:800;color:var(--ink);}
.tmeta{font-size:11px;color:var(--ink4);font-weight:600;}

/* ── COURSE OVERVIEW ── */
.co-hero{background:linear-gradient(140deg,var(--blue) 0%,var(--blue-d) 100%);padding:3rem 20px 0;text-align:center;}
.co-hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:1.9rem;font-weight:700;margin-bottom:.35rem;}
.co-hero p{color:rgba(255,255,255,.58);font-size:14px;font-weight:500;padding-bottom:1.5rem;}
.co-tabs-wrap{background:var(--sand);border-bottom:1.5px solid var(--bdr2);}
.co-tabs{display:flex;gap:7px;max-width:1040px;margin:0 auto;padding:1.1rem 20px;flex-wrap:wrap;}
.cotab{padding:8px 18px;border-radius:30px;border:2px solid var(--bdr);background:#fff;font-size:12.5px;font-weight:800;cursor:pointer;color:var(--ink3);font-family:inherit;transition:all .15s;}
.cotab.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.cotab:hover:not(.on){border-color:var(--blue);color:var(--blue);}
.co-body{max-width:1040px;margin:0 auto;padding:1.5rem 20px 3rem;display:grid;grid-template-columns:230px 1fr;gap:1.8rem;align-items:start;}
.filt{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.2rem;position:sticky;top:60px;}
.fp-head{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ink3);margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:1.5px solid var(--bdr2);}
.fpg{margin-bottom:1.1rem;}
.fpg-l{font-size:10px;font-weight:800;color:var(--ink3);text-transform:uppercase;letter-spacing:.7px;margin-bottom:.4rem;}
.fpck{display:flex;align-items:center;gap:7px;padding:3px 0;cursor:pointer;font-size:12.5px;color:var(--ink2);font-weight:600;}
.fpck input{accent-color:var(--blue);width:14px;height:14px;cursor:pointer;}
.fptabs{display:flex;gap:5px;flex-wrap:wrap;}
.fpt{padding:4px 10px;border-radius:20px;border:1.5px solid var(--bdr);background:var(--sand);font-size:11.5px;font-weight:700;cursor:pointer;color:var(--ink3);font-family:inherit;transition:all .15s;}
.fpt.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.co-res{flex:1;}
.co-cnt{font-size:12.5px;color:var(--ink3);margin-bottom:1rem;font-weight:600;}
.co-cnt strong{color:var(--ink);font-weight:800;}
.ecard{background:linear-gradient(135deg,var(--blue) 0%,#1a5caa 100%);border-radius:var(--rl);padding:1.1rem 1.3rem;margin-bottom:.75rem;cursor:pointer;display:flex;align-items:center;gap:1.1rem;transition:opacity .15s,transform .15s;}
.ecard:hover{opacity:.92;transform:translateY(-1px);}
.ecard-icon{width:50px;height:50px;border-radius:11px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.ecard-info{flex:1;}
.ecard-tit{font-size:14px;font-weight:800;color:#fff;margin-bottom:.22rem;}
.ecard-desc{font-size:12px;color:rgba(255,255,255,.68);line-height:1.52;font-weight:500;}
.ecard-r{text-align:right;flex-shrink:0;}
.ecard-price{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:#fff;}
.ecard-note{font-size:10.5px;color:rgba(255,255,255,.5);font-weight:600;}
.ecard-cta{display:block;margin-top:.4rem;background:var(--ora);color:#fff;border:none;padding:6px 13px;border-radius:20px;font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit;}
.crow{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1rem 1.3rem;margin-bottom:.65rem;display:flex;align-items:center;gap:1.1rem;cursor:pointer;transition:box-shadow .18s,transform .18s;}
.crow:hover{box-shadow:0 3px 14px rgba(26,109,193,.1);transform:translateX(3px);}
.cbadge{width:56px;height:56px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:1px;}
.cb-a0a1{background:#EAF3FF;color:#1A6DC1}.cb-a1a2{background:#E8F7F0;color:#1C7A45}
.cb-a2b1{background:#FFF4EB;color:#C05A10}.cb-inb{background:#F3EEFF;color:#5C1EA8}
.cb-lbl{font-size:13px;font-weight:900;line-height:1;}.cb-sub{font-size:8.5px;font-weight:700;opacity:.7;text-align:center;}
.cinfo{flex:1;min-width:0;}
.ctit{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:.22rem;}
.cdesc{font-size:12px;color:var(--ink3);line-height:1.48;margin-bottom:.4rem;font-weight:500;}
.cmeta{display:flex;gap:.45rem;flex-wrap:wrap;}
.ctag{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:700;}
.ct-d{background:var(--blue-l);color:var(--blue)}.ct-dur{background:var(--sand);color:var(--ink2)}
.ct-l{background:#E9F5EE;color:var(--grn)}.ct-t{background:var(--ora-l);color:var(--ora)}
.ct-seat-few{
  background:var(--ora-l);
  color:var(--ora);
}

.ct-seat-ok{
  background:var(--blue-l);
  color:var(--blue);
}
.cright{text-align:right;flex-shrink:0;}
.cprice{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--ink);}
.cpnote{font-size:10.5px;color:var(--ink4);font-weight:600;}
.cenroll{display:block;margin-top:.45rem;background:var(--ora);color:#fff;border:none;padding:6px 14px;border-radius:20px;font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit;}

/* ── SHOP ── */
.shop-hero{background:linear-gradient(140deg,#1a3a5c 0%,#0d2440 100%);padding:3rem 20px;text-align:center;}
.shop-hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:1.9rem;font-weight:700;margin-bottom:.35rem;}
.shop-hero p{color:rgba(255,255,255,.58);font-size:14px;font-weight:500;}
.shop-cats{display:flex;gap:8px;max-width:980px;margin:0 auto;padding:1.5rem 20px 0;flex-wrap:wrap;}
.scat{padding:8px 18px;border-radius:30px;border:2px solid var(--bdr);background:#fff;font-size:13px;font-weight:800;cursor:pointer;color:var(--ink3);font-family:inherit;transition:all .15s;}
.scat.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.scat:hover:not(.on){border-color:var(--blue);color:var(--blue);}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.1rem;}
.scard{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);overflow:hidden;cursor:pointer;transition:box-shadow .18s,transform .18s;}
.scard:hover{box-shadow:0 6px 22px rgba(0,0,0,.1);transform:translateY(-3px);}
.scard-img{width:100%;height:200px;display:flex;align-items:center;justify-content:center;font-size:52px;position:relative;overflow:hidden;background:var(--sand);}
.scard-img img{width:100%;height:100%;object-fit:contain;background:#fff;padding:12px;}
.scard-digital-note{margin-top:1rem;padding:.9rem 1rem;border-radius:var(--rl);background:var(--blue-l);color:var(--blue-d);font-size:12.5px;line-height:1.6;font-weight:650;}
.must-buy-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  background:linear-gradient(135deg,#111,#333);
  color:#fff;
  font-size:11px;
  font-weight:900;
  padding:5px 10px;
  border-radius:999px;
  box-shadow:0 3px 12px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  gap:4px;
}

.discount-badge{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  background:var(--ora);
  color:#fff;
  font-size:11px;
  font-weight:900;
  padding:5px 9px;
  border-radius:999px;
  box-shadow:0 3px 12px rgba(240,107,42,.28);
}
.scard-badge{position:absolute;top:10px;right:10px;background:var(--ora);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:20px;}
.scard-body{padding:.85rem 1rem 1rem;}
.scard-cat{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--blue);margin-bottom:.3rem;}
.scard-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:.3rem;line-height:1.35;}
.scard-desc{font-size:12.5px;color:var(--ink3);line-height:1.58;margin-bottom:.8rem;font-weight:500;}
.scard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem;}
.scard-price{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--ink);}
.scard-old{font-size:11px;color:var(--ink4);text-decoration:line-through;margin-left:4px;}
.btn-cart{background:var(--blue);color:#fff;border:none;padding:7px 14px;border-radius:20px;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;transition:background .15s;}
.btn-cart:hover{background:var(--blue-d);}
.cart-bar{position:fixed;bottom:20px;right:20px;background:var(--ora);color:#fff;border:none;padding:12px 22px;border-radius:30px;font-size:13.5px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 18px rgba(244,116,42,.5);z-index:50;display:none;transition:all .2s;}
.cart-bar:hover{background:var(--ora-m);transform:translateY(-2px);}

/* CART PANEL */
.cart-panel{position:fixed;right:0;top:0;height:100%;width:340px;background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.12);z-index:200;display:none;flex-direction:column;}
.cart-panel.open{display:flex;}
.cart-head{background:var(--blue);padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;}
.cart-head-t{font-family:'Playfair Display',serif;color:#fff;font-size:1.1rem;font-weight:700;}
.cart-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px;font-family:inherit;display:flex;align-items:center;justify-content:center;}
.cart-items{flex:1;overflow-y:auto;padding:1.2rem;}
.cart-item{display:flex;gap:12px;padding:.85rem 0;border-bottom:1.5px solid var(--bdr2);}
.ci-icon{width:48px;height:48px;border-radius:10px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.ci-info{flex:1;}
.ci-variant{
  margin:2px 0 4px;
  color:#786C5F;
  font-size:11.5px;
  line-height:1.4;
  font-weight:750;
}
  
.ci-name{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:.2rem;}
.ci-price{font-size:13px;font-weight:700;color:var(--blue);}
.ci-qty{display:flex;align-items:center;gap:8px;margin-top:.4rem;}
.qty-btn{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--bdr);background:var(--sand);cursor:pointer;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:inherit;color:var(--ink2);}
.qty-n{font-size:13px;font-weight:800;min-width:20px;text-align:center;}
.ci-del{background:none;border:none;color:var(--ink4);cursor:pointer;font-size:16px;padding:0 4px;}
.cart-empty{text-align:center;padding:2.5rem 1rem;color:var(--ink3);font-size:13.5px;font-weight:600;}
.cart-foot{padding:1.2rem 1.4rem;border-top:1.5px solid var(--bdr2);}
.cart-total{display:flex;justify-content:space-between;font-size:15px;font-weight:800;color:var(--ink);margin-bottom:1rem;}
.cart-total span:last-child{font-family:'Playfair Display',serif;}
.btn-checkout{width:100%;background:var(--ora);color:#fff;border:none;padding:12px;border-radius:30px;font-size:14.5px;font-weight:900;cursor:pointer;font-family:inherit;box-shadow:0 3px 14px rgba(244,116,42,.35);}


/* PRODUCT DETAIL + CHECKOUT */
.pd-wrap{max-width:980px;margin:0 auto;padding:2rem 20px 3rem;}
.back-link{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--blue);font-size:13px;font-weight:900;cursor:pointer;font-family:inherit;margin-bottom:1rem;}
.pd-card{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.4rem;}
.pd-gallery{display:grid;gap:.75rem;}
.pd-main-img{height:380px;border-radius:var(--rl);background:var(--sand);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:72px;}
.pd-main-img img{width:100%;height:100%;object-fit:contain;background:#fff;padding:14px;}
.pd-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;}
.pd-thumb{height:86px;border:2px solid var(--bdr2);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:26px;}
.pd-thumb img{width:100%;height:100%;object-fit:contain;padding:8px;}
.pd-info h1{font-family:'Playfair Display',serif;font-size:1.9rem;margin-bottom:.5rem;color:var(--ink);}
.pd-desc{font-size:14px;color:var(--ink3);line-height:1.72;font-weight:550;margin-bottom:1rem;}
.pd-price{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:800;margin:.6rem 0;color:var(--ink);}
.pd-list{list-style:none;margin:1rem 0;display:grid;gap:.45rem;}
.pd-list li{font-size:13px;color:var(--ink2);font-weight:650;}
.pd-list li:before{content:'✓';color:var(--grn);font-weight:900;margin-right:7px;}
.pd-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;}
.btn-secondary{background:#fff;color:var(--blue);border:2px solid var(--blue);padding:10px 18px;border-radius:26px;font-size:13px;font-weight:900;cursor:pointer;font-family:inherit;}
.checkout-layout{max-width:1040px;margin:0 auto;padding:2rem 20px 3rem;display:grid;grid-template-columns:1.25fr .75fr;gap:1.4rem;align-items:start;}
.form-hint{font-size:12px;color:var(--ink3);line-height:1.6;margin:.45rem 0 .8rem;font-weight:600;}
.chkbox{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--ink2);line-height:1.5;font-weight:650;margin:.6rem 0;}
.chkbox input{margin-top:2px;accent-color:var(--blue);}
.legal-note{font-size:11.5px;color:var(--ink3);line-height:1.6;background:var(--sand);border-radius:10px;padding:.75rem;margin-top:.75rem;}
.order-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--bdr2);font-size:13px;font-weight:700;color:var(--ink2);}
.order-line.total{border-bottom:none;font-size:16px;color:var(--ink);font-weight:900;margin-top:.3rem;}
@media(max-width:700px){
  .pd-card,
  .checkout-layout{
    grid-template-columns:1fr;
  }
}
  
/* ENROLL */
.ep-hero{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);padding:2.8rem 20px;text-align:center;}
.ep-hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:.3rem;}
.ep-hero p{color:rgba(255,255,255,.52);font-size:13.5px;font-weight:500;}
.ep-wrap{max-width:860px;margin:0 auto;padding:2rem 20px 3rem;}
.ep-cols{display:grid;grid-template-columns:1fr 320px;gap:1.8rem;align-items:start;}
.fc{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.35rem;margin-bottom:1.1rem;}
.fct{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);padding-bottom:.45rem;border-bottom:1.5px solid var(--bdr2);margin-bottom:.85rem;}
.fr{margin-bottom:.8rem;}
label{display:block;font-size:11px;font-weight:800;color:var(--ink3);margin-bottom:.28rem;text-transform:uppercase;letter-spacing:.4px;}
input[type=text],input[type=email],input[type=password]{width:100%;padding:9px 12px;border:2px solid var(--bdr);border-radius:8px;font-size:13.5px;font-family:inherit;color:var(--ink);background:var(--sand);outline:none;font-weight:600;}
input:focus{border-color:var(--blue);background:#fff;}
.payopts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.85rem;}
.popt{padding:7px 13px;border:2px solid var(--bdr);border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;color:var(--ink3);font-family:inherit;background:var(--sand);}
.popt.on{border-color:var(--blue);color:var(--blue);background:var(--blue-l);}
.bpay{width:100%;background:var(--ora);color:#fff;padding:12px;border-radius:30px;border:none;font-size:14.5px;font-weight:900;cursor:pointer;font-family:inherit;box-shadow:0 3px 14px rgba(244,116,42,.35);}
.bpay:disabled{opacity:.38;cursor:not-allowed;}
.slbl{text-align:center;font-size:11px;color:var(--ink4);margin-top:.55rem;font-weight:600;}
.oc{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.3rem;position:sticky;top:60px;}
.oct{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink3);padding-bottom:.65rem;border-bottom:1.5px solid var(--bdr2);margin-bottom:.75rem;}
.or{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink3);padding:3px 0;font-weight:600;}
.ot{font-weight:900;font-size:14.5px;color:var(--ink);border-top:1.5px solid var(--bdr2);padding-top:7px;margin-top:5px;}
.ibox{background:var(--blue-l);border-radius:8px;padding:.8rem;margin-top:.85rem;}
.ibt{font-size:10.5px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.4px;margin-bottom:.4rem;}
.ibi{font-size:12px;color:var(--blue-d);padding:2px 0;font-weight:600;}
.warn-box{background:var(--ora-l);border:2px solid var(--ora);border-radius:9px;padding:.85rem;margin-bottom:.9rem;font-size:13px;color:var(--ora);font-weight:700;}
.dflex{display:flex;gap:8px;margin-top:.7rem;}

/* SUCCESS */
.sw{text-align:center;padding:3.5rem 20px;max-width:420px;margin:0 auto;}
.si{width:64px;height:64px;border-radius:50%;background:var(--grn-l);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;}
.st2{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--ink);margin-bottom:.4rem;font-weight:700;}
.sd{font-size:13.5px;color:var(--ink3);line-height:1.7;margin-bottom:1.3rem;font-weight:500;}
.wb{background:var(--blue-l);border:2px solid var(--blue-m);border-radius:11px;padding:.8rem 1.3rem;display:inline-block;margin-bottom:1.3rem;}
.wid{font-size:17px;font-weight:900;color:var(--blue);letter-spacing:1.5px;}
.wlb{font-size:11px;color:var(--ink3);margin-top:2px;font-weight:600;}

/* AUTH */
.aw{min-height:calc(100vh - 52px);display:flex;align-items:center;justify-content:center;background:var(--blue-l);padding:2rem;}
.acard{background:#fff;border:1.5px solid var(--bdr2);border-radius:18px;padding:2rem 2.2rem;width:100%;max-width:400px;box-shadow:0 8px 30px rgba(26,109,193,.12);}
.alo{display:flex;justify-content:center;margin-bottom:1.3rem;}
.atit{font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--ink);text-align:center;margin-bottom:.22rem;font-weight:700;}
.asub{font-size:13px;color:var(--ink3);text-align:center;margin-bottom:1.6rem;font-weight:500;}
.afoot{text-align:center;margin-top:1rem;font-size:13px;color:var(--ink3);font-weight:600;}
.afoot a{color:var(--blue);cursor:pointer;font-weight:800;}
.aerr{background:#FDF0EF;color:#C0281A;border:1.5px solid #F0C0C0;padding:9px 13px;border-radius:8px;font-size:12.5px;font-weight:700;margin-bottom:.85rem;}
.bf{width:100%;background:var(--blue);color:#fff;padding:11px;border-radius:30px;border:none;font-size:13.5px;font-weight:900;cursor:pointer;font-family:inherit;margin-top:.2rem;}
.bo{width:100%;background:transparent;color:var(--ink);padding:10px;border-radius:30px;border:2px solid var(--bdr);font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.45rem;}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:.8rem;}

/* DASHBOARD */
.dh{background:linear-gradient(130deg,var(--blue) 0%,var(--blue-d) 100%);padding:2.6rem 20px;}
.di{max-width:960px;margin:0 auto;}
.dg{color:rgba(255,255,255,.5);font-size:13px;margin-bottom:.2rem;font-weight:600;}
.dn{font-family:'Playfair Display',serif;color:#fff;font-size:1.65rem;font-weight:700;}
.db{max-width:960px;margin:0 auto;padding:2.2rem 20px;}
.dcols{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin-bottom:1.6rem;}
.dcard{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.3rem;}
.dch{font-size:10.5px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:var(--ink3);margin-bottom:.75rem;}
.cai{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1.5px solid var(--bdr2);}
.cai:last-child{border-bottom:none;}
.cad{width:8px;height:8px;border-radius:50%;background:var(--grn);flex-shrink:0;}
.cain{flex:1;}.cal{font-size:13.5px;font-weight:800;color:var(--ink);}.cat2{font-size:11px;color:var(--ink3);font-weight:500;}
.cab{font-size:10.5px;padding:2px 8px;border-radius:20px;background:var(--grn-l);color:var(--grn);font-weight:800;}
.caw{font-size:12px;color:var(--blue);cursor:pointer;font-weight:800;}
.es{text-align:center;padding:1.3rem;color:var(--ink3);font-size:13px;font-weight:600;}
.es a{color:var(--blue);cursor:pointer;font-weight:800;}

/* ABOUT / FAQ / CONTACT */
.ph2{background:linear-gradient(135deg,var(--blue-l) 0%,var(--blue-m) 100%);border-bottom:1.5px solid var(--blue-m);padding:2.8rem 20px;text-align:center;}
.ph2 h1{font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--ink);margin-bottom:.35rem;font-weight:700;}
.ph2 p{color:var(--ink3);font-size:14.5px;max-width:500px;margin:0 auto;line-height:1.62;font-weight:500;}
.tcard2{display:flex;gap:1.8rem;align-items:flex-start;background:#fff;border:1.5px solid var(--bdr2);border-radius:18px;padding:1.8rem;max-width:700px;margin:0 auto;}
.tav{width:88px;height:88px;border-radius:50%;background:var(--blue-l);border:3px solid var(--blue-m);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--blue);flex-shrink:0;font-weight:700;}
.tna{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--ink);font-weight:700;}
.tro{font-size:12.5px;color:var(--blue);font-weight:800;margin:.15rem 0 .65rem;}
.tcreds{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.65rem;}
.tcred{font-size:10.5px;padding:3px 8px;border-radius:20px;background:var(--blue-l);color:var(--blue);font-weight:700;border:1px solid var(--blue-m);}
.tbio{font-size:13px;color:var(--ink3);line-height:1.72;white-space:pre-line;font-weight:500;}
.krow{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;max-width:680px;margin:1.6rem auto 0;}
.ki{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.1rem;text-align:center;}
.kn{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--blue);font-weight:700;}
.kl{font-size:11.5px;color:var(--ink3);margin-top:2px;font-weight:700;}
.fi{border-bottom:1.5px solid var(--bdr2);padding:.85rem 0;}
.fq{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:1rem;font-size:13.5px;font-weight:800;color:var(--ink);}
.fic{width:23px;height:23px;border-radius:50%;background:var(--blue-l);border:1.5px solid var(--blue-m);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--blue);flex-shrink:0;font-weight:800;}
.fa{font-size:13px;color:var(--ink3);line-height:1.65;padding-top:.6rem;display:none;font-weight:500;}
.fa.on{display:block;}

@media(max-width:700px){

    /* 手机端顶部栏：logo + 右侧账号按钮同一行，导航在下一行 */
  .tb{
    height:auto;
    min-height:86px;
    padding:10px 12px 8px;
    flex-wrap:wrap;
    align-items:center;
    gap:4px 8px;
    position:sticky;
    top:0;
  }

  .logo-main{
    height:39px;
    width:auto;
    flex:0 0 auto;
  }

  /* 中文 / NL / 我的课程 / 退出 放在 logo 同一高度 */
  .nr{
    margin-left:auto;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    max-width:none;
  }

  #auth-btns,
  #user-btns{
    display:inline-flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:6px;
  }

  #user-btns .ub{
    margin-left:0 !important;
  }

  /* 取消椭圆泡泡：语言和账户按钮更轻、更紧凑 */
  .lb,
  .ub,
  .cta{
    width:auto;
    height:auto;
    min-width:auto;
    padding:2px 4px;
    border-radius:0;
    border:none;
    background:transparent;
    box-shadow:none;
    font-size:12px;
    line-height:1.1;
    color:rgba(255,255,255,.82);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
  }

  .lb.on,
  .ub:hover,
  .cta:hover{
    background:transparent;
    color:#fff;
    border:none;
  }

  .cta{
    color:#fff;
    font-weight:900;
  }

  /* 主页 / 课程 / 商店 / 关于 / 联系：放在 logo 下面一行，一行显示 */
  .nc{
    display:flex !important;
    order:3;
    width:100%;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    padding-left:2px;
    scrollbar-width:none;
  }

  .nc::-webkit-scrollbar{
    display:none;
  }

  /* 取消导航按钮泡泡，只保留文字 */
  .nl{
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:rgba(255,255,255,.76);
    font-size:11.5px;
    line-height:1.2;
    font-weight:850;
    white-space:nowrap;
  }

  .nl.on,
  .nl:hover{
    color:#fff;
    background:transparent;
    border:none;
  }

  /* 顶部变矮后，新闻条跟着上移 */
  .news-ticker{
    top:86px;
  }
  /* 首页 hero 不要被顶部遮挡 */
  .hero{
    height:auto;
    min-height:390px;
    padding:48px 18px 48px;
  }

  .hero h1{
    font-size:2.15rem;
    line-height:1.18;
  }

  .hsub{
    font-size:15.5px;
    line-height:1.75;
  }

  .hstats{
    gap:1rem;
    margin-top:1.8rem;
    padding-top:1.4rem;
    flex-wrap:wrap;
  }

  .hstats>div{
    width:42%;
  }

  .sec{
    padding:2.6rem 16px;
  }

  /* 首页 “学习，从未如此灵活”：手机端两个 tile 一行 */
  .fgrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.8rem;
  }

  .fcard{
    padding:1rem .85rem;
    border-radius:14px;
  }

  .ficon{
    width:38px;
    height:38px;
    font-size:18px;
    margin-bottom:.65rem;
  }

  .ft{
    font-size:13px;
    line-height:1.35;
  }

  .fd{
    font-size:11.5px;
    line-height:1.45;
  }

  .shop-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .scard-img{
    height:300px;
  }

  .scard-body{
    padding:1.15rem;
  }

  .scard-name{
    font-size:16px;
  }

  .scard-desc{
    font-size:13.5px;
    line-height:1.65;
  }

  .crow,
  .ecard{
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
  }

  .cright,
  .ecard-r{
    text-align:left;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }

  .ep-cols,
  .co-body,
  .dcols,
  .csplit{
    grid-template-columns:1fr;
  }

  .filt{
    position:static;
  }

  .krow{
    grid-template-columns:1fr 1fr;
  }

  .tcard2{
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:1.35rem;
  }

  .tbio{
    font-size:14px;
    line-height:1.8;
  }

  .ph2{
    padding:2.2rem 16px;
  }

  .ph2 h1{
    font-size:1.65rem;
  }

  .cart-panel{
    width:100%;
  }
}


/* FARFETCH-INSPIRED PRODUCT DETAIL + LEGAL PAGES */
.pd-wrap.fashion{max-width:1180px;padding:1.4rem 20px 3rem;}
.pd-card.fashion{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:2rem;background:transparent;border:none;padding:0;align-items:start;}
.pd-card.fashion .pd-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.pd-shot{background:#fff;border:1px solid var(--bdr2);border-radius:4px;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pd-shot img{width:100%;height:100%;object-fit:contain;padding:18px;background:#fff;}
.pd-shot.alt{min-height:260px;padding:1.3rem;align-items:flex-start;justify-content:flex-start;}
.pd-shot-card{width:100%;height:100%;border-radius:12px;background:linear-gradient(135deg,var(--blue-l),#fff);padding:1.3rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;color:var(--ink);}
.pd-shot-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:var(--blue);font-weight:900;}
.pd-shot-title{font-family:'Playfair Display',serif;font-size:1.7rem;line-height:1.15;font-weight:800;}
.pd-shot-list{font-size:12.5px;color:var(--ink2);line-height:1.8;font-weight:700;}
.pd-card.fashion .pd-info{background:#fff;border:1px solid var(--bdr2);border-radius:4px;padding:1.6rem;position:sticky;top:108px;}
.pd-brand{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:900;color:var(--ink3);margin-bottom:.45rem;}
.pd-card.fashion .pd-info h1{font-family:'Nunito',sans-serif;font-size:1.45rem;line-height:1.25;margin-bottom:.7rem;}
.pd-card.fashion .pd-desc{font-size:13.5px;color:var(--ink2);line-height:1.7;margin:.8rem 0 1rem;}
.pd-meta-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.85rem 0;}
.pd-chip{border:1.5px solid var(--bdr);border-radius:30px;padding:6px 10px;font-size:11.5px;font-weight:850;color:var(--ink2);background:var(--sand);}
.pd-policy{border-top:1px solid var(--bdr2);margin-top:1.2rem;}
.pd-acc{border-bottom:1px solid var(--bdr2);padding:.95rem 0;}
.pd-acc summary{cursor:pointer;list-style:none;font-size:13px;font-weight:900;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;}
.pd-acc summary::-webkit-details-marker{display:none;}
.pd-acc summary:after{content:'+';font-weight:900;color:var(--blue);}
.pd-acc[open] summary:after{content:'−';}
.pd-acc div{font-size:12.5px;color:var(--ink3);line-height:1.7;margin-top:.65rem;font-weight:600;}
.pd-warning{background:#fff7f1;border:1px solid #ffd7bf;color:#9a4816;border-radius:10px;padding:.75rem .85rem;font-size:12px;line-height:1.55;font-weight:750;margin-top:1rem;}
.news-track span.news-item{cursor:pointer;transition:opacity .15s;}
.news-track span.news-item:hover{opacity:.72;text-decoration:underline;}
.legal-wrap{max-width:1080px;margin:0 auto;padding:2rem 20px 3rem;}
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start;}
.legal-card{background:#fff;border:1.5px solid var(--bdr2);border-radius:var(--rl);padding:1.15rem;}
.legal-lang{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--blue);font-weight:900;margin-bottom:.5rem;}
.legal-card h3{font-family:'Playfair Display',serif;font-size:1.25rem;margin:.4rem 0 .75rem;}
.legal-card h4{font-size:13px;margin:1rem 0 .35rem;color:var(--ink);}
.legal-card p,.legal-card li{font-size:12.4px;line-height:1.68;color:var(--ink2);font-weight:600;}
.legal-card ul{padding-left:1rem;margin:.35rem 0;}
.legal-disclaimer{background:var(--blue-l);border:1px solid var(--blue-m);border-radius:var(--rl);padding:1rem;font-size:12.5px;line-height:1.65;color:var(--blue-d);font-weight:700;margin-bottom:1rem;}
.legal-link{color:var(--blue);font-weight:900;text-decoration:underline;cursor:pointer;}
@media(max-width:850px){
  .pd-card.fashion{
    grid-template-columns:1fr;
  }

  .pd-card.fashion .pd-info{
    position:static;
    order:1;
  }

  .pd-card.fashion .pd-gallery{
    grid-template-columns:1fr;
    order:2;
  }

  .legal-grid{
    grid-template-columns:1fr;
  }

  .pd-shot{
    min-height:320px;
  }
}

@media(max-width:700px){
  #pg-contact .contact-title{
    font-size:40px;
    padding:2rem 1rem 1.5rem;
  }

  #pg-contact .contact-img{
    height:230px;
  }

  #pg-contact .contact-info-body{
    padding:1.6rem;
  }

  #pg-contact .crow2{
    font-size:15px;
  }
}
.legal-single{
  max-width:860px;
  margin:0 auto;
  padding:2.2rem 2.4rem;
}

.legal-single h3{
  font-size:1.65rem;
  margin-bottom:1rem;
}

.legal-single h4{
  margin-top:1.35rem;
  margin-bottom:.45rem;
}

.legal-single p,
.legal-single li{
  font-size:14.5px;
  line-height:1.8;
}

@media(max-width:700px){
  .legal-single{
    padding:1.4rem;
  }
}
/* FINAL CONTACT OVERRIDE - Taal13A unified style */
#pg-contact{
  background:var(--sand);
}

#pg-contact .sec{
  max-width:980px;
  padding-top:4rem;
  padding-bottom:4.5rem;
}

#pg-contact .csplit{
  display:block;
  max-width:880px;
  margin:0 auto;
}

#pg-contact .cinfo2{
  width:100%;
  max-width:880px;
  margin:0 auto;
  background:#fff;
  border:1.5px solid var(--bdr2);
  border-radius:var(--rl);
  overflow:hidden;
  box-shadow:0 10px 34px rgba(26,75,115,.10);
}

#pg-contact .contact-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.12;
  font-weight:700;
  text-align:center;
  padding:2.6rem 1rem 2rem;
  color:var(--ink);
  background:linear-gradient(135deg,var(--blue-l),#fff);
}

#pg-contact .contact-img{
  height:420px;
  background:
    linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),
    url('/contact-bg.jpg');
  background-size:cover;
  background-position:center;
}

#pg-contact .contact-info-body{
  padding:2.4rem 2.8rem 2.8rem;
  background:#fff;
}

#pg-contact .cinfo2 h3{
  font-family:'Playfair Display',serif;
  color:var(--ink);
  font-size:1.55rem;
  margin-bottom:1.2rem;
  font-weight:700;
}

#pg-contact .crow2{
  display:flex;
  gap:12px;
  margin-bottom:1rem;
  font-size:16px;
  color:var(--ink2);
  align-items:flex-start;
  font-weight:750;
  line-height:1.55;
}

#pg-contact .cdot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ora);
  flex-shrink:0;
  margin-top:9px;
}

#pg-contact .legal-link{
  color:var(--blue);
  font-weight:900;
  text-decoration:underline;
  cursor:pointer;
}

@media(max-width:700px){
  #pg-contact .sec{
    padding-top:2.4rem;
    padding-bottom:3rem;
  }

  #pg-contact .contact-title{
    font-size:2rem;
    padding:2rem 1rem 1.4rem;
  }

  #pg-contact .contact-img{
    height:280px;
  }

  #pg-contact .contact-info-body{
    padding:1.6rem 1.4rem 1.9rem;
  }

  #pg-contact .crow2{
    font-size:15px;
  }
}

/* === STEP 1: Taal13A visual style refresh only === */
/* 只改字体、颜色、顶部导航、基础视觉；不改内容和功能 */

:root{
  --blue:#7C7D75;
  --blue-d:#4F504A;
  --blue-l:#F2F3F1;
  --blue-m:#D9DADF;

  --ora:#DD700B;
  --ora-l:#FFF3E8;
  --ora-m:#C96409;

  --cream:#FFFFFF;
  --sand:#FAFAF8;
  --sand-d:#E7E7E3;

  --ink:#111111;
  --ink2:#34342F;
  --ink3:#6F7069;
  --ink4:#A7A7A0;

  --bdr:rgba(17,17,17,.12);
  --bdr2:rgba(17,17,17,.07);

  --grn:#7C7D75;
  --grn-l:#F2F3F1;

  --r:8px;
  --rl:10px;
}

body{
  font-family:'Archivo','Noto Sans SC',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#FAFAF8;
  color:var(--ink);
  letter-spacing:-.01em;
}

/* 顶部导航：改成白色现代风格 */
.tb{
  height:76px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(17,17,17,.08);
  box-shadow:none;
  backdrop-filter:blur(16px);
  padding:0 22px;
}

/* Logo 改成黑色，适配白底导航 */
.logo-main{
  height:50px;
}

.logo-main rect{
  fill:#111111 !important;
}

.logo-main text{
  fill:#111111 !important;
  font-family:'Archivo','Noto Sans SC',sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-.04em;
}

/* 导航菜单不要太粗 */
.nc{
  gap:28px;
}

.nl{
  color:#242424;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.02em;
  padding:8px 4px;
  background:transparent;
  border:none;
}

.nl:hover,
.nl.on{
  color:#111111;
  background:transparent;
}

.nl.on{
  font-weight:650;
}

/* 右侧语言、登录、注册按钮 */
.nr{
  gap:10px;
}

.lb,
.ub{
  color:#111111;
  background:#fff;
  border:1px solid rgba(124,125,117,.28);
  border-radius:999px;
  padding:10px 18px;
  font-size:14px;
  font-weight:600;
}

.lb.on{
  color:#111111;
  background:#fff;
  border-color:rgba(124,125,117,.28);
}

.cta{
  background:#111111;
  color:#fff;
  border-radius:999px;
  padding:11px 22px;
  font-size:14px;
  font-weight:700;
  box-shadow:none;
}

.cta:hover{
  background:#2A2A2A;
  transform:translateY(-1px);
}

/* 顶部新闻条跟随导航高度 */
.news-ticker{
  top:76px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--bdr2);
}

/* 全站字体统一 */
.nl,.lb,.ub,.cta,
button,input,label{
  font-family:'Archivo','Noto Sans SC',system-ui,sans-serif;
}

/* 标题字体：更现代、更有品牌感 */
.hero h1,
.stit,
.co-hero h1,
.shop-hero h1,
.ep-hero h1,
.ph2 h1,
.atit,
.st2,
.tna,
.kn,
.hn,
.pprice,
.cprice,
.ecard-price,
.scard-price,
.pd-info h1,
.pd-price,
.cart-head-t,
.dn,
.legal-card h3,
.pd-shot-title,
#pg-contact .contact-title,
#pg-contact .cinfo2 h3{
  font-family:'Noto Serif SC','Archivo',serif;
  letter-spacing:-.035em;
}

/* 固定背景图：使用你现有的 hero-bg.jpg */
.gfb{
  background-image:url('/hero-bg.jpg');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  filter:saturate(.78) contrast(.98) brightness(1.03);
}

/* Hero 遮罩改成冷灰雾感 */
.hovl{
  background:
    radial-gradient(
      circle at 50% 38%,
      rgba(255,253,248,.20) 0%,
      rgba(255,253,248,.10) 26%,
      rgba(47,93,168,.26) 58%,
      rgba(5,32,50,.46) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,253,248,.12) 0%,
      rgba(47,93,168,.22) 42%,
      rgba(5,32,50,.48) 100%
    ) !important;
}

.hero h1 em{
  color:#FCF8D8;
}

.hsub{
  color:rgba(255,255,255,.74);
}

/* 按钮从圆润 AI 感改成更克制 */
.hb1,
.benroll,
.cenroll,
.ecard-cta,
.btn-cart,
.btn-checkout,
.bpay,
.bf,
.cart-bar{
  background:var(--ora);
  box-shadow:none;
  border-radius:6px;
}

.hb1:hover,
.benroll:hover,
.cenroll:hover,
.ecard-cta:hover,
.btn-cart:hover,
.btn-checkout:hover,
.bpay:hover,
.bf:hover,
.cart-bar:hover{
  background:var(--ora-m);
  transform:translateY(-1px);
}

.hb2{
  border-radius:6px;
}

/* 页面背景减少黄色面积 */
.bg-sky,
.bg-sand,
.co-tabs-wrap,
#pg-contact,
#pg-product,
#pg-checkout,
#pg-payment-success,
#pg-privacy,
#pg-terms,
#pg-course-detail,
#pg-enroll{
  background:#FAFAF8 !important;
}

.bg-w{
  background:#FFFFFF;
}

/* 卡片更扁平、更现代 */
.fcard,
.pillar,
.tcard,
.crow,
.filt,
.scard,
.cart-panel,
.pd-card,
.fc,
.oc,
.acard,
.dcard,
.tcard2,
.ki,
.legal-card,
#pg-contact .cinfo2{
  border-radius:10px;
  border:1px solid var(--bdr2);
  box-shadow:none;
}

.fcard:hover,
.pillar:hover,
.tcard:hover,
.crow:hover,
.scard:hover{
  box-shadow:0 12px 30px rgba(17,17,17,.06);
}

/* 课程卡片顶部统一成冷灰，不再五颜六色 */
.ph,
.pillar[data-l="elearn"] .ph,
.pillar[data-l="a0a1"] .ph,
.pillar[data-l="a1a2"] .ph,
.pillar[data-l="a2b1"] .ph,
.pillar[data-l="inb"] .ph{
  background:#F2F3F1 !important;
  border-bottom:1px solid var(--bdr2);
}

.pillar[data-l="elearn"] .plv,
.pillar[data-l="a0a1"] .plv,
.pillar[data-l="a1a2"] .plv,
.pillar[data-l="a2b1"] .plv,
.pillar[data-l="inb"] .plv{
  color:var(--ink);
}

/* 页面大色块改成 Frozen Mist */
.co-hero,
.shop-hero,
.ep-hero,
.dh{
  background:linear-gradient(135deg,#7C7D75 0%,#4F504A 100%);
}

.ph2{
  background:#F2F3F1;
  border-bottom:1px solid var(--bdr2);
}

.ecard{
  background:linear-gradient(135deg,#7C7D75 0%,#4F504A 100%);
  border-radius:10px;
}

/* 标签、tab 从胶囊感变克制 */
.cotab,
.fpt,
.scat,
.ptag,
.pd-chip{
  border-radius:6px;
}

.cotab.on,
.fpt.on,
.scat.on{
  background:#7C7D75;
  border-color:#7C7D75;
}

.cotab:hover:not(.on),
.fpt:hover:not(.on),
.scat:hover:not(.on){
  border-color:#7C7D75;
  color:#4F504A;
}

/* 橙色只做强调，不大面积使用 */
.eye,
.scard-cat,
.legal-lang,
.pd-shot-kicker,
.tro,
.caw,
.back-link,
.afoot a,
.es a,
.legal-link,
.pd-acc summary:after{
  color:var(--ora);
}

.ppts li::before,
.news-dot,
.pdot,
#pg-contact .cdot{
  background:var(--ora);
  color:var(--ora);
}

.scard-digital-note,
.legal-disclaimer{
  background:#F2F3F1;
  color:#4F504A;
  border:1px solid var(--bdr2);
}

/* 手机端：白色导航 + 避免 fixed 背景卡顿 */
@media(max-width:700px){
  .tb{
    height:auto;
    min-height:88px;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(17,17,17,.08);
  }

  .logo-main rect{
    fill:#111111 !important;
  }

  .logo-main text{
    fill:#111111 !important;
  }

  .nl{
    color:#333333;
    font-weight:600;
    font-size:12px;
  }

  .nl.on,
  .nl:hover{
    color:#111111;
  }

  .lb,
  .ub,
  .cta{
    color:#111111;
    background:transparent;
    border:none;
    padding:2px 4px;
    font-weight:600;
  }

  .cta{
    color:#111111;
  }

  .news-ticker{
    top:88px;
  }

  .gfb{
    background-attachment:scroll;
    background-position:center;
  }
}  

/* === STEP 1：Taal13A homepage visual refresh based on V2 preview === */
/* 只改首页美术、字体、配色、Why Taal13A 四格格式；不改内容和功能 */

:root{
  --ink:#171717;
  --ink2:#343434;
  --ink3:#686868;
  --ink4:#9B968E;

  --line:#E6DED2;
  --paper:#FFFFFF;
  --cream:#FFFFFF;
  --blue:#2F5DA8;
  --blue-d:#234A8A;
  --blue-l:#E4ECF7;
  --blue-m:#C8D7EE;

  --ora:#E96F3C;
  --ora-l:#FFF0E8;
  --ora-m:#D95D2C;

  --sand:#FFFFFF;
  --sand-d:#E6DED2;

  --bdr:rgba(35,31,26,.14);
  --bdr2:rgba(35,31,26,.08);

  --grn:#476D5B;
  --grn-l:#EEF5F0;

  --r:8px;
  --rl:10px;
}

body{
  font-family:"Archivo","Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--paper);
  color:var(--ink);
  letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* 顶部导航：改成 V2 首页的白色导航风格 */
.tb{
  height:76px;
  background:rgba(255,253,248,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(230,222,210,.82);
  box-shadow:none;
  padding:0 24px;
}

.logo-main{
  height:50px;
}

.logo-main rect{
  fill:#171717 !important;
  opacity:1 !important;
}

.logo-main text{
  fill:#171717 !important;
  font-family:"Archivo","Noto Sans SC",sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}

.nc{
  gap:28px;
}

.nl{
  color:#313131;
  font-size:14px;
  font-weight:750;
  letter-spacing:-.01em;
  padding:24px 0;
  border:none;
  background:transparent;
  position:relative;
}

.nl::after{
  content:"";
  position:absolute;
  left:0;
  bottom:18px;
  width:0;
  height:2px;
  background:var(--ora);
  transition:width .2s ease;
}

.nl:hover::after,
.nl.on::after{
  width:100%;
}

.nl:hover,
.nl.on{
  color:#171717;
  background:transparent;
}

.nr{
  gap:10px;
}

.lb,
.ub{
  color:#171717;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:850;
}

.lb.on{
  color:#171717;
  background:#fff;
  border-color:var(--line);
}

.cta{
  background:#171717;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:11px 18px;
  font-size:13px;
  font-weight:900;
  box-shadow:none;
}

.cta:hover{
  background:var(--ora);
  transform:translateY(-1px);
}

.news-ticker{
  top:76px;
  background:rgba(255,253,248,.96);
  border-bottom:1px solid rgba(230,222,210,.82);
}

.news-dot,
.pdot{
  background:var(--ora);
}

/* 字体系统 */
.nl,.lb,.ub,.cta,
button,input,label{
  font-family:"Archivo","Noto Sans SC",system-ui,sans-serif;
}

.hero h1,
.stit,
.co-hero h1,
.shop-hero h1,
.ep-hero h1,
.ph2 h1,
.atit,
.st2,
.tna,
.kn,
.hn,
.pprice,
.cprice,
.ecard-price,
.scard-price,
.pd-info h1,
.pd-price,
.cart-head-t,
.dn,
.legal-card h3,
.pd-shot-title,
#pg-contact .contact-title,
#pg-contact .cinfo2 h3{
  font-family:"Noto Serif SC","Archivo",serif;
  letter-spacing:-.055em;
}

/* 首页 Hero：保留你现有 hero-bg.jpg，但调成 V2 那种明亮柔和 */
.hero{
  min-height:720px;
  background:transparent;
}

.gfb{
  background-image:url('/hero-bg.jpg');
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
  background-attachment:fixed;
  filter:saturate(.96) contrast(1.02) brightness(1.04);
}

.hovl{
  background:
    linear-gradient(90deg,
      rgba(234,244,248,.92) 0%,
      rgba(234,244,248,.78) 38%,
      rgba(234,244,248,.42) 72%,
      rgba(234,244,248,.18) 100%
    ),
    linear-gradient(180deg,
      rgba(255,253,248,.20),
      rgba(234,244,248,.08)
    ) !important;
}

.gfb::after{
  background:linear-gradient(90deg,rgba(255,253,248,.90),rgba(255,253,248,.18));
}

.hc{
  text-align:left;
  max-width:760px;
  margin-right:auto;
}

.hpill{
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  color:var(--grn);
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  font-weight:850;
  backdrop-filter:blur(14px);
}

.hero h1{
  color:var(--ink);
  font-weight:900;
  font-size:clamp(48px,7vw,88px);
  line-height:1.02;
}

.hero h1 em{
  color:var(--ora);
}

.hsub{
  color:#454545;
  font-size:19px;
  line-height:1.68;
  max-width:590px;
  margin-left:0;
  font-weight:550;
}

.hbtns{
  justify-content:flex-start;
}

.hb1{
  background:var(--ink);
  color:#fff;
  border-radius:999px;
  padding:11px 18px;
  font-size:14px;
  font-weight:900;
  box-shadow:none;
}

.hb1:hover{
  background:var(--ora);
  transform:translateY(-1px);
}

.hb2{
  color:var(--ink);
  background:rgba(255,255,255,.34);
  border:1px solid var(--ink);
  border-radius:999px;
  padding:11px 18px;
  font-size:14px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.hb2:hover{
  background:#fff;
  transform:translateY(-1px);
}

.hstats{
  justify-content:flex-start;
  gap:14px;
  border-top:none;
  padding-top:0;
  margin-top:2.8rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  max-width:630px;
}

.hstats > div{
  border-top:1px solid rgba(130,110,90,.25);
  padding-top:16px;
}

.hn{
  color:var(--ink);
  font-family:"Archivo","Noto Sans SC",sans-serif;
  font-size:26px;
  font-weight:950;
  letter-spacing:-.035em;
}

.hl{
  color:var(--ink3);
  font-size:12px;
  font-weight:800;
}

/* 首页 section 配色 */
.sec{
  max-width:1180px;
}

.bg-sky{
  background:#E4ECF7;
}

.bg-w{
  background:var(--paper);
}

.bg-sand{
  background:#FFFFFF;
}

.eye{
  color:var(--ora);
  font-size:13px;
  font-weight:950;
  letter-spacing:.18em;
}

.stit{
  color:var(--ink);
  font-size:clamp(34px,4vw,54px);
  line-height:1.14;
  font-weight:900;
}

.ssub{
  color:var(--ink3);
  font-weight:600;
}

/* === 把“学习，从未如此灵活”四个卡片改成 V2 的 Why Taal13A 四格格式 === */

.fgrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}

.fcard{
  background:var(--paper);
  border:none;
  border-radius:0;
  padding:34px 28px;
  min-height:220px;
  box-shadow:none;
  transition:none;
}

.fcard:hover{
  background:var(--paper);
  transform:none;
  box-shadow:none;
}

.ficon{
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent !important;
  display:block;
  margin-bottom:28px;
  font-size:0;
  color:var(--blue);
}

.fcard:nth-child(1) .ficon::before{
  content:"01";
  font-size:28px;
  font-weight:950;
  color:var(--blue);
}

.fcard:nth-child(2) .ficon::before{
  content:"02";
  font-size:28px;
  font-weight:950;
  color:var(--blue);
}

.fcard:nth-child(3) .ficon::before{
  content:"03";
  font-size:28px;
  font-weight:950;
  color:var(--blue);
}

.fcard:nth-child(4) .ficon::before{
  content:"04";
  font-size:28px;
  font-weight:950;
  color:var(--blue);
}

.ft{
  font-size:20px;
  font-weight:900;
  color:var(--ink);
  letter-spacing:-.025em;
  margin-bottom:10px;
}

.fd{
  font-size:14px;
  color:var(--ink3);
  line-height:1.62;
  font-weight:500;
}

/* 其余卡片顺便统一成更扁平的现代风 */
.pillar,
.tcard,
.crow,
.filt,
.scard,
.cart-panel,
.pd-card,
.fc,
.oc,
.acard,
.dcard,
.tcard2,
.ki,
.legal-card,
#pg-contact .cinfo2{
  border-radius:0;
  border:1px solid var(--line);
  box-shadow:none;
}

.pillar:hover,
.tcard:hover,
.crow:hover,
.scard:hover{
  box-shadow:none;
}

/* 课程首页卡片降低 AI 彩色感 */
.ph,
.pillar[data-l="elearn"] .ph,
.pillar[data-l="a0a1"] .ph,
.pillar[data-l="a1a2"] .ph,
.pillar[data-l="a2b1"] .ph,
.pillar[data-l="inb"] .ph{
  background:#fff !important;
  border-bottom:1px solid var(--line);
}

.pillar[data-l="elearn"] .plv,
.pillar[data-l="a0a1"] .plv,
.pillar[data-l="a1a2"] .plv,
.pillar[data-l="a2b1"] .plv,
.pillar[data-l="inb"] .plv{
  color:var(--ink);
}

.plv{
  font-weight:950;
}

.benroll,
.cenroll,
.ecard-cta,
.btn-cart,
.btn-checkout,
.bpay,
.bf,
.cart-bar{
  background:var(--ink);
  border-radius:0;
  box-shadow:none;
  font-weight:900;
}

.benroll:hover,
.cenroll:hover,
.ecard-cta:hover,
.btn-cart:hover,
.btn-checkout:hover,
.bpay:hover,
.bf:hover,
.cart-bar:hover{
  background:var(--ora);
  transform:translateY(-1px);
}

.ptag,
.ctag,
.cotab,
.fpt,
.scat,
.pd-chip{
  border-radius:999px;
}

.co-hero,
.shop-hero,
.ep-hero,
.dh{
  background:linear-gradient(135deg,#2F5DA8 0%,#234A8A 100%);
}

.ph2{
  background:#E4ECF7;
  border-bottom:1px solid var(--line);
}

.ecard{
  background:linear-gradient(135deg,#2F5DA8 0%,#234A8A 100%);
  border-radius:0;
}

.scard-digital-note,
.legal-disclaimer{
  background:#E4ECF7;
  color:#234A8A;
  border:1px solid var(--line);
}

/* 手机端适配 */
@media(max-width:980px){
  .hero{
    min-height:auto;
  }

  .hc{
    text-align:center;
    margin:0 auto;
  }

  .hsub{
    margin-left:auto;
    margin-right:auto;
  }

  .hbtns{
    justify-content:center;
  }

  .hstats{
    grid-template-columns:repeat(2,1fr);
    margin-left:auto;
    margin-right:auto;
  }

  .fgrid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .tb{
    height:auto;
    min-height:88px;
    background:rgba(255,253,248,.96);
  }

  .logo-main{
    height:39px;
  }

  .logo-main rect,
  .logo-main text{
    fill:#171717 !important;
  }

  .nl{
    color:#313131;
    font-weight:750;
    font-size:12px;
    padding:0;
  }

  .nl::after{
    display:none;
  }

  .nl.on,
  .nl:hover{
    color:#171717;
  }

  .lb,
  .ub,
  .cta{
    color:#171717;
    background:transparent;
    border:none;
    padding:2px 4px;
  }

  .cta{
    color:#171717;
  }

  .news-ticker{
    top:88px;
  }

  .gfb{
    background-attachment:scroll;
    background-position:center;
  }

  .hero h1{
    font-size:2.7rem;
  }

  .hsub{
    font-size:16px;
  }

  .fgrid{
    grid-template-columns:1fr;
  }

  .fcard{
    min-height:auto;
    padding:28px 24px;
  }
}

/* === STEP 2：Homepage spacing + section background adjustment === */

/* 1. 首页首屏文字不要太靠左，回到更居中的视觉 */
.hc{
  text-align:center;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.hsub{
  margin-left:auto;
  margin-right:auto;
}

.hbtns{
  justify-content:center;
}

.hstats{
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
}

/* 首屏背景遮罩改柔一点，避免左侧太白一整块 */
.hovl{
  background:
    linear-gradient(90deg,rgba(255,253,248,.82) 0%,rgba(255,253,248,.68) 38%,rgba(255,253,248,.30) 72%,rgba(255,253,248,.10) 100%),
    linear-gradient(180deg,rgba(255,253,248,.12),rgba(255,253,248,.03));
}

/* 2. “学习，从未如此灵活”区域：改成更明显的淡蓝色 */
.bg-sky{
  background:#E4ECF7 !important;
}

/* 给这一块上下留白更接近参考图 */
.bg-sky .sec{
  padding-top:4.6rem;
  padding-bottom:2.8rem;
}

/* 3. “选择您的课程”区域：改成淡黄色背景 */
/* 你的首页课程区结构是：第一个 bg-w 是课程区，所以这里精准选它 */
#pg-home > .bg-w{
  background:#FCF8D8 !important;
}

#pg-home > .bg-w .sec{
  padding-top:5.8rem;
  padding-bottom:5.8rem;
}

/* 课程区里的卡片保持接近白色，不要一起变黄 */
#pg-home > .bg-w .pillar{
  background:#FFFFFF;
}

/* 4. 学员反馈区域可以暂时保持奶油色，不要和课程区撞色 */
#pg-home > .bg-sand{
  background:#FFFFFF !important;
}

/* 5. Why Taal13A 四格区在淡蓝背景上要更清楚 */
.fgrid{
  background:#D9CDBE;
  border-color:#D9CDBE;
}

.fcard{
  background:#FFFFFF;
}

.fcard:hover{
  background:#FFFFFF;
}

/* === STEP 3 FIX：Homepage testimonial slider === */

#pg-home > .bg-sand{
  position:relative;
  background:rgba(16,48,68,.58) !important;
  color:#fff;
  overflow:hidden;
}

#pg-home > .bg-sand::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,28,38,.74),rgba(10,28,38,.32)),
    linear-gradient(180deg,rgba(10,28,38,.28),rgba(10,28,38,.60));
  z-index:0;
  pointer-events:none;
}

#pg-home > .bg-sand .sec{
  position:relative;
  z-index:1;
  max-width:1180px;
  padding-top:6.5rem;
  padding-bottom:6.5rem;
}

#pg-home > .bg-sand .eye{
  color:#FCF8D8;
}

#pg-home > .bg-sand .stit{
  color:#fff;
}

.testimonial-slider-wrap{
  position:relative;
}

.testimonial-topbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  margin-bottom:28px;
}

.testimonial-controls{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.testimonial-arrow{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.78);
  background:transparent;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:background .16s,color .16s,transform .16s,opacity .16s;
}

.testimonial-arrow:hover{
  background:#fff;
  color:#111;
  transform:translateY(-1px);
}

.testimonial-arrow:disabled{
  opacity:.32;
  cursor:not-allowed;
  transform:none;
}

.testimonial-progress{
  width:170px;
  height:3px;
  background:rgba(255,255,255,.26);
  overflow:hidden;
}

.testimonial-progress-fill{
  height:100%;
  width:10%;
  background:#FCF8D8;
  transition:width .28s ease;
}

.testimonial-window{
  overflow:hidden;
  width:100%;
}

.testimonial-track{
  display:flex;
  gap:18px;
  transition:transform .35s ease;
  will-change:transform;
}

.testimonial-card{
  min-width:calc((100% - 36px) / 3);
  background:rgba(255,253,248,.94);
  border:1px solid rgba(255,255,255,.54);
  color:#171717;
  padding:34px;
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  backdrop-filter:blur(14px);
}

.testimonial-stars{
  color:#E96F3C;
  letter-spacing:.08em;
  font-weight:950;
  margin-bottom:18px;
  font-size:15px;
}

.testimonial-quote{
  font-size:18px;
  line-height:1.68;
  letter-spacing:-.02em;
  font-weight:600;
  color:#171717;
}

.testimonial-person{
  margin-top:26px;
  border-top:1px solid #D9DADF;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
}

.testimonial-person b{
  display:block;
  font-size:15px;
  font-weight:900;
  color:#171717;
}

.testimonial-person span{
  display:block;
  color:#686868;
  font-size:13px;
  font-weight:750;
  margin-top:3px;
}

.testimonial-person em{
  font-style:normal;
  color:#7C7D75;
  font-size:15px;
  font-weight:900;
}

@media(max-width:980px){
  .testimonial-card{
    min-width:85%;
  }

  .testimonial-topbar{
    justify-content:space-between;
  }
}

@media(max-width:700px){
  #pg-home > .bg-sand .sec{
    padding-top:4.5rem;
    padding-bottom:4.5rem;
  }

  .testimonial-card{
    min-width:94%;
    padding:26px;
  }

  .testimonial-quote{
    font-size:16px;
  }

  .testimonial-progress{
    width:120px;
  }

  .testimonial-arrow{
    width:42px;
    height:42px;
    font-size:24px;
  }
}

/* === STEP 4：Make testimonial section transparent over fixed background === */

/* 让学员反馈区透出后方 hero-bg.jpg，而不是实色深蓝 */
#pg-home > .bg-sand{
  position:relative;
  background:
    linear-gradient(90deg,rgba(10,28,38,.72),rgba(10,28,38,.36)),
    url('/hero-bg.jpg') center center / cover fixed no-repeat !important;
  color:#fff;
  overflow:hidden;
}

/* 取消之前那层太厚的实色遮罩 */
#pg-home > .bg-sand::before{
  background:
    linear-gradient(90deg,rgba(10,28,38,.54),rgba(10,28,38,.18)),
    linear-gradient(180deg,rgba(10,28,38,.18),rgba(10,28,38,.36)) !important;
}

/* 让卡片也稍微有一点透明感，但仍然保证文字清楚 */
.testimonial-card{
  background:rgba(255,253,248,.90);
  border:1px solid rgba(255,255,255,.46);
  backdrop-filter:blur(16px);
}

/* 进度条和箭头在透明背景上更清楚 */
.testimonial-progress{
  background:rgba(255,255,255,.24);
}

.testimonial-progress-fill{
  background:#FCF8D8;
}

.testimonial-arrow{
  border-color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(8px);
}

/* === Taal13A refined toolbar + hero controls === */
/* 只改导航、滚动栏、hero 首屏按钮；不影响学员反馈卡片 */

:root{
  --warm-paper:#FFFFFF;
  --warm-cream:#FCF8D8;
  --warm-line:#E4D7C6;
  --warm-text:#4E4136;
  --warm-muted:#7A6C60;
  --brand-blue:#2F5DA8;
  --brand-blue-dark:#234A8A;
  --brand-orange:#E96F3C;
}

/* 顶部工具栏：保留简洁，但减少椭圆感 */
.tb{
  background:rgba(255,253,248,.94) !important;
  border-bottom:1px solid rgba(228,215,198,.85) !important;
  box-shadow:none !important;
  backdrop-filter:blur(18px);
}

.logo-main rect,
.logo-main text{
  fill:#171717 !important;
}

/* 顶部导航文字 */
.nl{
  color:#2F2A25 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  font-weight:750;
}

.nl:hover,
.nl.on{
  color:var(--brand-blue-dark) !important;
}

/* 右侧区域 */
.nr{
  gap:14px !important;
}

/* 中文 / NL 下拉 */
.lang-select{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  background:transparent;
  color:#2F2A25;
  font-family:inherit;
  font-size:13px;
  font-weight:850;
  padding:8px 18px 8px 2px;
  cursor:pointer;
  outline:none;
  background-image:linear-gradient(45deg, transparent 50%, #7A6C60 50%),linear-gradient(135deg, #7A6C60 50%, transparent 50%);
  background-position:calc(100% - 8px) 50%, calc(100% - 4px) 50%;
  background-size:4px 4px,4px 4px;
  background-repeat:no-repeat;
}

.lang-select:hover{
  color:var(--brand-blue-dark);
}

/* 登录 / 注册容器 */
.auth-actions{
  display:inline-flex;
  align-items:center;
  gap:14px;
}

/* 登录：文字入口 */
.login-link{
  border:none;
  background:transparent;
  color:#2F2A25;
  font-family:inherit;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
  padding:8px 0;
  position:relative;
}

.login-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  width:0;
  height:2px;
  background:var(--brand-orange);
  transition:width .18s ease;
}

.login-link:hover{
  color:var(--brand-blue-dark);
}

.login-link:hover::after{
  width:100%;
}

/* 注册：现代按钮，不用椭圆 */
.register-btn{
  border:none;
  background:var(--brand-blue);
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:900;
  padding:9px 16px;
  border-radius:6px;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s ease, transform .18s ease;
}

.register-btn:hover{
  background:var(--brand-blue-dark);
  transform:translateY(-1px);
}

/* 滚动栏：淡黄背景，hover 只显示下划线 */
.news-ticker{
  background:var(--warm-cream) !important;
  border-bottom:1px solid rgba(228,215,198,.95) !important;
}

.news-track{
  color:var(--warm-text) !important;
}

.news-dot{
  display:inline-block !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:var(--brand-orange) !important;
  margin-right:10px !important;
  vertical-align:middle !important;
  flex-shrink:0;
}

.news-item{
  background:transparent !important;
  border-radius:0 !important;
  padding:3px 2px !important;
  color:var(--warm-text) !important;
  position:relative;
  transform:none !important;
}

.news-item::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:var(--brand-orange);
  transition:width .18s ease;
}

.news-item:hover{
  background:transparent !important;
  color:var(--brand-blue-dark) !important;
  transform:none !important;
  text-decoration:none !important;
}

.news-item:hover::after{
  width:100%;
}

/* hero 顶部说明：去椭圆框，改为细线标题 */
.hpill{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  color:var(--warm-text) !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.04em;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:2rem !important;
}

.hpill::before,
.hpill::after{
  content:"";
  display:block;
  width:108px;
  height:1.5px;
  background:rgba(122,108,96,.48);
}

.pdot{
  display:none !important;
}

/* 主按钮：蓝色现代按钮，不用黑色大框 */
.hb1{
  background:var(--brand-blue) !important;
  color:#fff !important;
  border:none !important;
  border-radius:6px !important;
  padding:14px 30px !important;
  font-size:16px !important;
  font-weight:950 !important;
  box-shadow:0 12px 26px rgba(47,93,168,.16) !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.hb1:hover{
  background:var(--brand-blue-dark) !important;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(47,93,168,.22) !important;
}

/* 去商店：文字链接 + 更长暖橙下划线 */
.hb2{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  color:#171717 !important;
  padding:14px 4px 10px !important;
  font-size:16px !important;
  font-weight:950 !important;
  position:relative;
  box-shadow:none !important;
}

.hb2::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:118%;
  height:3px;
  background:var(--brand-orange);
  transform:translateX(-50%);
  transition:width .18s ease, background .18s ease;
}

.hb2:hover{
  color:var(--brand-blue-dark) !important;
  background:transparent !important;
  transform:none !important;
}

.hb2:hover::after{
  width:132%;
  background:var(--brand-blue);
}

/* 手机端适配 */
@media(max-width:700px){
  .tb{
    background:rgba(255,253,248,.96) !important;
  }

  .nr{
    gap:10px !important;
  }

  .auth-actions{
    gap:10px;
  }

  .lang-select,
  .login-link,
  .register-btn{
    font-size:12px;
  }

  .register-btn{
    padding:6px 10px;
    border-radius:5px;
  }

  .hpill{
    font-size:12.5px !important;
    gap:8px;
    letter-spacing:.02em;
  }

  .hpill::before,
  .hpill::after{
    width:42px;
  }

  .hbtns{
    gap:18px;
  }

  .hb1,
  .hb2{
    font-size:14px !important;
  }

  .news-ticker{
    top:88px !important;
  }
}

/* === 调整首页 hero 两个按钮距离 === */
.hbtns{
  gap:34px !important;
  align-items:center;
}

@media(max-width:700px){
  .hbtns{
    gap:24px !important;
  }
}

  /* === 手机端 hero 统计数据居中 === */
@media(max-width:700px){
  .hstats{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px 22px !important;
    width:100% !important;
    max-width:360px !important;
    margin:2rem auto 0 !important;
    justify-content:center !important;
    justify-items:center !important;
    text-align:center !important;
  }

  .hstats > div{
    width:100% !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }

  .hn,
  .hl{
    text-align:center !important;
  }
}

/* === 调整首页 hero 两个按钮距离 === */
.hbtns{
  gap:34px !important;
  align-items:center;
}

@media(max-width:700px){
  .hbtns{
    gap:24px !important;
  }
}

/* === 手机端 hero 统计数据居中 === */
@media(max-width:700px){
  .hstats{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px 22px !important;
    width:100% !important;
    max-width:360px !important;
    margin:2rem auto 0 !important;
    justify-content:center !important;
    justify-items:center !important;
    text-align:center !important;
  }

  .hstats > div{
    width:100% !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }

  .hn,
  .hl{
    text-align:center !important;
  }
}


/* === FINAL MOBILE: Why Taal13A 手机端改成横向滑动卡片 === */
@media(max-width:700px){
  #pg-home .bg-sky{
    overflow:hidden;
  }

  #pg-home .bg-sky .sec{
    padding-top:4.2rem !important;
    padding-bottom:3.4rem !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #pg-home .bg-sky .shead{
    padding:0 24px !important;
    margin-bottom:1.8rem !important;
  }

  #pg-home .bg-sky .stit{
    font-size:2.45rem !important;
    line-height:1.15 !important;
  }

  #pg-home .bg-sky .ssub{
    font-size:15px !important;
    line-height:1.55 !important;
    max-width:92% !important;
  }

  #pg-home .bg-sky .fgrid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 24px 10px !important;
    background:transparent !important;
    border:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  #pg-home .bg-sky .fgrid::-webkit-scrollbar{
    display:none !important;
  }

  #pg-home .bg-sky .fcard{
    flex:0 0 calc(100vw - 48px) !important;
    width:calc(100vw - 48px) !important;
    min-height:310px !important;
    padding:42px 34px !important;
    background:#FFFFFF !important;
    border:1px solid #D9CDBE !important;
    border-radius:0 !important;
    box-shadow:none !important;
    scroll-snap-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  #pg-home .bg-sky .fcard + .fcard{
    margin-left:14px !important;
  }

  #pg-home .bg-sky .fcard:nth-child(1),
  #pg-home .bg-sky .fcard:nth-child(2),
  #pg-home .bg-sky .fcard:nth-child(3){
    border-right:1px solid #D9CDBE !important;
    border-bottom:1px solid #D9CDBE !important;
  }

  #pg-home .bg-sky .ficon{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 0 44px !important;
    background:transparent !important;
    font-size:0 !important;
  }

  #pg-home .bg-sky .fcard:nth-child(1) .ficon::before{
    content:"01";
    font-size:34px !important;
    font-weight:950 !important;
    color:#2F5DA8 !important;
  }

  #pg-home .bg-sky .fcard:nth-child(2) .ficon::before{
    content:"02";
    font-size:34px !important;
    font-weight:950 !important;
    color:#2F5DA8 !important;
  }

  #pg-home .bg-sky .fcard:nth-child(3) .ficon::before{
    content:"03";
    font-size:34px !important;
    font-weight:950 !important;
    color:#2F5DA8 !important;
  }

  #pg-home .bg-sky .fcard:nth-child(4) .ficon::before{
    content:"04";
    font-size:34px !important;
    font-weight:950 !important;
    color:#2F5DA8 !important;
  }

  #pg-home .bg-sky .ft{
    font-size:24px !important;
    line-height:1.22 !important;
    font-weight:950 !important;
    color:#171717 !important;
    margin:0 0 16px !important;
    text-align:left !important;
  }

  #pg-home .bg-sky .fd{
    display:block !important;
    font-size:16px !important;
    line-height:1.65 !important;
    font-weight:650 !important;
    color:#686868 !important;
    max-width:none !important;
    margin:0 !important;
    text-align:left !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:unset !important;
  }
}

/* === HOME COURSE TABLE: 首页课程区改成横向表单 === */

#home-pillars.course-table{
  display:block !important;
  width:100%;
  background:transparent !important;
  border:none !important;
}

.course-row{
  display:grid;
  grid-template-columns:minmax(260px, 1.45fr) minmax(420px, 1.6fr) 110px 118px;
  align-items:center;
  gap:24px;
  min-height:132px;
  padding:28px 28px;
  background:#FFFFFF;
  border:1px solid #E6DED2;
  margin-bottom:14px;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, border-color .18s ease;
}

.course-row:hover{
  background:#fff;
  border-color:rgba(233,111,60,.45);
  transform:translateY(-1px);
}

.course-main{
  position:relative;
  padding-left:18px;
}

.course-main::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:4px;
  height:42px;
  background:var(--brand-orange, #E96F3C);
  border-radius:4px;
}

.course-type{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#A84E28;
  background:#FFF0E8;
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  margin-bottom:12px;
}

.course-type span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--brand-orange, #E96F3C);
  display:none;
}

.course-title{
  font-size:22px;
  line-height:1.35;
  font-weight:950;
  color:#171717;
  letter-spacing:-.035em;
}

.course-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
}

.course-label{
  font-size:12px;
  color:#686868;
  font-weight:900;
  margin-bottom:6px;
}

.course-value{
  font-size:16px;
  line-height:1.35;
  color:#171717;
  font-weight:900;
}

.course-price{
  font-size:22px;
  font-weight:950;
  color:#171717;
  text-align:right;
  white-space:nowrap;
}

.course-action{
  background:transparent;
  border:1.5px solid #171717;
  color:#171717;
  padding:13px 16px;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
  font-family:inherit;
  border-radius:0;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}

.course-action:hover{
  background:#171717;
  color:#fff;
}

/* 手机端：横向表单改成紧凑列表，不要挤成一行 */
@media(max-width:800px){
  .course-row{
    grid-template-columns:1fr;
    gap:16px;
    min-height:auto;
    padding:22px 18px;
  }

  .course-main{
    padding-left:14px;
  }

  .course-main::before{
    width:3px;
    height:38px;
    top:5px;
  }

  .course-title{
    font-size:20px;
  }

  .course-meta{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    padding-top:4px;
  }

  .course-label{
    font-size:10.5px;
    margin-bottom:4px;
  }

  .course-value{
    font-size:12.5px;
    line-height:1.35;
  }

  .course-price{
    text-align:left;
    font-size:22px;
  }

  .course-action{
    width:100%;
    padding:12px 14px;
  }
}

  /* === COURSE TABLE TWEAK: 橙色竖线加长 === */
.course-main::before{
  height:64px !important;
  top:8px !important;
}

/* === FINAL FIX: 手机端课程信息三列均分居中 === */
@media(max-width:800px){
  .course-meta{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    column-gap:0 !important;
    width:100% !important;
    padding-top:8px !important;
    margin-top:2px !important;
    align-items:start !important;
  }

  .course-field{
    width:100% !important;
    min-width:0 !important;
    text-align:center !important;
    padding:0 4px !important;
  }

  .course-field:first-child{
    text-align:left !important;
    padding-left:0 !important;
  }

  .course-field:nth-child(2){
    text-align:center !important;
  }

  .course-field:nth-child(3){
    text-align:right !important;
    padding-right:0 !important;
  }

  .course-label{
    font-size:10.5px !important;
    line-height:1.2 !important;
    margin-bottom:4px !important;
    white-space:nowrap !important;
  }

  .course-value{
    font-size:12.5px !important;
    line-height:1.3 !important;
    font-weight:950 !important;
    white-space:normal !important;
  }
}

/* === WHY TAAL13A 背景：清爽纸感蓝灰 === */
#pg-home .bg-sky{
  background:#DCE9EE !important;
}

/* === WHY TAAL13A MOBILE DOTS === */
.why-dots{
  display:none;
}

@media(max-width:700px){
  #pg-home .bg-sky .why-dots{
    display:flex !important;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin:14px auto 0;
    width:100%;
    padding-bottom:2px;
  }

  #pg-home .bg-sky .why-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    border:1.5px solid rgba(47,93,168,.65);
    background:transparent;
    padding:0;
    cursor:pointer;
    transition:background .18s ease, width .18s ease, border-color .18s ease;
  }

  #pg-home .bg-sky .why-dot.active{
    width:22px;
    border-radius:999px;
    background:#2F5DA8;
    border-color:#2F5DA8;
  }

  .why-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    border:1.5px solid rgba(47,93,168,.65);
    background:transparent;
    padding:0;
    cursor:pointer;
    transition:background .18s ease, width .18s ease, border-color .18s ease;
  }

  .why-dot.active{
    width:22px;
    border-radius:999px;
    background:#2F5DA8;
    border-color:#2F5DA8;
  }
}  

/* === WHY TAAL13A: Teacher CTA - button only === */
.why-teacher-cta{
  margin-top:36px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.why-teacher-btn{
  border:none;
  background:transparent;
  color:#171717;
  font-family:inherit;
  font-size:16px;
  font-weight:950;
  padding:10px 4px 9px;
  cursor:pointer;
  position:relative;
}

.why-teacher-btn::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:2px;
  width:112%;
  height:3px;
  background:var(--brand-orange, #E96F3C);
  transform:translateX(-50%);
  transition:width .18s ease, background .18s ease;
}

.why-teacher-btn:hover{
  color:var(--brand-blue-dark, #234A8A);
}

.why-teacher-btn:hover::after{
  width:128%;
  background:var(--brand-blue, #2F5DA8);
}

@media(max-width:700px){
  .why-teacher-cta{
    margin-top:28px;
    justify-content:flex-start;
    padding-left:24px;
    padding-right:24px;
  }

  .why-teacher-btn{
    font-size:14.5px;
  }
}

/* === SHOP PAGE REFRESH：Taal13A 荷兰语书店 === */

.shop-hero-new{
  background:
    radial-gradient(circle at 18% 20%, rgba(252,248,216,.18) 0%, rgba(252,248,216,0) 32%),
    radial-gradient(circle at 80% 30%, rgba(233,111,60,.20) 0%, rgba(233,111,60,0) 34%),
    linear-gradient(135deg,#2F5DA8 0%,#234A8A 58%,#07324D 100%) !important;
  padding:5rem 20px 4.4rem !important;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.shop-hero-new::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:rgba(255,255,255,.18);
}

.shop-hero-inner{
  max-width:860px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

.shop-kicker{
  color:#FCF8D8;
  font-size:12px;
  font-weight:950;
  letter-spacing:.22em;
  margin-bottom:1rem;
}

.shop-hero-new h1{
  font-size:clamp(2.2rem,4.8vw,4.4rem) !important;
  line-height:1.08;
  margin-bottom:1rem !important;
  color:#fff;
}

.shop-hero-new p{
  color:rgba(255,255,255,.78) !important;
  font-size:16px !important;
  line-height:1.7;
  font-weight:650;
  max-width:660px;
  margin:0 auto;
}

.shop-hero-tags{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:1.7rem;
}

.shop-hero-tags span{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:850;
  backdrop-filter:blur(10px);
}

.shop-sec{
  padding-top:2rem !important;
  padding-bottom:0 !important;
}

.shop-filter-bar{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr)) auto;
  gap:12px;
  align-items:end;
  background:#FFFFFF;
  border:1px solid #E6DED2;
  padding:18px;
  margin-bottom:1.2rem;
}

.shop-filter-group label{
  display:block;
  font-size:11px;
  font-weight:950;
  color:#686868;
  letter-spacing:.08em;
  margin-bottom:7px;
  text-transform:uppercase;
}

.shop-filter-group select{
  width:100%;
  height:42px;
  border:1.5px solid #E6DED2;
  background:#fff;
  color:#171717;
  font-family:inherit;
  font-size:13px;
  font-weight:850;
  padding:0 12px;
  outline:none;
  cursor:pointer;
}

.shop-filter-group select:focus{
  border-color:#2F5DA8;
}

.shop-reset-btn{
  height:42px;
  border:1.5px solid #171717;
  background:#171717;
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:950;
  padding:0 18px;
  cursor:pointer;
  white-space:nowrap;
}

.shop-reset-btn:hover{
  background:#E96F3C;
  border-color:#E96F3C;
}

@media(max-width:980px){
  .shop-filter-bar{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .shop-reset-btn{
    grid-column:1 / -1;
    width:100%;
  }
}

@media(max-width:700px){
  .shop-hero-new{
    padding:3.8rem 20px 3.2rem !important;
  }

  .shop-hero-new h1{
    font-size:2.4rem !important;
  }

  .shop-hero-new p{
    font-size:14.5px !important;
  }

  .shop-filter-bar{
    grid-template-columns:1fr;
    padding:16px;
  }

  .shop-hero-tags{
    justify-content:flex-start;
  }
}

/* === SHOP PAGE FINAL CLEAN FIX === */
/* 目标：书店页和课程页统一，去掉广告感，筛选栏更扁平紧凑 */

/* 1. 书店蓝色头图：高度改成和课程页接近 */
.shop-hero-new{
  background:linear-gradient(135deg,#2F5DA8 0%,#234A8A 100%) !important;
  padding:3rem 20px 2.8rem !important;
  text-align:center !important;
  position:relative;
  overflow:hidden;
}

/* 去掉之前的复杂光斑 */
.shop-hero-new::after{
  display:none !important;
}

.shop-hero-inner{
  max-width:760px !important;
  margin:0 auto !important;
}

/* 去掉 TAAL13A BOOKSTORE 小字，即使 HTML 没删也隐藏 */
.shop-kicker{
  display:none !important;
}

/* 书店标题字体改回课程页那种感觉 */
.shop-hero-new h1{
  font-family:"Noto Serif SC","Archivo",serif !important;
  font-size:1.9rem !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
  color:#fff !important;
  margin:0 0 .35rem !important;
}

/* 副标题也压小，和课程页统一 */
.shop-hero-new p{
  color:rgba(255,255,255,.58) !important;
  font-size:14px !important;
  line-height:1.6 !important;
  font-weight:500 !important;
  max-width:620px !important;
  margin:0 auto !important;
}

/* 去掉四个气泡，即使 HTML 没删也隐藏 */
.shop-hero-tags{
  display:none !important;
}

/* 2. 书店内容区上方距离缩小 */
.shop-sec{
  padding-top:1.35rem !important;
  padding-bottom:0 !important;
}

/* 3. 筛选栏：扁平、紧凑、无阴影 */
.shop-filter-bar{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) auto !important;
  gap:10px !important;
  align-items:center !important;
  background:transparent !important;
  border:1px solid #E6DED2 !important;
  box-shadow:none !important;
  padding:12px !important;
  margin-bottom:1rem !important;
}

/* 不显示外部 label，把提示直接放进 select */
.shop-filter-group label{
  display:none !important;
}

/* select 扁平化 */
.shop-filter-group select{
  width:100% !important;
  height:40px !important;
  border:1px solid #E6DED2 !important;
  background:#FFFFFF !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#686868 !important;
  font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:750 !important;
  padding:0 12px !important;
  outline:none !important;
  cursor:pointer !important;
}

/* 选中之后文字不要太黑，保持轻一点 */
.shop-filter-group select:focus{
  border-color:#2F5DA8 !important;
  background:#fff !important;
  color:#171717 !important;
}

/* 重置按钮也压小 */
.shop-reset-btn{
  height:40px !important;
  border:1px solid #171717 !important;
  background:#171717 !important;
  color:#fff !important;
  box-shadow:none !important;
  border-radius:0 !important;
  font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  padding:0 16px !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}

.shop-reset-btn:hover{
  background:#E96F3C !important;
  border-color:#E96F3C !important;
}

/* 说明条也压缩，避免占太多空间 */
.shop-sec .scard-digital-note{
  margin-top:0 !important;
  margin-bottom:1rem !important;
  padding:.7rem .9rem !important;
  border-radius:0 !important;
  background:#E4ECF7 !important;
  border:1px solid #C8D7EE !important;
  color:#234A8A !important;
  font-size:12.5px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
}

/* 商品卡片顶部不要贴太远 */
.shop-grid{
  margin-top:0 !important;
}

/* 手机端筛选栏改成一列，但也保持紧凑 */
@media(max-width:980px){
  .shop-filter-bar{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .shop-reset-btn{
    grid-column:1 / -1 !important;
    width:100% !important;
  }
}

@media(max-width:700px){
  .shop-hero-new{
    padding:2.6rem 20px 2.4rem !important;
  }

  .shop-hero-new h1{
    font-size:1.75rem !important;
  }

  .shop-hero-new p{
    font-size:13.5px !important;
  }

  .shop-filter-bar{
    grid-template-columns:1fr !important;
    padding:10px !important;
    gap:8px !important;
  }

  .shop-filter-group select,
  .shop-reset-btn{
    height:38px !important;
    font-size:12.5px !important;
  }
}

/* === MOBILE SHOP: two-column product grid + filter drawer === */

.mobile-filter-trigger{
  display:none;
}

.mobile-filter-backdrop{
  display:none;
}

/* 手机端商品区压缩 */
@media(max-width:700px){

  /* 商店内容区域变紧凑 */
  #pg-shop .sec.shop-sec{
    padding:1rem 10px 0 !important;
  }

  /* 手机端：商品两列 */
  #pg-shop .shop-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  #pg-shop .scard{
    border:1px solid #E6DED2 !important;
    border-radius:0 !important;
    background:#FFFFFF !important;
    overflow:hidden !important;
  }

  /* 图片区域减少高度和留白 */
  #pg-shop .scard-img{
    height:185px !important;
    padding:0 !important;
    background:#fff !important;
  }

  #pg-shop .scard-img img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:8px !important;
  }

  /* 标签变小 */
  #pg-shop .must-buy-badge,
  #pg-shop .discount-badge{
    top:6px !important;
    right:6px !important;
    left:auto !important;
    font-size:9px !important;
    padding:4px 7px !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  #pg-shop .must-buy-badge{
    left:6px !important;
    right:auto !important;
  }

  /* 商品文字压缩 */
  #pg-shop .scard-body{
    padding:10px 10px 12px !important;
  }

  #pg-shop .scard-cat{
    font-size:10px !important;
    line-height:1.2 !important;
    margin-bottom:5px !important;
  }

  #pg-shop .scard-name{
    font-size:14px !important;
    line-height:1.28 !important;
    margin-bottom:5px !important;
    font-weight:900 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #pg-shop .scard-desc{
    font-size:12px !important;
    line-height:1.45 !important;
    margin-bottom:10px !important;
    color:#686868 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  /* 价格和按钮同一行 */
  #pg-shop .scard-foot{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin-top:0 !important;
  }

  #pg-shop .scard-price{
    font-size:18px !important;
    line-height:1 !important;
  }

  #pg-shop .scard-old{
    display:none !important;
  }

  #pg-shop .scard-foot span[style*="incl. BTW"]{
    display:none !important;
  }

  /* 按钮更小，不分行 */
  #pg-shop .btn-cart{
    font-size:11px !important;
    padding:7px 8px !important;
    white-space:nowrap !important;
    min-width:auto !important;
    flex-shrink:0 !important;
  }

  /* 免费按钮不要太宽 */
  #pg-shop .btn-cart.free-claim{
    padding:7px 8px !important;
  }

  /* 顶部提示条变小 */
  #pg-shop .scard-digital-note{
    font-size:12px !important;
    line-height:1.45 !important;
    padding:.75rem .85rem !important;
    margin:.7rem 0 .8rem !important;
    border-radius:0 !important;
  }

  /* 原来的筛选栏在手机端隐藏成弹层 */
  #pg-shop .shop-filter-bar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:260 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    background:#fff !important;
    border:none !important;
    border-top:1px solid #E6DED2 !important;
    padding:18px 18px 22px !important;
    margin:0 !important;
    transform:translateY(105%) !important;
    transition:transform .22s ease !important;
    box-shadow:none !important;
    max-height:78vh !important;
    overflow-y:auto !important;
  }

  #pg-shop .shop-filter-bar.open{
    transform:translateY(0) !important;
  }

  #pg-shop .shop-filter-group label{
    display:none !important;
  }

  #pg-shop .shop-filter-group select{
    height:46px !important;
    border:1px solid #E6DED2 !important;
    background:#F7F7F4 !important;
    box-shadow:none !important;
    font-size:14px !important;
    font-weight:850 !important;
    color:#686868 !important;
    padding:0 12px !important;
  }

  #pg-shop .shop-reset-btn{
    height:46px !important;
    background:#171717 !important;
    border:none !important;
    color:#fff !important;
    box-shadow:none !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  /* 手机端筛选入口按钮 */
  .mobile-filter-trigger{
    display:flex !important;
    position:fixed !important;
    right:14px !important;
    bottom:88px !important;
    z-index:240 !important;
    width:46px !important;
    height:46px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #E6DED2 !important;
    background:#FFFFFF !important;
    color:#171717 !important;
    box-shadow:0 6px 18px rgba(0,0,0,.08) !important;
    border-radius:50% !important;
    font-size:20px !important;
    cursor:pointer !important;
  }

  /* 弹层打开时的遮罩 */
  .mobile-filter-backdrop{
    display:none;
    position:fixed;
    inset:0;
    z-index:250;
    background:rgba(0,0,0,.34);
  }

  .mobile-filter-backdrop.open{
    display:block;
  }

  /* 弹层顶部标题 */
  .mobile-filter-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    font-size:17px !important;
    font-weight:950 !important;
    color:#171717 !important;
    padding-bottom:4px !important;
  }

  .mobile-filter-close{
    border:none !important;
    background:transparent !important;
    font-size:24px !important;
    line-height:1 !important;
    color:#171717 !important;
    cursor:pointer !important;
  }

  /* 完成按钮 */
  .mobile-filter-done{
    height:48px !important;
    border:none !important;
    background:#E96F3C !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:950 !important;
    cursor:pointer !important;
  }
}  

/* Desktop: hide mobile-only filter controls */
.mobile-filter-title,
.mobile-filter-done{
  display:none;
}

/* === MOBILE FILTER ACTIONS: reset + done side by side === */

.mobile-filter-actions{
  display:none;
}

@media(max-width:700px){

  /* 手机端隐藏原本单独的重置按钮 */
  #pg-shop .shop-reset-btn{
    display:none !important;
  }

  .mobile-filter-actions{
    display:grid !important;
    grid-template-columns:1fr 1.5fr;
    gap:12px;
    margin-top:4px;
  }

  .mobile-filter-reset,
  .mobile-filter-done{
    height:48px !important;
    border-radius:0 !important;
    font-family:inherit !important;
    font-size:15px !important;
    font-weight:950 !important;
    cursor:pointer !important;
    box-shadow:none !important;
  }

  .mobile-filter-reset{
    background:#fff !important;
    color:#171717 !important;
    border:1.5px solid #171717 !important;
  }

  .mobile-filter-done{
    background:#E96F3C !important;
    color:#fff !important;
    border:1.5px solid #E96F3C !important;
  }

  .mobile-filter-reset:hover,
  .mobile-filter-done:hover{
    transform:none !important;
    box-shadow:none !important;
  }
}


/* === PRODUCT DETAIL FINAL: mobile image first + swipe gallery + lightbox === */

/* 所有端：详情页删除立即结算后，让加入购物车按钮占满更自然 */
#pg-product .pd-actions .bpay{
  width:100% !important;
}

/* 图片可点击 */
#pg-product .pd-shot{
  cursor:zoom-in !important;
}


/* 手机端：商品详情页图片放上方，产品信息放下方 */
@media(max-width:850px){

  #pg-product .pd-card.fashion{
    display:flex !important;
    flex-direction:column !important;
    gap:1.1rem !important;
  }

  #pg-product .pd-card.fashion .pd-gallery{
    order:1 !important;
  }

  #pg-product .pd-card.fashion .pd-info{
    order:2 !important;
  }

  /* 手机端图片区域改成横向滑动 */
  #pg-product .pd-card.fashion .pd-gallery{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 0 10px !important;
    scrollbar-width:none !important;
  }

  #pg-product .pd-card.fashion .pd-gallery::-webkit-scrollbar{
    display:none !important;
  }

  #pg-product .pd-shot{
    flex:0 0 86vw !important;
    width:86vw !important;
    min-height:420px !important;
    scroll-snap-align:center !important;
    border:1px solid #E6DED2 !important;
    background:#fff !important;
  }

  #pg-product .pd-shot img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:12px !important;
  }

  /* 两张说明卡片也作为滑动卡片展示 */
  #pg-product .pd-shot.alt{
    min-height:420px !important;
    padding:0 !important;
  }

  #pg-product .pd-shot-card{
    width:100% !important;
    height:100% !important;
    padding:28px 24px !important;
  }

  /* 手机端产品信息卡片更紧凑 */
  #pg-product .pd-card.fashion .pd-info{
    padding:1.25rem !important;
  }

  #pg-product .pd-card.fashion .pd-info h1{
    font-size:1.45rem !important;
  }

  #pg-product .pd-price{
    font-size:1.85rem !important;
  }

  #pg-product .pd-actions{
    display:block !important;
  }

  #pg-product .pd-actions .bpay{
    width:100% !important;
    margin-bottom:0 !important;
  }
}

/* 很窄的手机再压一点 */
@media(max-width:430px){
  #pg-product .pd-shot{
    flex-basis:88vw !important;
    width:88vw !important;
    min-height:380px !important;
  }

  #pg-product .pd-shot.alt{
    min-height:380px !important;
  }
}

/* === PRODUCT DETAIL FINAL FIX: one-card mobile gallery + dots + no chips === */

/* 所有商品详情页：隐藏价格下方气泡 */
#pg-product .pd-meta-row,
#pg-product .pd-chip{
  display:none !important;
}

/* 所有商品详情页：删除立即结算后，加入购物车按钮占满 */
#pg-product .pd-actions{
  display:block !important;
}

#pg-product .pd-actions .bpay{
  width:100% !important;
}

#pg-product .pd-actions .btn-secondary{
  display:none !important;
}

/* 图库基础 */
#pg-product .pd-gallery-wrap{
  width:100%;
  min-width:0;
}

#pg-product .pd-gallery-dots{
  display:none;
}

/* 图片和信息卡片都允许点击放大 */
#pg-product .pd-shot{
  cursor:zoom-in !important;
}

/* 手机端：图片在上，产品信息在下 */
@media(max-width:850px){

  #pg-product .pd-card.fashion{
    display:flex !important;
    flex-direction:column !important;
    gap:1rem !important;
    overflow:hidden !important;
  }

  #pg-product .pd-card.fashion .pd-gallery-wrap{
    order:1 !important;
    width:100% !important;
    overflow:hidden !important;
  }

  #pg-product .pd-card.fashion .pd-info{
    order:2 !important;
    width:100% !important;
    position:static !important;
  }

  /* 核心：图库只显示一张 */
  #pg-product .pd-card.fashion .pd-gallery{
    display:flex !important;
    grid-template-columns:none !important;
    gap:0 !important;
    width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:0 !important;
  }

  #pg-product .pd-card.fashion .pd-gallery::-webkit-scrollbar{
    display:none !important;
  }

  #pg-product .pd-shot{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    min-height:430px !important;
    scroll-snap-align:start !important;
    border:1px solid #E6DED2 !important;
    background:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  #pg-product .pd-shot img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:12px !important;
    background:#fff !important;
  }

  #pg-product .pd-shot.alt{
    min-height:430px !important;
    padding:0 !important;
  }

  #pg-product .pd-shot-card{
    width:100% !important;
    height:100% !important;
    padding:30px 26px !important;
  }

  /* 手机端圆点 */
  #pg-product .pd-gallery-dots{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    margin:12px auto 4px !important;
  }

  #pg-product .pd-gallery-dot{
    width:8px !important;
    height:8px !important;
    border-radius:999px !important;
    border:1.5px solid rgba(47,93,168,.65) !important;
    background:transparent !important;
    padding:0 !important;
    cursor:pointer !important;
    transition:width .18s ease, background .18s ease, border-color .18s ease !important;
  }

  #pg-product .pd-gallery-dot.active{
    width:22px !important;
    background:#2F5DA8 !important;
    border-color:#2F5DA8 !important;
  }

  /* 手机端产品信息更紧凑 */
  #pg-product .pd-card.fashion .pd-info{
    padding:1.2rem !important;
  }

  #pg-product .pd-card.fashion .pd-info h1{
    font-size:1.45rem !important;
    line-height:1.25 !important;
  }

  #pg-product .pd-price{
    font-size:1.85rem !important;
  }
}

/* 很窄屏幕再压一点 */
@media(max-width:430px){
  #pg-product .pd-shot,
  #pg-product .pd-shot.alt{
    min-height:390px !important;
  }
}

/* === LIGHTBOX SWIPE VIEW === */

.img-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.86);
  align-items:center;
  justify-content:center;
  padding:18px;
}

.img-lightbox.open{
  display:flex;
}

.img-lightbox-window{
  width:100%;
  max-width:980px;
  height:86vh;
  overflow:hidden;
  display:flex;
  align-items:center;
}

.img-lightbox-track{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .24s ease;
  will-change:transform;
}

.img-lightbox-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}

.img-lightbox-slide img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  background:#fff;
}

.img-lightbox-card{
  width:min(92vw,720px);
  min-height:420px;
  background:#fff;
  display:flex;
  align-items:stretch;
  justify-content:center;
}

.img-lightbox-card .pd-shot-card{
  width:100%;
  min-height:420px;
}

.img-lightbox-close{
  position:fixed;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:none;
  background:rgba(255,255,255,.94);
  color:#171717;
  font-size:28px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  z-index:10000;
}

.img-lightbox-arrow{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#171717;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:10000;
}

.img-lightbox-prev{
  left:16px;
}

.img-lightbox-next{
  right:16px;
}

.img-lightbox-dots{
  position:fixed;
  left:0;
  right:0;
  bottom:22px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  z-index:10000;
}

.img-lightbox-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:1.5px solid rgba(255,255,255,.75);
  background:transparent;
  padding:0;
  cursor:pointer;
}

.img-lightbox-dot.active{
  width:22px;
  background:#fff;
  border-color:#fff;
}

@media(max-width:700px){
  .img-lightbox{
    padding:0;
  }

  .img-lightbox-window{
    height:82vh;
    max-width:none;
  }

  .img-lightbox-slide{
    padding:18px;
  }

  .img-lightbox-arrow{
    width:38px;
    height:38px;
    font-size:28px;
    background:rgba(255,255,255,.88);
  }

  .img-lightbox-prev{
    left:10px;
  }

  .img-lightbox-next{
    right:10px;
  }

  .img-lightbox-card{
    width:88vw;
    min-height:390px;
  }
}

/* === FINAL HERO CTA + SUBTITLE REFINEMENT === */
/* 首页首屏：按钮缩短，副标题缩小并增加留白 */

.hero h1{
  margin-bottom:1.35rem !important;
}

.hsub{
  font-size:16px !important;
  line-height:1.75 !important;
  max-width:620px !important;
  margin:0 auto 2.55rem !important;
  font-weight:650 !important;
  color:rgba(45,45,45,.82) !important;
  letter-spacing:.01em !important;
}

/* 按钮整体间距 */
.hbtns{
  gap:24px !important;
  align-items:center !important;
  justify-content:center !important;
}

/* 两个按钮都按文字长度收缩，不要固定大宽度 */
.hb1,
.hb2{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  padding:15px 28px !important;
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  border-radius:8px !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

/* 左侧主按钮：蓝色实心 */
.hb1{
  background:#2F5DA8 !important;
  color:#fff !important;
  border:1.5px solid #2F5DA8 !important;
}

/* 右侧按钮：白底，与左侧同样是按钮，不再是长下划线 */
.hb2{
  background:rgba(255,255,255,.78) !important;
  color:#171717 !important;
  border:1.5px solid rgba(255,255,255,.92) !important;
  backdrop-filter:blur(10px) !important;
}

/* 彻底取消之前 hb2 的长下划线 */
.hb2::after{
  display:none !important;
  content:none !important;
}

.hb1:hover{
  background:#234A8A !important;
  border-color:#234A8A !important;
  transform:translateY(-1px) !important;
}

.hb2:hover{
  background:#fff !important;
  border-color:#E96F3C !important;
  color:#171717 !important;
  transform:translateY(-1px) !important;
}

/* 手机端 */
@media(max-width:700px){
  .hero h1{
    margin-bottom:1.1rem !important;
  }

  .hsub{
    font-size:14.5px !important;
    line-height:1.7 !important;
    max-width:92% !important;
    margin-bottom:2rem !important;
  }

  .hbtns{
    gap:12px !important;
  }

  .hb1,
  .hb2{
    width:auto !important;
    min-width:0 !important;
    padding:13px 20px !important;
    font-size:14px !important;
    border-radius:7px !important;
  }
}


 /* === FINAL ACCOUNT + LANGUAGE TOOLBAR CLEANUP === */
/* 顶部取消退出按钮，手机端语言和我的课程改成 icon 风格 */

.dashboard-logout-btn{
  margin-top:16px;
  height:40px;
  padding:0 18px;
  border:1.5px solid #171717;
  background:#171717;
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  border-radius:0;
}

.dashboard-logout-btn:hover{
  background:#E96F3C;
  border-color:#E96F3C;
}

/* 桌面端：顶部只保留 我的课程，不显示退出 */
.account-link{
  color:#171717 !important;
  font-weight:900 !important;
}

/* 手机端：语言切换 + 我的课程图标化 */
@media(max-width:700px){

  /* 顶部第一行：Logo 和右侧工具保持一行 */
  .tb{
    min-height:72px !important;
    padding:8px 14px 7px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  .logo-main{
    order:1 !important;
    height:38px !important;
    flex:0 0 auto !important;
  }

  .nr{
    order:2 !important;
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
    max-width:none !important;
  }

  #auth-btns,
  #user-btns{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
  }

  /* 语言切换：做成 globe icon + 当前语言 */
  .lang-select{
    width:58px !important;
    height:36px !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    font-family:inherit !important;
    font-size:0 !important;
    font-weight:900 !important;
    padding:0 !important;
    cursor:pointer !important;
    outline:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    position:relative !important;
  }

  /* 当前语言文字：用 select 本身显示会受浏览器限制，所以用固定宽度保留点击区域 */
  .lang-select option{
    font-size:14px;
  }

  /* 我的课程：手机端变成圆形账号 icon */
  #ulabel{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    padding:0 !important;
    border:1.8px solid #171717 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#171717 !important;
    font-size:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
  }

  #ulabel::before{
    content:"";
    width:9px;
    height:9px;
    border:2px solid #171717;
    border-radius:50%;
    position:absolute;
    top:7px;
    left:50%;
    transform:translateX(-50%);
  }

  #ulabel::after{
    content:"";
    width:17px;
    height:8px;
    border:2px solid #171717;
    border-top:none;
    border-radius:0 0 14px 14px;
    position:absolute;
    bottom:7px;
    left:50%;
    transform:translateX(-50%);
  }

  /* 登录/注册状态下：登录可以保留文字，注册压缩 */
  #auth-btns .login-link{
    font-size:13px !important;
    padding:4px 0 !important;
    color:#171717 !important;
    font-weight:900 !important;
  }

  #auth-btns .register-btn{
    height:34px !important;
    padding:0 12px !important;
    border-radius:7px !important;
    font-size:13px !important;
    background:#2F5DA8 !important;
    color:#fff !important;
  }

  /* 顶部导航第二行：只显示短中文，避免溢出 */
  .nc{
    order:3 !important;
    width:100% !important;
    margin-top:7px !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    overflow:hidden !important;
    gap:0 !important;
    padding:0 !important;
  }

  .nl{
    font-size:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
  }

  .nl::after{
    display:none !important;
  }

  .nl[data-zh="主页 / Home"]::before{
    content:"首页";
    font-size:13px;
    font-weight:900;
  }

  .nl[data-zh="课程 / Cursussen"]::before{
    content:"课程";
    font-size:13px;
    font-weight:900;
  }

  .nl[data-zh="书店 / Winkel"]::before{
    content:"书店";
    font-size:13px;
    font-weight:900;
  }

  .nl[data-zh="关于 / Over ons"]::before{
    content:"关于";
    font-size:13px;
    font-weight:900;
  }

  .nl[data-zh="联系 / Contact"]::before{
    content:"联系";
    font-size:13px;
    font-weight:900;
  }

  /* 上新条位置跟随顶部高度 */
  .news-ticker{
    top:72px !important;
  }
} 

/* === FINAL MOBILE HEADER FIX === */
/* 修复手机端顶部：去双地球、Logo 与工具栏一行、登录/注册/账号 icon 稳定显示 */

@media(max-width:700px){

  /* 顶部整体 */
  .tb{
    height:auto !important;
    min-height:74px !important;
    padding:10px 16px 8px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px 10px !important;
    background:rgba(255,253,248,.97) !important;
    border-bottom:1px solid rgba(228,215,198,.85) !important;
    box-shadow:none !important;
  }

  /* Logo */
  .logo-main{
    order:1 !important;
    height:42px !important;
    width:auto !important;
    flex:0 0 auto !important;
  }

  .logo-main rect,
  .logo-main text{
    fill:#171717 !important;
  }

  /* 右侧工具栏 */
  .nr{
    order:2 !important;
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
    max-width:none !important;
  }

  /* 禁止再用伪元素制造地球，避免双地球 */
  .nr::before{
    display:none !important;
    content:none !important;
  }

  /* 语言区域 */
  .language-tool{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    flex:0 0 auto !important;
  }

  .language-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:22px !important;
    line-height:1 !important;
  }

  .lang-select{
    width:24px !important;
    height:32px !important;
    border:none !important;
    background:transparent !important;
    color:transparent !important;
    font-size:0 !important;
    padding:0 !important;
    margin:0 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    outline:none !important;
    cursor:pointer !important;
  }

  .lang-select option{
    color:#171717 !important;
    font-size:14px !important;
  }

  /* 登录 / 注册 */
  #auth-btns{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
  }

  #auth-btns .login-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:34px !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    font-size:14px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  #auth-btns .login-link::after{
    display:none !important;
  }

  #auth-btns .register-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:38px !important;
    padding:0 16px !important;
    border:none !important;
    border-radius:8px !important;
    background:#2F5DA8 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  /* 登录后：我的课程变成账号 icon */
  #user-btns{
    display:inline-flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
  }

  #ulabel{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    padding:0 !important;
    border:2px solid #171717 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:transparent !important;
    font-size:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
  }

  #ulabel::before{
    content:"";
    width:9px;
    height:9px;
    border:2px solid #171717;
    border-radius:50%;
    position:absolute;
    top:7px;
    left:50%;
    transform:translateX(-50%);
  }

  #ulabel::after{
    content:"";
    width:18px;
    height:9px;
    border:2px solid #171717;
    border-top:none;
    border-radius:0 0 14px 14px;
    position:absolute;
    bottom:7px;
    left:50%;
    transform:translateX(-50%);
  }

  /* 第二行导航 */
  .nc{
    order:3 !important;
    width:100% !important;
    margin-top:4px !important;
    padding:0 !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  .nl{
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    font-size:0 !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  .nl::after{
    display:none !important;
  }

  .nl[data-zh="主页 / Home"]::before{
    content:"首页";
    font-size:14px;
  }

  .nl[data-zh="课程 / Cursussen"]::before{
    content:"课程";
    font-size:14px;
  }

  .nl[data-zh="书店 / Winkel"]::before{
    content:"书店";
    font-size:14px;
  }

  .nl[data-zh="关于 / Over ons"]::before{
    content:"关于";
    font-size:14px;
  }

  .nl[data-zh="联系 / Contact"]::before{
    content:"联系";
    font-size:14px;
  }

  /* 上新条跟随顶部真实高度 */
  .news-ticker{
    top:74px !important;
    height:30px !important;
  }

  /* 购物车悬浮按钮不要出现在顶部区域，避免视觉误判 */
  .cart-bar{
    right:14px !important;
    bottom:22px !important;
    top:auto !important;
  }
}

/* === FINAL FIX: mobile header auth + language icons === */

.is-hidden{
  display:none !important;
}

/* 桌面端：顶部右侧保持正常 */
.nr{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
}

.auth-actions{
  display:inline-flex;
  align-items:center;
  gap:12px;
}

/* 语言按钮：线性 globe，不用 emoji */
.mobile-icon-btn{
  border:none;
  background:transparent;
  color:#171717;
  padding:0;
  margin:0;
  font-family:inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}

.mobile-icon-btn svg{
  width:28px;
  height:28px;
  stroke:#171717;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.lang-text{
  font-size:14px;
  font-weight:900;
  color:#171717;
  line-height:1;
}

/* 个人中心 icon：参考图那种头像 */
.account-icon-btn{
  width:38px;
  height:38px;
}

.account-icon-btn svg{
  width:32px;
  height:32px;
}

/* 删除旧 emoji / 伪元素干扰 */
.language-icon{
  display:none !important;
}

.nr::before{
  display:none !important;
  content:none !important;
}

/* 桌面端如果已登录，只显示个人中心，不显示退出 */
#user-btns .account-link{
  font-size:0 !important;
}

/* 手机端 */
@media(max-width:700px){

  .tb{
    min-height:74px !important;
    padding:10px 18px 8px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:rgba(255,253,248,.96) !important;
  }

  .logo-main{
    order:1 !important;
    height:40px !important;
    flex:0 0 auto !important;
  }

  .nr{
    order:2 !important;
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:18px !important;
    flex-wrap:nowrap !important;
    width:auto !important;
    max-width:none !important;
  }

  #auth-btns,
  #user-btns{
    align-items:center !important;
    gap:14px !important;
    flex-wrap:nowrap !important;
  }

  /* 注意：不能再写 display:inline-flex !important 到 #user-btns，
     否则会把隐藏状态覆盖掉 */
  #auth-btns:not(.is-hidden),
  #user-btns:not(.is-hidden){
    display:inline-flex !important;
  }

  #auth-btns.is-hidden,
  #user-btns.is-hidden{
    display:none !important;
  }

  .lang-icon-btn svg{
    width:30px !important;
    height:30px !important;
  }

  .lang-text{
    font-size:14px !important;
    font-weight:900 !important;
  }

  .account-icon-btn{
    width:38px !important;
    height:38px !important;
  }

  .account-icon-btn svg{
    width:32px !important;
    height:32px !important;
  }

  #auth-btns .login-link{
    font-size:14px !important;
    font-weight:900 !important;
    color:#171717 !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
  }

  #auth-btns .register-btn{
    height:38px !important;
    padding:0 16px !important;
    border-radius:8px !important;
    background:#2F5DA8 !important;
    color:#fff !important;
    border:none !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .nc{
    order:3 !important;
    width:100% !important;
    margin-top:10px !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  .nl{
    font-size:0 !important;
    padding:0 !important;
    color:#171717 !important;
    background:transparent !important;
    border:none !important;
  }

  .nl::after{
    display:none !important;
  }

  .nl[data-zh="主页 / Home"]::before{
    content:"首页";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="课程 / Cursussen"]::before{
    content:"课程";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="书店 / Winkel"]::before{
    content:"书店";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="关于 / Over ons"]::before{
    content:"关于";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="联系 / Contact"]::before{
    content:"联系";
    font-size:14px;
    font-weight:900;
  }

  .news-ticker{
    top:74px !important;
  }
}

 /* === FINAL FIX: toolbar icons size + stroke weight === */

/* 右侧工具区整体对齐 */
.language-tool{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  height:36px !important;
}

/* 语言 globe icon：缩小、变细 */
.language-tool svg,
.language-icon svg{
  width:24px !important;
  height:24px !important;
  stroke-width:1.9 !important;
}

/* 如果 globe 是直接放在 .language-icon 里面 */
.language-icon{
  width:24px !important;
  height:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* 语言文字：和导航文字统一重量 */
.lang-select{
  font-size:15px !important;
  font-weight:750 !important;
  color:#2F2A25 !important;
  height:36px !important;
  line-height:36px !important;
  padding:0 18px 0 0 !important;
}

/* 登录后的个人 icon 按钮：不要圆框，不要太大 */
#ulabel{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  border-radius:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* 个人 icon 里面的 svg：缩小、线条变细 */
#ulabel svg{
  width:25px !important;
  height:25px !important;
  stroke-width:1.9 !important;
}

/* 防止旧 CSS 还在用伪元素画头像 */
#ulabel::before,
#ulabel::after{
  display:none !important;
  content:none !important;
}

/* 桌面端右侧区域间距更克制 */
.nr,
.auth-actions{
  align-items:center !important;
  gap:14px !important;
}

/* 手机端单独再压一点 */
@media(max-width:700px){
  .language-tool{
    gap:5px !important;
    height:32px !important;
  }

  .language-tool svg,
  .language-icon svg{
    width:22px !important;
    height:22px !important;
    stroke-width:1.8 !important;
  }

  .language-icon{
    width:22px !important;
    height:22px !important;
  }

  .lang-select{
    font-size:0 !important;
    width:30px !important;
    height:32px !important;
    padding:0 !important;
  }

  #ulabel{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
  }

  #ulabel svg{
    width:24px !important;
    height:24px !important;
    stroke-width:1.8 !important;
  }

  .nr,
  .auth-actions{
    gap:11px !important;
  }
} 


/* === FINAL MOBILE TOPBAR ALIGN FIX === */
/* 目标：手机端 logo 和右侧工具始终在同一行 */

/* 手机端顶部整体 */
@media(max-width:700px){

  .tb{
    min-height:92px !important;
    height:auto !important;
    padding:12px 16px 8px !important;
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:10px !important;
  }

  /* logo 固定在第一行左侧 */
  .logo-main{
    grid-column:1 !important;
    grid-row:1 !important;
    height:42px !important;
    width:auto !important;
    justify-self:start !important;
  }

  /* 右侧工具固定在第一行右侧 */
  .nr{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-left:0 !important;
    flex-wrap:nowrap !important;
  }

  #auth-btns,
  #user-btns{
    display:inline-flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    min-width:0 !important;
  }

  /* 手机端语言只显示 globe，不显示“中文”文字 */
  .language-tool{
    width:28px !important;
    height:34px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    flex-shrink:0 !important;
  }

  .language-icon{
    width:24px !important;
    height:24px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#171717 !important;
  }

  .language-icon svg{
    width:24px !important;
    height:24px !important;
    stroke-width:1.9 !important;
  }

  /* select 仍然可点击，但隐藏文字 */
  .lang-select{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    opacity:0 !important;
    cursor:pointer !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* 登录文字压缩 */
  #auth-btns .login-link{
    font-size:14px !important;
    font-weight:900 !important;
    padding:0 !important;
    height:34px !important;
    line-height:34px !important;
    white-space:nowrap !important;
  }

  /* 注册按钮压缩 */
  #auth-btns .register-btn{
    height:36px !important;
    padding:0 14px !important;
    border-radius:8px !important;
    font-size:14px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    flex-shrink:0 !important;
  }

  /* 登录后的个人 icon */
  #ulabel{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-shrink:0 !important;
  }

  #ulabel svg{
    width:25px !important;
    height:25px !important;
    stroke-width:1.9 !important;
  }

  #ulabel::before,
  #ulabel::after{
    display:none !important;
    content:none !important;
  }

  /* 导航固定第二行，五个菜单一行均分 */
  .nc{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .nl{
    font-size:0 !important;
    padding:0 !important;
    line-height:1 !important;
  }

  .nl[data-zh="主页 / Home"]::before{
    content:"首页";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="课程 / Cursussen"]::before{
    content:"课程";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="书店 / Winkel"]::before{
    content:"书店";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="关于 / Over ons"]::before{
    content:"关于";
    font-size:14px;
    font-weight:900;
  }

  .nl[data-zh="联系 / Contact"]::before{
    content:"联系";
    font-size:14px;
    font-weight:900;
  }

  /* 新闻条位置重新对齐 */
  .news-ticker{
    top:92px !important;
  }
}

/* === FINAL FINAL MOBILE HEADER FIX 2026-06-05 === */
/* 目标：
   1. 手机端 logo 和右侧工具强制同一行
   2. 手机端语言只显示地球 icon，不显示“中文/NL”
   3. 手机端登录/注册固定短中文，避免 Inloggen / Registreren 撑爆
   4. 防止 user-btns 隐藏状态被 display:inline-flex 覆盖
*/

@media(max-width:700px){

  .tb{
    height:auto !important;
    min-height:92px !important;
    padding:12px 14px 8px !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:10px !important;
    background:rgba(255,253,248,.97) !important;
    border-bottom:1px solid rgba(228,215,198,.85) !important;
    overflow:hidden !important;
  }

  .logo-main{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
    height:42px !important;
    width:auto !important;
    max-width:190px !important;
    flex-shrink:1 !important;
  }

  .nr{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    flex-wrap:nowrap !important;
  }

  .mobile-icon-btn{
    flex-shrink:0 !important;
  }

  .lang-icon-btn{
    width:28px !important;
    height:34px !important;
    padding:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
  }

  .lang-icon-btn svg{
    width:24px !important;
    height:24px !important;
    stroke-width:1.8 !important;
  }

  .lang-text{
    display:none !important;
  }

  #auth-btns,
  #user-btns{
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    min-width:0 !important;
  }

  #auth-btns:not(.is-hidden),
  #user-btns:not(.is-hidden){
    display:inline-flex !important;
  }

  #auth-btns.is-hidden,
  #user-btns.is-hidden{
    display:none !important;
  }

  #auth-btns .login-link{
    width:auto !important;
    height:34px !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    font-size:0 !important;
    line-height:34px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    flex-shrink:0 !important;
  }

  #auth-btns .login-link::before{
    content:"登录" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  #auth-btns .login-link::after{
    display:none !important;
    content:none !important;
  }

  #auth-btns .register-btn{
    width:auto !important;
    height:36px !important;
    padding:0 14px !important;
    margin:0 !important;
    border:none !important;
    border-radius:8px !important;
    background:#2F5DA8 !important;
    color:#fff !important;
    font-size:0 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    flex-shrink:0 !important;
  }

  #auth-btns .register-btn::before{
    content:"注册" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  #ulabel{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
    border-radius:0 !important;
    color:#171717 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-shrink:0 !important;
  }

  #ulabel svg{
    width:25px !important;
    height:25px !important;
    stroke-width:1.8 !important;
  }

  #ulabel::before,
  #ulabel::after{
    display:none !important;
    content:none !important;
  }

  .nc{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  .nl{
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    font-size:0 !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  .nl::after{
    display:none !important;
    content:none !important;
  }

  .nl[data-zh="主页 / Home"]::before{
    content:"首页" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .nl[data-zh="课程 / Cursussen"]::before{
    content:"课程" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .nl[data-zh="书店 / Winkel"]::before{
    content:"书店" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .nl[data-zh="关于 / Over ons"]::before{
    content:"关于" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .nl[data-zh="联系 / Contact"]::before{
    content:"联系" !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .news-ticker{
    top:92px !important;
  }

  body{
    overflow-x:hidden !important;
  }
}

/* === DASHBOARD REFINED STYLE === */
/* 个人主页：删除底部大按钮后，卡片内按钮统一为扁平高级风 */

#pg-dashboard .db{
  max-width:1180px !important;
  padding-top:2.8rem !important;
}

#pg-dashboard .dcols{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:1.6rem !important;
  align-items:start !important;
}

#pg-dashboard .dcard{
  background:#FFFFFF !important;
  border:1px solid #E6DED2 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:1.8rem 2rem !important;
  min-height:180px !important;
}

#pg-dashboard .dch{
  font-size:13px !important;
  color:#686868 !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  margin-bottom:1.2rem !important;
}

#pg-dashboard .es{
  min-height:120px !important;
  padding:1.2rem 0 !important;
  color:#686868 !important;
  font-size:15px !important;
  font-weight:750 !important;
}

.dash-empty-action{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
}

.dash-card-action{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:1.2rem !important;
  padding-top:1.1rem !important;
  border-top:1px solid #E6DED2 !important;
}

.dash-link-btn{
  height:38px !important;
  padding:0 18px !important;
  border:1.5px solid #171717 !important;
  background:transparent !important;
  color:#171717 !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease !important;
}

.dash-link-btn:hover{
  background:#171717 !important;
  color:#fff !important;
  border-color:#171717 !important;
  transform:translateY(-1px) !important;
}

#pg-dashboard .cai{
  padding:12px 0 !important;
  border-bottom:1px solid #E6DED2 !important;
  gap:12px !important;
}

#pg-dashboard .cai:last-child{
  border-bottom:none !important;
}

#pg-dashboard .cad{
  width:8px !important;
  height:8px !important;
  background:#476D5B !important;
}

#pg-dashboard .cal{
  font-size:15px !important;
  font-weight:950 !important;
  color:#171717 !important;
  line-height:1.35 !important;
}

#pg-dashboard .cat2{
  font-size:13px !important;
  color:#686868 !important;
  font-weight:650 !important;
  margin-top:2px !important;
}

#pg-dashboard .cab{
  background:#EEF5F0 !important;
  color:#476D5B !important;
  border-radius:999px !important;
  padding:4px 10px !important;
  font-size:12px !important;
  font-weight:900 !important;
}

#pg-dashboard .caw{
  color:#E96F3C !important;
  font-size:13px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}

#pg-dashboard .caw:hover{
  color:#2F5DA8 !important;
  text-decoration:underline !important;
}

.dashboard-logout-btn{
  height:38px !important;
  padding:0 18px !important;
  border:1.5px solid #171717 !important;
  background:#171717 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:950 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.dashboard-logout-btn:hover{
  background:#E96F3C !important;
  border-color:#E96F3C !important;
}

/* 账号信息卡片放下面时不要太挤 */
#pg-dashboard .dcard:nth-child(3){
  grid-column:1 / 2 !important;
}

/* 手机端：个人主页卡片一列显示 */
@media(max-width:800px){
  #pg-dashboard .db{
    padding:1.6rem 18px 2.4rem !important;
  }

  #pg-dashboard .dcols{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }

  #pg-dashboard .dcard{
    padding:1.35rem 1.45rem !important;
    min-height:auto !important;
  }

  #pg-dashboard .dcard:nth-child(3){
    grid-column:auto !important;
  }

  .dash-card-action{
    justify-content:center !important;
  }

  .dash-link-btn{
    width:100% !important;
  }

  #pg-dashboard .cai{
    align-items:flex-start !important;
  }

  #pg-dashboard .cab{
    margin-left:auto !important;
  }
}

/* === DASHBOARD DESKTOP ALIGNMENT FIX === */
/* 个人主页电脑端按钮统一：全部靠左，商品卡片只保留一条分割线 */

@media(min-width:801px){

  #pg-dashboard .dcols{
    grid-template-columns:1fr 1fr !important;
    gap:1.6rem !important;
    align-items:start !important;
  }

  #pg-dashboard .dcard{
    min-height:240px !important;
    padding:1.9rem 2rem !important;
    display:flex !important;
    flex-direction:column !important;
  }

  /* 我的课程空状态：按钮不要居中，改成左下方 */
  #pg-dashboard .dash-empty-action{
    flex:1 !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    text-align:left !important;
    gap:18px !important;
    padding-top:1.4rem !important;
  }

  /* 我的商品：按钮区域统一靠左 */
  #pg-dashboard .dash-card-action{
    justify-content:flex-start !important;
    margin-top:auto !important;
    padding-top:1.2rem !important;
    border-top:1px solid #E6DED2 !important;
  }

  /* 重点：避免商品列表最后一条和按钮上方形成双线 */
  #pg-dashboard #my-products .cai:last-of-type{
    border-bottom:none !important;
  }

  /* 商品列表和按钮之间只留一条线 */
  #pg-dashboard #my-products .dash-card-action{
    margin-top:1.1rem !important;
  }

  /* 账号信息卡片高度不要被强行拉太高 */
  #pg-dashboard .dcard:nth-child(3){
    min-height:230px !important;
  }

  /* 账号信息里的退出按钮也和其他按钮保持同一风格宽度 */
  #pg-dashboard .dashboard-logout-btn{
    margin-top:18px !important;
  }
}

/* === FINAL DASHBOARD PRODUCT LINE FIX === */
/* 我的商品 / 下载：取消商品项底线，只保留按钮上方一条线 */

#pg-dashboard #my-products .cai{
  padding:12px 0 !important;
  border-bottom:none !important;
}

#pg-dashboard #my-products .dash-card-action{
  border-top:1px solid #E6DED2 !important;
  margin-top:1.2rem !important;
  padding-top:1.2rem !important;
  justify-content:flex-start !important;
}

/* 浏览课程 / 浏览书店按钮统一尺寸 */
#pg-dashboard .dash-link-btn{
  min-width:128px !important;
  height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* 手机端保持你现在觉得可以的效果 */
@media(max-width:800px){
  #pg-dashboard .dash-empty-action{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  #pg-dashboard .dash-card-action{
    justify-content:center !important;
    border-top:1px solid #E6DED2 !important;
  }

  #pg-dashboard .dash-link-btn{
    width:100% !important;
  }
}

/* === FINAL DASHBOARD CLEAN FIX === */
/* 个人主页最终修正：按钮位置统一、商品区只保留一条线、卡片高度自然 */

@media(min-width:801px){

  #pg-dashboard .dcols{
    grid-template-columns:1fr 1fr !important;
    gap:1.6rem !important;
    align-items:start !important;
  }

  #pg-dashboard .dcard{
    min-height:auto !important;
    padding:1.9rem 2rem !important;
    display:flex !important;
    flex-direction:column !important;
  }

  #pg-dashboard .dcard:nth-child(1),
  #pg-dashboard .dcard:nth-child(2){
    min-height:240px !important;
  }

  #pg-dashboard .dcard:nth-child(3){
    min-height:auto !important;
    grid-column:1 / 2 !important;
  }

  #pg-dashboard .dash-empty-action{
    flex:1 !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    text-align:left !important;
    gap:18px !important;
    padding-top:1.4rem !important;
  }

  #pg-dashboard .dash-card-action{
    justify-content:flex-start !important;
  }
}

/* 我的商品 / 下载：关键修复，只保留浏览书店上方一条线 */
#pg-dashboard #my-products .cai{
  padding:12px 0 !important;
  border-bottom:none !important;
}

#pg-dashboard #my-products .dash-card-action{
  border-top:1px solid #E6DED2 !important;
  margin-top:1.2rem !important;
  padding-top:1.2rem !important;
  justify-content:flex-start !important;
}

/* 浏览课程 / 浏览书店按钮统一 */
#pg-dashboard .dash-link-btn{
  min-width:128px !important;
  height:40px !important;
  padding:0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1.5px solid #171717 !important;
  background:transparent !important;
  color:#171717 !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

#pg-dashboard .dash-link-btn:hover{
  background:#171717 !important;
  color:#fff !important;
  border-color:#171717 !important;
  transform:translateY(-1px) !important;
}

/* 手机端保持居中和满宽 */
@media(max-width:800px){
  #pg-dashboard .dash-empty-action{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  #pg-dashboard .dash-card-action{
    justify-content:center !important;
    border-top:1px solid #E6DED2 !important;
  }

  #pg-dashboard .dash-link-btn{
    width:100% !important;
  }

  #pg-dashboard #my-products .cai{
    border-bottom:none !important;
  }
}



/* === FINAL SHOP CARD STYLE：书店商品卡片极简版 + 方框加号 === */
/* 目标：
   1. 取消商品单个边框
   2. 封面、属性、标题更贴近
   3. 付费商品按钮改成方框 + 号 icon
   4. 免费商品保留「免费领取」
   5. 整体更像精品书店 / 艺术书店
*/

/* 商品网格整体：稍微拉开产品之间的呼吸感 */
#pg-shop .shop-grid{
  gap:2.2rem 1.8rem !important;
}

/* 商品卡片：去掉边框、背景、阴影 */
#pg-shop .scard{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  transform:none !important;
}

/* hover 不要浮起来，不要像普通电商卡片 */
#pg-shop .scard:hover{
  border:none !important;
  box-shadow:none !important;
  transform:none !important;
  background:transparent !important;
}

/* 封面区域：去掉卡片边框感，只保留图片本身 */
#pg-shop .scard-img{
  height:280px !important;
  background:transparent !important;
  border:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}

/* 封面图：保持清晰，不要太多留白 */
#pg-shop .scard-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  background:transparent !important;
}

/* 商品文字区域：往上贴近封面 */
#pg-shop .scard-body{
  padding:12px 0 0 !important;
}

/* 产品属性：更像参考图里的小分类文字 */
#pg-shop .scard-cat{
  margin:0 0 6px !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  color:#8B7A62 !important;
  letter-spacing:-.01em !important;
}

/* 商品名：和属性距离更近，字重更强 */
#pg-shop .scard-name{
  margin:0 0 10px !important;
  font-size:20px !important;
  line-height:1.26 !important;
  font-weight:950 !important;
  color:#171717 !important;
  letter-spacing:-.04em !important;
}

/* 商品描述继续隐藏，保持书店列表干净 */
#pg-shop .scard-desc{
  display:none !important;
}

/* 价格和操作 icon 一行对齐 */
#pg-shop .scard-foot{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-top:0 !important;
}

/* 价格风格：更像书店价格 */
#pg-shop .scard-price{
  font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
  font-size:20px !important;
  font-weight:900 !important;
  color:#B28A50 !important;
  letter-spacing:-.04em !important;
}

/* 原价：轻一点 */
#pg-shop .scard-old{
  font-size:13px !important;
  color:#B8B0A4 !important;
  text-decoration:line-through !important;
  margin-left:6px !important;
}

/* 付费商品：按钮变成方框 + 号 icon */
#pg-shop .btn-cart{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  padding:0 !important;
  border:1.4px solid #8F8F8A !important;
  background:transparent !important;
  color:#8F8F8A !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:1 !important;
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:border-color .16s ease, color .16s ease, background .16s ease, transform .16s ease !important;
}

/* 取消之前购物车 emoji 或文字 */
#pg-shop .btn-cart::before{
  content:"" !important;
  position:absolute !important;
  width:14px !important;
  height:1.5px !important;
  background:currentColor !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
}

/* 竖线，组成 + 号 */
#pg-shop .btn-cart::after{
  content:"" !important;
  position:absolute !important;
  width:1.5px !important;
  height:14px !important;
  background:currentColor !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
}

/* hover：蓝色细线，保持高级感 */
#pg-shop .btn-cart:hover{
  border-color:#2F5DA8 !important;
  color:#2F5DA8 !important;
  background:transparent !important;
  transform:translateY(-1px) !important;
  box-shadow:none !important;
}

/* 免费商品：保留「免费领取」文字按钮，不使用 icon */
#pg-shop .btn-cart.free-claim{
  width:auto !important;
  height:36px !important;
  min-width:auto !important;
  padding:0 14px !important;
  border:1.5px solid #E96F3C !important;
  background:transparent !important;
  color:#A84E28 !important;
  font-size:14px !important;
  font-weight:950 !important;
  border-radius:0 !important;
}

/* 免费商品取消 + 号 */
#pg-shop .btn-cart.free-claim::before,
#pg-shop .btn-cart.free-claim::after{
  display:none !important;
  content:none !important;
}

/* 免费按钮 hover */
#pg-shop .btn-cart.free-claim:hover{
  background:#E96F3C !important;
  border-color:#E96F3C !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

/* 已购买状态：仍然显示文字，不要变成 icon */
#pg-shop .btn-cart.purchased{
  width:auto !important;
  height:34px !important;
  min-width:auto !important;
  padding:0 12px !important;
  border:1.5px solid #476D5B !important;
  background:#EEF5F0 !important;
  color:#476D5B !important;
  font-size:13px !important;
  font-weight:900 !important;
  cursor:default !important;
}

/* 已购买取消 + 号 */
#pg-shop .btn-cart.purchased::before,
#pg-shop .btn-cart.purchased::after{
  display:none !important;
  content:none !important;
}

#pg-shop .btn-cart.purchased:hover{
  background:#EEF5F0 !important;
  color:#476D5B !important;
  border-color:#476D5B !important;
  transform:none !important;
}

/* 免费产品右上角：不显示角标 */
#pg-shop .discount-badge{
  background:transparent !important;
  color:transparent !important;
  box-shadow:none !important;
  border:none !important;
  padding:0 !important;
  top:8px !important;
  right:8px !important;
  font-size:0 !important;
}

#pg-shop .discount-badge::before{
  content:none !important;
  color:initial !important;
  font-size:22px !important;
  line-height:1 !important;
}

/* 但是付费商品的折扣角标继续保留，不要被上面误伤 */
#pg-shop .scard-img .discount-badge:not(:empty){
  color:#fff !important;
}

/* 付费折扣角标恢复为橙色块 */
#pg-shop .scard-img .discount-badge:not(:has(+ *)){
  background:#E96F3C !important;
}

/* 必买角标：稍微扁平一点 */
#pg-shop .must-buy-badge{
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:11px !important;
  padding:5px 9px !important;
}

/* 手机端：保持两列，但更紧凑 */
@media(max-width:700px){

  #pg-shop .shop-grid{
    gap:1.8rem 12px !important;
  }

  #pg-shop .scard-img{
    height:205px !important;
  }

  #pg-shop .scard-body{
    padding:9px 0 0 !important;
  }

  #pg-shop .scard-cat{
    font-size:11px !important;
    margin-bottom:4px !important;
  }

  #pg-shop .scard-name{
    font-size:15px !important;
    line-height:1.25 !important;
    margin-bottom:8px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #pg-shop .scard-price{
    font-size:17px !important;
  }

  #pg-shop .scard-old{
    font-size:10.5px !important;
    margin-left:3px !important;
  }

  #pg-shop .btn-cart{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
  }

  #pg-shop .btn-cart::before{
    width:12px !important;
    height:1.4px !important;
  }

  #pg-shop .btn-cart::after{
    width:1.4px !important;
    height:12px !important;
  }

  #pg-shop .btn-cart.free-claim{
    height:32px !important;
    padding:0 9px !important;
    font-size:12px !important;
  }

  #pg-shop .discount-badge::before{
    font-size:19px !important;
  }
}

/* =====================================================
   SHOP CARD CLEAN FINAL V1
   书店商品卡片最终清理版
   目标：
   1. 去掉商品单卡边框
   2. 封面、属性、标题距离更近
   3. 付费商品使用圆圈 + 号 icon
   4. 免费商品保留“免费领取”
   5. 免费商品右上角不显示角标
   6. 折扣商品正常显示 40% OFF / 25% OFF
===================================================== */


/* 商品网格：书店陈列感 */
#pg-shop .shop-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr)) !important;
  gap:38px 28px !important;
  align-items:start !important;
  margin-top:0 !important;
}


/* 单个商品：去掉边框、阴影、背景 */
#pg-shop .scard{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  cursor:pointer !important;
  transition:opacity .16s ease, transform .16s ease !important;
}

#pg-shop .scard:hover{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  transform:none !important;
  opacity:.92 !important;
}


/* 封面区域：去掉框，只保留封面 */
#pg-shop .scard-img{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 5 !important;
  margin:0 0 12px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#pg-shop .scard-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  background:transparent !important;
  display:block !important;
}


/* 文字区域：贴近封面 */
#pg-shop .scard-body{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}


/* 产品属性 */
#pg-shop .scard-cat{
  margin:0 0 5px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  color:#8A7B68 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}


/* 产品名 */
#pg-shop .scard-name{
  margin:0 0 9px !important;
  font-size:17px !important;
  line-height:1.3 !important;
  font-weight:950 !important;
  color:#171717 !important;
  letter-spacing:-.025em !important;
}


/* 商品列表不显示描述 */
#pg-shop .scard-desc{
  display:none !important;
}


/* 价格 + 操作 */
#pg-shop .scard-foot{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-top:0 !important;
}

#pg-shop .scard-price{
  font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#B08A4A !important;
  letter-spacing:-.02em !important;
  white-space:nowrap !important;
}

#pg-shop .scard-old{
  display:inline !important;
  font-size:11px !important;
  color:#B8B0A4 !important;
  text-decoration:line-through !important;
  margin-left:5px !important;
  white-space:nowrap !important;
}


/* 付费商品按钮：圆圈 + 号 */
#pg-shop .btn-cart.cart-icon-btn{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  padding:0 !important;
  border:1.6px solid #9A9A94 !important;
  background:transparent !important;
  color:#8F8F8A !important;
  border-radius:50% !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  cursor:pointer !important;
  transform:none !important;
  transition:border-color .16s ease, color .16s ease, transform .16s ease, background .16s ease !important;
}


/* 横线 */
#pg-shop .btn-cart.cart-icon-btn::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:1.6px !important;
  background:currentColor !important;
  transform:translate(-50%,-50%) !important;
  display:block !important;
  mask-image:none !important;
  -webkit-mask-image:none !important;
}


/* 竖线 */
#pg-shop .btn-cart.cart-icon-btn::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:1.6px !important;
  height:12px !important;
  background:currentColor !important;
  transform:translate(-50%,-50%) !important;
  display:block !important;
}


/* 付费 icon hover */
#pg-shop .btn-cart.cart-icon-btn:hover{
  background:transparent !important;
  border-color:#2F5DA8 !important;
  color:#2F5DA8 !important;
  transform:translateY(-1px) !important;
  box-shadow:none !important;
}


/* 免费商品按钮：继续保留“免费领取” */
#pg-shop .btn-cart.free-claim{
  width:auto !important;
  height:34px !important;
  min-width:auto !important;
  padding:0 13px !important;
  border:1.5px solid #E96F3C !important;
  background:transparent !important;
  color:#A84E28 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* 免费按钮不要出现 + 号 */
#pg-shop .btn-cart.free-claim::before,
#pg-shop .btn-cart.free-claim::after{
  display:none !important;
  content:none !important;
}

#pg-shop .btn-cart.free-claim:hover{
  background:#E96F3C !important;
  border-color:#E96F3C !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}


/* 已购买状态 */
#pg-shop .btn-cart.purchased{
  width:auto !important;
  height:34px !important;
  min-width:auto !important;
  padding:0 12px !important;
  border:1.5px solid #476D5B !important;
  background:#EEF5F0 !important;
  color:#476D5B !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  cursor:default !important;
}

#pg-shop .btn-cart.purchased::before,
#pg-shop .btn-cart.purchased::after{
  display:none !important;
  content:none !important;
}

#pg-shop .btn-cart.purchased:hover{
  background:#EEF5F0 !important;
  border-color:#476D5B !important;
  color:#476D5B !important;
  transform:none !important;
}


/* 免费礼物角标 */
#pg-shop .free-gift-badge{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.92) !important;
  border-radius:50% !important;
  box-shadow:none !important;
  font-size:20px !important;
  line-height:1 !important;
  z-index:4 !important;
}


/* 折扣角标：只给付费折扣商品用 */
#pg-shop .discount-badge{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  left:auto !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding:6px 8px !important;
  background:#E96F3C !important;
  color:#fff !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:950 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:3 !important;
}


/* 防止折扣角标被旧规则塞礼物 */
#pg-shop .discount-badge::before,
#pg-shop .discount-badge::after{
  display:none !important;
  content:none !important;
}


/* 本店必买角标：保留，但降低促销感 */
#pg-shop .must-buy-badge{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  padding:6px 9px !important;
  background:#171717 !important;
  color:#fff !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:950 !important;
  z-index:3 !important;
}


/* 提示条轻一点 */
#pg-shop .scard-digital-note{
  background:#F3F7F8 !important;
  border:1px solid #D9E6EA !important;
  color:#234A8A !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 0 1.6rem !important;
  padding:.75rem .9rem !important;
  font-size:12.5px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
}


/* 手机端 */
@media(max-width:700px){

  #pg-shop .sec.shop-sec{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  #pg-shop .shop-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:30px 14px !important;
  }

  #pg-shop .scard{
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  #pg-shop .scard-img{
    aspect-ratio:4 / 5 !important;
    height:auto !important;
    margin-bottom:9px !important;
  }

  #pg-shop .scard-img img{
    padding:0 !important;
  }

  #pg-shop .scard-cat{
    font-size:10.5px !important;
    line-height:1.25 !important;
    margin-bottom:5px !important;
  }

  #pg-shop .scard-name{
    font-size:13.5px !important;
    line-height:1.28 !important;
    margin-bottom:8px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #pg-shop .scard-price{
    font-size:14.5px !important;
  }

  #pg-shop .scard-old{
    font-size:10px !important;
    margin-left:3px !important;
  }

  #pg-shop .btn-cart.cart-icon-btn{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
  }

  #pg-shop .btn-cart.cart-icon-btn::before{
    width:11px !important;
    height:1.5px !important;
  }

  #pg-shop .btn-cart.cart-icon-btn::after{
    width:1.5px !important;
    height:11px !important;
  }

  #pg-shop .btn-cart.free-claim,
  #pg-shop .btn-cart.purchased{
    height:30px !important;
    padding:0 9px !important;
    font-size:11.5px !important;
  }

  #pg-shop .free-gift-badge{
    width:30px !important;
    height:30px !important;
    font-size:18px !important;
  }

  #pg-shop .discount-badge{
    font-size:9px !important;
    padding:5px 7px !important;
  }

  #pg-shop .must-buy-badge{
    font-size:9px !important;
    padding:5px 7px !important;
  }
}


/* === ABOUT PAGE: Editorial / Gallery Style === */

#pg-about{
  background:#FFFFFF;
  color:#171717;
}

/* 首屏：quote + portrait */
.about-editorial-hero{
  position:relative;
  min-height:620px;
  padding:88px 7vw 72px;
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);
  align-items:center;
  gap:6vw;
  background:
    radial-gradient(circle at 78% 42%, rgba(234,244,248,.72) 0%, rgba(234,244,248,0) 34%),
    linear-gradient(180deg,#FFFDF8 0%,#FFFFFF 100%);
  overflow:hidden;
}

.about-quote{
  max-width:560px;
  position:relative;
  z-index:2;
}

.about-quote-mark{
  font-family:"Noto Serif SC","Playfair Display",serif;
  font-size:92px;
  line-height:.8;
  color:#F5C443;
  margin-bottom:18px;
}

.about-quote h1{
  font-family:"Noto Serif SC","Playfair Display",serif;
  font-size:clamp(36px,4vw,62px);
  line-height:1.34;
  font-weight:700;
  letter-spacing:-.055em;
  color:#111;
}

.about-quote h1::after{
  content:"”";
  color:#F5C443;
  margin-left:10px;
}

.about-small-line{
  width:38px;
  height:3px;
  background:#F5C443;
  margin:34px 0 22px;
}

.about-quote p{
  font-size:17px;
  color:#343434;
  font-weight:700;
  letter-spacing:.01em;
}

.about-portrait-wrap{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:1;
}

.about-blue-blob{
  position:absolute;
  width:600px;
  height:440px;
  right:4%;
  bottom:18px;
  background:linear-gradient(135deg,#E4ECF7 0%,#D7E8F2 100%);
  border-radius:48% 52% 46% 54% / 52% 44% 56% 48%;
  clip-path:none;
  z-index:0;
}

.about-dot-grid{
  position:absolute;
  right:2%;
  bottom:40px;
  width:150px;
  height:120px;
  background-image:radial-gradient(rgba(47,93,168,.22) 2px, transparent 2px);
  background-size:16px 16px;
  z-index:1;
}

.about-portrait{
  position:relative;
  z-index:2;
  width:min(620px,96%);
  max-height:620px;
  object-fit:contain;
  object-position:center bottom;
  filter:saturate(.98) contrast(1.04);
  transform:translateX(-10px);
  box-shadow:none;
}

/* 履历区 */
.about-bio-section{
  padding:64px 7vw 100px;
  background:#FFFFFF;
}

.about-bio-inner{
  max-width:760px;
  margin:0 auto;
}

.about-bio-label{
  font-size:13px;
  font-weight:950;
  color:#D7A900;
  letter-spacing:.22em;
  margin-bottom:18px;
}

.about-bio-inner h2{
  font-family:"Noto Serif SC","Playfair Display",serif;
  font-size:clamp(30px,3vw,46px);
  line-height:1.22;
  font-weight:700;
  letter-spacing:-.045em;
  color:#171717;
  margin-bottom:32px;
}

.about-bio-inner h2::after{
  content:"";
  display:block;
  width:36px;
  height:3px;
  background:#F5C443;
  margin-top:18px;
}

.about-bio-text{
  font-size:16px;
  line-height:2.05;
  color:#343434;
  font-weight:600;
  letter-spacing:.01em;
}

/* 手机端 */
@media(max-width:700px){

  #pg-about{
    background:#FFFFFF;
  }

  .about-editorial-hero{
    min-height:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:28px;
    padding:46px 24px 0;
    background:#FFFFFF;
    overflow:hidden;
  }

  .about-quote{
    max-width:none;
    width:100%;
    z-index:3;
  }

  .about-quote-mark{
    font-size:66px;
    margin-bottom:12px;
  }

  .about-quote h1{
    font-size:28px;
    line-height:1.52;
    letter-spacing:-.035em;
  }

  .about-small-line{
    width:32px;
    height:2px;
    margin:24px 0 16px;
  }

  .about-quote p{
    font-size:14px;
  }

  .about-portrait-wrap{
    width:100%;
    min-height:320px;
    margin-top:-14px;
    align-self:center;
    justify-content:center;
    align-items:flex-end;
  }

 @media(max-width:700px){
  .about-blue-blob{
    width:310px;
    height:260px;
    left:50%;
    right:auto;
    bottom:0;
    transform:translateX(-50%);
    background:linear-gradient(135deg,#E4ECF7 0%,#D7E8F2 100%);
    clip-path:polygon(
      14% 20%,
      82% 0%,
      100% 46%,
      78% 100%,
      20% 90%,
      0% 50%
    );
    border-radius:0;
  }
}

  .about-dot-grid{
    right:2px;
    bottom:28px;
    width:86px;
    height:90px;
    background-size:12px 12px;
  }

  .about-portrait{
    width:90%;
    max-height:320px;
    object-fit:contain;
    object-position:center bottom;
    transform:translateY(-8px);
  }
}

  .about-bio-section{
    padding:48px 24px 70px;
    background:#FFFFFF;
  }

  .about-bio-inner{
    max-width:none;
  }

  .about-bio-label{
    font-size:11px;
    margin-bottom:14px;
  }

  .about-bio-inner h2{
    font-size:28px;
    line-height:1.25;
    margin-bottom:24px;
  }

  .about-bio-inner h2::after{
    width:30px;
    height:2px;
    margin-top:14px;
  }

  .about-bio-text{
    font-size:14.5px;
    line-height:1.9;
    font-weight:600;
  }
}


 /* === ABOUT PAGE FINAL FIX 2026-06-06 === */
/* 修复手机端蓝色块变方、多边形；调整人物位置；调整第一个引号位置 */

/* 桌面端：第一个引号稍微往左 */
.about-quote-mark{
  transform:translateX(-24px) !important;
}

/* 桌面端：保持蓝色背景为不规则椭圆 */
.about-blue-blob{
  clip-path:none !important;
  border-radius:48% 52% 46% 54% / 52% 44% 56% 48% !important;
}

/* 手机端最终覆盖 */
@media(max-width:700px){

  .about-editorial-hero{
    position:relative !important;
    display:block !important;
    min-height:760px !important;
    padding:46px 24px 0 !important;
    background:#FFFFFF !important;
    overflow:hidden !important;
  }

  .about-quote{
    position:relative !important;
    z-index:4 !important;
    width:86% !important;
    max-width:86% !important;
  }

  .about-quote-mark{
    font-size:66px !important;
    margin-bottom:12px !important;
    transform:translateX(-24px) !important;
  }

  .about-quote h1{
    font-size:28px !important;
    line-height:1.52 !important;
    letter-spacing:-.035em !important;
  }

  .about-small-line{
    width:32px !important;
    height:2px !important;
    margin:24px 0 16px !important;
  }

  .about-quote p{
    font-size:14px !important;
  }

  .about-portrait-wrap{
    position:absolute !important;
    right:-34px !important;
    top:355px !important;
    width:68% !important;
    min-height:390px !important;
    margin:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    z-index:2 !important;
  }

  .about-blue-blob{
    position:absolute !important;
    width:370px !important;
    height:285px !important;
    left:auto !important;
    right:-42px !important;
    bottom:18px !important;
    transform:none !important;
    background:linear-gradient(135deg,#E4ECF7 0%,#D7E8F2 100%) !important;
    clip-path:none !important;
    border-radius:54% 46% 52% 48% / 48% 56% 44% 52% !important;
    z-index:0 !important;
  }

  .about-dot-grid{
    position:absolute !important;
    right:2px !important;
    bottom:46px !important;
    width:88px !important;
    height:96px !important;
    background-size:12px 12px !important;
    z-index:1 !important;
  }

  .about-portrait{
    position:relative !important;
    z-index:2 !important;
    width:118% !important;
    max-height:405px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:none !important;
  }

  .about-bio-section{
    padding:48px 24px 70px !important;
    background:#FFFFFF !important;
  }

  .about-bio-inner{
    max-width:none !important;
  }

  .about-bio-label{
    font-size:11px !important;
    margin-bottom:14px !important;
  }

  .about-bio-inner h2{
    font-size:28px !important;
    line-height:1.25 !important;
    margin-bottom:24px !important;
  }

  .about-bio-inner h2::after{
    width:30px !important;
    height:2px !important;
    margin-top:14px !important;
  }

  .about-bio-text{
    font-size:14.5px !important;
    line-height:1.9 !important;
    font-weight:600 !important;
  }
} 

/* === ABOUT MOBILE CENTER PORTRAIT FIX === */
/* 手机端：人物恢复到 quote 下方居中，避免右下角被浏览器底栏挡住 */

@media(max-width:700px){

  .about-editorial-hero{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    min-height:auto !important;
    padding:46px 24px 0 !important;
    overflow:hidden !important;
  }

  .about-quote{
    width:100% !important;
    max-width:100% !important;
    z-index:4 !important;
  }

  .about-portrait-wrap{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    width:100% !important;
    min-height:390px !important;
    margin:18px auto 0 !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    z-index:2 !important;
  }

  .about-blue-blob{
    position:absolute !important;
    width:360px !important;
    height:275px !important;
    left:50% !important;
    right:auto !important;
    bottom:26px !important;
    transform:translateX(-50%) !important;
    background:linear-gradient(135deg,#E4ECF7 0%,#D7E8F2 100%) !important;
    clip-path:none !important;
    border-radius:54% 46% 52% 48% / 48% 56% 44% 52% !important;
    z-index:0 !important;
  }

  .about-dot-grid{
    position:absolute !important;
    right:18px !important;
    bottom:50px !important;
    width:88px !important;
    height:96px !important;
    background-size:12px 12px !important;
    z-index:1 !important;
  }

  .about-portrait{
    position:relative !important;
    z-index:2 !important;
    width:88% !important;
    max-height:390px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:none !important;
  }
}
  
/* === ABOUT PAGE CONTACT CTA === */
/* About 页面底部轻 CTA：希望和我们取得联系？联系我们 */

.about-contact-cta{
  background:#FFFFFF;
  padding:0 7vw 90px;
}

.about-contact-inner{
  max-width:760px;
  margin:0 auto;
  padding-top:34px;
  border-top:1px solid #E6DED2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#686868;
  font-size:16px;
  line-height:1.6;
  font-weight:650;
}

.about-contact-link{
  border:none;
  background:transparent;
  color:#171717;
  font-family:inherit;
  font-size:16px;
  font-weight:950;
  padding:6px 2px 7px;
  cursor:pointer;
  position:relative;
  white-space:nowrap;
}

.about-contact-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:#F5C443;
  transition:width .18s ease, background .18s ease;
}

.about-contact-link:hover{
  color:#2F5DA8;
}

.about-contact-link:hover::after{
  width:118%;
  background:#2F5DA8;
}

/* 手机端 */
@media(max-width:700px){
  .about-contact-cta{
    padding:0 24px 70px;
    background:#FFFFFF;
  }

  .about-contact-inner{
    max-width:none;
    padding-top:28px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:12px;
    font-size:14.5px;
    line-height:1.7;
  }

  .about-contact-link{
    font-size:15px;
    padding-left:0;
  }
}

/* === DESKTOP PRODUCT DETAIL GALLERY：大图 + 缩略图 === */
/* 只影响电脑端商品详情页，手机端继续使用原来的滑动样式 */

@media(min-width:851px){

  #pg-product .pd-card.fashion{
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr) !important;
    gap:2.8rem !important;
    align-items:start !important;
  }

  #pg-product .desktop-book-gallery{
    width:100% !important;
    min-width:0 !important;
  }

  #pg-product .pd-main-book-shot{
    position:relative !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    background:#fff !important;
    border:1px solid #E6DED2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    cursor:zoom-in !important;
  }

  #pg-product .pd-main-book-shot img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:18px !important;
    background:#fff !important;
    display:block !important;
  }

  #pg-product .pd-thumb-row{
    display:flex !important;
    gap:22px !important;
    margin-top:28px !important;
    overflow-x:auto !important;
    padding-bottom:6px !important;
    scrollbar-width:none !important;
  }

  #pg-product .pd-thumb-row::-webkit-scrollbar{
    display:none !important;
  }

  #pg-product .pd-book-thumb{
    flex:0 0 112px !important;
    width:112px !important;
    height:112px !important;
    border:1px solid #D8D0C5 !important;
    background:#fff !important;
    padding:0 !important;
    cursor:pointer !important;
    opacity:.72 !important;
    transition:opacity .16s ease, border-color .16s ease, box-shadow .16s ease !important;
  }

  #pg-product .pd-book-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:8px !important;
    background:#fff !important;
    display:block !important;
  }

  #pg-product .pd-book-thumb:hover{
    opacity:1 !important;
    border-color:#E96F3C !important;
  }

  #pg-product .pd-book-thumb.active{
    opacity:1 !important;
    border:3px solid #F66BC3 !important;
  }

  #pg-product .pd-zoom-icon{
    position:absolute !important;
    right:24px !important;
    bottom:24px !important;
    width:46px !important;
    height:46px !important;
    border:none !important;
    background:transparent !important;
    color:#F66BC3 !important;
    font-size:42px !important;
    line-height:1 !important;
    font-weight:400 !important;
    cursor:pointer !important;
  }

  #pg-product .pd-zoom-icon:hover{
    transform:scale(1.05) !important;
  }
}

 /* Desktop / Mobile product gallery switch */
.mobile-product-gallery{
  display:none !important;
}

@media(max-width:850px){
  #pg-product .desktop-book-gallery{
    display:none !important;
  }

  #pg-product .mobile-product-gallery{
    display:block !important;
  }
}

@media(min-width:851px){
  #pg-product .desktop-book-gallery{
    display:block !important;
  }

  #pg-product .mobile-product-gallery{
    display:none !important;
  }
} 

/* === NEWS BAR CLEAN: 去掉轮动条上下线，只保留色块 === */
.news-ticker{
  border-top:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
}  

/* === DESKTOP NAV MICRO-INTERACTION === */
@media (min-width:901px){

  .nc .nl{
    position:relative;
    transform:translateY(0);
    transition:transform .22s ease, opacity .22s ease;
  }

  .nc .nl:hover{
    transform:translateY(-2px);
    opacity:.68;
  }

  .nc .nl:active{
    transform:translateY(1px) scale(.98);
    transition-duration:.08s;
  }

  .nc .nl.on{
    opacity:1;
  }

  .nc .nl:focus-visible{
    outline:1px solid #171717;
    outline-offset:5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .nc .nl{
    transition:none !important;
  }
}

/* === CART DRAWER EXPERIENCE === */

.cart-backdrop{
  position:fixed;
  inset:0;
  z-index:198;
  background:rgba(23,23,23,.28);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}

.cart-backdrop.open{
  opacity:1;
  visibility:visible;
}

.cart-panel{
  display:flex !important;
  position:fixed;
  top:0;
  right:0;
  width:min(420px,100%);
  height:100%;
  z-index:200;
  flex-direction:column;
  background:#fff;
  border:0;
  transform:translateX(105%);
  visibility:hidden;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    visibility .32s;
}

.cart-panel.open{
  transform:translateX(0);
  visibility:visible;
}

.cart-head{
  min-height:76px;
  padding:18px 22px;
  background:#fff;
  color:#171717;
  border-bottom:1px solid #dedbd4;
}

.cart-head-t{
  display:block;
  color:#171717;
  font-family:inherit;
  font-size:19px;
  font-weight:900;
}

.cart-head-count{
  display:block;
  margin-top:3px;
  color:#777;
  font-size:12px;
  font-weight:600;
}

.cart-close{
  width:38px;
  height:38px;
  background:transparent;
  color:#171717;
  border:1px solid #d9d6cf;
  border-radius:50%;
  font-size:23px;
}

.cart-items{
  flex:1;
  min-height:0;
  padding:10px 22px 22px;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.cart-foot{
  flex-shrink:0;
  padding:18px 22px max(20px,env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid #dedbd4;
}

.cart-continue{
  width:100%;
  margin-top:12px;
  padding:8px;
  border:0;
  background:transparent;
  color:#171717;
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}

.cart-drawer-handle{
  display:none;
}

/* 右下角购物袋 */
.cart-bar{
  width:56px;
  height:56px;
  right:18px !important;
  bottom:22px !important;
  padding:0;
  border-radius:50%;
  background:#171717;
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  align-items:center;
  justify-content:center;
}

.cart-bar[style*="display: block"]{
  display:flex !important;
}

.cart-bar svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cart-bar #cart-bar-txt{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}

.cart-badge{
  position:absolute;
  top:-4px;
  right:-3px;
  min-width:21px;
  height:21px;
  padding:0 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
  border-radius:20px;
  background:#ef6121;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

/* 加入成功提示 */
.cart-toast{
  position:fixed;
  left:50%;
  bottom:30px;
  z-index:220;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 17px;
  background:#171717;
  color:#fff;
  font-size:13px;
  font-weight:800;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,16px);
  transition:
    opacity .2s ease,
    transform .25s cubic-bezier(.22,.61,.36,1),
    visibility .25s;
}

.cart-toast.show{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

.cart-toast-check{
  display:flex;
  width:19px;
  height:19px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  font-size:12px;
}

/* 手机端底部抽屉 */
@media (max-width:900px){

  .cart-panel{
    top:auto;
    right:0;
    bottom:0;
    width:100%;
    height:min(72vh,680px);
    max-height:calc(100dvh - 110px);
    transform:translateY(105%);
    border-radius:8px 8px 0 0;
  }

  .cart-panel.open{
    transform:translateY(0);
  }

  .cart-drawer-handle{
    display:block;
    width:38px;
    height:4px;
    margin:9px auto 2px;
    border-radius:4px;
    background:#d4d1ca;
  }

  .cart-head{
    min-height:62px;
    padding:10px 18px 13px;
  }

  .cart-items{
    padding:6px 18px 18px;
  }

  .cart-foot{
    padding:15px 18px max(15px,env(safe-area-inset-bottom));
  }

  .cart-bar{
    right:16px !important;
    bottom:20px !important;
  }

  .cart-toast{
    bottom:88px;
    white-space:nowrap;
  }
}

@media (prefers-reduced-motion:reduce){
  .cart-panel,
  .cart-backdrop,
  .cart-toast{
    transition:none !important;
  }
}

/* === MOBILE MENU BUTTON：三条线 + 小字菜单 === */

.menu-toggle-btn{
  display:none;
}

@media(max-width:700px){
  .menu-toggle-btn{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    cursor:pointer !important;
    flex-shrink:0 !important;
  }

  .menu-lines{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:4px !important;
    width:24px !important;
    height:18px !important;
  }

  .menu-lines i{
    display:block !important;
    width:24px !important;
    height:2.4px !important;
    background:#171717 !important;
    border-radius:999px !important;
  }

  .menu-word{
    display:block !important;
    margin-top:2px !important;
    font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
    font-size:9.5px !important;
    line-height:1 !important;
    font-weight:750 !important;
    letter-spacing:.08em !important;
    color:#171717 !important;
  }

  .menu-toggle-btn:hover .menu-lines i{
    background:#2F5DA8 !important;
  }

  .menu-toggle-btn:hover .menu-word{
    color:#2F5DA8 !important;
  }
}

/* === FINAL MENU BUTTON RESPONSIVE FIX === */
/* 电脑端：不显示菜单按钮；手机/窄屏：显示三条线 + 菜单 */

.menu-toggle-btn{
  display:none !important;
}

/* 901px 以上：强制隐藏菜单按钮，避免只露出“目录/菜单”两个字 */
@media(min-width:901px){
  .menu-toggle-btn{
    display:none !important;
  }
}

/* 900px 以下：显示菜单按钮 */
@media(max-width:900px){
  .menu-toggle-btn{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    cursor:pointer !important;
    flex-shrink:0 !important;
  }

  .menu-lines{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:4px !important;
    width:24px !important;
    height:18px !important;
  }

  .menu-lines i{
    display:block !important;
    width:24px !important;
    height:2.4px !important;
    background:#171717 !important;
    border-radius:999px !important;
  }

  .menu-word{
    display:block !important;
    margin-top:2px !important;
    font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
    font-size:9.5px !important;
    line-height:1 !important;
    font-weight:750 !important;
    letter-spacing:.08em !important;
    color:#171717 !important;
  }
}

/* === FINAL DESKTOP NAV SYSTEM === */
/* 电脑端只保留两种状态：
   1. 宽屏完整导航
   2. 收缩版只显示三条线
   手机端 700px 以下保持原样
*/

/* 1001px 以上：完整电脑版导航 */
@media(min-width:1001px){

  .tb{
    display:flex !important;
    height:76px !important;
    min-height:76px !important;
    padding:0 24px !important;
    align-items:center !important;
    justify-content:space-between !important;
    overflow:visible !important;
  }

  .logo-main{
    height:50px !important;
    flex-shrink:0 !important;
  }

  .nc{
    display:flex !important;
    flex:1 !important;
    justify-content:center !important;
    align-items:center !important;
    gap:28px !important;
    order:initial !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .nl{
    display:inline-flex !important;
    font-size:14px !important;
    padding:24px 0 !important;
    color:#2F2A25 !important;
  }

  .nl::before{
    display:none !important;
    content:none !important;
  }

  .nr{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:14px !important;
    flex-shrink:0 !important;
    order:initial !important;
    margin-left:0 !important;
  }

  .menu-toggle-btn{
    display:none !important;
  }

  .news-ticker{
    top:76px !important;
  }
}


/* 701px–1000px：电脑版收缩版，只显示三条线，不显示“目录” */
@media(min-width:701px) and (max-width:1000px){

  .tb{
    display:flex !important;
    height:76px !important;
    min-height:76px !important;
    padding:0 24px !important;
    align-items:center !important;
    justify-content:space-between !important;
    overflow:visible !important;
  }

  .logo-main{
    height:50px !important;
    flex-shrink:0 !important;
  }

  /* 收缩电脑版：隐藏完整导航 */
  .nc{
    display:none !important;
  }

  .nr{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:14px !important;
    flex-shrink:0 !important;
    margin-left:auto !important;
  }

  /* 语言 / 登录 / 注册 保持电脑版样式 */
  .lang-text{
    display:inline-block !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  #auth-btns:not(.is-hidden),
  #user-btns:not(.is-hidden){
    display:inline-flex !important;
    align-items:center !important;
    gap:14px !important;
  }

  #auth-btns .login-link{
    font-size:13px !important;
    font-weight:850 !important;
    color:#2F2A25 !important;
  }

  #auth-btns .register-btn{
    height:38px !important;
    padding:0 16px !important;
    border-radius:6px !important;
    background:#2F5DA8 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:900 !important;
  }

  /* 收缩电脑版：只显示三条线 */
  .menu-toggle-btn{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
    color:#171717 !important;
    cursor:pointer !important;
    flex-shrink:0 !important;
  }

  .menu-lines{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    width:26px !important;
    height:22px !important;
  }

  .menu-lines i{
    display:block !important;
    width:26px !important;
    height:2.4px !important;
    background:#171717 !important;
    border-radius:999px !important;
  }

  /* 关键：电脑版收缩时隐藏“目录”两个字 */
  .menu-word{
    display:none !important;
  }

  .news-ticker{
    top:76px !important;
  }
}


/* 700px 以下：手机版保持原有状态 */
@media(max-width:700px){

  /* 不在这里重写你的手机端结构，只确保菜单按钮仍然可用 */
  .menu-toggle-btn{
    display:inline-flex !important;
  }

  .menu-word{
    display:block !important;
  }
}  


/* === MOBILE FIX: 首页课程区咨询按钮与“了解我们的老师”左对齐 === */
@media(max-width:700px){

  .home-course-cta{
    margin-top:28px !important;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .home-course-cta-link{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:14.5px !important;
  }
}

/* === LIGHT EDITORIAL FOOTER === */

.site-footer{
  background:#111111;
  color:rgba(255,253,248,.58);
  padding:44px 46px 38px;
  font-family:"Archivo","Noto Sans SC",system-ui,sans-serif;
}

.site-footer-line{
  width:100%;
  height:1px;
  background:rgba(255,253,248,.22);
  margin-bottom:34px;
}

.site-footer-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
}

.site-footer-brand{
  font-size:20px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:-.02em;
  color:rgba(255,253,248,.56);
}

.site-footer-tagline{
  font-size:19px;
  line-height:1.4;
  font-weight:750;
  letter-spacing:-.025em;
  color:rgba(255,253,248,.54);
  text-align:right;
}

.site-footer-sub{
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  font-size:12px;
  line-height:1.6;
  font-weight:650;
  color:rgba(255,253,248,.36);
}

.site-footer-sub button{
  border:none;
  background:transparent;
  color:rgba(255,253,248,.42);
  font-family:inherit;
  font-size:12px;
  font-weight:750;
  padding:0;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
}

.site-footer-sub button:hover{
  color:#FCF8D8;
}

@media(max-width:700px){
  .site-footer{
    padding:36px 24px 34px;
  }

  .site-footer-line{
    margin-bottom:28px;
  }

  .site-footer-main{
    flex-direction:column;
    gap:18px;
  }

  .site-footer-brand{
    font-size:18px;
  }

  .site-footer-tagline{
    text-align:left;
    font-size:16px;
    line-height:1.55;
    max-width:300px;
  }

  .site-footer-sub{
    margin-top:28px;
    gap:8px 14px;
    font-size:11.5px;
  }

  .site-footer-sub button{
    font-size:11.5px;
  }
}

/* === FOOTER FINAL FIX: desktop tagline left align === */

.site-footer-top{
  display:block !important;
  margin-bottom:34px !important;
}

.site-footer-tagline{
  text-align:left !important;
  max-width:760px !important;
  font-size:19px !important;
  line-height:1.4 !important;
  font-weight:750 !important;
  letter-spacing:-.025em !important;
  color:rgba(255,253,248,.54) !important;
}

.site-footer-sub{
  margin-top:0 !important;
}

/* === COURSE DETAIL BACK BUTTON CLEANUP === */

/* 顶部返回：轻量文字链接 */
.course-back-link{
  border:none !important;
  background:transparent !important;
  color:#2F5DA8 !important;
  font-family:inherit !important;
  font-size:15px !important;
  font-weight:900 !important;
  padding:0 !important;
  margin:0 0 22px !important;
  cursor:pointer !important;
  text-decoration:none !important;
}

.course-back-link:hover{
  color:#E96F3C !important;
  text-decoration:underline !important;
  text-underline-offset:5px !important;
}

/* 底部查看更多课程：轻按钮，不要胶囊 */
.course-more-link{
  width:100% !important;
  height:54px !important;
  border:1.5px solid #171717 !important;
  background:#fff !important;
  color:#171717 !important;
  font-family:inherit !important;
  font-size:15px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.course-more-link:hover{
  background:#171717 !important;
  color:#fff !important;
}

/* 课程详情页按钮区域更干净 */
#pg-course-detail .pd-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin-top:1.2rem !important;
}

#pg-course-detail .pd-actions .bpay{
  width:100% !important;
  height:58px !important;
  border-radius:0 !important;
  background:#171717 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:950 !important;
}

#pg-course-detail .pd-actions .bpay:hover{
  background:#E96F3C !important;
}

/* === COURSE DETAIL EDITORIAL LAYOUT === */

.course-detail-editorial{
  max-width:1180px !important;
  padding:2rem 20px 4rem !important;
}

.course-back-link{
  border:none;
  background:transparent;
  color:#2F5DA8;
  font-family:inherit;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
  margin-bottom:1.8rem;
  padding:0;
}

.course-back-link:hover{
  color:#E96F3C;
}

.course-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);
  gap:3rem;
  align-items:start;
}

.course-detail-main{
  background:#FFFFFF;
  border:1px solid #E6DED2;
  padding:3rem 3.2rem;
}

.course-hero-text{
  padding-bottom:2.6rem;
  border-bottom:1px solid #E6DED2;
  margin-bottom:2.4rem;
}

.course-section-kicker{
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#E96F3C;
  margin-bottom:.9rem;
}

.course-hero-text h1{
  font-family:"Noto Serif SC","Archivo",serif;
  font-size:clamp(2.4rem,4.8vw,4.6rem);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.06em;
  color:#171717;
  margin-bottom:1.2rem;
}

.course-hero-text p{
  max-width:680px;
  font-size:18px;
  line-height:1.85;
  color:#343434;
  font-weight:650;
}

.course-info-section{
  padding:2.2rem 0;
  border-bottom:1px solid #E6DED2;
}

.course-info-section:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.course-info-section h2{
  font-family:"Noto Serif SC","Archivo",serif;
  font-size:2rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.04em;
  color:#171717;
  margin-bottom:1rem;
}

.course-info-section p{
  font-size:16px;
  line-height:1.9;
  color:#343434;
  font-weight:600;
  max-width:680px;
}

.course-point-list{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 22px;
  margin-top:1.4rem;
}

.course-point-list li{
  position:relative;
  padding-left:22px;
  font-size:15px;
  line-height:1.55;
  color:#343434;
  font-weight:750;
}

.course-point-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#2F5DA8;
  font-weight:950;
}

.course-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:1.4rem;
}

.course-info-grid div{
  background:#F3F8FA;
  border:1px solid #D9E6EA;
  padding:1.2rem;
}

.course-info-grid span{
  display:block;
  font-size:12px;
  color:#686868;
  font-weight:900;
  margin-bottom:.45rem;
}

.course-info-grid strong{
  display:block;
  font-size:16px;
  line-height:1.45;
  color:#171717;
  font-weight:950;
}

.course-faq{
  border-top:1px solid #E6DED2;
  padding:1rem 0;
}

.course-faq:last-child{
  border-bottom:1px solid #E6DED2;
}

.course-faq summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:16px;
  font-weight:950;
  color:#171717;
}

.course-faq summary::-webkit-details-marker{
  display:none;
}

.course-faq summary::after{
  content:"+";
  color:#E96F3C;
  font-weight:950;
}

.course-faq[open] summary::after{
  content:"−";
}

.course-faq p{
  margin-top:1rem;
  font-size:15px;
  line-height:1.8;
  color:#686868;
  font-weight:650;
}

.course-side-card{
  position:sticky;
  top:112px;
  background:#fff;
  border:1px solid #E6DED2;
  padding:2rem;
}

.course-side-card h2{
  font-family:"Noto Serif SC","Archivo",serif;
  font-size:2rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.045em;
  color:#171717;
  margin:.6rem 0 1rem;
}

.course-side-price{
  font-family:"Noto Serif SC","Archivo",serif;
  font-size:2.8rem;
  line-height:1;
  color:#171717;
  margin-bottom:1.2rem;
}

.course-side-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:1.4rem;
}

.course-side-tags span{
  border:1px solid #E6DED2;
  background:#FFFFFF;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#343434;
}

.course-side-desc{
  font-size:14.5px;
  line-height:1.75;
  color:#343434;
  font-weight:600;
  margin-bottom:1.4rem;
}

.course-side-warning{
  background:#FFF3E8;
  border:1px solid #FFD0B7;
  color:#9A4816;
  padding:1rem;
  font-size:13.5px;
  line-height:1.65;
  font-weight:850;
  margin:1.2rem 0;
}

.course-pay-btn{
  width:100%;
  height:56px;
  border:none;
  background:#171717;
  color:#fff;
  font-family:inherit;
  font-size:17px;
  font-weight:950;
  cursor:pointer;
  margin-bottom:12px;
}

.course-pay-btn:hover{
  background:#E96F3C;
}

.course-more-btn{
  width:100%;
  height:52px;
  border:1.5px solid #171717;
  background:#fff;
  color:#171717;
  font-family:inherit;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
}

.course-more-btn:hover{
  background:#171717;
  color:#fff;
}

.course-side-qty{
  border:1px solid #E6DED2;
  background:#FFFFFF;
  padding:1rem;
  margin:1.2rem 0;
}

.course-side-qty-title{
  font-size:14px;
  font-weight:950;
  color:#171717;
  margin-bottom:.45rem;
}

.course-side-qty-note{
  font-size:13px;
  line-height:1.55;
  color:#686868;
  font-weight:700;
  margin-bottom:.9rem;
}

.course-side-qty-control{
  display:flex;
  align-items:center;
  gap:9px;
}

.course-side-qty-control button{
  width:34px;
  height:34px;
  border:1.5px solid #171717;
  background:#fff;
  color:#171717;
  font-size:20px;
  font-weight:900;
  cursor:pointer;
}

.course-side-qty-control input{
  width:52px;
  height:34px;
  text-align:center;
  border:1.5px solid #171717;
  background:#fff;
  color:#171717;
  font-size:15px;
  font-weight:950;
}

.course-side-qty-control span{
  font-size:13px;
  font-weight:850;
  color:#686868;
}

.course-side-total{
  margin-top:.9rem;
  font-size:15px;
  font-weight:900;
  color:#171717;
}

.course-side-total strong{
  color:#2F5DA8;
}

.related-courses-section{
  margin-top:4rem;
  padding-top:2.2rem;
  border-top:1px solid #E6DED2;
}

.related-courses-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
  margin-bottom:1.4rem;
}

.related-courses-head h2{
  font-family:"Noto Serif SC","Archivo",serif;
  font-size:2rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.04em;
  color:#171717;
}

.related-courses-head button{
  border:none;
  background:transparent;
  color:#171717;
  font-family:inherit;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
  padding:0 0 4px;
  border-bottom:3px solid #E96F3C;
  white-space:nowrap;
}

.related-courses-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:10px;
  scrollbar-width:none;
}

.related-courses-track::-webkit-scrollbar{
  display:none;
}

.related-course-card{
  flex:0 0 260px;
  scroll-snap-align:start;
  background:#FFFFFF;
  border:1px solid #E6DED2;
  padding:1.4rem;
  cursor:pointer;
}

.related-course-card:hover{
  border-color:#E96F3C;
}

.related-course-level{
  font-size:12px;
  font-weight:950;
  color:#E96F3C;
  margin-bottom:.8rem;
}

.related-course-card h3{
  font-size:18px;
  line-height:1.35;
  font-weight:950;
  color:#171717;
  margin-bottom:1rem;
}

.related-course-card p{
  font-size:13px;
  line-height:1.55;
  color:#686868;
  font-weight:700;
  margin-bottom:1rem;
}

.related-course-card strong{
  display:block;
  font-size:19px;
  color:#171717;
  font-weight:950;
}

@media(max-width:900px){
  .course-detail-editorial{
    padding:1.4rem 16px 3rem !important;
  }

  .course-detail-layout{
    grid-template-columns:1fr;
    gap:1.4rem;
  }

  .course-detail-main{
    padding:2rem 1.4rem;
  }

  .course-side-card{
    position:static;
    padding:1.5rem;
  }

  .course-hero-text h1{
    font-size:2.5rem;
  }

  .course-hero-text p{
    font-size:15.5px;
  }

  .course-info-section h2{
    font-size:1.65rem;
  }

  .course-point-list{
    grid-template-columns:1fr;
  }

  .course-info-grid{
    grid-template-columns:1fr;
  }

  .related-courses-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .related-course-card{
    flex-basis:78vw;
  }
}


/* === MOBILE COURSE STICKY BAR: black button, paper style === */

.mobile-course-sticky{
  display:none;
}

@media(max-width:900px){

  .mobile-course-sticky{
    display:flex !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:180 !important;

    min-height:78px !important;
    padding:10px 18px max(10px, env(safe-area-inset-bottom)) !important;

    background:rgba(255,253,248,.97) !important;
    border-top:1px solid #E6DED2 !important;
    box-shadow:0 -10px 26px rgba(0,0,0,.08) !important;
    backdrop-filter:blur(16px) !important;

    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;

    transform:translateY(110%) !important;
    opacity:0 !important;
    pointer-events:none !important;

    transition:
      transform .24s ease,
      opacity .24s ease !important;
  }

  .mobile-course-sticky.is-visible{
    transform:translateY(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .mobile-course-sticky-info{
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    width:86px !important;
    flex-shrink:0 !important;
  }

  .mobile-course-sticky-info span{
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    color:#666 !important;
  }

  .mobile-course-sticky-info strong{
    font-family:"Archivo","Noto Sans SC",system-ui,sans-serif !important;
    font-size:28px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
    color:#111 !important;
  }

  .mobile-course-sticky button{
    flex:1 !important;
    height:52px !important;

    border:1px solid #111 !important;
    border-radius:0 !important;
    background:#111 !important;
    color:#fff !important;

    font-family:inherit !important;
    font-size:18px !important;
    font-weight:950 !important;
    letter-spacing:.02em !important;

    cursor:pointer !important;
    box-shadow:none !important;
  }

  .mobile-course-sticky button:active{
    transform:translateY(1px) !important;
  }

  #pg-course-detail{
    padding-bottom:96px !important;
  }
}

/* === COURSE DETAIL: remove repeated WeChat warning box === */
.course-side-warning{
  display:none !important;
}

/* === MOBILE COURSE DETAIL: hide side purchase card === */
@media(max-width:900px){
  #pg-course-detail .course-side,
  #pg-course-detail .course-detail-side,
  #pg-course-detail .course-summary-card{
    display:none !important;
  }
}

/* === MOBILE COURSE TAGS IN MAIN CONTENT === */
@media(max-width:900px){

  #pg-course-detail .course-main-tags,
  #pg-course-detail .course-tags,
  #pg-course-detail .course-detail-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    margin:26px 0 30px !important;
  }

  #pg-course-detail .course-main-tags span,
  #pg-course-detail .course-tags span,
  #pg-course-detail .course-detail-tags span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:38px !important;
    padding:0 17px !important;

    border:1px solid #E2D9CC !important;
    border-radius:999px !important;
    background:#FFFFFF !important;

    font-size:15px !important;
    font-weight:900 !important;
    color:#262626 !important;
    line-height:1 !important;
  }
}


/* === ABOUT PAGE DESKTOP WIDTH FIX === */
/* 让关于页面电脑版宽度和书店页面一致，不再铺满全屏 */

@media(min-width:901px){

  #pg-about{
    background:#FFFFFF;
  }

  #pg-about .about-editorial-hero{
    max-width:1120px !important;
    margin:0 auto !important;
    padding:76px 20px 64px !important;
    min-height:560px !important;
    grid-template-columns:minmax(0,.9fr) minmax(380px,1fr) !important;
    gap:56px !important;
  }

  #pg-about .about-quote{
    max-width:430px !important;
  }

  #pg-about .about-quote h1{
    font-size:44px !important;
    line-height:1.36 !important;
  }

  #pg-about .about-portrait-wrap{
    min-height:440px !important;
  }

  #pg-about .about-blue-blob{
    width:470px !important;
    height:340px !important;
    right:0 !important;
    bottom:26px !important;
  }

  #pg-about .about-portrait{
    width:480px !important;
    max-height:500px !important;
    transform:none !important;
  }

  #pg-about .about-bio-section{
    max-width:1120px !important;
    margin:0 auto !important;
    padding:56px 20px 86px !important;
  }

  #pg-about .about-bio-inner{
    max-width:760px !important;
    margin:0 !important;
  }

  #pg-about .about-contact-cta{
    max-width:1120px !important;
    margin:0 auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
}  

#pg-about .about-quote-nl{
  margin:18px 0 0;
  font-size:20px;
  line-height:1.6;
  letter-spacing:.18em;
  color:#8a8a86;
  font-weight:500;
  font-family:var(--font-sans);
  max-width:460px;
}
  

/* === KEYCHAIN VARIANT SELECTOR === */
/* 钥匙扣11款选择区域 */

#pg-product .pd-variant-section{
  margin:1.25rem 0 1.4rem;
  padding-top:1.15rem;
  border-top:1px solid #E6DED2;
}

#pg-product .pd-variant-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

#pg-product .pd-variant-head > span:first-child{
  flex-shrink:0;
  font-size:13px;
  font-weight:950;
  color:#171717;
}

#pg-product .pd-variant-current{
  min-width:0;
  color:#2F5DA8;
  font-size:12px;
  line-height:1.45;
  font-weight:850;
  text-align:right;
}

/* 11款排列成两列 */
#pg-product .pd-variant-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  max-height:470px;
  overflow-y:auto;
  padding:1px 4px 1px 1px;
}

/* 每一个款式按钮 */
#pg-product .pd-variant-option{
  width:100%;
  min-width:0;
  min-height:76px;
  padding:7px;
  display:flex;
  align-items:center;
  gap:8px;

  border:1px solid #DED8CF;
  border-radius:0;
  background:#FFFFFF;
  color:#171717;

  font-family:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  overflow:hidden;

  transition:
    border-color .16s ease,
    background .16s ease,
    transform .16s ease;
}

#pg-product .pd-variant-option:hover{
  border-color:#2F5DA8;
  background:#fff;
  transform:translateY(-1px);
}

/* 选中状态 */
#pg-product .pd-variant-option.active{
  border:2px solid #2F5DA8;
  background:#F3F8FA;
}

/* 单独款式的小图 */
#pg-product .pd-variant-image{
  width:58px;
  height:58px;
  min-width:58px;
  flex:0 0 58px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  overflow:hidden;
}

#pg-product .pd-variant-image img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  padding:3px;
}

/* 右边文字 */
#pg-product .pd-variant-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

#pg-product .pd-variant-name{
  display:-webkit-box;
  min-width:0;
  overflow:hidden;

  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;

  font-size:11px;
  line-height:1.35;
  font-weight:850;
  color:#171717;
}

#pg-product .pd-variant-meta{
  font-size:10.5px;
  line-height:1.3;
  font-weight:750;
  color:#786C5F;
}

#pg-product .pd-variant-stock{
  font-size:10px;
  font-weight:900;
  color:#B44C28;
}

/* 售罄状态 */
#pg-product .pd-variant-option.sold-out{
  opacity:.42;
  cursor:not-allowed;
  transform:none;
}

/* 滚动条做轻一点 */
#pg-product .pd-variant-grid{
  scrollbar-width:thin;
  scrollbar-color:#CFC8BE transparent;
}

#pg-product .pd-variant-grid::-webkit-scrollbar{
  width:5px;
}

#pg-product .pd-variant-grid::-webkit-scrollbar-thumb{
  background:#CFC8BE;
}

#pg-product .pd-variant-grid::-webkit-scrollbar-track{
  background:transparent;
}

/* 手机端 */
@media(max-width:700px){

  #pg-product .pd-variant-head{
    display:block;
  }

  #pg-product .pd-variant-current{
    display:block;
    margin-top:5px;
    text-align:left;
  }

  #pg-product .pd-variant-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:none;
    overflow:visible;
    gap:8px;
  }

  #pg-product .pd-variant-option{
    min-height:72px;
    padding:6px;
  }

  #pg-product .pd-variant-image{
    width:52px;
    height:52px;
    min-width:52px;
    flex-basis:52px;
  }

  #pg-product .pd-variant-name{
    font-size:10.5px;
  }

  #pg-product .pd-variant-meta{
    font-size:10px;
  }
}

.site-footer-sub .footer-policy-link{
  border:none;
  background:transparent;
  color:rgba(255,253,248,.42);
  font-family:inherit;
  font-size:12px;
  font-weight:750;
  padding:0;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
}

.site-footer-sub .footer-policy-link:hover{
  color:#FCF8D8;
}

@media(max-width:700px){
  .site-footer-sub .footer-policy-link{
    font-size:11.5px;
  }
}
  

.new-product-badge{
  position:absolute;
  top:12px;
  right:12px;
  left:auto;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:0;
  background:rgba(255,253,248,.94);
  color:#17324D;
  border:1px solid rgba(23,50,77,.30);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
  box-shadow:none;
  backdrop-filter:blur(4px);
}

