body{--brand-yellow:#ffe500;--brand-ink:#171717;background:#f7f6ef;color:var(--brand-ink);font-family:"Inter","Segoe UI",sans-serif}
.store-header{padding-block:20px}
.store-header span{font-size:clamp(1rem,2vw,1.35rem);letter-spacing:-.035em;font-weight:760}
.store-header #open{border-radius:99px;white-space:nowrap;background:var(--brand-yellow);color:var(--brand-ink)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.promotion-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:22px}
.promotion-track::-webkit-scrollbar{display:none}
.promotion{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:clamp(16px,4vw,54px);padding:clamp(24px,5vw,65px);min-height:340px;background:var(--surface);color:var(--ink)}
.promotion-sets{--surface:var(--brand-yellow);--ink:var(--brand-ink)}
.promotion-desk{--surface:#fff1aa;--ink:var(--brand-ink)}
.promotion-drink{--surface:#fff8d6;--ink:var(--brand-ink)}
.promotion h2{font-family:"DM Serif Text",Georgia,serif;font-size:clamp(2.15rem,5vw,4.75rem);letter-spacing:-.055em;line-height:.98;margin:0 0 14px;text-wrap:balance}
.promotion p{font-size:clamp(.9rem,1.55vw,1.1rem);max-width:32ch;margin:0 0 22px}
.promotion-link{display:inline-flex;gap:14px;align-items:center;background:var(--brand-ink);color:#fff;padding:12px 17px;border-radius:8px;font-weight:750;text-decoration:none}
.promotion-link:hover{text-decoration:underline}
.promotion-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.promotion-photos figure{margin:0;min-width:0;background:#fff;border-radius:14px;padding:9px;box-shadow:0 10px 24px #152b2525}
.promotion-photos figure+figure{transform:translateY(14px)}
.promotion-photos img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:7px;background:#fbfbfb}
.promotion-photos figcaption{color:#383838;font-size:.75rem;font-weight:700;padding:5px 3px 2px}
.promotion-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 0}
.promotion-controls[hidden]{display:none}
.promotion-controls button{color:var(--brand-ink);background:#fff;border:1px solid #ddd5b0;padding:0;min-width:40px;height:40px;border-radius:50%;font-size:1.4rem}
.promotion-dots{display:flex;gap:0}
.promotion-controls .promotion-dot{display:grid;place-items:center;border:0;background:transparent}
.promotion-dot::before{content:"";display:block;width:8px;height:8px;border-radius:99px;background:#aeaa96}
.promotion-dot[aria-current="true"]::before{width:19px;background:var(--brand-ink)}
.browse{padding-top:24px}
.category-links ul{gap:6px}
.category-links a{padding:6px 11px;border:1px solid #e2dbc2;border-radius:99px;background:#fff;text-decoration:none;font-size:.86rem}
.category-links a:hover{border-color:#756900;text-decoration:underline}
article{border-radius:14px}
article h3{line-height:1.25}
@media(max-width:700px){.promotion{grid-template-columns:1fr;align-content:start;min-height:0;gap:18px;padding:20px}.promotion h2{font-size:2.15rem}.promotion p{margin-bottom:13px}.promotion-photos figure+figure{transform:none}.promotion-photos img{aspect-ratio:1.45;max-height:125px}.promotion-photos figure{padding:5px}.promotion-photos figcaption{font-size:.7rem}.promotion-track{border-radius:16px}.store-header{padding-block:14px}}


.store-header a,.category-links a{color:var(--brand-ink)}
.store-header #open:hover{background:#f1d900}
button:focus-visible,a:focus-visible,.promotion-track:focus-visible{outline:3px solid #695b00;outline-offset:3px}
.browse article button,#more,#form button{background:var(--brand-yellow);color:var(--brand-ink)}
.browse article button:hover,#more:hover,#form button:hover{background:#f1d900}
main a:not(.promotion-link),header a{color:var(--brand-ink)}
article small{color:#47402a}
.catalogue-end {
  height: 1px;
}

.catalogue-promo {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(110px, 25%, 225px);
  align-items: center;
  gap: clamp(12px, 3vw, 36px);
  padding: clamp(18px, 4vw, 40px);
  border-radius: 16px;
  background: var(--brand-yellow);
  color: var(--brand-ink);
}

.catalogue-promo h3 {
  font-family: "DM Serif Text", Georgia, serif;
  font-size: clamp(1.5rem, 4vw, 2.9rem);
  line-height: 1.05;
  margin: 0;
}

.catalogue-promo p {
  margin: .55rem 0 .9rem;
}

main .catalogue-promo a {
  display: inline-block;
  padding: .65rem .85rem;
  background: var(--brand-ink);
  color: white;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}

.catalogue-promo a:hover {
  text-decoration: underline;
}

.catalogue-promo img {
  display: block;
  width: 100%;
  height: clamp(105px, 19vw, 175px);
  border-radius: 10px;
  object-fit: contain;
  background: #fbfbfb;
}

@media (max-width: 420px) {
  .catalogue-promo { grid-template-columns: minmax(0, 1fr) 85px; }
  .catalogue-promo p { font-size: .85rem; }
  .catalogue-promo a { font-size: .8rem; }
}
