:root { --cream:#F7F1E5; --botanical:#245B3D; --ink:#173D2A; --sprout:#B8D28A; --terracotta:#D98762; --line:rgba(23,61,42,.16); --shadow:0 16px 42px rgba(23,61,42,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; }
a { color:var(--botanical); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--ink); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { color:var(--botanical); line-height:1.08; letter-spacing:-.035em; }
h1 { max-width:760px; font-size:clamp(2.7rem,6vw,5.7rem); }
h2 { font-size:clamp(2rem,4vw,3.4rem); }
h3 { font-size:1.35rem; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; clip:auto; z-index:1000; background:#fff; padding:.75rem; }
.site-shell { overflow:hidden; }
.site-header { position:relative; z-index:10; border-bottom:1px solid var(--line); background:rgba(247,241,229,.94); }
.header-inner { max-width:1240px; margin:auto; min-height:84px; padding:.625rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { min-width:0; display:flex; flex:0 1 auto; align-items:center; gap:.8rem; color:var(--botanical); text-decoration:none; line-height:1.1; }
.brand-logo { display:block; flex:0 0 64px; width:64px; height:auto; aspect-ratio:1; object-fit:contain; }
.brand strong { display:block; font-family:Georgia,serif; font-size:1.25rem; letter-spacing:-.03em; }
.brand small { display:block; margin-top:.22rem; font-size:.67rem; letter-spacing:.02em; }
.primary-navigation { display:flex; align-items:center; gap:1.35rem; }
.primary-navigation .menu { display:flex; flex-wrap:wrap; gap:1.1rem; list-style:none; padding:0; margin:0; }
.primary-navigation .menu a { color:var(--ink); font-size:.9rem; font-weight:650; text-decoration:none; }
.primary-navigation .menu .current-menu-item a,.primary-navigation .menu a:hover { color:var(--botanical); text-decoration:underline; }
.cart-link { padding:.55rem .9rem; border:1px solid var(--botanical); border-radius:999px; color:var(--botanical); font-size:.87rem; font-weight:700; text-decoration:none; }
.menu-toggle { display:none; padding:.5rem .65rem; border:1px solid var(--botanical); border-radius:999px; color:var(--botanical); background:transparent; font:inherit; font-size:.85rem; font-weight:700; }
.hero { max-width:1240px; min-height:620px; margin:auto; padding:7.5rem 2rem 5rem; display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center; }
.hero-copy { position:relative; z-index:1; }
.eyebrow { margin-bottom:.85rem; color:var(--terracotta); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-lead { max-width:570px; margin-bottom:2rem; color:#31543f; font-size:1.16rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.65rem 1.15rem; border-radius:999px; font-weight:750; text-decoration:none; }
.button-primary { background:var(--botanical); color:var(--cream); }
.button-primary:hover { background:var(--ink); color:var(--cream); }
.button-quiet { border:1px solid var(--botanical); color:var(--botanical); }
.hero-visual { position:relative; min-height:410px; border-radius:50% 50% 42% 42%; background:var(--sprout); overflow:hidden; box-shadow:var(--shadow); }
.hero-visual .sun { position:absolute; top:13%; right:14%; width:95px; height:95px; border-radius:50%; background:var(--cream); opacity:.9; }
.hero-visual .leaf { position:absolute; width:120px; height:245px; border-radius:100% 0 100% 0; background:var(--botanical); transform-origin:bottom center; }
.hero-visual .leaf-one { left:22%; bottom:15%; transform:rotate(-31deg); }
.hero-visual .leaf-two { right:23%; bottom:12%; background:var(--terracotta); transform:rotate(35deg) scale(.77); }
.planter { position:absolute; right:18%; bottom:-2%; width:260px; height:170px; border-radius:20px 20px 44px 44px; background:var(--cream); box-shadow:0 12px 18px rgba(23,61,42,.13); }
.planter span { position:absolute; bottom:135px; left:50%; width:12px; height:138px; border-radius:99px; background:var(--botanical); transform-origin:bottom; }
.planter span:nth-child(1) { transform:rotate(-24deg); }.planter span:nth-child(2) { transform:rotate(2deg); height:170px; }.planter span:nth-child(3) { transform:rotate(28deg); }
.hero-visual p { position:absolute; left:8%; bottom:7%; max-width:130px; color:var(--botanical); font-size:.85rem; font-weight:750; line-height:1.3; }
.section { max-width:1240px; margin:auto; padding:6rem 2rem; }
.section-heading { max-width:650px; margin-bottom:2.5rem; }
.section-heading > p:not(.eyebrow) { max-width:560px; }
.section-heading-row { max-width:none; display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.category-card { min-height:310px; padding:1.7rem; display:flex; flex-direction:column; border-radius:18px; color:var(--ink); text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.category-card:hover { color:var(--ink); transform:translateY(-5px); box-shadow:var(--shadow); }
.category-card h3 { max-width:260px; margin:2.5rem 0 .8rem; color:inherit; font-size:1.7rem; }
.category-card p { max-width:300px; font-size:.93rem; }.category-card > span:last-child { margin-top:auto; font-size:.85rem; font-weight:750; }.category-card b { font-size:1.15rem; }
.category-number { font-size:.76rem; font-weight:800; letter-spacing:.09em; }.category-culture { background:var(--sprout); }.category-organisation { background:var(--botanical); color:var(--cream); }.category-organisation h3 { color:var(--cream); }.category-arrosage { background:var(--terracotta); }
.selection-section { padding-top:3rem; }.atelier-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.atelier-product-card { padding-bottom:.3rem; }.atelier-product-card .product-image { display:block; overflow:hidden; aspect-ratio:1; border-radius:14px; background:#fffaf1; }.atelier-product-card .product-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }.atelier-product-card:hover img { transform:scale(1.03); }.product-category { margin:1rem 0 .35rem; color:#587565; font-size:.76rem; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }.atelier-product-card h3 { margin-bottom:.45rem; font-size:1.25rem; }.atelier-product-card h3 a { color:var(--botanical); text-decoration:none; }.atelier-product-card .price { margin-bottom:.45rem; font-weight:750; }.text-link { font-weight:750; text-decoration:none; }.text-link span { margin-left:.2rem; }
.reassurance { max-width:1240px; margin:1rem auto 6rem; padding:2.4rem 2rem; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.reassurance span { color:var(--terracotta); font-size:1.45rem; }.reassurance h3 { margin:.4rem 0; font-size:1.1rem; }.reassurance p { margin:0; font-size:.9rem; }
.page-content,.shop-content { max-width:1180px; min-height:55vh; margin:auto; padding:5rem 2rem 6rem; }.page-content .page-header { max-width:760px; margin-bottom:2.4rem; }.page-content .entry-content { max-width:760px; }.entry-content .wp-block-group,.entry-content .wp-block-columns { margin-top:2rem; margin-bottom:2rem; }.entry-content .wp-block-quote { padding:1rem 1.5rem; border-left:4px solid var(--terracotta); background:#fffaf1; }.entry-content .wp-block-button__link { background:var(--botanical); color:var(--cream); }
.site-footer { padding:3rem 2rem 1.5rem; color:var(--cream); background:var(--ink); }.footer-inner { max-width:1180px; margin:auto; display:flex; justify-content:space-between; gap:3rem; }.footer-brand { margin-bottom:.4rem; color:var(--sprout); font-family:Georgia,serif; font-size:1.3rem; font-weight:700; }.footer-inner p:not(.footer-brand) { max-width:360px; margin:0; font-size:.9rem; }.site-footer .menu { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:1rem; list-style:none; margin:0; padding:0; }.site-footer a { color:var(--cream); font-size:.88rem; }.footer-note { max-width:1180px; margin:2rem auto 0; padding-top:1rem; border-top:1px solid rgba(247,241,229,.2); color:rgba(247,241,229,.74); font-size:.75rem; }
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { margin-bottom:2rem; }.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; 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-bottom:1rem; border-radius:14px; background:#fffaf1; }.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--botanical); font-size:1.2rem; }.woocommerce ul.products li.product .price { color:var(--ink); font-size:1rem; font-weight:750; }.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,#add_payment_method .wc-proceed-to-checkout a.checkout-button { border:0; border-radius:999px; background:var(--botanical); color:var(--cream); font-weight:750; }.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { background:var(--ink); color:var(--cream); }.woocommerce div.product div.images img { border-radius:16px; background:#fffaf1; }.woocommerce div.product .product_title { font-size:clamp(2.2rem,4vw,3.5rem); }.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--botanical); font-weight:750; }.woocommerce-message,.woocommerce-info { border-top-color:var(--botanical); background:#fbf8ef; }.woocommerce-message::before,.woocommerce-info::before { color:var(--botanical); }.woocommerce-error { border-top-color:var(--terracotta); }.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single { min-height:44px; border:1px solid var(--line); border-radius:8px; background:#fffdf7; }.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout-review-order { padding:1.2rem; border-radius:14px; background:#fffaf1; }.woocommerce table.shop_table { border-color:var(--line); }.woocommerce .quantity .qty { min-height:38px; border:1px solid var(--line); border-radius:7px; }.ab-demo-notice { max-width:1180px; margin:1.25rem auto 0; padding:.85rem 1rem; border-left:4px solid var(--terracotta); border-radius:4px; background:#fffaf1; font-size:.88rem; }.woocommerce-breadcrumb { margin-bottom:2rem!important; color:#587565; }.woocommerce nav.woocommerce-pagination ul { border:0; }.woocommerce nav.woocommerce-pagination ul li { border:0; }.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover { background:var(--sprout); color:var(--ink); }
@media (max-width:820px) { .header-inner { min-height:72px; padding:.625rem 1.1rem; gap:.75rem; }.brand { gap:.65rem; }.brand-logo { flex-basis:52px; width:52px; }.brand small { display:none; }.menu-toggle { display:block; flex:0 0 auto; margin-left:auto; }.primary-navigation { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:.65rem; padding:1rem 1.1rem 1.2rem; border-bottom:1px solid var(--line); background:var(--cream); box-shadow:0 12px 20px rgba(23,61,42,.08); }.primary-navigation.is-open { display:flex; }.primary-navigation .menu { flex-direction:column; gap:.3rem; }.primary-navigation .menu a,.cart-link { display:block; padding:.65rem 0; }.cart-link { padding:.65rem .85rem; text-align:center; }.hero { min-height:auto; padding:4rem 1.25rem 3.5rem; grid-template-columns:1fr; gap:2rem; }.hero-visual { min-height:330px; order:-1; }.hero h1 { font-size:clamp(2.55rem,13vw,4rem); }.section,.page-content,.shop-content { padding:4rem 1.25rem; }.section-heading-row,.footer-inner { align-items:flex-start; flex-direction:column; gap:1rem; }.category-grid,.atelier-product-grid,.reassurance,.woocommerce ul.products { grid-template-columns:1fr; }.category-card { min-height:245px; }.reassurance { margin:0 1.25rem 4rem; padding:2rem 0; }.site-footer { padding:2.5rem 1.25rem 1.2rem; }.site-footer .menu { justify-content:flex-start; }.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { float:none; }.woocommerce table.shop_table_responsive tr td::before { color:var(--botanical); }.planter { right:12%; transform:scale(.85); transform-origin:bottom right; } }
@media (max-width:420px) { .brand-logo { flex-basis:46px; width:46px; }.brand strong { font-size:1.05rem; } }
