/* ══════════════════════════════════════════════════════════
   LIC — مخطط الصالة
   الرسم بالمتر: 1 وحدة SVG = 1 متر. الخطوط تُثبَّت بـ
   vector-effect: non-scaling-stroke حتى لا ترتفع مع التكبير.
   ══════════════════════════════════════════════════════════ */

/* ── أرقام المخطط ────────────────────────────── */
.fp-facts {
  display: flex; flex-wrap: wrap; gap: var(--sp-3);
  justify-content: center;
  margin-block-end: var(--sp-6);
}
.fp-facts li {
  display: flex; flex-direction: column; align-items: center;
  min-width: 116px;
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r); text-align: center;
}
.fp-facts strong { font-family: var(--font-num); font-size: var(--fs-lg); font-weight: 700; }
.fp-facts span   { font-size: var(--fs-xs); color: var(--text-3); }

/* ── الحاوية بعرض الصفحة ─────────────────────── */
/* الخريطة تحتاج كل العرض المتاح، والسلة تلتصق بحافة الصفحة:
   العمود الثاني في الشبكة = الحافة المنطقية → يسار في RTL ويمين في LTR. */
.fp-full {
  width: 100%;
  padding-inline: clamp(var(--sp-2), 1.2vw, var(--sp-5));
}

.fp {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(240px, 21vw, 320px);
  grid-template-areas:
    'toolbar toolbar'
    'stage   cart';
  gap: var(--sp-4);
  padding: var(--sp-4);
  background: var(--bg-3); border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
@media (max-width: 940px) {
  .fp {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'toolbar' 'stage' 'cart';
  }
}

/* خطوة التسجيل: السلة تتَّسع لتحمل النموذج في المربَّع نفسه،
   وتفقد التثبيت لأن النموذج أطول من الشاشة فلا يصحّ أن يُقصّ. */
.fp.is-registering { grid-template-columns: minmax(0, 1fr) clamp(320px, 40vw, 580px); }
.fp.is-registering .fp__cart { position: static; }
@media (max-width: 940px) {
  .fp.is-registering { grid-template-columns: minmax(0, 1fr); }
}

/* ── شريط الأدوات (الدليل) ───────────────────── */
.fp__toolbar {
  grid-area: toolbar;
  display: flex; align-items: center; justify-content: center;
  gap: var(--sp-4); flex-wrap: wrap;
  padding-block-end: var(--sp-3);
  border-block-end: 1px solid var(--line);
}
.fp__legend { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; justify-content: center; }
.fp__legend-item {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: var(--fs-xs); color: var(--text-2);
}
.fp__legend-item small { color: var(--text-3); }
.fp__legend-sep { inline-size: 1px; block-size: 20px; background: var(--line-2); }
.fp__swatch {
  inline-size: 13px; block-size: 13px; border-radius: 3px;
  border: 1px solid var(--line-2); flex-shrink: 0;
}
.fp__swatch[data-status="available"] { background: color-mix(in srgb, var(--st-available) 32%, transparent); border-color: var(--st-available); }
.fp__swatch[data-status="held"]      { background: color-mix(in srgb, var(--st-held) 32%, transparent);      border-color: var(--st-held); }
.fp__swatch[data-status="reserved"]  { background: color-mix(in srgb, var(--st-reserved) 40%, transparent);  border-color: var(--st-reserved); }
.fp__swatch[data-status="selected"]  { background: var(--st-selected); border-color: var(--st-selected); }
.fp__swatch[data-status="room"]      { background: color-mix(in srgb, var(--nissa-navy) 42%, transparent);   border-color: var(--nissa-navy); }
.fp__swatch[data-status="vip"]       { background: color-mix(in srgb, var(--grid-yellow) 46%, transparent);  border-color: var(--grid-yellow); }

/* ── مسرح الرسم ──────────────────────────────── */
.fp__stage {
  grid-area: stage;
  position: relative;
  overflow: hidden;
  border-radius: var(--r);
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--nissa-navy) 12%, transparent), transparent 60%),
    var(--bg-2);
  border: 1px solid var(--line);
  touch-action: pan-y;                /* التمرير باللمس يبقى للصفحة قبل التكبير */
  cursor: grab;
}
.fp__stage.is-zoomed { touch-action: none; }   /* بعد التكبير: السحب لنا */
.fp__stage.is-panning { cursor: grabbing; }

/* الرسم شبه مربَّع (37 × 34.8 م)، فالحدّ الفعلي هو الارتفاع لا العرض.
   نرفع سقف الارتفاع ليستفيد المخطط من عرض الصفحة كاملاً بدل أن يبقى صغيراً. */
.fp-svg {
  display: block; width: 100%; height: auto;
  max-height: min(1180px, 116vh);
  transform: scale(var(--fp-zoom, 1)) translate(var(--fp-x, 0px), var(--fp-y, 0px));
  transform-origin: center center;
  transition: transform var(--t) var(--ease);
}
.fp__stage.is-panning .fp-svg { transition: none; }

/* الرسم يبقى LTR دائماً — المخطط المعماري لا يُقلب */
.fp-svg text { direction: ltr; }

/* ── أزرار التكبير: داخل الخريطة أسفل اليمين ─── */
.fp__zoom {
  position: absolute; z-index: 15;
  bottom: var(--sp-3); right: var(--sp-3);   /* موضع بصري ثابت في اللغتين */
  display: flex; flex-direction: column; gap: 1px;
  padding: 3px;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  box-shadow: var(--sh-3);
  backdrop-filter: blur(6px);
}
.fp__zoom-btn {
  inline-size: 36px; block-size: 36px;
  display: grid; place-items: center;
  border-radius: 6px;
  background: transparent; color: var(--text);
  font-size: 15px; line-height: 1;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.fp__zoom-btn:hover { background: var(--brand); color: var(--gold-ink); }
.fp__zoom-btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; }
.fp__zoom-btn--reset { font-size: 13px; color: var(--text-3); }
.fp__zoom-btn--reset:hover { color: var(--gold-ink); }

/* ── الطبقات الثابتة ─────────────────────────── */
.fp-grid-line {
  fill: none;
  stroke: color-mix(in srgb, var(--grid-yellow) 22%, transparent);
  stroke-width: .012;
}
:root[data-theme="light"] .fp-grid-line { stroke: color-mix(in srgb, #c9a227 30%, transparent); }

.fp-hall {
  fill: none;
  stroke: var(--accent);
  stroke-width: .14;
  vector-effect: non-scaling-stroke;
}
.fp-foyer {
  fill: color-mix(in srgb, var(--ly-green) 7%, transparent);
  stroke: color-mix(in srgb, var(--ly-green) 34%, transparent);
  stroke-width: .05;
  stroke-dasharray: .45 .3;
}

/* المنصة وشاشة البطولة */
.fp-stage {
  fill: color-mix(in srgb, #71beea 62%, transparent);
  stroke: #4a9fd4; stroke-width: .05;
}
.fp-screen {
  stroke: var(--text-2); stroke-width: .22;
  stroke-linecap: round; opacity: .85;
}
.fp-screen-label { fill: var(--text-2); font-size: .55px; }

/* المقاعد: الكتلة كاملة ثم صف VIP الأعلى فوقها */
.fp-seating {
  fill: color-mix(in srgb, var(--ly-green) 12%, transparent);
  stroke: #26ab4a; stroke-width: .06;
}
.fp-vip {
  fill: color-mix(in srgb, var(--grid-yellow) 30%, transparent);
  stroke: var(--grid-yellow); stroke-width: .06;
}
.fp-vip-label {
  font-size: .46px; font-weight: 700;
  fill: color-mix(in srgb, var(--grid-yellow) 72%, var(--text));
  letter-spacing: .05px;
}

.fp-aisle {
  stroke: var(--text-3); stroke-width: .07;
  stroke-dasharray: .7 .35; opacity: .55;
}
.fp-column { fill: var(--text-3); opacity: .5; }
.fp-wall {
  fill: none; stroke: var(--text-2);
  stroke-width: .16; stroke-linejoin: round; stroke-linecap: round;
}

/* ── شعارُ صاحب الجناح (UP-10 ع‑4) ────────────────
   ⚠️ **لا حدثَ للفأرة على الصورة**: المربّعُ كلُّه هو الهدفُ القابلُ للنقر،
   وصورةٌ فوقه تبتلع النقرَ فيصير جناحٌ عليه شعارٌ غيرَ قابلٍ للاختيار. */
.fp-booth-logo { pointer-events: none; }

/* لوحٌ فاتحٌ خلف الشعارات المرسومة للخلفيّة الفاتحة — وإلّا اختفى شعارٌ
   أسودُ على مربّعٍ داكن. و`plate` عمودٌ في `partners` يقوله صاحبُ الشعار. */
.fp-plate--light {
  /* الترشيحُ لا مستطيلٌ خلفه: مستطيلٌ يحتاج مقاسَ الصورة الحقيقيَّ وهو
     غيرُ معلومٍ للخادم، والترشيحُ يُبيِّض ما رُسم وحدَه. */
  filter: drop-shadow(0 0 .04px rgb(255 255 255 / .95))
          drop-shadow(0 0 .04px rgb(255 255 255 / .95));
}
.fp-plate--dark { filter: invert(1) brightness(1.6); }

/* الرمزُ يهبط إلى قدم المربّع حين يعلوه شعار — وأصغرُ قليلاً */
.fp-booth-id--foot { font-size: .42px; opacity: .85; }

/* الحاجز: متقطِّعٌ ثخين — فاصلٌ يوضَع ويُرفع، لا جدارَ بناء. وتقطيعُه
   أطولُ وأثخنُ من `fp-aisle` قصداً: الممرُّ مسارُ مشيٍ يُعبَر، والحاجزُ
   خطٌّ لا يُعبَر — وخطّان متقطِّعان متشابهان يعنيان معنيين لا يُفرَّق بينهما. */
.fp-barrier {
  fill: none; stroke: var(--text-2);
  stroke-width: .12; stroke-dasharray: .55 .32;
  stroke-linecap: round; opacity: .9;
}

/* الاستقبال: مِنضدةٌ مصمتةٌ بلون العلامة — تُقرأ موضعاً لا مَعبراً */
.fp-reception {
  fill: none; stroke: var(--brand);
  stroke-width: .22; stroke-linecap: round;
}
.fp-reception-label {
  font-size: .5px; font-weight: 700;
  fill: var(--brand); font-family: var(--font);
}

/* مخرج الطوارئ */
.fp-arrow-head  { fill: currentColor; }
.fp-exit-gap {
  stroke: var(--st-available); stroke-width: .2;
  stroke-linecap: round;
}
.fp-exit-arrow {
  stroke: var(--st-available); stroke-width: .09;
  color: var(--st-available);
  stroke-dasharray: .32 .2;
}
.fp-exit-label {
  font-size: .52px; font-weight: 700;
  fill: var(--st-available); font-family: var(--font);
}

/* ── النصوص ──────────────────────────────────── */
.fp-svg text {
  font-family: var(--font-num);
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
  user-select: none;
}
.fp-feature-label {
  font-size: .62px; font-weight: 700; fill: var(--text);
  font-family: var(--font);
}
.fp-zone-label {
  font-size: .68px; font-weight: 700; fill: var(--ly-green);
  font-family: var(--font); text-anchor: end;
}
.fp-zone-sub {
  font-size: .5px; font-weight: 600;
  fill: color-mix(in srgb, var(--ly-green) 78%, var(--text));
  font-family: var(--font); text-anchor: end;
}

/* ── الأجنحة ─────────────────────────────────── */
.fp-booth { cursor: pointer; outline: none; }
.fp-booth-rect {
  fill: color-mix(in srgb, var(--st-available) 22%, transparent);
  stroke: var(--st-available);
  stroke-width: .06;
  transition: fill var(--t-fast) var(--ease), stroke var(--t-fast) var(--ease),
              stroke-width var(--t-fast) var(--ease);
}
.fp-booth-id {
  font-size: .66px; font-weight: 700;
  fill: var(--text);
  transition: fill var(--t-fast) var(--ease);
}
.fp-booth-area { font-size: .4px; fill: var(--text-3); }
.fp-lock { fill: var(--st-reserved); opacity: .85; }

/* لونُ الوحدة يأتي من الوحدة نفسِها لا من نطاقٍ تنتمي إليه (UP-10):
   المُصيِّر يكتب --u على المجموعة، وفارغُه يرث لونَ النوع. */
.fp-booth[style*="--u"] .fp-booth-rect { stroke: color-mix(in srgb, var(--u) 78%, var(--st-available)); }

/* ── غرف البطولة (النطاق M) — للعرض فقط ─────── */
.fp-booth--room { cursor: default; pointer-events: auto; }
.fp-booth--room .fp-booth-rect {
  fill: color-mix(in srgb, var(--nissa-navy) 34%, transparent);
  stroke: color-mix(in srgb, var(--nissa-navy) 88%, var(--text));
  stroke-width: .07;
}
.fp-booth--room .fp-booth-id { fill: var(--text); font-size: .6px; }
.fp-room-tag {
  font-size: .38px; font-weight: 600;
  fill: color-mix(in srgb, var(--nissa-navy) 55%, var(--text));
  font-family: var(--font);
}
/* ⚠️ غرفةٌ باسم فريقٍ تتميَّز عن الغرفة الشاغرة (م35): كانت العشرُ
   تحمل الوسمَ نفسَه فلا يُعرف المشغولُ من الخالي بنظرةٍ واحدة. */
.fp-room-tag--team {
  font-weight: 700;
  fill: var(--brand);
}
:root[data-theme="light"] .fp-booth--room .fp-booth-rect {
  fill: color-mix(in srgb, var(--nissa-navy) 18%, transparent);
}
.fp-booth--room:hover .fp-booth-rect {
  fill: color-mix(in srgb, var(--nissa-navy) 46%, transparent);
}

/* حالات — كل حالة لها لون ونمط، لا لبس بينها */
.fp-booth[data-status="held"] .fp-booth-rect {
  fill: color-mix(in srgb, var(--st-held) 26%, transparent);
  stroke: var(--st-held); stroke-dasharray: .3 .18;
}
.fp-booth[data-status="reserved"] {
  cursor: not-allowed;
}
.fp-booth[data-status="reserved"] .fp-booth-rect {
  fill: color-mix(in srgb, var(--st-reserved) 34%, transparent);
  stroke: var(--st-reserved);
}
.fp-booth[data-status="reserved"] .fp-booth-id,
.fp-booth[data-status="reserved"] .fp-booth-area { fill: var(--text-3); }

/* تحويم وتركيز */
.fp-booth[data-status="available"]:hover .fp-booth-rect,
.fp-booth[data-status="available"]:focus-visible .fp-booth-rect {
  fill: color-mix(in srgb, var(--st-available) 46%, transparent);
  stroke-width: .11;
}
.fp-booth:focus-visible .fp-booth-rect {
  stroke: var(--brand); stroke-width: .13;
}

/* مُختار */
.fp-booth.is-selected .fp-booth-rect {
  fill: color-mix(in srgb, var(--st-selected) 55%, transparent);
  stroke: var(--st-selected); stroke-width: .13;
}
.fp-booth.is-selected .fp-booth-id { fill: #fff; }
.fp-booth.is-selected .fp-booth-area { fill: rgb(255 255 255 / .8); }


/* ── القفل أثناء التسجيل ─────────────────────── */
/* المقفل هو الاختيار وحده: التكبير والسحب والتلميح تبقى كلها تعمل.
   المختار يبقى ساطعاً وما حوله يتراجع، فالخريطة تقول حالها بلا نص. */
.fp__stage.is-locked { cursor: default; }
.fp__stage.is-locked .fp-booth { cursor: default; }
.fp__stage.is-locked .fp-booth:not(.is-selected) { opacity: .4; }
.fp__stage.is-locked .fp-booth.is-selected .fp-booth-rect { stroke-width: .16; }
/* لا تحويم يوحي بأن النقر يُغيِّر شيئاً */
.fp__stage.is-locked .fp-booth[data-status="available"]:hover .fp-booth-rect {
  fill: color-mix(in srgb, var(--st-available) 22%, transparent);
  stroke-width: .06;
}
.fp__stage.is-locked .fp-booth.is-selected:hover .fp-booth-rect {
  fill: color-mix(in srgb, var(--st-selected) 55%, transparent);
  stroke-width: .16;
}

/* الشريط في وسط أعلى الخريطة — موضع فيزيائي ليتوسَّط في اللغتين */
.fp__lock {
  position: absolute; z-index: 16;
  top: var(--sp-3); left: 50%;
  transform: translate(-50%, 0);
  display: flex; align-items: center; gap: var(--sp-2);
  max-inline-size: calc(100% - var(--sp-6));
  padding: var(--sp-2) var(--sp-3);
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  box-shadow: var(--sh-3);
  backdrop-filter: blur(6px);
  font-size: var(--fs-xs); font-weight: 600; color: var(--text-2);
}
.fp__lock > i { color: var(--st-held); }
.fp__lock-btn {
  display: inline-flex; align-items: center; gap: var(--sp-1);
  padding: 3px var(--sp-3);
  border-radius: var(--r-pill);
  background: linear-gradient(135deg, var(--lic-gold-lt), var(--lic-gold));
  color: var(--gold-ink);
  font-size: var(--fs-xs); font-weight: 700;
  cursor: pointer;
  box-shadow: 0 6px 18px -10px color-mix(in srgb, var(--lic-gold) 80%, transparent);
}
.fp__lock-btn:hover { box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--lic-gold) 90%, transparent); }
.fp__lock-btn:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }

/* نقرة على خريطة مقفلة: الشريط يُبرِز نفسه بدل أن تُهمَل النقرة صمتاً */
@keyframes fp-lock-pulse {
  0%, 100% { transform: translate(-50%, 0) scale(1); }
  35%      { transform: translate(-50%, 0) scale(1.07); }
}
.fp__lock.is-pulse {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 26%, transparent);
  animation: fp-lock-pulse .42s var(--ease) 2;
}
@media (prefers-reduced-motion: reduce) {
  .fp__lock.is-pulse { animation: none; }
}

/* ── التلميح (داخل المسرح) ───────────────────── */
.fp__tip {
  position: absolute; z-index: 20;
  padding: var(--sp-2) var(--sp-3);
  background: var(--bg); border: 1px solid var(--line-2);
  border-radius: var(--r-sm); box-shadow: var(--sh-3);
  font-size: var(--fs-xs); line-height: 1.6;
  pointer-events: none; white-space: nowrap;
  transform: translate(-50%, -120%);
}
.fp__tip.is-below { transform: translate(-50%, 24%); }
.fp__tip strong { display: block; font-family: var(--font-num); font-size: var(--fs-sm); }
.fp__tip span { color: var(--text-3); }

/* ── سلة الاختيار ────────────────────────────── */
.fp__cart {
  grid-area: cart;
  display: flex; flex-direction: column; gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--bg-2); border: 1px solid var(--line);
  border-radius: var(--r);
  align-self: start;
  position: sticky; inset-block-start: calc(var(--header-h) + var(--sp-4));
}
@media (max-width: 940px) { .fp__cart { position: static; } }

/* رسالة نتيجة الإرسال تُعرض داخل السلة، فلا تحتاج هامشاً أسفلها */
.fp__cart .alert { margin-block-end: 0; font-size: var(--fs-xs); padding: var(--sp-3) var(--sp-4); }

/* خطوتان في المربَّع نفسه: الاختيار ثم التسجيل */
.fp__step { display: flex; flex-direction: column; gap: var(--sp-3); }

.fp__cart-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.fp__cart-head h3 { font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .08em; color: var(--text-3); }
.fp__cart-body { display: flex; flex-direction: column; gap: var(--sp-3); }
.fp__cart-empty { font-size: var(--fs-sm); color: var(--text-3); }

/* باقة الرعاية داخل السلة — تحدِّد النطاق المؤهَّل والمساحة المستحقة */
.fp__pkg select { font-size: var(--fs-sm); padding: var(--sp-2) var(--sp-3); }
.fp__pkg-meta {
  font-family: var(--font-num); font-size: var(--fs-xs);
  color: var(--text-3);
}

.fp__chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.fp__chip {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  padding: var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3);
  background: var(--surface-2); border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  font-family: var(--font-num); font-size: var(--fs-xs); font-weight: 700;
}
[dir="rtl"] .fp__chip { padding: var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-2); }
.fp__chip small { color: var(--text-3); font-weight: 400; }
.fp__chip button {
  inline-size: 18px; block-size: 18px;
  display: grid; place-items: center; border-radius: 50%;
  background: var(--surface-2); color: var(--text-3); font-size: 10px;
}
/* إزالة جناح تراجعٌ لا إقدام: رمادي لا أحمر، كزر «مسح الاختيار» */
.fp__chip button:hover { background: var(--surface-2); color: var(--text); }

.fp__cart-foot {
  display: flex; flex-direction: column; gap: var(--sp-3);
  padding-block-start: var(--sp-3);
  border-block-start: 1px dashed var(--line);
}
.fp__sum { font-size: var(--fs-sm); color: var(--text-2); }
.fp__sum strong { font-family: var(--font-num); font-size: var(--fs-lg); color: var(--text); }

/* الرسالة الوحيدة في السلة: تظهر رداً على ضغط زر التأكيد ثم تختفي */
.fp__msg {
  display: flex; align-items: flex-start; gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  background: color-mix(in srgb, var(--st-held) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--st-held) 40%, transparent);
  border-radius: var(--r-sm);
  font-size: var(--fs-xs); font-weight: 600; color: var(--st-held);
}

/* ── خطوة التسجيل داخل السلة ─────────────────── */
.fp__recap {
  display: flex; flex-direction: column; gap: var(--sp-2);
  padding: var(--sp-3);
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-size: var(--fs-xs);
}
.fp__recap li { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); }
.fp__recap span   { color: var(--text-3); }
.fp__recap strong { font-family: var(--font-num); color: var(--text); text-align: end; }
/* اسم الباقة نصٌّ لا رقم: Space Grotesk لا يحمل العربية فتتفكَّك حروفها */
.fp__recap strong#fpRecapPkg { font-family: var(--font); }

/* النموذج في عمود ضيِّق: حقلان جنباً إلى جنب عند اتِّساعه فقط */
.fp__step--reg .form { gap: var(--sp-4); }
.fp__step--reg .form__grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-3); }
.fp__step--reg .field label { font-size: var(--fs-xs); }
.fp__step--reg .check { font-size: var(--fs-xs); }

/* ── الطباعة ─────────────────────────────────── */
@media print {
  .site-header, .site-footer, .to-top, .fp__toolbar, .fp__cart, .fp__zoom, .fp__lock, .preloader { display: none !important; }
  .fp-full { padding: 0; }
  .fp { border: 0; padding: 0; grid-template-columns: 1fr; grid-template-areas: 'stage'; }
  .fp-svg { transform: none !important; max-height: none; }
}
