/* Keepy · CSS de las landings de centro
   Extraído del contenido de la página 11 el 28-jul-2026 (tarea W8).
   Fuente única para las 8 landings: editar AQUÍ, no en la página. */

/* ===== bloque 0 (extraído del contenido de la página 11, 28-jul-2026) ===== */
#keepyv3 h1,#keepyv3 h2,#keepyv3 h3,#keepyv3 h4,#keepyv3 h5,#keepyv3 h6,#keepyv3b h1,#keepyv3b h2,#keepyv3b h3,#keepyv3b h4,#keepyv3b h5,#keepyv3b h6{color:inherit}#keepyv3 a,#keepyv3b a{color:inherit}#keepyv3 [style*=", url"],#keepyv3b [style*=", url"]{background-repeat:no-repeat!important;background-size:cover!important;background-position:center center!important}.et-db .et_pb_contact_submit{background:#C2D500!important;color:#2C343B!important;width:100%;border:none!important;border-radius:12px;font-weight:700;padding:14px 10px;font-size:16px}.et-db .et_pb_contact_form .input,.et-db .et_pb_contact_form select{background:#ffffff!important;border:1.5px solid #dfe3e7!important;border-radius:10px!important;color:#2C343B!important}.et-db .et_pb_contact_form .input::placeholder{color:#9aa1a8!important}.et-db .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_form_label,.et-db .et_pb_contact_field_options_title{display:none!important}
/* Check de privacidad: mismo tamaño que la línea legal de debajo (12,5 px).
   El padding NO es decorativo: sin él la fila clicable se queda en 21,25 px
   y el objetivo táctil baja de los 24 px (WCAG 2.5.8). Con él, 24,66 px.
   El cuadro del check (18x18) y la palomita (13 px) son fijos y no encogen. */
.et-db .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_field_checkbox label{font-size:12.5px;line-height:1.45;padding:3px 0}.et-db .et_pb_contact_field{margin-bottom:4px}.et-db .et_pb_section:has(.et_pb_contact_form) .et_flex_row{max-width:1180px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}/* 31-jul-2026: +width para que el hero con formulario deje de ir al 80% (1.037) y cuadre con el resto de la pagina (1.180). Afecta a pag 11, /servicios/ y /franquicias/, que son las 3 unicas con <form> nativo. */.et-db .et_pb_column:has(.et_pb_contact_form){row-gap:8px}.et-db .et_pb_contact_form .et_pb_button_wrapper{width:100%!important;display:block!important}.et-db .et_pb_contact_submit{width:100%!important;display:block;margin:0!important}.et-db .et_pb_column:has(.et_pb_contact_form) h3{padding-bottom:0!important}.et-db .et_pb_contact_form .et_pb_button_wrapper{padding:0!important;margin:0!important}.kv3-comparativa .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}@media(min-width:981px){.kv3-comparativa .et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}}.kv3-comparativa .kv3-comp-head{text-align:center;margin-bottom:38px}.kv3-comparativa .kv3-comp-eyebrow{display:block;color:#616B00;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:1.04px;margin-bottom:12px}.kv3-comparativa .kv3-comp-head h2{color:#212529;font-size:46px;font-weight:800;margin:0;line-height:1.15}.kv3-comparativa .kv3-card{position:relative}.kv3-comparativa .kv3-badge{position:absolute;top:-13px;left:24px;background:#C2D500;color:#212529;font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px;z-index:2}.kv3-comparativa .kv3-card-title{color:#212529;font-size:21px;font-weight:800;margin:6px 0 16px}.kv3-comparativa .kv3-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.kv3-comparativa .kv3-li{display:flex;align-items:flex-start;gap:10px;color:#2C343B;font-size:15px;font-weight:400}.kv3-comparativa .kv3-li svg{flex-shrink:0;margin-top:2px}.kv3-comparativa .kv3-list-muted .kv3-li{color:#6B7280}.kv3-comparativa .kv3-cta-wrap{text-align:center}.kv3-comparativa .kv3-cta{display:inline-flex;align-items:center;gap:9px;background:#2C343B;color:#fff;font-weight:800;font-size:17px;padding:15px 30px;border-radius:12px;text-decoration:none}@media(max-width:980px){.kv3-comparativa .kv3-comp-head h2{font-size:32px}}.kv3-comparativa .kv3-card-featured .et_pb_module,.kv3-comparativa .kv3-card-featured .et_pb_text_inner{position:static}.kv3-comparativa .kv3-card-featured{overflow:visible}.kv3-galeria .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-galeria .kv3-gal-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin-bottom:26px}.kv3-galeria .kv3-gal-eyebrow{display:block;color:#616B00;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:1.04px;margin-bottom:12px}.kv3-galeria .kv3-gal-head h2{color:#212529;font-weight:800;font-size:46px;margin:0;line-height:1.1}.kv3-galeria .kv3-gal-sub{color:#9AA0A6;font-size:14px}.kv3-galeria .kv3-gal-video{position:relative;width:100%;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.16);margin-bottom:18px;aspect-ratio:16/9;background:#000}.kv3-galeria .kv3-gal-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.kv3-galeria .kv3-gal-track{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#C2D500 #e9ebe0}.kv3-galeria .kv3-gal-track::-webkit-scrollbar{height:8px}.kv3-galeria .kv3-gal-track::-webkit-scrollbar-track{background:#e9ebe0;border-radius:8px}.kv3-galeria .kv3-gal-track::-webkit-scrollbar-thumb{background:#C2D500;border-radius:8px}.kv3-galeria .kv3-gal-track img{width:320px;height:220px;flex:0 0 auto;object-fit:cover;border-radius:14px;scroll-snap-align:start}@media(max-width:767px){.kv3-galeria .kv3-gal-head h2{font-size:32px}.kv3-galeria .kv3-gal-track img{width:220px;height:160px}}.kv3-opiniones .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-opiniones .kv3-op-head{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:34px}.kv3-opiniones .kv3-op-eyebrow{display:block;color:#616B00;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:1.04px;margin-bottom:12px}.kv3-opiniones .kv3-op-head h2{color:#212529;font-weight:800;font-size:46px;margin:0;line-height:1.1}.kv3-opiniones .kv3-op-rating{display:flex;align-items:center;gap:18px;background:#fff;border-radius:16px;padding:20px 24px;justify-self:end}.kv3-opiniones .kv3-op-score{font-size:54px;font-weight:800;color:#2C343B;line-height:1}.kv3-opiniones .kv3-op-ratinginfo{display:flex;flex-direction:column;gap:4px}.kv3-opiniones .kv3-op-stars{color:#FFC107;font-size:22px;letter-spacing:2px}.kv3-opiniones .kv3-op-ratingtext{color:#6B7280;font-size:14px}.kv3-opiniones .kv3-op-track{display:flex;gap:16px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#C2D500 #e9ebe0}.kv3-opiniones .kv3-op-track::-webkit-scrollbar{height:8px}.kv3-opiniones .kv3-op-track::-webkit-scrollbar-track{background:#e9ebe0;border-radius:8px}.kv3-opiniones .kv3-op-track::-webkit-scrollbar-thumb{background:#C2D500;border-radius:8px}.kv3-opiniones .kv3-op-card{background:#fff;border-radius:18px;padding:26px;width:360px;flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;gap:14px}.kv3-opiniones .kv3-op-cardstars{color:#FFC107;font-size:18px;letter-spacing:2px}.kv3-opiniones .kv3-op-card p{color:#2C343B;font-size:16px;line-height:1.55;margin:0;flex-grow:1}.kv3-opiniones .kv3-op-foot{display:flex;align-items:center;gap:12px}.kv3-opiniones .kv3-op-avatar{width:42px;height:42px;border-radius:50%;background:#C2D500;color:#212529;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0}.kv3-opiniones .kv3-op-name{color:#2C343B;font-size:15px;font-weight:700}.kv3-opiniones .kv3-op-date{color:#9AA0A6;font-size:13px}@media(max-width:767px){.kv3-opiniones .kv3-op-head{grid-template-columns:1fr;gap:16px}.kv3-opiniones .kv3-op-rating{justify-self:start}.kv3-opiniones .kv3-op-head h2{font-size:32px}.kv3-opiniones .kv3-op-card{width:280px}}.kv3-sobre .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}@media(min-width:981px){.kv3-sobre .et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}}.kv3-sobre-eyebrow{display:inline-block;font-size:13px;font-weight:700;color:#C2D500;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}.kv3-sobre-h2{font-size:46px;font-weight:800;color:#fff;line-height:1.15;margin:0 0 20px 0}.kv3-sobre-col1 p{font-size:17px;line-height:1.55;color:#CFD4D8;margin:0 0 14px 0}.kv3-sobre-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kv3-sobre-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px}.kv3-sobre-num{font-size:46px;font-weight:800;color:#C2D500;line-height:1.1}.kv3-sobre-label{font-size:15px;color:#AEB4BB;margin-top:6px}@media(max-width:980px){.kv3-sobre-h2{font-size:32px}.kv3-sobre-num{font-size:32px}.kv3-sobre-stat{padding:18px}}.kv3-casos .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-casos-header{margin-bottom:26px}.kv3-casos-eyebrow{color:#616B00;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.04px}.kv3-casos-h2{color:#212529;font-size:46px;font-weight:800;line-height:71.3px;margin:8px 0 0}.kv3-casos-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.kv3-casos-tabs button{border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;background:#fff;color:#2C343B;border:1.5px solid #000;font-family:inherit}.kv3-casos-tabs button.active{background:#2C343B;color:#fff;border-color:#2C343B}.kv3-casos-panel{background:#FAFBF3;border-radius:18px;padding:40px;border:1px solid #ECEEE6;display:none}.kv3-casos-panel.active{display:block}.kv3-casos-panel h3{color:#2C343B;font-size:28px;font-weight:800;margin:0 0 12px}.kv3-casos-panel p{color:#41484F;font-size:17px;line-height:27.2px;margin:0}@media(max-width:980px){.kv3-casos-h2{font-size:32px;line-height:1.3}.kv3-casos-panel{padding:26px}.kv3-casos-panel h3{font-size:22px}}.kv3-faq .kv3-faq-head{text-align:center;margin-bottom:32px}.kv3-faq .kv3-faq-eyebrow{display:block;color:#616B00;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:1.04px;margin-bottom:12px}.kv3-faq .kv3-faq-head h2{color:#212529;font-weight:800;font-size:46px;margin:0;line-height:1.1}.kv3-faq .et_pb_row{max-width:800px!important;width:100%!important;margin:0 auto!important}.kv3-centro .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}@media(min-width:981px){.kv3-centro .et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}}.kv3-centro-head{max-width:620px;margin-bottom:30px}.kv3-centro-eyebrow{display:inline-block;font-size:13px;font-weight:700;color:#616B00;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.kv3-centro-h2{font-size:clamp(28px,4.4vw,46px);font-weight:800;letter-spacing:-.02em;margin:0;color:#2C343B}.kv3-centro-card{background:#2C343B;color:#fff;border-radius:18px;padding:30px}.kv3-centro-card h3{margin:0 0 18px;font-size:18px;font-weight:800;color:#C2D500}.kv3-centro-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 16px;font-size:15px}.kv3-centro-dl dt{color:#9AA0A6;font-weight:600}.kv3-centro-dl dd{margin:0;color:#fff}.kv3-centro-dl a{color:#C2D500;text-decoration:underline}.kv3-centro-map{border-radius:18px;overflow:hidden;min-height:220px;box-shadow:0 12px 30px rgba(0,0,0,.1)}.kv3-centro-map iframe{border:0;display:block;width:100%;height:100%;min-height:220px}.kv3-centro-right{display:flex;flex-direction:column;gap:14px}.kv3-centro-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kv3-centro-tip{background:#FAFBF3;border:1px solid #ECEEE6;border-radius:14px;padding:16px}.kv3-centro-tip strong{display:block;font-weight:800;color:#2C343B;font-size:15px;margin-bottom:3px}.kv3-centro-tip span{color:#6B7280;font-size:14px}.kv3-otros .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-otros .kv3o-headrow{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:26px}.kv3-otros .kv3o-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#616B00;margin-bottom:8px}.kv3-otros .kv3o-h2{color:#212529;font-size:46px;line-height:1.05em;font-weight:800;letter-spacing:-.02em;margin:0}.kv3-otros .kv3o-hint{font-size:14px;color:#9AA0A6;font-weight:600;white-space:nowrap}.kv3-otros .kv3o-cards.et_pb_row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:16px!important;max-width:1180px!important;width:100%!important;margin:0 auto!important;padding:0 0 14px!important;scroll-snap-type:x mandatory!important}.kv3-otros .kv3o-cards .et_pb_column{flex:0 0 330px!important;max-width:330px!important;width:330px!important;scroll-snap-align:start!important;overflow:hidden!important}.kv3-otros .kv3o-badge{display:inline-block;background:#F0F5C8;color:#616B00;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;margin-bottom:10px}.kv3-otros .kv3o-card-body{padding:20px 22px 22px}.kv3-otros .kv3o-card-body h3{margin:0 0 14px;font-size:19px;font-weight:800;color:#212529}.kv3-otros .kv3o-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#616B00;font-weight:700;font-size:15px}.kv3-otros .kv3o-img{width:100%;aspect-ratio:33/20;object-fit:cover;display:block}@media(max-width:767px){.kv3-otros .kv3o-h2{font-size:32px}.kv3-otros .kv3o-cards .et_pb_column{flex:0 0 260px!important;max-width:260px!important;width:260px!important}}.kv3-cta{background:#2C343B}.kv3-cta .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-cta-copy{text-align:center;max-width:900px;margin:0 auto}.kv3-cta-badge{display:inline-block;background:#FFD56B;color:#3A2E00;font-size:14px;font-weight:700;padding:8px 16px;border-radius:999px;margin-bottom:20px}.kv3-cta-h2{color:#fff;font-size:52px;font-weight:800;line-height:1.15;margin:0 0 24px 0}.kv3-cta-features{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px}.kv3-cta-feature{display:inline-block;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;color:#E7EAED}.kv3-cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.kv3-cta-btn{display:inline-flex;align-items:center;justify-content:center;background:#C2D500;color:#212529;padding:15px 32px;border-radius:12px;font-weight:800;font-size:17px;text-decoration:none}.kv3-cta-wa{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#0B2E16;padding:15px 32px;border-radius:12px;font-weight:800;font-size:17px;text-decoration:none}.kv3-cta-formcard{background:#fff;border-radius:20px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.25);max-width:480px;margin:0 auto}@media(max-width:980px){.kv3-cta-h2{font-size:36px}}@media(max-width:767px){.kv3-cta-h2{font-size:28px}}

/* ===== bloque 1 (extraído del contenido de la página 11, 28-jul-2026) ===== */
.kv3-porque{row-gap:0!important;gap:0!important}.kv3-porque .et_pb_row{column-gap:14px!important;row-gap:14px!important;max-width:1180px!important;width:100%!important;margin:0 auto!important;padding-top:0!important;padding-bottom:0!important}.kv3-porque .kv3-r1 .et_pb_column,.kv3-porque .kv3-r2 .et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}.kv3-porque .kv3-head .et_pb_column:last-child{flex:0 0 300px!important;width:300px!important;max-width:300px!important;margin-left:auto!important}.kv3-porque .kv3-head{align-items:flex-end;margin-bottom:36px!important}.kv3-porque .kv3-head .et_pb_column{margin-bottom:0!important}.kv3-porque .kv3-r2{margin-top:14px!important}.kv3-porque .kv3-card>.et_pb_module,.kv3-porque .kv3-card{height:100%}@media(max-width:980px){.kv3-porque .kv3-head{align-items:flex-start}}

/* ===== bloque 2 (extraído del contenido de la página 11, 28-jul-2026) ===== */
.kv3-pasos{gap:0!important}.kv3-pasos .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important;padding:0!important}.kv3-pasos .kv3-ph{margin-bottom:40px!important}.kv3-pasos .kv3-pc{column-gap:18px!important;row-gap:18px!important}@media (min-width:981px){.kv3-pasos .kv3-pc .et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}}.kv3-pasos .kv3-pc .et_pb_column{border:1px solid #ECEEE6}.kv3-pasos .kv3-pc .et_pb_column:last-child{border-color:#2C343B}

/* ===== bloque 3 (extraído del contenido de la página 11, 28-jul-2026) ===== */
.kv3-paraquien .kv3pq-head.et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-paraquien .kv3pq-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#616B00;margin-bottom:10px}.kv3-paraquien .kv3pq-h2{color:#212529;font-size:46px;line-height:1.05em;letter-spacing:1px;font-weight:800;margin:0}.kv3-paraquien .kv3pq-headrow{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:34px}.kv3-paraquien .kv3pq-hint{font-size:14px;color:#6b7280;white-space:nowrap}.kv3-paraquien .kv3pq-cards.et_pb_row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:16px!important;max-width:1180px!important;width:100%!important;margin:0 auto!important;padding:0 0 14px!important;scroll-snap-type:x mandatory!important}.kv3-paraquien .kv3pq-cards .et_pb_column{flex:0 0 310px!important;max-width:310px!important;width:310px!important;scroll-snap-align:start!important;overflow:hidden!important}.kv3-paraquien .kv3pq-card-body{padding:20px 22px 24px}.kv3-paraquien .kv3pq-card-body h3{margin:0 0 6px;font-size:19px;font-weight:800;color:#212529}.kv3-paraquien .kv3pq-card-body p{margin:0;font-size:15px;color:#6b7280;line-height:1.5}.kv3-paraquien .kv3pq-img{width:100%;aspect-ratio:31/20;object-fit:cover;display:block}@media(max-width:767px){.kv3-paraquien .kv3pq-h2{font-size:30px}.kv3-paraquien .kv3pq-cards .et_pb_column{flex:0 0 260px!important;max-width:260px!important;width:260px!important}}

/* ===== bloque 4 (extraído del contenido de la página 11, 28-jul-2026) ===== */
.kv3-donde .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}@media(min-width:981px){.kv3-donde .et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}}.kv3-donde .kv3-pill{display:inline-block;font-size:13px;background:#F0F5C8;color:#3F4A2C;border:1px solid #E0E7BD;padding:5px 11px;border-radius:999px}.kv3-donde .kv3-zone-group{margin-bottom:16px}.kv3-donde .kv3-zone-group:last-child{margin-bottom:0}.kv3-donde .kv3-zone-label{display:flex;align-items:center;gap:8px;font-weight:700;color:#2C343B;font-size:14px;margin-bottom:9px}.kv3-donde .kv3-zone-dot{width:8px;height:8px;border-radius:50%;background:#C2D500;flex:0 0 auto;display:inline-block}.kv3-donde .kv3-zone-pills{display:flex;flex-wrap:wrap;gap:7px}.kv3-donde .kv3-map-wrap{border-radius:18px;overflow:hidden;min-height:340px;box-shadow:0 12px 30px rgba(0,0,0,.1)}.kv3-donde .kv3-map-wrap iframe{border:0;display:block;min-height:340px;width:100%;height:100%}

/* ===== bloque 5 (extraído del contenido de la página 11, 28-jul-2026) ===== */
svg.ti{width:1em;height:1em;vertical-align:-.125em;flex:none}
/* ============================================================
   KEEPY · Calculadora de espacio · BLOQUE DE CONTENIDO (v2)
   Estética keepyv3: sección verde lavado + panel blanco.
   Iconos de línea (Tabler). Wizard 2 pasos + formulario.
   Hereda variables del sistema Keepy (fallback propio incluido).
   ============================================================ */
.kc-sec{
  --brand:#C2D500; --brand-dark:#616B00; --brand-light:#F0F5C8;
  --dark:#2C343B; --dark-soft:#3D4651; --accent:#FFD56B; --wa:#25D366;
  --text:#212529; --muted:#6B7280; --border:#E1E4E8;
  --bg:#FFFFFF; --bg-soft:#F9FAFB;
  --shadow:0 4px 12px rgba(0,0,0,.08); --shadow-lg:0 18px 40px rgba(44,52,59,.14);
  --radius:14px; --radius-lg:22px; --radius-sm:10px; --radius-pill:999px;
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text); background:var(--brand-light);
  padding:clamp(36px,6vw,72px) 16px;
}
.kc-sec *{box-sizing:border-box;}
.kc-sec button{font-family:inherit;cursor:pointer;}
.kc-wrap{max-width:1040px; margin:0 auto;}

/* ---- Cabecera del bloque ---- */
.kc-eyebrow{font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-dark); margin:0 0 10px;}
.kc-title{font-size:clamp(1.7rem,4.6vw,2.6rem); font-weight:800; line-height:1.12; margin:0 0 10px; color:var(--text);}
.kc-title span{color:var(--brand-dark);}
.kc-sub{font-size:1.05rem; color:var(--dark-soft); margin:0 0 26px; max-width:640px;}

/* ---- Panel ---- */
.kc-panel{background:var(--bg); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden;}

/* ---- Barra de pasos ---- */
.kc-steps{display:flex; gap:0; background:var(--dark); padding:6px;}
.kc-stepbtn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
  background:transparent; border:0; color:rgba(255,255,255,.55); font-weight:700; font-size:.9rem;
  padding:12px 8px; border-radius:var(--radius-sm); white-space:nowrap; min-height:46px;
}
.kc-stepbtn .n{
  width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:.82rem; flex:0 0 auto;
}
.kc-stepbtn.on{background:var(--brand); color:var(--text);}
.kc-stepbtn.on .n{background:var(--dark); color:#fff;}
.kc-stepbtn.done{color:#fff;}
.kc-stepbtn.done .n{background:var(--brand); color:var(--text);}
.kc-stepbtn .lbl2{display:none;}
@media(min-width:520px){ .kc-stepbtn .lbl2{display:inline;} }

.kc-view{display:none;}
.kc-view.on{display:block;}

/* ---- Toolbar (unidad + borrar) ---- */
.kc-toolbar{display:flex; align-items:center; gap:10px; padding:14px 16px 0;}
.kc-unit{display:inline-flex; background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-pill); padding:3px;}
.kc-unit button{border:0; background:transparent; color:var(--muted); padding:6px 13px; border-radius:var(--radius-pill); font-size:.82rem; font-weight:700; min-height:34px;}
.kc-unit button.on{background:var(--dark); color:#fff;}
.kc-clear{margin-left:auto; border:1px solid var(--border); background:var(--bg); color:var(--muted); padding:7px 13px; border-radius:var(--radius-pill); font-size:.8rem; font-weight:600; min-height:34px; display:inline-flex; align-items:center; gap:6px;}
.kc-clear:hover{border-color:var(--brand-dark); color:var(--brand-dark);}

/* ---- Buscador ---- */
.kc-search{position:relative; padding:12px 16px 6px;}
.kc-search i,.kc-search svg{position:absolute; left:28px; top:50%; transform:translateY(-30%); color:var(--muted); font-size:1.1rem;}
.kc-search input{width:100%; border:1.5px solid var(--border); border-radius:var(--radius-pill); padding:11px 16px 11px 42px; font-size:1rem; color:var(--text); outline:none;}
.kc-search input:focus{border-color:var(--brand-dark); box-shadow:0 0 0 3px rgba(194,213,0,.30);}

/* ---- Chips categorías ---- */
.kc-cats{display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:8px 16px 4px;}
.kc-cats::-webkit-scrollbar{display:none;}
.kc-chip{flex:0 0 auto; border:1.5px solid var(--border); background:var(--bg); color:var(--text); border-radius:var(--radius-pill); padding:8px 14px; font-size:.86rem; font-weight:600; white-space:nowrap; display:inline-flex; align-items:center; gap:7px; min-height:42px;}
.kc-chip i,.kc-chip svg{font-size:1.05rem; color:var(--brand-dark);}
.kc-chip:hover{border-color:var(--brand); background:var(--brand-light);}
.kc-chip.on{background:var(--dark); border-color:var(--dark); color:#fff;}
.kc-chip.on i,.kc-chip.on svg{color:var(--brand);}
.kc-chip .b{background:var(--brand); color:var(--text); font-size:.72rem; font-weight:800; border-radius:var(--radius-pill); min-width:20px; height:20px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center;}

/* ---- Lista de objetos (scroll interno) ---- */
.kc-scroll{max-height:min(52vh,460px); overflow-y:auto; padding:6px 16px 12px; -webkit-overflow-scrolling:touch;}
.kc-grid{display:grid; grid-template-columns:1fr; gap:8px;}
@media(min-width:640px){ .kc-grid{grid-template-columns:1fr 1fr; gap:10px;} }
.kc-item{display:flex; align-items:center; gap:12px; border:1.5px solid var(--border); border-radius:var(--radius); background:var(--bg); padding:9px 11px;}
.kc-item.has{border-color:var(--brand-dark); background:var(--brand-light);}
.kc-ic{width:42px; height:42px; flex:0 0 auto; border-radius:11px; background:var(--brand-light); display:flex; align-items:center; justify-content:center;}
.kc-ic i,.kc-ic svg{font-size:1.4rem; color:var(--brand-dark);}
.kc-item.has .kc-ic{background:#fff;}
.kc-info{flex:1; min-width:0;}
.kc-name{font-size:.92rem; font-weight:600; line-height:1.2; margin:0;}
.kc-m2{font-size:.76rem; color:var(--muted); margin:2px 0 0;}
.kc-stepper{display:flex; align-items:center; gap:4px; flex:0 0 auto;}
.kc-step{width:34px; height:34px; border:1.5px solid var(--border); background:var(--bg-soft); border-radius:9px; font-size:1.2rem; font-weight:700; color:var(--brand-dark); display:flex; align-items:center; justify-content:center; line-height:1;}
.kc-step:hover{border-color:var(--brand-dark); background:var(--brand-light);}
.kc-step:active{transform:scale(.92);}
.kc-step.minus[disabled]{opacity:.3; pointer-events:none;}
.kc-count{min-width:26px; text-align:center; font-size:1.05rem; font-weight:800;}
.kc-empty{padding:36px 16px; text-align:center; color:var(--muted);}

/* ---- Pie del panel (resumen + CTA) ---- */
.kc-foot{border-top:1px solid var(--border); background:var(--bg-soft); padding:14px 16px; display:flex; align-items:center; gap:14px;}
.kc-foot-info{flex:1; min-width:0;}
.kc-foot-num{font-size:1.4rem; font-weight:800; line-height:1; color:var(--text);}
.kc-foot-num b{color:var(--brand-dark);}
.kc-foot-rec{font-size:.82rem; color:var(--muted); margin-top:3px;}
.kc-foot-rec b{color:var(--text);}
.kc-cta{flex:0 0 auto; background:var(--brand); color:var(--text); border:0; padding:13px 22px; border-radius:var(--radius-pill); font-weight:800; font-size:1rem; box-shadow:0 3px 0 var(--brand-dark); min-height:50px; display:inline-flex; align-items:center; gap:8px;}
.kc-cta:hover{background:var(--brand-dark); color:#fff;}
.kc-cta:active{transform:translateY(2px); box-shadow:none;}
.kc-cta[disabled]{opacity:.45; pointer-events:none;}
.kc-cta.ghost{background:var(--bg); color:var(--text); border:1.5px solid var(--border); box-shadow:none; font-weight:700;}
.kc-cta.ghost:hover{border-color:var(--dark); background:var(--bg); color:var(--text);}

/* ---- Paso 2: centros ---- */
.kc-p2{padding:18px 16px;}
.kc-recap{background:var(--brand-light); border:1px solid var(--brand); border-radius:var(--radius); padding:12px 16px; text-align:center; margin-bottom:16px;}
.kc-recap .n{font-size:1.5rem; font-weight:800; color:var(--brand-dark); line-height:1;}
.kc-recap .r{font-size:.88rem; color:var(--text); margin-top:4px;}
.kc-centros{display:grid; grid-template-columns:1fr; gap:10px;}
@media(min-width:560px){ .kc-centros{grid-template-columns:1fr 1fr;} }
.kc-centro{display:flex; align-items:center; gap:12px; text-align:left; border:1.5px solid var(--border); border-radius:var(--radius); background:var(--bg); padding:12px 14px; min-height:64px;}
.kc-centro:hover{border-color:var(--brand);}
.kc-centro.on{border-color:var(--brand-dark); background:var(--brand-light);}
.kc-centro .ci{width:44px; height:44px; flex:0 0 auto; border-radius:12px; background:var(--brand-light); display:flex; align-items:center; justify-content:center;}
.kc-centro.on .ci{background:#fff;}
.kc-centro .ci i,.kc-centro .ci svg{font-size:1.5rem; color:var(--brand-dark);}
.kc-centro b{display:block; font-size:.98rem;}
.kc-centro span{font-size:.82rem; color:var(--muted);}
.kc-centro .chk{margin-left:auto; color:var(--brand-dark); font-size:1.3rem; opacity:0; flex:0 0 auto;}
.kc-centro.on .chk{opacity:1;}

/* ---- Paso 3: formulario ---- */
.kc-p3{padding:18px 16px;}
.kc-precarga{background:var(--dark); color:#fff; border-radius:var(--radius); padding:14px 16px; margin-bottom:16px;}
.kc-precarga h3{margin:0 0 10px; font-size:.82rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--brand);}
.kc-pgrid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.kc-pcell{background:rgba(255,255,255,.08); border-radius:10px; padding:9px 11px;}
.kc-pcell small{display:block; font-size:.72rem; color:rgba(255,255,255,.65);}
.kc-pcell b{font-size:1.02rem;}
.kc-pcell.full{grid-column:1/-1;}
.kc-pcell.full b{font-size:.9rem; font-weight:600; line-height:1.4;}
.kc-field{margin-bottom:12px;}
.kc-field label{display:block; font-size:.85rem; font-weight:600; margin-bottom:5px;}
.kc-field input{width:100%; border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:12px 14px; font-size:1rem; outline:none;}
.kc-field input:focus{border-color:var(--brand-dark); box-shadow:0 0 0 3px rgba(194,213,0,.30);}
.kc-consent{display:flex; align-items:flex-start; gap:9px; font-size:.82rem; color:var(--muted); margin:4px 0 16px;}
.kc-consent input{margin-top:2px; width:18px; height:18px; accent-color:var(--brand-dark); flex:0 0 auto;}
.kc-actions{display:flex; flex-direction:column; gap:10px;}
.kc-actions .kc-cta{width:100%; justify-content:center;}
.kc-wa{background:var(--wa); color:#fff; box-shadow:0 3px 0 #128C42; text-decoration:none; padding:13px 20px; border-radius:var(--radius-pill); font-weight:800; text-align:center; min-height:50px; display:flex; align-items:center; justify-content:center; gap:8px;}
.kc-back{background:transparent; border:0; color:var(--muted); font-weight:600; font-size:.9rem; padding:8px; display:inline-flex; align-items:center; gap:6px; margin-bottom:4px;}
.kc-back:hover{color:var(--brand-dark);}
.kc-done{text-align:center; padding:36px 20px;}
.kc-done .ok{width:64px; height:64px; border-radius:50%; background:var(--brand-light); color:var(--brand-dark); display:flex; align-items:center; justify-content:center; font-size:2rem; margin:0 auto 14px;}
.kc-done .kc-done-title{margin:0 0 6px; font-size:1.3rem; font-weight:800;}
.kc-done p{margin:0; color:var(--muted);}

@media(prefers-reduced-motion:reduce){ .kc-step:active,.kc-cta:active{transform:none;} }

/* ---- Integración en Divi 5: neutraliza el ancho al 80% y paddings del row/column ---- */
#keepycalc .et_pb_row,#keepycalc .et_pb_row_inner,#keepycalc .et_pb_column,#keepycalc .et_pb_module,#keepycalc .et_pb_code,#keepycalc .et_pb_code_inner{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;}
#keepycalc .et_pb_column{float:none!important;}

/* ---- Ajustes móvil (evita estrujado, apilado del pie, objetos legibles) ---- */
@media(max-width:479px){
  .kc-sec{padding:32px 12px;}
  .kc-scroll{max-height:min(58vh,520px); overscroll-behavior:contain; padding:6px 12px 12px;}
  .kc-item{gap:10px; padding:8px 10px;}
  .kc-ic{width:38px; height:38px; border-radius:10px;}
  .kc-ic i,.kc-ic svg{font-size:1.25rem;}
  .kc-name{font-size:.9rem;}
  .kc-stepper{gap:3px;}
  .kc-step{width:32px; height:32px; font-size:1.15rem;}
  .kc-count{min-width:22px; font-size:1rem;}
  .kc-toolbar,.kc-search,.kc-cats{padding-left:12px; padding-right:12px;}
  .kc-foot{flex-direction:column; align-items:stretch; gap:12px; padding:14px 12px;}
  .kc-foot .kc-cta{width:100%; justify-content:center;}
  .kc-foot-info{text-align:center;}
  .kc-p2,.kc-p3{padding:16px 12px;}
}
@media(max-width:360px){
  .kc-stepbtn{font-size:.82rem; padding:12px 4px;}
  .kc-chip{font-size:.82rem; padding:8px 12px;}
}

/* ===== bloque 6 (extraído del contenido de la página 11, 28-jul-2026) ===== */
.kv3-blog .et_pb_row{max-width:1180px!important;width:100%!important;margin:0 auto!important}.kv3-blog-head{text-align:center;max-width:720px;margin:0 auto 34px}.kv3-blog .kv3-eyebrow{color:#616B00;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.kv3-blog-head h2{font-size:40px;margin:8px 0 10px;color:#2C343B}.kv3-blog-sub{color:#5b6470;font-size:17px}.kv3-blog .et_pb_blog_posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.kv3-blog article.et_pb_post{background:#FAFBF3;border:1px solid #e6ead2;border-radius:18px;overflow:hidden;margin:0!important;padding:0;display:flex;flex-direction:column}.kv3-blog .et_pb_image_container,.kv3-blog .et_pb_image_container a{margin:0!important;display:block}.kv3-blog .et_pb_image_container img{width:100%;height:200px;object-fit:cover;display:block}.kv3-blog .entry-title{font-size:20px;line-height:1.3;margin:18px 20px 8px}.kv3-blog .entry-title a{color:#2C343B}.kv3-blog .post-meta{margin:0 20px 8px;color:#616B00;font-size:13px}.kv3-blog .post-content{margin:0 20px 18px;color:#5b6470;font-size:15px}.kv3-blog .post-content .more-link{display:inline-block;margin-top:10px;color:#616B00;font-weight:700}@media(max-width:980px){.kv3-blog .et_pb_blog_posts{grid-template-columns:1fr 1fr}}@media(max-width:680px){.kv3-blog .et_pb_blog_posts{grid-template-columns:1fr}}

/* 28-jul: los iconos pasaron de fuente (<i>) a SVG inline. Estas reglas replican
   el tamaño que daban los font-size de arriba, porque un <svg> no escala con font-size
   salvo que se le diga width/height en em. */
.kc-chip svg{width:1.05rem;height:1.05rem}
.kc-ic svg{width:1.4rem;height:1.4rem}
.kc-centro .ci svg{width:1.5rem;height:1.5rem}
.kc-search svg{width:18px;height:18px}


/* ===== Bloque de blog · carrusel horizontal en móvil (28-jul-2026) =====
   Las 3 tarjetas apiladas ocupaban ~1.590 px de alto. Pasan a deslizarse en
   horizontal, con la card a 82vw para que la siguiente asome y se vea que hay
   más. Mismo patrón que los otros 4 carruseles (ver keepy-blocks.css):
   la pista sangra hasta los bordes de la pantalla pero la primera card queda
   alineada con los titulares, en el gutter del 5 %.
   Los porcentajes: la caja contenedora mide el 90 % del viewport (secciones
   con padding 5 %), así que 5.5556 % de ella = 5 % del viewport. El
   scroll-padding sí va al 5 %, porque se resuelve contra el scrollport, que
   ya ocupa el 100 % del ancho.
   Solo por debajo de 767 px: en tablet la rejilla de 2 columnas funciona bien.
   ===================================================================== */
@media(max-width:767px){
  .kv3-blog .et_pb_blog_posts{
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:14px!important;
    margin-left:-5.5556%!important;
    margin-right:-5.5556%!important;
    width:calc(100% + 11.1112%)!important;
    max-width:none!important;
    padding:0 5.5556% 14px!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:5%!important;
    -webkit-overflow-scrolling:touch;
  }
  .kv3-blog article.et_pb_post{
    flex:0 0 82vw!important;
    width:82vw!important;
    max-width:82vw!important;
    scroll-snap-align:start!important;
  }
  /* Barra de progreso, igual que los otros 4 carruseles.
     OJO: no declarar scrollbar-width ni scrollbar-color aquí — en Chrome
     anulan los ::-webkit-scrollbar. Firefox se atiende en el @supports. */
  .kv3-blog .et_pb_blog_posts::-webkit-scrollbar{height:6px!important}
  .kv3-blog .et_pb_blog_posts::-webkit-scrollbar-button{display:none!important}
  .kv3-blog .et_pb_blog_posts::-webkit-scrollbar-track{background:#E9EBE0!important;border-radius:8px!important}
  .kv3-blog .et_pb_blog_posts::-webkit-scrollbar-thumb{background:#C2D500!important;border-radius:8px!important}
}
@supports not selector(::-webkit-scrollbar){
  @media(max-width:767px){
    .kv3-blog .et_pb_blog_posts{scrollbar-width:thin;scrollbar-color:#C2D500 #E9EBE0}
  }
}


/* ===== Pasada de accesibilidad (28-jul-2026) =====
   Auditado con axe-core a 390 y 1440 px sobre la página renderizada.
   Aquí va lo que se resuelve con CSS; el landmark <main>, el meta viewport,
   los role="tablist" y el acceso por teclado a los carruseles van en el
   snippet "Keepy · Accesibilidad landings".

   ⚠️ OJO AL ALCANCE DE LAS REGLAS DE COLOR. El primer intento usó selectores
   demasiado amplios y empeoró tres sitios que ya estaban bien, porque el
   mismo color vive sobre fondo claro Y sobre fondo oscuro (#2C343B), donde
   los grises y limas claros son los que SÍ contrastan. Cada regla de abajo
   está acotada al fondo claro a propósito. Medido, no supuesto.
   ================================================================= */

/* 1 · El <select> "Centro" no tenía nombre accesible (fallo crítico).
   La etiqueta existe en el HTML pero Divi la oculta con display:none, y lo
   que está en display:none no llega al lector de pantalla. Se oculta a la
   vista pero se mantiene en el árbol de accesibilidad.
   No se toca la del checkbox de privacidad: su regla es más específica
   (.et_pb_contact_field[data-id="privacidad"] …) y sigue en display:none. */
.et_pb_contact_form_label{
  position:absolute!important;
  display:block!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* 2 · Grises sobre fondo claro. #9AA0A6 sobre blanco daba 2,64:1 (mínimo
   AA: 4,5). Pasa a #6B7280, que YA está en el sistema (es el gris de los
   párrafos secundarios): 4,83:1. A simple vista apenas cambia.
   NO se incluye .kv3-centro-dl dt: vive dentro de la tarjeta oscura, donde
   #9AA0A6 da 4,79:1 y ya cumplía. */
.kv3-galeria .kv3-gal-sub,
.kv3-opiniones .kv3-op-date{color:#6B7280}

/* El "Desliza →" de Otros centros cae sobre el verde muy claro #F0F5C8,
   donde #6B7280 se queda en 4,28. Con #5B6470 (también del sistema): 5,31. */
.kv3-otros .kv3o-hint{color:#5B6470}

/* Línea legal del formulario del hero: lleva el color en un style inline
   (#9AA1A8 sobre blanco, 2,61:1). */
[style*="#9AA1A8"]{color:#6B7280!important}

/* 3 · Botón de WhatsApp del hero: texto blanco sobre el verde de marca
   #25D366 daba 1,98:1. Se alinea con .kv3-cta-wa, que YA usa #0B2E16 sobre
   ese mismo verde en el CTA final: 7,47:1. Mismo verde, mismo botón, solo
   cambia el color del texto.
   El selector exige el fondo verde en el style inline: así NO alcanza a los
   enlaces de WhatsApp que van como texto lima sobre la tarjeta oscura, que
   ya cumplen (7,71:1) y se romperían. */
a[href^="https://wa.me/"][style*="#25D366"]{color:#0B2E16!important}

/* 4 · Números 01 y 02 de "Tu trastero en 3 pasos": lima #C2D500 sobre crema
   #FAFBF3 daba 1,57:1, el peor de la página. Pasan a #616B00, el verde
   oscuro de marca que ya se usa en todos los eyebrows: 5,58:1.
   La TERCERA tarjeta queda fuera (:not(:last-child)): es la oscura, y ahí
   el lima da 7,71:1 y es justo lo que la hace destacar. */
.kv3-pasos .kv3-pc .et_pb_column:not(:last-child) .et_pb_text_inner > div{color:#616B00!important}

/* ===== Fusión de "Dónde estamos" (kv3-donde) dentro de "El centro" (kv3-centro)
   28-jul-2026. Las dos secciones respondían a la misma pregunta y cada una
   llevaba su propio mapa de la misma dirección. Se unifican en kv3-centro.
   TODO va bajo la clase modificadora .kv3-centro-fusion (solo la lleva la
   seccion de esta landing): las otras 7 landings tienen .kv3-centro y
   .kv3-donde con la maquetacion vieja y no deben cambiar.
   Los estilos de chips/zonas se DUPLICAN aquí bajo .kv3-centro-fusion en vez de
   renombrar los de .kv3-donde: esa sección sigue viva en las otras 7 landings. */
.kv3-centro-fusion{row-gap:32px}
.kv3-centro-fusion .kv3-centro-h2{line-height:1.15}
.kv3-centro-fusion .kv3-centro-tip span{display:block;line-height:1.45}
.kv3-centro-fusion .kv3-centro-head{margin-bottom:0}
.kv3-centro-fusion .kv3-centro-lead{max-width:660px;margin:12px 0 0;color:#4F5B3F;font-size:17px;line-height:1.5}
.kv3-centro-fusion .kv3-centro-zonas h3{margin:0 0 4px;font-size:18px;font-weight:800;color:#2C343B}
.kv3-centro-fusion .kv3-centro-zonas p{margin:0 0 14px;color:#6B7280;font-size:14px}
.kv3-centro-fusion .kv3-zone-group{margin-bottom:14px}
.kv3-centro-fusion .kv3-zone-group:last-child{margin-bottom:0}
.kv3-centro-fusion .kv3-zone-label{display:flex;align-items:center;gap:8px;font-weight:700;color:#2C343B;font-size:14px;margin-bottom:8px}
.kv3-centro-fusion .kv3-zone-dot{width:8px;height:8px;border-radius:50%;background:#C2D500;flex:0 0 auto;display:inline-block}
.kv3-centro-fusion .kv3-zone-pills{display:flex;flex-wrap:wrap;gap:7px}
.kv3-centro-fusion .kv3-pill{display:inline-block;font-size:13px;line-height:1.35;background:#F0F5C8;color:#3F4A2C;border:1px solid #E0E7BD;padding:5px 11px;border-radius:999px}

@media(min-width:981px){
/* Ficha oscura y mapa a la misma altura en la fila principal. */
.kv3-centro-fusion .kv3-centro-main-row .et_pb_column{display:flex;flex-direction:column}
.kv3-centro-fusion .kv3-centro-main-row .et_pb_column>.et_pb_module,
.kv3-centro-fusion .kv3-centro-main-row .et_pb_text_inner{flex:1 1 auto;display:flex;flex-direction:column}
.kv3-centro-fusion .kv3-centro-main-row .kv3-centro-card,
.kv3-centro-fusion .kv3-centro-main-row .kv3-centro-right,
.kv3-centro-fusion .kv3-centro-main-row .kv3-centro-map{flex:1 1 auto}
/* Los 7 datos de contacto, a dos parejas por línea (la dirección ocupa la
   línea entera). Baja la ficha de 7 filas a 4 sin tocar el contenido. */
.kv3-centro-fusion .kv3-centro-dl{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}
.kv3-centro-fusion .kv3-centro-dl dd:first-of-type{grid-column:2/-1}
/* Los 3 grupos de barrios, en tres columnas. */
.kv3-centro-fusion .kv3-centro-zonas .kv3-zone-group{margin-bottom:0}
.kv3-centro-fusion .kv3-centro-zonas{display:grid;grid-template-columns:1fr;column-gap:28px}
.kv3-centro-fusion .kv3-centro-zonas h3,.kv3-centro-fusion .kv3-centro-zonas p{grid-column:1/-1}
.kv3-centro-fusion .kv3-centro-zonas{grid-template-columns:repeat(3,1fr)}
}

/* Móvil: la sección concentra ahora todo el bloque "dónde estamos", así que
   se compacta un poco para no crecer en vertical. */
@media(max-width:767px){
.kv3-centro-fusion{row-gap:26px}
.kv3-centro-fusion .kv3-centro-lead{font-size:16px;line-height:1.45;margin-top:8px}
.kv3-centro-fusion .kv3-centro-card{padding:22px}
.kv3-centro-fusion .kv3-centro-card h3{margin-bottom:12px}
.kv3-centro-fusion .kv3-centro-dl{grid-template-columns:76px 1fr;gap:9px 12px;font-size:14px;line-height:1.4}
.kv3-centro-fusion .kv3-centro-map,.kv3-centro-fusion .kv3-centro-map iframe{min-height:200px}
.kv3-centro-fusion .kv3-centro-tip{padding:13px}
.kv3-centro-fusion .kv3-centro-tip strong{font-size:14px}
.kv3-centro-fusion .kv3-centro-tip span{font-size:13px;line-height:1.35}
.kv3-centro-fusion .kv3-zone-group{margin-bottom:12px}
.kv3-centro-fusion .kv3-zone-pills{gap:6px}
.kv3-centro-fusion .kv3-pill{font-size:12.5px;padding:4px 10px}
}


/* ===== H1 del hero: tamaño fluido en escritorio (29-jul-2026) =====
   Al añadir "Polígono" al titular, a 1280 px —un portátil muy común— se iba
   a 4 líneas y el hero crecía 32 px. Medido: con 4.2vw el titular baja solo
   entre 1280 y ~1380 px (de 58 a 54 px, imperceptible) y vuelve a 3 líneas.
   A partir de 1440 se queda en los 58 px de siempre, así que las pantallas
   grandes se ven exactamente igual que en la versión aprobada.
   El suelo de 34 px coincide con el tamaño de móvil que ya define el módulo,
   y la regla va acotada a escritorio para no tocar el apilado.
   ================================================================= */
@media(min-width:981px){
  #contacto h1{font-size:clamp(34px,4.2vw,58px)!important}
}

/* ------------------------------------------------------------------
   2026-07-29 · Ajustes visuales (revision Jose)
   1) Cabecera de "Donde estamos": el H2 usa el ancho de fila en desktop
      y el parrafo se queda en medida legible (~760px).
   2) Los tres argumentos del CTA final dejan de parecer botones:
      pasan a lista de checks, sin fondo ni borde.
------------------------------------------------------------------ */
@media(min-width:981px){
.kv3-centro-fusion .kv3-centro-head{max-width:none}
.kv3-centro-fusion .kv3-centro-lead{max-width:760px}
}
.kv3-cta-features{gap:12px 30px}
.kv3-cta-feature{background:none;border:0;border-radius:0;padding:0;font-size:15px;font-weight:600;color:#CFD4D8;display:inline-flex;align-items:center;gap:9px}
.kv3-cta-feature::before{content:"";width:17px;height:17px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C2D500' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/contain}
@media(max-width:767px){
.kv3-cta-features{flex-direction:column;align-items:flex-start;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;gap:11px}
}

/* Tabla comparativa de servicios (kser-t). Escritorio: matriz. <=1000px: se transpone a un bloque por columna. */
.kser-t-wrap{border:1px solid #ECEEE6;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(44,52,59,.06);display:block;font-size:0;line-height:0}.kser-t-wrap>*:not(table){display:none!important}.kser-t{width:100%;border-collapse:collapse;background:#fff;font-size:15px;line-height:1.55;margin:0!important}.kser-t th,.kser-t td{padding:15px 18px;text-align:left;vertical-align:top}.kser-t thead th,.kser-t thead td,.kser-t tbody th,.kser-t tfoot th{background:#2C343B;color:#fff}.kser-t thead th{font-size:17px;font-weight:800;line-height:1.25}.kser-t thead th span{display:block;font-size:13px;font-weight:600;color:#C2D500;margin-top:3px}.kser-t tbody th,.kser-t tfoot th{width:160px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.35;border-top:1px solid rgba(255,255,255,.12)}.kser-t td{color:#5B6470;line-height:1.55;border-top:1px solid #ECEEE6}.kser-t tbody tr:nth-child(even) td{background:#FAFBF3}.kser-t tfoot td{background:#fff;padding:18px}.kser-tb{display:inline-flex;align-items:center;justify-content:center;background:#C2D500;color:#2C343B;font-weight:800;border-radius:999px;padding:11px 20px;text-decoration:none;font-size:14px;white-space:nowrap;transition:background .2s}.kser-tb:hover,.kser-tb:focus{background:#b3c400;color:#2C343B}@media(min-width:1001px) and (max-width:1120px){.kser-t th,.kser-t td{padding:12px 12px}.kser-t tbody th,.kser-t tfoot th{width:118px;font-size:11.5px;letter-spacing:.04em}.kser-t{font-size:14px}}@media(max-width:1000px){.kser-t-wrap{border:0;border-radius:0;overflow:visible;box-shadow:none;background:transparent;font-size:15px;line-height:1.55}.kser-t{display:grid;grid-template-columns:1fr;background:transparent;border:0!important}.kser-t thead,.kser-t tbody,.kser-t tfoot,.kser-t tr{display:contents}.kser-t tbody th,.kser-t tfoot th,.kser-t thead td{display:none}.kser-t thead th{border-radius:16px 16px 0 0;margin-top:20px;padding:16px 18px;font-size:19px}.kser-t thead th:first-of-type{margin-top:0}.kser-t td{background:#fff!important;border:1px solid #ECEEE6;border-top:0;padding:13px 18px}.kser-t td::before{content:attr(data-attr);display:block;font-size:11.5px;font-weight:800;color:#616B00;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.kser-t tfoot td{border-radius:0 0 16px 16px;padding:16px 18px 20px}.kser-t tfoot td::before{display:none}.kser-tb{width:100%;padding:14px 20px;font-size:15px;white-space:normal;text-align:center}.kser-t td:empty{display:none}}

/* ===== Franquicias (pagina 2059) - 30-jul-2026. Rejilla ancha y gaps cortos, igual que .kv3-porque ===== */
.kv3-fr .et_pb_row{--row-gutter-horizontal:16px;--horizontal-gap:16px;--horizontal-gap-parent:16px;column-gap:16px!important;row-gap:16px!important;max-width:1180px!important;width:100%!important;margin:0 auto!important}
@media(min-width:981px){.kv3-fr .et_pb_row>.et_pb_column{flex:1 1 0!important;width:auto!important;max-width:none!important}}
.kv3-fr .kfr-foto{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
@media(max-width:767px){.kv3-fr .kfr-foto{aspect-ratio:2/1;border-radius:12px}}
@media(min-width:981px){.kv3-fr .kfr-w6>.et_pb_column{flex:0 0 calc((100% - 32px)/3)!important;width:calc((100% - 32px)/3)!important;max-width:calc((100% - 32px)/3)!important}}
/* Carruseles de /franquicias/ (solo en movil). El peek del 78% es la pista de que hay mas. */
.kv3-fr .kfr-hint{display:none}
.kv3-fr .kfr-card-link{display:block;text-decoration:none}
.kv3-fr .kfr-card-link .kfr-pie{display:block;margin:9px 0 0;color:#616B00;font-size:14px;font-weight:700}
.kv3-fr .kfr-card-link:focus-visible{outline:3px solid #616B00;outline-offset:3px;border-radius:16px}
@media(max-width:767px){
.kv3-fr .kfr-hint{display:block;text-align:center;margin:14px 0 0;color:#6B7280;font-size:13px;font-weight:600;letter-spacing:.02em}
.kv3-fr .kfr-swipe.et_pb_row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:14px!important;column-gap:14px!important;padding:2px 0 14px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch}
.kv3-fr .kfr-swipe.et_pb_row>.et_pb_column{flex:0 0 78%!important;width:78%!important;max-width:78%!important;scroll-snap-align:start!important;margin-bottom:0!important}
}

/* ===== Servicios: rejilla al mismo ancho que los bloques globales. 31-jul-2026, hilo de Franquicias.
   Sus filas propias salian a 1.037 px (80 % de Divi) mientras kv3-porque/pasos/sobre/comparativa
   iban a 1.180 -> dos anchos de columna en la misma pagina. Solo se fija ancho y gap: NO se toca
   el flex de las columnas, para no romper las filas de 6 que envuelven 3+3 (kv3-serv-casos).
   Afecta a: /servicios/ /guardamuebles/ /guardamuebles/malaga/ /guardamuebles/sevilla/ /mini-almacenes/ ===== */
[class*="kv3-serv-"] .et_pb_row,[class*="kv3-gm-"] .et_pb_row,[class*="kv3-ma-"] .et_pb_row{--row-gutter-horizontal:16px;--horizontal-gap:16px;--horizontal-gap-parent:16px;column-gap:16px!important;row-gap:16px!important;max-width:1180px!important;width:100%!important;margin:0 auto!important}

/* ===== Botón de envío del formulario del hero (3-ago-2026) =====
   El .et_contact_bottom_container es un flex item dentro del formulario: sin ancho
   explícito se encoge al texto del botón y este deja de ocupar la card.
   Esto vivía anclado a .page-id-11, así que las otras 7 landings se lo saltaban en
   silencio — y de paso había otras 4 reglas ancladas al mismo id que ya no hacían
   nada (ids #keepyv3, #main-header, #top-header y #main-footer que no existen en el
   DOM, y un margin-bottom que ya venía a 0 por otra vía). Todas retiradas.
   El gancho es la clase de <body> que añade este mismo snippet: solo las 8 landings
   de centro, para no tocar los formularios de /servicios/ ni de /franquicias/. */
.keepy-landing .et_contact_bottom_container{width:100%!important;padding:0!important;margin:0!important}

/* ===== El mismo boton, en las paginas de servicio (4-ago-2026) =====
   /servicios/ y las 4 de guardamuebles/mini almacenes usan la MISMA tarjeta de
   formulario que el hero de las landings, asi que sufren el mismo encogimiento.
   La regla de arriba se dejo a proposito solo para .keepy-landing; en vez de
   ampliar aquel gancho (que ademas dispara el JS y el preload del hero) se usa
   una clase propia, keepy-form, que pone este mismo snippet.
   Franquicias NO entra: su formulario no va en tarjeta. */
.keepy-form .et_contact_bottom_container{width:100%!important;padding:0!important;margin:0!important}
