/*
 * Los Altillos — Pilar 5: Ampliaciones y Segundo Piso
 * Archivo: assets/pilar-ampliaciones.css
 * Prefijo: p5-
 * Depende de: assets/main.css
 * ============================================================ */

/* BREADCRUMB */
.p5-bc{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:.75rem 0;}
.p5-bc__i{max-width:var(--container-max);margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-subtle);}
.p5-bc a{color:var(--color-text-subtle);transition:color var(--transition-fast);}
.p5-bc a:hover{color:var(--color-accent);}
.p5-bc__sep{color:var(--color-steel);}
.p5-bc__cur{color:var(--color-text-muted);font-weight:500;}
.p5-ilink{color:var(--color-secondary);font-weight:600;}

/* HERO */
.p5-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;background:linear-gradient(135deg,#010c1e 0%,#011e45 50%,#02234f 100%);overflow:hidden;}
.p5-hero__ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(1,12,30,.96) 0%,rgba(1,12,30,.55) 45%,rgba(1,12,30,.18) 100%);}
.p5-hero__gr{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.p5-hero__dc{position:absolute;right:3.5rem;bottom:2.5rem;z-index:1;opacity:.05;pointer-events:none;}
.p5-hero__in{position:relative;z-index:2;max-width:var(--container-max);width:100%;margin:0 auto;padding:2.5rem 2rem;}
.p5-hero__ey{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .875rem;background:rgba(199,8,29,.18);border:1px solid rgba(199,8,29,.38);border-radius:100px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.82);margin-bottom:1rem;}
.p5-hero__ey svg{width:11px;height:11px;flex-shrink:0;}
.p5-hero__h1{font-family:var(--font-display);font-size:clamp(1.875rem,4.5vw,3rem);line-height:1.05;letter-spacing:-.02em;color:#FFF;margin-bottom:.875rem;max-width:760px;}
.p5-hero__sub{font-size:clamp(.9375rem,1.8vw,1.0625rem);line-height:1.65;color:rgba(255,255,255,.58);max-width:560px;margin-bottom:1.75rem;}
.p5-hero__meta{display:flex;flex-wrap:wrap;gap:1.25rem;padding-top:1.125rem;border-top:1px solid rgba(255,255,255,.1);}
.p5-hero__mi{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;color:rgba(255,255,255,.42);}
.p5-hero__mi svg{width:13px;height:13px;flex-shrink:0;}

/* TOC MOBILE */
.p5-tocm{display:none;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);}
.p5-tocm__btn{width:100%;padding:.875rem 1.5rem;display:flex;align-items:center;justify-content:space-between;background:none;border:none;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--color-text);cursor:pointer;}
.p5-tocm__chev{width:16px;height:16px;stroke:var(--color-text-subtle);fill:none;transition:transform var(--transition-fast);flex-shrink:0;}
.p5-tocm__btn.is-open .p5-tocm__chev{transform:rotate(180deg);}
.p5-tocm__list{display:none;padding:0 1.5rem 1rem;list-style:none;}
.p5-tocm__list.is-open{display:block;}
.p5-tocm__list li{border-bottom:1px solid var(--color-border);}
.p5-tocm__list li:last-child{border-bottom:none;}
.p5-tocm__list a{display:block;padding:.625rem 0;font-size:.8125rem;color:var(--color-text-muted);}

/* LAYOUT */
.p5-lay{max-width:var(--container-max);margin:0 auto;padding:3.5rem 2rem 5rem;display:grid;grid-template-columns:1fr 240px;gap:4rem;align-items:start;}

/* SIDEBAR */
.p5-sb{position:sticky;top:calc(var(--header-height) + 1.5rem);}
.p5-toc{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.375rem;}
.p5-toc__lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);margin-bottom:.875rem;display:flex;align-items:center;gap:.4rem;}
.p5-toc__lbl svg{width:11px;height:11px;flex-shrink:0;}
.p5-toc__ul{list-style:none;display:flex;flex-direction:column;gap:.1rem;}
.p5-toc__ul li a{display:block;padding:.4375rem .75rem;font-size:.8125rem;line-height:1.4;color:var(--color-text-subtle);border-radius:var(--radius-sm);border-left:2px solid transparent;transition:all var(--transition-fast);}
.p5-toc__ul li a:hover,.p5-toc__ul li a.is-active{color:var(--color-accent);background:rgba(199,8,29,.05);border-left-color:var(--color-accent);font-weight:600;}
.p5-toc__div{height:1px;background:var(--color-border);margin:.5rem 0;}

/* TYPOGRAPHY */
.p5-sec{padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--color-border);}
.p5-sec:last-of-type{border-bottom:none;margin-bottom:0;}
.p5-h2{font-family:var(--font-display);font-size:clamp(1.375rem,2.5vw,1.875rem);line-height:1.15;letter-spacing:-.02em;color:var(--color-text);margin-bottom:1.25rem;scroll-margin-top:calc(var(--header-height) + 2rem);}
.p5-h3{font-size:1.0625rem;font-weight:600;line-height:1.4;color:var(--color-text);margin-top:2rem;margin-bottom:.75rem;}
.p5-p{font-size:1.0625rem;line-height:1.8;color:var(--color-text-muted);margin-bottom:1.25rem;}
.p5-p:last-child{margin-bottom:0;}
.p5-note{padding:1rem 1.25rem;background:rgba(2,55,120,.05);border-left:3px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.7;margin:1.5rem 0;}
.p5-note strong{color:var(--color-text);}

/* AVISO PROFESIONAL */
.p5-aviso{background:rgba(199,8,29,.04);border:1px solid rgba(199,8,29,.2);border-left:4px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.125rem 1.375rem;margin-bottom:1.75rem;display:flex;gap:.875rem;align-items:flex-start;}
.p5-aviso__ic{width:34px;height:34px;border-radius:var(--radius-sm);background:rgba(199,8,29,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;}
.p5-aviso__ic svg{width:16px;height:16px;fill:none;stroke:var(--color-accent);stroke-width:1.75;}
.p5-aviso__t{font-size:.875rem;font-weight:600;color:var(--color-accent);margin-bottom:.25rem;}
.p5-aviso__d{font-size:.9375rem;line-height:1.7;color:var(--color-text-muted);}

/* SNIPPET */
.p5-snip{background:rgba(2,55,120,.05);border:1px solid rgba(2,55,120,.18);border-left:4px solid var(--color-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.125rem 1.375rem;margin-bottom:1.75rem;}
.p5-snip__lbl{font-size:.675rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-secondary);margin-bottom:.5rem;}
.p5-snip__txt{font-size:1.0625rem;line-height:1.75;color:var(--color-text-muted);}
.p5-snip__txt strong{color:var(--color-text);}

/* SCENARIO TABLE */
.p5-scen-wrap{margin-top:1.75rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);}
.p5-scen{width:100%;border-collapse:collapse;font-size:.9rem;}
.p5-scen thead{background:var(--color-bg-dark);}
.p5-scen thead th{padding:.875rem 1.125rem;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55);}
.p5-scen tbody tr{border-bottom:1px solid var(--color-border);transition:background var(--transition-fast);}
.p5-scen tbody tr:last-child{border-bottom:none;}
.p5-scen tbody tr:hover{background:var(--color-bg-secondary);}
.p5-scen td{padding:.875rem 1.125rem;vertical-align:middle;line-height:1.5;color:var(--color-text-muted);}
.p5-scen td:first-child{font-weight:600;color:var(--color-text);}
.p5-bdg{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;border-radius:100px;font-size:.7rem;font-weight:600;white-space:nowrap;}
.p5-bdg--y{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.25);}
.p5-bdg--c{background:rgba(245,158,11,.1);color:#b45309;border:1px solid rgba(245,158,11,.25);}
.p5-bdg--n{background:rgba(199,8,29,.08);color:var(--color-accent);border:1px solid rgba(199,8,29,.2);}

/* VERIFY LIST */
.p5-vlist{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;}
.p5-vi{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);}
.p5-vi:hover{border-color:var(--color-border-dark);}
.p5-vi__ic{width:30px;height:30px;border-radius:var(--radius-sm);background:rgba(2,55,120,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;}
.p5-vi__ic svg{width:14px;height:14px;fill:none;stroke:var(--color-secondary);stroke-width:1.75;}
.p5-vi__t{font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:.2rem;line-height:1.3;}
.p5-vi__d{font-size:.8125rem;line-height:1.6;color:var(--color-text-muted);}

/* ENTREPISO DIAGRAM */
.p5-ed-wrap{margin-top:1.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;}
.p5-ed-head{padding:1.125rem 1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg);}
.p5-ed-head__ic{width:32px;height:32px;border-radius:var(--radius-sm);background:rgba(2,55,120,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.p5-ed-head__ic svg{width:15px;height:15px;fill:none;stroke:var(--color-secondary);stroke-width:1.75;}
.p5-ed-head__t{font-size:.875rem;font-weight:600;color:var(--color-text);}
.p5-ed-head__s{font-size:.775rem;color:var(--color-text-subtle);margin-top:.1rem;}
.p5-ed-svg{width:100%;padding:1.5rem;display:block;}
.p5-ed-leg{padding:1rem 1.5rem;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;border-top:1px solid var(--color-border);}
.p5-ed-li{display:flex;align-items:center;gap:.5rem;font-size:.775rem;}
.p5-ed-li__dot{width:12px;height:12px;border-radius:2px;flex-shrink:0;}
.p5-ed-note{padding:.875rem 1.5rem;background:rgba(245,158,11,.05);border-top:1px solid rgba(245,158,11,.18);font-size:.8125rem;color:var(--color-text-subtle);line-height:1.6;display:flex;gap:.625rem;align-items:flex-start;}
.p5-ed-note svg{width:14px;height:14px;fill:none;stroke:var(--color-warning);stroke-width:1.75;flex-shrink:0;margin-top:.1rem;}

/* TYPE CARDS */
.p5-tg{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.75rem;}
.p5-tc{border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border);background:var(--color-bg-secondary);transition:all var(--transition-base);}
.p5-tc:hover{border-color:var(--color-border-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.p5-tc__ic{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:.875rem;}
.p5-tc__ic svg{width:18px;height:18px;fill:none;stroke-width:1.5;}
.p5-tc__b{margin-bottom:.625rem;}
.p5-tc__title{font-family:var(--font-display);font-size:1rem;color:var(--color-text);margin-bottom:.5rem;line-height:1.2;}
.p5-tc__desc{font-size:.875rem;line-height:1.7;color:var(--color-text-muted);}
.p5-tc__req{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);}
.p5-tc__rl{font-size:.675rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);white-space:nowrap;margin-top:.2rem;}
.p5-tc__rd{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;}

/* PROCESS STEPS */
.p5-steps{margin-top:1.75rem;display:flex;flex-direction:column;}
.p5-step{display:grid;grid-template-columns:52px 1fr;position:relative;}
.p5-step:not(:last-child)::before{content:'';position:absolute;left:25px;top:52px;bottom:-4px;width:2px;background:var(--color-border);}
.p5-step__num{display:flex;flex-direction:column;align-items:center;padding-top:.875rem;}
.p5-step__circ{width:34px;height:34px;border-radius:50%;background:var(--color-secondary);color:white;font-family:var(--font-display);font-size:.8125rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;}
.p5-step__body{padding:.875rem 0 1.75rem;}
.p5-step__t{font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem;line-height:1.3;}
.p5-step__d{font-size:.9375rem;line-height:1.8;color:var(--color-text-muted);}
.p5-step__tag{display:inline-block;background:rgba(2,55,120,.07);border:1px solid rgba(2,55,120,.15);border-radius:var(--radius-sm);padding:.15rem .5rem;font-size:.8rem;font-weight:600;color:var(--color-secondary);margin:.25rem .2rem 0 0;}

/* ERRORS */
.p5-errs{display:flex;flex-direction:column;gap:.625rem;margin-top:1.75rem;}
.p5-err{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border:1px solid rgba(199,8,29,.15);border-radius:var(--radius-md);background:rgba(199,8,29,.03);transition:all var(--transition-fast);}
.p5-err:hover{border-color:rgba(199,8,29,.3);background:rgba(199,8,29,.05);}
.p5-err__n{width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:white;font-family:var(--font-display);font-size:.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;}
.p5-err__t{font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem;line-height:1.3;}
.p5-err__d{font-size:.875rem;line-height:1.65;color:var(--color-text-muted);}

/* FAQ */
.p5-faq{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem;}
.p5-faq__item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast);}
.p5-faq__item.is-open{border-color:var(--color-accent);}
.p5-faq__btn{width:100%;padding:1.0625rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:none;text-align:left;cursor:pointer;font-family:var(--font-body);transition:background var(--transition-fast);}
.p5-faq__btn:hover,.p5-faq__item.is-open .p5-faq__btn{background:var(--color-bg-secondary);}
.p5-faq__n{font-size:.7rem;font-weight:700;color:var(--color-accent);font-family:monospace;flex-shrink:0;min-width:1.5rem;}
.p5-faq__q{flex:1;font-size:.9375rem;font-weight:600;color:var(--color-text);line-height:1.4;}
.p5-faq__ic{width:22px;height:22px;border-radius:50%;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);}
.p5-faq__ic svg{width:10px;height:10px;stroke:var(--color-text-subtle);fill:none;stroke-width:2;transition:transform var(--transition-fast);}
.p5-faq__item.is-open .p5-faq__ic{background:var(--color-accent);}
.p5-faq__item.is-open .p5-faq__ic svg{stroke:white;transform:rotate(45deg);}
.p5-faq__body{display:none;padding:0 1.25rem 1.25rem;}
.p5-faq__item.is-open .p5-faq__body{display:block;}
.p5-faq__a{font-size:.9375rem;line-height:1.8;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:1rem;}

/* SOURCES */
.p5-srcs{margin-top:1.75rem;display:flex;flex-direction:column;gap:.5rem;}
.p5-src{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);}
.p5-src__ic{width:28px;height:28px;border-radius:var(--radius-sm);background:rgba(2,55,120,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.p5-src__ic svg{width:13px;height:13px;fill:none;stroke:var(--color-secondary);stroke-width:1.75;}
.p5-src__n{font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.15rem;}
.p5-src__d{font-size:.8rem;color:var(--color-text-subtle);line-height:1.5;}

/* CTA */
.p5-cta{background:var(--color-bg-dark);border-radius:var(--radius-xl);padding:2.5rem;margin-top:3.5rem;position:relative;overflow:hidden;}
.p5-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 100% 50%,rgba(11,74,161,.4) 0%,transparent 70%),radial-gradient(ellipse 35% 60% at 0% 80%,rgba(199,8,29,.14) 0%,transparent 60%);pointer-events:none;}
.p5-cta__in{position:relative;z-index:1;}
.p5-cta__ey{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent-light);margin-bottom:.625rem;}
.p5-cta__h{font-family:var(--font-display);font-size:clamp(1.375rem,2.5vw,1.875rem);color:white;line-height:1.2;margin-bottom:.75rem;}
.p5-cta__p{font-size:1rem;color:rgba(255,255,255,.55);line-height:1.7;max-width:520px;margin-bottom:1.75rem;}
.p5-cta__ls{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.625rem;}
.p5-cta__l{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:all var(--transition-base);}
.p5-cta__l:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22);transform:translateX(4px);}
.p5-cta__li{width:34px;height:34px;background:rgba(199,8,29,.22);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.p5-cta__li svg{width:15px;height:15px;stroke:rgba(255,255,255,.75);fill:none;stroke-width:1.5;}
.p5-cta__ll{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.32);display:block;margin-bottom:.15rem;}
.p5-cta__lt{font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.85);line-height:1.3;}
.p5-cta__ar{color:rgba(255,255,255,.25);flex-shrink:0;display:flex;}
.p5-cta__ar svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}

/* RESPONSIVE */
@media(max-width:960px){
  .p5-lay{grid-template-columns:1fr;gap:0;padding-top:2rem;}
  .p5-sb{display:none;}
  .p5-tocm{display:block;}
  .p5-tg{grid-template-columns:1fr;}
  .p5-ed-leg{grid-template-columns:repeat(2,1fr);}
  .p5-ed-svg{padding:1rem;}
}
@media(max-width:640px){
  .p5-hero{min-height:360px;}
  .p5-hero__dc{display:none;}
  .p5-hero__in,.p5-bc__i,.p5-lay{padding-left:1.5rem;padding-right:1.5rem;}
  .p5-scen td:last-child{display:none;}
  .p5-ed-leg{grid-template-columns:1fr;}
  .p5-cta{padding:1.75rem 1.5rem;}
  .p5-cta__ls{grid-template-columns:1fr;}
}
