/* Native WooCommerce/Elementor forms and cart fragments own every transaction and state. */
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) .madd-main-content {
  background: var(--madd-canvas);
  padding: 48px 24px 72px;
}
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) .nv-content-wrap {
  width: 100%; max-width: var(--madd-content-width); margin-inline: auto;
}
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main .woocommerce { width: 100%; max-width: none; }
.madd-design-v1 .madd-commerce-heading { margin: 0 0 32px; color: var(--madd-ink); font-size: clamp(30px, 3vw, 42px); line-height: 1.5; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  display: block; margin: 0 0 24px; padding: 20px 24px; border: 1px solid var(--madd-border);
  border-inline-start: 4px solid var(--madd-action); border-radius: 12px;
  background: var(--madd-tint); color: var(--madd-ink); line-height: 1.9; box-shadow: none;
}
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main .woocommerce-error { border-inline-start-color: #b42318; background: #fff6f4; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main .woocommerce-info a { color: var(--madd-action); text-decoration: underline; text-underline-offset: 4px; border: 0; padding: 0; background: none; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main :is(.button, button.button, #place_order) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px;
  padding: 12px 20px; border: 1px solid var(--madd-action); border-radius: 10px;
  background: var(--madd-action); color: #fff; font-size: 16px; line-height: 1.6; text-align: center;
  white-space: normal; text-decoration: none; box-shadow: none; cursor: pointer;
}
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main :is(.button:hover, button.button:hover, #place_order:hover) { background: var(--madd-action-hover); color: #fff; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main button:disabled { opacity: .5; cursor: not-allowed; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main :focus-visible { outline: 3px solid var(--madd-action); outline-offset: 3px; }
.madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) main :is(input, textarea, select) { box-sizing: border-box; max-width: 100%; }

/* Cart: roomy product area and a complete totals/Tamara card. */
.madd-design-v1.woocommerce-cart main .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .43fr); gap: 24px 28px; align-items: start; }
.madd-design-v1.woocommerce-cart main .woocommerce > * { grid-column: 1 / -1; min-width: 0; margin-block: 0; }
.madd-design-v1.woocommerce-cart main .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.madd-design-v1.woocommerce-cart main .woocommerce > .cart-collaterals { grid-column: 2; width: 100%; }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form,
.madd-design-v1.woocommerce-cart .cart_totals {
  border: 1px solid var(--madd-border); border-radius: 16px; padding: 24px; background: var(--madd-paper);
}
.madd-design-v1.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; margin: 0; }
.madd-design-v1.woocommerce-cart .cart_totals h2 { margin: 0 0 24px; font-size: 24px; line-height: 1.6; }
.madd-design-v1.woocommerce-cart table.shop_table { border: 0; margin: 0; width: 100%; border-collapse: collapse; }
.madd-design-v1.woocommerce-cart table.shop_table :is(th, td) { border: 0; border-block-end: 1px solid var(--madd-border); padding: 16px 8px; font-size: 15px; line-height: 1.8; color: var(--madd-ink); vertical-align: middle; }
.madd-design-v1.woocommerce-cart table.shop_table thead th { background: var(--madd-canvas); font-size: 14px; }
.madd-design-v1.woocommerce-cart table.shop_table .product-name { min-width: 0; }
.madd-design-v1.woocommerce-cart table.shop_table .product-name a { color: var(--madd-ink); text-decoration: none; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.madd-design-v1.woocommerce-cart table.shop_table :is(.product-price, .product-subtotal) { white-space: nowrap; }
.madd-design-v1.woocommerce-cart table.shop_table .product-thumbnail { width: 92px; min-width: 92px; }
.madd-design-v1.woocommerce-cart table.shop_table .product-thumbnail img { display: block; width: 80px; max-width: 80px; height: 80px; object-fit: contain; border-radius: 8px; background: var(--madd-canvas); }
.madd-design-v1.woocommerce-cart table.shop_table .product-remove { width: 36px; }
.madd-design-v1.woocommerce-cart a.remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; color: #b42318 !important; background: #fff6f4; }
.madd-design-v1.woocommerce-cart a.remove:hover { background: #fee4e2; }
.madd-design-v1.woocommerce-cart .quantity .qty { width: 60px; min-height: 44px; border: 1px solid var(--madd-border); border-radius: 8px; padding: 6px; }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions { padding: 24px 0 0; border: 0; }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions .coupon { float: none !important; display: flex !important; width: 100% !important; margin-block-end: 20px !important; flex-wrap: wrap; justify-content: flex-start; }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions #coupon_code { flex: 1 1 150px; max-width: 260px; border: 1px solid var(--madd-border); border-radius: 10px; padding-inline: 14px; }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions .button { padding: 12px 20px !important; background: var(--madd-action); color: #fff !important; border-color: var(--madd-action) !important; }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions .button:hover { background: var(--madd-action-hover); }
.madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"],
.madd-design-v1.woocommerce-cart .ib-madd-cart-checkout { margin-inline-start: 8px !important; margin-block-start: 4px !important; }
.madd-design-v1.woocommerce-cart .ib-madd-cart-checkout .checkout-button { min-width: 180px; }
.madd-design-v1.woocommerce-cart .cart_totals .wc-proceed-to-checkout { display: block; padding: 24px 0 0; }
.madd-design-v1.woocommerce-cart .cart_totals tamara-widget { width: 100%; max-width: 100%; }
.madd-design-v1.woocommerce-cart .cart-empty { min-height: 90px; }
.madd-design-v1.woocommerce-cart .return-to-shop { padding-block: 8px 24px; }

/* Checkout: native Neve/WooCommerce columns, fields, gateways and legal text. */
.madd-design-v1.woocommerce-checkout .nv-content-wrap > h5 { max-width: 100%; margin: 0 0 16px; padding: 16px 20px; border-radius: 10px; background: var(--madd-tint); color: var(--madd-ink); font-size: 16px; line-height: 1.9; }
.madd-design-v1.woocommerce-checkout .nv-content-wrap > h5:empty { display: none; }
.madd-design-v1.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 28px; align-items: start; margin: 0; }
.madd-design-v1.woocommerce-checkout form.checkout :is(.nv-customer-details, .nv-order-review) { float: none; width: auto; min-width: 0; margin: 0; padding: 28px; border: 1px solid var(--madd-border); border-radius: 16px; background: var(--madd-paper); }
.madd-design-v1.woocommerce-checkout #customer_details { width: 100%; }
.madd-design-v1.woocommerce-checkout #customer_details > :is(.col-1, .col-2) { float: none; width: 100%; margin: 0; }
.madd-design-v1.woocommerce-checkout h3 { font-size: 24px; line-height: 1.6; margin: 0 0 24px; color: var(--madd-ink); }
.madd-design-v1.woocommerce-checkout .form-row { float: none; width: 100%; padding: 0; margin: 0 0 24px; }
.madd-design-v1.woocommerce-checkout .form-row label { display: block; margin: 0 0 10px; line-height: 1.8; font-size: 16px; }
.madd-design-v1.woocommerce-checkout .form-row label.checkbox { display: inline; }
.madd-design-v1.woocommerce-checkout .form-row :is(input.input-text, textarea, select) { width: 100%; min-height: 52px; border: 1px solid var(--madd-border); border-radius: 10px; padding: 12px 14px; background: #fff; color: var(--madd-ink); font-size: 16px; line-height: 1.6; }
.madd-design-v1.woocommerce-checkout .form-row textarea { min-height: 120px; resize: vertical; }
.madd-design-v1.woocommerce-checkout .select2-container { max-width: 100%; }
.madd-design-v1.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; height: 52px; border: 1px solid var(--madd-border); border-radius: 10px; background: #fff; }
.madd-design-v1.woocommerce-checkout .select2-container .select2-selection__rendered { line-height: 1.7; padding-inline: 14px 30px; color: var(--madd-ink); }
.madd-design-v1.woocommerce-checkout .select2-container .select2-selection__arrow { height: 50px; }
.madd-design-v1.woocommerce-checkout .select2-dropdown { border-color: var(--madd-border); border-radius: 10px; overflow: hidden; }
.madd-design-v1.woocommerce-checkout .select2-results__option { padding: 10px 14px; }
.madd-design-v1.woocommerce-checkout table.shop_table { border: 0; border-collapse: collapse; width: 100%; margin: 0 0 24px; }
.madd-design-v1.woocommerce-checkout table.shop_table :is(th, td) { padding: 16px 4px; border: 0; border-block-end: 1px solid var(--madd-border); line-height: 1.9; font-size: 15px; vertical-align: top; }
.madd-design-v1.woocommerce-checkout table.shop_table .product-name { overflow-wrap: anywhere; }
.madd-design-v1.woocommerce-checkout table.shop_table .product-total,
.madd-design-v1.woocommerce-checkout table.shop_table tfoot td { white-space: nowrap; padding-inline-start: 16px; }
.madd-design-v1.woocommerce-checkout #payment { background: transparent; border: 0; border-radius: 0; }
.madd-design-v1.woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; }
.madd-design-v1.woocommerce-checkout #payment ul.payment_methods > li { margin: 0 0 12px; padding: 16px; border: 1px solid var(--madd-border); border-radius: 12px; background: #fff; line-height: 1.8; }
.madd-design-v1.woocommerce-checkout #payment ul.payment_methods > li:has(> input:checked) { border-color: var(--madd-action); background: var(--madd-canvas); }
.madd-design-v1.woocommerce-checkout #payment ul.payment_methods input.input-radio { accent-color: var(--madd-action); margin-inline: 0 8px; }
.madd-design-v1.woocommerce-checkout #payment ul.payment_methods label { display: inline; cursor: pointer; font-size: 16px; }
.madd-design-v1.woocommerce-checkout #payment ul.payment_methods label img { max-width: 90px; max-height: 28px; width: auto; object-fit: contain; margin-inline: 8px 0; }
.madd-design-v1.woocommerce-checkout #payment .payment_box { margin: 12px 0 0; padding: 16px; border-radius: 8px; background: var(--madd-tint); color: var(--madd-ink); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.madd-design-v1.woocommerce-checkout #payment .payment_box::before { display: none; }
.madd-design-v1.woocommerce-checkout #payment .place-order { padding: 20px 0 0; margin: 0; }
.madd-design-v1.woocommerce-checkout #place_order { float: none; width: 100%; min-height: 54px; }
.madd-design-v1.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { line-height: 1.9; margin-block-end: 20px; }
.madd-design-v1.woocommerce-checkout input[type="checkbox"] { accent-color: var(--madd-action); width: 18px; height: 18px; vertical-align: middle; }

/* Keep Elementor's own overlay, focus handling, close control and fragment replacement. */
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__container { z-index: 9999; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__main { width: min(440px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 24px; background: var(--madd-paper); color: var(--madd-ink); }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__close-button { margin-block-end: 24px; min-width: 40px; min-height: 40px; color: var(--madd-action); }
.madd-design-v1 .madd-mini-cart .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__products { flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #8eabbc var(--madd-canvas); scrollbar-width: auto; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__product { grid-template-columns: 84px minmax(0, 1fr) 32px; gap: 8px 16px; padding: 20px 0; border-block-end: 1px solid var(--madd-border); }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__product-image img { display: block; width: 84px; height: 84px; object-fit: contain; background: var(--madd-canvas); border-radius: 8px; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__product-name a { color: var(--madd-ink); font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__product-price { color: var(--madd-muted); font-size: 15px; line-height: 1.8; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__product-remove { width: 32px; height: 32px; top: 20px; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__subtotal { padding: 24px 0; border: 0; color: var(--madd-ink); font-size: 19px; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__footer-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-bottom: env(safe-area-inset-bottom, 0px); }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__footer-buttons .elementor-button { min-height: 50px; padding: 12px 16px; border: 1px solid var(--madd-action); border-radius: 10px; background: var(--madd-action); color: #fff; font-size: 16px; line-height: 1.6; text-align: center; }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: #fff; color: var(--madd-action); }
.madd-design-v1 .madd-mini-cart .elementor-menu-cart__footer-buttons .elementor-button:hover { background: var(--madd-action-hover); color: #fff; }
.madd-design-v1 .madd-mini-cart :focus-visible { outline: 3px solid var(--madd-action); outline-offset: 3px; }

@media (max-width: 1023px) {
  .madd-design-v1.woocommerce-cart main .woocommerce,
  .madd-design-v1.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
  .madd-design-v1.woocommerce-cart main .woocommerce > .cart-collaterals { grid-column: 1; }
}
@media (max-width: 767px) {
  .madd-design-v1:is(.woocommerce-cart, .woocommerce-checkout) .madd-main-content { padding: 32px 20px 48px; }
  .madd-design-v1 .madd-commerce-heading { font-size: 30px; margin-block-end: 24px; }
  .madd-design-v1.woocommerce-cart .woocommerce-cart-form,
  .madd-design-v1.woocommerce-cart .cart_totals,
  .madd-design-v1.woocommerce-checkout form.checkout :is(.nv-customer-details, .nv-order-review) { padding: 20px; }
  .madd-design-v1.woocommerce-cart table.shop_table tr.cart_item { display: block; padding: 0 0 20px; margin: 0 0 20px; border-block-end: 1px solid var(--madd-border); }
  .madd-design-v1.woocommerce-cart table.shop_table tr.cart_item td { display: block; width: 100%; min-width: 0; padding: 8px 0; border: 0; background: none; text-align: end !important; }
  .madd-design-v1.woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail { display: block !important; width: 100%; }
  .madd-design-v1.woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail::before { display: none; }
  .madd-design-v1.woocommerce-cart table.shop_table .product-thumbnail img { width: 112px; max-width: 112px; height: 112px; margin-inline: auto; }
  .madd-design-v1.woocommerce-cart table.shop_table tr.cart_item td.product-name { text-align: center !important; }
  .madd-design-v1.woocommerce-cart table.shop_table tr.cart_item td.product-name::before { display: none; }
  .madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions .coupon { gap: 12px; }
  .madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions #coupon_code { max-width: none; width: 100% !important; }
  .madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button { width: 100% !important; }
  .madd-design-v1.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"],
  .madd-design-v1.woocommerce-cart .ib-madd-cart-checkout { margin: 12px 0 0 !important; width: 100% !important; }
  .madd-design-v1.woocommerce-cart .ib-madd-cart-checkout .checkout-button { width: 100% !important; }
  .madd-design-v1.woocommerce-checkout .nv-content-wrap > h5 { font-size: 14px; }
  .madd-design-v1.woocommerce-checkout table.shop_table :is(th, td) { font-size: 14px; }
  .madd-design-v1.woocommerce-checkout #payment ul.payment_methods > li { padding: 14px; }
  .madd-design-v1 .madd-mini-cart .elementor-menu-cart__main { padding: 20px; }
  .madd-design-v1 .madd-mini-cart .elementor-menu-cart__product { grid-template-columns: 72px minmax(0, 1fr) 28px; gap: 8px 12px; }
  .madd-design-v1 .madd-mini-cart .elementor-menu-cart__product-image img { width: 72px; height: 72px; }
}
