/* ── Jannuzzio Pool Fence Calculator — Frontend Styles (Light Mode)
   SPECIFICITY STRATEGY:
   · Popup:  all rules under #jannuzzio-overlay to beat theme styles
   · Inline: all rules under #jannuzzio-inline to beat Elementor styles
   · Shared components use both selectors so neither mode bleeds
   Brand tokens:
     milk    #FDF7F2  · slate  #F4EEE9  · obsidian #111111  · flash #F4CF35
────────────────────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════
   HARD RESET — prevents ANY theme/Elementor color or
   font from leaking into either the popup or inline calc
══════════════════════════════════════════════════════ */
#jannuzzio-overlay *,
#jannuzzio-inline * {
  box-sizing: border-box !important;
  -webkit-font-smoothing: antialiased;
}

/* Force the base colour context so theme `color:white` can't bleed */
#jannuzzio-inline {
  color: #111111 !important;
  background: #FDF7F2 !important;
}

/* ══════════════════════════════════════════════════════
   TRIGGER BUTTON  [jannuzzio_calculator_button]
══════════════════════════════════════════════════════ */
.jn-trigger-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  padding: 13px 26px !important;
  border-radius: 20px 0 20px 20px !important;
  border: 1.5px solid transparent !important;
  cursor: pointer !important;
  transition: filter 0.18s, transform 0.1s !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.jn-trigger-btn:hover  { filter: brightness(1.07) !important; }
.jn-trigger-btn:active { transform: scale(.98) !important; }

.jn-trigger-wrap { display: flex; }
.jn-trigger-wrap--left   { justify-content: flex-start; }
.jn-trigger-wrap--center { justify-content: center; }
.jn-trigger-wrap--right  { justify-content: flex-end; }
.jn-trigger-btn--lg { font-size: 15px !important; padding: 16px 36px !important; }

/* ══════════════════════════════════════════════════════
   POPUP OVERLAY
══════════════════════════════════════════════════════ */
#jannuzzio-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(17,17,17,0.55) !important;
  backdrop-filter: blur(3px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
  padding: 16px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.26s ease !important;
  margin: 0 !important;
  border: none !important;
}
#jannuzzio-overlay.jn-open {
  opacity: 1 !important;
  pointer-events: all !important;
}

/* ══════════════════════════════════════════════════════
   MODAL SHELL  (popup only)
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-modal {
  background: #FDF7F2 !important;
  border-top: 3px solid #111111 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  box-shadow: 0 24px 64px rgba(17,17,17,0.22), 0 4px 16px rgba(17,17,17,0.1) !important;
  width: 100% !important;
  max-width: 560px !important;
  max-height: 92vh !important;
  overflow-y: auto !important;
  transform: translateY(22px) scale(.97) !important;
  transition: transform 0.38s cubic-bezier(.22,1,.36,1) !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(17,17,17,0.15) transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#jannuzzio-overlay .jn-modal::-webkit-scrollbar { width: 3px; }
#jannuzzio-overlay .jn-modal::-webkit-scrollbar-thumb { background: rgba(17,17,17,0.15); }
#jannuzzio-overlay.jn-open .jn-modal {
  transform: translateY(0) scale(1) !important;
}

/* ══════════════════════════════════════════════════════
   MODAL HEADER — shared by popup (.jn-mhdr) and inline (.jn-inline-header)
   Both are obsidian: the one dark anchor in an otherwise light UI
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-mhdr,
#jannuzzio-inline  .jn-inline-header {
  background: #111111 !important;
  padding: 22px 28px 18px !important;
  border-bottom: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}
/* Inline header not sticky — it's already at page scroll */
#jannuzzio-inline .jn-inline-header {
  position: relative !important;
}

/* Brand name */
#jannuzzio-overlay .jn-brand,
#jannuzzio-inline  .jn-brand {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 17px !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: #FDF7F2 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Eyebrow sub */
#jannuzzio-overlay .jn-sub,
#jannuzzio-inline  .jn-sub {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(253,247,242,0.45) !important;
  margin-top: 5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#jannuzzio-overlay .jn-sub::before,
#jannuzzio-inline  .jn-sub::before {
  content: '' !important;
  width: 6px !important; height: 6px !important;
  background: #F4CF35 !important;
  transform: rotate(45deg) !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* Close button (popup only) */
#jannuzzio-overlay .jn-close-btn {
  position: absolute !important;
  top: 16px !important; right: 18px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 5px 9px !important;
  transition: background 0.18s, color 0.18s !important;
  border-radius: 2px !important;
  font-family: sans-serif !important;
}
#jannuzzio-overlay .jn-close-btn:hover {
  background: rgba(255,255,255,0.15) !important;
  color: #FDF7F2 !important;
}

/* ══════════════════════════════════════════════════════
   SECTIONS  — light milk/slate alternating background
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-sec,
#jannuzzio-inline  .jn-sec {
  padding: 20px 28px !important;
  border-bottom: 1px solid rgba(17,17,17,0.07) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  font-family: 'DM Sans', sans-serif !important;
  background: #FDF7F2 !important;   /* milk */
  margin: 0 !important;
}
#jannuzzio-overlay .jn-sec:nth-child(even),
#jannuzzio-inline  .jn-sec:nth-child(even) {
  background: #F4EEE9 !important;   /* slate */
}

/* Step labels */
#jannuzzio-overlay .jn-step-lbl,
#jannuzzio-inline  .jn-step-lbl {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  margin-bottom: 14px !important;
  margin-top: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#jannuzzio-overlay .jn-step-lbl::before,
#jannuzzio-inline  .jn-step-lbl::before {
  content: '' !important;
  width: 5px !important; height: 5px !important;
  background: #F4CF35 !important;
  transform: rotate(45deg) !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* ══════════════════════════════════════════════════════
   STYLE CARDS
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-style-grid,
#jannuzzio-inline  .jn-style-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
}
@media (max-width: 480px) {
  #jannuzzio-overlay .jn-style-grid,
  #jannuzzio-inline  .jn-style-grid { grid-template-columns: 1fr !important; }
}

#jannuzzio-overlay .jn-style-card,
#jannuzzio-inline  .jn-style-card {
  background: #fff !important;
  border: 1.5px solid rgba(17,17,17,0.1) !important;
  border-left: 3px solid transparent !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
  transition: background 0.18s, border-color 0.18s, box-shadow 0.18s !important;
  position: relative !important;
  user-select: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
#jannuzzio-overlay .jn-style-card:hover,
#jannuzzio-inline  .jn-style-card:hover {
  background: #fff !important;
  border-color: rgba(17,17,17,0.18) !important;
  border-left-color: rgba(244,207,53,0.7) !important;
  box-shadow: 0 2px 8px rgba(17,17,17,0.07) !important;
}
#jannuzzio-overlay .jn-style-card.jn-sel,
#jannuzzio-inline  .jn-style-card.jn-sel {
  background: #fff !important;
  border-color: rgba(17,17,17,0.12) !important;
  border-left: 3px solid #F4CF35 !important;
  box-shadow: 0 2px 12px rgba(17,17,17,0.08) !important;
}

/* Diamond check indicator */
#jannuzzio-overlay .jn-chk,
#jannuzzio-inline  .jn-chk {
  position: absolute !important;
  top: 12px !important; right: 12px !important;
  width: 11px !important; height: 11px !important;
  border: 1.5px solid rgba(17,17,17,0.2) !important;
  background: transparent !important;
  transform: rotate(45deg) !important;
  transition: all 0.18s !important;
}
#jannuzzio-overlay .jn-style-card.jn-sel .jn-chk,
#jannuzzio-inline  .jn-style-card.jn-sel .jn-chk {
  background: #F4CF35 !important;
  border-color: #F4CF35 !important;
}

/* Card text */
#jannuzzio-overlay .jn-cname,
#jannuzzio-inline  .jn-cname {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  color: #111111 !important;
  line-height: 1.2 !important;
  padding-right: 20px !important;
  margin: 0 !important;
}
#jannuzzio-overlay .jn-cdetail,
#jannuzzio-inline  .jn-cdetail {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(17,17,17,0.42) !important;
  margin-top: 3px !important;
  margin-bottom: 0 !important;
}
#jannuzzio-overlay .jn-cprice,
#jannuzzio-inline  .jn-cprice {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  letter-spacing: -0.01em !important;
  color: #111111 !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}
#jannuzzio-overlay .jn-style-card.jn-sel .jn-cprice,
#jannuzzio-inline  .jn-style-card.jn-sel .jn-cprice {
  color: #7a6208 !important;
}

/* ══════════════════════════════════════════════════════
   MEASUREMENT INPUTS
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-meas-grid,
#jannuzzio-inline  .jn-meas-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 10px !important;
}
@media (max-width: 400px) {
  #jannuzzio-overlay .jn-meas-grid,
  #jannuzzio-inline  .jn-meas-grid { grid-template-columns: 1fr 1fr !important; }
}

#jannuzzio-overlay .jn-fld label,
#jannuzzio-inline  .jn-fld label {
  display: block !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(17,17,17,0.5) !important;
  margin-bottom: 5px !important;
  margin-top: 0 !important;
}
#jannuzzio-overlay .jn-fld input[type="number"],
#jannuzzio-overlay .jn-fld select,
#jannuzzio-inline  .jn-fld input[type="number"],
#jannuzzio-inline  .jn-fld select {
  width: 100% !important;
  background: #fff !important;
  border: 1.5px solid rgba(17,17,17,0.14) !important;
  color: #111111 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 9px 11px !important;
  outline: none !important;
  border-radius: 0 !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  -moz-appearance: textfield !important;
  box-shadow: none !important;
}
#jannuzzio-overlay .jn-fld input[type="number"]::-webkit-inner-spin-button,
#jannuzzio-overlay .jn-fld input[type="number"]::-webkit-outer-spin-button,
#jannuzzio-inline  .jn-fld input[type="number"]::-webkit-inner-spin-button,
#jannuzzio-inline  .jn-fld input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none !important; }
#jannuzzio-overlay .jn-fld input:focus,
#jannuzzio-overlay .jn-fld select:focus,
#jannuzzio-inline  .jn-fld input:focus,
#jannuzzio-inline  .jn-fld select:focus {
  border-color: #111111 !important;
  box-shadow: 0 0 0 3px rgba(17,17,17,0.06) !important;
}
#jannuzzio-overlay .jn-fld select,
#jannuzzio-inline  .jn-fld select {
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(17,17,17,0.4)'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 11px center !important;
  padding-right: 28px !important;
}

/* ══════════════════════════════════════════════════════
   GATES
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-gates-list,
#jannuzzio-inline  .jn-gates-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
#jannuzzio-overlay .jn-gate-row,
#jannuzzio-inline  .jn-gate-row {
  display: grid !important;
  grid-template-columns: 1fr 80px 36px !important;
  gap: 8px !important;
  align-items: end !important;
}
#jannuzzio-overlay .jn-rmv-gate,
#jannuzzio-inline  .jn-rmv-gate {
  background: #fff !important;
  border: 1.5px solid rgba(17,17,17,0.12) !important;
  color: rgba(17,17,17,0.3) !important;
  width: 36px !important; height: 38px !important;
  font-size: 17px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 20px !important;
  flex-shrink: 0 !important;
  border-radius: 0 !important;
  transition: background 0.18s, border-color 0.18s, color 0.18s !important;
  line-height: 1 !important;
}
#jannuzzio-overlay .jn-rmv-gate:hover,
#jannuzzio-inline  .jn-rmv-gate:hover {
  background: #fff0f0 !important;
  border-color: rgba(200,40,40,0.3) !important;
  color: #c44 !important;
}
#jannuzzio-overlay .jn-add-gate,
#jannuzzio-inline  .jn-add-gate {
  margin-top: 10px !important;
  background: transparent !important;
  border: 1.5px dashed rgba(17,17,17,0.2) !important;
  color: rgba(17,17,17,0.42) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 10px !important;
  cursor: pointer !important;
  width: 100% !important;
  border-radius: 0 !important;
  transition: border-color 0.18s, color 0.18s, background 0.18s !important;
}
#jannuzzio-overlay .jn-add-gate:hover,
#jannuzzio-inline  .jn-add-gate:hover {
  border-color: #111111 !important;
  color: #111111 !important;
  background: rgba(17,17,17,0.03) !important;
}

/* ══════════════════════════════════════════════════════
   OPTION TOGGLES
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-opt-row,
#jannuzzio-inline  .jn-opt-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(17,17,17,0.07) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  margin: 0 !important;
}
#jannuzzio-overlay .jn-opt-row:last-child,
#jannuzzio-inline  .jn-opt-row:last-child { border-bottom: none !important; }

#jannuzzio-overlay .jn-opt-name,
#jannuzzio-inline  .jn-opt-name {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #111111 !important;
  margin: 0 !important;
}
#jannuzzio-overlay .jn-opt-price,
#jannuzzio-inline  .jn-opt-price {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(17,17,17,0.4) !important;
  margin-top: 2px !important;
  margin-bottom: 0 !important;
}

/* Toggle switch */
#jannuzzio-overlay .jn-toggle,
#jannuzzio-inline  .jn-toggle {
  position: relative !important;
  width: 42px !important; height: 22px !important;
  flex-shrink: 0 !important;
}
#jannuzzio-overlay .jn-toggle input,
#jannuzzio-inline  .jn-toggle input { display: none !important; }
#jannuzzio-overlay .jn-track,
#jannuzzio-inline  .jn-track {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(17,17,17,0.12) !important;
  border-radius: 11px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
#jannuzzio-overlay .jn-track::after,
#jannuzzio-inline  .jn-track::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important; left: 3px !important;
  width: 16px !important; height: 16px !important;
  border-radius: 50% !important;
  background: rgba(17,17,17,0.28) !important;
  transition: transform 0.2s, background 0.2s !important;
}
#jannuzzio-overlay .jn-toggle input:checked + .jn-track,
#jannuzzio-inline  .jn-toggle input:checked + .jn-track {
  background: rgba(17,17,17,0.18) !important;
}
#jannuzzio-overlay .jn-toggle input:checked + .jn-track::after,
#jannuzzio-inline  .jn-toggle input:checked + .jn-track::after {
  transform: translateX(20px) !important;
  background: #111111 !important;
}

/* ══════════════════════════════════════════════════════
   RESULT SECTION — obsidian bar, always dark
══════════════════════════════════════════════════════ */
#jannuzzio-overlay .jn-result,
#jannuzzio-inline  .jn-result {
  padding: 22px 28px 24px !important;
  background: #111111 !important;
  border-top: 3px solid #F4CF35 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  font-family: 'DM Sans', sans-serif !important;
  margin: 0 !important;
}
#jannuzzio-overlay .jn-price-lbl,
#jannuzzio-inline  .jn-price-lbl {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(253,247,242,0.4) !important;
  margin-bottom: 4px !important;
  margin-top: 0 !important;
}
#jannuzzio-overlay .jn-price,
#jannuzzio-inline  .jn-price {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 52px !important;
  letter-spacing: -0.03em !important;
  color: #F4CF35 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
#jannuzzio-overlay .jn-price-note,
#jannuzzio-inline  .jn-price-note {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: rgba(253,247,242,0.35) !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

/* Stats strip */
#jannuzzio-overlay .jn-stats,
#jannuzzio-inline  .jn-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1px !important;
  background: rgba(255,255,255,0.08) !important;
  margin: 20px 0 !important;
  border: none !important;
}
#jannuzzio-overlay .jn-stat,
#jannuzzio-inline  .jn-stat {
  background: #1a1a1a !important;
  padding: 14px 12px !important;
  text-align: center !important;
}
#jannuzzio-overlay .jn-stat-val,
#jannuzzio-inline  .jn-stat-val {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 28px !important;
  letter-spacing: -0.025em !important;
  color: #FDF7F2 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
#jannuzzio-overlay .jn-stat-lbl,
#jannuzzio-inline  .jn-stat-lbl {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(253,247,242,0.32) !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}
#jannuzzio-overlay .jn-disclaimer,
#jannuzzio-inline  .jn-disclaimer {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: rgba(253,247,242,0.38) !important;
  line-height: 1.65 !important;
  margin-bottom: 18px !important;
  margin-top: 0 !important;
}

/* CTA button */
#jannuzzio-overlay .jn-cta-btn,
#jannuzzio-inline  .jn-cta-btn {
  display: block !important;
  width: 100% !important;
  background: #F4CF35 !important;
  color: #111111 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  border: 1.5px solid #F4CF35 !important;
  padding: 15px !important;
  cursor: pointer !important;
  border-radius: 20px 0 20px 20px !important;
  transition: background 0.18s, border-color 0.18s !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
#jannuzzio-overlay .jn-cta-btn:hover,
#jannuzzio-inline  .jn-cta-btn:hover {
  background: #e8c228 !important;
  border-color: #e8c228 !important;
  color: #111111 !important;
}

/* Contact line */
#jannuzzio-overlay .jn-contact,
#jannuzzio-inline  .jn-contact {
  text-align: center !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(253,247,242,0.28) !important;
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}
#jannuzzio-overlay .jn-contact a,
#jannuzzio-inline  .jn-contact a {
  color: rgba(253,247,242,0.45) !important;
  text-decoration: none !important;
  transition: color 0.18s !important;
}
#jannuzzio-overlay .jn-contact a:hover,
#jannuzzio-inline  .jn-contact a:hover { color: #F4CF35 !important; }

/* ══════════════════════════════════════════════════════
   INLINE WRAP SHELL
══════════════════════════════════════════════════════ */
#jannuzzio-inline {
  border: 1px solid rgba(17,17,17,0.1) !important;
  border-top: 3px solid #111111 !important;
  box-shadow: 0 4px 24px rgba(17,17,17,0.08) !important;
  max-width: 700px !important;
  width: 100% !important;
  font-family: 'DM Sans', sans-serif !important;
  overflow: hidden !important;
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  #jannuzzio-overlay .jn-modal { max-height: 96vh !important; }
  #jannuzzio-overlay .jn-mhdr,
  #jannuzzio-inline  .jn-inline-header,
  #jannuzzio-overlay .jn-sec,
  #jannuzzio-inline  .jn-sec,
  #jannuzzio-overlay .jn-result,
  #jannuzzio-inline  .jn-result { padding-left: 18px !important; padding-right: 18px !important; }
  #jannuzzio-overlay .jn-price,
  #jannuzzio-inline  .jn-price { font-size: 40px !important; }
  #jannuzzio-overlay .jn-style-grid,
  #jannuzzio-inline  .jn-style-grid { grid-template-columns: 1fr !important; }
  #jannuzzio-overlay .jn-meas-grid,
  #jannuzzio-inline  .jn-meas-grid { grid-template-columns: 1fr 1fr !important; }
}
