/* Product presentation. Checkout rules remain unchanged. */
/* Media time advances left-to-right, independently of the Persian page direction. */
.single-product .intro-video-controls { direction: ltr; }
.single-product :is(.intro-progress-fill, .intro-progress-buffer) { left: 0; right: auto; }
.single-product .intro-progress-thumb { left: 0; right: auto; transform: translate(-50%, -50%); }
.single-product .intro-progress-wrap:hover .intro-progress-thumb,
.single-product .intro-video-player.is-seeking .intro-progress-thumb { transform: translate(-50%, -50%) scale(1.1); }
.single-product .intro-time { direction: ltr; }
.single-product .intro-video-player .intro-video-controls:focus-within { opacity: 1; transform: none; pointer-events: auto; }
.product-mobile-dock, .product-mobile-nav, .product-payment-tabs { display: none; }
.course-facts {
  margin: 0 0 24px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.course-facts__heading {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 2px 11px;
  color: #ffd18e;
  font-size: 12px;
  font-weight: 900;
}
.course-facts__heading svg { width: 16px; height: 16px; }
.course-facts__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.course-facts__item {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(3,28,48,.28);
  text-align: right;
}
.course-facts__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: #ffd18e; background: rgba(251,168,48,.12); }
.course-facts__icon svg { width: 16px; height: 16px; }
.course-facts__item > span:last-child { display: grid; gap: 2px; min-width: 0; }
.course-facts__item small { color: rgba(255,255,255,.6); font-size: 9px; line-height: 1.5; }
.course-facts__item strong { color: #fff; font-size: 11px; line-height: 1.75; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  body.single-product { --product-header-bottom: 60px; --product-anchor-space: calc(var(--product-header-bottom) + 62px); }
  .single-product.product-mobile-ready .bottom-nav { display: none; }
  .single-product.product-mobile-ready { padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
  .single-product [hidden] { display: none !important; }
  .single-product :is(main, .product-mobile-hero) [id], .single-product main > section { scroll-margin-top: var(--product-anchor-space); }
  .single-product main .sec-num { display: none; }
  .single-product main > section[class*="py-"] { padding-block: 28px; }
  .single-product main h2.font-title { font-size: 23px; line-height: 1.55; }
  .single-product main :is(.rounded-3xl, .rounded-2xl) { border-radius: 16px; }

  .single-product .product-mobile-hero > div[class*="max-w-"] { padding-block: 16px 20px; gap: 0; }
  .single-product .product-mobile-hero-copy { display: flex; flex-direction: column; min-width: 0; text-align: right; }
  .single-product .product-mobile-hero h1 { font-size: 26px; line-height: 1.4; margin: 0 0 14px; }
  .single-product .product-mobile-hero nav { font-size: 11px; margin-bottom: 10px; }
  .single-product .product-mobile-hero nav > :is(span, i, svg):last-child,
  .single-product .product-mobile-hero nav > :is(i, svg):nth-last-child(2) { display: none; }
  .single-product .product-mobile-hero-copy > span { align-self: flex-start; width: auto; font-size: 11px; padding: 4px 10px; margin-bottom: 10px; }
  .single-product .product-mobile-hero-media { margin-bottom: 14px; width: 100%; }
  .single-product .product-mobile-hero .intro-video-frame { padding: 0; border-radius: 14px; overflow: hidden; box-shadow: none; }
  .single-product .product-mobile-hero :is(.course-hero-cover, .intro-video-shell) { border-radius: 14px; margin: 0; aspect-ratio: 16 / 9; min-height: 0; max-height: 195px; }
  .single-product .product-mobile-hero :is(.course-hero-cover img, video) { width: 100%; height: 100%; max-height: 195px; object-fit: contain; }
  .single-product .product-mobile-hero .intro-video-badge { display: none; }
  .single-product .product-mobile-hero .intro-video-deco { display: none; }
  .single-product .product-hero-price { margin-bottom: 12px; gap: 8px 14px; justify-content: flex-start; }
  .single-product .course-facts { margin: 12px 0 16px; padding: 10px; border-radius: 14px; }
  .single-product .course-facts__heading { justify-content: center; margin-bottom: 9px; font-size: 11px; }
  .single-product .course-facts__grid { gap: 6px; }
  .single-product .course-facts__item { grid-template-columns: 27px minmax(0,1fr); gap: 7px; min-height: 58px; padding: 7px; border-radius: 10px; }
  .single-product .course-facts__item:nth-last-child(1):nth-child(odd) { grid-column: 1 / -1; }
  .single-product .course-facts__icon { width: 27px; height: 27px; border-radius: 8px; }
  .single-product .course-facts__icon svg { width: 14px; height: 14px; }
  .single-product .course-facts__item small { font-size: 8px; }
  .single-product .course-facts__item strong { font-size: 9.5px; line-height: 1.75; }
  .single-product .product-hero-price > :is(span, a) { font-size: 12px; }
  .single-product .product-hero-price .flagship-product-price { order: -1; display: flex; flex-wrap: wrap; align-items: baseline; width: 100%; gap: 6px 12px; }
  .single-product .flagship-product-price strong { font-size: 24px; line-height: 1.5; order: -1; }
  .single-product .flagship-product-price del { font-size: 12px; }
  .single-product .product-mobile-hero-copy > .product-hero-actions { display: grid; grid-template-columns: 1.2fr 1fr; gap: 8px; }
  .single-product .product-mobile-hero-copy > .product-hero-actions > .btn { min-height: 48px; padding: 10px 8px; font-size: 13px; gap: 5px; border-radius: 12px; }
  .single-product .product-hero-actions svg { width: 16px; height: 16px; }
  .single-product .product-hero-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: start; justify-content: stretch; gap: 6px; margin-top: 14px; }
  .single-product .product-hero-chips > span { border-radius: 10px; font-size: 11px; padding: 8px; line-height: 1.7; }
  .single-product .product-hero-chips svg { flex-shrink: 0; }
  .single-product .product-mobile-hero-copy > .product-mobile-description { order: 3; }
  .single-product #hero .product-mobile-hero-copy > p:last-child { order: 4; font-size: 11px; line-height: 1.8; margin: 8px 0 0; text-align: start; }
  .single-product.mrtax-page-product-ordinary .product-mobile-hero-copy > p { font-size: 14px; line-height: 1.9; margin: 0 0 12px; }
  .single-product .product-mobile-hero-copy > p:last-child svg { flex-shrink: 0; }
  .single-product .product-mobile-hero > div:last-child:not([class*="max-w-"]) { display: none; }

  .product-mobile-nav { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); position: sticky; top: var(--product-header-bottom); z-index: 35; border-bottom: 1px solid #dce7ef; background: #fff; box-shadow: 0 5px 14px -12px #0c1b2b; padding-inline: 10px; }
  .product-mobile-nav a { display: flex; justify-content: center; align-items: center; min-height: 48px; padding: 6px; font-size: 13px; font-weight: 800; color: #164563; }
  .product-mobile-nav a:focus-visible { outline: 2px solid #0167ad; outline-offset: -3px; }

  .product-mobile-dock { display: flex; position: fixed; bottom: 0; inset-inline: 0; z-index: 65; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background: #fff; border-top: 1px solid #dce7ef; box-shadow: 0 -5px 22px rgba(9,48,103,.08); }
  .product-mobile-dock__price { min-width: 0; display: grid; gap: 3px; }
  .product-mobile-dock__price small { color: #66788a; font-size: 11px; }
  .product-mobile-dock__price strong { font-size: 16px; font-weight: 900; color: #093067; line-height: 1.6; }
  .product-mobile-dock__action { flex-shrink: 0; display: flex; align-items: center; justify-content: center; padding: 12px 17px; min-height: 48px; border-radius: 12px; color: #30200c; background: #fba830; font-size: 14px; font-weight: 900; }
  .single-product:is(.drawer-open, .mobile-input-focused) :is(.product-mobile-dock, .product-mobile-nav) { visibility: hidden; pointer-events: none; }

  .product-mobile-detail { border: 1px solid #dce7ef; border-radius: 14px; background: #fff; min-width: 0; }
  .product-mobile-detail > summary { display: list-item; padding: 15px 16px; min-height: 52px; cursor: pointer; font-size: 14px; font-weight: 800; line-height: 1.8; color: #093067; }
  .product-mobile-detail[open] > summary { border-bottom: 1px solid #e7eef5; }
  .product-mobile-section-detail { margin: 12px 16px; }
  .product-mobile-section-detail > section { padding: 16px 0; background: transparent; }
  .product-mobile-section-detail > section > div > div:first-child h2,
  .product-mobile-section-detail > section > div > div:first-child > div:has(> .sec-num) { display: none; }
  .product-mobile-description { border: 0; background: transparent; }
  .product-mobile-description > summary { padding: 10px 0; color: #fff; font-size: 12px; min-height: 44px; }
  .product-mobile-description > p { color: rgba(255,255,255,.82); margin: 0 0 12px; font-size: 14px; line-height: 1.9; }
  .product-mobile-payment-info { margin-bottom: 14px; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.16); }
  .product-mobile-payment-info > summary { color: #fff; min-height: 44px; padding: 10px 12px; font-size: 12px; }
  .product-mobile-payment-info > ul { padding: 12px; margin: 0; font-size: 12px; }
  .product-mobile-skills { margin-bottom: 4px; }
  .product-mobile-skills > div > div { padding: 14px; border: 0; background: transparent; }
  .product-mobile-skills .font-title { display: none; }
  .single-product #curriculum .grid { gap: 14px; }
  .single-product #curriculum > div > div:first-child { margin-bottom: 18px; }
  .single-product #chapterList .acc-trigger { padding: 14px 12px; gap: 10px; min-height: 64px; font-size: 14px; }
  .single-product #chapterList .roadmap-step-num { width: 30px; height: 30px; min-width: 30px; font-size: 13px; }
  .single-product #chapterList .acc-trigger .text-xs { font-size: 11px; }
  .single-product #chapterList .acc-body > div { padding-inline: 14px; }

  .single-product :is(#audience, #outcomes) .lift-card { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: start; gap: 6px 12px; padding: 16px; text-align: start; }
  .single-product :is(#audience, #outcomes) .lift-card > .icon-box { grid-row: span 2; width: 34px; height: 34px; margin: 0; }
  .single-product :is(#audience, #outcomes) .lift-card > .icon-box svg { width: 19px; height: 19px; }
  .single-product :is(#audience, #outcomes) .lift-card > :is(h3,.font-title) { font-size: 17px; margin: 0; }
  .single-product :is(#audience, #outcomes) .lift-card > p { grid-column: 2; font-size: 13px; line-height: 1.85; }
  .single-product .course-instructors-heading { margin-bottom: 20px; }
  .single-product .course-instructors-heading h2 { font-size: 24px; }
  .single-product .course-instructor-featured { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 14px; padding: 16px; }
  .single-product .course-instructor-featured-media { min-height: 0; width: 82px; max-width: 100%; height: 108px; aspect-ratio: auto; border-radius: 12px; overflow: hidden; }
  .single-product .course-instructor-featured-media img { width: 82px; height: 108px; object-fit: cover; object-position: center 15%; }
  .single-product .course-instructor-featured-copy { padding: 0; min-width: 0; align-items: flex-start; text-align: start; }
  .single-product .course-instructor-featured-copy h3 { font-size: 21px; }
  .single-product .course-instructor-featured-copy p { font-size: 13px; line-height: 1.9; }
  .single-product .course-instructor-badge { font-size: 10px; line-height: 1.7; }

  .single-product #pricing > div[class*="max-w-"] { padding-block: 0; }
  .single-product #pricing > div > div:first-child { margin-bottom: 18px; }
  .product-payment-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0 auto 14px; max-width: 576px; }
  .product-payment-tabs button { min-height: 48px; padding: 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 12px; color: #fff; font-size: 14px; font-weight: 800; }
  .product-payment-tabs button[aria-selected="true"] { color: #30200c; border-color: #fba830; background: #fba830; }
  .single-product #pricing .product-payment-panel { padding: 18px; }
  .product-payment-panel > :is(.icon-box, h3) { display: none; }
  .product-payment-panel > p { font-size: 13px; margin-bottom: 12px; }
  .product-payment-panel > ul { font-size: 12px; margin-bottom: 16px; }
  .single-product .mrtax-purchase__summary > div { flex-wrap: wrap; gap: 6px; }
  .single-product .mrtax-purchase__price { align-items: flex-start; }
  .single-product .mrtax-purchase__price strong { font-size: 22px; }
  .single-product .mrtax-purchase__wallet-empty { flex-wrap: wrap; }
  .single-product .mrtax-purchase__coupon button { min-height: 46px; }
  .single-product :is(.mrtax-purchase__primary, .mrtax-installment-cta__button) { min-height: 48px; border-radius: 12px; }
  .single-product .mrtax-installment-cta__amount strong { font-size: 26px; }
  .single-product .mrtax-purchase__hint { font-size: 11px; }
}
@media (max-width: 359px) {
  .single-product .product-mobile-hero h1 { font-size: 24px; }
  .single-product .product-mobile-hero-copy > .product-hero-actions > .btn { font-size: 12px; padding-inline: 6px; }
  .product-mobile-dock { gap: 8px; padding-inline: 12px; }
  .product-mobile-dock__price strong { font-size: 14px; }
  .product-mobile-dock__action { padding-inline: 12px; font-size: 13px; }
}
/* Flagship course facts: reserve a full row for the complete session count. */
body:is(.postid-17030,.postid-18332) .course-facts__grid { gap: 10px; }
body:is(.postid-17030,.postid-18332) .course-facts__item { min-height: 66px; padding: 10px; gap: 9px; }
body:is(.postid-17030,.postid-18332) .course-facts__item:first-child { grid-column: 1 / -1; }
body:is(.postid-17030,.postid-18332) .course-facts__item small { font-size: 11px; line-height: 1.7; }
body:is(.postid-17030,.postid-18332) .course-facts__item strong { font-size: 13px; line-height: 1.8; overflow-wrap: normal; word-break: normal; }
body:is(.postid-17030,.postid-18332) .course-facts__item:first-child strong { text-wrap: nowrap; }
@media(max-width:479px) {
 body:is(.postid-17030,.postid-18332) .course-facts__grid { grid-template-columns: minmax(0,1fr); gap: 8px; }
 body:is(.postid-17030,.postid-18332) .course-facts__item { min-height: 58px; padding: 8px; }
}
@media(max-width:359px) {
 body:is(.postid-17030,.postid-18332) .course-facts__item:first-child strong { font-size: 12px; }
}
/* Brand guideline: integrate one frameless translucent drop with the course media. */
.single-product .product-brand-stage{position:relative;isolation:isolate}
.single-product .product-brand-stage>:not(.product-brand-emblem){position:relative;z-index:1}
.single-product .product-brand-emblem{position:absolute;z-index:0;inset-inline-end:-124px;top:-82px;width:248px;height:248px;fill:rgba(255,255,255,.14);filter:drop-shadow(0 18px 38px rgba(0,0,0,.1));pointer-events:none}
@media(max-width:767px){.single-product .product-brand-emblem{inset-inline-end:-52px;top:-48px;width:158px;height:158px;fill:rgba(255,255,255,.13)}}

/* Expert course sample lesson. */
.expert-sample-section{position:relative;padding:72px 0;background:linear-gradient(180deg,#f5f9fd 0%,#fff 100%);overflow:hidden}
.expert-sample-section::before{content:"";position:absolute;inset:8% auto auto -8%;width:340px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,103,171,.1),transparent 68%);pointer-events:none}
.expert-sample-grid{position:relative;display:grid;grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);align-items:center;gap:58px}
.expert-sample-copy{max-width:480px}
.expert-sample-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;color:#087185;font-size:13px;font-weight:800}
.expert-sample-kicker svg{width:19px;height:19px;color:#f5a623}
.expert-sample-copy h2{margin:0 0 14px;color:#12364d;font-size:clamp(27px,2.5vw,38px);line-height:1.65}
.expert-sample-copy>p{margin:0;color:#607785;font-size:15px;line-height:2.15}
.expert-sample-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.expert-sample-points span{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:7px 10px;border:1px solid #dce7ec;border-radius:9px;background:#fff;color:#36586a;font-size:11.5px;font-weight:700}
.expert-sample-points svg{width:15px;height:15px;color:#087185}
.expert-sample-frame{position:relative;box-shadow:0 24px 60px rgba(10,49,72,.16)}
@media(max-width:960px){.expert-sample-grid{grid-template-columns:1fr;gap:30px}.expert-sample-copy{max-width:680px}.expert-sample-frame{max-width:820px;width:100%;margin-inline:auto}}
@media(max-width:767px){.expert-sample-section{padding:46px 0}.expert-sample-grid{gap:23px}.expert-sample-copy{text-align:center}.expert-sample-copy h2{font-size:25px;line-height:1.7}.expert-sample-copy>p{font-size:13px;line-height:2}.expert-sample-points{justify-content:center;margin-top:18px}.expert-sample-points span{min-height:42px;font-size:11px}.expert-sample-frame{border-radius:18px}}
