/* ============================================================
   ControlSolar — components.css  ·  QuoteWidget, ServiceCard,
   BeforeAfter, inputs, badges, y el wizard de presupuesto.
   ============================================================ */

/* ---------- inputs ---------- */
.cs-field{display:flex;flex-direction:column;gap:7px;width:100%;}
.cs-field>label{font:var(--type-label);color:var(--text-strong);}
.cs-input{display:flex;align-items:center;gap:10px;height:var(--control-h-lg);padding:0 14px;
  background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);
  transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);}
.cs-input:focus-within{border-color:var(--border-focus);box-shadow:var(--ring-focus);}
.cs-input.is-error{border-color:var(--cs-danger);box-shadow:0 0 0 3px var(--cs-danger-wash);}
.cs-input svg{color:var(--text-muted);flex:0 0 auto;}
.cs-input input,.cs-input select{flex:1;min-width:0;border:none;outline:none;background:transparent;font:var(--type-body);color:var(--text-strong);padding:0;appearance:none;}
.cs-input select{cursor:pointer;}
.cs-field__err{font:var(--type-label);font-size:var(--fs-xs);color:var(--cs-danger);}
.cs-select-wrap{position:relative;}
.cs-select-wrap::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:translateY(-65%) rotate(45deg);pointer-events:none;}

/* ---------- quote widget (hero) ---------- */
.cs-quote{background:var(--surface-card);border-radius:var(--radius-xl);padding:var(--space-6);
  box-shadow:var(--shadow-xl);border:1px solid var(--border-hairline);
  display:flex;flex-direction:column;gap:var(--space-4);width:100%;}
.cs-quote__head{display:flex;align-items:center;gap:10px;}
.cs-quote__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-amber);}
.cs-quote__title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);margin:0;}
.cs-quote__note{font:var(--type-label);font-weight:400;font-size:var(--fs-xs);color:var(--text-muted);text-align:center;margin:0;}

/* ---------- service card ---------- */
.cs-svc{display:flex;flex-direction:column;text-decoration:none;background:var(--surface-card);
  border:1px solid var(--border-hairline);border-radius:var(--radius-lg);overflow:hidden;color:var(--text-strong);
  box-shadow:var(--shadow-md);transform:translateY(0);cursor:pointer;
  transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
.cs-svc:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px);}
.cs-svc__photo{position:relative;aspect-ratio:16/10;width:100%;overflow:hidden;
  background:linear-gradient(150deg,#FFCB7D 0%,#FFE2B4 38%,var(--cs-canvas) 100%);}
.cs-svc__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cs-svc__photo .slats{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(22,20,19,0) 0 14px,rgba(22,20,19,.10) 14px 22px);mix-blend-mode:multiply;opacity:.7;}
.cs-svc__photo .glow{position:absolute;top:-20%;right:-10%;width:60%;height:60%;border-radius:50%;background:radial-gradient(circle,rgba(255,158,44,.55),rgba(255,158,44,0) 70%);}
.cs-svc__photo .cap{position:absolute;left:14px;bottom:12px;font:var(--type-label);font-size:var(--fs-xs);color:var(--cs-teal-900);background:rgba(255,255,255,.62);padding:3px 10px;border-radius:var(--radius-pill);backdrop-filter:blur(4px);}
.cs-svc__body{padding:var(--space-5);display:flex;flex-direction:column;gap:10px;flex:1;}
.cs-svc__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-md);background:var(--cs-teal-050);color:var(--cs-teal-700);margin-bottom:2px;}
.cs-svc__t{font-family:var(--font-display);font-weight:500;font-size:var(--fs-h4);margin:0;}
.cs-svc__d{font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);margin:0;}
.cs-svc__foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;}
.cs-svc__meta{font:var(--type-label);font-size:var(--fs-sm);color:var(--text-muted);}
.cs-svc__go{display:inline-flex;align-items:center;gap:6px;font:var(--type-label);color:var(--cs-teal-700);font-weight:600;transition:transform var(--dur-base) var(--ease-out);}
.cs-svc:hover .cs-svc__go{transform:translateX(3px);}

/* ---------- badges ---------- */
.cs-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-text);font-weight:600;font-size:var(--fs-xs);line-height:1;padding:4px 11px;border-radius:var(--radius-pill);white-space:nowrap;}
.cs-badge--amber{background:var(--cs-amber-100);color:var(--cs-amber-700);}
.cs-badge--teal{background:var(--cs-teal-700);color:var(--text-on-shade);}

/* ---------- before / after ---------- */
.cs-ba{position:relative;aspect-ratio:16/10;width:100%;overflow:hidden;border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);user-select:none;touch-action:pan-y;}
.cs-ba__panel{position:absolute;inset:0;}
.cs-ba__after{background:linear-gradient(120deg,#16403F 0%,#0F3D3E 60%,#0A2B2C 100%);}
.cs-ba__after .ov{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 16px,rgba(0,0,0,.22) 16px 26px);}
.cs-ba__before{background:linear-gradient(120deg,#FFF6E0 0%,#FFD27A 45%,#FFB13C 100%);}
.cs-ba__clip{position:absolute;inset:0;overflow:hidden;width:50%;}
.cs-ba__lbl{position:absolute;bottom:14px;font:var(--type-label);font-size:var(--fs-xs);font-weight:600;padding:4px 12px;border-radius:var(--radius-pill);backdrop-filter:blur(4px);}
.cs-ba__lbl--before{left:14px;color:var(--cs-teal-900);background:rgba(255,255,255,.6);}
.cs-ba__lbl--after{right:14px;color:#fff;background:rgba(15,61,62,.55);}
.cs-ba__div{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.cs-ba__handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;border:none;box-shadow:var(--shadow-lg);cursor:ew-resize;display:inline-flex;align-items:center;justify-content:center;color:var(--cs-teal-700);}

/* ---------- sticky mobile CTA (home) ---------- */
.cs-mcta{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);height:var(--mobile-cta-h);padding:0 16px;
  display:none;align-items:center;gap:14px;background:var(--glass-bg);backdrop-filter:blur(var(--blur-md));
  -webkit-backdrop-filter:blur(var(--blur-md));border-top:1px solid var(--border-hairline);box-shadow:0 -8px 24px rgba(22,20,19,.08);}
.cs-mcta__txt{display:flex;flex-direction:column;line-height:1.1;}
.cs-mcta__hint{font:var(--type-label);font-size:var(--fs-xs);color:var(--text-muted);}
.cs-mcta__lbl{font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);}
@media (max-width:820px){ .cs-mcta{display:flex;} body{padding-bottom:var(--mobile-cta-h);} }

/* ============================================================
   WIZARD de presupuesto  (overlay responsive: full-screen móvil,
   tarjeta centrada en desktop). Estados via clases del JS.
   ============================================================ */
.cs-wz{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:0;
  background:radial-gradient(120% 90% at 50% 0%,#18514f 0%,#0F3D3E 55%,#0A2B2C 100%);}
.cs-wz.is-open{display:flex;}
.cs-wz__card{position:relative;width:440px;max-width:100%;height:100%;max-height:100%;background:var(--cs-canvas);
  display:flex;flex-direction:column;overflow:hidden;}
@media (min-width:600px){
  .cs-wz{padding:32px 16px;}
  .cs-wz__card{height:auto;max-height:94vh;border-radius:var(--radius-2xl);box-shadow:0 40px 90px rgba(8,26,27,.55);}
}
.cs-wz__head{flex:0 0 auto;padding:max(20px,env(safe-area-inset-top)) 22px 14px;background:var(--glass-bg);backdrop-filter:blur(var(--blur-md));}
.cs-wz__bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.cs-wz__back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-default);background:var(--surface-card);color:var(--cs-ink);cursor:pointer;}
.cs-wz__count{font:var(--type-label);font-size:var(--fs-sm);color:var(--text-muted);}
.cs-wz__body{flex:1 1 auto;overflow-y:auto;padding:24px 22px 28px;}
.cs-wz__foot{flex:0 0 auto;min-height:var(--mobile-cta-h);padding:12px 16px max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;
  background:var(--glass-bg);backdrop-filter:blur(var(--blur-md));border-top:1px solid var(--border-hairline);}
.cs-wz__foot .cs-mcta__txt .cs-mcta__lbl{}
.cs-wz__title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.02em;color:var(--cs-ink);margin:0 0 4px;}
.cs-wz__p{font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);margin:0 0 16px;}

/* step transition: transform-only */
.cs-wz__step{animation:csStepIn .42s var(--ease-out);}
@keyframes csStepIn{from{transform:translateX(16px);}to{transform:none;}}
@keyframes csPop{0%{transform:scale(.6);}60%{transform:scale(1.06);}100%{transform:scale(1);}}
.cs-pop{animation:csPop .42s var(--ease-out);}
@media (prefers-reduced-motion:reduce){.cs-wz__step,.cs-pop{animation:none;}}

/* service tiles (step 0) */
.cs-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cs-tile{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 14px;border-radius:var(--radius-md);
  background:var(--surface-card);border:1px solid var(--border-hairline);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;
  transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);}
.cs-tile:hover{border-color:var(--cs-teal-300);}
.cs-tile.is-sel{border:2px solid var(--cs-teal-700);box-shadow:var(--shadow-md);padding:15px 13px;}
.cs-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);background:var(--cs-teal-050);color:var(--cs-teal-700);}
.cs-tile__name{font:var(--type-label);font-size:var(--fs-sm);font-weight:600;color:var(--cs-ink);line-height:1.2;}
.cs-tile__check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cs-teal-700);opacity:0;transform:scale(.6);transition:opacity var(--dur-fast),transform var(--dur-fast);}
.cs-tile.is-sel .cs-tile__check{opacity:1;transform:scale(1);}

/* city detected card (step 1) */
.cs-city{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--cs-teal-050);border:1px solid var(--cs-teal-100);border-radius:var(--radius-md);color:var(--cs-teal-700);}
.cs-city__main{display:flex;flex-direction:column;line-height:1.25;}
.cs-city__k{font:var(--type-label);font-size:var(--fs-xs);color:var(--text-muted);}
.cs-city__v{font:var(--type-label);font-size:var(--fs-body);font-weight:600;color:var(--cs-ink);}
.cs-note{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-md);font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);}
.cs-note svg{color:var(--cs-teal-700);flex:0 0 auto;}

/* recap chip (step 2) */
.cs-recap{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--cs-amber-100);border:1px solid var(--cs-amber-200);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;}
.cs-recap__k{font:var(--type-label);font-size:var(--fs-xs);color:var(--cs-amber-700);}
.cs-recap__v{font:var(--type-label);font-size:var(--fs-sm);font-weight:600;color:var(--cs-ink);}
.cs-recap__edit{margin-left:auto;font:var(--type-label);font-size:var(--fs-xs);font-weight:600;color:var(--cs-amber-700);}

/* consent */
.cs-consent{display:flex;align-items:flex-start;gap:12px;background:none;border:none;padding:4px 0;cursor:pointer;text-align:left;font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);line-height:1.4;}
.cs-consent__box{flex:0 0 auto;width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;background:var(--surface-card);border:1.5px solid var(--border-default);transition:background var(--dur-fast);}
.cs-consent.is-on .cs-consent__box{background:var(--cs-teal-700);border-color:var(--cs-teal-700);}
.cs-consent__box svg{opacity:0;}
.cs-consent.is-on .cs-consent__box svg{opacity:1;}

/* confirmation */
.cs-done__hero{padding:56px 24px 28px;text-align:center;background:linear-gradient(180deg,#114a4a 0%,#0F3D3E 100%);color:#fff;}
.cs-done__check{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-amber);margin-bottom:18px;color:var(--text-on-amber);}
.cs-done__body{padding:24px 22px;display:flex;flex-direction:column;gap:22px;}
.cs-sum{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;}
.cs-sum__h{padding:14px 18px;border-bottom:1px solid var(--border-hairline);font:var(--type-label);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.cs-sum__row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--border-hairline);}
.cs-sum__row:last-child{border-bottom:none;}
.cs-sum__row svg{color:var(--cs-teal-700);flex:0 0 auto;}
.cs-sum__k{font:var(--type-label);font-size:var(--fs-xs);color:var(--text-muted);width:78px;flex:0 0 auto;}
.cs-sum__v{font:var(--type-label);font-size:var(--fs-sm);font-weight:600;color:var(--cs-ink);text-align:right;flex:1;}
.cs-tl__step{display:flex;gap:14px;}
.cs-tl__n{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font:var(--type-label);font-size:var(--fs-xs);font-weight:600;background:var(--surface-card);color:var(--text-muted);border:1.5px solid var(--border-default);}
.cs-tl__step--on .cs-tl__n{background:var(--cs-teal-700);color:#fff;border-color:transparent;}
.cs-tl__line{width:2px;flex:1;min-height:26px;background:var(--border-default);margin:6px auto;}
.cs-tl__t{font:var(--type-label);font-size:var(--fs-sm);font-weight:600;color:var(--cs-ink);}
.cs-tl__b{font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);}

/* ---------- step dots ---------- */
.cs-stepdots{display:flex;align-items:center;width:100%;}
.cs-dot{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto;}
.cs-dot__n{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-card);color:var(--text-muted);border:1.5px solid var(--border-strong);font:var(--type-label);font-weight:600;font-size:var(--fs-sm);transition:all var(--dur-base) var(--ease-out);}
.cs-dot__l{font:var(--type-label);font-size:var(--fs-xs);white-space:nowrap;color:var(--text-muted);font-weight:500;}
.cs-dot.is-current .cs-dot__n{background:var(--accent);color:var(--text-on-amber);border-color:transparent;box-shadow:var(--shadow-amber);}
.cs-dot.is-current .cs-dot__l{color:var(--text-strong);font-weight:600;}
.cs-dot.is-done .cs-dot__n{background:var(--cs-teal-700);color:#fff;border-color:transparent;}
.cs-dot.is-done .cs-dot__l{color:var(--text-strong);}
.cs-dot__line{flex:1;height:2px;margin:0 8px 26px;background:var(--border-default);border-radius:2px;transition:background var(--dur-base) var(--ease-out);}
.cs-dot__line.is-done{background:var(--cs-teal-300);}

/* ---------- FAQ (acordeón nativo) ---------- */
.cs-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.cs-faq__item{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--dur-base) var(--ease-out);}
.cs-faq__item:hover{box-shadow:var(--shadow-md);}
.cs-faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;font-family:var(--font-display);font-weight:500;font-size:var(--fs-h4);color:var(--cs-ink);}
.cs-faq__q::-webkit-details-marker{display:none;}
.cs-faq__chev{flex:0 0 auto;color:var(--cs-teal-700);transition:transform var(--dur-base) var(--ease-out);}
.cs-faq__item[open] .cs-faq__chev{transform:rotate(180deg);}
.cs-faq__item[open] .cs-faq__q{color:var(--cs-teal-700);}
.cs-faq__a{padding:0 24px 22px;}
.cs-faq__a p{font:var(--type-body);font-size:var(--fs-body);color:var(--text-body);margin:0;max-width:62ch;}
.cs-faq__item[open] .cs-faq__a{animation:csFaqIn .3s var(--ease-out);}
@keyframes csFaqIn{from{transform:translateY(-6px);}to{transform:none;}}
@media (prefers-reduced-motion:reduce){.cs-faq__item[open] .cs-faq__a{animation:none;}.cs-faq__chev{transition:none;}}

/* ============================================================
   LANDING PRO — "Date de alta como profesional"
   ============================================================ */
.cs-prohero{position:relative;overflow:hidden;background:radial-gradient(120% 130% at 80% 0%,#18514f 0%,#0F3D3E 55%,#0A2B2C 100%);color:var(--text-on-shade);}
.cs-prohero__slats{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,0) 0 16px,rgba(255,255,255,.045) 16px 25px);}
.cs-prohero__glow{position:absolute;top:-20%;right:-5%;width:48%;height:90%;border-radius:50%;background:radial-gradient(circle,rgba(255,158,44,.22),rgba(255,158,44,0) 70%);}
.cs-prohero__inner{position:relative;padding-block:clamp(56px,7vw,104px);}
.cs-prohero__copy{max-width:680px;display:flex;flex-direction:column;gap:22px;}
.cs-prohero__title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:1.04;letter-spacing:-.02em;color:#fff;margin:0;}
.cs-prohero__sub{font:var(--type-lead);color:var(--text-on-shade-muted);margin:0;max-width:560px;}
.cs-prohero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;}
.cs-prohero__chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin:8px 0 0;padding:0;}
.cs-prohero__chips li{display:flex;align-items:center;gap:9px;font:var(--type-label);font-size:var(--fs-sm);color:var(--text-on-shade);}
.cs-prohero__chips li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-amber);flex:0 0 auto;}

.cs-btn--ghost-shade,.cs-btn--ghost-shade:visited,.cs-btn--ghost-shade:hover{color:#fff;}
.cs-btn--ghost-shade{background:transparent;border-color:rgba(255,255,255,.35);box-shadow:none;}
.cs-btn--ghost-shade:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);}

.cs-vcards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cs-vcard{display:flex;flex-direction:column;gap:12px;padding:28px 24px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.cs-vcard__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-md);background:var(--cs-teal-050);color:var(--cs-teal-700);}
.cs-vcard__t{font-family:var(--font-display);font-weight:500;font-size:var(--fs-h4);margin:0;color:var(--cs-ink);}
.cs-vcard__b{font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);margin:0;}

.cs-altawrap{background:var(--cs-canvas);padding-block:var(--section-y);scroll-margin-top:80px;}
.cs-altaform{max-width:720px;margin:0 auto;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:clamp(28px,4vw,48px);}
.cs-altaform__head{text-align:center;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.cs-altaform__head .cs-lead{font-size:var(--fs-body);}
.cs-altaform__body{display:flex;flex-direction:column;gap:16px;}
.cs-altaform__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cs-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cs-check{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--surface-card);cursor:pointer;text-align:left;font:var(--type-label);font-size:var(--fs-sm);color:var(--cs-ink);transition:border-color var(--dur-fast) var(--ease-out);}
.cs-check:hover{border-color:var(--cs-teal-300);}
.cs-check__box{flex:0 0 auto;width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-card);border:1.5px solid var(--border-default);transition:background var(--dur-fast);}
.cs-check__box svg{opacity:0;}
.cs-check.is-on{border-color:var(--cs-teal-700);}
.cs-check.is-on .cs-check__box{background:var(--cs-teal-700);border-color:var(--cs-teal-700);}
.cs-check.is-on .cs-check__box svg{opacity:1;}
.cs-altaform__done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0;}

@media (max-width:900px){.cs-vcards{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.cs-vcards{grid-template-columns:1fr;}.cs-altaform__row{grid-template-columns:1fr;}.cs-checks{grid-template-columns:1fr;}}

/* ============================================================
   SERVICIO × CIUDAD (Tier 1)
   ============================================================ */
.cs-sc-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
.cs-priceblock,.cs-directory{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px;}
.cs-priceblock .cs-h2,.cs-directory .cs-h2{font-size:var(--fs-h3);}
.cs-priceblock__range{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--cs-amber-050);border:1px solid var(--cs-amber-100);border-radius:var(--radius-md);}
.cs-priceblock__from{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);color:var(--cs-ink);line-height:1;}
.cs-priceblock__full{font:var(--type-label);font-size:var(--fs-sm);color:var(--text-body);}
.cs-priceblock p,.cs-directory p{font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);margin:0;}
.cs-priceblock>.cs-btn,.cs-directory__empty>.cs-btn{align-self:flex-start;}
.cs-priceblock__note{font-family:var(--font-text);font-size:var(--fs-xs);color:var(--text-muted);margin-top:auto;}
.cs-directory__empty{flex:1;display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-content:center;padding:22px;background:var(--surface-sunken);border:1px dashed var(--border-default);border-radius:var(--radius-md);}
.cs-types{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cs-type{padding:22px 24px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);}
.cs-type__t{font-family:var(--font-display);font-weight:500;font-size:var(--fs-h4);color:var(--cs-ink);margin:0 0 6px;}
.cs-type__d{font:var(--type-body);font-size:var(--fs-sm);color:var(--text-body);margin:0;}
@media (max-width:680px){.cs-types{grid-template-columns:1fr;}}
.cs-directory__icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:var(--radius-md);background:var(--cs-teal-050);color:var(--cs-teal-700);}
.cs-directory__pro{font:var(--type-label);font-size:var(--fs-sm);font-weight:600;color:var(--cs-teal-700);text-decoration:none;}
.cs-directory__pro:hover{text-decoration:underline;text-underline-offset:3px;}
.cs-links{display:flex;flex-direction:column;gap:28px;}
.cs-links__t{font-family:var(--font-display);font-weight:500;font-size:var(--fs-h4);color:var(--cs-ink);margin:0 0 14px;}
.cs-links__chips{display:flex;flex-wrap:wrap;gap:10px;}
.cs-chip{display:inline-flex;align-items:center;padding:9px 16px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);font:var(--type-label);font-size:var(--fs-sm);color:var(--cs-teal-700);text-decoration:none;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);}
.cs-chip:hover{border-color:var(--cs-teal-300);background:var(--cs-teal-050);}
@media (max-width:820px){.cs-sc-cols{grid-template-columns:1fr;}}
