/* ============================================================
   Hidrolatoil — design polish layer (modern / professional)
   Additive only: upgrades typography, states & micro-motion
   without altering the original layout structure.
   ============================================================ */

html { scroll-behavior: smooth; }

/* --- Typographic hierarchy (Elementor heading widgets only) --- */
.elementor-widget-heading h1.elementor-heading-title{
  font-size: clamp(32px, 4.8vw, 50px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
  font-weight: 700 !important;
  text-wrap: balance;
}
.elementor-widget-heading h2.elementor-heading-title{
  font-size: clamp(25px, 3.4vw, 35px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
  font-weight: 700 !important;
  text-wrap: balance;
}
.elementor-widget-heading h3.elementor-heading-title{
  font-size: clamp(19px, 2.1vw, 23px) !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

/* Body copy: comfortable measure + rhythm */
.elementor-widget-text-editor p{ line-height: 1.7; }

/* --- Buttons: micro-interactions + tinted shadow --- */
.elementor-button{
  transition: transform .2s ease, box-shadow .25s ease, background-color .2s ease, filter .2s ease !important;
  border-radius: 8px !important;
}
.elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(71,109,48,.28) !important;
  filter: saturate(1.05);
}
.elementor-button:active{ transform: translateY(0); box-shadow: 0 4px 10px rgba(71,109,48,.22) !important; }

/* Links */
a{ transition: color .2s ease, opacity .2s ease; }

/* --- Accessibility: visible keyboard focus --- */
a:focus-visible, button:focus-visible, .elementor-button:focus-visible{
  outline: 2px solid #476D30;
  outline-offset: 3px;
  border-radius: 6px;
}

/* Images never distort */
img{ height: auto; }

/* ============================================================
   Contact page — premium contact cards
   ============================================================ */
.hidro-contact-card{
  display:inline-flex !important; align-items:center; gap:16px; text-decoration:none !important;
  background:#ffffff !important; padding:20px 28px; border-radius:16px !important;
  box-shadow:0 10px 34px rgba(44,62,80,.10) !important;
  border:1px solid rgba(44,62,80,.06) !important;
  min-width:280px; transition:transform .22s ease, box-shadow .25s ease !important;
}
.hidro-contact-card:hover{ transform:translateY(-4px); box-shadow:0 18px 46px rgba(71,109,48,.20) !important; }
.hidro-contact-ico{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%;
  background:rgba(71,109,48,.10); color:#476D30; flex:0 0 auto;
}
.hidro-contact-label{ display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#8a97a3; margin-bottom:3px; }
.hidro-contact-value{ display:block; font-size:19px; font-weight:600; color:#2c3e50; }
@media (max-width:520px){ .hidro-contact-card{ min-width:0; width:100%; } }

/* Secondary "about" block on contact page — kept visually quiet */
.hidro-about{ background:#ffffff; padding:64px 24px 76px; font-family:'Poppins',sans-serif; border-top:1px solid rgba(44,62,80,.07); }
.hidro-about-inner{ max-width:600px; margin:0 auto; text-align:center; }
.hidro-about-label{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#476D30; font-weight:600; }
.hidro-about-h{ font-size:clamp(22px,2.6vw,27px); line-height:1.25; color:#2c3e50; font-weight:600; margin:10px 0 16px; }
.hidro-about-p{ color:#6b7683; font-size:15.5px; line-height:1.75; margin:0 0 28px; }
.hidro-ghost-btn{
  display:inline-block; padding:13px 30px; border-radius:8px;
  border:1.5px solid #476D30; color:#476D30; background:transparent;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; text-decoration:none;
  transition:background-color .22s ease, color .22s ease, transform .2s ease, box-shadow .25s ease;
}
.hidro-ghost-btn:hover{ background:#476D30; color:#fff; transform:translateY(-2px); box-shadow:0 10px 24px rgba(71,109,48,.28); }


/* ============================================================
   Home page — contact / CTA section (added 2026-07-10)
   ============================================================ */
.hidro-cta-section{
  background:linear-gradient(180deg,#f6f8f4 0%,#eef2ea 100%);
  padding:74px 24px 86px;
  font-family:'Poppins',sans-serif;
  border-top:1px solid rgba(44,62,80,.07);
}
.hidro-cta-inner{ max-width:1080px; margin:0 auto; text-align:center; }
.hidro-cta-label{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#476D30; font-weight:600; margin:0; }
.hidro-cta-h{ font-size:clamp(26px,3.4vw,40px); line-height:1.15; color:#2c3e50; font-weight:700; letter-spacing:-.02em; margin:10px 0 14px; text-wrap:balance; }
.hidro-cta-p{ color:#6b7683; font-size:16.5px; line-height:1.7; max-width:620px; margin:0 auto 40px; }
.hidro-cta-cards{ display:flex; flex-wrap:wrap; gap:18px; justify-content:center; margin-bottom:42px; }
.hidro-cta-cards .hidro-contact-card{ text-align:left; }
.hidro-cta-btn{
  display:inline-block; padding:15px 42px; border-radius:8px;
  background:#476D30; color:#fff !important; text-decoration:none !important;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:16px; letter-spacing:.01em;
  transition:transform .2s ease, box-shadow .25s ease, background-color .2s ease;
  box-shadow:0 8px 22px rgba(71,109,48,.25);
}
.hidro-cta-btn:hover{ transform:translateY(-2px); background:#3c5c28; box-shadow:0 12px 30px rgba(71,109,48,.32); }
@media (max-width:560px){ .hidro-cta-cards .hidro-contact-card{ width:100%; } }
