.catalog-nav-menu{position:relative;color:var(--ink)}
.catalog-nav-menu summary{list-style:none;cursor:pointer;padding:11px 9px;font-size:13px;font-weight:600}
.catalog-nav-menu summary::-webkit-details-marker{display:none}
.catalog-nav-menu summary:after{content:"⌄";margin-left:7px;color:var(--plum)}
.catalog-nav-menu[open] summary{color:var(--plum)}
.catalog-nav-categories{position:absolute;z-index:30;top:calc(100% + 8px);left:50%;width:min(680px,80vw);max-height:65vh;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:12px;overflow:auto;transform:translateX(-50%);border:1px solid #eadced;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(55,24,63,.2)}
.catalog-nav-categories a{padding:11px 12px!important;border-radius:10px}
.catalog-filter-categories{display:contents}
.season-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.season-badge{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;line-height:1;letter-spacing:.015em;box-shadow:0 4px 10px rgba(47,31,50,.08)}
.season-badge>span{font-size:13px;line-height:1}
.season-printemps{border-color:#b8dfbd;background:#eef9ef;color:#246b35}
.season-ete{border-color:#f5cf68;background:#fff7cf;color:#855600}
.season-automne{border-color:#e2a273;background:#fff0e4;color:#8a3f12}
.season-hiver{border-color:#a9cde8;background:#edf7ff;color:#205f8d}
.festive-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.season-badges+.festive-badges{margin-top:-4px}
.festive-badge{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;line-height:1;letter-spacing:.015em;box-shadow:0 4px 10px rgba(47,31,50,.08)}
.festive-badge>span{font-size:13px;line-height:1}
.festive-rose{border-color:#f0b7c9;background:#fff0f5;color:#9b3156}
.festive-pine{border-color:#acd0ba;background:#edf8f1;color:#236240}
.festive-gold{border-color:#efd391;background:#fff7dc;color:#805b08}
.festive-violet{border-color:#cbb8df;background:#f5effb;color:#66408b}
.festive-lilac{border-color:#d9bde6;background:#faf1fd;color:#794190}
.festive-peach{border-color:#efc4a8;background:#fff3ea;color:#925125}
.festive-ivory{border-color:#dbcdb4;background:#fffaf0;color:#715c38}
.bouquet-labels{position:relative;display:flex;width:100%;gap:7px;margin:10px 0 0;padding:0 4px 4px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;pointer-events:auto}
.bouquet-labels::-webkit-scrollbar{display:none}
.bouquet-label{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:31px;padding:7px 11px;border:1px solid rgba(255,255,255,.68);border-radius:999px;font-size:13px;font-weight:800;line-height:1;white-space:nowrap;scroll-snap-align:start;box-shadow:inset 0 1px rgba(255,255,255,.78),0 5px 16px rgba(45,20,49,.12);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15)}
.bouquet-label>span{overflow:visible;text-overflow:clip}
.bouquet-label i{display:grid;place-items:center;flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.72);font-style:normal;font-size:11px}
.bouquet-label-more{flex:0 0 auto;border-color:rgba(216,201,220,.9);background:rgba(255,255,255,.92);color:#67267a;cursor:help}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:761px){
  .catalog-nav-menu summary{display:flex;align-items:center;gap:9px;padding:11px 16px;border:1px solid transparent;border-radius:999px;transition:.2s ease}
  .catalog-nav-menu summary:before{content:"✿";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f6eaf5;color:var(--plum);font-size:14px}
  .catalog-nav-menu summary:after{content:"⌄";margin-left:0;font-size:16px;transition:transform .2s ease}
  .catalog-nav-menu[open] summary{border-color:#e4cfe2;background:#fbf4fb;box-shadow:0 8px 22px rgba(103,38,122,.1)}
  .catalog-nav-menu[open] summary:after{transform:rotate(180deg)}
  .catalog-nav-categories{top:calc(100% + 14px);width:min(760px,78vw);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:22px;border:1px solid rgba(103,38,122,.16);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fffafd 65%,#f9eef8 100%);box-shadow:0 28px 70px rgba(55,24,63,.24),0 2px 8px rgba(55,24,63,.08)}
  .catalog-nav-categories:before{content:"Choisir une occasion";grid-column:1/-1;padding:0 4px 12px;border-bottom:1px solid #eadced;color:#4c294e;font:600 22px/1.2 "Crimson Text",serif}
  .catalog-nav-categories a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 14px!important;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.72);color:#382e39!important;font-size:14px!important;text-decoration:none;transition:.18s ease}
  .catalog-nav-categories a:before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#f48107,#b24b75);box-shadow:0 0 0 4px #f8e9ef}
  .catalog-nav-categories a:after{content:"→";position:static;left:auto;right:auto;bottom:auto;width:auto;height:auto;margin-left:auto;background:none;color:#8b5d83;opacity:.65;transition:transform .18s ease}
  .catalog-nav-categories a:hover{border-color:#dec2da;background:#fff;color:var(--plum)!important;transform:translateY(-2px);box-shadow:0 9px 18px rgba(103,38,122,.09)}
  .catalog-nav-categories a:hover:after{transform:translateX(3px);opacity:1}
}
@media(max-width:760px){
  .catalog-nav-menu{width:100%}
  .catalog-nav-menu summary{padding:14px 15px;text-align:center;font-size:15px}
  .catalog-nav-categories{position:static;width:100%;max-height:48vh;grid-template-columns:1fr;transform:none;box-shadow:none;margin-top:4px}
  .season-badges{gap:4px;margin-bottom:8px}
  .season-badge{min-height:25px;padding:4px 7px;font-size:12px;box-shadow:none}
  .season-badge>span{font-size:11px}
  .festive-badges{gap:4px;margin-bottom:8px}
  .season-badges+.festive-badges{margin-top:-3px}
  .festive-badge{min-height:25px;padding:4px 7px;font-size:12px;box-shadow:none}
  .festive-badge>span{font-size:11px}
  .bouquet-labels{gap:6px;margin-top:8px;padding:0 2px 3px}
  .bouquet-label{flex:0 0 auto;max-width:none;min-height:29px;padding:6px 9px;font-size:12px;scroll-snap-align:start;box-shadow:inset 0 1px rgba(255,255,255,.72),0 4px 12px rgba(45,20,49,.11)}
  .bouquet-label>span{overflow:visible;text-overflow:clip}
  .bouquet-label i{width:15px;height:15px;font-size:10px}
  .product-card>.bouquet-labels+.product-info{padding-top:10px}
}
