/* Rose linework follows the product's shape; official identity stays intact. */
.rose-mark{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}
.brand-flower{display:inline-block!important;width:31px;height:34px;vertical-align:middle;padding:0!important;margin-left:5px;color:var(--wine)}
.footer-brand>span{display:inline-block;width:.5em;height:.5em;margin-left:.1em;vertical-align:middle}
.ribbon-track i{display:inline-block;width:25px;height:25px;flex:0 0 auto}
.nav-rose{width:29px;height:29px}
.hero-rose{position:absolute;top:34px;right:5.5%;width:119px;color:#f7dfae;opacity:.86;pointer-events:none}
.hero-rose>.rose-mark{height:119px;filter:drop-shadow(0 2px 5px #311c1570)}
.hero-rose>span{display:block;font-family:var(--latin);font-size:10px;text-align:center;letter-spacing:.12em;white-space:nowrap;margin-top:3px}
.is-ready .hero-rose path{animation:rose-ink 1.6s cubic-bezier(.2,.7,.2,1) both}
.is-ready .hero-rose path:nth-child(2){animation-delay:.17s}
.is-ready .hero-rose path:nth-child(3){animation-delay:.29s}
.is-ready .hero-rose path:nth-child(4){animation-delay:.4s}
@keyframes rose-ink{from{stroke-dasharray:1;stroke-dashoffset:1;opacity:.15}to{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}
.about-signature{flex-direction:row;align-items:center;gap:20px;border:0;padding:0;margin-top:22px}
.official-brand-seal{width:126px;height:126px;object-fit:contain;border-radius:50%;border:1px solid #c49c736b;box-shadow:0 5px 18px #6d3c2520;flex:0 0 auto}
.about-signature>div{display:flex;flex-direction:column;gap:7px}
.about-signature>div>span{font-size:13px;line-height:1.6}
.about-signature>div>b{font-family:var(--latin);font-size:25px;line-height:1.3}
.about-photo:after{content:'';position:absolute;inset:24px 24px 53px;border:1px solid #fff9e94a;pointer-events:none}
.section-heading h2,.about-copy h2,.gift-copy h2{font-feature-settings:'palt';text-wrap:balance}
.section-heading.reveal.is-visible h2,.about-copy.reveal.is-visible h2{animation:heading-unfold .9s cubic-bezier(.2,.75,.2,1) both}
@keyframes heading-unfold{from{clip-path:inset(0 0 100%);transform:translateY(12px)}to{clip-path:inset(0);transform:translateY(0)}}
.taste-card:after{content:'';position:absolute;right:15px;top:16px;width:39px;height:39px;background:url('assets/rose-mark.svg') center/contain no-repeat;opacity:.55;pointer-events:none}
@media(max-width:760px){.hero-rose{width:70px;right:6%;top:22px}.hero-rose>.rose-mark{height:70px}.hero-rose>span{display:none}.brand-flower{width:26px;height:28px}.about-signature{gap:15px}.official-brand-seal{width:100px;height:100px}.about-signature>div>span{font-size:14px}.about-signature>div>b{font-size:23px}.taste-card:after{width:31px;height:31px;right:14px;top:13px}}
@media(max-width:360px){.brand-flower{width:22px;height:25px}.about-signature{gap:12px}.official-brand-seal{width:87px;height:87px}.about-signature>div>b{font-size:21px}.about-signature>div>span{font-size:13px}.hero-rose{width:55px}.hero-rose>.rose-mark{height:55px}}
@media(prefers-reduced-motion:reduce){.is-ready .hero-rose path,.section-heading.reveal.is-visible h2,.about-copy.reveal.is-visible h2{animation:none!important;stroke-dasharray:none;stroke-dashoffset:0;clip-path:none;transform:none}}
/* Shopping and experience settings fit the same four mobile actions. */
.experience-settings{position:relative;flex:0 0 44px;color:var(--wine)}
.experience-settings>summary{list-style:none;cursor:pointer;width:44px;min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;font-size:12px;line-height:1.4}
.experience-settings>summary::-webkit-details-marker{display:none}
.experience-settings-panel{position:absolute;right:0;top:calc(100% + 12px);width:190px;display:flex;justify-content:space-evenly;gap:22px;padding:20px;background:#fff9ef;border:1px solid #cfb6a1;border-radius:10px;box-shadow:0 12px 30px #452b2430;z-index:30}
.experience-settings-panel .sound-button,.experience-settings-panel .haptic-button{font-size:14px;min-height:64px;width:55px;min-width:55px}
.experience-settings-panel span,.experience-settings-panel b{font-size:14px}
.header-cart{display:flex;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:48px;color:var(--wine)}
.header-cart svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5}
.header-cart [data-cart-count]{font-size:14px}
.mobile-bottom [data-cart-count]{background:#ead7d5;border-radius:50%;min-width:23px;height:23px;display:grid;place-items:center;font-size:14px}
.purchase-destination a{text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.admin-entry{font-size:12px;opacity:.8}
/* Keep the brand face, with level, equal-width figures for every price. */
.product-price,.finder-result-price{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1,"onum" 0,"pnum" 0;
  font-kerning:none;
  letter-spacing:0;
}
.price-amount{display:inline-flex;align-items:baseline;gap:.12em;flex:0 0 auto;white-space:nowrap;line-height:1.15}
.price-currency{font-size:.72em;line-height:1}
@media(max-width:760px){.header-cart{flex:0 0 44px;width:44px;padding:5px 0}.experience-settings-panel{right:-88px}.experience-settings>summary{min-height:54px}}
/* Editable catalogue: plans, availability and actual product photographs. */
.product-image-placeholder{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:15px;width:100%;height:100%;min-height:220px;padding:28px;text-align:center;background:radial-gradient(ellipse at 30% 25%,#fffdf4,#efdfcf 75%);color:#8b5260;font-family:var(--serif);font-size:18px}
.product-image-placeholder>img{width:65px!important;height:65px!important;object-fit:contain;opacity:.65}
.product-image-placeholder small{font-family:var(--sans);font-size:12px;color:#846c5d}
.product-choice{display:flex;flex-direction:column;gap:9px;margin:18px 0;color:#57363e;font-size:14px;line-height:1.7}
.product-choice select{width:100%;min-width:0;min-height:48px;border:1px solid #c8ad9c;border-radius:5px;background:#fffaf4;color:#462d34;padding:10px;font:inherit;white-space:normal}
.product-options{border:1px solid #d3bcab;border-radius:8px;margin:20px 0;padding:16px}
.product-options legend{padding:0 7px;font-size:14px;color:#73514f}
.product-options label{display:flex;align-items:center;gap:12px;min-height:50px;cursor:pointer}
.product-options input{width:20px;height:20px;accent-color:#7b3448;flex:none}
.product-options label>span{display:flex;flex:1;justify-content:space-between;gap:16px;font-size:14px;line-height:1.7}
.product-options small{white-space:nowrap;font-size:14px;font-variant-numeric:lining-nums tabular-nums}
.product-plan-note{padding:14px 16px;border-left:3px solid #996674;background:linear-gradient(120deg,#f4e6dc,#faf1e7);font-size:14px;line-height:1.9}
.purchase-button:disabled{opacity:.68;cursor:default}
.product-purchase-dock [data-selected-price]{flex-wrap:nowrap;white-space:nowrap}
.saved-item-image .product-image-placeholder{min-height:0;padding:8px;gap:3px}
.saved-item-image .product-image-placeholder>img{width:35px!important;height:35px!important}
.saved-item-image .product-image-placeholder>span,.saved-item-image .product-image-placeholder>small{display:none}
@media(max-width:760px){.product-image-placeholder{min-height:250px;font-size:18px}.product-options{padding:12px}.product-detail-copy .product-choice{font-size:14px}.product-choice select{font-size:16px}.product-purchase-dock .product-price{font-size:clamp(27px,8vw,38px)}}
