/* Phase 3 public storefront — responsive and database-backed */
.store-course-card{min-width:0}
.store-course-card h3 a{color:inherit;text-decoration:none}
.store-course-card h3 a:hover{color:#a87131}
.store-art{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:#24384b;border-radius:10px 10px 0 0}
.store-art picture{display:block;width:100%;height:100%}
.store-art img{display:block;width:100%;height:100%;object-fit:contain}
.store-art-default{background:linear-gradient(125deg,#182636,#39536b);display:grid;place-items:center}
.store-art-monogram{font-size:.85rem;letter-spacing:.24em;font-weight:800;color:#dba766;text-align:center;padding:20px}
.store-course-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:18px 0;color:#607083;font-size:.8rem}
.store-course-meta strong{font-size:.99rem;color:#243348}
.store-empty{background:#e8edf1;border:1px solid #d3dce4;border-radius:12px;padding:28px;color:#45586a;font-weight:600;grid-column:1/-1}
.store-muted{color:#637284;font-size:.89rem;line-height:1.7}
.store-contact-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.store-contact-link{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;text-decoration:none;background:#1b2938;color:#fff;font-size:.86rem;font-weight:700;transition:background .2s}
.store-contact-link:hover{background:#38516a;color:#fff}
.store-detail-page{margin:35px auto 90px}
.store-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:38px;align-items:start}
.store-detail-hero .store-art{aspect-ratio:4/5;border-radius:12px}
.store-detail-hero .store-art img{object-fit:contain}
.store-detail-copy{min-width:0}
.store-detail-copy h1{font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.08;letter-spacing:-.058em;margin:17px 0 22px}
.store-detail-copy .lead{font-size:1rem;line-height:1.75}
.store-detail-price{border-top:1px solid #dce2e8;border-bottom:1px solid #dce2e8;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:17px 0;margin:24px 0 17px}
.store-detail-price span{font-size:.86rem;color:#697889}
.store-detail-price strong{font-size:1.5rem;color:#1b2938}
.store-outline{margin-top:55px;max-width:820px}
.store-outline h2{font-size:clamp(1.7rem,3.2vw,2.7rem);margin:10px 0}
.store-outline-list{display:grid;gap:9px;margin-top:24px}
.store-lesson-row{display:flex;align-items:center;gap:15px;border:1px solid #dce3e9;background:#fff;border-radius:9px;padding:16px;font-weight:700;font-size:.88rem}
.store-lesson-num{display:grid;place-items:center;flex:0 0 38px;height:38px;background:#ebeff3;border-radius:8px;color:#647588;font-size:.77rem}
.store-demo-link{display:inline-flex;margin-top:22px;font-weight:700;font-size:.85rem;color:#24394d}
.store-contact-section{margin:50px auto 10px;padding:26px 0;border-top:1px solid #dbe2e8}
.store-contact-section h2{font-size:1.45rem}
@media(max-width:700px){
  .store-detail-page{margin-top:18px}
  .store-detail-hero{grid-template-columns:1fr;gap:24px}
  .store-detail-hero .store-art{aspect-ratio:4/5;max-height:570px}
  .store-detail-copy h1{font-size:2.2rem}
  .store-art{aspect-ratio:4/5}
  .store-art img{object-fit:contain}
  .store-course-meta{gap:8px}
  .store-contact-link{flex:1;min-width:120px}
  .store-outline{margin-top:40px}
}

/* Honest, fixed-endtime promotion. No visitor-specific timer reset. */
.store-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0;text-align:right}
.store-promo-label{font-size:.66rem;letter-spacing:.11em;font-weight:900;color:#af6a2a}
.store-promo-amounts{display:flex;gap:8px;align-items:baseline;justify-content:flex-end;flex-wrap:wrap}
.store-regular-price{font-size:.84rem;color:#8996a2;white-space:nowrap;text-decoration-line:line-through;text-decoration-thickness:1.5px}
.store-promo-amounts .store-sale-price{font-weight:900;color:#a84626;font-size:1.25rem;white-space:nowrap}
.store-current-price{color:#22374b;font-size:1.06rem;white-space:nowrap}
.store-promo-timer{font-weight:800;color:#a04725;font-size:.76rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.store-price-block-detail .store-promo-amounts .store-sale-price{font-size:2rem}
.store-price-block-detail .store-regular-price{font-size:1.15rem}
.store-price-block-detail .store-promo-timer{font-size:.92rem}
.store-detail-price{align-items:center}
@media(max-width:700px){
 .store-promo-timer{white-space:normal}
 .store-course-meta{align-items:flex-start}
 .store-price-block-detail .store-promo-amounts .store-sale-price{font-size:1.8rem}
}

/* Home/catalog cards: wide desktop cover, 4:5 mobile cover, no forced side bands. */
.store-course-card .course-body{padding:22px 24px 20px}
.store-course-card .store-art{aspect-ratio:16/9;background:#E7EDF2}
.store-course-card .store-art img{object-fit:contain}
.store-course-card .store-art.store-art-mobile-only{aspect-ratio:4/5}
.store-course-card .store-art.store-art-mobile-only img{object-fit:contain}
@media(max-width:700px){
  .store-course-card .store-art{aspect-ratio:16/9;max-height:none}
  .store-course-card .store-art.store-art-has-mobile-cover{aspect-ratio:4/5}
  .store-course-card .store-art.store-art-has-mobile-cover img{object-fit:cover}
  .store-course-card .store-art.store-art-mobile-only{aspect-ratio:4/5}
  .store-course-card .course-body{padding:19px 18px 17px}
}

/* Compact homepage audio teaser; does not compete with the hero or course grid. */
.home-free-audio{padding:0 0 20px}
.home-free-audio-card{background:#0C2030;color:#E7EDF4;border-radius:16px;padding:clamp(22px,4vw,34px);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 16px 46px #0c203018}
.home-free-audio-card .eyebrow{color:#EAB878;margin:0 0 8px}
.home-free-audio-card h2{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#F8F2E8;font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 10px}
.home-free-audio-card h2 em{color:#EAB878;font-style:normal}
.home-free-audio-card p{color:#C8D3DD;font:.88rem/1.65 Inter,Manrope,sans-serif;margin:0;max-width:760px}
.home-free-audio-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:46px;padding:11px 17px;border:1px solid #EAB878;border-radius:9px;color:#EAB878;text-decoration:none;font:800 .82rem Inter,Manrope,sans-serif;white-space:nowrap}
.home-free-audio-link:hover{background:#EAB878;color:#142537}
.home-free-audio-link:focus-visible{outline:3px solid #F8F2E8;outline-offset:3px}
@media(max-width:700px){
 .home-free-audio{padding-bottom:15px}
 .home-free-audio-card{display:block;border-radius:13px;padding:20px 17px}
 .home-free-audio-card h2{font-size:1.45rem}
 .home-free-audio-card p{font-size:.84rem}
 .home-free-audio-link{width:100%;margin-top:17px;white-space:normal}
}