/* ============================================================
   MOTYW: terracotta-arch  (Terakota — śródziemnomorski łuk) — motyw 11
   Bielony łuk z dachówką, bugenwilla, oliwki, donice z cytrusami, morze.

   14.10 — PRZEBUDOWA NA MALOWANYCH PLANSZACH Z CANVY
   Dotąd motyw był rysowany wektorowo (płaskie łuki, koła i kreski)
   i przy motywach 1, 3 i 9 wyglądał ubogo. Teraz każdy ekran to
   malowana plansza 900 × 1500 wygenerowana w Canvie w jednym stylu
   (pierwsza plansza była wzorem dla pozostałych), a ikonki
   harmonogramu to osobne, wycięte z tła ilustracje — po jednej na
   punkt, cyklicznie, więc lista działa przy 1–6 punktach.
   Teksty leżą w PUSTYCH polach planszy i stoją środkiem na środku
   swojego pola (top = środek, translate 0 −50 %). Jednostki:
   --t-1p = 1 % wysokości płótna, --t-px = 1 piksel planszy (900).
   ============================================================ */

body[data-theme="terracotta-arch"] {
  --rg-ink:     #5A3020;
  --rg-body:    #5E4232;
  --rg-accent:  #B4532F;
  --rg-line:    rgba(180, 83, 47, .45);
  --rg-muted:   #9A7562;
  --rg-cream:   #FBF3E6;
  --rg-card:    #FBF3E6;
  --rg-pale:    #FBF3E6;
  --t-btn-txt:  #FFF8EE;
  --t-pole:     rgba(255, 252, 245, .78);
  --rg-script:  'Pinyon Script', cursive;
  --rg-display: 'Cormorant Garamond', serif;
  --rg-serif:   'Cormorant Garamond', serif;
  --rg-ui:      'Poppins', sans-serif;
  --rg-text:    'Poppins', sans-serif;
  background: #FBF3E6;
  color: var(--rg-body);
  font-family: var(--rg-text);
}
body[data-theme="terracotta-arch"] #rgScreens { background: #FBF3E6; }
body[data-theme="terracotta-arch"]::after { display: none; }
body[data-theme="terracotta-arch"] .rg-screen {
  --t-1p: calc(var(--rg-w, 760px) * 5 / 3 / 100);
  --t-px: calc(var(--rg-w, 760px) / 900);
}
/* Zakładka między ekranami liczona od płótna (bazowe 7vw na monitorze
   to 8 % płótna), wygaszenie krótkie — plansze są pełne aż do krawędzi. */
body[data-theme="terracotta-arch"] #rgScreens .rg-screen + .rg-screen {
  margin-top: calc(var(--rg-w, 760px) * -0.05);
}
body[data-theme="terracotta-arch"] .rg-screen > .rg-bg {
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
}
body[data-theme="terracotta-arch"] .rg-date > .rg-bg {
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 97%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 97%, transparent 100%);
}

/* ── RUCH ─────────────────────────────────────────────────────
   Plansze niosą tekst, więc nie jadą paralaksą ani dryfem. Żyją:
   drzwi odsłony, ikonki harmonogramu (każda we własnej fazie)
   i bardzo powolny oddech zdjęcia w ramce. */
body[data-theme="terracotta-arch"] .rg-bg img { transform: none !important; animation: none; }
@keyframes t11-ikona {
  0%, 100% { translate: 0 0;   rotate: -2.5deg; }
  50%      { translate: 0 -6%; rotate: 2.5deg; }
}
@keyframes t11-zdjecie {
  0%, 100% { scale: 1; }
  50%      { scale: 1.035; }
}
body[data-theme="terracotta-arch"] .rg-story .rg-bg img[data-foto],
body[data-theme="terracotta-arch"] .rg-story .rg-bg img[src*="04-story/zdjecie"],
body[data-theme="terracotta-arch"] .rg-story .rg-bg img[data-warstwa*="04-story/zdjecie"] {
  animation: t11-zdjecie 16s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  body[data-theme="terracotta-arch"] .rg-bg img,
  body[data-theme="terracotta-arch"] .rg-schedule .rg-item .ico { animation: none !important; }
}

/* ── RAMA PŁÓTNA ─────────────────────────────────────────────── */
body[data-theme="terracotta-arch"] .rg-screen {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  min-height: calc(var(--t-1p) * 100);
  height: calc(var(--t-1p) * 100);
}
body[data-theme="terracotta-arch"] .rg-outro-inline { height: calc(var(--t-1p) * 100); min-height: 0; }
body[data-theme="terracotta-arch"] .rg-screen > .rg-bg { height: calc(var(--t-1p) * 100); }
body[data-theme="terracotta-arch"] .rg-screen > .rg-inner,
body[data-theme="terracotta-arch"] .rg-location > .rg-dress,
body[data-theme="terracotta-arch"] .rg-outro-inline {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  top: 0;
  width: var(--rg-w, 760px);
  max-width: 100vw;
  height: calc(var(--t-1p) * 100);
  margin: 0;
  padding: 0;
  text-align: center;
  z-index: 3;
  background: none;
}
body[data-theme="terracotta-arch"] .rg-screen > .rg-inner > *,
body[data-theme="terracotta-arch"] .rg-card > *,
body[data-theme="terracotta-arch"] .rg-dress-inner > *,
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-inner > * {
  position: absolute;
  margin: 0 !important;
}
body[data-theme="terracotta-arch"] .rg-card {
  position: absolute;
  inset: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  translate: none;
}
body[data-theme="terracotta-arch"] .rg-card::before { content: none; }
body[data-theme="terracotta-arch"] .rg-h {
  font-family: var(--rg-display);
  font-style: italic;
  font-weight: 500;
  text-transform: none;
  letter-spacing: .01em;
  line-height: 1.1;
  color: var(--rg-ink);
  white-space: nowrap;
}
body[data-theme="terracotta-arch"] .rg-h::before,
body[data-theme="terracotta-arch"] .rg-h::after { content: none; }
/* wspólny opis */
body[data-theme="terracotta-arch"] .t-opis,
body[data-theme="terracotta-arch"] .rg-date .rg-sub,
body[data-theme="terracotta-arch"] .rg-location .rg-addr,
body[data-theme="terracotta-arch"] .rg-dress .rg-p {
  font-family: var(--rg-text);
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: none;
  color: var(--rg-body);
  text-wrap: balance;
}

/* ══ EKRAN 2 — IMIONA, ZAPROSZENIE, DATA, LICZNIK ═══════════════ */
body[data-theme="terracotta-arch"] .rg-date .rg-names {
  left: 18%;
  width: 64%;
  top: calc(var(--t-1p) * 31.5);
  translate: 0 -50%;
  font-family: var(--rg-script);
  font-weight: 400;
  font-size: calc(var(--t-px) * 84);
  line-height: 1.02;
  letter-spacing: 0;
  color: var(--rg-ink);
  overflow-wrap: anywhere;
}
body[data-theme="terracotta-arch"] .rg-date .rg-names > span:not(.amp) { display: block; }
body[data-theme="terracotta-arch"] .rg-date .rg-names .amp {
  display: block;
  font-size: .42em;
  line-height: 1.25;
  margin: 0;
  color: var(--rg-accent);
}
body[data-theme="terracotta-arch"] .rg-date .rg-sub {
  left: 24%;
  width: 52%;
  top: calc(var(--t-1p) * 44.5);
  translate: 0 -50%;
  font-size: max(10.5px, calc(var(--t-px) * 19));
  line-height: 1.4;
}
body[data-theme="terracotta-arch"] .rg-date .rg-dateline {
  left: 18%;
  width: 64%;
  top: calc(var(--t-1p) * 51.8);
  translate: 0 -50%;
  font-family: var(--rg-display);
  font-style: italic;
  font-weight: 400;
  font-size: max(13px, calc(var(--t-px) * 30));
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--rg-accent);
  text-wrap: balance;
}
body[data-theme="terracotta-arch"] .rg-date .rg-count {
  left: 28%;
  width: 44%;
  max-width: none;
  top: calc(var(--t-1p) * 60.2);
  translate: 0 -50%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
body[data-theme="terracotta-arch"] .rg-date .rg-count > div { position: relative; flex: 1 1 0; text-align: center; }
body[data-theme="terracotta-arch"] .rg-date .rg-count > div + div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  height: 64%;
  width: 1px;
  background: var(--rg-line);
}
body[data-theme="terracotta-arch"] .rg-date .rg-count .num {
  font-family: var(--rg-display);
  font-weight: 400;
  font-style: normal;
  font-size: max(20px, calc(var(--t-px) * 46));
  line-height: 1.1;
  color: var(--rg-ink);
}
body[data-theme="terracotta-arch"] .rg-date .rg-count .lbl {
  font-family: var(--rg-text);
  font-weight: 400;
  font-size: max(9.5px, calc(var(--t-px) * 14));
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--rg-muted);
}

/* Audyt 14.10 — ekran z imionami jako STOS wyśrodkowany w łuku.
   Każdy element miał własny, sztywny środek, więc dłuższe zaproszenie
   (do 110 znaków) albo długie imię wchodziły na sąsiadów. Teraz imiona,
   zdanie, data i licznik stoją jeden pod drugim ze stałym odstępem,
   a cała grupa trzyma środek łuku. Imiona dopasowują się do szerokości,
   zdanie ma sufit 4 linii i w razie potrzeby się zmniejsza. */
body[data-theme="terracotta-arch"] .rg-date > .rg-inner {
  top: calc(var(--t-1p) * 21);
  height: calc(var(--t-1p) * 45.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--t-1p) * 3.4);
}
body[data-theme="terracotta-arch"] .rg-date > .rg-inner > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  translate: none !important;
  flex: 0 0 auto;
}
body[data-theme="terracotta-arch"] .rg-date .rg-names {
  --rg-fit-w: 1;
  white-space: nowrap;
  overflow-wrap: normal;
  font-size: calc(var(--t-px) * 84 * var(--rg-kw, 1));
}
body[data-theme="terracotta-arch"] .rg-date .rg-sub {
  --rg-fit: 1;
  max-height: calc(max(10.5px, calc(var(--t-px) * 19)) * 1.4 * 4.05);
  overflow: hidden;
  font-size: calc(max(10.5px, calc(var(--t-px) * 19)) * var(--rg-k, 1));
}

/* ══ EKRAN 3 — HARMONOGRAM: IKONKA + OPIS, 1–6 PUNKTÓW ═════════ */
body[data-theme="terracotta-arch"] .rg-schedule .rg-h {
  left: 10%;
  width: 80%;
  top: calc(var(--t-1p) * 20.8);
  translate: 0 -50%;
  font-size: calc(var(--t-px) * 60);
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-timeline {
  --rg-fit: 1;
  --t-ico: 7.2;
  --t-f: max(10.5px, calc(var(--t-px) * 21));
  left: 21%;
  width: 58%;
  top: calc(var(--t-1p) * 26.5);
  height: calc(var(--t-1p) * 57.5);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: visible;
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-timeline::before,
body[data-theme="terracotta-arch"] .rg-schedule .rg-timeline::after { content: none; }
body[data-theme="terracotta-arch"] .rg-schedule .rg-timeline:has(.rg-item:nth-child(5)) { --t-ico: 6.2; --t-f: max(10px, calc(var(--t-px) * 19.5)); }
body[data-theme="terracotta-arch"] .rg-schedule .rg-timeline:has(.rg-item:nth-child(6)) { --t-ico: 5.4; --t-f: max(10px, calc(var(--t-px) * 18.5)); }
body[data-theme="terracotta-arch"] .rg-schedule .rg-item {
  position: relative;
  flex: 0 0 auto;  /* bez ściskania — inaczej przepełnienie nie było widać i --rg-k nie malał */
  display: grid;
  grid-template-columns: 30% 1fr;
  align-items: center;
  column-gap: 5%;
  margin: 0;
  padding: calc(var(--t-1p) * 1.1 * var(--rg-k, 1)) 0;
  min-height: 0;
  text-align: left;
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item + .rg-item::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 0;
  border-top: 1px dashed var(--rg-line);
  opacity: .85;
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item::after { content: none; }
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .ico {
  position: static;
  display: block;
  justify-self: center;
  width: 100%;
  height: calc(var(--t-1p) * var(--t-ico) * var(--rg-k, 1));
  object-fit: contain;
  margin: 0;
  animation: t11-ikona 7s ease-in-out infinite;
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item:nth-child(2n) .ico { animation-delay: -2.3s; }
body[data-theme="terracotta-arch"] .rg-schedule .rg-item:nth-child(3n) .ico { animation-delay: -4.6s; }
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .pearl { display: none; }
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .txt {
  position: static;
  margin: 0;
  padding: 0;
  text-align: left;
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .time,
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .desc,
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .godz,
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .nazwa {
  display: block;
  margin: 0;
  padding: 0;
  letter-spacing: 0;
  text-transform: none;
  font-style: normal;
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .godz::after,
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .nazwa::before { content: none; }
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .godz {
  font-family: var(--rg-text);
  font-weight: 500;
  font-size: calc(var(--t-f) * .88 * var(--rg-k, 1));
  letter-spacing: .14em;
  line-height: 1.3;
  color: var(--rg-accent);
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .nazwa {
  font-family: var(--rg-display);
  font-style: italic;
  font-weight: 500;
  font-size: calc(var(--t-f) * 1.32 * var(--rg-k, 1));
  line-height: 1.1;
  color: var(--rg-ink);
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .desc {
  font-family: var(--rg-text);
  font-weight: 300;
  font-size: calc(var(--t-f) * .92 * var(--rg-k, 1));
  line-height: 1.35;
  margin-top: .2em;
  color: var(--rg-body);
}
body[data-theme="terracotta-arch"] .rg-schedule .rg-item .desc:empty { display: none; }

/* ══ EKRAN 4 — HISTORIA: ZDJĘCIE W RAMCE PLANSZY ═══════════════
   Zdjęcie pary jest warstwą POD planszą, a w planszy okno jest
   wycięte do przezroczystości — ramka zawsze leży na zdjęciu. */
body[data-theme="terracotta-arch"] .rg-story .rg-heart,
body[data-theme="terracotta-arch"] .rg-story .rg-postcard,
body[data-theme="terracotta-arch"] .rg-story .rg-collage { display: none !important; }
body[data-theme="terracotta-arch"] .rg-story .rg-bg img[data-foto],
body[data-theme="terracotta-arch"] .rg-story .rg-bg img[src*="04-story/zdjecie"],
body[data-theme="terracotta-arch"] .rg-story .rg-bg img[data-warstwa*="04-story/zdjecie"] { object-fit: cover; }
body[data-theme="terracotta-arch"] .rg-story .rg-h {
  left: 10%;
  width: 80%;
  top: calc(var(--t-1p) * 49.6);
  translate: 0 -50%;
  font-size: calc(var(--t-px) * 60);
}
/* Delikatna poświata pod opisem — tekst leży między kwiatami. */
body[data-theme="terracotta-arch"] .rg-story .rg-inner::before {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  top: calc(var(--t-1p) * (67.4 - 25 / 2 - 4));
  height: calc(var(--t-1p) * (25 + 8));
  background: radial-gradient(ellipse at center, rgba(251, 243, 230, 0) 0%, rgba(251, 243, 230, 0) 45%, transparent 72%);
  pointer-events: none;
}
body[data-theme="terracotta-arch"] .rg-story .rg-cols {
  --rg-fit: 1;
  left: 21%;
  width: 58%;
  top: calc(var(--t-1p) * 67.4);
  translate: 0 -50%;
  max-height: calc(var(--t-1p) * 25);
  overflow: hidden;
  display: block;
  columns: auto;
  text-align: center;
  font-family: var(--rg-text);
  font-weight: 300;
  font-size: calc(max(10.5px, calc(var(--t-px) * 19)) * var(--rg-k, 1));
  line-height: 1.5;
  color: var(--rg-body);
  text-wrap: balance;
}
body[data-theme="terracotta-arch"] .rg-story .rg-cols .rg-p,
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-cols .rg-p {
  --rg-fit: 0;
  display: inline;
  position: static;
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}
body[data-theme="terracotta-arch"] .rg-story .rg-cols .rg-p:first-child::after,
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-cols .rg-p:first-child::after { content: " "; }

/* ══ EKRAN 5 — LOKALIZACJA + DRESS CODE ════════════════════════
   Mapa leży w oknie ramki planszy. Nad mapą idzie nakładka — ta sama
   plansza z wyciętym oknem — więc ramka (także jej ścięte rogi) zawsze
   przykrywa krawędź mapy. Nakładka nie łapie kliknięć. */
body[data-theme="terracotta-arch"] .rg-location .rg-loc-cards:empty { display: none; }
body[data-theme="terracotta-arch"] .rg-location .rg-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: url("../assets/themes/terracotta-arch/05-location/nakladka.webp") center / 100% 100% no-repeat;
  pointer-events: none;
}
body[data-theme="terracotta-arch"] .rg-location .rg-map {
  left: 14.2%;
  width: 70.9%;
  top: calc(var(--t-1p) * 13.8);
  height: calc(var(--t-1p) * 28.3);
  aspect-ratio: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: 1;
  background: rgba(255, 252, 245, .78);
}
body[data-theme="terracotta-arch"] .rg-location .rg-h,
body[data-theme="terracotta-arch"] .rg-location .rg-addr,
body[data-theme="terracotta-arch"] .rg-location .rg-btn { z-index: 3; }
body[data-theme="terracotta-arch"] .rg-location .rg-card .rg-h {
  left: 10%;
  width: 80%;
  top: calc(var(--t-1p) * 47.4);
  translate: 0 -50%;
  font-size: calc(var(--t-px) * 60);
}
body[data-theme="terracotta-arch"] .rg-location .rg-addr {
  left: 24%;
  width: 52%;
  top: calc(var(--t-1p) * 52.2);
  translate: 0 -50%;
  font-size: max(10.5px, calc(var(--t-px) * 19));
  line-height: 1.35;
}
body[data-theme="terracotta-arch"] .rg-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.4em;
  min-height: 0;
  border: 0;
  border-radius: 999px;
  background: var(--rg-accent);
  color: var(--t-btn-txt);
  box-shadow: none;
  font-family: var(--rg-text);
  font-weight: 500;
  font-size: max(10px, calc(var(--t-px) * 18));
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}
body[data-theme="terracotta-arch"] .rg-btn:hover { filter: brightness(.92); }
body[data-theme="terracotta-arch"] .rg-location .rg-btn {
  left: 50%;
  translate: -50% -50%;
  top: calc(var(--t-1p) * 57.2);
  width: auto;
  min-width: calc(var(--rg-w, 760px) * .22);
  height: calc(var(--t-1p) * 3.6);
}
body[data-theme="terracotta-arch"] .rg-location .rg-btn .rg-pin { display: none; }
body[data-theme="terracotta-arch"] .rg-location > .rg-dress { pointer-events: none; overflow: visible; }
body[data-theme="terracotta-arch"] .rg-location > .rg-dress::before,
body[data-theme="terracotta-arch"] .rg-location > .rg-dress::after { content: none; }
body[data-theme="terracotta-arch"] .rg-dress-inner {
  position: absolute;
  inset: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  pointer-events: auto;
}
body[data-theme="terracotta-arch"] .rg-dress .rg-h {
  left: 10%;
  width: 80%;
  top: calc(var(--t-1p) * 71.2);
  translate: 0 -50%;
  font-size: calc(var(--t-px) * 48);
}
body[data-theme="terracotta-arch"] .rg-dress-grid {
  left: 50%;
  translate: -50% -50%;
  top: calc(var(--t-1p) * 77.3);
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--rg-w, 760px) * .03);
}
body[data-theme="terracotta-arch"] .rg-dress .rg-swatches { display: flex; flex-direction: row; gap: calc(var(--rg-w, 760px) * .03); }
body[data-theme="terracotta-arch"] .rg-dress .rg-sw {
  width: calc(var(--rg-w, 760px) * .062);
  height: calc(var(--rg-w, 760px) * .062);
  border: 2px solid #FFFFFF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
body[data-theme="terracotta-arch"] .rg-dress-fig { display: none; }
body[data-theme="terracotta-arch"] .rg-dress .rg-p {
  left: 26%;
  width: 48%;
  top: calc(var(--t-1p) * 83.3);
  translate: 0 -50%;
  font-size: max(10px, calc(var(--t-px) * 17));
  line-height: 1.4;
}
body[data-theme="terracotta-arch"] #rgLocation { z-index: 3; }

/* ══ EKRAN 6 — RSVP + ZAKOŃCZENIE ══════════════════════════════ */
body[data-theme="terracotta-arch"] .rg-rsvp .rg-h {
  left: 20%;
  width: 60%;
  top: calc(var(--t-1p) * 18.6);
  translate: 0 -50%;
  font-size: calc(var(--t-px) * 60);
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-q,
body[data-theme="terracotta-arch"] .rg-rsvp .rg-msg-label {
  left: 20%;
  width: 60%;
  translate: 0 -50%;
  font-family: var(--rg-text);
  font-style: normal;
  font-weight: 400;
  font-size: max(9.5px, calc(var(--t-px) * 16));
  line-height: 1.2;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rg-muted);
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-q { top: calc(var(--t-1p) * 23.6); }
body[data-theme="terracotta-arch"] .rg-rsvp .rg-msg-label { top: calc(var(--t-1p) * 35.2); }
body[data-theme="terracotta-arch"] .rg-rsvp .rg-radios {
  left: 20%;
  width: 60%;
  top: calc(var(--t-1p) * 28.2);
  translate: 0 -50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--t-1p) * .6);
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-radio {
  font-family: var(--rg-text);
  font-style: normal;
  font-weight: 300;
  font-size: max(11px, calc(var(--t-px) * 20));
  line-height: 1.2;
  color: var(--rg-body);
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-radio .dot { border-color: var(--rg-accent); }
body[data-theme="terracotta-arch"] .rg-rsvp .rg-sep {
  display: block;
  left: 36%;
  width: 28%;
  top: calc(var(--t-1p) * 32.3);
  height: 0;
  border: 0;
  border-top: 1px solid var(--rg-line);
  background: none;
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-textarea {
  left: 27%;
  width: 46%;
  top: calc(var(--t-1p) * 37);
  height: calc(var(--t-1p) * 5.4);
  min-height: 0;
  resize: none;
  background: var(--t-pole);
  border: 1px solid var(--rg-line);
  border-radius: 2px;
  box-shadow: none;
  color: var(--rg-body);
  font-family: var(--rg-text);
  font-weight: 300;
  font-size: max(11px, calc(var(--t-px) * 16));
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-textarea::placeholder { color: var(--rg-muted); opacity: .8; }
body[data-theme="terracotta-arch"] .rg-rsvp .rg-btn {
  left: 50%;
  translate: -50% -50%;
  top: calc(var(--t-1p) * 46.8);
  width: auto;
  min-width: calc(var(--rg-w, 760px) * .26);
  height: calc(var(--t-1p) * 3.8);
}
body[data-theme="terracotta-arch"] .rg-rsvp .rg-note {
  --t-notka: max(40%, 17em);
  left: calc((100% - var(--t-notka)) / 2);
  width: var(--t-notka);
  top: calc(var(--t-1p) * 51.6);
  translate: 0 -50%;
  font-family: var(--rg-text);
  font-style: normal;
  font-weight: 300;
  font-size: max(9.5px, calc(var(--t-px) * 14));
  line-height: 1.35;
  color: var(--rg-muted);
  text-wrap: balance;
}
@media (max-width: 359px) {
  body[data-theme="terracotta-arch"] .rg-rsvp .rg-note { --t-notka: max(40%, 18.5em); font-size: 9px; }
}
body[data-theme="terracotta-arch"] .rg-outro-inline { pointer-events: none; }
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-bg,
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-outro-card,
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-outro-fig { display: none; }
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-inner {
  position: absolute;
  inset: 0;
  translate: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  pointer-events: auto;
}
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-monogram {
  left: 10%;
  width: 80%;
  top: calc(var(--t-1p) * 56.6);
  translate: 0 -50%;
  font-family: var(--rg-script);
  font-weight: 400;
  font-style: normal;
  font-size: calc(var(--t-px) * 50);
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
  color: var(--rg-ink);
}
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-monogram .amp { color: var(--rg-accent); font-size: .7em; }
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-h {
  left: 10%;
  width: 80%;
  top: calc(var(--t-1p) * 61.4);
  translate: 0 -50%;
  font-size: calc(var(--t-px) * 48);
  letter-spacing: .01em;
  white-space: normal;
  text-wrap: balance;
}
body[data-theme="terracotta-arch"] .rg-outro-inline .rg-cols {
  --rg-fit: 1;
  left: 22%;
  width: 56%;
  top: calc(var(--t-1p) * 69.6);
  translate: 0 -50%;
  max-height: calc(var(--t-1p) * 13);
  overflow: hidden;
  display: block;
  columns: auto;
  text-align: center;
  font-family: var(--rg-text);
  font-weight: 300;
  font-size: calc(max(10px, calc(var(--t-px) * 18)) * var(--rg-k, 1));
  line-height: 1.45;
  color: var(--rg-body);
  text-wrap: balance;
}

/* ══ ODSŁONA — DRZWI Z PLANSZY ═════════════════════════════════
   Pod drzwiami leży ta sama plansza co ekran z imionami, a plansza
   odsłony ma wymiar płótna i jest wyrównana do góry — po otwarciu
   drzwi widać dokładnie ekran, który zostaje po zniknięciu nakładki.
   Każde skrzydło obraca się wokół SWOJEJ zewnętrznej krawędzi. */
body[data-theme="terracotta-arch"] .plate-reveal { align-items: flex-start; background: #FBF3E6; }
/* v350: na wysokich telefonach (19,5:9) plansza 3:5 kończyła się na ~77 %
   wysokości, a pod nią był pusty pas koloru tła. Pas wypełnia teraz
   rozmyta dolna część tej samej planszy — wygląda jak jej przedłużenie. */
body[data-theme="terracotta-arch"] .plate-bleed { display: block; }
body[data-theme="terracotta-arch"] .plate-bleed img { object-position: 50% 100%; filter: blur(26px) saturate(.95); transform: scale(1.12); }
body[data-theme="terracotta-arch"] .plate-bleed::after { background: rgba(251,243,230,.30); }
body[data-theme="terracotta-arch"] .plate-stage {
  width: min(100vw, var(--rg-w, 760px));
  height: calc(min(100vw, var(--rg-w, 760px)) * 5 / 3);
}
body[data-theme="terracotta-arch"] .plate-canvas { perspective: 1800px; perspective-origin: 50% 50%; }
body[data-theme="terracotta-arch"] .plate-canvas .plate-layer { object-fit: fill; }
body[data-theme="terracotta-arch"] .plate-skrz {
  z-index: 3;
  transform: rotate3d(0, 1, 0, 0deg);
  /* Drzwi otwierają się w swoim tempie (1,35 s) — tego nie ruszamy. */
  transition: transform 1.35s cubic-bezier(.42, .02, .24, 1), opacity .4s linear;
}
body[data-theme="terracotta-arch"] .sk-lewo  { transform-origin: 0% 50%; }
body[data-theme="terracotta-arch"] .sk-prawo { transform-origin: 100% 50%; }
body[data-theme="terracotta-arch"] .plate-reveal.opening .sk-lewo {
  transform: rotateY(105deg);
  opacity: 0;
  transition-delay: 0s, 1.1s;
}
body[data-theme="terracotta-arch"] .plate-reveal.opening .sk-prawo {
  transform: rotateY(-105deg);
  opacity: 0;
  transition-delay: .12s, 1.22s;
}
body[data-theme="terracotta-arch"] .plate-reveal.opening .plate-layer { transform: none; opacity: 1; }
/* v350: skrócone tylko to, co jest PO otwarciu. Wcześniej nakładka stała
   jeszcze ~1 s po otwartych drzwiach i znikała skokiem po 2,4 s. Teraz
   zaczyna gasnąć, gdy skrzydła są prawie otwarte, i znika razem z końcem
   ich ruchu (~1,45 s) — zaproszenie pojawia się od razu. */
body[data-theme="terracotta-arch"] .plate-reveal.opening { opacity: 0; transition: opacity .4s ease 1.05s; }
body[data-theme="terracotta-arch"] .plate-reveal.opened { opacity: 0; }
body[data-theme="terracotta-arch"] .plate-reveal.opening .plate-cta { animation: none; opacity: 0; transition: opacity .3s; }
body[data-theme="terracotta-arch"] .plate-cta {
  --t-h: calc(min(100vw, var(--rg-w, 760px)) * 5 / 3);
  bottom: auto;
  top: calc(var(--t-h) * 0.7);
  z-index: 6;
  padding: .8em 1.8em;
  background: rgba(251, 243, 230, .94);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
  font-family: var(--rg-text);
  font-weight: 500;
  font-size: max(11px, calc(var(--t-h) * .0128));
  letter-spacing: .24em;
  text-transform: uppercase;
  color: #5A3020;
  opacity: 1;
  white-space: nowrap;
  /* podstawowe pulsowanie schodziło do 34 % krycia — na drzwiach napis
     prawie znikał; tu pulsuje tylko lekko */
  animation: t11-cta 3.4s ease-in-out infinite;
}
@keyframes t11-cta { 0%, 100% { opacity: 1; } 50% { opacity: .78; } }
@media (prefers-reduced-motion: reduce) {
  body[data-theme="terracotta-arch"] .plate-skrz,
  body[data-theme="terracotta-arch"] .plate-reveal.opening .plate-skrz { transition: opacity .3s linear; transform: none; }
}

/* ══ TELEFON ══════════════════════════════════════════════════
   Przy podłodze stopnia pisma (10–10,5 px) opisy są względnie większe
   niż na planszy — dostają szersze pola. */
@media (max-width: 480px) {
  body[data-theme="terracotta-arch"] .rg-date .rg-sub { left: 20%; width: 60%; }
  body[data-theme="terracotta-arch"] .rg-story .rg-cols { left: 21%; width: 58%; font-size: calc(10px * var(--rg-k, 1)); }
  body[data-theme="terracotta-arch"] .rg-dress .rg-p { left: 20%; width: 60%; }
  body[data-theme="terracotta-arch"] .rg-outro-inline .rg-cols { left: 20%; width: 60%; }
  body[data-theme="terracotta-arch"] .rg-schedule .rg-timeline { left: 18%; width: 64%; }
}

/* ══ ELEMENTY RUCHOME (14.10) ═══════════════════════════════════
   Osobne ilustracje z Canvy (wycięte z tła), leżące NAD planszą,
   ale POD tekstem — tylko w rogach i na marginesach, więc nigdy nie
   zasłaniają napisów:
     • gałązka bugenwilli zwisa z narożnika i kołysze się od zaczepu,
     • motyl krąży po marginesie i macha skrzydłami,
     • płatki bugenwilli spadają powoli przez cały ekran.
   Każdy element ma inną fazę i tempo, żeby nic nie szło „w marszu”. */
@keyframes t11-galaz {
  0%, 100% { rotate: -3deg; }
  50%      { rotate: 3.5deg; }
}
@keyframes t11-skrzydla {
  0%, 100% { scale: 1 1; }
  50%      { scale: .28 1; }
}
@keyframes t11-lot-a {
  0%   { translate: 0 0;                                              rotate: -8deg; }
  25%  { translate: calc(var(--t-1p) * 6) calc(var(--t-1p) * -5);     rotate: 12deg; }
  50%  { translate: calc(var(--t-1p) * 2) calc(var(--t-1p) * -11);    rotate: -4deg; }
  75%  { translate: calc(var(--t-1p) * -3) calc(var(--t-1p) * -4);    rotate: 10deg; }
  100% { translate: 0 0;                                              rotate: -8deg; }
}
@keyframes t11-lot-b {
  0%   { translate: 0 0;                                              rotate: 8deg; }
  30%  { translate: calc(var(--t-1p) * -5) calc(var(--t-1p) * -6);    rotate: -10deg; }
  60%  { translate: calc(var(--t-1p) * -1) calc(var(--t-1p) * -12);   rotate: 6deg; }
  100% { translate: 0 0;                                              rotate: 8deg; }
}
@keyframes t11-platek {
  0%   { translate: 0 0;                                               rotate: 0deg;   opacity: 0; }
  6%   {                                                                               opacity: .95; }
  30%  { translate: calc(var(--t-1p) * 3) calc(var(--t-1p) * 30);      rotate: 110deg; }
  55%  { translate: calc(var(--t-1p) * -2.5) calc(var(--t-1p) * 56);   rotate: 220deg; }
  80%  { translate: calc(var(--t-1p) * 2) calc(var(--t-1p) * 82);      rotate: 330deg; opacity: .9; }
  100% { translate: calc(var(--t-1p) * -1) calc(var(--t-1p) * 106);    rotate: 420deg; opacity: 0; }
}
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/galaz"] {
  transform-origin: 50% 0%;
  animation: t11-galaz 7.5s ease-in-out infinite;
}
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/galaz"][style^="left:6%"] {
  scale: -1 1;
  animation-duration: 8.5s;
  animation-delay: -3s;
}
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/motyl"] {
  animation: t11-skrzydla .42s ease-in-out infinite, t11-lot-a 16s ease-in-out infinite;
}
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/motyl_2"],
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/motyl"][style^="left:8"] {
  animation: t11-skrzydla .38s ease-in-out infinite, t11-lot-b 19s ease-in-out infinite;
}
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/platek"] {
  opacity: 0;
  animation: t11-platek 17s linear infinite;
}
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/platek_2"] { animation-duration: 21s; animation-delay: -7s; }
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/platek_3"] { animation-duration: 19s; animation-delay: -12s; }
body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/platek_4"] { animation-duration: 23s; animation-delay: -4s; }
@media (prefers-reduced-motion: reduce) {
  body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/"] { animation: none !important; }
  body[data-theme="terracotta-arch"] .rg-bg img[src*="ruch/platek"] { display: none; }
}
