/* ============================================================
   CASIZZI — FINAL TYPOGRAPHY & COMPONENT SYSTEM — ORIGINAL FONT
   Loaded last on every page. It intentionally overrides the
   accumulated page-by-page typography patches without changing
   the approved layouts, images or content structure.
   IMPORTANT: this version deliberately uses the ORIGINAL system-font
   rendering of the approved site (no externally loaded Inter).
   ============================================================ */

:root{
  --cz-font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --cz-inner-h1:clamp(60px,6vw,96px);
  --cz-inner-h2:clamp(52px,4.6vw,68px);
  --cz-inner-h2-support:clamp(42px,3.6vw,54px);
  --cz-inner-lead:clamp(17px,1.25vw,18px);

  --cz-body:16px;
  --cz-body-small:14px;
  --cz-button:13px;
  --cz-button-small:12px;
}

html,body,button,input,textarea,select{
  font-family:var(--cz-font-sans);
}

/* ----- Primary display hierarchy ----- */
.hero h1{
  font-weight:730;
}

.refrigeration-page-new .rp-hero h1,
.coldroom-product-page .cpv4-hero h1,
.emergency-page-v2 .emergency-hero-copy h1,
.about3 .about3-hero h1,
.contacts-final .contacts-final-hero h1{
  font-size:var(--cz-inner-h1) !important;
  font-weight:730 !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
}

.refrigeration-page-new .rp-hero-lead,
.coldroom-product-page .cpv4-hero-lead,
.emergency-page-v2 .emergency-hero-copy .lead,
.about3 .about3-hero-copy>p,
.contacts-final .contacts-final-hero-copy>p{
  font-size:var(--cz-inner-lead) !important;
  line-height:1.62 !important;
}

/* ----- Main section headings: one shared level across inner pages ----- */
.refrigeration-page-new .rp-copy h2,
.coldroom-product-page .cpv4-project-copy h2,
.coldroom-product-page .cpv4-custom-copy h2,
.coldroom-product-page .cpv4-final h2,
.emergency-page-v2 .emergency-when-copy h2,
.emergency-page-v2 .maintenance-callout-copy h2,
.about3 h2,
.contacts-final .contacts-final-form-head h2{
  font-size:var(--cz-inner-h2) !important;
  font-weight:690 !important;
  line-height:.99 !important;
  letter-spacing:-.052em !important;
}

/* Supporting / closing headings deliberately remain one level lower. */
.refrigeration-page-new .rp-final h2,
.emergency-page-v2 .emergency-brief-strip-copy h2{
  font-size:var(--cz-inner-h2-support) !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}

/* ----- Buttons ----- */
.button{
  font-size:var(--cz-button);
  font-weight:700;
  line-height:1.1;
  min-height:48px;
}

.button.small{
  font-size:var(--cz-button-small);
  min-height:42px;
}

/* Home contact actions are real CTAs, not micro-copy. */
.contact-pill{
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  min-height:44px;
}

/* Urgent CTA keeps its own visual language but not tiny typography. */
.urgent-action-copy b{
  font-size:11.5px !important;
  line-height:1.1 !important;
}

/* ----- Footer legibility ----- */
.compact-footer .footer-company-data{
  font-size:10px !important;
  line-height:1.4 !important;
}
.compact-footer .footer-company-data strong{
  font-size:10.5px !important;
}
.compact-footer .footer-compact-links a{
  font-size:10px !important;
}
.compact-footer .footer-copyright{
  font-size:9px !important;
  line-height:1.35 !important;
}

/* ----- Mobile system ----- */
@media (max-width:850px){
  :root{
    --cz-inner-h1:clamp(42px,11.5vw,48px);
    --cz-inner-h2:clamp(38px,10.25vw,42px);
    --cz-inner-h2-support:clamp(34px,9vw,36px);
    --cz-inner-lead:15px;
  }

  .refrigeration-page-new .rp-hero h1,
  .coldroom-product-page .cpv4-hero h1,
  .emergency-page-v2 .emergency-hero-copy h1,
  .about3 .about3-hero h1,
  .contacts-final .contacts-final-hero h1{
    font-size:var(--cz-inner-h1) !important;
    line-height:.97 !important;
  }

  .refrigeration-page-new .rp-hero-lead,
  .coldroom-product-page .cpv4-hero-lead,
  .emergency-page-v2 .emergency-hero-copy .lead,
  .about3 .about3-hero-copy>p,
  .contacts-final .contacts-final-hero-copy>p{
    font-size:var(--cz-inner-lead) !important;
    line-height:1.58 !important;
  }

  .refrigeration-page-new .rp-copy h2,
  .coldroom-product-page .cpv4-project-copy h2,
  .coldroom-product-page .cpv4-custom-copy h2,
  .coldroom-product-page .cpv4-final h2,
  .emergency-page-v2 .emergency-when-copy h2,
  .emergency-page-v2 .maintenance-callout-copy h2,
  .about3 h2,
  .contacts-final .contacts-final-form-head h2{
    font-size:var(--cz-inner-h2) !important;
    line-height:.99 !important;
  }

  .refrigeration-page-new .rp-final h2,
  .emergency-page-v2 .emergency-brief-strip-copy h2{
    font-size:var(--cz-inner-h2-support) !important;
  }

  /* Uniform touch/label scale. Page-specific layout widths stay untouched. */
  main .button,
  .drawer-panel .button,
  .hero-actions .button,
  .refrigeration-page-new .button,
  .coldroom-product-page .button,
  .emergency-page-v2 .button,
  .about3 .button,
  .contacts-final .button{
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    min-height:44px;
  }

  main .button.small{
    font-size:12px !important;
    min-height:42px;
  }

  .emergency-page-v2 .emergency-actions .button,
  .emergency-page-v2 .emergency-actions a.button,
  .emergency-page-v2 .emergency-brief-strip-copy .button,
  .emergency-page-v2 .maintenance-callout-copy .button{
    font-size:12px !important;
  }

  .contact-pill{
    font-size:12px !important;
    min-height:44px !important;
  }

  .urgent-action-copy b{
    font-size:10.5px !important;
  }

  .compact-footer .footer-company-data{
    font-size:9.5px !important;
  }
  .compact-footer .footer-company-data strong{
    font-size:10px !important;
  }
  .compact-footer .footer-compact-links a{
    font-size:10px !important;
  }
  .compact-footer .footer-copyright{
    font-size:9px !important;
  }
}

@media (max-width:540px){
  /* Keep the approved two-column Home CTA arrangement, but readable. */
  .contact-pill{
    font-size:12px !important;
    padding-inline:7px !important;
  }

  .contact-v4 .map-link{
    font-size:11px !important;
  }

  .urgent-action-copy b{
    font-size:10.5px !important;
  }
}

@media (max-width:360px){
  /* Do not sacrifice readability to preserve a line: reduce spacing first. */
  .contact-pill{
    font-size:12px !important;
    padding-inline:5px !important;
  }

  .urgent-action-copy b{
    font-size:10.5px !important;
  }
}

/* ============================================================
   FINAL MOBILE TARGET TITLES — keep all three audience headings
   on one line without shrinking the rest of the site.
   ============================================================ */
@media (max-width:850px){
  .audiences.three-way .audience-content h2{
    font-size:clamp(28px,8vw,31px) !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
    white-space:nowrap !important;
  }
}

@media (max-width:540px){
  .audiences.three-way .audience-content,
  .audiences.three-way .audience-panel.home .audience-content,
  .audiences.three-way .audience-panel.home-lite .audience-content{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* ============================================================
   PRE-HOSTINGER QA REFINEMENTS — 2026-10-06
   Accessibility, touch targets, footer legibility and form UX.
   ============================================================ */

/* Visible keyboard focus without changing the approved visual design. */
:where(.button,.contact-pill,.urgent-action,.urgent-float,.menu-toggle,.drawer-close,.cookie-settings-link,.to-top,a):focus-visible{
  outline:3px solid #8fd7ff !important;
  outline-offset:3px !important;
}

/* Preserve a visible focus indicator on the custom Contact page fields. */
.contacts-final-form input:focus-visible,
.contacts-final-form textarea:focus-visible,
.contacts-final-form select:focus-visible{
  outline:2px solid #367fa8 !important;
  outline-offset:3px !important;
}
.contacts-final-form label:focus-within{
  border-bottom-color:#367fa8 !important;
}

/* Minimum usable touch targets for compact UI controls. */
.menu-toggle,
.drawer-close,
.cookie-settings-link,
.compact-footer .to-top{
  min-width:44px !important;
  min-height:44px !important;
}
.cookie-settings-link,
.compact-footer .to-top{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}

/* Footer: keep it compact but readable. */
.compact-footer .footer-company-data,
.compact-footer .footer-company-data strong,
.compact-footer .footer-compact-links a,
.compact-footer .cookie-settings-link{
  font-size:11px !important;
}
.compact-footer .footer-copyright{
  font-size:10px !important;
  color:#7f93a3 !important;
  line-height:1.4 !important;
}
.compact-footer .footer-company-data a{
  color:inherit;
}

/* Legal pages do not contain the fixed emergency CTA. */
@media (max-width:900px){
  body.legal-body{padding-bottom:0 !important;}
}

@media (max-width:850px){
  /* Prevent iOS Safari auto-zoom on focus. */
  .contacts-final-form input,
  .contacts-final-form textarea,
  .contacts-final-form select{
    font-size:16px !important;
  }
  .compact-footer .footer-company-data,
  .compact-footer .footer-company-data strong,
  .compact-footer .footer-compact-links a,
  .compact-footer .cookie-settings-link{
    font-size:11px !important;
  }
  .compact-footer .footer-copyright{
    font-size:10px !important;
  }
}

/* Drawer close button: optically centered X */
.drawer-close{
  font-size:0 !important;
  line-height:0 !important;
}
.drawer-close::before,
.drawer-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
}
.drawer-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.drawer-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

/* ============================================================
   FINAL TYPOGRAPHY NORMALIZATION — 2026-10-06
   Harmonizes secondary typography and text colors across pages
   without changing the approved H1/H2 hierarchy or layouts.
   ============================================================ */
:root{
  --cz-text-primary:#07111b;
  --cz-text-body:#506170;
  --cz-text-muted:#567185;
  --cz-text-on-dark:#ffffff;
  --cz-text-on-dark-body:#b9cad5;
  --cz-text-on-dark-muted:#8fb2cf;
  --cz-text-accent:#8fd7ff;
  --cz-kicker:10px;
  --cz-kicker-spacing:.18em;
}

/* Shared section labels: one consistent scale across the whole site. */
.eyebrow{
  font-size:var(--cz-kicker) !important;
  line-height:1.2 !important;
  letter-spacing:var(--cz-kicker-spacing) !important;
  font-weight:800 !important;
}
.eyebrow.dark{
  color:var(--cz-text-muted) !important;
}

/* Home micro labels: never fall below the readable system scale. */
.urgent-callout .urgent-kicker{
  font-size:var(--cz-kicker) !important;
  letter-spacing:.18em !important;
}
.map-kicker{
  font-size:var(--cz-kicker) !important;
  letter-spacing:.18em !important;
  color:var(--cz-text-on-dark-muted) !important;
}

/* Refrigeration page */
.refrigeration-page-new .rp-copy>p:not(.eyebrow){
  font-size:16px !important;
  color:var(--cz-text-body) !important;
}
.refrigeration-page-new .rp-industrial .rp-copy>p:not(.eyebrow),
.refrigeration-page-new .rp-support-copy p:not(.eyebrow){
  color:var(--cz-text-on-dark-body) !important;
}
.refrigeration-page-new .rp-cells-kicker,
.refrigeration-page-new .rp-industrial-point small,
.refrigeration-page-new .rp-hero-note small{
  font-size:var(--cz-kicker) !important;
  letter-spacing:var(--cz-kicker-spacing) !important;
  font-weight:800 !important;
}
.refrigeration-page-new .rp-cells-kicker{
  color:var(--cz-text-muted) !important;
}
.refrigeration-page-new .rp-industrial-point small{
  color:var(--cz-text-on-dark-muted) !important;
}
.refrigeration-page-new .rp-cells p{
  font-size:14px !important;
  line-height:1.6 !important;
  color:var(--cz-text-body) !important;
}

/* Cold-room page */
.coldroom-product-page .cpv4-strip-item small,
.coldroom-product-page .cpv4-config span{
  font-size:var(--cz-kicker) !important;
  line-height:1.2 !important;
  letter-spacing:var(--cz-kicker-spacing) !important;
  font-weight:800 !important;
  color:var(--cz-text-muted) !important;
}
.coldroom-product-page .cpv4-project-kicker{
  font-size:var(--cz-kicker) !important;
  line-height:1.2 !important;
  letter-spacing:var(--cz-kicker-spacing) !important;
  color:var(--cz-text-accent) !important;
}
.coldroom-product-page .cpv4-project-head p,
.coldroom-product-page .cpv4-custom-copy p{
  font-size:16px !important;
  line-height:1.68 !important;
}
.coldroom-product-page .cpv4-project-head p,
.coldroom-product-page .cpv4-project-points span,
.coldroom-product-page .cpv4-final p{
  color:var(--cz-text-on-dark-body) !important;
}
.coldroom-product-page .cpv4-custom-copy p,
.coldroom-product-page .cpv4-config p{
  color:var(--cz-text-body) !important;
}
.coldroom-product-page .cpv4-config p{
  font-size:14px !important;
  line-height:1.62 !important;
}
.coldroom-product-page .cpv4-project-points span{
  font-size:13px !important;
  line-height:1.5 !important;
}
.coldroom-product-page .cpv4-blueprint-note,
.coldroom-product-page .cpv4-blueprint-note strong{
  font-size:10px !important;
  color:var(--cz-text-on-dark-muted) !important;
}

/* Emergency / assistance page */
.emergency-page-v2 .emergency-warning-card p,
.emergency-page-v2 .maintenance-callout-copy p.lead,
.emergency-page-v2 .brief-strip-item p{
  color:var(--cz-text-on-dark-body) !important;
}
.emergency-page-v2 .emergency-when-copy p.lead{
  color:var(--cz-text-body) !important;
}
.emergency-page-v2 .brief-strip-item span{
  font-size:var(--cz-kicker) !important;
  letter-spacing:var(--cz-kicker-spacing) !important;
  color:var(--cz-text-accent) !important;
}
.emergency-page-v2 .brief-strip-item p{
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Company page */
.about3 .about3-kicker,
.about3 .about3-hero-fact small,
.about3 .about3-company-line span,
.about3 .about3-scope-label{
  font-size:var(--cz-kicker) !important;
  line-height:1.2 !important;
  letter-spacing:var(--cz-kicker-spacing) !important;
  font-weight:800 !important;
}
.about3 .about3-company .about3-kicker,
.about3 .about3-company-line span,
.about3 .about3-scope-label{
  color:var(--cz-text-muted) !important;
}
.about3 .about3-territory .about3-kicker{
  color:var(--cz-text-accent) !important;
}
.about3 .about3-company-copy>p{
  font-size:16px !important;
  color:var(--cz-text-body) !important;
}
.about3 .about3-territory-copy>p{
  font-size:16px !important;
  color:var(--cz-text-on-dark-body) !important;
}
.about3 .about3-hero-fact p{
  font-size:14px !important;
  line-height:1.62 !important;
  color:var(--cz-text-on-dark-body) !important;
}

/* Contacts page */
.contacts-final .contacts-final-kicker,
.contacts-final .contacts-final-quick-row span,
.contacts-final .contacts-final-location span,
.contacts-final .contacts-final-emergency span,
.contacts-final .contacts-final-form label{
  font-size:var(--cz-kicker) !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
  font-weight:800 !important;
}
.contacts-final .contacts-final-hero .contacts-final-kicker,
.contacts-final .contacts-final-location span{
  color:var(--cz-text-accent) !important;
}
.contacts-final .contacts-final-form-head .contacts-final-kicker,
.contacts-final .contacts-final-form label,
.contacts-final .contacts-final-emergency span{
  color:var(--cz-text-muted) !important;
}
.contacts-final .contacts-final-form-head p{
  font-size:16px !important;
  color:var(--cz-text-body) !important;
}
.contacts-final .contacts-required-note{
  font-size:10px !important;
  color:var(--cz-text-muted) !important;
}
.contacts-final .contacts-final-form input::placeholder,
.contacts-final .contacts-final-form textarea::placeholder{
  color:var(--cz-text-muted) !important;
}

/* Mobile: keep hierarchy, normalize secondary copy at a readable scale. */
@media (max-width:850px){
  .refrigeration-page-new .rp-copy>p:not(.eyebrow),
  .coldroom-product-page .cpv4-project-head p,
  .coldroom-product-page .cpv4-custom-copy p,
  .about3 .about3-company-copy>p,
  .about3 .about3-territory-copy>p,
  .contacts-final .contacts-final-form-head p{
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .emergency-page-v2 .emergency-when-copy p.lead,
  .emergency-page-v2 .maintenance-callout-copy p.lead{
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .coldroom-product-page .cpv4-config p,
  .emergency-page-v2 .brief-strip-item p,
  .refrigeration-page-new .rp-cells p,
  .about3 .about3-hero-fact p{
    font-size:14px !important;
  }

  .urgent-callout .urgent-kicker,
  .map-kicker{
    font-size:10px !important;
  }
}

/* Dark-surface label colors aligned to the shared palette. */
.about3 .about3-hero-fact small,
.contacts-final .contacts-final-quick-row span{
  color:var(--cz-text-on-dark-muted) !important;
}

/* ============================================================
   MOBILE MICRO-FIXES — 2026-10-06
   Cold-room CTA row, WhatsApp spacing/icon optical centering,
   final assistance CTA alignment. No layout redesign.
   ============================================================ */

/* WhatsApp glyph: geometrically centered already, but its tail makes it
   look slightly left/bottom. Tiny optical correction inside green badge. */
.urgent-whatsapp-icon svg{
  transform:translate(.65px,-.35px) !important;
  transform-origin:center !important;
}

/* Pronto intervento hero: reduce the inherited generic .button gap. */
.emergency-page-v2 .whatsapp-secondary-cta{
  gap:10px !important;
}

@media (max-width:540px){
  /* Keep both cold-room hero actions on one clean row. */
  .coldroom-product-page .cpv4-actions{
    flex-wrap:nowrap !important;
    gap:12px !important;
    align-items:center !important;
  }

  .coldroom-product-page .cpv4-actions .button{
    flex:0 0 auto !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }

  .coldroom-product-page .cpv4-text-link{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    gap:6px !important;
  }
}

@media (max-width:850px){
  /* Match the centered closing CTA treatment used by the other service pages. */
  .emergency-page-v2 .maintenance-callout-copy .service-secondary-cta{
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}



/* ============================================================
   FINAL PRE-HOSTINGER QA FIXES — 2026-10-07
   Only verified issues that do not depend on the final domain/server.
   ============================================================ */

/* Contrast on light surfaces: retain the blue identity, but keep text readable. */
.contact-v4 .contact-copy h2 em{
  color:#367fa8 !important;
}
.refrigeration-page-new .rp-line span{
  color:var(--cz-text-body) !important;
}

/* Tablet / small-laptop hero: remove the fixed media minimum that squeezed the title. */
@media (min-width:851px) and (max-width:1100px){
  .refrigeration-page-new .rp-hero{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
  .refrigeration-page-new .rp-hero-copy{
    padding-left:28px !important;
    padding-right:28px !important;
  }
  .refrigeration-page-new .rp-hero-media{
    min-width:0 !important;
  }

  /* The CAD board needs more horizontal room than this viewport can offer safely. */
  .coldroom-product-page .cpv4-project-layout{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .coldroom-product-page .cpv4-project-copy{
    max-width:680px !important;
  }
  .coldroom-product-page .cpv4-blueprint{
    width:100% !important;
    max-width:880px !important;
  }
}

/* JS considers the persistent urgent action mobile only through 850px.
   Match the CSS to the same breakpoint and remove the otherwise unused bottom reserve. */
@media (min-width:851px) and (max-width:900px){
  .urgent-float{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  body:not(.legal-body){
    padding-bottom:0 !important;
  }
}

/* The secondary cold-room hero link remains visually light, but has a real touch target. */
@media (max-width:850px){
  .coldroom-product-page .cpv4-text-link{
    min-height:44px !important;
    padding-block:8px !important;
  }
}
