/* Presentation only. Do not alter totals, checkout fields, or payment controls. */
body.iaaa-commerce-layout .iaaa-page-hero { padding: 38px 20px 28px; }
body.iaaa-commerce-layout .iaaa-page-hero h1 { margin-bottom: 0; font-size: clamp(2.5rem, 5vw, 4rem); }
body.iaaa-commerce-layout .iaaa-prose { padding-top: 0; padding-bottom: 56px; }
body.iaaa-commerce-layout .iaaa-prose .elementor-section,
body.iaaa-commerce-layout .iaaa-prose .elementor-widget-wrap.elementor-element-populated { padding-block: 0 !important; }
body.iaaa-commerce-layout .iaaa-prose .woocommerce { padding-top: 18px; padding-bottom: 0; }
body.iaaa-commerce-layout main .woocommerce { max-width: 1240px; }

/* Group customer details and the whole review, not three auto-placed grid items. */
body.iaaa-commerce-layout form.checkout { display: block; }
body.iaaa-commerce-layout .iaaa-checkout-columns {
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: start; gap: 28px; clear: both;
}
body.iaaa-commerce-layout .iaaa-checkout-columns > *,
body.iaaa-commerce-layout .iaaa-checkout-summary { min-width: 0; }
body.iaaa-commerce-layout #customer_details,
body.iaaa-commerce-layout #order_review,
body.iaaa-commerce-layout #order_review_heading { width: auto; float: none; grid-column: auto; }
body.iaaa-commerce-layout #customer_details { margin: 0; }
body.iaaa-commerce-layout #customer_details::before,
body.iaaa-commerce-layout #customer_details::after { display: none; }
body.iaaa-commerce-layout #customer_details .col-1,
body.iaaa-commerce-layout #customer_details .col-2,
body.iaaa-commerce-layout #order_review { padding: 24px !important; border-radius: 18px !important; box-sizing: border-box; }
body.iaaa-commerce-layout #customer_details h3,
body.iaaa-commerce-layout #order_review_heading { margin: 0 0 20px; font-size: 1.7rem; line-height: 1.25; }
body.iaaa-commerce-layout #order_review_heading { padding: 0; }
body.iaaa-commerce-layout .iaaa-checkout-summary {
  padding: 24px; border: 1px solid rgba(23,21,18,.1); border-radius: 18px;
  background: linear-gradient(145deg,#fff,#faf6ef); box-shadow: 0 16px 44px rgba(23,21,18,.06);
}
body.iaaa-commerce-layout .iaaa-checkout-summary #order_review {
  padding: 0 !important; border: 0; box-shadow: none; background: transparent;
}
body.iaaa-commerce-layout .iaaa-pickup-intro { margin: 8px 0 26px; }
body.iaaa-commerce-layout .iaaa-pickup-intro h3 { font-size: 1.35rem; }
body.iaaa-commerce-layout .iaaa-pickup-intro p { font-size: .95rem; }
body.iaaa-commerce-layout .wcpay-express-checkout-wrapper { margin: 0 0 22px; max-width: 100%; }
body.iaaa-commerce-layout .woocommerce-billing-fields__field-wrapper > .form-row,
body.iaaa-commerce-layout .woocommerce-shipping-fields__field-wrapper > .form-row {
  float: none !important; width: 100% !important; min-width: 0; padding: 0; margin: 0 0 18px;
}
body.iaaa-commerce-layout #customer_details .woocommerce-input-wrapper { display: block; width: 100%; }
body.iaaa-commerce-layout #customer_details .input-text,
body.iaaa-commerce-layout #customer_details select:not(.select2-hidden-accessible),
body.iaaa-commerce-layout #customer_details .select2-container { width: 100% !important; max-width: 100%; box-sizing: border-box; }
body.iaaa-commerce-layout #customer_details input.input-text,
body.iaaa-commerce-layout #customer_details textarea { font-size: 16px; }
body.iaaa-commerce-layout #customer_details label { line-height: 1.5; }

/* Full-width delivery choices, including long branch names and addresses. */
body.iaaa-commerce-layout .cart_totals table.shop_table,
body.iaaa-commerce-layout #order_review table.shop_table,
body.iaaa-commerce-layout .cart_totals table.shop_table > tbody,
body.iaaa-commerce-layout #order_review table.shop_table > thead,
body.iaaa-commerce-layout #order_review table.shop_table > tbody,
body.iaaa-commerce-layout #order_review table.shop_table > tfoot { display: block; width: 100%; }
body.iaaa-commerce-layout .cart_totals table.shop_table tr,
body.iaaa-commerce-layout #order_review table.shop_table tr {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; width: 100%;
}
body.iaaa-commerce-layout .cart_totals table.shop_table th,
body.iaaa-commerce-layout .cart_totals table.shop_table td,
body.iaaa-commerce-layout #order_review table.shop_table th,
body.iaaa-commerce-layout #order_review table.shop_table td {
  display: block !important; min-width: 0; width: auto !important; padding: 14px 8px;
  text-align: left !important; overflow-wrap: anywhere; font-size: .92rem;
}
body.iaaa-commerce-layout .cart_totals table.shop_table td::before { display: none !important; }
body.iaaa-commerce-layout .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) td:last-child,
body.iaaa-commerce-layout #order_review table.shop_table tr:not(.woocommerce-shipping-totals):not(.iaaa-pickup-summary) > :last-child {
  text-align: right !important; white-space: nowrap;
}
body.iaaa-commerce-layout .cart_totals table.shop_table tr.woocommerce-shipping-totals,
body.iaaa-commerce-layout #order_review table.shop_table tr.woocommerce-shipping-totals,
body.iaaa-commerce-layout #order_review table.shop_table tr.iaaa-pickup-summary { grid-template-columns: minmax(0, 1fr); }
body.iaaa-commerce-layout tr.woocommerce-shipping-totals th { padding-bottom: 6px !important; }
body.iaaa-commerce-layout tr.woocommerce-shipping-totals td { border-top: 0; padding-top: 0 !important; }
body.iaaa-commerce-layout #shipping_method { width: 100%; padding: 0 !important; margin: 0 !important; text-align: left; }
body.iaaa-commerce-layout #shipping_method li {
  position: relative; padding: 13px 12px 13px 38px !important; margin: 0 0 8px !important;
  border: 1px solid #ded6c9; border-radius: 10px; background: #fff; list-style: none !important; line-height: 1.5;
}
body.iaaa-commerce-layout #shipping_method li:has(input:checked) { border-color: #9a763c; background: #faf5eb; }
body.iaaa-commerce-layout #shipping_method input.shipping_method {
  position: absolute !important; left: 13px; top: 15px; width: 16px !important; min-width: 16px !important;
  height: 16px !important; margin: 0 !important; float: none !important; accent-color: #80602e;
}
body.iaaa-commerce-layout #shipping_method label { display: inline !important; white-space: normal !important; font-size: .9rem; font-weight: 600; line-height: 1.5; }
body.iaaa-commerce-layout .iaaa-pickup-rate-address { margin: 5px 0 0; font-size: .8rem; line-height: 1.5; }
body.iaaa-commerce-layout .woocommerce-shipping-destination { font-size: .85rem; }
body.iaaa-commerce-layout .iaaa-pickup-summary td { white-space: normal !important; }

/* Cart remains a native table on desktop, then becomes readable cards. */
body.iaaa-commerce-layout.woocommerce-cart .woocommerce-cart-form { width: calc(100% - 460px); }
body.iaaa-commerce-layout.woocommerce-cart .cart-collaterals { width: 432px; }
body.iaaa-commerce-layout.woocommerce-cart .cart-collaterals .cart_totals { position: static; width: 100%; padding: 22px; box-sizing: border-box; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart th,
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td { padding: 16px 10px; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart .product-thumbnail img { width: 76px; max-width: none; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart .product-price,
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart .product-subtotal { white-space: nowrap; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart .product-name { min-width: 100px; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions { padding: 16px; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions .coupon { width: 100%; max-width: 400px; margin-bottom: 12px; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions .coupon::before,
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions .coupon::after { display: none !important; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions .coupon #coupon_code { grid-column: 1; grid-row: 1; float: none !important; margin: 0; width: 100% !important; }
body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"] { grid-column: 2; grid-row: 1; float: none !important; width: auto !important; }

@media (max-width: 1100px) {
  body.iaaa-commerce-layout.woocommerce-cart .woocommerce-cart-form,
  body.iaaa-commerce-layout.woocommerce-cart .cart-collaterals { width: 100%; float: none; }
  body.iaaa-commerce-layout.woocommerce-cart .cart-collaterals { margin-top: 24px; }
}
@media (max-width: 960px) {
  body.iaaa-commerce-layout .iaaa-checkout-columns { grid-template-columns: minmax(0,1fr); gap: 24px; }
}
@media (max-width: 800px) {
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart thead { display: none; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tbody { display: block; width: 100%; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item {
    position: relative; display: grid !important; grid-template-columns: 76px minmax(0,1fr);
    gap: 4px 16px; padding: 20px 46px 20px 16px; border-bottom: 1px solid #e6dfd3;
  }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item td {
    display: block; width: auto; border: 0; padding: 2px 0; min-width: 0; text-align: left !important; background: transparent;
  }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item td::before { display: none !important; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .product-remove {
    position: absolute; right: 10px; top: 16px; grid-column: auto; grid-row: auto;
  }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .product-thumbnail {
    display: block !important; grid-column: 1; grid-row: 1 / span 4;
  }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .product-name { grid-column: 2; grid-row: 1; min-width: 0; padding-bottom: 6px; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .product-price { grid-column: 2; grid-row: 2; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .product-quantity { grid-column: 2; grid-row: 3; display: flex; align-items: center; gap: 10px; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .product-subtotal { grid-column: 2; grid-row: 4; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item td.product-price::before,
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item td.product-quantity::before,
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item td.product-subtotal::before {
    display: inline !important; content: attr(data-title) ": "; float: none; font-size: .75rem; font-weight: 600; color: #6d6255;
  }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item .quantity .qty { width: 64px; min-height: 44px; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr:not(.cart_item) { display: block; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions { display: block; }
}
@media (max-width: 600px) {
  body.iaaa-commerce-layout .iaaa-page-hero { padding: 26px 14px 20px; }
  body.iaaa-commerce-layout .iaaa-prose .woocommerce { width: 100%; padding-top: 8px; }
  body.iaaa-commerce-layout #customer_details .col-1,
  body.iaaa-commerce-layout #customer_details .col-2,
  body.iaaa-commerce-layout .iaaa-checkout-summary { padding: 18px !important; border-radius: 14px !important; }
  body.iaaa-commerce-layout #customer_details h3,
  body.iaaa-commerce-layout #order_review_heading { font-size: 1.55rem; }
  body.iaaa-commerce-layout .woocommerce-billing-fields__field-wrapper,
  body.iaaa-commerce-layout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0,1fr); }
  body.iaaa-commerce-layout #customer_details .form-row { grid-column: 1 / -1; }
  body.iaaa-commerce-layout .cart_totals table.shop_table th,
  body.iaaa-commerce-layout .cart_totals table.shop_table td,
  body.iaaa-commerce-layout #order_review table.shop_table th,
  body.iaaa-commerce-layout #order_review table.shop_table td { padding: 12px 4px; font-size: .86rem; }
  body.iaaa-commerce-layout #payment ul.payment_methods,
  body.iaaa-commerce-layout #payment .place-order { padding: 12px !important; }
  body.iaaa-commerce-layout.woocommerce-cart .cart-collaterals .cart_totals { padding: 18px; }
}
@media (max-width: 360px) {
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 60px minmax(0,1fr); gap: 4px 10px; padding-left: 12px; padding-right: 38px; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart .product-thumbnail img { width: 60px; }
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart .product-remove .remove { width: 28px; height: 28px; }
}
@media (max-width: 460px) {
  body.iaaa-commerce-layout.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"] { grid-column: 1; grid-row: 2; width: 100% !important; }
}
