/* CU-TEP Practice Bundle — only what grammar-sprint.css does not already have.
   Same CU-TEP navy #1B2A6B + Chula pink system, same spacing tokens; one surface per block (no nested cards). */

/* what the order contains: a plain list inside the one surface */
.pbundle .pb-box{padding:var(--s4)}
.pbundle .pb-box-h{font-family:var(--disp);font-size:1.12rem;font-weight:800;color:var(--ink);margin:0 0 var(--s2)}
.pbundle .pb-parts{list-style:none;margin:0 0 var(--s3);padding:0}
.pbundle .pb-parts li{display:grid;gap:2px;padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.pbundle .pb-parts li:last-child{border-bottom:0}
.pbundle .pb-parts b{font-family:var(--disp);font-size:1rem;color:var(--navy)}
.pbundle .pb-parts span{color:var(--ink2);font-size:.94rem;line-height:1.55}

/* standalone total vs bundle price: two quiet lines, the bundle price is the only big number */
.pbundle .pb-sum{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);margin:0;
  padding-top:var(--s2);color:var(--ink2);font-size:.94rem}
.pbundle .pb-sum s{text-decoration-thickness:1px}
.pbundle .pb-sum-now{padding-top:var(--s1)}
.pbundle .pb-sum-now b{font-family:var(--disp);font-size:1.35rem;font-weight:800;color:var(--navy)}

/* owner / already-owned note: one tinted block, no card inside a card */
.pbundle .pb-note{margin:var(--s4) 0 var(--s3);padding:var(--s3) var(--s4);border-radius:var(--rc);
  background:#EEF1F8;color:var(--ink);line-height:1.65;max-width:46ch}
.pbundle .pb-note a{color:var(--pink);font-weight:700;white-space:nowrap}

/* practice vs learn: two equal surfaces across the full content width (no bare card, no empty third) */
.pbundle .pb-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-top:var(--s4)}
.pbundle .pb-fit>div{display:flex;flex-direction:column;padding:var(--s4)}
.pbundle .pb-fit>div.hi{box-shadow:inset 0 0 0 2px rgba(200,30,85,.35)}
.pbundle .pb-fit h3{font-family:var(--disp);font-size:1.08rem;margin:0 0 var(--s1);color:var(--ink)}
.pbundle .pb-fit p{margin:0 0 var(--s2);color:var(--ink2);line-height:1.65}
.pbundle .pb-fit .price{margin-top:auto;font-family:var(--disp);font-weight:800;color:var(--navy);font-size:1.15rem}
.pbundle .pb-fit .price small{font-weight:500;color:var(--ink2);font-size:.85rem}
.pbundle .pb-fit+.sp-fit-note{margin-top:var(--s4)}
.pbundle .job{display:block;font-size:.82rem;font-weight:700;color:var(--pink);margin:0 0 var(--s1)}

/* hero lines */
.pbundle .pb-ownerline{margin:var(--s4) 0 0;font-size:1.02rem;color:var(--ink)}
.pbundle .pb-note-s{margin:var(--s2) 0 0;color:var(--ink2);font-size:.88rem}
.pbundle .pb-owned{margin:var(--s4) 0 var(--s3);max-width:46ch;line-height:1.7}
.pbundle .pb-owned p{margin:0 0 var(--s2)}
.pbundle .pb-owned .row{gap:var(--s2);flex-wrap:wrap}

/* real product samples, side by side */
.pbundle .pb-demo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin-top:var(--s4);align-items:start}
.pbundle .pb-demo figure{margin:0}
.pbundle .pb-demo .pb-listen{padding:var(--s4)}
.pbundle .pb-demo-why{margin:var(--s3) 0 0;color:var(--ink2);font-size:.92rem;line-height:1.6}
.pbundle .pb-listen figcaption{display:flex;justify-content:space-between;gap:var(--s2);font-size:.85rem;color:var(--ink2);margin:0 0 var(--s3)}
.pbundle .pb-player{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--rc);background:var(--navy);color:#fff;margin:0 0 var(--s3)}
.pbundle .pb-player span[lang]{flex:1;font-weight:600;line-height:1.4}
.pbundle .pb-player b{font-family:var(--disp);font-size:1.4rem}
.pbundle .pb-player .eq{display:flex;gap:3px;align-items:flex-end;height:22px}
.pbundle .pb-player .eq i{display:block;width:4px;background:#F9A8C4;border-radius:2px}
.pbundle .pb-player .eq i:nth-child(1){height:40%}.pbundle .pb-player .eq i:nth-child(2){height:90%}
.pbundle .pb-player .eq i:nth-child(3){height:60%}.pbundle .pb-player .eq i:nth-child(4){height:100%}.pbundle .pb-player .eq i:nth-child(5){height:50%}
.pbundle .pb-listen .opt.sel{box-shadow:inset 0 0 0 2px var(--navy)}

/* why together: three plain columns, no cards */
.pbundle .pb-why{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.pbundle .pb-why li{border-top:2px solid var(--line);padding-top:var(--s3)}
.pbundle .pb-why b{display:block;font-family:var(--disp);color:var(--navy);margin:0 0 4px}
.pbundle .pb-why span{color:var(--ink2);line-height:1.65}

/* truthful comparison table */
.pbundle .pb-compare{width:100%;border-collapse:collapse;margin:var(--s2) 0 0;font-size:.95rem}
.pbundle .pb-compare caption{text-align:left;font-weight:700;color:var(--ink);margin:0 0 var(--s1)}
.pbundle .pb-compare th,.pbundle .pb-compare td{background:none;padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-weight:500;color:var(--ink2)}
.pbundle .pb-compare td{text-align:right;white-space:nowrap;padding-left:var(--s3)}
.pbundle .pb-compare th small{display:block;font-size:.82rem;color:var(--ink2)}
.pbundle .pb-compare tr.now th,.pbundle .pb-compare tr.now td{color:var(--navy);font-weight:800;border-bottom:0}
.pbundle .pb-compare tr.now td{font-family:var(--disp);font-size:1.25rem}
.pbundle .pb-final{align-items:end}

/* checkout terms (same four points as Learn's own checkout) */
.pbundle .pb-terms{margin:0 0 var(--s3);padding-left:1.2em;color:var(--ink2);line-height:1.7;font-size:.93rem}
.pbundle .pb-plainform .field{margin:0 0 var(--s3)}

/* single-column pages: upgrade card, email step, messages */
.pbundle .pb-upgrade,.pbundle .pb-signin{max-width:560px;margin:var(--s5) auto;padding:var(--s5)}
.pbundle .pb-upgrade h1,.pbundle .pb-signin h1{font-family:var(--disp);font-size:1.7rem;line-height:1.35;color:var(--navy);margin:0 0 var(--s2)}
.pbundle .pb-upgrade .sub,.pbundle .pb-signin .sub{color:var(--ink2);line-height:1.7;margin:0 0 var(--s3)}

/* bundle home: one row per component */
.pbundle .pb-home{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s3);max-width:720px}
.pbundle .pb-home li{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4)}
.pbundle .pb-home li>div{display:grid;gap:2px}
.pbundle .pb-home li.next{box-shadow:inset 0 0 0 2px rgba(200,30,85,.35)}
.pbundle .pb-state{color:var(--pink);font-size:.88rem}
.pbundle .pb-home b{font-family:var(--disp);color:var(--navy)}
.pbundle .pb-home span{color:var(--ink2);font-size:.92rem;line-height:1.55}

@media(max-width:860px){
  .pbundle .pb-demo,.pbundle .pb-why{grid-template-columns:1fr}
}
@media(max-width:720px){
  .pbundle .pb-fit{grid-template-columns:1fr}
  .pbundle .pb-compare tr{display:block;padding:10px 0;border-bottom:1px solid var(--line)}
  .pbundle .pb-compare tr.now{border-bottom:0}
  .pbundle .pb-compare th,.pbundle .pb-compare td{display:block;border:0;padding:0;text-align:left;white-space:nowrap}
  .pbundle .pb-compare th{white-space:normal}
  .pbundle .pb-compare td{margin-top:2px}
  .pbundle .pb-upgrade,.pbundle .pb-signin{margin:var(--s3) 0;padding:var(--s4) var(--s3)}
  .pbundle .pb-home li{flex-direction:column;align-items:stretch}
  .pbundle .pb-home .btn,.pbundle .pb-upgrade .btn,.pbundle .pb-signin .btn{width:100%}
  .pbundle .pb-note{max-width:none}
}
/* paid home: centred column, not a left-hugging list with an empty right third */
.pbundle section[aria-labelledby="pb-app-h"]{max-width:760px;margin:0 auto}
.pbundle .nw{white-space:nowrap}
.pbundle .sp-price b{white-space:nowrap}
.pbundle .pb-signin .pb-plainform{margin-top:var(--s3)}
.pbundle .pb-signin .pb-plainform .btn{width:100%}
.pbundle #code{font-size:1.6rem;letter-spacing:.3em;text-align:center}
.pbundle .pb-terms-page{max-width:760px;margin:var(--s4) auto;padding:var(--s5);line-height:1.75}
.pbundle .pb-terms-page h1{font-family:var(--disp);font-size:1.5rem;color:var(--navy);margin:0 0 var(--s2);line-height:1.35}
.pbundle .pb-terms-page h2{font-family:var(--disp);font-size:1.08rem;color:var(--navy);margin:var(--s4) 0 var(--s1)}
.pbundle .pb-terms-page ol{padding-left:1.3em}
@media(max-width:720px){.pbundle .pb-terms-page{padding:var(--s4) var(--s3);margin:var(--s3) 0}}
.pbundle .pb-terms-page .pb-cases{list-style:none;padding-left:0}
.pbundle .pb-terms-page .pb-cases li{margin:0 0 var(--s1)}

/* EXP-PB-00 ad landing (/cutep-practice/start) — same visual system, shorter and direct */
.pb00 .pb00-hero{max-width:880px;margin:var(--s4) 0 0;text-align:left}
.pb00 .pb00-hero h1{font-family:var(--disp);font-size:2.35rem;line-height:1.35;font-weight:800;color:var(--navy);letter-spacing:0;margin:0 0 var(--s2)}
.pb00 .pb00-hero h1 span{white-space:nowrap}
.pb00 .pb00-lede{font-size:1.08rem;color:var(--ink2);line-height:1.6;margin:0 0 var(--s3)}
.pb00 .pb00-prod{margin:0 0 var(--s3);display:grid;gap:2px}
.pb00 .pb00-prod b{font-family:var(--disp);font-size:1.05rem;color:var(--ink)}
.pb00 .pb00-prod span{color:var(--ink2);font-size:.95rem;line-height:1.5}
.pb00 .pb00-prod i{font-style:normal;white-space:nowrap}
.pb00 .pb00-buy{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin:0 0 var(--s2)}
.pb00 .pb00-price{display:flex;align-items:baseline;gap:var(--s2);margin:0;flex-wrap:wrap}
.pb00 .pb00-price b{font-family:var(--disp);font-size:2.3rem;font-weight:800;color:var(--navy);line-height:1}
.pb00 .pb00-price span{color:var(--ink2);font-size:.95rem}
.pb00 .pb00-buy .btn{min-width:180px;text-align:center}
.pb00 .pb00-for{margin:0;color:var(--ink2);font-size:.92rem;line-height:1.5}
.pb00 .pb00-sec{padding-top:56px}
.pb00 .pb00-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s4);align-items:start}
.pb00 .pb00-shots figure{margin:0}
.pb00 .pb00-shots img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--line2);box-shadow:0 10px 28px rgba(20,33,74,.10);background:#fff}
.pb00 .pb00-shots figcaption{display:grid;gap:2px;padding:var(--s3) 2px 0}
.pb00 .pb00-shots figcaption b{font-family:var(--disp);color:var(--navy)}
.pb00 .pb00-shots figcaption span{color:var(--ink2);font-size:.92rem;line-height:1.55}
.pb00 .pb00-note{margin:var(--s2) 0 0;color:var(--ink2);font-size:.85rem}
.pb00 .pb00-loop{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);counter-reset:l}
.pb00 .pb00-loop li{counter-increment:l;border-top:2px solid var(--line);padding-top:var(--s3);display:grid;gap:2px;align-content:start}
.pb00 .pb00-loop li::before{content:counter(l);font-family:var(--disp);font-weight:800;color:var(--pink)}
.pb00 .pb00-loop b{font-family:var(--disp);color:var(--navy)}
.pb00 .pb00-loop span{color:var(--ink2);font-size:.92rem;line-height:1.55}
.pb00 .pb00-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-top:var(--s4)}
.pb00 .pb00-fit>div{padding:var(--s4)}
.pb00 .pb00-fit h3{font-family:var(--disp);font-size:1.05rem;margin:0 0 var(--s2);color:var(--ink)}
.pb00 .pb00-fit ul{margin:0;padding-left:1.1em;color:var(--ink2);line-height:1.8}
.pb00 .pb00-fit .alt{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.pb00 .pb00-vs{display:grid;gap:var(--s2);margin-top:var(--s3)}
.pb00 .pb00-vs p{margin:0;display:grid;gap:2px;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.pb00 .pb00-vs b{font-family:var(--disp);color:var(--ink2)}
.pb00 .pb00-vs .hi b{color:var(--navy)}
.pb00 .pb00-vs span{color:var(--ink2);font-size:.95rem}
.pb00 .pb00-final .pb00-price{margin-top:var(--s1)}
@media(max-width:860px){
  .pb00 .pb00-shots{grid-template-columns:1fr}
  .pb00 .pb00-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .pb00 .pb00-hero{margin-top:var(--s3)}
  .pb00 .pb00-hero h1{font-size:1.6rem}
  .pb00 .pb00-shots{gap:var(--s5)}
  .pb00 .pb00-lede{font-size:1rem;margin-bottom:var(--s2)}
  .pb00 .pb00-prod{margin-bottom:var(--s2)}
  .pb00 .pb00-price b{font-size:2rem}
  .pb00 .pb00-buy{gap:var(--s3)}
  .pb00 .pb00-buy .btn{flex:1 1 100%}
  .pb00 .pb00-fit{grid-template-columns:1fr}
  .pb00 .pb00-sec{padding-top:44px}
}
@media(max-width:359px){.pb00 .pb00-hero h1{font-size:1.4rem}}

/* EXP-PB-02 new-customer landing (/cutep-practice/start) — extends the pb00 layout */
.pb02 .pb02-pains{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.pb02 .pb02-pains li{border-top:2px solid var(--line);padding-top:var(--s3);display:grid;gap:2px;align-content:start}
.pb02 .pb02-pains b{font-family:var(--disp);color:var(--navy)}
.pb02 .pb02-pains span{color:var(--ink2);font-size:.95rem;line-height:1.6}
.pb02 .pb02-body{max-width:720px;color:var(--ink2);line-height:1.75;margin:var(--s3) 0 0}
.pb02 .pb02-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-top:var(--s4)}
.pb02 .pb02-map>div{padding:var(--s4);border-radius:18px;background:var(--card,#fff);box-shadow:inset 0 0 0 1px var(--line)}
.pb02 .pb02-map p{margin:0;color:var(--ink2);font-size:.95rem;line-height:1.6}
.pb02 .pb02-map p b{display:block;font-family:var(--disp);color:var(--navy);font-size:1rem;margin-bottom:2px}
.pb02 .pb02-map .pb02-part{font-family:var(--disp);font-weight:800;color:var(--ink);font-size:1.15rem;margin:0 0 var(--s2);display:flex;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}
.pb02 .pb02-map .pb02-part span{font-weight:600;font-size:.88rem;color:var(--ink2)}
.pb02 .pb02-h3{font-family:var(--disp);font-size:1.1rem;color:var(--ink);margin:48px 0 0}
.pb02 .pb02-weeks{margin-top:var(--s3)}
.pb02 .pb02-weeks li::before{content:none}
.pb02 .pb02-rounds{width:100%;max-width:640px;border-collapse:collapse;margin-top:var(--s3);font-size:.95rem}
.pb02 .pb02-rounds th,.pb02 .pb02-rounds td{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid var(--line)}
.pb02 .pb02-rounds th{font-weight:600;color:var(--ink2);font-size:.85rem}
.pb02 .pb02-rounds td{color:var(--ink)}
.pb02 .pb02-rounds em{font-style:normal;font-size:.8rem;color:var(--navy);font-weight:700;white-space:nowrap}
.pb02 .pb02-rounds em.off{color:var(--ink2);font-weight:600}
.pb02 .pb02-inbook{margin:var(--s4) 0 0;padding-left:1.1em;color:var(--ink2);line-height:1.8;max-width:720px}
@media(max-width:860px){
  .pb02 .pb02-pains,.pb02 .pb02-map{grid-template-columns:1fr}
}
@media(max-width:720px){
  .pb02 .pb02-map>div{padding:var(--s3)}
  .pb02 .pb02-rounds{font-size:.9rem}
  .pb02 .pb02-h3{margin-top:36px}
}

/* แถบราคา/ปุ่มซื้อที่ลอยตามหน้า (เหมือนร้านคัมภีร์) — _pb_sticky.html */
.pbundle .pb-sticky{position:fixed;left:0;right:0;bottom:0;z-index:38;padding:10px 16px;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(20,33,74,.09);transform:translateY(115%);visibility:hidden;transition:transform .25s ease}
.pbundle .pb-sticky.on{transform:none;visibility:visible}
.pbundle .pb-sticky .inner{max-width:880px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.pbundle .pb-sticky-price{margin:0;display:grid;gap:1px}
.pbundle .pb-sticky-price b{font-family:var(--disp);font-size:1.3rem;font-weight:800;color:var(--navy);line-height:1.35}
.pbundle .pb-sticky-price span{color:var(--ink2);font-size:.8rem;line-height:1.4}
.pbundle .pb-sticky .btn{padding:11px 26px;white-space:nowrap}
@media(max-width:720px){
  .pbundle .pb-sticky{padding:9px 12px}
  .pbundle .pb-sticky .inner{gap:var(--s2)}
  .pbundle .pb-sticky-price b{font-size:1.15rem}
  .pbundle .pb-sticky-price span{font-size:.72rem}
  .pbundle .pb-sticky .btn{padding:11px 16px;font-size:.92rem}
}
