/* 14Bis V52 Mobile Clean Stabilizer
   Goal: one fixed reserve CTA + one WhatsApp CTA, no legacy flicker, mobile-first. */
:root{
  --bis-teal:#063f43;
  --bis-teal-2:#075e66;
  --bis-gold:#e7b833;
  --bis-gold-2:#f5c843;
  --bis-cream:#fff8eb;
  --bis-cream-2:#fff3d8;
  --bis-ink:#063f43;
  --bis-muted:#41656b;
  --bis-green:#25d366;
}
html,body{max-width:100%;overflow-x:hidden!important;}
body{padding-bottom:96px!important;}
body *{box-sizing:border-box;}

/* Stop legacy patch animations/transforms from moving buttons. */
.pulse-button,.bis-floating-reserve-v14,.whatsapp-floating-cta,.floating-wa{
  animation:none!important;transition:none!important;transform:none!important;
}

/* Remove UI created by old emergency patches. V52 owns the floating CTAs and reviews block. */
.bis-v49-reviews-strip,.bis-v49-hero-google,.bis-v49-lang-control,.bis-v49-booking-trip,
.bis-v48-lang-switcher,.bis-v48-tripadvisor-card,.bis-v48-wa-overlay,
.bis-v50-reviews,.bis-v50-booking-trip,.bis-v50-duplicate-wa,.bis-v50-duplicate-book,
.bis-v51-reviews,.bis-v51-booking-trip,.bis-v51-lang-hero,.bis-v51-wa-duplicate,.bis-v51-remove,
#bis-v38-wa-confirm,.bis-v38-wa-overlay,.bis-transfer-overlay-v14{
  display:none!important;
}
html.bis-v38-modal-open{overflow:auto!important;}
body:not(.bis-v52-home) #bis-v52-reserve{display:none!important;}
.bis-floating-reserve-v14:not(#bis-v52-reserve){display:none!important;}
.whatsapp-floating-cta.bis-v52-wa-duplicate,.floating-wa.bis-v52-wa-duplicate{display:none!important;}

/* Header and hero: stable, centered and readable. */
#hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:620px!important;
  padding:112px 18px 104px!important;
}
#hero:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,47,53,.78),rgba(0,78,86,.68))!important;
  pointer-events:none;z-index:0;
}
#hero>*{position:relative!important;z-index:1!important;}
#hero h1{
  max-width:980px!important;margin:0 auto 18px!important;text-align:center!important;
  color:#fff!important;font-weight:950!important;line-height:1.02!important;
  text-shadow:0 4px 26px rgba(0,0,0,.38)!important;
  transform:none!important;left:auto!important;right:auto!important;
}
#hero .bis-v52-title-main{display:block;color:#fff!important;-webkit-text-fill-color:#fff!important;}
#hero .bis-v52-title-accent{display:block;color:var(--bis-gold)!important;-webkit-text-fill-color:var(--bis-gold)!important;}
#hero p{
  max-width:780px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;
  color:#fff8ea!important;text-shadow:0 3px 18px rgba(0,0,0,.42)!important;
  transform:none!important;left:auto!important;right:auto!important;
}
#hero a,#hero button{transform:none!important;transition:none!important;}
#hero a[href*="booking-options"],#hero button[data-bis-v52-booking-cta]{
  min-width:220px!important;min-height:54px!important;border-radius:14px!important;
  background:linear-gradient(135deg,var(--bis-gold),var(--bis-gold-2))!important;
  color:var(--bis-ink)!important;text-shadow:none!important;font-weight:950!important;
}

/* Social proof lives directly below the hero, never in footer. */
#bis-v52-social-proof{
  width:min(1080px,calc(100% - 32px));
  margin:24px auto 34px;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(180deg,#fffdf7,#fff5df);
  border:1px solid rgba(231,184,51,.86);
  box-shadow:0 18px 42px rgba(7,94,102,.14);
  color:var(--bis-ink);
  text-align:center;
  position:relative;z-index:2;
  min-height:220px;
}
#bis-v52-social-proof h2{margin:0 0 8px;color:var(--bis-teal-2);font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.08;font-weight:950;}
#bis-v52-social-proof p{margin:0 auto 14px;max-width:760px;color:var(--bis-muted);font-weight:650;line-height:1.45;}
.bis-v52-score{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;font-weight:950;color:var(--bis-ink);}
.bis-v52-stars{color:var(--bis-gold);letter-spacing:.05em;}
.bis-google-logo{display:inline-flex;align-items:center;font-weight:950;white-space:nowrap;text-shadow:none;}
.bis-google-logo .b{color:#4285F4}.bis-google-logo .r{color:#DB4437}.bis-google-logo .y{color:#F4B400}.bis-google-logo .g{color:#0F9D58}.bis-google-logo .m{color:#4a5559;margin-left:4px;}
.bis-v52-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 16px;}
.bis-v52-review-card{background:#fff;border:1px solid rgba(7,94,102,.14);border-radius:16px;padding:14px;text-align:left;box-shadow:0 10px 22px rgba(7,94,102,.07);}
.bis-v52-review-card strong{display:block;color:var(--bis-teal-2);font-weight:950;margin-bottom:4px;}
.bis-v52-review-card span{display:block;color:var(--bis-gold);font-weight:950;}
.bis-v52-review-card small{display:block;color:#355d62;line-height:1.35;margin-top:4px;}
.bis-v52-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px;}
.bis-v52-actions a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:44px!important;padding:0 18px!important;border-radius:999px!important;background:#fff!important;color:var(--bis-ink)!important;border:1px solid rgba(231,184,51,.9)!important;text-decoration:none!important;font-weight:950!important;box-shadow:0 8px 22px rgba(7,94,102,.10)!important;text-shadow:none!important;white-space:nowrap!important;}
.bis-v52-actions a.gold{background:linear-gradient(135deg,var(--bis-gold),var(--bis-gold-2))!important;border-color:transparent!important;}
.bis-v52-ta-widget{display:flex;justify-content:center;align-items:center;min-height:64px;margin-top:12px;overflow:hidden;}
.bis-v52-ta-widget img{max-width:100%;height:auto;}

/* Home tour cards: no Full Day circle, all with gold outline and visible image. */
section#tours{background:linear-gradient(180deg,#fff8ea 0%,#fff1d2 100%)!important;position:relative!important;}
section#tours h2,section#tours h3{color:var(--bis-teal)!important;text-shadow:none!important;}
section#tours p{color:#335f64!important;text-shadow:none!important;}
section#tours a[href*="alfama"],section#tours a[href*="belem"],section#tours a[href*="chiado"],section#tours a[href*="full-day-portugal"]{
  border:2px solid rgba(231,184,51,.98)!important;border-radius:18px!important;overflow:hidden!important;
  box-shadow:0 18px 42px rgba(7,94,102,.18)!important;background-size:cover!important;background-position:center!important;clip-path:none!important;
  transform:none!important;transition:none!important;
}
section#tours a[href*="full-day-portugal"]{
  background-image:linear-gradient(180deg,rgba(2,47,52,.15),rgba(2,47,52,.72)),url('/assets/full-day-portugal-card.jpg')!important;
  background-color:transparent!important;border-radius:18px!important;aspect-ratio:auto!important;border-radius:18px!important;
}
section#tours a[href*="full-day-portugal"] *{color:#fff!important;text-shadow:0 3px 18px rgba(0,0,0,.78)!important;}

/* One reserve button + one WhatsApp button. */
#bis-v52-reserve{
  position:fixed!important;left:24px!important;right:auto!important;bottom:22px!important;z-index:2147482000!important;
  min-height:56px!important;min-width:178px!important;max-width:240px!important;padding:0 22px!important;
  border-radius:999px!important;background:#fffdf7!important;color:var(--bis-ink)!important;border:1px solid rgba(231,184,51,.95)!important;
  box-shadow:0 18px 42px rgba(216,167,45,.24),0 0 0 10px rgba(216,167,45,.10)!important;
  font-weight:950!important;text-decoration:none!important;text-shadow:none!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  transition:none!important;animation:none!important;transform:none!important;
}
.whatsapp-floating-cta{
  position:fixed!important;right:24px!important;left:auto!important;bottom:22px!important;z-index:2147482001!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  min-height:56px!important;min-width:176px!important;max-width:240px!important;padding:0 22px!important;
  border-radius:999px!important;background:var(--bis-green)!important;color:#fff!important;border:1px solid rgba(255,255,255,.65)!important;
  box-shadow:0 18px 42px rgba(37,211,102,.34),0 0 0 12px rgba(37,211,102,.12)!important;
  font-weight:950!important;text-decoration:none!important;text-shadow:none!important;white-space:nowrap!important;
  transition:none!important;animation:none!important;transform:none!important;
}
.whatsapp-floating-cta svg,.whatsapp-floating-cta__icon{width:22px!important;height:22px!important;display:block!important;flex:0 0 auto!important;}
.whatsapp-floating-cta span,.whatsapp-floating-cta__text{color:#fff!important;text-shadow:none!important;}

/* Booking pages: mobile stabilization only, do not touch SumUp JS. */
body .floating-wa{z-index:2147482001!important;transition:none!important;animation:none!important;transform:none!important;}
.booking-options-page .top,.top{min-width:0;}
.option,.feature-option{min-width:0;overflow:hidden;}
.option .price,.feature-option .price{min-width:84px;text-align:right;}
.cart-btn,.pay-btn{white-space:normal!important;line-height:1.08!important;text-align:center!important;}

@media(max-width:980px){
  .bis-v52-review-grid{grid-template-columns:1fr;}
  #bis-v52-social-proof{width:calc(100% - 24px);padding:18px;margin-top:18px;margin-bottom:24px;}
  section#tours a[href*="alfama"],section#tours a[href*="belem"],section#tours a[href*="chiado"],section#tours a[href*="full-day-portugal"]{width:100%!important;max-width:440px!important;margin-left:auto!important;margin-right:auto!important;min-height:250px!important;}
  .option,.feature-option{grid-template-columns:minmax(0,1fr) minmax(90px,auto)!important;grid-template-areas:"info price" "cart pay"!important;gap:10px!important;align-items:center!important;}
  .option>span:first-child,.feature-option>span:first-child{grid-area:info;min-width:0!important;}
  .option>.price,.feature-option>.price{grid-area:price;justify-self:end;}
  .option>.cart-btn,.feature-option>.cart-btn{grid-area:cart;width:100%!important;min-width:0!important;max-width:100%!important;min-height:46px!important;padding:0 10px!important;}
  .option>.pay-btn,.feature-option>.pay-btn{grid-area:pay;width:100%!important;min-width:0!important;max-width:100%!important;min-height:46px!important;padding:0 10px!important;}
}
@media(max-width:640px){
  body{padding-bottom:90px!important;}
  #hero{min-height:calc(100svh - 0px)!important;padding:86px 14px 118px!important;}
  #hero h1{font-size:clamp(2.15rem,10.5vw,3.25rem)!important;line-height:1.04!important;margin-bottom:14px!important;}
  #hero p{font-size:1rem!important;line-height:1.42!important;margin-bottom:18px!important;}
  #hero a[href*="booking-options"],#hero button[data-bis-v52-booking-cta]{width:100%!important;max-width:318px!important;min-height:52px!important;margin-left:auto!important;margin-right:auto!important;font-size:1rem!important;}
  .bis-v52-score{font-size:.95rem;}
  .bis-v52-actions a{width:100%;max-width:360px;}
  #bis-v52-reserve{left:10px!important;right:78px!important;bottom:12px!important;width:auto!important;min-width:0!important;max-width:none!important;min-height:52px!important;padding:0 10px!important;font-size:.84rem!important;overflow:hidden!important;}
  .whatsapp-floating-cta{right:10px!important;left:auto!important;bottom:12px!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:52px!important;min-height:52px!important;padding:0!important;border-radius:999px!important;gap:0!important;}
  .whatsapp-floating-cta span,.whatsapp-floating-cta__text,.whatsapp-floating-cta .bis-wa-fallback-v20{display:none!important;}
  .whatsapp-floating-cta svg,.whatsapp-floating-cta__icon{width:22px!important;height:22px!important;margin:0!important;}
  body .floating-wa{left:auto!important;right:10px!important;bottom:12px!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:52px!important;min-height:52px!important;padding:0!important;border-radius:999px!important;font-size:0!important;overflow:hidden!important;justify-content:center!important;}
  body .floating-wa:before{content:"💬";font-size:20px;line-height:1;}
  .top{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;}
  .top-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-start!important;}
  .lang-switch{display:flex!important;gap:6px!important;flex-wrap:wrap!important;max-width:100%!important;overflow:visible!important;}
  .lang-switch a{min-height:32px!important;padding:0 9px!important;font-size:.75rem!important;}
  .support{grid-template-columns:1fr!important;}
  .option,.feature-option{grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;grid-template-areas:"info price" "cart cart" "pay pay"!important;}
  .option>.cart-btn,.option>.pay-btn,.feature-option>.cart-btn,.feature-option>.pay-btn{min-height:48px!important;}
}
@media(max-width:380px){
  #bis-v52-reserve{font-size:.78rem!important;right:74px!important;padding-inline:7px!important;}
  .whatsapp-floating-cta,body .floating-wa{width:54px!important;min-width:54px!important;max-width:54px!important;}
}
