/* ==========================================================================
   Noamy Kids — woocommerce.css (layer 5/5)
   WooCommerce's own stylesheets are not loaded (woocommerce_enqueue_styles → []), so this
   file owns notices, forms, tables, cart, checkout and account. The grid sits on the
   element whose children we want in columns: .woocommerce (cart/account) and
   form.checkout (checkout), with explicit rows (lessons § 46).
   ========================================================================== */

.woo-page{padding:0 0 clamp(56px,7vw,104px)}
.woo-page .woocommerce{font-family:var(--font-body);font-size:15px}

/* notices — no ::before icon boxes */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{list-style:none;margin:0 0 24px;padding:16px 20px;border-radius:var(--r);background:var(--blush-soft);border-left:2px solid var(--rose);color:var(--ink);font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.woocommerce-error{border-left-color:var(--sale);background:#fbeceb;display:block}
.woocommerce-error li{list-style:none;margin:0 0 4px;overflow-wrap:anywhere}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.woocommerce-notices-wrapper:empty{display:none}

/* buttons */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-head);font-size:11px;font-weight:400;letter-spacing:var(--track);text-transform:uppercase;padding:14px 26px;border-radius:var(--r);border:1px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;line-height:1.2;transition:.18s ease}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce a.checkout-button,.woocommerce #place_order{background:var(--rose);border-color:var(--rose);color:#fff}
@media (hover:hover) and (pointer:fine){
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--ink);color:#fff}
.woocommerce .button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce a.checkout-button:hover,.woocommerce #place_order:hover{background:var(--rose-dark);border-color:var(--rose-dark);color:#fff}
}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}

/* forms */
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce form .form-row label{display:block;font-family:var(--font-head);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;margin-bottom:8px;color:var(--ink)}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{text-transform:none;letter-spacing:.02em;font-size:14px;display:flex;align-items:center;gap:8px}
.woocommerce form .form-row .required{color:var(--sale);text-decoration:none;border:0}
.woocommerce form .form-row .optional{color:var(--muted);text-transform:none;letter-spacing:0}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;font-family:var(--font-body);font-size:15px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);line-height:1.4}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{outline:none;border-color:var(--ink)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--sale)}
.woocommerce .form-row-first,.woocommerce .form-row-last{width:100%}
@media(min-width:700px){
.woocommerce form .form-row-first,.woocommerce form .form-row-last{display:inline-block;width:calc(50% - 8px);vertical-align:top}
.woocommerce form .form-row-first{margin-right:12px}
}
.woocommerce fieldset{border:0;padding:0;margin:0 0 16px}
.woocommerce legend{font-family:var(--font-head);font-size:14px;margin-bottom:12px}
.select2-container{font-family:var(--font-body)}
.select2-container--default .select2-selection--single{height:auto;border:1px solid var(--line);border-radius:var(--r);padding:9px 6px}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:10px}
.select2-dropdown{border-color:var(--line)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--rose)}

/* tables */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:14px;border:0}
.woocommerce table.shop_table th{font-family:var(--font-head);font-size:10px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);font-weight:400;text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
.woocommerce table.shop_table td{padding:16px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.woocommerce table.shop_table td.product-name a{font-family:var(--font-head)}
.woocommerce table.shop_table .variation{font-size:12.5px;color:var(--ink-soft);margin:4px 0 0}
.woocommerce table.shop_table .variation dt,.woocommerce table.shop_table .variation dd{display:inline;margin:0}
.woocommerce table.shop_table .variation dd p{display:inline;margin:0}
.woocommerce-cart-form__contents td.product-thumbnail img,.woocommerce table.shop_table td.product-thumbnail img{width:72px;min-width:72px;max-width:72px;height:90px;object-fit:cover;border-radius:2px}
@media(min-width:761px){
.woocommerce-cart-form__contents{table-layout:fixed}
.woocommerce-cart-form__contents th.product-remove,.woocommerce-cart-form__contents td.product-remove{width:44px}
.woocommerce-cart-form__contents th.product-thumbnail,.woocommerce-cart-form__contents td.product-thumbnail{width:96px}
.woocommerce-cart-form__contents th.product-price,.woocommerce-cart-form__contents td.product-price{width:110px}
.woocommerce-cart-form__contents th.product-quantity,.woocommerce-cart-form__contents td.product-quantity{width:150px}
.woocommerce-cart-form__contents th.product-subtotal,.woocommerce-cart-form__contents td.product-subtotal{width:110px}
}
.woocommerce a.remove{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);color:var(--ink-soft);font-size:18px;line-height:1}
.woocommerce a.remove:hover{background:var(--sale);border-color:var(--sale);color:#fff}
.woocommerce td.actions{padding-top:22px}
.woocommerce td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap;float:left}
.woocommerce td.actions .coupon .input-text{width:200px}
.woocommerce td.actions > .button{float:right}

/* CART — grid on WooCommerce's own .woocommerce wrapper */
.woo-page--cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(24px,3.5vw,48px);align-items:start}
.woo-page--cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woo-page--cart .woocommerce > form.woocommerce-cart-form{grid-column:1;min-width:0}
.woo-page--cart .woocommerce > .cart-collaterals{grid-column:2;width:100%;min-width:0}
.woo-page--cart .woocommerce:not(:has(form.woocommerce-cart-form)){display:block}
.cart-collaterals .cart_totals{background:var(--cream);border-radius:var(--r-lg);padding:clamp(20px,2.5vw,30px);position:sticky;top:calc(var(--hdr-real,var(--hdr-h)) + 20px)}
.cart_totals h2{font-size:20px;margin-bottom:14px}
.cart_totals table.shop_table th{width:40%;color:var(--ink-soft)}
.cart_totals table.shop_table td,.cart_totals table.shop_table th{padding:12px 0;border-bottom:1px solid var(--line)}
.cart_totals .order-total td,.cart_totals .order-total th{font-family:var(--font-head);font-size:17px;color:var(--ink);border-bottom:0}
.woocommerce .includes_tax{display:block;font-size:11px;color:var(--ink-soft);font-family:var(--font-body)}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-shipping-methods label{text-transform:none;letter-spacing:0}
.wc-proceed-to-checkout{margin-top:18px}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;min-width:100%;padding:17px 20px}
.cart-empty.woocommerce-info{display:block;text-align:center;font-family:var(--font-head);font-size:18px;background:none;border:0}
.return-to-shop{text-align:center}

/* CHECKOUT — grid on form.checkout with explicit rows */
.woo-page--checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0 clamp(24px,3.5vw,56px);align-items:start}
.woo-page--checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1;grid-row:1}
.woo-page--checkout form.checkout > #customer_details{grid-column:1;grid-row:2 / span 2;min-width:0}
.woo-page--checkout form.checkout > #order_review_heading{grid-column:2;grid-row:2;margin:0 0 14px}
.woo-page--checkout form.checkout > #order_review{grid-column:2;grid-row:3;min-width:0;background:var(--cream);border-radius:var(--r-lg);padding:clamp(20px,2.5vw,30px);position:sticky;top:calc(var(--hdr-real,var(--hdr-h)) + 20px)}
.woo-page--checkout form.checkout > wc-order-attribution-inputs{display:none}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
.woocommerce-checkout h3{font-size:20px;margin:0 0 16px}
.woocommerce-checkout #customer_details .col-2{margin-top:24px}
.woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th{padding:10px 0}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-family:var(--font-head);font-size:17px;color:var(--ink)}
#payment{margin-top:20px}
#payment ul.payment_methods{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
#payment ul.payment_methods li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
#payment ul.payment_methods li label{font-family:var(--font-head);font-size:14px;text-transform:none;letter-spacing:.02em}
#payment .payment_box{font-size:13px;color:var(--ink-soft);margin-top:8px}
#payment .place-order{display:grid;gap:14px;padding:0;margin:0}
.woocommerce #payment #place_order{grid-column:1 / -1;width:100%;min-width:100%;padding:17px 20px}
.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--ink-soft)}
.woocommerce-form-coupon-toggle .woocommerce-info{display:block}
.checkout_coupon{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.checkout_coupon .form-row{margin:0}

/* ACCOUNT — grid on .woocommerce, single column when logged out */
.woo-page--account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.woo-page--account .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woo-page--account .woocommerce-MyAccount-navigation{grid-column:1;width:100%}
.woo-page--account .woocommerce-MyAccount-content{grid-column:2;min-width:0;width:100%}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.woocommerce-MyAccount-navigation li a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--font-head);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--rose-dark)}
body:not(.logged-in) .woo-page--account .woocommerce{display:block;max-width:920px}
.woo-page--account #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.woo-page--account #customer_login .u-column1,.woo-page--account #customer_login .u-column2{width:100%;float:none}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);background:#fff}
.woocommerce-account h2{font-size:22px}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.woocommerce-Addresses .col-1,.woocommerce-Addresses .col-2{width:100%;float:none}
.woocommerce-Address{background:var(--cream);border-radius:var(--r);padding:20px}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:30px}
.woocommerce ul.order_details{list-style:none;margin:0 0 30px;padding:20px;background:var(--cream);border-radius:var(--r);display:flex;flex-wrap:wrap;gap:12px 32px;font-size:13px}
.woocommerce ul.order_details li strong{display:block;font-family:var(--font-head);font-size:15px}
.woocommerce-pagination{margin-top:20px}
.woocommerce mark{background:none;color:var(--rose-dark)}

/* the cadeaubon snippet's inputs on the PDP, in theme style */
.custom-gift-card{display:grid;gap:10px;margin:18px 0 6px}
.custom-gift-card .input-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.custom-gift-card input{width:100%;font:inherit;font-size:14px;padding:12px;border:1px solid var(--line);border-radius:var(--r)}
.custom-gift-card .input-wrapper{position:relative}
.custom-gift-card .currency-symbol{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}
.custom-gift-card .input-number{padding-left:26px}
