/*
Theme Name: HP Theme
Author: Husin Sajjadi
Version: 1.2.9
Text Domain: hp-theme
*/
@font-face {
  font-family: "Vazirmatn";
  src: url("./assets/font/Vazirmatn-FD-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("./assets/font/Vazirmatn-FD-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* اختیاری: فقط برای اینکه محتوا به پایین navbar نچسبه */
:root, body {
  font-family: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: #f6f6f6;
}
a{
  text-decoration: none;
}
body.admin-bar .navbar.fixed-top {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .navbar.fixed-top {
    top: 46px;
  }
}

/* --- Archive toolbar --- */
/* Toolbar spacing */
.tt-shop-toolbar .woocommerce-result-count {
  margin: 0;
}

/* Ordering select modern */
.tt-ordering-wrap form.woocommerce-ordering {
  margin: 0;
}

.tt-ordering-wrap select.orderby {
  border-radius: 999px;
  padding: 0.55rem 2.25rem 0.55rem 1rem; /* جا برای آیکن فلش */
  border: 1px solid rgba(0,0,0,0.10);
  background-color: #fff;
  min-width: 240px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  line-height: 1.2;
}

/* فلش سفارشی برای select */
.tt-ordering-wrap form.woocommerce-ordering {
  position: relative;
}

.tt-ordering-wrap form.woocommerce-ordering::after {
  content: "▾";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 14px;
  pointer-events: none;
  opacity: .6;
  font-size: 14px;
}

.tt-ordering-wrap select.orderby:focus {
  border-color: rgba(13,110,253,0.35);
  box-shadow: 0 0 0 0.2rem rgba(13,110,253,0.12);
  outline: none;
}

/* Pagination (Woo) -> modern pill */
nav.woocommerce-pagination ul.page-numbers {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: flex;
  gap: .5rem;
  justify-content: center;
  align-items: center;
}

nav.woocommerce-pagination ul.page-numbers li {
  margin: 0;
}

nav.woocommerce-pagination ul.page-numbers a,
nav.woocommerce-pagination ul.page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 .9rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
  text-decoration: none;
}

nav.woocommerce-pagination ul.page-numbers a:hover {
  border-color: rgba(0,0,0,0.18);
}

nav.woocommerce-pagination ul.page-numbers span.current {
  border-color: rgba(13,110,253,0.35);
  background: rgba(13,110,253,0.08);
  font-weight: 600;
}

.flex-control-thumbs{
  margin: 20px 0;
  padding: 0;
  display: flex;
  list-style: none;
  overflow: auto;
}
.flex-control-thumbs li{
  margin-left: 5px;
}

/* Bootstrap-like table for Additional Information */
.woocommerce-product-attributes {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 1rem; /* rounded */
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  padding: .75rem;
  border-top: 1px solid rgba(0,0,0,0.08);
  vertical-align: middle;
}

.woocommerce-product-attributes tr:first-child th,
.woocommerce-product-attributes tr:first-child td {
  border-top: 0;
}

.woocommerce-product-attributes th {
  width: 22%;
  background: rgba(0,0,0,0.03);
  font-weight: 600;
}

.woocommerce-product-attributes td {
  background: #fff;
}
.woocommerce-product-attributes p{
  margin: 0;
  padding: 0;
}

.woocommerce-product-attributes tr:hover td,
.woocommerce-product-attributes tr:hover th {
  background: rgba(13,110,253,0.04);
}

.single-product .tt-qty .qty{
  height: 100%;
  border-left: 0;
  border-right: 0;
  min-width: 70px;
  border-radius: 0;
}
.single-product .tt-qty .btn{ width:44px; }

/* Snapppay widget (modern + bootstrap-friendly) */
.snapppay-widget{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius: 1.5rem;           /* rounded-5 vibe */
  background: rgba(13,110,253,.06); /* soft primary tint */
  border: 1px solid rgba(13,110,253,.14);
  margin-bottom: 25px;
}

.snapppay-widget-image{
  width:48px;
  height:48px;
  object-fit:contain;
  border-radius: 14px;
  background:#fff;
  padding:8px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  flex: 0 0 auto;
}

.snapppay-widget-content{
  flex:1;
  min-width: 0;
}

.snapppay-widget-title{
  font-weight: 800;
  color:#111;
  line-height: 1.4;
  font-size: 1rem;
}

.snapppay-widget-title .amount{
  font-weight: 900;
}

.snapppay-widget-title .woocommerce-Price-amount{
  display:inline-block;
  margin-inline-start: 6px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(13,110,253,.10);
  border: 1px solid rgba(13,110,253,.18);
}

.snapppay-widget-description{
  margin-top: 4px;
  font-size: .9rem;
  color: rgba(0,0,0,.65);
}

/* Installment providers */
.hp-installment-widget{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:25px;
  padding:15px 16px;
  border:1px solid #d7e4ff;
  border-radius:20px;
  background:linear-gradient(135deg, #f7faff 0%, #eef5ff 100%);
}
.hp-installment-brands{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.hp-payment-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  height:38px;
  padding:0 10px;
  border-radius:12px;
  background:#fff;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 5px 14px rgba(24,48,90,.08);
}
.hp-payment-logo--digipay{ color:#1264dc; border:1px solid rgba(18,100,220,.18); }
.hp-payment-logo--torobpay{ color:#e43e35; border:1px solid rgba(228,62,53,.18); }
.hp-installment-content{ min-width:0; flex:1; }
.hp-installment-title{ color:#172033; font-weight:800; line-height:1.8; }
.hp-installment-price .woocommerce-Price-amount{
  display:inline-block;
  margin-inline-start:4px;
  padding:1px 9px;
  border:1px solid rgba(18,100,220,.16);
  border-radius:999px;
  background:#fff;
}
.hp-installment-description{ margin-top:2px; color:#667085; font-size:.88rem; }

/* Mobile polish */
@media (max-width: 576px){
  .snapppay-widget{
    padding:12px 14px;
    gap:12px;
  }
  .snapppay-widget-image{
    width:44px;
    height:44px;
    padding:7px;
  }
  .snapppay-widget-title{
    font-size: .95rem;
  }
  .related.products ul.products{
    display:flex !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
  }
  .related.products ul.products li.product{
    flex: 0 0 75%;
    max-width: 75%;
    scroll-snap-align: start;
  }
  .tt-hscroll ul.products{
    display:flex !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .tt-hscroll ul.products li.product{
    flex: 0 0 80%;
    max-width: 80%;
    scroll-snap-align: start;
  }
}

/* Variable product selects */
.single-product .variations_form .form-select{
  border-radius: 1rem;
  padding-top: .65rem;
  padding-bottom: .65rem;
}

/* reset link nicer */
.single-product .reset_variations{
  align-self: start;
}

/* variation price box (the injected area) */
.single-product .single_variation{
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1.25rem;
  background: rgba(0,0,0,.02);
}

.single-product .tt-variation-select{
  border-radius: 1rem;
  padding-top: .65rem;
  padding-bottom: .65rem;
}

/* make the add-to-cart row nicer in variable products */
.single-product .variations_button{
  display:flex;
  gap: .5rem;
  align-items: stretch;
  flex-wrap: wrap;
}

.single-product .variations_button .quantity{
  margin: 0 !important;
}

.tt-loop-disabled{
  opacity:.45;
  pointer-events:none;
}

.woocommerce a.button .tt-loop-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

/* --- Single product purchase form (v1.2.5) --- */
.single-product form.cart,
.single-product .variations_form.cart{
  margin-top: 20px;
}

.single-product form.cart > .d-flex,
.single-product .variations_button{
  display: grid !important;
  grid-template-columns: minmax(132px, 170px) minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
}

.single-product .tt-qty,
.single-product .variations_button .quantity{
  width: 100%;
  max-width: none !important;
  min-height: 54px;
  margin: 0 !important;
  border: 1px solid #dbe3ef;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

.single-product .tt-qty .btn{
  width: 48px;
  min-width: 48px;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.single-product .tt-qty input.qty,
.single-product .variations_button .quantity input.qty{
  min-width: 50px;
  height: 52px;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent;
  text-align: center;
}

.single-product .single_add_to_cart_button{
  min-height: 54px;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 24px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #0878ff, #1768e8) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  box-shadow: 0 10px 24px rgba(8,120,255,.22) !important;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.single-product .single_add_to_cart_button:hover:not(:disabled){
  transform: translateY(-1px);
  box-shadow: 0 13px 28px rgba(8,120,255,.3) !important;
}

.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled{
  opacity: .5 !important;
  cursor: not-allowed;
  box-shadow: none !important;
}

.single-product table.variations,
.single-product table.variations.tt-variations{
  display: block;
  width: 100%;
  margin: 18px 0 8px;
  border: 0;
}

.single-product table.variations tbody,
.single-product table.variations.tt-variations tbody,
.single-product .tt-variation-row{
  display: grid;
  width: 100%;
  gap: 8px;
}

.single-product .tt-variation-row + .tt-variation-row{ margin-top: 14px; }
.single-product .tt-variation-row .label,
.single-product .tt-variation-row .value{ display: block; padding: 0; }
.single-product .tt-variation-row label{ margin: 0; font-weight: 800; color: #172033; }

.single-product .variations select,
.single-product .tt-variation-select{
  display: block !important;
  width: 100% !important;
  min-height: 52px;
  padding: 10px 16px !important;
  border: 1px solid #cfd9e8 !important;
  border-radius: 16px !important;
  background-color: #fff !important;
  color: #172033;
  font-weight: 500;
  box-shadow: none !important;
}

.single-product .variations select:focus,
.single-product .tt-variation-select:focus{
  border-color: #0878ff !important;
  box-shadow: 0 0 0 4px rgba(8,120,255,.1) !important;
}

.single-product .reset_variations{
  display: inline-flex;
  margin: 4px 0 8px;
  color: #687386;
  font-size: .875rem;
  text-decoration: none;
}

.single-product .single_variation{
  margin-bottom: 12px;
}

/* Classic checkout is required by Persian shipping/city extensions. */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
  gap: 24px;
  align-items: start;
}

.woocommerce-checkout form.checkout #customer_details{ grid-column: 1; }
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review{ grid-column: 2; }
.woocommerce-checkout form.checkout #order_review_heading{ margin: 0; }

@media (max-width: 991.98px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns: minmax(0, 1fr);
  }
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{ grid-column: 1; }
}

@media (max-width: 575.98px){
  .hp-installment-widget{
    align-items:flex-start;
    flex-direction:column;
    gap:11px;
    padding:14px;
  }
  .hp-installment-brands{ width:100%; }
  .hp-payment-logo{ flex:1; }

  .single-product form.cart > .d-flex,
  .single-product .variations_button{
    grid-template-columns: 1fr !important;
  }

  .single-product .tt-qty,
  .single-product .variations_button .quantity{
    width: 100%;
    max-width: none !important;
  }

  .single-product .single_add_to_cart_button{
    min-height: 52px;
    padding-inline: 16px !important;
  }
}

/* =========================================================
   Bazi Abad refinements (v1.2.9)
   ========================================================= */

/* Home hero and dynamic age taxonomy cards. */
.hp-hero-badges .badge{
  padding:.55rem .9rem;
  font-size:.9rem;
  line-height:1.2;
}

.hp-hero-category{
  color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}
.hp-hero-category:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(23,32,51,.11) !important;
}

.hp-age-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}
.hp-age-card{
  position:relative;
  display:flex;
  min-width:0;
  min-height:154px;
  padding:18px 12px 15px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  border:1px solid #e6eaf0;
  border-radius:18px;
  color:#172033;
  background:linear-gradient(155deg, #fff 0%, #f8fbff 100%);
  box-shadow:0 8px 22px rgba(24,36,56,.06);
  text-align:center;
  overflow:hidden;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.hp-age-card::before{
  content:"";
  position:absolute;
  width:76px;
  height:76px;
  top:-36px;
  left:-30px;
  border-radius:50%;
  background:rgba(13,110,253,.08);
}
.hp-age-card:nth-child(3n+2)::before{ background:rgba(255,193,7,.14); }
.hp-age-card:nth-child(3n)::before{ background:rgba(25,135,84,.11); }
.hp-age-card:hover{
  transform:translateY(-4px);
  border-color:#b9d6ff;
  color:#0d6efd;
  box-shadow:0 14px 30px rgba(13,110,253,.13);
}
.hp-age-icon{
  display:flex;
  width:58px;
  height:58px;
  margin-bottom:9px;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  background:#eef5ff;
  font-size:1.9rem;
  line-height:1;
}
.hp-age-card:nth-child(3n+2) .hp-age-icon{ background:#fff8dc; }
.hp-age-card:nth-child(3n) .hp-age-icon{ background:#eaf8ef; }
.hp-age-name{ font-size:.96rem; font-weight:850; line-height:1.65; }
.hp-age-hint{ margin-top:2px; color:#7a8495; font-size:.76rem; }

/* Header support-phone action. */
.hp-phone-button,
.hp-top-phone{
  border-color:#f3c84c !important;
  color:#715000 !important;
  background:#fff1b8 !important;
  box-shadow:0 5px 14px rgba(161,116,0,.09);
}
.hp-phone-button:hover,
.hp-top-phone:hover{
  border-color:#e5b51c !important;
  color:#553b00 !important;
  background:#ffe998 !important;
}

/* Product confirmation and fixed single-item quantity. */
.hp-single-product-notices .woocommerce-message{
  border-color:#b9e2c8;
  color:#146c43;
  background:#effaf3;
}
.single-product .hp-single-cart-row.hp-quantity-is-fixed,
.single-product form.variations_form .woocommerce-variation-add-to-cart.hp-quantity-is-fixed{
  grid-template-columns:minmax(0, 1fr) !important;
}
.single-product .hp-fixed-quantity{ display:none !important; }
.single-product form.variations_form .reset_variations{
  margin:8px 5px 12px 0 !important;
}

/* Cart cross-sell heading punctuation/alignment. */
.woocommerce-cart .cross-sells > h2,
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block h2,
.woocommerce-cart .hp-cross-sell-heading{
  width:100%;
  margin-bottom:18px !important;
  direction:rtl;
  text-align:right !important;
  font-weight:850;
}

/* Checkout country stays in the order data but is not shown to customers. */
body.woocommerce-checkout .hp-hidden-country,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #shipping_country_field{
  display:none !important;
}

/* AJAX validation notices occupy a full row above both checkout columns. */
body.woocommerce-checkout form.checkout.woocommerce-checkout{
  grid-template-rows:auto auto 1fr !important;
  min-width:0;
}
body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  overflow-wrap:anywhere;
}
body.woocommerce-checkout form.checkout > #customer_details{
  grid-row:2 / span 2 !important;
  min-width:0;
}
body.woocommerce-checkout form.checkout > #order_review_heading{
  grid-row:2 !important;
  min-width:0;
}
body.woocommerce-checkout form.checkout > #order_review{
  grid-row:3 !important;
  min-width:0;
}
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-message{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin:0 !important;
  padding:15px 18px !important;
  border-radius:14px !important;
  overflow-wrap:anywhere;
}
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error{
  border-color:#f3b8be;
  color:#9d2732;
  background:#fff2f3;
}

/* Footer: clearer hierarchy and a prominent phone contact. */
.hp-footer{
  color:#273246;
  background:linear-gradient(180deg, #f7faff 0%, #eef5ff 100%);
}
.hp-footer a{ color:#48566c; }
.hp-footer a:hover{ color:var(--hp-primary); }
.hp-footer-title{ font-size:1.1rem; }
.hp-footer-brand-icon{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#e7f1ff;
  font-size:1.25rem;
}
.hp-footer-phone{
  display:inline-flex;
  margin-top:18px;
  padding:10px 13px;
  align-items:center;
  gap:10px;
  border:1px solid #cfe0fa;
  border-radius:14px;
  color:#163d72 !important;
  background:#fff;
  box-shadow:0 7px 18px rgba(29,78,145,.07);
}
.hp-footer-phone-icon{
  display:inline-flex;
  width:37px;
  height:37px;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  color:#fff;
  background:var(--hp-primary);
  font-size:1.05rem;
}
.hp-footer-phone span:last-child{ display:flex; flex-direction:column; }
.hp-footer-phone small{ color:#718096; font-size:.72rem; }
.hp-footer-phone strong{ margin-top:1px; direction:ltr; font-size:1rem; letter-spacing:.25px; }
.hp-footer-badges .badge{
  padding:.5rem .75rem;
  font-size:.84rem;
}

@media (max-width: 991.98px){
  .hp-age-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
  body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout,
  body.woocommerce-checkout form.checkout > #customer_details,
  body.woocommerce-checkout form.checkout > #order_review_heading,
  body.woocommerce-checkout form.checkout > #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}

@media (max-width: 575.98px){
  .hp-hero-badges .badge{ font-size:.82rem; }
  .hp-age-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:11px; }
  .hp-age-card{ min-height:140px; padding:15px 9px 13px; border-radius:16px; }
  .hp-age-icon{ width:52px; height:52px; font-size:1.65rem; }
  .hp-footer-badges .badge{ font-size:.78rem; }
}

/* --- Polished classic checkout + variable products (v1.2.7) --- */
body.woocommerce-checkout .hp-page-content{
  max-width:1200px;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(340px, 410px) !important;
  grid-template-rows:auto 1fr;
  gap:14px 28px !important;
  width:100%;
  max-width:1160px;
  margin:24px auto 0;
  align-items:start;
}

body.woocommerce-checkout form.checkout #customer_details{
  grid-column:1 !important;
  grid-row:1 / span 2;
  display:block !important;
  width:100% !important;
  padding:28px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 36px rgba(22,34,55,.06);
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  display:block !important;
  float:none !important;
  flex:none !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}

body.woocommerce-checkout #customer_details .col-2{
  margin-top:28px;
  padding-top:24px !important;
  border-top:1px solid #edf0f5;
}

body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review_heading{
  margin:0 0 22px !important;
  color:#172033;
  font-size:1.28rem;
  font-weight:900;
  line-height:1.6;
}

body.woocommerce-checkout form.checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1;
  padding:0 4px;
}

body.woocommerce-checkout form.checkout #order_review{
  grid-column:2 !important;
  grid-row:2;
  width:100%;
  padding:22px !important;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 36px rgba(22,34,55,.06);
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

body.woocommerce-checkout .form-row{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout #shipping_address_1_field{
  grid-column:1 / -1;
}

body.woocommerce-checkout .form-row label{
  display:block;
  margin:0 0 7px;
  color:#344054;
  font-size:.88rem;
  font-weight:750;
}

body.woocommerce-checkout .input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single{
  width:100% !important;
  min-height:50px;
  border:1px solid #d7deea !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#172033 !important;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-checkout .input-text,
body.woocommerce-checkout select{
  padding:10px 14px !important;
}

body.woocommerce-checkout textarea.input-text{
  min-height:110px;
  resize:vertical;
}

body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--open .select2-selection--single{
  outline:0;
  border-color:#0878ff !important;
  box-shadow:0 0 0 4px rgba(8,120,255,.1) !important;
}

body.woocommerce-checkout .select2-container .select2-selection__rendered{
  padding:10px 14px !important;
  line-height:28px !important;
}
body.woocommerce-checkout .select2-container .select2-selection__arrow{
  top:12px !important;
  left:12px !important;
  right:auto !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table{
  margin:0 0 18px;
  border:0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td{
  padding:14px 8px !important;
  border:0 !important;
  border-bottom:1px solid #edf0f5 !important;
  vertical-align:top;
}
body.woocommerce-checkout #payment{
  padding:16px !important;
  border-radius:18px !important;
  background:#f7f9fc !important;
}
body.woocommerce-checkout #place_order{
  min-height:52px;
  border:0 !important;
  border-radius:16px !important;
  background:linear-gradient(135deg, #0878ff, #1768e8) !important;
  box-shadow:0 10px 24px rgba(8,120,255,.22);
  font-weight:850 !important;
}

/* Variation selector */
.single-product form.variations_form.cart{
  padding-top:4px;
}
.single-product form.variations_form table.variations{
  width:100% !important;
  margin:0 0 10px !important;
}
.single-product form.variations_form table.variations tbody{
  display:block !important;
}
.single-product form.variations_form table.variations tr{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px;
  margin-bottom:16px;
}
.single-product form.variations_form table.variations th.label,
.single-product form.variations_form table.variations td.value{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  text-align:right;
}
.single-product form.variations_form table.variations th.label label{
  margin:0;
  color:#273246;
  font-weight:850;
}
.single-product form.variations_form table.variations select{
  width:100% !important;
  min-height:54px;
  margin:0 !important;
  padding:10px 16px !important;
  border:1px solid #d5deeb !important;
  border-radius:16px !important;
  background-color:#fff !important;
  color:#172033;
  font-weight:650;
  box-shadow:0 4px 14px rgba(23,32,51,.04) !important;
}
.single-product form.variations_form table.variations select:focus{
  outline:0;
  border-color:#0878ff !important;
  box-shadow:0 0 0 4px rgba(8,120,255,.1) !important;
}
.single-product form.variations_form .reset_variations{
  display:inline-flex !important;
  align-items:center;
  margin:0 0 12px;
  padding:6px 11px;
  border-radius:999px;
  background:#f2f5f9;
  color:#667085 !important;
  font-size:.82rem;
  text-decoration:none !important;
}

/* Do not render WooCommerce's empty variation placeholder as a blank bar. */
.single-product .woocommerce-variation.single_variation{
  display:none !important;
  margin:2px 0 14px;
  padding:14px 16px;
  border:1px solid #dbe5f3;
  border-radius:16px;
  background:#f8fbff;
}
.single-product .woocommerce-variation.single_variation:has(.woocommerce-variation-description:not(:empty)),
.single-product .woocommerce-variation.single_variation:has(.woocommerce-variation-price:not(:empty)),
.single-product .woocommerce-variation.single_variation:has(.woocommerce-variation-availability:not(:empty)){
  display:block !important;
}
.single-product .woocommerce-variation-price .price{
  margin:0;
  color:#0878ff;
  font-size:1.15rem;
  font-weight:900;
}
.single-product .woocommerce-variation-description > :last-child,
.single-product .woocommerce-variation-availability > :last-child{
  margin-bottom:0;
}
.single-product form.variations_form .woocommerce-variation-add-to-cart{
  display:grid !important;
  grid-template-columns:minmax(132px, 170px) minmax(0, 1fr);
  gap:12px;
  align-items:stretch;
}
.single-product form.variations_form .quantity.tt-qty{
  display:flex !important;
  flex-wrap:nowrap;
}

@media (max-width: 991.98px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
    gap:16px !important;
  }
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}

@media (max-width: 575.98px){
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review{
    padding:18px 15px !important;
    border-radius:18px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    grid-template-columns:1fr;
  }
  body.woocommerce-checkout .form-row-wide,
  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #shipping_country_field,
  body.woocommerce-checkout #shipping_address_1_field{
    grid-column:1;
  }
  .single-product form.variations_form .woocommerce-variation-add-to-cart{
    grid-template-columns:1fr !important;
  }
}

/* Product card footer: keep the price and cart action inside narrow cards. */
.woocommerce ul.products li.product .card-body { min-width: 0; }
.woocommerce ul.products li.product h3 { line-height: 1.65; }
.tt-product-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-width: 0;
}
.tt-product-price {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  font-size: clamp(.76rem, 1.1vw, .9rem);
  line-height: 1.55;
}
.tt-product-price .price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  max-width: 100%;
  overflow: hidden;
}
.tt-product-price del,
.tt-product-price ins,
.tt-product-price .woocommerce-Price-amount {
  display: block;
  max-width: 100%;
  white-space: nowrap;
}
.tt-product-price del { font-size: .82em; font-weight: 400; opacity: .6; }
.tt-product-price ins { text-decoration: none; }
.tt-product-action {
  display: flex;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
}
.woocommerce ul.products li.product .tt-product-action .button,
.woocommerce ul.products li.product .tt-product-action a.button {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  line-height: 1 !important;
  overflow: hidden;
}
.tt-product-action .tt-loop-icon,
.tt-product-action .tt-loop-icon svg { width: 18px; height: 18px; }

/* AJAX feedback: replace the cart icon with a compact spinner while loading. */
@keyframes hp-cart-button-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.woocommerce ul.products li.product .tt-product-action .button.loading {
  position: relative !important;
  cursor: wait;
  pointer-events: none;
}
.woocommerce ul.products li.product .tt-product-action .button.loading .tt-loop-icon {
  opacity: 0;
}
.woocommerce ul.products li.product .tt-product-action .button.loading::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 50%;
  animation: hp-cart-button-spin .7s linear infinite;
}
.woocommerce ul.products li.product .tt-product-action > .added_to_cart.wc-forward {
  display: none !important;
}

/* =========================================================
   Shared UI / WooCommerce polish
   ========================================================= */
:root {
  --hp-primary: #0d6efd;
  --hp-primary-dark: #0958cf;
  --hp-ink: #172033;
  --hp-muted: #6b7280;
  --hp-line: #e3e7ee;
  --hp-surface: #ffffff;
  --hp-soft: #f7f9fc;
  --hp-radius: 18px;
  --hp-shadow: 0 12px 34px rgba(24, 36, 56, .08);
}

body {
  color: var(--hp-ink);
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; }

/* One visual language for Bootstrap, classic Woo and Woo blocks buttons. */
.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-element-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .7rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 999px !important;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),
.wp-element-button {
  color: #fff;
  background: var(--hp-primary);
  border-color: var(--hp-primary);
}

.btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-element-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(13, 110, 253, .22);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-element-button:hover {
  color: #fff;
  background: var(--hp-primary-dark);
  border-color: var(--hp-primary-dark);
}

.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.wc-block-components-button:disabled {
  opacity: .55;
  transform: none;
  box-shadow: none;
}

/* Header */
.navbar { z-index: 1030; }
.navbar > .container { min-height: 74px; gap: 18px; }
.hp-site-logo { display: block; width: 180px; height: auto; }
.hp-header-actions { flex: 0 0 auto; }

.hp-action-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid var(--hp-line);
  border-radius: 999px;
  color: var(--hp-ink);
  background: #fff;
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.hp-action-button svg { width: 20px; height: 20px; fill: currentColor; }
.hp-action-button:hover { color: var(--hp-primary); border-color: rgba(13,110,253,.4); background: #f3f7ff; transform: translateY(-1px); }
.hp-cart-button { color: #fff; background: var(--hp-primary); border-color: var(--hp-primary); }
.hp-cart-button:hover { color: #fff; background: var(--hp-primary-dark); }
.hp-cart-count { top: -7px; right: -6px; min-width: 21px; padding: 4px 6px; }
.hp-cart-count.is-empty { display: none; }
.hp-menu-toggle { width: 44px; height: 44px; padding: 8px; border-radius: 13px; border-color: var(--hp-line); }
.hp-menu-toggle:focus { box-shadow: 0 0 0 .2rem rgba(13,110,253,.12); }

.navbar form[role="search"] .form-control {
  min-width: 210px;
  height: 44px;
  border-color: var(--hp-line);
  background: var(--hp-soft);
}

/* Keep the desktop mega menu connected to its trigger while the pointer moves down. */
@media (min-width: 992px) {
  .hp-mega > .dropdown-menu {
    top: 100%;
    margin-top: 0 !important;
  }
  .hp-mega > .dropdown-menu::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 12px;
  }
}

/* Desktop mini cart drawer */
.hp-mini-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 1080;
  visibility: hidden;
  opacity: 0;
  background: rgba(17, 24, 39, .46);
  backdrop-filter: blur(2px);
  transition: opacity .25s ease, visibility .25s ease;
}
.hp-mini-cart-overlay.is-open { visibility: visible; opacity: 1; }
.hp-mini-cart-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1090;
  display: flex;
  width: min(430px, 92vw);
  flex-direction: column;
  visibility: hidden;
  transform: translateX(-105%);
  background: #fff;
  box-shadow: 16px 0 44px rgba(15, 23, 42, .18);
  direction: rtl;
  transition: transform .28s ease, visibility .28s ease;
}
.hp-mini-cart-drawer.is-open { visibility: visible; transform: translateX(0); }
.hp-cart-drawer-open { overflow: hidden; }
.hp-mini-cart-header {
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--hp-line);
}
.hp-mini-cart-title { font-size: 1.15rem; font-weight: 800; }
.hp-mini-cart-subtitle { margin-top: 3px; color: var(--hp-muted); font-size: .82rem; }
.hp-mini-cart-close {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--hp-line);
  border-radius: 50%;
  color: var(--hp-ink);
  background: var(--hp-soft);
}
.hp-mini-cart-close svg { width: 21px; height: 21px; fill: currentColor; }
.hp-mini-cart-close:hover { color: #fff; background: var(--hp-primary); border-color: var(--hp-primary); }
.hp-mini-cart-body { flex: 1; min-height: 0; padding: 20px 22px; overflow-y: auto; }
.hp-mini-cart-body .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.hp-mini-cart-body .woocommerce-mini-cart-item {
  position: relative;
  min-height: 92px;
  margin: 0;
  padding: 0 0 18px 30px;
  border-bottom: 1px solid var(--hp-line);
}
.hp-mini-cart-body .woocommerce-mini-cart-item + .woocommerce-mini-cart-item { padding-top: 18px; }
.hp-mini-cart-body .woocommerce-mini-cart-item a:not(.remove) { display: block; min-height: 70px; padding-right: 82px; color: var(--hp-ink); font-weight: 700; line-height: 1.7; }
.hp-mini-cart-body .woocommerce-mini-cart-item img { position: absolute; top: 0; right: 0; width: 68px; height: 68px; margin: 0; border-radius: 12px; object-fit: cover; }
.hp-mini-cart-body .woocommerce-mini-cart-item + .woocommerce-mini-cart-item img { top: 18px; }
.hp-mini-cart-body .woocommerce-mini-cart-item .remove {
  position: absolute;
  top: 2px;
  left: 0;
  display: inline-flex;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #dc3545 !important;
  background: #fff0f1;
  font-size: 1.1rem;
}
.hp-mini-cart-body .woocommerce-mini-cart-item + .woocommerce-mini-cart-item .remove { top: 20px; }
.hp-mini-cart-body .quantity { display: block; margin-top: 5px; color: var(--hp-muted); font-size: .86rem; font-weight: 500; }
.hp-mini-cart-body .woocommerce-mini-cart__total { margin: 20px 0 14px; padding: 16px 0; border-top: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); font-size: 1.05rem; }
.hp-mini-cart-body .woocommerce-mini-cart__total strong { margin-left: 8px; }
.hp-mini-cart-body .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.hp-mini-cart-body .woocommerce-mini-cart__buttons .button { width: 100%; margin: 0; }
.hp-mini-cart-body .woocommerce-mini-cart__empty-message { padding: 54px 10px; color: var(--hp-muted); text-align: center; }

.hp-cart-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1120;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: calc(100vw - 32px);
  padding: 13px 18px;
  border-radius: 14px;
  color: #fff;
  background: #198754;
  box-shadow: 0 14px 34px rgba(25, 135, 84, .28);
  visibility: hidden;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.hp-cart-toast.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }
.hp-cart-toast-icon { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 50%; color: #198754; background: #fff; font-weight: 900; }

/* Woo notices */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  margin: 0 0 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--hp-line);
  border-radius: var(--hp-radius);
  background: #fff;
  box-shadow: 0 8px 22px rgba(24,36,56,.06);
  list-style: none;
}

/* =========================================================
   My Account: login/register + dashboard endpoints
   ========================================================= */
.woocommerce-account .hp-page-content > h1 { margin-bottom: 1.4rem !important; font-weight: 800; }
.woocommerce-account .woocommerce { display: flow-root; }

.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
  width: auto;
  float: none;
  padding: 28px;
  border: 1px solid var(--hp-line);
  border-radius: 24px;
  background: var(--hp-surface);
  box-shadow: var(--hp-shadow);
}

.woocommerce-account #customer_login h2 { margin: 0 0 1.2rem; font-size: 1.35rem; font-weight: 800; }
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.edit-account,
.woocommerce-account form.woocommerce-EditAccountForm {
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce form .form-row { margin: 0 0 1rem; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: .45rem; color: #384152; font-size: .88rem; font-weight: 700; }
.woocommerce form .form-row .required { color: #dc3545; }

.woocommerce form input.input-text,
.woocommerce form textarea,
.woocommerce form select,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-address-form__country .wc-block-components-combobox-control input {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #d9dee7 !important;
  border-radius: 13px !important;
  color: var(--hp-ink);
  background: #fff;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 400;
  outline: none;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce form textarea { min-height: 110px; resize: vertical; }
.select2-container--default .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 11px; left: 10px; right: auto; }
.woocommerce form input.input-text:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus,
.select2-container--focus .select2-selection--single,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  border-color: rgba(13,110,253,.7) !important;
  box-shadow: 0 0 0 4px rgba(13,110,253,.1) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: right;
  width: 25%;
  padding: 10px;
  border: 1px solid var(--hp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--hp-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { margin-top: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border-radius: 12px;
  color: #354052;
  font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--hp-primary); background: #eef5ff; }

.woocommerce-account .woocommerce-MyAccount-content {
  float: left;
  width: calc(75% - 24px);
  min-height: 260px;
  padding: 26px;
  border: 1px solid var(--hp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--hp-shadow);
}
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; padding: 18px; border: 1px solid var(--hp-line); border-radius: 16px; background: var(--hp-soft); }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.woocommerce-account .woocommerce-Address-title h2 { margin: 0; font-size: 1.05rem; font-weight: 800; }
.woocommerce-account table.shop_table { width: 100%; border: 1px solid var(--hp-line); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding: 13px; border-bottom: 1px solid var(--hp-line); text-align: right; }

/* =========================================================
   Product gallery
   ========================================================= */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport { width: 100%; max-width: 100%; }
.single-product .woocommerce-product-gallery { float: none !important; margin: 0 !important; }
.single-product .flex-viewport { direction: ltr; overflow: hidden; border-radius: 16px; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; direction: ltr; }
.single-product .woocommerce-product-gallery__image { min-width: 100%; text-align: center; }
.single-product .woocommerce-product-gallery__image a { display: flex; width: 100%; min-height: 320px; align-items: center; justify-content: center; }
.single-product .woocommerce-product-gallery__image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 640px;
  margin: 0 auto;
  object-fit: contain;
}
.single-product .flex-control-thumbs { direction: rtl; gap: 9px; scrollbar-width: thin; }
.single-product .flex-control-thumbs li { flex: 0 0 76px; margin: 0; }
.single-product .flex-control-thumbs img { width: 76px; height: 76px; padding: 3px; border: 2px solid transparent; border-radius: 12px; object-fit: cover; }
.single-product .flex-control-thumbs img.flex-active { border-color: var(--hp-primary); }

/* =========================================================
   Cart: classic and block versions
   ========================================================= */
.woocommerce-cart .wc-block-components-product-metadata__description,
.woocommerce-checkout .wc-block-components-product-metadata__description,
.woocommerce-cart .wc-block-components-product-details,
.woocommerce-checkout .wc-block-components-product-details,
.woocommerce-cart .product-name .variation,
.woocommerce-checkout .product-name .variation { display: none !important; }

.woocommerce-cart table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid var(--hp-line) !important;
  border-radius: 20px !important;
  background: #fff;
}

.woocommerce-cart table.shop_table { width: 100%; padding: 8px; border-collapse: separate; border-spacing: 0; }
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td { padding: 14px 10px; border-bottom: 1px solid var(--hp-line); }
.woocommerce-cart table.shop_table img { width: 76px; border-radius: 12px; }
.woocommerce-cart .cart-collaterals { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 24px; }
.woocommerce-cart .cart-collaterals .cross-sells { width: auto; float: none; }
.woocommerce-cart .cart-collaterals .cart_totals { width: auto; float: none; padding: 22px; }

.wc-block-components-sidebar-layout { display: grid !important; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.wc-block-components-sidebar-layout .wc-block-cart__main,
.wc-block-components-sidebar-layout .wc-block-cart__sidebar { width: 100% !important; margin: 0 !important; padding: 22px !important; }
.wc-block-cart-items { width: 100%; }
.wc-block-cart-items td { padding-top: 18px !important; padding-bottom: 18px !important; vertical-align: middle !important; }
.wc-block-components-product-name { color: var(--hp-ink); font-weight: 800; line-height: 1.7; }
.wc-block-components-product-image img { border-radius: 12px; }
.wc-block-components-quantity-selector { border: 1px solid var(--hp-line) !important; border-radius: 10px !important; overflow: hidden; }
.wc-block-components-quantity-selector input { min-width: 36px !important; }
.wc-block-components-totals-coupon-link { color: var(--hp-primary); font-weight: 700; }

/* =========================================================
   Checkout: classic and block versions
   ========================================================= */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { padding: 24px; }
.woocommerce-checkout #order_review_heading { margin-top: 2rem; font-weight: 800; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding: 14px 10px; border-bottom: 1px solid var(--hp-line); }
.woocommerce-checkout #payment { margin-top: 20px; padding: 18px; border-radius: 16px; background: var(--hp-soft); }
.woocommerce-checkout #place_order { width: 100%; margin-top: 12px; }

.wp-block-woocommerce-checkout { max-width: 1160px; margin-inline: auto; }
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout { grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr); }
.wp-block-woocommerce-checkout .wc-block-checkout__main { width: 100% !important; margin: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar { width: 100% !important; margin: 0 !important; padding: 20px !important; }
.wc-block-components-checkout-step { padding: 22px !important; margin: 0 0 16px !important; border: 1px solid var(--hp-line); border-radius: 18px; background: #fff; }
.wc-block-components-checkout-step__heading { margin-bottom: 16px !important; }
.wc-block-components-checkout-step__title { font-size: 1.15rem !important; font-weight: 800 !important; }
.wc-block-components-text-input label,
.wc-block-components-combobox-control label { color: var(--hp-muted) !important; font-weight: 500 !important; }
.wc-block-components-order-summary-item__description { min-width: 0; }
.wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: .9rem; }

/* General responsive cleanup */
@media (max-width: 991.98px) {
  .hp-mini-cart-overlay,
  .hp-mini-cart-drawer { display: none !important; }
  body.hp-cart-drawer-open { overflow: auto; }
  .navbar > .container { min-height: 68px; }
  .hp-site-logo { width: 155px; }
  .navbar-collapse { width: 100%; padding: 8px 0 16px; }
  .navbar-nav { padding: 0; }
  .navbar-nav .nav-link { padding: 11px 12px; border-radius: 10px; }
  .navbar-nav .nav-link:hover { background: var(--hp-soft); }
  .hp-mega .dropdown-menu { position: static !important; max-height: 65vh; overflow-y: auto; border: 1px solid var(--hp-line) !important; border-radius: 16px; box-shadow: none !important; }
  .hp-mega .nav-pills { display: flex; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .hp-mega .nav-pills .nav-link { flex: 0 0 auto; }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 18px; overflow-x: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; min-width: max-content; }
  .woocommerce-account .woocommerce-MyAccount-navigation li + li { margin-top: 0; }

  .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout,
  .woocommerce-cart .cart-collaterals { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767.98px) {
  .bg-warning-subtle.border-bottom > .container { justify-content: center !important; text-align: center; }
  .bg-warning-subtle.border-bottom .d-flex.gap-2 { display: none !important; }
  .hp-action-label { display: none; }
  .hp-action-button { width: 42px; min-height: 42px; padding: 9px; }
  .hp-header-actions { gap: 6px !important; }
  .hp-menu-toggle { width: 42px; height: 42px; }

  .woocommerce-account #customer_login { grid-template-columns: 1fr; }
  .woocommerce-account #customer_login > .u-column1,
  .woocommerce-account #customer_login > .u-column2,
  .woocommerce-account .woocommerce-MyAccount-content { padding: 20px; border-radius: 18px; }
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }

  .woocommerce-cart table.shop_table_responsive thead { display: none; }
  .woocommerce-cart table.shop_table_responsive tr { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 8px 12px; padding: 15px 0; border-bottom: 1px solid var(--hp-line); }
  .woocommerce-cart table.shop_table_responsive td { display: block; padding: 4px 0; border: 0; text-align: right !important; }
  .woocommerce-cart table.shop_table_responsive td::before { display: none; }
  .woocommerce-cart table.shop_table_responsive .product-remove { grid-column: 1; grid-row: 1; }
  .woocommerce-cart table.shop_table_responsive .product-thumbnail { grid-column: 1; grid-row: 2 / span 3; }
  .woocommerce-cart table.shop_table_responsive .product-name,
  .woocommerce-cart table.shop_table_responsive .product-price,
  .woocommerce-cart table.shop_table_responsive .product-quantity,
  .woocommerce-cart table.shop_table_responsive .product-subtotal { grid-column: 2; }
  .woocommerce-cart table.shop_table_responsive .actions { grid-column: 1 / -1; }

  .wc-block-components-sidebar-layout .wc-block-cart__main,
  .wc-block-components-sidebar-layout .wc-block-cart__sidebar { padding: 15px !important; border-radius: 16px !important; }
  /* Cart Block mobile layout: one self-contained, predictable item card. */
  .wc-block-cart-items,
  .wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
  }
  .wc-block-cart-items thead { display: none !important; }
  .wc-block-cart-items .wc-block-cart-items__row {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid var(--hp-line);
  }
  .wc-block-cart-items .wc-block-cart-items__row:last-child { border-bottom: 0; }
  .wc-block-cart-items .wc-block-cart-items__row > td { box-sizing: border-box; }

  .wc-block-cart-items .wc-block-cart-item__image {
    display: block !important;
    position: absolute !important;
    top: 18px !important;
    right: 0 !important;
    left: auto !important;
    width: 82px !important;
    height: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2;
  }
  .wc-block-cart-items .wc-block-cart-item__image a,
  .wc-block-cart-items .wc-block-cart-item__image img {
    display: block;
    width: 82px !important;
    height: 82px !important;
    margin: 0 !important;
    border-radius: 11px;
    object-fit: cover;
  }

  .wc-block-cart-items .wc-block-cart-item__product {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 140px;
    margin: 0 !important;
    padding: 0 96px 54px 0 !important;
    text-align: right !important;
  }
  .wc-block-cart-items .wc-block-cart-item__product .wc-block-components-product-name {
    display: block;
    margin: 0 0 5px !important;
    font-size: .9rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
  }
  .wc-block-cart-items .wc-block-cart-item__product .wc-block-components-product-price {
    display: block;
    margin: 0 !important;
    font-size: .84rem;
    line-height: 1.7;
    text-align: right !important;
  }

  .wc-block-cart-items .wc-block-cart-item__quantity {
    display: flex !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: nowrap;
    z-index: 3;
  }
  .wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    width: 118px !important;
    min-width: 118px !important;
    height: 42px !important;
    margin: 0 !important;
  }
  .wc-block-cart-items .wc-block-cart-item__remove-link {
    position: static !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 8px !important;
    white-space: nowrap;
  }

  .wc-block-cart-items .wc-block-cart-item__total {
    display: block !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 0 !important;
    padding: 11px 0 0 !important;
    border-top: 1px dashed var(--hp-line);
    text-align: right !important;
  }
  .wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price {
    display: flex !important;
    width: 100%;
    margin: 0 !important;
    align-items: center;
    justify-content: flex-start;
    gap: 5px 9px;
    flex-wrap: wrap;
    direction: rtl;
    font-size: .82rem;
    line-height: 1.7;
    text-align: right !important;
  }
  .wc-block-cart-items .hp-cart-savings-badge {
    display: inline-flex;
    max-width: 100%;
    margin: 0 !important;
    padding: 4px 8px;
    border-radius: 8px;
    white-space: normal;
    line-height: 1.55;
    text-align: right;
  }

  .wc-block-components-checkout-step { padding: 18px 15px !important; border-radius: 16px; }
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar { padding: 15px !important; }
  .single-product .woocommerce-product-gallery__image a { min-height: 250px; }
}

@media (max-width: 575.98px) {
  .container { --bs-gutter-x: 1.35rem; }
  .hp-site-logo { width: 135px; }
  .hp-cart-toast { right: 16px; bottom: 16px; font-size: .88rem; }
  .navbar > .container { gap: 8px; flex-wrap: wrap; }
  .hp-page-content { margin-top: 1.2rem !important; margin-bottom: 1.2rem !important; }
  .card.rounded-5 { border-radius: 20px !important; }
  .card-body.p-4 { padding: 1.15rem !important; }
  h1, .h1 { font-size: clamp(1.55rem, 7vw, 2rem); }
  h2, .h2 { font-size: clamp(1.3rem, 6vw, 1.7rem); }

  .tt-shop-toolbar .card-body > .d-flex { align-items: stretch !important; }
  .tt-ordering-wrap,
  .tt-ordering-wrap form,
  .tt-ordering-wrap select.orderby { width: 100%; min-width: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation { padding: 7px; border-radius: 15px; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { padding: 10px 12px; font-size: .85rem; }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 16px; }
  .woocommerce-account table.shop_table { display: block; overflow-x: auto; }

  .wc-block-components-button,
  .woocommerce-cart .checkout-button,
  .woocommerce-checkout #place_order { width: 100%; }
  .single-product .woocommerce-product-gallery__image a { min-height: 220px; }
  .single-product .flex-control-thumbs li { flex-basis: 64px; }
  .single-product .flex-control-thumbs img { width: 64px; height: 64px; }
  .woocommerce ul.products { --bs-gutter-x: .75rem; --bs-gutter-y: .75rem; }
  .woocommerce ul.products li.product .card-body { padding: .8rem; }
  .tt-product-footer { grid-template-columns: minmax(0, 1fr) 40px; gap: 7px; }
  .tt-product-action { width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
  .woocommerce ul.products li.product .tt-product-action .button,
  .woocommerce ul.products li.product .tt-product-action a.button {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
  }
  .tt-product-price { font-size: .72rem; letter-spacing: -.2px; }
}

/* =========================================================
   WooCommerce 11+ isolation layer (v1.2.8)
   The theme owns product/grid/gallery geometry; no core floats.
   ========================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products{
  clear:both;
  list-style:none;
}

.woocommerce ul.products.row,
.woocommerce-page ul.products.row{
  display:flex !important;
  flex-wrap:wrap !important;
  float:none !important;
  width:auto !important;
}

.woocommerce ul.products.row > li.product,
.woocommerce-page ul.products.row > li.product{
  float:none !important;
  clear:none !important;
  width:50% !important;
  margin:0 !important;
  position:relative;
}

@media (min-width: 768px){
  .woocommerce ul.products.row > li.product,
  .woocommerce-page ul.products.row > li.product{
    width:33.333333% !important;
  }
}

@media (min-width: 992px){
  .woocommerce ul.products.row > li.product,
  .woocommerce-page ul.products.row > li.product{
    width:25% !important;
  }
}

.woocommerce ul.products li.product .card,
.woocommerce-page ul.products li.product .card{
  width:100%;
  border-radius:18px !important;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{
  display:block;
  width:100% !important;
  height:auto;
  margin:0 !important;
  box-shadow:none;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  margin:0;
  color:inherit;
}

/* Pagination: remove Woo's table-like borders and float rules completely. */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination{
  display:flex;
  width:100%;
  margin:28px 0 6px;
  justify-content:center;
  text-align:center;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers{
  display:flex !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  gap:8px;
  align-items:center;
  justify-content:center;
  border:0 !important;
  background:transparent !important;
  list-style:none !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li{
  display:block !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span{
  display:inline-flex !important;
  width:42px;
  min-width:42px;
  height:42px;
  margin:0 !important;
  padding:0 !important;
  align-items:center;
  justify-content:center;
  border:1px solid #dfe5ee !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#344054 !important;
  font-size:.9rem;
  font-weight:700;
  line-height:1 !important;
  box-shadow:0 3px 10px rgba(23,32,51,.04);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a:hover{
  border-color:#9bc4ff !important;
  color:var(--hp-primary) !important;
  background:#f4f8ff !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.current{
  border-color:var(--hp-primary) !important;
  color:#fff !important;
  background:var(--hp-primary) !important;
  box-shadow:0 7px 18px rgba(13,110,253,.22);
}

/* Single product: the Bootstrap columns decide width, never Woo floats. */
.single-product div.product,
.woocommerce-page.single-product div.product{
  width:100%;
}

.single-product div.product::before,
.single-product div.product::after{
  display:none !important;
  content:none !important;
}

.single-product div.product div.images,
.single-product #content div.product div.images,
.woocommerce-page.single-product div.product div.images,
.woocommerce-page.single-product #content div.product div.images,
.single-product div.product div.summary,
.single-product #content div.product div.summary,
.woocommerce-page.single-product div.product div.summary,
.woocommerce-page.single-product #content div.product div.summary{
  float:none !important;
  clear:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport{
  width:100% !important;
  max-width:100% !important;
}

.single-product .woocommerce-product-gallery{
  position:relative;
}

.single-product .woocommerce-product-gallery__trigger{
  position:absolute;
  z-index:5;
  top:14px;
  left:14px;
  display:inline-flex;
  width:42px;
  height:42px;
  padding:0;
  align-items:center;
  justify-content:center;
  border:1px solid #e1e7ef;
  border-radius:12px !important;
  background:rgba(255,255,255,.94);
  color:var(--hp-ink);
  box-shadow:0 6px 18px rgba(20,34,55,.1);
}

.single-product .woocommerce-product-gallery__trigger img{
  width:20px !important;
  height:20px !important;
  margin:0 !important;
  object-fit:contain;
}

.single-product .woocommerce-product-gallery__wrapper{
  transform-origin:center;
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a{
  width:100% !important;
  max-width:100% !important;
}

.single-product .woocommerce-product-gallery__image img{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.single-product .flex-control-thumbs{
  display:flex !important;
  float:none !important;
  width:100% !important;
  margin:16px 0 0 !important;
  padding:0 0 3px !important;
  gap:9px;
  border:0 !important;
  overflow-x:auto;
  list-style:none !important;
}

.single-product .flex-control-thumbs li{
  float:none !important;
  clear:none !important;
  width:72px !important;
  min-width:72px;
  margin:0 !important;
}

.single-product .flex-control-thumbs img{
  display:block;
  width:72px !important;
  height:72px !important;
  margin:0 !important;
  border-radius:10px !important;
}

/* Controlled radii: cards are soft, controls are compact, icon buttons stay round. */
.card.rounded-5{
  border-radius:20px !important;
}

.tt-shop-toolbar,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
  border-radius:18px !important;
}

.tt-ordering-wrap select.orderby,
.woocommerce input.input-text,
.woocommerce textarea.input-text,
.woocommerce select,
.select2-container .select2-selection--single{
  border-radius:12px !important;
}

.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-element-button{
  border-radius:14px !important;
}

/* Explicit exceptions where a circle/pill is intentional. */
.woocommerce ul.products li.product .tt-product-action .button,
.woocommerce ul.products li.product .tt-product-action a.button{
  border-radius:50% !important;
}

.badge.rounded-pill,
.hp-cart-count,
.reset_variations{
  border-radius:999px !important;
}

@media (max-width: 575.98px){
  .woocommerce ul.products.row > li.product,
  .woocommerce-page ul.products.row > li.product{
    width:50% !important;
  }

  .related.products ul.products.row > li.product,
  .single-product .tt-hscroll ul.products.row > li.product{
    width:78% !important;
    max-width:78% !important;
    flex:0 0 78% !important;
  }

  .woocommerce nav.woocommerce-pagination ul.page-numbers,
  .woocommerce-page nav.woocommerce-pagination ul.page-numbers{
    max-width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:thin;
  }

  .woocommerce nav.woocommerce-pagination ul.page-numbers li a,
  .woocommerce nav.woocommerce-pagination ul.page-numbers li span,
  .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a,
  .woocommerce-page nav.woocommerce-pagination ul.page-numbers li span{
    width:38px;
    min-width:38px;
    height:38px;
    border-radius:10px !important;
  }

  .single-product .flex-control-thumbs li{
    width:62px !important;
    min-width:62px;
  }
  .single-product .flex-control-thumbs img{
    width:62px !important;
    height:62px !important;
  }
}

/* v1.2.9 final precedence over the WooCommerce isolation layer above. */
.hp-action-button.hp-phone-button,
.hp-top-phone{
  border-color:#f3c84c !important;
  color:#715000 !important;
  background:#fff1b8 !important;
  box-shadow:0 5px 14px rgba(161,116,0,.09);
}
.hp-action-button.hp-phone-button:hover,
.hp-top-phone:hover{
  border-color:#e5b51c !important;
  color:#553b00 !important;
  background:#ffe998 !important;
}

.single-product form.variations_form .reset_variations{
  margin:8px 5px 12px 0 !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout{
  grid-template-rows:auto auto 1fr !important;
  min-width:0;
}
body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.woocommerce-checkout form.checkout > #customer_details{
  grid-row:2 / span 2 !important;
}
body.woocommerce-checkout form.checkout > #order_review_heading{
  grid-row:2 !important;
}
body.woocommerce-checkout form.checkout > #order_review{
  grid-row:3 !important;
}

/* Validation notices can contain long gateway/plugin text. Keep every checkout
   child inside the viewport so an error never pushes the RTL page sideways. */
body.woocommerce-checkout .hp-page-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.checkout > *{
  width:100%;
  max-width:100%;
  min-width:0;
}
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  box-sizing:border-box;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media (max-width: 991.98px){
  body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout,
  body.woocommerce-checkout form.checkout > #customer_details,
  body.woocommerce-checkout form.checkout > #order_review_heading,
  body.woocommerce-checkout form.checkout > #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}
