
/* =====================================================================
   DOG SITTER TICINO — TESTATA / HEADER  (blocco autonomo: CSS+HTML+JS)
   ---------------------------------------------------------------------
   Palette  : Rosso Swiss (#b01428 / #d62246) + Amber (#f0a500) su dark
   Font     : Poppins (display) + Outfit (body)  -> caricati via WPCode
   Prefisso : dst-header / dst-*   (separato dal CSS dei contenuti dst-)
   Uso      : incollare TUTTO il blocco in un Code Module del template HEADER
              del Theme Builder (area intestazione). Non c'entra col CSS
              globale dei contenuti: ha il suo stile, tutto incluso qui.
   ===================================================================== */

.dst-header {
  --dst-bg: #0c1119;
  --dst-bg-alpha: rgba(12, 17, 25, 0.95);
  --dst-surface: #121a26;
  --dst-border: rgba(176, 20, 40, 0.18);
  --dst-border-hover: rgba(176, 20, 40, 0.4);
  --dst-text: #eef4fb;
  --dst-text-muted: #93a5b8;

  --dst-red: #b01428;
  --dst-red-bright: #d62246;
  --dst-amber: #f0a500;
  --dst-wa: #25D366;

  --dst-gradient-brand: linear-gradient(135deg, #b01428 0%, #d62246 100%);
  --dst-gradient-cta: linear-gradient(135deg, #b01428 0%, #d62246 100%);
  --dst-gradient-hover: linear-gradient(135deg, #d62246 0%, #f0a500 100%);

  --dst-glow: 0 0 25px rgba(176, 20, 40, 0.45);
  --dst-radius: 12px;
  --dst-radius-full: 999px;

  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  background: var(--dst-bg-alpha) !important;
  background-image:
    radial-gradient(1000px 400px at 80% -30%, rgba(214, 34, 70, 0.12), transparent 60%),
    radial-gradient(800px 350px at 20% 120%, rgba(176, 20, 40, 0.10), transparent 60%),
    radial-gradient(600px 300px at 50% 50%, rgba(240, 165, 0, 0.04), transparent 70%) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px) !important;
  backdrop-filter: saturate(180%) blur(16px) !important;
  border-bottom: 1px solid var(--dst-border) !important;
  color: var(--dst-text) !important;
  font-family: 'Outfit', system-ui, -apple-system, sans-serif !important;
}

.dst-header::after {
  content: '';
  position: absolute;
  bottom: -25px;
  left: 15%;
  right: 15%;
  height: 25px;
  background: radial-gradient(ellipse at center, rgba(214, 34, 70, 0.12), transparent 70%);
  pointer-events: none;
  z-index: -1;
}

.dst-header-wrap {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 12px 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  position: relative !important;
}

/* BRAND / LOGO */
.dst-brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
  color: var(--dst-text) !important;
  padding: 8px 14px 8px 8px !important;
  border-radius: var(--dst-radius) !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  transition: all 0.3s ease !important;
}
.dst-brand:hover {
  background: rgba(176, 20, 40, 0.06) !important;
  border-color: var(--dst-border) !important;
}
.dst-brand-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid var(--dst-border) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  padding: 2px !important;
}
.dst-brand-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 8px !important;
}
.dst-brand:hover .dst-brand-icon {
  border-color: var(--dst-red-bright) !important;
  box-shadow: var(--dst-glow) !important;
  transform: scale(1.02) !important;
}
.dst-brand-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.dst-brand-text strong {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  background: transparent !important;
  letter-spacing: -0.02em !important;
  font-family: 'Poppins',"Poppins Fallback", system-ui, sans-serif !important;
}
.dst-brand-text small {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--dst-text-muted) !important;
  background: transparent !important;
  letter-spacing: 0.01em !important;
}

/* HEADER BADGE */
.dst-header-badge {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 16px !important;
  background: linear-gradient(135deg, rgba(176, 20, 40, 0.12), rgba(240, 165, 0, 0.06)) !important;
  border: 1px solid var(--dst-border) !important;
  border-radius: var(--dst-radius-full) !important;
  white-space: nowrap !important;
  animation: dst-badge-pulse 3s ease-in-out infinite !important;
}
@keyframes dst-badge-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(214, 34, 70, 0); }
  50% { box-shadow: 0 0 0 4px rgba(214, 34, 70, 0.1); }
}
.dst-badge-icon { font-size: 14px !important; line-height: 1 !important; }
.dst-badge-text {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--dst-amber) !important;
  background: transparent !important;
}

/* NAVIGATION */
.dst-header-nav {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--dst-text-muted) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 10px !important;
  border-radius: 10px !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
  position: relative !important;
}
.dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary) svg {
  opacity: 0.6 !important;
  transition: all 0.25s ease !important;
  flex-shrink: 0 !important;
}
.dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary):hover {
  color: #ffffff !important;
  background: rgba(176, 20, 40, 0.1) !important;
}
.dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary):hover svg {
  opacity: 1 !important;
  stroke: var(--dst-red-bright) !important;
}

/* CTA BUTTONS */
.dst-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 8px !important;
}
.dst-header-cta-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--dst-text) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 10px 18px !important;
  border-radius: var(--dst-radius-full) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
}
.dst-header-cta-secondary:hover {
  background: rgba(176, 20, 40, 0.1) !important;
  border-color: rgba(176, 20, 40, 0.4) !important;
  color: #fff !important;
}
.dst-header-cta-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--dst-gradient-cta) !important;
  color: #ffffff !important;
  padding: 12px 22px !important;
  border-radius: var(--dst-radius-full) !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
  box-shadow:
    0 4px 16px rgba(176, 20, 40, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  overflow: hidden !important;
  font-family: 'Poppins',"Poppins Fallback", sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.dst-header-cta-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transition: left 0.5s ease;
}
.dst-header-cta-primary:hover {
  background: var(--dst-gradient-hover) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 8px 24px rgba(176, 20, 40, 0.45),
    0 0 0 3px rgba(176, 20, 40, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}
.dst-header-cta-primary:hover::before { left: 100%; }
.dst-header-cta-primary svg { opacity: 1 !important; stroke: #ffffff !important; }

/* WHATSAPP MOBILE BUTTON */
.dst-wa-mobile {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: var(--dst-radius) !important;
  background: linear-gradient(135deg, #25D366, #128C7E) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.35) !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
}
.dst-wa-mobile:hover {
  transform: scale(1.06) translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.5) !important;
}

/* BURGER MENU */
.dst-toggle {
  display: none !important;
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.dst-burger {
  display: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: var(--dst-radius) !important;
  cursor: pointer !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--dst-border) !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
}
.dst-burger:hover {
  background: rgba(176, 20, 40, 0.08) !important;
  border-color: var(--dst-border-hover) !important;
}
.dst-burger span {
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  background: var(--dst-text) !important;
  margin: 3px 0 !important;
  border-radius: 2px !important;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
}

/* PROGRESS BAR */
.dst-progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  overflow: hidden !important;
}
.dst-progress-bar {
  height: 100% !important;
  width: 0% !important;
  background: var(--dst-gradient-brand) !important;
  box-shadow: var(--dst-glow) !important;
  transition: width 0.15s ease-out !important;
}

/* RESPONSIVE — TABLET */
@media (max-width: 1280px) {
  .dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary) > span { display: none !important; }
  .dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary) { padding: 10px !important; }
}
@media (max-width: 1080px) {
  .dst-header-badge { display: none !important; }
}

/* RESPONSIVE — MOBILE */
@media (max-width: 960px) {
  .dst-burger { display: flex !important; }
  .dst-wa-mobile { display: flex !important; }
  .dst-header-nav {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    background: rgba(12, 17, 25, 0.98) !important;
    background-image: radial-gradient(600px 300px at 50% 0%, rgba(214, 34, 70, 0.08), transparent 70%) !important;
    border-bottom: 2px solid var(--dst-border) !important;
    padding: 20px 24px 24px !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5) !important;
  }
  .dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary) {
    width: 100% !important;
    padding: 16px 18px !important;
    border-radius: var(--dst-radius) !important;
    font-size: 15px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
  }
  .dst-header-nav > a:not(.dst-header-cta-secondary):not(.dst-header-cta-primary) > span { display: inline !important; }
  .dst-header-actions {
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-top: 12px !important;
    gap: 12px !important;
  }
  .dst-header-cta-secondary, .dst-header-cta-primary {
    width: 100% !important;
    justify-content: center !important;
    padding: 16px !important;
  }
  .dst-toggle:checked ~ .dst-header-nav { display: flex !important; }
  .dst-toggle:checked + .dst-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; background: var(--dst-amber) !important; }
  .dst-toggle:checked + .dst-burger span:nth-child(2) { opacity: 0 !important; transform: scaleX(0) !important; }
  .dst-toggle:checked + .dst-burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; background: var(--dst-amber) !important; }
  .dst-toggle:checked + .dst-burger { background: rgba(176, 20, 40, 0.1) !important; border-color: var(--dst-amber) !important; }
}

@media (max-width: 520px) {
  .dst-header-wrap { padding: 10px 16px !important; gap: 12px !important; }
  .dst-brand { padding: 6px 10px 6px 6px !important; }
  .dst-brand-icon { width: 42px !important; height: 42px !important; }
  .dst-brand-icon img { border-radius: 6px !important; }
  .dst-brand-text small { display: none !important; }
  .dst-brand-text strong { font-size: 15px !important; }
  .dst-burger, .dst-wa-mobile { width: 42px !important; height: 42px !important; }
}

/* DIVI COMPATIBILITY */
.dst-header .et_pb_module, .dst-header .et_pb_row, .dst-header .et_pb_column { padding: 0 !important; margin: 0 !important; }
.dst-header * { box-sizing: border-box !important; }
#main-header, #top-header { display: none !important; }
