/*
 * Blacklux Step 2 Concierge
 * Ambito rigoroso: colonna destra dello Step 2 e soli widget contatto flottanti.
 */

.blx-booking[data-step="2"] .blx-results-shell {
  align-items:stretch!important;
}

.blx-step2-rail {
  align-self:stretch!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
}

.blx-step2-rail > .blx-results-card {
  position:static!important;
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}

.blx-s2c {
  --s2c-ink:#0b0b0b;
  --s2c-text:#20252a;
  --s2c-muted:#66747d;
  --s2c-paper:#f8f7f3;
  --s2c-card:#fff;
  --s2c-accent:#c9a64a;
  --s2c-accent-2:#ad8330;
  --s2c-line:rgba(201,166,74,.46);
  --s2c-shadow:0 18px 42px rgba(0,0,0,.16);
  font-family:inherit!important;
}

.blx-s2c--hyphen {
  --s2c-ink:#101a48;
  --s2c-text:#10213b;
  --s2c-muted:#65748c;
  --s2c-paper:#f6f8ff;
  --s2c-accent:#3156dc;
  --s2c-accent-2:#6540d8;
  --s2c-line:rgba(67,91,221,.25);
  --s2c-shadow:0 18px 42px rgba(35,55,147,.14);
}

.blx-s2c-stack {
  min-height:0!important;
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-rows:auto clamp(340px,28vw,460px) auto auto!important;
  align-content:start!important;
  gap:22px!important;
}

.blx-s2c-concierge,
.blx-s2c-trust,
.blx-s2c-assurance {
  box-sizing:border-box!important;
  margin:0!important;
  padding:24px!important;
  border:1px solid var(--s2c-line)!important;
  border-radius:18px!important;
  background:var(--s2c-card)!important;
  box-shadow:var(--s2c-shadow)!important;
  color:var(--s2c-text)!important;
  text-decoration:none!important;
}

.blx-s2c-assurance {
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:22px!important;
  background:linear-gradient(155deg,#171715 0%,#080808 58%,#11100c 100%)!important;
  color:#fff!important;
}

.blx-s2c--hyphen .blx-s2c-assurance {
  background:linear-gradient(155deg,#14265a 0%,#101942 52%,#2a175f 100%)!important;
}

.blx-s2c-assurance .blx-s2c-kicker {
  display:block!important;
  margin-bottom:14px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:800 10px/1.3 inherit!important;
  letter-spacing:.18em!important;
}

.blx-s2c-assurance h3 {
  margin:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:20px!important;
  letter-spacing:.1em!important;
}

.blx-s2c-assurance ul {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:18px!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.blx-s2c-assurance li {
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-height:58px!important;
  padding:8px 0!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
}

.blx-s2c-assurance li:nth-child(-n+2) {
  border-top:1px solid rgba(255,255,255,.14)!important;
}

.blx-s2c-assurance li:last-child:nth-child(odd) {
  grid-column:1/-1!important;
}

.blx-s2c-assurance li span {
  width:32px!important;
  height:32px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--s2c-accent)!important;
  border-radius:50%!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:800 9px/1 inherit!important;
}

.blx-s2c-assurance li strong {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:700 13px/1.35 inherit!important;
}

.blx-s2c-assurance > p {
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid var(--s2c-accent)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:800 10px/1.45 inherit!important;
  letter-spacing:.08em!important;
  text-align:center!important;
}

html body .blx-booking[data-step="2"] .blx-step2-rail.blx-s2c .blx-s2c-assurance,
html body .blx-booking[data-step="2"] .blx-step2-rail.blx-s2c .blx-s2c-assurance h3,
html body .blx-booking[data-step="2"] .blx-step2-rail.blx-s2c .blx-s2c-assurance p,
html body .blx-booking[data-step="2"] .blx-step2-rail.blx-s2c .blx-s2c-assurance span,
html body .blx-booking[data-step="2"] .blx-step2-rail.blx-s2c .blx-s2c-assurance strong {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}

.blx-s2c-concierge-copy {
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
}

.blx-s2c-icon {
  width:50px!important;
  height:50px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--s2c-accent)!important;
  border-radius:50%!important;
  color:var(--s2c-accent)!important;
}

.blx-s2c svg {
  width:25px!important;
  height:25px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.blx-s2c h3 {
  margin:1px 0 8px!important;
  padding:0!important;
  color:var(--s2c-text)!important;
  font:800 15px/1.25 inherit!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.blx-s2c p {
  margin:0!important;
  color:var(--s2c-muted)!important;
  font:500 13px/1.55 inherit!important;
}

.blx-s2c-actions {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:20px!important;
}

.blx-s2c-action {
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  box-sizing:border-box!important;
  padding:12px 14px!important;
  border:0!important;
  border-radius:11px!important;
  background:var(--s2c-ink)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
  text-decoration:none!important;
  font:800 12px/1 inherit!important;
  letter-spacing:.04em!important;
  cursor:pointer!important;
}

.blx-s2c--hyphen .blx-s2c-action {
  background:linear-gradient(110deg,var(--s2c-accent),var(--s2c-accent-2))!important;
  box-shadow:0 10px 22px rgba(58,72,191,.22)!important;
}

.blx-s2c-action svg {
  width:20px!important;
  height:20px!important;
}

.blx-s2c-action:disabled {
  opacity:.45!important;
  cursor:not-allowed!important;
}

.blx-s2c-visual {
  position:relative!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid var(--s2c-line)!important;
  border-radius:18px!important;
  background:#0b0b0b!important;
  box-shadow:var(--s2c-shadow)!important;
}

.blx-s2c-visual::after {
  content:""!important;
  position:absolute!important;
  inset:42% 0 0!important;
  background:linear-gradient(transparent,rgba(0,0,0,.82))!important;
  pointer-events:none!important;
}

.blx-s2c-visual img {
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center 54%!important;
}

.blx-s2c-visual figcaption {
  position:absolute!important;
  z-index:1!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
  color:#fff!important;
  font:800 14px/1.4 inherit!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

.blx-s2c-visual figcaption::before {
  content:""!important;
  display:block!important;
  width:38px!important;
  height:2px!important;
  margin-bottom:13px!important;
  background:var(--s2c-accent)!important;
}

.blx-s2c-trust {
  display:block!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}

.blx-s2c-trust:hover {
  transform:translateY(-2px)!important;
  box-shadow:0 22px 48px rgba(0,0,0,.19)!important;
}

.blx-s2c-trust-grid {
  display:grid!important;
  grid-template-columns:105px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:center!important;
  margin-top:15px!important;
}

.blx-s2c-score strong {
  display:block!important;
  color:#242924!important;
  font:800 42px/1 inherit!important;
}

.blx-s2c-score > span,
.blx-s2c-score small {
  display:block!important;
  margin-top:6px!important;
  color:#303830!important;
  font-size:12px!important;
}

.blx-s2c-stars {
  display:flex!important;
  gap:2px!important;
  margin-top:8px!important;
}

.blx-s2c-stars span {
  width:19px!important;
  height:19px!important;
  display:grid!important;
  place-items:center!important;
  background:#00b67a!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
}

.blx-s2c-rating-row {
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  margin:7px 0!important;
  color:#424b45!important;
  font-size:10px!important;
}

.blx-s2c-rating-row i {
  height:7px!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#d9ddda!important;
}

.blx-s2c-rating-row b {
  height:100%!important;
  display:block!important;
  border-radius:inherit!important;
  background:#00b67a!important;
}

.blx-s2c-trust-link {
  display:block!important;
  margin-top:17px!important;
  padding-top:13px!important;
  border-top:1px solid #e2e3e1!important;
  color:#4e5851!important;
  font:600 11px/1.35 inherit!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

body.blx-s2c-active .blx-s2c-original-contact {
  display:none!important;
}

body.blx-s2c-active .contact-dock {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* blackluxtransfer.com: correzioni mirate della pagina principale. */
body.blx-s2c-site-no-hyphen #experience.cinema-section,
body.blx-s2c-site-no-hyphen #business.business,
body.blx-s2c-site-no-hyphen .digital-section.section {
  background-color:#050505!important;
  background-image:radial-gradient(circle at 14% 8%,rgba(201,166,74,.11),transparent 32%),linear-gradient(135deg,#050505 0%,#0b0b0b 55%,#030303 100%)!important;
}

body.blx-s2c-site-no-hyphen #contact .contact-card {
  background-color:#050505!important;
  background-image:radial-gradient(circle at 82% 18%,rgba(201,166,74,.10),transparent 34%),linear-gradient(120deg,#050505 0%,#0a0a0a 100%)!important;
}

body.blx-s2c-site-no-hyphen .blx-exit-overlay .blx-exit-card {
  width:min(520px,calc(100vw - 24px))!important;
  min-width:0!important;
  max-width:520px!important;
  flex:0 1 520px!important;
}

@media (max-width:1180px) {
  .blx-step2-rail {
    order:-1!important;
  }

  .blx-s2c-stack {
    min-height:0!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
    flex:0 0 auto!important;
  }

  .blx-s2c-visual {
    display:none!important;
  }
}

@media (max-width:700px) {
  .blx-step2-rail,
  .blx-s2c-stack {
    gap:14px!important;
  }

  .blx-s2c-stack {
    grid-template-columns:1fr!important;
  }

  .blx-s2c-concierge,
  .blx-s2c-trust,
  .blx-s2c-assurance {
    padding:19px!important;
    border-radius:15px!important;
  }

  .blx-s2c-concierge-copy {
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:12px!important;
  }

  .blx-s2c-icon {
    width:42px!important;
    height:42px!important;
  }

  .blx-s2c-actions {
    grid-template-columns:1fr!important;
  }

  .blx-s2c-trust-grid {
    grid-template-columns:94px minmax(0,1fr)!important;
    gap:14px!important;
  }

  .blx-s2c-assurance ul {
    grid-template-columns:1fr!important;
  }

  .blx-s2c-assurance li:nth-child(2) {
    border-top:0!important;
  }

  .blx-s2c-assurance li:last-child:nth-child(odd) {
    grid-column:auto!important;
  }
}
