/* Fenice Palas booking widget (plugin v2). Scoped to .fnb; reads theme tokens when present. */
.fnb{--fnb-ink:#100e0c;--fnb-panel:#171411;--fnb-line:rgba(232,196,126,.18);--fnb-gold:#e8c47e;--fnb-gold2:#c99948;--fnb-text:#f4ece0;--fnb-muted:#b3a593;
  --fnb-serif:var(--serif,"Cormorant Garamond",Georgia,serif);--fnb-sans:var(--sans,Inter,Arial,sans-serif);
  background:radial-gradient(circle at 92% 0,rgba(201,153,72,.16),transparent 38%),var(--fnb-ink);color:var(--fnb-text);font-family:var(--fnb-sans);
  border:1px solid var(--fnb-line);border-radius:22px;overflow:hidden;text-align:left}
.fnb *{box-sizing:border-box}
.fnb a{color:var(--fnb-gold);text-decoration:underline;text-underline-offset:3px}
.fnb--loading{min-height:420px}
.fnb__skeleton{height:420px;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.04) 50%,transparent 70%) 0 0/200% 100%;animation:fnb-shimmer 1.4s linear infinite}
@keyframes fnb-shimmer{to{background-position:-200% 0}}

.fnb__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:34px 40px 8px}
.fnb__eyebrow{display:flex;align-items:center;gap:12px;color:var(--fnb-gold2);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800}
.fnb__eyebrow:before{content:"";width:34px;height:1px;background:currentColor}
.fnb__title{font-family:var(--fnb-serif);font-weight:500;font-size:clamp(2.4rem,4.4vw,3.4rem);line-height:.95;margin:.25em 0 0;color:#fff;letter-spacing:-.02em}
.fnb__lede{margin:0;max-width:430px;color:var(--fnb-muted);font-size:.92rem;line-height:1.6}
.fnb__lede strong{color:var(--fnb-text);font-weight:700}
.fnb__body{padding:10px 40px 38px}

.fnb__group{border:0;margin:0;padding:30px 0 0;min-width:0}
.fnb__group legend{float:left;width:100%;padding:0;margin:0 0 14px;font-family:var(--fnb-serif);font-size:1.55rem;line-height:1.1;color:#f2e2c6;font-weight:500}
.fnb__group>*:not(legend){clear:both}
.fnb__chips{display:flex;flex-wrap:wrap;gap:8px}
.fnb__chip{appearance:none;font:inherit;font-weight:700;color:var(--fnb-text);background:var(--fnb-panel);border:1px solid rgba(255,255,255,.12);border-radius:999px;min-height:46px;padding:0 18px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.fnb__chip:hover:not(:disabled){border-color:var(--fnb-gold)}
.fnb__chip:active:not(:disabled){transform:translateY(1px)}
.fnb__chip[aria-pressed=true]{background:linear-gradient(135deg,#efcb86,#c99245);color:#17110a;border-color:transparent}
.fnb__chip:disabled{cursor:not-allowed;opacity:.38}
.fnb__chip:focus-visible,.fnb__btn:focus-visible,.fnb__link:focus-visible,.fnb input:focus-visible,.fnb textarea:focus-visible{outline:3px solid #fff;outline-offset:2px}
.fnb__chip--round{width:46px;padding:0}

.fnb__days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:thin;scrollbar-color:rgba(232,196,126,.3) transparent}
.fnb__day{flex:0 0 auto;width:68px;min-height:82px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:8px 4px;scroll-snap-align:start}
.fnb__day-top{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.fnb__day-num{font-family:var(--fnb-serif);font-size:1.75rem;line-height:1;font-weight:600}
.fnb__day-mon{font-size:.72rem;opacity:.8}
.fnb__picker{display:flex;gap:10px;align-items:center;margin-top:6px;flex-wrap:wrap}
.fnb__picker label{color:var(--fnb-muted);font-size:.85rem}
.fnb__picker input{min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:var(--fnb-panel);color:#fff;padding:0 12px;font:inherit;color-scheme:dark}

.fnb__period{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:start;margin-bottom:16px}
.fnb__period-label{color:var(--fnb-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;padding-top:15px}
.fnb__chips--times{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.fnb__time{border-radius:12px;padding:0 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-size:1rem}
.fnb__time small{font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.fnb__time s{text-decoration-thickness:1px}
.fnb__times-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.fnb__times-loading span{height:46px;border-radius:12px;background:linear-gradient(100deg,var(--fnb-panel) 30%,#221d18 50%,var(--fnb-panel) 70%) 0 0/200% 100%;animation:fnb-shimmer 1.2s linear infinite}
.fnb__hint{color:var(--fnb-muted);font-size:.85rem;line-height:1.55;margin:10px 0 0}
.fnb__empty{color:#e6d8c4;background:rgba(255,255,255,.04);border:1px dashed rgba(232,196,126,.25);border-radius:14px;padding:16px 18px;margin:0;line-height:1.6}
.fnb__alert{color:#ffd9c8;background:rgba(190,80,50,.14);border:1px solid rgba(240,140,110,.3);border-radius:12px;padding:12px 14px;margin:0 0 12px;line-height:1.55}
.fnb__alert[hidden]{display:none}

.fnb__group-card{margin-top:22px;border:1px solid var(--fnb-line);background:rgba(255,255,255,.03);border-radius:18px;padding:22px 24px}
.fnb__group-card h3{font-family:var(--fnb-serif);font-size:1.9rem;font-weight:500;margin:0 0 6px;color:#fff}
.fnb__group-card p{color:var(--fnb-muted);margin:0 0 16px;line-height:1.6;max-width:560px}

.fnb__form{padding-top:22px}
.fnb__form[hidden],.fnb__done[hidden],[data-step-pick][hidden],[data-when][hidden],[data-group-msg][hidden],.fnb__group[hidden],.fnb__picker[hidden]{display:none}
.fnb__summary{display:flex;justify-content:space-between;align-items:center;gap:14px;background:rgba(232,196,126,.08);border:1px solid var(--fnb-line);border-radius:16px;padding:14px 18px;margin-bottom:20px}
.fnb__summary strong{display:block;font-family:var(--fnb-serif);font-size:1.5rem;font-weight:600;color:#fff;line-height:1.1}
.fnb__summary span{color:var(--fnb-muted);font-size:.88rem}
.fnb__link{appearance:none;background:none;border:0;color:var(--fnb-gold);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.fnb__fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.fnb__field{display:grid;gap:6px;align-content:start}
.fnb__field--wide{grid-column:1/-1}
.fnb__field label{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#d8c7ae}
.fnb__field input,.fnb__field textarea{width:100%;min-height:50px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:var(--fnb-panel);color:#fff;padding:12px 14px;font:inherit;font-size:16px}
.fnb__field textarea{resize:vertical;min-height:90px}
.fnb__field input::placeholder,.fnb__field textarea::placeholder{color:#857a6c}
.fnb__field input:focus,.fnb__field textarea:focus{border-color:var(--fnb-gold);box-shadow:0 0 0 3px rgba(232,196,126,.15);outline:0}
.fnb__fieldhint{color:#8f8374;font-size:.78rem}
.fnb__err{color:#ffb39c;font-size:.82rem;min-height:0}
.fnb__err:empty{display:none}
.fnb__field.is-invalid input{border-color:#e98c70}
.fnb__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fnb__submit{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.fnb__privacy{margin:0;color:var(--fnb-muted);font-size:.82rem;line-height:1.5;max-width:420px}
.fnb__btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:0;border-radius:999px;background:linear-gradient(135deg,#efcb86,#c79342);color:#17100a!important;font:inherit;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;cursor:pointer;text-decoration:none!important;box-shadow:0 12px 30px rgba(201,153,72,.22)}
.fnb__btn:disabled{opacity:.6;cursor:wait}

.fnb__done{padding:26px 0 4px;outline:0;animation:fnb-up .4s ease}
.fnb__done-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#efcb86,#c79342);color:#17110a;font-size:1.6rem;font-weight:900}
.fnb__done h3{font-family:var(--fnb-serif);font-size:2.3rem;font-weight:500;margin:14px 0 6px;color:#fff}
.fnb__done p{color:#d6c8b6;line-height:1.65;max-width:640px}
.fnb__done-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--fnb-line);border:1px solid var(--fnb-line);border-radius:14px;overflow:hidden;margin:18px 0}
.fnb__done-sum div{background:#15120f;padding:12px 14px}
.fnb__done-sum dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fnb-muted)}
.fnb__done-sum dd{margin:3px 0 0;font-weight:700;color:#fff}
@keyframes fnb-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Booking band integrates with the black/gold pages instead of a boxed card on cream. */
.booking-band:has(.fnb){background:#0b0a09;padding:70px 0 80px}
.booking-band:has(.fnb):before{background:radial-gradient(circle at 12% 20%,rgba(201,153,72,.10),transparent 30%)}
.booking-band .fnb{border:0;border-radius:0;background:transparent}
.booking-band .fnb__head,.booking-band .fnb__body{padding-left:0;padding-right:0}
.booking-band .fnb__head{padding-top:0;border-bottom:1px solid var(--fnb-line);padding-bottom:22px}
.booking-modal-box .fnb{border:0;border-radius:0}
.booking-modal-box .fnb__head{padding-right:84px}

@media (max-width:700px){
  .fnb{border-radius:0;border-left:0;border-right:0}
  .fnb__head{padding:26px 20px 4px}
  .fnb__body{padding:4px 20px 30px}
  .booking-band:has(.fnb){padding:46px 0 54px}
  .fnb__title{font-size:2.5rem}
  .fnb__fields{grid-template-columns:1fr}
  .fnb__period{grid-template-columns:1fr;gap:6px}
  .fnb__period-label{padding-top:0}
  .fnb__chips--times{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fnb__chip--round{width:44px;min-height:44px}
  .fnb__chips--guests{gap:6px}
  .fnb__days{margin-right:-20px;padding-right:20px}
  .fnb__done-sum{grid-template-columns:1fr 1fr}
  .fnb__submit{flex-direction:column-reverse;align-items:stretch}
  .fnb__btn{width:100%}
  .fnb__summary{flex-wrap:wrap}
  .booking-modal-box .fnb__head{padding-right:70px}
}
@media (max-width:360px){.fnb__chips--times{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.fnb *,.fnb{animation:none!important;transition:none!important}}
