/* piscinasal.com: aqua. Generated by tools/build-directory-styles.mjs. */
:root {
  --dir-shadow: none;
  --dir-leading: 1.08;
  --dir-hero: #fafbfc;
  --dir-hero-ink: #292c3d;
  --dir-hero-muted: #3e4150;
  --dir-hero-line: #e5e8ec;
  --dir-action-border: #67beff;
  --dir-ink: #292c3d;
  --dir-muted: #3e4150;
  --dir-page: #fafbfc;
  --dir-wash: #f3f7fa;
  --dir-card: #ffffff;
  --dir-line: #e5e8ec;
  --dir-radius: 16px;
  --dir-control-radius: 8px;
  --dir-display: var(--font-display);
  --dir-weight: 200;
  --dir-size: 4rem;
  --dir-tracking: -.025em;
  --dir-action: #67beff;
  --dir-action-ink: #292c3d;
}
/* Directory layout. Brand values come from directory-themes.json.
   Loaded only on location routes; home/article province links keep their styles. */
body[class] {
  color: var(--dir-ink);
  background: var(--dir-page);
}
body[class] .prov-hero {
  background: var(--dir-hero);
  color: var(--dir-hero-ink);
  border-bottom: 1px solid var(--dir-hero-line);
  padding-block: clamp(40px, 5vw, 72px) clamp(48px, 6vw, 88px);
}
body[class] .prov-hero .container { display: block; }
body[class] .prov-hero .container:has(> .prov-hero-main) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px 64px; align-items: end; }
body[class] .prov-hero-main { min-width: 0; }
body[class] .prov-hero h1 {
  font-family: var(--dir-display); font-weight: var(--dir-weight);
  font-size: clamp(2.25rem, 4.4vw, var(--dir-size)); line-height: var(--dir-leading);
  letter-spacing: var(--dir-tracking); color: var(--dir-hero-ink);
  max-width: 23ch; margin: 20px 0 24px; text-align: left; text-wrap: balance;
  overflow-wrap: anywhere;
}
body[class] .prov-hero .prov-lead { color: var(--dir-hero-muted); font-size: 1.125rem; line-height: 1.65; max-width: 62ch; margin: 0; }
body[class] .prov-hero :is(.prov-crumbs, .crumbs) { display: flex; flex-wrap: wrap; gap: 8px; color: var(--dir-hero-muted); font-size: .875rem; margin: 0 0 32px; }
body[class] .prov-hero :is(.prov-crumbs, .crumbs) a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dir-hero-line); }
body[class] .prov-hero :is(.prov-eyebrow, .eyebrow) { color: var(--dir-hero-muted); font-family: inherit; font-size: .875rem; line-height: 1.5; }
body[class] .prov-dot { background: currentColor; }
body[class] .prov-hero-side { background: transparent; color: var(--dir-hero-ink); border: 0; border-left: 1px solid var(--dir-hero-line); border-radius: 0; box-shadow: none; padding: 0 0 0 32px; }
body[class] .prov-facts-cap { color: var(--dir-hero-muted); font-size: .875rem; font-weight: 500; margin: 0 0 24px; }
body[class] .prov-facts { margin: 0; }
body[class] .prov-facts > div { border-top: 1px solid var(--dir-hero-line); padding: 16px 0; gap: 12px; }
body[class] .prov-facts > div:first-child { display: flex; flex-direction: column; border: 0; padding-top: 0; }
body[class] .prov-facts dt { color: var(--dir-hero-muted); font-size: .875rem; }
body[class] .prov-facts dd { color: var(--dir-hero-ink); font-size: 1.75rem; font-weight: var(--dir-weight); letter-spacing: var(--dir-tracking); font-variant-numeric: tabular-nums; line-height: 1.1; }
body[class] .prov-facts > div:first-child dd { font-size: clamp(3rem, 5vw, 4.5rem); text-align: left; }
body[class] .prov-facts-sub { color: var(--dir-hero-muted); font-size: .8125rem; line-height: 1.5; }
body[class] .prov-facts > div:not(:first-child) { display: block; }
body[class] .prov-facts > div:not(:first-child) dt { margin-bottom: 8px; }
body[class] .prov-facts > div:not(:first-child) dd { text-align: left; }
body[class] .prov-facts .prov-fact-text { font-size: 1.25rem; line-height: 1.5; }
body[class] .prov-jump { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 32px; }
body[class] .prov-jump a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--dir-hero-ink); font-size: .9375rem; text-decoration: underline; text-underline-offset: 6px; }
body[class] .prov-jump a::after { content: '\2193'; text-decoration: none; }
body[class] .prov-hero :is(.cta-local, .cta-presupuesto) { margin-top: 24px; }
body[class] main > .section { padding-block: clamp(40px, 5vw, 72px); }
body[class] main > .section.band { background: var(--dir-wash); color: var(--dir-ink); }
body[class] main > .section.prov-tight { padding-top: 40px; }
body[class] .prov-head, body[class] .section-head { max-width: 880px; margin-bottom: 32px; }
body[class] .prov-head--center { text-align: left; margin-inline: 0; }
body[class] .prov-head--row { max-width: none; gap: 16px 32px; border-color: var(--dir-line); }
body[class] :is(.prov-head .prov-title, .section-head .section-title) { font-family: var(--dir-section-display, var(--dir-display)); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: var(--dir-weight); line-height: 1.2; letter-spacing: var(--dir-tracking); color: var(--dir-ink); text-wrap: balance; margin: 12px 0 0; }
body[class] :is(.prov-eyebrow, .prov-card-meta, .serv-meta) { color: var(--dir-ink); }
body[class] :is(.prov-note, .prov-sub, .section-lead, .prov-prose p, .prov-faq-a, .prov-price-note, .price-note p, .serv-steps p, .faq-answer) { color: var(--dir-muted); line-height: 1.65; }
body[class] :is(.prov-prose, .prov-faq, .prov-links) { max-width: 880px; }
body[class] .prov-prose p { font-size: 1.0625rem; max-width: 68ch; }
body[class] .prov-note { font-size: .875rem; }
body[class] :is(.prov-cards, .serv-cards) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 20px; }
body[class] :is(.prov-card, .serv-card) { padding: 28px; background: var(--dir-card); color: var(--dir-ink); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); gap: 12px; transition: border-color .2s, background .2s; }
body[class] :is(.prov-card h3, .serv-card h3) { color: var(--dir-ink); font-family: inherit; font-size: 1.25rem; line-height: 1.3; font-weight: 600; margin: 0; }
body[class] :is(.prov-card p, .serv-card p) { color: var(--dir-muted); font-size: 1rem; line-height: 1.6; }
body[class] :is(.prov-card-meta, .serv-meta) { font-size: .875rem; padding-top: 16px; }
body[class] :is(a.prov-card, a.serv-card):hover { background: var(--dir-wash); border-color: var(--dir-ink); transform: none; }
body[class] .prov-servicios .prov-cards { gap: 0; border-top: 1px solid var(--dir-line); }
body[class] .prov-servicios .prov-card { background: transparent; border: 0; border-bottom: 1px solid var(--dir-line); border-radius: 0; box-shadow: none; padding: 24px 32px 24px 0; }
body[class] .provincias-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); list-style: none; padding: 0; margin: 24px 0 0; gap: 8px 20px; }
body[class] .provincias-grid li { min-width: 0; }
body[class] .provincias-grid a { min-height: 56px; height: 100%; padding: 12px 16px; border: 1px solid var(--dir-line); border-radius: var(--dir-control-radius); background: var(--dir-card); color: var(--dir-ink); font-size: 1rem; transition: background .2s, border-color .2s; }
body[class] .provincias-grid a:hover, body[class] .provincias-grid a[aria-current] { border-color: var(--dir-ink); background: var(--dir-wash); color: var(--dir-ink); }
body[class] .prov-name { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
body[class] :is(.prov-count, .muni-count) { background: var(--dir-wash); color: var(--dir-muted); border: 0; border-radius: var(--dir-control-radius); font-size: .8125rem; padding: 4px 10px; font-variant-numeric: tabular-nums; }
body[class] .provincias-grid a:hover .prov-count { color: var(--dir-ink); }
body[class] .muni-group { margin-top: 40px; }
body[class] .muni-head { color: var(--dir-ink); font-family: var(--dir-section-display, var(--dir-display)); font-weight: var(--dir-weight); font-size: 1.75rem; line-height: 1.3; border-color: var(--dir-line); gap: 16px; }
body[class] .muni-head a { color: inherit; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
body[class] .empresa-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; align-items: stretch; }
body[class] .empresa-card { min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 24px; padding: clamp(20px, 3vw, 32px); color: var(--dir-ink); background: var(--dir-card); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); }
body[class] .empresa-card:hover { border-color: var(--dir-ink); }
body[class] .empresa-main { display: flex; flex-direction: column; align-items: start; min-width: 0; flex: 1; }
body[class] .empresa-head { display: flex; flex-direction: column; align-items: start; gap: 12px; width: 100%; }
body[class] .empresa-name { color: var(--dir-ink); font-family: inherit; font-size: 1.25rem; font-weight: 600; line-height: 1.4; letter-spacing: normal; overflow-wrap: anywhere; margin: 0; }
body[class] .empresa-rating { color: var(--dir-ink); font-size: .875rem; flex-wrap: wrap; white-space: normal; }
body[class] .star--on { color: var(--dir-ink); }
body[class] .star:not(.star--on) { color: var(--dir-muted); }
body[class] :is(.rating-num, .prov-rating-count, .rating-count) { color: var(--dir-muted); }
body[class] .empresa-cat { color: var(--dir-muted); font-size: .9375rem; line-height: 1.5; margin: 16px 0 0; }
body[class] .empresa-loc { color: var(--dir-ink); }
body[class] .empresa-addr { color: var(--dir-muted); font-size: .9375rem; line-height: 1.6; margin: 8px 0 24px; overflow-wrap: anywhere; }
body[class] .empresa-contact { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
body[class] .empresa-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; color: var(--dir-ink); background: transparent; border: 1px solid var(--dir-line); border-radius: var(--dir-control-radius); font-size: .875rem; line-height: 1.4; white-space: normal; }
body[class] .empresa-link svg { width: 16px; height: 16px; flex: none; }
body[class] .empresa-link:hover { color: var(--dir-ink); border-color: var(--dir-ink); background: var(--dir-wash); }
body[class] .empresa-badge-link { color: var(--dir-muted); font-size: .8125rem; min-height: 44px; display: inline-flex; align-items: center; border: 0; text-decoration: underline; text-underline-offset: 4px; margin-top: 8px; }
body[class] .empresa-cta { max-width: none; padding-top: 16px; border-top: 1px solid var(--dir-line); }
body[class] .empresa-card:target { outline: 2px solid var(--dir-ink); outline-offset: 4px; }
body[class] :is(.muni-siblings a, .prov-links a) { color: var(--dir-ink); background: var(--dir-card); border-color: var(--dir-line); min-height: 48px; padding: 12px 16px; border-radius: var(--dir-control-radius); font-size: .9375rem; line-height: 1.5; }
body[class] :is(.muni-siblings a, .prov-links a):hover { color: var(--dir-ink); background: var(--dir-wash); border-color: var(--dir-ink); }
body[class] :is(.muni-sib-count, .prov-links svg) { color: var(--dir-muted); }
body[class] :is(.muni-parent-cta, .prov-empty, .prov-capsule, .price-note) { color: var(--dir-ink); background: var(--dir-wash); border-color: var(--dir-line); border-radius: var(--dir-radius); padding: 28px; }
body[class] :is(.muni-parent-cta p, .prov-capsule-tldr) { color: var(--dir-muted); font-size: 1rem; line-height: 1.65; }
body[class] .cta-mid { text-align: left; margin-top: 48px; }
body[class] .cta-mid :is(.cta-local, .cta-presupuesto) { text-align: left; padding: 32px; background: var(--dir-wash); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); box-shadow: none; }
body[class] .cta-mid .cta-lead { color: var(--dir-ink); margin: 0 0 20px; font-size: 1.25rem; line-height: 1.5; }
body[class] :is(.cta-local > a, .cta-presupuesto .btn-primary, .muni-parent-cta > a, .empresa-cta .btn-primary) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; background: var(--dir-action); color: var(--dir-action-ink); border: 1px solid var(--dir-action-border); border-radius: var(--dir-control-radius); line-height: 1.5; white-space: normal; text-align: center; font-weight: 600; }
body[class] .prov-hero .cta-local > a { color: var(--dir-hero-action-ink, var(--dir-action-ink)); border-color: var(--dir-hero-action-border, var(--dir-action-border)); }
body[class] .section-head .eyebrow { color: var(--dir-muted); }
body[class] header a[href="/productos/"][class*="btn"], body[class] .skip-link,
body[class] :is(.cookie-banner-btn--accept, #cookie-banner button[class*="primary"], .distintivo-copy) { background: var(--dir-action); color: var(--dir-action-ink); border-color: var(--dir-action-border); }
body[class] #cookie-banner a { color: var(--dir-ink); text-decoration: underline; }
body[class] :is(.empresa-cta .btn-secondary, .serv-related a, .step-num) { color: var(--dir-ink); }
body[class] .empresa-cta .btn-secondary { border-color: var(--dir-line); border-radius: var(--dir-control-radius); min-height: 44px; }
body[class] .prov-faq { gap: 0; border-top: 1px solid var(--dir-line); }
body[class] .prov-faq-item { padding: 24px 0; background: transparent; border: 0; border-bottom: 1px solid var(--dir-line); border-radius: 0; }
body[class] .prov-faq-item summary { color: var(--dir-ink); font-size: 1.0625rem; line-height: 1.5; }
body[class] .prov-faq-item summary::after { color: inherit; flex-shrink: 0; }
body[class] .prov-faq-a { font-size: 1rem; margin-top: 20px; }
body[class] :is(.prov-steps h3, .prov-step-num, .advice-line strong) { color: var(--dir-ink); }
body[class] :is(.prov-steps p, .distintivo-help, .distintivo-how) { color: var(--dir-muted); font-size: 1rem; line-height: 1.65; }
body[class] .distintivo-code { color: var(--dir-ink); background: var(--dir-wash); border-color: var(--dir-line); max-width: 100%; }
body[class] .distintivo-help code { color: var(--dir-ink); background: var(--dir-wash); border-color: var(--dir-line); }
body[class] :is(a, button, summary, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
body[class] :is(#empresas, #directorio-provincias) { scroll-margin-top: 120px; }
@media (min-width: 1000px) {
  body[class] .prov-hero .container:has(> .prov-hero-main):has(> .prov-hero-side) { grid-template-columns: minmax(0, 1fr) 280px; }
}
@media (max-width: 999px) {
  body[class] .prov-hero-side { border-left: 0; border-top: 1px solid var(--dir-hero-line); padding: 24px 0 0; }
  body[class] .prov-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  body[class] .prov-facts > div, body[class] .prov-facts > div:first-child { display: flex; flex-direction: column; align-items: start; border: 0; padding: 0; }
  body[class] .prov-facts dd, body[class] .prov-facts > div:first-child dd { font-size: 1.75rem; text-align: left; overflow-wrap: anywhere; }
  body[class] .prov-facts-cap { margin-bottom: 20px; }
}
@media (max-width: 540px) {
  body[class] .prov-hero h1 { font-size: clamp(2rem, 8.5vw, 2.75rem); }
  body[class] .prov-hero .prov-lead { font-size: 1rem; }
  body[class] .prov-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  body[class] .prov-facts > div:last-child:nth-child(3) { grid-column: 1 / -1; }
  body[class] .prov-cards, body[class] .serv-cards, body[class] .empresa-grid { grid-template-columns: minmax(0, 1fr); }
  body[class] .provincias-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  body[class] .muni-head { flex-wrap: wrap; }
  body[class] .cta-mid :is(.cta-local, .cta-presupuesto) { padding: 24px; }
}
@media (max-width: 380px) {
  body[class] header :is(.nav-cta-header, .nav-actions > a) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body[class] main *, body[class] main *::after { transition: none !important; animation: none !important; }
}

body[class] { --electric-iris: #245fc4; --graphite: #626571; }
body[class] .site-header { z-index: 100; }
