/* Focused refinements: preserve Avaira's photographs, angles and burgundy palette. */
.edit-card::after{background:linear-gradient(180deg,transparent 25%,rgba(31,12,24,.2) 48%,rgba(31,12,24,.88) 100%)}
.edit-card>div{inset-inline:22px;bottom:26px;color:#fffaf4}
.edit-card h3{font-size:clamp(30px,3.1vw,46px);line-height:1.08;letter-spacing:-.7px;margin:10px 0 18px;overflow-wrap:normal;text-shadow:0 2px 14px #210b1a66}
.edit-card small{font-size:10px;line-height:1.6;letter-spacing:1.2px;color:#fff0e8}
.edit-card>div>span{font-size:13px;line-height:1.5;font-weight:500}
.filters{gap:10px;flex-wrap:wrap;overflow:visible}
.filters button{font-size:14px;line-height:1.4;min-height:46px;padding:10px 17px;border:1px solid #d6bec9;border-radius:24px;color:#54233d;background:#fffaf5;font-weight:500}
.filters button.active{background:#54233d;border-color:#54233d;color:#fffaf5;box-shadow:0 3px 10px #54233d16}
.mood-buttons button{font-size:13px;line-height:1.45;min-height:44px;padding:10px 16px}
.floral-decoration{width:230px;height:230px;right:-26px;bottom:-38px;animation:none;transform:rotate(-12deg);font-size:0;color:#94735b;opacity:.25;pointer-events:none}
.floral-decoration svg{display:block;width:100%;height:100%}
:where(button,a.button,a.outline,a.edit-card){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:where(button,a.button,a.outline,a.edit-card):focus-visible{outline:2px solid #ae8559;outline-offset:5px}
@media(max-width:760px){.catalogue-controls{flex-wrap:wrap}.filters{flex:1 0 100%;gap:8px}.filters button{font-size:14px;padding:10px 15px}.edit-card>div{inset-inline:15px;bottom:20px}.edit-card h3{font-size:clamp(26px,5vw,36px);margin:9px 0 14px}.edit-card small{font-size:9px;letter-spacing:.5px}.edit-card>div>span{font-size:12px}.mood-buttons button{font-size:13px}.floral-decoration{width:205px;height:205px;bottom:-28px;right:-22px}}
@media(prefers-reduced-motion:reduce){:where(button,a.button,a.outline,a.edit-card){transition:none!important}}
/* Glass controls keep their lettering on an opaque, high-contrast foreground. */
body :is(button:not(.product-image):not(.zoom-photo),a.button,a.outline){color:#51233b;background:linear-gradient(145deg,#ffffffed,#fff7f9ba 55%,#ead8e4c9);border:1px solid #ffffffd6;border-radius:14px;box-shadow:inset 0 1px 1px #fff,inset 0 -2px 5px #8057721f,0 4px 14px #3e1b3212,0 0 0 1px #71495d26;transition:box-shadow .2s ease,background-color .2s ease;-webkit-backdrop-filter:none;backdrop-filter:none}
body :is(.hero,header,.spotlight) :is(button:not(.product-image),a.button,a.outline){color:#fff9f2;background:linear-gradient(145deg,#71445ae8,#4d263cde);border-color:#c8a6b8;box-shadow:inset 0 1px 1px #ffffff70,0 5px 18px #16091326}
body :is(.filters,.mood-buttons) button{border-radius:24px}
body :is(.filters,.mood-buttons) button.active{color:#fffaf5;background:linear-gradient(145deg,#81516b,#53223b);border-color:#d8b5c7;box-shadow:inset 0 1px 2px #ffffff66,0 4px 14px #53223b26}
body :is(button:not(.product-image):not(.zoom-photo),a.button,a.outline).crystal-pressed{box-shadow:inset 0 2px 4px #ffffffa6,inset 0 -3px 8px #ad7e9b38,0 8px 18px #4d233d30}
body button:disabled{opacity:.5;cursor:not-allowed}
body .scene-controls button{width:44px;min-width:44px;min-height:44px;font:600 14px/1 var(--sans);padding:10px;color:#fffaf3;font-variant-numeric:tabular-nums}
body .scene-controls button.active{color:#351326;background:linear-gradient(145deg,#fff7e7,#e9d2b6);border:1px solid #fff2d4;box-shadow:inset 0 1px 2px white,0 3px 10px #16091326}
.market-bar{column-gap:16px;row-gap:10px;flex-wrap:wrap}
body .market-bar button{padding:9px 13px;gap:9px;min-width:0;max-width:100%;line-height:1.6;text-align:start}
#marketSummary{min-width:0;overflow-wrap:anywhere}#marketDelivery{font-size:13px;line-height:1.5}
body .tools .icon{padding:7px;flex-shrink:0}body .tools .bag{padding:7px 9px;gap:7px;flex-shrink:0}#bagCount{color:#fffaf3;font-size:14px;font-weight:600;opacity:1;line-height:1.5}
.edit-card h3{overflow-wrap:anywhere}
/* Independent language tile rules prevent generic button styles changing selection colours. */
#languageWelcome{box-sizing:border-box;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;padding:32px;background:linear-gradient(135deg,#fffdfbf5,#f7edf4ed);scrollbar-gutter:stable}
#languageWelcome .welcome-brand{display:block;line-height:1.25;margin-bottom:20px}
#languageWelcome h2{font-size:clamp(28px,5vw,36px);line-height:1.25;overflow-wrap:anywhere}
#languageWelcome .welcome-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0;padding:3px}
#languageWelcome .welcome-language-choice{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;min-width:0;min-height:62px;padding:14px 16px;box-sizing:border-box;background:linear-gradient(145deg,#ffffff,#f4eaf0);border:1px solid #bfa5b4;border-radius:15px;box-shadow:inset 0 1px 2px #fff,0 3px 10px #4d233d0f;isolation:isolate;-webkit-backdrop-filter:none;backdrop-filter:none}
#languageWelcome .welcome-language-choice>[data-native-language]{font-size:17px;line-height:1.5;font-weight:600;color:#351326;opacity:1;min-width:0;overflow-wrap:anywhere}
#languageWelcome .welcome-choice-mark{position:static;display:grid;place-items:center;width:24px;height:24px;font-size:16px;line-height:1;border-radius:50%;opacity:0;visibility:hidden;color:#54223b;background:#fff8ee;flex-shrink:0}
#languageWelcome .welcome-language-choice:has(input:checked){background:linear-gradient(145deg,#75405d,#482038);border-color:#482038;box-shadow:inset 0 1px 2px #ffffff70,0 4px 12px #48203826}
#languageWelcome .welcome-language-choice:has(input:checked)>[data-native-language]{color:#fffaf5}
#languageWelcome .welcome-language-choice:has(input:checked) .welcome-choice-mark{opacity:1;visibility:visible}
#languageWelcome .welcome-language-choice:has(input:focus-visible){outline:2px solid #73405d;outline-offset:3px}
#languageWelcome .button{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;min-height:54px;padding:14px 18px;white-space:normal;line-height:1.5;color:#fffaf5;background:linear-gradient(145deg,#75405d,#482038)}
#languageWelcome .welcome-footnote{margin-top:16px;line-height:1.6}
.market-dialog select{color:#351326;background:#fffaf7;border:1px solid #ac879b;padding:12px;min-width:0;width:100%;font-size:16px;line-height:1.5} .market-dialog option{color:#351326;background:#fffaf7}
/* A jewellery-inspired rosette in its own space, never behind the copy. */
.floral-copy .floral-decoration{position:relative;inset:auto;align-self:flex-end;flex:0 0 auto;width:160px;height:160px;margin:26px 0 0;z-index:0;opacity:.9;transform:none;animation:none;pointer-events:none}
.floral-decoration svg{width:100%;height:100%;overflow:visible;animation:avaira-bloom-turn 72s linear infinite;transform-origin:center}
@keyframes avaira-bloom-turn{from{transform:rotate(0)}to{transform:rotate(360deg)}}

@media(max-width:600px){#languageWelcome{padding:26px 20px 22px;border-radius:26px}#languageWelcome .welcome-language-grid{gap:12px}#languageWelcome .welcome-language-choice{padding:12px;gap:7px}#languageWelcome .welcome-brand{font-size:29px;letter-spacing:7px}body .tools{gap:6px}body .tools .icon{padding:5px}body .tools .bag{padding:5px 7px;gap:5px}#siteHeader{gap:8px}.market-bar{align-items:flex-start}body .market-bar button{flex:1 1 100%}.floral-copy .floral-decoration{width:140px;height:140px;margin-top:24px}}
@media(max-width:350px){#languageWelcome{padding-inline:15px}#languageWelcome .welcome-language-choice{padding:10px;gap:5px}#languageWelcome .welcome-language-choice>[data-native-language]{font-size:16px}#siteHeader .brand{font-size:27px;letter-spacing:3px}#siteHeader .brand small{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){body :is(button,a.button,a.outline),#languageWelcome .welcome-language-choice{transition:none}.floral-decoration svg{animation:none}}
@media(forced-colors:active){body :is(button,a.button,a.outline),#languageWelcome .welcome-language-choice{border:1px solid ButtonText;color:ButtonText;background:ButtonFace;box-shadow:none}#languageWelcome .welcome-language-choice>[data-native-language],#languageWelcome .welcome-language-choice:has(input:checked)>[data-native-language]{color:ButtonText}#languageWelcome .welcome-language-choice:has(input:checked){border:3px solid Highlight;background:ButtonFace}#languageWelcome .welcome-choice-mark{color:HighlightText;background:Highlight}}
@media(max-width:350px){#languageWelcome .welcome-language-grid{grid-template-columns:minmax(0,1fr)}}
/* Keep the wordmark framed by simple, unboxed navigation icons. */
#siteHeader button,#siteHeader button.crystal-pressed{background:none;border:1px solid transparent;box-shadow:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff8ef}
#siteHeader button:focus-visible{outline:2px solid #e8cda8;outline-offset:2px}
/* Photo, caption and scene controls each have their own vertical space. */
#heroArt{min-height:710px}
.hero-art-footer{position:absolute;inset-inline:24% 3%;bottom:0;display:flex;flex-direction:column;align-items:stretch;gap:18px}
#heroArt .hero-label{position:static;inset:auto;min-width:0}
#heroArt .hero-label p{line-height:1.3}
#heroArt .hero-label small{max-width:none;font-size:11px;line-height:1.6}
#heroArt .scene-controls{position:static;inset:auto;align-self:flex-end;gap:12px;flex-shrink:0;padding:3px}
.floral-copy .floral-decoration{opacity:1;filter:drop-shadow(0 6px 8px #773b4c16)}
/* A warm gold shimmer stays behind clear discount lettering. */
.price-group .discount-label,.detail-price .price-group .discount-label,.bag-price .price-group .discount-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;min-height:30px;padding:5px 9px;border:1px solid #c9925e;border-radius:7px;color:#fff8ec;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.1px;background:linear-gradient(110deg,#63233f 0%,#63233f 34%,#a05043 46%,#b97845 50%,#a05043 54%,#63233f 66%,#63233f 100%);background-size:300% 100%;background-position:100% 0;box-shadow:inset 0 1px 1px #ffead447,0 2px 7px #63233f1c;animation:avaira-offer-shimmer 8s ease-in-out infinite}
.discount-label::before{content:'✧';font-size:16px;line-height:1;color:#ffdda0;flex-shrink:0}
@keyframes avaira-offer-shimmer{0%,58%{background-position:100% 0}80%,100%{background-position:0% 0}}
@media(min-width:1550px){#heroArt{min-height:820px}}
@media(max-width:1050px){#heroArt{min-height:640px}}
@media(max-width:760px){#heroArt{min-height:580px}.hero-art-footer{inset-inline:12% 3%}}
@media(max-width:600px){#heroArt{min-height:515px}.hero-art-footer{inset-inline:26% 3%;gap:16px}#heroArt .hero-label small{font-size:11px}#heroArt .hero-label p{font-size:20px}}
@media(prefers-reduced-motion:reduce){.price-group .discount-label,.detail-price .price-group .discount-label,.bag-price .price-group .discount-label{animation:none;background:#63233f}}
@media(forced-colors:active){#siteHeader button{color:ButtonText}.price-group .discount-label,.detail-price .price-group .discount-label,.bag-price .price-group .discount-label{color:CanvasText;background:Canvas;border:1px solid CanvasText;animation:none}.discount-label::before{color:CanvasText}}
/* A rotating enamel blossom, with a separate orbit of gold light. */
.floral-copy .floral-decoration{width:180px;height:180px;isolation:isolate;animation:avaira-bloom-float 7s ease-in-out infinite}
.floral-decoration::before{content:'';position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,#efc9bd77, #edcf9f38 48%,transparent 70%);box-shadow:0 0 30px #d5ae8226;animation:avaira-bloom-aura 6s ease-in-out infinite;z-index:-1}
.floral-decoration .bloom-flower{position:relative;width:100%;height:100%;animation:avaira-bloom-turn 28s linear infinite;animation-play-state:running;transform-origin:50% 50%}
.floral-decoration .bloom-orbit{position:absolute;inset:0;width:100%;height:100%;animation:avaira-bloom-turn 42s linear infinite reverse;animation-play-state:running;transform-origin:50% 50%;pointer-events:none}
@keyframes avaira-bloom-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes avaira-bloom-aura{0%,100%{opacity:.55;scale:.96}50%{opacity:1;scale:1.04}}
@media(max-width:600px){.floral-copy .floral-decoration{width:160px;height:160px}}
@media(prefers-reduced-motion:reduce){.floral-copy .floral-decoration,.floral-decoration::before,.floral-decoration .bloom-flower,.floral-decoration .bloom-orbit{animation:none;translate:none;scale:none}}
