/**
 * Template-uri interfață client — clase pe #clientPage.
 * Mobil-first 414×896; nu modifică ID-uri / data-action.
 */

/* Template-urile setează display:flex pe #clientPage — trebuie ascuns când nu e pagina activă */
#clientPage.client-premium-ui.page:not(.visible) {
  display: none !important;
  pointer-events: none !important;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-module-card__chevron,
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-module-card__subtitle,
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-cta__subtitle,
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-cta__text {
  display: contents;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-module-card__subtitle,
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-cta__subtitle,
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal) .client-premium-module-card__chevron {
  display: none !important;
}

/* Recenzie simplă — teme cu layout compact (excl. Elegant, Dynamic, Future, Connect, Minimal, Standard) */
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) #clientElegantReviewStack {
  display: none !important;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head .client-premium-module-card__chevron {
  display: none !important;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head .client-premium-module-card__subtitle,
#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head #clientReviewCardSubtitle {
  display: none !important;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head {
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
  gap: 6px !important;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head .client-premium-module-card__icon {
  display: flex !important;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head .client-premium-module-card__titles {
  align-items: center !important;
  justify-content: center !important;
  width: auto;
  height: auto;
  flex: 0 1 auto;
}

#clientPage:not(.template-elegant):not(.template-dynamic):not(.template-future):not(.template-connect):not(.template-alfa):not(.template-minimal):not(.template-standard) .feedback-button.client-premium-review-head .feedback-title {
  width: auto;
  text-align: center;
  font-weight: 700;
}

#clientPage:not(.template-elegant) #clientElegantReviewStack {
  display: none !important;
}

#clientPage:not(.template-elegant) #clientElegantSocialSection,
#clientPage:not(.template-elegant) .client-elegant-social-section {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage:not(.template-connect):not(.template-alfa) #clientConnectSocialHint,
#clientPage:not(.template-connect):not(.template-alfa) .client-connect-header-hint {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#clientPage:not(.template-connect):not(.template-alfa) .client-template-header__slogan {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* —— Header Elegant (ascuns implicit) —— */
#clientPage .client-template-header {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

#clientPage.template-elegant .client-template-header {
  display: flex;
}

#clientPage .client-template-header__brand {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.65rem, 7vw, 2.1rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #f5e6c8;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

#clientPage .client-template-header__slogan {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.72);
}

/* —— ELEGANT —— branding premium, aerisit —— */
#clientPage.template-elegant.client-premium-ui {
  --tpl-elegant-gap: 14px;
  --tpl-elegant-promo-h: 68px;
  --tpl-elegant-campaign-h: 68px;
  --tpl-elegant-fab-h: 62px;
  --tpl-elegant-logo: 84px;
  --tpl-elegant-menu-logo: 92px;
  --tpl-gold: #f5e6c8;
  --tpl-gold-dim: rgba(245, 230, 200, 0.78);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100dvh;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    calc(env(safe-area-inset-top, 0px) + 10px)
    calc(env(safe-area-inset-right, 0px) + 16px)
    calc(env(safe-area-inset-bottom, 0px) + 8px)
    calc(env(safe-area-inset-left, 0px) + 16px);
  box-sizing: border-box;
}

/* Elegant: flux vertical — fără fixed din client-premium-ui */
#clientPage.template-elegant.client-premium-ui .client-premium-center-cta,
#clientPage.template-elegant.client-premium-ui .client-premium-bottom-dock {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:has(#clientPage.template-elegant.visible) #bgContainer::after {
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.42) 0%,
      rgba(0, 0, 0, 0.08) 38%,
      rgba(0, 0, 0, 0.12) 62%,
      rgba(0, 0, 0, 0.68) 100%
    );
}

#clientPage.template-elegant .client-public-brand-logo {
  display: none !important;
}

#clientPage.template-elegant .client-premium-stage,
#clientPage.template-elegant .client-hero-actions {
  display: contents !important;
}

/* Ordine: Oferte → Social → [spațiu] → Campanie → Meniu|Recenzie → FAB */
#clientPage.template-elegant #clientPremiumSectionPromo,
#clientPage.template-elegant .client-premium-hero-section[data-hero-section='promo'] {
  order: 1;
  width: 100%;
  flex-shrink: 0;
  pointer-events: auto;
  z-index: 2810;
}

/* Spațiu sub header fix (logo + social) */
#clientPage.template-elegant:has(.client-elegant-top-chrome) #clientPremiumSectionPromo,
#clientPage.template-elegant:has(.client-elegant-top-chrome) .client-premium-hero-section[data-hero-section='promo'] {
  margin-top: calc(var(--tpl-elegant-logo, 84px) + 6px);
}

#clientPage.template-elegant .client-elegant-social-section {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage.template-elegant .client-template-header {
  display: none !important;
  order: -1;
  height: 0;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

/* Elegant: logo stânga + social dreapta (fixat sus) */
#clientPage.template-elegant .client-template-header.client-elegant-top-chrome {
  display: flex !important;
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  left: calc(env(safe-area-inset-left, 0px) + 12px);
  right: calc(env(safe-area-inset-right, 0px) + 12px);
  width: auto;
  height: auto;
  overflow: visible;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
  z-index: 2825;
  background: transparent;
  border: none;
  box-shadow: none;
}

#clientPage.template-elegant .client-elegant-top-chrome .client-template-header__top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  gap: 10px;
  pointer-events: none;
}

#clientPage.template-elegant .client-elegant-top-chrome .client-template-header__brand-wrap {
  justify-content: flex-start;
  width: auto;
  flex: 0 0 auto;
  pointer-events: auto;
}

#clientPage.template-elegant .client-elegant-top-chrome .client-template-header__social {
  justify-content: flex-end;
  align-items: flex-start;
  width: auto;
  flex: 0 0 auto;
  gap: 10px;
  pointer-events: auto;
}

#clientPage.template-elegant .client-elegant-top-chrome .client-template-header__slogan {
  display: none !important;
}

#clientPage.template-elegant .client-template-header__logo.client-elegant-top-chrome__logo-ph {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #555;
  background: rgba(255, 255, 255, 0.96);
}

#clientPage.template-elegant .client-premium-center-cta {
  order: 3;
  margin-top: auto !important;
  flex-shrink: 0;
  display: flex !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100%;
  max-width: none;
  padding: 0;
  pointer-events: auto;
  z-index: 2812;
}

#clientPage.template-elegant #clientPremiumSectionDuo,
#clientPage.template-elegant .client-premium-duo {
  order: 4;
  width: 100%;
  flex-shrink: 0;
  margin-top: var(--tpl-elegant-gap);
  pointer-events: auto;
  z-index: 2812;
}

#clientPage.template-elegant .client-premium-bottom-dock {
  order: 5;
  flex-shrink: 0;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100%;
  max-width: none;
  margin-top: var(--tpl-elegant-gap);
  padding: 0 0 env(safe-area-inset-bottom, 0px);
  pointer-events: auto;
  z-index: 2815;
}

/* Header: logo centrat + social dedesubt */
#clientPage.template-elegant .client-template-header__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
}

#clientPage.template-elegant .client-template-header__brand-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

#clientPage.template-elegant .client-template-header__brand {
  display: none !important;
}

#clientPage.template-elegant .client-template-header__logo {
  width: var(--tpl-elegant-logo);
  height: var(--tpl-elegant-logo);
  min-width: var(--tpl-elegant-logo);
  min-height: var(--tpl-elegant-logo);
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  object-fit: contain;
  object-position: center center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.96);
  padding: 6px;
  box-sizing: border-box;
  border: 1px solid rgba(212, 175, 90, 0.45);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

#clientPage.template-elegant .client-template-header__social {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
}

#clientPage.template-elegant .client-template-header__social-link,
#clientPage.template-elegant .client-template-header__social-sep {
  display: none !important;
}

#clientPage.template-elegant .client-template-header__social-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.38);
  color: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0;
  overflow: hidden;
  box-sizing: border-box;
}

#clientPage.template-elegant .client-template-header__social-btn--facebook {
  background: #1877f2 !important;
  border-color: rgba(120, 190, 255, 0.45) !important;
  color: #fff !important;
}

#clientPage.template-elegant .client-template-header__social-btn--instagram {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%) !important;
  border-color: rgba(255, 180, 220, 0.42) !important;
  color: #fff !important;
}

#clientPage.template-elegant .client-template-header__social-btn--tiktok {
  background: #010101 !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.38),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

#clientPage.template-elegant .client-template-header__social-btn svg {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  flex-shrink: 0;
  fill: currentColor;
  filter: none;
  opacity: 1;
}

#clientPage.template-elegant .client-template-header__social-btn:active {
  opacity: 0.82;
  transform: scale(0.96);
}

#clientPage.template-elegant .client-template-header__slogan {
  display: none !important;
}

/* Card Social Media — imediat sub Oferte */
#clientPage.template-elegant .client-elegant-social-card {
  width: 100%;
  padding: 14px 16px 16px;
  border-radius: 18px;
  background: rgba(18, 14, 8, 0.78);
  border: 1px solid rgba(212, 175, 90, 0.42);
  box-shadow:
    0 10px 32px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 220, 150, 0.12);
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  box-sizing: border-box;
}

#clientPage.template-elegant .client-elegant-social-card__title {
  margin: 0 0 12px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--tpl-gold);
  text-align: center;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.65);
  line-height: 1.25;
}

#clientPage.template-elegant .client-elegant-social-card__row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(12px, 5vw, 24px);
  width: 100%;
}

#clientPage.template-elegant .client-elegant-social-card__item {
  flex: 1 1 0;
  min-width: 0;
  max-width: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  color: rgba(245, 230, 200, 0.92);
}

#clientPage.template-elegant .client-elegant-social-card__item:active {
  opacity: 0.82;
  transform: scale(0.96);
}

#clientPage.template-elegant .client-elegant-social-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32);
  flex-shrink: 0;
}

#clientPage.template-elegant .client-elegant-social-card__item--instagram .client-elegant-social-card__icon {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%) !important;
  border-color: rgba(255, 180, 220, 0.42) !important;
  color: #fff !important;
}

#clientPage.template-elegant .client-elegant-social-card__item--facebook .client-elegant-social-card__icon {
  background: #1877f2 !important;
  border-color: rgba(120, 190, 255, 0.45) !important;
  color: #fff !important;
}

#clientPage.template-elegant .client-elegant-social-card__item--tiktok .client-elegant-social-card__icon {
  background: #010101 !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.38),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

#clientPage.template-elegant .client-elegant-social-card__icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

#clientPage.template-elegant .client-elegant-social-card__label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  line-height: 1.2;
  color: rgba(245, 230, 200, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

#clientPage.template-elegant #socialIconsBar,
#clientPage.template-elegant .social-icons-bar {
  display: none !important;
}

#clientPage.template-elegant #layoutBlockLoyalty,
#clientPage.template-elegant #layoutBlockEvent,
#clientPage.template-elegant #layoutBlockRules {
  display: none !important;
}

/* Oferte — card premium auriu, sus */
#clientPage.template-elegant .client-promo-gallery-trigger,
#clientPage.template-elegant .client-premium-banner {
  width: 100%;
  min-height: var(--tpl-elegant-promo-h) !important;
  height: auto !important;
  max-height: none !important;
  padding: 12px 16px !important;
  border-radius: 18px !important;
  background: rgba(24, 18, 8, 0.72) !important;
  border: 1px solid rgba(212, 175, 90, 0.48) !important;
  box-shadow:
    0 10px 32px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 220, 150, 0.16) !important;
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
}

#clientPage.template-elegant .client-premium-banner__icon {
  background: rgba(212, 175, 90, 0.22) !important;
  color: var(--tpl-gold) !important;
  border-radius: 12px;
  border: 1px solid rgba(212, 175, 90, 0.35);
}

#clientPage.template-elegant .client-premium-banner__title {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--tpl-gold);
  letter-spacing: 0.03em;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.65);
  line-height: 1.2;
}

#clientPage.template-elegant .client-premium-banner__subtitle {
  display: block !important;
  font-size: 12px;
  font-weight: 500;
  color: rgba(245, 230, 200, 0.92);
  line-height: 1.35;
  letter-spacing: 0.02em;
  margin-top: 2px;
}

/* Campanie — verde glass */
#clientPage.template-elegant #layoutBlockCampaign {
  display: flex !important;
  width: 100%;
}

#clientPage.template-elegant #triesCounter {
  display: none !important;
}

#clientPage.template-elegant .client-premium-cta.oval-button,
#clientPage.template-elegant #playBtn.client-premium-cta {
  width: 100%;
  min-height: var(--tpl-elegant-campaign-h) !important;
  height: var(--tpl-elegant-campaign-h) !important;
  padding: 0 14px !important;
  border-radius: 18px !important;
  background: var(--campaign-btn-bg, rgba(16, 80, 45, 0.72)) !important;
  border: 1px solid color-mix(in srgb, var(--campaign-btn-bg, #4ade80) 45%, transparent) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
  animation: clientPremiumCtaPulse 1.8s ease-in-out infinite !important;
  transform-origin: center center;
  justify-content: flex-start !important;
  gap: 10px !important;
}

#clientPage.template-elegant .client-premium-cta__icon {
  background: rgba(34, 197, 94, 0.3) !important;
  color: #86efac !important;
  border-radius: 10px;
  flex-shrink: 0;
}

#clientPage.template-elegant .client-premium-cta__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

#clientPage.template-elegant .client-premium-cta__label {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700;
  text-align: left;
  line-height: 1.15;
}

#clientPage.template-elegant .client-premium-cta__subtitle {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.2;
  text-align: left;
}

#clientPage.template-elegant .client-premium-cta__chevron {
  color: rgba(255, 255, 255, 0.85) !important;
  flex-shrink: 0;
}

/* Meniu | Recenzie — carduri pătrate */
#clientPage.template-elegant .client-premium-duo {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: var(--tpl-elegant-gap);
}

#clientPage.template-elegant .client-premium-card--menu,
#clientPage.template-elegant .client-premium-card--review {
  aspect-ratio: 1 / 1;
  min-height: 0;
  height: auto;
}

#clientPage.template-elegant .client-premium-review__body,
#clientPage.template-elegant .client-premium-review__divider,
#clientPage.template-elegant .client-premium-review__social-block,
#clientPage.template-elegant .client-premium-review__thanks {
  display: none !important;
}

#clientPage.template-elegant .client-premium-duo-card {
  padding: 0 !important;
  gap: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 20px !important;
}

#clientPage.template-elegant .client-premium-menu-shell.client-premium-duo-card {
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
  background: rgba(120, 60, 20, 0.62) !important;
  border: 1px solid rgba(255, 160, 70, 0.4) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
  overflow: hidden;
}

#clientPage.template-elegant .location-menu-btn.client-premium-menu-head {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto;
  padding: 10px 10px 4px !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-menu__body,
#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__body.client-premium-menu__body {
  display: flex !important;
  flex: 1 1 auto;
  min-height: 0;
  align-items: center;
  justify-content: center;
  padding: 0 10px 12px;
  cursor: pointer;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__logo-glass {
  width: min(92%, var(--tpl-elegant-menu-logo)) !important;
  height: min(92%, var(--tpl-elegant-menu-logo)) !important;
  max-width: var(--tpl-elegant-menu-logo) !important;
  max-height: var(--tpl-elegant-menu-logo) !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  margin: 0 auto;
  border-radius: 16px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__logo {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__subtitle {
  display: none !important;
}

#clientPage.template-elegant.client-premium-ui .feedback-button.client-premium-review-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  padding: 10px 8px !important;
  border-radius: 20px !important;
  gap: 4px !important;
  text-align: center;
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

#clientPage.template-elegant.client-premium-ui .client-premium-review-shell--no-feedback .client-premium-review-head {
  display: flex !important;
}

#clientPage.template-elegant .client-premium-review-shell.client-premium-duo-card {
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden;
}

#clientPage.template-elegant .feedback-button.client-premium-review-head #clientElegantReviewStack {
  display: flex !important;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-menu-head {
  background: transparent !important;
  border: none !important;
}

#clientPage.template-elegant .client-premium-card--review .client-premium-review-head {
  background: rgba(28, 32, 48, 0.68) !important;
  border: 1px solid rgba(160, 180, 220, 0.38) !important;
}

#clientPage.template-elegant .client-premium-card--review .client-premium-module-card__icon {
  display: flex !important;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  margin: 0 auto 2px;
  color: var(--tpl-gold) !important;
  filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.45));
}

#clientPage.template-elegant .client-premium-card--review .client-premium-module-card__icon .client-premium-svg {
  width: 20px;
  height: 20px;
}

#clientPage.template-elegant .client-premium-card--review .feedback-title,
#clientPage.template-elegant .client-premium-card--review .client-premium-module-card__chevron {
  display: none !important;
}

#clientPage.template-elegant .client-premium-module-card__titles {
  height: auto !important;
  min-height: 0 !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px !important;
  width: 100%;
}

#clientPage.template-elegant .client-elegant-review__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  min-height: 0;
  text-align: center;
  gap: 3px;
}

#clientPage.template-elegant .client-elegant-review__stack > * {
  display: block;
  width: 100%;
  max-width: 100%;
}

#clientPage.template-elegant .client-elegant-review__title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

#clientPage.template-elegant .client-elegant-review__hint {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.35;
  padding: 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

#clientPage.template-elegant .client-elegant-review--has-stats .client-premium-module-card__icon {
  display: none !important;
}

#clientPage.template-elegant .client-elegant-review__rating,
#clientPage.template-elegant .client-elegant-review__stars,
#clientPage.template-elegant .client-elegant-review__count {
  flex-shrink: 0;
}

#clientPage.template-elegant .client-elegant-review__rating {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
  margin-top: 6px;
}

#clientPage.template-elegant .client-elegant-review__stars {
  font-size: 14px;
  line-height: 1;
  letter-spacing: 3px;
  color: var(--tpl-gold);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
  margin-top: 4px;
}

#clientPage.template-elegant .client-elegant-review__count {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.96);
  line-height: 1.25;
  margin-top: 4px;
}

#clientPage.template-elegant .client-elegant-review__message {
  margin-top: auto;
  padding: 8px 8px 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 11px;
  font-style: italic;
  font-weight: 500;
  color: rgba(245, 230, 200, 0.95);
  line-height: 1.4;
  text-align: center;
  max-width: 100%;
  white-space: pre-line;
  overflow: hidden;
  display: block;
}

/* Elegant — popup-uri deasupra UI client (z-index 2800+) */
#clientPage.template-elegant .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-elegant .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

#clientPage.template-elegant #wifiPopup .popup-inner,
#clientPage.template-elegant #locationHoursPopup .popup-inner,
#clientPage.template-elegant #locationMapPopup .popup-inner,
#clientPage.template-elegant #reservationPopup .popup-inner,
#clientPage.template-elegant #feedbackPopup .popup-inner,
#clientPage.template-elegant #externalActionPopup .popup-inner {
  background: rgba(18, 14, 8, 0.96) !important;
  color: #f5f5f5;
  border: 1px solid rgba(212, 175, 90, 0.42) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 220, 150, 0.1) !important;
}

#clientPage.template-elegant .popup-close,
#clientPage.template-elegant .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(212, 175, 90, 0.48) !important;
  color: var(--tpl-gold) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 3;
  transform: none !important;
  pointer-events: auto;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-elegant .popup-close:hover,
#clientPage.template-elegant .popup-close:active,
#clientPage.template-elegant .contact-popup-close:hover,
#clientPage.template-elegant .contact-popup-close:active {
  background: rgba(0, 0, 0, 0.94) !important;
  border-color: rgba(212, 175, 90, 0.72) !important;
  color: #fff !important;
  transform: scale(0.94) !important;
}

#clientPage.template-elegant .client-promo-gallery-overlay {
  z-index: 2920 !important;
  pointer-events: auto !important;
}

#clientPage.template-elegant .client-promo-gallery-overlay__panel {
  background: rgba(18, 14, 8, 0.96) !important;
  border: 1px solid rgba(212, 175, 90, 0.42) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 220, 150, 0.1) !important;
}

#clientPage.template-elegant .client-promo-gallery-overlay__close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(212, 175, 90, 0.48) !important;
  color: var(--tpl-gold) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 2;
  pointer-events: auto;
}

body.popup-open #clientPage.template-elegant .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-elegant .client-premium-bottom-dock,
body.popup-open #clientPage.template-elegant .client-premium-center-cta,
body.client-promo-gallery-open #clientPage.template-elegant .client-premium-center-cta,
body.popup-open #clientPage.template-elegant #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-elegant #clientPremiumSectionDuo,
body.popup-open #clientPage.template-elegant #clientPremiumSectionPromo,
body.client-promo-gallery-open #clientPage.template-elegant #clientPremiumSectionPromo,
body.popup-open #clientPage.template-elegant .client-elegant-social-section,
body.client-promo-gallery-open #clientPage.template-elegant .client-elegant-social-section,
body.popup-open #clientPage.template-elegant .client-template-header,
body.client-promo-gallery-open #clientPage.template-elegant .client-template-header {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-elegant .client-premium-card--review .client-premium-module-card__subtitle,
#clientPage.template-elegant .client-premium-card--review #clientReviewCardSubtitle {
  display: none !important;
}

#clientPage.template-elegant .client-premium-module-card__title,
#clientPage.template-elegant .location-menu-btn__text {
  height: auto !important;
  min-height: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.15 !important;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__subtitle {
  display: block;
  font-size: 9px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__chevron {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin-left: auto;
  color: rgba(255, 255, 255, 0.75);
  display: flex !important;
  align-items: center;
  justify-content: center;
}

#clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__chevron .client-premium-svg {
  width: 14px;
  height: 14px;
}

/* FAB-uri — stil premium ca Ofertele (dark/glass + auriu) */
#clientPage.template-elegant .client-premium-fab-bar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--tpl-elegant-gap);
  width: 100%;
}

/* Ordine FAB Elegant: WiFi · Comenzi · Program · Locație */
#clientPage.template-elegant #clientWifiFab {
  order: 1;
}

#clientPage.template-elegant #clientReservationFab {
  order: 2;
}

#clientPage.template-elegant #clientLocationHoursFab {
  order: 3;
}

#clientPage.template-elegant #clientLocationMapFab {
  order: 4;
}

#clientPage.template-elegant .client-premium-fab {
  min-height: var(--tpl-elegant-fab-h);
  height: var(--tpl-elegant-fab-h);
  padding: 7px 4px 5px;
  border-radius: 16px;
  background: rgba(24, 18, 8, 0.72) !important;
  border: 1px solid rgba(212, 175, 90, 0.48) !important;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 220, 150, 0.12) !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

#clientPage.template-elegant .client-premium-fab__text {
  display: block;
}

#clientPage.template-elegant .client-premium-fab__title {
  font-size: 9px;
  font-weight: 700;
  color: var(--tpl-gold) !important;
  text-align: center;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
  letter-spacing: 0.01em;
}

#clientPage.template-elegant .client-premium-fab__icon {
  width: 22px;
  height: 22px;
  color: var(--tpl-gold) !important;
  opacity: 1;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.45));
}

#clientPage.template-elegant.ai-live-edit-active .ai-live-block-controls {
  display: none !important;
}


/* —— MODERN (layout separat) —— */
#clientPage.template-modern.client-premium-ui {
  --tpl-accent: #43c047;
  --tpl-modern-card-bg: rgba(255, 255, 255, 0.14);
  --tpl-modern-card-border: rgba(255, 255, 255, 0.28);
  --tpl-modern-promo-h: 58px;
  --tpl-modern-action-h: 52px;
  --tpl-modern-duo-h: 50px;
  --tpl-modern-fab-h: 56px;
  --tpl-modern-gap: 8px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100dvh;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    calc(env(safe-area-inset-top, 0px) + 8px)
    calc(env(safe-area-inset-right, 0px) + 14px)
    calc(env(safe-area-inset-bottom, 0px) + 6px)
    calc(env(safe-area-inset-left, 0px) + 14px);
  box-sizing: border-box;
}

body:has(#clientPage.template-modern.visible) #bgContainer::after {
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.06) 0%,
      rgba(8, 12, 20, 0.12) 40%,
      rgba(8, 12, 20, 0.28) 68%,
      rgba(8, 12, 20, 0.62) 100%
    );
}

#clientPage.template-modern .client-premium-stage {
  display: contents !important;
}

#clientPage.template-modern .client-hero-actions {
  display: contents !important;
}

/* 1. Header: jumătate stânga brand, jumătate dreapta social + slogan */
#clientPage.template-modern .client-template-header {
  order: 1;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  column-gap: 8px;
  row-gap: 4px;
  align-items: center;
  width: 100%;
  padding: 0 0 var(--tpl-modern-gap);
  pointer-events: auto;
  z-index: 2820;
}

#clientPage.template-modern .client-template-header__top {
  display: contents;
}

#clientPage.template-modern .client-template-header__brand-wrap {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  align-self: center;
}

#clientPage.template-modern .client-template-header__logo {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

#clientPage.template-modern .client-template-header__brand {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.35rem, 6.2vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  line-height: 1.1;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

#clientPage.template-modern .client-template-header__social {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 3vw, 14px);
  width: 100%;
}

#clientPage.template-modern .client-template-header__social-btn {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

#clientPage.template-modern .client-template-header__social-btn svg {
  width: 17px;
  height: 17px;
}

#clientPage.template-modern .client-template-header__slogan {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#clientPage.template-modern #socialIconsBar,
#clientPage.template-modern .social-icons-bar {
  display: none !important;
}

/* 2. Oferte — sub header */
#clientPage.template-modern #clientPremiumSectionPromo,
#clientPage.template-modern .client-premium-hero-section[data-hero-section='promo'] {
  order: 2;
  flex: 0 0 auto;
  width: 100%;
  pointer-events: auto;
  z-index: 2810;
}

#clientPage.template-modern #layoutBlockPromo {
  width: 100%;
}

#clientPage.template-modern .client-promo-gallery-trigger,
#clientPage.template-modern .client-premium-banner {
  width: 100%;
  min-height: var(--tpl-modern-promo-h) !important;
  max-height: var(--tpl-modern-promo-h) !important;
  height: var(--tpl-modern-promo-h) !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
  background: var(--tpl-modern-card-bg) !important;
  border: 1px solid var(--tpl-modern-card-border) !important;
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

#clientPage.template-modern .client-premium-banner__title {
  font-size: 14px;
  font-weight: 700;
}

#clientPage.template-modern .client-premium-banner__subtitle {
  font-size: 11px;
  opacity: 0.82;
}

/* 3. Campanie — deasupra Meniu/Recenzie, centru liber deasupra */
#clientPage.template-modern .client-premium-center-cta {
  order: 3;
  margin-top: auto;
  display: flex !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  flex: 0 0 auto;
  width: 100%;
  padding: 0;
  pointer-events: auto;
  z-index: 2812;
}

#clientPage.template-modern #layoutBlockCampaign {
  display: flex !important;
  width: 100%;
}

#clientPage.template-modern #triesCounter {
  display: none !important;
}

#clientPage.template-modern .client-premium-cta.oval-button,
#clientPage.template-modern #playBtn.client-premium-cta {
  width: 100%;
  min-height: var(--tpl-modern-action-h) !important;
  max-height: var(--tpl-modern-action-h) !important;
  height: var(--tpl-modern-action-h) !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  font-size: 14px !important;
  font-weight: 700;
  background: var(--campaign-btn-bg, linear-gradient(135deg, #22c55e 0%, #16a34a 55%, #15803d 100%)) !important;
  border: 1px solid color-mix(in srgb, var(--campaign-btn-bg, #86efac) 45%, transparent) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3) !important;
  animation: clientPremiumCtaPulse 1.8s ease-in-out infinite !important;
  transform-origin: center center;
}

/* 4. Meniu | Recenzie — două dreptunghiuri late */
#clientPage.template-modern #clientPremiumSectionDuo,
#clientPage.template-modern .client-premium-duo {
  order: 4;
  --duo-card-h: var(--tpl-modern-duo-h);
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: var(--tpl-modern-duo-h);
  gap: var(--tpl-modern-gap);
  width: 100%;
  max-height: none;
  margin-top: var(--tpl-modern-gap);
  pointer-events: auto;
  z-index: 2812;
}

#clientPage.template-modern #layoutBlockLoyalty,
#clientPage.template-modern #layoutBlockEvent,
#clientPage.template-modern #layoutBlockRules,
#clientPage.template-modern #layoutBlockSocial {
  display: none !important;
}

#clientPage.template-modern #socialIconsBar,
#clientPage.template-modern .social-icons-bar {
  display: none !important;
}

#clientPage.template-modern .client-premium-duo-card,
#clientPage.template-modern .client-premium-card--menu,
#clientPage.template-modern .client-premium-card--review {
  min-height: var(--tpl-modern-duo-h);
  height: var(--tpl-modern-duo-h);
  max-height: var(--tpl-modern-duo-h);
}

#clientPage.template-modern .client-premium-menu__body,
#clientPage.template-modern .client-premium-review__body,
#clientPage.template-modern .client-premium-review__thanks,
#clientPage.template-modern .client-premium-review__divider,
#clientPage.template-modern .client-premium-review__social-block,
#clientPage.template-modern .client-premium-module-card__body {
  display: none !important;
}

#clientPage.template-modern .client-glass-btn,
#clientPage.template-modern .client-premium-module-card__head,
#clientPage.template-modern .location-menu-btn.client-premium-menu-head,
#clientPage.template-modern .feedback-button.client-premium-review-head {
  width: 100%;
  min-height: var(--tpl-modern-duo-h) !important;
  height: 100% !important;
  max-height: var(--tpl-modern-duo-h) !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
  background: var(--tpl-modern-card-bg) !important;
  border: 1px solid var(--tpl-modern-card-border) !important;
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.26);
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px;
}

#clientPage.template-modern .client-premium-duo-card {
  padding: 0 !important;
  gap: 0 !important;
  min-height: var(--tpl-modern-duo-h) !important;
  max-height: var(--tpl-modern-duo-h) !important;
}

#clientPage.template-modern .client-premium-menu-shell,
#clientPage.template-modern .client-premium-review-shell {
  height: 100%;
  min-height: 0 !important;
  max-height: var(--tpl-modern-duo-h) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#clientPage.template-modern .client-premium-module-card__title,
#clientPage.template-modern .feedback-title,
#clientPage.template-modern .location-menu-btn__text {
  font-size: 13px;
  font-weight: 650;
}

/* 5. Module operaționale jos — 4 coloane egale */
#clientPage.template-modern .client-premium-bottom-dock {
  order: 5;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  flex: 0 0 auto;
  width: 100%;
  padding: var(--tpl-modern-gap) 0 0;
  pointer-events: auto;
  z-index: 2815;
}

#clientPage.template-modern .client-premium-fab-bar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--tpl-modern-gap);
  width: 100%;
}

#clientPage.template-modern .client-premium-fab {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: var(--tpl-modern-fab-h);
  height: var(--tpl-modern-fab-h);
  padding: 6px 4px;
  border-radius: 14px;
  background: var(--tpl-modern-card-bg);
  border: 1px solid var(--tpl-modern-card-border);
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}

#clientPage.template-modern .client-premium-fab__text {
  display: block;
}

#clientPage.template-modern .client-premium-fab__title {
  font-size: 9px;
  line-height: 1.1;
  text-align: center;
  color: rgba(255, 255, 255, 0.92);
}

#clientPage.template-modern.ai-live-edit-active .ai-live-block-controls {
  display: none !important;
}

/* Modern — popup-uri deasupra UI + închidere clickabilă */
#clientPage.template-modern .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-modern .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

body.popup-open #clientPage.template-modern .client-template-header,
body.client-promo-gallery-open #clientPage.template-modern .client-template-header,
body.popup-open #clientPage.template-modern #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-modern #clientPremiumSectionDuo,
body.popup-open #clientPage.template-modern .client-premium-center-cta,
body.client-promo-gallery-open #clientPage.template-modern .client-premium-center-cta,
body.popup-open #clientPage.template-modern .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-modern .client-premium-bottom-dock,
body.popup-open #clientPage.template-modern #clientPremiumSectionPromo,
body.client-promo-gallery-open #clientPage.template-modern #clientPremiumSectionPromo {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-modern #wifiPopup .popup-inner,
#clientPage.template-modern #locationHoursPopup .popup-inner,
#clientPage.template-modern #locationMapPopup .popup-inner,
#clientPage.template-modern #reservationPopup .popup-inner,
#clientPage.template-modern #feedbackPopup .popup-inner,
#clientPage.template-modern #externalActionPopup .popup-inner {
  background: rgba(14, 18, 28, 0.96) !important;
  color: #f5f5f5;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-modern .popup-close,
#clientPage.template-modern .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 3;
  transform: none !important;
  pointer-events: auto;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-modern .popup-close:hover,
#clientPage.template-modern .popup-close:active,
#clientPage.template-modern .contact-popup-close:hover,
#clientPage.template-modern .contact-popup-close:active {
  background: rgba(0, 0, 0, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #fff !important;
  transform: scale(0.94) !important;
}

#clientPage.template-modern .client-promo-gallery-overlay {
  z-index: 2920 !important;
  pointer-events: auto !important;
}

#clientPage.template-modern .client-promo-gallery-overlay__close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  pointer-events: auto;
}

/* —— DYNAMIC — premium locație (Aristocrat-style) —— */
@keyframes tpl-dynamic-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes tpl-dynamic-slide-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#clientPage.template-dynamic.client-premium-ui {
  --tpl-dynamic-accent: #c9a227;
  --tpl-dynamic-accent-rgb: 201, 162, 39;
  --tpl-dynamic-glass: rgba(0, 0, 0, 0.52);
  --tpl-dynamic-glass-border: rgba(255, 255, 255, 0.16);
  --tpl-dynamic-hero-h: 104px;
  --tpl-dynamic-duo-h: 34px;
  --tpl-dynamic-fab-h: 58px;
  --tpl-dynamic-gap: 8px;
  --tpl-dynamic-section-gap: 10px;
  --tpl-dynamic-dock-gap: 4px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100dvh;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    calc(env(safe-area-inset-top, 0px) + 0px)
    calc(env(safe-area-inset-right, 0px) + 16px)
    calc(env(safe-area-inset-bottom, 0px) + 8px)
    calc(env(safe-area-inset-left, 0px) + 16px);
  box-sizing: border-box;
  animation: tpl-dynamic-fade-in 0.5s ease-out;
}

body:has(#clientPage.template-dynamic.visible) #bgContainer::after {
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.12) 0%,
      rgba(0, 0, 0, 0.08) 35%,
      rgba(0, 0, 0, 0.18) 70%,
      rgba(0, 0, 0, 0.42) 100%
    );
}

#clientPage.template-dynamic .client-premium-stage,
#clientPage.template-dynamic .client-hero-actions {
  display: contents !important;
}

/* 1. Header premium — compact sus, ordine: nume → linie → slogan → social → editabil */
#clientPage.template-dynamic .client-template-header {
  order: 1;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  position: relative;
  padding: 0 12px 6px;
  margin: 0;
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  pointer-events: auto;
  z-index: 2812;
  animation: tpl-dynamic-slide-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#clientPage.template-dynamic .client-template-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.42) 72%,
    rgba(0, 0, 0, 0.08) 100%
  );
  border-radius: 0 0 14px 14px;
  z-index: -1;
  pointer-events: none;
}

#clientPage.template-dynamic .client-template-header__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
}

#clientPage.template-dynamic .client-template-header__brand-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

#clientPage.template-dynamic .client-template-header__logo {
  display: none !important;
}

#clientPage.template-dynamic .client-template-header__brand {
  display: block !important;
  margin: 0;
  padding-top: 0;
  width: 100%;
  text-align: center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.65rem, 7.5vw, 2.15rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #fff;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.75);
  line-height: 1.05;
}

#clientPage.template-dynamic .client-template-header__brand::after {
  content: '';
  display: block;
  width: min(180px, 52%);
  height: 1px;
  margin: 4px auto 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--tpl-dynamic-accent-rgb), 0.85) 50%,
    transparent 100%
  );
  opacity: 0.9;
}

#clientPage.template-dynamic .client-template-header__slogan {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#clientPage.template-dynamic .client-template-header__social {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  order: 3;
  width: 100%;
  padding: 1px 4px 0;
  margin-top: 0;
}

#clientPage.template-dynamic .client-template-header__social-sep {
  color: rgba(var(--tpl-dynamic-accent-rgb), 0.9);
  font-size: 13px;
  line-height: 1;
  padding: 0 9px;
  user-select: none;
  pointer-events: none;
}

#clientPage.template-dynamic .client-template-header__social-link,
#clientPage.template-dynamic .client-template-header__social-btn {
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.025em;
  text-decoration: none;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.65);
  transition: opacity 0.18s ease, color 0.18s ease;
}

#clientPage.template-dynamic .client-template-header__social-link svg,
#clientPage.template-dynamic .client-template-header__social-btn svg {
  display: none;
}

#clientPage.template-dynamic .client-template-header__social-link:active,
#clientPage.template-dynamic .client-template-header__social-btn:active {
  opacity: 0.72;
  transform: none;
}

#clientPage.template-dynamic .client-template-header__editable {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% + 12px);
  max-width: none;
  min-height: 52px;
  margin: 7px -6px 0;
  padding: 12px 16px;
  box-sizing: border-box;
  text-align: center;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1);
  text-shadow: 0 0 10px rgba(var(--tpl-dynamic-accent-rgb), 0.35), 0 1px 8px rgba(0, 0, 0, 0.65);
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(16px) saturate(1.25);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.42);
  border-radius: 12px;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.45),
    0 0 16px rgba(var(--tpl-dynamic-accent-rgb), 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

#clientPage.template-dynamic .client-template-header__editable:hover {
  border-color: rgba(var(--tpl-dynamic-accent-rgb), 0.58);
  box-shadow:
    0 4px 18px rgba(0, 0, 0, 0.48),
    0 0 20px rgba(var(--tpl-dynamic-accent-rgb), 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

#clientPage.template-dynamic .client-template-header__editable:active {
  transform: scale(0.97);
}

#clientPage.template-dynamic .client-template-header__editable[hidden] {
  display: none !important;
}

/* Oferta editabilă în header — ascunde cardul duplicat din zona centrală */
#clientPage.template-dynamic.client-dynamic-header-promo #clientPremiumSectionPromo,
#clientPage.template-dynamic.client-dynamic-header-promo .client-premium-hero-section[data-hero-section='promo'] {
  display: none !important;
}

/* Fără card promo central: Meniu+Recenzie și FAB-urile rămân lipite de jos */
#clientPage.template-dynamic.client-dynamic-header-promo:not(.client-dynamic-hero-campaign) #clientPremiumSectionDuo,
#clientPage.template-dynamic.client-dynamic-header-promo:not(.client-dynamic-hero-campaign) .client-premium-duo {
  margin-top: auto;
}

#clientPage.template-dynamic .client-promo-gallery-overlay {
  z-index: 2920 !important;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-dynamic .client-promo-gallery-overlay__backdrop {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#clientPage.template-dynamic .client-promo-gallery-overlay__panel {
  background: rgba(10, 10, 12, 0.96) !important;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.38) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  padding: 14px 14px 12px;
}

#clientPage.template-dynamic .client-promo-gallery-overlay__close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.48) !important;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-dynamic .client-promo-gallery-overlay__close:hover {
  background: rgba(0, 0, 0, 0.94) !important;
  border-color: rgba(var(--tpl-dynamic-accent-rgb), 0.72) !important;
  color: #fff !important;
}

#clientPage.template-dynamic .client-promo-gallery-overlay__close:active {
  transform: scale(0.94);
}

#clientPage.template-dynamic .client-promo-gallery-overlay__title {
  margin: 0 40px 12px;
  font-size: 15px;
  font-weight: 700;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1);
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow: 0 0 10px rgba(var(--tpl-dynamic-accent-rgb), 0.3);
}

body.client-promo-gallery-open #clientPage.template-dynamic .client-template-header,
body.client-promo-gallery-open #clientPage.template-dynamic #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-dynamic .client-premium-duo,
body.client-promo-gallery-open #clientPage.template-dynamic #clientPremiumSectionPromo,
body.client-promo-gallery-open #clientPage.template-dynamic .client-premium-hero-section,
body.client-promo-gallery-open #clientPage.template-dynamic .client-premium-center-cta,
body.client-promo-gallery-open #clientPage.template-dynamic .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-dynamic #layoutBlockCampaign {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-dynamic #socialIconsBar,
#clientPage.template-dynamic .social-icons-bar {
  display: none !important;
}

/* 2. Zona centrală — modul activ (ofertă / campanie / fidelizare) */
#clientPage.template-dynamic #clientPremiumSectionPromo,
#clientPage.template-dynamic .client-premium-hero-section[data-hero-section='promo'] {
  order: 2;
  width: 100%;
  flex: 0 0 auto;
  margin-top: auto;
  pointer-events: auto;
  z-index: 2818;
  animation: tpl-dynamic-slide-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}

#clientPage.template-dynamic.client-dynamic-hero-campaign #clientPremiumSectionPromo,
#clientPage.template-dynamic.client-dynamic-hero-campaign .client-premium-hero-section[data-hero-section='promo'] {
  display: none !important;
}

#clientPage.template-dynamic #layoutBlockPromo,
#clientPage.template-dynamic .client-promo-gallery-wrap {
  width: 100%;
}

#clientPage.template-dynamic .client-promo-gallery-trigger,
#clientPage.template-dynamic .client-dynamic-promo-card {
  position: relative;
  width: 100%;
  min-height: var(--tpl-dynamic-hero-h);
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--tpl-dynamic-glass-border);
  overflow: hidden;
  background: var(--tpl-dynamic-glass);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
  transition: transform 0.18s ease;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-align: left;
}

#clientPage.template-dynamic .client-dynamic-promo-preview,
#clientPage.template-dynamic .client-dynamic-promo-preview-dots,
#clientPage.template-dynamic .client-dynamic-promo-card__scrim {
  display: none !important;
}

#clientPage.template-dynamic .client-dynamic-promo-card__content {
  display: contents;
}

#clientPage.template-dynamic .client-promo-gallery-trigger:active,
#clientPage.template-dynamic .client-dynamic-promo-card:active {
  transform: scale(0.985);
}

#clientPage.template-dynamic .client-premium-center-cta {
  order: 2;
  display: flex !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  margin-top: auto;
  padding: 0;
  pointer-events: auto;
  z-index: 2814;
  animation: tpl-dynamic-slide-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

#clientPage.template-dynamic.client-dynamic-hero-promo .client-premium-center-cta {
  display: none !important;
}

#clientPage.template-dynamic #layoutBlockCampaign {
  display: flex !important;
  width: 100%;
}

#clientPage.template-dynamic #triesCounter {
  display: none !important;
}

#clientPage.template-dynamic .client-premium-banner__icon,
#clientPage.template-dynamic .client-premium-cta__icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.55);
  background: rgba(var(--tpl-dynamic-accent-rgb), 0.12);
  color: rgba(var(--tpl-dynamic-accent-rgb), 1);
  display: flex;
  align-items: center;
  justify-content: center;
}

#clientPage.template-dynamic .client-premium-banner__icon svg,
#clientPage.template-dynamic .client-premium-cta__icon svg {
  width: 20px;
  height: 20px;
}

#clientPage.template-dynamic .client-premium-banner__text,
#clientPage.template-dynamic .client-premium-cta__text {
  flex: 1;
  min-width: 0;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

#clientPage.template-dynamic .client-premium-banner__title,
#clientPage.template-dynamic .client-premium-cta__label {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1rem, 4.2vw, 1.15rem);
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #fff;
  line-height: 1.2;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

#clientPage.template-dynamic .client-premium-banner__subtitle {
  display: block !important;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.25;
  margin: 0;
  text-shadow: none;
}

#clientPage.template-dynamic .client-premium-cta__subtitle {
  display: none !important;
}

#clientPage.template-dynamic .client-premium-banner__chevron,
#clientPage.template-dynamic .client-premium-cta__chevron {
  display: flex !important;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.45);
  background: rgba(var(--tpl-dynamic-accent-rgb), 0.1);
  color: rgba(var(--tpl-dynamic-accent-rgb), 1);
  margin-left: auto;
  opacity: 1;
}

#clientPage.template-dynamic .client-premium-banner__chevron svg,
#clientPage.template-dynamic .client-premium-cta__chevron svg {
  width: 14px;
  height: 14px;
}

#clientPage.template-dynamic .client-premium-cta.oval-button,
#clientPage.template-dynamic #playBtn.client-premium-cta {
  width: 100%;
  min-height: var(--tpl-dynamic-hero-h) !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  border: 1px solid var(--tpl-dynamic-glass-border) !important;
  background: var(--tpl-dynamic-glass) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28) !important;
  opacity: 1 !important;
  transition: transform 0.18s ease;
  animation: clientPremiumCtaPulse 1.8s ease-in-out infinite !important;
  transform-origin: center center;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px;
  color: #fff;
}

#clientPage.template-dynamic .client-premium-cta:active {
  transform: scale(0.985);
}

/* 3. Shortcut-uri Meniu + Recenzie — aceeași familie vizuală ca FAB-urile */
#clientPage.template-dynamic #clientPremiumSectionDuo,
#clientPage.template-dynamic .client-premium-duo {
  order: 3;
  --duo-card-h: var(--tpl-dynamic-fab-h) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto !important;
  gap: var(--tpl-dynamic-gap);
  width: 100%;
  margin-top: var(--tpl-dynamic-section-gap);
  margin-bottom: 0;
  pointer-events: auto;
  z-index: 2810;
  animation: tpl-dynamic-slide-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.14s both;
}

#clientPage.template-dynamic.client-premium-ui.ai-live-edit-active[data-ai-model-focus='review'] .client-premium-duo,
#clientPage.template-dynamic.client-premium-ui.ai-live-edit-active[data-ai-model-focus='social'] .client-premium-duo,
#clientPage.template-dynamic.client-premium-ui.ai-live-edit-active[data-ai-model-focus='menu'] .client-premium-duo {
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto !important;
  --duo-card-h: var(--tpl-dynamic-fab-h) !important;
}

#clientPage.template-dynamic.client-premium-ui.ai-live-edit-active[data-ai-model-focus='review'] #layoutBlockReview,
#clientPage.template-dynamic.client-premium-ui.ai-live-edit-active[data-ai-model-focus='review'] #layoutBlockMenu {
  grid-row: auto !important;
  grid-column: auto !important;
}

#clientPage.template-dynamic #layoutBlockLoyalty,
#clientPage.template-dynamic #layoutBlockEvent,
#clientPage.template-dynamic #layoutBlockRules,
#clientPage.template-dynamic #layoutBlockSocial {
  display: none !important;
}

#clientPage.template-dynamic .client-premium-card--menu,
#clientPage.template-dynamic .client-premium-card--review {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  display: block !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#clientPage.template-dynamic .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-dynamic .client-premium-review-shell.client-premium-duo-card,
#clientPage.template-dynamic .client-premium-duo-card {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  background: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#clientPage.template-dynamic .client-premium-menu-shell,
#clientPage.template-dynamic .client-premium-review-shell,
#clientPage.template-dynamic .client-layout-block--menu,
#clientPage.template-dynamic .client-layout-block--review {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#clientPage.template-dynamic .client-premium-menu__body,
#clientPage.template-dynamic .client-premium-review__body,
#clientPage.template-dynamic .client-premium-module-card__body,
#clientPage.template-dynamic .client-premium-module-card__logo-glass,
#clientPage.template-dynamic .client-premium-review__thanks,
#clientPage.template-dynamic .client-premium-review__divider,
#clientPage.template-dynamic .client-premium-review__social-block {
  display: none !important;
}

#clientPage.template-dynamic .client-glass-btn,
#clientPage.template-dynamic .location-menu-btn.client-premium-menu-head,
#clientPage.template-dynamic .feedback-button.client-premium-review-head {
  width: 100%;
  min-height: var(--tpl-dynamic-fab-h) !important;
  height: var(--tpl-dynamic-fab-h) !important;
  max-height: var(--tpl-dynamic-fab-h) !important;
  padding: 8px 6px 6px !important;
  border-radius: 12px !important;
  background: rgba(0, 0, 0, 0.72) !important;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.38) !important;
  backdrop-filter: blur(16px) saturate(1.25);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: transform 0.18s ease;
  color: #fff;
}

#clientPage.template-dynamic .client-glass-btn:active {
  transform: scale(0.96);
}

#clientPage.template-dynamic .client-premium-module-card__icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 0;
  border: none;
  background: none !important;
  box-shadow: none !important;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1) !important;
  filter: drop-shadow(0 0 6px rgba(var(--tpl-dynamic-accent-rgb), 0.45));
  display: flex;
  align-items: center;
  justify-content: center;
}

#clientPage.template-dynamic .client-premium-module-card__icon svg {
  width: 22px;
  height: 22px;
}

#clientPage.template-dynamic .client-premium-module-card__icon--menu,
#clientPage.template-dynamic .client-premium-module-card__icon--review {
  border-radius: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#clientPage.template-dynamic .client-premium-module-card__titles {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
}

#clientPage.template-dynamic .client-premium-module-card__title {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.75);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#clientPage.template-dynamic .client-premium-module-card__subtitle {
  display: none !important;
}

#clientPage.template-dynamic .client-premium-module-card__chevron {
  display: none !important;
}

/* Recenzie Dynamic: stea SVG deasupra, text simplu dedesubt (fără emoji în titlu) */
#clientPage.template-dynamic.client-premium-ui .feedback-button.client-premium-review-head {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

#clientPage.template-dynamic .feedback-button.client-premium-review-head .client-premium-module-card__icon--review {
  order: 0;
}

#clientPage.template-dynamic .feedback-button.client-premium-review-head .client-premium-module-card__titles {
  order: 1;
  flex-direction: column !important;
}

/* 4. Bara utilități — contrast ridicat, overlay închis */
#clientPage.template-dynamic .client-premium-bottom-dock {
  order: 4;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: calc(100% + 32px);
  max-width: none;
  align-self: center;
  margin-top: var(--tpl-dynamic-dock-gap);
  margin-left: -16px;
  margin-right: -16px;
  padding:
    14px 16px
    calc(env(safe-area-inset-bottom, 0px) + 10px);
  pointer-events: auto;
  z-index: 2815;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.18) 0%,
    rgba(0, 0, 0, 0.72) 32%,
    rgba(0, 0, 0, 0.9) 100%
  );
  animation: tpl-dynamic-slide-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
}

#clientPage.template-dynamic .client-premium-fab-bar {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  gap: var(--tpl-dynamic-gap);
}

#clientPage.template-dynamic #layoutBlockLoyalty,
#clientPage.template-dynamic #layoutBlockEvent,
#clientPage.template-dynamic #layoutBlockRules,
#clientPage.template-dynamic #layoutBlockSocial {
  display: none !important;
}

#clientPage.template-dynamic .client-premium-fab,
#clientPage.template-dynamic .client-fab-pill.client-premium-fab {
  flex: 1 1 0;
  min-height: var(--tpl-dynamic-fab-h);
  max-height: none;
  height: auto;
  white-space: normal;
  padding: 8px 4px 6px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.72);
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.38);
  backdrop-filter: blur(16px) saturate(1.25);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform 0.18s ease;
}

#clientPage.template-dynamic .client-premium-fab:active {
  transform: scale(0.96);
}

#clientPage.template-dynamic #clientWifiFab {
  order: 1;
}

#clientPage.template-dynamic #clientLocationHoursFab {
  order: 2;
}

#clientPage.template-dynamic #clientLocationMapFab {
  order: 3;
}

#clientPage.template-dynamic #clientReservationFab {
  order: 4;
}

#clientPage.template-dynamic .client-premium-fab__icon {
  width: 28px;
  height: 28px;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1) !important;
  filter: drop-shadow(0 0 6px rgba(var(--tpl-dynamic-accent-rgb), 0.45));
  display: flex;
  align-items: center;
  justify-content: center;
}

#clientPage.template-dynamic .client-premium-fab__icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.2;
}

#clientPage.template-dynamic .client-premium-fab__title,
#clientPage.template-dynamic .client-fab-pill__label.client-premium-fab__title {
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.75);
  white-space: normal;
  overflow: visible;
  overflow-wrap: break-word;
  line-height: 1.15;
  max-width: 100%;
}

#clientPage.template-dynamic.ai-live-edit-active .ai-live-block-controls {
  display: none !important;
}

/* 5. Popups FAB (WiFi / Program / Locație / Comenzi) — deasupra UI-ului Dynamic */
#clientPage.template-dynamic .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-dynamic .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

body.popup-open #clientPage.template-dynamic .client-template-header,
body.popup-open #clientPage.template-dynamic #clientPremiumSectionDuo,
body.popup-open #clientPage.template-dynamic .client-premium-duo,
body.popup-open #clientPage.template-dynamic #clientPremiumSectionPromo,
body.popup-open #clientPage.template-dynamic .client-premium-hero-section,
body.popup-open #clientPage.template-dynamic .client-premium-center-cta,
body.popup-open #clientPage.template-dynamic .client-premium-bottom-dock,
body.popup-open #clientPage.template-dynamic #layoutBlockCampaign {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-dynamic #wifiPopup .popup-inner,
#clientPage.template-dynamic #locationHoursPopup .popup-inner,
#clientPage.template-dynamic #locationMapPopup .popup-inner,
#clientPage.template-dynamic #reservationPopup .popup-inner {
  background: rgba(10, 10, 12, 0.96) !important;
  color: #f5f5f5;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.38) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-dynamic .popup-close,
#clientPage.template-dynamic .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.48) !important;
  color: rgba(var(--tpl-dynamic-accent-rgb), 1) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 3;
  transform: none !important;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-dynamic .popup-close:hover,
#clientPage.template-dynamic .popup-close:active,
#clientPage.template-dynamic .contact-popup-close:hover,
#clientPage.template-dynamic .contact-popup-close:active {
  background: rgba(0, 0, 0, 0.94) !important;
  border-color: rgba(var(--tpl-dynamic-accent-rgb), 0.72) !important;
  color: #fff !important;
  transform: scale(0.94) !important;
}

#clientPage.template-dynamic .wifi-popup-title,
#clientPage.template-dynamic .location-hours-popup-title,
#clientPage.template-dynamic .location-map-popup-title,
#clientPage.template-dynamic .contact-popup-title {
  color: #fff;
}

#clientPage.template-dynamic .wifi-popup-svg-icon {
  color: rgba(var(--tpl-dynamic-accent-rgb), 1) !important;
}

#clientPage.template-dynamic .wifi-popup-field {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(var(--tpl-dynamic-accent-rgb), 0.22);
}

#clientPage.template-dynamic .wifi-popup-label {
  color: rgba(255, 255, 255, 0.55);
}

#clientPage.template-dynamic .wifi-popup-value {
  color: #fff;
}

#clientPage.template-dynamic .location-map-popup-name {
  color: #fff;
}

#clientPage.template-dynamic .location-map-popup-address,
#clientPage.template-dynamic .contact-popup-message {
  color: rgba(255, 255, 255, 0.72);
}

#clientPage.template-dynamic .location-map-popup-open-btn {
  background: rgba(0, 0, 0, 0.72) !important;
  border: 1px solid rgba(var(--tpl-dynamic-accent-rgb), 0.45) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

#clientPage.template-dynamic .contact-popup-call-btn {
  background: linear-gradient(145deg, rgba(var(--tpl-dynamic-accent-rgb), 0.95), rgba(160, 130, 30, 0.95)) !important;
  color: #111 !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35) !important;
}

#clientPage.template-dynamic .contact-popup-inner {
  background: rgba(10, 10, 12, 0.96) !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-dynamic .contact-popup-icon {
  background: rgba(var(--tpl-dynamic-accent-rgb), 0.14);
}

/* —— FUTURE —— dark neon, hero oferte, hub compact —— */
body:has(#clientPage.template-future.visible) {
  overflow: hidden;
  height: 100dvh;
}

#clientPage.template-future.client-premium-ui {
  --tpl-future-accent: #22c55e;
  --tpl-future-accent-rgb: 34, 197, 94;
  --tpl-future-hero-h: 188px;
  --tpl-future-action-h: 48px;
  --tpl-future-duo-h: 74px;
  --tpl-future-fab-h: 44px;
  --tpl-future-gap: 6px;
  --duo-card-h: var(--tpl-future-duo-h);
  --duo-head-h: var(--tpl-future-duo-h);
  --duo-head-gap: 8px;
  --tpl-future-glass: rgba(12, 12, 16, 0.82);
  --tpl-future-glass-border: rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 0;
  overflow: hidden;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    max(2px, env(safe-area-inset-top, 0px))
    calc(env(safe-area-inset-right, 0px) + 14px)
    0
    calc(env(safe-area-inset-left, 0px) + 14px);
  box-sizing: border-box;
}

#clientPage.template-future.client-premium-ui .client-premium-center-cta,
#clientPage.template-future.client-premium-ui .client-premium-bottom-dock {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

body:has(#clientPage.template-future.visible) #bgContainer .bg-slide {
  background-size: cover;
  background-repeat: no-repeat;
  transform: none;
  filter: brightness(1.08) contrast(1.08) saturate(1.2);
}

body:has(#clientPage.template-future.visible) #bgContainer {
  --tpl-future-bg-fade-start: 82%;
}

body:has(#clientPage.template-future.visible) #bgContainer::after {
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.26) 0%,
      rgba(0, 0, 0, 0.06) 8%,
      rgba(0, 0, 0, 0) 14%,
      rgba(0, 0, 0, 0) 62%,
      rgba(0, 0, 0, 0.08) calc(var(--tpl-future-bg-fade-start) - 6%),
      rgba(0, 0, 0, 0.42) var(--tpl-future-bg-fade-start),
      rgba(0, 0, 0, 0.92) calc(var(--tpl-future-bg-fade-start) + 5%),
      #000 calc(var(--tpl-future-bg-fade-start) + 8%)
    );
}

#clientPage.template-future .client-premium-stage,
#clientPage.template-future .client-hero-actions {
  display: contents !important;
}

#clientPage.template-future .client-public-brand-logo {
  display: none !important;
}

/* 1 Header — logo + brand stânga sus, social liber dreapta sus */
#clientPage.template-future .client-template-header {
  order: 1;
  display: block !important;
  width: 100%;
  padding: 0 0 0;
  margin-top: -2px;
  flex-shrink: 0;
  pointer-events: auto;
  z-index: 2820;
}

#clientPage.template-future .client-template-header__top {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

#clientPage.template-future .client-template-header__brand-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

#clientPage.template-future .client-template-header__logo {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
  background: #fff;
  padding: 3px;
  box-sizing: border-box;
}

#clientPage.template-future .client-template-header__brand {
  margin: 0;
  font-size: clamp(1.22rem, 6.2vw, 1.58rem);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#clientPage.template-future .client-template-header__slogan {
  display: none !important;
}

#clientPage.template-future .client-future-header-social-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 3px;
  flex: 0 0 auto;
  max-width: 52%;
  align-self: flex-start;
  padding-top: 0;
}

#clientPage.template-future .client-template-header__social {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: nowrap;
  min-height: 0;
}

#clientPage.template-future .client-future-social-hint {
  margin: 0;
  padding: 0;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.88);
  text-align: right;
  line-height: 1.15;
  white-space: nowrap;
  max-width: none;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}

#clientPage.template-future .client-future-social-icon {
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.92;
}

#clientPage.template-future .client-future-social-icon:hover,
#clientPage.template-future .client-future-social-icon:focus-visible {
  opacity: 1;
}

#clientPage.template-future .client-future-social-icon svg {
  width: 26px;
  height: 26px;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}

#clientPage.template-future .client-future-social-icon--facebook {
  color: #4da3ff;
}

#clientPage.template-future .client-future-social-icon--instagram {
  color: #f77737;
}

#clientPage.template-future .client-future-social-icon--tiktok {
  color: #fff;
}

#clientPage.template-future #socialIconsBar,
#clientPage.template-future .social-icons-bar,
#clientPage.template-future #layoutBlockEvent,
#clientPage.template-future #layoutBlockRules,
#clientPage.template-future #layoutBlockSocial,
#clientPage.template-future #clientElegantReviewStack {
  display: none !important;
}

#clientPage.template-future #clientElegantSocialSection,
#clientPage.template-future .client-elegant-social-section {
  display: none !important;
}

/* 2 Card ofertă — stânga sus, verde, fundal mai transparent */
#clientPage.template-future #clientPremiumSectionPromo,
#clientPage.template-future .client-premium-hero-section[data-hero-section='promo'] {
  order: 2;
  width: auto;
  max-width: min(72vw, 260px);
  align-self: flex-start;
  flex-shrink: 0;
  margin: 0;
  pointer-events: auto;
  z-index: 2810;
}

#clientPage.template-future .client-promo-gallery-trigger.client-premium-banner {
  width: 100%;
  min-height: 0 !important;
  max-height: none !important;
  height: auto;
  aspect-ratio: auto;
  padding: 12px 13px 11px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(var(--tpl-future-accent-rgb), 0.48) !important;
  background: rgba(6, 10, 8, 0.38) !important;
  backdrop-filter: blur(6px) saturate(1.1);
  -webkit-backdrop-filter: blur(6px) saturate(1.1);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.28),
    0 0 16px rgba(var(--tpl-future-accent-rgb), 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  display: grid !important;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  row-gap: 8px;
  align-items: start;
  text-align: left;
  overflow: visible !important;
}

#clientPage.template-future .client-dynamic-promo-preview,
#clientPage.template-future .client-dynamic-promo-card__scrim,
#clientPage.template-future .client-dynamic-promo-preview-dots {
  display: none !important;
}

#clientPage.template-future .client-premium-banner__icon {
  display: flex !important;
  grid-column: 1;
  grid-row: 1;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(var(--tpl-future-accent-rgb), 0.2);
  color: rgba(var(--tpl-future-accent-rgb), 1);
  align-items: center;
  justify-content: center;
  margin: 0;
  justify-self: start;
  box-shadow: 0 0 12px rgba(var(--tpl-future-accent-rgb), 0.22);
}

#clientPage.template-future .client-premium-banner__icon svg {
  width: 16px;
  height: 16px;
}

#clientPage.template-future .client-premium-banner__text {
  grid-column: 1;
  grid-row: 2;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-self: stretch;
  overflow: visible;
}

#clientPage.template-future .client-premium-banner__title {
  font-size: clamp(12px, 3.6vw, 14px);
  font-weight: 800;
  color: rgba(var(--tpl-future-accent-rgb), 1);
  line-height: 1.3;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: block;
  width: 100%;
  max-width: 100%;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

#clientPage.template-future .client-premium-banner__subtitle {
  display: none !important;
}

#clientPage.template-future .client-premium-banner__chevron {
  display: inline-flex !important;
  grid-column: 1;
  grid-row: 3;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: auto;
  min-height: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(var(--tpl-future-accent-rgb), 1);
  margin: 0;
  padding: 0;
  box-shadow: none;
  font-size: 11px;
  font-weight: 700;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
  align-self: end;
}

#clientPage.template-future .client-premium-banner__chevron svg {
  display: none;
}

#clientPage.template-future .client-premium-banner__chevron::after {
  content: 'Vezi detalii →';
}

/* 3 Spațiu hero — flexibil, fără scroll */
#clientPage.template-future .client-future-hero-spacer {
  order: 3;
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  pointer-events: none;
}

/* 4+ Zonă neagră — stack lipit de jos: CTA → duo → FAB */
#clientPage.template-future .client-premium-center-cta {
  order: 4;
  margin-top: auto !important;
  flex-shrink: 0;
  width: calc(100% + 28px);
  margin-left: -14px;
  margin-right: -14px;
  padding: 10px 14px 0;
  background: linear-gradient(180deg, rgba(6, 6, 8, 0) 0%, #060608 18px);
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.38);
  pointer-events: auto;
  z-index: 2812;
}

#clientPage.template-future #layoutBlockLoyalty {
  order: 5;
  width: calc(100% + 28px);
  margin-left: -14px;
  margin-right: -14px;
  padding: 0 14px;
  background: #060608;
  flex-shrink: 0;
  pointer-events: auto;
}

#clientPage.template-future #layoutBlockLoyalty:empty,
#clientPage.template-future #layoutBlockLoyalty[hidden],
#clientPage.template-future #layoutBlockLoyalty[aria-hidden='true'] {
  display: none !important;
  padding: 0;
  margin: 0;
}

#clientPage.template-future .loyalty-module-trigger {
  width: 100%;
  min-height: var(--tpl-future-action-h);
  border-radius: 16px;
  border: 1px solid rgba(255, 210, 120, 0.45);
  background: linear-gradient(135deg, #d4a853 0%, #9a6f1f 100%) !important;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

#clientPage.template-future #triesCounter {
  display: none !important;
}

#clientPage.template-future .client-premium-cta.oval-button,
#clientPage.template-future #playBtn.client-premium-cta {
  width: 100%;
  min-height: var(--tpl-future-action-h) !important;
  padding: 7px 12px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 210, 120, 0.45) !important;
  background: linear-gradient(135deg, #d4a853 0%, #9a6f1f 100%) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px;
  color: #fff;
  animation: none !important;
}

#clientPage.template-future .client-premium-cta__icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  flex-shrink: 0;
}

#clientPage.template-future .client-premium-cta__label {
  font-size: 13px !important;
  font-weight: 800;
  color: #fff;
}

#clientPage.template-future .client-premium-cta__subtitle {
  display: none !important;
}

#clientPage.template-future .client-premium-cta__chevron {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.9);
}

/* 5 Meniu + Recenzie — carduri vizibile ca în mockup */
#clientPage.template-future .client-premium-duo {
  --duo-card-h: var(--tpl-future-duo-h) !important;
  grid-template-rows: var(--tpl-future-duo-h) !important;
}

#clientPage.template-future .client-layout-block--menu,
#clientPage.template-future .client-layout-block--review {
  height: var(--tpl-future-duo-h) !important;
  min-height: var(--tpl-future-duo-h) !important;
  max-height: var(--tpl-future-duo-h) !important;
}

#clientPage.template-future .client-premium-duo-card {
  --duo-card-pad: 0;
  --duo-card-radius: 16px;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden;
  background: rgba(12, 12, 18, 0.88) !important;
}

#clientPage.template-future .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-future .client-premium-review-shell.client-premium-duo-card {
  height: var(--tpl-future-duo-h) !important;
  min-height: var(--tpl-future-duo-h) !important;
  max-height: var(--tpl-future-duo-h) !important;
}

#clientPage.template-future .client-premium-card--menu .client-premium-menu-shell.client-premium-duo-card {
  border: 1px solid rgba(168, 85, 247, 0.38) !important;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(168, 85, 247, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

#clientPage.template-future .client-premium-card--review .client-premium-review-shell.client-premium-duo-card {
  border: 1px solid rgba(234, 179, 8, 0.38) !important;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(234, 179, 8, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

#clientPage.template-future #clientPremiumSectionDuo,
#clientPage.template-future .client-premium-duo {
  order: 6;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: var(--tpl-future-gap);
  width: calc(100% + 28px);
  margin-left: -14px;
  margin-right: -14px;
  padding: var(--tpl-future-gap) 14px 0;
  background: #060608;
  margin-top: 0;
  margin-bottom: 0;
  flex-shrink: 0;
  pointer-events: auto;
  z-index: 2811;
}

#clientPage.template-future .client-premium-card--menu,
#clientPage.template-future .client-premium-card--review {
  min-height: var(--tpl-future-duo-h);
  height: auto;
}

#clientPage.template-future .client-premium-menu__body,
#clientPage.template-future .client-premium-review__body,
#clientPage.template-future .client-premium-review__thanks,
#clientPage.template-future .client-premium-review__divider,
#clientPage.template-future .client-premium-review__social-block {
  display: none !important;
}

#clientPage.template-future .location-menu-btn.client-premium-menu-head,
#clientPage.template-future .feedback-button.client-premium-review-head {
  width: 100%;
  min-height: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-align: left;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#clientPage.template-future .client-premium-module-card__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

#clientPage.template-future .client-premium-module-card__icon svg {
  width: 24px;
  height: 24px;
}

#clientPage.template-future .client-premium-module-card__icon--menu {
  color: #a78bfa !important;
}

#clientPage.template-future .client-premium-module-card__icon--review {
  color: #fbbf24 !important;
}

#clientPage.template-future .client-premium-module-card__titles {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0;
  flex: 0 1 auto;
  min-width: 0;
}

#clientPage.template-future .client-premium-module-card__title,
#clientPage.template-future .location-menu-btn__text,
#clientPage.template-future .feedback-title {
  font-size: 16px !important;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -0.01em;
}

#clientPage.template-future .client-premium-module-card__subtitle,
#clientPage.template-future #clientMenuCardSubtitle,
#clientPage.template-future #clientReviewCardSubtitle {
  display: none !important;
}

#clientPage.template-future .client-premium-module-card__chevron {
  display: none !important;
}

/* 6 FAB jos — lipit de marginea de jos a ecranului */
#clientPage.template-future .client-premium-bottom-dock {
  order: 7;
  flex-shrink: 0;
  width: calc(100% + 28px);
  margin-left: -14px;
  margin-right: -14px;
  margin-top: 0;
  margin-bottom: 0;
  padding:
    var(--tpl-future-gap) 14px
    max(0px, env(safe-area-inset-bottom, 0px));
  background: #060608;
  pointer-events: auto;
  z-index: 2815;
}

#clientPage.template-future .client-premium-fab-bar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--tpl-future-gap);
}

#clientPage.template-future #clientWifiFab { order: 1; }
#clientPage.template-future #clientLocationHoursFab { order: 2; }
#clientPage.template-future #clientLocationMapFab { order: 3; }
#clientPage.template-future #clientReservationFab { order: 4; }

#clientPage.template-future .client-premium-fab {
  min-height: var(--tpl-future-fab-h);
  padding: 4px 3px 3px;
  border-radius: 14px;
  background: var(--tpl-future-glass) !important;
  border: 1px solid var(--tpl-future-glass-border) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

#clientPage.template-future #clientWifiFab .client-premium-fab__icon { color: #60a5fa !important; }
#clientPage.template-future #clientLocationHoursFab .client-premium-fab__icon { color: #a78bfa !important; }
#clientPage.template-future #clientLocationMapFab .client-premium-fab__icon { color: #f87171 !important; }
#clientPage.template-future #clientReservationFab .client-premium-fab__icon { color: #4ade80 !important; }

#clientPage.template-future .client-premium-fab__title {
  font-size: 9px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.88);
}

#clientPage.template-future .client-premium-fab__icon {
  width: 20px;
  height: 20px;
}

/* Future — popup-uri FAB (WiFi / Program / Locație / Comenzi) deasupra UI */
#clientPage.template-future .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-future .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

body.popup-open #clientPage.template-future .client-template-header,
body.popup-open #clientPage.template-future #clientPremiumSectionPromo,
body.popup-open #clientPage.template-future .client-future-hero-spacer,
body.popup-open #clientPage.template-future .client-premium-center-cta,
body.popup-open #clientPage.template-future #clientPremiumSectionDuo,
body.popup-open #clientPage.template-future .client-premium-bottom-dock,
body.popup-open #clientPage.template-future #layoutBlockCampaign {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-future #wifiPopup .popup-inner,
#clientPage.template-future #locationHoursPopup .popup-inner,
#clientPage.template-future #locationMapPopup .popup-inner,
#clientPage.template-future #reservationPopup .popup-inner,
#clientPage.template-future #feedbackPopup .popup-inner,
#clientPage.template-future #externalActionPopup .popup-inner {
  background: rgba(10, 12, 16, 0.97) !important;
  color: #f3f4f6;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-future .popup-close,
#clientPage.template-future .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
  z-index: 3;
  transform: none !important;
  pointer-events: auto !important;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-future .popup-close:hover,
#clientPage.template-future .popup-close:active,
#clientPage.template-future .popup-close:focus-visible,
#clientPage.template-future .contact-popup-close:hover,
#clientPage.template-future .contact-popup-close:active,
#clientPage.template-future .contact-popup-close:focus-visible {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.36) !important;
  color: #fff !important;
  transform: scale(0.94) !important;
}

#clientPage.template-future .wifi-popup-title,
#clientPage.template-future .location-hours-popup-title,
#clientPage.template-future .location-map-popup-title,
#clientPage.template-future .contact-popup-title {
  color: #f9fafb;
}

#clientPage.template-future .client-promo-gallery-overlay {
  z-index: 2920 !important;
  pointer-events: auto !important;
}

#clientPage.template-future .client-promo-gallery-overlay__close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  pointer-events: auto !important;
}

/* —— MINIMAL —— layout: FAB sus · oferte · fundal · campanie · duo jos —— */
#clientPage.template-minimal.client-premium-ui {
  --tpl-minimal-fab-h: 44px;
  --tpl-minimal-offers-h: 116px;
  --tpl-minimal-duo-h: 128px;
  --tpl-minimal-menu-logo: 84px;
  --tpl-minimal-gap: 10px;
  --tpl-accent: #e2e8f0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100dvh;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    calc(env(safe-area-inset-top, 0px) + 8px)
    calc(env(safe-area-inset-right, 0px) + 14px)
    calc(env(safe-area-inset-bottom, 0px) + 10px)
    calc(env(safe-area-inset-left, 0px) + 14px);
  box-sizing: border-box;
}

body:has(#clientPage.template-minimal.visible) #bgContainer::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.52) 100%);
}

#clientPage.template-minimal .client-template-header {
  display: none !important;
}

#clientPage.template-minimal .client-template-header__slogan {
  display: none !important;
}

#clientPage.template-minimal .client-premium-stage,
#clientPage.template-minimal .client-hero-actions {
  display: contents !important;
}

#clientPage.template-minimal #layoutBlockLoyalty,
#clientPage.template-minimal #layoutBlockEvent,
#clientPage.template-minimal #layoutBlockRules,
#clientPage.template-minimal #layoutBlockSocial,
#clientPage.template-minimal #triesCounter {
  display: none !important;
}

/* 1. FAB sus — Locație · Comenzi · Program · WiFi */
#clientPage.template-minimal .client-premium-bottom-dock {
  order: 1;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100%;
  max-width: none;
  margin: 0 0 var(--tpl-minimal-gap);
  padding: 0;
  pointer-events: auto;
  z-index: 2812;
  background: none;
}

#clientPage.template-minimal .client-premium-fab-bar {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

#clientPage.template-minimal .client-premium-fab {
  flex: 1 1 0;
  min-height: var(--tpl-minimal-fab-h);
  padding: 6px 4px 5px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.48);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32);
  opacity: 1;
}

#clientPage.template-minimal .client-premium-fab__icon {
  width: 22px;
  height: 22px;
  color: rgba(255, 255, 255, 0.92) !important;
  background: none !important;
  box-shadow: none !important;
}

#clientPage.template-minimal .client-premium-fab__title {
  font-size: 9px;
  font-weight: 650;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}

#clientPage.template-minimal #clientLocationMapFab {
  order: 1;
}

#clientPage.template-minimal #clientReservationFab {
  order: 2;
}

#clientPage.template-minimal #clientLocationHoursFab {
  order: 3;
}

#clientPage.template-minimal #clientWifiFab {
  order: 4;
}

#clientPage.template-minimal #clientCommunityFab {
  display: none !important;
}

/* 2. Oferte — card lat */
#clientPage.template-minimal #clientPremiumSectionPromo,
#clientPage.template-minimal .client-premium-hero-section[data-hero-section='promo'] {
  order: 2;
  width: 100%;
  flex: 0 0 auto;
  margin: 0 0 var(--tpl-minimal-gap);
  pointer-events: auto;
  z-index: 2810;
}

#clientPage.template-minimal #layoutBlockPromo,
#clientPage.template-minimal .client-promo-gallery-wrap {
  width: 100%;
}

#clientPage.template-minimal .client-promo-gallery-trigger.client-premium-banner {
  width: 100%;
  min-height: var(--tpl-minimal-offers-h) !important;
  height: auto !important;
  padding: 22px 20px !important;
  border-radius: 18px !important;
  background: rgba(0, 0, 0, 0.72) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.38) !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.48),
    inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
}

#clientPage.template-minimal .client-premium-banner__icon,
#clientPage.template-minimal .client-premium-banner__chevron {
  display: none !important;
}

#clientPage.template-minimal .client-premium-banner__text {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#clientPage.template-minimal .client-premium-banner__title {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.9),
    0 2px 16px rgba(0, 0, 0, 0.75);
  text-align: center;
}

#clientPage.template-minimal .client-premium-banner__subtitle {
  display: none !important;
}

/* 3. Campanie — CTA principal, lipit de duo */
#clientPage.template-minimal .client-premium-center-cta {
  order: 3;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100%;
  max-width: none;
  margin-top: auto;
  margin-bottom: 8px;
  padding: 0;
  pointer-events: auto;
  z-index: 2814;
}

#clientPage.template-minimal .client-premium-cta.oval-button,
#clientPage.template-minimal #playBtn.client-premium-cta {
  width: 100%;
  min-height: 52px !important;
  height: auto !important;
  padding: 12px 16px !important;
  border-radius: 14px !important;
  justify-content: center !important;
  gap: 10px !important;
  animation: clientPremiumCtaPulse 1.8s ease-in-out infinite !important;
  transform-origin: center center;
}

#clientPage.template-minimal .client-premium-cta__subtitle {
  display: none !important;
}

#clientPage.template-minimal .client-premium-cta__label {
  font-size: 15px !important;
  font-weight: 700;
}

/* 4. Duo jos — Recenzie (stânga) · Meniu+logo (dreapta) */
#clientPage.template-minimal #clientPremiumSectionDuo,
#clientPage.template-minimal .client-premium-duo {
  order: 4;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: var(--tpl-minimal-duo-h);
  gap: 10px;
  width: 100%;
  flex: 0 0 auto;
  margin: 0;
  pointer-events: auto;
  z-index: 2813;
}

#clientPage.template-minimal #layoutBlockReview {
  order: 1;
  grid-column: 1;
  grid-row: 1;
}

#clientPage.template-minimal #layoutBlockMenu {
  order: 2;
  grid-column: 2;
  grid-row: 1;
}

#clientPage.template-minimal .client-premium-card--menu,
#clientPage.template-minimal .client-premium-card--review {
  height: 100%;
  min-height: 0;
  max-height: none;
}

#clientPage.template-minimal .client-premium-duo-card,
#clientPage.template-minimal .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-minimal .client-premium-review-shell.client-premium-duo-card {
  min-height: var(--tpl-minimal-duo-h) !important;
  max-height: var(--tpl-minimal-duo-h) !important;
  height: var(--tpl-minimal-duo-h) !important;
  padding: 10px;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.48);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.32);
}

#clientPage.template-minimal .client-glass-btn,
#clientPage.template-minimal .location-menu-btn.client-premium-menu-head,
#clientPage.template-minimal .feedback-button.client-premium-review-head {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}

#clientPage.template-minimal .client-premium-module-card__chevron {
  display: none !important;
}

#clientPage.template-minimal .client-premium-module-card__subtitle {
  display: none !important;
}

#clientPage.template-minimal .client-premium-module-card__title {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}

#clientPage.template-minimal .client-premium-review__thanks,
#clientPage.template-minimal .client-premium-review__social-hint,
#clientPage.template-minimal .client-premium-review__divider {
  display: none !important;
}

#clientPage.template-minimal .client-premium-review__body {
  display: flex !important;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
}

#clientPage.template-minimal .client-premium-review__social-block {
  display: flex !important;
  width: 100%;
  justify-content: center;
}

#clientPage.template-minimal #socialIconsBar.client-premium-social-row {
  display: flex !important;
}

#clientPage.template-minimal .client-premium-menu-shell {
  display: grid !important;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  align-items: stretch;
  height: 100%;
  min-height: 0;
}

#clientPage.template-minimal .client-premium-menu-head {
  grid-row: 1;
  flex: 0 0 auto;
  align-self: start;
}

#clientPage.template-minimal .client-premium-menu__body,
#clientPage.template-minimal .client-premium-card--menu .client-premium-menu__body,
#clientPage.template-minimal .client-premium-module-card__body.client-premium-menu__body {
  grid-row: 2;
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px 4px !important;
  margin: 0 !important;
  cursor: pointer;
  overflow: hidden;
}

#clientPage.template-minimal .client-premium-module-card__logo-glass {
  width: var(--tpl-minimal-menu-logo) !important;
  height: var(--tpl-minimal-menu-logo) !important;
  max-width: var(--tpl-minimal-menu-logo) !important;
  max-height: var(--tpl-minimal-menu-logo) !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  border-radius: 16px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

#clientPage.template-minimal .client-premium-module-card__logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}

body.popup-open #clientPage.template-minimal .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-minimal .client-premium-bottom-dock,
body.popup-open #clientPage.template-minimal .client-premium-center-cta,
body.client-promo-gallery-open #clientPage.template-minimal .client-premium-center-cta,
body.popup-open #clientPage.template-minimal #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-minimal #clientPremiumSectionDuo {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-minimal .client-promo-gallery-overlay {
  z-index: 2920 !important;
  pointer-events: auto !important;
}

#clientPage.template-minimal .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-minimal .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

#clientPage.template-minimal #wifiPopup .popup-inner,
#clientPage.template-minimal #locationHoursPopup .popup-inner,
#clientPage.template-minimal #locationMapPopup .popup-inner,
#clientPage.template-minimal #reservationPopup .popup-inner,
#clientPage.template-minimal #feedbackPopup .popup-inner,
#clientPage.template-minimal #externalActionPopup .popup-inner {
  background: rgba(14, 18, 28, 0.96) !important;
  color: #f5f5f5;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-minimal .popup-close,
#clientPage.template-minimal .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 3;
  transform: none !important;
  pointer-events: auto;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-minimal .popup-close:hover,
#clientPage.template-minimal .popup-close:active,
#clientPage.template-minimal .contact-popup-close:hover,
#clientPage.template-minimal .contact-popup-close:active {
  background: rgba(0, 0, 0, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #fff !important;
  transform: scale(0.94) !important;
}

#clientPage.template-minimal .client-promo-gallery-overlay__close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  pointer-events: auto;
}

/* Puls CTA central — campanie / fidelizare / evenimente (toate temele premium) */
#clientPage.template-elegant #playBtn.client-premium-cta--event,
#clientPage.template-modern #playBtn.client-premium-cta--event,
#clientPage.template-dynamic #playBtn.client-premium-cta--event,
#clientPage.template-minimal #playBtn.client-premium-cta--event,
#clientPage.template-ai-generated #playBtn.client-premium-cta--event {
  animation: clientPremiumCtaEventPulse 1.8s ease-in-out infinite !important;
  transform-origin: center center;
}

/* —— AI GENERATED (modifier) —— */
#clientPage.template-ai-generated.client-premium-ui::before {
  content: '';
  position: fixed;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #a78bfa, #22d3ee);
  z-index: 3300;
  pointer-events: none;
  box-shadow: 0 0 10px rgba(167, 139, 250, 0.8);
}

/* —— Mobil 414×896: fără overflow —— */
@media (max-width: 480px) {
  #clientPage[class*='template-'] .client-premium-stage {
    max-height: 100dvh;
    overflow: hidden;
  }

  #clientPage[class*='template-']:not(.template-elegant):not(.template-modern):not(.template-dynamic) .client-hero-actions {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  #clientPage.template-minimal.client-premium-ui {
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  #clientPage.template-minimal {
    --tpl-minimal-fab-h: 42px;
    --tpl-minimal-offers-h: 108px;
    --tpl-minimal-duo-h: 118px;
    --tpl-minimal-menu-logo: 76px;
    --tpl-minimal-gap: 8px;
  }

  #clientPage.template-minimal .client-premium-duo {
    max-height: none;
  }

  #clientPage.template-minimal .client-premium-module-card__logo-glass {
    width: var(--tpl-minimal-menu-logo) !important;
    height: var(--tpl-minimal-menu-logo) !important;
    max-width: var(--tpl-minimal-menu-logo) !important;
    max-height: var(--tpl-minimal-menu-logo) !important;
  }

  #clientPage.template-minimal .client-premium-banner__title {
    font-size: 17px;
  }

  #clientPage.template-minimal .client-promo-gallery-trigger.client-premium-banner {
    min-height: var(--tpl-minimal-offers-h) !important;
    padding: 18px 16px !important;
  }

  #clientPage.template-dynamic.client-premium-ui {
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  #clientPage.template-dynamic {
    --tpl-dynamic-hero-h: 96px;
    --tpl-dynamic-duo-h: 32px;
    --tpl-dynamic-fab-h: 54px;
    --tpl-dynamic-gap: 6px;
    --tpl-dynamic-section-gap: 8px;
    --tpl-dynamic-dock-gap: 3px;
  }

  #clientPage.template-dynamic .client-template-header {
    padding: 0 10px 4px;
  }

  #clientPage.template-dynamic .client-template-header__brand {
    font-size: clamp(1.45rem, 7vw, 1.85rem);
  }

  #clientPage.template-dynamic .client-template-header__brand::after {
    margin: 3px auto 2px;
  }

  #clientPage.template-dynamic .client-template-header__social-link,
  #clientPage.template-dynamic .client-template-header__social-btn {
    font-size: 12px;
  }

  #clientPage.template-dynamic .client-template-header__social-sep {
    font-size: 12px;
  }

  #clientPage.template-dynamic .client-template-header__slogan {
    font-size: 10px;
  }

  #clientPage.template-dynamic .client-template-header__editable {
    min-height: 48px;
    margin-top: 6px;
    padding: 10px 14px;
    font-size: 12px;
  }

  #clientPage.template-dynamic .client-premium-bottom-dock {
    width: calc(100% + 24px);
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 12px;
    padding-right: 12px;
  }

  #clientPage.template-modern.client-premium-ui {
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  #clientPage.template-modern {
    --tpl-modern-promo-h: 54px;
    --tpl-modern-action-h: 48px;
    --tpl-modern-duo-h: 46px;
    --tpl-modern-fab-h: 52px;
    --tpl-modern-gap: 6px;
  }

  #clientPage.template-modern .client-template-header__logo {
    width: 42px;
    height: 42px;
  }

  #clientPage.template-modern .client-template-header__brand {
    font-size: clamp(1.2rem, 5.8vw, 1.75rem);
  }

  #clientPage.template-modern .client-template-header__social-btn {
    width: 34px;
    height: 34px;
  }

  #clientPage.template-modern .client-template-header__social-btn svg {
    width: 15px;
    height: 15px;
  }

  #clientPage.template-elegant.client-premium-ui {
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  #clientPage.template-elegant .client-template-header__slogan {
    font-size: 10px;
  }

  #clientPage.template-elegant .client-hero-actions {
    overflow: visible;
  }

  #clientPage.template-elegant {
    --tpl-elegant-promo-h: 48px;
    --tpl-elegant-campaign-h: 50px;
    --tpl-elegant-fab-h: 44px;
    --tpl-elegant-logo: 60px;
    --tpl-elegant-menu-logo: 48px;
    --tpl-elegant-gap: 7px;
  }

  /* Bloc jos ancorat: campanie → duo → FAB */
  #clientPage.template-elegant .client-premium-center-cta {
    margin-top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
  }

  #clientPage.template-elegant .client-premium-bottom-dock {
    margin-top: var(--tpl-elegant-gap);
    padding-bottom: max(4px, env(safe-area-inset-bottom, 0px));
  }

  /* Duo compact — nu pătrate înalte pe mobil */
  #clientPage.template-elegant .client-premium-card--menu,
  #clientPage.template-elegant .client-premium-card--review {
    aspect-ratio: auto;
    max-height: 100px;
    min-height: 88px;
    height: auto;
  }

  #clientPage.template-elegant .client-premium-duo-card {
    border-radius: 14px !important;
  }

  #clientPage.template-elegant .client-template-header__logo {
    width: var(--tpl-elegant-logo);
    height: var(--tpl-elegant-logo);
  }

  #clientPage.template-elegant .client-promo-gallery-trigger,
  #clientPage.template-elegant .client-premium-banner {
    padding: 10px 12px !important;
    border-radius: 14px !important;
    border-color: rgba(212, 175, 90, 0.35) !important;
  }

  #clientPage.template-elegant .client-premium-banner__title {
    font-size: 13px;
  }

  #clientPage.template-elegant .client-premium-banner__subtitle {
    font-size: 10px;
  }

  #clientPage.template-elegant .client-elegant-social-card {
    padding: 10px 12px 12px;
    border-radius: 14px;
    border-color: rgba(212, 175, 90, 0.35);
  }

  #clientPage.template-elegant .client-elegant-social-card__title {
    font-size: 13px;
    margin-bottom: 8px;
  }

  #clientPage.template-elegant .client-elegant-social-card__icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
  }

  #clientPage.template-elegant .client-elegant-social-card__icon svg {
    width: 16px;
    height: 16px;
  }

  #clientPage.template-elegant .client-elegant-social-card__label {
    font-size: 8px;
  }

  #clientPage.template-elegant .client-template-header__social-btn {
    width: 32px;
    height: 32px;
  }

  #clientPage.template-elegant .client-template-header__social-btn svg {
    width: 14px;
    height: 14px;
  }

  #clientPage.template-elegant .client-template-header__social {
    gap: 12px;
  }

  #clientPage.template-elegant .client-premium-cta.oval-button,
  #clientPage.template-elegant #playBtn.client-premium-cta {
    border-radius: 14px !important;
  }

  #clientPage.template-elegant .client-premium-cta__label {
    font-size: 13px !important;
  }

  #clientPage.template-elegant .client-premium-fab {
    border-radius: 12px;
    border-color: rgba(212, 175, 90, 0.35) !important;
    padding: 5px 3px 4px;
  }

  #clientPage.template-elegant .client-premium-fab__icon {
    width: 18px;
    height: 18px;
  }

  #clientPage.template-elegant .client-premium-fab__title {
    font-size: 8px;
  }

  #clientPage.template-elegant .client-elegant-review__title {
    font-size: 13px;
  }

  #clientPage.template-elegant .client-elegant-review__hint {
    font-size: 10px;
    padding: 0 4px;
  }

  #clientPage.template-elegant .client-elegant-review__rating {
    font-size: 13px;
    margin-top: 2px;
  }

  #clientPage.template-elegant .client-elegant-review__stars {
    font-size: 12px;
    letter-spacing: 2px;
    margin-top: 2px;
  }

  #clientPage.template-elegant .client-elegant-review__count {
    font-size: 10px;
    margin-top: 2px;
  }

  #clientPage.template-elegant .client-elegant-review__message {
    font-size: 10px;
    padding: 4px 4px 0;
  }

  #clientPage.template-elegant .client-premium-card--menu .location-menu-btn.client-premium-menu-head {
    padding: 6px 8px 2px !important;
  }

  #clientPage.template-elegant .client-premium-card--menu .client-premium-menu__body,
  #clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__body.client-premium-menu__body {
    padding: 0 8px 8px;
  }

  #clientPage.template-elegant .client-premium-module-card__title,
  #clientPage.template-elegant .location-menu-btn__text {
    font-size: 12px !important;
  }

  #clientPage.template-elegant .feedback-button.client-premium-review-head {
    padding: 6px 6px !important;
    border-radius: 14px !important;
  }

  #clientPage.template-elegant .client-premium-card--menu .client-premium-module-card__subtitle,
  #clientPage.template-elegant .client-premium-cta__subtitle {
    font-size: 8px;
  }

  #clientPage.template-future {
    --tpl-future-action-h: 44px;
    --tpl-future-duo-h: 68px;
    --tpl-future-fab-h: 40px;
    --tpl-future-gap: 5px;
    --duo-card-h: var(--tpl-future-duo-h);
    --duo-head-h: var(--tpl-future-duo-h);
  }

  #clientPage.template-future .client-premium-module-card__title,
  #clientPage.template-future .location-menu-btn__text,
  #clientPage.template-future .feedback-title {
    font-size: 15px !important;
  }

  #clientPage.template-future .client-premium-module-card__icon,
  #clientPage.template-future .client-premium-module-card__icon svg {
    width: 22px;
    height: 22px;
  }

  #clientPage.template-future #clientPremiumSectionPromo,
  #clientPage.template-future .client-premium-hero-section[data-hero-section='promo'] {
    max-width: min(68vw, 240px);
  }

  #clientPage.template-future .client-promo-gallery-trigger.client-premium-banner {
    padding: 11px 11px 10px !important;
    row-gap: 7px;
    backdrop-filter: blur(5px) saturate(1.08);
    -webkit-backdrop-filter: blur(5px) saturate(1.08);
  }

  #clientPage.template-future .client-premium-banner__title {
    font-size: clamp(11px, 3.3vw, 13px);
  }

  #clientPage.template-future .client-template-header__logo {
    width: 48px;
    height: 48px;
  }

  #clientPage.template-future .client-template-header__brand {
    font-size: clamp(1.12rem, 5.6vw, 1.42rem);
  }

  #clientPage.template-future .client-future-social-icon svg {
    width: 28px;
    height: 28px;
  }

  #clientPage.template-future .client-future-social-hint {
    font-size: 9px;
    max-width: 120px;
    color: rgba(255, 255, 255, 0.9);
  }

  #clientPage.template-future .client-premium-center-cta {
    padding-top: 6px;
  }

  .ai-live-edit-toolbar {
    right: calc(4px + env(safe-area-inset-right, 0px));
    width: 44px;
    max-width: 44px;
    padding: 4px;
    gap: 3px;
  }

  .ai-live-edit-toolbar .ai-live-edit-toolbar__btn,
  .ai-live-edit-toolbar .btn-ghost,
  .ai-live-edit-toolbar .btn-primary {
    font-size: 8px;
    padding: 5px 1px;
  }
}

/* —— CONNECT —— dark premium, slideshow hero, compact hub —— */
.client-connect-only {
  display: none !important;
}

/* Siguranță: carduri Connect nu apar pe alte teme după vizită pe Connect */
#clientPage:not(.template-connect):not(.template-alfa):not(.template-custom) .client-connect-only,
#clientPage:not(.template-connect):not(.template-alfa):not(.template-custom) #clientConnectPromoRow,
#clientPage:not(.template-connect):not(.template-alfa):not(.template-custom) #clientConnectSlideshow,
#clientPage:not(.template-connect):not(.template-alfa):not(.template-custom) #clientConnectOfferCard,
#clientPage:not(.template-connect):not(.template-alfa):not(.template-custom) #clientConnectCampaignCard {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body:has(#clientPage.template-connect.visible) {
  background: #000;
}

body:has(#clientPage.template-connect.visible) #bgContainer {
  background: #000 !important;
}

body:has(#clientPage.template-connect.visible) #bgContainer .bg-slide {
  opacity: 0 !important;
}

body:has(#clientPage.template-connect.visible) #bgContainer::after {
  background: #000 !important;
}

#clientPage.template-connect.client-premium-ui {
  --tpl-connect-green: rgba(255, 255, 255, 0.95);
  --tpl-connect-green-dim: rgba(255, 255, 255, 0.5);
  --tpl-connect-line: rgba(255, 255, 255, 0.14);
  --tpl-connect-line-strong: rgba(255, 255, 255, 0.22);
  --tpl-connect-gold: #d4af37;
  --tpl-connect-gold-dim: rgba(212, 175, 55, 0.55);
  --tpl-connect-gap: clamp(6px, 0.9dvh, 8px);
  --tpl-connect-promo-peek: clamp(24px, 4.5dvh, 42px);
  --tpl-connect-header-h: clamp(52px, 8dvh, 68px);
  --tpl-connect-promo-h: clamp(172px, 25dvh, 220px);
  --tpl-connect-duo-h: clamp(58px, 7.4dvh, 68px);
  --tpl-connect-footer-h: clamp(54px, 6.8dvh, 60px);
  --tpl-connect-footer-total: calc(var(--tpl-connect-footer-h) + env(safe-area-inset-bottom, 0px));
  --tpl-connect-stack-h: calc(
    var(--tpl-connect-promo-h) +
    var(--tpl-connect-duo-h) +
    var(--tpl-connect-footer-total)
  );
  --tpl-connect-hero-bottom: calc(
    var(--tpl-connect-stack-h) -
    var(--tpl-connect-promo-peek)
  );
  --duo-card-h: var(--tpl-connect-duo-h);
  --duo-head-h: var(--tpl-connect-duo-h);
  --duo-icon-size: 22px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: 100svh;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 0 !important;
  overflow: hidden;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    0
    env(safe-area-inset-right, 0px)
    0
    env(safe-area-inset-left, 0px);
  box-sizing: border-box;
  background: #000;
}

/* Spațiu flexibil sus — slideshow e absolute */
#clientPage.template-connect.client-premium-ui::before {
  content: '';
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  order: 1;
  pointer-events: none;
}

#clientPage.template-connect .client-connect-only {
  visibility: visible !important;
}

#clientPage.template-connect #clientConnectSlideshow.client-connect-only {
  display: flex !important;
}

#clientPage.template-connect #clientConnectPromoRow.client-connect-only {
  display: grid !important;
}

#clientPage.template-connect .client-connect-header-hint.client-connect-only {
  display: block !important;
}

#clientPage.template-connect .client-premium-stage,
#clientPage.template-connect .client-hero-actions {
  display: contents !important;
}

#clientPage.template-connect .client-public-brand-logo {
  display: none !important;
}

#clientPage.template-connect .client-template-header {
  position: absolute;
  top: auto;
  bottom: var(--tpl-connect-stack-h);
  left: 0;
  right: 0;
  display: flex !important;
  align-items: center;
  width: 100%;
  min-height: var(--tpl-connect-header-h);
  padding:
    8px
    calc(env(safe-area-inset-right, 0px) + 12px)
    10px
    calc(env(safe-area-inset-left, 0px) + 12px);
  pointer-events: auto;
  z-index: 2825;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.55) 45%,
    rgba(0, 0, 0, 0) 100%
  );
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  -webkit-mask-image: linear-gradient(0deg, #000 0%, #000 55%, transparent 100%);
  mask-image: linear-gradient(0deg, #000 0%, #000 55%, transparent 100%);
  box-sizing: border-box;
}

#clientPage.template-connect .client-template-header__top {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  width: 100%;
}

#clientPage.template-connect .client-template-header__brand-wrap {
  justify-content: flex-start;
  width: auto;
  flex: 0 0 auto;
  flex-shrink: 0;
  order: 1;
}

#clientPage.template-connect .client-template-header__brand,
#clientPage.template-connect .client-template-header__slogan {
  display: none !important;
}

#clientPage.template-connect .client-template-header__logo {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border-radius: 50%;
  object-fit: cover;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

#clientPage.template-connect .client-template-header__social {
  display: inline-flex !important;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  width: auto !important;
  max-width: none;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  flex-shrink: 0;
  order: 3;
  margin-left: 0;
}

#clientPage.template-connect .client-connect-header-hint {
  margin: 0;
  order: 2;
  flex: 1 1 auto;
  font-size: clamp(11px, 1.55dvh, 13px);
  line-height: 1.1;
  color: rgba(255, 255, 255, 0.94);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  max-width: none;
  min-width: 0;
}

#clientPage.template-connect .client-template-header__social-btn,
#clientPage.template-connect .client-connect-social-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.42);
  color: #fff;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.32);
  cursor: pointer;
  flex: 0 0 38px !important;
  overflow: hidden;
  box-sizing: border-box;
}

#clientPage.template-connect .client-template-header__social-btn--facebook {
  background: #1877f2 !important;
  border-color: rgba(120, 190, 255, 0.4) !important;
}

#clientPage.template-connect .client-template-header__social-btn--instagram {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%) !important;
  border-color: rgba(255, 180, 220, 0.38) !important;
}

#clientPage.template-connect .client-template-header__social-btn--tiktok {
  background: #010101 !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

#clientPage.template-connect .client-template-header__social-btn svg,
#clientPage.template-connect .client-connect-social-btn svg {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  flex-shrink: 0;
  fill: currentColor;
  opacity: 1;
  display: block;
}

#clientPage.template-connect .client-template-header__social-btn:active {
  opacity: 0.82;
  transform: scale(0.94);
}

#clientPage.template-connect .client-connect-slideshow {
  position: absolute;
  top: 0;
  left: calc(-1 * env(safe-area-inset-left, 0px));
  right: calc(-1 * env(safe-area-inset-right, 0px));
  bottom: var(--tpl-connect-hero-bottom);
  z-index: 1;
  min-height: 0;
  width: auto;
  pointer-events: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
}

#clientPage.template-connect .client-connect-slideshow__viewport {
  position: relative;
  flex: 1 1 100%;
  width: 100%;
  min-height: 0;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  background: #000;
  box-shadow: none;
}

/* Blur discret — doar pe zona de overlap cu vârful cardurilor pătrate */
#clientPage.template-connect .client-connect-slideshow__viewport::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--tpl-connect-promo-peek) + 18%);
  max-height: 38%;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.18) 42%,
    rgba(0, 0, 0, 0.62) 100%
  );
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 72%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 72%);
  pointer-events: none;
  z-index: 1;
}

#clientPage.template-connect .client-connect-slideshow__track {
  position: relative;
  width: 100%;
  height: 100%;
}

#clientPage.template-connect .client-connect-slideshow__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.55s ease;
}

#clientPage.template-connect .client-connect-slideshow__slide.is-active {
  opacity: 1;
}

#clientPage.template-connect .client-connect-slideshow__dots {
  position: absolute;
  left: 50%;
  bottom: calc(var(--tpl-connect-promo-peek) + var(--tpl-connect-header-h) + 8px);
  transform: translateX(-50%);
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  height: 10px;
  z-index: 3;
}

#clientPage.template-connect .client-connect-slideshow__dot {
  width: 6px !important;
  height: 6px !important;
  min-width: 6px !important;
  min-height: 6px !important;
  max-width: 6px !important;
  max-height: 6px !important;
  flex: 0 0 6px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.55) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
  cursor: pointer;
  box-sizing: border-box !important;
}

#clientPage.template-connect .client-connect-slideshow__dot.is-active {
  background: var(--tpl-connect-green) !important;
  box-shadow: 0 0 6px var(--tpl-connect-green-dim) !important;
}

#clientPage.template-connect .client-connect-promo-row {
  flex: 0 0 var(--tpl-connect-promo-h);
  order: 20;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  height: var(--tpl-connect-promo-h);
  min-height: var(--tpl-connect-promo-h);
  max-height: var(--tpl-connect-promo-h);
  pointer-events: auto;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  z-index: 6;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: none;
  border-radius: 0;
  background: rgba(6, 6, 8, 0.96);
  box-shadow:
    0 -2px 16px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

#clientPage.template-connect .client-connect-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  max-height: 100%;
  height: 100%;
  padding: 8px 7px;
  border-radius: 0;
  border: none;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: #fff;
  cursor: pointer;
  text-align: left;
  box-shadow: none;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}

#clientPage.template-connect .client-connect-card--offer::after {
  content: '';
  position: absolute;
  right: 0;
  top: 10%;
  bottom: 10%;
  width: 1px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
  z-index: 2;
}

#clientPage.template-connect .client-connect-card--offer,
#clientPage.template-connect .client-connect-card--campaign {
  border-color: transparent;
}

/* Promo: titlu compact + imagine + CTA */
#clientPage.template-connect .client-connect-card__head {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: clamp(8px, 1.25dvh, 10px);
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 5px;
  flex-shrink: 0;
  line-height: 1.1;
}

#clientPage.template-connect .client-connect-card__head-icon {
  font-size: 10px;
  line-height: 1;
}

#clientPage.template-connect .client-connect-card--offer .client-connect-card__head-title,
#clientPage.template-connect .client-connect-card--campaign .client-connect-card__head-title {
  color: rgba(255, 255, 255, 0.95);
}

#clientPage.template-connect .client-connect-card__count {
  display: none !important;
}

#clientPage.template-connect .client-connect-card__media {
  flex: 1 1 auto;
  min-height: 0;
  border-radius: 6px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: stretch;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

#clientPage.template-connect .client-connect-card__media.has-image {
  background-color: rgba(0, 0, 0, 0.2);
}

#clientPage.template-connect .client-connect-card__img {
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: cover;
  display: block;
  opacity: 0;
}

#clientPage.template-connect .client-connect-card__fallback-text {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  padding: 4px;
  text-align: center;
}

#clientPage.template-connect .client-connect-card--offer .client-connect-card__fallback-text,
#clientPage.template-connect .client-connect-card--campaign .client-connect-card__fallback-text {
  color: rgba(255, 255, 255, 0.55);
}

#clientPage.template-connect .client-connect-card__cta {
  margin-top: 5px;
  font-size: clamp(8px, 1.2dvh, 10px);
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  text-align: center;
  text-transform: uppercase;
}

#clientPage.template-connect .client-connect-card--offer .client-connect-card__cta,
#clientPage.template-connect .client-connect-card--campaign .client-connect-card__cta {
  color: rgba(255, 255, 255, 0.88);
}

#clientPage.template-connect #clientPremiumSectionDuo,
#clientPage.template-connect .client-premium-duo {
  flex: 0 0 var(--tpl-connect-duo-h);
  order: 21;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: var(--tpl-connect-duo-h) !important;
  gap: 0;
  width: 100%;
  height: var(--tpl-connect-duo-h) !important;
  min-height: var(--tpl-connect-duo-h) !important;
  max-height: var(--tpl-connect-duo-h) !important;
  pointer-events: auto;
  margin: 0;
  position: relative;
  z-index: 4;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: none;
  border-radius: 0;
  background: rgba(6, 6, 8, 0.96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow: hidden;
  box-sizing: border-box;
  --duo-card-h: var(--tpl-connect-duo-h) !important;
}

#clientPage.template-connect #clientPremiumSectionDuo::before,
#clientPage.template-connect .client-premium-duo::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
  z-index: 3;
}

#clientPage.template-connect #layoutBlockMenu,
#clientPage.template-connect #layoutBlockReview {
  height: var(--tpl-connect-duo-h) !important;
  min-height: var(--tpl-connect-duo-h) !important;
  max-height: var(--tpl-connect-duo-h) !important;
  border-radius: 0;
  overflow: visible;
  border: none;
  background: transparent;
  position: relative;
}

#clientPage.template-connect #layoutBlockMenu::after {
  content: '';
  position: absolute;
  right: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
  z-index: 2;
}

#clientPage.template-connect #layoutBlockMenu {
  border-color: transparent;
  background: transparent;
}

#clientPage.template-connect #layoutBlockReview {
  border-color: transparent;
  background: transparent;
}

#clientPage.template-connect .location-menu-btn,
#clientPage.template-connect .feedback-button.client-premium-review-head {
  width: 100% !important;
  height: var(--tpl-connect-duo-h) !important;
  min-height: var(--tpl-connect-duo-h) !important;
  max-height: var(--tpl-connect-duo-h) !important;
  flex: 1 1 auto !important;
  box-sizing: border-box;
  padding: 0 10px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 7px !important;
  line-height: 1.15 !important;
  overflow: visible !important;
}

#clientPage.template-connect .client-premium-module-card__chevron,
#clientPage.template-connect .client-premium-module-card__subtitle,
#clientPage.template-connect #clientReviewCardSubtitle,
#clientPage.template-connect #clientElegantReviewStack,
#clientPage.template-connect .client-premium-review__divider,
#clientPage.template-connect .client-premium-review__social-block,
#clientPage.template-connect #clientReviewThanksText,
#clientPage.template-connect #clientReviewSocialHint,
#clientPage.template-connect #socialIconsBar,
#clientPage.template-connect .client-premium-menu__body,
#clientPage.template-connect .client-premium-module-card__logo-glass {
  display: none !important;
}

#clientPage.template-connect .location-menu-btn .client-premium-module-card__chevron,
#clientPage.template-connect .feedback-button.client-premium-review-head .client-premium-module-card__chevron {
  display: none !important;
}

#clientPage.template-connect .location-menu-btn .client-premium-module-card__chevron {
  color: var(--tpl-connect-green) !important;
}

#clientPage.template-connect .feedback-button.client-premium-review-head .client-premium-module-card__chevron {
  color: var(--tpl-connect-gold) !important;
}

#clientPage.template-connect .client-premium-card--menu .client-premium-menu-shell,
#clientPage.template-connect .client-premium-review-shell.client-premium-duo-card {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  justify-content: stretch;
  height: var(--tpl-connect-duo-h) !important;
  min-height: var(--tpl-connect-duo-h) !important;
  max-height: var(--tpl-connect-duo-h) !important;
  width: 100%;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  --duo-head-h: var(--tpl-connect-duo-h) !important;
  --duo-icon-size: 22px !important;
}

#clientPage.template-connect .client-premium-module-card__titles {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: hidden;
}

#clientPage.template-connect .location-menu-btn__text,
#clientPage.template-connect .feedback-title {
  display: none !important;
}

#clientPage.template-connect .client-premium-module-card__titles::before {
  content: attr(data-connect-label);
  display: block;
  font-size: clamp(11px, 1.55dvh, 13px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  line-height: 1.15 !important;
}

#clientPage.template-connect .client-premium-module-card__icon {
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#clientPage.template-connect .client-premium-module-card__icon .client-premium-svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
}

#clientPage.template-connect .client-premium-module-card__icon--menu {
  display: flex !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

#clientPage.template-connect .client-premium-module-card__icon--menu svg {
  width: 22px !important;
  height: 22px !important;
}

#clientPage.template-connect .client-premium-module-card__icon--review {
  display: flex !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

#clientPage.template-connect .client-premium-module-card__icon--review svg {
  width: 22px !important;
  height: 22px !important;
}

#clientPage.template-connect .client-premium-review-shell .client-premium-review__body {
  display: none !important;
}

#clientPage.template-connect .client-premium-center-cta,
#clientPage.template-connect #clientPremiumCenterCta,
#clientPage.template-connect #layoutBlockCampaign,
#clientPage.template-connect #playBtn,
#clientPage.template-connect #clientLoyaltyCenterBtn,
#clientPage.template-connect #triesCounter,
#clientPage.template-connect #layoutBlockPromo,
#clientPage.template-connect #clientPremiumSectionPromo,
#clientPage.template-connect .client-elegant-social-section {
  display: none !important;
}

#clientPage.template-connect .client-premium-bottom-dock {
  flex: 0 0 var(--tpl-connect-footer-total);
  order: 22;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  height: var(--tpl-connect-footer-total) !important;
  min-height: var(--tpl-connect-footer-total) !important;
  max-height: var(--tpl-connect-footer-total) !important;
  pointer-events: auto;
  padding: 0 !important;
  z-index: 5 !important;
  overflow: visible !important;
  box-sizing: border-box;
  display: block !important;
  flex-shrink: 0;
}

#clientPage.template-connect .client-fab-bar,
#clientPage.template-connect .client-premium-fab-bar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  width: 100%;
  height: var(--tpl-connect-footer-total) !important;
  min-height: var(--tpl-connect-footer-total) !important;
  max-height: var(--tpl-connect-footer-total) !important;
  margin: 0;
  padding: 3px 0 env(safe-area-inset-bottom, 0px) 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-top: none;
  border-bottom: none;
  border-radius: 0;
  background: rgba(6, 6, 8, 0.96);
  box-shadow:
    0 -2px 16px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  box-sizing: border-box;
  position: relative;
}

#clientPage.template-connect .client-fab-bar::before,
#clientPage.template-connect .client-premium-fab-bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
  z-index: 3;
}

#clientPage.template-connect .client-fab-pill {
  flex: 1 1 0;
  min-width: 0;
  height: var(--tpl-connect-footer-h) !important;
  min-height: var(--tpl-connect-footer-h) !important;
  max-height: var(--tpl-connect-footer-h) !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 2px 1px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  position: relative;
  overflow: visible !important;
}

#clientPage.template-connect .client-fab-pill:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: rgba(255, 255, 255, 0.14);
}

#clientPage.template-connect #clientWifiFab { order: 1; }
#clientPage.template-connect #clientLocationMapFab { order: 2; }
#clientPage.template-connect #clientLocationHoursFab { order: 3; }
#clientPage.template-connect #clientReservationFab { order: 4; }
#clientPage.template-connect #clientCommunityFab { display: none !important; }

#clientPage.template-connect .client-premium-fab__icon {
  width: 18px !important;
  height: 18px !important;
  color: var(--tpl-connect-green) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#clientPage.template-connect .client-premium-fab__icon--pink,
#clientPage.template-connect .client-premium-fab__icon--coral,
#clientPage.template-connect .client-premium-fab__icon--purple,
#clientPage.template-connect .client-premium-fab__icon--blue {
  background: transparent !important;
  color: var(--tpl-connect-green) !important;
}

#clientPage.template-connect .client-fab-pill__label,
#clientPage.template-connect .client-premium-fab__title {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  color: var(--tpl-connect-green) !important;
  text-transform: uppercase;
  line-height: 1.15 !important;
  white-space: nowrap;
  overflow: visible !important;
}

#clientPage.template-connect .client-premium-fab__text {
  display: contents;
}

/* Connect — popup-uri / overlay deasupra UI client (stack 2800+) */
body.popup-open #clientPage.template-connect #clientConnectPromoRow,
body.client-promo-gallery-open #clientPage.template-connect #clientConnectPromoRow,
body.sj-claim-flow-active #clientPage.template-connect #clientConnectPromoRow,
body.popup-open #clientPage.template-connect #clientConnectSlideshow,
body.client-promo-gallery-open #clientPage.template-connect #clientConnectSlideshow,
body.sj-claim-flow-active #clientPage.template-connect #clientConnectSlideshow,
body.popup-open #clientPage.template-connect #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-connect #clientPremiumSectionDuo,
body.sj-claim-flow-active #clientPage.template-connect #clientPremiumSectionDuo,
body.popup-open #clientPage.template-connect .client-premium-duo,
body.client-promo-gallery-open #clientPage.template-connect .client-premium-duo,
body.sj-claim-flow-active #clientPage.template-connect .client-premium-duo,
body.popup-open #clientPage.template-connect .client-template-header,
body.client-promo-gallery-open #clientPage.template-connect .client-template-header,
body.sj-claim-flow-active #clientPage.template-connect .client-template-header,
body.popup-open #clientPage.template-connect .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-connect .client-premium-bottom-dock,
body.sj-claim-flow-active #clientPage.template-connect .client-premium-bottom-dock {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-connect .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-connect .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

#clientPage.template-connect #wifiPopup .popup-inner,
#clientPage.template-connect #locationHoursPopup .popup-inner,
#clientPage.template-connect #locationMapPopup .popup-inner,
#clientPage.template-connect #reservationPopup .popup-inner,
#clientPage.template-connect #feedbackPopup .popup-inner,
#clientPage.template-connect #externalActionPopup .popup-inner,
#clientPage.template-connect #popup .popup-inner {
  background: rgba(6, 6, 8, 0.97) !important;
  color: #f5f5f5;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-connect .popup-close,
#clientPage.template-connect .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: var(--tpl-connect-green) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 3;
  transform: none !important;
  pointer-events: auto;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

#clientPage.template-connect .popup-close:hover,
#clientPage.template-connect .popup-close:active,
#clientPage.template-connect .contact-popup-close:hover,
#clientPage.template-connect .contact-popup-close:active {
  background: rgba(0, 0, 0, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #fff !important;
  transform: scale(0.94) !important;
}

#clientPage.template-connect .client-promo-gallery-overlay {
  z-index: 2920 !important;
  pointer-events: auto !important;
}

#clientPage.template-connect .client-promo-gallery-overlay__panel {
  background: rgba(6, 6, 8, 0.97) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-connect .client-promo-gallery-overlay__close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: var(--tpl-connect-green) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  pointer-events: auto;
  z-index: 2;
}

/* Connect — text lizibil în popup-uri footer (WiFi, Locație, Program, Contact) */
#clientPage.template-connect .wifi-popup-title,
#clientPage.template-connect .location-hours-popup-title,
#clientPage.template-connect .location-map-popup-title,
#clientPage.template-connect .contact-popup-title,
#clientPage.template-connect #reservationPopupTitle,
#clientPage.template-connect .external-action-popup-title,
#clientPage.template-connect #feedbackPopupTitle {
  color: #fff !important;
}

#clientPage.template-connect .wifi-popup-svg-icon {
  color: rgba(255, 255, 255, 0.92) !important;
}

#clientPage.template-connect .wifi-popup-field {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

#clientPage.template-connect .wifi-popup-label {
  color: rgba(255, 255, 255, 0.58) !important;
  opacity: 1 !important;
}

#clientPage.template-connect .wifi-popup-value,
#clientPage.template-connect .wifi-popup-password {
  color: #fff !important;
}

#clientPage.template-connect .wifi-copy-btn {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

#clientPage.template-connect .location-map-popup-name {
  color: #fff !important;
}

#clientPage.template-connect .location-map-popup-address,
#clientPage.template-connect .contact-popup-message,
#clientPage.template-connect #reservationPopupMessage,
#clientPage.template-connect .external-action-popup-subtext,
#clientPage.template-connect #feedbackPopupSubtext {
  color: rgba(255, 255, 255, 0.78) !important;
}

#clientPage.template-connect .contact-popup-inner {
  background: rgba(6, 6, 8, 0.97) !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-connect .contact-popup-icon {
  background: rgba(255, 255, 255, 0.08) !important;
}

#clientPage.template-connect .location-map-popup-open-btn,
#clientPage.template-connect .contact-popup-call-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
}

#clientPage.template-connect .location-map-popup-open-btn:hover,
#clientPage.template-connect .location-map-popup-open-btn:active,
#clientPage.template-connect .contact-popup-call-btn:hover,
#clientPage.template-connect .contact-popup-call-btn:active {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  color: #fff !important;
}

#clientPage.template-connect .popup-inner h2,
#clientPage.template-connect .popup-inner p,
#clientPage.template-connect .popup-inner label {
  color: inherit;
}

@media (max-width: 380px) {
  #clientPage.template-connect .client-connect-header-hint {
    font-size: clamp(10px, 1.4dvh, 11.5px);
  }

  #clientPage.template-connect .client-template-header__logo {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
  }
}

@media (min-width: 768px) {
  #clientPage.template-connect.client-premium-ui {
    --tpl-connect-header-h: clamp(58px, 8dvh, 74px);
    --tpl-connect-promo-h: clamp(190px, 24dvh, 240px);
    --tpl-connect-promo-peek: clamp(28px, 4dvh, 46px);
    --tpl-connect-duo-h: clamp(58px, 6.8dvh, 66px);
    --tpl-connect-footer-h: clamp(56px, 6.6dvh, 62px);
  }
}

/* ===== Template Alfa — campanii sus, slideshow hero, duo compact ===== */

body:has(#clientPage.template-alfa.visible) {
  background: transparent;
}

body:has(#clientPage.template-alfa.visible) #app {
  background: transparent;
}

body:has(#clientPage.template-alfa.visible) #clientPage.page,
body:has(#clientPage.template-alfa.visible) #clientPage.template-alfa {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body:has(#clientPage.template-alfa.visible) #bgContainer {
  background: transparent !important;
}

body:has(#clientPage.template-alfa.visible) #bgContainer .bg-slide {
  opacity: 0 !important;
}

body:has(#clientPage.template-alfa.visible) #bgContainer::after {
  display: none !important;
}

/* Fundal full-screen = aceeași imagine ca slideshow (blur ușor + overlay) */
.client-alfa-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  --alfa-ambient-image: none;
}

.client-alfa-ambient::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--alfa-ambient-image);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: blur(20px) saturate(1.08);
  transform: scale(1.04);
  opacity: 0;
  transition: opacity 0.5s ease;
}

.client-alfa-ambient::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.32);
  opacity: 0;
  transition: opacity 0.5s ease;
}

.client-alfa-ambient.is-ready::before,
.client-alfa-ambient.is-ready::after {
  opacity: 1;
}

#clientPage.template-alfa.client-premium-ui {
  --tpl-alfa-gold: #d4af37;
  --tpl-alfa-gold-dim: rgba(212, 175, 55, 0.55);
  --tpl-alfa-green: rgba(255, 255, 255, 0.95);
  --tpl-alfa-line: rgba(255, 255, 255, 0.14);
  --tpl-alfa-glass: rgba(10, 10, 14, 0.58);
  --tpl-alfa-glass-strong: rgba(8, 8, 12, 0.78);
  --tpl-alfa-glass-border: rgba(255, 255, 255, 0.14);
  --tpl-alfa-blur: blur(16px);
  --tpl-alfa-gap: 6px;
  --tpl-alfa-duo-gap: 8px;
  --tpl-alfa-promo-top: max(8px, env(safe-area-inset-top, 0px));
  --tpl-alfa-side-l: env(safe-area-inset-left, 0px);
  --tpl-alfa-side-r: env(safe-area-inset-right, 0px);
  --tpl-alfa-pad-x: 0px;
  --tpl-alfa-edge: 8px;
  --tpl-alfa-inset-x: var(--tpl-alfa-edge);
  --tpl-alfa-bleed-inset-x: 0px;
  --tpl-alfa-header-h: 0px;
  --tpl-alfa-overlap: clamp(10px, 1.3dvh, 14px);
  --tpl-alfa-promo-card-h: clamp(72px, 13.5dvh, 100px);
  --tpl-alfa-promo-visible: 2;
  --tpl-alfa-promo-h: calc(
    var(--tpl-alfa-promo-visible) * var(--tpl-alfa-promo-card-h) +
    (var(--tpl-alfa-promo-visible) - 1) * var(--tpl-alfa-gap)
  );
  --tpl-alfa-chrome-h: calc(var(--tpl-alfa-promo-top) + var(--tpl-alfa-promo-h));
  --tpl-alfa-duo-h: clamp(128px, 22vw, 172px);
  --tpl-alfa-duo-title-size: clamp(11px, 1.45dvh, 13px);
  --tpl-alfa-review-title-size: clamp(13px, 1.85dvh, 17px);
  --tpl-alfa-duo-title-pad-top: 8px;
  --tpl-alfa-duo-sep-w: 100%;
  --tpl-alfa-footer-h: clamp(58px, 7dvh, 66px);
  --tpl-alfa-footer-total: calc(var(--tpl-alfa-footer-h) + env(safe-area-inset-bottom, 0px));
  --tpl-alfa-bottom-stack: calc(var(--tpl-alfa-duo-h) + var(--tpl-alfa-footer-total));
  --tpl-alfa-stack-h: var(--tpl-alfa-bottom-stack);
  --tpl-alfa-z-promo: 15;
  --tpl-alfa-z-duo: 22;
  --tpl-alfa-z-dock: 18;
  --duo-card-h: var(--tpl-alfa-duo-h);
  --duo-head-h: var(--tpl-alfa-duo-h);
  --duo-icon-size: 22px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: 100svh;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 0 !important;
  overflow: hidden;
  max-width: none;
  width: 100%;
  margin: 0;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding:
    0
    var(--tpl-alfa-side-r)
    var(--tpl-alfa-stack-h)
    var(--tpl-alfa-side-l) !important;
  box-sizing: border-box;
  background: transparent;
  gap: 0;
  width: 100% !important;
  max-width: none !important;
}

#clientPage.template-alfa.client-premium-ui::after {
  display: none !important;
  content: none !important;
}

#clientPage.template-alfa #clientPremiumSectionPromo,
#clientPage.template-alfa #clientElegantSocialSection,
#clientPage.template-alfa #layoutBlockLoyalty,
#clientPage.template-alfa #layoutBlockEvent,
#clientPage.template-alfa #layoutBlockSocial,
#clientPage.template-alfa #layoutBlockRules,
#clientPage.template-alfa .client-hero-actions > *:not(#clientPremiumSectionDuo) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage.template-alfa .client-alfa-only {
  visibility: visible !important;
}

#clientPage.template-alfa #clientConnectSlideshow.client-alfa-only {
  display: flex !important;
}

#clientPage.template-alfa #clientConnectPromoRow.client-alfa-only {
  display: grid !important;
}

#clientPage.template-alfa .client-connect-header-hint.client-alfa-only {
  display: block !important;
}

#clientPage.template-alfa .client-connect-slideshow__nav.client-alfa-only {
  display: none !important;
}

#clientPage.template-alfa .client-premium-stage {
  display: contents !important;
  position: static !important;
  inset: auto !important;
  max-width: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  pointer-events: none;
}

#clientPage.template-alfa .client-hero-actions {
  display: contents !important;
  position: static !important;
  flex: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

#clientPage.template-alfa .client-public-brand-logo {
  display: none !important;
}

#clientPage.template-alfa #clientConnectSocialHint,
#clientPage.template-alfa .client-connect-header-hint.client-alfa-only {
  display: none !important;
}

#clientPage.template-alfa .client-connect-only.client-alfa-only,
#clientPage.template-alfa #clientConnectSlideshow.client-alfa-only {
  display: flex !important;
  visibility: visible !important;
}

#clientPage.template-alfa #clientConnectPromoRow.client-alfa-only {
  display: grid !important;
  visibility: visible !important;
}

#clientPage.template-alfa .client-template-header,
#clientPage.template-alfa .client-template-header.client-alfa-top-chrome {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage.template-alfa .client-template-header__top {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0;
  width: 100%;
  min-height: var(--tpl-alfa-header-row);
  height: var(--tpl-alfa-header-row);
  position: relative;
}

#clientPage.template-alfa .client-template-header__brand-wrap {
  grid-column: 1;
  justify-self: start;
  align-self: center;
  display: flex !important;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  min-width: 0;
  padding: 0;
}

#clientPage.template-alfa .client-template-header__brand {
  display: none !important;
}

#clientPage.template-alfa .client-template-header__slogan {
  display: none !important;
}

#clientPage.template-alfa .client-template-header__logo {
  display: block !important;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.26);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

#clientPage.template-alfa .client-connect-header-hint {
  grid-column: 2;
  justify-self: center;
  align-self: center;
  width: auto;
  max-width: min(50vw, 220px);
  margin: 0;
  padding: 0 4px;
  font-size: clamp(10px, 1.35dvh, 12.5px);
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.96);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

#clientPage.template-alfa .client-template-header__social,
#clientPage.template-alfa .client-alfa-social-glass,
#clientPage.template-alfa .client-alfa-social-free {
  grid-column: 3;
  justify-self: end;
  align-self: center;
  position: relative !important;
  top: 0 !important;
  right: 0 !important;
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  pointer-events: auto;
  z-index: 2;
}

#clientPage.template-alfa .client-template-header__social-btn,
#clientPage.template-alfa .client-connect-social-btn {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: none !important;
  color: #fff !important;
  box-shadow:
    0 2px 12px rgba(0, 0, 0, 0.45),
    0 0 14px rgba(255, 255, 255, 0.08) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 40px !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

#clientPage.template-alfa .client-template-header__social-btn:hover,
#clientPage.template-alfa .client-connect-social-btn:hover {
  transform: translateY(-1px) scale(1.04);
  filter: brightness(1.08);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.5),
    0 0 18px rgba(255, 255, 255, 0.14) !important;
}

#clientPage.template-alfa .client-template-header__social-btn:active,
#clientPage.template-alfa .client-connect-social-btn:active {
  transform: scale(0.96);
}

#clientPage.template-alfa .client-template-header__social-btn--facebook {
  background: #1877f2 !important;
}

#clientPage.template-alfa .client-template-header__social-btn--instagram {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%) !important;
}

#clientPage.template-alfa .client-template-header__social-btn--tiktok {
  background: #010101 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

#clientPage.template-alfa .client-template-header__social-btn svg,
#clientPage.template-alfa .client-connect-social-btn svg {
  width: 17px !important;
  height: 17px !important;
}

#clientPage.template-alfa .client-connect-promo-row {
  order: -1;
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--tpl-alfa-gap);
  row-gap: var(--tpl-alfa-gap);
  width: 100%;
  height: auto;
  pointer-events: auto;
  margin: 0;
  margin-bottom: calc(-1 * var(--tpl-alfa-overlap));
  padding: 0 var(--tpl-alfa-bleed-inset-x);
  box-sizing: border-box;
  z-index: var(--tpl-alfa-z-promo);
  position: relative;
  align-items: stretch;
  filter: none;
}

#clientPage.template-alfa #clientConnectOfferCard:not([hidden]) {
  margin-top: var(--tpl-alfa-promo-top);
}

#clientPage.template-alfa #clientConnectCampaignCard {
  margin-top: 0 !important;
}

#clientPage.template-alfa #clientConnectCampaignCard[hidden] + #clientConnectOfferCard:not([hidden]) {
  margin-top: var(--tpl-alfa-promo-top) !important;
}

#clientPage.template-alfa #clientConnectOfferCard[hidden] + #clientConnectCampaignCard:not([hidden]) {
  margin-top: var(--tpl-alfa-promo-top) !important;
}

#clientPage.template-alfa #clientConnectCampaignCard:not([hidden]) {
  margin-top: 0;
}

#clientPage.template-alfa .client-connect-promo-row:has(#clientConnectCampaignCard[hidden]) #clientConnectOfferCard:not([hidden]) {
  position: relative;
  z-index: 2;
}

#clientPage.template-alfa #clientConnectCampaignCard,
#clientPage.template-alfa #clientConnectOfferCard {
  width: 100%;
  aspect-ratio: unset;
  height: var(--tpl-alfa-promo-card-h);
  max-height: var(--tpl-alfa-promo-card-h);
  min-height: var(--tpl-alfa-promo-card-h);
  align-self: stretch;
  margin: 0 !important;
}

#clientPage.template-alfa .client-connect-promo-row > .client-connect-card {
  margin: 0 !important;
}

#clientPage.template-alfa #clientConnectOfferCard { order: 1; }
#clientPage.template-alfa #clientConnectCampaignCard { order: 2; }

/* Promo: ascunde varianta veche doar când layout-ul premium e activ */
#clientPage.template-alfa #clientConnectOfferCard.client-connect-card--alfa-premium > .client-connect-card__head,
#clientPage.template-alfa #clientConnectCampaignCard.client-connect-card--alfa-premium > .client-connect-card__head,
#clientPage.template-alfa #clientConnectOfferCard.client-connect-card--alfa-premium > .client-connect-card__cta,
#clientPage.template-alfa #clientConnectCampaignCard.client-connect-card--alfa-premium > .client-connect-card__cta {
  display: none !important;
}

#clientPage.template-alfa #clientConnectOfferCard.client-connect-card--offer.client-connect-card--alfa-premium,
#clientPage.template-alfa #clientConnectCampaignCard.client-connect-card--campaign.client-connect-card--alfa-premium,
#clientPage.template-alfa .client-connect-card--alfa-premium {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(72px, 36%);
  grid-template-rows: 1fr;
  align-items: stretch;
  padding: 10px 0 10px 14px;
  overflow: hidden;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#clientPage.template-alfa #clientConnectOfferCard.client-connect-card--offer {
  background: linear-gradient(118deg, #d4621a 0%, #b83218 42%, #6e140e 100%) !important;
  border: 1px solid rgba(255, 180, 80, 0.28) !important;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.32),
    0 0 24px rgba(212, 120, 40, 0.18) !important;
}

#clientPage.template-alfa #clientConnectCampaignCard.client-connect-card--campaign {
  background: linear-gradient(118deg, #1f8f4a 0%, #126832 48%, #0a3d20 100%) !important;
  border: 1px solid rgba(100, 220, 140, 0.28) !important;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.32),
    0 0 24px rgba(48, 160, 90, 0.16) !important;
  position: relative;
  z-index: 2;
}

#clientPage.template-alfa #clientConnectOfferCard .client-connect-card__media,
#clientPage.template-alfa #clientConnectCampaignCard .client-connect-card__media,
#clientPage.template-alfa .client-connect-card--alfa-premium .client-connect-card__media {
  grid-column: 2;
  grid-row: 1;
  position: relative !important;
  inset: auto !important;
  z-index: 2;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: unset !important;
  margin: 0;
  opacity: 1;
  border-radius: 0 14px 14px 0;
  overflow: hidden;
  mask-image: none;
  -webkit-mask-image: none;
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
  background: transparent !important;
  align-self: stretch;
}

#clientPage.template-alfa #clientConnectOfferCard .client-connect-card__media.has-image,
#clientPage.template-alfa #clientConnectCampaignCard .client-connect-card__media.has-image,
#clientPage.template-alfa .client-connect-card--alfa-premium .client-connect-card__media.has-image {
  background-size: contain !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
}

#clientPage.template-alfa #clientConnectOfferCard .client-connect-card__media .client-connect-card__img,
#clientPage.template-alfa #clientConnectCampaignCard .client-connect-card__media .client-connect-card__img,
#clientPage.template-alfa #clientConnectOfferCard .client-connect-card__media .client-connect-card__fallback-text,
#clientPage.template-alfa #clientConnectCampaignCard .client-connect-card__media .client-connect-card__fallback-text,
#clientPage.template-alfa .client-connect-card--alfa-premium .client-connect-card__media .client-connect-card__img,
#clientPage.template-alfa .client-connect-card--alfa-premium .client-connect-card__media .client-connect-card__fallback-text {
  display: none !important;
}

#clientPage.template-alfa #clientConnectCampaignCard .client-connect-card__media:not(.has-image)::after,
#clientPage.template-alfa .client-connect-card--campaign .client-connect-card__media:not(.has-image)::after {
  content: '🏆';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(36px, 8vw, 52px);
  opacity: 0.92;
  pointer-events: none;
}

#clientPage.template-alfa #clientConnectOfferCard .client-connect-card__media:not(.has-image)::after,
#clientPage.template-alfa .client-connect-card--offer .client-connect-card__media:not(.has-image)::after {
  content: '%';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(40px, 9vw, 56px);
  font-weight: 900;
  color: rgba(255, 220, 120, 0.95);
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

#clientPage.template-alfa .client-connect-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  aspect-ratio: unset;
  padding: 11px 14px 10px;
  border-radius: 16px;
  color: #fff;
  cursor: pointer;
  text-align: left;
  overflow: hidden;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.28),
    0 0 20px rgba(255, 255, 255, 0.04);
  position: relative;
  isolation: isolate;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#clientPage.template-alfa .client-connect-card--campaign,
#clientPage.template-alfa .client-connect-card--offer {
  border-radius: 16px;
}

#clientPage.template-alfa .client-connect-card--alfa-premium::after {
  display: none;
}

#clientPage.template-alfa .client-connect-card--alfa-premium .client-connect-card__head,
#clientPage.template-alfa .client-connect-card--alfa-premium .client-connect-card__cta {
  display: none !important;
}

#clientPage.template-alfa .client-alfa-card-premium {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 3;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  padding-right: 6px;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible;
}

#clientPage.template-alfa .client-alfa-card-title,
#clientPage.template-alfa .client-alfa-card-desc,
#clientPage.template-alfa .client-alfa-card-stat,
#clientPage.template-alfa .client-alfa-card-action {
  display: block;
  visibility: visible;
}

#clientPage.template-alfa .client-alfa-card-title {
  font-size: clamp(11px, 1.5dvh, 13.5px);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.12;
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
  max-width: 100%;
}

#clientPage.template-alfa .client-alfa-card-desc {
  font-size: clamp(9px, 1.12dvh, 11px);
  font-weight: 500;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.86);
  max-width: 100%;
}

#clientPage.template-alfa .client-connect-card--campaign .client-alfa-card-badge {
  display: none !important;
}

#clientPage.template-alfa .client-connect-card--offer .client-alfa-card-stat {
  display: none !important;
}

#clientPage.template-alfa .client-alfa-card-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: clamp(7px, 0.95dvh, 8.5px);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.1;
  white-space: nowrap;
  margin-bottom: 2px;
}

#clientPage.template-alfa .client-alfa-card-badge--campaign {
  color: rgba(150, 255, 190, 0.98);
  background: rgba(40, 120, 72, 0.35);
  border: 1px solid rgba(100, 220, 140, 0.35);
  box-shadow: 0 0 12px rgba(72, 200, 120, 0.22);
  animation: tpl-alfa-badge-pulse 2.4s ease-in-out infinite;
}

#clientPage.template-alfa .client-alfa-card-badge--offer {
  color: #ffe08a;
  background: rgba(120, 90, 20, 0.38);
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.18);
}

@keyframes tpl-alfa-badge-pulse {
  0%, 100% { box-shadow: 0 0 10px rgba(72, 200, 120, 0.18); }
  50% { box-shadow: 0 0 16px rgba(72, 200, 120, 0.34); }
}

#clientPage.template-alfa .client-alfa-card-stat {
  font-size: clamp(9px, 1.12dvh, 11px);
  font-weight: 600;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.01em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

#clientPage.template-alfa .client-connect-card--campaign .client-alfa-card-stat::before {
  content: '👥';
  font-size: 1.05em;
  line-height: 1;
}

#clientPage.template-alfa .client-alfa-card-progress {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
}

#clientPage.template-alfa .client-alfa-card-progress__fill {
  display: block;
  height: 100%;
  width: var(--alfa-progress, 0%);
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(72, 200, 120, 0.85), rgba(130, 240, 170, 0.95));
  box-shadow: 0 0 8px rgba(72, 200, 120, 0.35);
  transition: width 0.35s ease;
}

#clientPage.template-alfa .client-alfa-card-action {
  font-size: clamp(8px, 1.08dvh, 10px);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.1;
  margin-top: 3px;
}

#clientPage.template-alfa .client-connect-card--campaign .client-alfa-card-action {
  color: rgba(140, 240, 175, 0.98);
}

#clientPage.template-alfa .client-connect-card--offer .client-alfa-card-action {
  color: #ffc766;
}

#clientPage.template-alfa .client-connect-card--campaign {
  border-top: none;
}

#clientPage.template-alfa .client-connect-card--offer {
  border-top: none;
}

#clientPage.template-alfa .client-connect-card:active {
  transform: scale(0.985);
}

#clientPage.template-alfa .client-connect-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, transparent 38%);
  pointer-events: none;
  z-index: 0;
}

#clientPage.template-alfa .client-connect-card > * {
  position: relative;
  z-index: 1;
}

#clientPage.template-alfa .client-connect-card--offer::after {
  display: none;
}

#clientPage.template-alfa .client-connect-card__head {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: clamp(7.5px, 1.05dvh, 9.5px);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
  flex-shrink: 0;
  text-transform: uppercase;
}

#clientPage.template-alfa .client-connect-card__media {
  flex: 1 1 auto;
  min-height: 32px;
  width: 100%;
  border-radius: 7px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.32) 0%, rgba(255, 255, 255, 0.04) 100%);
}

#clientPage.template-alfa .client-connect-card__cta {
  margin-top: 4px;
  font-size: clamp(7.5px, 1dvh, 9px);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  flex-shrink: 0;
  opacity: 1;
}

#clientPage.template-alfa .client-connect-slideshow {
  position: absolute;
  top: calc(var(--tpl-alfa-chrome-h) - var(--tpl-alfa-overlap));
  left: 0;
  right: 0;
  bottom: calc(var(--tpl-alfa-stack-h) - var(--tpl-alfa-overlap));
  z-index: 1;
  order: 0 !important;
  flex: none;
  min-height: 0;
  margin: 0;
  padding: 0 var(--tpl-alfa-bleed-inset-x);
  box-sizing: border-box;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
}

#clientPage.template-alfa .client-connect-slideshow__viewport {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  min-height: 0;
  height: 100%;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.38);
}

#clientPage.template-alfa .client-connect-slideshow__viewport::after {
  display: block;
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.38) 0%,
    rgba(0, 0, 0, 0.04) 28%,
    rgba(0, 0, 0, 0.04) 62%,
    rgba(0, 0, 0, 0.58) 100%
  );
  pointer-events: none;
  z-index: 2;
}

#clientPage.template-alfa .client-connect-slideshow__track {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#clientPage.template-alfa .client-connect-slideshow__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.55s ease;
}

#clientPage.template-alfa .client-connect-slideshow__slide.is-active {
  opacity: 1;
}

#clientPage.template-alfa .client-connect-slideshow__nav {
  display: none !important;
}

#clientPage.template-alfa .client-connect-slideshow__dots {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: center;
  gap: 7px;
  z-index: 5;
  margin: 0;
  padding: 0;
  height: auto;
  width: auto;
  pointer-events: auto;
}

#clientPage.template-alfa .client-connect-slideshow__dot {
  width: 7px !important;
  height: 7px !important;
  min-width: 7px !important;
  min-height: 7px !important;
  max-width: 7px !important;
  max-height: 7px !important;
  flex: 0 0 7px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.42) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
  cursor: pointer;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  display: inline-block !important;
  line-height: 0 !important;
  overflow: hidden;
}

#clientPage.template-alfa .client-connect-slideshow__dot.is-active {
  background: var(--tpl-alfa-gold) !important;
  box-shadow: 0 0 8px var(--tpl-alfa-gold-dim) !important;
  transform: scale(1.15);
}

#clientPage.template-alfa #clientPremiumSectionDuo,
#clientPage.template-alfa .client-premium-duo {
  order: 4;
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: var(--tpl-alfa-duo-gap);
  width: 100% !important;
  max-width: none !important;
  height: var(--tpl-alfa-duo-h);
  min-height: var(--tpl-alfa-duo-h);
  max-height: var(--tpl-alfa-duo-h);
  pointer-events: auto;
  z-index: var(--tpl-alfa-z-duo);
  flex-shrink: 0;
  margin: 0 !important;
  padding: 0 var(--tpl-alfa-inset-x);
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: var(--tpl-alfa-footer-total) !important;
  box-sizing: border-box;
  border: none;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  overflow: visible;
}

#clientPage.template-alfa .client-layout-block--menu,
#clientPage.template-alfa .client-layout-block--review,
#clientPage.template-alfa .client-premium-card--menu,
#clientPage.template-alfa .client-premium-card--review {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: var(--tpl-alfa-duo-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

#clientPage.template-alfa .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-alfa .client-premium-review-shell.client-premium-duo-card {
  height: 100% !important;
  min-height: 0 !important;
  max-height: var(--tpl-alfa-duo-h) !important;
}

#clientPage.template-alfa #layoutBlockMenu,
#clientPage.template-alfa #layoutBlockReview {
  min-height: 0;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
  backdrop-filter: blur(16px) saturate(1.15);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.32),
    0 0 18px rgba(212, 175, 55, 0.08);
  background: rgba(10, 10, 14, 0.62) !important;
  position: relative;
}

#clientPage.template-alfa #layoutBlockReview {
  overflow: hidden;
}

#clientPage.template-alfa #layoutBlockMenu::after,
#clientPage.template-alfa #layoutBlockReview::after {
  display: none;
}

#clientPage.template-alfa .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-alfa .client-premium-review-shell.client-premium-duo-card {
  height: 100% !important;
  min-height: 0 !important;
  max-height: var(--tpl-alfa-duo-h) !important;
  display: flex;
  flex-direction: column;
}

#clientPage.template-alfa .client-premium-menu-shell.client-alfa-menu-shell {
  position: relative;
}

#clientPage.template-alfa .client-alfa-menu-hit.location-menu-btn {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  z-index: 3;
  cursor: pointer;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

#clientPage.template-alfa .client-alfa-menu-face {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: var(--tpl-alfa-duo-title-pad-top) 8px 8px;
  box-sizing: border-box;
  pointer-events: none;
  text-align: center;
}

#clientPage.template-alfa .client-alfa-menu-face__title {
  flex: 0 0 auto;
  width: 100%;
  text-align: center !important;
  font-size: var(--tpl-alfa-duo-title-size);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1.1;
  min-height: calc(var(--tpl-alfa-duo-title-size) * 1.1);
}

#clientPage.template-alfa .client-alfa-menu-face .client-alfa-duo-separator {
  flex: 0 0 auto;
}

#clientPage.template-alfa .client-alfa-menu-face__logo-zone {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  padding: 4px 8px 8px;
  box-sizing: border-box;
}

#clientPage.template-alfa .client-alfa-menu-face__logo {
  display: block !important;
  width: clamp(76px, 18vw, 108px);
  height: clamp(76px, 18vw, 108px);
  max-width: calc(100% - 8px);
  max-height: 100%;
  border-radius: 50%;
  object-fit: contain;
  object-position: center center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.38);
  background: rgba(255, 255, 255, 0.04);
}

#clientPage.template-alfa .client-alfa-menu-face__emoji {
  font-size: clamp(34px, 7.5vw, 44px);
  line-height: 1;
}

#clientPage.template-alfa #layoutBlockMenu .location-menu-btn > .client-premium-module-card__icon,
#clientPage.template-alfa #layoutBlockMenu .location-menu-btn > .client-premium-module-card__titles,
#clientPage.template-alfa #layoutBlockMenu .location-menu-btn > .client-premium-module-card__chevron,
#clientPage.template-alfa .client-alfa-menu-card > .client-premium-module-card__icon,
#clientPage.template-alfa .client-alfa-menu-card > .client-premium-module-card__titles,
#clientPage.template-alfa .client-alfa-menu-card > .client-premium-module-card__chevron {
  display: none !important;
}

/* legacy stack — curățare dacă a rămas din versiuni anterioare */
#clientPage.template-alfa .client-alfa-menu-stack {
  display: none !important;
}

#clientPage.template-alfa .client-alfa-duo-separator {
  display: block;
  width: var(--tpl-alfa-duo-sep-w);
  height: 1px;
  border: none;
  margin: 6px 0;
  padding: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(212, 175, 55, 0.45) 12%,
    rgba(212, 175, 55, 0.78) 50%,
    rgba(212, 175, 55, 0.45) 88%,
    transparent 100%
  );
  flex-shrink: 0;
}

#clientPage.template-alfa .feedback-button.client-premium-review-head {
  display: none !important;
}

#clientPage.template-alfa .client-premium-review-shell .client-premium-review__body {
  display: grid !important;
  grid-template-rows: auto auto auto 1fr;
  align-items: stretch;
  justify-items: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: var(--tpl-alfa-duo-title-pad-top) 10px 10px !important;
  box-sizing: border-box;
  gap: 0;
}

#clientPage.template-alfa .client-alfa-review-rating,
#clientPage.template-alfa .client-premium-review-shell--no-feedback .client-alfa-review-rating,
#clientPage.template-alfa .client-premium-review-shell--no-feedback .client-premium-review__thanks {
  grid-row: 1;
  align-self: start;
  justify-self: center;
  width: 100%;
  text-align: center !important;
  font-size: var(--tpl-alfa-duo-title-size) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0;
  line-height: 1.1 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0;
  min-height: calc(var(--tpl-alfa-duo-title-size) * 1.1);
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
}

#clientPage.template-alfa .client-alfa-review-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

#clientPage.template-alfa .client-alfa-review-star {
  color: var(--tpl-alfa-gold);
  filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.45));
  font-size: 1.05em;
  line-height: 1;
}

#clientPage.template-alfa .client-premium-review-shell--no-feedback .client-premium-review__divider {
  display: block !important;
}

#clientPage.template-alfa .client-premium-review__divider {
  grid-row: 3;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 4px 0 6px !important;
  border: none !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(212, 175, 55, 0.45) 8%,
    rgba(212, 175, 55, 0.78) 50%,
    rgba(212, 175, 55, 0.45) 92%,
    transparent 100%
  ) !important;
  align-self: stretch;
}

#clientPage.template-alfa .client-alfa-review-thanks {
  grid-row: 2;
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 2px 6px 0;
  text-align: center !important;
  font-size: clamp(10px, 1.28dvh, 12.5px);
  font-weight: 500;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.88);
  letter-spacing: 0.02em;
}

#clientPage.template-alfa .client-premium-review__social-block {
  grid-row: 4;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex: 1 1 auto;
  gap: 0;
  width: 100%;
  min-height: 0;
  padding: 2px 6px 8px;
  box-sizing: border-box;
}

#clientPage.template-alfa .client-premium-review__social-block::before {
  display: none !important;
  content: none !important;
}

#clientPage.template-alfa #clientReviewSocialHint {
  display: none !important;
}

#clientPage.template-alfa #socialIconsBar.client-premium-social-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center !important;
  gap: 13px !important;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  flex-wrap: nowrap;
}

#clientPage.template-alfa #socialIconsBar .client-premium-social-divider {
  display: none !important;
}

#clientPage.template-alfa #socialBtnInstagram { order: 1; }
#clientPage.template-alfa #socialBtnFacebook { order: 2; }
#clientPage.template-alfa #socialBtnTiktok { order: 3; }

#clientPage.template-alfa #socialIconsBar .social-icon-circle {
  width: 33px !important;
  height: 33px !important;
  min-width: 33px !important;
  min-height: 33px !important;
  max-width: 33px !important;
  max-height: 33px !important;
  flex: 0 0 33px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: none !important;
  box-shadow:
    0 3px 12px rgba(0, 0, 0, 0.42),
    0 0 10px rgba(255, 255, 255, 0.05) !important;
  transition: transform 0.16s ease, filter 0.16s ease;
}

#clientPage.template-alfa #socialIconsBar .social-icon-circle svg {
  width: 15px !important;
  height: 15px !important;
}

#clientPage.template-alfa #socialIconsBar .social-icon--facebook {
  background: #1877f2 !important;
}

#clientPage.template-alfa #socialIconsBar .social-icon--instagram {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%) !important;
}

#clientPage.template-alfa #socialIconsBar .social-icon--tiktok {
  background: #010101 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

#clientPage.template-alfa #socialIconsBar .social-icon-circle:active {
  transform: scale(0.94);
}

#clientPage.template-alfa #layoutBlockPromo,
#clientPage.template-alfa #clientPremiumSectionPromo,
#clientPage.template-alfa .client-alfa-editable-section,
#clientPage.template-alfa #clientPromoGalleryTrigger {
  display: none !important;
}

#clientPage.template-alfa .client-premium-menu__body,
#clientPage.template-alfa .client-premium-module-card__logo-glass:not(.client-alfa-menu-logo) {
  display: none !important;
}

#clientPage.template-alfa .client-premium-center-cta,
#clientPage.template-alfa #clientPremiumCenterCta,
#clientPage.template-alfa #layoutBlockCampaign,
#clientPage.template-alfa #playBtn,
#clientPage.template-alfa #clientLoyaltyCenterBtn,
#clientPage.template-alfa #triesCounter,
#clientPage.template-alfa .client-elegant-social-section {
  display: none !important;
}

#clientPage.template-alfa .client-premium-bottom-dock {
  order: 5;
  flex: 0 0 auto;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  transform: none;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  pointer-events: none;
  padding: 0 !important;
  z-index: var(--tpl-alfa-z-dock) !important;
  display: block !important;
  flex-shrink: 0;
  margin: 0 !important;
  box-sizing: border-box;
}

#clientPage.template-alfa .client-premium-bottom-dock > * {
  pointer-events: auto;
}

#clientPage.template-alfa .client-fab-bar,
#clientPage.template-alfa .client-premium-fab-bar {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 0 !important;
  width: 100%;
  min-height: var(--tpl-alfa-footer-h) !important;
  height: var(--tpl-alfa-footer-h) !important;
  margin: 0;
  padding:
    3px 0
    env(safe-area-inset-bottom, 0px);
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(8, 8, 12, 0.88) 0%, rgba(4, 4, 8, 0.94) 100%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: none;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

#clientPage.template-alfa .client-fab-pill {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  height: calc(var(--tpl-alfa-footer-h) - 8px) !important;
  min-height: calc(var(--tpl-alfa-footer-h) - 8px) !important;
  padding: 2px 0 !important;
}

#clientPage.template-alfa .client-fab-pill:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: rgba(255, 255, 255, 0.14);
}

#clientPage.template-alfa #clientWifiFab { order: 1; }
#clientPage.template-alfa #clientLocationMapFab { order: 2; }
#clientPage.template-alfa #clientLocationHoursFab { order: 3; }
#clientPage.template-alfa #clientReservationFab { order: 4; }
#clientPage.template-alfa #clientCommunityFab { display: none !important; }

#clientPage.template-alfa .client-premium-fab__icon,
#clientPage.template-alfa .client-premium-fab__icon--pink,
#clientPage.template-alfa .client-premium-fab__icon--coral,
#clientPage.template-alfa .client-premium-fab__icon--purple,
#clientPage.template-alfa .client-premium-fab__icon--blue {
  width: 20px !important;
  height: 20px !important;
  color: var(--tpl-alfa-gold) !important;
  background: transparent !important;
}

#clientPage.template-alfa .client-fab-pill__label,
#clientPage.template-alfa .client-premium-fab__title {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--tpl-alfa-gold) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.15 !important;
}

#clientPage.template-alfa .client-premium-fab__text {
  display: contents;
}

body.popup-open #clientPage.template-alfa #clientConnectPromoRow,
body.client-promo-gallery-open #clientPage.template-alfa #clientConnectPromoRow,
body.sj-claim-flow-active #clientPage.template-alfa #clientConnectPromoRow,
body.popup-open #clientPage.template-alfa #clientConnectSlideshow,
body.client-promo-gallery-open #clientPage.template-alfa #clientConnectSlideshow,
body.sj-claim-flow-active #clientPage.template-alfa #clientConnectSlideshow,
body.popup-open #clientPage.template-alfa #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-alfa #clientPremiumSectionDuo,
body.sj-claim-flow-active #clientPage.template-alfa #clientPremiumSectionDuo,
body.popup-open #clientPage.template-alfa .client-premium-duo,
body.client-promo-gallery-open #clientPage.template-alfa .client-premium-duo,
body.sj-claim-flow-active #clientPage.template-alfa .client-premium-duo,
body.popup-open #clientPage.template-alfa .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-alfa .client-premium-bottom-dock,
body.sj-claim-flow-active #clientPage.template-alfa .client-premium-bottom-dock {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-alfa .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#clientPage.template-alfa .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

#clientPage.template-alfa #wifiPopup .popup-inner,
#clientPage.template-alfa #locationHoursPopup .popup-inner,
#clientPage.template-alfa #locationMapPopup .popup-inner,
#clientPage.template-alfa #reservationPopup .popup-inner,
#clientPage.template-alfa #feedbackPopup .popup-inner,
#clientPage.template-alfa #externalActionPopup .popup-inner,
#clientPage.template-alfa #popup .popup-inner {
  background: rgba(6, 6, 8, 0.97) !important;
  color: #f5f5f5;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

#clientPage.template-alfa .popup-close,
#clientPage.template-alfa .contact-popup-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: var(--tpl-alfa-gold) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  z-index: 2920 !important;
  transform: none !important;
  pointer-events: auto !important;
  cursor: pointer;
}

#clientPage.template-alfa.client-premium-ui .client-premium-bottom-dock,
#clientPage.client-premium-ui.template-alfa .client-premium-bottom-dock {
  max-width: none !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body:has(#clientPage.template-alfa.visible) #clientPage {
  width: 100%;
  max-width: none;
  padding-top: 0;
  margin-top: 0;
}

@media (max-width: 380px) {
  #clientPage.template-alfa.client-premium-ui {
    --tpl-alfa-duo-h: clamp(108px, 19vw, 148px);
    --tpl-alfa-promo-card-h: clamp(76px, 16dvh, 108px);
    --tpl-alfa-footer-h: clamp(54px, 6.8dvh, 62px);
  }
}

/* ===== Template Standard — baseline premium (full-bleed · duo · CTA · dock) ===== */

body:has(#clientPage.template-standard.visible) {
  background: #080a12;
}

body:has(#clientPage.template-standard.visible) #app {
  background: transparent;
}

body:has(#clientPage.template-standard.visible) #clientPage.page,
body:has(#clientPage.template-standard.visible) #clientPage.template-standard {
  padding-top: 0 !important;
  margin-top: 0 !important;
  width: 100%;
  max-width: none;
}

body:has(#clientPage.template-standard.visible) #bgContainer::after {
  background:
    linear-gradient(
      180deg,
      rgba(8, 10, 18, 0.03) 0%,
      rgba(8, 10, 18, 0.1) 36%,
      rgba(8, 10, 18, 0.34) 70%,
      rgba(8, 10, 18, 0.5) 100%
    ),
    radial-gradient(ellipse 100% 75% at 50% 38%, transparent 42%, rgba(0, 0, 0, 0.1) 100%);
}

#clientPage.template-standard.client-premium-ui {
  --tpl-std-inset-x: clamp(12px, 3.2vw, 20px);
  --tpl-std-gap: 8px;
  --tpl-std-promo-h: 58px;
  --tpl-std-duo-h: clamp(148px, 22dvh, 178px);
  --tpl-std-cta-h: 50px;
  --tpl-std-cta-dock-gap: 22px;
  --tpl-std-dock-extra-pad: 8px;
  --tpl-std-bottom-pad: calc(
    var(--premium-dock-total) + var(--tpl-std-cta-h) + var(--tpl-std-cta-dock-gap) + 6px
  );
  --tpl-std-duo-visible: 1;
  --tpl-std-promo-visible: 0;
  --duo-card-h: var(--tpl-std-duo-h);
  max-width: none;
  width: 100%;
}

#clientPage.template-standard[data-std-duo='0'] {
  --tpl-std-duo-visible: 0;
  --tpl-std-duo-h: 0px;
}

#clientPage.template-standard[data-std-promo='1'] {
  --tpl-std-promo-visible: 1;
}

#clientPage.template-standard[data-std-promo='0'] #clientPremiumSectionPromo,
#clientPage.template-standard[data-std-promo='0'] #layoutBlockPromo {
  display: none !important;
}

#clientPage.template-standard[data-std-duo='0'] #clientPremiumSectionDuo {
  display: none !important;
}

#clientPage.template-standard .client-premium-stage {
  max-width: none !important;
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  justify-content: flex-start;
  align-items: stretch;
  padding:
    calc(env(safe-area-inset-top, 0px) + 8px)
    max(env(safe-area-inset-right, 0px), var(--tpl-std-inset-x))
    var(--tpl-std-bottom-pad)
    max(env(safe-area-inset-left, 0px), var(--tpl-std-inset-x));
  overflow: visible;
  pointer-events: none;
}

#clientPage.template-standard #clientPremiumSectionPromo {
  order: 1;
}

#clientPage.template-standard #clientPremiumSectionDuo {
  order: 2;
}

#clientPage.template-standard .client-hero-actions,
#clientPage.template-standard .client-premium-stage__hero {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  gap: var(--tpl-std-gap) !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  width: 100%;
  pointer-events: auto;
}

#clientPage.template-standard .client-premium-duo {
  grid-template-columns: 1fr 1fr;
  gap: var(--tpl-std-gap);
  width: 100%;
}

#clientPage.template-standard .client-premium-center-cta {
  max-width: none !important;
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  bottom: calc(var(--premium-dock-total) + var(--tpl-std-cta-dock-gap)) !important;
  padding:
    0
    max(env(safe-area-inset-right, 0px), var(--tpl-std-inset-x))
    0
    max(env(safe-area-inset-left, 0px), var(--tpl-std-inset-x)) !important;
  box-sizing: border-box;
}

#clientPage.template-standard .client-premium-bottom-dock {
  max-width: none !important;
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding:
    0
    max(env(safe-area-inset-right, 0px), var(--tpl-std-inset-x))
    calc(env(safe-area-inset-bottom, 0px) + var(--premium-dock-pad) + var(--tpl-std-dock-extra-pad))
    max(env(safe-area-inset-left, 0px), var(--tpl-std-inset-x)) !important;
  box-sizing: border-box;
}

#clientPage.template-standard .client-premium-banner {
  min-height: var(--tpl-std-promo-h);
  border-color: rgba(34, 197, 94, 0.3);
  background: rgba(8, 12, 18, 0.62);
}

#clientPage.template-standard .client-premium-duo-card {
  background: rgba(8, 10, 18, 0.56);
  backdrop-filter: blur(18px) saturate(1.32);
  -webkit-backdrop-filter: blur(18px) saturate(1.32);
  border-color: rgba(255, 255, 255, 0.13);
}

#clientPage.template-standard .client-premium-card--menu .client-premium-menu-shell.client-premium-duo-card {
  border-color: rgba(168, 85, 247, 0.24);
}

#clientPage.template-standard .client-premium-card--review .client-premium-review-shell.client-premium-duo-card {
  border-color: rgba(234, 179, 8, 0.24);
}

#clientPage.template-standard .client-premium-cta.oval-button,
#clientPage.template-standard #playBtn.client-premium-cta {
  min-height: var(--tpl-std-cta-h);
  max-height: var(--tpl-std-cta-h);
  height: var(--tpl-std-cta-h);
  font-size: clamp(14px, 1.65dvh, 16px);
  border-radius: 999px;
}

#clientPage.template-standard .client-premium-cta__icon {
  width: 28px;
  height: 28px;
}

#clientPage.template-standard .client-premium-review__thanks {
  font-size: clamp(10px, 1.22dvh, 12px);
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

#clientPage.template-standard .feedback-button.client-premium-review-head .client-premium-module-card__chevron,
#clientPage.template-standard .feedback-button.client-premium-review-head #clientReviewCardSubtitle {
  display: none !important;
}

#clientPage.template-standard .client-premium-review-shell .client-premium-review__body {
  display: grid !important;
  grid-template-rows: auto auto 1fr;
  align-items: stretch;
  justify-items: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 4px 8px 8px !important;
  box-sizing: border-box;
  gap: 0;
  overflow: visible !important;
}

#clientPage.template-standard .client-premium-review__divider {
  grid-row: 2;
  width: 72% !important;
  max-width: 120px !important;
  margin: 3px auto 5px !important;
}

#clientPage.template-standard .client-premium-review__social-block {
  grid-row: 3;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-height: 0;
  overflow: visible !important;
}

#clientPage.template-standard #clientReviewSocialHint {
  display: none !important;
}

#clientPage.template-standard #socialIconsBar.client-premium-social-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0 2px;
  box-sizing: border-box;
  flex-wrap: nowrap;
  overflow: visible !important;
}

#clientPage.template-standard #socialIconsBar .client-premium-social-divider {
  display: none !important;
}

#clientPage.template-standard #socialIconsBar .social-icon-circle {
  display: inline-flex !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  flex: 0 0 34px !important;
}

#clientPage.template-standard .client-premium-fab-bar {
  gap: 6px;
}

#clientPage.template-standard .client-premium-fab {
  border-radius: 16px;
  background: rgba(8, 10, 18, 0.62);
}

@media (max-width: 380px) {
  #clientPage.template-standard.client-premium-ui {
    --tpl-std-duo-h: clamp(118px, 18dvh, 148px);
    --tpl-std-cta-h: 46px;
  }
}

/* —— Modul principal: fidelizare / evenimente (Connect + Alfa + CTA global) —— */

#clientPage.template-connect .client-connect-card--loyalty,
#clientPage.template-alfa .client-connect-card--loyalty {
  --module-accent: rgba(245, 158, 11, 0.45);
  border-color: var(--module-accent) !important;
}

#clientPage.template-connect .client-connect-card--event,
#clientPage.template-alfa .client-connect-card--event {
  --module-accent: rgba(239, 68, 68, 0.45);
  border-color: var(--module-accent) !important;
}

#clientPage.template-alfa .client-connect-card--loyalty .client-alfa-card-action {
  color: #fbbf24;
}

#clientPage.template-alfa .client-connect-card--event .client-alfa-card-action {
  color: #fca5a5;
}

#clientPage.template-alfa .client-alfa-card-badge--loyalty {
  background: rgba(245, 158, 11, 0.22);
  color: #fcd34d;
}

#clientPage.template-alfa .client-alfa-card-badge--event {
  background: rgba(239, 68, 68, 0.22);
  color: #fecaca;
}

#clientPage.client-premium-ui #playBtn.client-premium-cta--loyalty {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 55%, #b45309 100%) !important;
  border-color: rgba(253, 230, 138, 0.45) !important;
}

#clientPage.client-premium-ui[data-primary-module='loyalty'] .client-premium-center-cta,
#clientPage.client-premium-ui[data-primary-module='event'] .client-premium-center-cta {
  display: flex !important;
}

#clientPage.template-custom.client-premium-ui[data-primary-module='loyalty'] .client-premium-center-cta,
#clientPage.template-custom.client-premium-ui[data-primary-module='event'] .client-premium-center-cta,
#clientPage.template-custom.client-premium-ui[data-primary-module='campaign'] .client-premium-center-cta,
#clientPage.template-custom.client-premium-ui[data-primary-module='none'] .client-premium-center-cta {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* ===== Template Custom — hero · brand · modul activ · duo · dock ===== */

body:has(#clientPage.template-custom.visible) {
  --tpl-custom-footer-h: clamp(54px, 6.8dvh, 60px);
  --tpl-custom-footer-total: calc(var(--tpl-custom-footer-h) + env(safe-area-inset-bottom, 0px));
  --tpl-custom-duo-h: clamp(64px, 8.4dvh, 74px);
  --tpl-custom-needs-h: 14px;
  --tpl-custom-duo-block-h: calc(var(--tpl-custom-needs-h) + 5px + var(--tpl-custom-duo-h));
  --tpl-custom-duo-gap: 16px;
  --tpl-custom-campaign-h: 0px;
  --tpl-custom-campaign-gap: 0px;
  --tpl-custom-header-h: 48px;
  --tpl-custom-header-gap: 8px;
  --tpl-custom-bottom-stack: calc(
    var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap) + var(--tpl-custom-duo-block-h) +
    var(--tpl-custom-campaign-gap) + var(--tpl-custom-campaign-h)
  );
  --tpl-custom-hero-h: max(
    220px,
    calc(100dvh - var(--tpl-custom-bottom-stack) - var(--tpl-custom-header-gap) - var(--tpl-custom-header-h))
  );
  background: #000000;
  overflow: hidden;
}

body:has(#clientPage.template-custom.visible #clientConnectPromoRow:not([hidden])) {
  --tpl-custom-campaign-h: 72px;
  --tpl-custom-campaign-gap: 6px;
  --tpl-custom-bottom-stack: calc(
    var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap) + var(--tpl-custom-duo-block-h) +
    var(--tpl-custom-campaign-gap) + var(--tpl-custom-campaign-h)
  );
  --tpl-custom-hero-h: max(
    220px,
    calc(100dvh - var(--tpl-custom-bottom-stack) - var(--tpl-custom-header-gap) - var(--tpl-custom-header-h))
  );
}

body:has(#clientPage.template-custom.visible) #bgContainer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body:has(#clientPage.template-custom.visible) #bgContainer .bg-slide {
  opacity: 0 !important;
}

body:has(#clientPage.template-custom.visible) #bgContainer::after {
  display: none !important;
}

#clientPage.template-custom.client-premium-ui {
  /* Accent color — paletă: gold (default) | rose | blue | emerald | silver */
  --tpl-custom-gold: #d4af37;
  --tpl-custom-gold-dim: rgba(212, 175, 55, 0.42);
  --tpl-custom-accent: var(--tpl-custom-accent, var(--tpl-custom-gold));
  --tpl-custom-accent-dim: var(--tpl-custom-gold-dim);
  --tpl-custom-bg: #000000;
  --tpl-custom-surface: rgba(14, 14, 18, 0.96);
  --tpl-custom-line: rgba(212, 175, 55, 0.22);
  --duo-card-h: var(--tpl-custom-duo-h) !important;
  --tpl-custom-pad-x: max(14px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --tpl-custom-footer-h: clamp(54px, 6.8dvh, 60px);
  --tpl-custom-footer-total: calc(var(--tpl-custom-footer-h) + env(safe-area-inset-bottom, 0px));
  --tpl-custom-duo-h: clamp(64px, 8.4dvh, 74px);
  --tpl-custom-needs-h: 14px;
  --tpl-custom-duo-block-h: calc(var(--tpl-custom-needs-h) + 5px + var(--tpl-custom-duo-h));
  --tpl-custom-duo-gap: 16px;
  --tpl-custom-campaign-h: 0px;
  --tpl-custom-campaign-gap: 0px;
  --tpl-custom-header-h: 48px;
  --tpl-custom-header-gap: 8px;
  --tpl-custom-bottom-stack: calc(
    var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap) + var(--tpl-custom-duo-block-h) +
    var(--tpl-custom-campaign-gap) + var(--tpl-custom-campaign-h)
  );
  --tpl-custom-hero-h: max(
    220px,
    calc(100dvh - var(--tpl-custom-bottom-stack) - var(--tpl-custom-header-gap) - var(--tpl-custom-header-h))
  );

/* --- Paletă accent color --- */
}
#clientPage.template-custom.client-premium-ui[data-accent='rose'] {
  --tpl-custom-accent: #e8437a;
  --tpl-custom-accent-dim: rgba(232, 67, 122, 0.42);
  --tpl-custom-line: rgba(232, 67, 122, 0.22);
}
#clientPage.template-custom.client-premium-ui[data-accent='blue'] {
  --tpl-custom-accent: #4a9eff;
  --tpl-custom-accent-dim: rgba(74, 158, 255, 0.42);
  --tpl-custom-line: rgba(74, 158, 255, 0.22);
}
#clientPage.template-custom.client-premium-ui[data-accent='emerald'] {
  --tpl-custom-accent: #2ecc71;
  --tpl-custom-accent-dim: rgba(46, 204, 113, 0.42);
  --tpl-custom-line: rgba(46, 204, 113, 0.22);
}
#clientPage.template-custom.client-premium-ui[data-accent='silver'] {
  --tpl-custom-accent: #c0c8d8;
  --tpl-custom-accent-dim: rgba(192, 200, 216, 0.42);
  --tpl-custom-line: rgba(192, 200, 216, 0.22);
}
#clientPage.template-custom.client-premium-ui[data-accent='purple'] {
  --tpl-custom-accent: #a855f7;
  --tpl-custom-accent-dim: rgba(168, 85, 247, 0.42);
  --tpl-custom-line: rgba(168, 85, 247, 0.22);
}
#clientPage.template-custom.client-premium-ui {
  position: relative !important;
  display: block !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  background: var(--tpl-custom-bg) !important;
  color: #f5f5f7;
  overflow: hidden;
  pointer-events: auto;
  z-index: 2800;
}

#clientPage.template-custom.client-premium-ui:has(#clientConnectPromoRow:not([hidden])) {
  --tpl-custom-campaign-h: 72px;
  --tpl-custom-campaign-gap: 6px;
  --tpl-custom-bottom-stack: calc(
    var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap) + var(--tpl-custom-duo-block-h) +
    var(--tpl-custom-campaign-gap) + var(--tpl-custom-campaign-h)
  );
  --tpl-custom-hero-h: max(
    220px,
    calc(100dvh - var(--tpl-custom-bottom-stack) - var(--tpl-custom-header-gap) - var(--tpl-custom-header-h))
  );
}

#clientPage.template-custom.client-premium-ui:not(:has(#clientConnectPromoRow:not([hidden]))) {
  --tpl-custom-campaign-h: 0px;
  --tpl-custom-campaign-gap: 0px;
}

#clientPage.template-custom .client-public-brand-logo,
#clientPage.template-custom #clientTemplateBrandLogo {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage.template-custom.client-premium-ui .client-premium-stage,
#clientPage.template-custom .client-premium-stage,
#clientPage.template-custom.client-premium-ui .client-hero-actions,
#clientPage.template-custom .client-hero-actions {
  display: contents !important;
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  z-index: auto !important;
  flex: none !important;
  gap: 0 !important;
  pointer-events: none;
}

#clientPage.template-custom #clientPremiumSectionPromo,
#clientPage.template-custom #clientElegantSocialSection,
#clientPage.template-custom #layoutBlockLoyalty,
#clientPage.template-custom #layoutBlockEvent,
#clientPage.template-custom #layoutBlockSocial,
#clientPage.template-custom #layoutBlockRules,
#clientPage.template-custom .client-hero-actions > *:not(#clientPremiumSectionDuo) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage.template-custom .client-custom-only,
#clientPage.template-custom #clientConnectSlideshow.client-custom-only,
#clientPage.template-custom #clientConnectPromoRow.client-custom-only {
  visibility: visible !important;
}

#clientPage.template-custom #clientConnectSlideshow {
  position: fixed !important;
  top: env(safe-area-inset-top, 0px);
  left: 0;
  right: 0;
  height: calc(var(--tpl-custom-hero-h) - env(safe-area-inset-top, 0px));
  z-index: 15;
  display: flex !important;
  flex-direction: column;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  pointer-events: auto;
}

#clientPage.template-custom #clientConnectSlideshow.client-custom-hero--empty .client-connect-slideshow__viewport {
  background: linear-gradient(180deg, #14141c 0%, #0a0a0e 100%);
  border: 1px solid rgba(212, 175, 55, 0.12);
}

#clientPage.template-custom .client-connect-slideshow__viewport {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  overflow: hidden;
  position: relative;
}

/* Fade tonal gradual — fotografia se pierde natural în fundal (păstrează culorile jos) */
#clientPage.template-custom .client-connect-slideshow__viewport::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 72%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(0, 0, 0, 0.04) 28%,
    rgba(0, 0, 0, 0.14) 48%,
    rgba(0, 0, 0, 0.34) 68%,
    rgba(0, 0, 0, 0.58) 84%,
    rgba(0, 0, 0, 0.78) 94%,
    var(--tpl-custom-bg, #000000) 100%
  );
}

/* Blur subtil în zona inferioară — topire premium foto → conținut */
#clientPage.template-custom .client-connect-slideshow__viewport::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 34%;
  z-index: 2;
  pointer-events: none;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 65%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 65%, #000 100%);
}

#clientPage.template-custom .client-connect-slideshow__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.55s ease;
}

#clientPage.template-custom .client-connect-slideshow__slide.is-active {
  opacity: 1;
  z-index: 1;
}

#clientPage.template-custom .client-connect-slideshow__track {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  /* Dizolvă marginea de jos a fotografiei în fundal — fără tăietură dură */
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 58%,
    rgba(0, 0, 0, 0.65) 82%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 58%,
    rgba(0, 0, 0, 0.65) 82%,
    transparent 100%
  );
}

#clientPage.template-custom #clientConnectSlideshow .client-connect-slideshow__slide,
#clientPage.template-custom .client-connect-slideshow__slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

#clientPage.template-custom .client-connect-slideshow__dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 10px !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 10px !important;
  z-index: 3 !important;
  pointer-events: auto;
}

#clientPage.template-custom .client-connect-slideshow__dot {
  width: 6px !important;
  height: 6px !important;
  min-width: 6px !important;
  min-height: 6px !important;
  max-width: 6px !important;
  max-height: 6px !important;
  flex: 0 0 6px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.45) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
  cursor: pointer;
  box-sizing: border-box !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
}

#clientPage.template-custom .client-connect-slideshow__dot.is-active {
  background: var(--tpl-custom-accent, var(--tpl-custom-gold)) !important;
  box-shadow: 0 0 6px var(--tpl-custom-gold-dim) !important;
  width: 8px !important;
  min-width: 8px !important;
  max-width: 8px !important;
  flex: 0 0 8px !important;
}

#clientPage.template-custom #clientTemplateHeader,
#clientPage.template-custom #clientTemplateHeader.client-custom-top-chrome {
  position: fixed !important;
  /* Brand + social fix deasupra cardului de campanie */
  top: auto !important;
  bottom: calc(var(--tpl-custom-bottom-stack) + var(--tpl-custom-header-gap)) !important;
  left: 0;
  right: 0;
  z-index: 18; /* deasupra slideshow-ului (z-index:15) */
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: var(--tpl-custom-header-h);
  padding: 10px var(--tpl-custom-pad-x) 6px;
  /* Gradient de jos în sus: negru la bază → transparent → negru la baza hero-ului */
  background: linear-gradient(
    0deg,
    rgba(0,0,0,0.92) 0%,
    rgba(0,0,0,0.65) 40%,
    rgba(0,0,0,0.2) 75%,
    transparent 100%
  );
  border: none;
  box-shadow: none;
  pointer-events: auto;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

#clientPage.template-custom .client-custom-top-chrome .client-template-header__top,
#clientPage.template-custom .client-template-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#clientPage.template-custom .client-custom-top-chrome .client-template-header__brand-wrap,
#clientPage.template-custom .client-template-header__brand-wrap {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

#clientPage.template-custom .client-custom-top-chrome .client-template-header__brand,
#clientPage.template-custom .client-template-header__brand {
  display: block !important;
  font-size: clamp(1rem, 4vw, 1.28rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}

#clientPage.template-custom .client-custom-top-chrome .client-template-header__social,
#clientPage.template-custom .client-template-header__social {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

#clientPage.template-custom .client-custom-top-chrome .client-template-header__logo,
#clientPage.template-custom .client-template-header__logo,
#clientPage.template-custom .client-template-header__slogan,
#clientPage.template-custom #clientConnectSocialHint {
  display: none !important;
}

#clientPage.template-custom .client-custom-social-btn,
#clientPage.template-custom .client-template-header__social-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: transparent !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  box-shadow: none !important;
}

#clientPage.template-custom .client-template-header__social-btn--facebook,
#clientPage.template-custom .client-template-header__social-btn--instagram,
#clientPage.template-custom .client-template-header__social-btn--tiktok {
  background: transparent !important;
  color: #fff !important;
}

#clientPage.template-custom .client-custom-social-btn svg {
  width: 15px !important;
  height: 15px !important;
}

#clientPage.template-custom .client-custom-header-review {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--tpl-custom-accent, var(--tpl-custom-gold)) !important;
}

#clientPage.template-custom .client-custom-header-review svg {
  fill: none !important;
  stroke: currentColor;
  stroke-width: 1.6;
}

#clientPage.template-custom #clientConnectPromoRow {
  position: fixed !important;
  top: auto !important;
  bottom: calc(var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap) + var(--tpl-custom-duo-block-h) + var(--tpl-custom-campaign-gap));
  left: 0;
  right: 0;
  z-index: 19;
  display: flex !important;
  flex-direction: column;
  gap: 0;
  padding: 0 var(--tpl-custom-pad-x) 0;
  width: 100%;
  box-sizing: border-box;
  pointer-events: auto;
}

#clientPage.template-custom #clientConnectOfferCard {
  display: none !important;
}

#clientPage.template-custom #clientConnectCampaignCard.client-connect-card--custom-module {
  width: 100%;
  min-height: 72px;
  max-height: 72px;
  border-radius: 18px;
  border: 1.5px solid rgba(var(--tpl-custom-campaign-rgb, 120, 80, 200), 0.55);
  background: linear-gradient(135deg, rgba(52, 34, 92, 0.97) 0%, rgba(28, 20, 52, 0.99) 52%, rgba(16, 12, 32, 0.99) 100%);
  box-shadow:
    0 0 0 0 rgba(120, 80, 200, 0.5),
    0 12px 32px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  padding: 0;
  overflow: hidden;
  animation: customCampaignPulse 2.4s ease-in-out infinite;
}

@keyframes customCampaignPulse {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(120, 80, 200, 0.5),
      0 12px 32px rgba(0, 0, 0, 0.5),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
  50% {
    box-shadow:
      0 0 0 6px rgba(120, 80, 200, 0),
      0 16px 40px rgba(0, 0, 0, 0.55),
      0 0 22px rgba(120, 80, 200, 0.35),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
}

#clientPage.template-custom #clientConnectCampaignCard .client-connect-card__head,
#clientPage.template-custom #clientConnectCampaignCard .client-connect-card__media,
#clientPage.template-custom #clientConnectCampaignCard .client-connect-card__cta {
  display: none !important;
}

#clientPage.template-custom .client-custom-module-card {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  box-sizing: border-box;
}

#clientPage.template-custom .client-custom-module-card__icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(212, 175, 55, 0.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  line-height: 1;
}

#clientPage.template-custom .client-custom-module-card__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(120, 80, 200, 0.55);
  border: 1px solid rgba(160, 120, 240, 0.35);
  line-height: 1.2;
}

#clientPage.template-custom .client-custom-module-card__title {
  font-size: 0.92rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#clientPage.template-custom .client-custom-module-card__desc {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#clientPage.template-custom .client-custom-module-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#clientPage.template-custom .client-custom-module-card__desc[hidden] {
  display: none !important;
}

#clientPage.template-custom .client-custom-module-card__arrow {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--tpl-custom-accent, var(--tpl-custom-accent, var(--tpl-custom-gold)));
  border: none;
  color: #1a1208;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#clientPage.template-custom #clientPremiumSectionDuo,
#clientPage.template-custom #clientPremiumSectionDuo.client-premium-duo {
  position: fixed !important;
  left: 0;
  right: 0;
  bottom: calc(var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap));
  top: auto !important;
  z-index: 19;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto minmax(0, var(--tpl-custom-duo-h));
  gap: 5px;
  padding: 0 var(--tpl-custom-pad-x);
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible !important;
  pointer-events: auto;
  box-sizing: border-box;
  background: transparent;
  border: none;
  box-shadow: none;
  --duo-card-h: var(--tpl-custom-duo-h) !important;
}

#clientPage.template-custom #clientCustomNeedsTitle {
  grid-column: 1 / -1;
  grid-row: 1;
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 0 0 0;
  padding: 0 2px;
  min-height: var(--tpl-custom-needs-h);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--tpl-custom-accent, var(--tpl-custom-gold));
  text-transform: uppercase;
  visibility: visible !important;
}

#clientPage.template-custom #clientCustomNeedsTitle::before,
#clientPage.template-custom #clientCustomNeedsTitle::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tpl-custom-gold-dim) 18%, var(--tpl-custom-gold-dim) 82%, transparent);
}

#clientPage.template-custom #layoutBlockMenu {
  grid-column: 1;
  grid-row: 2;
}

#clientPage.template-custom #layoutBlockReview {
  grid-column: 2;
  grid-row: 2;
}

#clientPage.template-custom #layoutBlockMenu,
#clientPage.template-custom #layoutBlockReview,
#clientPage.template-custom .client-layout-block--menu,
#clientPage.template-custom .client-layout-block--review,
#clientPage.template-custom .client-premium-card--menu,
#clientPage.template-custom .client-premium-card--review {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  height: var(--tpl-custom-duo-h) !important;
  min-height: 0 !important;
  max-height: var(--tpl-custom-duo-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 14px;
  border: 1px solid rgba(212, 175, 55, 0.16);
  background: rgba(12, 12, 16, 0.92) !important;
  overflow: visible;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.38),
    inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

#clientPage.template-custom .client-premium-duo {
  --duo-card-h: var(--tpl-custom-duo-h) !important;
  grid-template-rows: auto minmax(0, var(--tpl-custom-duo-h)) !important;
}

#clientPage.template-custom .client-custom-duo-card,
#clientPage.template-custom .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-custom .client-premium-review-shell.client-premium-duo-card {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: var(--tpl-custom-duo-h) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

#clientPage.template-custom .client-custom-duo-tile,
#clientPage.template-custom .location-menu-btn.client-premium-menu-head,
#clientPage.template-custom .feedback-button.client-premium-review-head {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 11px 8px 12px !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-align: center !important;
}

#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__icon,
#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__icon--menu,
#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__icon--review {
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--tpl-custom-accent, var(--tpl-custom-gold)) !important;
}

#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__icon svg {
  width: 20px !important;
  height: 20px !important;
}

#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__titles {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 1 auto !important;
}

#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__title,
#clientPage.template-custom .client-custom-duo-tile .location-menu-btn__text,
#clientPage.template-custom .client-custom-duo-tile .feedback-title {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: 0.01em;
  text-shadow: none !important;
  white-space: normal;
}

#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__subtitle,
#clientPage.template-custom .client-custom-duo-tile #clientMenuCardSubtitle,
#clientPage.template-custom .client-custom-duo-tile #clientReviewCardSubtitle {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

#clientPage.template-custom .client-custom-duo-tile .client-premium-module-card__chevron,
#clientPage.template-custom .client-premium-menu__body,
#clientPage.template-custom .client-premium-review__body {
  display: none !important;
}

#clientPage.template-custom #clientPremiumCenterCta,
#clientPage.template-custom #layoutBlockCampaign,
#clientPage.template-custom #playBtn,
#clientPage.template-custom #playBtn.oval-button,
#clientPage.template-custom .oval-button,
#clientPage.template-custom #clientPremiumSectionPromo,
#clientPage.template-custom #layoutBlockPromo,
#clientPage.template-custom #clientPromoGalleryTrigger,
#clientPage.template-custom .client-premium-hero-section[data-hero-section='promo'],
#clientPage.template-custom #clientLoyaltyModuleTrigger,
#clientPage.template-custom #clientEventModuleTrigger,
#clientPage.template-custom .loyalty-module-wrap,
#clientPage.template-custom .event-module-wrap,
#clientPage.template-custom #clientElegantSocialSection,
#clientPage.template-custom #layoutBlockLoyalty,
#clientPage.template-custom #layoutBlockEvent,
#clientPage.template-custom #layoutBlockRules,
#clientPage.template-custom .client-premium-banner,
#clientPage.template-custom .client-premium-cta,
#clientPage.template-custom .client-promo-gallery-trigger,
#clientPage.template-custom .loyalty-module-trigger,
#clientPage.template-custom .event-module-trigger {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

body.joy-assistant-active.joy-assistant-client-preview #clientPage.template-custom .client-premium-center-cta,
body.joy-assistant-active.joy-assistant-client-preview #clientPage.template-custom #clientPremiumSectionPromo,
body.joy-assistant-active.joy-assistant-client-preview #clientPage.template-custom #playBtn {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#clientPage.template-custom.ai-live-edit-active [data-hero-section] {
  display: none !important;
}

#clientPage.template-custom.ai-live-edit-active #clientPremiumCenterCta,
#clientPage.template-custom.ai-live-edit-active #layoutBlockCampaign,
#clientPage.template-custom.ai-live-edit-active #playBtn,
#clientPage.template-custom.ai-live-edit-active #clientPremiumSectionPromo,
#clientPage.template-custom.ai-live-edit-active #layoutBlockPromo,
#clientPage.template-custom.ai-live-edit-active #clientPromoGalleryTrigger,
#clientPage.template-custom.ai-live-edit-active #layoutBlockLoyalty,
#clientPage.template-custom.ai-live-edit-active #layoutBlockEvent,
#clientPage.template-custom.ai-live-edit-active .client-premium-banner,
#clientPage.template-custom.ai-live-edit-active .client-premium-cta {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-custom.ai-live-edit-active #clientConnectSlideshow,
#clientPage.template-custom.ai-live-edit-active #clientTemplateHeader,
#clientPage.template-custom.ai-live-edit-active #clientConnectPromoRow,
#clientPage.template-custom.ai-live-edit-active #clientPremiumSectionDuo,
#clientPage.template-custom.ai-live-edit-active .client-premium-bottom-dock {
  display: flex !important;
  visibility: visible !important;
}

#clientPage.template-custom.ai-live-edit-active #clientTemplateHeader {
  display: block !important;
}

#clientPage.template-custom.ai-live-edit-active #clientPremiumSectionDuo {
  display: grid !important;
}

#clientPage.template-custom.ai-live-edit-active .client-premium-bottom-dock {
  display: block !important;
}

#clientPage.template-custom #clientPremiumBottomDock {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 18 !important;
  flex: 0 0 auto;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 var(--tpl-custom-pad-x) max(2px, env(safe-area-inset-bottom, 0px)) !important;
  background: var(--tpl-custom-bg);
  border-top: none;
  display: block !important;
  pointer-events: none;
  box-sizing: border-box;
}

#clientPage.template-custom .client-premium-bottom-dock > * {
  pointer-events: auto;
}

#clientPage.template-custom #clientFabBar {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100%;
  padding: 4px 0 2px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(8, 8, 10, 0.92);
}

#clientPage.template-custom .client-fab-pill,
#clientPage.template-custom .client-premium-fab {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  position: relative;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-height: 42px !important;
  padding: 3px 2px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#clientPage.template-custom .client-fab-pill:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 16%;
  bottom: 16%;
  width: 1px;
  background: rgba(212, 175, 55, 0.16);
}

#clientPage.template-custom #clientLocationMapFab { order: 1; }
#clientPage.template-custom #clientWifiFab { order: 2; }
#clientPage.template-custom #clientReservationFab { order: 3; }
#clientPage.template-custom #clientLocationHoursFab { order: 4; }

#clientPage.template-custom .client-premium-fab__icon {
  width: 19px !important;
  height: 19px !important;
  color: var(--tpl-custom-accent, var(--tpl-custom-gold)) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#clientPage.template-custom.client-premium-ui .client-premium-duo {
  --duo-card-h: var(--tpl-custom-duo-h) !important;
  grid-template-rows: auto minmax(0, var(--tpl-custom-duo-h)) !important;
}

#clientPage.template-custom.client-premium-ui .client-premium-card--menu,
#clientPage.template-custom.client-premium-ui .client-premium-card--review,
#clientPage.template-custom.client-premium-ui .client-premium-menu-shell,
#clientPage.template-custom.client-premium-ui .client-premium-review-shell {
  min-height: 0 !important;
  max-height: var(--tpl-custom-duo-h) !important;
  height: var(--tpl-custom-duo-h) !important;
}

#clientPage.template-custom.client-premium-ui #clientPremiumCenterCta,
#clientPage.template-custom.client-premium-ui .client-premium-center-cta {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-custom .client-premium-fab__text,
#clientPage.template-custom .client-fab-pill__label {
  font-size: 0.56rem !important;
  font-weight: 600 !important;
  color: var(--tpl-custom-accent, var(--tpl-custom-gold)) !important;
  letter-spacing: 0.02em;
  text-align: center;
  line-height: 1.12;
}

#clientPage.template-custom #clientCommunityFab {
  display: none !important;
}

@media (min-width: 520px) {
  #clientPage.template-custom.client-premium-ui {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
  }
}

/* Custom — override premium-ui: stage+hero = display:contents (no box, no overflow) */
#clientPage.template-custom.client-premium-ui #clientPremiumStage,
#clientPage.template-custom #clientPremiumStage,
#clientPage.template-custom.client-premium-ui #clientHeroActions,
#clientPage.template-custom #clientHeroActions {
  display: contents !important;
  position: static !important;
  inset: auto !important;
  height: auto !important;
  width: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: auto !important;
  flex: none !important;
  gap: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Duo section: iese din display:contents și se plasează fixed */
#clientPage.template-custom.client-premium-ui #clientPremiumSectionDuo,
#clientPage.template-custom #clientPremiumSectionDuo {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: fixed !important;
  bottom: calc(var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap)) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 14 !important;
  width: 100% !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--tpl-custom-pad-x, 14px) !important;
  padding-right: var(--tpl-custom-pad-x, 14px) !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  transform: none !important;
  height: var(--tpl-custom-duo-block-h) !important;
  max-height: var(--tpl-custom-duo-block-h) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Intruders — nuclear hide: acoperă orice inline style !important rezidual */
#clientPage.template-custom #clientPremiumCenterCta,
#clientPage.template-custom .client-premium-center-cta,
#clientPage.template-custom #layoutBlockCampaign,
#clientPage.template-custom #playBtn,
#clientPage.template-custom #playBtn.oval-button,
#clientPage.template-custom .oval-button,
#clientPage.template-custom #clientPremiumSectionPromo,
#clientPage.template-custom #layoutBlockPromo,
#clientPage.template-custom #clientPromoGalleryTrigger,
#clientPage.template-custom .client-premium-banner,
#clientPage.template-custom .client-promo-gallery-trigger,
#clientPage.template-custom #layoutBlockLoyalty,
#clientPage.template-custom #clientLoyaltyModuleTrigger,
#clientPage.template-custom .loyalty-module-trigger,
#clientPage.template-custom #layoutBlockEvent,
#clientPage.template-custom #clientEventModuleTrigger,
#clientPage.template-custom .event-module-trigger,
#clientPage.template-custom #clientElegantSocialSection,
#clientPage.template-custom #layoutBlockSocial,
#clientPage.template-custom #layoutBlockRules,
#clientPage.template-custom .client-premium-cta {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -99999px !important;
  top: 0 !important;
  clip: rect(0,0,0,0) !important;
}

#clientPage.template-custom.client-premium-ui {
  --tpl-custom-footer-h: clamp(54px, 6.8dvh, 60px);
  --tpl-custom-footer-total: calc(var(--tpl-custom-footer-h) + env(safe-area-inset-bottom, 0px));
  --tpl-custom-duo-gap: 16px;
}

#clientPage.template-custom.client-premium-ui .client-premium-duo,
#clientPage.template-custom.client-premium-ui #clientPremiumSectionDuo.client-premium-duo {
  --duo-card-h: var(--tpl-custom-duo-h) !important;
  grid-template-rows: auto var(--tpl-custom-duo-h) !important;
  min-height: 0 !important;
  max-height: none !important;
  bottom: calc(var(--tpl-custom-footer-total) + var(--tpl-custom-duo-gap)) !important;
}

#clientPage.template-custom.client-premium-ui .client-premium-card,
#clientPage.template-custom.client-premium-ui .client-premium-card--menu,
#clientPage.template-custom.client-premium-ui .client-premium-card--review,
#clientPage.template-custom.client-premium-ui .client-premium-menu-shell,
#clientPage.template-custom.client-premium-ui .client-premium-review-shell {
  min-height: 0 !important;
  max-height: var(--tpl-custom-duo-h) !important;
  height: var(--tpl-custom-duo-h) !important;
}

#clientPage.template-custom.client-premium-ui .client-premium-bottom-dock,
#clientPage.template-custom.client-premium-ui #clientPremiumBottomDock {
  z-index: 20 !important;
}

body:has(#clientPage.template-custom.visible) {
  --tpl-custom-footer-h: clamp(54px, 6.8dvh, 60px);
  --tpl-custom-duo-gap: 16px;
}

/* Dock mai lipit de partea de jos */
#clientPage.template-custom #clientPremiumBottomDock {
  padding-bottom: max(0px, env(safe-area-inset-bottom, 0px)) !important;
}

#clientPage.template-custom #clientFabBar {
  padding: 3px 0 0 !important;
}

/* ===== Mini card paletă culori — doar preview Modele (admin), stânga sus ===== */
#clientPage.template-custom #customAccentFloatCard {
  display: none !important;
}

#clientPage.template-custom.ai-live-edit-active #customAccentFloatCard {
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  left: 12px;
  z-index: 30;
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  pointer-events: auto;
}

#clientPage.template-custom.ai-live-edit-active #customAccentFloatCard[hidden] {
  display: none !important;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__toggle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
  flex: 0 0 auto;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tpl-custom-accent, var(--tpl-custom-gold));
  box-shadow: 0 0 8px var(--tpl-custom-accent-dim, var(--tpl-custom-gold-dim));
  display: block;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__panel {
  display: none;
  flex-direction: column;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(8, 8, 12, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

#clientPage.template-custom.ai-live-edit-active #customAccentFloatCard.is-open .custom-accent-float__panel {
  display: flex;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__label {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches {
  display: flex;
  gap: 7px;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid transparent;
  padding: 2px;
  cursor: pointer;
  background: transparent;
  transition: border-color 0.15s, transform 0.12s;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch.is-active {
  border-color: #fff;
  transform: scale(1.15);
}

#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch--gold span { background: #d4af37; }
#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch--rose span { background: #e8437a; }
#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch--blue span { background: #4a9eff; }
#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch--emerald span { background: #2ecc71; }
#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch--purple span { background: #a855f7; }
#clientPage.template-custom.ai-live-edit-active .custom-accent-float__swatches .custom-accent-swatch--silver span { background: #c0c8d8; }

/* ============================================================
   AVVA — light premium split
   Sus: poze (slideshow) · Jos: panou crem cu module egale
   Accent: burgundy · Tipografie serif pentru brand
   ============================================================ */
#clientPage.template-avva.client-premium-ui {
  --avva-burgundy: #7a2033;
  --avva-burgundy-dark: #5e1826;
  --avva-burgundy-soft: rgba(122, 32, 51, 0.1);
  --avva-cream: #faf6f0;
  --avva-card: #ffffff;
  --avva-ink: #2b2320;
  --avva-muted: #8a7d74;
  --avva-line: rgba(122, 32, 51, 0.14);
  /* Stack compact — foaia crem lipită de jos, hero umple restul */
  --avva-gap: 6px;
  --avva-stack-gap: 6px;
  --avva-duo-h: 48px;
  --avva-menu-logo: 40px;
  --avva-fab-h: 48px;
  --avva-pad-x: 14px;
  --duo-card-h: var(--avva-duo-h);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  height: 100dvh;
  height: 100svh;
  min-height: 100dvh;
  max-height: 100dvh;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  z-index: 2800;
  pointer-events: none;
  padding: 0;
  box-sizing: border-box;
  gap: 0;
  overflow: hidden;
}

/* Spacer flex — împinge panoul crem jos; hero = spațiul liber sus */
#clientPage.template-avva.client-premium-ui::before {
  content: '';
  display: block;
  order: 0;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  pointer-events: none;
  background: transparent;
}

/* Hero full-bleed deasupra foii — cover, fără bare negre */
body:has(#clientPage.template-avva.visible) {
  background: var(--avva-cream, #faf6f0);
}

body:has(#clientPage.template-avva.visible) #app {
  background: transparent;
}

body:has(#clientPage.template-avva.visible) #bgContainer {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--avva-hero-h, 55dvh) !important;
  transform: none !important;
  z-index: 0 !important;
  background: #0d0b0a !important;
  overflow: hidden;
}

body:has(#clientPage.template-avva.visible) #bgContainer .bg-slide {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #0d0b0a !important;
}

/* Voal ușor sus — fără gradient pe jos care „taie” poza */
body:has(#clientPage.template-avva.visible) #bgContainer::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0) 26%);
}

#clientPage.template-avva .client-premium-stage,
#clientPage.template-avva .client-hero-actions,
#clientPage.template-avva .client-premium-stage__hero {
  display: contents !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}

#clientPage.template-avva #layoutBlockLoyalty,
#clientPage.template-avva #layoutBlockEvent,
#clientPage.template-avva #layoutBlockRules,
#clientPage.template-avva #layoutBlockSocial,
#clientPage.template-avva #triesCounter,
#clientPage.template-avva #clientCommunityFab {
  display: none !important;
}

/* 1. Header: Nume firmă stânga · Social dreapta (deasupra ofertelor) */
#clientPage.template-avva .client-template-header {
  order: 1;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100%;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 4px var(--avva-pad-x) 2px;
  pointer-events: auto;
  z-index: 2812;
  background: var(--avva-cream) !important;
  border: none !important;
  border-radius: 26px 26px 0 0;
  box-shadow: 0 -12px 40px rgba(43, 35, 32, 0.28);
}

#clientPage.template-avva .client-template-header[hidden] {
  display: none !important;
}

#clientPage.template-avva .client-template-header__top {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 36px;
}

#clientPage.template-avva .client-template-header__brand-wrap {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0;
}

#clientPage.template-avva #clientTemplateBrandLogo,
#clientPage.template-avva .client-template-header__logo {
  display: none !important;
}

#clientPage.template-avva #clientTemplateBrand {
  display: block !important;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--font-display, Fraunces, Georgia, 'Times New Roman', serif);
  font-size: clamp(20px, 5.4vw, 24px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--avva-ink) !important;
  text-shadow: none !important;
  line-height: 1.1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#clientPage.template-avva #clientTemplateSlogan {
  display: none !important;
}

#clientPage.template-avva #clientTemplateSocialRow {
  display: flex !important;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

#clientPage.template-avva .client-template-header__social-btn {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  border-radius: 50% !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 2px 10px rgba(43, 35, 32, 0.18) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

#clientPage.template-avva .client-template-header__social-btn.is-muted {
  opacity: 0.72;
}

#clientPage.template-avva .client-template-header__social-btn--facebook {
  background: #1877f2 !important;
}

#clientPage.template-avva .client-template-header__social-btn--instagram {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%) !important;
}

#clientPage.template-avva .client-template-header__social-btn--tiktok {
  background: #010101 !important;
}

#clientPage.template-avva .client-template-header__social-btn svg {
  width: 16px;
  height: 16px;
}

/* 2. Oferte — card lat pe crem */
#clientPage.template-avva #clientPremiumSectionPromo,
#clientPage.template-avva .client-premium-hero-section[data-hero-section='promo'] {
  order: 2;
  width: 100%;
  flex: 0 0 auto !important;
  margin: 0;
  padding: 0 var(--avva-pad-x) var(--avva-stack-gap);
  min-height: 0 !important;
  pointer-events: auto;
  z-index: 2810;
  background: var(--avva-cream);
}

#clientPage.template-avva #layoutBlockPromo,
#clientPage.template-avva .client-promo-gallery-wrap {
  width: 100%;
}

#clientPage.template-avva .client-promo-gallery-trigger.client-premium-banner {
  width: 100%;
  min-height: 46px !important;
  height: auto !important;
  padding: 10px 12px 10px 14px !important;
  border-radius: 14px !important;
  background: var(--avva-card) !important;
  border: 1px solid rgba(43, 35, 32, 0.08) !important;
  border-left: 4px solid var(--avva-burgundy) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 4px 14px rgba(43, 35, 32, 0.08) !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  gap: 8px;
}

#clientPage.template-avva .client-premium-banner__icon,
#clientPage.template-avva .client-premium-banner__subtitle {
  display: none !important;
}

#clientPage.template-avva .client-premium-banner__chevron {
  display: inline-flex !important;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: var(--avva-muted) !important;
  opacity: 0.75;
}

#clientPage.template-avva .client-premium-banner__text {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

#clientPage.template-avva .client-premium-banner__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--avva-ink) !important;
  letter-spacing: 0.01em;
  line-height: 1.35;
  text-shadow: none !important;
  text-align: center;
}

/* 3. Campanie — CTA verde, spațiu egal față de Oferte (sus) și Duo (jos) */
#clientPage.template-avva .client-premium-center-cta,
#clientPage.template-avva #clientPremiumCenterCta {
  order: 3;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100%;
  max-width: none;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 var(--avva-pad-x) var(--avva-stack-gap);
  min-height: 0 !important;
  pointer-events: auto;
  z-index: 2814;
  background: var(--avva-cream);
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  gap: 0 !important;
}

#clientPage.template-avva #layoutBlockCampaign,
#clientPage.template-avva #clientPremiumCenterCta #layoutBlockCampaign,
#clientPage.template-avva #playBtn.client-premium-cta,
#clientPage.template-avva #playBtn.oval-button {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#clientPage.template-avva #clientCampaignSubtitle,
#clientPage.template-avva #triesCounter {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#clientPage.template-avva.client-premium-ui[data-primary-module='loyalty'] .client-premium-center-cta,
#clientPage.template-avva.client-premium-ui[data-primary-module='campaign'] .client-premium-center-cta,
#clientPage.template-avva.client-premium-ui[data-primary-module='event'] .client-premium-center-cta,
#clientPage.template-avva.client-premium-ui[data-primary-module='loyalty'] #layoutBlockCampaign,
#clientPage.template-avva.client-premium-ui[data-primary-module='campaign'] #layoutBlockCampaign,
#clientPage.template-avva.client-premium-ui[data-primary-module='event'] #layoutBlockCampaign {
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

#clientPage.template-avva.client-premium-ui[data-primary-module='loyalty'] #playBtn,
#clientPage.template-avva.client-premium-ui[data-primary-module='campaign'] #playBtn,
#clientPage.template-avva.client-premium-ui[data-primary-module='event'] #playBtn {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#clientPage.template-avva.client-premium-ui[data-primary-module='none'] .client-premium-center-cta,
#clientPage.template-avva.client-premium-ui[data-primary-module='none'] #clientPremiumCenterCta {
  display: none !important;
}

#clientPage.template-avva .client-premium-cta.oval-button,
#clientPage.template-avva #playBtn.client-premium-cta {
  width: 100%;
  min-height: 48px !important;
  height: auto !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  justify-content: space-between !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #1f8f4a 0%, #1a7f3f 100%) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(31, 143, 74, 0.28) !important;
  animation: none !important;
  transform-origin: center center;
}

#clientPage.template-avva .client-premium-cta__icon {
  display: inline-flex !important;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  color: #fff !important;
}

#clientPage.template-avva .client-premium-cta__icon svg {
  width: 18px;
  height: 18px;
}

#clientPage.template-avva .client-premium-cta__text {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

#clientPage.template-avva .client-premium-cta__label {
  font-size: 15px !important;
  font-weight: 700;
  color: #fff !important;
  text-align: center;
}

#clientPage.template-avva .client-premium-cta__subtitle {
  display: none !important;
}

#clientPage.template-avva .client-premium-cta__chevron {
  display: inline-flex !important;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: #fff !important;
  opacity: 0.9;
}

/* 4. Duo — Meniu · Recenzie, carduri albe egale (rând orizontal) */
#clientPage.template-avva #clientPremiumSectionDuo,
#clientPage.template-avva .client-premium-duo {
  --duo-card-h: var(--avva-duo-h);
  order: 4;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: var(--avva-duo-h) !important;
  gap: var(--avva-gap);
  width: 100%;
  flex: 0 0 auto !important;
  margin: 0;
  padding: 0 var(--avva-pad-x) var(--avva-stack-gap);
  min-height: 0 !important;
  height: auto !important;
  pointer-events: auto;
  z-index: 2813;
  background: var(--avva-cream);
  box-sizing: border-box;
  align-items: stretch;
}

#clientPage.template-avva #layoutBlockMenu {
  grid-column: 1;
  grid-row: 1;
}

#clientPage.template-avva #layoutBlockReview {
  grid-column: 2;
  grid-row: 1;
}

/* Override premium-ui 168px — altfel panoul crem crește și taie dock-ul */
#clientPage.template-avva .client-layout-block--menu,
#clientPage.template-avva .client-layout-block--review {
  height: var(--avva-duo-h) !important;
  min-height: var(--avva-duo-h) !important;
  max-height: var(--avva-duo-h) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#clientPage.template-avva .client-premium-card--menu,
#clientPage.template-avva .client-premium-card--review {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

#clientPage.template-avva .client-premium-duo-card,
#clientPage.template-avva .client-premium-menu-shell.client-premium-duo-card,
#clientPage.template-avva .client-premium-review-shell.client-premium-duo-card {
  min-height: var(--avva-duo-h) !important;
  max-height: var(--avva-duo-h) !important;
  height: var(--avva-duo-h) !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  background: var(--avva-card) !important;
  border: 1px solid rgba(43, 35, 32, 0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 4px 14px rgba(43, 35, 32, 0.08) !important;
  overflow: hidden !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#clientPage.template-avva .client-glass-btn,
#clientPage.template-avva .location-menu-btn.client-premium-menu-head,
#clientPage.template-avva .feedback-button.client-premium-review-head {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100%;
}

#clientPage.template-avva .client-premium-module-card__titles {
  flex: 1 1 auto;
  min-width: 0;
}

#clientPage.template-avva .client-premium-module-card__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--avva-ink) !important;
  text-shadow: none !important;
}

#clientPage.template-avva .client-premium-module-card__subtitle,
#clientPage.template-avva .client-premium-module-card__chevron {
  display: inline-flex !important;
}

#clientPage.template-avva .client-premium-module-card__subtitle {
  display: none !important;
}

#clientPage.template-avva .client-premium-module-card__chevron {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  color: var(--avva-muted) !important;
  opacity: 0.8;
  margin-left: auto;
}

#clientPage.template-avva .client-premium-module-card__icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px;
  border-radius: 50% !important;
  background: linear-gradient(145deg, #f6e8ee 0%, #ead5df 100%) !important;
  color: var(--avva-burgundy) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* Logo locație stă în header — nu în cardul Meniu */
#clientPage.template-avva .client-premium-menu__body,
#clientPage.template-avva .client-premium-card--menu .client-premium-menu__body,
#clientPage.template-avva .client-premium-module-card__body.client-premium-menu__body,
#clientPage.template-avva .client-premium-module-card__logo-glass,
#clientPage.template-avva .client-premium-module-card__logo {
  display: none !important;
}

#clientPage.template-avva .client-premium-review__thanks,
#clientPage.template-avva .client-premium-review__social-hint,
#clientPage.template-avva .client-premium-review__divider,
#clientPage.template-avva .client-premium-review__body,
#clientPage.template-avva .client-premium-review__social-block,
#clientPage.template-avva #socialIconsBar.client-premium-social-row {
  display: none !important;
}

#clientPage.template-avva .client-premium-menu-shell {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  height: 100%;
  min-height: 0;
}

#clientPage.template-avva .client-premium-menu-head {
  flex: 0 0 auto;
  align-self: stretch;
}

/* Popup-uri și galerii deasupra panoului; modulele se ascund când sunt deschise */
body.popup-open #clientPage.template-avva .client-premium-bottom-dock,
body.client-promo-gallery-open #clientPage.template-avva .client-premium-bottom-dock,
body.popup-open #clientPage.template-avva .client-premium-center-cta,
body.client-promo-gallery-open #clientPage.template-avva .client-premium-center-cta,
body.popup-open #clientPage.template-avva #clientPremiumSectionDuo,
body.client-promo-gallery-open #clientPage.template-avva #clientPremiumSectionDuo {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-avva .client-promo-gallery-overlay {
  z-index: 2920 !important;
  pointer-events: auto !important;
}

#clientPage.template-avva .popup {
  z-index: 2910 !important;
  pointer-events: auto !important;
}

#clientPage.template-avva .popup.active {
  display: flex !important;
  opacity: 1 !important;
}

/* Popup-uri utilitare + campanie ca bottom-sheet — alunecă de jos în sus */
#clientPage.template-avva #wifiPopup,
#clientPage.template-avva #locationHoursPopup,
#clientPage.template-avva #locationMapPopup,
#clientPage.template-avva #reservationPopup,
#clientPage.template-avva #feedbackPopup,
#clientPage.template-avva #externalActionPopup,
#clientPage.template-avva #popup {
  align-items: flex-end !important;
  justify-content: center !important;
}

#clientPage.template-avva #wifiPopup .popup-inner,
#clientPage.template-avva #locationHoursPopup .popup-inner,
#clientPage.template-avva #locationMapPopup .popup-inner,
#clientPage.template-avva #reservationPopup .popup-inner,
#clientPage.template-avva #feedbackPopup .popup-inner,
#clientPage.template-avva #externalActionPopup .popup-inner,
#clientPage.template-avva #popup .popup-inner {
  width: 100% !important;
  max-width: 520px !important;
  min-width: 0 !important;
  margin: 0 !important;
  border-radius: 26px 26px 0 0 !important;
  border-bottom: none !important;
  padding-top: 26px !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 26px) !important;
  max-height: 86dvh !important;
  transform: translateY(100%);
  animation: avvaSheetUp 0.36s cubic-bezier(0.2, 0.9, 0.3, 1) forwards !important;
  box-shadow: 0 -14px 44px rgba(43, 35, 32, 0.3) !important;
}

/* Mâner de sheet — bară mică sus, centrat */
#clientPage.template-avva #wifiPopup .popup-inner::before,
#clientPage.template-avva #locationHoursPopup .popup-inner::before,
#clientPage.template-avva #locationMapPopup .popup-inner::before,
#clientPage.template-avva #reservationPopup .popup-inner::before,
#clientPage.template-avva #feedbackPopup .popup-inner::before,
#clientPage.template-avva #externalActionPopup .popup-inner::before,
#clientPage.template-avva #popup .popup-inner::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 4px;
  border-radius: 999px;
  background: rgba(43, 35, 32, 0.18);
}

@keyframes avvaSheetUp {
  from {
    transform: translateY(100%);
    opacity: 0.98;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Meniu + Fidelizare — același bottom-sheet cream ca Program locație */

body.menu-gallery-open #clientPage.template-avva .client-premium-bottom-dock,
body.menu-gallery-open #clientPage.template-avva .client-premium-center-cta,
body.menu-gallery-open #clientPage.template-avva #clientPremiumSectionDuo,
body.loyalty-module-open #clientPage.template-avva .client-premium-bottom-dock,
body.loyalty-module-open #clientPage.template-avva .client-premium-center-cta,
body.loyalty-module-open #clientPage.template-avva #clientPremiumSectionDuo {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#clientPage.template-avva #wifiPopup .popup-inner,
#clientPage.template-avva #locationHoursPopup .popup-inner,
#clientPage.template-avva #locationMapPopup .popup-inner,
#clientPage.template-avva #reservationPopup .popup-inner,
#clientPage.template-avva #feedbackPopup .popup-inner,
#clientPage.template-avva #externalActionPopup .popup-inner,
#clientPage.template-avva #popup .popup-inner {
  background: var(--avva-card, #ffffff) !important;
  color: var(--avva-ink, #2b2320) !important;
  border: 1px solid rgba(43, 35, 32, 0.08) !important;
}

#clientPage.template-avva .location-hours-popup-title,
#clientPage.template-avva .wifi-popup-title,
#clientPage.template-avva .location-map-popup-title,
#clientPage.template-avva .contact-popup-title,
#clientPage.template-avva #reservationPopupTitle {
  font-family: var(--font-display, Fraunces, Georgia, serif) !important;
  color: var(--avva-ink, #2b2320) !important;
  text-shadow: none !important;
}

#clientPage.template-avva .popup-close,
#clientPage.template-avva .contact-popup-close {
  background: rgba(43, 35, 32, 0.08) !important;
  color: var(--avva-ink, #2b2320) !important;
  border: none !important;
  box-shadow: none !important;
}

/* 1) Meniu — bottom-sheet de jos (flex-col → justify-content:flex-end) */
#clientPage.template-avva #menuGalleryOverlay {
  align-items: stretch !important;
  justify-content: flex-end !important;
  flex-direction: column !important;
  padding: 0 !important;
  z-index: 2950 !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery-overlay__backdrop {
  background: rgba(43, 35, 32, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery-overlay__panel {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  height: min(94dvh, 920px) !important;
  max-height: min(94dvh, 920px) !important;
  border-radius: 26px 26px 0 0 !important;
  border: 1px solid rgba(43, 35, 32, 0.08) !important;
  border-bottom: none !important;
  padding: 22px 12px calc(env(safe-area-inset-bottom, 0px) + 14px) !important;
  box-shadow: 0 -14px 44px rgba(43, 35, 32, 0.28) !important;
  overflow: hidden !important;
  position: relative !important;
  background: var(--avva-card, #ffffff) !important;
  color: var(--avva-ink, #2b2320) !important;
  transform: translateY(100%);
  display: flex !important;
  flex-direction: column !important;
}

#clientPage.template-avva #menuGalleryOverlay.is-open .menu-gallery-overlay__panel {
  animation: avvaSheetUp 0.36s cubic-bezier(0.2, 0.9, 0.3, 1) forwards !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery-overlay__panel::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 4px;
  border-radius: 999px;
  background: rgba(43, 35, 32, 0.18);
  z-index: 2;
  pointer-events: none;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery-overlay__title {
  margin: 8px 48px 10px 0 !important;
  font-family: var(--font-display, Fraunces, Georgia, serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--avva-ink, #2b2320) !important;
  text-align: center !important;
  letter-spacing: -0.02em !important;
  flex: 0 0 auto !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery-overlay__close {
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 22px !important;
  color: var(--avva-ink, #2b2320) !important;
  background: rgba(43, 35, 32, 0.08) !important;
  border: none !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery__viewport {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  border-radius: 16px !important;
  background: rgba(43, 35, 32, 0.04) !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery__img,
#clientPage.template-avva #menuGalleryOverlay .menu-gallery__img.img-loaded {
  object-fit: contain !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery__dots {
  margin-top: 12px !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery__dot {
  background: rgba(43, 35, 32, 0.22) !important;
  box-shadow: none !important;
}

#clientPage.template-avva #menuGalleryOverlay .menu-gallery__dot.is-active {
  background: var(--avva-burgundy, #7a2033) !important;
  box-shadow: none !important;
}

/* 2) Fidelizare — același sheet cream, ancorat jos */
#clientPage.template-avva #loyaltyModuleOverlay {
  align-items: flex-end !important;
  justify-content: center !important;
  flex-direction: row !important;
  padding: 0 !important;
  z-index: 2960 !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__backdrop {
  background: rgba(43, 35, 32, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__panel {
  width: 100% !important;
  max-width: 520px !important;
  max-height: min(90dvh, 720px) !important;
  border-radius: 26px 26px 0 0 !important;
  border: 1px solid rgba(43, 35, 32, 0.08) !important;
  border-bottom: none !important;
  padding: 26px 18px calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
  gap: 10px !important;
  overflow-y: auto !important;
  box-shadow: 0 -14px 44px rgba(43, 35, 32, 0.28) !important;
  background: var(--avva-card, #ffffff) !important;
  color: var(--avva-ink, #2b2320) !important;
  transform: none;
  position: relative !important;
}

#clientPage.template-avva #loyaltyModuleOverlay.is-open .loyalty-module-overlay__panel {
  animation: avvaSheetUp 0.36s cubic-bezier(0.2, 0.9, 0.3, 1) both;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__panel::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 4px;
  border-radius: 999px;
  background: rgba(43, 35, 32, 0.18);
  z-index: 2;
  pointer-events: none;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__title,
#clientPage.template-avva #loyaltyModuleOverlay .event-module-overlay__title {
  font-family: var(--font-display, Fraunces, Georgia, serif) !important;
  color: var(--avva-ink, #2b2320) !important;
  text-shadow: none !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__text,
#clientPage.template-avva #loyaltyModuleOverlay .event-module-overlay__text {
  color: var(--avva-muted, #8a7d74) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__close,
#clientPage.template-avva #loyaltyModuleOverlay .event-module-overlay__close {
  background: rgba(43, 35, 32, 0.08) !important;
  color: var(--avva-ink, #2b2320) !important;
  border: none !important;
  box-shadow: none !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-purchase-form label,
#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section label {
  color: var(--avva-muted, #8a7d74) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-purchase-form input,
#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section input {
  background: #fff !important;
  color: var(--avva-ink, #2b2320) !important;
  border: 1px solid rgba(43, 35, 32, 0.14) !important;
  border-radius: 14px !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section__title {
  color: var(--avva-ink, #2b2320) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section__hint {
  color: var(--avva-muted, #8a7d74) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section__divider {
  background: rgba(43, 35, 32, 0.1) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-overlay-rules-btn {
  color: var(--avva-ink, #2b2320) !important;
  background: rgba(43, 35, 32, 0.05) !important;
  border-color: rgba(43, 35, 32, 0.14) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section__btn,
#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section__btn.btn-ghost {
  color: var(--avva-ink, #2b2320) !important;
  background: rgba(43, 35, 32, 0.05) !important;
  border-color: rgba(43, 35, 32, 0.18) !important;
  border-radius: 14px !important;
}

/* Compactăm fidelizarea ca să încape fără scroll */
#clientPage.template-avva #loyaltyModuleOverlay .loyalty-module-overlay__reward-banner {
  margin: 0 0 0.8rem !important;
  padding: 12px 14px !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-purchase-form label,
#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section label {
  margin-bottom: 0.25rem !important;
}

#clientPage.template-avva #loyaltyModuleOverlay #loyaltySubmitBtn {
  margin-top: var(--space-sm) !important;
}

#clientPage.template-avva #loyaltyModuleOverlay #loyaltyRulesBtn {
  margin-top: var(--space-xs, 6px) !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

#clientPage.template-avva #loyaltyModuleOverlay .loyalty-progress-section {
  margin-top: 1rem !important;
}

/* Galeria de oferte ca bottom-sheet */
#clientPage.template-avva .client-promo-gallery-overlay {
  justify-content: flex-end !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#clientPage.template-avva .client-promo-gallery-overlay__panel {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  border-radius: 26px 26px 0 0 !important;
  border-bottom: none !important;
  background: var(--avva-card) !important;
  padding-top: 26px !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 22px) !important;
  animation: avvaSheetUp 0.36s cubic-bezier(0.2, 0.9, 0.3, 1) both;
  box-shadow: 0 -14px 44px rgba(43, 35, 32, 0.3) !important;
  position: relative;
}

#clientPage.template-avva .client-promo-gallery-overlay__panel::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 4px;
  border-radius: 999px;
  background: rgba(43, 35, 32, 0.18);
}

#clientPage.template-avva .client-promo-gallery-overlay__title {
  color: var(--avva-ink) !important;
  text-shadow: none !important;
}

/* 5. Utilitare — 4 module egale, lipite de jos (doar safe-area) */
#clientPage.template-avva .client-premium-bottom-dock {
  order: 5;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100%;
  max-width: none;
  flex: 0 0 auto !important;
  margin: 0;
  padding: 0 var(--avva-pad-x) max(4px, env(safe-area-inset-bottom, 0px));
  min-height: 0 !important;
  pointer-events: auto;
  z-index: 2812;
  background: var(--avva-cream);
  box-sizing: border-box;
}

#clientPage.template-avva .client-premium-fab-bar {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
}

#clientPage.template-avva .client-premium-fab {
  flex: 1 1 0;
  min-height: var(--avva-fab-h) !important;
  height: var(--avva-fab-h) !important;
  padding: 6px 2px !important;
  border-radius: 12px !important;
  background: var(--avva-card) !important;
  border: 1px solid var(--avva-line) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 3px 10px rgba(43, 35, 32, 0.08) !important;
  opacity: 1 !important;
}

#clientPage.template-avva .client-premium-fab__icon {
  width: 20px;
  height: 20px;
  color: var(--avva-burgundy) !important;
  background: none !important;
  box-shadow: none !important;
}

#clientPage.template-avva .client-premium-fab__title {
  font-size: 8px;
  font-weight: 650;
  color: var(--avva-ink);
  text-shadow: none;
}

#clientPage.template-avva #clientLocationMapFab { order: 1; }
#clientPage.template-avva #clientReservationFab { order: 2; }
#clientPage.template-avva #clientLocationHoursFab { order: 3; }
#clientPage.template-avva #clientWifiFab { order: 4; }
