/* R8: continuous page boundaries, a shared discovery map and branch directory. */
body { min-height:100svh; min-height:100dvh; display:flex; flex-direction:column; }
.topbar,.site-header,.site-footer,.shoe-pending-footer { flex-shrink:0; }
#contenido { flex:1 0 auto; min-width:0; overflow:clip; }
.site-footer,.shoe-pending-footer { margin-top:auto; }
.shoe-pending { flex:1; }
@media(max-width:360px) { .shoe-pending-wordmark { font-size:106px; } }
.page-branches .page-intro,.pricing-section .section-heading { text-align:center; }
.page-branches .page-intro>p,.pricing-section .section-intro { margin-inline:auto; }
.page-branches .page-intro>.eyebrow,.pricing-section .section-heading .eyebrow { justify-content:center; }
.pricing-section .section-heading { display:block; }
.promo-number { background:linear-gradient(110deg,#126481 30%,#0c94b3 43%,#91c443 50%,#0c94b3 57%,#126481 70%); background-size:400% 100%; background-clip:text; -webkit-background-clip:text; animation:price-sheen 6s linear infinite; }
/* Both endpoints are the same solid blue; the band crosses the glyph offscreen. */
@keyframes price-sheen { from { background-position:100% 50%; } to { background-position:0% 50%; } }
.map-legend { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin:-10px 0 24px; font-size:13px; font-weight:700; }
.map-legend>span { display:inline-flex; align-items:center; gap:9px; }
.map-legend .icon { width:22px; height:22px; }
.legend-handy { color:var(--blue); }.legend-shoecare { color:#b94448; opacity:.75; }
.home-branch-map { border-radius:28px; overflow:hidden; border:1px solid var(--line); }
.home-branch-map .map-shell { height:620px; border:0; border-radius:0; }
.home-branch-map .branch-map { position:absolute; inset:0; height:100%; min-height:0; }
/* Keep dimensions and render offscreen; present only the complete first frame. */
[data-map] .branch-map { opacity:0; pointer-events:none; transition:opacity .22s ease; }
[data-map-ready="true"] .branch-map { opacity:1; pointer-events:auto; }
@media(prefers-reduced-motion:reduce) { [data-map] .branch-map { transition:none; } }
.handy-map-marker { width:46px; height:55px; }
.handy-map-marker .handy-marker-pin { width:44px; height:44px; background:#0789b2; border-width:3px; transition:opacity .25s,filter .25s; }
.handy-map-marker .handy-marker-pin>.icon { display:block; width:25px; height:25px; margin:6px; color:white; transform:rotate(45deg); }
.handy-map-marker.marker-shoecare .handy-marker-pin { background:#c62d35; opacity:.68; }
.handy-map-marker:is(:hover,:focus-visible,.is-selected) .handy-marker-pin { opacity:1; filter:brightness(1.06); }
.maplibregl-popup { z-index:3; max-width:min(320px,calc(100% - 24px))!important; }
.maplibregl-popup-content { padding:24px; box-shadow:0 8px 35px #173e4933; border-radius:22px; background:#fff; color:#143e4b; }
.branch-popup { text-align:left; line-height:1.6; }
.branch-popup .popup-brand { color:#0784a9; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin:0 24px 8px 0; }
.branch-popup.popup-shoecare .popup-brand { color:#bd333c; }
.branch-popup h3 { font-size:20px; line-height:1.25; letter-spacing:-.035em; margin:0 10px 12px 0; color:#143e4b; }
.branch-popup .popup-address { font-size:12px; margin:0 0 13px; color:#526b73; }
.popup-hours { margin:0 0 18px; font-size:11px; }.popup-hours div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 8px; }.popup-hours dt { font-weight:650; }.popup-hours dd { margin:0; }
.popup-actions { display:flex; align-items:center; gap:10px 18px; flex-wrap:wrap; }
.maplibregl-popup-content .popup-actions a { margin:0; font-size:11px; font-weight:750; border-radius:50px; text-decoration:none; color:#087997; }
.popup-actions a:first-child { padding:9px 13px; background:#e5f3f7; }
.popup-actions a:hover,.popup-actions a:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.popup-close { position:absolute; top:9px; right:10px; width:29px; height:29px; border:0; border-radius:50%; color:#42616b; background:#eef5f6; font-size:21px; line-height:1; cursor:pointer; }
.popup-close:focus-visible { background:#cee7ee; }
.branch-toolbar { display:flex; gap:20px; align-items:center; margin-bottom:16px; }
.branch-toolbar>label { display:flex; align-items:center; gap:12px; flex:1; padding:13px 20px; border:1px solid var(--line); border-radius:50px; background:var(--surface); }
.branch-toolbar input { width:100%; min-width:0; border:0; background:transparent; padding:3px 0; color:var(--text); border-radius:20px; outline:none; }
.branch-toolbar>label:focus-within { border-color:var(--blue); }
.branch-toolbar>.button { flex-shrink:0; }
.branch-toolbar>.button:disabled { opacity:.6; cursor:wait; }
.directory-results-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:26px; font-size:12px; color:var(--muted); }
.directory-results-heading .text-link { font-size:12px; }
.branch-directory-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:28px; }
.directory-branch { width:100%; max-width:540px; justify-self:center; }
.directory-branch[hidden] { display:none; }
.branch-art { height:100%; display:grid; place-items:center; background:radial-gradient(ellipse at 70% 20%,#f4c9c5,transparent 65%),linear-gradient(130deg,#e8d6d0,#f9ede5); color:#b7343b; }
.branch-art>.icon { width:130px; height:130px; transform:rotate(-10deg); }
.branch-kind { gap:9px; }.branch-kind>.icon { width:20px; height:20px; }
.branch-shoecare .branch-kind { color:#c23e46; }
.branch-distance { font-weight:750; font-size:12px; color:var(--blue); margin:0 0 16px; }
.directory-branch .branch-photo { height:245px; }
.directory-branch .branch-body>.icon-line { font-size:13px; }
.directory-branch .branch-body h3 { margin-bottom:22px; }
.directory-branch .branch-body .button-row { padding-top:15px; }
.directory-branch .branch-map-heading { min-height:95px; }
@media(min-width:1180px) { .branch-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.branch-directory-grid:has(>.directory-branch:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }.branch-directory-grid:has(>.directory-branch:only-child) { grid-template-columns:1fr; } }
@media(max-width:700px) { .home-branch-map .map-shell { height:570px; }.map-legend { gap:18px; font-size:11px; }.branch-toolbar { flex-direction:column; align-items:stretch; }.branch-toolbar>.button { align-self:center; }.directory-results-heading { flex-wrap:wrap; }.branch-directory-grid { grid-template-columns:1fr; }.directory-branch .branch-body { padding:24px; }.maplibregl-popup-content { padding:22px 18px; }.branch-popup h3 { font-size:18px; }.popup-hours div { display:block; margin-bottom:5px; } }
@media(prefers-reduced-motion:reduce) { .promo-number { animation:none; background:none; color:var(--text); } }

.map-fallback{position:absolute;inset:auto 18px 18px;display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px 20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);z-index:5}
