/* ============================================================================
   Onlineglish / Bastak — WooCommerce design layer
   Modernizes shop, single course, cart, checkout, account & Digits login.
   Brand emerald #00563F + gold #F0E3B2. RTL. Tokens come from og-ux.css.
   ========================================================================== */

/* ---- Shop / archive header --------------------------------------------- */
.woocommerce .products-header__title.page-title,
.woocommerce-products-header__title{
  font-weight:800; letter-spacing:-.01em;
}

/* ---- Product grid: even gutters & equal-height cards ------------------- */
.woocommerce ul.products{ gap:26px 22px !important; }
.woocommerce ul.products li.product{
  background:#fff;
  border:1px solid rgba(16,40,32,.07) !important;
  border-radius:20px !important;
  padding:14px 14px 18px !important;
  box-shadow:var(--og-shadow-1);
  transition:transform .4s var(--og-ease-out), box-shadow .4s var(--og-ease-out), border-color .4s var(--og-ease);
  overflow:hidden; display:flex; flex-direction:column;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-8px);
  box-shadow:var(--og-shadow-3);
  border-color:rgba(0,86,63,.18) !important;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
  border-radius:14px; transition:transform .55s var(--og-ease-out);
}
.woocommerce ul.products li.product:hover a img{ transform:scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  font-weight:700 !important; line-height:1.7 !important; color:var(--og-ink) !important;
}
.woocommerce ul.products li.product .price{
  color:var(--og-emerald) !important; font-weight:800 !important;
}
.woocommerce ul.products li.product .price del{ color:#9aa5a0 !important; font-weight:500 !important; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

/* sale / new badge → gold */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  background:linear-gradient(180deg,var(--og-gold),var(--og-gold-deep)) !important;
  color:var(--og-emerald-700) !important; font-weight:800 !important;
  border-radius:999px !important; box-shadow:0 6px 14px -5px rgba(217,192,116,.8);
  min-height:auto; padding:.3em .85em; line-height:1.6;
}
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before{ color:var(--og-gold-deep) !important; }

/* ---- Add-to-cart & shop buttons --------------------------------------- */
.woocommerce a.button, .woocommerce button.button,
.woocommerce .button.add_to_cart_button, .woocommerce .member-course-button,
.woocommerce #respond input#submit, .woocommerce input.button{
  background:linear-gradient(180deg,var(--og-emerald-600),var(--og-emerald)) !important;
  color:#fff !important; border:none !important; border-radius:12px !important;
  font-weight:700 !important; box-shadow:0 8px 18px -8px rgba(0,86,63,.55);
  transition:transform .25s var(--og-ease), box-shadow .3s var(--og-ease), filter .25s var(--og-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce .button.add_to_cart_button:hover, .woocommerce .member-course-button:hover,
.woocommerce input.button:hover{
  transform:translateY(-2px); filter:saturate(1.08);
  box-shadow:0 14px 26px -10px rgba(0,86,63,.6);
}
.woocommerce a.button.added::after{ color:#fff; }

/* secondary/ghost buttons */
.woocommerce a.button.wc-backward, .woocommerce .button.alt.disabled{
  background:linear-gradient(180deg,var(--og-gold),var(--og-gold-deep)) !important;
  color:var(--og-emerald-700) !important;
}

/* ---- Pagination -------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul{ border:none !important; gap:8px; display:flex; justify-content:center; }
.woocommerce nav.woocommerce-pagination ul li{ border:none !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:10px !important; min-width:40px; height:40px; line-height:40px;
  background:#fff; border:1px solid rgba(16,40,32,.1) !important; transition:all .25s var(--og-ease);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--og-emerald) !important; color:#fff !important; border-color:var(--og-emerald) !important;
}

/* ---- Shop sidebar (filters) ------------------------------------------- */
.woocommerce .widget, .shop-sidebar .widget, aside .widget{
  background:#fff; border:1px solid rgba(16,40,32,.07);
  border-radius:16px; padding:18px 18px; box-shadow:var(--og-shadow-1);
  margin-bottom:20px;
}
.widget .widget-title, .widget h2, .widget h3{
  font-weight:800 !important; padding-bottom:12px; margin-bottom:12px;
  border-bottom:2px solid rgba(0,86,63,.1);
}
.price_slider .ui-slider-range, .ui-slider .ui-slider-range{ background:var(--og-emerald) !important; }
.price_slider .ui-slider-handle, .ui-slider .ui-slider-handle{ background:var(--og-emerald) !important; border:3px solid #fff !important; }

/* ---- Single product ---------------------------------------------------- */
/* Parsa's layout never fills .summary.entry-summary (the purchase UI lives in
   product-sidebar / .og-course__buy), so it's an empty leftover div — my card
   style was turning it into an empty box. Hide it; :has() restores the card
   for the rare case a product type ever fills it. */
.single-product div.product .summary.entry-summary{ display:none; }
.single-product div.product .summary.entry-summary:has(*){
  display:block; background:#fff; border:1px solid rgba(16,40,32,.08);
  border-radius:22px; padding:24px 22px;
  box-shadow:var(--og-shadow-2);
}
.single-product .product-prices .price, .single-product .summary .price,
.single-product .price-v1{
  color:var(--og-emerald) !important; font-weight:800 !important;
}
.single-product .summary .price del{ color:#9aa5a0 !important; }
.single-product .course-info, .single-product .course-data{
  border-top:1px dashed rgba(16,40,32,.14); padding-top:14px; margin-top:14px;
}
.single-product .course-info li, .single-product .course-data li,
.single-product .course-info > div, .single-product .course-data > div{
  padding:9px 0; border-bottom:1px solid rgba(16,40,32,.06);
}
.single_add_to_cart_button, .single-product .pay-button, .single-product .mobile-pay-button{
  border-radius:14px !important; font-weight:800 !important;
  background:linear-gradient(180deg,var(--og-emerald-600),var(--og-emerald)) !important;
  color:#fff !important; box-shadow:0 12px 24px -10px rgba(0,86,63,.6) !important;
  transition:transform .25s var(--og-ease), box-shadow .3s var(--og-ease) !important;
}
.single_add_to_cart_button:hover, .single-product .pay-button:hover{ transform:translateY(-2px); }
.single-product .woocommerce-product-gallery img{ border-radius:18px; }

/* product tabs → modern underline tabs */
.woocommerce-tabs ul.tabs{ border:none !important; padding:0 !important; display:flex; gap:8px; flex-wrap:wrap; }
.woocommerce-tabs ul.tabs::before{ border:none !important; }
.woocommerce-tabs ul.tabs li{
  background:transparent !important; border:none !important; border-radius:12px 12px 0 0 !important;
  margin:0 !important; padding:0 !important;
}
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.woocommerce-tabs ul.tabs li a{
  font-weight:700 !important; padding:12px 20px !important; display:block;
  border-bottom:3px solid transparent !important; transition:all .25s var(--og-ease);
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover{
  color:var(--og-emerald) !important; border-bottom-color:var(--og-gold-deep) !important;
}
.woocommerce-tabs .panel, .woocommerce-Tabs-panel{
  background:#fff; border:1px solid rgba(16,40,32,.07); border-radius:0 16px 16px 16px;
  padding:24px; line-height:2.1; box-shadow:var(--og-shadow-1);
}

/* ---- Cart -------------------------------------------------------------- */
.woocommerce-cart table.cart{ border-radius:16px; overflow:hidden; box-shadow:var(--og-shadow-1); }
.woocommerce-cart table.cart thead{ background:var(--og-emerald) !important; }
.woocommerce-cart table.cart thead th{ color:#fff !important; border:none !important; }
.woocommerce-cart table.cart td, .woocommerce-cart table.cart th{ border-color:rgba(16,40,32,.06) !important; }
.cart_totals, .woocommerce-cart .cart-collaterals .cart_totals{
  background:#fff; border:1px solid rgba(16,40,32,.08); border-radius:18px;
  padding:20px; box-shadow:var(--og-shadow-2);
}
.cart_totals h2, .cart_totals .order-total{ color:var(--og-emerald) !important; }

/* ---- Checkout ---------------------------------------------------------- */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading + #order_review{
  background:#fff; border:1px solid rgba(16,40,32,.08); border-radius:18px;
  padding:22px; box-shadow:var(--og-shadow-1);
}
.woocommerce-checkout #payment{ background:transparent !important; }
.woocommerce-checkout #payment ul.payment_methods{
  background:#fff; border:1px solid rgba(16,40,32,.08); border-radius:14px; padding:14px;
}
.woocommerce-checkout #place_order{
  border-radius:14px !important; font-weight:800 !important; width:100%;
}

/* ---- My-account & Digits login ---------------------------------------- */
.bg-login-page{
  background:
    radial-gradient(80% 60% at 80% 0%, rgba(0,86,63,.06), transparent 60%),
    radial-gradient(70% 60% at 10% 100%, rgba(240,227,178,.22), transparent 60%),
    #f6f8f7 !important;
  min-height:100vh;
}
.box-loginform, .digits-form_container.digits{
  background:#fff !important; border:1px solid rgba(16,40,32,.08) !important;
  border-radius:22px !important; box-shadow:0 30px 70px -30px rgba(0,86,63,.35) !important;
  padding:30px 28px !important; position:relative; overflow:hidden;
}
.box-loginform::before, .digits-form_container.digits::before{
  content:""; position:absolute; top:0; inset-inline:0; height:5px;
  background:linear-gradient(90deg,var(--og-emerald),var(--og-gold-deep));
}
.digits-form_heading_text{ font-weight:800 !important; color:var(--og-ink) !important; }
.digits-form_input, .digits-field-type_tac{
  border:1.5px solid rgba(16,40,32,.14) !important; border-radius:12px !important;
  transition:border-color .25s var(--og-ease), box-shadow .25s var(--og-ease) !important;
}
.digits-form_input:focus-within, .digits-form_input:focus,
.digits-field-type_tac:focus, .digits-form_input input:focus{
  border-color:var(--og-emerald) !important;
  box-shadow:0 0 0 4px rgba(0,86,63,.12) !important; outline:none !important;
}
.digits-form_button, .digits-form_submit-btn{
  background:linear-gradient(180deg,var(--og-emerald-600),var(--og-emerald)) !important;
  border:none !important; border-radius:12px !important; font-weight:800 !important;
  box-shadow:0 12px 24px -10px rgba(0,86,63,.6) !important;
  transition:transform .25s var(--og-ease) !important;
}
.digits-form_button:hover{ transform:translateY(-2px); }
.dig_login_signup_bar a, .digits-form_tabs a{ font-weight:700 !important; }

/* my-account dashboard nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  background:#fff; border:1px solid rgba(16,40,32,.08); border-radius:16px;
  padding:8px; box-shadow:var(--og-shadow-1); list-style:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{ border:none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:11px 14px; border-radius:10px; font-weight:600;
  transition:all .2s var(--og-ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:var(--og-emerald) !important; color:#fff !important;
}

/* WooCommerce notices on-brand */
.woocommerce-message, .woocommerce-info{
  border-top-color:var(--og-emerald) !important; border-radius:10px;
}
.woocommerce-message::before, .woocommerce-info::before{ color:var(--og-emerald) !important; }

/* ===== Phase 3 hardening: sticky checkout summary, login + dashboard ===== */
@media (min-width:992px){
  .woocommerce-checkout #order_review{ position:sticky; top:96px; align-self:start; }
}
.bg-login-page{ display:flex; align-items:center; justify-content:center; padding-block:clamp(30px,6vw,80px); }
.box-loginform{ max-width:440px; width:100%; margin-inline:auto; }
.woocommerce-account .woocommerce-MyAccount-content{
  background:var(--og-surface); border:1px solid var(--og-line-soft); border-radius:var(--r-lg);
  padding:clamp(18px,2.5vw,30px); box-shadow:var(--og-shadow-1);
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){ color:var(--og-emerald); }
/* order received / thankyou */
.woocommerce-order .woocommerce-order-overview, .woocommerce-thankyou-order-received{
  border-radius:var(--r-lg); }
.woocommerce-thankyou-order-received{
  background:linear-gradient(160deg,var(--og-emerald),var(--og-emerald-700)); color:#fff !important;
  padding:22px 24px; font-weight:800; box-shadow:var(--og-shadow-2);
}
