/* GoodVibes Birthday — ticket cards. Uses the GVS tokens with literal fallbacks
   so the block stays on-brand even where the theme variables are not in scope. */

.gvs-1bd-tickets{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--gvs-space-3,24px);
  max-width:var(--gvs-content-width,1200px);
  margin:var(--gvs-space-4,32px) auto;
  padding:0 var(--gvs-space-2,16px);
  align-items:stretch;
}

.gvs-1bd-card{
  display:flex;
  flex-direction:column;
  background:var(--gvs-cream,#FAF4E6);
  border:var(--gvs-photo-keyline,2px) solid var(--gvs-petrol,#1B4A5A);
  border-radius:var(--gvs-radius,8px);
  padding:var(--gvs-space-4,32px) var(--gvs-space-3,24px);
  text-align:center;
}
.gvs-1bd-card--afterparty{
  background:var(--gvs-petrol,#1B4A5A);
  color:var(--gvs-paper,#F3E9D2);
}

.gvs-1bd-eyebrow{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gvs-teal-text,#256A75);
  margin:0 0 var(--gvs-space-2,16px);
}
.gvs-1bd-card--afterparty .gvs-1bd-eyebrow{color:var(--gvs-gold,#E8B33C)}

.gvs-1bd-day{
  font-family:var(--gvs-font-display,"Oswald",sans-serif);
  /* 1.08 clipped the acute on an accented CAPITAL into the line above: Polish is the only
     language whose day heading wraps AND starts line 2 with S-acute (WRZESNIA), so the mark
     landed under the B of SOBOTA. Uppercase Oswald needs ~1.2 to clear its own accents. */
  font-weight:700;text-transform:uppercase;line-height:1.22;
  font-size:clamp(1.35rem,3.2vw,1.9rem);
  color:var(--gvs-petrol,#1B4A5A);
  margin:0 0 .35rem;
}
.gvs-1bd-card--afterparty .gvs-1bd-day{color:var(--gvs-paper,#F3E9D2)}

.gvs-1bd-time,.gvs-1bd-lineup{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  margin:0 0 .35rem;font-size:.95rem;line-height:1.45;
  color:var(--gvs-teal-text,#256A75);
}
.gvs-1bd-lineup{margin-bottom:var(--gvs-space-3,24px);font-weight:600}
.gvs-1bd-card--afterparty .gvs-1bd-time,
.gvs-1bd-card--afterparty .gvs-1bd-lineup{color:var(--gvs-gold,#E8B33C)}

.gvs-1bd-price{
  font-family:var(--gvs-font-display,"Oswald",sans-serif);
  font-weight:800;line-height:1;
  font-size:clamp(2.4rem,8vw,3.4rem);
  color:var(--gvs-petrol,#1B4A5A);
  margin:0 0 var(--gvs-space-2,16px);
}
.gvs-1bd-card--afterparty .gvs-1bd-price{color:var(--gvs-gold,#E8B33C)}
.gvs-1bd-price .woocommerce-Price-amount{font-size:inherit;font-weight:inherit}

/* the rising ladder — the whole point is that this is legible at a glance */
.gvs-1bd-ladder{
  list-style:none;margin:0 0 var(--gvs-space-2,16px);padding:0;
  font-family:var(--gvs-font-body,"Inter",sans-serif);font-size:.9rem;
}
.gvs-1bd-ladder li{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.45rem .7rem;border-radius:4px;
}
.gvs-1bd-ladder .gvs-1bd-band{font-weight:700}
.gvs-1bd-ladder .is-gone{opacity:.45;text-decoration:line-through}
.gvs-1bd-ladder .is-now{
  background:var(--gvs-gold,#E8B33C);
  color:var(--gvs-petrol,#1B4A5A);
  font-weight:700;
}
.gvs-1bd-ladder .is-next{opacity:.75}

.gvs-1bd-warn{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.85rem;line-height:1.45;font-style:italic;
  margin:0 0 var(--gvs-space-2,16px);
  color:var(--gvs-teal-text,#256A75);
}
.gvs-1bd-card--afterparty .gvs-1bd-warn{color:var(--gvs-paper,#F3E9D2);opacity:.85}

.gvs-1bd-left,.gvs-1bd-soldout{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  margin:auto 0 var(--gvs-space-2,16px);
  color:var(--gvs-teal-text,#256A75);
}
.gvs-1bd-card--afterparty .gvs-1bd-left{color:var(--gvs-gold,#E8B33C)}
.gvs-1bd-soldout{color:#C8230A}

.gvs-1bd-buy{
  display:block;text-align:center;text-decoration:none;
  min-height:56px;padding:16px var(--gvs-space-3,24px);
  border-radius:var(--gvs-radius,8px);
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:1rem;font-weight:700;line-height:1.4;
  background:var(--gvs-petrol,#1B4A5A);
  color:var(--gvs-cream,#FAF4E6);
}
.gvs-1bd-card--afterparty .gvs-1bd-buy{
  background:var(--gvs-gold,#E8B33C);
  color:var(--gvs-petrol,#1B4A5A);
}
.gvs-1bd-buy:hover,.gvs-1bd-buy:focus{filter:brightness(1.08);color:var(--gvs-cream,#FAF4E6)}
.gvs-1bd-card--afterparty .gvs-1bd-buy:hover,
.gvs-1bd-card--afterparty .gvs-1bd-buy:focus{color:var(--gvs-petrol,#1B4A5A)}

/* the "N left at this price, then €20" tail on shop/product price lines */
.gvs-1bd-next{
  display:block;font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.8125rem;font-weight:600;text-transform:none;letter-spacing:0;
  color:var(--gvs-teal-text,#256A75);
}

@media (max-width:640px){
  .gvs-1bd-tickets{grid-template-columns:1fr}
  .gvs-1bd-card{padding:var(--gvs-space-3,24px) var(--gvs-space-2,16px)}
}

/* The theme prints the post title and the featured image above the content. On the
   birthday page both duplicate what the content already says — the poster is in the
   content at full size, and the content carries its own H1 — so a visitor saw the flyer
   twice and the page had two H1s. Hidden here rather than per page, so it holds in all
   eight languages. The featured image stays SET, because Yoast still needs it for the
   social preview. */
body.gvs-1bd-page .wp-block-post-title,
body.gvs-1bd-page .wp-block-post-featured-image{display:none}

/* Four cards read as two pairs — the two outdoor evenings, then the two afterparties.
   auto-fit was laying them out 3 + 1 on a desktop, which grouped them by nothing. */
@media (min-width:900px){
  .gvs-1bd-tickets{grid-template-columns:repeat(2,1fr);max-width:900px}
}

/* Paragraph width on the birthday page.
   The parent theme (arneiron/assets/css/blocks.css) caps body copy to a reading measure:
       .entry-content > .wp-block-paragraph,
       .is-measured .wp-block-paragraph { max-width: var(--wp--custom--type--measure); }
   That token resolves to 680px here, inside a 1400px content column, and the rule sets no
   auto margins — so every paragraph box was pinned to the LEFT while the headings centred
   across the full column, and the centred paragraph text read as visibly off-centre.
   Reported by Лёша Новиков 2026-09-02: make it 100% here.
   Scoped to the birthday pages only (all 8 languages carry .gvs-1bd-page) so the reading
   measure still applies everywhere else on the site, where it is doing its job. */
body.gvs-1bd-page .entry-content > .wp-block-paragraph,
body.gvs-1bd-page .is-measured .wp-block-paragraph{
  max-width:100%;
}

/* Ticket cards on the order-received ("thank you") page. */
.gvs-1bd-thankyou{
  max-width:460px;margin:0 auto var(--gvs-space-5,40px);
  display:flex;flex-direction:column;gap:var(--gvs-space-3,24px);
}
.gvs-1bd-thankyou-count{
  text-align:center;font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gvs-teal-text,#256A75);margin:0;
}
.gvs-1bd-thankyou-card{
  background:var(--gvs-cream,#FAF4E6);
  border:var(--gvs-photo-keyline,2px) solid var(--gvs-petrol,#1B4A5A);
  border-radius:var(--gvs-radius,8px);
  padding:var(--gvs-space-4,32px) var(--gvs-space-3,24px);
  text-align:center;
}
.gvs-1bd-thankyou-eyebrow{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gvs-teal-text,#256A75);margin:0 0 6px;
}
.gvs-1bd-thankyou-day{
  font-family:var(--gvs-font-display,"Oswald",sans-serif);
  font-weight:700;text-transform:uppercase;font-size:1.35rem;line-height:1.1;
  color:var(--gvs-petrol,#1B4A5A);margin:0;
}
.gvs-1bd-thankyou-time{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.9375rem;color:var(--gvs-teal-text,#256A75);margin:2px 0 var(--gvs-space-3,24px);
}
.gvs-1bd-thankyou-qrwrap{
  display:inline-flex;padding:12px;background:#fff;
  border:var(--gvs-photo-keyline,2px) solid var(--gvs-petrol,#1B4A5A);
  border-radius:var(--gvs-radius,8px);margin:0 0 var(--gvs-space-2,16px);
}
.gvs-1bd-thankyou-qrwrap img{display:block;width:176px;height:176px}
.gvs-1bd-thankyou-code{
  font-family:var(--gvs-font-display,"Oswald",sans-serif);
  font-weight:800;font-size:1.4rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gvs-petrol,#1B4A5A);
  background:var(--gvs-gold,#E8B33C);
  border:var(--gvs-photo-keyline,2px) solid var(--gvs-petrol,#1B4A5A);
  border-radius:var(--gvs-radius,8px);
  padding:12px 20px;margin:0 0 10px;display:inline-block;
}
.gvs-1bd-thankyou-paid{
  font-family:var(--gvs-font-body,"Inter",sans-serif);
  font-size:.8125rem;color:var(--gvs-teal-text,#256A75);margin:0;
}

/* The one sentence that tells a buyer how the two products relate. Sits under the
   grid, quiet but not hidden -- it answers a question the cards cannot answer alone. */
.gvs-1bd-combo{
	max-width:62ch;margin:var(--gvs-space-3,24px) auto 0;
	font-size:.9375rem;line-height:1.55;text-align:center;
	color:var(--gvs-ink-soft,#5E7068);text-wrap:balance;
}
