/* ============================================================================
   Round 3 cohesive restyle — Farmacia Perú (formulamagistralcadiz.com)
   Rebuilds the header top-bar, logo lockup, nav, footer panel and normalises
   typography / spacing / buttons that the archived Elementor Pro CSS lost.
   Loaded LAST so it wins without touching the archived structural rules.
   Brand: teal #1abc9c / accent #02d1ae / ink #23302d.
   ============================================================================ */

:root{
  --fm-teal:#1abc9c; --fm-teal-d:#0e9e8a; --fm-accent:#02d1ae;
  --fm-ink:#23302d; --fm-muted:#5c6b67;
}

/* ---------- 1. HEADER as one cohesive designed unit ---------------------- */
.elementor-2351.elementor-location-header{
  background:#ffffff;
  box-shadow:0 3px 18px rgba(20,60,52,.08);
  position:relative; z-index:30;
}

/* Top utility bar (contact + social) — tighter, vertically centred */
.elementor-2351 .elementor-element-e63d1fe{background-color:var(--fm-teal);}
.elementor-2351 .elementor-element-e63d1fe > .elementor-container{
  min-height:42px; align-items:center;
}
.elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-item > .elementor-icon-list-text a{
  font-size:12.5px; letter-spacing:.2px;
}
.elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-text a{color:#fff;text-decoration:none;}
.elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-text a:hover{text-decoration:underline;}
/* Social chip: give the FB icon a subtle rounded container so it reads designed */
.elementor-2351 .elementor-element-42820e2c .elementor-social-icon{
  width:30px; height:30px; border-radius:50%;
  background-color:rgba(255,255,255,.16)!important;
  transition:background-color .2s ease;
}
.elementor-2351 .elementor-element-42820e2c .elementor-social-icon:hover{
  background-color:rgba(255,255,255,.30)!important;
}

/* Logo + name lockup — strengthen the washed-out title */
.elementor-2351 .elementor-element-547b3637 > .elementor-container{align-items:center;}
.elementor-2351 .elementor-element-955b290 .elementor-heading-title{
  color:var(--fm-ink)!important; font-weight:600!important; letter-spacing:-.5px;
}
.elementor-2351 .elementor-element-01b4094 .elementor-heading-title{
  color:var(--fm-teal-d)!important; font-weight:400!important; letter-spacing:.2px;
}

/* Primary nav — replace the dotted rule with a clean single divider */
.site-nav-widget{border-top:1px solid #eceeed;border-bottom:1px solid #eceeed;}
.elementor-2351 .elementor-element-8ffa288 > .elementor-widget-container{
  border-style:solid!important; border-width:1px 0 0 0!important; border-color:#eceeed!important;
}
.nav-link{font-weight:500;color:#2c3a37;letter-spacing:.2px;transition:color .2s ease;}
a.nav-link:hover,a.nav-link:focus,a.nav-link.is-active{color:var(--fm-teal-d);}

/* ---------- 2. Top-bar on MOBILE: reveal ALL content, readable ----------- */
@media(max-width:767px){
  .elementor-2351 .elementor-element-e63d1fe > .elementor-container{
    min-height:0; padding-top:10px; padding-bottom:10px; gap:8px;
  }
  /* un-hide the contact list that Elementor marked hidden-phone */
  .elementor-2351 .elementor-element-1bddcd8c.elementor-hidden-phone{display:block!important;}
  .elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-items{
    flex-direction:column; align-items:center; gap:4px;
    margin:0!important;
  }
  .elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-item{
    margin:0!important; padding:2px 0!important; justify-content:center;
  }
  .elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-item > .elementor-icon-list-text,
  .elementor-2351 .elementor-element-1bddcd8c .elementor-icon-list-item > .elementor-icon-list-text a{
    font-size:12.5px; line-height:1.4;
  }
  .elementor-2351 .elementor-element-42820e2c .elementor-widget-container{margin-top:6px;}
  /* clean centred stacking of the two utility columns */
  .elementor-2351 .elementor-element-485b0f38,
  .elementor-2351 .elementor-element-34b894a1{width:100%!important;text-align:center;}
}

/* ---------- 3. Homepage sections: typography & spacing rhythm ------------ */
/* consistent section headings on the home page */
.elementor-2320 .elementor-widget-heading .elementor-heading-title{letter-spacing:-.4px;}
/* "Acompañamiento Profesional" text block: comfortable measure */
.elementor-2320 .elementor-element-8d2004c p{font-size:16px;line-height:1.75;color:#3a3a3a;}
/* Green "Servicios" band heading */
.elementor-2320 .elementor-widget-heading .elementor-heading-title{line-height:1.15;}

/* Unify outlined buttons across the home page */
.elementor-2320 .elementor-button,
.elementor-2496 .e-form__buttons .elementor-button{
  font-family:"Roboto",sans-serif; text-transform:uppercase; letter-spacing:1.5px;
  font-size:13px; font-weight:600; border-radius:2px; transition:all .2s ease;
}

/* Team image band: keep it centred with breathing room */
.elementor-2320 .elementor-element-f3183f1 .elementor-widget-image img{
  display:block; margin:0 auto; max-width:820px; width:100%;
  border-radius:6px; box-shadow:0 14px 34px rgba(20,60,52,.10);
}
.elementor-2320 .elementor-element-7cbfe7d2{padding-top:56px;}
.elementor-2320 .elementor-element-f3183f1{padding-bottom:64px;}

/* ---------- 4. FOOTER as one designed panel ----------------------------- */
.site-footer .elementor-2496 .elementor-element-624b4d2b{
  background:linear-gradient(160deg,#1abc9c 0%,#14b096 55%,#0e9e8a 100%);
  padding-top:64px!important; padding-bottom:64px!important;
}
/* tame the oversized "Contacto" heading */
.elementor-2496 .elementor-element-56cfe9f .elementor-heading-title{
  font-size:34px!important; font-weight:600!important; letter-spacing:-.4px; margin-bottom:6px;
}
@media(max-width:1024px){
  .elementor-2496 .elementor-element-56cfe9f .elementor-heading-title{font-size:30px!important;}
}
.elementor-2496 .elementor-element-b3ba2cb > .elementor-element-populated > .elementor-widget-wrap{
  padding-right:8%;
}
/* form fields: cohesive, rounded, consistent focus */
.elementor-2496 .elementor-element-08b33da .elementor-field-textual{
  border-radius:4px!important; border-color:rgba(255,255,255,.55)!important;
  padding:11px 14px; box-shadow:none;
}
.elementor-2496 .elementor-element-08b33da .elementor-field-textual:focus{
  border-color:#fff!important; box-shadow:0 0 0 3px rgba(255,255,255,.22)!important; outline:none;
}
.elementor-2496 .elementor-element-08b33da .elementor-button{
  border-radius:4px!important; background:#ffffff!important; color:var(--fm-teal-d)!important;
  padding:12px 26px; letter-spacing:1.5px;
}
.elementor-2496 .elementor-element-08b33da .elementor-button:hover{
  background:var(--fm-ink)!important; color:#fff!important;
}
.elementor-2496 .elementor-element-08b33da label small{color:rgba(255,255,255,.9)!important;}
.elementor-2496 .elementor-element-08b33da .elementor-field-group label{color:#fff!important;}

/* Right column: turn map + address + phone into ONE white info card */
.elementor-2496 .elementor-element-1acb3770 > .elementor-element-populated{
  background:#ffffff!important; border-radius:10px;
  box-shadow:0 18px 42px rgba(12,60,52,.18);
  overflow:hidden;
}
.elementor-2496 .elementor-element-1acb3770 > .elementor-element-populated > .elementor-widget-wrap{
  padding:0!important;
}
.elementor-2496 .elementor-element-76171019 iframe{
  height:240px!important; display:block; width:100%; border:0;
}
.elementor-2496 .elementor-element-4a8d617f,
.elementor-2496 .elementor-element-2ff9d534{padding-left:26px;padding-right:26px;}
.elementor-2496 .elementor-element-4a8d617f{margin-top:22px;}
.elementor-2496 .elementor-element-2ff9d534{padding-bottom:8px;}
.elementor-2496 .elementor-element-2ff9d534 > .elementor-widget-container{margin-top:6px!important;}
.elementor-2496 .elementor-element-1acb3770 .elementor-icon-box-icon .elementor-icon{color:var(--fm-teal)!important;fill:var(--fm-teal)!important;}
.elementor-2496 .elementor-element-1acb3770 .elementor-icon-box-title,
.elementor-2496 .elementor-element-1acb3770 .elementor-icon-box-title span{color:var(--fm-ink)!important;}

/* Legal links: proper footer nav bar rather than 3 fat headings */
.elementor-2496 .elementor-element-c339858{
  border-top:1px solid rgba(255,255,255,.28); margin-top:26px; padding-top:20px;
}
.elementor-2496 .elementor-element-c339858 .elementor-heading-title{
  font-size:14px!important; font-weight:500!important;
}
.elementor-2496 .elementor-element-c339858 .elementor-heading-title a{
  color:rgba(255,255,255,.9)!important; text-decoration:none;
}
.elementor-2496 .elementor-element-c339858 .elementor-heading-title a:hover{
  color:#fff!important; text-decoration:underline;
}

@media(max-width:767px){
  .site-footer .elementor-2496 .elementor-element-624b4d2b{padding-top:44px!important;padding-bottom:44px!important;}
  .elementor-2496 .elementor-element-1acb3770 > .elementor-element-populated{margin-top:6px;}
  .elementor-2496 .elementor-element-c339858 .elementor-container{gap:6px;}
}
