/* LightSite plus.css – 2026-10 additions, loaded by the layout only where they are used (shop-enabled sites, pages with
   the new blocks/variants, theme.headings = ornate, dark site palettes). Tokens and scheme variables as in theme.css.
   1 dark site · 2 ornate headings · 3 banner hero · 4 ticker cross · 5 arch photo + person card · 6 team schedule
   7 oracle · 8 price tiles · 9 event + countdown · 10 contacts table · 11 tags, footnote · 12 footer centered
   13 product grid · 14 product page · 15 cart button, drawer, checkout, options dialog · 16 motion, small screens
   17 header.layout bar · 18 cards in one row, card photo ratios · 19 logos with names · 20 text: compact title
   21 lineup (Афіша: dated events, rows / poster cards) */

/* 1. Dark site (layout: body.ls-dark-site when the palette's page background is dark). Accent text stays light. */
html:has(body.ls-dark-site){color-scheme:dark}
body.ls-dark-site{--ls-accent-ink:var(--ls-accent-on-dark);--ls-accent-display:var(--ls-accent-on-dark);--_ink:var(--ls-accent-on-dark);--_disp:var(--ls-accent-on-dark);--_mark:var(--ls-accent-on-dark);--_hl-c:var(--ls-accent-on-dark);--_hl-line:#0000;--ls-shadow:0 2px 4px #0006,0 18px 40px -18px #000c;--ls-shadow-lg:0 4px 12px #0008,0 40px 80px -30px #000}
body.ls-dark-site .ls-form{--_ink:var(--ls-accent-on-dark)}
body.ls-dark-site .ls-field__input{background:color-mix(in srgb,var(--ls-bg) 70%,#000);border-color:color-mix(in srgb,var(--ls-accent) 40%,var(--ls-border))}
body.ls-dark-site ::selection{background:color-mix(in srgb,var(--ls-accent) 55%,#0000);color:#fff}
body.ls-dark-site{scrollbar-color:color-mix(in srgb,var(--ls-accent) 45%,var(--ls-bg)) var(--ls-bg)}
/* no backdrop-filter on the header: it would become the containing block of the fixed phone menu drawer */
body.ls-dark-site .ls-header{--_bg:color-mix(in srgb,var(--ls-bg) 96%,var(--ls-primary));border-bottom:1px solid color-mix(in srgb,var(--ls-accent) 18%,#0000)}

/* 2. theme.headings = ornate: display title (the heading family, letter-spaced, a light-to-accent gradient), the subtitle
   as a small spaced line under it, an ornament below (theme.ornament: cross / star / diamond / none) */
html{--ls-gold:var(--ls-accent-2,var(--ls-accent));--ls-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 11 8.2 1.5h7.6zM13 12l9.5-3.8v7.6zM12 13l3.8 9.5H8.2zM11 12 1.5 15.8V8.2z'/%3E%3C/svg%3E")}
body.ls-orn--star{--ls-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5 14.6 9.4 22.5 12l-7.9 2.6L12 22.5l-2.6-7.9L1.5 12l7.9-2.6z'/%3E%3C/svg%3E")}
body.ls-orn--diamond{--ls-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 21 12 12 21 3 12z'/%3E%3C/svg%3E")}
.ls-heads--ornate .ls-head{max-width:900px;margin-inline:auto;text-align:center}
.ls-heads--ornate .ls-head .ls-subtitle{margin-inline:auto}
.ls-heads--ornate .ls-head .ls-title{font:700 clamp(2rem,1.2rem + 3.6vw,3.5rem)/1.12 var(--ls-font-head);letter-spacing:.08em;text-transform:none;background:linear-gradient(180deg,#fff,color-mix(in oklab,var(--ls-accent) 40%,#fff) 60%,var(--ls-accent));-webkit-background-clip:text;background-clip:text;color:#0000;-webkit-hyphens:manual;hyphens:manual}
.ls-heads--ornate:not(.ls-dark-site) .ls-head .ls-title{background-image:linear-gradient(180deg,var(--ls-text),color-mix(in oklab,var(--ls-accent) 70%,var(--ls-text)))}
.ls-heads--ornate .ls-head .ls-subtitle{margin-top:8px;font:500 .9rem/1.6 var(--ls-font-head-alt,var(--ls-font-body));letter-spacing:.3em;color:var(--_muted);text-indent:.3em}
.ls-heads--ornate .ls-head .ls-eyebrow{margin-bottom:10px;color:var(--ls-gold)}
.ls-heads--ornate .ls-head .ls-eyebrow::before,.ls-heads--ornate .ls-head .ls-eyebrow::after{display:none}
.ls-heads--ornate:not(.ls-orn--none) .ls-head::after{content:"";display:block;width:20px;height:20px;margin:16px auto 0;background:var(--ls-gold);-webkit-mask:var(--ls-orn) center / contain no-repeat;mask:var(--ls-orn) center / contain no-repeat;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ls-gold) 60%,#0000))}
.ls-heads--ornate .ls-split .ls-head{text-align:left;margin-inline:0}
.ls-heads--ornate .ls-split .ls-head::after{margin-left:0}
.ls-heads--ornate .ls-split .ls-head .ls-subtitle{margin-inline:0;text-indent:0}
.ls-heads--ornate .ls-hl{color:inherit;text-decoration:none}
.ls-heads--ornate .ls-richtext h3{font:700 clamp(1.45rem,1.05rem + 1.7vw,2.4rem)/1.5 var(--ls-font-head-alt,var(--ls-font-head));letter-spacing:.02em;margin-bottom:.6em}
.ls-heads--ornate .ls-text--center .ls-richtext h3{font-size:clamp(1.6rem,1.1rem + 2.2vw,2.75rem)}
.ls-heads--ornate .ls-nav__link{font-size:.8rem;letter-spacing:.14em;font-weight:700}
.ls-heads--ornate .ls-header .ls-btn{min-height:40px;padding:6px 16px;font-size:.74rem}
.ls-heads--ornate .ls-logo__img{height:44px}
/* language switcher in the ornate header: the nav letters, a slightly tighter menu from 1200px so the switcher fits beside it */
.ls-heads--ornate .ls-lang__btn{font:700 .78rem/1 var(--ls-font-head);letter-spacing:.12em}
.ls-heads--ornate .ls-lang__menu{border:1px solid color-mix(in srgb,var(--ls-accent) 30%,#0000)}
.ls-heads--ornate .ls-langs-inline a{font-family:var(--ls-font-head);letter-spacing:.12em}
@media (min-width:1200px){body.ls-heads--ornate:not(.ls-nav-compact) .ls-nav__link{padding-inline:clamp(6px,.8vw,12px)}}
/* link tiles with an icon (cards, variant links) */
.ls-tiles:has(.ls-card__icon){justify-content:center;gap:16px}
.ls-tiles > .ls-card:has(.ls-card__icon){flex:0 1 260px;min-width:min(240px,100%)}
.ls-tiles .ls-card__body:has(> .ls-card__icon){flex-direction:row;align-items:center;gap:12px}
.ls-tiles .ls-card__icon{display:grid;place-items:center;flex:none;width:32px;height:32px;color:var(--_fg)}
.ls-tiles .ls-card__icon .ls-icon{width:24px;height:24px}
.ls-tiles .ls-card__body:has(> .ls-card__icon) > :not(.ls-card__icon){flex:1 1 auto;min-width:0}
.ls-tiles > .ls-card .ls-card__title{overflow-wrap:anywhere}
@media (max-width:639px){.ls-tiles > .ls-card:has(.ls-card__icon){flex:1 1 100%}.ls-tiles:has(> .ls-card .ls-card__icon){grid-template-columns:minmax(0,1fr)}}
body.ls-dark-site .ls-tiles > .ls-card{background:color-mix(in srgb,var(--ls-primary) 60%,#0000);border:1px solid color-mix(in srgb,var(--ls-accent) 35%,#0000)}
body.ls-dark-site .ls-tiles .ls-card:has(.ls-card__link):hover{border-color:var(--ls-accent);box-shadow:0 0 22px color-mix(in srgb,var(--ls-accent) 40%,#0000)}
/* buttons in the ornate world: a glowing accent gradient and a soft outline */
.ls-heads--ornate .ls-btn{letter-spacing:.12em;font-weight:700}
.ls-heads--ornate .ls-btn--primary{--_b-fg:#fff;background:linear-gradient(135deg,color-mix(in oklab,var(--ls-accent) 76%,#1d0450),color-mix(in oklab,var(--ls-accent) 45%,#1d0450));box-shadow:0 8px 28px -8px color-mix(in srgb,var(--ls-accent) 70%,#0000)}
.ls-heads--ornate .ls-btn--primary:hover{background:linear-gradient(135deg,color-mix(in oklab,var(--ls-accent) 86%,#1d0450),color-mix(in oklab,var(--ls-accent) 55%,#1d0450));box-shadow:0 12px 40px -8px color-mix(in srgb,var(--ls-accent) 90%,#0000);transform:translateY(-2px)}
.ls-heads--ornate .ls-btn--outline{--_b-fg:color-mix(in oklab,var(--ls-accent) 35%,#fff);--_b-line:color-mix(in srgb,color-mix(in oklab,var(--ls-accent) 35%,#fff) 60%,#0000);--_b-bg:color-mix(in srgb,var(--ls-bg) 50%,#0000)}
.ls-heads--ornate .ls-btn--outline:hover{--_b-bg:color-mix(in srgb,var(--ls-accent) 18%,#0000);--_b-fg:#fff;--_b-line:var(--ls-accent)}
.ls-heads--ornate:not(.ls-dark-site) .ls-btn--outline{--_b-fg:var(--_fg)}
/* subtle film grain over the whole page (decorative, no pointer events) */
.ls-heads--ornate.ls-dark-site::before{content:"";position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
/* sections of the ornate dark world get soft accent glows instead of flat colour */
.ls-heads--ornate.ls-dark-site .ls-block.ls-bg--default{background:radial-gradient(60% 50% at 12% 18%,color-mix(in srgb,var(--ls-accent) 9%,#0000),#0000 70%),var(--ls-bg)}
.ls-heads--ornate.ls-dark-site .ls-block.ls-bg--default:nth-of-type(even){background:radial-gradient(55% 45% at 88% 82%,color-mix(in srgb,var(--ls-accent) 8%,#0000),#0000 70%),var(--ls-bg)}
.ls-heads--ornate.ls-dark-site .ls-block.ls-bg--light{background:linear-gradient(180deg,var(--ls-bg),var(--ls-surface) 30%,var(--ls-bg))}
.ls-heads--ornate.ls-dark-site .ls-block.ls-bg--dark{background:radial-gradient(70% 55% at 50% 0%,color-mix(in srgb,var(--ls-accent) 22%,#0000),#0000 65%),var(--ls-primary)}
.ls-heads--ornate.ls-dark-site .ls-block.ls-bg--dark + .ls-block.ls-bg--dark{background:radial-gradient(60% 50% at 50% 120%,color-mix(in srgb,var(--ls-accent) 18%,#0000),#0000 60%),var(--ls-primary)}

/* 3. hero, variant banner: wide photo across the top fading into the page, text centred below */
.ls-block--hero.ls-v--banner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding-top:0;text-align:center;overflow:hidden}
.ls-block--hero.ls-v--banner > .ls-container{width:100%}
.ls-banner__media{position:relative;height:min(58vh,620px);overflow:hidden}
.ls-banner__img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.ls-banner__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 40%,color-mix(in srgb,var(--ls-bg) 70%,#0000) 78%,var(--ls-bg))}
.ls-banner__inner{position:relative;z-index:2;margin-top:-10px}
.ls-v--banner .ls-hero__content{max-width:900px;margin-inline:auto}
.ls-v--banner .ls-hero__title{font:800 clamp(1.75rem,1rem + 3.2vw,3.5rem)/1.35 var(--ls-font-head-alt,var(--ls-font-head));letter-spacing:.08em}
.ls-heads--ornate .ls-v--banner .ls-hero__title{text-shadow:0 0 30px color-mix(in srgb,var(--ls-accent) 70%,#0000),0 2px 0 #000}
.ls-v--banner .ls-hero__subtitle{margin:12px auto 0;max-width:640px;letter-spacing:.25em;color:color-mix(in oklab,var(--ls-accent) 30%,var(--_fg));font-size:clamp(.82rem,.75rem + .4vw,1rem)}
.ls-v--banner .ls-btns{margin-top:28px}
.ls-block--hero.ls-v--banner.ls-hero--h-full,.ls-block--hero.ls-v--banner.ls-hero--h-large{min-height:min(calc(100vh - var(--ls-header-h)),1000px);min-height:min(calc(100svh - var(--ls-header-h)),1000px)}
.ls-banner--nophoto{padding-top:var(--ls-pad)}
@media (max-width:767px){
  /* phones: the photo on top at its own proportions, the text below; no fixed height */
  .ls-block--hero.ls-v--banner.ls-hero--h-full,.ls-block--hero.ls-v--banner.ls-hero--h-large{min-height:0}
  .ls-banner__media{height:min(138vw,540px)}
  .ls-v--banner .ls-btns{flex-direction:column;align-items:center}
  .ls-v--banner .ls-btns .ls-btn{width:auto;min-width:min(220px,100%);max-width:100%}
  .ls-banner__inner{margin-top:18px}
  .ls-v--banner .ls-hero__title{letter-spacing:.04em}
  .ls-v--banner .ls-hero__subtitle{letter-spacing:.16em}
}

/* 4. ticker marker "cross" + ornate ticker strip */
.ls-ticker--m-cross li::before{content:"";flex:none;width:12px;height:12px;margin-right:-24px;background:currentColor;-webkit-mask:var(--ls-orn) center / contain no-repeat;mask:var(--ls-orn) center / contain no-repeat}
.ls-heads--ornate .ls-block--ticker{border-block:1px solid color-mix(in srgb,var(--ls-gold) 35%,#0000);background:linear-gradient(90deg,var(--ls-primary),var(--ls-primary-2),var(--ls-primary));color:var(--ls-gold);--_fg:var(--ls-gold)}
.ls-heads--ornate .ls-ticker__track li{font:700 .88rem/1.4 var(--ls-font-head);letter-spacing:.2em}

/* 5. image_text: arch photo frame, person card */
.ls-media--arch{aspect-ratio:3 / 4;max-width:440px;margin-inline:auto;border-radius:50% 50% 14px 14px / 30% 30% 14px 14px;overflow:hidden;position:relative;border:2px solid color-mix(in srgb,var(--ls-gold) 55%,#0000);box-shadow:0 0 0 8px color-mix(in srgb,var(--ls-bg) 90%,#0000),0 0 0 9px color-mix(in srgb,var(--ls-gold) 35%,#0000),0 24px 60px -20px color-mix(in srgb,var(--ls-accent) 45%,#0000)}
.ls-media--arch img{width:100%;height:100%;object-fit:cover;display:block}
.ls-media--arch::after{content:"";position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 0deg at 50% 0%,#0000,color-mix(in srgb,var(--ls-accent) 22%,#0000),color-mix(in srgb,var(--ls-gold) 15%,#0000),#0000);mix-blend-mode:screen}
.ls-person{display:flex;gap:16px;align-items:center;margin-top:28px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--ls-accent) 35%,#0000);border-radius:14px;background:color-mix(in srgb,var(--_card) 60%,#0000)}
.ls-person__ini{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--ls-accent),color-mix(in oklab,var(--ls-accent) 40%,#ffb3e6));color:var(--ls-accent-contrast);font:700 1.25rem/1 var(--ls-font-head)}
.ls-person__label,.ls-person__text{display:block;font-size:.78rem;color:var(--_muted);letter-spacing:.04em}
.ls-person__name{display:block;font:700 1.06rem/1.4 var(--ls-font-head-alt,var(--ls-font-head));color:var(--_head)}

/* 6. team: shift schedule (day tabs, ON DUTY / OFF / COMING SOON tags), coming-soon silhouette */
.ls-sched{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-8px 0 30px}
.ls-sched__day{min-width:66px;min-height:52px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--ls-accent) 35%,#0000);border-radius:12px;background:#0000;color:var(--_fg);font:500 1rem/1.2 var(--ls-font-body);transition:background-color .2s,border-color .2s,box-shadow .2s}
.ls-sched__day small{display:block;margin-top:2px;font:600 .7rem/1.2 var(--ls-font-ui);letter-spacing:.06em;color:var(--_muted)}
.ls-sched__day:hover{border-color:var(--ls-accent)}
.ls-sched__day[aria-pressed="true"]{background:linear-gradient(135deg,color-mix(in oklab,var(--ls-accent) 50%,#1d0450),var(--ls-accent));border-color:#0000;color:#fff;box-shadow:0 0 18px color-mix(in srgb,var(--ls-accent) 50%,#0000)}
.ls-sched__day[aria-pressed="true"] small{color:#fffd}
.ls-team--schedule .ls-team{grid-template-columns:repeat(auto-fit,minmax(200px,250px));justify-content:center;gap:22px}
.ls-team--schedule .ls-member{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,var(--ls-primary-2),var(--ls-primary));border:1px solid color-mix(in srgb,var(--ls-accent) 25%,#0000);transition:transform .3s var(--ls-ease),box-shadow .3s,opacity .3s,filter .3s}
.ls-team--schedule .ls-member:hover{transform:translateY(-6px);box-shadow:0 18px 40px -12px color-mix(in srgb,var(--ls-accent) 45%,#0000)}
.ls-team--schedule .ls-member__photo{aspect-ratio:3 / 4;border-radius:0}
.ls-team--schedule .ls-member__body,.ls-team--schedule .ls-member__info{padding:14px 16px 18px}
.ls-team--schedule .ls-member__name{font:700 1.2rem/1.3 var(--ls-font-head-alt,var(--ls-font-head))}
.ls-team--schedule .ls-member__role{color:var(--_muted);letter-spacing:.2em}
.ls-member__shift{margin-top:6px;font-size:.84rem;color:color-mix(in oklab,var(--ls-accent) 35%,var(--_fg))}
.ls-member__tag{position:absolute;top:12px;left:12px;z-index:2;padding:4px 10px;border:1px solid var(--ls-gold);border-radius:999px;background:color-mix(in srgb,var(--ls-bg) 75%,#0000);color:var(--ls-gold);font:700 .68rem/1.3 var(--ls-font-ui);letter-spacing:.15em}
.ls-member__tag:empty{display:none}
.ls-member__tag.is-live{border-color:#ff7bd1;color:#ffc2ec;box-shadow:0 0 12px #ff7bd199}
.ls-member.is-off{opacity:.42;filter:grayscale(.6)}
.ls-member__veil{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--ls-accent) 22%,var(--ls-primary-2)),var(--ls-primary) 70%);color:color-mix(in oklab,var(--ls-accent) 30%,#fff)}
.ls-member__veil svg{width:46%;opacity:.55}
@media (max-width:639px){.ls-team--schedule .ls-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ls-team--schedule .ls-member__name{font-size:1rem}.ls-sched__day{min-width:66px;padding-inline:12px}}

/* 7. oracle: a ring that turns slowly (orb) or a calm panel; result = prefix, name, phrase */
/* the orb turns: its rotated box must not widen the page on phones (the glow stays, the section clips sideways) */
.ls-block:has(.ls-oracle--orb){overflow-x:clip}
.ls-oracle{display:flex;flex-direction:column;align-items:center;gap:30px;text-align:center}
.ls-oracle__title{font:700 1.3rem/1.3 var(--ls-font-head)}
.ls-oracle__orb{position:relative;width:min(420px,86vw);aspect-ratio:1;padding:3px;border-radius:50%;background:conic-gradient(from 0deg,color-mix(in oklab,var(--ls-accent) 50%,#2a0a6e),var(--ls-accent),#f6a6dc,var(--ls-gold),color-mix(in oklab,var(--ls-accent) 50%,#2a0a6e));cursor:pointer;animation:ls-orb 18s linear infinite;box-shadow:0 0 60px -10px color-mix(in srgb,var(--ls-accent) 55%,#0000)}
.ls-oracle__inner{display:grid;place-items:center;align-content:center;gap:4px;width:100%;height:100%;padding:12%;border-radius:50%;background:radial-gradient(circle at 50% 40%,var(--ls-primary-2),var(--ls-bg) 75%);animation:ls-orb 18s linear infinite reverse}
.ls-oracle__text,.ls-oracle__result{font:500 clamp(1.05rem,.9rem + .7vw,1.4rem)/1.6 var(--ls-font-head-alt,var(--ls-font-head));color:var(--_fg)}
.ls-oracle__result b{display:block;margin:6px 0;font-size:clamp(1.6rem,1.1rem + 2vw,2.4rem);color:color-mix(in oklab,var(--ls-accent) 30%,#fff);text-shadow:0 0 18px var(--ls-accent)}
.ls-oracle.has-result .ls-oracle__text{display:none}
.ls-oracle__text .ls-hl{display:block;margin:6px 0;font-size:1.5em;color:color-mix(in oklab,var(--ls-accent) 30%,#fff);text-decoration:none;text-shadow:0 0 18px var(--ls-accent)}
.ls-oracle__result:empty{display:none}
.ls-oracle__result.is-in{animation:ls-fadeup .6s var(--ls-ease) both}
.ls-oracle--panel .ls-oracle__orb{width:100%;max-width:640px;aspect-ratio:auto;border-radius:var(--ls-r-lg);animation:none;cursor:default}
.ls-oracle--panel .ls-oracle__inner{border-radius:calc(var(--ls-r-lg) - 2px);animation:none;padding:32px}
@keyframes ls-orb{to{transform:rotate(360deg)}}
@keyframes ls-fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ls-oracle__orb.is-spinning{animation-duration:1.2s}
.ls-oracle__orb.is-spinning .ls-oracle__inner{animation-duration:1.2s}

/* 8. services_list, variant tiles: a compact price list */
.ls-svc-tiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.ls-svc--tile{padding:26px 22px;border-radius:16px;border:1px solid color-mix(in srgb,var(--ls-gold) 35%,#0000);background:linear-gradient(180deg,color-mix(in srgb,var(--ls-primary-2) 75%,#0000),color-mix(in srgb,var(--ls-bg) 75%,#0000));text-align:center}
body:not(.ls-dark-site) .ls-svc--tile{background:var(--_card);border-color:var(--_card-line)}
.ls-svc--tile .ls-svc__title{font:700 1.12rem/1.4 var(--ls-font-head-alt,var(--ls-font-head));margin-bottom:6px}
.ls-svc__big{font:700 clamp(1.5rem,1.2rem + 1vw,1.9rem)/1.3 var(--ls-font-head);color:var(--ls-gold);font-variant-numeric:tabular-nums}
body:not(.ls-dark-site) .ls-svc__big{color:var(--ls-accent-display)}
.ls-svc--tile .ls-svc__note{display:block;margin-top:2px;font-size:.84rem;color:var(--_muted)}
.ls-svc--tile .ls-svc__icon{display:inline-grid;margin-bottom:10px}
@media (max-width:699px){.ls-svc-tiles{grid-template-columns:1fr 1fr;gap:10px}.ls-svc--tile{padding:18px 10px}.ls-svc__big{font-size:1.35rem}}

/* 9. event card + countdown */
.ls-event{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);overflow:hidden;border-radius:22px;border:1px solid color-mix(in srgb,#f6a6dc 35%,var(--_card-line));background:linear-gradient(120deg,var(--ls-primary-2),var(--ls-surface))}
body:not(.ls-dark-site) .ls-event{background:var(--_card)}
.ls-event--nophoto{grid-template-columns:1fr}
.ls-event__media{min-height:340px}
.ls-event__img{width:100%;height:100%;object-fit:cover;display:block}
.ls-event__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,48px)}
.ls-event__date{font:700 clamp(2.25rem,1.4rem + 3.4vw,4rem)/1 var(--ls-font-head);color:#f6a6dc;text-shadow:0 0 24px #f6a6dc99}
body:not(.ls-dark-site) .ls-event__date{color:var(--ls-accent-display);text-shadow:none}
.ls-event__name{margin:14px 0 10px;font:700 clamp(1.35rem,1.1rem + 1vw,1.9rem)/1.35 var(--ls-font-head-alt,var(--ls-font-head))}
.ls-event__text{color:var(--_muted)}
.ls-count{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ls-count__box{min-width:72px;padding:10px 6px;border-radius:12px;background:color-mix(in srgb,var(--ls-bg) 60%,#0000);border:1px solid color-mix(in srgb,#f6a6dc 30%,#0000);text-align:center}
.ls-count__box b{display:block;font:700 1.6rem/1.2 var(--ls-font-head);font-variant-numeric:tabular-nums;color:var(--_head)}
.ls-count__box small{font-size:.7rem;letter-spacing:.08em;color:var(--_muted)}
.ls-event .ls-btns{margin-top:24px}
@media (max-width:767px){.ls-event{grid-template-columns:1fr}.ls-event__media{min-height:0;aspect-ratio:4 / 5}}

/* 10. contacts, variant table: label – value rows and the map */
.ls-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
.ls-access--single{grid-template-columns:minmax(0,760px);justify-content:center}
.ls-access__dl{display:grid;gap:14px;margin:0;padding:28px;border-radius:18px;border:1px solid color-mix(in srgb,var(--ls-accent) 30%,var(--_card-line));background:color-mix(in srgb,var(--_card) 70%,#0000)}
.ls-access__row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px}
.ls-access__row dt{color:var(--ls-gold);font-family:var(--ls-font-head-alt,var(--ls-font-head));font-weight:700}
body:not(.ls-dark-site) .ls-access__row dt{color:var(--_mark)}
.ls-access__row dd{margin:0}
.ls-access .ls-map{min-height:340px;height:100%;border-radius:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ls-accent) 30%,var(--_card-line))}
.ls-map--dark iframe{filter:invert(.92) hue-rotate(200deg) saturate(.8)}
@media (max-width:859px){.ls-access{grid-template-columns:1fr}.ls-access__row{grid-template-columns:90px minmax(0,1fr)}}

/* 11. tags under a text, small notes under blocks */
.ls-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0;max-width:820px;list-style:none;padding:0}
.ls-text:not(.ls-text--center) .ls-tags{justify-content:flex-start;margin-inline:0}
.ls-tags li{padding:8px 16px;border-radius:999px;border:1px solid color-mix(in srgb,#f6a6dc 45%,var(--_line));color:color-mix(in oklab,#f6a6dc 45%,var(--_fg));font-size:.9rem}
body:not(.ls-dark-site) .ls-tags li{border-color:var(--_line);color:var(--_fg)}
.ls-footnote{margin-top:18px;font-size:.78rem;line-height:1.6;color:var(--_muted);text-align:center}
.ls-text .ls-footnote{margin-top:14px}
.ls-text--center .ls-btns{justify-content:center}

/* 12. footer, layout centered */
.ls-footer--centered{text-align:center;border-top:1px solid color-mix(in srgb,var(--ls-gold) 25%,#0000)}
.ls-footer--centered .ls-footer__brand{display:flex;flex-direction:column;align-items:center}
.ls-footer--centered .ls-footer__logo img{height:70px;width:auto;margin-inline:auto;opacity:.92}
.ls-footer--centered .ls-footer__inline ul{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:14px 0 6px;list-style:none;padding:0}
.ls-footer--centered .ls-footer__inline a{display:inline-flex;min-height:44px;align-items:center;color:inherit;text-decoration:none;font-size:.88rem}
.ls-footer--centered .ls-footer__inline a:hover{text-decoration:underline}
.ls-footer--centered .ls-footer__bottom{justify-content:center;flex-direction:column;align-items:center;gap:6px;text-align:center}

/* 13. products block: category tabs, cards, compact rows */
.ls-ptabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:-8px 0 28px}
.ls-ptabs button{min-height:44px;padding:9px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ls-accent) 40%,var(--_line));background:none;color:var(--_fg);font-size:.92rem;transition:background-color .2s,color .2s}
.ls-ptabs button:hover{border-color:var(--ls-accent)}
.ls-ptabs button[aria-pressed="true"]{background:color-mix(in oklab,var(--ls-accent) 30%,#fff);border-color:#0000;color:var(--ls-primary)}
.ls-products{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.ls-products--c3,.ls-products--c4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1080px){.ls-products--c4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ls-product{display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:var(--_card);border:1px solid color-mix(in srgb,var(--ls-accent) 22%,var(--_card-line));transition:border-color .3s,box-shadow .3s}
body.ls-dark-site .ls-product{background:color-mix(in srgb,var(--ls-surface) 85%,#000)}
.ls-product:hover{border-color:color-mix(in srgb,var(--ls-accent) 60%,#0000);box-shadow:0 18px 40px -20px color-mix(in srgb,var(--ls-accent) 55%,#0000)}
.ls-product__media{position:relative;display:block;aspect-ratio:4 / 5;overflow:hidden;background:color-mix(in srgb,var(--ls-primary-2) 60%,var(--_card))}
.ls-product__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ls-ease)}
.ls-product:hover .ls-product__media img{transform:scale(1.05)}
.ls-product__label{display:grid;place-items:center;width:100%;height:100%;font:700 clamp(1.8rem,1.2rem + 2vw,2.75rem)/1 var(--ls-font-head);color:var(--ls-accent);text-shadow:0 0 20px color-mix(in srgb,var(--ls-accent) 70%,#0000)}
.ls-product__badge{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--ls-bg) 85%,#0000);color:var(--_fg);font-size:.72rem;font-weight:700;letter-spacing:.06em}
.ls-product__body{display:flex;flex-direction:column;gap:8px;flex:1;padding:14px 16px 16px}
.ls-product__title{font:700 1.04rem/1.45 var(--ls-font-head-alt,var(--ls-font-head))}
.ls-product__title a{color:inherit;text-decoration:none}
.ls-product__title a:hover{text-decoration:underline;text-underline-offset:.2em}
.ls-product__summary{font-size:.84rem;color:var(--_muted)}
.ls-product__price,.ls-pp__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font:700 1.22rem/1.3 var(--ls-font-head);color:var(--ls-gold);font-variant-numeric:tabular-nums}
body:not(.ls-dark-site) .ls-product__price,body:not(.ls-dark-site) .ls-pp__price{color:var(--_head)}
.ls-product__price s,.ls-pp__price s{font-size:.82em;font-weight:500;color:var(--_muted)}
.ls-product__add{margin-top:auto;width:100%}
.ls-heads--ornate .ls-product__add,.ls-heads--ornate .ls-prow .ls-btn{--_b-line:var(--ls-accent);--_b-bg:color-mix(in srgb,var(--ls-accent) 12%,#0000);--_b-fg:color-mix(in oklab,var(--ls-accent) 30%,#fff);border-radius:12px}
.ls-heads--ornate .ls-product__add:hover,.ls-heads--ornate .ls-prow .ls-btn:hover{--_b-bg:var(--ls-accent);--_b-fg:var(--ls-accent-contrast)}
.ls-product.is-out .ls-product__media img{filter:grayscale(.7);opacity:.7}
.ls-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none !important;box-shadow:none !important}
.ls-prows{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:26px 0 0;padding:0;list-style:none}
.ls-prow{display:flex;align-items:center;gap:14px;padding:12px 14px 12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--ls-accent) 25%,var(--_card-line));background:color-mix(in srgb,var(--_card) 80%,#0000)}
.ls-prow__name{flex:1;min-width:0;font:700 .98rem/1.4 var(--ls-font-head-alt,var(--ls-font-head));color:inherit;text-decoration:none}
.ls-prow__name:hover{text-decoration:underline}
.ls-prow__price{font:700 1rem/1.2 var(--ls-font-head);color:var(--ls-gold);font-variant-numeric:tabular-nums;white-space:nowrap}
body:not(.ls-dark-site) .ls-prow__price{color:var(--_head)}
.ls-prow .ls-btn{flex:none;width:auto;margin-top:0;min-height:44px;padding:6px 14px;font-size:.84rem;letter-spacing:.04em}
.ls-prow.is-out{opacity:.6}
[data-ls-shop-grid] [hidden]{display:none !important}
@media (max-width:699px){
  .ls-products{gap:12px}
  .ls-product__body{padding:10px 10px 12px}
  .ls-product__title{font-size:.9rem}
  .ls-product__price{font-size:1rem}
  .ls-product__add{min-height:44px;padding:6px 8px;font-size:.78rem;letter-spacing:.02em}
  .ls-prows{grid-template-columns:1fr}
}

/* 14. product page */
.ls-pp__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (min-width:960px){.ls-pp__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ls-pp__main{overflow:hidden;border-radius:var(--ls-r-lg);aspect-ratio:4 / 5;background:color-mix(in srgb,var(--ls-primary-2) 60%,var(--_card));border:1px solid var(--_card-line)}
.ls-pp__main img{width:100%;height:100%;object-fit:cover;display:block}
.ls-pp__main--label{display:grid;place-items:center;font:700 4rem/1 var(--ls-font-head);color:var(--ls-accent)}
.ls-pp__thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;list-style:none;padding:0}
.ls-pp__thumb{width:72px;height:72px;padding:0;overflow:hidden;border-radius:10px;border:2px solid #0000;background:none;opacity:.7;transition:opacity .2s,border-color .2s}
.ls-pp__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ls-pp__thumb.is-on,.ls-pp__thumb:hover{opacity:1;border-color:var(--ls-accent)}
.ls-pp__cat{font:600 var(--ls-fs-xs)/1.3 var(--ls-font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--_mark)}
.ls-pp__title{margin-top:10px;font-family:var(--ls-font-head-alt,var(--ls-font-head));font-size:clamp(1.6rem,1.2rem + 1.8vw,2.6rem);letter-spacing:.02em}
.ls-pp__summary{margin-top:12px;color:var(--_muted);font-size:var(--ls-fs-lead)}
.ls-pp__price{margin-top:18px;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.ls-pp__stock{margin-top:6px;font-size:.88rem;font-weight:600}
.ls-pp__stock.is-in{color:color-mix(in oklab,#3fb27f 70%,var(--_fg))}
.ls-pp__stock.is-out{color:var(--_muted)}
.ls-pp__sku{margin-top:4px;font-size:.8rem;color:var(--_muted)}
.ls-pp__form{display:grid;gap:16px;margin-top:24px;max-width:460px;--_fg:var(--ls-text);--_head:var(--ls-text);--_muted:var(--ls-muted)}
.ls-pp__buy{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ls-pp__add{flex:1;min-width:200px}
.ls-pp__msg{min-height:1.4em;font-size:.9rem;color:var(--_mark)}
.ls-pp__msg.is-error{color:var(--ls-danger)}
body.ls-dark-site .ls-pp__msg.is-error{color:#ff9aa8}
.ls-pp__desc{max-width:780px;margin-top:clamp(36px,5vw,64px);padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--_line)}
.ls-qty{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--ls-muted) 60%,var(--ls-border));border-radius:var(--ls-r-field);overflow:hidden}
.ls-qty__btn{width:44px;height:48px;border:0;background:none;color:var(--_fg);font-size:1.2rem;line-height:1}
.ls-qty__btn:hover{background:color-mix(in srgb,var(--ls-accent) 14%,#0000)}
.ls-qty__in{width:48px;height:48px;border:0;background:none;color:var(--_fg);text-align:center;font-size:1rem;-moz-appearance:textfield;appearance:textfield}
.ls-qty__in::-webkit-inner-spin-button,.ls-qty__in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ls-qty--sm .ls-qty__btn,.ls-qty--sm .ls-qty__in{width:36px;height:36px;font-size:.95rem}

/* 15. cart button, drawer, checkout, options dialog */
.ls-cart-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;margin-left:4px;padding:0;border:0;border-radius:50%;background:none;color:var(--_fg)}
.ls-cart-btn:hover{background:color-mix(in srgb,var(--_fg) 10%,#0000)}
.ls-cart-btn .ls-icon{width:22px;height:22px}
.ls-cart-btn__n{position:absolute;top:2px;right:0;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ls-accent);color:var(--ls-accent-contrast);font:700 .7rem/19px var(--ls-font-ui);text-align:center}
.ls-cart-btn.is-bump .ls-cart-btn__n{animation:ls-bump .4s var(--ls-ease)}
@keyframes ls-bump{40%{transform:scale(1.35)}}
.ls-drawer{position:fixed;inset:0;z-index:260;display:flex;justify-content:flex-end}
.ls-drawer__backdrop{position:absolute;inset:0;background:color-mix(in srgb,#05020a 72%,#0000);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ls-fade .25s both}
.ls-drawer__panel{position:relative;display:flex;flex-direction:column;width:min(440px,100%);height:100%;background:var(--ls-bg);color:var(--ls-text);box-shadow:var(--ls-shadow-lg);animation:ls-slide-in .35s var(--ls-ease) both;--_fg:var(--ls-text);--_head:var(--ls-text);--_muted:var(--ls-muted);--_line:var(--ls-border)}
body.ls-dark-site .ls-drawer__panel{background:linear-gradient(180deg,var(--ls-primary-2),var(--ls-bg) 40%);border-left:1px solid color-mix(in srgb,var(--ls-gold) 35%,#0000)}
.ls-drawer.is-closing .ls-drawer__panel{animation:ls-slide-out .22s ease-in both}
.ls-drawer.is-closing .ls-drawer__backdrop{animation:ls-fade .22s reverse both}
@keyframes ls-slide-in{from{transform:translateX(100%)}}
@keyframes ls-slide-out{to{transform:translateX(100%)}}
.ls-drawer__head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--_line)}
.ls-drawer__title{flex:1;font:700 1.15rem/1.3 var(--ls-font-head-alt,var(--ls-font-head))}
.ls-drawer__close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:color-mix(in srgb,var(--_fg) 8%,#0000);color:inherit}
.ls-drawer__close:hover{background:color-mix(in srgb,var(--_fg) 16%,#0000)}
.ls-drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px}
.ls-drawer__foot{padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--_line);background:color-mix(in srgb,var(--ls-bg) 92%,#0000)}
.ls-drawer__empty{padding:40px 0;text-align:center;color:var(--_muted)}
.ls-cline{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--_line)}
.ls-cline__img{width:64px;height:80px;border-radius:10px;object-fit:cover;background:color-mix(in srgb,var(--ls-accent) 15%,var(--ls-surface))}
.ls-cline__title{font-weight:700;font-size:.95rem;line-height:1.4}
.ls-cline__opts{margin-top:2px;font-size:.8rem;color:var(--_muted)}
.ls-cline__err{margin-top:4px;font-size:.8rem;font-weight:600;color:var(--ls-danger)}
body.ls-dark-site .ls-cline__err,body.ls-dark-site .ls-co .ls-field__error,body.ls-dark-site .ls-co__err{color:#ff9aa8}
.ls-cline__row{display:flex;align-items:center;gap:10px;margin-top:8px}
.ls-cline__price{font:700 .98rem/1.3 var(--ls-font-head);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.ls-cline__rm{min-height:36px;padding:0 4px;border:0;background:none;color:var(--_muted);font-size:.8rem;text-decoration:underline;text-underline-offset:.2em}
.ls-cline__rm:hover{color:var(--_fg)}
.ls-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;font-size:.95rem}
.ls-sum b{font:700 1.3rem/1.2 var(--ls-font-head);font-variant-numeric:tabular-nums}
.ls-co{display:grid;gap:16px}
.ls-co h3{font:700 1rem/1.3 var(--ls-font-head-alt,var(--ls-font-head));margin-top:4px}
.ls-co__choice{display:grid;gap:8px}
.ls-co__opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--_line);border-radius:12px;cursor:pointer}
.ls-co__opt:has(input:checked){border-color:var(--ls-accent);background:color-mix(in srgb,var(--ls-accent) 10%,#0000)}
.ls-co__opt input{margin-top:3px;accent-color:var(--ls-accent);width:18px;height:18px;flex:none}
.ls-co__opt small{display:block;margin-top:2px;color:var(--_muted);font-size:.8rem;line-height:1.45;white-space:pre-line}
.ls-co__note{font-size:.8rem;color:var(--_muted);white-space:pre-line}
.ls-co__consent{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.5}
.ls-co__consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--ls-accent)}
.ls-co__consent a{color:inherit;font-weight:600}
.ls-co__err{font-size:.86rem;font-weight:600;color:var(--ls-danger)}
.ls-co__err:empty{display:none}
.ls-co .ls-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ls-done{text-align:center;padding:24px 0}
.ls-done__mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:color-mix(in srgb,var(--ls-accent) 18%,#0000);color:var(--ls-accent)}
.ls-done__mark svg{width:30px;height:30px}
.ls-done h3{font:700 1.3rem/1.4 var(--ls-font-head-alt,var(--ls-font-head))}
.ls-done__num{margin:14px 0 4px;font:700 1.8rem/1.2 var(--ls-font-head);letter-spacing:.06em;color:var(--ls-gold);font-variant-numeric:tabular-nums}
body:not(.ls-dark-site) .ls-done__num{color:var(--_head)}
.ls-done p{margin-top:10px;color:var(--_muted);font-size:.92rem;white-space:pre-line}
.ls-done__pay{margin-top:16px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--ls-accent) 10%,#0000);text-align:left;font-size:.9rem;white-space:pre-line}
.ls-toast{position:fixed;left:50%;bottom:24px;z-index:280;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:12px 14px 12px 18px;border-radius:14px;background:var(--ls-primary);color:var(--ls-on-primary);box-shadow:var(--ls-shadow-lg);transform:translateX(-50%);animation:ls-fadeup .35s var(--ls-ease) both;font-size:.92rem}
body.ls-dark-site .ls-toast{background:var(--ls-primary-2);border:1px solid color-mix(in srgb,var(--ls-gold) 40%,#0000)}
.ls-toast button{min-height:40px;padding:0 12px;border:1px solid color-mix(in srgb,currentColor 40%,#0000);border-radius:999px;background:none;color:inherit;font-size:.85rem;font-weight:600}
.ls-optdlg .ls-modal__dialog{max-width:440px}
body.ls-dark-site .ls-modal__dialog{background:linear-gradient(180deg,var(--ls-primary-2),var(--ls-primary));border:1px solid color-mix(in srgb,var(--ls-gold) 45%,#0000);box-shadow:0 0 60px color-mix(in srgb,var(--ls-accent) 45%,#0000)}
body.ls-dark-site .ls-modal__close{background:color-mix(in srgb,#fff 10%,#0000);color:var(--ls-text)}
.ls-optdlg__price{margin:4px 0 16px;font:700 1.15rem/1.3 var(--ls-font-head);color:var(--ls-gold)}
body:not(.ls-dark-site) .ls-optdlg__price{color:var(--_head)}
.ls-optdlg__form{display:grid;gap:14px;--_fg:var(--ls-text);--_head:var(--ls-text)}
.ls-optdlg__hint{font-size:.8rem;color:var(--ls-muted)}
.ls-optdlg__row{display:flex;gap:10px;margin-top:6px}
.ls-optdlg__row > *{flex:1}

/* 16. motion, small screens */
@media (prefers-reduced-motion:reduce){
  .ls-oracle__orb,.ls-oracle__inner{animation:none !important}
  .ls-drawer__panel,.ls-drawer__backdrop,.ls-toast,.ls-oracle__result.is-in{animation:none !important}
  .ls-team--schedule .ls-member,.ls-product__media img{transition:none}
}
@media (max-width:479px){.ls-drawer__panel{width:100%}}
/* oracle text: the *accent* line sits on its own without empty lines around it */
.ls-oracle__text br:has(+ .ls-hl),.ls-oracle__text .ls-hl + br{display:none}
@media (max-width:399px){.ls-product__add{letter-spacing:0;padding-inline:6px;font-size:.74rem}}
.ls-co{--_fg:var(--ls-text);--_head:var(--ls-text);--_muted:var(--ls-muted);--_ink:var(--ls-accent-ink);--_line:var(--ls-border)}
.ls-optdlg__row .ls-btn{letter-spacing:.04em;padding-inline:12px}
/* light palettes: schedule cards, the oracle orb and the event card follow the page's own card colours */
body:not(.ls-dark-site) .ls-team--schedule .ls-member{background:var(--_card);border-color:var(--_card-line);box-shadow:var(--ls-shadow-sm)}
body:not(.ls-dark-site) .ls-member__veil{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--ls-accent) 14%,var(--ls-surface)),var(--ls-surface) 70%);color:var(--_mark)}
body:not(.ls-dark-site) .ls-member__tag{background:color-mix(in srgb,var(--ls-bg) 88%,#0000);color:var(--_fg);border-color:var(--ls-border)}
body:not(.ls-dark-site) .ls-member__tag.is-live{border-color:var(--ls-accent);color:var(--_fg);box-shadow:none}
body:not(.ls-dark-site) .ls-oracle__inner{background:radial-gradient(circle at 50% 40%,var(--ls-bg),var(--ls-surface) 75%)}
body:not(.ls-dark-site) .ls-oracle__result b,body:not(.ls-dark-site) .ls-oracle__text .ls-hl{color:var(--_disp);text-shadow:none}
body:not(.ls-dark-site) .ls-sched__day[aria-pressed="true"]{background:var(--ls-primary);color:var(--ls-on-primary);box-shadow:none}

/* ---------------------------------------------------------------- online payment status page (SPEC §18.4) */
.ls-pay__box{max-width:560px;margin:0 auto;text-align:center;padding:clamp(24px,6vw,64px) 0}
.ls-pay__mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:color-mix(in srgb,var(--ls-accent) 16%,#0000);color:var(--ls-accent)}
.ls-pay__mark svg{width:34px;height:34px}
.ls-pay__mark--failed,.ls-pay__mark--expired{background:color-mix(in srgb,#d33 14%,#0000);color:#c33}
.ls-pay__title{margin:0 0 12px}
.ls-pay__text{margin:0 auto;max-width:46ch;color:var(--_muted)}
.ls-pay__facts{display:grid;gap:8px;margin:24px auto 0;max-width:360px;padding:16px 18px;border-radius:12px;background:color-mix(in srgb,var(--ls-accent) 8%,#0000);text-align:left}
.ls-pay__facts div{display:flex;justify-content:space-between;gap:16px}
.ls-pay__facts dt{color:var(--_muted)}
.ls-pay__facts dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.ls-pay__test{margin-top:14px;font-size:.88rem;color:var(--_muted)}
.ls-pay__msg{min-height:1.5em;margin-top:14px;font-size:.92rem}
.ls-pay__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.ls-pay[data-state="pending"] .ls-pay__mark svg{animation:ls-pay-spin 2.4s linear infinite}
@keyframes ls-pay-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ls-pay[data-state="pending"] .ls-pay__mark svg{animation:none}}

/* 17. header.layout = bar (2026-10): logo, socials, the site tagline, phone, languages and the button in the top row, the menu
   centred on an accent bar below (from 1200 px while the labels fit; otherwise the burger drawer as usual) */
.ls-header__socials--top,.ls-header__tagline{display:none}
@media (min-width:1200px){
  body:not(.ls-nav-compact) .ls-header--bar .ls-logo{margin-right:0}
  body:not(.ls-nav-compact) .ls-header--bar .ls-header__tools{margin-left:auto}
  body:not(.ls-nav-compact) .ls-header__socials--top{display:flex;gap:6px}
  body:not(.ls-nav-compact) .ls-header__socials--top .ls-header__social{width:32px;height:32px}
  body:not(.ls-nav-compact) .ls-header__socials--top .ls-header__social .ls-icon{width:16px;height:16px}
  body:not(.ls-nav-compact) .ls-header__tagline{display:block;max-width:40ch;margin:0;color:var(--_muted);font:500 .84rem/1.4 var(--ls-font-ui)}
  body:not(.ls-nav-compact) .ls-header__bar{--_fg:var(--ls-accent-contrast);--_ink:var(--ls-primary);background:var(--ls-accent);color:var(--_fg)}
  body:not(.ls-nav-compact) .ls-header__bar .ls-nav__list{justify-content:center;gap:clamp(2px,1vw,14px)}
  body:not(.ls-nav-compact) .ls-header__bar .ls-nav__link{min-height:46px;font-weight:700;font-size:.9rem}
  body:not(.ls-nav-compact) .ls-header__bar .ls-nav__toggle{min-height:46px}
  body:not(.ls-nav-compact) .ls-header__bar .ls-nav__sub{top:100%}
}

/* 18. cards in one row (cards.layout = row): a scroll-snap track, arrows on desktops (plus.js); card photo ratios */
.ls-row{position:relative}
.ls-row__track{--_g:clamp(14px,1.6vw,20px);display:flex;gap:var(--_g);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:-4px -2px 0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--_fg) 22%,#0000) #0000}
.ls-row__track > .ls-card{flex:0 0 78%;min-width:0;scroll-snap-align:start}
@media (min-width:640px){.ls-row__track > .ls-card{flex-basis:calc((100% - var(--_g)) / 2.2)}}
@media (min-width:960px){
  .ls-row--c2 .ls-row__track > .ls-card{flex-basis:calc((100% - var(--_g)) / 2)}
  .ls-row--c3 .ls-row__track > .ls-card{flex-basis:calc((100% - var(--_g) * 2) / 3)}
  .ls-row--c4 .ls-row__track > .ls-card{flex-basis:calc((100% - var(--_g) * 3) / 4)}
}
.ls-row__btn{position:absolute;top:calc(50% - 30px);z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--_card-line,var(--_line));border-radius:50%;background:var(--_card,var(--ls-bg));color:var(--_fg);box-shadow:var(--ls-shadow-sm);cursor:pointer;transition:opacity .2s,background-color .2s,color .2s}
.ls-row__btn--prev{left:-12px}
.ls-row__btn--next{right:-12px}
.ls-row__btn:hover{background:var(--ls-accent);border-color:var(--ls-accent);color:var(--ls-accent-contrast)}
.ls-row__btn:disabled{opacity:0;pointer-events:none}
.ls-row__btn[hidden]{display:none}
.ls-row__btn .ls-icon{width:20px;height:20px}
@media (max-width:959px),(hover:none){.ls-row__btn{display:none}}
.ls-card__media--square{aspect-ratio:1}
.ls-card__media--natural{aspect-ratio:auto}
.ls-card__media--natural img{height:auto}

/* 19. logos with the company name under each logo (logos.captions) */
.ls-logos--named .ls-logos__item{align-content:start;gap:12px;padding:18px 14px}
.ls-logos--named .ls-logos__item a{display:grid;align-content:start;justify-items:center;gap:12px;color:inherit;text-decoration:none}
.ls-logos__pic{display:grid;place-items:center;min-height:56px}
.ls-logos--named .ls-logos__item img{max-height:56px}
.ls-logos__name{color:var(--_fg);font:600 .84rem/1.35 var(--ls-font-ui);text-align:center;text-wrap:balance}

/* 20. text block, title_size = compact: a modest heading at the content width (catalogue pages) */
.ls-text--compact{max-width:none}
.ls-text--compact .ls-head{margin-bottom:12px}
.ls-text--compact .ls-title{font-size:clamp(1.45rem,1.25rem + .9vw,2rem);line-height:1.2;letter-spacing:-.01em}

/* 21. lineup – dated events (blocks/lineup): rows "date | title, performers, text | time, price, button" or poster cards.
   The date column: weekday, large day number, month. States: few (accent), soldout / cancelled (muted, struck title). */
.ls-lineup{list-style:none;margin:0;padding:0;border-top:1px solid var(--_line)}
.ls-lineup__item{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(200px,auto);gap:12px 32px;align-items:center;padding:26px 0;border-bottom:1px solid var(--_line);transition:background-color .3s}
.ls-lineup__date{display:grid;justify-items:center;align-content:center;gap:2px;min-height:92px;border:1px solid color-mix(in srgb,var(--ls-accent) 45%,var(--_line));border-radius:calc(var(--ls-radius) * 1px + 4px);font-variant-numeric:tabular-nums;color:inherit}
.ls-lineup__wd,.ls-lineup__mon{font:600 .72rem/1.2 var(--ls-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--_muted)}
.ls-lineup__day{font:500 2.4rem/1 var(--ls-font-head);color:var(--_ink,var(--ls-accent))}
.ls-lineup__tags{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 8px}
.ls-lineup__genre,.ls-lineup__badge,.ls-lineup__state{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--_line);font:600 .68rem/1.2 var(--ls-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--_muted)}
.ls-lineup__badge,.ls-lineup__state--few{border-color:var(--ls-accent);background:var(--ls-accent);color:var(--ls-accent-contrast)}
.ls-lineup__genre--weekly{border-style:dashed}
.ls-lineup__title{margin:0;font:600 clamp(1.25rem,1rem + .9vw,1.7rem)/1.2 var(--ls-font-head);text-wrap:balance}
.ls-lineup__who{margin:6px 0 0;color:var(--_muted);font-size:.95rem}
.ls-lineup__text{margin:10px 0 0;max-width:62ch;font-size:.95rem;line-height:1.6}
.ls-lineup__side{display:grid;justify-items:end;gap:12px;text-align:right}
.ls-lineup__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;margin:0;font-variant-numeric:tabular-nums}
.ls-lineup__time{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.ls-lineup__ico{width:16px;height:16px;color:var(--_ink,var(--ls-accent))}
.ls-lineup__price{color:var(--_muted)}
.ls-lineup__price small{font-size:.8em}
.ls-lineup__btn{white-space:nowrap}
.ls-lineup__item.is-soldout .ls-lineup__title,.ls-lineup__item.is-cancelled .ls-lineup__title{text-decoration:line-through;text-decoration-thickness:1px;color:var(--_muted)}
.ls-lineup__item.is-cancelled .ls-lineup__date{opacity:.5}
.ls-lineup__empty{margin:0;padding:32px 0;border-top:1px solid var(--_line);border-bottom:1px solid var(--_line);color:var(--_muted);font-size:1.05rem}
@media (hover:hover){.ls-lineup__item:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--ls-accent) 7%,#0000),#0000 70%)}}
@media (max-width:767px){
  .ls-lineup__item{grid-template-columns:72px minmax(0,1fr);gap:10px 16px;align-items:start;padding:20px 0}
  .ls-lineup__date{min-height:84px}
  .ls-lineup__day{font-size:2rem}
  .ls-lineup__side{grid-column:1 / -1;justify-items:stretch;text-align:left}
  .ls-lineup__meta{justify-content:flex-start}
  .ls-lineup__btn{justify-content:center}
}
.ls-lineup--cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px;border:0}
.ls-lineup--cards .ls-lineup__item{display:flex;flex-direction:column;padding:0;border:1px solid var(--_card-line);border-radius:var(--ls-r-lg);background:var(--_card);overflow:hidden}
.ls-lineup--cards .ls-lineup__media{position:relative;aspect-ratio:4 / 5;background:color-mix(in srgb,var(--ls-primary) 80%,var(--ls-accent));overflow:hidden}
.ls-lineup--cards .ls-lineup__img,.ls-lineup--cards .ls-lineup__media picture{display:block;width:100%;height:100%}
.ls-lineup--cards .ls-lineup__img{object-fit:cover;transition:transform .8s var(--ls-ease)}
.ls-lineup--cards .ls-lineup__date{position:absolute;left:14px;top:14px;min-height:0;padding:10px 12px;background:color-mix(in srgb,var(--ls-bg) 82%,#0000);border-color:color-mix(in srgb,var(--ls-accent) 60%,#0000);color:var(--ls-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ls-lineup--cards .ls-lineup__day{font-size:1.8rem}
.ls-lineup--cards .ls-lineup__body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.ls-lineup--cards .ls-lineup__meta{justify-content:flex-start;margin-top:14px}
.ls-lineup--cards .ls-lineup__btn{margin-top:auto;align-self:flex-start}
.ls-lineup--cards .ls-lineup__meta + .ls-lineup__btn{margin-top:18px}
@media (hover:hover){.ls-lineup--cards .ls-lineup__item:hover{background:var(--_card)}.ls-lineup--cards .ls-lineup__item:hover .ls-lineup__img{transform:scale(1.04)}}
.ls-block > .ls-container > .ls-lineup + .ls-btns,.ls-block > .ls-container > .ls-lineup__empty + .ls-btns{margin-top:32px}
@media (prefers-reduced-motion:reduce){.ls-lineup__item,.ls-lineup--cards .ls-lineup__img{transition:none}}
