:root {
    --cream: #fbf6f1;
    --cream-deep: #f3e8de;
    --paper: #fffaf6;
    --cocoa: #5b3a2e;
    --cocoa-soft: #7a5949;
    --ink: #2e211c;
    --blush: #d8a0a0;
    --blush-soft: #efd5d4;
    --gold: #c99a54;
    --line: rgba(91, 58, 46, 0.14);
    --shadow: 0 24px 70px rgba(76, 48, 36, 0.12);
    --serif: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, "Times New Roman", serif;
    --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --radius-lg: 32px;
    --radius-md: 22px;
    --container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { clip: auto !important; width: auto; height: auto; margin: 12px; padding: 10px 14px; background: #fff; z-index: 10000; }

.announcement-bar {
    background: var(--cocoa);
    color: #fff8f2;
    text-align: center;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    padding: 9px 0;
}
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(251, 246, 241, .9);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid transparent;
    transition: .25s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 30px rgba(61, 39, 29, .05); }
.header-inner { min-height: 86px; display: grid; grid-template-columns: 190px 1fr 70px; align-items: center; gap: 26px; }
.site-branding .custom-logo-link, .brand-logo { display: inline-flex; align-items: center; }
.site-branding .custom-logo, .brand-logo img { width: 150px; max-height: 68px; object-fit: contain; object-position: left center; }
.primary-nav { justify-self: center; }
.primary-nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.primary-nav a { font-size: 13px; font-weight: 600; letter-spacing: .04em; position: relative; padding: 12px 0; }
.primary-nav a::after { content: ""; position: absolute; left: 0; bottom: 7px; width: 0; height: 1px; background: var(--blush); transition: width .2s ease; }
.primary-nav a:hover::after, .primary-nav .current-menu-item > a::after { width: 100%; }
.header-actions { justify-self: end; }
.header-cart { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; position: relative; background: rgba(255,255,255,.45); }
.header-cart__count { position: absolute; right: -4px; top: -4px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 5px; border-radius: 999px; background: var(--blush); color: white; font-size: 10px; font-weight: 700; }
.menu-toggle { display: none; background: none; border: 0; padding: 8px; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 24px; height: 1.5px; margin: 5px 0; background: var(--cocoa); }

.hero { position: relative; overflow: hidden; padding: 82px 0 84px; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: clamp(50px, 7vw, 100px); position: relative; z-index: 2; }
.hero-copy { max-width: 620px; }
.eyebrow { display: inline-block; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 18px; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 400; color: var(--cocoa); line-height: .98; letter-spacing: -.035em; }
.hero h1 { font-size: clamp(54px, 6.2vw, 92px); margin: 0 0 26px; max-width: 760px; }
.hero-copy > p { max-width: 590px; color: #6f5a50; font-size: clamp(17px, 1.4vw, 20px); margin: 0 0 34px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 50px; padding: 13px 24px; border-radius: 999px;
    font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { transform: translateY(-2px); }
.button--primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--cocoa); color: #fff; border: 1px solid var(--cocoa); }
.button--primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: #452a21; color: #fff; }
.button--outline { border: 1px solid var(--cocoa); color: var(--cocoa); background: transparent; }
.text-link { font-size: 13px; font-weight: 700; border-bottom: 1px solid rgba(91,58,46,.3); padding-bottom: 4px; }
.hero-notes { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 34px; color: #8a7165; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.hero-visual { position: relative; }
.hero-card { position: relative; aspect-ratio: .94; border-radius: 48% 52% 45% 55% / 46% 43% 57% 54%; background: linear-gradient(145deg, #f0d5d4, #eed9cc 58%, #f7e9df); box-shadow: var(--shadow); display: grid; place-items: center; padding: 52px; overflow: hidden; }
.hero-card::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.75); border-radius: inherit; }
.hero-logo-large { width: min(76%, 420px); mix-blend-mode: multiply; position: relative; z-index: 2; filter: saturate(.86) contrast(.99); }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-sticker { position: absolute; right: 8%; bottom: 10%; z-index: 4; background: var(--paper); border: 1px solid rgba(91,58,46,.09); border-radius: 999px; padding: 10px 14px; color: var(--cocoa); font-family: var(--serif); font-size: 16px; transform: rotate(-5deg); box-shadow: 0 10px 30px rgba(76,48,36,.12); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .7; }
.hero-orb--one { width: 320px; height: 320px; background: #f4ded6; left: -150px; top: 80px; }
.hero-orb--two { width: 220px; height: 220px; background: #f2dfba; right: -90px; bottom: 30px; opacity: .35; }
.cookie-cluster { position: absolute; inset: 0; pointer-events: none; opacity: .5; }
.cookie { position: absolute; border-radius: 50%; background: #b4784e; box-shadow: inset -10px -12px 0 rgba(88,52,36,.1); }
.cookie i { position: absolute; width: 10%; aspect-ratio: 1; border-radius: 50%; background: #5d372b; }
.cookie i:nth-child(1){left:25%;top:25%}.cookie i:nth-child(2){left:57%;top:20%}.cookie i:nth-child(3){left:65%;top:56%}.cookie i:nth-child(4){left:34%;top:66%}.cookie i:nth-child(5){left:45%;top:43%}
.cookie--one { width: 120px; height: 120px; left: -18px; bottom: 10%; transform: rotate(-12deg); }
.cookie--two { width: 72px; height: 72px; right: 6%; top: 8%; background: #c78a5a; }
.crumb { position: absolute; width: 10px; height: 10px; border-radius: 40% 60% 50% 50%; background: var(--gold); }
.crumb--one { right: 4%; top: 37%; }.crumb--two { right: 0; top: 43%; width: 6px; height: 6px; }

.marquee-strip { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.28); }
.marquee-strip__inner { min-width: max-content; display: flex; align-items: center; justify-content: center; gap: 32px; padding: 16px 26px; color: var(--cocoa-soft); font-size: 11px; letter-spacing: .2em; }
.marquee-strip i { color: var(--blush); font-style: normal; }

.section { padding: 104px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
.section-heading .eyebrow { margin-bottom: 10px; }
.section-heading h2, .universe-card h2, .occasion-copy h2, .newsletter-inner h2 { font-size: clamp(42px, 5vw, 68px); margin: 0; }
.products-section { background: var(--paper); }

/* WooCommerce product cards */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 26px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0 0 18px; border-radius: 24px; background: #fff; overflow: hidden; border: 1px solid rgba(91,58,46,.08); transition: transform .25s ease, box-shadow .25s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(83,53,40,.09); }
.woocommerce ul.products li.product a img { margin: 0 0 18px !important; width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--cream-deep); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 18px 4px !important; font-family: var(--serif); font-size: 24px !important; font-weight: 400; color: var(--cocoa); }
.woocommerce ul.products li.product .price { padding: 0 18px; color: var(--cocoa) !important; font-size: 14px !important; font-weight: 700 !important; }
.woocommerce ul.products li.product .button { margin: 12px 18px 0 !important; min-height: 42px; padding: 10px 16px; }
.woocommerce span.onsale { min-height: auto; min-width: auto; line-height: 1; padding: 9px 11px; top: 12px !important; left: 12px !important; border-radius: 999px; background: var(--blush); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.demo-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.demo-product { background: #fff; border: 1px solid rgba(91,58,46,.08); border-radius: 24px; overflow: hidden; padding-bottom: 18px; }
.demo-product__visual { aspect-ratio: 1; display: grid; place-items: center; background: #f0ded5; overflow: hidden; }
.demo-product__visual--2 { background: #e9dcc8; }.demo-product__visual--3 { background:#edd0cc; }.demo-product__visual--4 { background:#e7ddd8; }
.demo-cookie { width: 68%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 28% 31%, #5c3528 0 4%, transparent 5%), radial-gradient(circle at 67% 24%, #5c3528 0 5%, transparent 6%), radial-gradient(circle at 61% 63%, #5c3528 0 5%, transparent 6%), radial-gradient(circle at 34% 69%, #5c3528 0 4%, transparent 5%), #bd8255; box-shadow: 0 20px 35px rgba(86,53,35,.18), inset -15px -14px 0 rgba(86,53,35,.08); transform: rotate(-5deg); }
.demo-product h3 { margin: 18px 18px 2px; font-size: 24px; }.demo-product p { margin: 0 18px; color:#8c7569; font-size: 13px; }
.plugin-note { color:#8c7569; font-size:13px; text-align:center; margin-top:20px; }

.universe-section { background: linear-gradient(135deg, #f0d4d2 0%, #eac7c8 100%); }
.universe-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 24px; }
.universe-card { border-radius: var(--radius-lg); }
.universe-card--quote { background: var(--paper); padding: clamp(36px, 6vw, 72px); }
.universe-card--quote p { color:#715a50; font-size:18px; max-width:650px; margin:24px 0 34px; }
.universe-card--values { background: var(--cocoa); color:#fff8f2; padding: 20px clamp(28px,4vw,50px); display:flex; flex-direction:column; justify-content:center; }
.value-item { display:grid; grid-template-columns:54px 1fr; gap:16px; padding:30px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.value-item:last-child { border-bottom:0; }.value-item > span { color:#e7c28a; font-family:var(--serif); font-size:18px; }.value-item h3 { color:#fff; font-size:34px; margin:0 0 8px; }.value-item p { margin:0; color:#e9dcd6; }

.occasion-section { background: #f7eee7; }
.occasion-grid { display:grid; grid-template-columns: 1fr 1fr; align-items:center; gap:80px; }
.occasion-copy p { color:#715a50; font-size:18px; max-width:590px; margin:24px 0 34px; }
.occasion-art { min-height:460px; position:relative; display:grid; place-items:center; }
.gift-box { width:min(82%,430px); aspect-ratio:1.4; background:linear-gradient(145deg,#fffaf5,#f1ded5); border:1px solid rgba(91,58,46,.14); border-radius:28px; box-shadow:var(--shadow); transform:rotate(4deg); position:relative; display:grid; place-items:center; }
.gift-box::before { content:""; position:absolute; inset:12px; border:1px solid rgba(216,160,160,.55); border-radius:20px; }.gift-box__logo { font-family:var(--serif); color:var(--cocoa); font-size:100px; font-style:italic; }.gift-box__ribbon { position:absolute; left:0; right:0; top:47%; height:18px; background:rgba(216,160,160,.68); }.floating-heart { position:absolute; right:8%; top:7%; color:var(--blush); font-size:72px; transform:rotate(8deg); }.floating-crumbs { position:absolute; left:5%; bottom:10%; }.floating-crumbs i { display:inline-block; margin:5px; width:12px; height:12px; border-radius:50%; background:var(--gold); opacity:.75; }

.newsletter-section { padding:70px 0; background:var(--cocoa); color:#f9eee7; }
.newsletter-inner { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:center; }.newsletter-inner h2 { color:#fff; font-size:clamp(38px,4vw,56px); }.newsletter-placeholder { border:1px dashed rgba(255,255,255,.35); padding:22px; border-radius:18px; color:#eadbd3; font-size:13px; }

.site-footer { background:#241914; color:#e9dcd5; padding:74px 0 22px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .7fr .7fr; gap:60px; }.footer-brand .brand-logo img, .footer-brand .custom-logo { filter:brightness(0) invert(1); opacity:.9; width:210px; }.footer-brand p { max-width:330px; color:#cdbbb2; }.site-footer h3 { color:#fff; font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 18px; }.site-footer ul { list-style:none; margin:0; padding:0; }.site-footer li { margin:8px 0; }.site-footer a:hover { color:#efc5c2; }.footer-social p { color:#ae9c93; font-size:13px; }.footer-bottom { margin-top:56px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#a99389; }

/* Content */
.content-area, .shop-main { padding:80px 0 110px; }.content-shell--narrow { max-width:860px; }.page-header { margin-bottom:42px; }.page-header h1, .archive-header h1 { font-size:clamp(48px,6vw,82px); margin:0; }.entry-content { font-size:17px; }.entry-content > * + * { margin-top:1.25em; }.entry-content h2 { font-size:42px; margin-top:1.6em; }.entry-content a { text-decoration:underline; text-decoration-color:var(--blush); text-underline-offset:3px; }.single-featured { margin:0 0 40px; border-radius:24px; overflow:hidden; }.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }.post-card { background:#fff; border-radius:24px; overflow:hidden; border:1px solid var(--line); }.post-card__image img { width:100%; aspect-ratio:1.35; object-fit:cover; display:block; }.post-card__body { padding:24px; }.post-card h2 { font-size:30px; margin:4px 0 12px; }.post-card p { color:#745f55; }.navigation.pagination { margin-top:40px; }.nav-links { display:flex; gap:8px; }.page-numbers { min-width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; }.page-numbers.current { background:var(--cocoa); color:#fff; }
.error-page { padding:120px 0; }.error-card { max-width:760px; margin:auto; text-align:center; padding:70px 30px; border:1px solid var(--line); border-radius:32px; background:#fff; }.error-card h1 { font-size:70px; margin:0 0 20px; }.error-card p { color:#775f54; margin-bottom:30px; }

/* WooCommerce shop + single product */
.shop-shell { width:min(calc(100% - 40px),1200px); margin-inline:auto; }
.woocommerce .woocommerce-breadcrumb { color:#8d7468; font-size:12px; margin-bottom:26px; }.woocommerce .woocommerce-breadcrumb a { color:var(--cocoa); }
.woocommerce-products-header__title.page-title { font-family:var(--serif); font-size:clamp(48px,6vw,78px); color:var(--cocoa); font-weight:400; margin:0 0 34px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:30px; font-size:13px; color:#7b655b; }.woocommerce .woocommerce-ordering select { border:1px solid var(--line); border-radius:999px; background:#fff; padding:10px 14px; }
.woocommerce div.product { display:grid; grid-template-columns:1fr 1fr; gap:56px; }.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto; float:none; }.woocommerce div.product .product_title { font-size:clamp(48px,5vw,72px); margin:0 0 16px; }.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--cocoa); font-size:22px; }.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius:26px; overflow:hidden; background:#fff; }.woocommerce div.product form.cart { display:flex; gap:10px; align-items:center; margin-top:30px; }.woocommerce .quantity .qty { height:50px; width:74px; border:1px solid var(--line); border-radius:999px; background:#fff; }.woocommerce div.product .product_meta { border-top:1px solid var(--line); padding-top:22px; color:#826d62; font-size:13px; }.woocommerce-tabs { grid-column:1/-1; margin-top:30px; }.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 { border:0; background:transparent; }.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:transparent; color:var(--cocoa); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color:var(--blush); background:#fff; border-radius:14px; }.woocommerce-message::before, .woocommerce-info::before { color:var(--blush); }
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; }.woocommerce-cart table.cart img { width:78px; border-radius:12px; }.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px 14px; min-height:48px; }
.woocommerce-checkout #payment { background:#f2e6dc; border-radius:18px; }.woocommerce-checkout #payment div.payment_box { background:#fff; }.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#fff; }

.comments-area { margin-top:60px; padding-top:40px; border-top:1px solid var(--line); }.comment-list { padding-left:20px; }.comment-respond textarea, .comment-respond input { width:100%; border:1px solid var(--line); border-radius:12px; padding:12px; background:#fff; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }.reveal.is-visible { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }

@media (max-width: 980px) {
    .header-inner { grid-template-columns:1fr auto auto; min-height:74px; }.menu-toggle { display:block; order:2; }.header-actions { order:3; }.site-branding { order:1; }
    .primary-nav { display:none; position:absolute; top:100%; left:20px; right:20px; background:var(--paper); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); padding:20px; }.nav-open .primary-nav { display:block; }.primary-nav ul { flex-direction:column; align-items:flex-start; gap:4px; }.primary-nav li, .primary-nav a { width:100%; }.primary-nav a { display:block; padding:10px 4px; }
    .hero { padding-top:54px; }.hero-grid, .universe-grid, .occasion-grid, .newsletter-inner { grid-template-columns:1fr; }.hero-visual { max-width:620px; width:100%; margin:auto; }.hero-card { padding:40px; }.universe-grid { gap:18px; }.occasion-grid { gap:20px; }.occasion-art { min-height:360px; }
    .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }.demo-products { grid-template-columns:repeat(2,1fr); }.post-grid { grid-template-columns:repeat(2,1fr); }.footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }
    .woocommerce div.product { grid-template-columns:1fr; gap:28px; }
}

@media (max-width: 640px) {
    .container, .shop-shell { width:min(calc(100% - 28px), var(--container)); }.announcement-bar { font-size:9px; letter-spacing:.11em; }.site-branding .custom-logo, .brand-logo img { width:125px; max-height:58px; }
    .hero { padding:38px 0 54px; }.hero h1 { font-size:clamp(48px,15vw,68px); }.hero-copy > p { font-size:16px; }.hero-card { border-radius:38% 62% 48% 52% / 47% 44% 56% 53%; padding:24px; }.hero-logo-large { width:82%; }.hero-notes { gap:9px 14px; }.section { padding:72px 0; }.section-heading { align-items:flex-start; flex-direction:column; margin-bottom:30px; }
    .woocommerce ul.products, .demo-products, .post-grid { grid-template-columns:1fr; }.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:26px!important; }.universe-card--quote { padding:34px 26px; }.value-item { grid-template-columns:42px 1fr; }.occasion-art { min-height:280px; }.gift-box__logo { font-size:72px; }.floating-heart { font-size:54px; }
    .footer-grid { grid-template-columns:1fr; gap:34px; }.footer-brand { grid-column:auto; }.footer-bottom { flex-direction:column; }.marquee-strip__inner { justify-content:flex-start; }
    .error-card h1 { font-size:50px; }.content-area, .shop-main { padding-top:55px; }
}

/* ==========================================================
   VERSION 2 — ESPACE CLIENT, PANIER & CHECKOUT COMPLETS
   WooCommerce classic templates + Cart/Checkout blocks
   ========================================================== */
.header-actions { display:flex; align-items:center; gap:9px; }
.header-action { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; position:relative; background:rgba(255,255,255,.55); color:var(--cocoa); transition:.2s ease; }
.header-action:hover { background:#fff; transform:translateY(-1px); border-color:rgba(91,58,46,.24); }
.header-action__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.header-cart { display:grid; }
.footer-commerce-links { display:flex; gap:16px; flex-wrap:wrap; margin-top:18px; font-size:13px; }
.footer-legal { margin-top:28px; }
.footer-legal ul { display:flex; gap:18px; flex-wrap:wrap; padding:0; margin:0; list-style:none; font-size:11px; color:#b9a69c; }

/* Generic commerce shell */
.lmdl-commerce-page .shop-main { padding-top:56px; }
.lmdl-commerce-page .woocommerce { max-width:1180px; margin-inline:auto; }
.lmdl-commerce-page .woocommerce > h2,
.lmdl-commerce-page .woocommerce > h1 { font-size:clamp(42px,5vw,68px); margin-top:0; }

/* Account login/register */
.lmdl-account-intro { max-width:720px; text-align:center; margin:0 auto 38px; }
.lmdl-account-intro .eyebrow { margin-bottom:12px; }
.lmdl-account-intro h1 { font-size:clamp(46px,6vw,76px); margin:0 0 18px; }
.lmdl-account-intro p { color:#806a60; max-width:620px; margin:0 auto; }
.woocommerce-account .woocommerce { max-width:1100px; }
.woocommerce-account .woocommerce h2 { font-size:34px; margin:0 0 18px; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { background:#fff; border:1px solid var(--line)!important; border-radius:28px!important; padding:34px!important; box-shadow:0 18px 54px rgba(76,48,36,.06); }
.woocommerce-account .u-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 { width:auto!important; float:none!important; }
.woocommerce-account .woocommerce-form-login__rememberme { display:inline-flex; align-items:center; gap:8px; margin:7px 0 16px; }
.woocommerce-account .woocommerce-LostPassword { font-size:13px; margin:15px 0 0; }
.woocommerce-account .woocommerce-LostPassword a { color:var(--cocoa); border-bottom:1px solid var(--blush); }

/* Logged-in account dashboard */
.woocommerce-account .woocommerce-MyAccount-navigation { width:27%; float:left; }
.woocommerce-account .woocommerce-MyAccount-content { width:69%; float:right; background:#fff; border:1px solid var(--line); border-radius:26px; padding:32px; min-height:340px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:10px; list-style:none; background:#f1e4da; border-radius:24px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:13px 15px; border-radius:15px; font-size:13px; font-weight:650; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:#fff; color:var(--cocoa); }
.woocommerce-account .woocommerce-Address { background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px; }
.woocommerce-account mark { background:var(--blush-soft); color:var(--cocoa); padding:2px 5px; border-radius:5px; }

/* Classic cart */
.woocommerce-cart .woocommerce-cart-form { background:#fff; border:1px solid var(--line); border-radius:26px; padding:18px; box-shadow:0 18px 50px rgba(76,48,36,.05); }
.woocommerce-cart .cart-collaterals { margin-top:28px; }
.woocommerce-cart .cart-collaterals .cart_totals { width:min(100%,460px); float:right; background:#f4e8df; border-radius:26px; padding:28px; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size:34px; margin:0 0 14px; }
.woocommerce-cart .wc-proceed-to-checkout { padding-bottom:0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width:100%; margin:12px 0 0; }
.woocommerce-cart .coupon { display:flex; gap:9px; }
.woocommerce-cart .coupon #coupon_code { min-width:180px; border-radius:999px; }
.woocommerce .cart-empty.woocommerce-info { max-width:680px; margin:30px auto!important; text-align:center; padding:34px!important; border:1px solid var(--line); }
.woocommerce .return-to-shop { text-align:center; }

/* Classic checkout */
.lmdl-checkout-reassurance { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 24px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:15px 20px; margin:0 0 28px; color:#765e52; font-size:12px; letter-spacing:.04em; }
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:32px; align-items:start; }
.woocommerce-checkout #customer_details { display:grid; grid-template-columns:1fr; gap:0; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width:100%; float:none; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { background:#fff; border:1px solid var(--line); border-radius:26px; padding:30px; }
.woocommerce-checkout #order_review_heading { grid-column:2; font-size:34px; margin:0 0 -12px; padding:0 30px; }
.woocommerce-checkout #order_review { grid-column:2; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 { font-size:34px; margin:0 0 22px; }
.woocommerce-checkout #payment { margin-top:22px; padding:14px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color:rgba(91,58,46,.12); }
.woocommerce-checkout #payment #place_order { width:100%; min-height:56px; margin-top:10px; background:var(--blush); border-color:var(--blush); }
.woocommerce-checkout #payment #place_order:hover { background:#c9888b; }

/* Order confirmation */
.woocommerce-order-received .woocommerce-order { max-width:900px; margin:auto; }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-family:var(--serif); font-size:clamp(36px,5vw,58px); color:var(--cocoa); text-align:center; line-height:1.05; margin-bottom:28px; }
.woocommerce-order-received ul.woocommerce-order-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:0; margin:0 0 30px; }
.woocommerce-order-received ul.woocommerce-order-overview li { margin:0; padding:16px; border:1px solid var(--line); border-radius:15px; background:#fff; font-size:11px; }

/* WooCommerce Cart & Checkout blocks */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { --wp--preset--color--contrast:var(--cocoa); }
.wc-block-cart,
.wc-block-checkout { gap:28px!important; }
.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar { border-radius:26px; }
.wc-block-cart-items { background:#fff; border:1px solid var(--line)!important; overflow:hidden; }
.wc-block-components-sidebar { background:#f4e8df; border:0!important; padding:24px!important; align-self:start; }
.wc-block-components-totals-wrapper { border-color:rgba(91,58,46,.11)!important; }
.wc-block-components-button:not(.is-link) { border-radius:999px!important; background:var(--cocoa)!important; color:#fff!important; min-height:52px!important; font-size:12px!important; font-weight:700!important; letter-spacing:.07em!important; text-transform:uppercase!important; }
.wc-block-components-button:not(.is-link):hover { background:#452a21!important; }
.wc-block-components-product-name { font-family:var(--serif); color:var(--cocoa); font-size:21px; }
.wc-block-components-product-image img { border-radius:14px; }
.wc-block-cart-item__image img { border-radius:14px; }
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-address-form input,
.wc-block-components-address-form select { border-radius:13px!important; border-color:var(--line)!important; background:#fff!important; }
.wc-block-checkout__main { background:#fff; border:1px solid var(--line); padding:28px!important; }
.wc-block-checkout__sidebar { padding-top:0!important; }
.wc-block-components-checkout-step { border-bottom:1px solid var(--line)!important; padding-bottom:26px!important; margin-bottom:26px!important; }
.wc-block-components-checkout-step__heading { font-family:var(--serif); color:var(--cocoa); }
.wc-block-components-radio-control-accordion-option { border:1px solid var(--line)!important; border-radius:16px!important; margin-bottom:10px!important; background:#fff; }
.wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow:0 0 0 1px var(--blush)!important; }
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button { background:var(--blush)!important; }
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover { background:#c9888b!important; }
.wc-block-cart__empty-cart__title { font-family:var(--serif)!important; color:var(--cocoa); font-size:clamp(38px,5vw,56px)!important; }
.wc-block-cart__empty-cart__title::after { content:" ♡"; color:var(--blush); }

/* Notices / coupons / common commerce elements */
.wc-block-components-notice-banner { border-radius:14px!important; background:#fff!important; border-color:var(--line)!important; }
.woocommerce .woocommerce-form-coupon,
.woocommerce .woocommerce-form-login.checkout { border:1px solid var(--line)!important; border-radius:20px!important; background:#fff; }
.woocommerce-privacy-policy-text { color:#846d62; font-size:12px; }
.woocommerce-privacy-policy-text a { text-decoration:underline; text-decoration-color:var(--blush); }

/* Tablet/mobile commerce */
@media (max-width: 980px) {
    .header-actions { gap:6px; }
    .woocommerce-account .u-columns { grid-template-columns:1fr; }
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { width:100%; float:none; }
    .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:20px; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; gap:4px; overflow:auto; }
    .woocommerce-account .woocommerce-MyAccount-navigation li { flex:0 0 auto; }
    .woocommerce-checkout form.checkout { grid-template-columns:1fr; }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review { grid-column:1; }
    .woocommerce-checkout #order_review_heading { margin-top:10px; }
    .woocommerce-order-received ul.woocommerce-order-overview { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 640px) {
    .header-action { width:40px; height:40px; }
    .woocommerce-account .woocommerce-form-login,
    .woocommerce-account .woocommerce-form-register,
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review { padding:22px!important; border-radius:20px; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { border-radius:18px; }
    .woocommerce-cart .woocommerce-cart-form { padding:8px; border-radius:18px; }
    .woocommerce-cart .cart-collaterals .cart_totals { padding:22px; border-radius:20px; }
    .woocommerce-cart .coupon { flex-direction:column; }
    .woocommerce-cart .coupon #coupon_code { min-width:0; width:100%!important; }
    .woocommerce-order-received ul.woocommerce-order-overview { grid-template-columns:1fr; }
    .lmdl-checkout-reassurance { justify-content:flex-start; }
    .wc-block-components-sidebar,
    .wc-block-checkout__main { padding:18px!important; border-radius:20px; }
}

/* ==========================================================
   VERSION 3 — APPROVED SHOWROOM LOOK
   Mirrors the visual mockups delivered for Les Miettes de Lily.
   ========================================================== */
:root {
    --cream: #fffaf6;
    --cream-deep: #f8eee7;
    --paper: #fffdfb;
    --cocoa: #5b382a;
    --cocoa-soft: #76584d;
    --ink: #35251f;
    --blush: #dfa0a7;
    --blush-soft: #f5dfdc;
    --gold: #c99248;
    --line: rgba(91, 56, 42, .11);
    --shadow: 0 24px 70px rgba(76, 48, 36, .08);
    --container: 1180px;
}

body { background:#fffaf6; color:#2f211c; font-size:15px; }
.container { width:min(calc(100% - 44px), var(--container)); }
.announcement-bar { background:#fffaf6; color:#4d352b; border-bottom:1px solid #e8d7cc; padding:7px 0 6px; font-size:10px; letter-spacing:.02em; text-transform:none; font-weight:650; }
.site-header { background:rgba(255,250,246,.96); border-bottom:1px solid rgba(91,56,42,.08); backdrop-filter:blur(10px); }
.header-inner--showcase { min-height:84px; display:grid; grid-template-columns:1fr 180px 1fr; align-items:center; gap:26px; }
.site-branding--center { justify-self:center; }
.site-branding--center .custom-logo-link,
.site-branding--center .brand-logo { display:block; }
.site-branding--center .custom-logo,
.site-branding--center .brand-logo img { width:118px; height:68px; max-height:none; object-fit:contain; object-position:center; }
.primary-nav--left { justify-self:start; }
.primary-nav--right { justify-self:end; }
.primary-nav--left ul,
.primary-nav--right ul { gap:32px; }
.primary-nav--left a,
.primary-nav--right a { font-size:12px; letter-spacing:0; font-weight:600; padding:10px 0; color:#31231e; }
.primary-nav a::after { bottom:5px; background:#c97e79; }
.header-right { display:flex; align-items:center; justify-self:end; gap:26px; }
.header-actions { gap:10px; }
.header-icon { position:relative; width:31px; height:31px; display:grid; place-items:center; color:#493127; border:0; background:transparent; }
.header-icon svg { width:20px; height:20px; }
.header-cart__count { right:-1px; top:-4px; min-width:16px; height:16px; padding:0 4px; background:#9b5c3d; font-size:9px; }

.home-main--showcase { background:#fffaf6; }
.showcase-hero { border-bottom:1px solid rgba(91,56,42,.06); }
.showcase-hero__grid { min-height:410px; display:grid; grid-template-columns:45% 55%; align-items:stretch; }
.showcase-hero__copy { padding:60px 52px 58px 0; align-self:center; }
.showcase-hero__copy .eyebrow { margin:0 0 20px; font-size:10px; color:#c88f45; letter-spacing:.22em; }
.showcase-hero__copy h1 { margin:0 0 20px; font-size:clamp(50px,5.3vw,76px); line-height:.95; letter-spacing:-.04em; max-width:580px; }
.showcase-hero__copy .hero-heart { color:#db8f98; font-family:Georgia,serif; white-space:nowrap; }
.showcase-hero__copy p { max-width:430px; margin:0 0 28px; font-size:15px; line-height:1.55; color:#604c43; }
.button--blush { background:#de8e96!important; border-color:#de8e96!important; color:#fff!important; border-radius:5px!important; min-height:42px!important; padding:10px 20px!important; font-size:11px!important; letter-spacing:0!important; text-transform:none!important; }
.button--blush:hover { background:#c97982!important; border-color:#c97982!important; }
.button--small { min-height:37px!important; padding:8px 17px!important; }
.showcase-hero__media { min-height:410px; overflow:hidden; }
.showcase-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

.showcase-products { padding:20px 0 18px; background:#fffdfb; }
.showcase-section-heading { text-align:center; margin-bottom:13px; }
.showcase-section-kicker { font-size:10px; letter-spacing:.2em; font-weight:700; color:#3f302a; }
.home-products--showcase .woocommerce ul.products,
.showcase-products .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.showcase-products .woocommerce ul.products li.product { border-radius:4px; border:1px solid rgba(91,56,42,.08); box-shadow:none; background:#fff; padding:0 0 12px; text-align:center; }
.showcase-products .woocommerce ul.products li.product:hover { transform:none; box-shadow:0 10px 28px rgba(76,48,36,.05); }
.showcase-products .woocommerce ul.products li.product a img { aspect-ratio:1.38; object-fit:cover; margin:0 0 10px!important; background:#faf3ed; }
.showcase-products .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--sans); font-size:12px!important; line-height:1.3; font-weight:650; letter-spacing:0; padding:0 10px 4px!important; color:#2f241f; min-height:35px; }
.showcase-products .woocommerce ul.products li.product .price { padding:0 10px; font-size:11px!important; font-weight:700!important; color:#3b2c25!important; }
.showcase-products .woocommerce ul.products li.product .button { margin:8px auto 0!important; min-height:28px; padding:6px 13px; border-radius:4px; background:#f1c5c5; border:0; color:#7b3b3d; font-size:9px; text-transform:none; letter-spacing:0; }
.showcase-products .woocommerce ul.products li.product .button:hover { background:#e7aeaf; color:#6d2e31; transform:none; }
.showcase-products .woocommerce span.onsale { display:none; }

.showcase-demo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.showcase-demo-card { background:#fff; border:1px solid rgba(91,56,42,.08); border-radius:4px; overflow:hidden; text-align:center; padding-bottom:12px; }
.showcase-demo-card img { width:100%; aspect-ratio:1.38; object-fit:cover; display:block; background:#faf3ed; }
.showcase-demo-card h3 { font-family:var(--sans); font-size:12px; line-height:1.3; font-weight:650; letter-spacing:0; color:#2f241f; margin:10px 10px 4px; min-height:31px; }
.showcase-demo-card strong { display:block; font-size:11px; margin-bottom:8px; }
.demo-add-button { display:inline-block; background:#f1c5c5; color:#7b3b3d; font-size:9px; font-weight:650; padding:6px 13px; border-radius:4px; }

.showcase-values { background:#f9e9e5; border-top:1px solid rgba(91,56,42,.05); border-bottom:1px solid rgba(91,56,42,.05); padding:18px 0; }
.showcase-values__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.showcase-value { text-align:center; padding:0 28px; border-right:1px solid rgba(91,56,42,.1); }
.showcase-value:last-child { border-right:0; }
.showcase-value__icon { display:block; margin-bottom:4px; font-family:Georgia,serif; color:#824c35; font-size:25px; line-height:1; }
.showcase-value h3 { margin:0 0 5px; font-family:var(--sans); font-size:12px; line-height:1.35; font-weight:700; letter-spacing:0; color:#3c2b24; }
.showcase-value p { margin:0 auto; max-width:220px; font-size:9px; line-height:1.45; color:#5b4b44; }

.showcase-about { background:#fffaf6; }
.showcase-about__grid { display:grid; grid-template-columns:1fr 1.15fr; min-height:215px; }
.showcase-about__copy { display:flex; flex-direction:column; justify-content:center; padding:28px 55px 32px 0; }
.showcase-about__copy h2 { font-size:31px; line-height:1.05; margin:0 0 12px; }
.showcase-about__copy h2 span { color:#df929b; }
.showcase-about__copy p { max-width:480px; margin:0 0 18px; color:#5f4b42; font-size:11px; line-height:1.55; }
.showcase-about__copy .button { align-self:flex-start; }
.showcase-about__media { min-height:215px; overflow:hidden; }
.showcase-about__media img { width:100%; height:100%; object-fit:cover; display:block; }

.site-footer--showcase { background:#5b382a; color:#f8eae3; padding:45px 0 18px; }
.footer-grid--showcase { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:45px; }
.footer-grid--showcase .footer-brand .custom-logo,
.footer-grid--showcase .footer-brand .brand-logo img { width:125px; max-height:80px; object-fit:contain; filter:brightness(1.4) saturate(.7); }
.footer-grid--showcase .footer-brand p { max-width:250px; color:#e8d3ca; font-size:11px; }
.footer-column { display:flex; flex-direction:column; gap:7px; }
.footer-column h3 { color:#fff6f0; font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.05em; margin:0 0 6px; }
.footer-column a { color:#ead7ce; font-size:10px; }
.footer-column a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:28px; padding-top:16px; color:#dbc7bd; font-size:9px; }

/* Boutique / product page closer to the mockups */
.shop-main { background:#fffaf6; padding:48px 0 80px; }
.woocommerce-products-header__title.page-title { font-size:42px; line-height:1.05; margin-bottom:10px; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin:15px 0 25px; }
.shop-main .woocommerce ul.products { gap:18px; }
.shop-main .woocommerce ul.products li.product { border-radius:4px; text-align:center; box-shadow:none; }
.shop-main .woocommerce ul.products li.product a img { aspect-ratio:1; background:#f9eee8; margin-bottom:10px!important; }
.shop-main .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--sans); font-size:12px!important; font-weight:650; min-height:34px; }
.shop-main .woocommerce ul.products li.product .button { border-radius:3px; background:#f2c5c4; color:#7b3a3c; border:0; text-transform:none; letter-spacing:0; font-size:9px; min-height:30px; }
.woocommerce div.product { gap:42px; }
.woocommerce div.product .product_title { font-size:40px; line-height:1.08; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size:17px; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius:4px; }
.woocommerce div.product form.cart .single_add_to_cart_button { border-radius:3px; min-height:40px; font-size:10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }

/* Account/cart/checkout — restrained flat look matching the supplied screens */
.lmdl-commerce-page .shop-main { padding-top:40px; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main { border-radius:5px!important; box-shadow:none!important; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { padding:28px!important; }
.woocommerce-account .woocommerce h2 { font-size:30px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { border-radius:4px; background:#f7e6e2; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { border-radius:3px; }
.woocommerce-cart .cart-collaterals .cart_totals { background:#fbf1ed; }
.woocommerce-checkout #payment { border-radius:4px; background:#f8eae5; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single { border-radius:2px; }

@media (max-width:980px) {
    .header-inner--showcase { grid-template-columns:1fr auto auto; min-height:72px; }
    .site-branding--center { justify-self:start; order:1; }
    .menu-toggle { display:block; order:2; }
    .header-right { order:3; gap:6px; }
    .primary-nav--left,
    .primary-nav--right { display:none; }
    body.nav-open .primary-nav--left { display:block; position:absolute; top:100%; left:14px; right:14px; background:#fffaf6; border:1px solid var(--line); padding:15px; border-radius:8px; box-shadow:var(--shadow); }
    body.nav-open .primary-nav--left ul { flex-direction:column; align-items:flex-start; gap:2px; }
    body.nav-open .primary-nav--left a { display:block; width:100%; padding:8px 2px; }
    .showcase-hero__grid { grid-template-columns:1fr; }
    .showcase-hero__copy { padding:52px 0 34px; }
    .showcase-hero__media { min-height:350px; }
    .showcase-values__grid { grid-template-columns:repeat(2,1fr); gap:18px 0; }
    .showcase-value:nth-child(2) { border-right:0; }
    .showcase-about__grid { grid-template-columns:1fr; }
    .showcase-about__copy { padding:35px 0; }
    .showcase-about__media { min-height:300px; }
    .footer-grid--showcase { grid-template-columns:1fr 1fr; }
}

@media (max-width:640px) {
    .container { width:min(calc(100% - 28px), var(--container)); }
    .site-branding--center .custom-logo,
    .site-branding--center .brand-logo img { width:92px; height:52px; }
    .showcase-hero__copy h1 { font-size:50px; }
    .showcase-hero__media { min-height:260px; }
    .showcase-products .woocommerce ul.products,
    .showcase-demo-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
    .showcase-values__grid { grid-template-columns:1fr; }
    .showcase-value { border-right:0; border-bottom:1px solid rgba(91,56,42,.08); padding:12px 0; }
    .showcase-value:last-child { border-bottom:0; }
    .footer-grid--showcase { grid-template-columns:1fr; gap:28px; }
}

/* ==========================================================
   VERSION 4 — production fixes after OVH live test
   ========================================================== */
:root {
    --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body { font-family: var(--sans); }
h1, h2, h3, h4,
.woocommerce div.product .product_title,
.woocommerce-products-header__title.page-title,
.page-header h1 { font-family: var(--serif); font-weight: 500; }

/* Header exactly like the approved mockup: centered brand + 3 utility icons. */
.header-inner--showcase {
    min-height: 104px;
    grid-template-columns: minmax(330px,1fr) 170px minmax(390px,1fr);
    gap: 24px;
}
.site-branding--center { align-self:center; }
.site-branding--center .brand-logo { display:flex; align-items:center; justify-content:center; width:100%; }
.site-branding--center .brand-logo img {
    width: 142px;
    height: 88px;
    max-height: none;
    object-fit: contain;
    object-position: center;
}
.header-right { display:flex; align-items:center; justify-self:end; gap:26px; }
.header-actions { display:flex!important; align-items:center; justify-content:flex-end; gap:11px; min-width:116px; }
.header-icon,
.header-icon:visited { display:grid!important; place-items:center; width:31px; height:31px; color:#493127; opacity:1; visibility:visible; }
.header-icon:hover { color:#c67780; }
.header-icon svg { display:block; width:20px; height:20px; overflow:visible; }
.header-cart { border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
.header-cart__count { display:grid!important; }
.primary-nav--left ul,
.primary-nav--right ul { gap:34px; }
.primary-nav--left a,
.primary-nav--right a { font-family:var(--sans); font-size:12px; font-weight:600; }

/* Hero typography and spacing tuned to the screenshot. */
.showcase-hero__copy h1 {
    font-family:var(--serif);
    font-weight:500;
    font-size:clamp(58px,5.15vw,79px);
    line-height:.94;
    letter-spacing:-.035em;
}
.showcase-hero__copy p { font-family:var(--sans); }

/* Generic pages so all automatically created URLs look intentional. */
.content-area { padding:58px 0 90px; background:#fffaf6; }
.content-shell--narrow { max-width:900px; }
.content-shell--commerce { max-width:1160px; }
.page-header { margin-bottom:32px; }
.page-header h1 { margin:0; font-size:clamp(46px,5vw,68px); line-height:.96; }
.page-header--shop p { color:#76584d; margin:8px 0 0; }
.entry-content h2 { font-size:36px; line-height:1.05; margin-top:38px; }
.entry-content h3 { font-size:25px; line-height:1.1; }

/* WooCommerce missing-state pages still render instead of a 404. */
.lmdl-woocommerce-missing {
    min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; background:#fffdfb; border:1px solid rgba(91,56,42,.08); padding:50px 28px;
}
.lmdl-woocommerce-missing__icon { width:70px; height:70px; border-radius:50%; display:grid; place-items:center; background:#f6dfdd; color:#b86571; font-size:32px; margin-bottom:18px; }
.lmdl-woocommerce-missing h2 { margin:0 0 10px; font-size:42px; }
.lmdl-woocommerce-missing p { max-width:620px; margin:0 0 24px; color:#6d584e; }
.lmdl-fallback-shop { padding-bottom:40px; }
.lmdl-fallback-shop__header { margin-bottom:28px; }
.lmdl-fallback-shop__header h2 { font-size:56px; margin:0 0 8px; }
.lmdl-fallback-shop__header p { color:#6d584e; }

/* WooCommerce: closer to the reference screens. */
.shop-shell { max-width:1180px; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; background:#fffdfb; border:1px solid rgba(91,56,42,.08); padding-bottom:15px; overflow:hidden; }
.woocommerce ul.products li.product a img { width:100%; aspect-ratio:1; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding-left:14px!important; padding-right:14px!important; }
.woocommerce ul.products li.product .price { padding-left:14px; padding-right:14px; }
.woocommerce ul.products li.product .button { margin-left:14px!important; margin-right:14px!important; }

/* Footer logo uses the transparent full lockup, readable on cocoa. */
.footer-grid--showcase .footer-brand .brand-logo img { width:150px; height:auto; max-height:130px; filter:brightness(1.55) saturate(.55); }

@media (max-width:1120px) {
    .header-inner--showcase { grid-template-columns:1fr 145px 1fr; }
    .primary-nav--left ul, .primary-nav--right ul { gap:20px; }
    .header-right { gap:16px; }
}
@media (max-width:980px) {
    .header-inner--showcase { min-height:78px; grid-template-columns:auto 1fr auto; }
    .site-branding--center .brand-logo img { width:112px; height:66px; }
    .header-actions { min-width:auto; }
    .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
    .site-branding--center .brand-logo img { width:100px; height:60px; }
    .header-icon { width:28px; height:28px; }
    .header-actions { gap:5px; }
    .showcase-hero__copy h1 { font-size:52px; }
    .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}

/* ==========================================================
   SHOWROOM v3.1 — MOBILE UX FIXES
   One menu, centered logo, live cart drawer and auto quantities.
   ========================================================== */
.mobile-nav { display:none; }

.mobile-cart-overlay {
    position:fixed;
    inset:0;
    z-index:1190;
    background:rgba(48,31,24,.32);
    backdrop-filter:blur(2px);
    opacity:0;
    transition:opacity .22s ease;
}
.mobile-cart-overlay[hidden] { display:none!important; }
.mobile-cart-open .mobile-cart-overlay { opacity:1; }
.mobile-cart-drawer {
    position:fixed;
    z-index:1200;
    top:0;
    right:0;
    width:min(92vw,390px);
    height:100dvh;
    background:#fffaf6;
    border-left:1px solid rgba(91,56,42,.1);
    box-shadow:-24px 0 70px rgba(55,34,26,.15);
    transform:translateX(105%);
    transition:transform .28s cubic-bezier(.2,.7,.2,1);
    display:flex;
    flex-direction:column;
}
.mobile-cart-open .mobile-cart-drawer { transform:translateX(0); }
.mobile-cart-open { overflow:hidden; }
.mobile-cart-drawer__header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:24px 20px 18px;
    border-bottom:1px solid rgba(91,56,42,.1);
}
.mobile-cart-drawer__eyebrow { color:#c99248; font-size:9px; font-weight:700; letter-spacing:.18em; }
.mobile-cart-drawer__header h2 { margin:4px 0 0; font-size:34px; line-height:1; }
.mobile-cart-drawer__close {
    width:38px;
    height:38px;
    border:1px solid rgba(91,56,42,.13);
    border-radius:50%;
    background:#fff;
    color:#5b382a;
    font-size:26px;
    line-height:1;
    display:grid;
    place-items:center;
    padding:0 0 3px;
}
.mobile-cart-drawer__body { overflow:auto; padding:18px 20px 28px; flex:1; }
.mobile-cart-loading { min-height:190px; display:flex; align-items:center; justify-content:center; gap:10px; color:#80685c; font-size:13px; }
.mobile-cart-spinner { width:20px; height:20px; border:2px solid #efd6d2; border-top-color:#c97e79; border-radius:50%; animation:lmdl-spin .75s linear infinite; }
@keyframes lmdl-spin { to { transform:rotate(360deg); } }
.mobile-cart-items { list-style:none; margin:0; padding:0; }
.mobile-cart-item { display:grid; grid-template-columns:76px 1fr; gap:13px; padding:13px 0; border-bottom:1px solid rgba(91,56,42,.09); }
.mobile-cart-item__image img { width:76px; height:76px; object-fit:cover; border-radius:7px; display:block; }
.mobile-cart-item__content h3 { font-family:var(--sans); font-size:13px; line-height:1.3; font-weight:700; letter-spacing:0; margin:2px 0 6px; }
.mobile-cart-item__content h3 a { color:#34251f; }
.mobile-cart-item__meta { margin:0 0 4px; color:#826d62; font-size:11px; }
.mobile-cart-item__subtotal { color:#5b382a; font-size:12px; font-weight:700; }
.mobile-cart-summary { padding-top:18px; }
.mobile-cart-summary__line { display:flex; justify-content:space-between; gap:18px; padding:13px 0 17px; font-size:13px; border-bottom:1px solid rgba(91,56,42,.1); }
.mobile-cart-summary__line strong { color:#5b382a; }
.mobile-cart-summary__actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding-top:17px; }
.mobile-cart-summary__actions .button { min-height:43px!important; padding:10px 12px!important; border-radius:4px!important; font-size:10px!important; letter-spacing:0!important; text-transform:none!important; }
.mobile-cart-empty { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:25px 5px; }
.mobile-cart-empty__icon { color:#df929b; font-size:42px; margin-bottom:8px; }
.mobile-cart-empty h3 { font-size:31px; margin:0 0 9px; }
.mobile-cart-empty p { max-width:280px; color:#79635a; font-size:12px; margin:0 0 20px; }

/* Automatic cart quantity controls. Kept progressive: the normal Woo update
   button only disappears after JS has successfully loaded. */
.lmdl-js .woocommerce-cart-form button[name="update_cart"] { display:none!important; }
.woocommerce-cart-form .quantity.lmdl-auto-quantity {
    display:inline-grid!important;
    grid-template-columns:34px 48px 34px;
    align-items:center;
    border:1px solid rgba(91,56,42,.14);
    border-radius:7px;
    background:#fff;
    overflow:hidden;
    min-width:116px;
}
.woocommerce-cart-form .quantity.lmdl-auto-quantity .qty {
    width:48px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid rgba(91,56,42,.08)!important;
    border-right:1px solid rgba(91,56,42,.08)!important;
    border-radius:0!important;
    text-align:center;
    appearance:textfield;
}
.woocommerce-cart-form .quantity.lmdl-auto-quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart-form .quantity.lmdl-auto-quantity .qty::-webkit-outer-spin-button { appearance:none; margin:0; }
.lmdl-qty-button {
    border:0;
    background:#fffaf6;
    color:#56382b;
    width:34px;
    height:38px;
    padding:0;
    font-size:18px;
    line-height:1;
    display:grid;
    place-items:center;
}
.lmdl-qty-button:active { background:#f5dfdc; }
.lmdl-cart-updating { opacity:.58; pointer-events:none; transition:opacity .15s ease; }

@media (max-width:980px) {
    /* Neutralise the older generic mobile rule which displayed both desktop navs. */
    body.nav-open .primary-nav,
    body.nav-open .desktop-nav,
    .desktop-nav,
    .primary-nav--left,
    .primary-nav--right { display:none!important; }

    .site-header .header-inner--showcase {
        position:relative;
        display:grid!important;
        grid-template-columns:44px 1fr auto!important;
        align-items:center;
        min-height:74px!important;
        gap:8px!important;
    }
    .site-header .menu-toggle {
        display:block!important;
        grid-column:1;
        grid-row:1;
        order:0!important;
        justify-self:start;
        z-index:4;
        width:40px;
        height:40px;
        padding:7px 6px;
    }
    .site-header .menu-toggle > span {
        width:24px;
        height:1.5px;
        margin:5px 0;
        transition:transform .2s ease, opacity .2s ease;
    }
    body.nav-open .menu-toggle > span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
    body.nav-open .menu-toggle > span:nth-child(2) { opacity:0; }
    body.nav-open .menu-toggle > span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

    /* True viewport centering: independent from the width of the action icons. */
    .site-header .site-branding--center {
        position:absolute!important;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        z-index:3;
        margin:0!important;
        justify-self:auto!important;
        order:0!important;
    }
    .site-header .site-branding--center .brand-logo img,
    .site-header .site-branding--center .custom-logo {
        width:108px!important;
        height:62px!important;
        max-height:none!important;
        object-fit:contain;
    }
    .site-header .header-right {
        grid-column:3;
        grid-row:1;
        order:0!important;
        justify-self:end;
        margin:0;
        gap:0!important;
        z-index:4;
    }
    .site-header .header-actions {
        display:flex!important;
        min-width:0!important;
        gap:4px!important;
        align-items:center;
    }
    .site-header .header-icon {
        display:grid!important;
        width:29px!important;
        height:29px!important;
        padding:0!important;
        visibility:visible!important;
        opacity:1!important;
    }
    .site-header .header-icon svg { width:19px!important; height:19px!important; }
    .site-header .header-cart__count { top:-3px!important; right:-2px!important; }

    .mobile-nav {
        position:absolute;
        z-index:1010;
        top:100%;
        left:0;
        right:0;
        display:block;
        background:#fffaf6;
        border-top:1px solid rgba(91,56,42,.08);
        border-bottom:1px solid rgba(91,56,42,.1);
        box-shadow:0 22px 45px rgba(61,39,29,.10);
        padding:12px 20px 18px;
        opacity:0;
        visibility:hidden;
        transform:translateY(-8px);
        pointer-events:none;
        transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
    }
    body.nav-open .mobile-nav {
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
    }
    .mobile-nav ul { list-style:none; margin:0; padding:0; }
    .mobile-nav li { margin:0; padding:0; border-bottom:1px solid rgba(91,56,42,.07); }
    .mobile-nav li:last-child { border-bottom:0; }
    .mobile-nav a { display:flex; align-items:center; min-height:44px; color:#34251f; font-size:14px; font-weight:650; }
    .mobile-nav__footer { display:flex; gap:18px; margin-top:11px; padding-top:10px; border-top:1px solid rgba(91,56,42,.08); }
    .mobile-nav__footer a { min-height:32px; font-size:11px; color:#8b6254; }
}

@media (max-width:430px) {
    .site-header .header-inner--showcase { grid-template-columns:40px 1fr auto!important; }
    .site-header .site-branding--center .brand-logo img,
    .site-header .site-branding--center .custom-logo { width:92px!important; height:56px!important; }
    .site-header .header-actions { gap:1px!important; }
    .site-header .header-icon { width:27px!important; height:27px!important; }
    .site-header .header-icon svg { width:18px!important; height:18px!important; }
    .mobile-cart-summary__actions { grid-template-columns:1fr; }
}


/* v3.2 — live cart totals + delivery threshold */
.lmdl-delivery-notice {
    margin: 0 0 18px;
    padding: 13px 16px;
    border: 1px solid rgba(216,137,148,.38);
    border-radius: 16px;
    background: #fff7f4;
    color: #6b4434;
    font-size: 14px;
    line-height: 1.55;
}
.lmdl-delivery-notice.is-free {
    background: #f7eee8;
    border-color: rgba(111,73,55,.18);
    font-weight: 700;
}
.lmdl-cart-updating {
    opacity: .72;
    pointer-events: none;
    transition: opacity .16s ease;
}
.mobile-cart-summary__line--total {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(93,61,47,.14);
    font-size: 17px;
}
.mobile-cart-summary__line--total strong { font-size: 18px; }
@media (max-width: 680px) {
    .lmdl-delivery-notice { font-size: 13px; border-radius: 14px; padding: 11px 13px; }
}
