/* Consent card (Radu, 17.10): "Accept" in the brand red, the refusal in grey. Both stay the same size,
   side by side, on the first screen and clearly legible (13:1 on grey, 4.7:1 on red): a refusal that is
   faded, smaller or hidden would no longer be a free choice. Text and behaviour unchanged. */
body.multipage.immersive-site .cookie-panel .cookie-actions button[data-consent="all"] { background: #D33F18; border-color: #D33F18; color: #fff; }
body.multipage.immersive-site .cookie-panel .cookie-actions button[data-consent="all"]:hover { background: #B8350F; border-color: #B8350F; color: #fff; }
body.multipage.immersive-site .cookie-panel .cookie-actions button[data-consent="deny"] { background: #E8E6E0; border-color: #CFCBC2; color: #1E1E1E; }
body.multipage.immersive-site .cookie-panel .cookie-actions button[data-consent="deny"]:hover { background: #DDDAD3; border-color: #BFBAB0; color: #1E1E1E; }
body.multipage.immersive-site .cookie-panel .cookie-actions button:focus-visible { outline: 2px solid #1E1E1E; outline-offset: 2px; }

/* Phones: one short paragraph, the two buttons, the two links. The 180-day note returns when the
   visitor opens "Aleg preferințele". About a third less of the screen than before. */
@media (max-width: 767px) {
  body.multipage.immersive-site .cookie-panel { gap: .55rem; padding: .75rem .875rem calc(.75rem + env(safe-area-inset-bottom)); border-radius: 16px; }
  body.multipage.immersive-site .cookie-panel .cookie-symbol { display: none; }
  body.multipage.immersive-site .cookie-panel .cookie-intro { padding: 0; font-size: .8125rem; line-height: 1.5; }
  body.multipage.immersive-site .cookie-panel .cookie-intro h2 { display: inline; margin: 0; font-size: .8125rem; line-height: 1.5; letter-spacing: 0; text-transform: none; }
  body.multipage.immersive-site .cookie-panel .cookie-intro p { display: inline; margin: 0 0 0 .2em; font-size: .8125rem; line-height: 1.5; color: #50564b; }
  body.multipage.immersive-site .cookie-panel .cookie-actions { grid-template-columns: 1fr 1fr; gap: .5rem; }
  body.multipage.immersive-site .cookie-panel .cookie-actions button { min-height: 44px; padding: .55rem .5rem; font-size: .8125rem; line-height: 1.3; }
  body.multipage.immersive-site .cookie-panel .cookie-footer { padding-top: 0; border-top: 0; justify-content: flex-start; align-items: center; gap: 1.5rem; }
  body.multipage.immersive-site .cookie-panel .cookie-footer :is(a,button) { display: inline-flex; align-items: center; min-height: 28px; padding: 0; margin: 0; font-size: .75rem; line-height: 1.3; }
  body.multipage.immersive-site .cookie-panel .cookie-memory { display: none; }
  body.multipage.immersive-site .cookie-panel:has(#cookie-options:not([hidden])) .cookie-memory { display: block; margin: 0; line-height: 1.4; }
}

/* Shorter form: the optional, collapsed duration row is not shown on any inquiry form.
   Its default "Stabilim împreună" (discuss) is still sent; delete this rule to restore it. */
body.multipage #inquiry-form .form-more { display: none; }

/* Period choices: the date input and the "no date yet" checkbox give way to one-press
   choices in the existing "Despre ce vorbim?" style; an exact date stays available. */
#inquiry-form[data-period-text="true"] :is(#event-date, #date-readable, #date-help) { display: none !important; }
/* Simpler form: hidden extra purposes, page-preset type, folded optional message. */
.multipage #inquiry-form .inquiry-intent-choice [data-intent-button][hidden],
#inquiry-form .text-button[hidden] { display: none !important; }
.multipage #inquiry-form .intent-more { margin-top: 10px; }
#inquiry-form .field.type-preset { display: none !important; }
#inquiry-form:not([data-collaboration]) .field[data-brief-collapsed="true"] > :not(.brief-toggle) { display: none !important; }
#inquiry-form[data-collaboration] .brief-toggle,
#inquiry-form .field[data-brief-collapsed="false"] > .brief-toggle { display: none !important; }
#inquiry-form .brief-toggle { justify-self: start; text-align: left; }
.multipage #inquiry-form .inquiry-intent-choice :is([data-visit-choice],[data-heard-choice],[data-format-choice],[data-contact-choice]) {
 display:flex;
 justify-content:flex-start;
 align-items:center;
 gap:9px;
 min-width:0;
 min-height:52px;
 padding:11px 12px;
 border:1px solid #cbc8bf;
 border-radius:8px;
 background:#fff;
 color:#292a25;
 box-shadow:none;
 font:500 1rem/1.35 var(--body);
 text-align:left;
 cursor:pointer;
}
.multipage #inquiry-form .inquiry-intent-choice :is([data-visit-choice],[data-heard-choice],[data-format-choice],[data-contact-choice])::before {
 content:'';
 flex:0 0 17px;
 width:17px;
 height:17px;
 border:1.5px solid #92928a;
 border-radius:50%;
 background:#fff;
 box-shadow:none;
}
.multipage #inquiry-form .inquiry-intent-choice :is([data-visit-choice],[data-heard-choice],[data-format-choice],[data-contact-choice]):focus-visible {
 outline:3px solid #872b10;
 outline-offset:3px;
}
@media(max-width:359px) {
.multipage #inquiry-form .inquiry-intent-choice :is([data-visit-choice],[data-heard-choice],[data-format-choice],[data-contact-choice]) {
  padding:10px 9px;
  gap:7px;
  font-size:.9375rem;
 }
}
/* Existing compact variant of the same buttons (site uses it below 360 px), up to 430 px,
   so period labels such as "16–23 decembrie" stay on one line on phones. */
@media (max-width: 430px) { .multipage #inquiry-form .inquiry-intent-choice :is([data-visit-choice],[data-heard-choice],[data-format-choice],[data-contact-choice]) { padding: 10px 9px; gap: 7px; font-size: .9375rem; } }
/* The two small links are text links (existing .text-button), never option boxes. */
.multipage #inquiry-form .inquiry-intent-choice button.intent-more { display: inline-block; min-height: 0; width: auto; padding: 4px 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.multipage #inquiry-form .inquiry-intent-choice button.intent-more::before { content: none; display: none; }
/* Viewing mode: one-press "Când poți ajunge?" choices replace the free-text field. */
#inquiry-form[data-visit-choices="true"] [data-visit-fields] > label[for="visit-period"],
#inquiry-form[data-visit-choices="true"] #visit-period,
#inquiry-form[data-visit-choices="true"] [data-visit-fields] > .field-help { display: none !important; }
.multipage #inquiry-form .visit-choice .inquiry-intent-grid + .inquiry-intent-grid { margin-top: 8px; }
#inquiry-form .visit-guests { display: grid; gap: 6px; margin-top: 16px; }
#inquiry-form .heard-from { display: grid; gap: 8px; }
#inquiry-form .heard-from .heard-toggle { justify-self: start; text-align: left; }
/* The two small folding links read at the size of "Altceva?", not as large buttons. */
.multipage #inquiry-form :is(.heard-toggle, .brief-toggle) { font-size: .9375rem; line-height: 1.4; min-height: 32px; padding: 4px 0; }
#inquiry-form .heard-choice[hidden] { display: none !important; }
/* Paid-social entry: compact context above the fields (existing type and colours). */
#inquiry-form .paid-context { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; margin: 0 0 16px; padding: 0 0 14px; border-bottom: 1px solid #d7d2c7; }
#inquiry-form .paid-context-title { margin: 0; font: 700 1rem/1.3 var(--body, "TT Interphases", sans-serif); color: #20231f; }
#inquiry-form .paid-context-place { margin: 0; font: 600 .8125rem/1.4 var(--body, "TT Interphases", sans-serif); color: #ad351d; }
dialog #inquiry-form .paid-context { display: none; }
/* The block already gives the context: the page's own one-line context is not repeated. */
#inquiry-form[data-paid-context="true"] .xmas-form-context { display: none; }
/* Client logos next to the form: the homepage component, smaller. */
.selective-proof.inquiry-proof { margin-top: 1.5rem; padding-top: 1rem; }
.inquiry-proof .selective-proof-heading { margin-bottom: .75rem; }
.multipage .inquiry-proof .selective-proof-heading h3 { font-size: .9375rem; line-height: 1.4; color: inherit; }
.inquiry-proof .selective-brand-logos { grid-template-columns: repeat(6, minmax(0, 1fr)); border-radius: 8px; }
.inquiry-proof .selective-brand-logos li { min-height: 40px; padding: 8px 6px; }
.inquiry-proof .selective-brand-logos img { height: 16px; }
.inquiry-proof .selective-brand-logos img[src*=lidl-], .inquiry-proof .selective-brand-logos img[src*=red-bull-] { height: 18px; }
/* Company filled in from the email: a small muted note under the field. */
.multipage #inquiry-form .company-auto { margin-top: 4px; font-size: .8125rem; color: #66635b; }
#inquiry-form .company-auto[hidden] { display: none !important; }
/* After "Mai departe" the offer/viewing choice is already made: step 2 shows only the summary and contact. */
#inquiry-form[data-active-step="2"][data-intent="quote"]:not([data-direct-inquiry]) .form-intent { display: none !important; }
/* No "1. Proiectul tău / 2. Cum te contactăm?" bar (Radu, 17.10): "Mai departe" and the step summary
   already lead the way. The steps stay announced to screen readers (same element, visually hidden). */
#inquiry-form .form-progress { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
/* "opțional" next to the label of an optional field: small, muted, same line. */
.multipage #inquiry-form .field-tag { margin-left: 4px; font-size: .8125rem; font-weight: 500; letter-spacing: .01em; color: #66635b; white-space: nowrap; }
/* Christmas: the same form width as the other commercial pages. */
@media (min-width: 960px) { .page-christmas .xmas-inquiry #inquiry-form { width: 100%; max-width: 605px; justify-self: end; margin-left: auto; } }
/* ===== 1. Menu (Radu, 17.10): on phones and tablets "Crăciun" and "Tur 360°" live in the menu, and the menu
   opens as a full sheet under the sticky header: two photo cards, the pages in the display face, then tickets,
   the story and the language. The existing controller (button, Escape, outside click) is unchanged. ===== */
@media (max-width: 79.99rem) {
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .nav-discovery { display: none; }
}
html[data-studio-large-type] body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .nav-discovery { display: none; }
html:has(.studio-nav .main-nav.open) { overflow: hidden; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-content: start; gap: 12px 12px;
  position: absolute; inset: 100% 0 auto; height: calc(100dvh - var(--header-offset, 70px)); max-height: none;
  padding: 18px max(20px, calc((100vw - 1440px) / 2)) calc(28px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto; overscroll-behavior: contain; background: #f4f2ea; box-shadow: none; border-bottom: 0;
}
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility { display: contents; }
/* The two cards. */
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail,
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > a.nav-compact-tour {
  display: grid; align-content: space-between; justify-items: start; gap: 18px; min-height: 112px; margin: 0; padding: 14px 14px 13px;
  border: 0; border-radius: 14px; color: #fff; text-decoration: none; position: relative; overflow: hidden; isolation: isolate;
  font: 700 1rem/1.2 var(--body); white-space: normal;
}
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail { order: 1; grid-column: 1; background: #d33f18; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail:hover { background: #b53213; color: #fff; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail .nav-season-bow { width: 34px; height: 34px; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail .nav-season-short { display: none; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail .nav-season-long { display: block; max-width: 11ch; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail .nav-season-spark { position: absolute; top: 14px; right: 14px; width: 10px; height: 10px; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > a.nav-compact-tour { order: 2; grid-column: 2; align-content: end; background: #2a2b27; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > a.nav-compact-tour::before {
  content: ''; display: block; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(18, 18, 16, .08) 0%, rgba(18, 18, 16, .35) 45%, rgba(18, 18, 16, .82) 100%), url('/assets/images/virtual-tour-day-480.webp') center 45% / cover;
}
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-compact-tour .nav-tour-thumbnail { display: none; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-compact-tour .nav-tour-title { display: grid; gap: 2px; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-compact-tour .nav-tour-title small { font: 700 1rem/1.2 var(--body); color: #fff; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-compact-tour > svg { display: block; position: absolute; top: 14px; right: 14px; width: 18px; height: 18px; color: #fff; }
/* The pages, in the display face of the site. */
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:not(.nav-compact-only) {
  order: 3; grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 60px; margin: 0; padding: 14px 2px; border-bottom: 1px solid #d9d6cd; color: #1e1e1e;
  font: 900 1.2rem/1.15 "Greater Theory", var(--body); text-transform: uppercase; letter-spacing: .01em;
}
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-home { border-top: 0; margin-top: 8px; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a[aria-current="page"]:not(.nav-compact-only) { color: #a93618; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:not(.nav-compact-only) .nav-link-arrow { width: 20px; height: 20px; color: #a93618; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:not(.nav-compact-only):hover { color: #a93618; }
/* Tickets, the story, the language. */
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > a.nav-events-portal {
  order: 4; grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; min-height: 56px; margin: 14px 0 0;
  padding: 14px 16px; border-radius: 12px; background: #242923; color: #fff; font: 600 1rem/1.3 var(--body);
}
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > a.nav-about { order: 5; grid-column: 1; align-self: center; min-height: 44px; padding: 8px 0; font: 500 .9375rem/1.4 var(--body); color: #45483f; }
body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > .nav-language-control { order: 5; grid-column: 2; justify-self: end; align-self: center; }
@media (prefers-reduced-motion: no-preference) {
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open { animation: ts-menu-sheet .26s ease both; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a,
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > * { animation: ts-menu-item .5s cubic-bezier(.16, 1, .3, 1) both; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a.nav-season-rail { animation-delay: .02s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > a.nav-compact-tour { animation-delay: .06s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:nth-child(1) { animation-delay: .1s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:nth-child(3) { animation-delay: .13s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:nth-child(4) { animation-delay: .16s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:nth-child(5) { animation-delay: .19s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open > a:nth-child(6) { animation-delay: .22s; }
  body.studio-immersive.studio-reading .studio-nav.studio-refined-nav .main-nav.open .nav-utility > :not(.nav-compact-tour) { animation-delay: .26s; }
}
@keyframes ts-menu-sheet { from { opacity: 0; } to { opacity: 1; } }
@keyframes ts-menu-item { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ===== 2. Christmas opening: centered, one warm action. "Cere o vizionare" stays in the page only as the
   target of the #vizionare links (hidden); "Vezi studioul" is not shown. ===== */
body.page-christmas .xmas-arrival { display: none !important; }
body.page-christmas .xmas-visit[hidden] { display: none !important; }
body.page-christmas .xmas-hero-layout { align-items: center; text-align: center; }
body.page-christmas .xmas-hero-head { display: grid; justify-items: center; }
body.page-christmas .xmas-hero-head h1 { text-align: center; margin-inline: auto; }
body.page-christmas .xmas-season { letter-spacing: .02em; }
body.page-christmas .xmas-hero-detail { display: grid; justify-items: center; margin-inline: auto; max-width: 44rem; }
body.page-christmas .xmas-intro { margin-inline: auto; max-width: 46ch; text-wrap: pretty; }
body.page-christmas .xmas-actions { justify-content: center; }
body.page-christmas .xmas-primary { justify-content: center; gap: .9rem; }
body.page-christmas .xmas-hero-stage::after {
  background: radial-gradient(120% 95% at 50% 48%, rgba(9, 16, 12, .74) 0%, rgba(9, 16, 12, .56) 48%, rgba(9, 16, 12, .36) 100%);
}
@media (max-width: 47.99rem) {
  body.page-christmas .xmas-hero-stage { min-height: min(calc(100svh - var(--header-offset, 70px)), 41rem); display: grid; }
  body.page-christmas .xmas-hero-photo { height: auto; inset: 0; }
  body.page-christmas .xmas-hero-photo img { height: 100%; object-position: 58% 50%; }
  body.page-christmas .xmas-hero-stage::after {
    height: auto; inset: 0;
    background: linear-gradient(180deg, rgba(9, 16, 12, .58) 0%, rgba(9, 16, 12, .18) 30%, rgba(9, 16, 12, .5) 56%, rgba(9, 16, 12, .9) 100%);
  }
  body.page-christmas .xmas-hero-layout { justify-content: flex-end; min-height: 100%; padding-block: 2.25rem 1.75rem; gap: 1.1rem; }
  body.page-christmas .xmas-hero-layout.wrap { width: 100%; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
  body.page-christmas .xmas-hero-head { min-height: 0; padding: 0; }
  body.page-christmas .xmas-hero-detail { width: 100%; padding: 0; background: transparent; color: #f4f2ea; }
  body.page-christmas .xmas-intro { color: #f4f2ea; font-size: 1rem; line-height: 1.55; }
  body.page-christmas .xmas-actions { width: 100%; margin-top: 1.2rem; }
  body.page-christmas .xmas-primary { width: 100%; }
  body.page-christmas .xmas-hero-detail :focus-visible { outline-color: #f4f2ea; }
  body.page-christmas .xmas-ribbon-hero { top: 4.5rem; }
}

/* ===== 3. Christmas inquiry: the form first, on red; the words, the address and the brands right after,
   on light paper. The section title stays for screen readers. ===== */
body.page-christmas #disponibilitate > .inquiry-layout { grid-template-columns: minmax(0, 40rem); justify-content: center; gap: 0; }
body.page-christmas #disponibilitate > .inquiry-layout > .inquiry-copy {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
@media (min-width: 960px) { body.page-christmas .xmas-inquiry #inquiry-form { justify-self: center; margin-inline: auto; width: 100%; max-width: 40rem; } }
/* Phones: the form is a card on the red band, with the fields still wide (334 px on a 390 px screen). */
@media (max-width: 47.99rem) {
  body.page-christmas #disponibilitate.xmas-inquiry { padding-block: 14px 22px; }
  body.page-christmas #disponibilitate > .inquiry-layout { width: calc(100% - 24px); margin-inline: auto; }
  body.page-christmas #disponibilitate #inquiry-form { border-radius: 16px; padding-inline: 16px; box-shadow: 0 12px 30px rgba(70, 22, 8, .22); }
}
body.page-christmas #inquiry-form .xmas-form-context { margin: 0 0 16px; font: 700 1.05rem/1.35 var(--body); color: #a9330f; text-wrap: balance; }
body.page-christmas .xmas-trust { background: #f4f2ea; color: #1e1e1e; padding-block: clamp(2.75rem, 6vw, 4.75rem); border-bottom: 1px solid #d9d6cd; }
body.page-christmas .xmas-trust-layout { display: grid; gap: clamp(1.75rem, 4vw, 3.5rem); align-items: center; }
@media (min-width: 960px) { body.page-christmas .xmas-trust-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); } }
body.page-christmas .xmas-trust-copy { display: grid; gap: 1rem; justify-items: start; }
body.page-christmas .xmas-trust h2 { margin: 0; font: 900 clamp(1.85rem, 4.4vw, 3rem)/1.05 "Greater Theory", var(--body); text-transform: uppercase; letter-spacing: .01em; text-wrap: balance; }
body.page-christmas .xmas-trust-lead { margin: 0; max-width: 46ch; font: 400 1.0625rem/1.65 var(--body); color: #45443e; text-wrap: pretty; }
body.page-christmas .xmas-trust-contact { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.25rem; margin: .25rem 0 0; font: 500 .9375rem/1.5 var(--body); color: #45443e; }
body.page-christmas .xmas-trust-contact .plain-link { color: #a9330f; padding: .55rem 0; background: transparent; border-radius: 0; }
body.page-christmas .xmas-trust .selective-proof.inquiry-proof { margin: 0; padding: 0; border: 0; }
body.page-christmas .xmas-trust .inquiry-proof .selective-proof-heading h3 { font: 600 .8125rem/1.3 var(--body); text-transform: uppercase; letter-spacing: .08em; color: #6b675e; }
body.page-christmas .xmas-trust .inquiry-proof .selective-brand-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-christmas .xmas-trust .inquiry-proof .selective-brand-logos li { min-height: 68px; }
body.page-christmas .xmas-trust .inquiry-proof .selective-brand-logos img { height: 22px; }
body.page-christmas .xmas-trust .inquiry-proof .selective-brand-logos img[src*=lidl-],
body.page-christmas .xmas-trust .inquiry-proof .selective-brand-logos img[src*=red-bull-] { height: 25px; }

/* Benefits heading (Radu, 18.10): "De ce Takeovers Studios?" small above the headline, in the site's existing eyebrow style. */
.page-christmas .xmas-benefits-heading h2 .selective-eyebrow { display: block; margin: 0 0 .65rem; }

/* ===== 5. Christmas opening on the whole first screen (Radu, 18.10: „textul să fie … efectiv pe mijlocul ecranului …
   totul mai full pe desktop și mobil”). The photograph fills the screen under the header; the title, the address,
   the intro and the button sit in its middle. The photograph settles slowly and the words rise softly, only when the
   visitor has not asked for reduced motion; the title is never hidden while it animates. ===== */
body.page-christmas .xmas-hero-stage {
  display: grid;
  min-height: calc(100vh - var(--header-offset, var(--header-h, 4.5rem)));
  min-height: calc(100svh - var(--header-offset, var(--header-h, 4.5rem)));
}
body.page-christmas .xmas-hero-photo { position: absolute; inset: 0; height: auto; }
body.page-christmas .xmas-hero-layout { min-height: 0; justify-content: center; padding-block: clamp(3.5rem, 9vh, 6.5rem); }
body.page-christmas .xmas-hero-stage::after {
  background:
    radial-gradient(72% 62% at 50% 50%, rgba(9, 16, 12, .6) 0%, rgba(9, 16, 12, .36) 70%, rgba(9, 16, 12, 0) 100%),
    linear-gradient(180deg, rgba(9, 16, 12, .5) 0%, rgba(9, 16, 12, .22) 34%, rgba(9, 16, 12, .3) 66%, rgba(9, 16, 12, .74) 100%);
}
body.page-christmas .xmas-scroll-cue {
  position: absolute; z-index: 3; left: 50%; bottom: clamp(1rem, 3.2vh, 1.75rem); width: 1px; height: 2.75rem;
  transform: translateX(-50%); background: linear-gradient(180deg, rgba(244, 242, 234, 0), rgba(244, 242, 234, .7)); pointer-events: none;
}
body.page-christmas .xmas-scroll-cue::after {
  content: ''; position: absolute; left: 50%; top: 0; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: #f4f2ea;
}
@media (max-width: 47.99rem) {
  body.page-christmas .xmas-hero-stage {
    min-height: calc(100vh - var(--header-offset, 70px));
    min-height: calc(100svh - var(--header-offset, 70px));
  }
  body.page-christmas .xmas-hero-layout { justify-content: center; padding-block: 2.75rem 3.5rem; }
  body.page-christmas .xmas-hero-stage::after {
    background: linear-gradient(180deg, rgba(9, 16, 12, .55) 0%, rgba(9, 16, 12, .5) 28%, rgba(9, 16, 12, .62) 62%, rgba(9, 16, 12, .82) 100%);
  }
}
@media (prefers-reduced-motion: no-preference) {
  body.page-christmas:not([data-effects="off"]) .xmas-hero-photo img { animation: ts-hero-settle 14s cubic-bezier(.16, .6, .2, 1) both; }
  body.page-christmas:not([data-effects="off"]) .xmas-hero-head h1 span { animation: ts-hero-rise 1s cubic-bezier(.2, .7, .2, 1) both; }
  body.page-christmas:not([data-effects="off"]) .xmas-hero-head h1 span + span { animation-delay: .12s; }
  body.page-christmas:not([data-effects="off"]) :is(.xmas-season, .xmas-intro, .xmas-actions) { animation: ts-hero-fade 1s cubic-bezier(.2, .7, .2, 1) both; }
  body.page-christmas:not([data-effects="off"]) .xmas-season { animation-delay: .28s; }
  body.page-christmas:not([data-effects="off"]) .xmas-intro { animation-delay: .4s; }
  body.page-christmas:not([data-effects="off"]) .xmas-actions { animation-delay: .52s; }
  body.page-christmas:not([data-effects="off"]) .xmas-scroll-cue::after { animation: ts-hero-cue 2.4s cubic-bezier(.45, 0, .2, 1) 1.4s 3 both; }
}
@keyframes ts-hero-settle { from { transform: scale(1.07); } to { transform: none; } }
@keyframes ts-hero-rise { from { transform: translateY(.45em); } to { transform: none; } }
@keyframes ts-hero-fade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes ts-hero-cue { 0% { transform: translateY(0); opacity: 0; } 20%, 80% { opacity: 1; } 100% { transform: translateY(2.6rem); opacity: 0; } }
