/* WooCommerce aux couleurs Lunamis : messages, panier, commande, compte */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; word-wrap: normal !important;
}

/* ---------- messages */
.avis { max-width: var(--large); margin: 0 auto; padding: 18px var(--gouttiere) 0; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper > * {
  list-style: none; margin: 0 0 16px; padding: 14px 18px; border-radius: 3px;
  background: var(--rose); border-left: 3px solid var(--or); display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline;
}
.woocommerce-error { border-left-color: #A3342C; background: #F3DEDA; display: block; }
.woocommerce-error li { margin: 0; }
.woocommerce-message a, .woocommerce-info a { font-weight: 600; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; padding: 0; background: none; color: var(--encre); text-decoration: underline; border: 0; }

/* ---------- boutons */
.woo .button, .woo button[type=submit], #place_order, .woo .checkout-button {
  display: inline-block; background: var(--encre); color: var(--lait); text-decoration: none; border: 0; cursor: pointer;
  padding: 15px 26px; border-radius: 3px; font: 600 .98rem/1 var(--texte); letter-spacing: .01em; text-align: center;
}
.woo .button:hover, .woo button[type=submit]:hover, #place_order:hover { background: var(--prune); }
.woo .button:disabled, .woo .button.disabled { opacity: .45; cursor: not-allowed; }
.woo button[name=update_cart], .woo button[name=apply_coupon] { background: none; color: var(--encre); border: 1px solid var(--trait); padding: 12px 18px; font-weight: 500; }
.woo button[name=update_cart]:hover, .woo button[name=apply_coupon]:hover { background: #FBF8F4; }
.woo .checkout-button, #place_order { width: 100%; padding: 18px; font-size: 1.05rem; }

/* ---------- champs */
.woo input.input-text, .woo select, .woo textarea, .woo .select2-container .select2-selection--single {
  width: 100%; padding: 12px 14px; border: 1px solid var(--trait); border-radius: 3px; background: #FBF8F4; font: inherit; color: var(--encre); min-height: 46px;
}
.woo .select2-container .select2-selection--single .select2-selection__rendered { line-height: 20px; padding: 0; }
.woo .select2-container .select2-selection--single .select2-selection__arrow { top: 10px; }
.woo .form-row { margin: 0 0 14px; padding: 0; }
.woo .form-row label { display: block; font-size: .9rem; color: var(--gris); margin-bottom: 6px; }
.woo .form-row .required { color: var(--or); text-decoration: none; }
.woo .woocommerce-invalid input.input-text { border-color: #A3342C; }
.woo fieldset { border: 0; padding: 0; margin: 0; }
.woo h2, .woo h3 { font-size: 1.6rem; margin-top: 1.2em; }

/* ---------- panier */
.woo table.shop_table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--trait); margin-bottom: 24px; }
.woo table.shop_table th { text-align: left; font: 600 .85rem/1.4 var(--texte); color: var(--gris); padding: 12px 8px; }
.woo table.shop_table td { padding: 18px 8px; border-top: 1px solid var(--trait); vertical-align: middle; }
.woo td.product-thumbnail img { width: 80px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.woo td.product-name a { font-weight: 600; text-decoration: none; }
.woo td.product-name dl.variation { margin: 4px 0 0; color: var(--gris); font-size: .9rem; display: grid; grid-template-columns: max-content 1fr; gap: 0 6px; }
.woo td.product-name dl.variation dd, .woo td.product-name dl.variation p { margin: 0; }
.woo td.product-price, .woo td.product-subtotal { color: var(--or); white-space: nowrap; }
.woo td.product-quantity input.qty { width: 72px; padding: 10px; border: 1px solid var(--trait); border-radius: 3px; background: #FBF8F4; font: inherit; }
.woo a.remove { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; text-decoration: none; color: var(--gris) !important; font-size: 1.3rem; line-height: 1; }
.woo a.remove:hover { background: var(--rose); color: var(--encre) !important; }
.woo td.actions { text-align: right; }
.woo td.actions .coupon { float: left; display: flex; gap: 8px; }
.woo td.actions .coupon input.input-text { width: 180px; }
.woo .cart-collaterals { display: flex; justify-content: flex-end; }
.woo .cart_totals { width: 100%; max-width: 400px; }
.woo .cart_totals h2 { font-size: 1.5rem; }
.woo .cart_totals table th, .woo .woocommerce-checkout-review-order-table tfoot th { font-weight: 400; color: var(--encre); }
.woo .order-total th, .woo .order-total td { font-weight: 700; font-size: 1.15rem; }
.woo .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woo .woocommerce-shipping-destination { font-size: .88rem; color: var(--gris); }
.woo .wc-proceed-to-checkout { padding-top: 8px; }
.woo .cart-empty { font-size: 1.1rem; }
.woo .return-to-shop { margin-top: 20px; }

/* ---------- commande */
.woocommerce-checkout .panier { max-width: var(--large); }
.woo form.checkout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px clamp(28px, 5vw, 64px); align-items: start; }
.woo form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woo #customer_details { grid-column: 1; grid-row: 1 / span 3; }
.woo #customer_details .col-1, .woo #customer_details .col-2 { float: none; width: 100%; }
.woo #order_review_heading { grid-column: 2; margin-top: 0; }
.woo #order_review { grid-column: 2; background: #FBF8F4; border: 1px solid var(--trait); border-radius: 3px; padding: 20px; position: sticky; top: 20px; }
.woo #payment { background: none; }
.woo #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; border-bottom: 1px solid var(--trait); }
.woo #payment ul.payment_methods li { padding: 10px 0; }
.woo #payment div.payment_box { background: var(--lait); border-radius: 3px; padding: 14px; margin-top: 10px; font-size: .92rem; }
.woo .woocommerce-privacy-policy-text, .woo .woocommerce-terms-and-conditions-wrapper { font-size: .88rem; color: var(--gris); }
.woo .woocommerce-form__label-for-checkbox { display: flex; gap: 8px; align-items: baseline; color: var(--encre); }
.woo .woocommerce-form-coupon-toggle .woocommerce-info { background: none; border-left: 0; padding: 0; }
.woo form.checkout_coupon { display: flex; gap: 8px; max-width: 420px; margin-bottom: 20px; }
.woo form.checkout_coupon p { margin: 0; }
.woo #ship-to-different-address { font: 400 1rem var(--texte); }
@media (max-width: 900px) {
  .woo form.checkout { grid-template-columns: 1fr; }
  .woo #customer_details, .woo #order_review_heading, .woo #order_review { grid-column: 1; grid-row: auto; position: static; }
}

/* ---------- merci et compte */
.woo ul.woocommerce-order-overview { list-style: none; padding: 16px 18px; margin: 0 0 24px; background: var(--rose); border-radius: 3px; display: flex; flex-wrap: wrap; gap: 8px 32px; }
.woo ul.woocommerce-order-overview strong { display: block; }
.woo .woocommerce-customer-details address { font-style: normal; border: 0; padding: 0; }
.woo .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 4px 18px; border-bottom: 1px solid var(--trait); }
.woo .woocommerce-MyAccount-navigation a { display: block; padding: 8px 0; text-decoration: none; color: var(--gris); }
.woo .woocommerce-MyAccount-navigation .is-active a { color: var(--encre); font-weight: 600; border-bottom: 2px solid var(--encre); }
.woo .woocommerce-MyAccount-navigation, .woo .woocommerce-MyAccount-content { float: none; width: 100%; }
.woo .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.woo .u-columns .col-1, .woo .u-columns .col-2 { float: none; width: auto; }
@media (max-width: 700px) {
  .woo .u-columns { grid-template-columns: 1fr; }
  .woo td.actions .coupon { float: none; margin-bottom: 12px; }
}
