/* LMS styles (extends style.css) */

/* Sales page cover image */
.course-cover-section {
  padding: 1rem 0 2rem;
}

.manual-invite-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,.7fr) minmax(180px,.8fr);gap:.9rem 1rem;align-items:end;margin:1rem 0 1.25rem;padding:1rem;border:1px solid #d7dee8;border-radius:8px;background:#f8fafc}.manual-invite-form label{display:grid;gap:.35rem;font-weight:700;color:#17233b}.manual-invite-form input,.manual-invite-form select{width:100%;min-height:44px;padding:.6rem .7rem;border:1px solid #8996a8;border-radius:5px;background:#fff;color:#111;font:inherit}.manual-invite-form label:nth-of-type(4){grid-column:1 / -1}.manual-invite-form .manual-confirm{grid-column:1 / -1;display:flex;align-items:flex-start;font-weight:600}.manual-invite-form .manual-confirm input{width:20px;min-height:20px;margin-top:.15rem}.manual-invite-form .lms-cta-btn{width:max-content}
@media(max-width:760px){.manual-invite-form{grid-template-columns:1fr}.manual-invite-form label:nth-of-type(4),.manual-invite-form .manual-confirm{grid-column:auto}.manual-invite-form .lms-cta-btn{width:100%}}
.course-cover-image {
  width: 100%;
  height: auto;
  border-radius: 14px;
  display: block;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5),
              0 0 0 1px rgba(0, 230, 118, 0.15);
}

/* Courses index page */
.courses-header {
  padding: 4rem 0 2rem;
  text-align: center;
}
.courses-header h1 {
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  margin: 0 0 0.75rem;
}
.courses-header .lead {
  color: var(--text-muted);
  font-size: 1.05rem;
  margin: 0;
}

.score-stories {
  padding: 1rem 0 .75rem;
}

.score-stories + .lms-section {
  padding-top: .75rem;
}

.score-stories + .lms-section .course-description > :first-child {
  margin-top: 0;
}
.score-stories .container { max-width: 720px; }
.score-stories-heading { text-align: center; margin-bottom: 1.25rem; }
.score-stories-heading .eyebrow { margin-bottom: .25rem; }
.score-stories-heading h2 {
  color: var(--text-bright);
  font-size: 1.65rem;
  margin: 0;
}
.score-carousel {
  position: relative;
  width: min(100%, 560px);
  margin: 0 auto;
  padding: 0 3.25rem 2.25rem;
}
.score-carousel-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(22, 58, 112, .14);
}
.score-carousel-track::-webkit-scrollbar { display: none; }
.score-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  margin: 0;
  aspect-ratio: 1;
  background: var(--bg-surface);
}
.score-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.score-carousel-btn {
  position: absolute;
  top: calc(50% - 1.125rem);
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: #fff;
  color: var(--text-bright);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(22, 58, 112, .12);
}
.score-carousel-btn:hover,
.score-carousel-btn:focus-visible { border-color: var(--accent-dim); color: var(--accent-dim); }
.score-carousel-btn.prev { left: 0; }
.score-carousel-btn.next { right: 0; }
.score-carousel-dots {
  position: absolute;
  left: 50%;
  bottom: .65rem;
  transform: translateX(-50%);
  display: flex;
  gap: .45rem;
}
.score-carousel-dots button {
  width: .55rem;
  height: .55rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #b8c2d1;
  cursor: pointer;
}
.score-carousel-dots button[aria-current="true"] { background: var(--accent-dim); }
.score-carousel-status {
  position: absolute;
  right: 3.25rem;
  bottom: .25rem;
  color: var(--text-muted);
  font-size: .8rem;
  margin: 0;
}

/* Continuous student-result marquee */
.score-marquee {
  width: 100%;
  overflow: hidden;
  padding: .35rem 0 2rem;
  touch-action: pan-y;
}
.score-marquee-track {
  width: max-content;
  display: flex;
  will-change: transform;
  animation: score-marquee-scroll 34s linear infinite;
}
.score-marquee-group {
  display: flex;
  gap: 1rem;
  padding-right: 1rem;
}
.score-marquee-item {
  flex: 0 0 clamp(250px, 28vw, 340px);
  width: clamp(250px, 28vw, 340px);
  aspect-ratio: 1;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d8dee8;
  border-radius: 8px;
  background: #fff;
  cursor: zoom-in;
  box-shadow: 0 10px 24px rgba(22,58,112,.1);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.score-marquee-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.score-marquee:hover .score-marquee-track,
.score-marquee:focus-within .score-marquee-track,
.score-marquee:active .score-marquee-track { animation-play-state: paused; }
.score-marquee-item:hover,
.score-marquee-item:focus-visible {
  z-index: 1;
  transform: translateY(-4px);
  border-color: #163a70;
  box-shadow: 0 16px 34px rgba(22,58,112,.18);
  outline: 0;
}
@keyframes score-marquee-scroll {
  to { transform: translateX(-50%); }
}

/* FULL TOEIC conversion sales page */
.sales-page { overflow: hidden; }
.sales-container { width: min(100%, 760px); margin: 0 auto; padding: 0 1.5rem; }
.sales-container-wide { width: min(100%, 1120px); }
.sales-band { padding: 4.5rem 0; }
.sales-band-muted { background: var(--bg-surface); }
.sales-section-heading { text-align: center; max-width: 680px; margin: 0 auto 2rem; }
.sales-section-heading h2 { font-size: 2rem; margin-bottom: .75rem; }
.sales-section-heading p:last-child { color: var(--text-muted); margin-bottom: 0; }
.sales-hero { background: #070b12; color: #fff; }
.sales-hero-media { width: min(100%, 1280px); min-height: 0; aspect-ratio: 16 / 9; margin: 0 auto; background: #070b12 url('/static/img/course-covers/v4/full-toeic-course-cover-v4.webp') center / contain no-repeat; }
.sales-hero-copy { padding-top: 1.5rem; padding-bottom: 1.75rem; text-align: center; }
.sales-hero-copy h1 { color: #fff; font-size: 2rem; margin: 0 0 .5rem; }
.sales-hero-copy > p:not(.sales-kicker) { max-width: 760px; margin: 0 auto 1rem; color: #e8edf5; }
.sales-kicker { color: #7ee88f; font-family: var(--font-heading); font-weight: 600; margin: 0 0 .25rem; }
.sales-hero-actions { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }
.sales-hero .lms-cta-btn.outline { border-color: #fff; color: #fff; }
.sales-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #080b10; border-radius: 8px; overflow: hidden; }
.sales-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sales-live-emphasis { color: #147c27; }
.sales-video-poster { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #071225; color: #fff; cursor: pointer; overflow: hidden; }
.sales-video-poster > img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease, filter .25s ease; }
.sales-video-poster:hover > img, .sales-video-poster:focus-visible > img { transform: scale(1.012); filter: brightness(.9); }
.sales-video-poster:focus-visible { outline: 4px solid #32d74b; outline-offset: -4px; }
.sales-video-play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; transform: translate(-50%,-50%); display: grid; place-items: center; border: 3px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(22,58,112,.92); box-shadow: 0 10px 32px rgba(0,0,0,.35); transition: transform .2s ease, background .2s ease; }
.sales-video-play span { width: 0; height: 0; margin-left: 6px; border-top: 13px solid transparent; border-bottom: 13px solid transparent; border-left: 21px solid #fff; }
.sales-video-poster:hover .sales-video-play { transform: translate(-50%,-50%) scale(1.08); background: #147c27; }
.sales-video-watch { position: absolute; left: 50%; bottom: 5%; transform: translateX(-50%); padding: .45rem .8rem; border-radius: 4px; background: rgba(7,18,37,.88); color: #fff; font: 600 .88rem var(--font-heading); white-space: nowrap; }
.sales-check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.sales-check-list li { position: relative; margin: 0; padding: .85rem 1rem .85rem 3rem; border-bottom: 1px solid var(--border); }
.sales-check-list li::before { content: '\2713'; position: absolute; left: .75rem; top: .72rem; color: #147c27; font-family: var(--font-heading); font-weight: 700; font-size: 1.2rem; }
.sales-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
.trial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.trial-item { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; background: #fff; }
.trial-item h3 { margin: 1rem 1rem .25rem; font-size: 1.05rem; }
.trial-item > p { margin: 0 1rem 1.25rem; color: var(--text-muted); font-size: .9rem; }
.sales-checkout-band { background: #eef2f7; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.sales-price-heading { margin-bottom: 1.5rem; }
.sales-old-price { text-decoration: line-through; margin: .25rem 0 0 !important; }
.sales-price { color: var(--text-bright) !important; margin: 0 !important; }
.sales-price span { font: 700 3.1rem/1.1 var(--font-heading); color: #147c27; }
.sales-checkout-form { max-width: 620px; margin: 0 auto; padding: 1.5rem; background: #fff; border: 1px solid var(--border); border-radius: 8px; }
.sales-checkout-form > label:not(.sales-terms), .sales-form-grid label { display: block; margin-bottom: 1rem; }
.sales-checkout-form label > span:first-child { display: block; color: var(--text-bright); font-weight: 600; margin-bottom: .35rem; }
.sales-checkout-form input[type='text'], .sales-checkout-form input[type='email'], .sales-checkout-form input[type='tel'] { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid #aeb8c5; border-radius: 6px; background: #fff; color: var(--text); font: inherit; }
.sales-checkout-form input:focus { outline: 3px solid rgba(50, 215, 75, .22); border-color: #147c27; }
.sales-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sales-terms { display: grid; grid-template-columns: 22px 1fr; gap: .65rem; align-items: start; margin: .5rem 0 1.25rem; font-size: .88rem; color: var(--text-muted); }
.sales-terms input { width: 20px; height: 20px; margin-top: .2rem; accent-color: #147c27; }
.sales-terms span { display: inline !important; margin: 0 !important; color: inherit !important; font-weight: 400 !important; }
.sales-terms a { color: var(--text-bright); text-decoration: underline; }
.sales-pay-button { width: 100%; min-height: 52px; font-size: 1.05rem; }
.sales-pay-button:disabled { cursor: not-allowed; opacity: .58; filter: grayscale(.25); }
.sales-payment-note { margin: .8rem 0 0; color: var(--text-muted); font-size: .85rem; text-align: center; }
.sales-test-notice, .sales-form-error { max-width: 620px; margin: 0 auto 1rem; padding: .8rem 1rem; border-radius: 6px; }
.sales-test-notice { background: #fff7d6; border: 1px solid #e1bb38; color: #5d4700; }
.sales-form-error { background: #fff0f0; border: 1px solid #cf4a4a; color: #8c1d1d; }
.sales-faq { border-top: 1px solid var(--border); }
.sales-faq details { border-bottom: 1px solid var(--border); padding: 0; }
.sales-faq summary { color: var(--text-bright); font-family: var(--font-heading); font-weight: 600; cursor: pointer; padding: 1.15rem 2rem 1.15rem 0; position: relative; }
.sales-faq summary::after { content: '+'; position: absolute; right: .25rem; top: .85rem; font-size: 1.5rem; color: #147c27; }
.sales-faq details[open] summary::after { content: '\2212'; }
.sales-faq p { margin: 0; padding: 0 0 1.15rem; color: var(--text-muted); }
.sales-mobile-cta { display: none; }
.sales-mid-cta { max-width: 560px; margin: 1rem auto 0; padding: 1.25rem; display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; align-items: center; border-top: 2px solid #163a70; background: #fff; }
.sales-mid-cta p { margin: 0; color: var(--text-muted); font-size: .88rem; }
.sales-mid-cta strong { color: #163a70; font-size: 1.05rem; }
.sales-mid-cta .lms-cta-btn { grid-column: 2; grid-row: 1 / span 2; }
.product-mockup-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.product-mockup-grid article { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; background: #fff; }
.product-mockup-grid img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.product-mockup-grid h3 { margin: 1rem 1rem .35rem; font-size: 1.1rem; }
.product-mockup-grid p { margin: 0 1rem 1.25rem; color: var(--text-muted); font-size: .9rem; }
.admin-table-wrap { overflow-x: auto; }
.legacy-orders-table { min-width: 860px; }
.order-status { display: inline-block; padding: .25rem .55rem; border-radius: 4px; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.order-status-pending_account { background: #fff3cd; color: #6a5000; }
.order-status-account_created { background: #e7f0ff; color: #163a70; }
.order-status-credentials_sent { background: #e5f8e9; color: #126923; }
.order-actions { display: flex; gap: .4rem; white-space: nowrap; }
.order-actions form { margin: 0; }
.order-actions .lms-cta-btn { padding: .45rem .65rem; font-size: .78rem; }

@media (max-width: 760px) {
  .sales-band { padding: 3.25rem 0; }
  .sales-section-heading h2 { font-size: 1.55rem; }
  .sales-hero-media { width: 100%; }
  .sales-hero-copy h1 { font-size: 1.55rem; }
  .sales-check-grid, .trial-grid, .sales-form-grid { grid-template-columns: 1fr; }
  .product-mockup-grid { grid-template-columns: 1fr; }
  .sales-mid-cta { grid-template-columns: 1fr; text-align: center; }
  .sales-mid-cta .lms-cta-btn { grid-column: 1; grid-row: auto; margin-top: .75rem; }
  .sales-form-grid { gap: 0; }
  .sales-price span { font-size: 2.65rem; }
  .sales-video-play { width: 58px; height: 58px; }
  .sales-video-play span { border-top-width: 10px; border-bottom-width: 10px; border-left-width: 17px; }
  .sales-video-watch { font-size: .75rem; bottom: 4%; }
  .sales-mobile-cta { position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 120; min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: .65rem 1rem; border-radius: 8px; background: #147c27; color: #fff; box-shadow: 0 10px 30px rgba(17, 17, 17, .28); }
  .sales-mobile-cta:hover { color: #fff; }
  .sales-mobile-cta span { font-size: .85rem; }
  .sales-mobile-cta strong { color: #fff; }
  .sales-page { padding-bottom: 4.5rem; }
}

/* Homepage trust layer */
.home-trust-page { color: #111820; background: #fff; }
.home-wide { width: min(100% - 3rem,1180px); margin-inline: auto; }
.home-trust-hero { min-height: min(680px,76vh); overflow: hidden; background: #071a32; }
.home-trust-hero-inner { width: min(100%,1440px); min-height: min(680px,76vh); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(430px,.88fr); align-items: stretch; }
.home-trust-copy { z-index: 1; align-self: center; width: 100%; max-width: none; padding: 3.5rem 2.5rem 3.5rem clamp(2rem,9vw,8.125rem); }
.home-trust-copy .eyebrow { color: #77ee89; }
.home-trust-copy h1 { max-width: 720px; margin: .5rem 0 1.25rem; color: #fff; font-size: clamp(2.65rem,4vw,4rem); line-height: 1.14; }
.home-trust-copy h1 span { color: #54e76a; }
.home-trust-copy > p:not(.eyebrow) { max-width: 650px; color: #d9e3ee; font-size: 1.15rem; line-height: 1.75; }
.home-trust-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.8rem; }
.home-trust-actions > a:last-child { min-height: 48px; display: inline-flex; align-items: center; padding: .65rem 1rem; color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.home-trust-portrait { position: relative; width: 100%; height: 100%; min-height: min(680px,76vh); overflow: hidden; padding: 0; border: 0; background: #102842; cursor: pointer; }
.home-trust-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 20%; transition: opacity .28s ease,transform .35s ease; }
.home-trust-portrait-base { opacity: 1; }
.home-trust-portrait-smile { opacity: 0; }
.home-trust-portrait.is-smiling .home-trust-portrait-base,.home-trust-portrait:focus-visible .home-trust-portrait-base { opacity: 0; }
.home-trust-portrait.is-smiling .home-trust-portrait-smile,.home-trust-portrait:focus-visible .home-trust-portrait-smile { opacity: 1; }
.home-trust-portrait.is-smiling img,.home-trust-portrait:focus-visible img { transform: scale(1.012); }
.home-trust-portrait:focus-visible { z-index: 2; outline: 3px solid #77ee89; outline-offset: -5px; }
@media (hover:hover) {
  .home-trust-portrait:hover .home-trust-portrait-base { opacity: 0; }
  .home-trust-portrait:hover .home-trust-portrait-smile { opacity: 1; }
  .home-trust-portrait:hover img { transform: scale(1.012); }
}
.home-trust-stats { border-bottom: 1px solid #dfe3e8; background: #fff; }
.home-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.home-stat-grid > div { min-height: 112px; display: grid; align-content: center; gap: .2rem; padding: 1.25rem; border-right: 1px solid #dfe3e8; text-align: center; }
.home-stat-grid > div:last-child { border-right: 0; }
.home-stat-grid strong { color: #163a70; font: 700 1.25rem var(--font-heading); }
.home-stat-grid span { color: #5e6470; font-size: .84rem; }
.home-course-focus,.home-about-mob,.home-speaker-work,.home-cases,.home-free-trial,.home-steps,.home-company { padding: 5rem 0; }
.home-course-focus { background: #f4f5f7; }
.home-course-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); align-items: center; gap: 3.5rem; }
.home-course-layout > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 8px; box-shadow: 0 18px 44px rgba(7,26,50,.14); }
.home-course-layout h2,.home-about-layout h2,.home-heading h2,.home-trial-layout h2,.home-company h2 { margin: .35rem 0 1rem; color: #163a70; font-size: clamp(1.8rem,3vw,2.55rem); }
.home-course-layout ul { padding-left: 1.25rem; }
.home-course-layout li { margin-bottom: .45rem; }
.home-course-price { display: flex; align-items: baseline; gap: .8rem; margin: 1.25rem 0; }
.home-course-price s { color: #6b7280; }
.home-course-price strong { color: #147c27; font: 700 2.35rem var(--font-heading); }
.home-about-mob { background: #fff; }
.home-about-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); align-items: center; gap: 3.5rem; }
.home-about-photo img { width: 100%; aspect-ratio: 3/2; display: block; object-fit: cover; border-radius: 8px; }
.home-about-layout p { color: #39475a; line-height: 1.8; }
.home-about-education { display: grid; gap: .15rem; margin-top: 1.25rem; padding: 1rem 1.2rem; border-left: 4px solid #32d74b; background: #f4f5f7; }
.home-about-education strong { color: #163a70; }
.home-speaker-work { background: #071a32; color: #fff; }
.home-speaker-work .home-heading h2 { color: #fff; }
.home-speaker-work .home-heading > p:last-child { color: #c7d2df; }
.home-speaker-work .eyebrow { color: #77ee89; }
.home-heading { max-width: 760px; margin: 0 auto 2rem; text-align: center; }
.home-heading > p:last-child { color: #5e6470; }
.home-work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.home-work-grid article { min-height: 185px; display: grid; grid-template-columns: 230px 1fr; overflow: hidden; border: 1px solid #32465f; border-radius: 8px; background: #102842; }
.home-work-grid img { width: 230px; height: 100%; object-fit: cover; }
.home-work-grid article > div { align-self: center; padding: 1.25rem; }
.home-work-grid strong { color: #fff; font: 700 1.05rem var(--font-heading); }
.home-work-grid p { margin: .45rem 0 0; color: #c7d2df; }
.home-work-more { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1.25rem; padding: 1rem 1.2rem; border-left: 4px solid #32d74b; background: #102842; color: #c7d2df; }
.home-work-more a { flex: 0 0 auto; color: #77ee89; font-weight: 700; }
.home-cases { background: #f4f5f7; }
.home-case-tabs,.home-trial-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.home-case-tabs button,.home-trial-buttons button { min-height: 44px; padding: .6rem 1rem; border: 1px solid #aebbc9; border-radius: 6px; background: #fff; color: #163a70; font: 600 .9rem var(--font-heading); cursor: pointer; }
.home-case-tabs button[aria-selected='true'],.home-trial-buttons button[aria-selected='true'] { border-color: #163a70; background: #163a70; color: #fff; }
.home-case-stage { max-width: 1050px; margin: 0 auto; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 15px 36px rgba(7,26,50,.12); }
.home-case-stage img { width: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; }
.home-result-note { margin: .8rem 0 0; color: #6b7280; font-size: .76rem; text-align: center; }
.home-all-reviews { width: min(100%,540px); min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.25rem auto 0; padding: .85rem 1rem .85rem 1.2rem; border: 1px solid #b8c7d8; border-left: 4px solid #32d74b; border-radius: 6px; background: #fff; color: #163a70; box-shadow: 0 8px 22px rgba(22,58,112,.08); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.home-all-reviews:hover,.home-all-reviews:focus-visible { color: #163a70; border-color: #32d74b; transform: translateY(-3px); box-shadow: 0 13px 28px rgba(22,58,112,.14); outline: 0; }
.home-all-reviews span { min-width: 0; display: grid; gap: .12rem; }
.home-all-reviews strong { font: 700 1rem var(--font-heading); }
.home-all-reviews small { color: #5e6470; font-size: .78rem; }
.home-all-reviews b { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 50%; background: #163a70; color: #fff; font-size: 1.15rem; }
.home-free-trial { background: #fff; }
.home-trial-layout { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); align-items: center; gap: 3.5rem; }
.home-trial-buttons { justify-content: flex-start; margin-top: 1.25rem; }
.home-trial-player { aspect-ratio: 16/9; overflow: hidden; border-radius: 8px; background: #071a32; box-shadow: 0 15px 36px rgba(7,26,50,.14); }
.home-trial-player button { position: relative; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.home-trial-player img,.home-trial-player iframe { width: 100%; height: 100%; display: block; border: 0; object-fit: cover; }
.home-trial-player button span { position: absolute; left: 50%; top: 50%; width: 66px; height: 66px; display: grid; place-items: center; padding-left: 4px; border-radius: 50%; background: #32d74b; color: #071a32; font-size: 1.6rem; transform: translate(-50%,-50%); box-shadow: 0 8px 25px rgba(0,0,0,.28); }
.home-steps { background: #eef2f7; text-align: center; }
.home-steps ol { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; margin: 0 0 1.5rem; padding: 0; list-style: none; text-align: left; }
.home-steps li { min-height: 180px; padding: 1.25rem; border-top: 4px solid #32d74b; border-radius: 6px; background: #fff; }
.home-steps li > strong { display: block; color: #147c27; font: 700 1.6rem var(--font-heading); }
.home-steps li span { display: grid; gap: .3rem; color: #5e6470; }
.home-steps li b { color: #163a70; font-family: var(--font-heading); }
.home-company { background: #071a32; color: #d7e0ea; }
.home-company-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; }
.home-company h2 { color: #fff; }
.home-company .eyebrow { color: #77ee89; }
.home-company p > strong { color: #77ee89; }
.home-contact-links { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.home-contact-links a { --contact-color:#32d74b; min-width: 0; min-height: 76px; display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; align-items: center; gap: .75rem; padding: .7rem .75rem; border: 1px solid #38506b; border-radius: 7px; background: #0c223c; color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.12); transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.home-contact-links a:hover,.home-contact-links a:focus-visible { border-color: var(--contact-color); background: #112d4d; color: #fff; transform: translateY(-3px); box-shadow: 0 13px 28px rgba(0,0,0,.2); outline: 0; }
.home-contact-links a > span:nth-child(2) { min-width: 0; display: grid; gap: .08rem; }
.home-contact-links a strong { overflow-wrap: anywhere; color: #fff; font: 600 .93rem var(--font-heading); }
.home-contact-links a small { color: #aebfd1; font-size: .71rem; line-height: 1.35; }
.home-contact-links a > b { color: #8397ae; font: 400 1.6rem/1 var(--font); transition: color .18s ease,transform .18s ease; }
.home-contact-links a:hover > b,.home-contact-links a:focus-visible > b { color: var(--contact-color); transform: translateX(2px); }
.contact-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--contact-color); color: #fff; font: 700 1.05rem var(--font-heading); box-shadow: 0 0 0 4px rgba(255,255,255,.055); transition: transform .18s ease; }
.home-contact-links a:hover .contact-icon,.home-contact-links a:focus-visible .contact-icon { transform: scale(1.06); }
.contact-phone { --contact-color:#32d74b !important; }
.contact-line { --contact-color:#06c755 !important; }
.contact-email { --contact-color:#4285f4 !important; }
.contact-facebook { --contact-color:#1877f2 !important; }
.contact-youtube { --contact-color:#ff0033 !important; }
.contact-tiktok { --contact-color:#111 !important; }
.contact-icon-line { font-size: .63rem; }
.contact-icon-facebook { font: 700 1.45rem Arial,sans-serif; }

@media (max-width: 900px) {
  .home-trust-hero,.home-trust-hero-inner { min-height: 650px; }
  .home-trust-hero-inner { grid-template-columns: 1.05fr .95fr; }
  .home-trust-hero-inner > img { height: 650px; }
  .home-stat-grid { grid-template-columns: 1fr 1fr; }
  .home-stat-grid > div:nth-child(2) { border-right: 0; }
  .home-stat-grid > div:nth-child(-n+2) { border-bottom: 1px solid #dfe3e8; }
  .home-course-layout,.home-about-layout,.home-trial-layout { gap: 2rem; }
  .home-work-grid article { grid-template-columns: 170px 1fr; }
  .home-work-grid img { width: 170px; }
  .home-steps ol { grid-template-columns: 1fr 1fr; }
  .home-company-layout { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 700px) {
  .home-wide { width: min(100% - 2rem,1180px); }
  .home-trust-hero { min-height: 0; }
  .home-trust-hero-inner { min-height: 0; display: flex; flex-direction: column-reverse; }
  .home-trust-portrait { width: 100%; height: min(100vw,420px); min-height: 0; }
  .home-trust-portrait img { object-position: center 18%; }
  .home-trust-copy { max-width: none; padding: 1.5rem 1rem 2.2rem; }
  .home-trust-copy h1 { font-size: 2.25rem; }
  .home-trust-copy > p:not(.eyebrow) { font-size: 1rem; }
  .home-trust-actions { align-items: stretch; flex-direction: column; text-align: center; }
  .home-trust-actions > a:last-child { justify-content: center; }
  .home-stat-grid > div { min-height: 95px; padding: .8rem .35rem; }
  .home-stat-grid strong { font-size: 1rem; }
  .home-stat-grid span { font-size: .72rem; }
  .home-course-focus,.home-about-mob,.home-speaker-work,.home-cases,.home-free-trial,.home-steps,.home-company { padding: 3.25rem 0; }
  .home-course-layout,.home-about-layout,.home-trial-layout,.home-company-layout { grid-template-columns: 1fr; }
  .home-course-layout { gap: 1.5rem; }
  .home-about-layout { display: flex; flex-direction: column-reverse; gap: 1.5rem; }
  .home-work-grid { display: flex; gap: .75rem; margin-inline: -1rem; padding: 0 1rem .5rem; overflow-x: auto; scroll-snap-type: x mandatory; }
  .home-work-grid article { min-height: 330px; flex: 0 0 min(82vw,330px); display: block; scroll-snap-align: start; }
  .home-work-grid img { width: 100%; height: 180px; }
  .home-work-more { align-items: flex-start; flex-direction: column; }
  .home-case-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .home-case-tabs button { padding-inline: .4rem; font-size: .78rem; }
  .home-case-stage { margin-inline: -1rem; border-radius: 0; box-shadow: none; }
  .home-case-stage img { aspect-ratio: 16/9; }
  .home-all-reviews { min-height: 68px; margin-top: 1rem; padding: .75rem .8rem .75rem 1rem; }
  .home-all-reviews strong { font-size: .92rem; }
  .home-all-reviews small { font-size: .72rem; }
  .home-trial-layout { gap: 1.5rem; }
  .home-trial-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .home-steps ol { grid-template-columns: 1fr; }
  .home-steps li { min-height: 0; display: grid; grid-template-columns: 48px 1fr; gap: .5rem; }
  .home-contact-links { grid-template-columns: 1fr; }
}

.nav-cart { min-width: 58px; height: 40px; padding: 0 .65rem; display: grid; place-items: center; font-size: .82rem; font-weight: 600; color: var(--text-bright); border: 1px solid var(--border); border-radius: 6px; background: #fff; }
.account-shell, .commerce-shell { min-height: 68vh; padding: 3.5rem 0 5rem; background: #f4f5f7; }
.account-card { max-width: 480px; margin: 0 auto; text-align: left; }
.account-card h1 { font-size: 1.8rem; margin-bottom: .35rem; }
.stack-form, .checkout-form { display: grid; gap: 1rem; }
.stack-form label, .checkout-form > label, .form-grid label { display: grid; gap: .4rem; color: #111; font-weight: 600; }
.stack-form input, .checkout-form input, .profile-form input[type="tel"], .profile-form input[type="password"] { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid #aeb8c5; border-radius: 6px; background: #fff; color: #111; font: inherit; }
.stack-form input:focus, .checkout-form input:focus { outline: 3px solid rgba(50,215,75,.2); border-color: #147c27; }
.auth-text-link, .continue-link { display: inline-block; margin-top: 1rem; color: #163a70; text-decoration: underline; }
.form-error, .form-success, .test-mode-banner { padding: .9rem 1rem; border-radius: 6px; margin: 0 auto 1.25rem; }
.form-error { background: #fff0f0; border: 1px solid #cf4a4a; color: #8c1d1d; }
.form-success { background: #e8f8eb; border: 1px solid #70bc7d; color: #126923; }
.test-mode-banner { max-width: 760px; background: #fff7d6; border: 1px solid #e1bb38; color: #5d4700; text-align: center; }
.commerce-container { max-width: 1080px; }
.commerce-heading { max-width: 680px; margin: 0 auto 2rem; text-align: center; }
.commerce-heading h1 { margin: 0 0 .5rem; font-size: 2.2rem; }
.commerce-heading p:last-child { color: var(--text-muted); }
.checkout-steps { max-width: 720px; margin: -1rem auto 1.75rem; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); list-style: none; }
.checkout-steps li { position: relative; display: grid; justify-items: center; gap: .4rem; color: #667085; font-size: .82rem; font-weight: 600; text-align: center; }
.checkout-steps li::after { content: ''; position: absolute; z-index: 0; top: 16px; left: calc(50% + 22px); width: calc(100% - 44px); height: 2px; background: #cbd5e1; }
.checkout-steps li:last-child::after { display: none; }
.checkout-steps span { position: relative; z-index: 1; width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid #cbd5e1; border-radius: 50%; background: #fff; color: #667085; }
.checkout-steps .is-current { color: #126923; }
.checkout-steps .is-current span { border-color: #32d74b; background: #32d74b; color: #071225; }
.cart-layout, .checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.5rem; align-items: start; }
.cart-items, .checkout-form, .order-summary, .empty-cart { background: #fff; border: 1px solid var(--border); border-radius: 8px; }
.cart-item { display: grid; grid-template-columns: 160px minmax(0,1fr) 36px; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--border); align-items: center; }
.cart-item:last-child { border-bottom: 0; }
.cart-item img { width: 160px; aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; }
.cart-item h2 { font-size: 1.05rem; margin: 0 0 .25rem; }
.cart-item p { color: var(--text-muted); font-size: .88rem; margin: 0 0 .5rem; }
.icon-remove { width: 32px; height: 32px; border: 0; background: transparent; color: #7a2630; font-size: 1.6rem; cursor: pointer; }
.order-summary { padding: 1.25rem; position: sticky; top: 88px; }
.order-summary h2 { font-size: 1.2rem; margin-top: 0; }
.order-summary .lms-cta-btn { width: 100%; margin-top: 1rem; }
.summary-item, .summary-total, .thankyou-items > div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--border); }
.summary-item span { max-width: 65%; }
.summary-total { font-size: 1.1rem; border-bottom: 0; border-top: 2px solid #163a70; margin-top: .5rem; }
.order-summary p { color: var(--text-muted); font-size: .82rem; margin-bottom: 0; }
.checkout-form { padding: 1.5rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.checkout-form small { display: block; color: var(--text-muted); font-weight: 400; }
.check-row { display: grid !important; grid-template-columns: 22px 1fr; gap: .65rem !important; align-items: start; color: var(--text-muted) !important; font-size: .88rem; font-weight: 400 !important; }
.check-row input { width: 20px !important; min-height: 20px !important; height: 20px; margin-top: .15rem; accent-color: #147c27; }
.checkout-submit { min-height: 52px; font-size: 1rem; }
.checkout-payment-note { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; padding: .85rem; border: 1px solid #cbd5e1; border-radius: 6px; background: #f8fafc; }
.checkout-payment-note strong { width: 100%; color: #163a70; font-size: .9rem; }
.checkout-payment-note span { padding: .3rem .55rem; border: 1px solid #b8c6d6; border-radius: 5px; background: #fff; color: #163a70; font-size: .78rem; font-weight: 700; }
.checkout-secure-note { margin: -.35rem 0 0; color: #5e6470; font-size: .8rem; text-align: center; }
.checkout-after-pay { margin-top: 1rem; padding: 1rem; border-left: 3px solid #32d74b; background: #edf9ef; }
.checkout-after-pay strong { color: #126923; }
.checkout-after-pay ul { margin: .55rem 0 0; padding-left: 1.15rem; color: #374151; font-size: .84rem; }
.checkout-after-pay li + li { margin-top: .3rem; }
.empty-cart { padding: 3rem 1.5rem; text-align: center; }
.course-card-actions { display: grid; grid-template-columns: 1fr 1.2fr; gap: .5rem; }
.course-card-actions form, .course-card-actions button { width: 100%; height: 100%; }
.profile-password { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.profile-password h2 { font-size: 1.25rem; margin-bottom: .15rem; }
.profile-password > p { color: var(--text-muted); font-size: .85rem; }
.thankyou-items { margin: 1.25rem 0; text-align: left; }
.thank-you-card { margin: 5rem auto; background: #fff !important; border: 1px solid var(--border) !important; color: #111 !important; box-shadow: 0 14px 44px rgba(22,58,112,.12) !important; }
.thank-you-card h2, .thank-you-card strong { color: #163a70 !important; }
.thank-you-card p { color: #5e6470 !important; }
.profile-form input[type="text"], .profile-form input[type="tel"], .profile-form input[type="password"], .profile-form textarea { background: #fff !important; color: #111 !important; border-color: #aeb8c5 !important; }
.legal-page { padding: 4rem 0; }
.legal-page .container { max-width: 780px; }
.legal-page h1 { text-align: center; }
.legal-page h2 { margin-top: 2rem; font-size: 1.35rem; }
.legal-updated { text-align: center; color: var(--text-muted); }
.cookie-consent { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; max-width: 680px; margin: auto; background: #fff; border: 1px solid #c9d0da; border-radius: 8px; padding: 1rem 1.25rem; box-shadow: 0 12px 40px rgba(17,17,17,.22); }
.cookie-consent[hidden] { display: none; }
.cookie-consent strong { color: #111; }
.cookie-consent p { margin: .35rem 0 .8rem; color: #5e6470; font-size: .88rem; }
.cookie-actions { display: flex; justify-content: flex-end; gap: .5rem; }

@media (max-width: 760px) {
  .cart-layout, .checkout-layout { grid-template-columns: 1fr; }
  .checkout-layout .order-summary { order: -1; }
  .order-summary { position: static; }
  .commerce-shell { padding-top: 2.5rem; }
  .commerce-heading h1 { font-size: 1.7rem; }
  .checkout-steps { margin-bottom: 1.25rem; }
  .checkout-steps li { font-size: .7rem; }
  .checkout-form { padding: 1.15rem; }
  .form-grid { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 100px minmax(0,1fr) 32px; }
  .cart-item img { width: 100px; }
  .course-card-actions { grid-template-columns: 1fr; }
  .cookie-actions { flex-direction: column-reverse; }
  .cookie-actions .lms-cta-btn { width: 100%; }
}

@media (max-width: 640px) {
  .score-stories { padding: .5rem 0 .75rem; }
  .score-stories-heading h2 { font-size: 1.4rem; }
  .score-carousel { padding: 0 0 2.25rem; }
  .score-carousel-btn {
    top: auto;
    bottom: 0;
    width: 2rem;
    height: 2rem;
    font-size: 1.6rem;
  }
  .score-carousel-btn.prev { left: .25rem; }
  .score-carousel-btn.next { right: .25rem; }
  .score-carousel-status { right: 2.75rem; bottom: .2rem; }
}

.courses-grid-section {
  padding: 3rem 0 5rem;
}

.info-section { padding: 5rem 0; }
.info-section-muted { background: var(--bg-surface); }
.eyebrow {
  color: var(--accent-dim);
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: .5rem;
}
.info-section h2 { color: var(--text-bright); }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2rem; }
.steps-grid > div { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; }
.steps-grid strong { color: var(--accent-dim); font-size: 1.5rem; }
.steps-grid h3 { color: var(--text-bright); margin-top: .75rem; }
.contact-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.contact-links a { color: var(--text-bright); font-weight: 600; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.footer-inner span { color: var(--text-muted); }

@media (max-width: 900px) {
  .nav-links { gap: .8rem; }
  .nav-links a { font-size: .75rem; }
}
@media (max-width: 640px) {
  .nav-logo span { display: none; }
  .steps-grid { grid-template-columns: 1fr; }
  .info-section { padding: 3.5rem 0; }
}
.courses-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
}
.course-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s, border-color 0.2s;
}
.course-card:hover {
  transform: translateY(-3px);
  border-color: rgba(50, 215, 75, 0.55);
}
.course-card-cover {
  aspect-ratio: 16 / 9;
  background: var(--bg-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--border);
}
.course-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course-card-cover-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.course-card-cover-placeholder {
  font-size: 3rem;
  font-weight: 700;
  color: var(--accent);
  opacity: 0.55;
}
.course-card-cover-placeholder img {
  width: 80px;
  height: 80px;
  opacity: 0.7;
  object-fit: contain;
}
.course-card-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.course-card-body h3 {
  color: var(--text-bright);
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  line-height: 1.35;
  text-wrap: balance;
}
.course-card-sub {
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0 0 1.5rem;
  flex: 1;
}
.course-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: auto;
}
.course-card-price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}
.course-card-price .amount {
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--accent);
}
.course-card-price .currency {
  font-size: 0.85rem;
  color: var(--text-muted);
}
.course-card-price .old-price {
  font-size: 1rem;
  color: #5e6470;
  opacity: 1;
  text-decoration: line-through;
}
.course-description { line-height: 1.8; }
.course-description h3 { margin: 2rem 0 .65rem; font-size: 1.15rem; }
.course-description ul { margin-top: .5rem; }
.course-card-price .old-price { display: block; }
.course-card .lms-cta-btn {
  padding: 0.65rem 1.2rem;
  font-size: 0.95rem;
}
.course-card .lms-cta-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.4);
}
.course-card-soon {
  font-size: 0.85rem;
  color: var(--text-muted);
  font-weight: 600;
  letter-spacing: 0.3px;
}
.course-card-enrolled {
  font-size: 0.85rem;
  color: var(--accent);
  font-weight: 600;
  letter-spacing: 0.3px;
}
.course-card-enrolled-row {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.course-card-review-link {
  font-size: 0.78rem;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 1px dashed var(--text-muted);
  align-self: flex-start;
}
.course-card-review-link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* Private TOEIC order page */
.private-hero { position: relative; min-height: 520px; overflow: hidden; background: #f4f5f7; }
.private-hero-image { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,245,247,.98) 0%, rgba(244,245,247,.86) 32%, rgba(244,245,247,.08) 72%), url('/static/img/private-toeic/private-toeic-restaurant-bg-v2.webp') center / cover no-repeat; animation: private-hero-drift 9s ease-in-out infinite alternate; }
.private-hero-character { position: absolute; z-index: 2; right: 1%; bottom: -8%; width: min(48vw, 720px); height: 112%; padding: 0; border: 0; background: transparent; cursor: pointer; transform-origin: 55% 100%; transition: transform .28s cubic-bezier(.2,.8,.2,1), filter .28s ease; }
.private-hero-character img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 16px rgba(7,26,50,.18)); }
.private-hero-character:hover, .private-hero-character:focus-visible, .private-hero-character.is-talking { transform: translateY(-9px) rotate(-.5deg) scale(1.025); filter: brightness(1.02); }
.private-hero-character:focus-visible { outline: 3px solid #32d74b; outline-offset: -8px; }
.private-character-bubble { position: absolute; z-index: 3; left: 3%; top: 17%; padding: .72rem 1.05rem; border: 2px solid #163a70; border-radius: 8px; background: #fff; color: #163a70; font: 700 1.08rem var(--font-heading); white-space: nowrap; box-shadow: 0 10px 24px rgba(7,26,50,.16); opacity: 0; transform: translateY(10px) scale(.82); transform-origin: right bottom; transition: opacity .18s ease, transform .24s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.private-character-bubble::after { content: ''; position: absolute; right: 18px; bottom: -9px; width: 15px; height: 15px; border-right: 2px solid #163a70; border-bottom: 2px solid #163a70; background: #fff; transform: rotate(45deg); }
.private-hero-character:hover .private-character-bubble, .private-hero-character:focus-visible .private-character-bubble, .private-hero-character.is-talking .private-character-bubble { opacity: 1; transform: translateY(0) scale(1); }
.private-hero-copy { position: relative; z-index: 3; width: min(1440px, calc(100% - 4rem)); margin: 0 auto; padding: 5.5rem 55% 4.5rem 0; pointer-events: none; }
.private-hero-copy a { pointer-events: auto; }
.private-hero-copy h1 { max-width: 650px; margin: .35rem 0 .8rem; color: #163a70; font: 700 clamp(2.35rem, 3.5vw, 3.7rem)/1.08 var(--font-heading); word-break: keep-all; overflow-wrap: normal; }
.private-hero-copy h1 span { display: block; white-space: nowrap; }
.private-hero-lead { max-width: 440px; color: #111; font-size: 1.25rem; line-height: 1.65; }
.private-price { display: flex; align-items: baseline; gap: .55rem; margin: 1.25rem 0 1.5rem; color: #163a70; }
.private-price strong { color: #147c27; font: 700 3.35rem/1 var(--font-heading); }
.private-price span { font-size: 1.2rem; font-weight: 700; }
.private-intro { padding: 3.75rem 0; background: #fff; border-bottom: 1px solid var(--border); }
.private-intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 4rem; }
.private-intro h2, .private-steps h2 { margin: .35rem 0 0; color: #163a70; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.private-intro p { margin: 0; color: #374151; font-size: 1.08rem; line-height: 1.8; }
.private-menu-section { padding: 4rem 0 5rem; background: #f4f5f7; }
.private-menu-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 1.25rem; align-items: start; }
.private-menu-paper, .private-bill { border: 1px solid #d5dbe3; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(22,58,112,.08); }
.private-menu-paper { padding: clamp(1rem, 3vw, 2rem); }
.menu-paper-head, .bill-top { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.menu-paper-head h2 { margin: .25rem 0 0; color: #163a70; font-size: clamp(1.5rem, 3vw, 2.2rem); }
.menu-stamp { flex: 0 0 auto; padding: .45rem .7rem; border: 2px solid #147c27; color: #147c27; font: 700 .78rem var(--font-heading); white-space: nowrap; word-break: keep-all; transform: rotate(-3deg); }
.menu-paper-note { margin: .75rem 0 1.25rem; color: #5e6470; }
.private-menu-table-wrap { overflow-x: auto; }
.private-menu-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .9rem; }
.private-menu-table th { padding: .75rem .6rem; background: #163a70; color: #fff; font: 600 .83rem var(--font-heading); text-align: left; white-space: nowrap; }
.private-menu-table td { padding: .78rem .6rem; border-bottom: 1px solid #e3e7ec; vertical-align: top; line-height: 1.45; }
.private-menu-table tbody tr:hover { background: #f3fbf4; }
.private-menu-table th:first-child, .private-menu-table td:first-child { width: 52px; text-align: center; }
.private-menu-table th:nth-child(2), .private-menu-table td:nth-child(2) { width: 82px; }
.private-menu-table th:last-child, .private-menu-table td:last-child { width: 64px; white-space: nowrap; }
.private-menu-groups { display: grid; gap: 1.2rem; }
.menu-group { padding: 1rem; border: 1px solid #e0e5eb; border-radius: 8px; background: #fbfcfd; }
.menu-group-heading { display: flex; align-items: center; gap: .75rem; margin-bottom: .8rem; padding-bottom: .7rem; border-bottom: 1px dashed #cbd4df; }
.menu-part-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #163a70; color: #32d74b; font: 700 1.25rem var(--font-heading); }
.menu-group-heading h3 { margin: 0; color: #163a70; font: 700 1.25rem var(--font-heading); }
.menu-group-heading span:not(.menu-part-icon) { color: #6b7280; font-size: .78rem; }
.menu-items { display: grid; gap: .65rem; }
.menu-item-card { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: .7rem; min-height: 66px; padding: .7rem .8rem; border: 1px solid #e0e5eb; border-radius: 6px; background: #fff; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.menu-item-card:hover { border-color: #32d74b; box-shadow: 0 4px 12px rgba(22,58,112,.08); transform: translateY(-1px); }
.menu-item-card input { position: absolute; opacity: 0; pointer-events: none; }
.menu-item-check { position: relative; display: block; width: 24px; height: 24px; border: 2px solid #a6b0bc; border-radius: 4px; }
.menu-item-check::after { content: ''; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px; border-right: 2px solid #071225; border-bottom: 2px solid #071225; opacity: 0; transform: rotate(45deg); }
.menu-item-card input:checked ~ .menu-item-check { border-color: #147c27; background: #32d74b; }
.menu-item-card input:checked ~ .menu-item-check::after { opacity: 1; }
.menu-item-card input:focus-visible ~ .menu-item-check { outline: 3px solid rgba(50,215,75,.35); outline-offset: 2px; }
.menu-item-main { display: grid; gap: .2rem; min-width: 0; }
.menu-item-main strong { color: #163a70; font-size: .93rem; line-height: 1.35; }
.menu-item-main small { color: #5e6470; font-size: .8rem; line-height: 1.35; }
.menu-item-meta { display: grid; justify-items: end; gap: .2rem; white-space: nowrap; }
.menu-item-meta b { color: #147c27; font-size: .75rem; }
.menu-item-meta em { color: #163a70; font: 700 1rem var(--font-heading); font-style: normal; }
.private-course-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); overflow: hidden; margin-bottom: 1.5rem; border: 1px solid #d5dbe3; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(22,58,112,.08); }
.private-course-card-cover { display: block; align-self: center; width: 100%; aspect-ratio: 16 / 9; background: #f4f5f7; }
.private-course-card-cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
.private-course-card-body { display: flex; flex-direction: column; justify-content: center; padding: 1.25rem 1.5rem; }
.private-course-card-body h2 { margin: .3rem 0 .45rem; color: #163a70; font-size: clamp(1.4rem, 3vw, 2rem); }
.private-course-card-body p { margin: 0; color: #5e6470; }
.private-course-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; }
.private-course-card-footer strong { color: #147c27; font: 700 1.65rem var(--font-heading); white-space: nowrap; }
.private-course-card-footer small { font: 600 .82rem var(--font-body); }
.private-course-card-footer .lms-cta-btn { padding-inline: 1.1rem; font-size: .9rem; white-space: nowrap; }
.menu-time { color: #147c27; font-weight: 700; }
.menu-check { position: relative; display: inline-grid; place-items: center; width: 30px; height: 30px; cursor: pointer; }
.menu-check input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.menu-check span { width: 22px; height: 22px; border: 2px solid #8793a2; border-radius: 4px; background: #fff; }
.menu-check input:checked + span { border-color: #147c27; background: #32d74b; box-shadow: inset 0 0 0 4px #fff; }
.menu-check input:focus-visible + span { outline: 3px solid rgba(50,215,75,.35); outline-offset: 2px; }
.private-bill { position: sticky; top: 1rem; padding: 1.25rem; }
.bill-top { padding-bottom: .9rem; border-bottom: 1px dashed #b9c2cf; color: #5e6470; font-size: .82rem; }
.private-bill h2 { margin: 1rem 0 .8rem; color: #163a70; font-size: 1.4rem; }
.bill-empty { color: #5e6470; font-size: .9rem; }
.bill-items { min-height: 1rem; margin: 0; padding: 0; list-style: none; }
.bill-items li { display: grid; grid-template-columns: 52px 1fr auto; gap: .35rem; padding: .55rem 0; border-bottom: 1px solid #edf0f3; font-size: .78rem; }
.bill-items li small { color: #5e6470; line-height: 1.35; }
.bill-items li b { color: #147c27; font-size: .75rem; }
.bill-total { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; color: #5e6470; font-size: .9rem; }
.bill-total strong { color: #163a70; }
.bill-price { margin-top: .45rem; padding-top: .8rem; border-top: 1px solid #d5dbe3; }
.bill-price strong { color: #147c27; font: 700 1.65rem var(--font-heading); }
.line-order-btn { width: 100%; margin-top: 1.25rem; }
.line-order-btn:disabled { cursor: not-allowed; opacity: .45; }
.bill-note { margin: .8rem 0 0; color: #6b7280; font-size: .75rem; line-height: 1.55; }
.bill-note strong { color: #163a70; }
.private-steps { padding: 4rem 0; background: #fff; }
.private-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.private-step-grid > div { padding: 1.35rem; border-top: 3px solid #32d74b; background: #f4f5f7; }
.private-step-grid b { color: #147c27; font: 700 1.7rem var(--font-heading); }
.private-step-grid h3 { margin: .5rem 0 .25rem; color: #163a70; }
.private-step-grid p { margin: 0; color: #5e6470; }
.private-course-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding: 1.25rem 1.5rem; border-left: 4px solid #32d74b; background: #f4f5f7; }
.private-course-banner h2 { margin: .2rem 0; color: #163a70; font-size: 1.35rem; }
.private-course-banner p { margin: 0; color: #5e6470; }
@keyframes private-hero-drift { from { transform: scale(1.01); } to { transform: scale(1.045) translateX(-.5%); } }
@media (prefers-reduced-motion: reduce) { .private-hero-image { animation: none; } .private-hero-character, .private-character-bubble { transition: none; } }
@media (max-width: 800px) {
  .private-hero { min-height: 900px; }
  .private-hero-image { background: linear-gradient(180deg, rgba(244,245,247,.98) 0%, rgba(244,245,247,.94) 50%, rgba(244,245,247,.18) 78%), url('/static/img/private-toeic/private-toeic-restaurant-bg-v2.webp') 62% center / cover no-repeat; }
  .private-hero-character { right: -5%; bottom: -2%; width: 88%; height: 410px; opacity: 1; }
  .private-character-bubble { left: 0; top: 8%; font-size: .92rem; }
  .private-hero-copy { width: min(100% - 2rem, 620px); padding: 3rem 0 430px; }
  .private-hero-copy h1 { font-size: clamp(2.35rem, 12vw, 3.35rem); }
  .private-hero-copy h1 span { white-space: normal; }
  .private-hero-lead { max-width: 330px; font-size: 1.05rem; }
  .private-intro-grid, .private-menu-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .private-bill { position: static; box-shadow: 0 12px 28px rgba(22,58,112,.08); }
  .private-step-grid { grid-template-columns: 1fr; }
  .private-course-banner { align-items: start; flex-direction: column; }
  .private-course-banner .lms-cta-btn { width: 100%; text-align: center; }
  .private-course-card { grid-template-columns: 1fr; }
  .private-course-card-cover { min-height: 0; aspect-ratio: 16 / 9; }
  .private-course-card-body { padding: 1.2rem; }
  .private-course-card-footer { align-items: stretch; flex-direction: column; }
  .private-course-card-footer .lms-cta-btn { width: 100%; text-align: center; }
  .menu-group { padding: .75rem; }
  .menu-paper-head { align-items: center; }
  .menu-stamp { padding: .4rem .55rem; font-size: .72rem; }
  .menu-item-card { grid-template-columns: 28px minmax(0,1fr); }
  .menu-item-meta { grid-column: 2; grid-template-columns: auto auto; justify-content: start; justify-items: start; gap: .6rem; }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.courses-empty {
  text-align: center;
  color: var(--text-muted);
  padding: 4rem 0;
  font-size: 1.05rem;
}

/* === Profile === */
.profile-form .form-field { margin-bottom: 1.25rem; }
.profile-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
  font-size: 0.95rem;
}
.profile-form input[type="text"],
.profile-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  color: #fff;
  font-size: 1rem;
  box-sizing: border-box;
  font-family: inherit;
}
.profile-form input:focus,
.profile-form textarea:focus { outline: none; border-color: var(--accent); }
.profile-form textarea { resize: vertical; min-height: 80px; }

.profile-avatar-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #232323;
}
.profile-avatar-preview {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #2a2a2a;
}
.profile-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
  border: none;
  background: #163a70 !important;
}
.profile-photo-label { cursor: pointer; display: inline-block; }

/* === Reviews on sales page === */
.reviews-grid {
  display: flex;
  gap: 1.25rem;
  margin-top: 2rem;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding-bottom: 1rem;
  -webkit-overflow-scrolling: touch;
}
.review-card {
  background: #161616;
  border: 1px solid #232323;
  border-radius: 12px;
  padding: 1.5rem;
  flex: 0 0 320px;          /* fixed-width cards → horizontal scroll for the rest */
  scroll-snap-align: start;
}
.review-card .review-text { white-space: pre-line; }   /* keep paragraph breaks */

.reviews-carousel { position: relative; }
.reviews-carousel .reviews-grid { scroll-behavior: smooth; scrollbar-width: none; }
.reviews-carousel .reviews-grid::-webkit-scrollbar { display: none; }
.reviews-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%;
  background: #1c1c1c; border: 1px solid #3a3a3a; color: #fff;
  font-size: 1.7rem; line-height: 1; cursor: pointer; z-index: 5;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s, opacity 0.15s, transform 0.15s; padding-bottom: 3px;
}
.reviews-arrow:hover { background: var(--accent); color: #0a0a0a; border-color: var(--accent); }
.reviews-arrow.prev { left: -14px; }
.reviews-arrow.next { right: -14px; }
.reviews-arrow:disabled { opacity: 0; pointer-events: none; }
@media (max-width: 640px) {
  .reviews-arrow { width: 40px; height: 40px; font-size: 1.4rem; }
  .reviews-arrow.prev { left: -6px; }
  .reviews-arrow.next { right: -6px; }
}
.review-card-head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}
.review-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.review-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
}
.review-name { font-weight: 600; font-size: 0.95rem; }
.review-stars {
  color: #f7b500;
  font-size: 0.95rem;
  letter-spacing: 1px;
}
.review-text {
  color: #d4d4d4;
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
}

/* === Review form (dedicated /review/{slug} page) === */
.review-form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 0.95rem;
}
.review-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  color: #fff;
  font-size: 0.95rem;
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.review-form textarea:focus { outline: none; border-color: var(--accent); }
.star-input {
  display: inline-flex;
  flex-direction: row-reverse;
  gap: 0.25rem;
  margin-bottom: 0.85rem;
}
.star-input label { cursor: pointer; }
.star-input input { display: none; }
.star-input .star {
  font-size: 1.8rem;
  color: #444;
  transition: color 0.15s;
}
.star-input label:hover .star,
.star-input label:hover ~ label .star,
.star-input input:checked ~ label .star,
.star-input label:has(input:checked) .star {
  color: #9a6400;
}
.star-input input:checked + .star { color: #9a6400; }

/* Left-to-right star input (1 on left, 5 on right) */
.star-input-ltr {
  flex-direction: row;
}
.star-input-ltr .star { color: #444; }
.star-input-ltr label:has(input:checked) .star,
.star-input-ltr label:has(~ label input:checked) .star {
  color: #9a6400;
}
.star-input-ltr label:hover .star,
.star-input-ltr label:has(~ label:hover) .star {
  color: #9a6400;
}

/* === Admin: pending review list === */
.pending-badge {
  background: #f7b500;
  color: #000;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  margin-left: 0.5rem;
  vertical-align: middle;
}
.admin-review-group {
  background: #0f0f0f;
  border: 1px solid #232323;
  border-radius: 10px;
  margin-bottom: 0.85rem;
}
.admin-review-group-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.admin-review-group-summary::-webkit-details-marker { display: none; }
.admin-review-group-summary > span:first-child::before {
  content: "▸";
  display: inline-block;
  margin-right: 0.5rem;
  color: var(--accent);
  transition: transform 0.15s ease;
}
.admin-review-group[open] > .admin-review-group-summary > span:first-child::before { transform: rotate(90deg); }
.admin-review-group .admin-reviews-list {
  padding: 0 1.25rem 1.25rem;
}
.admin-reviews-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.admin-review-card {
  background: #131313;
  border: 1px solid #232323;
  border-left: 3px solid #444;
  border-radius: 10px;
  padding: 1.25rem;
}
.admin-review-card.review-status-pending { border-left-color: #f7b500; }
.admin-review-card.review-status-approved { border-left-color: var(--accent); }
.admin-review-card.review-status-hidden { border-left-color: #777; opacity: 0.65; }
.admin-review-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}
.review-status-tag {
  font-size: 0.7rem;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  margin-left: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.review-status-tag-pending { background: rgba(247, 181, 0, 0.15); color: #f7b500; }
.review-status-tag-approved { background: rgba(0, 230, 118, 0.15); color: var(--accent); }
.review-status-tag-hidden { background: rgba(128, 128, 128, 0.15); color: #999; }
.admin-review-text {
  color: #d4d4d4;
  margin: 0.5rem 0 1rem;
  line-height: 1.6;
}
.admin-review-actions {
  display: flex;
  gap: 0.5rem;
}
.admin-review-actions .lms-cta-btn {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}
.review-reorder {
  display: inline-flex;
  gap: 0.25rem;
  margin-right: auto;
}
.reorder-btn {
  background: #1c1c1c;
  border: 1px solid #333;
  color: var(--text-muted);
  border-radius: 6px;
  width: 2rem;
  height: 2rem;
  font-size: 0.8rem;
  cursor: pointer;
  line-height: 1;
}
.reorder-btn:hover { color: #fff; border-color: var(--accent); }

/* === Admin Dashboard === */
.admin-page { padding: 3rem 0 5rem; }
.admin-tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--border);margin:0 0 2rem}.admin-tabs a{padding:.7rem 1rem;color:#5e6470;white-space:nowrap;border-bottom:3px solid transparent}.admin-tabs a.active{color:#163a70;border-color:#147c27;font-weight:700}.admin-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:.35rem;border-radius:10px;background:#163a70;color:#fff;font-size:.7rem}.admin-panel{background:#fff;border:1px solid var(--border);padding:1.5rem;margin:0 0 1.5rem}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.admin-panel h2{margin:0 0 1rem}.admin-table-light th,.admin-table-light td{border-color:#dfe3e8!important;color:#111}.admin-table-light th,.admin-table-light .muted{color:#5e6470!important}.admin-filter{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:.65rem;align-items:center;margin-bottom:1.25rem}.admin-filter input,.admin-settings input,.admin-settings textarea,.admin-settings select{width:100%;min-height:44px;padding:.6rem .75rem;border:1px solid #aeb8c5;background:#fff;color:#111;font:inherit}.admin-filter .lms-cta-btn,.admin-settings .lms-cta-btn{padding:.65rem 1.2rem;font-size:.9rem}.admin-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.admin-product{display:grid;grid-template-columns:110px 1fr;gap:1rem;border:1px solid var(--border);padding:1rem}.admin-product img{width:110px;aspect-ratio:1;object-fit:cover}.admin-product h3{font-size:1rem;margin:.25rem 0}.admin-product p{color:#5e6470;font-size:.85rem;margin:0}.admin-product a{display:block;margin-top:.5rem}.admin-status{font-size:.7rem;color:#5e6470}.admin-status.live{color:#147c27}.admin-settings{max-width:760px}.admin-settings form>label{display:grid;gap:.35rem;margin-bottom:1rem;color:#111;font-weight:600}.admin-task,.admin-review-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.admin-task p,.admin-review-row p{margin:0;color:#5e6470}.admin-task>div:last-child,.admin-review-row>div:last-child{display:flex;gap:.5rem}.admin-task button,.admin-review-row button{padding:.55rem .85rem}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.admin-detail-grid>div{padding:1rem;background:#f4f5f7}.admin-detail-grid span,.admin-detail-grid strong{display:block}.admin-detail-grid span{color:#5e6470;font-size:.8rem}
.admin-tools{padding-top:20px}.shipment-state{display:grid;gap:.2rem;min-width:150px}.shipment-state strong{color:#111}.shipment-state a{font-weight:700}.shipment-admin-card{scroll-margin-top:1rem}.shipment-admin-card h3{margin:0 0 .35rem}.shipment-admin-card>p{margin:.2rem 0}.shipment-admin-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);gap:.7rem;margin-top:1rem}.shipment-admin-form label{display:grid;gap:.35rem;color:#111;font-size:.85rem;font-weight:700}.shipment-admin-form input{width:100%;min-height:44px;padding:.6rem .75rem;border:1px solid #aeb8c5;background:#fff;color:#111;font:inherit}.shipment-admin-actions{grid-column:1/-1;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.shipment-email-ok{color:#147c27;font-weight:700}.shipment-email-failed{color:#a52a2a;font-weight:700}
.admin-tools{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:thin}.admin-tools .lms-cta-btn{flex:0 0 auto;min-height:40px;padding:.55rem .8rem;font-size:.82rem}.admin-dashboard-v2{padding-top:2rem}.admin-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-dashboard-head h1{margin:.15rem 0 .25rem}.admin-task-total{min-width:92px;display:grid;place-items:center;padding:.8rem 1rem;border-radius:12px;background:#163a70;color:#fff}.admin-task-total strong{font-size:1.8rem;line-height:1}.admin-task-total span{margin-top:.25rem;font-size:.78rem}.admin-work-panel,.admin-quick-panel,.admin-overview{margin-bottom:1.5rem;border:1px solid #d9e0e8;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(22,58,112,.06)}.admin-work-panel,.admin-quick-panel{padding:1.25rem}.admin-work-heading{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-work-heading h2,.admin-quick-panel h2{margin:0 0 .3rem;font-size:1.3rem}.admin-work-heading p{margin:0;color:#5e6470;font-size:.88rem}.admin-work-list{display:grid;gap:.65rem}.admin-work-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem;border:1px solid #dfe5eb;border-left:4px solid #147c27;border-radius:10px;background:#fff}.admin-task-check{display:grid;place-items:center}.admin-task-check label{display:grid;place-items:center;cursor:pointer}.admin-task-check input{width:26px;height:26px;margin:0;accent-color:#147c27;cursor:pointer}.admin-work-copy{min-width:0}.admin-work-category{display:inline-block;margin-bottom:.2rem;color:#147c27;font-size:.72rem;font-weight:800}.admin-work-copy h3{margin:0;color:#163a70;font-size:1rem}.admin-work-copy p{margin:.2rem 0 0;color:#5e6470;font-size:.85rem;overflow-wrap:anywhere}.admin-work-open{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:7px;background:#edf4ff;color:#163a70;font-size:.82rem;font-weight:800;white-space:nowrap}.admin-work-empty{display:flex;align-items:center;gap:.8rem;padding:1rem;border-radius:10px;background:#eaf8ef;color:#125d32}.admin-work-empty>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#147c27;color:#fff;font-weight:900}.admin-work-empty strong{display:block}.admin-work-empty p{margin:.15rem 0 0;font-size:.85rem}.admin-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.admin-quick-grid a{min-height:88px;display:flex;flex-direction:column;justify-content:center;padding:.9rem;border:1px solid #dfe5eb;border-radius:10px;color:#163a70}.admin-quick-grid a:hover{border-color:#147c27;background:#f5fbf7}.admin-quick-grid strong{font-size:.95rem}.admin-quick-grid span{margin-top:.25rem;color:#5e6470;font-size:.77rem;line-height:1.4}.admin-overview{overflow:hidden}.admin-overview>summary{padding:1rem 1.25rem;cursor:pointer;color:#163a70;font-weight:800}.admin-overview>.stat-grid,.admin-overview>.admin-panel{margin:0 1.25rem 1.25rem}.admin-overview>.admin-panel{box-shadow:none}
@media(max-width:700px){.admin-filter{grid-template-columns:1fr}.admin-panel{padding:1rem}.admin-product{grid-template-columns:80px 1fr}.admin-product img{width:80px}.admin-detail-grid{grid-template-columns:1fr}.admin-task,.admin-review-row{display:block}.admin-task>div:last-child,.admin-review-row>div:last-child{margin-top:.75rem}.shipment-admin-form{grid-template-columns:1fr}.shipment-admin-actions{grid-column:1}.shipment-admin-actions .lms-cta-btn{width:100%;text-align:center}.admin-dashboard-v2{padding-top:1.25rem}.admin-dashboard-head{align-items:center}.admin-dashboard-head .admin-sub{font-size:.78rem;overflow-wrap:anywhere}.admin-task-total{min-width:76px;padding:.7rem}.admin-work-panel,.admin-quick-panel{padding:1rem;border-radius:10px}.admin-work-item{grid-template-columns:34px minmax(0,1fr);padding:.8rem}.admin-work-open{grid-column:2;justify-self:start;min-height:34px}.admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-grid a{min-height:82px;padding:.75rem}.admin-overview>.stat-grid,.admin-overview>.admin-panel{margin:0 .75rem .75rem}}

/* === Score Path Admin Command Center === */
.admin-shell-body{background:#f4f7fb;color:#17233b}.admin-shell-body main{min-height:calc(100vh - 64px)}
.admin-shell-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1280px)/2));border-bottom:1px solid #dbe3ed;background:#fff;position:sticky;top:0;z-index:40}
.admin-shell-brand{display:flex;align-items:center;gap:.65rem;color:#163a70}.admin-shell-brand img{width:38px;height:38px;object-fit:contain}.admin-shell-brand span{display:grid;line-height:1.1}.admin-shell-brand strong{font:700 1rem 'Kanit','Sarabun',sans-serif}.admin-shell-brand small{margin-top:.15rem;color:#657187;font-size:.68rem}
.admin-shell-account{display:flex;align-items:center;gap:.45rem}.admin-shell-account a,.admin-shell-account button{min-height:36px;padding:.45rem .75rem;border:1px solid #ccd6e3;border-radius:8px;background:#fff;color:#31415d;font:600 .78rem 'Sarabun',sans-serif;cursor:pointer}.admin-shell-account form{margin:0}
.admin-primary-nav{display:flex;align-items:center;gap:.35rem;margin:0 0 1.5rem;padding:.4rem;border:1px solid #dce4ed;border-radius:11px;background:#fff}.admin-primary-nav>a,.admin-primary-nav>details>summary{min-height:42px;display:flex;align-items:center;gap:.35rem;padding:.55rem .8rem;border-radius:8px;color:#46556d;font-size:.84rem;font-weight:700;cursor:pointer;white-space:nowrap}.admin-primary-nav>a.active,.admin-primary-nav>a:hover,.admin-primary-nav>details>summary:hover{background:#eaf5ed;color:#12672d}.admin-primary-nav span{min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:#163a70;color:#fff;font-size:.68rem}.admin-primary-nav details{position:relative;margin-left:auto}.admin-primary-nav details>summary{list-style:none}.admin-primary-nav details>summary::-webkit-details-marker{display:none}.admin-primary-nav details>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:210px;display:grid;padding:.45rem;border:1px solid #dce4ed;border-radius:9px;background:#fff;box-shadow:0 10px 24px rgba(22,58,112,.14)}.admin-primary-nav details>div>a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .7rem;border-radius:6px;color:#33415b;font-size:.8rem;font-weight:700}.admin-primary-nav details>div>a:hover{background:#f0f4f8;color:#12672d}
.admin-command-center{padding:1.5rem 0 5rem}.admin-command-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.5rem}.admin-command-main{min-width:0;max-width:1060px}
.admin-command-sidebar{position:sticky;top:88px;align-self:start;display:grid;gap:.35rem;padding:.9rem;border:1px solid #dce4ed;border-radius:14px;background:#fff}.admin-command-label{margin:.15rem .7rem .45rem;color:#778297;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-command-sidebar>a{min-height:46px;display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border-radius:9px;color:#33415b;font-weight:700}.admin-command-sidebar>a>span{width:22px;color:#69758a;text-align:center}.admin-command-sidebar>a:hover,.admin-command-sidebar>a.active{background:#eaf5ed;color:#12672d}.admin-command-sidebar>a b{min-width:22px;height:22px;display:grid;place-items:center;margin-left:auto;border-radius:11px;background:#c42929;color:#fff;font-size:.7rem}.admin-command-sidebar-note{display:grid;gap:.1rem;margin-top:.65rem;padding:.75rem;border-radius:9px;background:#f0f4fa}.admin-command-sidebar-note strong{color:#163a70;font-size:.8rem}.admin-command-sidebar-note span{color:#68758a;font-size:.7rem}
.admin-command-center .admin-dashboard-head{margin-bottom:1rem}.admin-command-center .admin-dashboard-head h1{font-size:2rem}.admin-command-center .admin-dashboard-head .admin-sub{max-width:620px;line-height:1.5}.admin-command-center .admin-task-total{background:#163a70}.admin-command-center .admin-task-total strong,.admin-command-center .admin-task-total span{color:#fff}
.admin-command-search{margin-bottom:1rem;padding:1rem;border:1px solid #dce4ed;border-radius:12px;background:#fff}.admin-command-search>label{display:block;margin-bottom:.4rem;color:#25344e;font-size:.8rem;font-weight:800}.admin-command-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.admin-command-search input{min-height:46px;padding:.7rem .85rem;border:1px solid #aeb9c8;border-right:0;border-radius:8px 0 0 8px;background:#fff;color:#17233b;font:inherit}.admin-command-search button{min-width:96px;border:0;border-radius:0 8px 8px 0;background:#163a70;color:#fff;font:700 .9rem 'Sarabun',sans-serif;cursor:pointer}
.admin-activation-panel,.admin-tool-groups{margin-bottom:1.25rem;padding:1.25rem;border:1px solid #d9e2ed;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(22,58,112,.05)}.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-section-heading .eyebrow{margin-bottom:.2rem}.admin-section-heading h2{margin:0;color:#17233b;font-size:1.3rem}.admin-section-heading p{margin:.25rem 0 0;color:#657187;font-size:.85rem}.admin-section-heading>a{color:#163a70;font-size:.82rem;font-weight:800;white-space:nowrap}
.admin-activation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.admin-activation-grid>a{position:relative;min-height:198px;display:flex;flex-direction:column;padding:1rem;border:1px solid #dfe5ed;border-top:4px solid #64748b;border-radius:10px;color:#17233b;background:#fff}.admin-activation-grid>a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(22,58,112,.09)}.admin-activation-grid>a.urgent{border-top-color:#c42929}.admin-activation-grid>a.followup{border-top-color:#e67e22}.admin-activation-grid>a.monitor{border-top-color:#3a6da8}.admin-activation-grid>a.done{border-top-color:#198647}.admin-activation-icon{position:absolute;right:.8rem;top:.8rem;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef2f7;color:#58667b;font-size:.8rem;font-weight:900}.admin-activation-grid>a>strong{color:#163a70;font-size:2rem;line-height:1.1}.admin-activation-grid h3{margin:.4rem 0 .3rem;color:#17233b;font-size:.96rem}.admin-activation-grid p{margin:0;color:#657187;font-size:.78rem;line-height:1.45}.admin-card-action{margin-top:auto;padding-top:.75rem;color:#163a70;font-size:.77rem;font-weight:800}.admin-safety-note{display:flex;gap:.4rem;margin:1rem 0 0;padding:.7rem .8rem;border-radius:8px;background:#f3f6fa;color:#5e6b80;font-size:.76rem;line-height:1.45}
.admin-command-center .admin-work-panel{padding:1.25rem}.admin-work-count{padding:.35rem .6rem;border-radius:999px;background:#eef2f7;color:#46566f;font-size:.75rem;font-weight:800;white-space:nowrap}.admin-command-center .admin-work-item{grid-template-columns:minmax(0,1fr) auto;border-left-color:#3a6da8}.admin-work-actions{display:flex;align-items:center;gap:.45rem}.admin-work-actions form{margin:0}.admin-work-actions button{min-height:40px;padding:.45rem .7rem;border:1px solid #c9d3df;border-radius:7px;background:#fff;color:#59677c;font:700 .76rem 'Sarabun',sans-serif;cursor:pointer;white-space:nowrap}.admin-work-actions button:hover{border-color:#d58c1b;color:#945d09;background:#fff8eb}
.admin-tool-groups{scroll-margin-top:82px}.admin-tool-groups details{border-top:1px solid #e2e7ee}.admin-tool-groups details:first-of-type{border-top:0}.admin-tool-groups summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:1rem .25rem;cursor:pointer;list-style:none}.admin-tool-groups summary::-webkit-details-marker{display:none}.admin-tool-groups summary>span{color:#3b6caa;text-align:center}.admin-tool-groups summary strong{color:#22314a;font-size:.95rem}.admin-tool-groups summary small{color:#748096;font-size:.76rem}.admin-tool-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:0 .25rem 1rem 2.95rem}.admin-tool-links a{min-height:40px;display:flex;align-items:center;padding:.55rem .7rem;border-radius:7px;background:#f3f6fa;color:#294b78;font-size:.82rem;font-weight:700}.admin-tool-links a:hover{background:#e7f1ea;color:#12672d}
.admin-command-center .admin-overview{box-shadow:none}.admin-command-center .admin-overview>summary{display:flex;justify-content:space-between}.admin-command-center .admin-overview>summary span{color:#778297;font-size:.76rem;font-weight:500}.admin-overview-link{display:block;margin:0 1.25rem 1.25rem;color:#163a70;font-size:.82rem;font-weight:800}.admin-mobile-nav{display:none}
@media(max-width:900px){.admin-command-layout{grid-template-columns:1fr}.admin-command-sidebar{display:none}.admin-command-main{max-width:none}.admin-activation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);padding:5px max(4px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));border-top:1px solid #d8e0ea;background:rgba(255,255,255,.97);box-shadow:0 -5px 20px rgba(22,58,112,.09)}.admin-mobile-nav a{min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:8px;color:#617087;font-size:.68rem;font-weight:700}.admin-mobile-nav a span{font-size:1rem}.admin-mobile-nav a.active{background:#eaf5ed;color:#12672d}.admin-shell-body{padding-bottom:63px}}
@media(max-width:600px){.admin-shell-topbar{height:56px;padding:0 12px}.admin-shell-brand img{width:32px;height:32px}.admin-shell-brand small{display:none}.admin-shell-account a,.admin-shell-account button{min-height:34px;padding:.38rem .55rem;font-size:.72rem}.admin-command-center{padding:1rem 0 2rem}.admin-command-center .container-wide{padding-left:12px;padding-right:12px}.admin-command-center .admin-dashboard-head{align-items:center}.admin-command-center .admin-dashboard-head h1{font-size:1.55rem}.admin-command-center .admin-dashboard-head .admin-sub{font-size:.8rem}.admin-command-center .admin-task-total{min-width:70px}.admin-command-search{padding:.8rem}.admin-activation-panel,.admin-tool-groups,.admin-command-center .admin-work-panel{padding:.9rem;border-radius:11px}.admin-section-heading{align-items:flex-start}.admin-section-heading>a{font-size:.75rem}.admin-activation-grid{grid-template-columns:1fr 1fr;gap:.55rem}.admin-activation-grid>a{min-height:190px;padding:.8rem}.admin-activation-grid>a>strong{font-size:1.7rem}.admin-activation-grid h3{font-size:.9rem}.admin-activation-grid p{font-size:.75rem}.admin-command-center .admin-work-item{grid-template-columns:1fr;gap:.65rem}.admin-work-actions{justify-content:space-between}.admin-work-actions .admin-work-open{grid-column:auto}.admin-tool-groups summary{grid-template-columns:24px 1fr}.admin-tool-groups summary small{grid-column:2}.admin-tool-links{grid-template-columns:1fr;padding-left:2.4rem}.admin-command-center .admin-overview>.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.admin-primary-nav{overflow:visible;gap:.2rem}.admin-primary-nav>a,.admin-primary-nav>details>summary{min-height:40px;padding:.5rem .55rem;font-size:.76rem}.admin-primary-nav>a:nth-of-type(4){display:none}.admin-primary-nav details>div{position:fixed;left:12px;right:12px;top:auto;min-width:0}}
.admin-funnel-periods { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.admin-funnel-periods h3 { margin: .25rem 0 .75rem; color: #163a70; font-size: 1rem; }
@media (max-width: 700px) { .admin-funnel-periods { grid-template-columns: 1fr; } }
.admin-header { margin-bottom: 2.5rem; }
.admin-header h1 {
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-size: 2rem;
  margin: 0 0 0.25rem;
}
.admin-sub { color: var(--text-muted); margin: 0; }

.admin-section-title {
  font-size: 1.3rem;
  margin: 3rem 0 1rem;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.stat-card {
  background: #131313;
  border: 1px solid #232323;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
}
.stat-label {
  color: var(--text-muted);
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.stat-label .hint {
  text-transform: none;
  font-size: 0.7rem;
  opacity: 0.7;
}
.stat-value {
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.stat-value-revenue {
  background: linear-gradient(135deg, #fff, #00e676, #22d3ee);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.stat-sub {
  color: var(--text-muted);
  font-size: 0.8rem;
  margin-top: 0.5rem;
}

.admin-course-block {
  background: #131313;
  border: 1px solid #232323;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.course-block-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  cursor: pointer;
  list-style: none;
}
.course-block-head::-webkit-details-marker { display: none; }
.course-block-head > div:first-child h3::before {
  content: "▸";
  display: inline-block;
  margin-right: 0.5rem;
  color: var(--accent);
  transition: transform 0.15s ease;
}
.admin-course-block[open] .course-block-head > div:first-child h3::before { transform: rotate(90deg); }
.admin-course-block[open] .course-block-head { margin-bottom: 1rem; }
.admin-course-block:not([open]) .course-block-head { margin-bottom: 0; }
.course-block-head h3 { margin: 0 0 0.25rem; font-size: 1.15rem; }
.course-block-meta { color: var(--text-muted); margin: 0; font-size: 0.9rem; }
.course-block-actions { display: flex; gap: 0.5rem; }
.course-block-actions .lms-cta-btn {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.admin-table thead th {
  text-align: left;
  padding: 0.65rem 0.5rem;
  border-bottom: 1px solid #232323;
  color: var(--text-muted);
  font-weight: 500;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.admin-table tbody td {
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #1a1a1a;
}
.admin-table tbody tr:last-child td { border-bottom: none; }
.admin-table .muted { color: var(--text-muted); }

.progress-bar {
  position: relative;
  background: #0d0d0d;
  border-radius: 4px;
  height: 22px;
  overflow: hidden;
  border: 1px solid #232323;
}
.progress-bar-fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, #00b853 0%, #00e676 100%);
  transition: width 0.3s;
}
.progress-bar-text {
  position: relative;
  display: block;
  text-align: center;
  line-height: 22px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}

@media (max-width: 700px) {
  .admin-table thead { display: none; }
  .admin-table tbody td { display: block; padding: 0.4rem 0; border-bottom: none; }
  .admin-table tbody tr { padding: 0.75rem 0; border-bottom: 1px solid #1a1a1a; display: block; }
}


/* Full-width nav bar */
.nav-inner {
  max-width: none;
  padding: 0 2rem;
}

@media (max-width: 600px) {
  .nav-inner { padding: 0 1rem; }
}

/* Nav end group — toggle + avatar (always visible on mobile) */
.nav-end {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* Push nav-links to right side (nav-end follows) — restores original right-aligned layout */
.nav-links { margin-left: auto; }
.nav-end { margin-left: 2rem; }

/* User avatar dropdown in nav */
.nav-user-li { display: flex; align-items: center; }
.nav-user-menu {
  position: relative;
  list-style: none;
}
.nav-user-menu summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  outline: none;
}
.nav-user-menu summary::-webkit-details-marker { display: none; }
.nav-user-menu summary::marker { display: none; content: ""; }

.nav-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid transparent;
  transition: border-color 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nav-user-menu[open] .nav-avatar,
.nav-user-menu summary:hover .nav-avatar {
  border-color: var(--accent);
}
.nav-avatar-fallback {
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: 0.95rem;
  background: #163a70 !important;
}

.nav-user-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  min-width: 220px;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 0.5rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
  z-index: 200;
}
.nav-user-dropdown::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 12px;
  width: 12px;
  height: 12px;
  background: #161616;
  border-left: 1px solid #2a2a2a;
  border-top: 1px solid #2a2a2a;
  transform: rotate(45deg);
}
.nav-user-dropdown .nav-user-email {
  margin: 0;
  padding: 0.5rem 0.75rem 0.15rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-user-dropdown .nav-user-sub {
  margin: 0;
  padding: 0 0.75rem 0.5rem;
  font-size: 0.78rem;
  color: #b8bec8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-user-dropdown hr {
  border: none;
  border-top: 1px solid #232323;
  margin: 0.5rem 0;
}
.nav-user-dropdown a,
.nav-user-dropdown button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.65rem 0.75rem !important;
  color: #d4d4d4 !important;
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  background: none;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  font-family: inherit !important;
}
.nav-user-dropdown a:hover,
.nav-user-dropdown button:hover {
  background: rgba(0, 230, 118, 0.1);
  color: var(--accent) !important;
}
.nav-user-dropdown form { margin: 0; }

/* Close dropdown on outside click — via JS */
@media (max-width: 600px) {
  .nav-user-dropdown { right: -0.5rem; }
}

/* Make logout button match nav-link styling exactly */
.nav-links button {
  color: var(--text-muted) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  font-family: var(--font) !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s;
}
.nav-links button:hover {
  color: var(--accent) !important;
}


.lms-hero {
  padding: 5rem 0 3rem;
  text-align: center;
}

@media (max-width: 600px) {
  /* Only compress hero on homepage (has WELCOME wrap) — keep sales pages normal */
  .lms-hero:has(.hero-welcome-wrap) { padding-top: 1.5rem; }
  .hero-welcome-wrap { padding-top: 1rem; }
}

/* Pond intro hero — homepage */
.hero-welcome-wrap {
  max-width: var(--max-width-wide);  /* 1100px — matches content area */
  margin: 0 auto;
  padding: 4rem 1.5rem 0;
  text-align: center;
}
.hero-welcome {
  font-family: 'Kanit', 'Sarabun', sans-serif !important;
  font-size: clamp(3rem, 8vw, 7rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em;
  line-height: 1;
  margin: 0 0 0.75rem;
  text-align: center;
}
.hero-welcome .line-1,
.hero-welcome .line-2 {
  display: block;
}
.hero-welcome .line-1 {
  color: #ffffff;
  font-size: 0.85em;
  letter-spacing: 0.02em;
}
.hero-welcome .line-2 {
  font-size: 1em;
  letter-spacing: 0.01em;
  background: linear-gradient(135deg, #00e676 0%, #36ffb0 35%, #00b853 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-by {
  color: var(--text-muted);
  font-size: 1rem;
  margin: 0 0 2.5rem;
  letter-spacing: 1.5px;
}
.hero-photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--accent);
  margin: 0 auto 2rem;
  display: block;
  box-shadow: 0 10px 40px rgba(0, 230, 118, 0.25);
}
.hero-headline {
  font-size: clamp(1.5rem, 3vw, 1.9rem);
  line-height: 1.35;
  max-width: 820px;
  margin: 0 auto 2.5rem;
  font-weight: 700;
}
.hero-headline .accent-text {
  color: var(--accent);
}
.hero-body {
  max-width: 640px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.85;
  font-size: 1.05rem;
  color: #d4d4d4;
}
.hero-body p { margin: 0 0 1.25rem; }
.hero-body ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.hero-body ul li {
  padding: 0.4rem 0 0.4rem 1.5rem;
  position: relative;
}
.hero-body ul li::before {
  content: "▸";
  color: var(--accent);
  position: absolute;
  left: 0;
}
.hero-cta {
  text-align: center;
  margin: 2.5rem 0;
}
.hero-ps {
  max-width: 640px;
  margin: 2.5rem auto 0;
  color: var(--text-muted);
  font-style: italic;
  font-size: 0.95rem;
  text-align: center;
  padding: 1.25rem;
  border-top: 1px dashed #2a2a2a;
}

.lms-hero .badge {
  display: inline-block;
  background: rgba(0, 230, 118, 0.12);
  color: var(--accent);
  border: 1px solid rgba(0, 230, 118, 0.3);
  padding: 0.4rem 1rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  letter-spacing: 0.5px;
}

.lms-hero h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.15;
  margin-bottom: 1.25rem;
}

.lms-hero p.sub {
  font-size: 1.2rem;
  color: var(--text-muted);
  max-width: 720px;
  margin: 0 auto 2.5rem;
  line-height: 1.6;
}

.lms-price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
  background: #161616;
  border: 1px solid #2a2a2a;
  padding: 1rem 1.75rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
}

.lms-price .amount {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--accent);
}

.lms-price .currency {
  font-size: 1rem;
  color: var(--text-muted);
}

.lms-price .note {
  font-size: 0.9rem;
  color: var(--text-muted);
  display: block;
  margin-top: 0.25rem;
}

/* All buttons across LMS use Kanit */
.lms-cta-btn,
button,
.auth-card button,
.newsletter-form button,
input[type="submit"] {
  font-family: 'Kanit', 'Sarabun', sans-serif;
  letter-spacing: 0.3px;
}

.lms-cta-btn {
  display: inline-block;
  background: #32d74b;
  color: #0a0a0a;
  padding: 1.1rem 2.5rem;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1.1rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
}
.lms-cta-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(0, 230, 118, 0.25);
}

.lms-cta-btn.outline {
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
}

/* Dark operational surfaces keep the bright brand green and use legible muted text. */
.stat-card,
.admin-course-block,
.admin-review-group,
.admin-review-card,
.video-wrap .placeholder {
  --text: #f4f5f7;
  --text-muted: #b8bec8;
  --text-bright: #ffffff;
  --accent: #32d74b;
  --accent-dim: #7ee88f;
}

.stat-card,
.admin-course-block,
.admin-review-group,
.admin-review-card {
  color: #f4f5f7;
}

.stat-card .stat-label,
.stat-card .stat-sub,
.admin-course-block .course-block-meta,
.admin-course-block .admin-table th,
.admin-course-block .admin-table .muted,
.admin-review-group .muted,
.admin-review-card .muted,
.video-wrap .placeholder p {
  color: #b8bec8;
}

.admin-course-block h3,
.admin-review-group strong,
.admin-review-card strong {
  color: #ffffff;
}

.stat-label .hint {
  opacity: 1;
}

.lms-section {
  padding: 3.5rem 0;
}

.lms-section h2 {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 2rem;
}

.lms-section p.section-lead {
  text-align: center;
  color: var(--text-muted);
  max-width: 640px;
  margin: 0 auto 2.5rem;
}

.curriculum {
  display: grid;
  gap: 0.85rem;
  max-width: 760px;
  margin: 0 auto;
}

.curriculum-item {
  background: #161616;
  border: 1px solid #232323;
  padding: 1.25rem 1.5rem;
  border-radius: 10px;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.curriculum-item .num {
  background: rgba(0, 230, 118, 0.1);
  color: var(--accent);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
}
.curriculum-item .num.danger {
  background: rgba(255, 75, 75, 0.12);
  color: #ff4b4b;
}

/* Course description summary block */
.course-summary {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.75;
  color: #d4d4d4;
}

/* Instructor block — centered */
.instructor-block {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}
.instructor-photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 1.25rem;
  border: 3px solid var(--accent);
  box-shadow: 0 10px 40px rgba(0, 230, 118, 0.2);
}
.instructor-block h3 {
  margin: 0 0 0.5rem;
  font-size: 1.4rem;
}
.instructor-block p {
  color: var(--text-muted);
  margin: 0;
}

.curriculum-item .body h4 {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
}

.curriculum-item .body p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.95rem;
}

.curriculum-item .preview-tag {
  background: rgba(0, 230, 118, 0.15);
  color: var(--accent);
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: auto;
  flex-shrink: 0;
  align-self: center;
}

.curriculum-item-clickable {
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, background 0.2s;
}
.curriculum-item-clickable:hover {
  border-color: rgba(0, 230, 118, 0.5);
  background: rgba(0, 230, 118, 0.04);
}
.curriculum-item-clickable:hover .preview-tag {
  background: rgba(0, 230, 118, 0.25);
}

.faq {
  max-width: 720px;
  margin: 0 auto;
}

.faq-item {
  background: #161616;
  border: 1px solid #232323;
  padding: 1.25rem 1.5rem;
  border-radius: 10px;
  margin-bottom: 0.85rem;
}

.faq-item h4 {
  margin: 0 0 0.5rem;
  color: var(--accent);
  font-size: 1.05rem;
}

.faq-item p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Player layout */
.player-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2rem;
  max-width: 1280px;
  margin: 2rem auto;
  padding: 0 1.5rem;
}

@media (max-width: 900px) {
  .player-layout {
    grid-template-columns: 1fr;
  }
}

.player-main .video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}

.player-main .video-wrap iframe,
.player-main .video-wrap video,
.player-main .video-wrap .placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.player-main .video-wrap video {
  object-fit: contain;
  background: #000;
}

.video-wrap .placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  background: #111;
  flex-direction: column;
  gap: 0.5rem;
}

.lesson-text {
  background: #131313;
  border: 1px solid #232323;
  border-radius: 12px;
  padding: 1.75rem 2rem;
  color: var(--text);
  line-height: 1.8;
}

.lesson-text h1, .lesson-text h2, .lesson-text h3 { margin: 1.2rem 0 0.6rem; }
.lesson-text p { margin: 0 0 1rem; }
.lesson-text ul, .lesson-text ol { margin: 0 0 1rem; padding-left: 1.4rem; }
.lesson-text li { margin-bottom: 0.4rem; }
.lesson-text a { color: var(--accent, #00e676); }
.lesson-text a.lms-cta-btn { color: #0a0a0a; }  /* keep filled-button text dark, not green-on-green */
.lesson-resources { margin-top: 1.5rem; }

/* Click-to-copy prompt block inside a lesson body */
.lesson-prompt { margin: 0 0 1.5rem; background: #0d0d0d; border: 1px solid #2a2a2a; border-radius: 10px; overflow: hidden; }
.lesson-prompt-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.6rem 0.9rem; border-bottom: 1px solid #1f1f1f; }
.lesson-prompt-label { color: var(--text-muted); font-size: 0.85rem; font-weight: 600; }
.lesson-prompt-copy { flex: none; font: inherit; font-size: 0.85rem; cursor: pointer; white-space: nowrap; padding: 0.35rem 0.85rem; border-radius: 8px; border: 1px solid #2f2f2f; background: #1a1a1a; color: var(--text); }
.lesson-prompt-copy:hover { border-color: var(--accent); color: var(--accent); }
.lesson-prompt-copy.copied { border-color: var(--accent); background: var(--accent); color: #0a0a0a; }
.lesson-prompt pre { margin: 0; padding: 1rem 1.1rem; white-space: pre-wrap; word-break: break-word; line-height: 1.7; font-family: inherit; color: #e8e8e8; }
/* Placeholders the student must replace with their own value */
.lesson-prompt .var { color: #ff5252; font-weight: 600; }

/* Course overview (enrolled hub) */
.course-overview { padding: 2.5rem 0 4rem; }
.course-overview-title { margin: 0 0 1.5rem; text-align: center; }
.course-overview-cover { border-radius: 14px; overflow: hidden; border: 1px solid #232323; margin-bottom: 1.5rem; }
.course-overview-cover img { width: 100%; display: block; }
.course-overview-meta { display: flex; flex-direction: column; gap: 0.6rem; background: #101827; border: 1px solid #26364c; border-radius: 8px; padding: 1.1rem 1.5rem; margin-bottom: 1rem; }
.course-overview-meta .meta-item { display: flex; flex-direction: row; align-items: center; gap: 0.6rem; }
.course-overview-meta .meta-icon { color: #91f3a0; font-size: 1.1rem; line-height: 1; }
.course-overview-meta .meta-value { color: #f7fbff; font-weight: 600; }
.course-overview-progress { margin: 0 0 1.5rem; }
.course-overview-progress .progress-label { color: var(--accent); font-weight: 600; margin-bottom: 0.5rem; }
.course-overview-progress .progress-track { height: 8px; background: #232323; border-radius: 999px; overflow: hidden; }
.course-overview-progress .progress-fill { height: 100%; background: var(--accent); border-radius: 999px; transition: width 0.4s ease; }
.course-overview-heading { margin: 1.5rem 0 1rem; }
.course-overview-lessons { display: flex; flex-direction: column; gap: 0.5rem; }
.overview-lesson { min-height: 66px; display: flex; align-items: center; gap: 1rem; padding: 0.9rem 1.1rem; background: #101318; border: 1px solid #29303a; border-radius: 8px; color: #fff; text-decoration: none; box-shadow: 0 5px 14px rgba(7,18,37,.07); transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.overview-lesson:hover,.overview-lesson:focus-visible { transform: translateY(-2px); border-color: #54e76a; background: #16201b; box-shadow: 0 9px 22px rgba(7,18,37,.14); outline: 0; }
.overview-lesson .num { min-width: 30px; color: #91f3a0; font-variant-numeric: tabular-nums; font-size: 0.9rem; font-weight: 700; }
.overview-lesson .title { min-width: 0; flex: 1; color: #fff; font-weight: 600; line-height: 1.45; }
.overview-lesson:not(.completed)::after { content: '\203A'; color: #8f9baa; font-size: 1.4rem; line-height: 1; }
.overview-lesson.completed { border-color: #32d74b; background: #11271a; }
.overview-lesson.completed .num { color: #b9f7c3; }
.overview-lesson .done { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; background: #32d74b; color: #071225; font-weight: 800; box-shadow: 0 0 0 4px rgba(50,215,75,.12); }

.lesson-info {
  margin-top: 1.5rem;
}

.lesson-info h2 {
  margin: 0 0 0.5rem;
  font-size: 1.6rem;
}

.lesson-info p.desc {
  color: var(--text-muted);
}

.lesson-sidebar {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 1rem;
  height: max-content;
}

.lesson-sidebar h3 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-bright);
  margin: 0 0 1rem;
  padding: 0 0.5rem;
}

.lesson-link {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  margin-bottom: 0.25rem;
  border: 1px solid transparent;
}

.lesson-link:hover {
  background: var(--bg-surface);
}

.lesson-link.active {
  background: rgba(50, 215, 75, 0.1);
  border-color: rgba(36, 184, 59, 0.55);
}

.lesson-link .num {
  color: var(--text-bright);
  font-size: 0.85rem;
  flex-shrink: 0;
}

.lesson-link.active .num {
  color: var(--accent);
}

.lesson-link .title {
  font-size: 0.95rem;
  line-height: 1.4;
  color: #163a70;
  font-weight: 600;
}

.lesson-link .completed {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #32d74b;
  color: #071225;
  font-weight: 800;
  margin-left: auto;
  flex-shrink: 0;
}
.lesson-link.completed { border-color: #70cf80; background: #eefaf0; }
.lesson-link.completed .title { color: #126923; }
.lesson-link.locked {
  opacity: 0.55;
}
.lesson-sidebar-review {
  display: block;
  text-align: center;
  margin-top: 0.75rem;
  padding: 0.75rem;
  background: rgba(0, 230, 118, 0.05);
  color: var(--accent);
  border: 1px dashed rgba(0, 230, 118, 0.3);
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: background 0.2s, border-color 0.2s;
}
.lesson-sidebar-review:hover {
  background: rgba(0, 230, 118, 0.1);
  border-color: rgba(0, 230, 118, 0.5);
  border-style: solid;
}
.lesson-link .lock,
.lesson-link .free-tag {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 0.75rem;
}
.lesson-link .free-tag {
  background: rgba(50, 215, 75, 0.16);
  color: #16852a;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* Preview CTA — below lesson description for non-purchasers */
.cta-row {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.preview-cta {
  margin-top: 2rem;
  padding: 1.75rem;
  background: linear-gradient(135deg, rgba(0, 230, 118, 0.08) 0%, rgba(0, 230, 118, 0.02) 100%);
  border: 1px solid rgba(0, 230, 118, 0.25);
  border-radius: 12px;
  text-align: center;
}
.preview-cta-text {
  margin: 0 0 1.25rem;
  color: #d4d4d4;
  font-size: 1.05rem;
}
.preview-cta-text strong {
  color: var(--accent);
}

/* Login page */
.auth-card {
  max-width: 420px;
  margin: 5rem auto;
  padding: 2.5rem 2rem;
  background: #161616;
  border: 1px solid #232323;
  border-radius: 12px;
  text-align: center;
  color: #ffffff;
}

.auth-card h1,
.auth-card h2,
.auth-card h3,
.auth-card label {
  color: #ffffff;
}

.auth-card h2 {
  margin: 0 0 0.5rem;
}

.auth-card p {
  color: #d4d9e2;
  margin-bottom: 2rem;
}

.auth-card input[type="email"],
.auth-card input[type="password"],
.auth-card input[type="text"],
.auth-card input[type="tel"] {
  width: 100%;
  padding: 0.85rem 1rem;
  background: #ffffff;
  border: 1px solid #aeb8c5;
  border-radius: 8px;
  color: #111111;
  font-size: 1rem;
  margin-bottom: 1rem;
  box-sizing: border-box;
}

.auth-card input::placeholder {
  color: #5e6470;
  opacity: 1;
}

.auth-card input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(50, 215, 75, 0.22);
}

.auth-card .auth-text-link,
.auth-card a:not(.lms-cta-btn) {
  color: #7ee88f;
}

.auth-card button {
  width: 100%;
}

.auth-card .sent {
  background: rgba(0, 230, 118, 0.1);
  border: 1px solid rgba(0, 230, 118, 0.3);
  color: var(--accent);
  padding: 1rem;
  border-radius: 8px;
}

/* Small text-link styled resend (overrides the full-width .auth-card button) */
.auth-card .resend-link {
  width: auto;
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 0.85rem;
  text-decoration: underline;
  padding: 0;
  cursor: pointer;
}
.auth-card .resend-link:hover { color: var(--accent); }

/* Sticky purchase box */
.purchase-box {
  position: sticky;
  bottom: 1.5rem;
  background: linear-gradient(to top, #0a0a0a 60%, rgba(10, 10, 10, 0));
  padding: 1.5rem 0 0.5rem;
  text-align: center;
  z-index: 50;
}

/* LINE OA floating button */
.line-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #06C755;
  color: #fff;
  text-decoration: none;
  font-family: 'Kanit', 'Sarabun', sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 11px 18px;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s ease;
}
.line-fab:hover { transform: translateY(-2px); color: #fff; }

/* --- public course page + landing --- */
.hero-lead {
  max-width: 46rem;
  margin: 0 auto 2rem;
  color: var(--text-muted);
  font-size: 1.1rem;
  line-height: 1.8;
}
.lesson-list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
}
.lesson-list-item {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--border);
}
.lesson-list-num {
  color: var(--text-muted);
  font-size: 0.9rem;
  min-width: 1.5rem;
}
.lesson-list-title { flex: 1; }
.lesson-preview-tag {
  margin-left: 0.5rem;
  font-size: 0.8rem;
  color: var(--accent);
  text-decoration: none;
}
.lesson-preview-tag:hover { text-decoration: underline; }
.footer-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.footer-links a {
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.9rem;
}
.footer-links a:hover { color: var(--accent); }

/* FULL TOEIC conversion sales page v2 */
.sales-page-v2 { background: #fff; }
.sales-v2-hero { height: clamp(650px,calc(100vh - 94px),810px); min-height: 0; display: grid; align-items: stretch; overflow: hidden; color: #fff; background: #071225 url('/static/img/sales/full-toeic-v2/hero-full-toeic-v3.webp') center top / auto 100% no-repeat; }
.sales-v2-mobile-overlay { display: none; }
.sales-v2-hero-inner { width: min(100%, 1280px); min-height: 100%; margin: 0 auto; padding: 2.75rem 2.5rem; display: flex; align-items: center; }
.sales-v2-hero-copy { width: min(47%,580px); padding: 0; }
.sales-v2-kicker { margin: 0 0 .8rem; color: #91f3a0; font: 600 .95rem var(--font-heading); }
.sales-v2-hero h1 { margin: 0 0 1rem; color: #fff; font-size: clamp(2.25rem, 3.45vw, 3.65rem); line-height: 1.08; }
.sales-v2-hero h1 > span { display: block; color: #fff; white-space: nowrap; }
.sales-v2-hero h1 .sales-v2-title-main { font-size: .92em; }
.sales-v2-hero h1 .sales-v2-title-main b { color: #54e76a; font-weight: 700; }
.sales-v2-hero h1 .sales-v2-title-time { margin-top: .16em; color: #fff; font-size: 1.02em; }
.sales-v2-hero h1 .sales-v2-title-base { margin-top: .14em; color: #b9c8db; font-size: .7em; font-weight: 600; }
.sales-v2-lead { max-width: 560px; margin: 0 0 1.25rem; color: #eef4fb; font-size: 1.08rem; line-height: 1.75; }
.sales-v2-price-row { display: flex; align-items: baseline; gap: .85rem; margin-bottom: .8rem; }
.sales-v2-price-row s { color: #b8c3d2; }
.sales-v2-price-row strong { color: #fff; font: 700 2rem var(--font-heading); }
.sales-v2-scarcity { width: fit-content; display: flex; align-items: center; gap: .45rem; margin: 0 0 1.25rem; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.28); border-radius: 6px; background: rgba(7,18,37,.82); color: #fff; font-size: .9rem; }
.sales-v2-hero .sales-v2-scarcity strong { color: #91f3a0; }
.sales-v2-scarcity i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #54e76a; box-shadow: 0 0 0 5px rgba(84,231,106,.14); }
.sales-v2-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.sales-v2-primary { min-height: 54px; padding-inline: 1.35rem; font-size: 1rem; box-shadow: 0 10px 24px rgba(50,215,75,.18); }
.sales-v2-text-link { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.sales-v2-text-link:hover { color: #91f3a0; }
.sales-v2-microcopy { margin: .8rem 0 0; color: #bdc8d7; font-size: .78rem; }
.sales-v2-proof-strip { border-bottom: 1px solid var(--border); background: #fff; }
.sales-v2-proof-grid { width: min(100%, 1080px); display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 1.2rem; }
.sales-v2-proof-grid div { min-width: 0; padding: .2rem 1.2rem; text-align: center; border-right: 1px solid var(--border); transition: transform .18s ease; }
.sales-v2-proof-grid div:last-child { border: 0; }
.sales-v2-proof-grid div:hover { transform: translateY(-3px); }
.sales-v2-proof-grid strong,.sales-v2-proof-grid span { display: block; }
.sales-v2-proof-grid strong { color: #163a70; font: 700 1.12rem var(--font-heading); }
.sales-v2-proof-grid span { color: var(--text-muted); font-size: .82rem; }
.score-plan-invite { padding: 1.5rem 0; border-bottom: 1px solid #cad5e2; background: #edf9ef; }
.score-plan-invite .sales-container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.score-plan-invite h2 { margin: .15rem 0 .3rem; color: #163a70; font-size: 1.55rem; }
.score-plan-invite p { margin: 0; color: #405064; }
.score-plan-invite .eyebrow { color: #147c27; }
.score-plan-invite .lms-cta-btn { flex: 0 0 auto; }

.score-plan-page { min-height: 70vh; padding: 3rem 1rem 5rem; background: #f4f7fa; }
.score-plan-intro,.score-plan-form-wrap,.score-plan-result { width: min(100%, 820px); margin: 0 auto; }
.score-plan-intro { margin-bottom: 1.5rem; }
.score-plan-intro h1,.score-plan-result h1 { margin: .25rem 0 .6rem; color: #163a70; font-size: 2.2rem; }
.score-plan-intro p { max-width: 680px; color: #405064; }
.score-plan-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.5rem; border: 1px solid #d5dde7; border-radius: 8px; background: #fff; }
.score-plan-form label:not(.check-row) { display: grid; gap: .4rem; color: #27384c; font-weight: 600; }
.score-plan-form input,.score-plan-form select { width: 100%; min-height: 48px; padding: .65rem .75rem; border: 1px solid #aeb9c6; border-radius: 6px; background: #fff; color: #111; font: inherit; }
.score-plan-wide,.score-plan-form .sales-form-error { grid-column: 1 / -1; }
.score-plan-form .check-row { align-items: flex-start; font-size: .88rem; line-height: 1.5; }
.score-plan-form .check-row input { width: 20px; min-height: 20px; }
.score-plan-result { padding: 2rem; border: 1px solid #d5dde7; border-radius: 8px; background: #fff; }
.score-plan-greeting { color: #405064; font-size: 1.08rem; }
.score-plan-score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.5rem 0; }
.score-plan-score-grid article { padding: 1.25rem; border-top: 4px solid #32d74b; background: #f4f7fa; text-align: center; }
.score-plan-score-grid span,.score-plan-score-grid small { display: block; color: #405064; }
.score-plan-score-grid strong { display: block; color: #163a70; font-size: 2.5rem; }
.score-plan-advice { padding: 1.25rem; border-left: 4px solid #32d74b; background: #edf9ef; }
.score-plan-advice h2 { margin-top: 0; color: #163a70; font-size: 1.35rem; }
.score-table { margin: 1.5rem 0; }
.score-table img { width: 100%; display: block; border: 1px solid #d5dde7; }
.score-table figcaption,.score-plan-email-note { margin-top: .55rem; color: #667085; font-size: .78rem; }
.score-plan-next { width: 100%; text-align: center; }

/* Human-reviewed TOEIC score clinic */
.score-review-page{min-height:72vh;padding:2.5rem 1rem 5rem;background:#f4f7f9;color:#102d52}
.score-review-page .eyebrow{margin:0 0 .4rem;color:#008bad;font-size:.78rem;font-weight:700;text-transform:uppercase}
.score-review-hero,.score-review-form-wrap,.score-review-closed,.score-review-pending,.score-report{width:min(100%,960px);margin:0 auto}
.score-review-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);align-items:end;min-height:330px;border-bottom:4px solid #00b968;background:#fff;overflow:hidden}
.score-review-hero>div{padding:2.5rem}
.score-review-hero h1{margin:0;color:#102d52;font-size:clamp(2rem,5vw,3.6rem);line-height:1.12;letter-spacing:0}
.score-review-hero>div>p:not(.eyebrow){max-width:610px;color:#405064;font-size:1.08rem;line-height:1.7}
.score-review-hero img{width:100%;height:330px;object-fit:cover;object-position:center 18%}
.score-review-steps{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin-top:1.5rem;color:#405064;font-size:.9rem}
.score-review-steps span{display:flex;align-items:center;gap:.4rem}.score-review-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#102d52;color:#fff}
.score-review-form-wrap{margin-top:1.5rem;padding:1.75rem;border:1px solid #d5dde7;background:#fff}
.score-review-form-wrap>header{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.25rem;border-bottom:1px solid #d5dde7}
.score-review-form-wrap h2{margin:0;color:#102d52}.score-review-form-wrap>header>p{max-width:390px;margin:0;color:#667085;font-size:.9rem}
.score-review-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;margin-top:1.5rem}
.score-review-form label:not(.check-row),.score-review-editor label{display:grid;gap:.4rem;color:#27384c;font-weight:600}
.score-review-form label small,.score-review-editor label small{color:#667085;font-weight:400}
.score-review-form input,.score-review-form select,.score-review-form textarea,.score-review-editor input,.score-review-editor select,.score-review-editor textarea{width:100%;min-height:48px;padding:.7rem .8rem;border:1px solid #aeb9c6;border-radius:6px;background:#fff;color:#111;font:inherit}
.score-review-form input[type=file]{padding:.6rem;background:#f7fafc}
.score-review-form textarea,.score-review-editor textarea{resize:vertical;line-height:1.55}
.score-review-wide{grid-column:1/-1}.score-review-form .check-row{align-items:flex-start;color:#405064;font-size:.88rem;line-height:1.5}.score-review-form .check-row input{width:20px;min-height:20px}
.score-review-form>.lms-cta-btn{width:100%;min-height:54px;font-size:1.05rem}.score-review-fine{color:#667085;font-size:.78rem;line-height:1.55}
.score-review-closed,.score-review-pending{padding:3rem;margin-top:1.5rem;border-top:4px solid #00b968;background:#fff;text-align:center}.score-review-closed h2,.score-review-pending h1{color:#102d52}
.score-review-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#e8f8ef;color:#00a35a;font-size:2rem;font-weight:700}
.score-review-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:620px;margin:2rem auto;background:#d5dde7}.score-review-progress span{padding:1rem;background:#f4f7f9;color:#667085}.score-review-progress .done{background:#e8f8ef;color:#08783f;font-weight:700}
.score-report-page{padding-top:1.5rem}.score-report{background:#fff;border-top:6px solid #00b968}.score-report-preview{padding:.75rem 1rem;background:#fff4d6;color:#7a5200;text-align:center;font-weight:700}
.score-report-header{display:flex;justify-content:space-between;gap:2rem;padding:2.25rem;border-bottom:1px solid #d5dde7}.score-report-header h1{max-width:650px;margin:.2rem 0;color:#102d52;font-size:2.35rem;line-height:1.2}.score-report-header p{margin:.5rem 0 0;color:#405064}.score-report-header img{width:95px;height:70px;object-fit:contain}
.score-report-snapshot{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d5dde7}.score-report-snapshot div{padding:1.4rem;border-right:1px solid #d5dde7}.score-report-snapshot div:last-child{border-right:0}.score-report-snapshot span,.score-report-snapshot strong{display:block}.score-report-snapshot span{color:#667085;font-size:.8rem}.score-report-snapshot strong{margin-top:.35rem;color:#102d52;font-size:1.35rem}
.score-report-quality{padding:1.25rem 2.25rem;background:#edf8fb;border-bottom:1px solid #b9e1eb}.score-report-quality strong{color:#007f9e}.score-report-quality p{margin:.35rem 0 0;color:#405064;font-size:.9rem}
.score-report-section{padding:2rem 2.25rem;border-bottom:1px solid #d5dde7}.score-report-section h2,.score-report-booking h2{margin:.15rem 0 .8rem;color:#102d52;font-size:1.55rem}.score-report-section p,.score-report-section li,.score-report-preline{color:#33465d;line-height:1.75}.score-report-section ol{margin:.75rem 0 0;padding-left:1.4rem}.score-report-section li{padding:.35rem 0}.score-report-section blockquote{margin:1.25rem 0 0;padding:1rem 1.2rem;border-left:4px solid #00b968;background:#edf9f2;color:#20384e}.score-report-diagnosis{background:#fbfdfd}.score-report-priorities{counter-reset:priority;list-style:none;padding:0!important}.score-report-priorities li{position:relative;padding:.8rem 0 .8rem 3rem;border-bottom:1px solid #e5eaf0}.score-report-priorities li:before{counter-increment:priority;content:counter(priority);position:absolute;left:0;top:.7rem;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#102d52;color:#fff;font-weight:700}.score-report-preline{white-space:pre-line}.score-report-practice{border-left:4px solid #00a9d6}
.score-report-booking{padding:2.5rem 2.25rem;background:#102d52;color:#fff;text-align:center}.score-report-booking .eyebrow{color:#67dff8}.score-report-booking h2{color:#fff}.score-report-booking p{max-width:640px;margin:.7rem auto 1.3rem;color:#dfeaf4}.score-report-booking .lms-cta-btn{background:#00b968}.score-report-booking button[disabled]{opacity:.6;cursor:not-allowed}.score-report-footer{padding:1rem 2.25rem;color:#667085;font-size:.72rem;text-align:center}
.score-review-admin-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:1.5rem;align-items:start}.score-review-admin-layout aside .admin-panel{margin-bottom:1rem}.score-review-admin-meta{display:grid;grid-template-columns:1fr 1.3fr;gap:.45rem;margin:0}.score-review-admin-meta dt{color:#667085;font-size:.8rem}.score-review-admin-meta dd{margin:0;color:#111;overflow-wrap:anywhere}.score-review-file{display:block;padding:.8rem 0;border-bottom:1px solid #d5dde7}.score-review-file span,.score-review-file small{display:block}.score-review-file small{color:#667085}.score-review-editor form{display:grid;gap:1.1rem}.score-review-editor-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.score-review-warning,.admin-result{padding:1rem;border-left:4px solid #d69e00;background:#fff4d6;color:#6d4b00}.admin-result{width:min(100%,960px);margin:0 0 1rem}.admin-result.sent{border-color:#00b968;background:#e8f8ef;color:#086a3a}.admin-result.email_failed,.admin-result.incomplete{border-color:#c73737;background:#fff0f0;color:#8b1e1e}
@media(max-width:760px){.score-review-page{padding:1rem .75rem 3rem}.score-review-hero{grid-template-columns:1fr}.score-review-hero>div{padding:1.4rem}.score-review-hero img{height:230px;object-position:center 20%}.score-review-steps{display:grid}.score-review-form-wrap{padding:1rem}.score-review-form-wrap>header{display:block}.score-review-form-wrap>header>p{margin-top:.5rem}.score-review-form{grid-template-columns:1fr}.score-review-form>*{grid-column:1}.score-review-closed,.score-review-pending{padding:2rem 1rem}.score-review-progress{grid-template-columns:1fr}.score-report-header{padding:1.4rem;display:block}.score-report-header h1{font-size:1.7rem}.score-report-header img{margin-top:1rem}.score-report-snapshot{grid-template-columns:1fr 1fr}.score-report-snapshot div:nth-child(2){border-right:0}.score-report-snapshot div:nth-child(-n+2){border-bottom:1px solid #d5dde7}.score-report-quality,.score-report-section,.score-report-booking{padding:1.4rem}.score-review-admin-layout{grid-template-columns:1fr}.score-review-editor-actions{display:grid}.score-review-editor-actions .lms-cta-btn{width:100%}}
@media (max-width: 700px) {
  .score-plan-invite .sales-container { display: grid; gap: 1rem; }
  .score-plan-invite .lms-cta-btn { width: 100%; }
  .score-plan-page { padding: 2rem .75rem 4rem; }
  .score-plan-form { grid-template-columns: 1fr; padding: 1rem; }
  .score-plan-form > * { grid-column: 1; }
  .score-plan-intro h1,.score-plan-result h1 { font-size: 1.65rem; }
  .score-plan-result { padding: 1.1rem; }
}
.sales-v2-problem-tabs,.sales-v2-trial-tabs { display: flex; justify-content: center; gap: .5rem; margin: 0 auto 1rem; }
.sales-v2-problem-tabs button,.sales-v2-trial-tabs button { min-height: 44px; padding: .65rem 1rem; border: 1px solid #b8c2cf; border-radius: 6px; background: #fff; color: #163a70; font: 600 .92rem var(--font-heading); cursor: pointer; }
.sales-v2-problem-tabs button[aria-selected='true'],.sales-v2-trial-tabs button[aria-selected='true'] { border-color: #163a70; background: #163a70; color: #fff; }
.sales-v2-problem-panel { max-width: 680px; min-height: 150px; margin: 0 auto; padding: 1.5rem; display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 1rem; border-top: 3px solid #32d74b; background: #f4f5f7; }
.sales-v2-problem-panel > span { color: #163a70; font: 700 2.25rem var(--font-heading); }
.sales-v2-problem-panel h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.sales-v2-problem-panel p { margin: 0; color: var(--text-muted); }
.sales-v2-case-band { padding-bottom: 0; background: #0c1c35; }
.sales-proof-cta { padding: 1.15rem 0 1.4rem; display: flex; align-items: center; justify-content: center; gap: 1rem; border-top: 1px solid rgba(255,255,255,.14); }
.sales-proof-cta span { color: #e4ebf4; font-weight: 600; }
.sales-proof-cta .lms-cta-btn { min-height: 48px; background: #32d74b; color: #071225; }
.sales-proof-cta .lms-cta-btn:hover,.sales-proof-cta .lms-cta-btn:focus-visible { background: #54e76a; color: #071225; transform: translateY(-2px); }
.sales-v2-case { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(0,1.35fr); gap: 2.5rem; align-items: end; color: #fff; }
.sales-v2-case-person { height: 680px; min-height: 680px; max-height: 680px; padding-top: 90px; align-self: end; display: flex; align-items: flex-start; justify-content: center; overflow: hidden; }
.sales-v2-case-person img { width: 185%; max-width: none; max-height: none; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 12px 28px rgba(0,0,0,.35)); }
.sales-v2-case-content { padding: 1rem 0 4.5rem; }
.sales-v2-case-content > .eyebrow { color: #91f3a0; }
.sales-v2-case-content h2 { color: #fff; font-size: 2.25rem; }
.sales-v2-case-content h2 > span { color: #d3dce8; font-weight: 600; }
.sales-v2-case-content h2 > strong { display: inline-block; color: #54e76a; font-size: 1.28em; line-height: .9; text-shadow: 0 5px 20px rgba(84,231,106,.18); }
.sales-v2-score-journey { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; margin: 1.25rem 0; }
.sales-v2-score-journey figure { position: relative; margin: 0; padding: .65rem; border: 1px solid #d8e0ea; border-radius: 6px; background: #fff; color: #111; box-shadow: 0 10px 25px rgba(0,0,0,.16); transition: transform .18s ease, box-shadow .18s ease; }
.sales-v2-score-journey figure:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0,0,0,.23); }
.sales-v2-score-after { border-color: #54e76a !important; box-shadow: 0 14px 32px rgba(50,215,75,.16) !important; }
.sales-v2-score-card-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; }
.sales-v2-score-card-head span { color: #163a70; font-weight: 700; }
.sales-v2-score-card-head em { padding: .2rem .4rem; border-radius: 4px; background: #eef2f7; color: #5e6470; font-size: .68rem; font-style: normal; font-weight: 700; }
.sales-v2-score-after .sales-v2-score-card-head em { background: #e4f8e8; color: #126923; }
.sales-v2-score-journey img { width: 100%; aspect-ratio: 2.55 / 1; display: block; object-fit: cover; border: 1px solid #dfe3e8; }
.sales-v2-score-journey figcaption { margin-top: .45rem; font-size: .9rem; }
.sales-v2-score-journey figcaption strong { color: #147c27; font-size: 1.25rem; }
.sales-v2-score-after figcaption strong { font-size: 1.55rem; }
.sales-v2-score-journey > b { color: #54e76a; font-size: 1.8rem; }
.sales-v2-case blockquote { position: relative; margin: 1.25rem 0 .6rem; padding: 1.15rem 1.25rem; border-left: 4px solid #54e76a; border-radius: 0 6px 6px 0; background: #1b2d48; color: #f2f6fb; box-shadow: 0 10px 25px rgba(0,0,0,.14); }
.sales-v2-case blockquote > p { margin: 0; color: #f2f6fb; font-size: 1.02rem; font-style: normal; line-height: 1.8; }
.sales-v2-case blockquote cite { display: flex; align-items: center; gap: .65rem; margin-top: .85rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.13); font-style: normal; }
.dome-quote-avatar { width: 42px; height: 42px; flex: 0 0 42px; display: block; overflow: hidden; border: 2px solid #54e76a; border-radius: 50%; background: #0c1c35; }
.dome-quote-avatar img { width: 400%; max-width: none; transform: translateX(-37.5%); }
.sales-v2-case blockquote cite > span:last-child { display: grid; line-height: 1.3; }
.sales-v2-case blockquote cite strong { color: #fff; font-size: .9rem; }
.sales-v2-case blockquote cite small { color: #bfcbd9; font-size: .72rem; }
.sales-v2-result-note { margin: 0; color: #b9c4d2; font-size: .76rem; }
.sales-v2-method-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.sales-v2-method-grid article { min-height: 220px; padding: 1.5rem; border: 1px solid var(--border); border-radius: 8px; background: #fff; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.sales-v2-method-grid article:hover,.sales-v2-method-grid article:focus-visible { transform: translateY(-5px); border-color: #163a70; box-shadow: 0 14px 30px rgba(22,58,112,.11); outline: 0; }
.sales-v2-method-grid span { color: #147c27; font: 700 1.8rem var(--font-heading); }
.sales-v2-method-grid h3 { margin: 1.5rem 0 .4rem; font-size: 1.15rem; }
.sales-v2-method-grid p { margin: 0; color: var(--text-muted); }
.score-slide { appearance: none; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.sales-v2-trial-player { max-width: 760px; margin: 0 auto; }
.sales-v2-package-grid article { transition: transform .18s ease, box-shadow .18s ease; }
.sales-v2-package-grid article:hover,.sales-v2-package-grid article:focus-visible { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(22,58,112,.12); outline: 2px solid #163a70; outline-offset: 2px; }
.sales-v2-package-grid img { transition: transform .25s ease; }
.sales-v2-package-grid article:hover img { transform: scale(1.02); }
.sales-v2-package { padding-bottom: 3.5rem; }
.sales-call-band { padding: 1.35rem 0; border-top: 1px solid #cad5e2; border-bottom: 1px solid #cad5e2; background: #edf3f9; }
.sales-call-band-inner { width: min(100%, 940px); display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.sales-call-band-inner div { display: grid; gap: .12rem; }
.sales-call-band-inner strong { color: #163a70; font: 700 1.35rem var(--font-heading); }
.sales-call-band-inner span { color: #27384c; }
.sales-call-band-inner small { color: #147c27; font-weight: 700; }
.sales-call-button { min-height: 50px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; padding: .75rem 1.25rem; border: 1px solid #147c27; border-radius: 6px; background: #fff; color: #147c27; font-weight: 700; box-shadow: 0 8px 20px rgba(22,58,112,.08); }
.sales-call-button:hover,.sales-call-button:focus-visible { background: #147c27; color: #fff; transform: translateY(-2px); }
.sales-results-compact { padding-block: 3.25rem 2.5rem; }
.sales-v2-method-inline { margin-top: 3.5rem; padding-top: 3rem; border-top: 1px solid var(--border); text-align: center; }
.sales-v2-method-inline > h2 { max-width: 650px; margin: .35rem auto 1.5rem; font-size: 1.75rem; }
.sales-v2-method-inline .sales-v2-method-grid { text-align: left; }
.sales-video-combined { padding-block: 3.75rem; }
.sales-v2-diagnosis { border-bottom: 1px solid #d8dee8; background: #f4f5f7; }
.sales-diagnosis-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.sales-diagnosis-grid button { min-height: 76px; display: flex; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid #c8d1dc; border-radius: 8px; background: #fff; color: #27384c; text-align: left; font: 600 .95rem/1.5 var(--font); cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.sales-diagnosis-grid button:hover,.sales-diagnosis-grid button:focus-visible { transform: translateY(-3px); border-color: #147c27; box-shadow: 0 10px 24px rgba(22,58,112,.1); outline: 0; }
.sales-diagnosis-grid button[aria-pressed='true'] { border-color: #32d74b; background: #edf9ef; color: #126923; }
.sales-check-icon { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border: 1px solid #aeb9c6; border-radius: 50%; color: transparent; }
.sales-diagnosis-grid button[aria-pressed='true'] .sales-check-icon { border-color: #32d74b; background: #32d74b; color: #071225; }
.sales-diagnosis-result { max-width: 760px; min-height: 95px; margin: 1rem auto 0; padding: 1rem 1.2rem; border-left: 4px solid #32d74b; background: #f4f5f7; }
.sales-diagnosis-result strong { color: #163a70; }
.sales-diagnosis-result p { margin: .25rem 0 0; color: #5e6470; }
.sales-decision-band { background: #fff; }
.sales-decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.sales-fit,.sales-work-plan { padding: 1.5rem; border: 1px solid #d8dee8; border-radius: 8px; background: #f8fafc; }
.sales-fit .sales-section-heading,.sales-work-plan .sales-section-heading { margin-bottom: 1.2rem; }
.sales-fit-tabs,.sales-plan-tabs { display: grid; gap: .4rem; margin-bottom: .8rem; }
.sales-fit-tabs { grid-template-columns: 1fr 1fr; }
.sales-plan-tabs { grid-template-columns: repeat(3,1fr); }
.sales-fit-tabs button,.sales-plan-tabs button { min-height: 44px; padding: .55rem .5rem; border: 1px solid #b7c2cf; border-radius: 6px; background: #fff; color: #163a70; font: 600 .85rem var(--font-heading); cursor: pointer; }
.sales-fit-tabs button[aria-selected='true'],.sales-plan-tabs button[aria-selected='true'] { border-color: #163a70; background: #163a70; color: #fff; }
.sales-fit-panel,.sales-plan-panel { min-height: 190px; padding: 1rem; border-top: 3px solid #32d74b; background: #fff; }
.sales-fit-panel ul { margin: 0; padding-left: 1.25rem; }
.sales-fit-panel li { margin-bottom: .45rem; }
.sales-plan-panel { display: grid; align-content: center; }
.sales-plan-panel strong { color: #163a70; font: 700 1.15rem var(--font-heading); }
.sales-plan-panel p { margin: .4rem 0 0; color: #5e6470; }
.sales-expectation { max-width: 820px; margin: 1.25rem auto 0; color: #5e6470; font-size: .82rem; text-align: center; }
.sales-payment-methods { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.sales-payment-methods strong { margin-right: .15rem; color: #163a70; }
.sales-payment-methods span { padding: .35rem .6rem; border: 1px solid #b8c6d6; border-radius: 5px; background: #fff; color: #163a70; font-size: .8rem; font-weight: 700; }
.sales-after-payment { margin: 1rem 0; border-top: 1px solid #cbd5e1; border-bottom: 1px solid #cbd5e1; }
.sales-after-payment summary { padding: .8rem 1.8rem .8rem 0; color: #163a70; font-weight: 700; cursor: pointer; }
.sales-after-payment ol { margin: 0 0 1rem; padding-left: 1.25rem; }
.sales-after-payment li { margin-bottom: .35rem; color: #445064; }
.sales-offer-call { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border-left: 3px solid #32d74b; background: #fff; }
.sales-offer-call span { display: grid; color: #5e6470; font-size: .85rem; }
.sales-offer-call span strong { color: #163a70; }
.sales-offer-call a { flex: 0 0 auto; color: #147c27; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.sales-try-link { display: inline-block; margin-top: .8rem; color: #163a70; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.sales-desktop-call { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 115; min-width: 210px; display: grid; gap: .05rem; padding: .7rem 1rem; border: 1px solid #b7d9bd; border-radius: 8px; background: #fff; color: #163a70; box-shadow: 0 12px 34px rgba(7,18,37,.2); transition: transform .18s ease, box-shadow .18s ease; }
.sales-desktop-call span { color: #147c27; font-size: .78rem; font-weight: 700; }
.sales-desktop-call strong { color: #163a70; }
.sales-desktop-call:hover,.sales-desktop-call:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(7,18,37,.24); }
.sales-mobile-actions { display: none; }
.sales-v2-offer { background: #eef2f7; }
.sales-v2-offer-grid { width: min(100%, 1000px); display: grid; grid-template-columns: 1fr 410px; align-items: center; gap: 3rem; }
.sales-v2-offer-copy h2 { font-size: 2rem; }
.sales-v2-scarcity-light { color: #163a70; border-color: #bec9d6; background: #fff; }
.sales-v2-offer-card { padding: 2rem; border-top: 4px solid #32d74b; border-radius: 8px; background: #fff; box-shadow: 0 18px 42px rgba(22,58,112,.13); text-align: center; }
.sales-v2-offer-card > p { margin: 0; color: #163a70; font: 700 1.15rem var(--font-heading); }
.sales-v2-offer-card > s { color: var(--text-muted); }
.sales-v2-offer-price { display: flex; justify-content: center; align-items: baseline; gap: .35rem; margin: .25rem 0 1rem; }
.sales-v2-offer-price strong { color: #147c27; font: 700 3.4rem var(--font-heading); }
.sales-v2-offer-price span { color: #111; font-weight: 600; }
.sales-v2-lightbox { width: min(92vw,760px); padding: 2.75rem 1rem 1rem; border: 0; border-radius: 8px; background: #fff; }
.sales-v2-lightbox::backdrop { background: rgba(7,18,37,.86); }
.sales-v2-lightbox img { display: block; width: 100%; max-height: 78vh; object-fit: contain; }
.sales-v2-lightbox button { position: absolute; top: .35rem; right: .6rem; width: 40px; height: 40px; border: 0; background: transparent; color: #111; font-size: 2rem; cursor: pointer; }

@media (max-width: 900px) {
  .sales-v2-hero { min-height: 760px; background-position: 56% top; }
  .sales-v2-hero::before { content: ''; position: absolute; inset: 0; background: rgba(7,18,37,.13); pointer-events: none; }
  .sales-v2-hero { position: relative; }
  .sales-v2-hero-inner { position: relative; z-index: 1; min-height: 760px; padding: 3rem 1.5rem; }
  .sales-v2-hero-copy { width: min(52%,500px); padding: 0; }
  .sales-v2-hero h1 { font-size: clamp(1.8rem,3.8vw,2.55rem); }
  .sales-v2-case { grid-template-columns: 240px 1fr; gap: 1.5rem; }
  .sales-v2-offer-grid { grid-template-columns: 1fr 360px; gap: 1.5rem; }
}

@media (max-width: 760px) {
  .sales-v2-hero { position: relative; height: auto; min-height: 0; padding-top: 75vw; background-position: 62% top; background-size: auto 75vw; background-repeat: no-repeat; background-color: #071225; }
  .sales-v2-mobile-overlay { position: absolute; z-index: 2; top: 7.5vw; left: 5.5vw; width: 46vw; display: block; color: #fff; font-family: var(--font-heading); line-height: 1.08; text-shadow: 0 2px 8px rgba(7,18,37,.35); }
  .sales-v2-mobile-overlay p { margin: 0 0 3vw; color: #91f3a0; font-size: clamp(.55rem,2.55vw,.72rem); font-weight: 600; line-height: 1.25; }
  .sales-v2-mobile-overlay strong,.sales-v2-mobile-overlay span { display: block; white-space: nowrap; }
  .sales-v2-mobile-overlay strong { margin-bottom: 2vw; color: #fff; font-size: clamp(1rem,5.2vw,1.35rem); }
  .sales-v2-mobile-overlay strong b { color: #54e76a; }
  .sales-v2-mobile-overlay span { color: #d1dbea; font-size: clamp(.8rem,3.8vw,1rem); font-weight: 600; }
  .sales-v2-hero::before { display: none; }
  .sales-v2-hero-inner { min-height: 0; padding: 1.6rem 1.25rem 2rem; display: block; background: #071225; }
  .sales-v2-hero-copy { width: 100%; padding: 0; }
  .sales-v2-hero-copy > .sales-v2-kicker,.sales-v2-hero-copy > h1 { display: none; }
  .sales-v2-hero h1 { font-size: clamp(1.72rem,8.1vw,2.1rem); }
  .sales-v2-hero h1 .sales-v2-title-main { font-size: .83em; }
  .sales-v2-hero h1 .sales-v2-title-time { font-size: 1em; }
  .sales-v2-hero h1 .sales-v2-title-base { font-size: .72em; }
  .sales-v2-lead { font-size: .98rem; }
  .sales-v2-actions { align-items: stretch; flex-direction: column; text-align: center; }
  .sales-v2-scarcity { font-size: .82rem; }
  .sales-v2-proof-grid { grid-template-columns: 1fr 1fr; padding: .8rem; }
  .sales-v2-proof-grid div { padding: .75rem .4rem; border-bottom: 1px solid var(--border); }
  .sales-v2-proof-grid div:nth-child(2) { border-right: 0; }
  .sales-v2-proof-grid div:nth-child(n+3) { border-bottom: 0; }
  .sales-v2-problem-tabs,.sales-v2-trial-tabs { display: grid; grid-template-columns: repeat(3,1fr); }
  .sales-v2-trial-tabs { grid-template-columns: 1fr 1fr; }
  .sales-video-tabs { grid-template-columns: repeat(3,1fr); }
  .sales-v2-problem-tabs button,.sales-v2-trial-tabs button { padding-inline: .4rem; font-size: .78rem; }
  .sales-v2-problem-panel { grid-template-columns: 46px 1fr; padding: 1.1rem; }
  .sales-v2-problem-panel > span { font-size: 1.6rem; }
  .sales-v2-case { display: flex; flex-direction: column-reverse; gap: 0; }
  .sales-v2-case-content { padding: 0 0 1.5rem; }
  .sales-v2-case-person { width: 100%; height: 360px; min-height: 360px; max-height: 360px; margin: 0 auto; padding-top: 0; align-items: flex-start; }
  .sales-v2-case-person img { width: 165%; max-width: none; max-height: none; }
  .sales-v2-case-content h2 { font-size: 1.55rem; white-space: nowrap; }
  .sales-v2-score-journey { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .35rem; }
  .sales-v2-score-journey figure { padding: .4rem; }
  .sales-v2-score-card-head { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .sales-v2-score-card-head span,.sales-v2-score-journey figcaption { font-size: .7rem; }
  .sales-v2-score-card-head em { font-size: .58rem; }
  .sales-v2-score-journey figcaption strong { font-size: 1rem; }
  .sales-v2-score-after figcaption strong { font-size: 1.25rem; }
  .sales-v2-score-journey > b { font-size: 1.2rem; text-align: center; }
  .sales-v2-case blockquote { padding: 1rem; }
  .sales-v2-case blockquote > p { font-size: .95rem; line-height: 1.75; }
  .sales-proof-cta { align-items: stretch; flex-direction: column; padding: 1.15rem 0 1.4rem; text-align: center; }
  .sales-proof-cta .lms-cta-btn { width: 100%; }
  .sales-v2-method-grid,.sales-v2-offer-grid { grid-template-columns: 1fr; }
  .sales-v2-method-grid article { min-height: 0; display: grid; grid-template-columns: 38px 1fr; gap: .15rem .65rem; padding: 1rem; }
  .sales-v2-method-grid article > span { grid-row: 1 / span 2; font-size: 1.4rem; }
  .sales-v2-method-grid h3 { margin: 0; }
  .sales-v2-method-grid p { grid-column: 2; }
  .sales-diagnosis-grid { grid-template-columns: 1fr; }
  .sales-diagnosis-grid button { min-height: 68px; }
  .sales-decision-grid { grid-template-columns: 1fr; }
  .sales-fit,.sales-work-plan { padding: 1.15rem; }
  .sales-fit-panel,.sales-plan-panel { min-height: 0; }
  .sales-offer-call { align-items: flex-start; flex-direction: column; }
  .sales-offer-call a { width: 100%; min-height: 44px; display: grid; place-items: center; border: 1px solid #147c27; border-radius: 6px; text-decoration: none; }
  .sales-v2-package-grid { width: calc(100% + 3rem); margin-inline: -1.5rem; padding: 0 1.5rem .75rem; display: flex; gap: .85rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .sales-v2-package-grid::-webkit-scrollbar { display: none; }
  .sales-v2-package-grid article { flex: 0 0 min(78vw,310px); scroll-snap-align: start; }
  .sales-v2-package,.sales-results-compact,.sales-video-combined { padding-block: 3rem; }
  .sales-call-band-inner { align-items: stretch; flex-direction: column; gap: 1rem; text-align: center; }
  .sales-call-button { width: 100%; }
  .sales-v2-method-inline { margin-top: 2.5rem; padding-top: 2.5rem; }
  .sales-v2-method-inline > h2 { font-size: 1.45rem; }
  .sales-desktop-call { display: none; }
  .sales-mobile-actions { position: fixed; left: .65rem; right: .65rem; bottom: .65rem; z-index: 120; min-height: 58px; display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; border: 1px solid #b9c7d7; border-radius: 8px; background: #fff; box-shadow: 0 10px 30px rgba(17,17,17,.28); }
  .sales-mobile-actions a { min-width: 0; display: flex; align-items: center; justify-content: center; padding: .55rem .6rem; text-align: center; font-weight: 700; }
  .sales-mobile-call { color: #147c27; border-right: 1px solid #b9c7d7; }
  .sales-mobile-buy { flex-direction: column; background: #147c27; color: #fff; line-height: 1.15; }
  .sales-mobile-buy span { color: #dff8e3; font-size: .7rem; }
  .sales-mobile-buy strong { color: #fff; }
  .sales-v2-offer-card { padding: 1.4rem; }
  .sales-v2-offer-price strong { font-size: 2.85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-trust-portrait img { transition: none; }
  .sales-v2-proof-grid div,.sales-v2-method-grid article,.sales-v2-package-grid article,.sales-v2-package-grid img,.sales-diagnosis-grid button { transition: none; }
  .score-marquee { overflow-x: auto; scrollbar-width: none; }
  .score-marquee::-webkit-scrollbar { display: none; }
  .score-marquee-track { animation: none; }
}

@media (max-width: 760px) {
  .score-marquee { margin-inline: -1.5rem; width: calc(100% + 3rem); padding-bottom: 1.5rem; }
  .score-marquee-track { animation-duration: 27s; }
  .score-marquee-group { gap: .75rem; padding-right: .75rem; }
  .score-marquee-item { flex-basis: min(74vw, 300px); width: min(74vw, 300px); }
}

/* Compact paid-traffic sequence: proof and checkout stay near the top. */
.sales-page-compact { display: flex; flex-direction: column; }
.sales-page-compact > .sales-v2-hero { order: 1; }
.sales-page-compact > .sales-v2-proof-strip { order: 2; }
.sales-page-compact > .sales-v2-case-band { order: 3; }
.sales-page-compact > .sales-v2-package { order: 4; }
.sales-page-compact > .sales-video-combined { order: 5; }
.sales-page-compact > .sales-v2-offer { order: 6; }
.sales-page-compact > .sales-results-compact { order: 7; }
.sales-page-compact > .sales-decision-band { order: 8; }
.sales-page-compact > #faq { order: 9; }
.sales-page-compact > .sales-v2-diagnosis { order: 10; }
.sales-page-compact > .score-plan-invite { order: 11; }
.sales-page-compact .sales-band { padding-block: 3.25rem; }
.sales-page-compact .sales-v2-case-person { height: 540px; min-height: 540px; max-height: 540px; padding-top: 55px; }
.sales-page-compact .sales-v2-case-content { padding-bottom: 2.5rem; }
.sales-page-compact .sales-v2-package { padding-block: 3rem; }
.sales-page-compact .sales-video-combined { padding-block: 3rem; }
.sales-page-compact .sales-v2-diagnosis { padding-block: 2.5rem; }

@media (max-width: 760px) {
  .sales-page-compact .sales-band { padding-block: 2.4rem; }
  .sales-page-compact .sales-v2-case-person { display: none; }
  .sales-page-compact .sales-v2-case-content { padding-bottom: 1.25rem; }
  .sales-page-compact .sales-v2-package-grid {
    width: 100%; margin: 0; padding: 0; display: grid; gap: .75rem; overflow: visible;
  }
  .sales-page-compact .sales-v2-package-grid article {
    width: 100%; min-height: 104px; display: grid; grid-template-columns: 88px 1fr;
    grid-template-rows: auto 1fr; gap: .15rem .85rem; padding: .55rem; text-align: left;
  }
  .sales-page-compact .sales-v2-package-grid img {
    width: 88px; height: 88px; grid-row: 1 / span 2; object-fit: cover; border-radius: 5px;
  }
  .sales-page-compact .sales-v2-package-grid h3 { margin: .25rem 0 0; font-size: .95rem; }
  .sales-page-compact .sales-v2-package-grid p { margin: 0; font-size: .82rem; line-height: 1.45; }
  .sales-page-compact .sales-v2-diagnosis { display: none; }
  .sales-page-compact .sales-decision-grid { gap: .75rem; }
  .sales-page-compact .sales-fit,
  .sales-page-compact .sales-work-plan { padding: 1rem; }
}
