/* New Cars Wedding Experience — the window label.
   One dealer's label at a time, seen through the windscreen: black frit band with its dot fade at the top,
   a white label ruled in heavy black, fluorescent price-card green for the numbered callouts and the price box. */
:root {
  --page: #DDE0DC;
  --page-2: #CDD1CC;
  --paper: #FCFCF9;
  --ink: #111311;
  --ink-2: #464B46;
  --ink-3: #6A6F69;
  --glass: #111311;
  --glo: #D3FF1F;
  --glo-2: #C2F000;
  --wash: #F2FFC4;
  --hair: #B5BAB3;
  --disp: 'Sofia Sans Extra Condensed', 'Arial Narrow', sans-serif;
  --sans: 'Sofia Sans', 'Segoe UI', sans-serif;
  --e: cubic-bezier(.16, 1, .3, 1);
  --e2: cubic-bezier(.87, 0, .13, 1);
  --rule: 3px;
  --frame: 4px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--page); color: var(--ink); font: 400 16px/1.55 var(--sans); font-feature-settings: 'lnum' 1; overflow-x: hidden; }
::selection { background: var(--glo); color: var(--ink); }
a { color: inherit; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
a:hover { text-decoration-color: var(--ink); background: var(--wash); }
button, input, select { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 6px var(--glo); }
img[data-logo] { width: auto; display: block; }

/* ---------- the windscreen: black frit band, tabs, dot fade ---------- */
.glass { position: relative; z-index: 3; background: transparent; }
.band { display: flex; align-items: stretch; gap: 16px; background: var(--glass); padding: 14px 24px 0; }
.tabs { display: flex; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; gap: 2px; }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: none; display: grid; grid-template-columns: auto; align-content: end; border: 0; background: transparent; color: #E6EAE4; text-align: left; padding: 8px 14px 11px; cursor: pointer; transition: background .35s var(--e), color .35s var(--e); }
.tab small { font: 700 10.5px/1 var(--sans); letter-spacing: .16em; color: var(--glo); margin-bottom: 5px; }
.tab span { font: 700 21px/1 var(--disp); text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; }
.tab:hover { background: #262A26; color: #fff; }
.tab[aria-selected="true"] { background: var(--glo); color: var(--ink); }
.tab[aria-selected="true"] small { color: var(--ink); }
.tab.sale { margin-left: 14px; box-shadow: inset 2px 0 0 #3A3F3A; }
.tab.sale[aria-selected="true"] { box-shadow: none; }
/* the hire cars without a photograph: their own group after the pictured three, lighter type, "senza foto" in the number line */
.tab.first-plain { margin-left: 14px; box-shadow: inset 2px 0 0 #3A3F3A; }
.tab.first-plain[aria-selected="true"] { box-shadow: none; }
.tab.plain { color: #B9BFB7; }
.tab.plain small { color: #9EA59C; }
.tab.plain span { font-weight: 600; }
.tab.plain:hover { color: #fff; }
.tab.plain[aria-selected="true"], .tab.plain[aria-selected="true"] small { color: var(--ink); }
.tab:focus-visible { outline-offset: -3px; box-shadow: none; outline-color: #fff; }
.lang { flex: none; display: flex; align-self: center; padding-bottom: 10px; }
.lang button { border: 0; background: transparent; color: #AEB4AC; font: 800 13px/1 var(--sans); letter-spacing: .12em; padding: 8px 9px; cursor: pointer; border-bottom: 3px solid transparent; }
.lang button[aria-pressed="true"] { color: #fff; border-bottom-color: var(--glo); }
.lang button:focus-visible { outline-color: #fff; box-shadow: none; }
/* the dot fade of a windscreen's ceramic band: five rows, each dot smaller than the last */
.frit { display: grid; pointer-events: none; }
.frit i { display: block; height: 10px; background-size: 11px 10px; background-repeat: repeat-x; }
.frit i:nth-child(1) { background-image: radial-gradient(circle at center, var(--glass) 4.6px, transparent 5px); }
.frit i:nth-child(2) { background-image: radial-gradient(circle at center, var(--glass) 3.7px, transparent 4.1px); background-position: 5.5px 0; }
.frit i:nth-child(3) { background-image: radial-gradient(circle at center, var(--glass) 2.8px, transparent 3.2px); }
.frit i:nth-child(4) { background-image: radial-gradient(circle at center, var(--glass) 2px, transparent 2.4px); background-position: 5.5px 0; }
.frit i:nth-child(5) { background-image: radial-gradient(circle at center, var(--glass) 1.2px, transparent 1.6px); }

.hint { display: none; }

/* ---------- stage: label + notes ---------- */
.stage { position: relative; max-width: 1400px; margin: 28px auto 72px; padding: 0 32px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 96px; align-items: start; }
.leader { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 2; }
.leader path { fill: none; stroke: var(--ink); stroke-width: 2.5; stroke-linejoin: miter; }
.leader rect { fill: var(--glo); stroke: var(--ink); stroke-width: 2.5; }
.leader circle { fill: var(--glo); stroke: var(--ink); stroke-width: 2.5; }

.label { min-width: 0; position: relative; max-width: 940px; }
.sheet { background: var(--paper); border: var(--frame) solid var(--ink); border-bottom: 3px dashed var(--ink); }

.lb-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px 13px; border-bottom: var(--frame) solid var(--ink); }
.logo { height: 52px; }
.meta { text-align: right; font: 700 11px/1.45 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.meta b { display: block; font: 800 17px/1.1 var(--disp); letter-spacing: .08em; color: var(--ink); }

.lb-name { padding: 16px 20px 0; }
.lb-name h1 { margin: 0; overflow: hidden; font: 900 128px/.86 var(--disp); text-transform: uppercase; letter-spacing: -.012em; white-space: nowrap; padding-top: .06em; }
.lb-name h1 span { display: inline-block; }
.lb-sub { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 12px 0 14px; }
.lb-sub p { margin: 0; font: 600 17px/1.35 var(--sans); max-width: 46ch; }
.lb-sub p em { font-style: normal; background: var(--glo); padding: 0 4px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
/* the short label: a hire car with no photograph. A printed band under the head says so; the name block carries no picture */
.plainband { display: flex; align-items: baseline; gap: 14px; margin: 0; padding: 7px 20px 8px; background: var(--ink); color: var(--paper); font: 600 13.5px/1.35 var(--sans); }
.plainband[hidden] { display: none; }
.plainband b { flex: none; font: 800 17px/1 var(--disp); letter-spacing: .1em; text-transform: uppercase; color: var(--glo); }
.label.plain .lb-sub p { max-width: 64ch; }
/* the photograph of the labelled car, where the listing has one: a plain ruled print, square */
.shot { flex: none; width: clamp(220px, 38%, 330px); margin: 0; border: var(--rule) solid var(--ink); background: var(--page-2); }
.shot[hidden] { display: none; }
.lb-sub:has(.shot:not([hidden])) { align-items: flex-start; padding-top: 16px; }
.lb-sub:has(.shot:not([hidden])) p { padding-top: 2px; }
.shot img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* the ruled grid: the black background shows through the gaps as rules */
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--rule); background: var(--ink); border-top: var(--frame) solid var(--ink); }
.cell { position: relative; background: var(--paper); padding: 13px 20px 20px; min-width: 0; transition: background .45s var(--e); }
.c1 { grid-column: span 4; } .c2 { grid-column: span 4; } .c9 { grid-column: span 4; }
.c3 { grid-column: span 7; } .c5 { grid-column: span 5; grid-row: span 2; } .c4 { grid-column: span 7; }
.c6 { grid-column: span 4; } .c7 { grid-column: span 4; } .c8 { grid-column: span 4; }
.sale .c1 { grid-column: span 7; } .sale .c5 { grid-column: span 5; grid-row: span 2; } .sale .c7 { grid-column: span 3; } .sale .c9 { grid-column: span 4; }

.mk { position: absolute; left: 0; top: 0; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-right: var(--rule) solid var(--ink); border-bottom: var(--rule) solid var(--ink); background: var(--glo); color: var(--ink); font: 900 23px/1 var(--disp); cursor: pointer; padding: 0 0 1px; z-index: 1; transition: background .3s var(--e), color .3s var(--e); }
.mk:hover { background: var(--ink); color: var(--glo); }
.mk:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 6px var(--glo); z-index: 3; }
.ct { margin: 0 0 0 36px; min-height: 22px; font: 800 11.5px/1.5 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--ink-2); }
.cv { margin: 16px 0 0; font: 800 36px/.92 var(--disp); text-transform: uppercase; letter-spacing: .005em; }
.cs { margin: 9px 0 0; font-size: 15px; line-height: 1.45; color: var(--ink-2); max-width: 44ch; }
.cs b { color: var(--ink); font-weight: 700; }
.cs a[href^="tel"] { white-space: nowrap; }
.pack + .cs { margin-top: 18px; padding-top: 12px; border-top: 1.5px solid var(--hair); }

/* 1: the kind scale */
.scale { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.scale span { font: 800 19px/1 var(--disp); text-transform: uppercase; padding: 7px 10px 6px; border: 2px solid var(--hair); color: var(--ink-3); }
.scale span.k0 { text-transform: none; }
.scale span.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
/* 3: the pack, ticked like equipment on a label */
.pack { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.pack li { display: flex; align-items: center; gap: 11px; font: 700 18px/1.2 var(--sans); }
.pack li::before { content: ''; flex: none; width: 20px; height: 20px; background: var(--ink) linear-gradient(var(--ink), var(--ink)); box-shadow: inset 0 0 0 2px var(--ink); clip-path: none; position: relative; }
.pack li { position: relative; }
.pack li::after { content: ''; position: absolute; left: 6px; top: 50%; width: 5px; height: 10px; border: solid var(--glo); border-width: 0 3px 3px 0; transform: translateY(-62%) rotate(45deg); }
/* 4: decoration words */
.words { display: flex; flex-wrap: wrap; gap: 0 14px; margin-top: 14px; font: 800 30px/1 var(--disp); text-transform: uppercase; }
.words span + span::before { content: '/'; margin-right: 14px; color: var(--ink-3); font-weight: 600; }
/* 5: the price box */
.c5 { background: var(--glo); display: flex; flex-direction: column; }
.c5 .mk { background: var(--ink); color: var(--glo); }
.c5 .mk:hover { background: var(--paper); color: var(--ink); }
.c5 .ct { color: var(--ink); }
.price { margin: 22px 0 0; font: 900 104px/.8 var(--disp); letter-spacing: -.02em; text-transform: uppercase; }
.price .pre { display: block; font-size: 30px; letter-spacing: .02em; margin-bottom: 8px; }
.price .to { font-size: 44px; vertical-align: .6em; margin: 0 2px; letter-spacing: 0; }
.price .eur { font-size: 64px; }
.c5 .cs { color: var(--ink); font-weight: 600; }
.c5 .also { margin-top: auto; padding-top: 18px; display: grid; gap: 0; }
.c5 .also p { margin: 0; padding: 8px 0; border-top: 2px solid var(--ink); font: 600 14.5px/1.35 var(--sans); display: flex; justify-content: space-between; gap: 12px; }
.c5 .also p b { font: 800 17px/1.2 var(--disp); text-transform: uppercase; white-space: nowrap; }
.c5 .ask { font: 900 150px/.8 var(--disp); text-transform: uppercase; margin: 26px 0 0; letter-spacing: -.02em; }

/* active cell */
.cell.on { background: var(--wash); }
.c5.on { background: var(--glo); box-shadow: inset 0 0 0 5px var(--ink); }
.cell.on > .mk { background: var(--ink); color: var(--glo); }
.c5.on > .mk { background: var(--paper); color: var(--ink); }
.inl { display: none; }

/* fine print */
.fine { border-top: var(--frame) solid var(--ink); padding: 14px 20px 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 24px; }
.fine-h { grid-column: 1 / -1; font: 800 10.5px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1.5px solid var(--ink); margin-bottom: 4px; }
.fine p { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--ink-2); }

/* ---------- the tear-off coupon ---------- */
.coupon { margin: 0; background: var(--paper); border: var(--frame) solid var(--ink); border-top: 0; padding: 22px 24px 24px; transform-origin: 8% 0; transition: transform .9s var(--e), background .45s var(--e); }
.coupon.on { background: var(--wash); }
.coupon .cut { position: absolute; top: -12px; right: 22px; background: var(--page); padding: 3px 9px 3px 22px; font: 800 10.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; border: 1.5px solid var(--ink); }
.coupon .cut::before { content: ''; position: absolute; left: 8px; top: 50%; width: 0; height: 0; border: 4.5px solid transparent; border-top-color: var(--ink); transform: translateY(-25%); }
.cp-h { margin: 0 0 0 36px; font: 900 34px/1 var(--disp); text-transform: uppercase; letter-spacing: .01em; min-height: 22px; }
.sentence { margin: 14px 0 0; font: 500 23px/2.05 var(--sans); max-width: 60ch; }
.sentence[hidden] { display: none; }
.sentence select, .sentence input { border: 0; border-bottom: 2.5px solid var(--ink); background: transparent; border-radius: 0; padding: 0 4px 1px; font: 700 23px/1.3 var(--sans); color: var(--ink); min-width: 4ch; max-width: 100%; vertical-align: baseline; }
.sentence input, .sentence select { field-sizing: content; }
.sentence input { min-width: 9ch; }
.sentence input[type="date"] { min-width: 0; font-size: 21px; }
.sentence select { -webkit-appearance: none; appearance: none; padding-right: 22px; background: linear-gradient(45deg, transparent 50%, var(--ink) 50%) right 9px top 55% / 6px 6px no-repeat, linear-gradient(-45deg, transparent 50%, var(--ink) 50%) right 3px top 55% / 6px 6px no-repeat; cursor: pointer; }
.sentence input::placeholder { color: var(--ink-3); font-weight: 500; }
.sentence select:focus, .sentence input:focus { outline: 0; background-color: var(--glo); box-shadow: none; }
.sentence .miss { border-bottom-color: #B3261E; background-color: #FFE9E6; }
.label.sale .rule { display: none; }
.rule { margin: 18px 0 0; font: 700 14px/1.45 var(--sans); max-width: 60ch; }
.acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.send, .call { display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px; font: 900 22px/1 var(--disp); text-transform: uppercase; letter-spacing: .02em; text-decoration: none; cursor: pointer; border: 3px solid var(--ink); transition: background .3s var(--e), color .3s var(--e); }
.send { background: var(--ink); color: var(--glo); }
.send:hover { background: var(--glo); color: var(--ink); }
.call { background: transparent; color: var(--ink); }
.call:hover { background: var(--ink); color: var(--paper); }
.status { margin: 12px 0 10px; font: 600 15px/1.45 var(--sans); min-height: 0; }
.status:empty { margin: 6px 0; }
.status b { background: var(--glo); padding: 0 4px; }
.status button { border: 0; background: none; padding: 0; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; cursor: pointer; }
/* torn off: the coupon drops away from the perforation */
.label.torn .coupon { transform: translate(14px, 30px) rotate(-1.8deg); border-top: 3px dashed var(--ink); }
.label.torn .coupon .cut { display: none; }

/* ---------- notes ---------- */
.notes { min-width: 0; padding-top: 4px; }
.notes h2 { margin: 0; font: 900 76px/.82 var(--disp); text-transform: uppercase; letter-spacing: -.015em; text-wrap: balance; }
.notes-p { margin: 14px 0 22px; font-size: 15px; color: var(--ink-2); }
.nl { list-style: none; margin: 0; padding: 0; border-top: var(--rule) solid var(--ink); }
.nl li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 14px; padding: 13px 10px 14px 0; border-bottom: 1.5px solid var(--ink); cursor: pointer; transition: background .35s var(--e), padding .45s var(--e); }
.nl .nn { width: 34px; height: 34px; display: grid; place-items: center; border: 2.5px solid var(--ink); background: var(--paper); font: 900 20px/1 var(--disp); transition: background .3s var(--e), color .3s var(--e); }
.nl h3 { margin: 4px 0 0; font: 800 21px/1.05 var(--disp); text-transform: uppercase; }
.nl p { grid-column: 2; margin: 5px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.nl li:hover .nn { background: var(--glo); }
.nl li.on { background: var(--paper); padding-left: 10px; }
.nl li.on .nn { background: var(--ink); color: var(--glo); border-color: var(--ink); }
.nl li.on p { color: var(--ink); }
.notes-call { margin: 22px 0 0; font: 600 14.5px/1.6 var(--sans); }

/* ---------- motion (load and label swap) ---------- */
.label.anim #carNameIn { animation: nameUp 1s var(--e) both; }
.label.anim .mk { animation: mkPop .7s var(--e) both; animation-delay: calc(var(--i, 0) * 45ms + 180ms); }
.label.anim .cv, .label.anim .scale, .label.anim .pack, .label.anim .words, .label.anim .price, .label.anim .ask { animation: rise .8s var(--e) both; animation-delay: calc(var(--i, 0) * 45ms + 120ms); }
.nl.anim li { animation: rise .7s var(--e) both; animation-delay: calc(var(--i, 0) * 40ms + 200ms); }
@keyframes nameUp { from { transform: translateY(105%); } to { transform: none; } }
@keyframes mkPop { from { transform: scale(.2); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes rise { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
html.static *, html.static *::before, html.static *::after { animation: none !important; transition: none !important; }

/* ---------- legal pages ---------- */
.docbody { background: var(--page); }
.dochead { background: var(--glass); padding: 16px 24px; }
.dochead + .frit { margin-bottom: 8px; }
.dochead img { height: 40px; }
.doc { max-width: 860px; margin: 24px auto 64px; padding: 34px 40px 40px; background: var(--paper); border: var(--frame) solid var(--ink); font-size: 15.5px; line-height: 1.6; }
.doc h1 { font: 900 64px/.9 var(--disp); text-transform: uppercase; margin: 18px 0 12px; letter-spacing: -.01em; }
.doc h2 { font: 800 26px/1.1 var(--disp); text-transform: uppercase; margin: 32px 0 8px; padding-top: 10px; border-top: var(--rule) solid var(--ink); }
.doc h3 { font: 800 20px/1.15 var(--disp); text-transform: uppercase; margin: 20px 0 6px; }
.doc table { border-collapse: collapse; width: 100%; font-size: 14px; margin: 12px 0; }
.doc th { text-align: left; font: 800 11px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; border-bottom: var(--rule) solid var(--ink); padding: 8px; vertical-align: bottom; }
.doc td { text-align: left; padding: 8px; border-bottom: 1.5px solid var(--hair); vertical-align: top; }
.doc code { font-size: .9em; background: var(--wash); padding: 0 3px; }
.doc .ck-page button { border-radius: 0; border: 3px solid var(--ink); font: 900 18px/1 var(--disp); text-transform: uppercase; padding: 10px 16px; }
.doc .ck-page .st { border-radius: 0; border: 2px solid var(--ink); background: var(--wash); }

/* ---------- responsive ---------- */
@media (max-width: 1240px) {
  .stage { grid-template-columns: minmax(0, 1fr) 300px; column-gap: 64px; }
  .notes h2 { font-size: 62px; }
  .price { font-size: 88px; } .price .eur { font-size: 54px; }
}
@media (max-width: 980px) {
  .stage { grid-template-columns: minmax(0, 1fr); padding: 0 20px; }
  .label { max-width: none; }
  .notes { display: none; }
  .leader { display: none; }
  .hint { display: block; margin: 16px 20px 0; font: 600 14px/1.4 var(--sans); color: var(--ink-2); }
  .cell.on .inl, .coupon.on .inl { display: block; margin: 14px 0 0; padding: 11px 14px 12px; background: var(--ink); color: var(--paper); font-size: 14.5px; line-height: 1.5; box-shadow: inset 5px 0 0 var(--glo); }
  .c5.on .inl { background: var(--ink); }
}
@media (max-width: 720px) {
  .band { padding: 10px 0 0 10px; gap: 4px; }
  .tab { padding: 7px 11px 9px; } .tab span { font-size: 19px; }
  .lang { padding-right: 8px; }
  .stage { padding: 0 16px; margin-top: 16px; }
  .hint { margin: 12px 16px 0; }
  .lb-head { padding: 11px 14px; } .logo { height: 34px; }
  .meta { font-size: 9.5px; letter-spacing: .12em; } .meta b { font-size: 14px; }
  .lb-name { padding: 12px 14px 0; }
  .lb-sub { flex-direction: column; align-items: flex-start; gap: 10px; }
  .lb-sub p { font-size: 15.5px; }
  .plainband { flex-direction: column; gap: 4px; padding: 8px 14px 9px; font-size: 13px; }
  .shot { width: 100%; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid .cell, .sale .cell { grid-column: span 2; grid-row: auto; }
  .grid .c6, .grid .c7, .sale .c7 { grid-column: span 1; }
  .cell { padding: 12px 14px 16px; }
  .cv { font-size: 29px; }
  .price { font-size: 84px; } .price .eur { font-size: 50px; } .price .to { font-size: 36px; }
  .c5 .ask { font-size: 110px; }
  .pack { grid-template-columns: minmax(0, 1fr); }
  .words { font-size: 25px; }
  .fine { grid-template-columns: minmax(0, 1fr); padding: 12px 14px 16px; }
  .coupon { padding: 20px 14px 20px; }
  .cp-h { font-size: 28px; }
  .sentence, .sentence select, .sentence input { font-size: 19px; }
  .sentence { line-height: 2.1; }
  .sentence input[type="date"] { font-size: 18px; }
  .send, .call { font-size: 20px; min-height: 48px; padding: 0 16px; }
  .label.torn .coupon { transform: translate(0, 22px) rotate(-1.4deg); }
  .doc { margin: 12px 12px 40px; padding: 20px 16px 28px; }
  .doc h1 { font-size: 44px; }
}
@media (max-width: 400px) { .grid .c6, .grid .c7 { grid-column: span 2; } }

/* == legal == cookie banner + seller block (generated by sites/_legal/gen.py; the banner look comes from _legal/cookie-styles.css) */
.ck { position: fixed; left: 16px; bottom: 16px; z-index: 9999; max-width: 400px; font-family: inherit; font-size: 14px; line-height: 1.5; letter-spacing: 0; text-transform: none; text-align: left; }
.ck, .ck * { box-sizing: border-box; } .ck .ck-k { display: block; } .ck .ck-t, .ck .ck-p { margin: 0; } .ck .b { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.ck button, .ck a.more { cursor: pointer; text-decoration: none; line-height: 1.2; margin: 0; }
/* banner: new-cars-wedding-experience */
.ck { left: 24px; bottom: 24px; width: 392px; background: #FCFCF9; color: #111311; border: 4px solid #111311; padding: 0 0 16px; font-family: 'Sofia Sans', sans-serif; }
.ck::before { content: '*'; position: absolute; left: 0; top: 0; width: 34px; height: 34px; display: grid; place-items: center; background: #D3FF1F; border-right: 3px solid #111311; border-bottom: 3px solid #111311; font: 900 30px/1 'Sofia Sans Extra Condensed', sans-serif; padding-top: 9px; }
.ck .ck-k { margin: 0 0 0 34px; padding: 11px 14px 9px; font: 800 10px/1 'Sofia Sans', sans-serif; letter-spacing: .26em; text-transform: uppercase; border-bottom: 1.5px solid #111311; }
.ck .ck-t b { display: block; padding: 14px 16px 0; font: 800 23px/1 'Sofia Sans Extra Condensed', sans-serif; text-transform: uppercase; letter-spacing: .01em; }
.ck .ck-p { padding: 8px 16px 0; font-size: 12.5px; line-height: 1.5; color: #464B46; }
.ck .b { margin: 14px 16px 0; gap: 8px; }
.ck button { border-radius: 0; border: 3px solid #111311; padding: 9px 14px 8px; font: 900 17px/1 'Sofia Sans Extra Condensed', sans-serif; text-transform: uppercase; letter-spacing: .03em; }
.ck .ok { background: #111311; color: #D3FF1F; } .ck .ok:hover, .ck .ok:focus-visible { background: #D3FF1F; color: #111311; }
.ck .no { background: #FCFCF9; color: #111311; } .ck .no:hover, .ck .no:focus-visible { background: #111311; color: #FCFCF9; }
.ck .more { margin-left: 4px; font: 700 12.5px/1.2 'Sofia Sans', sans-serif; color: #111311; text-decoration: underline; text-underline-offset: 3px; }
.ck .more:hover { background: #F2FFC4; }
@media (max-width: 600px) { .ck { --ck-bottom: 10px; } .ck .ck-t b { font-size: 21px; } }
/* seller block: the back of the label, same black rules on the pale page */
footer.seller { max-width: 1400px; margin: 0 auto; padding: 22px 32px 34px; border-top: 0; color: #111311; }
footer.seller .seller-in { max-width: none; border-top: 4px solid #111311; padding-top: 16px; }
footer.seller b { opacity: 1; color: #464B46; letter-spacing: .2em; }
footer.seller strong { font: 800 22px/1.1 'Sofia Sans Extra Condensed', sans-serif; text-transform: uppercase; letter-spacing: .01em; }
footer.seller a { text-underline-offset: 3px; }
body:has(> .ck) footer.seller { padding-bottom: 300px; }
@media (max-width: 720px) { footer.seller { padding: 18px 16px 28px; } }

@media (max-width: 600px) { .ck { left: 10px; right: 10px; bottom: var(--ck-bottom, 10px); width: auto; max-width: none; transform: none; } }
.seller { font-size: 12.5px; line-height: 1.6; color: inherit; padding: 22px 24px 26px; border-top: 1px solid rgba(128,128,128,.35); letter-spacing: 0; text-transform: none; font-family: inherit; }
.seller-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; }
.seller b { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; margin-bottom: 4px; font-weight: 700; }
.seller a { color: inherit; } .seller address { font-style: normal; } .seller strong { font-weight: 700; }
.seller.panel { display: none; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9998; background: #fff; color: #111; border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); max-width: 940px; margin: 0 auto; border-top: 0; padding: 24px 26px 22px; }
.seller.panel:target { display: block; }
.seller .x { position: absolute; top: 6px; right: 12px; text-decoration: none; font-size: 22px; line-height: 1; padding: 6px 8px; }
.ck-page .st { padding: 10px 14px; border: 1px solid rgba(128,128,128,.4); border-radius: 8px; margin: 10px 0 14px; font-weight: 700; } .ck-page .b { display: flex; gap: 8px; flex-wrap: wrap; } .ck-page button { font: inherit; font-weight: 700; padding: 9px 16px; border-radius: 999px; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
@media (max-width: 760px) { table.lgl-t, table.lgl-t tbody, table.lgl-t tr, table.lgl-t td { display: block; width: auto; } table.lgl-t thead { display: none; } table.lgl-t tr { padding: 10px 0; border-bottom: 1px solid rgba(128,128,128,.35); } table.lgl-t td { border: 0 !important; padding: 2px 0 !important; overflow-wrap: anywhere; } table.lgl-t td::before { content: attr(data-l) ": "; font-weight: 700; } }
table.lgl-t code { overflow-wrap: anywhere; }
.lead-note.lead-note { font-size: 12px; line-height: 1.5; margin: 0; letter-spacing: 0; text-transform: none; font-weight: 400; font-style: normal; text-align: left; max-width: 62ch; } .lead-note.lead-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 700px) { .seller-in { grid-template-columns: 1fr; } .seller.panel { left: 8px; right: 8px; bottom: 8px; max-height: 80dvh; overflow: auto; } }
