@font-face{font-family:Allura;src:url('assets/fonts/allura.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#fdfbf9;--cream:#fcf9f6;--rose:#c9767b;--rose-dark:#a9505b;--rose-soft:#f6e4e0;--green:#496c57;--ink:#292c2c;--muted:#706b66;--line:#eee6e0;--script:Allura,'Segoe Script',cursive;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--nav-height:64px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 var(--sans);padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));min-width:280px}body.modal-open{overflow:hidden}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--rose-dark);outline-offset:4px}.view h1[tabindex="-1"]:focus{outline:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-weight:400}button{background:none}[hidden]{display:none!important}.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:#fff;padding:12px}.skip-link:focus{top:8px}
.site-header{height:70px;padding:4px 14px;position:sticky;top:0;z-index:30;background:var(--cream);display:flex;align-items:center;justify-content:space-between}.icon-button{width:38px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:6px;position:relative;background:transparent;border:0}.icon-button svg{width:21px;height:21px}.menu-button{margin-left:-7px}.menu-button svg{width:24px;height:24px}.brand{position:absolute;left:49%;transform:translateX(-50%);text-align:center;width:184px;line-height:1;top:4px}.brand-intro{font:14px/.95 Georgia,'Times New Roman',serif;display:block}.brand-name{position:relative;display:block;font:49px/.83 var(--script);color:var(--rose);margin-top:1px}.brand-heart{font:29px var(--script);position:absolute;right:0;top:-4px;transform:rotate(-14deg)}.brand-tagline{display:block;font:5.8px/1.2 var(--sans);letter-spacing:1.25px;margin-top:3px}.brand-tagline b{color:var(--rose);font-size:9px;font-weight:400}.brand img{height:60px;width:100%;object-fit:contain}.header-actions{display:flex;align-items:center;gap:0}.desktop-nav{display:none}
.header-actions .icon-button{width:30px;padding:4px}.badge{min-width:15px;height:15px;border-radius:20px;background:var(--rose);color:white;font:10px/15px var(--sans);text-align:center;padding:0 3px;position:absolute;top:3px;right:-2px}.bag-button .badge{top:2px}
.hero{height:clamp(214px,54.4vw,355px);position:relative;overflow:hidden;background:#f2e8df}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{position:absolute;top:clamp(12px,3.4vw,23px);left:5.6%;width:45%}.hero h1{font:400 clamp(30px,7.7vw,49px)/.94 var(--script);letter-spacing:-.2px;color:#34382f}.hero h1 span{font-family:var(--script);font-size:1.16em}.hero p{font:clamp(10px,2.55vw,16px)/1.22 var(--sans);margin-top:6px;margin-bottom:11px;max-width:100%}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:9px 17px;border-radius:28px;background:var(--rose);color:#fff;font-size:14px;border:0;position:relative;text-align:center}.primary svg{width:19px;height:19px;stroke-width:1.5}.hero-cta{font-size:clamp(10px,2.55vw,15px);min-height:0;padding:7px 12px;gap:10px;white-space:nowrap}.hero-cta:after,.gift .primary:after,.view-all:after{content:'';position:absolute;inset:-8px 0}.hero-cta svg{width:16px;height:16px}
.univers{padding:12px 10px 10px}.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.category{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:0;background:none;min-width:0;gap:5px;color:var(--ink);font-size:10.5px;line-height:1.18}.category-circle{width:54px;height:54px;border-radius:50%;background:#f2e5dc;display:flex;align-items:center;justify-content:center;color:#99754e;overflow:hidden}.category-circle svg{height:31px;width:31px;stroke-width:1.3}.category-circle img{width:100%;height:100%;object-fit:cover}.category:nth-child(2) .category-circle,.category:nth-child(5) .category-circle{background:#f6e2df;color:#b77176}.category:nth-child(3) .category-circle{background:#e2e9e4;color:var(--green)}.category:nth-child(4) .category-circle{color:#4b493c}.category-label{max-width:100%;overflow-wrap:anywhere;min-height:25px}.category[aria-disabled=true]{opacity:.85;cursor:default}
.new-products{padding:8px 13px 9px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.section-title h2{font:19px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.4px}.view-all{display:inline-flex;align-items:center;position:relative;gap:6px;font-size:10.5px;padding:3px 0}.view-all svg{width:16px;height:16px}.product-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 18px)/4);gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:4px;align-items:stretch}.product-row::-webkit-scrollbar{display:none}.product-card{border:1px solid #f0eae5;border-radius:9px;background:#fcf9f6;box-shadow:0 2px 3px #4b30200b;overflow:hidden;position:relative;scroll-snap-align:start;min-width:0}.product-open{display:block;text-align:left;padding:0;width:100%;height:100%;cursor:pointer}.product-picture{aspect-ratio:1.09;position:relative;overflow:hidden;background:#f5eeea;display:grid;place-items:center}.product-picture>img{width:100%;height:100%;object-fit:contain;object-position:center center;background:#f5eeea}.product-card.is-sold-out .product-picture>img,.detail-picture.is-sold-out>img{filter:grayscale(.3);opacity:.58}.sold-out-watermark{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%) rotate(-13deg);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 9px;border:1.5px solid #a75664;border-radius:4px;background:#fffdfbe8;color:#964b59;font:700 clamp(9px,2.7vw,13px)/1 var(--sans);letter-spacing:1.2px;box-shadow:0 2px 10px #5d29331a;text-transform:uppercase;pointer-events:none}.catalog-grid .sold-out-watermark{padding:7px 12px;font-size:clamp(11px,3.1vw,15px);letter-spacing:1.5px}.sold-out-watermark-detail{padding:10px 20px;border-width:2px;font-size:clamp(17px,5vw,25px);letter-spacing:2.4px}.product-card.is-sold-out .card-copy{opacity:.72}.missing-photo{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;color:#938176;font-size:11px;text-align:center;padding:10px}.missing-photo svg{width:28px;height:28px;opacity:.65}.card-copy{padding:5px 6px 6px}.card-copy h3{font-size:9px;font-weight:400;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.card-price{font-size:10px;font-weight:700;line-height:1.25}.favorite-button{position:absolute;right:4px;top:4px;background:#fffdfbdc;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;padding:3px;color:#293031;z-index:2}.favorite-button:after{content:'';position:absolute;inset:-8px -4px -8px -8px}.favorite-button svg{width:17px;height:17px;stroke-width:1.6}.favorite-button[aria-pressed=true]{color:var(--rose-dark)}.favorite-button[aria-pressed=true] svg{fill:#f2c6c7}.product-row>.empty{grid-column:1/-1;min-height:121px}.empty{padding:23px 16px;border-radius:10px;background:#f8f2ed;color:var(--muted);font-size:14px;line-height:1.5;text-align:center;grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.empty strong{color:var(--ink);font-weight:500}.empty .secondary{margin-top:5px}.loading{color:#81736a}.gift{margin:0 13px 8px;position:relative;overflow:hidden;border-radius:9px;height:clamp(99px,23.5vw,173px);background:#f7e0da}.gift>img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.gift-copy{position:absolute;left:49.5%;top:10%;width:47%}.gift h2{font:clamp(25px,6.55vw,45px)/.95 var(--script);white-space:nowrap;color:#aa4b58;letter-spacing:-.5px;margin-bottom:4px}.gift h2 span{font-size:.8em;margin-left:5px}.gift p{font:clamp(10px,2.45vw,15px)/1.2 var(--sans);margin:0 0 5px 10px}.gift .primary{font-size:clamp(10px,2.3vw,14px);padding:5px 13px;min-height:0;margin-left:9px;gap:8px}.gift .primary svg{width:15px;height:15px}.trust{margin:0 13px 8px;min-height:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:center;background:#faf7f3;border-radius:8px;padding:7px 6px}.trust>div{display:flex;align-items:center;justify-content:center;gap:7px}.trust svg{width:23px;height:23px;color:#b7777b;stroke-width:1.4}.trust>div:nth-child(2) svg,.trust>div:nth-child(3) svg{color:var(--green)}.trust span{font-size:8px;line-height:1.25}
.bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:#fcf9f7fa;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav>a,.bottom-nav>button{min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;padding:0;color:#272f35;font:10.5px var(--sans);background:none}.bottom-nav svg{height:24px;width:24px;stroke-width:1.55}.bottom-nav [aria-current=page]{color:var(--rose)}.bottom-nav [data-nav=home][aria-current=page] svg{fill:var(--rose);stroke:var(--rose)}.nav-cart-icon{position:relative;line-height:1}.nav-cart-icon .badge{top:-7px;right:-10px;font-size:9px;min-width:14px;height:14px;line-height:14px}.inner-view{padding:15px 16px 30px;min-height:calc(100dvh - 150px)}.page-heading{display:flex;align-items:center;gap:6px;margin:0 0 17px}.page-heading>.icon-button{margin-left:-9px}.page-heading h1{font:27px/1.15 Georgia,serif}.search-field{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:24px;gap:8px;padding-left:13px;margin-bottom:14px}.search-field>svg{width:18px;height:18px;color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;background:none;font-size:16px;padding:12px 0;outline-offset:0}.search-field button{width:38px;flex-shrink:0}.filter-row{display:flex;gap:7px;overflow-x:auto;max-width:100%;padding:4px 2px 10px}.filter-chip{white-space:nowrap;border:1px solid var(--line);border-radius:22px;font-size:13px;padding:9px 13px;background:#fff}.filter-chip[aria-pressed=true]{background:var(--rose-soft);border-color:#d9aaa8;color:var(--rose-dark)}.catalog-count{color:var(--muted);font-size:13px;margin:3px 0 12px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.catalog-grid .card-copy{padding:9px 10px 12px}.catalog-grid h3{font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.catalog-grid .card-price{font-size:14px;margin-top:4px}.catalog-grid .favorite-button{width:32px;height:32px;right:7px;top:7px}.catalog-grid .favorite-button svg{width:21px;height:21px}.category-list{display:grid;gap:12px}.category-list>a{display:flex;gap:13px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}.category-list .category-circle{flex-shrink:0}.category-list strong{font-weight:500;font-size:16px}.category-list p{font-size:13px;color:var(--muted);margin-top:3px}.category-list>a>svg{margin-left:auto;width:19px}.account-card{background:#f8efea;border-radius:18px;padding:27px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.account-card>svg{width:38px;height:38px;color:var(--rose)}.account-card h2{font:23px Georgia,serif}.account-card p{max-width:350px}.secondary{border:1px solid #dec9c0;border-radius:24px;min-height:42px;padding:9px 16px;display:inline-flex;justify-content:center;align-items:center;font-size:14px;color:var(--rose-dark);background:var(--paper)}.muted{font-size:13px;color:var(--muted);line-height:1.5}.install-help{padding:20px 5px;border-bottom:1px solid var(--line);font-size:14px}.install-help p{margin-top:12px;color:var(--muted)}summary{cursor:pointer}.version{text-align:center;font-size:11px;letter-spacing:1px;margin-top:25px;color:var(--muted)}
.sheet{border:0;border-radius:21px 21px 0 0;width:min(560px,100%);max-width:100%;max-height:88dvh;margin:auto auto 0;padding:15px 21px calc(23px + env(safe-area-inset-bottom,0px));background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#2c221c70;backdrop-filter:blur(2px)}.sheet-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:10px}.sheet-heading h2{font:27px Georgia,serif}.sheet-heading>.icon-button{margin-right:-10px}.sheet-heading>span{font-size:13px;color:var(--muted)}.cart-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-row h3{font-weight:500;font-size:15px;overflow-wrap:anywhere}.cart-row .line-total{text-align:right;font-size:14px}.cart-row .line-status{font-size:12px;color:var(--muted);margin-top:4px}.quantity{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:22px;width:max-content;margin-top:10px}.quantity button{display:grid;place-items:center;min-width:40px;min-height:38px}.quantity svg{width:15px;height:15px}.quantity span{min-width:27px;text-align:center;font-size:14px}.remove-item{display:block;margin:8px -8px 0 auto;color:var(--muted);font-size:12px;min-height:36px;padding:6px 8px;text-decoration:underline}.cart-total{display:flex;justify-content:space-between;gap:12px;margin:22px 0 3px;font-size:17px}.full{width:100%;margin-top:14px}.cart-total strong{white-space:nowrap}.sheet #cartSummary>.muted:last-child{text-align:center;margin-top:7px}.detail-picture{background:#f6ede6;border-radius:12px;overflow:hidden;max-height:38dvh;aspect-ratio:1}.detail-picture img{height:100%;width:100%;object-fit:contain}.detail-picture .missing-photo{height:100%}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:18px}.detail-heading h2{font:26px/1.2 Georgia,serif;overflow-wrap:anywhere}.detail-price{font-size:21px;font-weight:600;margin-top:5px}.detail-description{margin:17px 0;white-space:pre-line;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.availability{font-size:13px;color:var(--green);margin-top:8px}.availability.unavailable{color:var(--rose-dark)}.detail-favorite{position:static;flex-shrink:0;width:42px;height:42px}.detail-favorite svg{width:25px;height:25px}.detail-favorite:after{display:none}.gallery-thumbs{display:flex;gap:8px;margin-top:9px;overflow:auto}.gallery-thumbs button{width:54px;height:54px;border:1px solid var(--line);border-radius:6px;overflow:hidden;padding:0;flex-shrink:0}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.toast{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);width:max-content;padding:12px 19px;border-radius:24px;background:#3c4940;color:white;box-shadow:0 5px 25px #0002;font-size:14px;text-align:center;z-index:100}.network-status{padding:9px 14px;background:#f2e4d7;font-size:12px;text-align:center}.empty button{font:inherit}
@media(max-width:370px){.site-header{height:65px;padding:4px 9px}.brand{width:160px;left:46%}.brand-name{font-size:44px}.brand-intro{font-size:12px}.brand-tagline{font-size:5px}.header-actions .icon-button{width:28px}.account-button{display:none}.hero-copy{left:5%;width:48%}.hero h1{font-size:29px}.hero p{font-size:10px;margin-top:5px;margin-bottom:8px}.hero-cta{font-size:9.5px;padding:7px 10px;gap:5px}.category-circle{height:47px;width:47px}.category-circle svg{width:29px;height:29px}.category{font-size:9.5px}.univers{padding:11px 7px 7px}.trust{gap:3px}.trust>div{gap:4px}.trust svg{width:20px;height:20px}.trust span{font-size:7.5px}.gift-copy{left:46%;width:51%;top:13%}.gift h2{font-size:25px}.gift h2 span{margin-left:1px}.gift p{font-size:9px}.gift .primary{font-size:9px}.card-copy{padding-left:4px;padding-right:4px}.card-copy h3{font-size:8.5px}}
@media(min-width:600px){body{max-width:900px;margin:0 auto;box-shadow:0 0 45px #59402b0b}.site-header{height:90px;padding:6px 26px}.brand{width:242px;top:8px}.brand-intro{font-size:18px}.brand-name{font-size:63px}.brand-tagline{font-size:8px}.brand-heart{right:5px;font-size:37px}.brand img{height:75px}.header-actions .icon-button{width:42px}.header-actions svg{width:25px;height:25px}.hero-copy{top:24px}.hero h1{font-size:49px}.hero p{font-size:16px;margin-top:10px;margin-bottom:19px}.hero-cta{font-size:15px;padding:12px 19px}.univers{padding:20px 24px}.category-circle{width:75px;height:75px}.category-circle svg{width:42px;height:42px}.category{font-size:14px;gap:9px}.category-label{min-height:34px}.new-products{padding:7px 25px 19px}.section-title h2{font-size:28px}.section-title{margin-bottom:12px}.view-all{font-size:14px}.product-row{gap:12px;grid-auto-columns:calc((100% - 36px)/4)}.card-copy{padding:9px 10px 11px}.card-copy h3{font-size:13px}.card-price{font-size:14px}.favorite-button{height:30px;width:30px;top:8px;right:8px}.favorite-button svg{height:22px;width:22px}.gift{margin:0 25px 14px}.gift-copy{top:15%}.gift p{margin:7px 0 9px 10px}.gift .primary{padding:7px 18px}.trust{margin:0 25px 18px;padding:14px 10px;min-height:65px}.trust span{font-size:12px}.trust svg{width:31px;height:31px}.bottom-nav{left:50%;transform:translateX(-50%);width:100%;max-width:900px}.bottom-nav>a,.bottom-nav>button{font-size:12px}.inner-view{padding:24px 30px 40px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-row>.empty{min-height:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.product-row:has(>.empty){display:block}
@media(max-width:599px){.univers{padding-top:10px;padding-bottom:5px}.category-circle{width:52px;height:52px}.category-grid{gap:4px}.category{gap:4px}}
.site-header{height:calc(70px + env(safe-area-inset-top,0px));padding-top:calc(4px + env(safe-area-inset-top,0px))}.brand{top:calc(4px + env(safe-area-inset-top,0px))}
@media(max-width:370px){.site-header{height:calc(65px + env(safe-area-inset-top,0px))}.category-circle{width:47px;height:47px}}
@media(min-width:600px){.site-header{height:calc(90px + env(safe-area-inset-top,0px));padding-top:calc(6px + env(safe-area-inset-top,0px))}.brand{top:calc(8px + env(safe-area-inset-top,0px))}}

/* V1.3 — checkout, légal et micro-interactions */
.cart-fly{position:fixed;z-index:120;width:40px;height:40px;object-fit:cover;border-radius:12px;pointer-events:none;box-shadow:0 8px 24px #0003;border:2px solid #fff}.primary.added{background:#6e8f7b}.primary.added svg{width:18px;height:18px}.checkout-sheet{max-height:92dvh}.checkout-form{display:grid;gap:16px}.checkout-form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}.checkout-form legend{font:20px/1.2 Georgia,serif;margin-bottom:8px}.checkout-form label:not(.choice):not(.consent){display:grid;gap:6px;font-size:13px}.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px;font:15px var(--sans);color:var(--ink)}.checkout-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:15px;padding:12px;background:#fff}.choice input{width:18px;height:18px;margin-top:2px;accent-color:var(--rose)}.choice span{display:grid;gap:2px}.choice strong{font-size:14px}.choice small{font-size:12px;color:var(--muted);line-height:1.35}.consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45;color:var(--muted)}.consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--rose)}.consent a{text-decoration:underline;color:var(--rose-dark)}.checkout-preview{margin-top:20px;padding:16px;border-radius:16px;background:#faf3ef;border:1px solid var(--line)}.checkout-preview h3{font:21px Georgia,serif;margin-bottom:12px}.checkout-preview>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.checkout-preview .checkout-grand-total{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font-size:18px}.legal-view{padding-bottom:45px}.legal-warning{background:#fff3e9}.legal-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px 16px;margin-bottom:12px}.legal-card summary{font:18px Georgia,serif;list-style:none;display:flex;justify-content:space-between;gap:10px}.legal-card summary::-webkit-details-marker{display:none}.legal-card summary:after{content:'+';font:22px var(--sans);color:var(--rose)}.legal-card[open] summary:after{content:'−'}.legal-copy{display:grid;gap:10px;margin-top:13px;font-size:13px;line-height:1.55;color:#4d4945}.legal-copy a{text-decoration:underline;color:var(--rose-dark)}
@media(max-width:370px){.form-grid{grid-template-columns:1fr}.checkout-form input,.checkout-form select,.checkout-form textarea{font-size:16px}}

.checkout-error{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff0f0;border:1px solid #e8b9b9;color:#8b3131;font-size:13px;line-height:1.4}


/* V1.5 — Mondial Relay / Sendcloud */
.relay-picker{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:#fffaf7;padding:13px;display:grid;gap:10px}.relay-picker[hidden]{display:none}.relay-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.relay-picker-head>div{display:grid;gap:3px}.relay-picker-head strong{font:17px Georgia,serif}.relay-picker-head small,.relay-hint{font-size:12px;line-height:1.4;color:var(--muted)}.relay-search{padding:8px 12px;white-space:nowrap}.relay-results{display:grid;gap:8px;max-height:320px;overflow:auto;-webkit-overflow-scrolling:touch}.relay-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px;color:var(--ink)}.relay-card.selected{border-color:var(--rose);box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 18%,transparent);background:#fff7f7}.relay-main{min-width:0;display:grid;gap:3px}.relay-main strong{font-size:13px}.relay-main small{font-size:11px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}.relay-distance{font-size:11px;font-weight:700;color:var(--green);white-space:nowrap}.address-fields{display:grid;gap:10px;margin-top:10px}
@media(max-width:370px){.relay-picker-head{align-items:stretch;flex-direction:column}.relay-search{width:100%}}

/* V1.5.2 — logo officiel Florette */
.brand:has(#brandLogo:not([hidden])){width:214px;top:0;display:flex;align-items:center;justify-content:center;height:70px;overflow:visible}
.brand #brandLogo:not([hidden]){width:100%;height:68px;object-fit:contain;object-position:center;filter:none}
@media(max-width:370px){
  .brand:has(#brandLogo:not([hidden])){width:178px;height:65px;left:47%;top:0}
  .brand #brandLogo:not([hidden]){height:62px}
}
@media(min-width:600px){
  .brand:has(#brandLogo:not([hidden])){width:270px;height:90px;top:0}
  .brand #brandLogo:not([hidden]){height:86px}
}


/* V1.6.0 — demandes de créations sur mesure */
.custom-view{padding-bottom:24px}.custom-hero-card{position:relative;overflow:hidden;margin:4px 0 14px;padding:22px 18px 18px;border:1px solid #eaded7;border-radius:18px;background:linear-gradient(145deg,#fffaf7 0%,#f8e7e5 100%);box-shadow:0 8px 24px #6f4a3a0a}.custom-hero-card .eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--rose-dark);margin-bottom:4px}.custom-hero-card h2{font:29px/1.05 Georgia,'Times New Roman',serif;margin-bottom:8px}.custom-hero-card>p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:560px}.custom-heart{position:absolute;right:18px;top:12px;font:42px/1 var(--script);color:#d99ca5;transform:rotate(-12deg)}.custom-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:18px}.custom-steps span{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:9px;color:#625c58}.custom-steps b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff8f5;border:1px solid #e9cdd0;color:var(--rose-dark);font-size:11px}.custom-request-form{background:#fffdfa;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:18px}.custom-request-form fieldset{border:0;padding:0;margin:0 0 18px}.custom-request-form legend{font:19px Georgia,'Times New Roman',serif;margin-bottom:12px}.custom-request-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-bottom:11px}.custom-request-form input,.custom-request-form textarea{width:100%;border:1px solid #e6dcd6;background:#fff;border-radius:10px;padding:11px 12px;font:14px/1.35 var(--sans);min-height:44px}.custom-request-form textarea{resize:vertical}.custom-request-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.custom-request-form .consent{flex-direction:row;align-items:flex-start;gap:9px;font-size:11px}.custom-request-form .consent input{width:18px;min-height:18px;flex:none;margin-top:1px}.custom-request-form .consent a{text-decoration:underline}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.custom-no-payment{display:flex;justify-content:center;align-items:center;gap:7px;text-align:center;color:var(--muted);font-size:11px;margin-top:10px}.custom-no-payment svg{width:16px;height:16px;color:var(--rose)}.custom-created{background:#edf3eb;border:1px solid #d4e3d0;border-radius:16px;padding:20px 17px;text-align:center;margin:16px 0}.custom-success-icon{display:grid;place-items:center;margin:0 auto 8px;width:42px;height:42px;border-radius:50%;background:#dcebd8;color:#3f674b;font-size:22px}.custom-created h2{font:25px Georgia,'Times New Roman',serif}.custom-created>p{color:var(--muted);font-size:12px;margin:7px 0 14px}.custom-reference{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:10px;padding:10px 13px;margin:12px 0}.custom-reference span{font-size:11px;color:var(--muted)}.custom-reference strong{font-size:19px}.custom-created .secondary{margin-top:8px}.custom-tracking-section{margin-top:18px}.custom-saved-list{display:grid;gap:7px;margin-bottom:11px}.custom-saved-card{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fffdfb;padding:12px 13px}.custom-saved-card span{display:flex;flex-direction:column;min-width:0}.custom-saved-card small{color:var(--muted);font-size:10px}.custom-saved-card b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-saved-card svg{width:18px;height:18px}.custom-tracking{margin-top:10px}.custom-status-card{border:1px solid #e8ded8;background:#fffdfb;border-radius:16px;padding:16px}.custom-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.custom-status-head small{font-size:10px;color:var(--muted)}.custom-status-head h3{font:22px/1.15 Georgia,'Times New Roman',serif;margin-top:2px}.custom-status-badge{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:10px;background:#f2e7e1;color:#735f56}.custom-status-badge.status-quoted,.custom-status-badge.status-accepted,.custom-status-badge.status-in_production,.custom-status-badge.status-balance_due{background:#e7ecf2;color:#3f5975}.custom-status-badge.status-deposit_paid,.custom-status-badge.status-paid,.custom-status-badge.status-completed{background:#e3efe3;color:#426749}.custom-status-badge.status-new,.custom-status-badge.status-deposit_pending{background:#f6e2e5;color:#8b4e5b}.custom-request-description{font-size:12px;color:#5f5a56;margin:14px 0;line-height:1.55}.custom-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.custom-details-grid>div{background:#faf5f1;border-radius:9px;padding:9px}.custom-details-grid small,.custom-details-grid b{display:block}.custom-details-grid small{font-size:9px;color:var(--muted);margin-bottom:2px}.custom-details-grid b{font-size:11px;font-weight:500}.custom-quote{margin-top:15px;padding:15px;border-radius:13px;background:#f8e9e7;border:1px solid #ebced0}.custom-quote .eyebrow{font-size:9px;letter-spacing:2px;color:#985666}.custom-quote-total{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:5px 0 12px}.custom-quote-total span{font-size:12px}.custom-quote-total strong{font:29px Georgia,'Times New Roman',serif}.custom-quote-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}.custom-quote-split>span{background:#fff9f7;border-radius:9px;padding:9px}.custom-quote-split small,.custom-quote-split b{display:block}.custom-quote-split small{font-size:9px;color:var(--muted)}.custom-quote-split b{font:18px Georgia,'Times New Roman',serif;margin-top:2px}.custom-quote-note{font-size:12px;line-height:1.5;margin:10px 0}.custom-decision{display:grid;gap:8px;margin-top:13px}.custom-positive{margin-top:12px;background:#edf4ea;color:#42674c;border-radius:9px;padding:9px;font-size:11px}.custom-history-note{display:flex;gap:8px;align-items:flex-start;margin-top:14px;color:var(--muted);font-size:11px}.custom-history-note svg{width:17px;height:17px;color:var(--rose);margin-top:1px}
@media(max-width:420px){.custom-request-form .form-grid,.custom-details-grid{grid-template-columns:1fr}.custom-steps{gap:2px}.custom-steps span{font-size:8px}.custom-status-head{flex-direction:column}.custom-status-badge{align-self:flex-start}}



/* V1.6.1 — vraie mise en page ordinateur, sans toucher au rendu mobile */
@media(min-width:1024px){
  :root{--nav-height:0px}
  html{scroll-padding-top:24px}
  body{max-width:none;margin:0;background:#f7f4f1;box-shadow:none;padding-bottom:0;font-size:16px}

  .site-header{
    position:relative;
    top:auto;
    height:104px;
    width:min(1280px,calc(100% - 64px));
    margin:0 auto;
    padding:0 24px;
    display:grid;
    grid-template-columns:250px minmax(0,1fr) auto;
    gap:28px;
    border-bottom:1px solid #eee3dc;
    box-shadow:0 10px 30px #4b302008;
    border-radius:0 0 18px 18px;
  }
  .menu-button{display:none}
  .site-header .brand,
  .site-header .brand:has(#brandLogo:not([hidden])){
    position:static;
    transform:none;
    left:auto;
    top:auto;
    width:235px;
    height:98px;
    justify-self:start;
    align-self:center;
  }
  .site-header .brand #brandLogo:not([hidden]){height:94px;width:235px}
  .desktop-nav{display:flex;align-items:center;justify-content:center;gap:30px;min-width:0;height:100%}
  .desktop-nav a{position:relative;padding:11px 2px;font-size:14px;white-space:nowrap;color:#514c48;transition:color .18s ease}
  .desktop-nav a:hover{color:var(--rose-dark)}
  .desktop-nav a[aria-current=page]{color:var(--rose-dark);font-weight:600}
  .desktop-nav a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:3px;background:var(--rose)}
  .header-actions{gap:4px;justify-self:end}
  .header-actions .icon-button{width:44px;height:44px;border-radius:50%}
  .header-actions .icon-button:hover{background:#f6ece8}
  .header-actions svg{width:24px;height:24px}

  #homeView{width:min(1280px,calc(100% - 64px));margin:0 auto 48px;background:var(--paper);box-shadow:0 18px 50px #4b30200a;border-radius:0 0 24px 24px;overflow:hidden}
  .hero{height:430px}
  .hero-copy{top:48px;left:5.5%;width:37%;max-width:440px}
  .hero h1{font-size:58px;line-height:.93}
  .hero p{font-size:17px;line-height:1.35;margin-top:14px;margin-bottom:22px;max-width:340px}
  .hero-cta{font-size:15px;padding:12px 20px}
  

  .univers{padding:30px 58px 24px}
  .category-grid{gap:22px}
  .category{font-size:14px;gap:10px}
  .category-circle{width:88px;height:88px;transition:transform .18s ease,box-shadow .18s ease}
  .category:hover .category-circle{transform:translateY(-3px);box-shadow:0 8px 20px #5b3b2812}
  .category-circle svg{width:45px;height:45px}
  .category-label{min-height:38px}

  .new-products{padding:8px 52px 32px}
  .section-title{margin-bottom:18px}
  .section-title h2{font-size:32px}
  .view-all{font-size:14px}
  .product-row{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-columns:auto;gap:18px;overflow:visible;padding-bottom:0}
  .product-card{border-radius:14px;box-shadow:0 8px 24px #4b30200b;transition:transform .18s ease,box-shadow .18s ease}
  .product-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #4b302014}
  .product-picture{aspect-ratio:1.15}
  .card-copy{padding:13px 14px 15px}
  .card-copy h3{font-size:14px;margin-bottom:5px}
  .card-price{font-size:15px}

  .gift{margin:0 52px 22px;height:255px;border-radius:16px}
  .gift-copy{left:52%;top:17%;width:42%}
  .gift h2{font-size:52px}
  .gift p{font-size:16px;max-width:390px;margin:10px 0 13px 12px}
  .gift .primary{font-size:14px;padding:10px 18px}
  .trust{margin:0 52px 32px;padding:18px 24px;min-height:78px;border-radius:14px;gap:18px}
  .trust>div{gap:12px}
  .trust span{font-size:13px}
  .trust svg{width:34px;height:34px}

  .bottom-nav{display:none}

  .inner-view{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:42px 34px 72px;min-height:calc(100vh - 104px)}
  .page-heading{margin-bottom:28px}
  .page-heading h1{font-size:38px}
  .page-heading>.icon-button{display:none}
  .search-field{max-width:720px;margin-bottom:20px}
  .filter-row{overflow:visible;flex-wrap:wrap;padding-bottom:16px}
  .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
  .category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .category-list>a{padding:18px;border-radius:16px}
  .account-card{max-width:760px;margin:30px auto;padding:44px 38px}
  .legal-view{max-width:980px}

  .custom-view{max-width:1080px}
  .custom-hero-card{padding:34px 34px 28px;border-radius:22px;margin-bottom:22px}
  .custom-hero-card h2{font-size:38px}
  .custom-hero-card>p:not(.eyebrow){font-size:15px;max-width:720px}
  .custom-steps{margin-top:26px;gap:14px}
  .custom-steps span{font-size:12px}
  .custom-steps b{width:34px;height:34px;font-size:13px}
  .custom-request-form{padding:28px 30px;border-radius:20px}
  .custom-request-form legend{font-size:23px}
  .custom-request-form label{font-size:13px}
  .custom-request-form input,.custom-request-form textarea{font-size:15px;padding:13px 14px}
  .custom-request-form .form-grid{gap:16px}
  .custom-details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .custom-status-card{padding:24px;border-radius:20px}

  .sheet{border-radius:22px;width:min(720px,calc(100% - 56px));max-width:none;max-height:86vh;margin:auto;padding:24px 28px;background:var(--paper);box-shadow:0 24px 80px #1b120d24}
  .checkout-sheet{width:min(860px,calc(100% - 56px))}
  .product-sheet{width:min(760px,calc(100% - 56px))}
  .sheet-heading{margin-bottom:22px}
  .sheet-heading h2{font-size:31px}
  .toast{bottom:28px}
}

@media(min-width:1400px){
  .site-header,#homeView{width:min(1360px,calc(100% - 96px))}
  .inner-view{width:min(1240px,calc(100% - 96px))}
  .hero{height:455px}
  .hero-copy{left:6%;top:54px}
}

/* V1.8.0 — Espace client Google / OTP */
.account-view{max-width:760px;margin:0 auto}.account-loading,.account-empty{padding:28px 18px;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fffdfb;color:var(--muted)}
.account-auth-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdfb 0%,#f9ece9 100%);border:1px solid #ecdcd7;border-radius:22px;padding:29px 18px 22px;text-align:center;box-shadow:0 10px 26px #6a40300a}.account-auth-card:before,.account-auth-card:after{content:'♡';position:absolute;color:#dca0a7;font:38px var(--script);opacity:.48}.account-auth-card:before{left:12px;top:9px;transform:rotate(-15deg)}.account-auth-card:after{right:12px;bottom:8px;transform:rotate(14deg)}.account-auth-mark{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;margin:0 auto 9px;background:#f5dddf;color:var(--rose-dark);font:31px/1 var(--script)}.account-auth-card .eyebrow,.account-section .eyebrow{font-size:9px;letter-spacing:2.2px;color:#a25d6b}.account-auth-card h2{font:27px/1.16 Georgia,'Times New Roman',serif;margin:4px 0 9px}.account-auth-card>p:not(.eyebrow):not(.account-privacy){max-width:470px;margin:0 auto 18px;color:#6f6561;font-size:13px}.google-button{min-height:48px;border-radius:25px;background:#fff;border:1px solid #ded8d4;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500;box-shadow:0 3px 10px #4b30200d}.google-g{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:bold 16px Arial,sans-serif;color:#4285f4;background:#fff}.account-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#9b8f89;font-size:11px}.account-divider:before,.account-divider:after{content:'';height:1px;background:#e8dcd6;flex:1}.account-email-form,.account-otp-form,.account-profile-form{display:grid;gap:11px;text-align:left}.account-email-form label,.account-otp-form label,.account-profile-form label{display:flex;flex-direction:column;gap:6px;font-size:12px}.account-email-form input,.account-otp-form input,.account-profile-form input{width:100%;border:1px solid #e3d7d1;background:#fff;border-radius:12px;padding:12px 13px;min-height:46px;font:15px var(--sans)}.account-privacy{font-size:10.5px!important;color:#8c817c!important;margin:12px auto 0!important}.account-otp-form{margin-top:16px;padding:15px;border-radius:15px;background:#fff8f6;border:1px solid #eed6d7}.account-otp-form p{font-size:12px;color:#6d625e;text-align:center}.account-otp-form input{text-align:center;font-size:24px;letter-spacing:7px;font-variant-numeric:tabular-nums}.link-button{padding:5px;color:var(--rose-dark);text-decoration:underline;background:none;border:0;font-size:12px}.account-guest-links{display:grid;grid-template-columns:1fr;gap:8px;margin:13px 0}.account-guest-links a,.account-guest-links button{min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:#fffdfb;text-align:center;font-size:12px;color:#735d57}
.account-welcome{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:17px;border:1px solid #eadbd5;border-radius:18px;background:linear-gradient(135deg,#f9e8e7,#f5efe8)}.account-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rose-dark);font:25px Georgia,serif;box-shadow:0 3px 12px #7d4a4520}.account-welcome small{font-size:10px;color:#8a7b75}.account-welcome h2{font:23px Georgia,serif}.account-welcome p{font-size:11px;color:#6f6561;overflow:hidden;text-overflow:ellipsis}.account-welcome .link-button{white-space:nowrap}.account-error{margin:12px 0;padding:11px 12px;border-radius:11px;background:#fff0ef;color:#934f57;border:1px solid #f0cdd0;font-size:12px}.account-section{margin-top:20px}.account-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 10px}.account-section-title h2{font:24px Georgia,serif;margin-top:2px}.icon-refresh{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid #e5d8d1;background:#fff;color:var(--rose-dark);font-size:22px}.account-list{display:grid;gap:11px}.account-order-card,.account-custom-card{background:#fffdfb;border:1px solid #e9ded8;border-radius:16px;padding:15px;box-shadow:0 5px 16px #5b382008}.account-order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.account-order-head>div{display:flex;flex-direction:column;min-width:0}.account-order-head small{color:#897c76;font-size:10px}.account-order-head strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}.account-status{flex:none;border-radius:999px;padding:5px 8px;font-size:9px;background:#f1e7e2;color:#765f57}.account-status.status-shipped,.account-status.status-ready,.account-status.status-completed,.account-status.status-paid,.account-status.status-deposit_paid{background:#e4efe4;color:#42674a}.account-status.status-new_paid,.account-status.status-to_prepare,.account-status.status-in_production,.account-status.status-quoted,.account-status.status-accepted,.account-status.status-balance_due{background:#e7ecf3;color:#435c75}.account-status.status-cancelled,.account-status.status-refunded,.account-status.status-declined{background:#f5e7e7;color:#8a5559}.account-order-items{margin:12px 0;padding:10px 0;border-top:1px dashed #e8ddd6;border-bottom:1px dashed #e8ddd6}.account-order-items>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:11px}.account-order-items small{color:#8b7d76}.account-order-items b{white-space:nowrap}.account-order-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:11px;color:#6f6460}.account-order-meta span{min-width:0}.account-order-meta strong{font:17px Georgia,serif;color:#3d3532;white-space:nowrap}.account-track{margin-top:11px}.account-tracking-number,.account-link-note{margin-top:9px;padding:8px 9px;border-radius:9px;background:#faf4f1;font-size:10px;color:#786b65}.account-custom-card>p{margin:10px 0;color:#6b625e;font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.account-custom-card .secondary{margin-top:11px}.account-profile-form{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fffdfb}.account-profile-form small{color:#8a7d77;font-size:9px}.account-profile-form input:disabled{background:#f7f2ef;color:#7c716c}.account-button.is-signed-in:after,.bottom-nav [data-nav=account].is-signed-in:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#5c8b68;border:1px solid #fff}.account-button.is-signed-in:after{right:2px;top:5px}.bottom-nav [data-nav=account]{position:relative}.bottom-nav [data-nav=account].is-signed-in:after{top:4px;right:calc(50% - 16px)}
@media(min-width:600px){.account-guest-links{grid-template-columns:repeat(3,1fr)}.account-auth-card{padding:38px 35px}.account-profile-form{padding:20px}.account-list{grid-template-columns:repeat(2,minmax(0,1fr))}.account-order-card,.account-custom-card{display:flex;flex-direction:column}.account-order-meta{margin-top:auto}}
@media(max-width:380px){.account-welcome{grid-template-columns:auto 1fr}.account-welcome .link-button{grid-column:1/-1;justify-self:start}.account-order-head{flex-direction:column}.account-status{align-self:flex-start}}


/* V1.8.1 — stock visible et panier auto-corrigé */
.card-stock{margin-top:4px;font-size:12px;font-weight:600;color:var(--green)}
.card-stock.unavailable{color:var(--rose-dark)}
.cart-stock-alert{margin:2px 0 10px;padding:12px 14px;border:1px solid #e4b9b6;border-radius:14px;background:#fff0ef;color:#854d50;font-size:13px;line-height:1.45}
.cart-stock-alert[hidden]{display:none}

/* V1.9.4 — personnalisation produit */
.personalization-box{margin:18px 0;padding:16px;border:1px solid #ead8dd;border-radius:16px;background:#fffafa}
.personalization-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.personalization-head>span{font-size:11px;color:var(--muted);text-align:right;max-width:120px}
.personalization-fields{display:grid;gap:12px}
.personalization-fields label{display:grid;gap:6px;font-size:13px;color:#66585b}
.custom-field-label{display:inline-flex;align-items:baseline;gap:3px;color:#66585b}
.required-mark{color:#b55f72;font-weight:600}
.personalization-fields input,.personalization-fields textarea,.personalization-fields select{width:100%;border:1px solid #e7dadd;border-radius:11px;background:#fff;padding:12px 13px;font:16px var(--sans);color:var(--ink)}
.personalization-fields textarea{resize:vertical;min-height:88px}
.personalization-fields input:focus,.personalization-fields textarea:focus,.personalization-fields select:focus{outline:2px solid #efd0d7;outline-offset:1px;border-color:#c98a98}
.cart-options{display:grid;gap:2px;margin:7px 0 4px;padding:8px 10px;border-radius:9px;background:#fbf1f3;color:#675b5e;font-size:11px;line-height:1.35}
.cart-options span{display:block;overflow-wrap:anywhere}
.cart-options b{font-weight:600;color:#9e5a69}
.account-item-options{display:block!important;margin-top:3px;color:#846d73;font-size:10px!important;line-height:1.35}

/* V1.9.4 — verrouillage anti-glissement horizontal iPhone/Safari. */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* V1.9.4 — verrouillage du zoom iPhone/Safari.
   Les champs restent à 16px minimum pour empêcher le zoom automatique au focus. */
html,body{touch-action:pan-x pan-y}
@supports (-webkit-touch-callout:none){
  input,select,textarea{font-size:16px!important}
}

/* V1.9.5 — Mon espace Florette · Maquette 1 « Douce & florale » */
.account-view{position:relative;isolation:isolate;padding-bottom:38px}
.account-view:before,.account-view:after{content:'';position:absolute;z-index:-1;pointer-events:none;background:url('assets/floral-sprig.svg') center/contain no-repeat;opacity:.12}
.account-view:before{width:120px;height:180px;right:-36px;top:88px;transform:rotate(14deg)}
.account-view:after{width:100px;height:150px;left:-44px;top:470px;transform:rotate(202deg)}
.account-view .page-heading{position:relative;margin-bottom:20px;padding-bottom:8px}
.account-view .page-heading:after{content:'Merci d’être ici ♡';position:absolute;left:39px;bottom:-9px;font:20px/1 var(--script);color:#b86a74;letter-spacing:.2px}
.account-view .page-heading h1{font-size:31px;letter-spacing:-.5px}

.account-welcome-floral{position:relative;overflow:hidden;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:20px 18px;border-color:#ead1ce;background:linear-gradient(118deg,#fae9e8 0%,#fff9f6 62%,#f6e6e2 100%);box-shadow:0 10px 28px #8e5f5213}
.account-welcome-floral:after{content:'';position:absolute;right:-18px;bottom:-36px;width:120px;height:150px;background:url('assets/floral-sprig.svg') center/contain no-repeat;opacity:.20;transform:rotate(-17deg);pointer-events:none}
.account-welcome-floral .account-avatar{width:62px;height:62px;border:2px solid #fff;background:linear-gradient(145deg,#fff,#f7dadd);font-size:31px;box-shadow:0 7px 20px #9c606424}
.account-welcome-copy{min-width:0;position:relative;z-index:1}
.account-welcome-copy small{display:block;color:#a96570;letter-spacing:1.8px;font-size:8px;margin-bottom:3px}
.account-welcome-copy h2{font-size:27px;line-height:1.05;margin-bottom:3px}
.account-welcome-copy p{font-size:12px}
.account-logout{position:relative;z-index:1;display:inline-flex;align-items:center;gap:4px;color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px;font-size:11px;white-space:nowrap;padding:8px 0}
.account-logout svg{width:15px;height:15px}

.account-section-soft{margin-top:22px}
.account-section-soft .account-section-title{align-items:center;margin-bottom:11px}
.account-section-heading{display:flex;align-items:center;gap:11px;min-width:0}
.account-section-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fae6e4,#f7eeee);color:#b55f6b;border:1px solid #f0d8d5;box-shadow:0 4px 12px #8152400b}
.account-section-icon svg{width:24px;height:24px;stroke-width:1.45}
.account-section-soft .account-section-title h2{font-size:27px;line-height:1.05}
.account-section-soft .eyebrow{font-size:8.5px;letter-spacing:2.3px;margin-bottom:2px}
.account-profile-note{font:18px/1 var(--script);color:#b56c75;white-space:nowrap}
.icon-refresh{width:38px;height:38px;background:#fffaf8;border-color:#ecd9d4;box-shadow:0 3px 10px #7b54400a}
.icon-refresh svg{width:19px;height:19px}

.account-empty-pretty{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;text-align:left;padding:17px 16px;border-color:#eadbd5;background:linear-gradient(135deg,#fffdfb 0%,#fff8f6 100%);box-shadow:0 6px 20px #6f49300a;color:#635b57}
.account-empty-pretty:after{content:'♡';position:absolute;right:14px;top:7px;font:32px/1 var(--script);color:#e0a7ad;opacity:.44;transform:rotate(12deg)}
.account-empty-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f9e6e6;color:#ae5966}
.account-empty-icon svg{width:23px;height:23px}
.account-empty-pretty strong{display:block;color:#3b3532;font:16px/1.25 Georgia,'Times New Roman',serif;margin-bottom:3px}
.account-empty-pretty p{font-size:11px;line-height:1.4;color:#81746f}
.account-empty-action{grid-column:1/-1;justify-self:stretch;display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 13px;border-radius:22px;background:#f4d9dc;color:#9f4f5b;font-size:11px;border:1px solid #efd1d5}
.account-empty-action svg{width:16px;height:16px}

.account-script-divider{display:flex;align-items:center;gap:10px;margin:19px 4px 3px;color:#b06a73}
.account-script-divider:before,.account-script-divider:after{content:'';height:1px;background:#e8d3cd;flex:1}
.account-script-divider span{font:20px/1 var(--script);white-space:nowrap}

.account-order-card,.account-custom-card{border-color:#ead8d2;background:linear-gradient(180deg,#fffdfb,#fffaf8);box-shadow:0 7px 22px #70492d0b}
.account-order-card:hover,.account-custom-card:hover{border-color:#dfc6c0}
.account-item-options{margin-top:5px!important;padding:7px 9px;border-radius:9px;background:#fbf0f2;color:#835e66!important;font-size:10.5px!important}

.account-profile-form{position:relative;overflow:hidden;padding:17px;border-color:#ead9d3;background:linear-gradient(180deg,#fffdfc,#fff8f6);box-shadow:0 8px 24px #774c3508}
.account-profile-form:after{content:'';position:absolute;right:-36px;bottom:-53px;width:105px;height:135px;background:url('assets/floral-sprig.svg') center/contain no-repeat;opacity:.10;transform:rotate(-17deg);pointer-events:none}
.account-profile-form label{position:relative;z-index:1}
.account-profile-form input{border-color:#e8d7d1;background:#fffdfc;box-shadow:inset 0 1px 0 #fff}
.account-profile-form input:focus{border-color:#d59ca4;outline:2px solid #f4d8dc;outline-offset:1px}
.account-profile-form input:disabled{background:#f8f2ef;color:#8a7e79}
.account-save-profile{position:relative;z-index:1;min-height:46px;margin-top:2px;background:linear-gradient(90deg,#c86f78,#c57980);box-shadow:0 6px 16px #b85f6c22}
.account-save-profile svg{width:17px;height:17px;fill:#ffffff22}
.account-install-help{margin-top:8px;padding:15px 6px;color:#716761;border-bottom-color:#eadbd5}
.account-install-help summary{color:#9e5b65}

@media(max-width:430px){
  .account-welcome-floral{grid-template-columns:auto minmax(0,1fr);padding:17px 15px}
  .account-welcome-floral .account-avatar{width:56px;height:56px;font-size:28px}
  .account-logout{grid-column:1/-1;justify-self:end;margin-top:-3px;padding:2px 0 0}
  .account-section-soft .account-section-title h2{font-size:25px}
  .account-profile-note{display:none}
}
@media(max-width:350px){
  .account-view .page-heading h1{font-size:27px}
  .account-section-icon{width:40px;height:40px}
  .account-script-divider span{font-size:17px}
}
@media(min-width:600px){
  .account-welcome-floral{padding:24px 25px}
  .account-welcome-floral .account-avatar{width:72px;height:72px;font-size:35px}
  .account-section-icon{width:50px;height:50px}
  .account-empty-pretty{min-height:142px;padding:20px 22px}
}

/* V1.9.7 — Connexion e-mail + mot de passe sécurisé */
.account-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin:0 0 14px;background:#f7eeeb;border:1px solid #eadbd6;border-radius:14px}.account-auth-tabs button{min-height:40px;border:0;border-radius:10px;background:transparent;color:#766964;font:600 12px var(--sans);transition:.18s ease}.account-auth-tabs button.active{background:#fff;color:var(--rose-dark);box-shadow:0 3px 12px #6d423017}.account-password-form{gap:10px}.account-password-form input[type="password"]{letter-spacing:.03em}.account-forgot{justify-self:center;margin-top:-2px}.account-password-rules{list-style:none;margin:-2px 0 2px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;background:#fff9f7;border:1px solid #eedfda;border-radius:12px;text-align:left}.account-password-rules li{display:flex;align-items:center;gap:6px;color:#8f817c;font-size:10.5px;line-height:1.25}.account-password-rules li span{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#f1e8e4;color:#9d8d86;font-size:10px;font-weight:700;flex:none}.account-password-rules li.is-valid{color:#55745c}.account-password-rules li.is-valid span{background:#e4f0e7;color:#3f6f4b}.account-auth-step{margin-top:5px}.account-auth-step h3{margin:8px 0 7px;font:22px/1.15 Georgia,'Times New Roman',serif;color:#302b29}.account-auth-step>p{margin:0 auto 14px!important;font-size:12px!important;color:#766a65!important;max-width:430px}.account-step-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#f4dddf;color:#a65362;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.account-auth-step .account-otp-form{margin-top:10px}.account-auth-step .account-email-form{margin-top:12px}.account-auth-card button:disabled{opacity:.58;cursor:wait}
@media(max-width:420px){.account-password-rules{grid-template-columns:1fr}}

/* V2.0.1 — paiement du solde sur mesure */
.custom-balance-box{margin-top:14px;padding:13px;border-radius:12px;background:#fffaf7;border:1px solid #eadbd5}.custom-balance-box h4{font:18px Georgia,serif;margin:3px 0 5px}.custom-balance-box>.muted{font-size:11px;margin-bottom:10px}.custom-balance-address{display:grid;gap:8px}.custom-balance-address>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.custom-balance-address label{display:grid;gap:5px;font-size:10px;color:var(--muted)}.custom-balance-address input{width:100%;min-height:42px;border:1px solid #e6dcd6;background:#fff;border-radius:10px;padding:10px 11px;font:14px/1.3 var(--sans);color:var(--ink)}.custom-balance-box .relay-search{margin-top:10px}.custom-balance-box .relay-results{margin-top:8px}.custom-balance-box .relay-hint{display:block;margin-top:8px}.account-custom-card [data-account-custom-access]{margin-top:9px}@media(max-width:420px){.custom-balance-address>div{grid-template-columns:1fr}}


.account-device-privacy{padding:16px}
.account-private-toggle{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid #eadbd5;border-radius:14px;background:#fffdfb;cursor:pointer}
.account-private-toggle input{width:20px;height:20px;margin-top:1px;accent-color:#a25d6b;flex:0 0 auto}
.account-private-toggle span{display:grid;gap:4px;text-align:left}
.account-private-toggle strong{font-size:13px;color:#594b47}
.account-private-toggle small,.account-private-note{font-size:11px;line-height:1.45;color:#83756f}
.account-forget-private{margin-top:10px}
.account-private-note{margin:10px 3px 0}


/* V2.0.13 — pass de retrait sécurisé */
.account-pickup-pass{margin-top:12px;padding:13px;border:1px solid #e6cbd1;border-radius:14px;background:linear-gradient(145deg,#fff8f8,#fffdfb);box-shadow:0 5px 15px #8256600a}.account-pickup-copy{display:flex;gap:9px;align-items:flex-start}.account-pickup-heart{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;background:#f4dde2;color:#a45767;font:20px Georgia,serif}.account-pickup-copy>div{display:grid;gap:2px}.account-pickup-copy small,.account-pickup-pass-body small{font-size:8.5px;letter-spacing:1px;color:#9d626f}.account-pickup-copy strong{font:18px Georgia,serif;color:#463b37}.account-pickup-copy p{font-size:10px;line-height:1.45;color:#766762}.account-pickup-pass-body{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:center;margin-top:12px;padding:11px;border-radius:12px;background:#fff;border:1px solid #eee1dc}.account-pickup-pass-body img{width:118px;height:118px;object-fit:contain;border-radius:8px;background:#fff}.account-pickup-pass-body>div{display:grid;gap:5px}.account-pickup-pass-body b{font:700 26px/1.1 Georgia,serif;letter-spacing:2.5px;color:#3f3632}.account-pickup-pass-body p,.account-pickup-security{font-size:9.5px;line-height:1.4;color:#81736d}.account-pickup-security{margin-top:9px!important;text-align:center}.account-custom-card .account-pickup-pass{margin-top:12px}@media(max-width:390px){.account-pickup-pass-body{grid-template-columns:1fr;text-align:center}.account-pickup-pass-body img{justify-self:center;width:145px;height:145px}.account-pickup-pass-body b{font-size:28px}}


/* FLORETTE CLIENT V2.0.14 — Promotions */
.promotion-banner{margin:10px var(--gutter,16px) 12px;padding:12px 15px;border:1px solid #edced6;border-radius:18px;background:linear-gradient(135deg,#fff4f6,#fffaf6);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;color:#6d3845;box-shadow:0 8px 24px rgba(113,67,77,.07)}
.promotion-banner[hidden]{display:none!important}.promotion-banner strong{font-size:13px}.promotion-banner span{font-size:13px}
.promo-price{display:flex!important;align-items:baseline;gap:7px;flex-wrap:wrap}.promo-price .old-price{text-decoration:line-through;color:#9b8c90;font-size:.86em;font-weight:500}.promo-price strong{color:#a24960}.promo-price em{font-style:normal;font-size:10px;font-weight:800;background:#f8e2e7;color:#8d4053;padding:3px 6px;border-radius:999px}
.detail-price.promo-price strong{font-size:1.12em}.detail-price.promo-price em{font-size:11px}
.cart-promo-row,.preview-discount{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;color:#9a465c}.cart-promo-row[hidden],.preview-discount[hidden]{display:none!important}.cart-promo-row strong,.preview-discount strong{color:#9a465c}.cart-total-after-promo{border-top:1px solid #eee1e4;margin-top:5px;padding-top:10px}
.promo-code-box{background:#fff8fa!important;border-color:#eed5db!important}.promo-code-box legend{color:#7d4654}.promo-code-message{margin:8px 0 0;padding:9px 11px;border-radius:10px;font-size:12px;line-height:1.4}.promo-code-message.success{background:#eef8f1;color:#3f7550}.promo-code-message.info{background:#fff7e9;color:#865f2d}.promo-code-message.error{background:#fff0f2;color:#9a4054}.promo-code-message[hidden]{display:none!important}
.account-order-promo{display:flex;justify-content:space-between;gap:10px;padding:9px 0;color:#994d61;border-top:1px dashed #ead7dc;border-bottom:1px dashed #ead7dc;font-size:12px}.account-order-promo b{white-space:nowrap}

/* FLORETTE CLIENT V2.0.14.1 — UI: suppression des faux points de carrousel et du contour visuel des titres focalisés par navigation. */

/* V2.0.15 — parcours « Créer mon cadeau » */
.gift-flow-view{padding-bottom:34px}.gift-page-heading{align-items:flex-start;margin-bottom:14px}.gift-page-heading>div{min-width:0}.gift-page-heading h1{font-size:30px;letter-spacing:-.5px}.gift-page-heading p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4;max-width:620px}.gift-inspiration{margin:2px 0 14px}.gift-inspiration-card,.gift-inspiration-generic{display:flex;align-items:center;gap:12px;border:1px solid #efdedb;border-radius:16px;background:linear-gradient(135deg,#fffaf8,#f9e9e8);padding:10px 12px;min-height:88px}.gift-inspiration-card img,.gift-inspiration-placeholder{width:74px;height:68px;border-radius:11px;object-fit:cover;background:#f6ece7;display:grid;place-items:center;flex:none}.gift-inspiration-placeholder svg{width:28px;height:28px;color:#bd8b8f}.gift-inspiration-card>div,.gift-inspiration-generic>div{display:flex;flex-direction:column;min-width:0}.gift-inspiration-card small,.gift-inspiration-generic small{font-size:9px;letter-spacing:1.1px;color:var(--rose-dark);text-transform:uppercase}.gift-inspiration-card b,.gift-inspiration-generic b{font:18px/1.2 Georgia,'Times New Roman',serif;margin:2px 0;overflow-wrap:anywhere}.gift-inspiration-card strong{font-size:16px}.gift-inspiration-generic>svg{width:34px;height:34px;color:var(--rose);flex:none}.gift-inspiration-generic span{font-size:11px;color:var(--muted);margin-top:3px}.gift-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:start;gap:5px;margin:18px 3px 20px}.gift-progress>span{display:grid;justify-items:center;gap:4px;color:var(--muted);font-size:9px;min-width:54px}.gift-progress>span b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:1px solid #eadbd5;background:#f8f1ed;font-size:12px;font-weight:500}.gift-progress>span.active{color:var(--rose-dark)}.gift-progress>span.active b{background:var(--rose);border-color:var(--rose);color:#fff}.gift-progress>span.done{color:var(--green)}.gift-progress>span.done b{background:#e5eee7;border-color:#ccdcd0;color:var(--green)}.gift-progress>i{height:1px;background:#e8dcd6;margin-top:15px}.gift-step-card{background:#fffdfb;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:12px}.gift-step-card.compact{padding-bottom:14px}.gift-step-title{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px}.gift-step-title>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:#fff;flex:none;font-size:14px}.gift-step-title h2{font:22px/1.12 Georgia,'Times New Roman',serif}.gift-step-title p{font-size:11px;color:var(--muted);margin-top:3px}.gift-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gift-choice-grid button{min-height:83px;border:1px solid #ecdeda;border-radius:14px;background:#fbf3f1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;color:#6b5550}.gift-choice-grid button:nth-child(3n){background:#f7f3ed}.gift-choice-grid button:nth-child(4){background:#eef3ee;color:#557063}.gift-choice-grid button svg{width:27px;height:27px;color:var(--rose-dark)}.gift-choice-grid button span{font-size:12px}.gift-choice-grid button.selected{background:#f3d9db;border-color:#d8929a;color:#8e4250;box-shadow:0 0 0 1px #d8929a inset}.gift-chips{display:flex;gap:7px;flex-wrap:wrap}.gift-chips button{border:1px solid #ead6d6;border-radius:999px;background:#fff;padding:8px 13px;min-height:38px;font-size:12px}.gift-chips button.selected{background:var(--rose);border-color:var(--rose);color:#fff}.gift-budget-chips button{flex:1 1 calc(50% - 8px)}.gift-error{margin:6px 0 0}.gift-main-cta{font-size:15px;min-height:48px}.gift-main-cta svg{width:19px;height:19px}.gift-customize-form,.gift-contact-form{background:#fffdfb;border:1px solid var(--line);border-radius:18px;padding:14px}.gift-customize-form>label{display:block;border:1px solid #eaded9;border-radius:12px;background:#fff;padding:9px 11px;margin-bottom:9px}.gift-customize-form>label>span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500}.gift-customize-form>label>span small{font-weight:400;color:var(--muted)}.gift-customize-form>label svg{width:20px;height:20px;color:var(--rose-dark)}.gift-customize-form input,.gift-customize-form textarea{display:block;width:100%;border:0;background:transparent;padding:6px 0 1px 27px;font:14px/1.4 var(--sans);outline:none;resize:vertical}.gift-customize-form .gift-notes textarea{min-height:94px}.gift-photo-note{display:flex;align-items:flex-start;gap:10px;border:1px dashed #ddb9ba;border-radius:13px;background:#fff9f7;padding:12px;margin:4px 0 12px}.gift-photo-note>svg{width:25px;height:25px;color:var(--rose-dark);flex:none}.gift-photo-note b,.gift-photo-note span{display:block}.gift-photo-note b{font-size:12px}.gift-photo-note span{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.4}.gift-recap-box{margin:12px 0;background:#fffdfb;border:1px solid var(--line);border-radius:18px;padding:15px}.gift-recap-box h2{font:23px/1.15 Georgia,'Times New Roman',serif;margin-bottom:10px}.gift-recap-list{display:grid}.gift-recap-list>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:11px;padding:9px 0;border-bottom:1px solid #f0e7e2}.gift-recap-list>div:last-child{border-bottom:0}.gift-recap-list span{font-size:11px;color:var(--muted)}.gift-recap-list b{font-size:12px;font-weight:500;overflow-wrap:anywhere}.gift-reassure{display:flex;gap:12px;align-items:flex-start;border-radius:17px;background:linear-gradient(135deg,#f9e5e4,#fff6f2);padding:15px;margin:12px 0}.gift-reassure>span{font:43px/1 var(--script);color:var(--rose);flex:none}.gift-reassure b{display:block;color:var(--rose-dark);font:18px/1.15 Georgia,'Times New Roman',serif}.gift-reassure p{font-size:11px;color:var(--muted);line-height:1.45;margin-top:4px}.gift-contact-form fieldset{border:0;padding:0;margin:0 0 12px}.gift-contact-form legend{font:20px Georgia,'Times New Roman',serif;margin-bottom:10px}.gift-contact-form label:not(.consent):not(.hp-field){display:flex;flex-direction:column;gap:5px;font-size:11px;margin-bottom:9px}.gift-contact-form input{width:100%;border:1px solid #e6dcd6;background:#fff;border-radius:10px;padding:10px 11px;font:14px var(--sans);min-height:43px}.gift-contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gift-contact-form .consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:var(--muted);line-height:1.4}.gift-contact-form .consent input{width:18px;height:18px;min-height:0;flex:none;margin-top:1px}.gift-contact-form .consent a{text-decoration:underline}.gift-response-note{display:flex;align-items:flex-start;justify-content:center;gap:7px;color:var(--muted);font-size:10px;line-height:1.4;text-align:left;margin:11px 5px 0}.gift-response-note svg{width:17px;height:17px;color:var(--rose);flex:none}.detail-rich{display:grid;gap:14px}.detail-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.detail-info-grid>div{background:#fbefed;border-radius:13px;padding:11px 8px;text-align:center;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center}.detail-info-grid svg{width:23px;height:23px;color:#725c54;margin-bottom:5px}.detail-info-grid small{font-size:9px;color:var(--muted)}.detail-info-grid b{font-size:11px;font-weight:500;margin-top:2px}.detail-custom-inspire{position:relative;overflow:hidden;border-radius:17px;background:linear-gradient(135deg,#fbe6e5,#fff3ef);padding:15px;margin:10px 0}.detail-custom-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.detail-custom-head .eyebrow{font-size:8px;letter-spacing:1.6px;color:var(--rose-dark)}.detail-custom-head h3{font:25px/1.05 var(--script);color:#a94b58;font-weight:400;margin-top:2px}.detail-custom-head>span{font:38px/1 var(--script);color:#ca7981}.detail-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.detail-custom-grid>div{display:flex;gap:7px;align-items:flex-start}.detail-custom-grid svg{width:20px;height:20px;color:var(--rose-dark);margin-top:1px}.detail-custom-grid span{display:flex;flex-direction:column;min-width:0}.detail-custom-grid b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.detail-custom-grid small{font-size:9px;color:var(--muted);margin-top:1px}.gift-inspire-cta{margin-top:12px}.detail-cart-cta{margin-top:9px}.detail-cart-cta svg{width:18px;height:18px}.personalization-box{margin-top:15px}
@media(max-width:360px){.gift-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-progress>span{min-width:46px}.gift-progress>span small{font-size:8px}.gift-contact-form .form-grid{grid-template-columns:1fr}.detail-custom-grid{grid-template-columns:1fr}}
@media(min-width:760px){.gift-flow-view{max-width:900px}.gift-choice-grid{gap:12px}.gift-choice-grid button{min-height:110px}.gift-step-card{padding:22px}.gift-inspiration-card img,.gift-inspiration-placeholder{width:105px;height:92px}.gift-customize-form,.gift-contact-form,.gift-recap-box{padding:22px}.detail-rich{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}.detail-media{grid-column:1}.detail-copy{grid-column:2}.detail-info-grid,.detail-custom-inspire,.gift-inspire-cta,.personalization-box,.detail-cart-cta{grid-column:1/-1}.detail-info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.product-sheet{max-height:94dvh}

/* V2.0.15.1 — parcours produit simplifié */
.gift-progress.simple{grid-template-columns:auto 1fr auto;max-width:360px;margin-left:auto;margin-right:auto}.gift-progress.simple>span{min-width:110px}


/* FLORETTE CLIENT V2.0.16.2 — zoom photo tactile explicite + vraie modale top-layer */
.detail-picture{position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:zoom-in}
.detail-picture>img{transition:opacity .16s ease;pointer-events:none}
.detail-photo-count{position:absolute;left:10px;bottom:10px;z-index:3;padding:5px 9px;border-radius:999px;background:#fffdfbdc;color:#514741;font-size:10px;font-weight:650;box-shadow:0 2px 12px #4b30201a;backdrop-filter:blur(7px)}
.detail-zoom-button{position:absolute;right:10px;bottom:10px;z-index:4;display:flex;align-items:center;gap:6px;min-height:38px;padding:7px 12px;border-radius:999px;background:#fffdfbf5;color:#403936;box-shadow:0 3px 16px #4b30202b;border:1px solid #e4d1ca;font-size:11px;font-weight:650;pointer-events:auto}
.detail-zoom-button svg{width:16px;height:16px;color:var(--rose-dark)}
.detail-gallery-hint{margin:7px 2px 0;color:var(--muted);font-size:9px;text-align:center}
.gallery-thumbs{scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 1px 4px}
.gallery-thumbs::-webkit-scrollbar{display:none}
.gallery-thumbs button{scroll-snap-align:center;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;background:#fff}
.gallery-thumbs button.active{border:2px solid var(--rose);box-shadow:0 0 0 2px #f7dfe1;transform:translateY(-1px)}
.gallery-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;z-index:260;background:#161310f5;color:#fff;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(12px)}
.gallery-viewer[open]{display:grid}.gallery-viewer::backdrop{background:#161310ee;backdrop-filter:blur(12px)}
.gallery-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;padding:2px 1px 8px}
.gallery-viewer-top span{font-size:12px;letter-spacing:.4px}
.gallery-viewer-close{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffffff17;color:#fff}
.gallery-viewer-close svg{width:24px;height:24px}
.gallery-viewer-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none;border-radius:16px}
.gallery-viewer-stage img{width:100%;height:100%;max-height:calc(100dvh - 150px);object-fit:contain;user-select:none;-webkit-user-select:none;pointer-events:none;transform-origin:center center;will-change:transform}.gallery-viewer-stage img.gallery-image-animate{transition:transform .18s ease}.gallery-viewer-stage.is-zoomed{cursor:grab}.gallery-viewer-stage.is-gesturing{cursor:grabbing}
.gallery-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:52px;border-radius:999px;background:#fffdfbdd;color:#2f2926;display:grid;place-items:center;box-shadow:0 3px 20px #0004}
.gallery-viewer-arrow svg{width:24px;height:24px}
.gallery-viewer-arrow.prev{left:7px}.gallery-viewer-arrow.next{right:7px}
.gallery-viewer-caption{color:#fff;text-align:center;font-size:10px;padding-top:9px;opacity:.82}
body.gallery-open{overflow:hidden;touch-action:none}
@media(min-width:760px){.detail-zoom-button{font-size:11px}.gallery-viewer{padding-left:5vw;padding-right:5vw}.gallery-viewer-stage img{max-width:1100px}}

/* Toute la photo ouvre désormais le zoom, le bouton reste un repère visuel. */
.detail-picture[data-gallery-surface]::after{content:'Touchez pour agrandir';position:absolute;top:10px;right:10px;z-index:3;padding:4px 8px;border-radius:999px;background:#2f2926b8;color:#fff;font-size:9px;letter-spacing:.1px;pointer-events:none;backdrop-filter:blur(6px)}
@media(min-width:760px){.detail-picture[data-gallery-surface]::after{content:'Cliquer pour agrandir'}}

/* V2.0.16.4 — iPhone/PWA: aucun focus résiduel sur les modales après un tap. */
#productDialog:focus,#productDialog:focus-visible,#galleryViewer:focus,#galleryViewer:focus-visible{outline:none!important;box-shadow:none!important}
@media (hover:none) and (pointer:coarse){
  .detail-zoom-button:focus,.detail-zoom-button:focus-visible,
  .gallery-viewer-close:focus,.gallery-viewer-close:focus-visible,
  .product-sheet .sheet-heading>.icon-button:focus,.product-sheet .sheet-heading>.icon-button:focus-visible{
    outline:none!important;outline-offset:0!important;box-shadow:none!important
  }
}

/* Vrai zoom tactile interne à la galerie : indépendant du zoom navigateur désactivé pour la PWA. */
.gallery-viewer-stage.is-zoomed .gallery-viewer-arrow{opacity:.28;pointer-events:none}


/* V2.0.17 — FAQ CLIENT */
.faq-view{max-width:820px;margin:0 auto}.faq-view .page-heading{align-items:flex-start}.faq-view .page-heading>div{min-width:0}.faq-intro{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.faq-list{display:grid;gap:9px}.faq-card{border:1px solid #eaded8;border-radius:16px;background:#fffdfb;box-shadow:0 5px 16px #5b382007;overflow:hidden}.faq-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;font-size:13px;font-weight:600;line-height:1.35;color:#4e4140}.faq-card summary::-webkit-details-marker{display:none}.faq-card summary b{flex:none;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#f8e9e8;color:var(--rose-dark);font:20px/1 var(--sans);font-weight:400;transition:transform .18s ease}.faq-card[open] summary b{transform:rotate(45deg)}.faq-card>div{padding:0 16px 15px;border-top:1px solid #f2e9e5}.faq-card>div p{margin-top:11px;color:#6f6460;font-size:11.5px;line-height:1.58}.faq-card a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:2px}.faq-help-card{position:relative;overflow:hidden;margin:17px 0 8px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#f9e5e4,#fff5ef);border:1px solid #edd6d2;display:grid;gap:12px}.faq-help-card>span{position:absolute;right:12px;top:6px;font:48px/1 var(--script);color:#d58b93;opacity:.72}.faq-help-card .eyebrow{font-size:8px;letter-spacing:1.7px;color:var(--rose-dark)}.faq-help-card h2{font:23px/1.15 Georgia,'Times New Roman',serif;margin:3px 40px 5px 0}.faq-help-card div>p:last-child{color:var(--muted);font-size:11px;line-height:1.45}.faq-help-card .primary{justify-self:start}
.site-footer{margin:8px 16px calc(var(--nav-height) + 20px + env(safe-area-inset-bottom,0px));padding:20px 16px;border-top:1px solid var(--line);text-align:center;color:#766a65}.site-footer-brand{display:grid;gap:0;margin-bottom:11px}.site-footer-brand span{font:14px var(--script);color:#88736e}.site-footer-brand strong{font:24px/1.05 var(--script);font-weight:400;color:var(--rose-dark)}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 15px}.site-footer nav a{font-size:10.5px;color:#6e615c;text-decoration:underline;text-underline-offset:3px}.site-footer small{display:block;margin-top:12px;font-size:9px;color:#9b8e89}.payment-mode .site-footer{display:none}
@media(min-width:760px){.faq-list{grid-template-columns:1fr 1fr;align-items:start}.faq-card[open]{grid-column:auto}.faq-card summary{font-size:14px}.faq-card>div p{font-size:12px}.faq-help-card{grid-template-columns:1fr auto;align-items:center;padding:22px}.faq-help-card .primary{justify-self:end}.site-footer{margin:10px auto 28px;max-width:900px;padding:24px 30px}.site-footer nav a{font-size:12px}}


/* V2.0.18 — conformité e-commerce / rétractation */
.withdrawal-view{max-width:820px;margin:0 auto;padding-bottom:52px}.withdrawal-intro{margin:-3px 0 16px;padding:16px;border:1px solid #eaded8;border-radius:16px;background:linear-gradient(135deg,#fffaf7,#f9eeeb)}.withdrawal-intro h2{font:24px/1.15 Georgia,'Times New Roman',serif;margin:0 0 7px}.withdrawal-intro p{font-size:12px;line-height:1.55;color:var(--muted)}.withdrawal-form{display:grid;gap:13px;background:#fffdfb;border:1px solid var(--line);border-radius:18px;padding:17px}.withdrawal-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.withdrawal-form label{display:flex;flex-direction:column;gap:6px;font-size:12px}.withdrawal-form input,.withdrawal-form textarea{width:100%;border:1px solid #e6dcd6;background:#fff;border-radius:10px;padding:11px 12px;font:14px/1.35 var(--sans);min-height:44px}.withdrawal-form textarea{resize:vertical;min-height:96px}.withdrawal-form .withdrawal-ack{font-size:10.5px;line-height:1.5;color:var(--muted);padding:10px 12px;border-radius:11px;background:#faf5f1}.withdrawal-form .hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.withdrawal-result{margin-top:15px;padding:18px;border-radius:16px;background:#edf4ea;border:1px solid #d5e4d1;text-align:center}.withdrawal-result h2{font:23px Georgia,'Times New Roman',serif;margin:4px 0 8px}.withdrawal-result p{font-size:12px;line-height:1.5}.withdrawal-result strong{display:inline-block;margin-top:10px;font-size:18px}.withdrawal-error{padding:10px 12px;border-radius:10px;background:#fff0f0;color:#8c3f49;font-size:11px}.legal-guarantee-box{border:2px solid #d9c9c2!important;background:#fff!important}.legal-guarantee-box .legal-copy{font-size:12px}.legal-note{padding:10px 12px;border-radius:10px;background:#faf5f1}.site-footer .withdrawal-link{font-weight:700;color:var(--rose-dark);text-underline-offset:3px}.pay-now span{line-height:1.15}.pay-now b{white-space:nowrap}
@media(max-width:560px){.withdrawal-form .form-grid{grid-template-columns:1fr}.withdrawal-view{padding-left:14px;padding-right:14px}.pay-now span{font-size:12px}}

/* V2.0.19 — Mon jardin Florette 🌸 */
.checkout-loyalty-box{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff8f7,#f6ebe7)!important;border-color:#ead2d0!important}.checkout-loyalty-box:after{content:'';position:absolute;right:-22px;top:-28px;width:112px;height:135px;background:url('assets/floral-sprig.svg') center/contain no-repeat;opacity:.14;transform:rotate(22deg);pointer-events:none}.checkout-loyalty-box legend{color:#8d5360}.checkout-loyalty-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.checkout-loyalty-head>div{min-width:0}.checkout-loyalty-head strong{font:18px Georgia,'Times New Roman',serif;color:#694b50}.checkout-loyalty-head p{margin-top:4px;color:#746662;font-size:11px;line-height:1.45}.checkout-loyalty-flower{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #eedbd7;font-size:24px;box-shadow:0 5px 14px #7b51400d;flex:none}.checkout-loyalty-toggle{position:relative;z-index:1;margin-top:12px!important;display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:11px 12px;border:1px solid #ead9d4;border-radius:13px;background:#fffdfb}.checkout-loyalty-toggle input{width:20px;height:20px;accent-color:var(--rose);flex:none}.checkout-loyalty-toggle span{display:flex;flex-direction:column;gap:2px}.checkout-loyalty-toggle strong{font-size:12px}.checkout-loyalty-toggle small{font-size:10px;color:#867872}.checkout-loyalty-toggle:has(input:disabled){opacity:.62;background:#faf6f3}.preview-loyalty-reward{color:#9b5260}.preview-loyalty-earn{margin:10px 0 2px;padding:10px 12px;border-radius:11px;background:#f7ece9;color:#77555a;font-size:11px;text-align:center}.pay-loyalty-discount{color:#9b5260!important}
.loyalty-garden{position:relative;overflow:hidden;border:1px solid #ead2cf;border-radius:22px;background:linear-gradient(135deg,#fae8e7 0%,#fffaf7 58%,#eef3ed 100%);padding:19px;box-shadow:0 10px 28px #83544710}.loyalty-garden:after{content:'';position:absolute;right:-24px;bottom:-50px;width:150px;height:185px;background:url('assets/floral-sprig.svg') center/contain no-repeat;opacity:.13;transform:rotate(-20deg);pointer-events:none}.loyalty-garden-hero{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:14px;align-items:center;position:relative;z-index:1}.loyalty-garden-hero h2{font:27px/1.08 Georgia,'Times New Roman',serif;color:#5e4348;margin:3px 0 8px}.loyalty-garden-hero>div:first-child>strong{display:block;font:21px/1.15 Georgia,'Times New Roman',serif;color:var(--rose-dark)}.loyalty-garden-hero p:not(.eyebrow){margin:5px 0 8px;font-size:11px;color:#6e625d;line-height:1.45}.loyalty-garden-hero>div:first-child>small{display:block;color:#83736d;font-size:9.5px}.loyalty-ring{--loyalty-progress:0%;width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--rose) var(--loyalty-progress),#eadfd9 0);display:grid;place-items:center;align-content:center;position:relative;color:#684d51;box-shadow:0 5px 18px #80534815}.loyalty-ring:before{content:'';position:absolute;inset:7px;border-radius:50%;background:#fffaf7}.loyalty-ring>*{position:relative;z-index:1}.loyalty-ring span{font-size:21px;line-height:1}.loyalty-ring b{font:13px Georgia,serif;margin-top:1px}.loyalty-ring small{font-size:8px}.loyalty-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;position:relative;z-index:1}.loyalty-stats>div{background:#ffffffb8;border:1px solid #eadfd9;border-radius:13px;padding:10px}.loyalty-stats span{display:block;font-size:9px;color:#81716b;text-transform:uppercase;letter-spacing:.8px}.loyalty-stats strong{display:block;font:18px Georgia,serif;color:#6c4f54;margin:3px 0}.loyalty-stats small{display:block;color:#8b7c75;font-size:8.5px;line-height:1.35}.loyalty-history{position:relative;z-index:1;margin-top:12px;border-top:1px dashed #dfcfca;padding-top:10px}.loyalty-history summary{cursor:pointer;color:#8d5360;font-size:11px;font-weight:600}.loyalty-history ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.loyalty-history li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:10px;background:#fffaf7b8;font-size:10px}.loyalty-history li div{display:flex;flex-direction:column;min-width:0}.loyalty-history li small{color:#92847e}.loyalty-history li b{white-space:nowrap}.loyalty-history .is-plus{color:#4b7658}.loyalty-history .is-minus{color:#a34e5b}.loyalty-note{position:relative;z-index:1;margin-top:10px!important;color:#8b7d77!important;font-size:9px!important;line-height:1.45!important}.account-loyalty-earned{margin:8px 0 0;padding:7px 9px;border-radius:9px;background:#f8efec;color:#805963;font-size:10px}.loyalty-order-line{background:#f7ece9!important;color:#80505a!important}
@media(max-width:380px){.loyalty-garden{padding:16px 13px}.loyalty-garden-hero{grid-template-columns:minmax(0,1fr) 76px}.loyalty-ring{width:74px;height:74px}.loyalty-garden-hero h2{font-size:24px}.loyalty-stats{grid-template-columns:1fr}.checkout-loyalty-head strong{font-size:16px}}

/* V2.0.22 — intégration du logo mobile, référence maquette 2
   Objectif : logo officiel entièrement visible, plus petit et mieux respiré,
   sans modifier la navigation ni le reste de la DA. */
@media (max-width:599px){
  .site-header{
    height:calc(82px + env(safe-area-inset-top,0px));
    padding:calc(7px + env(safe-area-inset-top,0px)) 14px 7px;
    align-items:flex-end;
    border-bottom:1px solid #eee3dc;
    background:#fffdfa;
  }
  .site-header .brand,
  .site-header .brand:has(#brandLogo:not([hidden])){
    width:174px;
    height:68px;
    left:48.5%;
    top:calc(5px + env(safe-area-inset-top,0px));
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
  }
  .site-header .brand #brandLogo:not([hidden]){
    width:174px;
    height:64px;
    max-width:100%;
    object-fit:contain;
    object-position:center;
  }
  .site-header .menu-button,
  .site-header .header-actions{
    margin-bottom:3px;
  }
}
@media (max-width:370px){
  .site-header{
    height:calc(76px + env(safe-area-inset-top,0px));
    padding:calc(6px + env(safe-area-inset-top,0px)) 9px 6px;
  }
  .site-header .brand,
  .site-header .brand:has(#brandLogo:not([hidden])){
    width:152px;
    height:62px;
    left:48%;
    top:calc(4px + env(safe-area-inset-top,0px));
  }
  .site-header .brand #brandLogo:not([hidden]){
    width:152px;
    height:58px;
  }
  .site-header .menu-button,
  .site-header .header-actions{
    margin-bottom:2px;
  }
}

/* V2.0.24 — vrai correctif du logo header (référence maquette 2).
   L'ancien PNG de header avait la fleur coupée dans le fichier source lui-même.
   Cette version utilise un nouvel asset complet avec marge transparente. */
@media (max-width:599px){
  .site-header{
    height:calc(100px + env(safe-area-inset-top,0px));
    padding:calc(6px + env(safe-area-inset-top,0px)) 14px 6px;
    align-items:center;
    border-bottom:1px solid #eee3dc;
    background:#fffdfa;
  }
  .site-header .brand,
  .site-header .brand:has(#brandLogo:not([hidden])){
    width:188px;
    height:92px;
    left:49%;
    top:calc(2px + env(safe-area-inset-top,0px));
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
  }
  .site-header .brand #brandLogo:not([hidden]){
    width:188px;
    height:92px;
    max-width:none;
    object-fit:contain;
    object-position:center;
  }
  .site-header .menu-button,
  .site-header .header-actions{
    margin:0;
    transform:translateY(8px);
  }
}
@media (max-width:370px){
  .site-header{
    height:calc(92px + env(safe-area-inset-top,0px));
    padding:calc(5px + env(safe-area-inset-top,0px)) 9px 5px;
  }
  .site-header .brand,
  .site-header .brand:has(#brandLogo:not([hidden])){
    width:168px;
    height:84px;
    left:48.5%;
    top:calc(1px + env(safe-area-inset-top,0px));
  }
  .site-header .brand #brandLogo:not([hidden]){
    width:168px;
    height:84px;
  }
  .site-header .menu-button,
  .site-header .header-actions{transform:translateY(7px)}
}

/* V2.0.25 — facturation / médiateur */
.pay-same-note{font-size:11px;color:var(--muted);text-align:right;max-width:180px}.legal-mediation{border-color:#d8c6bd!important;background:linear-gradient(135deg,#fffaf7,#f8efea)!important}.legal-mediation strong{color:var(--rose-dark)}.site-footer .mediator-link{font-weight:700;color:var(--rose-dark)}


/* V2.0.28 — transporteurs compacts + autocomplétion d’adresse */
.carrier-picker{display:grid;gap:8px;margin:0 0 4px}.carrier-picker-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.carrier-picker-head>div{display:grid;gap:2px}.carrier-picker-head strong{font:18px/1.2 Georgia,'Times New Roman',serif}.carrier-picker-head small,.carrier-price-hint{font-size:10.5px;line-height:1.35;color:var(--muted)}.carrier-cards{display:grid;gap:12px}.carrier-group{display:grid;gap:7px}.carrier-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px}.carrier-group-title span{font-size:11px;font-weight:700;color:#5f5551}.carrier-group-title small{font-size:9.5px;color:var(--muted)}.carrier-group-list{display:grid;gap:7px}.carrier-card{appearance:none;width:100%;min-height:64px;display:grid;grid-template-columns:18px 54px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.carrier-card:active{transform:scale(.992)}.carrier-card.selected{border-color:#d37f89;background:linear-gradient(135deg,#fffafa,#fbeff0);box-shadow:0 0 0 1px #d37f8926 inset}.carrier-radio{width:18px;height:18px;border:2px solid #aaa3a0;border-radius:50%;display:grid;place-items:center}.carrier-card.selected .carrier-radio{border-color:var(--rose);background:var(--rose);box-shadow:inset 0 0 0 4px #fff}.carrier-brand{width:54px;height:40px;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:-.2px;color:#fff;overflow:visible;background:transparent;border:0}.carrier-logo-img{width:40px;height:40px;object-fit:contain;display:block;background:#fff;border:1px solid #eee6e2;border-radius:10px}.carrier-brand-chronopost .carrier-logo-img{width:54px;height:40px;padding:4px 3px;box-sizing:border-box}.carrier-brand-mondial .carrier-logo-img,.carrier-brand-colissimo .carrier-logo-img{width:40px;height:40px}.carrier-logo-fallback{display:grid;place-items:center;width:100%;height:100%;color:#fff}.carrier-brand-mondial,.carrier-brand-colissimo,.carrier-brand-chronopost{background:transparent}.carrier-brand-generic{background:#8b7770}.carrier-brand-colissimo .carrier-logo-fallback{background:#ef7d20}.carrier-brand-chronopost .carrier-logo-fallback{background:#1596cf}.carrier-brand-mondial .carrier-logo-fallback{background:#a50064}.carrier-copy{min-width:0;display:grid;gap:2px}.carrier-copy strong{font:15px/1.1 Georgia,'Times New Roman',serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carrier-copy small{font-size:10.5px;line-height:1.25;color:var(--muted)}.carrier-price{justify-self:end;padding:6px 8px;border-radius:10px;background:#faf2ef;font:700 13px/1 var(--sans);color:var(--rose-dark);white-space:nowrap}.carrier-card.selected .carrier-price{background:#f7dfe2}.carrier-empty{padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px}.carrier-price-hint{margin:0 2px}
.address-autocomplete-field{display:grid;gap:6px;position:relative}.address-autocomplete-field>label{font-size:13px}.address-autocomplete-wrap{position:relative;display:block}.address-autocomplete-wrap>input{padding-right:38px}.address-autocomplete-wrap:after{content:'⌕';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#ad8f89;font-size:19px;line-height:1;pointer-events:none}.address-suggestions{position:absolute;z-index:145;left:0;right:0;top:calc(100% + 5px);display:grid;overflow:hidden;border:1px solid #e6d8d3;border-radius:13px;background:#fff;box-shadow:0 14px 34px #5f42301f}.address-suggestions[hidden]{display:none}.address-suggestion{appearance:none;border:0;border-bottom:1px solid #f1e7e2;background:#fff;padding:10px 12px;text-align:left;color:var(--ink);display:grid;gap:2px}.address-suggestion:last-child{border-bottom:0}.address-suggestion:active,.address-suggestion:hover{background:#fff7f5}.address-suggestion strong{font-size:12px;font-weight:600;line-height:1.3}.address-suggestion small{font-size:10.5px;color:var(--muted);line-height:1.3}.address-autocomplete-help{font-size:10px;line-height:1.35;color:var(--muted);margin-top:-1px}.choice:has(input:checked){border-color:#d8929a;background:#fff7f7;box-shadow:0 0 0 1px #d8929a20 inset}
@media(max-width:370px){.carrier-card{grid-template-columns:17px 34px minmax(0,1fr) auto;gap:7px;padding:8px}.carrier-brand{width:34px;height:34px;border-radius:9px}.carrier-copy strong{font-size:14px}.carrier-price{font-size:12px;padding:6px}.carrier-picker-head small{font-size:10px}}


/* V2.0.32 — panier éditorial Florette */
.cart-sheet{width:min(610px,100%);max-height:92dvh;padding:0 28px calc(26px + env(safe-area-inset-bottom,0px));border-radius:34px 34px 0 0;background:#fffdfa;box-shadow:0 -18px 60px #4c30241a;overflow:auto}
.cart-sheet::backdrop{background:#2b211d63;backdrop-filter:blur(5px)}
.cart-sheet:before{content:"";display:block;width:58px;height:5px;border-radius:999px;background:#e7d9d5;margin:13px auto 18px}
.cart-sheet-heading{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 24px}
.cart-sheet-heading:after{content:"";position:absolute;right:-28px;top:-20px;width:190px;height:155px;pointer-events:none;opacity:.34;background:url("assets/floral-sprig.svg") center/contain no-repeat;transform:rotate(-18deg)}
.cart-sheet-heading>div{position:relative;z-index:1}
.cart-sheet-heading h2{font:44px/1.02 Georgia,'Times New Roman',serif;letter-spacing:-1.2px;color:#20282c}
.cart-sheet-heading p{display:flex;align-items:center;gap:12px;margin-top:9px;font:11px/1.2 var(--sans);letter-spacing:4px;color:#6d6262}
.cart-sheet-heading p span{font:28px/1 Georgia,serif;letter-spacing:0;color:#bd5b69;transform:rotate(-8deg)}
.cart-close{position:relative;z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #eed5d2;background:#fff8f6;color:#30383b;flex:none}
.cart-close svg{width:25px;height:25px;stroke-width:1.7}
.cart-items{display:grid;gap:0}
.cart-sheet .cart-row{display:grid;grid-template-columns:142px minmax(0,1fr);gap:22px;padding:0 0 24px;border-bottom:1px solid #eadfda;align-items:center}
.cart-item-thumb{width:142px;height:142px;border-radius:17px;overflow:hidden;background:#f7eeea;display:grid;place-items:center}
.cart-item-thumb img{width:100%;height:100%;object-fit:cover}
.cart-item-thumb .missing-photo{height:100%;width:100%;font-size:10px}
.cart-item-copy{min-width:0}
.cart-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cart-item-head>div{min-width:0}
.cart-sheet .cart-row h3{font:25px/1.18 Georgia,'Times New Roman',serif;color:#20282c;font-weight:400;overflow-wrap:anywhere}
.cart-sheet .line-total{display:block;margin-top:7px;text-align:left;font:23px/1.1 Georgia,'Times New Roman',serif;color:#bd5967;font-weight:400}
.cart-sheet .remove-item{display:grid;place-items:center;width:42px;height:42px;min-height:42px;margin:-6px -5px 0 0;padding:0;border-radius:50%;color:#bd5967;text-decoration:none}
.cart-sheet .remove-item svg{width:23px;height:23px;stroke-width:1.6}
.cart-sheet .remove-item:active{background:#fbebec}
.cart-sheet .quantity{margin-top:16px;height:52px;border-color:#e5d3ce;border-radius:28px;background:#fffefa;overflow:hidden}
.cart-sheet .quantity button{min-width:58px;min-height:50px}
.cart-sheet .quantity span{min-width:48px;font-size:18px;border-left:1px solid #eee2dd;border-right:1px solid #eee2dd;line-height:32px}
.cart-sheet .quantity svg{width:18px;height:18px}
.cart-sheet .quantity button:disabled{opacity:.3}
.cart-sheet .line-status{margin-top:11px;padding:9px 11px;border-radius:11px;background:#fff0ef;color:#8a4f54;font-size:11px;line-height:1.35}
.cart-sheet .cart-options{margin:10px 0 0;padding:0;background:transparent;color:#7b7070;font-size:11px;line-height:1.35}
.cart-sheet .cart-options span{display:inline}
.cart-sheet .cart-options span+span:before{content:" · ";color:#c4aaaa}
.cart-sheet .cart-options b{color:#a85160;font-weight:500}
.cart-stock-alert{margin:0 0 16px}
.cart-summary{padding-top:17px}
.cart-sheet .cart-total{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:0;padding:14px 0;font-size:18px;color:#5c5d5e}
.cart-sheet .cart-total strong{font-weight:400;color:#222b2f;font-size:21px}
.cart-sheet .cart-promo-row{margin:0;padding:10px 0 12px;border-top:1px solid #f2e8e5;color:#b35060;font-size:15px}
.cart-sheet .cart-promo-row strong{font-size:17px;color:#b35060}
.cart-sheet .cart-total-after-promo{margin:0;border-top:1px solid #eadfda;padding:17px 0 11px}
.cart-sheet .cart-total-after-promo span{font:28px/1.15 Georgia,'Times New Roman',serif;color:#20282c}
.cart-sheet .cart-total-after-promo strong{font:30px/1.1 Georgia,'Times New Roman',serif;color:#20282c}
.cart-summary-heart{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:5px 0 19px;color:#bd5967}
.cart-summary-heart span{height:1px;background:#e8d8d3}
.cart-summary-heart b{font:26px/1 Georgia,serif;font-weight:400;transform:rotate(-8deg)}
.cart-checkout{margin-top:0!important;min-height:64px;border-radius:34px;background:#cc747e;font:22px/1.15 Georgia,'Times New Roman',serif;box-shadow:none}
.cart-checkout svg{width:24px;height:24px;margin-left:7px}
.cart-continue{min-height:56px;border-radius:30px;margin-top:13px!important;border-color:#d27b84;color:#be5c68;background:#fffdfa;font-size:17px}
.cart-sheet>.empty{padding:35px 8px 28px}
@media(max-width:430px){
 .cart-sheet{padding-left:22px;padding-right:22px;border-radius:30px 30px 0 0}
 .cart-sheet-heading:after{right:-22px;width:155px;height:135px}
 .cart-sheet-heading h2{font-size:39px}
 .cart-sheet .cart-row{grid-template-columns:118px minmax(0,1fr);gap:17px}
 .cart-item-thumb{width:118px;height:118px}
 .cart-sheet .cart-row h3{font-size:21px}
 .cart-sheet .line-total{font-size:20px}
 .cart-sheet .quantity{height:46px;margin-top:13px}
 .cart-sheet .quantity button{min-width:47px;min-height:44px}
 .cart-sheet .quantity span{min-width:40px;font-size:16px}
 .cart-sheet .cart-total-after-promo span{font-size:25px}
 .cart-sheet .cart-total-after-promo strong{font-size:27px}
 .cart-checkout{min-height:58px;font-size:19px}
}
@media(max-width:360px){
 .cart-sheet .cart-row{grid-template-columns:92px minmax(0,1fr);gap:13px}
 .cart-item-thumb{width:92px;height:92px}
 .cart-sheet-heading h2{font-size:35px}
 .cart-sheet .cart-row h3{font-size:19px}
}

/* FLORETTE CLIENT V2.0.34 — retrait exclusif produit */
.pickup-only-label{display:inline-block;margin-top:6px;padding:4px 9px;border-radius:999px;background:#f6e8e7;color:#8e4a56;font-size:.75rem;font-weight:650;line-height:1.25;}
.pickup-only-cart-label{color:#8e4a56!important;font-weight:650;margin:6px 0;}
.pickup-only-notice{margin:9px 0 0;padding:11px 13px;border-radius:12px;background:#fbf0ed;color:#794c51;line-height:1.45;font-size:.88rem;}
#cartPickupOnlyNotice{margin:0 0 12px;}

/* FLORETTE CLIENT V2.0.35 — étiquette discrète sur mini cartes (le détail garde son texte complet). */
.product-card .pickup-only-label{
  display:inline-block;max-width:100%;box-sizing:border-box;
  margin-top:4px;padding:2px 5px;border-radius:6px;
  background:#f7eceb;color:#925765;
  font-size:8.5px;font-weight:600;line-height:1.18;letter-spacing:-.01em;
  text-align:center;overflow-wrap:normal;word-break:normal;
}
@media (min-width:700px){
  .product-card .pickup-only-label{font-size:11px;padding:3px 7px;margin-top:6px;}
}


/* FLORETTE CLIENT V2.0.36 — cadrage stable des miniatures produit.
   L'image est sortie du calcul de hauteur de la grille : chaque vignette
   conserve exactement le ratio défini par .product-picture, quelle que
   soit la taille ou l'orientation du fichier chargé. Aucun recadrage destructif. */
.product-picture{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  position:relative;
  overflow:hidden;
}
.product-picture>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:50% 50%;
  background:transparent;
}
.product-picture>.missing-photo{
  position:absolute;
  inset:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* Empêche le centrage vertical natif du contenu des boutons de carte,
   qui décalait les photos des produits sans badge vers le bas. */
.product-card .product-open{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
}
.product-card .product-picture,
.product-card .card-copy{
  flex:0 0 auto;
}
