/* Locations page only: keeps the existing AJM catalogue and homepage untouched. */
.visit-page .icon{width:22px;height:22px;flex-shrink:0}
.visit-hero{background:#f2f6f2;padding-top:28px;padding-bottom:36px;border-bottom:1px solid #dce5df}
.visit-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:center}
.visit-hero h1{font-size:clamp(2.7rem,4.6vw,4.5rem);font-weight:550;letter-spacing:-.06em;line-height:1.08;margin:18px 0 24px;max-width:800px}
.visit-hero-grid>div>p{max-width:650px;color:#52645a;line-height:1.75;font-size:1rem}
.visit-contact{display:flex;flex-direction:column;gap:16px;background:#fff;padding:27px;border:1px solid #d8e2da;border-radius:12px}
.visit-contact strong{font-size:1.1rem;line-height:1.5}.visit-contact>a{display:flex;align-items:center;gap:10px;font-weight:650;font-size:1.12rem;min-height:44px;color:#2469a0}
.visit-contact .text-link{justify-content:flex-start;text-align:left;font-size:.9rem;min-height:44px;padding:0}
.visit-contact small{font-size:.76rem;line-height:1.65;color:#637369}
.visit-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.visit-jumps a{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #d6dfd8;background:white;border-radius:6px;font-size:.84rem;font-weight:600;min-height:48px}
.visit-jumps a:hover{border-color:#377a55;background:#eaf1ea}.visit-jumps a .icon:last-child{width:16px;margin-left:8px}
.visit-store-section{padding-top:48px;padding-bottom:64px}.visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.visit-card{border:1px solid #d9e3dd;border-radius:12px;overflow:hidden;scroll-margin-top:145px;background:#fff;display:flex;flex-direction:column}
.visit-photo{position:relative;aspect-ratio:2.3;background:#e8efea;overflow:hidden}.visit-photo>img{width:100%;height:100%;object-fit:cover}
.visit-photo-paraiso{background:#f1ece4}.visit-photo-semu{background:#e9eff4}.visit-photo-santa-maria{background:#edf0e8}
.visit-photo-placeholder{height:100%;padding:26px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#496553}
.visit-photo-placeholder>.icon{width:36px;height:36px;stroke-width:1.2}.visit-photo-placeholder>span{font-size:1.3rem;font-weight:600;letter-spacing:-.03em}
.visit-photo-placeholder>small{font-size:.71rem;color:#59695f}.visit-number{position:absolute;top:18px;left:20px;font-size:.75rem;font-weight:650;letter-spacing:.14em;color:#52665a}
.visit-card-content{padding:30px;display:flex;flex-direction:column;flex:1}.visit-card h2{font-size:clamp(1.65rem,2.2vw,2.1rem);letter-spacing:-.045em;margin:11px 0 20px;line-height:1.25}
.visit-address{display:flex;gap:10px;line-height:1.6;font-size:.9rem;font-weight:600;margin:0 0 16px}.visit-address>.icon{flex-shrink:0;color:#3777aa;margin-top:2px}
.visit-address small{display:block;font-weight:400;font-size:.78rem;color:#627568;margin-top:2px}.visit-description{font-size:.9rem;line-height:1.7;color:#526359;margin-bottom:16px}
.visit-tags{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 26px}.visit-tags li{font-size:.72rem;background:#f1f5f1;border-radius:4px;padding:6px 9px;color:#405b47}
.visit-hours{border-top:1px solid #e1e7e2;padding-top:20px;margin-top:auto;margin-bottom:24px}.visit-hours h3{display:flex;align-items:center;gap:9px;font-size:.88rem;font-weight:650;margin-bottom:15px}
.visit-hours dl>div{display:flex;justify-content:space-between;gap:20px;font-size:.82rem;line-height:1.6;margin-top:9px}.visit-hours dt{color:#536459}.visit-hours dd{margin:0;text-align:right;font-weight:500}.visit-pending{color:#76736a}
.visit-card-actions{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:8px}.visit-action{display:flex;justify-content:center;align-items:center;gap:7px;min-height:48px;border:1px solid #cbd9cf;border-radius:5px;background:#fff;font-size:.78rem;font-weight:650;padding:12px 8px;text-align:center;color:#244d37;line-height:1.3;text-decoration:none}
.visit-action>.icon{width:18px;height:18px;flex-shrink:0}.visit-whatsapp{background:#2e6844;border-color:#2e6844;color:white}.visit-action:not(:disabled):hover{background:#eaf1ec;color:#244d37}
.visit-directions:not(:disabled){background:#337cb4;border-color:#337cb4;color:white}.visit-action:disabled{background:#f1f3f1;color:#7b847d;border-color:#e0e5e1;cursor:not-allowed}
.visit-map-note{font-size:.7rem;color:#6a746d;line-height:1.6;margin-top:10px}.visit-catalogue{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.82rem;font-weight:650;border-top:1px solid #e1e7e2;margin-top:22px;padding-top:18px;min-height:44px;color:#2d5c40}.visit-catalogue:hover{text-decoration:underline}
.visit-services{background:#f3f6f2;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.visit-services h2{font-size:2.6rem;line-height:1.13;letter-spacing:-.05em;margin:16px 0}.visit-services>div>p{font-size:.9rem;color:#627164;line-height:1.7}
.visit-faq details{border-bottom:1px solid #d8e1da}.visit-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:20px 0;min-height:58px;font-size:.91rem;font-weight:600}.visit-faq summary::-webkit-details-marker{display:none}.visit-faq summary>span{font-size:1.4rem;font-weight:400}.visit-faq details[open] summary>span{transform:rotate(45deg)}.visit-faq details>p{font-size:.86rem;color:#626e64;line-height:1.7;padding:0 30px 20px 0}
.visit-page a:focus-visible,.visit-page button:focus-visible,.visit-page summary:focus-visible{outline:3px solid #347cb4;outline-offset:4px}
@media(max-width:1000px){.visit-hero-grid{gap:30px;grid-template-columns:minmax(0,1fr) 280px}.visit-card-content{padding:24px}.visit-grid{gap:24px}.visit-card-actions{grid-template-columns:1fr 1fr}.visit-directions{grid-column:1/-1}.visit-services{gap:35px}}
@media(max-width:700px){.visit-hero-grid,.visit-grid,.visit-services{grid-template-columns:1fr}.visit-hero-grid{gap:26px}.visit-hero h1{font-size:2.9rem}.visit-hero-grid>div>p{font-size:.94rem}.visit-contact{padding:22px;gap:9px}.visit-contact small{margin-top:4px}.visit-jumps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:26px}.visit-jumps a{font-size:.74rem;line-height:1.5;padding:12px;gap:7px}.visit-jumps a>.icon:first-child{width:18px;flex-shrink:0}.visit-jumps a>.icon:last-child{display:none}.visit-store-section{padding-top:28px;padding-bottom:40px}.visit-card{scroll-margin-top:130px}.visit-photo{aspect-ratio:2}.visit-card-content{padding:23px 20px}.visit-card h2{font-size:1.75rem}.visit-services h2{font-size:2.25rem}.visit-services{gap:16px}.visit-faq summary{font-size:.88rem}}

.visit-photo .visit-catalogue-photo{object-fit:contain;background:#fff}.visit-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:8px 14px;background:#fffef4ed;color:#274334;font-size:.75rem}
