/* matrix.css — centralized layout for generated pSEO matrix pages (websbizkaia.es)
   Reuses the existing town-page look (blue #0066ff, DM Sans/Poppins) and adds
   matrix-specific classes. .wb-nav / .wb-fab come from /css/shared.css (not redefined here). */

/* === ROOT SCALE (matches existing town pages) === */
:root{
  --accent:#0066ff; --accent-dark:#0044cc; --ink:#0b1120; --slate:#475569;
  --cloud:#f8fafc; --line:#e5e7eb; --red:#ef4444; --red-soft:#fee2e2;
  --text-xs:.7rem; --text-sm:.78rem; --text-base:.82rem; --text-md:.9rem;
  --text-lg:.95rem; --text-xl:1.05rem;
  --text-h3:1.125rem; --text-h2:clamp(1.25rem,.5rem + 2.434vw,1.4rem);
  --text-3xl:clamp(1.5rem,.5rem + 3.857vw,2rem); --text-hero:clamp(1.7rem,.5rem + 5.362vw,3rem);
}

body{font-family:'DM Sans',sans-serif;line-height:1.7;color:#333;background:var(--cloud)}
.m-container{max-width:900px;margin:0 auto;padding:20px}
.m-wide{max-width:1100px;margin:0 auto;padding:20px}

/* === HERO === */
.m-hero{background:linear-gradient(135deg,#0B1120 0%,#1e293b 100%);color:#fff;padding:56px 20px 40px}
.m-hero .m-container{padding:0}
.m-hero h1{font-family:'Poppins',sans-serif;font-size:var(--text-3xl);margin:8px 0 10px;line-height:1.2}
.m-hero p.lead{color:rgba(255,255,255,.78);font-size:var(--text-lg);max-width:680px;margin:0 0 18px}
.m-hero .m-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* === BUTTONS === */
.cta-btn{display:inline-block;background:var(--accent);color:#fff;padding:13px 26px;border-radius:50px;text-decoration:none;font-weight:700;font-size:var(--text-md);transition:all .2s}
.cta-btn:hover{background:var(--accent-dark);transform:translateY(-2px)}
.cta-btn.wa{background:#25D366}
.cta-btn.wa:hover{background:#1da851}
.cta-btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff}
.cta-btn.ghost:hover{background:rgba(255,255,255,.1);transform:none}
.cta-btn--light{background:#fff;color:var(--accent-dark);border:2px solid #fff}
.cta-btn--light:hover{background:#e6f0ff;border-color:#e6f0ff;transform:translateY(-2px)}

/* === SECTIONS === */
.m-section{background:#fff;border-radius:16px;padding:30px;margin:22px 0;box-shadow:0 4px 20px rgba(0,0,0,.06)}
.m-section.alt{background:var(--cloud);box-shadow:none;border:1px solid var(--line)}
.m-section h2{font-family:'Poppins',sans-serif;font-size:var(--text-h2);color:var(--accent);margin-bottom:12px}
.m-section h3{font-family:'Poppins',sans-serif;font-size:var(--text-h3);color:var(--accent-dark);margin:18px 0 8px}
.m-section p{margin-bottom:14px}
.m-section ul{margin:14px 0;padding-left:22px}
.m-section li{margin-bottom:9px}

/* === SECTION HEAD === */
.m-section-head{margin-bottom:16px}
.m-section-head h2{margin-bottom:6px}
.m-section-head p{color:var(--slate);font-size:var(--text-md);margin:0}

/* === BADGES / CHIPS === */
.m-badges{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0 4px}
.m-badge{display:inline-flex;align-items:center;gap:6px;background:var(--cloud);border:1px solid var(--line);color:var(--slate);font-size:var(--text-sm);font-weight:600;padding:5px 12px;border-radius:50px}
.m-badge.accent{background:#e6f0ff;border-color:#b8d4ff;color:var(--accent-dark)}
.m-badge.warn{background:var(--red-soft);border-color:#fecaca;color:#991b1b}

/* === BREADCRUMB === */
.m-breadcrumb{font-size:var(--text-sm);color:var(--slate);padding:12px 0 2px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.m-breadcrumb a{color:var(--accent);text-decoration:none}
.m-breadcrumb a:hover{text-decoration:underline}
.m-breadcrumb span.cur{color:var(--ink);font-weight:600}
.m-breadcrumb .sep{color:#cbd5e1}
/* Hero breadcrumb: white text on dark background */
.m-hero .m-breadcrumb{color:rgba(255,255,255,.85)}
.m-hero .m-breadcrumb a{color:#fff}
.m-hero .m-breadcrumb a:hover{color:rgba(255,255,255,.9)}
.m-hero .m-breadcrumb span.cur{color:#fff}
.m-hero .m-breadcrumb .sep{color:rgba(255,255,255,.6)}

/* === QUICK FACTS === */
.m-quickfacts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}
.m-qf{background:var(--cloud);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.m-qf b{display:block;color:var(--ink);font-size:var(--text-md);font-family:'Poppins',sans-serif}
.m-qf span{display:block;color:var(--slate);font-size:var(--text-sm)}
.m-hook{background:#e6f0ff;border:1px solid #b8d4ff;border-radius:12px;padding:14px 16px;margin:14px 0}
.m-hook p{margin:0;color:#1e3a8a;font-size:var(--text-md)}

/* === GRID + CARDS (areas, verticals, services, barrios) === */
.m-areas{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.m-area-card{display:flex;align-items:center;gap:10px;background:var(--cloud);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600;font-size:var(--text-md);transition:all .2s}
.m-area-card:hover{background:#e6f0ff;border-color:#b8d4ff;transform:translateY(-1px)}
.m-area-card .pin{font-size:1.1rem;flex-shrink:0}
.m-area-card small{display:block;color:var(--slate);font-weight:400;font-size:var(--text-sm)}

/* === PRICE BOX === */
/* === PRICE BOX === */
.m-price{background:linear-gradient(135deg,var(--accent),#3385ff);color:#fff;padding:24px;border-radius:12px;text-align:center;margin:20px 0;box-shadow:0 8px 24px rgba(0,102,255,.18)}
.m-price h3{color:rgba(255,255,255,.92);margin:0 0 4px;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.m-price .amount{font-size:clamp(1.8rem,.5rem + 5vw,2.4rem);font-weight:700;font-family:'Poppins',sans-serif;color:#fff;display:block;line-height:1.2;margin-bottom:8px}
.m-price p{color:rgba(255,255,255,.9);font-size:var(--text-md);margin:0 0 18px}

/* === FAQ === */
/* FAQ — real accordion: white card, +/− marker, accent border when open */
.m-faq-item{background:#fff;border:1px solid var(--line);border-radius:10px;margin:8px 0;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.m-faq-item:hover{border-color:#b8d4ff}
.m-faq-item[open]{border-color:var(--accent);box-shadow:0 3px 12px rgba(0,102,255,.10)}
.m-faq-item > summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.m-faq-item > summary::-webkit-details-marker{display:none}
.m-faq-item > summary h4{color:var(--ink);margin:0;font-size:var(--text-md);font-family:'Poppins',sans-serif;font-weight:600;flex:1}
.m-faq-item > summary::after{content:"+";color:var(--accent);font-size:1.4rem;font-weight:700;line-height:1;flex-shrink:0;transition:transform .25s}
.m-faq-item[open] > summary::after{content:"\2212"}
.m-faq-item p{font-size:var(--text-sm);color:#555;margin:0;padding:2px 16px 14px;line-height:1.6}

/* === TRUST STRIP === */
.m-trust{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:18px 0;font-size:var(--text-sm);color:#666}
.m-trust span{display:flex;align-items:center;gap:5px}

/* === REVIEWS === */
.m-reviews{display:grid;grid-template-columns:1fr;gap:14px}
.m-review-card{background:var(--cloud);border:1px solid var(--line);border-radius:12px;padding:16px}
.m-review-card .m-stars{color:#f5a623;font-size:1rem;letter-spacing:1px;margin-bottom:6px}
.m-review-card .quote{font-size:var(--text-sm);color:#444;margin:0 0 10px;font-style:italic}
.m-review-card .who{display:flex;align-items:center;gap:10px;font-size:var(--text-sm)}
.m-review-card .who .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#3385ff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.m-review-card .who b{color:var(--ink)}
.m-review-card .who span{display:block;color:var(--slate);font-weight:400}

/* === STATS ROW === */
.m-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.m-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.m-stat .num{display:block;font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:700;color:var(--accent)}
.m-stat .lab{display:block;color:var(--slate);font-size:var(--text-sm)}

/* === LEAD FORM === */
.m-lead{background:var(--cloud);border:1px solid var(--line);border-radius:14px;padding:20px}
.m-lead h3{margin:0 0 4px;color:var(--accent);font-family:'Poppins',sans-serif}
.m-lead .sub{color:var(--slate);font-size:var(--text-sm);margin:0 0 14px}
.m-lead .field{margin-bottom:12px}
.m-lead label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:4px;color:var(--ink)}
.m-lead input,.m-lead select,.m-lead textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:var(--text-md);font-family:inherit;background:#fff;box-sizing:border-box}
.m-lead input:focus,.m-lead select:focus,.m-lead textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,102,255,.15)}
.m-lead .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.m-lead .hp{display:none}
.m-lead button{width:100%;background:var(--accent);color:#fff;border:none;padding:13px;border-radius:8px;font-weight:700;font-size:var(--text-md);cursor:pointer;font-family:inherit}
.m-lead button:hover{background:var(--accent-dark)}
.m-lead .trust-line{font-size:var(--text-xs);color:var(--slate);margin:10px 0 0;text-align:center}
.m-lead .trust-line a{color:var(--accent)}

/* === FINAL CTA === */
/* FINAL CTA — on-brand blue gradient, white phone button, softened badge */
.m-final{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;text-align:center;padding:44px 24px;margin:22px 0}
@media(min-width:768px){.m-final{border-radius:16px}}
.m-final h2{color:#fff;font-family:'Poppins',sans-serif;font-size:var(--text-h2);margin:10px 0}
.m-final p{color:rgba(255,255,255,.9);font-size:var(--text-md)}
.m-final .m-badge.warn{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:#fff}
.m-phone-big{display:inline-block;font-family:'Poppins',sans-serif;font-size:clamp(1.5rem,.5rem + 4vw,2.2rem);font-weight:700;color:var(--accent-dark);background:#fff;padding:10px 26px;border-radius:50px;text-decoration:none;margin:14px 0;transition:all .2s}
.m-phone-big:hover{background:#e6f0ff;transform:translateY(-2px)}
.m-final .m-cta-row{justify-content:center;margin-top:8px}
.m-final .cta-btn.ghost{border-color:rgba(255,255,255,.6)}
.m-final .trust-line{color:rgba(255,255,255,.9);font-size:var(--text-sm);margin-top:14px}

/* === FOOTER (adapted from home .site-footer) === */
.m-footer{background:#0B1120;color:#cbd5e1;padding:36px 20px 22px;margin-top:30px}
.m-footer .m-wide{padding:0}
.m-footer-cols{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:22px}
.m-footer h4{color:#fff;font-family:'Poppins',sans-serif;font-size:var(--text-md);margin:0 0 10px}
.m-footer-links{columns:2;column-gap:14px}
.m-footer-links a{color:#94a3b8;text-decoration:none;font-size:var(--text-sm);display:block;padding:3px 0;break-inside:avoid}
.m-footer-links a:hover{color:#fff}
.m-footer-copy{border-top:1px solid #1e293b;padding-top:16px;font-size:var(--text-xs);color:#64748b;text-align:center}

/* === RESPONSIVE === */
@media(min-width:600px){
  .m-areas{grid-template-columns:1fr 1fr}
  .m-quickfacts{grid-template-columns:repeat(4,1fr)}
  .m-reviews{grid-template-columns:1fr 1fr}
  .m-stats{grid-template-columns:repeat(4,1fr)}
  .m-footer-cols{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:900px){
  .m-areas{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:480px){
  .m-lead .row2{grid-template-columns:1fr}
  .m-hero{padding:44px 16px 32px}
  .m-section{padding:22px 18px}
}