/*
Theme Name: AquaMatic
Theme URI: https://aquamaticgavilan.com
Author: AquaMatic
Description: Tema a medida para AquaMatic Gavilán, generado a partir del wireframe de la campaña de rediseño del sitio.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: aquamatic
*/

:root{
  --navy-950:#071433;
  --navy-900:#0A2463;
  --navy-800:#123078;
  --aqua-600:#0093D1;
  --aqua-500:#2BAEE0;
  --aqua-100:#E3F4FC;
  --orange-600:#EC6707;
  --orange-500:#F3872E;
  --leaf-500:#8BC53F;
  --leaf-600:#6FA82B;
  --bg:#F6FAFD;
  --surface:#FFFFFF;
  --surface-2:#EEF5FB;
  --border:#DCE7F2;
  --ink:#12213D;
  --muted:#57678A;
  --muted-2:#7C8AAC;
  --shadow: 0 20px 40px -24px rgba(10,36,99,0.35);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 10px;
  --font-display: 'Trebuchet MS', 'Segoe UI', ui-sans-serif, system-ui, sans-serif;
  --font-body: 'Segoe UI', ui-sans-serif, system-ui, -apple-system, sans-serif;
}
:root[data-theme="dark"]{
  --bg:#071A3D;
  --surface:#0E2554;
  --surface-2:#0B2049;
  --border:#1C3A6E;
  --ink:#EAF2FB;
  --muted:#B3C2E0;
  --muted-2:#8CA0C8;
  --navy-900:#0A2463;
  --navy-950:#040D24;
  --aqua-600:#33B1E8;
  --orange-600:#FF8433;
  --leaf-500:#9ED84C;
  --shadow: 0 24px 48px -20px rgba(0,0,0,0.55);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#071A3D;
    --surface:#0E2554;
    --surface-2:#0B2049;
    --border:#1C3A6E;
    --ink:#EAF2FB;
    --muted:#B3C2E0;
    --muted-2:#8CA0C8;
    --navy-900:#0A2463;
    --navy-950:#040D24;
    --aqua-600:#33B1E8;
    --orange-600:#FF8433;
    --leaf-500:#9ED84C;
    --shadow: 0 24px 48px -20px rgba(0,0,0,0.55);
  }
}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--orange-500);outline-offset:2px;}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(1.1rem,4vw,2.5rem);}
.eyebrow{
  font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--aqua-600);
}
h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;}
p{line-height:1.6;color:var(--muted);margin:0;}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 1.5rem;border-radius:999px;border:0;
  font-weight:700;font-size:0.95rem;white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--orange-600);color:#fff;box-shadow:0 14px 28px -12px rgba(236,103,7,.55);}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border);}
.btn-light{background:#fff;color:var(--navy-900);}

/* ---------- promo bar ---------- */
.promo{
  background:var(--navy-950);color:#cfe6f7;
  font-size:.82rem;text-align:center;padding:.55rem 1rem;
}
.promo b{color:var(--orange-500);}

/* ---------- header ---------- */
header.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--navy-900);
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
.headerbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem;}
.logo{display:flex;align-items:center;gap:.65rem;color:#fff;}
.logo img{max-height:44px;width:auto;}
.logo-badge{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(160deg,var(--aqua-500),var(--navy-800));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.logo-text{display:flex;flex-direction:column;line-height:1.05;}
.logo-text .a{font-family:var(--font-display);font-weight:700;font-size:1.35rem;}
.logo-text .b{font-size:.62rem;letter-spacing:.16em;color:var(--orange-500);font-weight:700;}
.primary-menu ul{display:flex;gap:1.9rem;list-style:none;margin:0;padding:0;}
.primary-menu a{color:#cfe0f5;font-size:.92rem;font-weight:600;padding:.4rem 0;border-bottom:2px solid transparent;}
.primary-menu a:hover, .primary-menu .current-menu-item a{color:#fff;border-color:var(--orange-500);}
.header-actions{display:flex;align-items:center;gap:1.1rem;}
.navtoggle{display:none;background:none;border:0;color:#fff;padding:.4rem;}
@media (max-width:920px){
  .primary-menu{display:none;}
  .navtoggle{display:block;}
}

/* ---------- hero ---------- */
.hero{
  position:relative;background:linear-gradient(150deg,var(--navy-900) 0%, #0B5E8C 62%, var(--aqua-600) 100%);
  color:#fff;padding-block:clamp(3rem,7vw,5.5rem) clamp(5rem,9vw,7rem);overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;position:relative;z-index:2;}
.hero .eyebrow{color:#BFE7FA;}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.06;margin-block:.7rem 1.1rem;}
.hero h1 .accent{background:linear-gradient(90deg,var(--orange-500),#FFC170);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p{color:#DCEEF9;max-width:46ch;font-size:1.05rem;}
.hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.7rem;}
.hero-stats{display:flex;gap:2.2rem;margin-top:2.4rem;}
.hero-stats div b{display:block;font-family:var(--font-display);font-size:1.5rem;}
.hero-stats div span{font-size:.78rem;color:#BFE0F2;}

.hero-slider{position:relative;display:grid;}
.hero-slide-panel{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease;}
.hero-slide-panel.is-active{opacity:1;visibility:visible;pointer-events:auto;}
@media (prefers-reduced-motion: reduce){.hero-slide-panel{transition:none;}}

.hero-dots{position:relative;z-index:5;display:flex;gap:.5rem;justify-content:center;margin-top:2.2rem;}
.hero-dots .hero-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35);border:0;padding:0;}
.hero-dots .hero-dot.is-active{background:var(--orange-500);width:22px;border-radius:5px;}

.hero-fullimage-layout{text-align:center;max-width:560px;margin-inline:auto;}
.hero-fullimage-heading{margin-bottom:1.4rem;}
.hero-fullimage-heading h1{font-size:clamp(2rem,4vw,3rem);}
.hero-fullimage-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);}
.hero-fullimage-frame img{width:100%;height:auto;display:block;}
.hero-fullimage-subtitle{color:#DCEEF9;max-width:56ch;margin:1.4rem auto 0;}
.hero-slide-panel.has-image .hero-ctas{margin-top:1.4rem;}
.hero-slide-panel.has-image .hero-stats{margin-top:1.8rem;justify-content:center;gap:2.5rem;}

.washwall{
  position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);
  background:linear-gradient(160deg,#0d3a63,#0a2755);
  box-shadow:var(--shadow);overflow:hidden;
}
.washgrid{position:absolute;inset:14%;display:grid;grid-template-columns:repeat(3,1fr);gap:12%;}
.machine{border-radius:50%;background:radial-gradient(circle at 35% 30%, #dff3fc, #7fc8e6 45%, #1a6c95 100%);position:relative;box-shadow:inset 0 0 0 6px rgba(255,255,255,.18), 0 6px 14px rgba(0,0,0,.25);}
.machine::after{content:"";position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);}
.bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.85), rgba(255,255,255,.05) 70%);}
.hero-decoblob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;}

.wave{display:block;width:100%;height:auto;position:relative;margin-top:-1px;}

/* ---------- benefit strip ---------- */
.benefitstrip{background:var(--surface);border-bottom:1px solid var(--border);}
.benefitstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-block:1.6rem;}
.benefititem{display:flex;align-items:center;gap:.75rem;}
.benefititem .ic{width:44px;height:44px;border-radius:12px;background:var(--aqua-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--aqua-600);}
.benefititem strong{display:block;font-size:.92rem;}
.benefititem span{font-size:.78rem;color:var(--muted-2);}
@media (max-width:820px){.benefitstrip .wrap{grid-template-columns:repeat(2,1fr);}}

/* ---------- section shell ---------- */
section{padding-block:clamp(3.5rem,7vw,6rem);}
.section-head{max-width:62ch;margin-bottom:2.6rem;}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-block:.5rem 0.9rem;}
.section-head p{font-size:1.02rem;}
.section-alt{background:var(--surface-2);}

/* ---------- services ---------- */
.servicecards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.servicecard{border-radius:var(--radius-md);padding:2rem 1.7rem;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.servicecard .ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;}
.servicecard h3{font-size:1.2rem;margin-bottom:.6rem;}
.servicecard p{color:rgba(255,255,255,.88);font-size:.92rem;}
.servicecard.orange{background:linear-gradient(155deg,var(--orange-600),#B94C02);}
.servicecard.aqua{background:linear-gradient(155deg,var(--aqua-600),#065986);}
.servicecard.leaf{background:linear-gradient(155deg,var(--leaf-600),#3f6b17);}
@media (max-width:900px){.servicecards{grid-template-columns:1fr;}}

/* ---------- perks band ---------- */
.perks{
  position:relative;color:#fff;
  background:linear-gradient(0deg, rgba(7,20,51,.92), rgba(7,20,51,.78)), linear-gradient(135deg,#2b3550,#525d78);
}
.perks .section-head p{color:#D7DEEC;}
.perks .eyebrow{color:#8FD6F7;}
.perkrow{display:flex;gap:1.1rem;flex-wrap:wrap;}
.perkchip{
  display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.7rem 1.3rem .7rem .7rem;backdrop-filter:blur(4px);
}
.perkchip .ic{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;}
.perkchip strong{font-size:.92rem;}
.perkchip span{display:block;font-size:.72rem;color:#C9D2E4;}

/* ---------- culture diagram ---------- */
.culture{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,4vw,4rem);align-items:center;}
.culture-copy .stat-row{display:flex;gap:1.8rem;margin-top:1.8rem;}
.culture-copy .stat-row div b{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--navy-900);}
:root[data-theme="dark"] .culture-copy .stat-row div b{color:var(--aqua-600);}
.culture-copy .stat-row div span{font-size:.78rem;color:var(--muted-2);}
.diagram{position:relative;aspect-ratio:1/1;max-width:460px;margin-inline:auto;}
.diagram-ring{position:absolute;inset:8%;border-radius:50%;border:1.5px dashed var(--border);}
.diagram-center{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:34%;aspect-ratio:1/1;border-radius:50%;
  background:linear-gradient(160deg,var(--navy-900),var(--navy-800));
  color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  box-shadow:var(--shadow);padding:.5rem;
}
.diagram-center b{font-family:var(--font-display);font-size:clamp(.85rem,1.6vw,1.05rem);}
.diagram-center span{font-size:.62rem;color:var(--orange-500);letter-spacing:.08em;font-weight:700;}
.value-node{
  position:absolute;transform:translate(-50%,-50%);width:31%;text-align:center;
}
.value-node .ic{
  width:100%;aspect-ratio:1/1;border-radius:50%;background:var(--surface);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;color:var(--aqua-600);box-shadow:var(--shadow);margin-inline:auto;
}
.value-node strong{display:block;font-size:.78rem;margin-top:.5rem;}
.value-node span{display:none;}
@media (max-width:760px){
  .culture{grid-template-columns:1fr;}
  .diagram{max-width:100%;aspect-ratio:auto;}
  .diagram-ring{display:none;}
  .diagram-center{position:static;transform:none;width:100%;aspect-ratio:auto;flex-direction:row;justify-content:flex-start;gap:.8rem;padding:1rem 1.3rem;border-radius:var(--radius-md);margin-bottom:1rem;}
  .value-node{position:static;transform:none;width:100%;display:flex;align-items:center;gap:1rem;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem 1rem;margin-bottom:.7rem;}
  .value-node .ic{width:44px;flex-shrink:0;margin-inline:0;}
  .value-node span{display:block;font-size:.78rem;color:var(--muted-2);margin-top:.15rem;}
}

/* ---------- sucursales ---------- */
.branch-tools{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.2rem;}
.branch-tools input, .branch-tools select{
  font-family:inherit;font-size:.9rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);
  background:var(--surface);color:var(--ink);
}
.branch-tools input{flex:1;min-width:200px;}
.branchgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.branchcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.4rem;}
.branchcard h3{font-size:1rem;margin-bottom:.5rem;}
.branchcard p{font-size:.85rem;margin-bottom:.7rem;}
.branchcard .phone{font-weight:700;color:var(--navy-900);font-size:.9rem;}
:root[data-theme="dark"] .branchcard .phone{color:var(--aqua-600);}
.branchcard .hours{display:inline-block;margin-top:.5rem;font-size:.72rem;font-weight:700;color:var(--orange-600);background:color-mix(in srgb, var(--orange-600) 12%, transparent);padding:.25rem .6rem;border-radius:999px;}
.branch-cta{display:flex;justify-content:center;margin-top:2.2rem;}
@media (max-width:980px){.branchgrid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.branchgrid{grid-template-columns:1fr;}}

/* ---------- contacto ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);}
.contact-block{margin-bottom:1.6rem;}
.contact-block h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-600);margin-bottom:.5rem;}
.contact-block p{color:var(--ink);font-size:.95rem;}
.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:clamp(1.5rem,3vw,2.2rem);box-shadow:var(--shadow);}
.field{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.4rem;}
.field label{font-size:.8rem;font-weight:700;color:var(--muted);}
.field input, .field select, .field textarea{
  font-family:inherit;font-size:.92rem;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--ink);resize:vertical;
}
.form-notice{border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.1rem;font-size:.88rem;font-weight:600;}
.form-notice.success{background:rgba(139,197,63,.15);color:#DFF3C6;border:1px solid rgba(139,197,63,.4);}
.form-notice.error{background:rgba(236,103,7,.15);color:#FFDCC0;border:1px solid rgba(236,103,7,.4);}
section.contacto{background:var(--navy-950);color:#fff;}
section.contacto .contact-block h3{color:var(--orange-500);}
section.contacto .contact-block p{color:#D7E3F2;}
section.contacto .section-head p{color:#BFD3EA;}
section.contacto .eyebrow{color:#8FD6F7;}

/* floating contact rail */
.rail{position:fixed;right:1.1rem;top:60%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:.7rem;}
.rail a{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 22px -8px rgba(0,0,0,.4);transition:transform .15s ease;}
.rail a:hover{transform:scale(1.08);}
.rail .wa{background:#25D366;}
.rail .ph{background:var(--navy-900);}
.rail .em{background:var(--orange-600);}
@media (max-width:640px){.rail{right:.6rem;gap:.55rem;}.rail a{width:42px;height:42px;}}

/* ---------- footer ---------- */
footer.site-footer{position:relative;background:var(--navy-950);color:#BFD3EA;overflow:hidden;padding-top:clamp(2.5rem,5vw,4rem);}
.footer-blob{position:absolute;border-radius:50%;opacity:.12;background:var(--aqua-500);filter:blur(6px);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem;position:relative;z-index:2;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-brand .logo-text .a{color:#fff;}
.footer-brand p{margin-top:1rem;font-size:.85rem;max-width:32ch;}
footer h4{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:1rem;}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;}
footer ul a{font-size:.88rem;color:#BFD3EA;}
footer ul a:hover{color:#fff;}
.footer-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1.6rem;font-size:.8rem;}
.social-row{display:flex;gap:.6rem;}
.social-row a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.social-row a:hover{background:var(--aqua-600);}
.totop{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

@media (prefers-reduced-motion: reduce){ *{transition:none !important;animation:none !important;} }
