/*
Theme Name: MeliC Moderne
Description: Thème e-commerce sur mesure pour MeliC Créations.
Version: 1.0.0
Text Domain: melic-modern
*/

:root { --ink:#241d1b; --rose:#b95f52; --blush:#f8e8e4; --cream:#fffaf7; --sand:#ead9cf; --line:#e7d6ce; --white:#fff; --radius:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--rose); }
img { max-width:100%; height:auto; }
.site-shell { width:min(1180px,calc(100% - 40px)); margin:auto; }
.announce { display:flex; align-items:center; justify-content:center; gap:.65rem; flex-wrap:wrap; background:var(--ink); color:#fff; font-size:.79rem; letter-spacing:.05em; text-align:center; padding:.45rem 1rem; }
.announce a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.announce-delay { display:inline-flex; align-items:center; min-height:1.75rem; padding:.18rem .62rem; border-radius:999px; background:var(--rose); color:#fff; font-weight:800; letter-spacing:.025em; }
.site-header { background:rgba(255,250,247,.94); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; backdrop-filter:blur(12px); }
.header-main { min-height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.5rem; }
.brand { display:inline-flex; align-items:center; gap:.8rem; font-family:Georgia,serif; font-size:1.45rem; font-weight:bold; letter-spacing:-.04em; color:var(--ink); }
.brand img { width:135px; max-height:58px; object-fit:contain; }
.brand .brand-text { white-space:nowrap; }
.primary-nav { display:flex; justify-content:center; gap:1.35rem; font-size:.86rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.header-actions { display:flex; justify-content:flex-end; align-items:center; gap:1rem; font-size:.87rem; font-weight:700; }
.instagram-link { display:inline-flex; align-items:center; gap:.35rem; color:var(--rose); }
.cart-link { display:inline-flex; align-items:center; gap:.48rem; background:var(--ink); color:white; border-radius:999px; padding:.48rem .5rem .48rem .85rem; }
.cart-icon { display:grid; place-items:center; }.cart-icon svg { display:block; }
.cart-text { font-size:.8rem; letter-spacing:.02em; }
.cart-count { display:grid; place-items:center; min-width:1.65rem; height:1.65rem; padding:0 .35rem; border-radius:999px; background:#fff; color:var(--ink); font-size:.75rem; font-weight:800; }
.cart-link:hover { color:white; background:var(--rose); }
.hero { padding:clamp(2.5rem,7vw,6rem) 0 4rem; background:linear-gradient(115deg,var(--blush) 0%,var(--cream) 62%); overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2rem,6vw,6rem); }
.eyebrow { display:block; color:var(--rose); text-transform:uppercase; font-size:.74rem; letter-spacing:.16em; font-weight:800; margin-bottom:1rem; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.045em; line-height:1.04; margin:0 0 1rem; }
h1 { font-size:clamp(3rem,6vw,5.7rem); max-width:10ch; }
h2 { font-size:clamp(2.15rem,4vw,3.6rem); }
h3 { font-size:1.55rem; }
.hero p { font-size:1.1rem; max-width:50ch; margin:0 0 1.6rem; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border:0; border-radius:999px; background:var(--ink); color:#fff; padding:.7rem 1.15rem; font:700 .85rem/1 Inter,system-ui,sans-serif; letter-spacing:.04em; cursor:pointer; }
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { background:var(--rose); color:#fff; }
.button.secondary { color:var(--ink); background:transparent; border:1px solid var(--ink); }
.button.secondary:hover { background:#fff; color:var(--ink); }
.hero-image { display:block; position:relative; justify-self:end; width:75%; aspect-ratio:4/5; }
.hero-image img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius); box-shadow:24px 24px 0 var(--sand); }
.hero-note { position:absolute; bottom:1.2rem; left:-1rem; max-width:230px; background:#fff; border-radius:14px; padding:1rem; box-shadow:0 12px 32px rgba(36,29,27,.12); font-size:.87rem; }
.hero-note strong { display:block; color:var(--rose); }
.trust-row { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-row .site-shell { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:1.25rem 1rem; border-right:1px solid var(--line); font-size:.86rem; }
.trust-item:last-child { border:0; }
.trust-item strong { display:block; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; }
.france-ribbon { display:inline-block; flex:0 0 auto; width:1.5rem; height:.9rem; margin-right:.42rem; overflow:hidden; vertical-align:-.1rem; border-radius:2px; background:linear-gradient(90deg,#1c3f95 0 33.33%,#fff 33.33% 66.66%,#d72b38 66.66%); box-shadow:0 0 0 1px rgba(36,29,27,.14); }
.france-ribbon i { display:none; }
.trust-made-in-france strong { display:flex; align-items:center; gap:.35rem; }.trust-made-in-france .france-ribbon { margin-right:0; }
.section { padding:clamp(4rem,8vw,7.5rem) 0; }
.section-head { display:flex; gap:2rem; align-items:end; justify-content:space-between; margin-bottom:2.25rem; }
.section-head p { max-width:40ch; margin:0; }
.category-grid,.product-grid,.insta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.category-card,.product-card { display:block; }
.category-card img,.product-card img,.insta-grid img { width:100%; aspect-ratio:1/1.12; object-fit:cover; border-radius:14px; background:var(--blush); }
.category-card span { display:flex; justify-content:space-between; font-family:Georgia,serif; font-size:1.35rem; padding-top:.75rem; }
.product-card { position:relative; }
.product-card img { aspect-ratio:1/1.22; }
.product-meta { padding:.75rem 0; }
.product-meta h3 { font:700 1rem/1.35 Inter,system-ui,sans-serif; letter-spacing:0; margin:0 0 .25rem; }
.product-meta .price { color:var(--rose); font-weight:800; }
.product-meta .stock { display:block; font-size:.78rem; color:#6a615d; }
.instagram-section { background:var(--ink); color:#fff; }
.instagram-section .eyebrow { color:#f2aca0; }
.instagram-section h2 { color:#fff; }
.instagram-section p { max-width:48ch; color:#e9ddda; }
.instagram-section .button { background:#fff; color:var(--ink); }
.insta-grid { margin-top:2rem; }
.insta-grid a { display:block; overflow:hidden; border-radius:14px; }
.insta-grid img { transition:transform .3s ease; }
.insta-grid a:hover img { transform:scale(1.04); }
.story { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,7vw,6rem); align-items:center; }
.story-mark { aspect-ratio:1; border-radius:50%; background:var(--blush); display:grid; place-items:center; padding:2.5rem; text-align:center; color:var(--rose); font:italic clamp(1.7rem,3vw,2.6rem)/1.15 Georgia,serif; }
.site-main { min-height:55vh; padding:4rem 0 6rem; }
.page-entry { width:min(820px,100%); margin:auto; }
.page-entry > header { margin-bottom:2rem; }
.page-entry .entry-title { font-size:clamp(2.8rem,6vw,4.8rem); }
.page-entry .wp-block-columns { gap:1.25rem; margin:1.25rem 0; }
.page-entry .wp-block-column > p.has-background { margin:0 0 .8rem; padding:.8rem 1rem; border-radius:12px !important; }
.page-entry .has-secondary-color a { display:block; color:#fff; font-family:Inter,system-ui,sans-serif; font-size:.95rem; font-weight:800; letter-spacing:.04em; }
.page-entry .has-secondary-color a:hover { color:#f7cec4; }
.page-entry .wp-block-image { margin:0; overflow:hidden; border-radius:14px; background:var(--blush); }
.page-entry .wp-block-image a { display:block; }
.page-entry .wp-block-image img { display:block; width:100%; aspect-ratio:1/1.15; object-fit:cover; transition:transform .25s ease; }
.page-entry .wp-block-image a:hover img { transform:scale(1.025); }
.site-footer { background:#1e1917; color:#fff; padding:3.5rem 0 1.5rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; }
.footer-brand { font:2rem Georgia,serif; }
.site-footer a { color:#eee1dd; }
.site-footer ul { padding:0; margin:0; list-style:none; }
.site-footer li { margin:.45rem 0; }
.footer-bottom { border-top:1px solid #493d38; margin-top:2.5rem; padding-top:1rem; font-size:.8rem; color:#c8b9b4; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color:#766b66; margin:0 0 2rem; font-size:.85rem; }
.woocommerce .woocommerce-breadcrumb a { color:var(--rose); }
.woocommerce h1.page-title { max-width:none; margin-bottom:1.5rem; font-size:clamp(2rem,6vw,4rem); line-height:1.04; letter-spacing:-.06em; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto; float:none; margin:0; }
.woocommerce ul.products li.product a img { margin:0 0 .85rem; border-radius:14px; aspect-ratio:1/1.2; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--ink); font:700 1rem/1.35 Inter,system-ui,sans-serif; padding:0; }
.woocommerce ul.products li.product .price { color:var(--rose); font-size:.94rem; font-weight:800; }
.woocommerce ul.products li.product .button { margin-top:.4rem; }
.single-product .site-main { background:linear-gradient(180deg,#fffaf7 0%,#fdf5f1 100%); }
.single-product .site-main > .site-shell { width:min(1280px,calc(100% - 48px)); }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); column-gap:clamp(2.25rem,6vw,6rem); align-items:start; }
.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary { width:auto; float:none; }
.woocommerce div.product .woocommerce-product-gallery { min-width:0; background:#fff; border:1px solid var(--line); border-radius:24px; padding:clamp(.75rem,2vw,1.25rem); box-shadow:0 18px 45px rgba(50,30,24,.08); }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { margin:0; }
.woocommerce div.product .woocommerce-product-gallery img { display:block; width:100% !important; max-width:none; height:auto; border-radius:16px; }
.woocommerce div.product .summary { min-width:0; background:#fff; border:1px solid var(--line); border-radius:24px; padding:clamp(1.75rem,4vw,3.25rem); box-shadow:0 18px 45px rgba(50,30,24,.06); }
.woocommerce div.product .product_title { font-size:clamp(2.35rem,5vw,4.2rem); margin-bottom:.65rem; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--rose); font-size:1.35rem; font-weight:800; margin-bottom:.35rem; }
.woocommerce div.product p.stock { display:inline-flex; margin:.25rem 0 1.3rem; padding:.35rem .7rem; border-radius:999px; background:var(--blush); color:var(--rose); font-size:.78rem; font-weight:800; }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin:1.3rem 0 0; }
.woocommerce div.product form.cart .quantity { margin:0; }
.woocommerce div.product form.cart .quantity .qty { width:4.5rem; min-height:48px; border:1px solid var(--line); border-radius:999px; background:var(--cream); color:var(--ink); padding:.6rem; text-align:center; font-weight:800; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex:1; min-width:12rem; min-height:48px; }
.product-reassurance { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin:1.4rem 0 .35rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.product-reassurance > div { min-width:0; }
.product-reassurance span { display:block; color:var(--rose); font-size:1.15rem; line-height:1; margin-bottom:.45rem; }
.product-reassurance strong,.product-reassurance small { display:block; }
.product-reassurance strong { font-size:.78rem; line-height:1.25; }
.product-reassurance small { margin-top:.25rem; color:#766b66; font-size:.72rem; line-height:1.35; }
.product-reassurance a { color:var(--rose); text-decoration:underline; text-underline-offset:2px; }
.product-custom-note { margin:1.25rem 0 0; color:#766b66; font-size:.82rem; line-height:1.5; }
.product-custom-note a { color:var(--rose); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.woocommerce div.product .product_meta { margin-top:1.8rem; padding-top:1rem; border-top:1px solid var(--line); color:#766b66; font-size:.8rem; }
.woocommerce div.product .product_meta a { color:var(--rose); }
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related { grid-column:1/-1; margin-top:4rem; }
.woocommerce div.product .woocommerce-tabs { padding:2rem; background:#fff; border:1px solid var(--line); border-radius:20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:transparent; border:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--blush); border-radius:999px; }
.woocommerce div.product .woocommerce-tabs .panel { margin:1.5rem 0 0; max-width:70ch; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size:clamp(1.65rem,3vw,2.2rem); }
.woocommerce-message,.woocommerce-info,.woocommerce-error { border-top-color:var(--rose); background:#fff; }
.woocommerce-message::before,.woocommerce-info::before { color:var(--rose); }
.woocommerce-cart-form table.shop_table,.woocommerce-checkout-review-order-table { border-color:var(--line); border-radius:14px; }

/* Fiche produit éditoriale : l'image raconte, le bloc d'achat décide. */
.product-modern { display:block !important; }
.product-modern-crumbs { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin:0 0 1.5rem; color:#766b66; font-size:.82rem; }
.product-modern-crumbs a { color:var(--rose); }
.product-modern-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.product-modern-media { min-width:0; }
.product-modern-media .woocommerce-product-gallery { width:100% !important; float:none !important; margin:0 !important; }
.product-modern-media .woocommerce-product-gallery__wrapper { margin:0; }
.product-modern-media .woocommerce-product-gallery__image img { width:100% !important; max-width:none; height:auto; border-radius:16px; }
.product-modern-buy { min-width:0; padding:clamp(1.5rem,4vw,3rem); background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 18px 45px rgba(50,30,24,.07); }
.product-modern-kicker { display:block; margin-bottom:.85rem; color:var(--rose); text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; font-weight:800; }
.made-in-france-badge { display:inline-flex; align-items:center; gap:.25rem; margin:0 0 1.15rem; padding:.42rem .7rem; border:1px solid var(--line); border-radius:999px; color:#665b56; font-size:.75rem; font-weight:800; }
.made-in-france-badge .france-ribbon { margin-right:.3rem; }
.product-modern-buy .product_title { margin-top:0; }
.product-modern-buy .product-reassurance { margin-top:1.6rem; }
.product-modern-buy .product_meta { margin-bottom:0; }
.product-modern-lower { margin-top:clamp(3rem,8vw,7rem); }
.product-modern-description > .product-modern-kicker { margin-bottom:1.2rem; }
.product-modern-description .woocommerce-tabs { margin-top:0 !important; }
.product-modern-description .related { margin-top:4rem !important; }
.product-modern-social { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-top:clamp(3rem,8vw,6rem); padding:clamp(2rem,5vw,3.5rem); border-radius:24px; background:var(--ink); color:#fff; }
.product-modern-social .product-modern-kicker { color:#f3b4a7; }
.product-modern-social h2 { max-width:17ch; margin:0 0 .8rem; color:#fff; font-size:clamp(2rem,4vw,3.2rem); }
.product-modern-social p { max-width:45ch; margin:0; color:#e8d8d3; }
.product-modern-social-links { display:flex; flex-wrap:wrap; gap:.7rem; }
.product-modern-social-links a { display:inline-flex; align-items:center; gap:.6rem; min-width:136px; justify-content:space-between; padding:.8rem 1rem; border:1px solid #806861; border-radius:999px; color:#fff; font-weight:800; }
.product-modern-social-links a:hover { background:#fff; border-color:#fff; color:var(--ink); }
.home-social { padding:clamp(3rem,7vw,5rem) 0; background:var(--ink); color:#fff; }
.home-social-inner { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.home-social .eyebrow { color:#f3b4a7; }
.home-social h2 { margin:0 0 .8rem; color:#fff; font-size:clamp(2rem,4vw,3.2rem); }
.home-social p { max-width:45ch; margin:0; color:#e8d8d3; }
.home-social-links { display:flex; flex-wrap:wrap; gap:.7rem; }
.home-social-links a { display:inline-flex; align-items:center; justify-content:space-between; gap:.6rem; min-width:136px; padding:.8rem 1rem; border:1px solid #806861; border-radius:999px; color:#fff; font-weight:800; }
.home-social-links a:hover { background:#fff; border-color:#fff; color:var(--ink); }
.home-social-quick { background:#fff; border-bottom:1px solid var(--line); }
.home-social-quick .site-shell { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem 0; }
.home-social-quick .eyebrow { display:inline-block; margin:0 .8rem 0 0; color:var(--rose); font-size:.68rem; }
.home-social-quick strong { font-size:.95rem; }
.home-social-quick-links { display:flex; gap:.55rem; flex-shrink:0; }
.home-social-quick-links a { display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .8rem; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:.78rem; font-weight:800; }
.home-social-quick-links a:hover { background:var(--ink); border-color:var(--ink); color:#fff; }

/* Panier : une étape de décision claire et rassurante. */
.cart-page-main { padding:clamp(2.5rem,6vw,5rem) 0 6rem; background:linear-gradient(180deg,#fffaf7 0%,#fdf5f1 100%); }
.cart-page-shell { width:min(1180px,calc(100% - 40px)); }
.cart-page-intro { max-width:720px; margin:0 auto 1.75rem; text-align:center; }
.cart-page-intro h1 { max-width:14ch; margin:0 auto .9rem; font-size:clamp(2.7rem,5vw,4.8rem); }
.cart-page-intro p { max-width:55ch; margin:0 auto; color:#6d625d; font-size:1.05rem; }
.cart-page-promises { display:grid; grid-template-columns:repeat(3,1fr); max-width:980px; margin:0 auto 2.5rem; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.cart-page-promises > div { padding:1.1rem 1.25rem; border-right:1px solid var(--line); }
.cart-page-promises > div:last-child { border-right:0; }
.cart-page-promises span { display:inline-block; margin-right:.45rem; color:var(--rose); font-size:1rem; }
.cart-page-promises .france-ribbon { display:inline-grid; margin-right:.48rem; color:inherit; font-size:inherit; }
.cart-made-in-france strong { display:inline; }.cart-made-in-france small { margin-top:.35rem; }
.cart-page-promises strong { font-size:.86rem; }.cart-page-promises small { display:block; margin-top:.25rem; color:#766b66; font-size:.76rem; line-height:1.4; }.cart-page-promises a { color:var(--rose); text-decoration:underline; text-underline-offset:2px; }
.cart-page-content .wp-block-woocommerce-cart { margin:0; }
.cart-page-content .wc-block-cart__main,.cart-page-content .wc-block-cart__sidebar { min-width:0; }
.cart-page-content .wc-block-cart-items { background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.cart-page-content .wc-block-cart-items thead { background:var(--blush); }
.cart-page-content .wc-block-cart table.wc-block-cart-items th { padding:1rem 1.35rem !important; color:var(--ink); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.cart-page-content .wc-block-cart table.wc-block-cart-items td { padding:1.35rem !important; border-color:var(--line); }
.cart-page-content .wc-block-cart-item__image img { border-radius:12px; }
.cart-page-content .wc-block-cart-item__image { width:clamp(128px,20vw,168px) !important; }
.cart-page-content .wc-block-cart-items__header-image { width:clamp(128px,20vw,168px) !important; }
.cart-page-content .wc-block-cart-item__image img { width:100% !important; aspect-ratio:1/1; object-fit:cover; }
.cart-page-content .wc-block-cart-item__product-title { color:var(--ink); font:700 1.1rem/1.3 Georgia,serif; }
.cart-page-content .wc-block-components-quantity-selector { height:42px; border-color:var(--line); border-radius:999px; }
.cart-page-content .wc-block-components-quantity-selector input { font-weight:800; }
.cart-page-content .wc-block-components-sidebar.wc-block-cart__sidebar { box-sizing:border-box; background:#fff; border:1px solid var(--line); border-radius:20px; padding:1.25rem !important; box-shadow:0 18px 40px rgba(50,30,24,.06); }
.cart-page-content .wc-block-cart__sidebar > * { max-width:100%; }
.cart-page-content .wc-block-cart__sidebar .wc-block-components-totals-wrapper,.cart-page-content .wc-block-cart__sidebar .wc-block-cart__submit-container { padding-left:0 !important; padding-right:0 !important; }
.cart-page-content .wc-block-cart__sidebar .wc-block-components-totals-coupon { margin-left:0; margin-right:0; }
.cart-page-content .wc-block-components-totals-wrapper { padding:0; border:0; }
.cart-page-content .wc-block-components-totals-item { padding:.8rem 0; border-color:var(--line); }
.cart-page-content .wc-block-components-totals-footer-item { font-size:1.18rem; }
.cart-page-content .wc-block-components-button { min-height:54px; border-radius:999px; background:var(--ink); color:#fff; font-weight:800; }
.cart-page-content .wc-block-components-button:hover { background:var(--rose); color:#fff; }
.cart-page-content .wc-block-components-checkout-step__title { font:1.55rem Georgia,serif; }
.cart-page-content .wc-block-components-order-summary { border:0; }
.cart-page-content .wc-block-cart__submit-container { margin-top:1rem; }
.cart-page-content .wc-block-cart__submit-container::before { content:"Paiement sécurisé · Vos informations restent confidentielles"; display:block; margin-bottom:.8rem; color:#766b66; font-size:.75rem; text-align:center; }
.cart-page-content .wc-block-cart__empty-cart__title { font:clamp(2rem,4vw,3rem)/1.1 Georgia,serif; }
.cart-page-content .wc-block-grid__products { gap:1rem; }
.cart-page-content .wc-block-grid__product { background:#fff; border:1px solid var(--line); border-radius:16px; padding:1rem; }
.cart-page-content .wc-block-grid__product-image img { border-radius:12px; }
.cart-page-help { display:flex; justify-content:space-between; align-items:end; gap:2rem; max-width:980px; margin:clamp(3rem,7vw,5rem) auto 0; padding-top:2.5rem; border-top:1px solid var(--line); }
.cart-page-help h2 { max-width:24ch; margin:0 0 .8rem; font-size:clamp(1.8rem,3.5vw,2.8rem); }.cart-page-help p { max-width:55ch; margin:0; color:#6d625d; }.cart-page-help .button { flex-shrink:0; }

/* Commande : une colonne de prix dédiée, sans chevauchement avec les détails. */
.woocommerce-checkout .wc-block-components-order-summary { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; }
.woocommerce-checkout .wc-block-components-order-summary-item { display:grid !important; grid-template-columns:84px minmax(0,1fr) max-content !important; gap:.8rem; align-items:start; }
.woocommerce-checkout .wc-block-components-order-summary-item__image { grid-column:1; width:84px !important; min-width:0; }
.woocommerce-checkout .wc-block-components-order-summary-item__image img { width:84px !important; height:84px !important; object-fit:cover; border-radius:10px; }
.woocommerce-checkout .wc-block-components-order-summary-item__description { grid-column:2; min-width:0; overflow-wrap:anywhere; }
.woocommerce-checkout .wc-block-components-order-summary-item__total { grid-column:3; grid-row:1; min-width:5.75rem; padding-left:.35rem; white-space:nowrap; text-align:right; justify-self:end; }
.woocommerce-checkout .wc-block-components-totals-item { display:grid; grid-template-columns:minmax(0,1fr) max-content; column-gap:1rem; }
.woocommerce-checkout .wc-block-components-totals-item__value { min-width:5.75rem; white-space:nowrap; text-align:right; }
@container (max-width:699px) { .cart-page-content .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { box-sizing:border-box; grid-template-columns:clamp(128px,32vw,168px) minmax(0,1fr); column-gap:1rem; padding:1.25rem !important; } .cart-page-content .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { padding-left:0 !important; } .cart-page-content .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { padding-right:0 !important; } }

/* Page Bananes */
.banana-hero { padding:clamp(4rem,9vw,8rem) 0; background:linear-gradient(135deg,#f6e2dc 0%,#fffaf7 65%); }
.banana-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,8vw,7rem); align-items:center; }
.crumbs { display:flex; gap:.55rem; margin-bottom:2rem; font-size:.84rem; color:#766b66; }.crumbs a { color:var(--rose); }
.banana-hero h1 { max-width:9ch; }.banana-hero p { max-width:50ch; font-size:1.08rem; }
.banana-hero-card { min-height:330px; border-radius:var(--radius); background:linear-gradient(160deg,#5b2d2b,#2d2220); color:#fff; padding:clamp(2rem,5vw,4rem); display:flex; flex-direction:column; justify-content:flex-end; box-shadow:20px 20px 0 #e7c5ba; }
.banana-hero-card span { color:#f2b6a9; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:800; }.banana-hero-card strong { margin:.7rem 0 1.1rem; font:clamp(1.8rem,3vw,2.6rem)/1.08 Georgia,serif; }.banana-hero-card small { color:#e8d8d3; }
.banana-reassurance { background:#fff; border-bottom:1px solid var(--line); }.banana-reassurance .site-shell { display:grid; grid-template-columns:repeat(3,1fr); }.banana-reassurance div { padding:1.5rem; border-right:1px solid var(--line); }.banana-reassurance div:last-child { border:0; }.banana-reassurance strong,.banana-reassurance span { display:block; }.banana-reassurance strong { font-size:.92rem; }.banana-reassurance span { color:#6d625d; font-size:.84rem; margin-top:.25rem; }
.banana-selection { background:#fffaf7; }.banana-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.15rem; }.banana-card { display:block; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:transform .22s ease,box-shadow .22s ease; }.banana-card:hover { color:var(--ink); transform:translateY(-5px); box-shadow:0 16px 28px rgba(50,30,24,.12); }.banana-image { position:relative; background:var(--blush); }.banana-image img { display:block; width:100%; aspect-ratio:1/1.23; object-fit:cover; }.banana-count { position:absolute; top:.75rem; right:.75rem; background:#fff; color:var(--ink); border-radius:999px; padding:.35rem .55rem; font-size:.7rem; font-weight:800; }.banana-card-body { padding:1.1rem; }.banana-card-body h2 { font-size:1.7rem; margin:0 0 .45rem; }.banana-card-body p { min-height:3.3em; margin:0 0 1rem; color:#6a605c; font-size:.9rem; }.banana-card-body span { color:var(--rose); font-size:.82rem; font-weight:800; }.banana-card-body b { margin-left:.3rem; font-size:1rem; }
.banana-help { background:var(--ink); color:#fff; padding:clamp(3rem,7vw,5rem) 0; }.banana-help .site-shell { display:flex; justify-content:space-between; gap:2rem; align-items:end; }.banana-help h2 { margin:0; max-width:19ch; font-size:clamp(2rem,4vw,3.25rem); }.banana-help .eyebrow { color:#f3b4a7; }.banana-help .button { background:#fff; color:var(--ink); white-space:nowrap; }

/* Catégories et page boutique */
.collection-hero { padding:clamp(4rem,9vw,8rem) 0; background:linear-gradient(135deg,#f5e2dc 0%,#fffaf7 65%); }.collection-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,8vw,7rem); align-items:center; }.collection-hero h1 { max-width:10ch; }.collection-hero p { max-width:50ch; font-size:1.08rem; }
.collection-hero-card { min-height:330px; border-radius:var(--radius); background:linear-gradient(160deg,#5b2d2b,#2d2220); color:#fff; padding:clamp(2rem,5vw,4rem); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; position:relative; box-shadow:20px 20px 0 #e7c5ba; }.collection-hero-card.has-photo { padding:0; }.collection-hero-card.has-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }.collection-hero-card.has-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(32,19,17,.78),transparent 65%); }.collection-hero-card > div { position:relative; z-index:1; }.collection-hero-card span { color:#f2b6a9; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:800; }.collection-hero-card strong { display:block; margin:.7rem 0 1.1rem; font:clamp(1.7rem,3vw,2.45rem)/1.08 Georgia,serif; }.collection-hero-card small { color:#e8d8d3; }
.collection-reassurance { background:#fff; border-bottom:1px solid var(--line); }.collection-reassurance .site-shell { display:grid; grid-template-columns:repeat(3,1fr); }.collection-reassurance div { padding:1.5rem; border-right:1px solid var(--line); }.collection-reassurance div:last-child { border:0; }.collection-reassurance strong,.collection-reassurance span { display:block; }.collection-reassurance strong { font-size:.92rem; }.collection-reassurance span { color:#6d625d; font-size:.84rem; margin-top:.25rem; }
.collection-selection { background:#fffaf7; }.collection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem; }.collection-card { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; color:var(--ink); transition:transform .22s ease,box-shadow .22s ease; }.collection-card:hover { color:var(--ink); transform:translateY(-5px); box-shadow:0 16px 28px rgba(50,30,24,.12); }.collection-card-image { position:relative; background:var(--blush); }.collection-card-image img { display:block; width:100%; aspect-ratio:1/1.08; object-fit:cover; }.collection-card-image span { position:absolute; top:.75rem; right:.75rem; background:#fff; border-radius:999px; padding:.35rem .55rem; font-size:.7rem; font-weight:800; }.collection-card > div:last-child { padding:1.1rem; }.collection-card h2 { margin:0 0 .45rem; font-size:1.65rem; }.collection-card p { color:#6a605c; font-size:.9rem; margin:.2rem 0 .9rem; }.collection-card b { color:var(--rose); font-size:.8rem; }.collection-help,.shop-guidance { background:var(--ink); color:#fff; padding:clamp(3rem,7vw,5rem) 0; }.collection-help .site-shell,.shop-guidance .site-shell { display:flex; justify-content:space-between; gap:2rem; align-items:end; }.collection-help h2,.shop-guidance h2 { margin:0; max-width:24ch; font-size:clamp(2rem,4vw,3.25rem); }.collection-help .eyebrow,.shop-guidance .eyebrow { color:#f3b4a7; }.collection-help .button,.shop-guidance .button { background:#fff; color:var(--ink); white-space:nowrap; }
.gift-card-visual { display:flex; flex-direction:column; justify-content:flex-end; min-height:260px; padding:1.35rem; color:#fff; background:linear-gradient(0deg,rgba(38,25,21,.72),rgba(38,25,21,.06) 72%),url('assets/carte-cadeau-melic.webp') center/cover; }.gift-card-visual span { align-self:flex-start; margin-bottom:auto; padding:.35rem .6rem; border:1px solid rgba(255,255,255,.6); border-radius:999px; background:rgba(42,28,24,.32); font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.gift-card-visual strong { font:clamp(2.1rem,4vw,3.25rem)/1 Georgia,serif; text-shadow:0 2px 12px rgba(0,0,0,.2); }.gift-card-visual small { margin-top:.45rem; color:#fff4ef; font-size:.78rem; font-weight:700; }.gift-card-product .product-meta { padding-top:1rem; }
.shop-hero { padding:clamp(4rem,9vw,8rem) 0; background:linear-gradient(130deg,#f4dfd8,#fffaf7); text-align:center; }.shop-hero h1 { max-width:12ch; margin-left:auto; margin-right:auto; }.shop-hero p { max-width:52ch; margin:0 auto; font-size:1.08rem; }.shop-stats { display:flex; justify-content:center; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }.shop-stats span { padding:.5rem .8rem; border:1px solid #cda99f; border-radius:999px; font-size:.79rem; font-weight:800; }.shop-categories { background:#fff; }.shop-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem; }.shop-category-card { color:var(--ink); }.shop-category-card > div { position:relative; overflow:hidden; border-radius:16px; background:var(--blush); }.shop-category-card img { display:block; width:100%; aspect-ratio:1/1.12; object-fit:cover; transition:transform .25s ease; }.shop-category-card:hover img { transform:scale(1.025); }.shop-category-card span { position:absolute; right:.75rem; top:.75rem; background:#fff; border-radius:999px; padding:.35rem .55rem; font-size:.7rem; font-weight:800; }.shop-category-card h2 { font-size:1.7rem; margin:.8rem 0 .2rem; }.shop-category-card p { color:#766b66; margin:0; font-size:.88rem; }.shop-category-card b { color:var(--rose); }
.atelier-hero { padding:clamp(4rem,9vw,8rem) 0; background:linear-gradient(135deg,#f5e2dc 0%,#fffaf7 65%); }.atelier-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,7rem); align-items:center; }.atelier-hero h1 { max-width:10ch; }.atelier-hero p { max-width:46ch; font-size:1.08rem; }.atelier-portrait { position:relative; }.atelier-portrait img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--radius); box-shadow:20px 20px 0 #e7c5ba; }.atelier-portrait span { position:absolute; bottom:1rem; left:1rem; background:#fff; padding:.55rem .8rem; border-radius:999px; font-size:.76rem; font-weight:800; }.atelier-intro { padding:clamp(4rem,8vw,7rem) 0; background:#fff; }.atelier-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,7rem); }.atelier-intro h2 { max-width:15ch; }.atelier-intro p { max-width:52ch; color:#625853; }.atelier-values { padding:clamp(4rem,8vw,7rem) 0; }.atelier-values .section-head { max-width:780px; }.atelier-value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.atelier-value-grid > div { background:#fff; border:1px solid var(--line); border-radius:16px; padding:1.5rem; }.atelier-value-grid span { color:var(--rose); font-weight:800; font-size:.8rem; }.atelier-value-grid h3 { margin:.8rem 0 .35rem; }.atelier-value-grid p { margin:0; color:#6a605c; font-size:.9rem; }.atelier-contact { background:var(--ink); color:#fff; padding:clamp(3rem,7vw,5rem) 0; }.atelier-contact .site-shell { display:flex; align-items:end; justify-content:space-between; gap:2rem; }.atelier-contact h2 { max-width:18ch; margin:0 0 .8rem; font-size:clamp(2rem,4vw,3.25rem); }.atelier-contact p { color:#e8d8d3; }.atelier-contact .eyebrow { color:#f3b4a7; }.atelier-contact .button { background:#fff; color:var(--ink); }
.tissus-hero { padding:clamp(4rem,9vw,8rem) 0; background:radial-gradient(circle at 80% 25%,#f8d9ce 0,transparent 26rem),linear-gradient(135deg,#f6e6df 0%,#fffaf7 66%); }.tissus-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,8vw,7rem); align-items:center; }.tissus-hero h1 { max-width:11ch; }.tissus-hero p { max-width:50ch; font-size:1.08rem; }.tissus-hero-card { min-height:360px; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(1.5rem,4vw,3rem); border:1px solid rgba(255,255,255,.55); border-radius:var(--radius); background:linear-gradient(145deg,rgba(185,95,82,.94),rgba(86,58,50,.92)),repeating-linear-gradient(45deg,#f5ded5 0 18px,#e8c9bd 18px 36px); color:#fff; box-shadow:22px 22px 0 #e7c5ba; }.tissus-hero-card span { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:800; color:#ffe4dc; }.tissus-hero-card strong { display:block; max-width:14ch; margin:.8rem 0; font:clamp(2rem,3.4vw,3rem)/1.02 Georgia,serif; letter-spacing:-.04em; }.tissus-hero-card p { margin:0; color:#fff1ed; max-width:30ch; }.tissus-intro { padding:clamp(4rem,8vw,7rem); background:#fff; }.tissus-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,7rem); }.tissus-intro h2 { max-width:14ch; }.tissus-intro p { color:#625853; max-width:52ch; }.tissus-gallery-section { padding:clamp(4rem,8vw,7rem); background:#fffaf7; }.tissus-gallery-section .section-head { align-items:end; border-bottom:1px solid var(--line); padding-bottom:1.5rem; }.tissus-gallery-section .section-head p { max-width:28ch; color:#625853; margin:0; }.tissus-content > *:first-child { margin-top:0; }.tissus-content .wp-block-gallery { margin:2rem 0 0; gap:1rem; }.tissus-content .wp-block-gallery .wp-block-image { margin:0; border:1px solid #fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 24px rgba(74,48,39,.1); }.tissus-content .wp-block-gallery img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; transition:transform .35s ease; }.tissus-content .wp-block-gallery .wp-block-image:hover img { transform:scale(1.04); }.tissus-contact { background:var(--ink); color:#fff; padding:clamp(3rem,7vw,5rem) 0; }.tissus-contact .site-shell { display:flex; align-items:end; justify-content:space-between; gap:2rem; }.tissus-contact h2 { max-width:20ch; margin:0; font-size:clamp(2rem,4vw,3.25rem); }.tissus-contact .eyebrow { color:#f3b4a7; }.tissus-contact .button { background:#fff; color:var(--ink); }

@media (max-width:980px) {
 .header-main { grid-template-columns:1fr auto; min-height:72px; } .primary-nav { grid-row:2; grid-column:1/-1; padding-bottom:.8rem; overflow:auto; justify-content:flex-start; white-space:nowrap; } .instagram-link { display:none; }
 .hero-grid,.story,.woocommerce div.product { grid-template-columns:1fr; } .hero-image { width:100%; min-height:330px; } .hero-image img { min-height:330px; } .hero-note { left:.8rem; }
 .woocommerce div.product .summary { padding:1.5rem; } .product-reassurance { grid-template-columns:repeat(3,1fr); }
 .product-modern-hero { grid-template-columns:1fr; gap:1.5rem; } .product-modern-buy { padding:1.5rem; }
 .product-modern-social { display:block; } .product-modern-social-links { margin-top:1.5rem; }
 .home-social-inner { display:block; } .home-social-links { margin-top:1.5rem; }
 .home-social-quick .site-shell { display:block; } .home-social-quick-links { margin-top:.75rem; }
 .cart-page-promises { grid-template-columns:1fr; }.cart-page-promises > div { border-right:0; border-bottom:1px solid var(--line); }.cart-page-promises > div:last-child { border-bottom:0; }.cart-page-help { display:block; }.cart-page-help .button { margin-top:1.5rem; }
 .banana-hero-grid { grid-template-columns:1fr; }.banana-hero-card { min-height:240px; }.banana-grid { grid-template-columns:repeat(2,1fr); }.banana-reassurance .site-shell { grid-template-columns:1fr; }.banana-reassurance div { border-right:0; border-bottom:1px solid var(--line); }.banana-reassurance div:last-child { border-bottom:0; }.banana-help .site-shell { display:block; }.banana-help .button { margin-top:1.5rem; }
 .collection-hero-grid { grid-template-columns:1fr; }.collection-hero-card { min-height:240px; }.collection-reassurance .site-shell { grid-template-columns:1fr; }.collection-reassurance div { border-right:0; border-bottom:1px solid var(--line); }.collection-reassurance div:last-child { border-bottom:0; }.collection-grid,.shop-category-grid { grid-template-columns:repeat(2,1fr); }.collection-help .site-shell,.shop-guidance .site-shell { display:block; }.collection-help .button,.shop-guidance .button { margin-top:1.5rem; }
 .atelier-hero-grid,.atelier-intro-grid { grid-template-columns:1fr; }.atelier-value-grid { grid-template-columns:1fr; }.atelier-contact .site-shell { display:block; }.atelier-contact .button { margin-top:1.5rem; }
 .tissus-hero-grid,.tissus-intro-grid { grid-template-columns:1fr; }.tissus-hero-card { min-height:260px; }.tissus-contact .site-shell { display:block; }.tissus-contact .button { margin-top:1.5rem; }
 .contact-hero-grid,.contact-layout { grid-template-columns:1fr; }.contact-note { min-height:220px; }.contact-copy h2 { max-width:16ch; }
 .category-grid,.product-grid,.insta-grid,.woocommerce ul.products { grid-template-columns:repeat(2,1fr); } .trust-row .site-shell { grid-template-columns:repeat(2,1fr); } .trust-item:nth-child(2) { border-right:0; }
 .footer-grid { grid-template-columns:1fr 1fr; } .footer-brand { grid-column:1/-1; }
}
@media (max-width:520px) { .site-shell { width:min(100% - 28px,1180px); } .brand img { width:108px; } .brand .brand-text { display:none; } .header-actions { gap:.5rem; } .cart-link { padding:.45rem; gap:.35rem; } .cart-text { display:none; } .primary-nav { gap:1rem; font-size:.72rem; } .section-head { display:block; } .section-head p { margin-top:.75rem; } .trust-item { padding:.9rem .6rem; font-size:.77rem; } .footer-grid { grid-template-columns:1fr; } .woocommerce div.product .summary { padding:1.25rem; border-radius:18px; } .woocommerce div.product .product_title { font-size:clamp(2.25rem,12vw,3.4rem); } .product-reassurance { grid-template-columns:1fr; gap:.8rem; } .product-reassurance > div { display:grid; grid-template-columns:1.35rem 1fr; column-gap:.45rem; } .product-reassurance span { grid-row:span 2; margin-top:.1rem; } .woocommerce div.product .woocommerce-tabs { padding:1.2rem; } .product-modern-buy { padding:1.2rem; border-radius:18px; } .product-modern-crumbs { margin-bottom:1rem; } .product-modern-social { padding:1.5rem; border-radius:18px; } .product-modern-social-links a { flex:1; min-width:0; } .home-social { padding:3rem 0; } .home-social-links a { flex:1; min-width:0; } .cart-page-shell { width:min(100% - 28px,1180px); } .cart-page-intro { text-align:left; } .cart-page-intro h1 { margin-left:0; } .cart-page-content .wc-block-cart__sidebar { padding:1rem; } .woocommerce-checkout .wc-block-components-order-summary-item { grid-template-columns:70px minmax(0,1fr) max-content !important; gap:.65rem; } .woocommerce-checkout .wc-block-components-order-summary-item__image,.woocommerce-checkout .wc-block-components-order-summary-item__image img { width:70px !important; height:70px !important; } .woocommerce-checkout .wc-block-components-order-summary-item__total,.woocommerce-checkout .wc-block-components-totals-item__value { min-width:4.85rem; font-size:.94rem; } }
