/* WordPress Plugin CSS - Isolato per evitare conflitti con il tema */

:root{
  --bg: #f6f7fb;
  --paper: #ffffff;
  --paper-2: #fbfbfd;
  --surface: rgba(15,23,42,.06);
  --surface-2: rgba(15,23,42,.10);
  --text: rgba(15,23,42,.92);
  --muted: rgba(15,23,42,.70);
  --brand: #af884a;
  --brand-2: #7a5a2b;
  --border: rgba(15,23,42,.14);
  --shadow: 0 18px 60px rgba(15,23,42,.12);
  --radius: 18px;
  --radius-sm: 14px;
  --max: 1100px;
}

/* Reset CSS per isolare il contenitore del plugin */
.bbcolors-landing-main {
  all: initial;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial !important;
  color: var(--text) !important;
  background: radial-gradient(1200px 800px at 10% 10%, rgba(175,136,74,.18), transparent 60%),
              radial-gradient(900px 700px at 85% 20%, rgba(175,136,74,.10), transparent 65%),
              linear-gradient(180deg, var(--bg), #ffffff) !important;
  line-height: 1.55 !important;
  box-sizing: border-box !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  -webkit-tap-highlight-color: rgba(175,136,74,.1) !important;
}

.bbcolors-landing-main *,
.bbcolors-landing-main *::before,
.bbcolors-landing-main *::after {
  box-sizing: border-box !important;
}

.bbcolors-landing-main a { 
  color: inherit !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: rgba(175,136,74,.2) !important;
}

.bbcolors-landing-main img { 
  max-width: 100% !important; 
  display: block !important; 
  height: auto !important;
}

.bbcolors-landing-main button, 
.bbcolors-landing-main .btn, 
.bbcolors-landing-main a, 
.bbcolors-landing-main summary {
  touch-action: manipulation !important;
}

.bbcolors-landing-main .container{
  width:min(var(--max), calc(100% - 40px));
  margin-inline:auto;
}

.bbcolors-landing-main .skip-link{
  position:absolute;
  left:-999px;
  top:12px;
  padding:10px 12px;
  background:#fff;
  color:#000;
  border-radius:10px;
  z-index:9999;
}
.bbcolors-landing-main .skip-link:focus{ left:12px; }

.bbcolors-landing-main .header{
  position:sticky;
  top:0;
  z-index:50;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.bbcolors-landing-main .header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.bbcolors-landing-main .brand{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
  transition: transform 0.2s ease;
}
.bbcolors-landing-main .brand:hover{
  transform: translateY(-1px);
}
.bbcolors-landing-main .brand__logo{
  height:80px;
  width:auto;
  max-width: 240px;
  padding:10px 18px;
  object-fit:contain;
  border-radius:14px;
  background: #ffffff !important;
  border: 2px solid var(--brand);
  box-shadow: 0 4px 12px rgba(175,136,74,.25), 0 2px 4px rgba(175,136,74,.15);
  transition: all 0.3s ease;
  display: block !important;
}
.bbcolors-landing-main .brand__logo:hover{
  box-shadow: 0 6px 20px rgba(175,136,74,.35), 0 3px 6px rgba(175,136,74,.2);
  transform: scale(1.02);
}
.bbcolors-landing-main .brand__name{ 
  opacity: 1;
  font-size: 1.1rem;
  color: var(--brand-2);
  display: inline-block;
  font-weight: 700;
  margin-left: 8px;
}

/* Nascondo testo business name nel brand */
.bbcolors-landing-main .brand [data-business-name] {
  font-size: 0 !important;
  display: none !important;
}

.bbcolors-landing-main .nav{ display:flex; gap:18px; align-items:center; }
.bbcolors-landing-main .nav a{
  text-decoration:none;
  color:rgba(15,23,42,.88);
  padding:8px 10px;
  border-radius:12px;
}
.bbcolors-landing-main .nav a:hover{ background: rgba(15,23,42,.06); }

.bbcolors-landing-main .header__actions{ display:flex; align-items:center; gap:10px; }

.bbcolors-landing-main .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 24px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color:#fff;
  text-decoration:none;
  border-radius:var(--radius-sm);
  font-weight:600;
  border:none;
  cursor:pointer;
  white-space:nowrap;
  font-size:0.95rem;
  box-shadow: 0 4px 14px rgba(175,136,74,.25);
  letter-spacing: 0.3px;
}
.bbcolors-landing-main .btn:hover{
  background: linear-gradient(135deg, var(--brand-2) 0%, var(--brand) 100%);
}
.bbcolors-landing-main .btn--ghost{
  background:transparent;
  color:var(--brand);
  border: 2px solid var(--brand);
  box-shadow: none;
}
.bbcolors-landing-main .btn--ghost:hover{
  background:var(--brand);
  color:#fff;
  box-shadow: 0 4px 14px rgba(175,136,74,.25);
}
.bbcolors-landing-main .btn--lg{ 
  padding:16px 32px; 
  font-size:1.05rem;
  font-weight:700;
}
.bbcolors-landing-main .btn.primary{
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  box-shadow: 0 4px 14px rgba(175,136,74,.35);
}
.bbcolors-landing-main .btn.primary:hover{
  background: linear-gradient(135deg, var(--brand-2) 0%, #6b4a1f 100%);
  box-shadow: 0 6px 20px rgba(175,136,74,.45);
}

.bbcolors-landing-main .btn--cta-primary {
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  box-shadow: 0 6px 20px rgba(175,136,74,.4);
  font-size: 1rem;
  padding: 16px 32px;
  letter-spacing: 0.3px;
  font-weight: 700;
}

.bbcolors-landing-main .btn--cta-primary:hover {
  background: linear-gradient(135deg, var(--brand-2) 0%, #6b4a1f 100%);
  box-shadow: 0 8px 30px rgba(175,136,74,.5);
  transform: translateY(-3px) scale(1.02);
}

.bbcolors-landing-main .btn--pulse {
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
  gap:10px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background: linear-gradient(135deg, rgba(175,136,74,.98), rgba(242,211,161,.78));
  color:#1b1408;
  text-decoration:none;
  font-weight:700;
  box-shadow: 0 18px 40px rgba(15,23,42,.12);
}
.bbcolors-landing-main .btn:hover{ filter:saturate(1.05) brightness(1.04); }
.bbcolors-landing-main .btn--lg{ padding:13px 18px; border-radius:16px; }
.bbcolors-landing-main .btn--ghost{
  background: rgba(15,23,42,.05);
  color: rgba(15,23,42,.92);
  box-shadow:none;
}
.bbcolors-landing-main .btn--ghost:hover{ background: rgba(15,23,42,.08); }

.bbcolors-landing-main .icon-btn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(15,23,42,.05);
  display:none;
  cursor:pointer;
}
.bbcolors-landing-main .icon-btn span{
  display:block;
  width:18px;
  height:2px;
  background: rgba(15,23,42,.9);
  margin:4px auto;
  border-radius:2px;
}

/* Animazioni moderne */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

.bbcolors-landing-main .hero__inner {
  animation: fadeInUp 0.8s ease-out;
}

.bbcolors-landing-main .section {
  animation: fadeIn 0.6s ease-out;
}

.bbcolors-landing-main .card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bbcolors-landing-main .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(15,23,42,.18);
}

.bbcolors-landing-main .btn {
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.bbcolors-landing-main .btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  z-index: 0;
}

.bbcolors-landing-main .btn:hover::before {
  width: 300px;
  height: 300px;
}

.bbcolors-landing-main .btn > * {
  position: relative;
  z-index: 1;
}

.bbcolors-landing-main .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(175,136,74,.35);
}

.bbcolors-landing-main .btn:active {
  transform: translateY(0);
}

.bbcolors-landing-main .hero__cta .btn:first-child {
  animation: pulse 2s ease-in-out infinite;
}

.bbcolors-landing-main .alert {
  animation: slideInLeft 0.3s ease-out;
}

.bbcolors-landing-main .hero{ position:relative; padding: 78px 0 56px; overflow:hidden; }
.bbcolors-landing-main .hero__bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(246,247,251,.94)),
    url("https://bbcolorslesina.it/wp-content/uploads/2025/11/lago-di-lesina-tramonto-bb-colors-2048x1366.jpg");
  background-size:cover;
  background-position:center;
  filter:saturate(1.05);
  transform: scale(1.03);
}
.bbcolors-landing-main .hero__inner{ position:relative; z-index:1; }
.bbcolors-landing-main .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 999px;
  color: rgba(15,23,42,.88);
  margin:0 0 14px;
}
.bbcolors-landing-main .hero h1{
  margin:0 0 12px;
  font-size: clamp(30px, 4.6vw, 54px);
  line-height:1.05;
}
.bbcolors-landing-main .lead{
  margin:0 0 18px;
  color: rgba(15,23,42,.78);
  max-width: 68ch;
  font-size: clamp(16px, 1.4vw, 19px);
}
.bbcolors-landing-main .hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin: 18px 0 18px; }
.bbcolors-landing-main .chips{ display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0; list-style:none; }
.bbcolors-landing-main .chips li{
  padding:10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,23,42,.10);
  color: rgba(15,23,42,.80);
}

.bbcolors-landing-main .section{ padding: 62px 0; }
.bbcolors-landing-main .section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.48));
  border-top: 1px solid rgba(15,23,42,.06);
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.bbcolors-landing-main .section__head{ max-width: 80ch; margin-bottom: 22px; }
.bbcolors-landing-main .section__head p{ color: var(--muted); margin: 8px 0 0; }

.bbcolors-landing-main .grid{ display:grid; gap:22px; }
.bbcolors-landing-main .grid--2{ grid-template-columns: 1.1fr .9fr; align-items:center; }

h2{ margin:0 0 10px; font-size: clamp(22px, 2.2vw, 32px); line-height:1.2; }
p{ margin: 0 0 12px; }
.bbcolors-landing-main .muted{ color: var(--muted); }
.bbcolors-landing-main .pill{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(175,136,74,.22);
  background: linear-gradient(135deg, rgba(175,136,74,.15), rgba(242,211,161,.20));
  color: rgba(122,90,43,.96);
  font-weight:900;
  font-size:13px;
  letter-spacing:.2px;
  box-shadow: 0 2px 8px rgba(175,136,74,.15);
}

.bbcolors-landing-main .card.pad{ padding:18px; }

.bbcolors-landing-main .price-hints{
  display:grid;
  gap:10px;
  margin-top: 14px;
}
.bbcolors-landing-main .price-hint{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.10);
}
.bbcolors-landing-main .price-hint__name{ font-weight:900; }
.bbcolors-landing-main .price-hint__value{ color: var(--muted); }
.bbcolors-landing-main .price-hint__value b{ color: rgba(15,23,42,.92); }

.bbcolors-landing-main .booking__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 12px;
}
.bbcolors-landing-main .booking__small{ margin: 0; font-size: 13px; }
.bbcolors-landing-main .booking__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.bbcolors-landing-main .booking__note{ grid-column: 1 / -1; }
.bbcolors-landing-main .booking select, .booking textarea, .booking input{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  color: rgba(15,23,42,.92);
  outline:none;
  font: inherit;
}
.bbcolors-landing-main .booking select:focus, .booking textarea:focus, .booking input:focus{
  border-color: rgba(175,136,74,.55);
  box-shadow: 0 0 0 4px rgba(175,136,74,.18);
}
.bbcolors-landing-main .booking label{ display:grid; gap:8px; font-weight:800; }
.bbcolors-landing-main .alert{
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(220, 38, 38, .22);
  background: rgba(220, 38, 38, .06);
  color: rgba(185, 28, 28, .92);
  font-weight: 800;
}
.bbcolors-landing-main .booking__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 14px;
}
.bbcolors-landing-main .btn.primary{
  background: linear-gradient(135deg, rgba(175,136,74,.98), rgba(242,211,161,.78));
  color:#1b1408;
}
.bbcolors-landing-main .booking__quick{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 12px;
}

.bbcolors-landing-main .media{
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.bbcolors-landing-main .media figcaption{ padding:12px 14px; color: var(--muted); font-size: 14px; }
.bbcolors-landing-main .media--stack{ display:grid; gap:12px; padding:12px; }
.bbcolors-landing-main .media--stack img{ border-radius: var(--radius-sm); border: 1px solid rgba(15,23,42,.10); }

.bbcolors-landing-main .kpi{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top: 14px;
}
.bbcolors-landing-main .kpi__item{
  padding:12px 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,23,42,.10);
}
.bbcolors-landing-main .kpi__value{ display:block; font-weight:800; }
.bbcolors-landing-main .kpi__label{ display:block; color: var(--muted); font-size: 14px; margin-top: 2px; }

.bbcolors-landing-main .cards{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; }
.bbcolors-landing-main .card{
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
}
.bbcolors-landing-main .card__media{ display:block; position:relative; }
.bbcolors-landing-main .card__media img{ aspect-ratio: 4 / 3; width:100%; object-fit:cover; }
.bbcolors-landing-main .card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.45));
  opacity:.8;
}
.bbcolors-landing-main .card__body{ padding:14px 14px 16px; }
.bbcolors-landing-main .card__body h3{ margin:0 0 8px; font-size: 18px; }
.bbcolors-landing-main .card__body p{ color: var(--muted); margin:0 0 12px; }
.bbcolors-landing-main .link{ color: var(--brand); text-decoration:none; font-weight:800; }
.bbcolors-landing-main .link:hover{ text-decoration:underline; }

.bbcolors-landing-main .features{
  list-style:none;
  padding:0;
  margin: 16px 0 0;
  display:grid;
  gap:10px;
}
.bbcolors-landing-main .features li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.10);
}
.bbcolors-landing-main .features__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius: 14px;
  background: rgba(175,136,74,.16);
  border: 1px solid rgba(175,136,74,.26);
}

.bbcolors-landing-main .places{ display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:12px; }
.bbcolors-landing-main .place{
  padding:14px 14px 16px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.10);
}
.bbcolors-landing-main .place h3{ margin:0 0 8px; font-size: 16px; }
.bbcolors-landing-main .place p{ margin:0; color: var(--muted); }

.bbcolors-landing-main .cta{
  border-top: 1px solid rgba(175,136,74,.24);
  border-bottom: 1px solid rgba(175,136,74,.24);
  background: radial-gradient(700px 420px at 20% 20%, rgba(175,136,74,.18), transparent 65%),
              linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.44));
}
.bbcolors-landing-main .offers{ list-style:none; padding:0; margin: 14px 0 18px; display:grid; gap:10px; }
.bbcolors-landing-main .offers li{
  padding:12px 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.10);
  color: rgba(15,23,42,.86);
}
.bbcolors-landing-main .cta__actions{ display:flex; flex-wrap:wrap; gap:12px; }

.bbcolors-landing-main .form{
  padding: 16px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: var(--shadow);
}
.bbcolors-landing-main .form__row{ margin-bottom: 12px; }
.bbcolors-landing-main .form__row--grid{ gap:12px; }
.bbcolors-landing-main .form label{ display:grid; gap:8px; font-weight:700; color: rgba(15,23,42,.90); }
.bbcolors-landing-main .form input, .form textarea{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  color: rgba(15,23,42,.92);
  outline: none;
}
.bbcolors-landing-main .form input:focus, .form textarea:focus{
  border-color: rgba(175,136,74,.55);
  box-shadow: 0 0 0 4px rgba(175,136,74,.18);
}
.bbcolors-landing-main .form__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top: 14px;
}
.bbcolors-landing-main .form__actions .btn {
  width: 100%;
}
.bbcolors-landing-main .form__note{ margin:0; font-size: 13px; }

.bbcolors-landing-main .contact-card{
  padding: 14px 14px 16px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.10);
}
.bbcolors-landing-main .contact-card__title{ margin:0 0 6px; font-weight:800; }
.bbcolors-landing-main .contact-card__line{ margin:0 0 6px; color: var(--muted); }
.bbcolors-landing-main .contact-card a{ color: var(--brand); text-decoration:none; font-weight:700; }
.bbcolors-landing-main .contact-card a:hover{ text-decoration:underline; }

.bbcolors-landing-main .faq details{
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius);
  padding: 12px 14px;
  margin-bottom: 10px;
}
.bbcolors-landing-main .faq summary{ cursor:pointer; font-weight:800; }
.bbcolors-landing-main .faq p{ color: var(--muted); margin: 10px 0 0; }

.bbcolors-landing-main .footer{
  padding: 34px 0;
  border-top: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.72);
}
.bbcolors-landing-main .footer__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.bbcolors-landing-main .footer__brand{ margin:0 0 8px; font-weight:900; }
.bbcolors-landing-main .footer__links{ display:flex; gap:14px; flex-wrap:wrap; }
.bbcolors-landing-main .footer__links a{
  color: rgba(15,23,42,.82);
  text-decoration:none;
  padding:8px 10px;
  border-radius:12px;
}
.bbcolors-landing-main .footer__links a:hover{ background: rgba(15,23,42,.06); }

.bbcolors-landing-main .lightbox{
  position:fixed;
  inset:0;
  background: rgba(15,23,42,.62);
  display:grid;
  place-items:center;
  padding: 18px;
  z-index: 100;
}
.bbcolors-landing-main .lightbox[hidden]{
  display:none;
}
.bbcolors-landing-main .lightbox__img{
  max-width:min(980px, 100%);
  max-height: 86vh;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 30px 100px rgba(0,0,0,.55);
  background: rgba(0,0,0,.2);
}
.bbcolors-landing-main .lightbox__close{
  position:absolute;
  top: 16px;
  right: 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.82);
  color: rgba(15,23,42,.92);
  padding: 10px 12px;
  cursor:pointer;
}
.bbcolors-landing-main .lightbox__close:hover{ background: rgba(255,255,255,.92); }

.bbcolors-landing-main .is-missing{
  outline: 2px dashed rgba(220, 38, 38, .55);
  outline-offset: 4px;
  border-radius: 10px;
}
.bbcolors-landing-main .missing-badge{
  display:inline-block;
  margin-left:10px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(220, 38, 38, .25);
  background: rgba(220, 38, 38, .08);
  color: rgba(185, 28, 28, .92);
  font-weight: 800;
  font-size: 12px;
}

/* Responsive Design - Tablet */
@media (max-width: 1024px){
  .bbcolors-landing-main .container{ 
    width: calc(100% - 32px); 
  }
  .bbcolors-landing-main .grid--2{ 
    grid-template-columns: 1fr; 
    gap: 28px;
  }
  .bbcolors-landing-main .cards{ 
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
  }
  .bbcolors-landing-main .places{ 
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
  }
  .bbcolors-landing-main .kpi{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px){
  .bbcolors-landing-main .grid--2{ grid-template-columns: 1fr; }
  .bbcolors-landing-main .grid--3{ grid-template-columns: 1fr; }
  .bbcolors-landing-main .cards{ grid-template-columns: 1fr; }
  .bbcolors-landing-main .places{ grid-template-columns: 1fr 1fr; }
  .bbcolors-landing-main .footer__inner{ flex-direction:column; }
  
  .bbcolors-landing-main .hero h1{ 
    font-size: clamp(32px, 5.5vw, 48px); 
  }
  .bbcolors-landing-main .lead{ 
    font-size: clamp(15px, 1.6vw, 18px); 
  }
}

/* Responsive Design - Mobile */
@media (max-width: 740px){
  .bbcolors-landing-main .container{
    width: calc(100% - 24px);
  }
  
  .bbcolors-landing-main .nav{
    position:fixed;
    top: 70px;
    right: 14px;
    left: 14px;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 18px;
    padding: 12px;
    display:none;
    flex-direction:column;
    gap:6px;
    box-shadow: var(--shadow);
    animation: slideInLeft 0.3s ease-out;
  }
  .bbcolors-landing-main .nav.is-open{ display:flex; }
  
  .bbcolors-landing-main .header__inner{ 
    padding: 10px 0; 
  }
  .bbcolors-landing-main .header__actions .btn{ display:none; }
  .bbcolors-landing-main .header__actions .btn.btn--ghost{ display:inline-flex; }
  .bbcolors-landing-main .icon-btn{ display:inline-grid; place-items:center; }
  
  .bbcolors-landing-main .brand__logo{ 
    height: 60px; 
    max-width: 180px;
    padding: 8px 14px;
  }
  
  .bbcolors-landing-main .hero{ 
    padding: 40px 0 32px; 
  }
  .bbcolors-landing-main .hero h1{ 
    font-size: clamp(24px, 7vw, 36px) !important; 
    margin: 0 0 10px;
  }
  .bbcolors-landing-main .lead{ 
    font-size: 16px; 
    line-height: 1.6;
  }
  .bbcolors-landing-main .hero__cta{ 
    flex-direction: column;
    gap: 10px;
  }
  .bbcolors-landing-main .hero__cta .btn{ 
    width: 100%; 
    justify-content: center;
  }
  .bbcolors-landing-main .chips{ 
    gap: 8px; 
  }
  .bbcolors-landing-main .chips li{ 
    padding: 8px 10px; 
    font-size: 14px;
  }
  
  .bbcolors-landing-main .section{ 
    padding: 32px 0; 
  }
  .bbcolors-landing-main .section__head{ 
    margin-bottom: 18px; 
  }
  
  .bbcolors-landing-main h2{ 
    font-size: clamp(20px, 4vw, 28px); 
  }
  
  .bbcolors-landing-main .grid{ 
    gap: 18px; 
  }
  .bbcolors-landing-main .cards{ 
    grid-template-columns: 1fr; 
    gap: 14px;
  }
  .bbcolors-landing-main .card__body{ 
    padding: 12px; 
  }
  
  .bbcolors-landing-main .places{ 
    grid-template-columns: 1fr; 
    gap: 10px;
  }
  .bbcolors-landing-main .place{ 
    padding: 12px; 
  }
  
  .bbcolors-landing-main .features{ 
    gap: 8px; 
  }
  .bbcolors-landing-main .features li{ 
    padding: 10px 12px; 
    flex-direction: column;
    align-items: flex-start;
  }
  .bbcolors-landing-main .features__icon{ 
    width: 34px; 
    height: 34px; 
  }
  
  .bbcolors-landing-main .kpi{ 
    grid-template-columns: 1fr; 
    gap: 10px;
  }
  .bbcolors-landing-main .kpi__item{ 
    padding: 10px 12px; 
  }
  
  .bbcolors-landing-main .form{ 
    padding: 14px; 
  }
  .bbcolors-landing-main .form__actions{ 
    flex-direction:column; 
    align-items:stretch; 
  }
  .bbcolors-landing-main .form input, 
  .bbcolors-landing-main .form textarea{ 
    font-size: 16px; 
  }
  
  .bbcolors-landing-main .booking__grid{ 
    grid-template-columns: 1fr; 
  }
  .bbcolors-landing-main .booking select, 
  .bbcolors-landing-main .booking textarea, 
  .bbcolors-landing-main .booking input{ 
    font-size: 16px; 
  }
  
  .bbcolors-landing-main .btn{ 
    padding: 14px 20px; 
    font-size: 16px;
  }
  .bbcolors-landing-main .btn--lg{ 
    padding: 16px 24px; 
  }
  
  .bbcolors-landing-main .footer{ 
    padding: 24px 0; 
  }
  .bbcolors-landing-main .footer__inner{ 
    gap: 14px; 
  }
  
  .bbcolors-landing-main .lightbox{ 
    padding: 12px; 
  }
  .bbcolors-landing-main .lightbox__img{ 
    max-height: 80vh; 
  }
  .bbcolors-landing-main .lightbox__close{ 
    top: 10px; 
    right: 10px; 
    padding: 8px 10px;
  }
}

/* Responsive Design - Small Mobile */
@media (max-width: 480px){
  .bbcolors-landing-main .container{
    width: calc(100% - 20px);
  }
  
  .bbcolors-landing-main .hero{ 
    padding: 32px 0 24px; 
  }
  .bbcolors-landing-main .hero h1{ 
    font-size: 26px !important; 
  }
  
  .bbcolors-landing-main .section{ 
    padding: 28px 0; 
  }
  
  .bbcolors-landing-main .brand__logo{ 
    height: 50px; 
    max-width: 150px;
    padding: 6px 10px;
  }
  
  .bbcolors-landing-main .eyebrow{ 
    font-size: 13px; 
    padding: 6px 10px;
  }
  
  .bbcolors-landing-main .pill{ 
    font-size: 12px; 
    padding: 6px 10px;
  }
  
  .bbcolors-landing-main .price-hint{ 
    flex-direction: column; 
    align-items: flex-start; 
    gap: 6px;
  }
  
  .bbcolors-landing-main .booking__quick{ 
    flex-direction: column; 
  }
  .bbcolors-landing-main .booking__quick .btn{ 
    width: 100%; 
  }
  
  .bbcolors-landing-main .cta__actions{ 
    flex-direction: column; 
  }
  .bbcolors-landing-main .cta__actions .btn{ 
    width: 100%; 
  }
}

@media (max-width: 920px){
  .grid--2{ grid-template-columns: 1fr; }
  .grid--3{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .places{ grid-template-columns: 1fr 1fr; }
  .footer__inner{ flex-direction:column; }
}

@media (max-width: 740px){
  .nav{
    position:fixed;
    top: 70px;
    right: 14px;
    left: 14px;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 18px;
    padding: 12px;
    display:none;
    flex-direction:column;
    gap:6px;
    box-shadow: var(--shadow);
    animation: slideInLeft 0.3s ease-out;
  }
  .nav.is-open{ display:flex; }
  .header__actions .btn{ display:none; }
  .header__actions .btn.btn--ghost{ display:inline-flex; }
  .icon-btn{ display:inline-grid; place-items:center; }
  .places{ grid-template-columns: 1fr; }
  .form__actions{ flex-direction:column; align-items:stretch; }
  .booking__grid{ grid-template-columns: 1fr; }
  .kpi{ grid-template-columns: 1fr; }
  h1{ font-size: clamp(26px, 7vw, 48px) !important; }
  .hero{ padding: 50px 0 40px; }
  .section{ padding: 40px 0; }
}

/* Stili aggiuntivi per SEO e UX */
.bbcolors-landing-main .feature-card {
  background: var(--paper);
  padding: 1.5rem;
  border-radius: var(--radius-sm);
  border-left: 4px solid var(--brand);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bbcolors-landing-main .feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(175, 136, 74, 0.15);
}

.bbcolors-landing-main .feature-card h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.bbcolors-landing-main .feature-card p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

.bbcolors-landing-main .grid--3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
