.wp-section{display:flex;justify-content:center;flex-direction:column;align-items:center;padding-right:var(--wp--custom--spacing--side, min(3vw, 20px));padding-left:var(--wp--custom--spacing--side, min(3vw, 20px));padding-top:var(--wp--custom--spacing--top, 0px);padding-bottom:var(--wp--custom--spacing--bottom, 0px);margin-top:0px;margin-bottom:0px;position:relative;}
.wp-content-wrap{max-width:100%;width:var(--wp--style--global--wide-size, 1200px);}

/* ---------------------------------------------------------------- base */
.eftl-ing{
  padding-top:0;padding-bottom:70px;
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);background:var(--eft-bg,#0a0813);
}
.eftl-ing__inner{width:min(100%,1440px);}
.eftl-sec__eyebrow{margin:0 0 10px;font-size:12.5px;line-height:1.6;letter-spacing:0.24em;text-transform:uppercase;color:var(--eft-brand,#e8a54e);}
.eftl-sec__title{margin:0;font-family:'El Messiri',sans-serif;font-weight:600;font-size:clamp(24px,3vw,32px);line-height:1.14;color:#f6ece1;}
.eftl-sec__texto{margin:8px 0 0;color:#d6cbdd;font-size:16px;line-height:1.7;font-weight:300;max-width:78ch;}
.eftl-btn{
  display:inline-block;padding:11px 22px;border-radius:9px;cursor:pointer;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  color:#2a1602;font-weight:600;font-size:16px;line-height:1.4;
  border:1px solid transparent;text-decoration:none;text-align:center;
  font-family:inherit;transition:filter 0.15s;
}
.eftl-btn:hover:not(:disabled){filter:brightness(1.12);}
.eftl-btn:disabled{opacity:0.45;cursor:not-allowed;}
.eftl-btn--sm{padding:7px 13px;font-size:14.5px;white-space:nowrap;}
.eftl-btn--ghost{background:transparent;color:var(--eft-fg-dim,#a396b0);border-color:var(--eft-line,#2e2542);font-weight:400;}
.eftl-btn--ghost:hover:not(:disabled){color:var(--eft-fg,#f2e9df);border-color:#46395f;}
.eftl-link-btn{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;color:var(--eft-fg-dim,#a396b0);font-size:12.5px;text-decoration:underline;}
.eftl-link-btn:hover{color:#ef4444;}

/* avisos do WooCommerce: o bloco fica solto no topo do template, então a
   faixa em volta é que dá largura e respiro (o desenho está no carrinho.css) */
.eftl-avisos{
  padding:16px var(--wp--custom--spacing--side, min(3vw, 20px)) 0;
  background:var(--eft-bg,#0a0813);
}
/* sem aviso o bloco ainda imprime a casca vazia: sem isto o padding vira uma
   barra escura entre o topo e o cabeçalho da página */
.eftl-avisos:empty,
.eftl-avisos:has(.wc-block-store-notices:empty),
.eftl-avisos:has(.woocommerce-notices-wrapper:empty){padding:0;}
/* O bloco vem com `alignwide` e encolheria para a largura "wide" do tema. Ele
   segue a mesma coluna do conteúdo da página (1440px), centrada — e não a
   largura toda da tela, senão o aviso fica solto no topo, sem alinhar com
   nada. O `!important` é para ganhar do `alignwide` do tema de blocos. */
.eftl-avisos > *,
.eftl-avisos .wc-block-store-notices{width:min(100%,1440px) !important;max-width:none !important;margin:0 auto !important;}

/* -------------------------------------------------- cabeçalho da página */
.eftl-page-head{
  padding-top:44px;padding-bottom:30px;
  border-bottom:1px solid var(--eft-line,#2e2542);
  background:var(--eft-bg,#0a0813);
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);
}
.eftl-page-head__title{margin:0;font-family:'El Messiri',sans-serif;font-size:clamp(28.5px,4vw,44px);line-height:1.15;color:#f6ece1;}
.eftl-page-head__sub{margin:8px 0 0;color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.6;max-width:70ch;}

/* a Lua crescendo ao longo dos três dias */
.eftl-luas{display:flex;flex-wrap:wrap;gap:8px 26px;list-style:none;margin:22px 0 0;padding:0;}
.eftl-luas li{display:flex;align-items:center;gap:8px;margin:0;}
.eftl-luas__dia{font-size:12.5px;line-height:1.5;color:var(--eft-fg,#f2e9df);letter-spacing:0.04em;}
.eftl-luas__nota{font-size:11.5px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}
.eftl-lua__escuro{fill:#1a1430;}
.eftl-lua__claro{fill:#f0e6d2;}
/* o aro fecha o disco inteiro por cima da parte clara: sem ele a borda do lado
   escuro some no fundo e não dá para ver quanto da Lua já está iluminado */
.eftl-lua__aro{fill:none;stroke:rgba(240,230,210,0.32);stroke-width:1;}

/* -------------------------------------------------------------- topo da seção */
.eftl-ing__intro{margin:30px 0 18px;}
.eftl-ing__intro strong{margin-left:0.3em;color:var(--eft-brand-soft,#f3c88c);font-weight:600;}
.eftl-ing__semjs{
  margin:18px 0 0;padding:14px 16px;max-width:70ch;font-size:15px;line-height:1.65;
  color:var(--eft-fg-dim,#a396b0);border-left:2px solid var(--eft-violet-deep,#463d7d);
  background:rgba(70,61,125,0.1);border-radius:0 8px 8px 0;
}
.eftl-js .eftl-ing__semjs{display:none;}
.eftl-ing__semjs a{color:var(--eft-brand-soft,#f3c88c);}

/* ------------------------------------------------------- barra de filtros
   Sem script não há o que filtrar: a barra só entra com .eftl-js. */
.eftl-ing__filtros{display:none;}
.eftl-js .eftl-ing__filtros{
  display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;
  padding:14px 16px;margin-bottom:16px;
  background:rgba(20,16,32,0.82);backdrop-filter:blur(8px);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
}
.eftl-ing__grupo{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.eftl-ing__grupo--fim{margin-left:auto;}
.eftl-ing__rotulo{font-size:12px;line-height:1.5;letter-spacing:0.08em;text-transform:uppercase;color:var(--eft-fg-dim,#a396b0);}
.eftl-chip{
  padding:6px 13px;border-radius:999px;cursor:pointer;font-family:inherit;
  background:transparent;color:var(--eft-fg-dim,#a396b0);
  border:1px solid var(--eft-line,#2e2542);font-size:14.5px;line-height:1.4;
  transition:color 0.15s,border-color 0.15s,background 0.15s;
}
.eftl-chip--sm{padding:5px 11px;font-size:13px;}
.eftl-chip:hover{color:var(--eft-fg,#f2e9df);border-color:#46395f;}
.eftl-chip.is-on{background:rgba(232,165,78,0.15);color:var(--eft-brand-soft,#f3c88c);border-color:rgba(232,165,78,0.5);}
.eftl-busca{
  padding:7px 12px;width:170px;font-family:inherit;
  background:var(--eft-bg,#0a0813);color:var(--eft-fg,#f2e9df);
  border:1px solid var(--eft-line,#2e2542);border-radius:8px;font-size:14.5px;line-height:1.4;
}
.eftl-busca::placeholder{color:var(--eft-fg-dim,#a396b0);opacity:0.85;}
.eftl-busca:focus{outline:none;border-color:var(--eft-brand-soft,#f3c88c);}

/* ------------------------------------------------------- corpo: mapa + grade */
.eftl-ing__corpo{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;}
.eftl-ing__lado-titulo{
  display:flex;align-items:center;gap:8px;
  margin:24px 0 12px;font-family:'Raleway',sans-serif;font-weight:500;
  font-size:15.5px;line-height:1.4;text-transform:uppercase;letter-spacing:0.08em;
  color:var(--eft-fg-dim,#a396b0);
}
.eftl-ing__lado-titulo:first-child{margin-top:0;}
.eftl-ing__lado-titulo span{
  padding:1px 8px;border-radius:999px;letter-spacing:0;font-size:13px;
  background:var(--eft-bg-card,#1b1729);border:1px solid var(--eft-line,#2e2542);
}

/* ------------------------------------------------------------------ mapa */
.eftl-mapa{position:relative;}
.eftl-mapa__vp{
  position:relative;overflow:hidden;touch-action:none;
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
  background:#0b0813;backdrop-filter:blur(8px);
  /* a planta é desenhada pelo JS: sem a proporção reservada aqui o viewport
     nasce com altura zero e tudo o que vem abaixo — legenda, grade, painel —
     desce de uma vez quando o SVG entra. Era o CLS de 0,26 da página. Os
     números são os mesmos MAPA_W x MAPA_H do script. */
  aspect-ratio:930 / 536;
}
.eftl-mapa__vp.is-pannable{cursor:grab;}
.eftl-mapa__vp.is-pannable:active{cursor:grabbing;}
.eftl-mapa__palco{transform-origin:center center;will-change:transform;}
.eftl-mapa__svg{display:block;width:100%;height:auto;}
.eftl-mapa__svg image{filter:brightness(0.97) contrast(1.02);}
/* a foto aérea é fria e verde; a gradação alinha o mapa à paleta do evento */
.eftl-mapa__grade{mix-blend-mode:soft-light;opacity:0.34;pointer-events:none;}

.eftl-quarto{
  fill:rgba(63,208,216,0.44);stroke:rgba(255,255,255,0.55);stroke-width:0.6;cursor:pointer;
  transition:fill 0.12s,stroke-width 0.12s;
}
.eftl-quarto--parcial{fill:rgba(232,165,78,0.52);}
.eftl-quarto--esgotado{fill:rgba(28,20,48,0.66);stroke:rgba(255,255,255,0.22);}
.eftl-quarto:hover{fill:rgba(63,208,216,0.75);stroke-width:1.2;}
.eftl-quarto--parcial:hover{fill:rgba(243,200,140,0.82);}
.eftl-quarto--esgotado:hover{fill:rgba(124,92,255,0.5);}
.eftl-quarto--sel{stroke:#fff;stroke-width:1.6;}
.eftl-quarto--sobre{fill:rgba(255,255,255,0.7);stroke:#fff;stroke-width:1.4;}
.eftl-quarto--fora{fill:rgba(16,12,28,0.6);stroke:rgba(255,255,255,0.12);pointer-events:none;}
.eftl-quarto:focus-visible{outline:none;stroke:#fff;stroke-width:1.8;}
.eftl-quarto__num{
  fill:#fff;font-size:8px;font-weight:600;pointer-events:none;
  paint-order:stroke;stroke:rgba(6,4,14,0.7);stroke-width:2.2;
  font-family:'Raleway',system-ui,sans-serif;letter-spacing:0.02em;
}
.eftl-quarto-g:has(.eftl-quarto--fora) .eftl-quarto__num{opacity:0.25;}
.eftl-quarto-g:has(.eftl-quarto--esgotado) .eftl-quarto__num{fill:#cbc2e0;}

/* a pista fica fora dos blocos de quarto: marcador, não contorno */
.eftl-mapa__poi{pointer-events:none;}
.eftl-mapa__poi-halo{
  fill:rgba(63,208,216,0.16);stroke:rgba(120,235,240,0.9);stroke-width:1.6;stroke-dasharray:5 4;
  animation:eftlPoiPulsa 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center;
}
.eftl-mapa__poi text{
  fill:#eafcff;font-size:16px;font-family:'El Messiri',Georgia,serif;letter-spacing:0.14em;
  paint-order:stroke;stroke:rgba(6,12,20,0.85);stroke-width:3.5;
}
@keyframes eftlPoiPulsa{0%,100%{transform:scale(1);opacity:0.9;}50%{transform:scale(1.07);opacity:1;}}
@media (prefers-reduced-motion:reduce){.eftl-mapa__poi-halo{animation:none;}}

.eftl-mapa__zoom{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;}
.eftl-mapa__zoom button{
  width:34px;height:34px;border-radius:9px;cursor:pointer;font-family:inherit;
  background:rgba(10,8,19,0.86);color:var(--eft-fg,#f2e9df);
  border:1px solid var(--eft-line,#2e2542);font-size:18.5px;line-height:1;
}
.eftl-mapa__zoom button:hover{border-color:var(--eft-brand-soft,#f3c88c);}
.eftl-mapa__zoom button:last-child{font-size:15.5px;}

.eftl-mapa__tip{
  position:fixed;z-index:40;pointer-events:none;transform:translate(14px,-50%);
  display:flex;flex-direction:column;padding:7px 11px;border-radius:9px;
  background:rgba(10,8,19,0.96);border:1px solid var(--eft-line,#2e2542);
  box-shadow:var(--eft-shadow,0 18px 45px rgba(0,0,0,0.55));font-size:14px;line-height:1.45;white-space:nowrap;
  /* vive no <body>, fora da seção: não herda cor nem fonte de lá */
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);
}
.eftl-mapa__tip strong{color:#f6ece1;font-weight:600;}
.eftl-mapa__tip span{color:var(--eft-fg-dim,#a396b0);}

.eftl-legenda{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  list-style:none;margin:14px 0 0;padding:0;color:var(--eft-fg-dim,#a396b0);font-size:14px;line-height:1.5;
}
.eftl-legenda li{display:flex;align-items:center;gap:8px;margin:0;}
.eftl-legenda__ponto{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,0.4);flex:none;}
.eftl-legenda__ponto--livre{background:var(--eft-cyan,#3fd0d8);}
.eftl-legenda__ponto--parcial{background:var(--eft-brand,#e8a54e);}
.eftl-legenda__ponto--esgotado{background:#3b2f63;}
.eftl-legenda__ponto--pista{background:transparent;border:1.5px dashed rgba(120,235,240,0.95);border-radius:50%;}
.eftl-legenda__pista{color:var(--eft-cyan,#3fd0d8);}
.eftl-legenda__dica{margin-left:auto;font-size:13px;opacity:0.7;}
@media (max-width:700px){.eftl-legenda__dica{display:none;}}

/* ------------------------------------------------- grade compacta de quartos */
/* a grade nasce vazia e o JS a preenche com os 40 quartos: sem reservar a
   altura, tudo o que vem depois dela na coluna — "Fora da planta" e os cards —
   desce de uma vez, e era o que sobrava do CLS da página depois da proporção
   do mapa. A reserva vale só enquanto está vazia, então filtrar a busca
   continua encolhendo a caixa sem deixar buraco. */
.eftl-grade:empty{min-height:397px;}
.eftl-grade{
  padding:10px;border-radius:var(--eft-radius,12px);
  background:rgba(20,16,32,0.82);backdrop-filter:blur(8px);
  border:1px solid var(--eft-line,#2e2542);
}
.eftl-grade__cabeca,.eftl-grade__corpo{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;}
.eftl-grade__cabeca{margin-bottom:6px;}
.eftl-grade__cabeca span{text-align:center;font-size:11.5px;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;color:var(--eft-fg-dim,#a396b0);}
.eftl-grade__cel{
  position:relative;padding:9px 0;cursor:pointer;font-family:inherit;
  border:1px solid transparent;border-radius:8px;
  background:var(--eft-cyan,#3fd0d8);color:#04262a;font-size:14px;line-height:1.4;font-weight:600;
  transition:transform 0.1s,box-shadow 0.1s,background 0.12s;
}
.eftl-grade__cel--parcial{background:var(--eft-brand,#e8a54e);color:#2a1602;}
.eftl-grade__cel--esgotado{background:#241d3a;color:#8b7ea8;font-weight:400;}
.eftl-grade__cel.is-fora{background:#151122;color:#453c5e;cursor:default;}
.eftl-grade__cel:hover:not(.is-fora),.eftl-grade__cel.is-sobre:not(.is-fora){transform:translateY(-1px);box-shadow:0 0 0 2px rgba(255,255,255,0.4);}
.eftl-grade__cel.is-sel{box-shadow:0 0 0 2px #fff;}
.eftl-grade__cel--vazio{visibility:hidden;}
.eftl-grade__fem{position:absolute;top:3px;right:4px;width:5px;height:5px;border-radius:50%;background:#ec4899;}

/* ------------------------------------------------------- quarto a convite
   Quarto privado que aparece na planta é quarto que ESTE navegador destravou:
   ninguém mais o enxerga. Sem marca ele fica idêntico a um quarto público — e
   quem acabou de escondê-lo no admin conclui que esconder não funcionou. */
.eftl-quarto--privado{stroke:var(--eft-brand-soft,#f3c88c);stroke-width:1.1;stroke-dasharray:2.4 1.6;}
.eftl-quarto--privado.eftl-quarto--sel,.eftl-quarto--privado.eftl-quarto--sobre{stroke-dasharray:none;}
.eftl-grade__cel.is-privado{box-shadow:inset 0 0 0 1px var(--eft-brand-soft,#f3c88c);}
.eftl-grade__cel.is-privado.is-sel{box-shadow:0 0 0 2px #fff;}
.eftl-card.is-privado{border-left-style:dashed;border-left-color:var(--eft-brand-soft,#f3c88c);}
.eftl-ing__convite{
  display:flex;align-items:center;gap:8px;
  margin:0 0 12px;padding:10px 14px;border-radius:var(--eft-radius,12px);
  font-size:14.5px;line-height:1.55;color:var(--eft-brand-soft,#f3c88c);
  background:rgba(232,165,78,0.09);border:1px dashed rgba(232,165,78,0.38);
}
.eftl-ing__convite[hidden]{display:none;}

/* ----------------------------------------------------- cartões fora da planta */
.eftl-cards{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
/* mesma reserva da grade: camping e hospedagem externa também chegam pelo JS */
.eftl-cards:empty{min-height:150px;}
.eftl-cards li{margin:0;}
.eftl-card{
  width:100%;display:grid;gap:6px;text-align:left;cursor:pointer;font-family:inherit;
  padding:12px 14px;border-radius:var(--eft-radius,12px);
  background:var(--eft-bg-card,#1b1729);color:var(--eft-fg,#f2e9df);
  border:1px solid var(--eft-line,#2e2542);border-left:3px solid var(--eft-cyan,#3fd0d8);
  transition:border-color 0.15s,transform 0.12s,background 0.15s;
}
.eftl-card:hover{transform:translateX(2px);background:#221c33;}
.eftl-card.is-sel{border-color:var(--eft-brand-soft,#f3c88c);background:#251d33;}
.eftl-card--parcial{border-left-color:var(--eft-brand,#e8a54e);}
.eftl-card--esgotado{border-left-color:#4b3f74;opacity:0.6;}
.eftl-card__topo{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.eftl-card__topo strong{font-size:15.5px;line-height:1.35;}
.eftl-card__cat{display:flex;align-items:center;gap:6px;color:var(--eft-fg-dim,#a396b0);font-size:14px;line-height:1.4;}
.eftl-card__base{display:flex;align-items:baseline;justify-content:space-between;color:var(--eft-fg-dim,#a396b0);font-size:14px;line-height:1.4;}
.eftl-card__preco{color:var(--eft-fg,#f2e9df);font-weight:500;}

.eftl-pill{padding:2px 9px;border-radius:999px;font-size:12px;line-height:1.5;font-weight:500;background:rgba(63,208,216,0.16);color:var(--eft-cyan,#3fd0d8);}
.eftl-pill--parcial{background:rgba(232,165,78,0.16);color:var(--eft-brand-soft,#f3c88c);}
.eftl-pill--esgotado{background:rgba(124,92,255,0.14);color:#a996d8;}
.eftl-tag{padding:1px 7px;border-radius:999px;font-size:11.5px;line-height:1.6;font-style:normal;background:rgba(236,72,153,0.16);color:#f9a8d4;}
.eftl-tag--fem{margin-left:6px;}
.eftl-tag--privado{margin-left:6px;background:rgba(232,165,78,0.16);color:var(--eft-brand-soft,#f3c88c);}
.eftl-vazio{padding:14px 0;color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.6;}

/* --------------------------------------------------------- painel do quarto
   Sobreposição filha do conteúdo herda o max-width do layout constrained do
   WordPress e encolhe mesmo com position:fixed — daí alignfull + max-width:none. */
.eftl-scrim,.eftl-painel{display:none;max-width:none;margin:0;}
.eftl-scrim.is-on,.eftl-painel.is-on{display:flex;}
.eftl-scrim{
  position:fixed;inset:0;z-index:40;
  background:rgba(6,4,14,0.66);backdrop-filter:blur(2px);
  animation:eftlFade 0.18s ease;
}
.eftl-painel{
  position:fixed;top:0;right:0;bottom:0;z-index:100;
  width:min(430px,100vw);flex-direction:column;
  background:rgba(16,12,26,0.96);backdrop-filter:blur(8px);
  border-left:1px solid var(--eft-line,#2e2542);
  box-shadow:var(--eft-shadow,0 18px 45px rgba(0,0,0,0.55));
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);
  animation:eftlEntra 0.22s cubic-bezier(0.22,1,0.36,1);
}
.eftl-painel:focus{outline:none;}
@keyframes eftlFade{from{opacity:0;}}
@keyframes eftlEntra{from{transform:translateX(100%);}}
@media (prefers-reduced-motion:reduce){.eftl-scrim,.eftl-painel{animation:none;}}

.eftl-painel__topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 14px;border-bottom:1px solid var(--eft-line,#2e2542);}
.eftl-painel__topo h2{margin:0;font-family:'El Messiri',sans-serif;font-weight:600;font-size:23px;line-height:1.2;color:#f6ece1;}
.eftl-painel__eyebrow{margin:0 0 3px;font-size:13px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);text-transform:uppercase;letter-spacing:0.07em;}
.eftl-painel__x{
  width:32px;height:32px;flex:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:15px;
  background:transparent;color:var(--eft-fg-dim,#a396b0);border:1px solid var(--eft-line,#2e2542);
}
.eftl-painel__x:hover{color:var(--eft-fg,#f2e9df);border-color:#46395f;}
.eftl-painel__corpo{flex:1;overflow-y:auto;padding:18px 20px 24px;}
.eftl-painel__desc{margin:0 0 16px;color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.65;}
.eftl-painel__sec{margin:22px 0 10px;font-size:13px;line-height:1.5;text-transform:uppercase;letter-spacing:0.08em;color:var(--eft-fg-dim,#a396b0);font-weight:500;}
/* a regra das crianças fica junto da lista de camas: é ali que se decide
   quantas vagas comprar. Antes ela vivia só na página do produto (wp_template
   361, layout antigo), que quase ninguém abre vindo da planta. */
.eftl-painel__aviso{
  margin:14px 0 0;padding:12px 14px;
  border-left:2px solid var(--eft-brand,#e8a54e);border-radius:0 8px 8px 0;
  background:rgba(232,165,78,0.08);
  font-size:13.5px;line-height:1.6;color:var(--eft-fg-dim,#a396b0);
}
.eftl-painel__pe{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--eft-line,#2e2542);background:var(--eft-bg,#0a0813);}
.eftl-painel__pe > div{display:flex;flex-direction:column;}
.eftl-painel__pe-rotulo{font-size:12px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);text-transform:uppercase;letter-spacing:0.07em;}
.eftl-painel__pe strong{font-size:19px;line-height:1.3;}

.eftl-stats{display:flex;gap:10px;margin-bottom:6px;}
.eftl-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px;border-radius:10px;background:var(--eft-bg-card,#1b1729);border:1px solid var(--eft-line,#2e2542);}
.eftl-stat__valor{font-size:22px;font-weight:600;line-height:1.1;}
.eftl-stat__rotulo{font-size:12px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}

.eftl-camas{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.eftl-cama{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 14px;border-radius:10px;background:var(--eft-bg-card,#1b1729);border:1px solid var(--eft-line,#2e2542);}
.eftl-cama--esgotada{opacity:0.5;}
.eftl-cama__info{display:grid;gap:2px;}
.eftl-cama__rotulo{display:flex;align-items:center;gap:7px;font-size:15.5px;line-height:1.4;}
.eftl-cama__rotulo svg{color:var(--eft-fg-dim,#a396b0);flex:none;}
.eftl-cama__cap{font-style:normal;font-size:12px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}
.eftl-cama__preco{font-size:14px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}
.eftl-cama__preco em{font-style:normal;opacity:0.7;}
.eftl-cama__acao{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.eftl-cama__fora{font-size:14px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}
.eftl-cama__resta{font-size:12px;line-height:1.5;color:var(--eft-brand,#e8a54e);}
.eftl-cama__no-carrinho{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.eftl-cama__no-carrinho span{font-size:14px;line-height:1.5;color:var(--eft-cyan,#3fd0d8);font-weight:500;}

.eftl-stepper{display:flex;align-items:center;gap:2px;border:1px solid var(--eft-line,#2e2542);border-radius:8px;overflow:hidden;}
.eftl-stepper button{width:30px;height:30px;cursor:pointer;background:var(--eft-bg,#0a0813);color:var(--eft-fg,#f2e9df);border:none;font-family:inherit;font-size:17.5px;line-height:1;}
.eftl-stepper button:hover:not(:disabled){background:#2a2240;}
.eftl-stepper button:disabled{opacity:0.35;cursor:not-allowed;}
.eftl-stepper span{min-width:26px;text-align:center;font-size:15.5px;line-height:1.4;font-weight:500;}

.eftl-incluso{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:14px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}
.eftl-incluso li{margin:0;}
.eftl-incluso li::before{content:'◈';color:var(--eft-brand,#e8a54e);margin-right:6px;}

/* fontes de texto que o painel copia — ficam fora da vista, mas editáveis */
.eftl-js .eftl-ing__fonte{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.eftl-ing__fonte{margin-top:34px;}
.eftl-ing__fonte h2{font-family:'El Messiri',sans-serif;font-size:22px;line-height:1.2;color:#f6ece1;margin:0 0 10px;}

/* ------------------------------------------------------- quarto privado
   A caixa de senha do `EFT_Quarto_Privado`, impressa no rodape. Ela chega
   depois de todo o resto da pagina, entao e ela quem cobre a planta: sem
   estilo nenhum ficava um formulario solto la embaixo, que ninguem ve. */
.eftl-privado{
  position:fixed;inset:0;z-index:120;
  display:flex;align-items:center;justify-content:center;
  padding:20px;overflow-y:auto;
  background:rgba(6,4,14,0.82);backdrop-filter:blur(3px);
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);
  animation:eftlFade 0.18s ease;
}
.eftl-privado__caixa{
  width:min(420px,100%);margin:auto;padding:28px 26px 24px;
  border-radius:16px;text-align:center;
  background:rgba(16,12,26,0.98);
  border:1px solid var(--eft-line,#2e2542);
  box-shadow:var(--eft-shadow,0 18px 45px rgba(0,0,0,0.55));
  animation:eftlSobe 0.22s cubic-bezier(0.22,1,0.36,1);
}
@keyframes eftlSobe{from{transform:translateY(14px);opacity:0;}}
@media (prefers-reduced-motion:reduce){.eftl-privado,.eftl-privado__caixa{animation:none;}}
.eftl-privado__icone{
  width:58px;height:58px;margin:0 auto 14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--eft-brand,#e8a54e);
  background:rgba(232,165,78,0.10);border:1px solid rgba(232,165,78,0.28);
}
.eftl-privado__eyebrow{margin:0 0 6px;font-size:12.5px;line-height:1.6;letter-spacing:0.24em;text-transform:uppercase;color:var(--eft-brand,#e8a54e);}
.eftl-privado__titulo{margin:0;font-family:'El Messiri',sans-serif;font-weight:600;font-size:24px;line-height:1.18;color:#f6ece1;}
.eftl-privado__texto{margin:10px 0 0;color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.65;}
.eftl-privado__erro{
  margin:16px 0 0;padding:10px 14px;border-radius:9px;text-align:left;
  font-size:14px;line-height:1.55;color:#ffd9d2;
  background:rgba(214,84,61,0.12);border:1px solid rgba(214,84,61,0.34);
}
.eftl-privado__form{margin:18px 0 0;display:grid;gap:8px;text-align:left;}
.eftl-privado__label{font-size:13px;line-height:1.5;text-transform:uppercase;letter-spacing:0.08em;color:var(--eft-fg-dim,#a396b0);font-weight:500;}
.eftl-privado__input{
  width:100%;padding:11px 13px;border-radius:9px;
  font-family:inherit;font-size:16px;line-height:1.4;
  color:var(--eft-fg,#f2e9df);background:rgba(255,255,255,0.05);
  border:1px solid var(--eft-line,#2e2542);
}
.eftl-privado__input:focus{outline:2px solid var(--eft-brand,#e8a54e);outline-offset:1px;border-color:transparent;}
.eftl-privado__form .eftl-btn{margin-top:4px;}
.eftl-privado__sair{display:inline-block;margin:16px 0 0;font-size:14px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);text-decoration:underline;}
.eftl-privado__sair:hover{color:var(--eft-fg,#f2e9df);}

/* --------------------------------------------------------------- responsivo */
@media (max-width:1000px){
  .eftl-ing__corpo{grid-template-columns:minmax(0,1fr);}
  .eftl-ing__grupo--fim{margin-left:0;}
  .eftl-busca{flex:1;width:auto;min-width:140px;}
}
@media (min-width:1001px){
  .eftl-ing__lado{position:sticky;top:calc(88px + var(--eftl-adminbar,0px));align-self:start;}
}
@media (max-width:620px){
  .eftl-painel{top:auto;left:0;right:0;width:100vw;max-height:88vh;border-left:none;border-top:1px solid var(--eft-line,#2e2542);border-radius:16px 16px 0 0;animation:eftlSobe 0.24s cubic-bezier(0.22,1,0.36,1);}
  @keyframes eftlSobe{from{transform:translateY(100%);}}
  .eftl-incluso{grid-template-columns:1fr;}
  .eftl-luas__nota{display:none;}
}
