:root {
  --ruby: #ba1931;
  --deep-red: #94172b;
  --coral: #ff8d7b;
  --ink: #211d24;
  --paper: #f8f6f2;
  --muted: #625e65;
  --line: #dbd7d3;
  --mono: ui-monospace, Consolas, monospace;
  --ease: cubic-bezier(.23,.8,.24,1);
  font-family: "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
}
* { box-sizing: border-box }
html { scroll-behavior: smooth; scroll-padding-top: 84px }
body,figure,p,h1,h2,h3 { margin: 0 }
a { color: inherit; text-decoration: none }
button,input,select { color: inherit; font: inherit }
button,select { cursor: pointer }
button { background: none }
:focus-visible { outline: 3px solid #3976c0; outline-offset: 4px }
::selection { background: #f0b2ae; color: #331318 }
.wrap { width: min(1270px,91%); margin-inline: auto }
.skip { position: fixed; top: -6em; left: 12px; z-index: 12; padding: 12px; background: white }
.skip:focus { top: 12px }
header { position: sticky; top: 0; z-index: 8; background: #fcfbf9; border-bottom: 1px solid var(--line) }
.header-row, .header-row nav, .header-actions, .hero-actions, .hero-stats, .eyebrow, .section-title, .tools, .filters, .list-head, .tail, .modal-head { display: flex; align-items: center }
.header-row { min-height: 72px; gap: 32px }
.wordmark { display: inline-flex; align-items: center; min-height: 48px }
.wordmark img { display: block; width: 160px; height: auto }
.header-row nav { margin-left: auto; gap: 29px; font-size: 14px; font-weight: 600 }
.header-row nav a, .text-link { position: relative }
.header-row nav a::after, .text-link::after { content: ""; position: absolute; bottom: -4px; left: 0; right: 0; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .24s var(--ease) }
.header-actions { gap: 9px }
.shop,.sound,.cta,.zoom { display: inline-flex; align-items: center; justify-content: center; font-weight: 650 }
.shop,.sound { min-height: 42px; border-radius: 4px; white-space: nowrap }
.shop { padding: 0 17px; background: var(--ink); color: white; font-size: 14px }
.shop b { margin-left: 12px }
.long-label { margin-right: .3em }
.sound { gap: 7px; padding: 0 12px; border: 1px solid var(--line); color: #47424a; font-size: 13px }
.sound strong { font-weight: 650; color: var(--ruby) }
.sound[aria-pressed=false] .on-wave,.sound[aria-pressed=true] .off-wave { display: none }
.sound[aria-pressed=true] { color: var(--deep-red); background: #fbe9e6; border-color: #d7a8ac }
.read-progress { position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background: var(--ruby); transform: scaleX(0); transform-origin: left; pointer-events: none }
.hero { position: relative; isolation: isolate; overflow: hidden; color: #fffaf2; background: radial-gradient(ellipse at 55% 115%,#c3233b 0,transparent 50%),linear-gradient(112deg,#681327 0%,#861932 40%,#4f1427 68%,#281824 100%) }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .22; background-image: repeating-linear-gradient(118deg,transparent 0 62px,#ffbeba55 62px 63px,transparent 63px 88px); mask-image: linear-gradient(95deg,transparent 15%,#000 85%) }
.hero-inner { display: grid; grid-template-columns: 1fr .88fr; gap: clamp(32px,5vw,86px); align-items: center; padding-block: clamp(34px,4vw,60px) }
.hero-copy { padding-block: 8px }
.eyebrow,.plate-top,.hero-figure small,.index,.list-head,.modal-head>span,.tail,.contact small,.category,.code,dt { font: 650 11px/1.5 var(--mono); letter-spacing: .09em }
.eyebrow { gap: 12px }
.eyebrow i { width: 29px; height: 3px; background: var(--coral) }
.hero h1 { font-size: clamp(52px,5.8vw,92px); line-height: 1.04; letter-spacing: -.065em; margin: 20px 0 17px; font-weight: 720 }
.hero h1 em { font-family: Georgia,serif; font-weight: 400; color: #ffab96 }
.hero-copy p { max-width: 420px; color: #f1dddd; line-height: 1.65; font-size: clamp(15px,1.35vw,18px) }
.hero-actions { gap: 22px; flex-wrap: wrap; margin-top: 27px }
.cta { gap: 25px; border-radius: 4px; padding: 14px 18px; background: var(--ruby); color: white; font-size: 15px }
.hero .cta { color: #661629; background: #fff7eb }
.text-link { color: #fff3e9; font-size: 14px; font-weight: 600 }
.text-link span { margin-left: 5px; color: #ffbca8 }
.hero-stats { gap: 21px; border-top: 1px solid #efbcc055; margin-top: 32px; padding-top: 16px; width: fit-content }
.hero-stats span { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: #f1d9da }
.hero-stats span+span { padding-left: 20px; border-left: 1px solid #efbcc055 }
.hero-stats strong { color: #fff6e8; font-size: 21px; font-weight: 650; letter-spacing: -.04em; font-variant-numeric: tabular-nums }
.hero-figure { position: relative; isolation: isolate; border: 1px solid #b6aab04d; background: #202625; box-shadow: 0 17px 45px #26061255; border-radius: 5px; min-width: 0; overflow: hidden }
.plate-top,.hero-figure figcaption { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center }
.plate-top { color: #e7e4df; position: absolute; top: 17px; left: 20px; right: 20px; pointer-events: none }
.plate-top i,.hero-figure small i { font-style: normal; color: var(--coral); padding: 0 4px }
.cross { color: #ffb5a4; font-size: 19px }
.photo-stage { position: relative; display: grid; place-items: center; overflow: hidden; height: clamp(270px,25vw,370px); background: radial-gradient(ellipse at center,#3e4441,#202625 70%) }
.photo-stage img { display: block; width: auto; height: 100%; max-width: 100%; aspect-ratio: 1; position: absolute; object-fit: contain; transform: scale(1.07); transform-origin: 53% 64%; transition: transform .56s var(--ease); mask-image: linear-gradient(0deg,transparent,black 10%,black 90%,transparent),linear-gradient(90deg,transparent,black 14%,black 86%,transparent); mask-composite: intersect }
.hero-figure.is-closeup img { transform: scale(1.65) }
.corner { width: 13px; height: 13px; position: absolute; opacity: .65; pointer-events: none }
.tl { top: 49px; left: 20px; border-left: 1px solid #dfb9af; border-top: 1px solid #dfb9af }
.br { bottom: 15px; right: 20px; border-right: 1px solid #dfb9af; border-bottom: 1px solid #dfb9af }
.hero-figure figcaption { border-top: 1px solid #ffffff26; padding: 12px 20px 13px; background: #1f2424 }
.hero-figure small { font-size: 9px; display: block; margin-bottom: 3px; color: #dfd8d2 }
.hero-figure figcaption strong { font-size: 17px; font-weight: 600 }
.zoom { border: 1px solid #9b9d97; border-radius: 3px; min-height: 40px; padding: 0 11px; gap: 5px; color: #fff9f1; font-size: 13px }
.zoom-symbol { font-size: 16px }
.catalog { padding-block: 54px 82px }
.ink,.index { color: var(--muted) }
.ink i,.index i { background: var(--ruby) }
.section-title { justify-content: space-between; gap: 12px; margin: 9px 0 23px }
.section-title h2,.foot h2 { font-size: clamp(36px,4.35vw,66px); line-height: 1.1; letter-spacing: -.06em; font-weight: 690 }
.section-title h2 span { color: var(--ruby) }
.index { display: flex; align-items: center; gap: 8px; font-size: 10px }
.index i { width: 7px; height: 7px; border-radius: 50% }
.tools { gap: 10px }
.search,.sort { display: flex; align-items: center; gap: 10px; padding: 0 14px; min-height: 46px; border: 1px solid var(--line); border-radius: 4px; background: #fffefb }
.search { flex: 1; color: var(--muted) }
.search:focus-within,.sort:focus-within { border-color: var(--ruby); box-shadow: 0 0 0 2px #ba193122 }
.search input { width: 100%; min-width: 0; border: none; background: transparent; outline: none; padding: 10px 0 }
.sort { font-size: 14px; color: var(--muted) }
.sort select { border: 0; background: transparent; color: var(--ink); padding: 7px 0; font-weight: 650 }
.filters { gap: 7px; flex-wrap: wrap; margin: 13px 0 19px }
.filters button,#clear { border: 1px solid var(--line); background: #fffdf9; padding: 9px 14px; border-radius: 20px; min-height: 39px; font-size: 14px }
.filters button[aria-pressed=true] { background: var(--deep-red); border-color: var(--deep-red); color: white }
.list-head { justify-content: space-between; border-top: 1px solid var(--line); padding: 15px 0; color: var(--muted); font-size: 11px; letter-spacing: .025em }
.grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 19px }
.card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: #fffefa; box-shadow: 0 2px 4px #24172105 }
.pic { margin: 9px 9px 0; overflow: hidden; background: #fff; border-radius: 3px }
.pic img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; transition: transform .4s var(--ease) }
.category,.code { color: var(--deep-red); text-transform: uppercase; font-size: 10px }
.card .category { margin: 14px 16px 5px }
.card h3 { font-size: clamp(16px,1.5vw,21px); letter-spacing: -.03em; line-height: 1.3; margin: 0 16px 14px }
.price-line { display: flex; align-items: center; justify-content: space-between; margin: auto 16px 0; border-top: 1px solid var(--line); padding: 10px 0 12px; font-weight: 650; font-variant-numeric: tabular-nums }
.price-line b { display: grid; place-items: center; width: 27px; height: 27px; color: var(--ruby); background: #f9e8e5; border-radius: 50% }
#empty { text-align: center; padding: 45px 8px }
#empty p { color: var(--muted); margin: 12px 0 16px }
footer { color: #fff6ee; background: linear-gradient(110deg,#29232b 0%,#241d24 68%,#452331) }
.foot { display: grid; grid-template-columns: 1fr .72fr; gap: 55px; padding-block: 52px; align-items: center }
.foot h2 { margin: 15px 0 }
.foot p { color: #dfd4d6; line-height: 1.6; max-width: 410px }
.contact a { display: block; position: relative; border-bottom: 1px solid #706068; padding: 15px 30px 15px 0; font-size: clamp(22px,2.5vw,34px); letter-spacing: -.04em }
.contact small { display: block; font-size: 10px; margin-bottom: 4px; color: #e7d1d4 }
.contact b { position: absolute; right: 0; bottom: 17px; color: var(--coral) }
.tail { justify-content: space-between; gap: 20px; border-top: 1px solid #62515a; padding: 19px 0; color: #e1d7d9; font-size: 10px }
dialog { width: min(810px,94vw); max-height: 90dvh; border: 1px solid #dfd7d6; padding: 0; border-radius: 9px; background: var(--paper); color: var(--ink); box-shadow: 0 32px 115px #16070d69 }
dialog::backdrop { background: #1c1020bc; backdrop-filter: blur(4px) }
.modal-head { position: sticky; top: 0; z-index: 1; justify-content: space-between; background: #fcfbf7; padding: 9px 19px; border-bottom: 1px solid var(--line) }
.modal-head>span { color: var(--deep-red); font-size: 10px }
.modal-head button { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50% }
.details { padding: 23px; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: start }
.details img { width: 100%; height: auto; border-radius: 4px }
.details h2 { font-size: clamp(26px,3.4vw,40px); line-height: 1.12; letter-spacing: -.046em; margin: 8px 0 11px }
.details p { font-size: 15px; line-height: 1.6; color: var(--muted) }
.details dl { margin: 16px 0 }
.details dl div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 7px 0 }
.details dt { color: var(--muted); letter-spacing: .02em }
.details dd { margin: 0; font-size: 13px; text-align: right }
.details .big-price { color: var(--ink); font-size: 25px; font-weight: 700 }
.details .cta { margin: 11px 0 }
.details .fine { font-size: 12px }
/* Keep interaction feedback on the element that received the gesture. */
:is(.cta,.shop,.sound,.zoom,.filters button,.card,#close,#clear) { position: relative; isolation: isolate; overflow: hidden; transition: transform .18s var(--ease),border-color .18s,box-shadow .18s,background-color .18s }
:is(.cta,.shop,.sound,.zoom,.filters button,.card,#close,#clear):active { transform: scale(.98) }
.touch-ring { position: absolute; z-index: 2; pointer-events: none; border: 2px solid currentColor; border-radius: 50%; width: 14px; height: 14px; margin: -7px; animation: ring .43s ease-out forwards; color: #e98683 }
@keyframes ring { from { opacity: .86; transform: scale(.4) } to { opacity: 0; transform: scale(5) } }
@media (hover:hover) and (pointer:fine) {
  .header-row nav a:hover,.tail a:hover { color: var(--ruby) }
  .header-row nav a:hover::after,.text-link:hover::after { transform: scaleX(1) }
  .card:hover { transform: translateY(-4px); box-shadow: 0 11px 28px #4c19261a; border-color: #c7979d }
  .card:hover .pic img { transform: scale(1.045) }
  .card:hover h3,.filters button:not([aria-pressed=true]):hover,.sound:hover { color: var(--deep-red) }
  .shop:hover,.details .cta:hover { background-color: #8a1426 }
  .hero .cta:hover { background-color: #ffdfcf }
  .zoom:hover,.contact a:hover { color: #ffbba9 }
}
@media (prefers-reduced-motion:no-preference) {
  .hero-copy { animation: arrive .55s var(--ease) both }
  .hero-figure { animation: arrive .63s .06s var(--ease) both }
  dialog[open] { animation: arrive .23s var(--ease) }
  .grid.is-updating { animation: list-in .23s var(--ease) }
  @keyframes arrive { from { opacity: 0; transform: translateY(12px) } to { opacity: 1; transform: translateY(0) } }
  @keyframes list-in { from { opacity: .65; transform: translateY(4px) } to { opacity: 1; transform: translateY(0) } }
}
@media(max-width:900px) {
  .header-row { gap: 16px }
  .header-row nav { gap: 14px }
  .hero-inner { grid-template-columns: 1fr .9fr; gap: 24px }
  .grid { grid-template-columns: repeat(3,minmax(0,1fr)) }
}
@media(max-width:700px) {
  html { scroll-padding-top: 74px }
  .header-row { min-height: 60px; justify-content: space-between; gap: 8px }
  .header-row nav,.long-label,.sound>span { display: none }
  .sound { width: 42px; padding: 0 }
  .wordmark img { width: 125px }
  .shop { padding: 0 11px; font-size: 13px }
  .shop b { margin-left: 6px }
  .hero-inner { grid-template-columns: 1fr; padding-block: 31px 23px; gap: 22px }
  .hero-copy { padding: 0 }
  .hero h1 { font-size: clamp(48px,12vw,73px); margin: 12px 0 }
  .hero-copy p { max-width: 440px; font-size: 15px }
  .hero-actions { margin-top: 18px; gap: 16px }
  .hero-stats { margin-top: 17px; padding-top: 11px }
  .hero-stats strong { font-size: 18px }
  .photo-stage { height: clamp(200px,50vw,290px) }
  .hero-figure figcaption { padding: 9px 13px }
  .plate-top { top: 10px; left: 13px; right: 13px }
  .catalog { padding-block: 35px 45px }
  .section-title { margin: 7px 0 18px }
  .index,.footer-signature { display: none }
  .tools { flex-wrap: wrap; justify-content: flex-end; gap: 7px }
  .search { flex-basis: 100% }
  .sort { min-height: 35px; padding: 0 8px }
  .filters { gap: 5px; margin: 9px 0 13px }
  .filters button { padding: 8px 10px; font-size: 13px }
  .grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px }
  .pic { margin: 5px 5px 0 }
  .card .category { margin: 10px 9px 4px; font-size: 9px; letter-spacing: .035em }
  .card h3 { margin: 0 9px 9px }
  .price-line { margin: auto 9px 0; font-size: 14px }
  .foot { grid-template-columns: 1fr; gap: 15px; padding-block: 33px }
  .tail { gap: 8px }
  .details { grid-template-columns: 1fr; gap: 12px; padding: 16px }
  .details img { width: min(100%,245px); justify-self: center }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto }
  *,*::before,*::after { animation: none !important; transition: none !important }
  .touch-ring { display: none }
}

/* Size the photo from its actual column instead of the intrinsic HTML height. */
.pic { flex: none; aspect-ratio: 1; }
.pic img { width: 100%; height: auto; aspect-ratio: 1; }
.product-link { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.add-card,.secondary { border: 1px solid #cbbfc1; border-radius: 4px; padding: 9px 12px; font-weight: 600; background: #fffaf7; color: var(--deep-red); }
.add-card { margin: 0 12px 12px; min-height: 40px; }
.add-card:hover,.secondary:hover { background: #faebe6; border-color: var(--ruby); }
.cart-trigger { border: 0; gap: 8px; }
#cart-count { border-radius: 18px; min-width: 22px; padding: 2px 5px; background: #ffe2dc; color: #701329; font-variant-numeric: tabular-nums; }
.brand-story { padding: 52px 0 65px; background: #eeebe4; }
.story-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 18px; }
.story-grid article { border-radius: 6px; padding: clamp(20px,3vw,40px); }
.factory { background: #29262a; color: #fff8eb; }
.brand-note { background: #741b32; color: #fff5eb; }
.story-number { font: 650 11px/1.4 var(--mono); letter-spacing: .1em; color: #ffb3a1; }
.story-grid h3 { margin: 12px 0; font-size: clamp(23px,2.8vw,37px); line-height: 1.12; letter-spacing: -.04em; }
.story-grid p { line-height: 1.7; color: #f2e5dd; max-width: 60ch; }
.story-grid a,.source-product { display: inline-block; margin: 13px 15px 0 0; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; }
.process { display: grid; grid-template-columns: repeat(2,1fr); padding: 0; gap: 5px 12px; margin: 17px 0 0; list-style: none; }
.process li { border-top: 1px solid #73666a; padding-top: 7px; font-size: 13px; }
.process b { color: #ffb3a1; margin-right: 5px; }
.brand-links { margin-top: 10px; }
.detail-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 0; }
.detail-actions .cta,.send { border: 0; margin: 0; }
.details .detail-added { color: var(--deep-red); font-weight: 600; }
#basket { width: min(565px,95vw); overscroll-behavior: contain; }
.basket-inner { padding: clamp(17px,3vw,30px); }
.basket-inner h2 { margin: 0 0 19px; font-size: clamp(28px,3.3vw,39px); letter-spacing: -.05em; }
.basket-inner p { font-size: 14px; line-height: 1.55; color: var(--muted); margin: 7px 0; }
.basket-inner button { min-height: 38px; }
.cart-row { display: grid; grid-template-columns: 55px 1fr auto; gap: 10px; align-items: start; padding: 12px 0; border-top: 1px solid var(--line); }
.cart-row img { width: 55px; height: 55px; border-radius: 3px; }
.cart-row h3 { font-size: 16px; }
.cart-row small { color: var(--muted); }
.qty { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; font-variant-numeric: tabular-nums; }
.qty button,.remove-item { border: 1px solid var(--line); border-radius: 4px; padding: 4px 9px; }
.remove-item { color: var(--deep-red); font-size: 13px; }
.subtotal { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--line); padding: 15px 0 4px; }
.subtotal strong { font-size: 23px; }
#order-form { border-top: 1px solid var(--line); margin-top: 15px; padding-top: 16px; }
#order-form label { display: block; margin-top: 9px; font-weight: 600; font-size: 14px; }
#order-form small { font-weight: normal; }
#order-form input,#order-form textarea { display: block; width: 100%; padding: 9px; margin: 4px 0 0; border: 1px solid #bdb4b4; border-radius: 4px; font: inherit; background: white; }
#order-form textarea { resize: vertical; }
#order-form .error { color: #97152c; }
.send { width: 100%; margin-top: 7px; }
#receipt { padding: 18px; background: #f1eae0; border-radius: 6px; }
#receipt h3 { margin-top: 8px; }
.cart-toast { position: fixed; bottom: 16px; left: 50%; padding: 10px 17px; background: var(--ink); color: white; border-radius: 5px; z-index: 10; transform: translateX(-50%); max-width: 92vw; width: max-content; pointer-events: none; }
.cart-toast:empty { display: none; }
@media(max-width:880px) { .header-row nav { gap: 9px; font-size: 13px; } }
@media(max-width:700px) {
  .add-card { margin: 0 7px 8px; font-size: 13px; padding: 7px 2px; }
  .story-grid { grid-template-columns: 1fr; }
  .brand-story { padding-block: 32px; }
  .cart-row { grid-template-columns: 43px 1fr auto; gap: 7px; }
  .cart-row img { width: 43px; height: 43px; }
}
.story-photo { position: relative; overflow: hidden; margin: 0 0 18px; min-width: 0; background: #1e2525; }
.story-photo img { display: block; width: 100%; height: clamp(150px,16vw,220px); object-fit: cover; object-position: 50% 48%; }
.story-photo figcaption { position: absolute; bottom: 0; left: 0; padding: 5px 10px; font-size: 11px; background: #211d24de; color: #fff; }
.product-still img { object-fit: contain; }

.account-link{display:inline-flex;gap:5px;align-items:center;justify-content:center;min-height:42px;padding:0 9px;border:1px solid var(--line);border-radius:4px;font-weight:650;font-size:13px}
@media(max-width:1080px){.account-link span{display:none}.header-row{gap:13px}.header-actions{gap:6px}}
@media(max-width:875px){.header-row nav{display:none}.header-actions{margin-left:auto}}
@media(max-width:390px){.header-row{gap:3px}.wordmark img{width:99px}.header-actions{gap:4px}.account-link,.sound{width:36px;padding:0}.cart-trigger{padding:0 7px;gap:4px}}
.rating-chip{display:block;margin:0 16px 9px;color:#704b22;font-size:13px}.review-panel{padding:20px 24px 25px;border-top:1px solid var(--line)}.review-panel h3{margin:0 0 12px;font-size:22px}.review-summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.review-summary strong{font-size:22px}.review-summary span,.review-tip{color:var(--muted);font-size:14px}.review-breakdown{max-width:350px;margin:12px 0}.review-breakdown>div{display:grid;grid-template-columns:38px 1fr 30px;gap:8px;align-items:center;font-size:12px}.review-breakdown progress{width:100%;height:8px;accent-color:#90621e}.real-reviews article{border-top:1px solid var(--line);padding:10px 0}.real-reviews article>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.gold-stars{color:#92621a}.real-reviews time{color:var(--muted);font-size:12px}.real-reviews p{white-space:pre-wrap;overflow-wrap:anywhere} .real-reviews strong{overflow-wrap:anywhere}.review-tip a{text-decoration:underline;color:var(--deep-red)}.review-panel [role=status]:not(:empty){margin:9px 0;font-size:14px}.rate-form{margin-top:15px;padding:14px;background:#fcf8f2;border:1px solid var(--line);border-radius:5px}.rate-form fieldset{padding:0;border:0;margin:0}.rate-form legend{font-weight:700}.star-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.star-choices label{position:relative;cursor:pointer}.star-choices input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.star-choices span{display:block;padding:8px 10px;border:1px solid #c8b7a2;border-radius:5px;background:#fff;color:#74501a}.star-choices input:checked+span{background:#754919;color:white}.star-choices input:focus-visible+span{outline:3px solid #4675b4}.rate-form>label{display:block;font-size:14px;font-weight:600;margin:10px 0}.rate-form>label input,.rate-form textarea{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:4px;font:inherit}.rate-form button{border:none}.review-error{color:var(--ruby)}@media(max-width:600px){.review-panel{padding:16px}.rating-chip{margin-inline:9px;font-size:12px}}
.cart-vouchers{background:#faf2e9;padding:15px;border:1px solid #dfcfba;border-radius:6px;margin:14px 0}.cart-vouchers h3{margin:0 0 8px}.cart-vouchers label{font-size:14px;font-weight:650}.offer-entry{display:flex;gap:8px;margin-top:4px}.offer-entry input{flex:1;min-width:0;border:1px solid var(--line);padding:9px}.cart-vouchers button{border:1px solid #bda9a9;border-radius:4px;padding:6px 11px}.cart-vouchers a{color:var(--deep-red);text-decoration:underline}.basket-inner .offer-note{font-size:13px}.subtotal.offer-saving{color:#346047}.subtotal.offer-final strong{color:var(--deep-red)}
