/* MOVIL-01: iconos vectoriales comunes y composición móvil. */
.ui-link-arrow{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.h-mobile-skyline,.h-mobile-socials{display:none}
@media(max-width:1023px){
 .h-legacy .header{position:relative;height:calc(80px - 20px * var(--brand-progress,0));padding-inline:20px}
 .h-legacy .menu-toggle{display:flex;flex-direction:column;gap:6px;flex-shrink:0;width:44px;min-height:44px;padding:12px;border:0;background:transparent}
 .h-legacy .menu-toggle span{display:block;width:20px;height:1px;background:#012d20}
 .h-legacy .header #navegacion{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 20px;background:#fff;border-bottom:1px solid #d7dcd3;box-shadow:0 15px 20px #012d2010}
 .h-legacy .header #navegacion.is-open{display:flex}
 .h-legacy #navegacion>a{padding:12px;min-height:44px}
 .h-legacy #navegacion .nav-more>div{position:static;width:auto;box-shadow:none;border:0;padding:0}
 .h-mobile-skyline{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(120px,45vw,240px);max-width:calc(100% - 180px);opacity:var(--brand-progress,0);pointer-events:none;line-height:0}
 .h-mobile-skyline img{display:block;width:100%;height:auto;max-height:38px;object-fit:contain}
 .h-legacy #navegacion .h-mobile-socials,.detail-menu-panel .h-mobile-socials{display:flex;gap:10px;align-items:center;padding:14px 0 0;margin-top:10px;border-top:1px solid #012d2020}
 .h-mobile-socials>a,.header #navegacion .h-mobile-socials>a{display:grid;place-items:center;min-width:44px;width:44px;height:44px;min-height:44px;padding:10px;color:#012d20;border:1px solid #012d2020;border-radius:50%;background:transparent}
 .h-mobile-socials svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
 .h-mobile-socials .h-dot{fill:currentColor;stroke:none}
 .h-legacy .header #navegacion.is-open{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}
 .detail-menu-panel .h-mobile-socials{padding:12px 10px 3px;margin:6px 0 0}
 .page-ficha .detail-header .detail-menu-panel{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:800px){
 .h-legacy .header{height:calc(80px - 20px * var(--brand-progress,0));padding-inline:20px}
 .h-legacy .header>.brand{max-width:calc(100vw - 112px);height:calc(60px - 18px * var(--brand-progress,0))}
 .h-legacy .header>.menu-toggle{width:44px;min-height:44px;border:0;background:transparent}
}
@media(max-width:740px){
 .armonia-footer .af-shell{padding-inline:24px}
 .armonia-footer .af-grid{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:30px 24px}
 .armonia-footer .af-identity,.armonia-footer .af-contact,.armonia-footer .af-location{grid-column:1;grid-row:auto}
 .armonia-footer .af-identity{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .armonia-footer .af-brand{width:clamp(160px,50vw,210px)}
 .armonia-footer .af-brand-icon{width:52px;flex-basis:52px}
 .armonia-footer .af-identity>.af-social{margin:0;gap:2px}
 .armonia-footer .af-social>a{width:44px;height:44px;flex-basis:44px}
 .armonia-footer .af-contact{display:flex;flex-direction:column;gap:20px;align-items:stretch}
 .armonia-footer h2{margin-bottom:6px;font-size:11px}
 .armonia-footer .af-address address{font-size:14px;line-height:1.6}
 .armonia-footer .af-phones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .armonia-footer .af-phone{width:auto;min-height:44px;gap:5px;font:500 clamp(18px,5vw,22px)/1.4 var(--sans,system-ui,sans-serif);font-variant-numeric:tabular-nums;letter-spacing:-.025em}
 .armonia-footer .af-phone-label{letter-spacing:0;font-size:11px}
 .armonia-footer .af-email{max-width:100%;width:auto;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
 .armonia-footer .af-map-link{height:112px}
 .armonia-footer .af-base-inner{display:block;padding-block:20px 24px}
 .armonia-footer .af-base-inner nav{display:flex;gap:0 20px;margin-top:12px;align-items:center}
 .armonia-footer .af-base-inner nav>a{display:flex;align-items:center;min-height:42px;font-size:11px}
 .armonia-footer .af-company small{font-size:10px;line-height:1.8}
 .armonia-footer .af-company .af-owner{font-size:10px;max-width:320px}
 .page-ficha .site-top .detail-header{padding-inline:16px}
 .page-ficha .detail-header-start{gap:4px}
 .page-ficha .detail-header-socials{gap:0}
 .page-ficha .detail-header .header-social-button{width:32px;min-height:44px}
}
@media(max-width:359px){
 .armonia-footer .af-shell{padding-inline:20px}
 .armonia-footer .af-brand-icon{width:42px;flex-basis:42px}
 .page-ficha .site-top .detail-header{padding-inline:10px}
 .page-ficha .detail-header-start{gap:0}
}
@media(prefers-reduced-motion:reduce){.h-mobile-skyline{transition:none}}

@media(max-width:1023px){.h-legacy #navegacion .nav-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px}.h-legacy #navegacion .nav-cta svg{width:18px;height:18px;min-width:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}}

/* UI-02: controles mínimos, conservando su superficie táctil. */
@media(max-width:800px){
 .page-home .home-properties-stage>.home-property-arrow{width:44px;height:44px;border:0;background:transparent;box-shadow:none;color:#012d20;opacity:.58;pointer-events:auto}
 .page-home .home-properties-stage>.home-property-arrow svg{width:16px;height:16px;stroke-width:1.35}
 .page-home .home-properties-stage>.home-property-arrow[aria-disabled=true]{opacity:.16;cursor:default}
 .page-home .home-properties-stage>.home-property-arrow:hover,.page-home .home-properties-stage>.home-property-arrow:focus-visible{background:transparent;opacity:1}
 .page-home .home-properties-stage>.home-property-arrow:focus-visible{outline:2px solid #175d8d;outline-offset:-4px;border-radius:3px}
}
