/* ============================================================
   Aurastay Suite - Site Public CSS
   Sviluppo software: Esposito Francesco programmatore
   ============================================================ */
:root{--bg:#f5f8fe;--panel:#ffffff;--line:rgba(16,45,75,.10);--text:#173656;--muted:#60758f;--blue:#1f5fa5;--cyan:#58bfdc;--gold:#d8b25a;--green:#1f9669;--shadow:0 24px 60px rgba(19,55,103,.10);--radius:28px;}*{box-sizing:border-box}html,body{margin:0;padding:0}body.site-body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top left, rgba(88,191,220,.16), transparent 20%),radial-gradient(circle at bottom right, rgba(216,178,90,.14), transparent 24%),linear-gradient(180deg,#f9fbff 0%,#f2f7ff 52%,#eef3fb 100%)}a{text-decoration:none;color:inherit}.site-container{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.top-nav{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 0}.site-brand{display:flex;align-items:center;gap:14px}.site-brand img{width:58px;height:58px;padding:6px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.site-brand strong{display:block}.site-brand span{display:block;color:var(--muted);font-size:.92rem;margin-top:4px}.site-nav{display:flex;gap:12px;flex-wrap:wrap}.site-nav a{padding:11px 14px;border-radius:999px;font-weight:700;color:#204364}.site-nav a:hover{background:rgba(31,95,165,.08);color:var(--blue)}.site-hero{padding:54px 0 34px}.site-hero-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:24px;align-items:stretch}.site-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-copy{padding:36px;position:relative;overflow:hidden}.hero-copy:before{content:"";position:absolute;inset:auto -40px -50px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(88,191,220,.34), transparent 70%)}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--blue)}.hero-copy h1{margin:0 0 14px;font-size:clamp(2rem,4vw,4rem);line-height:1.05;color:#10304e}.hero-copy p{margin:0 0 18px;line-height:1.8;color:var(--muted)}.pill-row,.feature-pills{display:flex;gap:10px;flex-wrap:wrap}.pill-row span,.feature-pills span{display:inline-flex;padding:10px 14px;border-radius:999px;font-weight:700;background:rgba(31,95,165,.08);color:var(--blue)}.feature-pills span.alt{background:rgba(216,178,90,.14);color:#8a6319}.booking-widget{padding:28px;display:grid;gap:16px}.booking-widget h2{margin:0;color:#10304e}.booking-widget p{margin:0;color:var(--muted);line-height:1.7}.widget-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.widget-field{display:grid;gap:8px}.widget-field label{font-weight:700;color:#123557}.widget-field input,.widget-field select,.widget-field textarea{width:100%;border-radius:16px;border:1px solid rgba(16,45,75,.14);background:#fbfdff;padding:14px 16px;font:inherit}.widget-field input:focus,.widget-field select:focus,.widget-field textarea:focus{outline:none;border-color:rgba(31,95,165,.28);box-shadow:0 0 0 4px rgba(88,191,220,.12)}.site-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border:none;border-radius:18px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,#efd07a 0%,#f6e5ae 44%,#83d8ef 100%);color:#113251;box-shadow:0 14px 28px rgba(19,55,103,.12)}.site-button.secondary{background:#fff;border:1px solid rgba(16,45,75,.12);box-shadow:none}.site-section{padding:18px 0 42px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:18px}.section-head h2{margin:0;color:#10304e}.section-head p{margin:6px 0 0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-room-card,.metric-card,.booking-result{padding:22px}.site-room-card h3,.metric-card h3,.booking-result h3{margin:0 0 10px;color:#10304e}.site-room-card p,.metric-card p,.booking-result p{margin:0;color:var(--muted);line-height:1.75}.price-tag{display:inline-flex;margin-top:14px;padding:10px 14px;border-radius:999px;background:rgba(31,150,105,.10);color:var(--green);font-weight:800}.site-content-block{padding:28px}.site-content-block h2,.site-content-block h3{margin:0 0 12px;color:#10304e}.site-content-block p{margin:0;line-height:1.9;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.site-footer{margin-top:34px;padding:28px 0;background:#0f2d4b;color:#fff}.site-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-footer p{margin:8px 0;color:rgba(255,255,255,.78);line-height:1.7}.availability-list{display:grid;gap:12px}.availability-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(31,95,165,.06)}.site-alert{margin-bottom:16px;padding:14px 16px;border-radius:16px}.site-alert.ok{background:rgba(31,150,105,.12);color:var(--green)}.site-alert.err{background:rgba(204,95,95,.12);color:#ab4f4f}.site-table-wrap{overflow:auto}.site-table{width:100%;border-collapse:collapse;min-width:740px}.site-table th,.site-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}.portal-hero{padding:30px}.portal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-box{padding:18px;border-radius:20px;background:rgba(31,95,165,.06)}.portal-box strong{display:block;margin-top:8px;color:#10304e}.muted{color:var(--muted)}@media(max-width:980px){.site-hero-grid,.contact-grid,.site-footer-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}.portal-summary{grid-template-columns:1fr 1fr}}@media(max-width:760px){.top-nav{flex-direction:column;align-items:flex-start}.site-nav{width:100%}.widget-grid,.card-grid,.portal-summary{grid-template-columns:1fr}.hero-copy,.booking-widget,.site-content-block,.site-room-card,.metric-card,.booking-result,.portal-hero{padding:22px}.site-container{width:min(100%,calc(100% - 20px))}}

/* ============================================================
   SEA VIBES ROOMS - Restyle area ospite + footer uguale al sito
   Modifica isolata per aurastay_suite/public/guest_access.php
   ============================================================ */
body.sea-vibes-guest-body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:
    radial-gradient(circle at 8% 0%,rgba(29,143,209,.16),transparent 26%),
    radial-gradient(circle at 100% 20%,rgba(102,211,255,.18),transparent 28%),
    linear-gradient(180deg,#f4faff 0%,#ffffff 42%,#eef7ff 100%);
  color:#16314c;
}

.sea-vibes-guest-header{
  position:sticky;
  top:0;
  z-index:80;
  background:linear-gradient(135deg,rgba(7,22,38,.97),rgba(20,58,96,.94));
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 36px rgba(10,61,104,.12);
  backdrop-filter:blur(18px);
}

.sea-vibes-guest-nav{
  padding:14px 0!important;
}

.sea-vibes-guest-brand img{
  width:76px!important;
  height:auto!important;
  max-height:52px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.28));
}

.sea-vibes-guest-brand strong{
  color:#ffffff;
  letter-spacing:.08em;
  font-weight:950;
}

.sea-vibes-guest-brand span{
  color:#d5e8f5!important;
}

.sea-vibes-guest-menu{
  align-items:center;
  gap:7px;
}

.sea-vibes-guest-menu a{
  color:#e9f6ff!important;
  border:1px solid transparent;
  padding:10px 12px;
  border-radius:999px;
  font-size:.92rem;
}

.sea-vibes-guest-menu a:hover,
.sea-vibes-guest-menu a.active{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.13);
}

.sea-vibes-guest-menu .guest-menu-cta{
  background:linear-gradient(135deg,#0a3d68,#126ba9,#1d8fd1)!important;
  color:#ffffff!important;
  box-shadow:0 12px 24px rgba(18,107,169,.22);
}

.guest-access-page{
  position:relative;
  overflow:hidden;
  padding:56px 0 0;
}

.guest-access-page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(10,61,104,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,61,104,.035) 1px,transparent 1px);
  background-size:44px 44px;
  opacity:.35;
}

.guest-access-page > .site-container{
  position:relative;
  z-index:2;
}

.guest-access-hero{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:26px;
  align-items:stretch;
  margin-bottom:24px;
}

.guest-access-copy,
.guest-login-card,
.guest-access-benefits article{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(10,61,104,.10);
  border-radius:32px;
  box-shadow:0 26px 70px rgba(10,61,104,.12);
}

.guest-access-copy{
  padding:44px 42px;
}

.guest-access-copy::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-90px;
  width:310px;
  height:310px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(102,211,255,.38),transparent 68%);
}

.guest-access-copy h1{
  position:relative;
  z-index:1;
  margin:0 0 18px;
  color:#10304e;
  font-size:clamp(2.45rem,5vw,5.3rem);
  line-height:.96;
  letter-spacing:-.055em;
}

.guest-access-lead{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 0 24px;
  color:#60758f;
  line-height:1.85;
  font-size:1.05rem;
}

.guest-access-pills{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:28px;
}

.guest-access-pills span{
  display:inline-flex;
  padding:10px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,#eaf8ff,#ffffff);
  color:#0a3d68;
  border:1px solid rgba(18,107,169,.12);
  font-weight:900;
}

.guest-access-steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.guest-access-steps div{
  padding:15px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f2faff);
  border:1px solid rgba(10,61,104,.10);
}

.guest-access-steps strong{
  display:block;
  color:#126ba9;
  font-size:1.3rem;
  margin-bottom:6px;
}

.guest-access-steps span{
  display:block;
  color:#60758f;
  line-height:1.55;
  font-size:.93rem;
}

.guest-login-card{
  padding:32px;
}

.guest-login-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(135deg,#0a3d68,#126ba9,#1d8fd1);
  color:#ffffff;
  box-shadow:0 16px 34px rgba(18,107,169,.26);
  font-size:1.6rem;
  margin-bottom:18px;
}

.guest-login-card h2{
  margin:0 0 10px;
  color:#10304e;
  font-size:2rem;
  letter-spacing:-.035em;
}

.guest-login-text{
  color:#60758f;
  line-height:1.7;
  margin:0 0 18px;
}

.guest-login-form{
  display:grid;
  gap:14px;
}

.guest-field{
  display:grid;
  gap:8px;
}

.guest-field label{
  font-weight:900;
  color:#123557;
}

.guest-field input{
  width:100%;
  border-radius:18px;
  border:1px solid rgba(16,45,75,.14);
  background:#fbfdff;
  padding:15px 16px;
  font:inherit;
  transition:.2s ease;
}

.guest-field input:focus{
  outline:none;
  border-color:rgba(18,107,169,.42);
  box-shadow:0 0 0 5px rgba(102,211,255,.16);
}

.guest-login-button{
  width:100%;
  border:0;
  border-radius:18px;
  padding:16px 18px;
  cursor:pointer;
  background:linear-gradient(135deg,#0a3d68,#126ba9,#1d8fd1)!important;
  color:#ffffff;
  font-weight:950;
  box-shadow:0 16px 34px rgba(18,107,169,.24);
}

.guest-login-help{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(10,61,104,.10);
  color:#60758f;
  font-size:.94rem;
}

.guest-login-help a{
  color:#126ba9;
  font-weight:900;
}

.guest-access-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:22px 0 46px;
}

.guest-access-benefits article{
  padding:24px;
}

.guest-access-benefits span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#eaf8ff,#ffffff);
  border:1px solid rgba(18,107,169,.12);
  font-size:1.35rem;
  margin-bottom:16px;
}

.guest-access-benefits h3{
  margin:0 0 10px;
  color:#10304e;
}

.guest-access-benefits p{
  margin:0;
  color:#60758f;
  line-height:1.75;
}

/* Footer identico allo stile del sito Sea Vibes Rooms */
.sv-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.sv-kicker{text-transform:uppercase;letter-spacing:.18em;color:#66d3ff;font-weight:900;font-size:.76rem;margin:0 0 10px}
.sv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;font-weight:900;box-shadow:0 18px 36px rgba(0,0,0,.14);cursor:pointer}
.sv-btn.primary{background:linear-gradient(135deg,#0a3d68,#126ba9,#1d8fd1)!important;color:#ffffff!important}

.sv-footer-rich{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%,rgba(29,143,209,.20),transparent 28%),
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.08),transparent 22%),
    linear-gradient(135deg,#071d33 0%,#0a3357 48%,#08233d 100%)!important;
  border-top:1px solid rgba(255,255,255,.10);
  padding:54px 0 28px!important;
  margin-top:0!important;
  color:#ffffff;
}

.sv-footer-rich::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.28;
}

.sv-footer-rich > .sv-container{position:relative;z-index:2}

.sv-footer-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:0 0 34px;
  margin-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.sv-footer-topline h2{
  margin:6px 0 8px;
  color:#ffffff;
  font-size:clamp(2rem,3.5vw,3.4rem);
  line-height:1.05;
  letter-spacing:-.035em;
}

.sv-footer-topline p{color:#d8ecfa;margin:0;line-height:1.7}

.sv-footer-rich-grid{
  display:grid;
  grid-template-columns:1.25fr .78fr 1fr 1.1fr;
  gap:34px;
}

.sv-footer-brand-block img{
  width:170px;
  max-width:100%;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.38));
  margin-bottom:16px;
}

.sv-footer-subtitle{
  color:#ffffff!important;
  font-weight:850;
  margin:0 0 12px!important;
}

.sv-footer-description{
  color:#c8deef!important;
  line-height:1.8;
  margin:0 0 18px!important;
}

.sv-footer-badges,
.sv-footer-service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.sv-footer-badges span,
.sv-footer-service-tags span{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#e9f7ff;
  border:1px solid rgba(255,255,255,.13);
  font-weight:800;
  font-size:.88rem;
}

.sv-footer-col strong{
  display:block;
  color:#ffffff;
  font-size:1.05rem;
  margin-bottom:16px;
  letter-spacing:.02em;
}

.sv-footer-col ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.sv-footer-col li,
.sv-footer-col p{
  color:#c8deef;
  line-height:1.55;
}

.sv-footer-col a{
  color:#e9f7ff;
  transition:.2s ease;
}

.sv-footer-col a:hover{color:#77d7ff}

.sv-footer-contact-list li{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:start;
  gap:10px;
}

.sv-footer-contact-list li span{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0a3d68,#126ba9,#1d8fd1);
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

.sv-footer-contact-list strong{
  display:inline;
  color:#fff;
  margin:0;
  font-size:.95rem;
}

.sv-footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.sv-footer-legal-links a{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#e9f7ff;
  font-weight:800;
}

.sv-footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px;
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#c8deef;
  font-size:.92rem;
}

.sv-footer-bottom a{color:#e9f7ff}

@media(max-width:1100px){
  .guest-access-hero{grid-template-columns:1fr}
  .guest-access-benefits{grid-template-columns:1fr}
  .sv-footer-rich-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-footer-topline{display:grid}
}

@media(max-width:760px){
  .guest-access-page{padding:30px 0 0}
  .guest-access-copy,.guest-login-card{padding:24px}
  .guest-access-steps{grid-template-columns:1fr}
  .sea-vibes-guest-menu{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .sv-footer-rich-grid{grid-template-columns:1fr}
  .sv-footer-rich{padding:42px 0 24px!important}
  .sv-footer-topline{margin-bottom:28px;padding-bottom:28px}
  .sv-footer-bottom{display:grid}
}


/* ============================================================
   SEA VIBES ROOMS - Area ospite compatta + selettore lingue
   ============================================================ */
.guest-lang-switch{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.guest-lang-switch select{border:0;outline:0;border-radius:999px;padding:9px 34px 9px 13px;background:#fff;color:#0b2d4b;font-weight:950;min-width:134px}
.guest-lang-flag,.guest-flag{display:inline-block!important;width:32px!important;height:22px!important;border-radius:7px!important;border:1px solid rgba(255,255,255,.85)!important;box-shadow:0 6px 14px rgba(0,0,0,.20)!important;overflow:hidden!important;flex:0 0 auto}
.guest-flag-it{background:linear-gradient(90deg,#008c45 0 33%,#fff 33% 66%,#cd212a 66% 100%)!important}
.guest-flag-en{background:#012169!important;position:relative}.guest-flag-en:before{content:"";position:absolute;inset:9px 0;background:#fff}.guest-flag-en:after{content:"";position:absolute;inset:0 13px;background:#c8102e}
.guest-flag-fr{background:linear-gradient(90deg,#0055a4 0 33%,#fff 33% 66%,#ef4135 66% 100%)!important}
.guest-flag-de{background:linear-gradient(180deg,#000 0 33%,#dd0000 33% 66%,#ffce00 66% 100%)!important}
.guest-flag-es{background:linear-gradient(180deg,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75% 100%)!important}
.guest-flag-pt{background:linear-gradient(90deg,#006600 0 42%,#ff0000 42% 100%)!important}
.guest-flag-nl{background:linear-gradient(180deg,#ae1c28 0 33%,#fff 33% 66%,#21468b 66% 100%)!important}
.guest-flag-ro{background:linear-gradient(90deg,#002b7f 0 33%,#fcd116 33% 66%,#ce1126 66% 100%)!important}
.guest-flag-pl{background:linear-gradient(180deg,#fff 0 50%,#dc143c 50% 100%)!important}.guest-flag-ar{background:#006c35!important}
.guest-access-page-compact{padding:42px 0 48px!important}
.guest-compact-title{width:min(920px,100%);margin:0 auto 24px;text-align:center;background:rgba(255,255,255,.82);border:1px solid rgba(10,61,104,.08);border-radius:30px;padding:28px 30px;box-shadow:0 22px 58px rgba(10,61,104,.10);backdrop-filter:blur(16px)}
.guest-compact-title h1{margin:0 0 12px;color:#10304e;font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.02;letter-spacing:-.05em}
.guest-compact-title p:not(.eyebrow){margin:0 auto;max-width:760px;color:#60758f;line-height:1.75}
.guest-compact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:22px;align-items:stretch;margin-bottom:34px}
.guest-login-card-compact{padding:28px!important}
.guest-login-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.guest-login-top .eyebrow{margin:0 0 5px}
.guest-login-card-compact h2{margin:0!important;font-size:clamp(1.55rem,2vw,2.1rem)!important}
.guest-login-card-compact .guest-login-icon{margin:0!important;width:58px;height:58px;min-width:58px}
.guest-access-benefits-compact{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin:0!important}
.guest-access-benefits-compact article{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;padding:20px!important}
.guest-access-benefits-compact span{margin:0!important}.guest-access-benefits-compact h3{margin:0 0 6px!important}.guest-access-benefits-compact p{margin:0!important}
html[dir="rtl"] .guest-login-top,html[dir="rtl"] .guest-access-benefits-compact article{direction:rtl}
@media(max-width:1180px){.sea-vibes-guest-nav{flex-wrap:wrap}.guest-lang-switch{margin-left:auto}}
@media(max-width:980px){.guest-compact-grid{grid-template-columns:1fr}.guest-access-benefits-compact{grid-template-columns:repeat(3,1fr)!important}.guest-access-benefits-compact article{display:block}.guest-access-benefits-compact span{margin-bottom:12px!important}}
@media(max-width:760px){.guest-compact-title{padding:22px 18px;border-radius:24px}.guest-access-benefits-compact{grid-template-columns:1fr!important}.guest-lang-switch{width:100%;justify-content:flex-start}.guest-lang-switch select{flex:1}}


/* ============================================================
   SEA VIBES ROOMS - FIX HEADER AREA OSPITE
   Logo visibile + menu desktop tutto su una sola riga
   ============================================================ */
.sea-vibes-guest-header{
  min-height:76px!important;
}

.sea-vibes-guest-header .site-container,
.sea-vibes-guest-header .top-nav,
.sea-vibes-guest-nav{
  width:min(1360px,calc(100% - 34px))!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  padding:10px 0!important;
}

.sea-vibes-guest-brand{
  flex:0 0 285px!important;
  min-width:285px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  overflow:hidden!important;
}

.sea-vibes-guest-brand img{
  display:block!important;
  width:72px!important;
  height:auto!important;
  max-height:48px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))!important;
}

.sea-vibes-guest-brand div{
  min-width:0!important;
}

.sea-vibes-guest-brand strong{
  display:block!important;
  white-space:nowrap!important;
  font-size:1.03rem!important;
  line-height:1.1!important;
}

.sea-vibes-guest-brand span{
  display:block!important;
  white-space:normal!important;
  font-size:.82rem!important;
  line-height:1.25!important;
}

.sea-vibes-guest-menu{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:4px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.sea-vibes-guest-menu a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 10px!important;
  font-size:.86rem!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.sea-vibes-guest-menu .guest-menu-cta{
  padding:10px 13px!important;
}

.guest-lang-switch{
  flex:0 0 auto!important;
  margin-left:0!important;
  white-space:nowrap!important;
  min-width:168px!important;
}

.guest-lang-switch select{
  min-width:122px!important;
  max-width:142px!important;
  padding:9px 28px 9px 12px!important;
  font-size:.88rem!important;
}

@media(max-width:1250px){
  .sea-vibes-guest-header .site-container,
  .sea-vibes-guest-header .top-nav,
  .sea-vibes-guest-nav{
    gap:10px!important;
  }
  .sea-vibes-guest-brand{
    flex-basis:250px!important;
    min-width:250px!important;
  }
  .sea-vibes-guest-brand img{
    width:62px!important;
    max-height:42px!important;
  }
  .sea-vibes-guest-brand strong{
    font-size:.92rem!important;
  }
  .sea-vibes-guest-brand span{
    font-size:.76rem!important;
  }
  .sea-vibes-guest-menu a{
    padding:8px 7px!important;
    font-size:.80rem!important;
  }
  .guest-lang-switch{
    min-width:150px!important;
  }
  .guest-lang-switch select{
    min-width:108px!important;
    max-width:126px!important;
  }
}

/* Sotto tablet/mobile torna scrollabile senza rompere la riga */
@media(max-width:980px){
  .sea-vibes-guest-header .site-container,
  .sea-vibes-guest-header .top-nav,
  .sea-vibes-guest-nav{
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
  .sea-vibes-guest-brand{
    flex:1 1 100%!important;
    min-width:0!important;
  }
  .sea-vibes-guest-menu{
    order:3!important;
    width:100%!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    padding-bottom:5px!important;
  }
  .guest-lang-switch{
    order:2!important;
    margin-left:auto!important;
  }
}
