/* ==========================================================
   ITAL BODY — WooCommerce brand styling
   Applies only on shop / product / cart / checkout / account.
   ========================================================== */
:root{
  --ib-green:#4a8c2a; --ib-green-2:#6cb43a; --ib-green-d:#356b1e; --ib-green-soft:#eef6e6;
  --ib-purple:#6a3fa6; --ib-purple-d:#512d84;
  --ib-pgrad:linear-gradient(135deg,#6a3fa6 0%,#8551c4 100%);
  --ib-ink:#22301c; --ib-body:#3a463a; --ib-muted:#6d7a6a;
  --ib-soft:#f5f8f1; --ib-line:#e6ece0;
  --ib-disp:"Poppins",sans-serif; --ib-sans:"Inter",sans-serif;
  --ib-ease:cubic-bezier(.22,.61,.36,1);
}

/* hide the theme's own header/footer so ours is the only one */
body.woocommerce header.wp-block-template-part,
body.woocommerce footer.wp-block-template-part,
body.woocommerce-cart header.wp-block-template-part,
body.woocommerce-cart footer.wp-block-template-part,
body.woocommerce-checkout header.wp-block-template-part,
body.woocommerce-checkout footer.wp-block-template-part,
body.woocommerce-account header.wp-block-template-part,
body.woocommerce-account footer.wp-block-template-part{display:none !important}

body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account{
  font-family:var(--ib-sans);color:var(--ib-body);background:#fff;line-height:1.7}
.ibx-shell h1,.ibx-shell h2,.ibx-shell h3,.ibx-shell h4,
body.woocommerce h1,body.woocommerce h2,body.woocommerce h3{font-family:var(--ib-disp);color:var(--ib-ink)}
.ibx-wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.ibx-header{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-top:3px solid #26302f;border-bottom:1px solid var(--ib-line)}
.ibx-header .ibx-wrap{display:flex;align-items:center;gap:24px;height:88px}
.ibx-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.ibx-mark img{width:48px;height:48px;object-fit:contain;display:block}
.ibx-name b{display:block;font-family:var(--ib-disp);font-weight:800;font-size:1.3rem;color:var(--ib-purple);line-height:1;letter-spacing:.01em}
.ibx-name b span{color:var(--ib-green)}
.ibx-name small{display:block;font-family:var(--ib-disp);font-weight:600;font-size:.58rem;letter-spacing:.22em;color:var(--ib-muted);margin-top:5px}
.ibx-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.ibx-nav a{font-family:var(--ib-disp);font-weight:600;font-size:.95rem;color:var(--ib-ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:.2s var(--ib-ease)}
.ibx-nav a:hover{color:var(--ib-green)}
.ibx-nav a.ibx-active{color:var(--ib-green);border-bottom-color:var(--ib-green)}
.ibx-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.ibx-cart{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--ib-line);color:var(--ib-ink);text-decoration:none;transition:.2s var(--ib-ease)}
.ibx-cart svg{width:21px;height:21px}
.ibx-cart:hover{border-color:var(--ib-green);color:var(--ib-green)}
.ibx-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:20px;background:var(--ib-pgrad);color:#fff;font:700 .7rem var(--ib-disp);display:grid;place-items:center}
.ibx-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--ib-disp);font-weight:600;font-size:.92rem;
  padding:14px 26px;border-radius:60px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:.25s var(--ib-ease);white-space:nowrap}
.ibx-btn-green{background:var(--ib-green);color:#fff;box-shadow:0 12px 28px rgba(74,140,42,.28)}
.ibx-btn-green:hover{background:var(--ib-green-d);color:#fff;transform:translateY(-2px)}

/* ---------- page frame ---------- */
body.woocommerce .wp-site-blocks,body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks,body.woocommerce-account .wp-site-blocks{padding:0}
body.woocommerce main,body.woocommerce-cart main,body.woocommerce-checkout main,body.woocommerce-account main,
.woocommerce-page .entry-content,.woocommerce .woocommerce-notices-wrapper{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
body.woocommerce main{padding-top:46px;padding-bottom:70px}
.woocommerce-breadcrumb{font-family:var(--ib-disp);font-weight:600;font-size:.85rem;color:var(--ib-muted);margin-bottom:26px}
.woocommerce-breadcrumb a{color:var(--ib-green);text-decoration:none}
.woocommerce-products-header__title,.woocommerce h1.entry-title{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800;margin-bottom:8px}
.woocommerce-result-count{color:var(--ib-muted);font-size:.9rem}
.woocommerce .woocommerce-ordering select,.woocommerce select,.woocommerce input[type=text],
.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],
.woocommerce textarea,.woocommerce .select2-selection{
  font-family:var(--ib-sans);border:1.5px solid var(--ib-line) !important;border-radius:10px !important;
  padding:11px 14px !important;background:#fff;color:var(--ib-body);min-height:46px}
.woocommerce input:focus,.woocommerce select:focus,.woocommerce textarea:focus{outline:none;border-color:var(--ib-green) !important;box-shadow:0 0 0 3px rgba(74,140,42,.12)}

/* ---------- buttons ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.wc-block-components-button,.wp-element-button{
  font-family:var(--ib-disp) !important;font-weight:600 !important;border-radius:60px !important;
  padding:14px 28px !important;background:var(--ib-green) !important;color:#fff !important;border:none !important;
  box-shadow:0 12px 28px rgba(74,140,42,.26);transition:.25s var(--ib-ease);line-height:1.2}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.wc-block-components-button:hover,.wp-element-button:hover{background:var(--ib-green-d) !important;color:#fff !important;transform:translateY(-2px)}
.woocommerce button.button.alt.checkout-button,.woocommerce a.checkout-button,
.wc-block-cart__submit-button,#place_order,.woocommerce #place_order{
  background:var(--ib-purple) !important;box-shadow:0 12px 28px rgba(106,63,166,.3) !important}
.woocommerce a.checkout-button:hover,#place_order:hover,.woocommerce #place_order:hover{background:var(--ib-purple-d) !important}
.woocommerce a.button.wc-backward{background:transparent !important;color:var(--ib-green) !important;border:2px solid #cfe0c0 !important;box-shadow:none}
.woocommerce a.button.wc-backward:hover{background:var(--ib-green-soft) !important;border-color:var(--ib-green) !important}
.woocommerce button.button:disabled,.woocommerce button.button.alt:disabled{background:#c3cfba !important;box-shadow:none;transform:none}

/* ---------- shop grid (WooCommerce Product Collection blocks) ---------- */
.wc-block-product-template{display:grid !important;grid-template-columns:repeat(4,1fr) !important;
  gap:26px !important;margin:34px 0 0 !important;padding:0;list-style:none}
.wc-block-product-template > li.wc-block-product{
  width:auto !important;margin:0 !important;display:flex;flex-direction:column;
  background:#fff;border:1.5px solid var(--ib-line);border-radius:22px;overflow:hidden;
  padding:0 0 20px;text-align:left;transition:.32s var(--ib-ease)}
.wc-block-product-template > li.wc-block-product:hover{
  transform:translateY(-8px);box-shadow:0 26px 55px rgba(34,48,28,.14);border-color:#cfe0c0}
.wc-block-product > *{margin:0 !important}
.wc-block-product .wc-block-components-product-image{margin:0 0 14px !important;line-height:0}
.wc-block-product .wc-block-components-product-image img{
  width:100% !important;height:auto;aspect-ratio:1/1 !important;object-fit:contain !important;
  background:#f2f4ef;display:block;border-radius:0}
.wc-block-product h2.wp-block-post-title,
.wc-block-product .wp-block-post-title{
  font-family:var(--ib-disp) !important;font-size:1.02rem !important;font-weight:700 !important;
  line-height:1.35 !important;color:var(--ib-ink);padding:0 18px 6px !important;
  margin:0 !important;text-align:left !important}
.wc-block-product .wp-block-post-title a{color:var(--ib-ink);text-decoration:none}
.wc-block-product .wp-block-post-title a:hover{color:var(--ib-green)}
.wc-block-product .wp-block-woocommerce-product-price{
  padding:0 18px;margin:0 0 14px !important;text-align:left !important}
.wc-block-product .wc-block-components-product-price{
  font-family:var(--ib-disp) !important;font-weight:800 !important;font-size:1.25rem !important;
  color:var(--ib-green) !important;text-align:left !important;display:block}
.wc-block-product .wc-block-components-product-price del{color:var(--ib-muted);font-weight:500;font-size:.95rem}
.wc-block-product .wc-block-components-product-button{
  padding:0 18px;margin:auto 0 0 !important;text-align:left !important}
.wc-block-product .wc-block-components-product-button__button{
  margin:0 !important;font-size:.88rem !important;padding:12px 24px !important;display:inline-block}
.wc-block-catalog-sorting select,.wp-block-woocommerce-catalog-sorting select{
  border:1.5px solid var(--ib-line) !important;border-radius:10px !important;padding:10px 14px !important;
  font-family:var(--ib-sans);min-height:46px}
.wc-block-product-results-count,.wp-block-woocommerce-product-results-count{color:var(--ib-muted);font-size:.9rem}
.wc-block-breadcrumbs,.wp-block-woocommerce-breadcrumbs{
  font-family:var(--ib-disp);font-weight:600;font-size:.85rem;color:var(--ib-muted);margin-bottom:22px}
.wc-block-breadcrumbs a,.wp-block-woocommerce-breadcrumbs a{color:var(--ib-green);text-decoration:none}
.woocommerce span.onsale,.wc-block-components-product-sale-badge{
  background:var(--ib-pgrad) !important;color:#fff !important;font-family:var(--ib-disp);font-weight:700;
  border-radius:30px;padding:6px 15px;min-height:0;line-height:1.2}

/* ---------- single product ---------- */
.woocommerce div.product{margin-top:6px}
.woocommerce div.product div.images{border-radius:22px;overflow:hidden;background:#f2f4ef;border:1.5px solid var(--ib-line)}
.woocommerce div.product div.images img{aspect-ratio:1/1;object-fit:contain}
.woocommerce div.product div.images .flex-control-thumbs{padding:10px;display:flex;gap:10px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto !important;margin:0}
.woocommerce div.product div.images .flex-control-thumbs img{width:64px;height:70px;border-radius:10px;border:2px solid transparent;object-fit:contain;background:#fff}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{border-color:var(--ib-green);opacity:1}
.woocommerce div.product .product_title{font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:800;margin-bottom:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ib-green) !important;
  font-family:var(--ib-disp);font-weight:800;font-size:1.9rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ib-muted);margin:14px 0 22px}
.woocommerce div.product form.cart{margin-bottom:24px}
.woocommerce div.product form.cart table.variations{border:none;margin-bottom:16px}
.woocommerce div.product form.cart table.variations td,.woocommerce div.product form.cart table.variations th{border:none;padding:7px 0}
.woocommerce div.product form.cart table.variations label{font-family:var(--ib-disp);font-weight:600;color:var(--ib-ink)}
.woocommerce div.product form.cart .reset_variations{font-size:.82rem;color:var(--ib-muted)}
.woocommerce .quantity .qty{width:78px;text-align:center;border-radius:10px}
.woocommerce div.product .product_meta{font-size:.86rem;color:var(--ib-muted);border-top:1px solid var(--ib-line);padding-top:16px}
.woocommerce div.product .product_meta a{color:var(--ib-green)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;border-bottom:1px solid var(--ib-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:none;border-radius:0;margin:0 26px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--ib-disp);font-weight:600;color:var(--ib-muted);padding:12px 0;display:block;border-bottom:2px solid transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ib-green);border-bottom-color:var(--ib-green)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.25rem;margin-bottom:12px}
.woocommerce .related > h2,.woocommerce .up-sells > h2,.woocommerce .cross-sells > h2{font-size:1.5rem;margin:52px 0 6px}

/* ---------- cart & checkout ---------- */
.woocommerce table.shop_table{border:1.5px solid var(--ib-line);border-radius:18px;border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--ib-soft);font-family:var(--ib-disp);font-weight:700;color:var(--ib-ink);padding:16px 14px;border:none}
.woocommerce table.shop_table td{padding:16px 14px;border-top:1px solid var(--ib-line)}
.woocommerce table.shop_table img{border-radius:10px;background:#f2f4ef}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-size:1.25rem;margin-bottom:14px}
.woocommerce .cart-collaterals .cart_totals{background:var(--ib-soft);border:1.5px solid var(--ib-line);border-radius:18px;padding:24px}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border:none;background:transparent}
.woocommerce .cart-collaterals .cart_totals th{background:transparent}
.woocommerce-checkout #payment{background:var(--ib-soft);border:1.5px solid var(--ib-line);border-radius:18px}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ib-line)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border:1px solid var(--ib-line);border-radius:12px}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment .place-order{padding:18px}
.woocommerce-info,.woocommerce-message{border-top-color:var(--ib-green) !important;background:var(--ib-green-soft);border-radius:12px;font-family:var(--ib-sans)}
.woocommerce-info::before,.woocommerce-message::before{color:var(--ib-green) !important}
.woocommerce-error{border-top-color:#c0392b !important;border-radius:12px}
.woocommerce form .form-row label{font-family:var(--ib-disp);font-weight:600;font-size:.88rem;color:var(--ib-ink);margin-bottom:6px}
.woocommerce-order .woocommerce-order-overview,
.woocommerce ul.order_details{background:var(--ib-soft);border:1.5px solid var(--ib-line);border-radius:18px;padding:22px;list-style:none;display:flex;flex-wrap:wrap;gap:24px}
.woocommerce ul.order_details li{border:none;margin:0;font-family:var(--ib-sans);text-transform:none;font-size:.86rem;color:var(--ib-muted)}
.woocommerce ul.order_details li strong{font-family:var(--ib-disp);font-size:1.02rem;color:var(--ib-ink);display:block;margin-top:4px}

/* ---------- footer ---------- */
.ibx-footer{background:#1b2415;color:#c7d2be;margin-top:70px;padding:56px 0 0;font-size:.92rem}
.ibx-fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px}
.ibx-footer .ibx-name b{color:#fff}.ibx-footer .ibx-name b span{color:var(--ib-green-2)}
.ibx-footer .ibx-name small{color:#8ba07c}
.ibx-fabout{margin-top:16px;color:#a9b8a0;max-width:330px;line-height:1.75}
.ibx-footer h5{font-family:var(--ib-disp);font-weight:700;font-size:.8rem;letter-spacing:.14em;color:#fff;margin-bottom:18px}
.ibx-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.ibx-footer a{color:#c7d2be;text-decoration:none;transition:.2s var(--ib-ease)}
.ibx-footer a:hover{color:var(--ib-green-2)}
.ibx-bar{border-top:1px solid rgba(255,255,255,.09);padding:20px 24px;text-align:center;color:#8ba07c;font-size:.84rem}

/* ---------- responsive ---------- */
@media(max-width:1100px){.wc-block-product-template{grid-template-columns:repeat(3,1fr) !important}}
@media(max-width:900px){
  .ibx-nav{display:none}
  .ibx-header .ibx-wrap{height:74px}
  .wc-block-product-template{grid-template-columns:repeat(2,1fr) !important;gap:18px !important}
  .ibx-fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .ibx-wrap{padding:0 18px}
  .ibx-cta{display:none}
  .wc-block-product-template{grid-template-columns:1fr !important}
  .ibx-fgrid{grid-template-columns:1fr;gap:28px}
}

/* ---------- page titles + block cart/checkout polish ---------- */
body.woocommerce main > .wp-block-post-title,
body.woocommerce-cart main > .wp-block-post-title,
body.woocommerce-checkout main > .wp-block-post-title,
body.woocommerce-account main > .wp-block-post-title,
.woocommerce-products-header__title{
  font-family:var(--ib-disp) !important;font-weight:800 !important;
  font-size:clamp(1.9rem,4vw,2.6rem) !important;color:var(--ib-ink) !important;
  letter-spacing:-.01em;margin-bottom:6px !important}
.wc-block-components-title,.wc-block-components-checkout-step__title,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-title{
  font-family:var(--ib-disp) !important;color:var(--ib-ink) !important;font-weight:700 !important}
/* final CTA stays brand purple on both cart and checkout */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button{
  background:var(--ib-purple) !important;color:#fff !important;border-radius:60px !important;
  font-family:var(--ib-disp) !important;font-weight:700 !important;
  box-shadow:0 12px 28px rgba(106,63,166,.3) !important}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block button:hover{background:var(--ib-purple-d) !important}
.wc-block-components-totals-item__value,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--ib-disp);font-weight:800;color:var(--ib-ink)}
.wc-block-components-product-name{font-family:var(--ib-disp);font-weight:600;color:var(--ib-ink) !important}
.wc-block-components-text-input input,.wc-block-components-country-input select,
.wc-block-components-state-input select,.wc-block-components-textarea{
  border-radius:10px !important;border-color:var(--ib-line) !important}
.wc-block-components-text-input.is-active input:focus{box-shadow:0 0 0 3px rgba(74,140,42,.12)}
.wc-block-components-radio-control__option{border-radius:10px}
.wc-block-components-order-summary,.wp-block-woocommerce-checkout-order-summary-block{
  border:1.5px solid var(--ib-line) !important;border-radius:18px}

/* ---------- single product: block title/price + wider variation selects ---------- */
body.single-product main > .wp-block-post-title,
body.single-product .wp-block-post-title,
.woocommerce div.product .product_title{
  font-family:var(--ib-disp) !important;font-weight:800 !important;
  font-size:clamp(1.7rem,3.4vw,2.3rem) !important;color:var(--ib-ink) !important;
  line-height:1.15 !important;margin-bottom:10px !important}
body.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price,
body.single-product .wc-block-components-product-price,
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--ib-disp) !important;font-weight:800 !important;
  font-size:1.9rem !important;color:var(--ib-green) !important}
.woocommerce div.product form.cart table.variations td.value select,
.woocommerce div.product form.cart .variations select{
  min-width:230px;width:auto;padding-right:38px !important}
.woocommerce div.product form.cart table.variations th.label{padding-right:18px;vertical-align:middle}
.woocommerce div.product form.cart .single_add_to_cart_button{margin-left:12px}
.woocommerce div.product .woocommerce-product-gallery__trigger{
  border-radius:50%;background:#fff !important;box-shadow:0 6px 18px rgba(34,48,28,.14);
  width:40px;height:40px;display:grid;place-items:center;top:14px;right:14px}
