/* ═══════════════════════════════════════════════════════════════
   BresciaPC - Contattaci v3.0 (Apple-style)
   ═══════════════════════════════════════════════════════════════ */

/* ── Variables ── */
.bpc-ct {
  /* Stesso contratto semantico dei modali preventivo/prenotazione. */
  --bpc-form-card: var(--bspc-bg-white, #fff);
  --bpc-form-subtle: var(--bspc-bg-light, #f6f7f9);
  --bpc-form-ink: var(--bspc-text-primary, #111214);
  --bpc-form-copy: var(--bspc-text-light, #6e6e73);
  --bpc-form-line: var(--bspc-border-light, #e3e6eb);
  --bpc-form-accent: var(--bspc-blue-primary, #0066cc);
  --bpc-form-accent-hover: var(--bspc-blue-hover, #005fd1);
  --ct-radius: 22px;
  --ct-radius-sm: 14px;
  --ct-blue: var(--bpc-form-accent);
  --ct-blue-hover: var(--bpc-form-accent-hover);
  --ct-green: var(--bspc-whatsapp-green);
  --ct-text: var(--bpc-form-ink);
  --ct-text-secondary: var(--bpc-form-copy);
  --ct-border: var(--bpc-form-line);
  --ct-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
  --ct-bg: var(--bspc-bg-light);
}

.bpc-ct { background: var(--ct-bg); }

/* ── Container ── */
.bpc-ct__container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ── Honeypot ── */
.bpc-ct__hp { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════════════ */
.bpc-ct__hero {
  position: relative;
  padding: 60px 0 40px;
  text-align: center;
  overflow: hidden;
}

/* ── Quando c'è un'immagine: hero più alta, immagine full-bleed ── */
.bpc-ct__hero--has-img {
  padding: 0;
  min-height: 380px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 768px) {
  .bpc-ct__hero--has-img { min-height: 480px; }
}

/* Background wrapper: immagine + fade */
.bpc-ct__hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.bpc-ct__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  animation: bpcCtHeroZoom 12s ease-out forwards;
}

@keyframes bpcCtHeroZoom {
  from { transform: scale(1.05); }
  to   { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .bpc-ct__hero-img { animation: none; }
}

/* Fade evanescente verso var(--bspc-bg-light) - molto più forte della category hero.
   L'immagine "scompare" verso il basso, fondendosi con lo sfondo pagina. */
.bpc-ct__hero-fade {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba(245, 245, 247, 0.05) 0%,
    rgba(245, 245, 247, 0.20) 25%,
    rgba(245, 245, 247, 0.55) 50%,
    rgba(245, 245, 247, 0.85) 70%,
    rgba(245, 245, 247, 1.00) 90%
  );
  pointer-events: none;
}

/* Contenuto sopra l'immagine */
.bpc-ct__hero-content {
  position: relative;
  z-index: 10;
  padding-bottom: 40px;
}

.bpc-ct__hero--has-img .bpc-ct__hero-content {
  padding-top: 120px;
}

@media (min-width: 768px) {
  .bpc-ct__hero--has-img .bpc-ct__hero-content { padding-top: 160px; }
}

@media (max-width: 767.98px) {
  .bpc-ct__hero--has-img {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.bpc-ct__title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ct-text);
  margin: 0 0 12px;
  line-height: 1.1;
}

.bpc-ct__subtitle {
  font-size: clamp(1rem, 2.5vw, 1.15rem);
  color: var(--ct-text-secondary);
  margin: 0 auto 24px;
  max-width: 560px;
  line-height: 1.55;
}

.bpc-ct__hero-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  padding: 11px 20px;
  border-radius: 999px;
  background: var(--ct-blue);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 102, 204, .22);
}
.bpc-ct__hero-cta:hover,
.bpc-ct__hero-cta:focus-visible {
  background: var(--ct-blue-hover, #0062c4);
  color: #fff;
}

/* Trust pills */
.bpc-ct__trust-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.bpc-ct__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ct-text);
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--ct-border);
  border-radius: 99px;
  padding: 8px 16px;
}

.bpc-ct__pill svg { color: var(--ct-blue); flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════════════
   MAIN GRID (Form + Sidebar)
   ═══════════════════════════════════════════════════════════════ */
.bpc-ct__main { padding-bottom: 48px; }

.bpc-ct__grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 28px;
  align-items: start;
}

/* ── FORM CARD ── */
.bpc-ct__form-card {
  background: var(--bspc-bg-white);
  border-radius: var(--ct-radius);
  border: 1px solid var(--ct-border);
  box-shadow: var(--ct-shadow);
  padding: 36px 32px;
  position: relative;
}

.bpc-ct__form-title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ct-text);
  margin: 0 0 6px;
}

.bpc-ct__reassurance {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.88rem;
  font-weight: 500;
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: var(--bspc-radius-small);
  padding: 10px 14px;
  margin: 12px 0 20px;
}

.bpc-ct__reassurance svg { flex-shrink: 0; }

/* Status + Alerts */
.bpc-ct__status:empty { display: none; }
.bpc-ct__status {
  padding: 12px 16px;
  border-radius: var(--bspc-radius-small);
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 16px;
}
.bpc-ct__status.is-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.bpc-ct__status.is-success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }

.bpc-ct__alert { padding: 14px 16px; border-radius: var(--bspc-radius-small); font-size: 0.9rem; font-weight: 500; margin-bottom: 20px; }
.bpc-ct__alert--ok { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.bpc-ct__alert--err { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* ── Form fields - Floating label pattern (v6.5.3 fix) ── */
.bpc-ct__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.bpc-cf__field {
  margin-bottom: 16px;
  position: relative;
}

/* [v6.5.3 FIX] Floating label: la label è posizionata sopra l'input
   usando position:absolute. Quando il campo è vuoto e non in focus,
   la label sta SOPRA il campo (translateY(-100%) + offset).
   Quando il campo è in focus o ha contenuto, la label resta sopra.
   Il placeholder è nascosto di default e appare solo al focus. */
.bpc-cf__field label {
  position: absolute;
  top: 0;
  left: 12px;
  z-index: 1;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ct-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  background: var(--bspc-bg-light);
  padding: 0 6px;
  margin: 0;
  transform: translateY(-50%);
  transition: color 0.2s ease, background 0.2s ease;
  pointer-events: none;
  line-height: 1.4;
}

.bpc-cf__field label abbr {
  color: var(--ct-blue);
  text-decoration: none;
  font-weight: 400;
}

.bpc-cf__field input[type="text"],
.bpc-cf__field input[type="email"],
.bpc-cf__field input[type="tel"],
.bpc-cf__field textarea {
  width: 100%;
  padding: 14px 16px;
  font-size: 1rem;
  color: var(--ct-text);
  background: var(--bspc-bg-light);
  border: 1.5px solid var(--bspc-border-light);
  border-radius: var(--ct-radius-sm);
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  box-sizing: border-box;
  font-family: inherit;
}

/* [v6.5.3 FIX] Nasconde placeholder di default, mostra solo al focus */
.bpc-cf__field input::placeholder,
.bpc-cf__field textarea::placeholder {
  color: transparent;
  transition: color 0.2s ease;
}
.bpc-cf__field input:focus::placeholder,
.bpc-cf__field textarea:focus::placeholder {
  color: var(--bspc-text-light, #8e8e93);
}

.bpc-cf__field input:focus,
.bpc-cf__field textarea:focus {
  outline: none;
  background: var(--bspc-bg-white);
  border-color: var(--ct-blue);
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.12);
}

/* [v6.5.3 FIX] Al focus, la label usa lo sfondo bianco per restare leggibile */
.bpc-cf__field input:focus ~ label,
.bpc-cf__field textarea:focus ~ label,
.bpc-cf__field:focus-within > label {
  color: var(--ct-blue);
  background: var(--bspc-bg-white);
}

.bpc-cf__field textarea { resize: vertical; min-height: 100px; }

.bpc-cf__field.is-invalid input,
.bpc-cf__field.is-invalid textarea {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
}

.bpc-cf__field.is-invalid > label {
  color: #ef4444;
}

.bpc-cf__error {
  font-size: 0.8rem;
  color: #dc2626;
  margin-top: 4px;
}

/* Char counter */
.bpc-ct__char-count {
  display: block;
  text-align: right;
  font-size: 0.75rem;
  color: var(--ct-text-secondary);
  margin-top: 4px;
}

/* Upload */
.bpc-ct__upload-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1.5px dashed var(--bspc-border-medium);
  border-radius: var(--ct-radius-sm);
  background: var(--bspc-bg-light);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--ct-text-secondary);
  transition: border-color 0.2s, background 0.2s;
  margin-bottom: 0;
}

.bpc-ct__upload-trigger:hover { border-color: var(--ct-blue); background: #f0f7ff; }
.bpc-ct__upload-trigger svg { flex-shrink: 0; color: var(--ct-text-secondary); }
.bpc-ct__file-input { position: absolute; opacity: 0; width: 0; height: 0; }

/* ── [v6.5.3] Upload preview list - complete styling ── */
.bpc-ct__file-list,
.js-bpc-upload-list {
  margin-top: 10px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.bpc-upload__item {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: var(--bspc-bg-light, #f5f5f7);
  border: 1px solid var(--ct-border, rgba(0,0,0,0.06));
  border-radius: var(--ct-radius-sm, 14px);
  min-width: 0; /* allow flex children to shrink */
  overflow: hidden;
}

.bpc-upload__thumb {
  width: 48px;
  height: 48px;
  min-width: 48px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--bspc-bg-white, #fff);
  border: 1px solid var(--ct-border, rgba(0,0,0,0.06));
}

.bpc-upload__item > div {
  flex: 1;
  min-width: 0; /* enable text truncation */
}

.bpc-upload__name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ct-text, #1d1d1f);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.bpc-upload__size {
  font-size: 0.75rem;
  color: var(--ct-text-secondary, #8e8e93);
  margin: 2px 0 0;
  line-height: 1.3;
}

.bpc-upload__remove {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: rgba(0, 0, 0, 0.06);
  color: var(--ct-text-secondary, #8e8e93);
  border-radius: 50%;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  line-height: 1;
  padding: 0;
}

.bpc-upload__remove:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* Upload clear-all button */
.js-bpc-upload-clear {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 4px 10px;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--ct-text-secondary);
  background: none;
  border: 1px solid var(--ct-border);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.js-bpc-upload-clear:hover { background: rgba(239, 68, 68, 0.08); color: #ef4444; border-color: rgba(239, 68, 68, 0.2); }

/* v6.5.3 UX: hide "Nessuna immagine selezionata" - the trigger label is enough.
   The meta span becomes visible only when JS adds file count (via .has-files). */
.bpc-ct__file-meta { font-size: 0.8rem; color: var(--ct-text-secondary); margin-top: 6px; }
.bpc-ct__file-meta:empty,
.bpc-ct__upload-field:not(.has-files) .bpc-ct__file-meta { display: none; }

/* Privacy - reset floating label for checkbox */
.bpc-ct__privacy label {
  position: static;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--ct-text-secondary);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  background: transparent;
  transform: none;
  pointer-events: auto;
}

/* Upload field - contain overflow to prevent layout deformation */
.bpc-ct__upload-field {
  overflow: hidden;
  min-width: 0;
}

/* Upload field - reset floating label */
.bpc-ct__upload-field > label,
.bpc-ct__upload-trigger {
  position: static !important;
  transform: none !important;
  background: transparent !important;
  pointer-events: auto !important;
}

.bpc-ct__privacy input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--ct-blue);
  margin-top: 2px;
  flex-shrink: 0;
}

.bpc-ct__privacy a { color: var(--ct-blue); text-decoration: underline; }

/* Submit */
.bpc-ct__submit {
  width: 100%;
  padding: 16px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--bspc-bg-white);
  background: var(--ct-blue);
  border: none;
  border-radius: var(--ct-radius-sm);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.2s, transform 0.1s;
  margin-top: 8px;
}

.bpc-ct__submit:hover { background: var(--ct-blue-hover); }
.bpc-ct__submit:active { transform: scale(0.98); }
.bpc-ct__submit.is-loading .bpc-ct__submit-text { opacity: 0; }
.bpc-ct__submit.is-loading .bpc-ct__submit-spinner { display: block; }
.bpc-ct__submit-spinner {
  display: none;
  width: 20px; height: 20px;
  border: 2.5px solid rgba(255,255,255,0.3);
  border-top-color: var(--bspc-bg-white);
  border-radius: 50%;
  animation: bpcCtSpin 0.6s linear infinite;
  position: absolute;
}
@keyframes bpcCtSpin { to { transform: rotate(360deg); } }

/* La conferma sostituisce il form anche nella navigazione da tastiera. */
.bpc-ct__form-card.is-submitted > :not(.bpc-ct__success) { display: none; }
.bpc-ct__success {
  position: relative;
  background: var(--bspc-bg-white);
  border-radius: var(--ct-radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 8px;
  scroll-margin-top: calc(var(--header-height-desktop, 65px) + 24px);
}
.bpc-ct__success[hidden] { display: none; }
.bpc-ct__success-ico {
  width: 56px; height: 56px;
  background: #dcfce7;
  color: #16a34a;
  border-radius: 50%;
  font-size: 28px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.bpc-ct__success h3 { font-size: 1.3rem; margin: 0 0 8px; color: var(--ct-text); }
.bpc-ct__success p { color: var(--ct-text-secondary); margin: 0 0 20px; font-size: 0.95rem; }
.bpc-ct__success-reset {
  background: none; border: 1.5px solid var(--ct-border); border-radius: var(--bspc-radius-small);
  padding: 10px 20px; font-size: 0.9rem; font-weight: 500; cursor: pointer;
  color: var(--ct-text); transition: background 0.2s;
}
.bpc-ct__success-reset:hover { background: var(--bspc-bg-light); }

/* ═══════════════════════════════════════════════════════════════
   ASIDE: Contact channels
   ═══════════════════════════════════════════════════════════════ */
.bpc-ct__aside-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: sticky;
  top: calc(var(--header-height-desktop, 65px) + 24px);
}

.bpc-ct__channel {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  background: var(--bspc-bg-white);
  border: 1px solid var(--ct-border);
  border-radius: var(--bspc-radius-medium);
  text-decoration: none;
  color: var(--ct-text);
  transition: box-shadow 0.2s, transform 0.15s;
}

.bpc-ct__channel:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  transform: translateY(-2px);
}

.bpc-ct__channel-ico {
  width: 44px; height: 44px;
  border-radius: var(--bspc-radius-small);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  background: var(--bspc-bg-light);
  color: var(--ct-text);
}

.bpc-ct__channel-ico--blue { background: #eff6ff; color: var(--ct-blue); }

.bpc-ct__channel--wa .bpc-ct__channel-ico {
  background: #dcfce7;
  color: var(--ct-green);
}

.bpc-ct__channel-body {
  flex: 1;
  min-width: 0;
}

.bpc-ct__channel-body strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 2px;
}

.bpc-ct__channel-body span {
  display: block;
  font-size: 0.82rem;
  color: var(--ct-text-secondary);
  line-height: 1.35;
}

.bpc-ct__channel-arrow {
  flex-shrink: 0;
  color: var(--bspc-border-dark);
  transition: transform 0.2s;
}

.bpc-ct__channel:hover .bpc-ct__channel-arrow { transform: translateX(3px); }

/* ═══════════════════════════════════════════════════════════════
   STEPS
   ═══════════════════════════════════════════════════════════════ */
.bpc-ct__steps-section {
  padding: 48px 0;
}

.bpc-ct__section-title {
  font-size: clamp(1.4rem, 3.5vw, 1.8rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--ct-text);
  margin: 0 0 32px;
}

.bpc-ct__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.bpc-ct__step {
  background: var(--bspc-bg-white);
  border: 1px solid var(--ct-border);
  border-radius: var(--bspc-radius-medium);
  padding: 24px 20px;
  text-align: center;
}

.bpc-ct__step-num {
  width: 36px; height: 36px;
  background: var(--ct-blue);
  color: var(--bspc-bg-white);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.9rem; font-weight: 700;
  margin: 0 auto 14px;
}

.bpc-ct__step-body strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ct-text);
  margin-bottom: 6px;
}

.bpc-ct__step-body span {
  font-size: 0.85rem;
  color: var(--ct-text-secondary);
  line-height: 1.45;
}

/* ═══════════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════════ */
.bpc-ct__faq-section {
  padding: 0 0 64px;
}

.bpc-ct__faq-list {
  max-width: 720px;
  margin: 0 auto;
  background: var(--bspc-bg-white);
  border-radius: var(--ct-radius);
  border: 1px solid var(--ct-border);
  box-shadow: var(--ct-shadow);
  overflow: hidden;
}

.bpc-ct__faq-item {
  border-bottom: 1px solid var(--bspc-bg-light);
}

.bpc-ct__faq-item:last-child { border-bottom: none; }

.bpc-ct__faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ct-text);
  cursor: pointer;
  list-style: none;
  transition: background 0.15s;
}

.bpc-ct__faq-q::-webkit-details-marker { display: none; }
.bpc-ct__faq-q::marker { content: ''; }
.bpc-ct__faq-q:hover { background: var(--bspc-bg-light); }

.bpc-ct__faq-chevron {
  flex-shrink: 0;
  color: var(--bspc-border-dark);
  transition: transform 0.25s ease;
}

.bpc-ct__faq-item[open] .bpc-ct__faq-chevron { transform: rotate(180deg); color: var(--ct-blue); }

.bpc-ct__faq-a {
  padding: 0 22px 18px;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--ct-text-secondary);
}

.bpc-ct__faq-a p { margin: 0 0 8px; }
.bpc-ct__faq-a p:last-child { margin: 0; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .bpc-ct__grid {
    grid-template-columns: 1fr;
  }
  .bpc-ct__form-col,
  .bpc-ct__aside-col {
    min-width: 0;
  }
  .bpc-ct__aside-col {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .bpc-ct__channel { flex: 1 1 calc(50% - 6px); min-width: 200px; }
  .bpc-ct__steps { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .bpc-ct__hero { padding: 40px 0 24px; }
  .bpc-ct__container { padding: 0 16px; }
  .bpc-ct__form-card { padding: 24px 18px; }
  .bpc-ct__row { grid-template-columns: 1fr; gap: 0; }
  .bpc-ct__aside-col { flex-direction: column; }
  .bpc-ct__channel { flex: 1 1 100%; min-width: 0; width: auto; box-sizing: border-box; }
  .bpc-ct__steps { grid-template-columns: 1fr; }
  .bpc-ct__step { text-align: left; display: flex; align-items: flex-start; gap: 14px; }
  .bpc-ct__step-num { margin: 0; flex-shrink: 0; }

  /* ── Upload preview mobile ── */
  .bpc-upload__item {
    gap: 10px;
    padding: 8px 10px;
  }
  .bpc-upload__thumb {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 6px;
  }
  .bpc-upload__name {
    font-size: 0.8rem;
  }
  .bpc-upload__size {
    font-size: 0.7rem;
  }
  .bpc-upload__remove {
    width: 26px;
    height: 26px;
    font-size: 1rem;
  }

  /* ── Upload trigger mobile ── */
  .bpc-ct__upload-trigger {
    padding: 16px 12px;
    font-size: 0.85rem;
  }
}

/* ── WhatsApp sticky FAB (mobile only) ── */
.bpc-ct__wa-fab {
  display: none; /* hidden on desktop */
}
@media (max-width: 900px) {
  .bpc-ct__wa-fab {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 900;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 4px 16px rgba(37, 211, 102, 0.35), 0 2px 6px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
  }
  .bpc-ct__wa-fab:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45), 0 3px 10px rgba(0, 0, 0, 0.2);
  }
  .bpc-ct__wa-fab:active {
    transform: scale(0.95);
  }
  .bpc-ct__wa-fab svg {
    width: 26px;
    height: 26px;
  }
}

/* ── Accessibility ── */
@media (prefers-reduced-motion: reduce) {
  .bpc-ct__submit-spinner,
  .bpc-ct__channel,
  .bpc-ct__faq-chevron,
  .bpc-ct__wa-fab { animation: none; transition: none; }
}

/* ── Page title override ── */
.bpc-ct .entry-title,
.bpc-ct .page-title,
.bpc-ct .entry-header { display: none; }

/* ── [AUDIT CONT-05] Trust badges sotto form ── */
.bpc-ct__trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 14px;
  justify-content: center;
}
.bpc-ct__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--ct-text-secondary, var(--bspc-text-light));
}
.bpc-ct__trust-badge svg { flex-shrink: 0; opacity: 0.7; }

/* ── [AUDIT CONT-06] Success links ── */
.bpc-ct__success-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  justify-content: center;
  margin-top: 10px;
  font-size: 0.88rem;
}
.bpc-ct__success-links a {
  color: var(--ct-blue, var(--bspc-blue-primary));
  text-decoration: none;
  font-weight: 500;
}
.bpc-ct__success-links a:hover { text-decoration: underline; }

/* ── [AUDIT CONT-04] Steps link ── */
.bpc-ct__steps-link {
  text-align: center;
  margin-top: 16px;
  font-size: 0.9rem;
}
.bpc-ct__steps-link .link {
  color: var(--ct-blue, var(--bspc-blue-primary));
  text-decoration: none;
  font-weight: 500;
}
.bpc-ct__steps-link .link:hover { text-decoration: underline; }

/* ==========================================================
   v6.4.x Sprint 6 - Multi-step progress indicator + form divider
   ========================================================== */

/* ── Progress indicator ── */
.bpc-ct__progress{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ct-border, rgba(0,0,0,0.06));
}
.bpc-ct__progress-step{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.bpc-ct__progress-num{
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--bspc-font-sm);
  font-weight: 700;
  background: var(--bspc-bg-light, #f5f5f7);
  color: var(--bspc-text-light);
  border: 2px solid transparent;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.bpc-ct__progress-step.is-active .bpc-ct__progress-num{
  background: var(--ct-blue, var(--bspc-blue-primary));
  color: #fff;
  border-color: var(--ct-blue, var(--bspc-blue-primary));
}
.bpc-ct__progress-step.is-done .bpc-ct__progress-num{
  background: var(--bspc-green-soft, #e8f8ec);
  color: var(--bspc-green-primary, #2d8a44);
  border-color: var(--bspc-green-primary, #2d8a44);
}
.bpc-ct__progress-label{
  font-size: var(--bspc-font-xs, 0.6875rem);
  font-weight: 600;
  color: var(--bspc-text-light);
  white-space: nowrap;
}
.bpc-ct__progress-step.is-active .bpc-ct__progress-label{
  color: var(--ct-blue, var(--bspc-blue-primary));
}
.bpc-ct__progress-line{
  flex: 1;
  height: 2px;
  background: var(--bspc-border-light, rgba(0,0,0,0.08));
  margin: 0 8px;
  margin-bottom: 20px; /* align with the number circle */
  min-width: 24px;
  transition: background 0.3s ease;
}
.bpc-ct__progress-step.is-done + .bpc-ct__progress-line{
  background: var(--bspc-green-primary, #2d8a44);
}

@media (max-width: 600px){
  .bpc-ct__progress-label{ display: none; }
  .bpc-ct__progress-line{ margin-bottom: 0; }
}

/* ── Form section divider ── */
.bpc-ct__form-divider{
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0 16px;
}
.bpc-ct__form-divider::before,
.bpc-ct__form-divider::after{
  content: '';
  flex: 1;
  height: 1px;
  background: var(--ct-border, rgba(0,0,0,0.06));
}
.bpc-ct__form-divider-label{
  font-size: var(--bspc-font-xs, 0.6875rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--bspc-text-light);
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   v6.5.3 - DARK MODE OVERRIDES
   Targets [data-theme="dark"] and OS-level prefers-color-scheme.
   Fixes hardcoded colors that don't adapt to dark mode tokens.
   ═══════════════════════════════════════════════════════════════ */

/* ── Shared dark local tokens ── */
[data-theme="dark"] .bpc-ct {
  --ct-border: rgba(255, 255, 255, 0.08);
  --ct-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bpc-ct {
    --ct-border: rgba(255, 255, 255, 0.08);
    --ct-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
  }
}

/* ── Hero fade: use dark overlay instead of light ── */
[data-theme="dark"] .bpc-ct__hero-fade {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.05) 0%,
    rgba(0, 0, 0, 0.25) 25%,
    rgba(0, 0, 0, 0.55) 50%,
    rgba(0, 0, 0, 0.85) 70%,
    rgba(0, 0, 0, 1.00) 90%
  );
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bpc-ct__hero-fade {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.05) 0%,
      rgba(0, 0, 0, 0.25) 25%,
      rgba(0, 0, 0, 0.55) 50%,
      rgba(0, 0, 0, 0.85) 70%,
      rgba(0, 0, 0, 1.00) 90%
    );
  }
}

/* ── Trust pills ── */
[data-theme="dark"] .bpc-ct__pill {
  background: rgba(44, 44, 46, 0.85);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--bspc-text-primary, #f5f5f7);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bpc-ct__pill {
    background: rgba(44, 44, 46, 0.85);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--bspc-text-primary, #f5f5f7);
  }
}

/* ── Reassurance banner ── */
[data-theme="dark"] .bpc-ct__reassurance {
  background: rgba(22, 101, 52, 0.15);
  border-color: rgba(34, 197, 94, 0.25);
  color: #86efac;
}

/* ── Status alerts ── */
[data-theme="dark"] .bpc-ct__status.is-error,
[data-theme="dark"] .bpc-ct__alert--err {
  background: rgba(153, 27, 27, 0.15);
  border-color: rgba(239, 68, 68, 0.25);
  color: #fca5a5;
}
[data-theme="dark"] .bpc-ct__status.is-success,
[data-theme="dark"] .bpc-ct__alert--ok {
  background: rgba(22, 101, 52, 0.15);
  border-color: rgba(34, 197, 94, 0.25);
  color: #86efac;
}

/* ── Floating label dark bg ── */
[data-theme="dark"] .bpc-cf__field label {
  background: var(--bspc-bg-light, #1c1c1e);
}
[data-theme="dark"] .bpc-cf__field:focus-within > label {
  background: var(--bspc-bg-white, #2c2c2e);
}

/* ── Validation error in dark ── */
[data-theme="dark"] .bpc-cf__error { color: #fca5a5; }
[data-theme="dark"] .bpc-cf__field.is-invalid input,
[data-theme="dark"] .bpc-cf__field.is-invalid textarea {
  border-color: #f87171;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}
[data-theme="dark"] .bpc-cf__field.is-invalid > label { color: #f87171; }

/* ── Focus ring in dark ── */
[data-theme="dark"] .bpc-cf__field input:focus,
[data-theme="dark"] .bpc-cf__field textarea:focus {
  box-shadow: 0 0 0 4px rgba(56, 148, 255, 0.2);
}

/* ── Upload trigger ── */
[data-theme="dark"] .bpc-ct__upload-trigger {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--bspc-bg-light, #1c1c1e);
}
[data-theme="dark"] .bpc-ct__upload-trigger:hover {
  border-color: var(--ct-blue);
  background: rgba(0, 102, 204, 0.1);
}

/* ── Channel cards sidebar ── */
[data-theme="dark"] .bpc-ct__channel-ico--blue {
  background: rgba(0, 102, 204, 0.15);
}
[data-theme="dark"] .bpc-ct__channel--wa .bpc-ct__channel-ico {
  background: rgba(37, 211, 102, 0.15);
}

/* ── Success overlay ── */
[data-theme="dark"] .bpc-ct__success-ico {
  background: rgba(22, 101, 52, 0.2);
  color: #86efac;
}

/* ── Steps section ── */
[data-theme="dark"] .bpc-ct__step {
  background: var(--bspc-bg-white, #2c2c2e);
  border-color: rgba(255, 255, 255, 0.08);
}

/* ── FAQ section ── */
[data-theme="dark"] .bpc-ct__faq-list {
  background: var(--bspc-bg-white, #2c2c2e);
  border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .bpc-ct__faq-item {
  border-color: rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] .bpc-ct__faq-q:hover {
  background: var(--bspc-bg-light, #1c1c1e);
}

/* ── Upload preview (dark) ── */
[data-theme="dark"] .bpc-upload__item {
  background: rgba(44, 44, 46, 0.6);
  border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .bpc-upload__thumb {
  background: rgba(28, 28, 30, 0.8);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme="dark"] .bpc-upload__name {
  color: var(--bspc-text-primary, #f5f5f7);
}
[data-theme="dark"] .bpc-upload__size {
  color: var(--bspc-text-light, #8e8e93);
}
[data-theme="dark"] .bpc-upload__remove {
  background: rgba(255, 255, 255, 0.08);
  color: var(--bspc-text-light, #8e8e93);
}
[data-theme="dark"] .bpc-upload__remove:hover {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

/* ── Clear-all button (dark) ── */
[data-theme="dark"] .js-bpc-upload-clear {
  color: var(--bspc-text-light, #8e8e93);
}
[data-theme="dark"] .js-bpc-upload-clear:hover {
  color: #f87171;
}

/* ────────────────────────────────────────────────
   [v6.5.3] Dark mode contrasti DK-01/02/04
   - DK-01: label form quasi invisibili in dark
   - DK-02: sottotitolo hero scarso contrasto
   - DK-04: stepper inactive "2", "3" troppo chiari su sfondo scuro
   ──────────────────────────────────────────────── */
[data-theme="dark"] .bpc-cf__field label,
[data-theme="dark"] .bpc-contact-form__field label {
  color: #c8d3e0;
}
[data-theme="dark"] .bpc-ct__hero-subtitle,
[data-theme="dark"] .bpc-ct__hero p {
  color: #b9c4d2;
}
[data-theme="dark"] .bpc-ct__progress-step:not(.is-active):not(.is-done) .bpc-ct__progress-step-num,
[data-theme="dark"] .bpc-ct__progress-step:not(.is-active):not(.is-done) .bpc-ct__progress-step-label {
  color: #8a96a7;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bpc-cf__field label,
  :root:not([data-theme="light"]) .bpc-contact-form__field label {
    color: #c8d3e0;
  }
  :root:not([data-theme="light"]) .bpc-ct__hero-subtitle,
  :root:not([data-theme="light"]) .bpc-ct__hero p {
    color: #b9c4d2;
  }
  :root:not([data-theme="light"]) .bpc-ct__progress-step:not(.is-active):not(.is-done) .bpc-ct__progress-step-num,
  :root:not([data-theme="light"]) .bpc-ct__progress-step:not(.is-active):not(.is-done) .bpc-ct__progress-step-label {
    color: #8a96a7;
  }
}

/* ═══════════════════════════════════════════════════════════════
   AUDIT UX 2026-05-06 - Livello A (quick wins)
   - Hero più compatto (480→320 desktop, 380→220 mobile)
   - Submit più alto + gradient
   - Trust strip vicino al form
   - Sottotitolo action-oriented sotto form-title
   - Microcopy reassurance sotto bottone
   ═══════════════════════════════════════════════════════════════ */

/* Hero più compatto - conservata l'immagine, ridotto verticale */
.bpc-ct__hero--has-img {
  min-height: 220px !important;
}
@media (min-width: 768px) {
  .bpc-ct__hero--has-img { min-height: 320px !important; }
}
.bpc-ct__hero--has-img .bpc-ct__hero-content {
  padding-top: 70px !important;
  padding-bottom: 28px !important;
}
@media (min-width: 768px) {
  .bpc-ct__hero--has-img .bpc-ct__hero-content {
    padding-top: 90px !important;
    padding-bottom: 32px !important;
  }
}
/* Trust pills nell'hero leggermente più compatti */
.bpc-ct__hero .bpc-ct__trust-pills { margin-top: 14px; }

@media (max-width: 767.98px) {
  .bpc-ct__hero--has-img { min-height: 0 !important; align-items: center; }
  .bpc-ct__hero--has-img .bpc-ct__hero-content {
    padding-top: 34px !important;
    padding-bottom: 24px !important;
  }
  .bpc-ct__hero-img { object-position: center; opacity: .4; }
  .bpc-ct__hero-fade {
    background: linear-gradient(to bottom, rgba(245,245,247,.78), rgba(245,245,247,.98));
  }
  .bpc-ct__title { font-size: clamp(2rem, 10vw, 2.75rem); }
  .bpc-ct__subtitle { margin-bottom: 16px; }
  .bpc-ct__hero .bpc-ct__trust-pills { margin-top: 4px; gap: 7px; }
  .bpc-ct__pill { padding: 7px 10px; font-size: 12px; }
  .bpc-ct__main { padding-top: 12px; }
}

[data-theme="dark"] .bpc-ct__hero-cta,
[data-theme="dark"] .bpc-ct__hero-cta:hover { color: #fff; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bpc-ct__hero-fade {
    background: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.97));
  }
}

/* ── Trust strip nuovo dentro la form-card (sopra form-title) ── */
.bpc-ct__form-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 12px;
  padding: 12px 14px;
  margin: 0 0 16px;
  background: linear-gradient(135deg, rgba(0, 115, 206, 0.04), rgba(0, 115, 206, 0.08));
  border: 1px solid rgba(0, 115, 206, 0.12);
  border-radius: var(--ct-radius-sm, 12px);
  font-size: 13px;
  line-height: 1.4;
  color: var(--bspc-text-primary, #1d1d1f);
}
.bpc-ct__form-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: normal;
}
.bpc-ct__form-trust-item strong {
  color: var(--ct-blue, #0073ce);
  font-weight: 700;
}
.bpc-ct__form-trust-sep {
  display: inline-block;
  width: 1px;
  height: 14px;
  background: rgba(0, 115, 206, 0.25);
}
@media (max-width: 480px) {
  .bpc-ct__form-trust { font-size: 12px; gap: 8px; padding: 10px 12px; }
  .bpc-ct__form-trust-item {
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }
  .bpc-ct__form-trust-sep { display: none; }
}

/* Sottotitolo action-oriented sotto form-title */
.bpc-ct__form-sub {
  margin: -4px 0 18px;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--bspc-text-secondary, #6e6e73);
}

/* Submit più alto + gradient leggero + ombra sottile */
.bpc-ct__submit {
  padding: 18px 16px !important;
  font-size: 1.0625rem !important;
  letter-spacing: -0.01em;
  background: linear-gradient(180deg, #0084e8 0%, var(--ct-blue, #0073ce) 100%) !important;
  box-shadow: 0 4px 12px rgba(0, 115, 206, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transition: background 0.2s ease, transform 0.12s ease, box-shadow 0.2s ease, opacity 0.2s ease !important;
}
.bpc-ct__submit:hover:not(:disabled) {
  background: linear-gradient(180deg, #0084e8 0%, #005ea6 100%) !important;
  box-shadow: 0 6px 16px rgba(0, 115, 206, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
}
.bpc-ct__submit:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}
.bpc-ct__submit:disabled,
.bpc-ct__submit.is-loading {
  opacity: 0.78;
  cursor: progress;
}

/* Microcopy reassurance sotto il bottone */
.bpc-ct__submit-micro {
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--bspc-text-secondary, #6e6e73);
  text-align: center;
}

/* Dark-mode tweaks */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bpc-ct__form-trust {
    background: linear-gradient(135deg, rgba(0, 132, 232, 0.10), rgba(0, 132, 232, 0.18));
    border-color: rgba(0, 132, 232, 0.28);
  }
  :root:not([data-theme="light"]) .bpc-ct__form-sub,
  :root:not([data-theme="light"]) .bpc-ct__submit-micro {
    color: rgba(245, 245, 247, 0.65);
  }
}
[data-theme="dark"] .bpc-ct__form-trust {
  background: linear-gradient(135deg, rgba(0, 132, 232, 0.10), rgba(0, 132, 232, 0.18));
  border-color: rgba(0, 132, 232, 0.28);
}
[data-theme="dark"] .bpc-ct__form-sub,
[data-theme="dark"] .bpc-ct__submit-micro {
  color: rgba(245, 245, 247, 0.65);
}


/* =====================================================================
 * [Allineamento campi a popup preventivo 2026-05] icone dentro i campi
 * Box (bordo/raggio/focus) e icone come il popup .bpc-field, senza
 * toccare il meccanismo floating-label. Aggiunto in coda (vince per
 * specificita uguale). Icone solo su Nome/Cognome/Email/Telefono/Citta.
 * ===================================================================== */
.bpc-cf__field input[type="text"],
.bpc-cf__field input[type="email"],
.bpc-cf__field input[type="tel"],
.bpc-cf__field textarea {
  border: 1px solid var(--bspc-border-medium);
  border-radius: var(--bspc-radius-medium);
}
.bpc-cf__field input:focus,
.bpc-cf__field textarea:focus {
  border-color: var(--bpc-accent, var(--ct-blue, #0a84ff));
  box-shadow: 0 0 0 3px rgba(10, 132, 255, .15);
}
.bpc-cf__field.icon-user::before,
.bpc-cf__field.icon-mail::before,
.bpc-cf__field.icon-phone::before,
.bpc-cf__field.icon-city::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  opacity: .9;
  pointer-events: none;
}
.bpc-cf__field.icon-user input,
.bpc-cf__field.icon-mail input,
.bpc-cf__field.icon-phone input,
.bpc-cf__field.icon-city input {
  padding-left: 44px;
}
.bpc-cf__field.icon-user::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%236e6e73'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5zm0 2c-4.33 0-8 2.17-8 5v1h16v-1c0-2.83-3.67-5-8-5z'/%3E%3C/svg%3E"); }
.bpc-cf__field.icon-mail::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%236e6e73'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E"); }
.bpc-cf__field.icon-phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%236e6e73'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24 11.72 11.72 0 0 0 3.68.59 1 1 0 0 1 1 1V21a1 1 0 0 1-1 1A17 17 0 0 1 3 8a1 1 0 0 1 1-1h3.47a1 1 0 0 1 1 1 11.72 11.72 0 0 0 .59 3.68 1 1 0 0 1-.24 1.01z'/%3E%3C/svg%3E"); }
.bpc-cf__field.icon-city::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%236e6e73'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 14.5 9 2.5 2.5 0 0 1 12 11.5z'/%3E%3C/svg%3E"); }

/* Operational notices and optional anti-bot widget. */
.bpc-ct__warranty-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 12px 0 4px;
  padding: 10px 14px;
  background: rgba(127, 127, 127, 0.08);
  border-left: 3px solid rgba(127, 127, 127, 0.4);
  border-radius: 4px;
  font-size: 0.9em;
  line-height: 1.5;
  opacity: 0.92;
}
.bpc-ct__warranty-notice .bpc-icon { flex: 0 0 auto; margin-top: 1px; }
