/* Header and section spacing for the WordPress adaptation. */
:root { --maison-header-height: 88px; --maison-admin-offset: 0px; }
body.admin-bar { --maison-admin-offset: 32px; }
html { scroll-padding-top: calc(var(--maison-header-height) + var(--maison-admin-offset) + 24px); }
.site-header { top: var(--maison-admin-offset); display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 32px; min-height: var(--maison-header-height); padding: 10px clamp(20px,3vw,48px); background: var(--ivory); isolation: isolate; }
.site-header .wordmark, .header-actions, .cart-link, .cart-link svg, .cart-count { flex-shrink: 0; }
.site-header .navigation { justify-content: center; gap: clamp(16px,2.2vw,32px); min-width: 0; }
.site-header .navigation a, .cart-link { white-space: nowrap; }
.cart-link { gap: 10px; line-height: 1.3; }
.cart-count { min-width: 24px; height: 24px; }
.header-actions { justify-self: end; }
.site-header .logo-slot, .site-header .logo-slot img { display: block; width: 66px; height: 66px; }
.hero-copy, .section-heading > *, .catalog-search, .footer-main > *, .logistics > * { min-width: 0; }
.hero-actions { gap: 14px; flex-wrap: wrap; }
.hero-actions .button { white-space: normal; text-align: center; line-height: 1.5; }
.section-heading { gap: 32px; }
.catalog-toolbar { gap: 24px; }
.catalog-search { width: min(320px,100%); }
.catalog-search input { width: 100%; min-width: 0; padding: 12px 0; }
.catalog-note { display: block; line-height: 1.7; }
.product-card { display: flex; flex-direction: column; }
.product-card-copy { display: flex; flex-direction: column; flex: 1; gap: 8px; padding-top: 18px; }
.product-card h3 { min-height: 3.6em; line-height: 1.2; overflow-wrap: anywhere; }
.product-card .product-status, .product-card .product-price { margin: 0; }
.product-card-actions { flex-wrap: wrap; margin-top: auto; padding-top: 14px; gap: 12px; }
.product-card .product-price { margin-bottom: 14px; white-space: nowrap; }
.faq-section.maison-condition { display: block; padding-block: 72px; }
.maison-condition .section-heading { margin-bottom: 32px; }
.maison-condition details { width: 100%; }
.maison-condition summary { display: list-item; line-height: 1.5; font-size: clamp(17px,1.7vw,22px); padding-right: 12px; }
.maison-condition details p { max-width: 900px; line-height: 1.8; padding-top: 14px; }
.contact-section .section-rail > p:not(.eyebrow) { max-width: 680px; margin: 20px auto; line-height: 1.8; }
.contact-section .button { margin: 8px 0; }
.review-section { padding: 72px 0; }
.review-section h2 { font-size: clamp(32px,4vw,48px); line-height: 1.15; margin: 16px 0 24px !important; }
.review-section .section-rail > p { max-width: 900px; line-height: 1.8; margin-bottom: 24px !important; }
.review-section .review-footnote { margin-top: 24px !important; font-size: 13px; }
.footer-main p { margin-top: 20px; line-height: 1.8; }
.footer-bottom { flex-wrap: wrap; gap: 16px; line-height: 1.6; padding-right: 0; }
.floating-wa { color: white; max-width: calc(100vw - 40px); line-height: 1.5; text-align: center; }
.site-footer { padding-bottom: 100px; }
.woocommerce div.product .summary h1 { line-height: 1.15; margin-bottom: 24px !important; }
.woocommerce div.product .summary .price { margin: 20px 0; }
.woocommerce div.product .summary .woocommerce-product-details__short-description { margin: 20px 0; line-height: 1.8; }
.woocommerce div.product .summary form.cart { margin: 28px 0; }
.woocommerce div.product .woocommerce-tabs { margin-top: 28px; }
.woocommerce .cart_totals h2 { margin-bottom: 24px !important; }
.woocommerce table.shop_table .product-price { font-size: 18px; }
.woocommerce .wc-proceed-to-checkout a { white-space: normal; line-height: 1.5; }
@media (max-width: 1000px) {
  :root { --maison-header-height: 80px; }
  .site-header { grid-template-columns: auto 1fr; gap: 20px; }
  .site-header .navigation { display: none; }
  .site-header .navigation.navigation-open { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 20px; background: var(--ivory); box-shadow: 0 8px 16px #2c201812; border-bottom: 1px solid var(--line); max-height: calc(100dvh - var(--maison-header-height) - var(--maison-admin-offset)); overflow-y: auto; }
  .site-header .navigation a { padding: 14px 0; }
  .header-actions { grid-column: 2; grid-row: 1; gap: 14px; }
  .menu-toggle { display: grid; place-items: center; min-width: 44px; min-height: 44px; font-size: 24px; }
  .cart-label { display: inline; }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 782px) { body.admin-bar { --maison-admin-offset: 46px; } }
@media (max-width: 767px) {
  :root { --maison-header-height: 76px; }
  .site-header { padding: 10px 20px; gap: 16px; }
  .site-header .logo-slot, .site-header .logo-slot img { width: 56px; height: 56px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; }
  .catalog-toolbar { gap: 14px; }
  .catalog-search { width: 100%; }
  .product-card h3 { font-size: 19px; min-height: 4.8em; }
  .product-card .product-price { font-size: 19px; }
  .product-card-actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .product-card-actions a { min-height: 32px; display: flex; align-items: center; }
  .faq-section.maison-condition, .review-section { padding-block: 48px; }
  .section-heading { gap: 20px; }
  .hero-actions .button { flex: 1 1 100%; }
  .contact-section h2 { font-size: clamp(30px,8vw,38px); overflow-wrap: break-word; }
  .footer-bottom { align-items: flex-start; }
  .woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 14px 10px; }
  .woocommerce table.shop_table .product-price { font-size: 16px; }
}
@media (max-width: 600px) {
  body.admin-bar #wpadminbar { position: fixed; }
  .categories { grid-template-columns: 1fr; }
  .category-panel { padding: 28px; min-height: 220px; }
  .category-panel h2 { font-size: 40px; }
  .category-panel strong { font-size: 30px; }
  .floating-wa { right: 16px; bottom: 16px; max-width: calc(100vw - 32px); padding: 12px 18px; font-size: 12px; }
}
@media (max-width: 360px) {
  .site-header { padding-inline: 16px; }
  .cart-label { display: none; }
  .header-actions { gap: 8px; }
  .product-grid { gap: 24px 12px; }
  .product-card h3 { font-size: 17px; }
  .product-card .product-price { font-size: 17px; }
}
/* Brand refinements: circular header logo and WhatsApp action. */
.site-header .logo-slot { border-radius: 50%; overflow: hidden; }
.site-header .logo-slot img { border-radius: 50%; object-fit: cover; }
.floating-wa { background: #25D366; color: #102719; box-shadow: 0 4px 18px #128c7e35; }
.floating-wa:hover { background: #20BD5A; color: #102719; }
/* Consistent brand and touch-friendly mobile layout. */
.logo-slot, .logo-slot img { border-radius: 50%; }
.logo-slot { overflow: hidden; }
.logo-slot img { object-fit: cover; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 4px; }
@media (max-width: 767px) {
  .draft-bar, .shipping-bar { flex-wrap: wrap; text-align: center; line-height: 1.5; }
  .hero-copy { padding: 36px 20px 32px; }
  .hero h1 { font-size: clamp(40px,11vw,60px); line-height: 1.1; }
  .hero-visual { min-height: 0; padding: 20px; }
  .hero-photo-slot { max-width: 360px; }
  .section-heading h2 { font-size: clamp(30px,8vw,38px); line-height: 1.2; }
  .filter-tabs { display: flex; gap: 8px; justify-content: space-between; }
  .filter-tabs button { flex: 1; min-height: 48px; padding-inline: 8px; }
  .catalog-search input, .woocommerce input, .woocommerce select, .woocommerce textarea { font-size: 16px; }
  .product-card h3 { font-size: clamp(17px,4.5vw,20px); min-height: 4.8em; overflow-wrap: normal; }
  .product-card .product-price { font-size: clamp(16px,4.5vw,20px); }
  .product-card-actions { gap: 4px; }
  .product-card-actions a { min-height: 44px; font-size: 13px; }
  .cart-link { min-height: 44px; }
  .menu-toggle { border: 1px solid var(--line); border-radius: 8px; }
  .site-header .navigation a { min-height: 48px; border-bottom: 1px solid var(--line); }
  .maison-condition summary { min-height: 48px; font-size: 19px; }
  .maison-condition details p { font-size: 15px; line-height: 1.7; }
  .contact-section a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
  .footer-main { gap: 28px; }
  .footer-main nav a, .footer-conditions, .footer-main .text-link { display: flex; align-items: center; min-height: 44px; }
  .wp-content-area { padding-inline: 20px; margin-block: 24px; }
  .woocommerce div.product .product_title { font-size: 30px; }
  .woocommerce div.product div.summary { margin-top: 24px; }
  .woocommerce div.product form.cart .button { width: 100%; min-height: 48px; }
  .woocommerce div.product table.variations { table-layout: fixed; }
  .woocommerce div.product table.variations select { width: 100%; max-width: 100%; min-height: 48px; }
  .woocommerce .cart_totals { padding: 20px; width: 100%; float: none; }
  .woocommerce .wc-proceed-to-checkout a { display: block; min-height: 48px; text-align: center; }
  .woocommerce table.shop_table { table-layout: fixed; overflow-wrap: anywhere; }
  .woocommerce table.shop_table .quantity .qty { width: 72px; min-height: 44px; }
  .woocommerce table.shop_table .actions .button { min-height: 48px; }
  .floating-wa { bottom: calc(16px + env(safe-area-inset-bottom)); min-height: 48px; }
  .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
}
@media (max-width: 359px) {
  .section-rail { width: calc(100% - 32px); }
  .product-grid { column-gap: 12px; }
  .product-card .product-price { font-size: 15px; }
  .product-card h3 { font-size: 16px; }
}
