.location-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}.location-grid{display:flex;flex-direction:row;justify-content:start;flex-wrap:wrap;gap:2.5rem;width:100%}.location-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;width:calc(25% - 2rem);gap:1.25rem}.location-card img{width:100%;height:auto;object-fit:contain}.location-card h3{color:var(--color-accent)}.modal-dispo-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgb(0 0 0 / .65);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease;padding:1.25rem}.modal-dispo-overlay.is-active{opacity:1;visibility:visible}.modal-dispo-container{background-color:var(--color-bg);color:var(--color-text);border-radius:4px;max-width:480px;width:100%;padding:2.5rem 2rem 2rem 2rem;position:relative;box-shadow:0 10px 30px rgb(0 0 0 / .25);transform:translateY(-20px);transition:transform 0.3s ease}.modal-dispo-overlay.is-active .modal-dispo-container{transform:translateY(0)}.modal-dispo-close{position:absolute;top:1rem;right:1.25rem;background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text);cursor:pointer;transition:color 0.2s ease}.modal-dispo-close:hover{color:var(--color-accent)}.modal-dispo-header h3{margin-bottom:1rem;font-size:1.5rem}.modal-dispo-body p{font-size:.95rem;line-height:1.5;margin-bottom:1.25rem}.modal-dispo-phone{display:flex;align-items:center;justify-content:center;gap:.75rem;background-color:#F4F8F5;border:1px solid #D0E3D7;padding:1rem;border-radius:4px;margin-bottom:1.25rem}.modal-dispo-phone .phone-icon{font-size:1.25rem}.modal-dispo-phone .phone-number{font-size:1.35rem;font-weight:700;color:var(--color-accent);text-decoration:none}.modal-dispo-phone .phone-number:hover{text-decoration:underline}.modal-dispo-hours{font-size:.85rem;color:var(--color-text);border-top:1px solid #E5E5E5;padding-top:1rem;opacity:.8}.modal-dispo-hours p{margin-bottom:.25rem}.phone-icon svg{width:24px;height:24px;display:block}.phone-icon svg path{fill:var(--color-bg2)}@media only screen and (max-width:1024px){.location-card{width:calc(33.333% - 1.7rem)}}@media only screen and (max-width:600px){.location-card{width:calc(50% - 1.25rem)}}