/* WooCommerce screens: shop, product, cart, checkout. Same components as the rest of the site. */
.gh-shop { padding: clamp(28px, 4vw, 52px) 0 clamp(52px, 6vw, 88px); background: var(--gh-bg); color: var(--gh-ink); }
.gh-shop .woocommerce-breadcrumb { margin: 0 0 22px; color: var(--gh-subtle); font-size: 11px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gh-shop .woocommerce-breadcrumb a:hover { color: var(--gh-orange); }
.gh-shop .woocommerce-products-header__title, .gh-shop h1.page-title { margin: 0 0 8px; color: #f3f4f6; font-size: clamp(30px, 3.8vw, 46px); font-weight: 700; line-height: 1.5; }
.gh-shop .woocommerce-result-count { margin: 0 0 18px; color: var(--gh-subtle); font-size: 12px; float: none; }
.gh-shop .woocommerce-ordering { float: none; margin: 0 0 22px; }
.gh-shop .woocommerce-ordering select { min-width: 200px; }

/* Product grid = course cards */
html body.gh-site .gh-shop ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
html body.gh-site .gh-shop ul.products::before, html body.gh-site .gh-shop ul.products::after { content: none; }
html body.gh-site .gh-shop ul.products li.product { position: relative; display: flex; flex-direction: column; float: none; width: auto; margin: 0; padding: 0; overflow: hidden; background: var(--gh-panel); border: 1px solid var(--gh-line); border-radius: var(--gh-radius-card); transition: transform .25s ease, border-color .25s ease; }
html body.gh-site .gh-shop ul.products li.product:hover { transform: translateY(-5px); border-color: #46647e; }
html body.gh-site .gh-shop ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; }
html body.gh-site .gh-shop ul.products li.product img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; margin: 0; object-fit: cover; background: var(--gh-panel-raised); }
html body.gh-site .gh-shop ul.products li.product .woocommerce-loop-product__title { padding: 16px 18px 4px; color: var(--gh-ink); font-size: 15px; font-weight: 600; line-height: 1.8; }
html body.gh-site .gh-shop ul.products li.product .price { display: block; padding: 0 18px 12px; color: var(--gh-orange-soft); font-size: 14px; font-weight: 600; }
html body.gh-site .gh-shop ul.products li.product .price del { color: var(--gh-subtle); font-weight: 400; opacity: .8; }
html body.gh-site .gh-shop ul.products li.product .price ins { text-decoration: none; }
html body.gh-site .gh-shop ul.products li.product .button { margin: auto 18px 18px; text-align: center; }
html body.gh-site .gh-shop ul.products li.product .onsale, html body.gh-site .gh-shop span.onsale { position: absolute; top: 12px; right: 12px; left: auto; z-index: 2; min-width: 0; min-height: 0; margin: 0; padding: 4px 12px; color: #fff; background: var(--gh-orange); border-radius: 8px; font-size: 11px; font-weight: 600; line-height: 1.6; }
html body.gh-site .gh-shop .outofstock ul.products li.product img, html body.gh-site .gh-shop ul.products li.outofstock img { opacity: .55; }

/* Single product */
html body.gh-site .gh-shop--single div.product { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
html body.gh-site .gh-shop--single div.product > * { grid-column: 1 / -1; }
html body.gh-site .gh-shop--single div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; float: none; width: 100%; margin: 0; overflow: hidden; background: var(--gh-panel); border: 1px solid var(--gh-line-strong); border-radius: 24px; }
html body.gh-site .gh-shop--single div.product .woocommerce-product-gallery img { display: block; width: 100%; height: auto; }
html body.gh-site .gh-shop--single div.product .summary { grid-column: 2; grid-row: 1; float: none; width: auto; margin: 0; padding: clamp(22px, 3vw, 34px); background: linear-gradient(115deg, #20364e, #1a2939); border: 1px solid #35506c; border-radius: var(--gh-radius-panel); }
html body.gh-site .gh-shop--single .product_title { margin: 0 0 12px; color: #f3f4f6; font-size: clamp(24px, 2.8vw, 34px); font-weight: 700; line-height: 1.6; }
html body.gh-site .gh-shop--single .summary .price { display: block; margin: 0 0 16px; color: var(--gh-orange-soft); font-size: 22px; font-weight: 700; }
html body.gh-site .gh-shop--single .summary .price del { color: var(--gh-subtle); font-size: 15px; font-weight: 400; }
html body.gh-site .gh-shop--single .summary .price ins { text-decoration: none; }
html body.gh-site .gh-shop--single .woocommerce-product-details__short-description { margin: 0 0 18px; color: #c4ced7; font-size: 13.5px; line-height: 2.05; }
html body.gh-site .gh-shop--single form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; }
html body.gh-site .gh-shop--single form.cart .quantity .qty { width: 72px; text-align: center; }
html body.gh-site .gh-shop--single form.cart .single_add_to_cart_button { flex: 1; min-width: 180px; min-height: 48px; font-size: 14px; }
html body.gh-site .gh-shop--single .stock { margin: 0 0 14px; padding: 8px 14px; color: #ffd9a6; background: #3b2f1a; border: 1px solid #7a5a2a; border-radius: 10px; font-size: 13px; }
html body.gh-site .gh-shop--single .stock.in-stock { color: #d8f3e4; background: #14392d; border-color: #2f7a5a; }
html body.gh-site .gh-shop--single .product_meta { color: var(--gh-subtle); font-size: 12px; }
html body.gh-site .gh-shop--single .product_meta > span { display: block; margin-top: 4px; }
.gh-product-content { margin-top: clamp(32px, 4vw, 56px); padding: clamp(22px, 3.5vw, 40px); background: var(--gh-panel); border: 1px solid var(--gh-line); border-radius: var(--gh-radius-panel); }
.gh-product-content > :first-child { margin-top: 0; }
.gh-product-content > :last-child { margin-bottom: 0; }
html body.gh-site .gh-shop--single .woocommerce-tabs { margin-top: clamp(28px, 4vw, 48px); }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs::before, html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs::after { content: none; }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; background: none; border: 0; }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs li a { padding: 8px 18px; color: var(--gh-muted); border: 1px solid var(--gh-line-strong); border-radius: 999px; font-size: 12.5px; }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs li.active a { color: #fff; background: var(--gh-orange); border-color: var(--gh-orange); }
html body.gh-site .gh-shop--single .woocommerce-Tabs-panel { color: #c4ced7; }
html body.gh-site .gh-shop--single .related > h2, html body.gh-site .gh-shop--single .upsells > h2 { margin: clamp(36px, 5vw, 64px) 0 20px; color: var(--gh-ink); font-size: clamp(22px, 2.6vw, 30px); font-weight: 650; text-align: center; }

/* Cart & checkout (rendered through page.php, wide variant) */
html body.gh-site .woocommerce-cart .gh-entry, html body.gh-site .woocommerce-checkout .gh-entry { background: transparent; border: 0; padding: 0; }
html body.gh-site .woocommerce-cart-form table.cart img { width: 64px; border-radius: 10px; }
html body.gh-site .woocommerce .cart-collaterals .cart_totals, html body.gh-site .woocommerce-checkout #order_review { padding: 22px; background: var(--gh-panel); border: 1px solid var(--gh-line-strong); border-radius: 18px; }
html body.gh-site .woocommerce-checkout #customer_details { padding: 22px; background: var(--gh-panel); border: 1px solid var(--gh-line-strong); border-radius: 18px; }
html body.gh-site .woocommerce-checkout #order_review_heading { margin: 0 0 12px; font-size: 20px; }
html body.gh-site .woocommerce .cart-collaterals .cart_totals h2 { font-size: 20px; }
html body.gh-site .woocommerce-checkout .col2-set { display: block; }
html body.gh-site .woocommerce-checkout .col2-set .col-1, html body.gh-site .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
html body.gh-site .woocommerce .coupon .input-text { min-width: 160px; }

@media (min-width: 981px) {
  html body.gh-site .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 24px; align-items: start; }
  html body.gh-site .woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; }
  html body.gh-site .woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
  html body.gh-site .woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; }
}
@media (max-width: 980px) {
  html body.gh-site .gh-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  html body.gh-site .gh-shop--single div.product { grid-template-columns: 1fr; }
  html body.gh-site .gh-shop--single div.product .woocommerce-product-gallery, html body.gh-site .gh-shop--single div.product .summary { grid-column: 1; grid-row: auto; }
}
@media (max-width: 560px) {
  html body.gh-site .gh-shop ul.products { grid-template-columns: 1fr; }
  html body.gh-site .gh-shop--single form.cart .single_add_to_cart_button { flex-basis: 100%; }
}
html body.gh-site .woocommerce :is(div.product form.cart .button, .single_add_to_cart_button, button.button.alt, a.button.alt, input.button.alt, #place_order, .checkout-button, .wc-proceed-to-checkout a.checkout-button) { color: #fff !important; background: var(--gh-orange) !important; border: 1px solid var(--gh-orange) !important; }
html body.gh-site .woocommerce :is(div.product form.cart .button, .single_add_to_cart_button, button.button.alt, #place_order, .checkout-button):hover { background: var(--gh-orange-hover) !important; border-color: var(--gh-orange-hover) !important; }
html body.gh-site .woocommerce .button.disabled, html body.gh-site .woocommerce .button:disabled { opacity: .55; }

/* ───────── Archive hero + toolbar (0.21) ───────── */
html body.gh-site .gh-shop--archive .gh-container { overflow-x: clip; }
html body.gh-site .gh-shop--archive .woocommerce-breadcrumb { justify-content: center; }
html body.gh-site .gh-shop--archive .woocommerce-products-header {
  margin: 0 0 30px; padding: clamp(28px, 4vw, 48px) clamp(18px, 4vw, 48px); text-align: center;
  background: radial-gradient(120% 140% at 50% 0%, #2a4560 0%, var(--gh-panel-soft) 62%);
  border: 1px solid var(--gh-line-strong); border-radius: var(--gh-radius-panel);
}
html body.gh-site .gh-shop--archive .woocommerce-products-header__title { margin: 0; font-size: clamp(30px, 4.4vw, 52px); }
html body.gh-site .gh-shop--archive :is(.gh-shop-intro, .term-description, .page-description) { max-width: 640px; margin: 14px auto 0; color: var(--gh-muted); font-size: 14px; line-height: 2.1; }
html body.gh-site .gh-shop--archive :is(.term-description, .page-description) p { margin: 0; }
html body.gh-site .gh-shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 22px; }
html body.gh-site .gh-shop-toolbar :is(.woocommerce-result-count, .woocommerce-ordering) { margin: 0; float: none; }
html body.gh-site .gh-shop-toolbar .woocommerce-result-count { font-size: 13px; }
html body.gh-site .gh-shop-toolbar .woocommerce-ordering select { min-width: 220px; max-width: 100%; }

/* Course cards: whole thumbnail visible, description, price, button at the bottom */
html body.gh-site .gh-shop ul.products { width: 100%; max-width: 100%; box-sizing: border-box; }
html body.gh-site .gh-shop ul.products li.product { min-width: 0; max-width: none; box-sizing: border-box; }
html body.gh-site .gh-shop ul.products li.product img { aspect-ratio: 4 / 3; }
html body.gh-site .gh-shop ul.products li.product .woocommerce-loop-product__title { padding: 18px 20px 6px; font-size: 16px; }
html body.gh-site .gh-shop ul.products li.product .star-rating { margin: 0 20px 6px; }
html body.gh-site .gh-shop ul.products li.product .gh-loop-desc { margin: 0; padding: 0 20px 14px; color: var(--gh-muted); font-size: 12.5px; line-height: 2; }
html body.gh-site .gh-shop ul.products li.product .price { padding: 0 20px 16px; margin-top: auto; }
html body.gh-site .gh-shop ul.products li.product .button { margin: 0 20px 20px; }

/* ───────── Course reviews ───────── */
html body.gh-site .gh-shop--single #reviews { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(20px, 3vw, 36px); align-items: start; }
html body.gh-site .gh-shop--single #reviews::before, html body.gh-site .gh-shop--single #reviews::after { content: none; }
html body.gh-site .gh-shop--single #reviews #comments, html body.gh-site .gh-shop--single #reviews #review_form_wrapper { float: none; width: auto; margin: 0; }
html body.gh-site .gh-shop--single #reviews #review_form_wrapper { padding: clamp(18px, 2.5vw, 28px); background: var(--gh-panel); border: 1px solid var(--gh-line-strong); border-radius: var(--gh-radius-card); }
html body.gh-site .gh-shop--single #reviews .woocommerce-Reviews-title { margin: 0 0 18px; color: var(--gh-ink); font-size: 20px; font-weight: 650; line-height: 1.7; }
html body.gh-site .gh-shop--single #reviews .woocommerce-noreviews { margin: 0; padding: 18px; color: var(--gh-muted); background: var(--gh-panel-soft); border: 1px dashed var(--gh-line-bright); border-radius: var(--gh-radius-control); font-size: 13px; line-height: 2; }
html body.gh-site .gh-shop--single #reviews ol.commentlist { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
html body.gh-site .gh-shop--single #reviews ol.commentlist li { margin: 0; padding: 0; list-style: none; }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li .comment_container { position: relative; display: flex; align-items: flex-start; gap: 14px; padding: 18px; background: var(--gh-panel); border: 1px solid var(--gh-line-strong); border-radius: var(--gh-radius-card); }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li img.avatar { position: static; float: none; flex: 0 0 46px; width: 46px; height: 46px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--gh-panel-raised); }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li .comment-text { flex: 1; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li .comment-text .star-rating { float: none; margin: 0 0 6px; }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li .comment-text p.meta { margin: 0 0 8px; color: var(--gh-subtle); font-size: 12px; }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li .comment-text p.meta strong { color: var(--gh-ink); font-size: 14px; font-weight: 600; }
html body.gh-site .gh-shop--single #reviews #comments ol.commentlist li .comment-text .description p { margin: 0; color: #c4ced7; font-size: 13.5px; line-height: 2; }
html body.gh-site .gh-shop--single #reviews #review_form :is(input[type="text"], input[type="email"], textarea, select) { color: var(--gh-ink); background: var(--gh-bg); border: 1px solid var(--gh-line-bright); border-radius: var(--gh-radius-control); padding: 10px 14px; }
html body.gh-site .gh-shop--single #reviews #review_form :is(input, textarea, select):focus { border-color: var(--gh-orange); outline: 0; }
html body.gh-site .gh-shop--single #reviews #review_form input#submit { padding: 12px 16px; color: #fff; background: var(--gh-orange); border: 1px solid var(--gh-orange); border-radius: var(--gh-radius-control); font-weight: 600; cursor: pointer; }
html body.gh-site .gh-shop--single #reviews #review_form input#submit:hover { background: var(--gh-orange-hover); }
html body.gh-site .gh-shop--single #reviews #reply-title { display: block; margin: 0 0 14px; color: var(--gh-ink); font-size: 18px; font-weight: 650; }
html body.gh-site .gh-shop--single #reviews .comment-notes, html body.gh-site .gh-shop--single #reviews .comment-form label { color: var(--gh-muted); font-size: 12.5px; }
html body.gh-site .gh-shop--single #reviews .comment-form p { margin: 0 0 14px; }
html body.gh-site .gh-shop--single #reviews .comment-form textarea { width: 100%; min-height: 130px; box-sizing: border-box; }
html body.gh-site .gh-shop--single #reviews .comment-form input[type="text"], html body.gh-site .gh-shop--single #reviews .comment-form input[type="email"] { width: 100%; box-sizing: border-box; }
html body.gh-site .gh-shop--single #reviews p.stars a { color: var(--gh-orange); }
html body.gh-site .gh-shop--single #reviews .form-submit input#submit { width: 100%; }
@media (max-width: 860px) {
  html body.gh-site .gh-shop--single #reviews { grid-template-columns: 1fr; }
}
html body.gh-site .gh-shop ul.products { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
html body.gh-site .gh-shop ul.products li.product .button { display: block; padding: 12px 16px; color: #fff; background: var(--gh-orange); border: 1px solid var(--gh-orange); border-radius: var(--gh-radius-control); font-weight: 600; }
html body.gh-site .gh-shop ul.products li.product .button:hover { background: var(--gh-orange-hover); border-color: var(--gh-orange-hover); }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs:has(> li:only-child) { display: none; }

/* ───────── Course syllabus ───────── */
html body.gh-site .gh-syllabus { margin-top: clamp(28px, 4vw, 52px); padding: clamp(20px, 3vw, 36px); background: var(--gh-panel); border: 1px solid var(--gh-line); border-radius: var(--gh-radius-panel); }
html body.gh-site .gh-syllabus > header { margin: 0 0 20px; }
html body.gh-site .gh-syllabus h2 { margin: 0 0 6px; color: var(--gh-ink); font-size: clamp(22px, 2.6vw, 30px); font-weight: 650; }
html body.gh-site .gh-syllabus h2 em { color: var(--gh-orange); font-style: normal; }
html body.gh-site .gh-syllabus > header p { margin: 0; color: var(--gh-muted); font-size: 13px; line-height: 2; }
html body.gh-site .gh-syllabus__sec { margin: 0 0 10px; background: var(--gh-panel-soft); border: 1px solid var(--gh-line-strong); border-radius: var(--gh-radius-control); }
html body.gh-site .gh-syllabus__sec[open] { border-color: var(--gh-line-bright); }
html body.gh-site .gh-syllabus__sec summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; color: var(--gh-ink); font-size: 14.5px; font-weight: 600; cursor: pointer; list-style: none; }
html body.gh-site .gh-syllabus__sec summary::-webkit-details-marker { display: none; }
html body.gh-site .gh-syllabus__sec summary i { color: var(--gh-orange); font-size: 20px; font-style: normal; font-weight: 300; transition: transform .2s ease; }
html body.gh-site .gh-syllabus__sec[open] summary i { transform: rotate(45deg); }
html body.gh-site .gh-syllabus__list { display: grid; gap: 2px; margin: 0; padding: 0 18px 14px; list-style: none; counter-reset: lesson; }
html body.gh-site .gh-syllabus__list li { display: flex; flex-direction: column; gap: 2px; padding: 9px 0 9px 0; border-top: 1px solid var(--gh-line); counter-increment: lesson; }
html body.gh-site .gh-syllabus__list li strong { color: #dbe3ea; font-size: 13.5px; font-weight: 500; line-height: 1.9; }
html body.gh-site .gh-syllabus__list li strong::before { content: counter(lesson, persian) "  "; color: var(--gh-orange); font-size: 11px; }
html body.gh-site .gh-syllabus__list li span { color: var(--gh-subtle); font-size: 12px; line-height: 1.9; }
html body.gh-site .gh-syllabus > .gh-syllabus__list { padding-inline: 0; }

html body.gh-site .gh-shop--archive .woocommerce-products-header__title { text-align: center; }
html body.gh-site .gh-shop--archive .woocommerce-breadcrumb { display: none; }

/* ───────── Single course: summary (title, rating, price, buy) + one tabbed box (0.21.3) ───────── */
html body.gh-site .gh-shop--single div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(8px, 2vw, 24px); padding: clamp(18px, 3vw, 36px); background: var(--gh-panel); border: 1px solid var(--gh-line-strong); border-radius: var(--gh-radius-panel); }
html body.gh-site .gh-shop--single .woocommerce-tabs ul.tabs { padding-bottom: 18px; border-bottom: 1px solid var(--gh-line-strong); }
html body.gh-site .gh-shop--single .woocommerce-Tabs-panel { margin: 0; padding: 0; }
html body.gh-site .gh-shop--single .woocommerce-Tabs-panel > h2:first-child { display: none; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-product-content { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-product-short { margin: 0 0 22px; padding-bottom: 22px; border-bottom: 1px solid var(--gh-line); }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-prose { color: #c4ced7; font-size: 14.5px; line-height: 2.15; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-prose :is(h2, h3, h4) { margin: 1.6em 0 .5em; color: var(--gh-ink); font-weight: 650; line-height: 1.7; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-prose :is(ul, ol) { margin: 0 0 1.2em; padding-inline-start: 1.4em; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-prose li::marker { color: var(--gh-orange); }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-prose p { margin: 0 0 1em; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-prose img { max-width: 100%; height: auto; border-radius: 14px; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-syllabus { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; }
html body.gh-site .gh-shop--single .woocommerce-tabs .gh-syllabus__meta { margin: 0 0 16px; color: var(--gh-muted); font-size: 13px; line-height: 2; }
html body.gh-site .gh-shop--single .woocommerce-tabs #reviews { margin: 0; }
html body.gh-site .gh-shop--single div.product .summary .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
html body.gh-site .gh-shop--single div.product .summary .woocommerce-product-rating .star-rating { float: none; margin: 0; }
