/* L'Instant d'un Sillage — raccords WordPress / WooCommerce.
   Le design d'origine est dans main.css ; ici, seulement ce que WordPress et WooCommerce ajoutent. */

/* ---------- WordPress ---------- */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
.woocommerce-Price-amount { white-space: nowrap; }
a.cart-btn { display: inline-flex; align-items: center; }

/* ---------- Panier latéral ---------- */
.cart__body { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.cart__foot .btn { margin-top: 0; }
.cart__remove { display: inline-block; }
.buy-soldout { margin-top: 32px; font: italic 400 20px/1.4 var(--serif); color: var(--fg-soft); }
.btn[aria-busy="true"] { opacity: .6; }

/* ---------- Pages simples ---------- */
.page--wide { max-width: 1180px; }
.page__content > * + * { margin-top: 1em; }
.page__content h2 { margin: 2.4em 0 .7em; font: 400 22px/1.3 var(--serif); }
.page__content ul, .page__content ol { padding-left: 1.2em; }
.page__content a { text-underline-offset: 3px; }

/* ---------- Messages WooCommerce ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
  list-style: none; margin: 0 0 32px; padding: 16px 20px;
  border: 1px solid var(--rule); background: var(--paper);
  font-size: var(--fs-small); color: var(--fg);
}
.woocommerce-error, .wc-block-components-notice-banner.is-error { border-color: var(--red); color: var(--red); }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 16px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }

/* ---------- Panier et commande (blocs WooCommerce) ---------- */
.is-shop-flow .page { padding-top: calc(var(--header-h) + 40px); }
.is-shop-flow .page h1 { margin-bottom: 40px; }
.is-shop-flow .wp-block-woocommerce-cart,
.is-shop-flow .wp-block-woocommerce-checkout,
.is-shop-flow .woocommerce { font-family: var(--sans); font-weight: 300; color: var(--fg); }
.is-shop-flow .wc-block-components-title,
.is-shop-flow .wc-block-cart__totals-title,
.is-shop-flow .wc-block-components-checkout-step__title { font: 400 22px/1.3 var(--serif) !important; text-transform: none !important; letter-spacing: 0; }
.is-shop-flow .wc-block-components-product-name { font: 400 20px/1.2 var(--serif); text-decoration: none; color: var(--fg); }
.is-shop-flow .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 400 24px/1 var(--serif); }
.is-shop-flow .wc-block-components-button:not(.is-link),
.is-shop-flow .wc-block-cart__submit-button,
.is-shop-flow .wc-block-components-checkout-place-order-button {
  min-height: 54px; border-radius: 0 !important;
  background: var(--fg) !important; color: var(--bg) !important; border: 1px solid var(--fg) !important;
  font: 400 12px/1 var(--sans) !important; letter-spacing: .2em; text-transform: uppercase;
}
.is-shop-flow .wc-block-components-button:not(.is-link):hover { background: transparent !important; color: var(--fg) !important; }
.is-shop-flow .wc-block-components-text-input input,
.is-shop-flow .wc-block-components-combobox .components-combobox-control__input,
.is-shop-flow .wc-blocks-components-select__select,
.is-shop-flow .wc-block-components-textarea { border-radius: 0 !important; border-color: var(--rule) !important; background: #fff; }
.is-shop-flow .wc-block-components-radio-control__option,
.is-shop-flow .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.is-shop-flow .wc-block-components-sidebar-layout .wc-block-components-main { padding-right: clamp(0px, 3vw, 48px); }
.is-shop-flow .wc-block-components-order-summary-item__image img { background: var(--ivory); }
.is-shop-flow a { color: inherit; }

/* Confirmation de commande (classique et blocs) */
.woocommerce-order { margin-top: 8px; }
.woocommerce-thankyou-order-received, .wc-block-order-confirmation-status p {
  font: italic 400 22px/1.5 var(--serif); color: var(--fg); max-width: 32em; margin-bottom: 40px;
}
.woocommerce-order-overview { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; padding: 24px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: var(--fs-small); color: var(--muted); }
.woocommerce-order-overview strong { display: block; margin-top: 4px; font-weight: 400; color: var(--fg); }
.woocommerce-order h2, .woocommerce-order-details__title, .woocommerce-column__title { margin: 48px 0 16px; font: 400 22px/1.3 var(--serif); }
.woocommerce-table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.woocommerce-table th, .woocommerce-table td { padding: 12px 0; border-bottom: 1px solid var(--rule); text-align: left; font-weight: 400; }
.woocommerce-customer-details address { font-style: normal; color: var(--fg-soft); }

/* ---------- Page d'attente ---------- */
.coming-soon .hero { padding-top: 56px; }
.coming-soon__mark { width: 40px; height: 40px; margin-bottom: 28px; }
@media (max-width: 900px) { .coming-soon__mark { margin: 0 auto 20px; } }
