/* =====================================================================
   Yoga Kendra Bharat — course archive + single-course styling
   Palette mirrors v3-home.css (saffron / indigo / cream).
   ===================================================================== */
:root{
  --ykb-saffron:#E8890C; --ykb-saffron-l:#F5C57A;
  --ykb-indigo:#1F1B47; --ykb-indigo-m:#3a3270;
  --ykb-cream:#FBF8F3; --ykb-ink:#2c2740; --ykb-mid:#5b5570;
  --ykb-line:#ece7dd; --ykb-sage:#5a9b3f;
}

/* ---------------------------------------------------------------
   COURSE LIST (archive)
   --------------------------------------------------------------- */
body.post-type-archive-courses .site-content,
body.post-type-archive-courses #primary{ background:var(--ykb-cream); }
.tutor-courses-wrap.tutor-container{ max-width:1200px; padding-top:2.5rem; padding-bottom:4rem; }

.tutor-course-list.tutor-grid-3{ gap:1.6rem; }

.tutor-course-card{
  background:#fff; border:1px solid var(--ykb-line); border-radius:18px;
  overflow:hidden; box-shadow:0 6px 22px rgba(31,27,71,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s;
}
.tutor-course-card:hover{ transform:translateY(-6px); box-shadow:0 20px 48px rgba(31,27,71,.15); border-color:var(--ykb-saffron-l); }
.tutor-course-card .tutor-card-image-top,
.tutor-course-card .tutor-course-thumbnail{ position:relative; }
.tutor-course-card .tutor-ratio-16x9 img,
.tutor-course-card .tutor-card-image-top img{ width:100%; height:100%; object-fit:cover; }
.tutor-course-card .tutor-card-body{ padding:1.15rem 1.25rem .5rem; }
.tutor-course-card .tutor-course-name{
  font-family:'Cormorant Garamond','Playfair Display',serif !important;
  font-size:1.35rem !important; line-height:1.25; font-weight:700 !important; color:var(--ykb-indigo) !important;
  margin:.35rem 0 .5rem; display:block;
}
.tutor-course-card .tutor-course-name:hover{ color:var(--ykb-saffron) !important; }
.tutor-course-card .tutor-ratings-stars i,
.tutor-course-card .tutor-icon-star-line{ color:var(--ykb-saffron) !important; }
/* hide the empty "By" author line */
.tutor-course-card .tutor-meta.tutor-mt-auto,
.tutor-course-card .tutor-meta:empty{ display:none; }
.tutor-course-card .tutor-card-footer{
  padding:.9rem 1.25rem 1.25rem; border-top:1px solid var(--ykb-line);
  display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:.5rem;
}
.tutor-course-card .list-item-price .price,
.tutor-course-card .price{ color:var(--ykb-indigo) !important; font-size:1.15rem !important; font-weight:700 !important; }

/* enrol / add-to-cart button -> saffron pill */
.tutor-course-card .tutor-card-footer .tutor-btn,
.tutor-course-card .add_to_cart_button{
  background:var(--ykb-saffron) !important; color:#fff !important; border:0 !important;
  border-radius:40px !important; font-weight:600 !important; padding:.6rem 1.3rem !important;
  box-shadow:0 6px 16px rgba(232,137,12,.3); width:auto !important; display:inline-flex; align-items:center; gap:.4rem;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.tutor-course-card .tutor-card-footer .tutor-btn:hover,
.tutor-course-card .add_to_cart_button:hover{ background:var(--ykb-indigo) !important; transform:translateY(-2px); box-shadow:0 10px 22px rgba(31,27,71,.28); }
.tutor-course-card .tutor-course-bookmark .tutor-iconic-btn{ background:rgba(232,137,12,.08); color:var(--ykb-saffron); }

/* archive header / sort */
.course-archive-page .tutor-form-select,
.tutor-courses-wrap .tutor-form-control{ border-radius:40px; border:1px solid var(--ykb-line); }

/* ---------------------------------------------------------------
   SINGLE COURSE (modal-style)
   --------------------------------------------------------------- */
.ykb-course-detail{ background:var(--ykb-cream); }
.ykb-course-detail .container{ max-width:1120px; margin:0 auto; padding:0 1.5rem; width:100%; }

/* hero */
.cd-hero{
  background:linear-gradient(135deg,var(--ykb-indigo) 0%,#2a2258 55%,#3a2a63 100%);
  color:#fff; padding:3rem 0 8rem; position:relative; overflow:hidden;
}
.cd-hero::after{
  content:""; position:absolute; right:-140px; top:-120px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,137,12,.28), transparent 62%); pointer-events:none;
}
.cd-hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1fr; gap:2rem; }
.cd-back{ color:rgba(255,255,255,.72); text-decoration:none; font-size:.86rem; font-weight:500; display:inline-block; margin-bottom:1rem; }
.cd-back:hover{ color:var(--ykb-saffron-l); }
.cd-badge{
  display:inline-block; padding:.3rem .9rem; border-radius:40px; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; background:rgba(245,197,122,.2); color:var(--ykb-saffron-l); margin-bottom:.9rem;
}
.cd-badge-new{ color:var(--ykb-saffron-l); font-weight:600; }
.cd-title{
  font-family:'Cormorant Garamond','Playfair Display',serif; font-size:2.7rem; line-height:1.12;
  font-weight:700; margin:0 0 .8rem; max-width:16ch; color:#fff !important;
}
.cd-sub{ color:rgba(255,255,255,.82); font-size:1.02rem; line-height:1.6; max-width:60ch; margin:0 0 1.1rem; }
.cd-instructor{ font-size:.92rem; color:rgba(255,255,255,.8); margin-bottom:.9rem; }
.cd-instructor strong{ color:#fff; }
.cd-rating-row{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; margin-bottom:1.1rem; }
.cd-stars{ color:var(--ykb-saffron-l); letter-spacing:.08em; }
.cd-stars.sm{ font-size:.85rem; }
.cd-rating-num{ font-weight:700; }
.cd-rating-meta{ color:rgba(255,255,255,.62); font-size:.85rem; }
.cd-pills{ display:flex; gap:.55rem; flex-wrap:wrap; }
.cd-pill{
  display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .85rem;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:40px;
  font-size:.82rem; color:rgba(255,255,255,.9);
}

/* floating enrol card */
.cd-card{
  background:#fff; border-radius:18px; overflow:hidden; color:var(--ykb-ink);
  box-shadow:0 24px 60px rgba(15,10,40,.35); align-self:start;
}
.cd-card-img{ width:100%; padding-top:56.25%; background-size:cover; background-position:center; position:relative; }
.cd-card-img.has-preview{ cursor:pointer; }
.cd-play{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.6rem;
  background:linear-gradient(180deg, rgba(15,10,40,.15), rgba(15,10,40,.45)); transition:background .25s; }
.cd-card-img.has-preview:hover .cd-play{ background:linear-gradient(180deg, rgba(15,10,40,.25), rgba(15,10,40,.55)); }
.cd-play-btn{ width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--ykb-indigo);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; padding-left:4px;
  box-shadow:0 8px 24px rgba(0,0,0,.35); transition:transform .25s; }
.cd-card-img.has-preview:hover .cd-play-btn{ transform:scale(1.08); background:#fff; }
.cd-play-label{ color:#fff; font-weight:600; font-size:.85rem; text-shadow:0 1px 4px rgba(0,0,0,.5); }

/* preview lightbox */
.cd-preview-modal{ position:fixed; inset:0; z-index:3000; background:rgba(10,7,28,.82); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:1.2rem; opacity:0; pointer-events:none; transition:opacity .28s; }
.cd-preview-modal.open{ opacity:1; pointer-events:auto; }
.cd-preview-inner{ position:relative; width:100%; max-width:900px; }
.cd-preview-frame{ position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:14px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.5); }
.cd-preview-frame video, .cd-preview-frame iframe{ position:absolute; inset:0; width:100%; height:100%; }
.cd-preview-close{ position:absolute; top:-14px; right:-14px; width:40px; height:40px; border-radius:50%; border:0; cursor:pointer;
  background:#fff; color:var(--ykb-indigo); font-size:1.1rem; box-shadow:0 6px 18px rgba(0,0,0,.4); z-index:2; }
@media(max-width:560px){ .cd-preview-close{ top:8px; right:8px; } }
.cd-card-body{ padding:1.3rem 1.4rem 1.5rem; }
.cd-price-row{ display:flex; align-items:baseline; gap:.6rem; margin-bottom:1rem; }
.cd-price{ font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:700; color:var(--ykb-indigo); }
.cd-price-orig{ font-size:1rem; color:#9a93a8; text-decoration:line-through; }
.cd-price-off{ font-size:.78rem; font-weight:700; color:var(--ykb-sage); }
.cd-enrol{
  display:block; text-align:center; background:var(--ykb-saffron); color:#fff !important; text-decoration:none;
  font-weight:700; padding:.95rem 1.2rem; border-radius:40px; box-shadow:0 10px 24px rgba(232,137,12,.35);
  transition:transform .2s, box-shadow .2s, background .2s;
}
.cd-enrol:hover{ background:var(--ykb-indigo); transform:translateY(-2px); box-shadow:0 14px 30px rgba(31,27,71,.3); }
.cd-enrol.lg{ padding:1.05rem 2.4rem; font-size:1.02rem; }
/* free-enrol form + button share the .cd-enrol look */
.cd-enrol-form{ margin:0; }
button.cd-enrol{ width:100%; border:0; cursor:pointer; font:inherit; font-weight:700; }
.cd-price.is-free, .cd-cta-price.is-free{ color:var(--ykb-sage); }
.cd-signup-hint{ text-align:center; font-size:.82rem; color:var(--ykb-mid); margin-top:.6rem; }
.cd-signup-hint a{ color:var(--ykb-saffron); font-weight:600; text-decoration:none; }
.cd-signup-hint a:hover{ text-decoration:underline; }
.cd-guarantee{ text-align:center; font-size:.78rem; color:var(--ykb-mid); margin-top:.7rem; }
.cd-includes{ margin-top:1.2rem; border-top:1px solid var(--ykb-line); padding-top:1rem; }
.cd-includes-title{ font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ykb-indigo); margin-bottom:.6rem; }
.cd-includes ul{ list-style:none; margin:0; padding:0; }
.cd-includes li{ font-size:.88rem; color:var(--ykb-mid); padding:.28rem 0 .28rem 1.5rem; position:relative; }
.cd-includes li::before{ content:"✓"; position:absolute; left:0; color:var(--ykb-saffron); font-weight:700; }

/* body */
.cd-body{ padding:0 0 4rem; }
.cd-body-inner{ background:#fff; border:1px solid var(--ykb-line); border-radius:20px;
  margin-top:-5.5rem; position:relative; z-index:3; padding:2.4rem 2.4rem 2.6rem; box-shadow:0 12px 40px rgba(31,27,71,.07); }
.cd-h2{
  font-family:'Cormorant Garamond','Playfair Display',serif; font-size:1.55rem; font-weight:700; color:var(--ykb-indigo);
  margin:2rem 0 1rem; padding-bottom:.55rem; border-bottom:1px solid var(--ykb-line);
}
.cd-h2:first-child{ margin-top:0; }
.cd-prose{ color:var(--ykb-mid); line-height:1.8; font-size:.98rem; }
.cd-prose p{ margin:0 0 1rem; }
.cd-learn{ display:grid; grid-template-columns:1fr; gap:.7rem; }
@media(min-width:640px){ .cd-learn{ grid-template-columns:1fr 1fr; column-gap:2rem; } }
.cd-learn-item{ display:flex; gap:.6rem; align-items:flex-start; font-size:.94rem; color:var(--ykb-ink); }
.cd-check{ color:var(--ykb-sage); font-weight:700; flex-shrink:0; }

/* curriculum */
.cd-curriculum{ display:flex; flex-direction:column; gap:.7rem; }
.cd-module{ border:1px solid var(--ykb-line); border-radius:12px; overflow:hidden; }
.cd-module-head{
  width:100%; text-align:left; border:0; cursor:pointer; background:#f7f4fc !important;
  padding:1rem 1.25rem; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  color:var(--ykb-indigo) !important; box-shadow:none !important;
}
.cd-module-head:hover{ background:#efeafa !important; }
.cd-module.open .cd-module-head{ background:#efeafa !important; }
.cd-module-title{ font-weight:600; color:var(--ykb-indigo); font-size:.98rem; }
.cd-module-meta{ font-size:.82rem; color:var(--ykb-mid); white-space:nowrap; }
.cd-chev{ display:inline-block; transition:transform .25s; }
.cd-module.open .cd-chev{ transform:rotate(180deg); }
.cd-module-body{ display:none; padding:.4rem 1.25rem 1rem; }
.cd-module.open .cd-module-body{ display:block; }
.cd-lesson{ display:flex; align-items:center; gap:.7rem; padding:.55rem 0; font-size:.9rem; color:var(--ykb-mid); border-bottom:1px solid rgba(31,27,71,.05); }
.cd-lesson:last-child{ border-bottom:0; }
.cd-lesson-icon{ color:var(--ykb-saffron); }
.cd-lesson-name{ flex:1; }
.cd-lesson-lock{ opacity:.5; font-size:.8rem; }

.cd-two-col{ display:grid; grid-template-columns:1fr; gap:0 2.4rem; }
@media(min-width:700px){ .cd-two-col{ grid-template-columns:1fr 1fr; } }
.cd-bullets{ margin:0; padding-left:0; list-style:none; }
.cd-bullets li{ position:relative; padding:.35rem 0 .35rem 1.5rem; color:var(--ykb-mid); font-size:.94rem; }
.cd-bullets li::before{ content:"•"; position:absolute; left:.3rem; color:var(--ykb-saffron); font-weight:700; }

/* reviews */
.cd-reviews{ display:grid; gap:1rem; }
.cd-review{ border:1px solid var(--ykb-line); border-radius:12px; padding:1.1rem 1.2rem; }
.cd-review-top{ display:flex; align-items:center; gap:.7rem; margin-bottom:.5rem; }
.cd-review-avatar{ width:40px; height:40px; border-radius:50%; background:var(--ykb-indigo); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; text-transform:uppercase; }
.cd-review-name{ font-weight:600; color:var(--ykb-ink); }
.cd-review-text{ color:var(--ykb-mid); font-size:.92rem; line-height:1.7; margin:0; }
.cd-empty{ background:#f7f4fc; border-radius:12px; padding:1.4rem; color:var(--ykb-mid); text-align:center; }

/* bottom cta */
.cd-cta{
  margin-top:2.2rem; background:linear-gradient(135deg,#f7f4fc,#fdf5ea); border:1px solid var(--ykb-line);
  border-radius:16px; padding:1.6rem 1.8rem; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap;
}
.cd-cta-price{ font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:700; color:var(--ykb-indigo); }
.cd-cta-note{ font-size:.85rem; color:var(--ykb-mid); }

/* desktop: hero two-column with floating card */
@media(min-width:900px){
  .cd-hero-inner{ grid-template-columns:1fr 380px; align-items:start; }
  .cd-card{ margin-bottom:-3rem; }
  .cd-body-inner{ max-width:700px; }
}
