.loc-carousel-wrap{padding:0 52px;position:relative}.loc-carousel{display:flex;gap:20px;overflow-x:auto;padding-bottom:8px;scroll-behavior:smooth;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.loc-carousel::-webkit-scrollbar{display:none}.loc-carousel-item{flex:0 0 calc(33.33333% - 13.33333px);min-width:240px;scroll-snap-align:start}.location-card{background:var(--white);border:1px solid rgba(4,69,104,.09);border-radius:16px;box-shadow:0 2px 18px rgba(4,69,104,.07);display:flex;flex-direction:column;overflow:hidden}.location-card-img{aspect-ratio:2/1;flex-shrink:0;overflow:hidden;position:relative;width:100%}.loc-card-photo-img{display:block;height:100%;object-fit:cover;width:100%}.loc-banner{align-items:center;box-sizing:border-box;display:flex;inset:0;justify-content:center;overflow:hidden;padding:18px 18px 46px;position:absolute;text-align:center}.loc-banner-place{color:#fff;font-family:var(--font-heading);font-size:clamp(16px,2vw,20px);font-weight:800;letter-spacing:.03em;line-height:1.18;text-shadow:0 1px 10px rgba(4,28,42,.25);text-transform:uppercase}.loc-banner-logo{bottom:14px;height:auto;left:50%;opacity:.85;position:absolute;transform:translateX(-50%);width:44px}.loc-banner--0{background:linear-gradient(150deg,#2db579,#0f4669)}.loc-banner--1{background:linear-gradient(150deg,#3da9cf,#1d4f8a)}.loc-banner--2{background:linear-gradient(150deg,#2db579,#0f5d63)}.loc-banner--3{background:linear-gradient(150deg,#f5a623,#0f4669)}.location-card-img.photo-placeholder{align-items:center;background:repeating-linear-gradient(-45deg,transparent,transparent 10px,hsla(0,0%,100%,.045) 0,hsla(0,0%,100%,.045) 20px),linear-gradient(135deg,#1a5c7a,#2585a8 55%,#3da9cf);display:flex;justify-content:center}.location-card-img.photo-placeholder .photo-placeholder-icon{align-items:center;background:rgba(0,0,0,.28);border-radius:50%;display:flex;height:52px;justify-content:center;width:52px}.location-card-body{display:flex;flex:1;flex-direction:column;gap:0;padding:20px 22px 22px}.location-area{color:var(--navy);font-family:var(--font-heading);font-size:17px;font-weight:700;line-height:1.3;margin-bottom:5px}.location-venue{color:var(--muted);font-size:13px;line-height:1.4;margin-bottom:14px}.location-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.location-tag{background:rgba(61,169,207,.1);border:1px solid rgba(61,169,207,.3);border-radius:20px;color:var(--navy);font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.location-card-body .btn{margin-top:auto}.loc-carousel-btn{align-items:center;background:var(--white);border:1.5px solid rgba(4,69,104,.15);border-radius:50%;box-shadow:0 4px 16px rgba(4,69,104,.12);cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;top:calc(50% - 30px);transform:translateY(-50%);transition:background .2s,transform .15s;width:44px;z-index:10}.loc-carousel-btn:hover{background:var(--sky)}.loc-carousel-btn:hover svg path{stroke:#fff}.loc-carousel-btn-prev{left:-22px}.loc-carousel-btn-next{right:-22px}.loc-carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:24px}.loc-carousel-dot{background:rgba(4,69,104,.15);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .2s,transform .2s;width:8px}.loc-carousel-dot.active{background:var(--sky);transform:scale(1.35)}.notify-box{align-items:center;background:rgba(61,169,207,.08);border:1px solid rgba(61,169,207,.2);border-radius:14px;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;padding:24px 28px}.notify-box p{color:var(--navy);font-size:15px;font-weight:500;line-height:1.5;margin:0;max-width:380px}.notify-form{display:flex;flex:1;gap:10px;max-width:480px;min-width:260px}.notify-form input[type=email]{background:var(--white);border:1.5px solid rgba(4,69,104,.18);border-radius:8px;color:var(--text);flex:1;font-family:var(--font-body);font-size:14px;padding:11px 16px}.notify-form input[type=email]:focus{border-color:var(--sky);outline:none}.notify-form .btn{flex-shrink:0;white-space:nowrap}@media (max-width:900px){.loc-carousel-wrap{padding:0 28px}.loc-carousel-item{flex:0 0 calc(50% - 10px)}}@media (max-width:768px){.loc-carousel-btn{display:none}.loc-carousel-wrap{padding:0}}@media (max-width:600px){.loc-carousel-item{flex:0 0 100%}.notify-box{align-items:flex-start;flex-direction:column;gap:16px}.notify-form{max-width:100%;min-width:0;width:100%}}