.cagm-shell{--cagm-accent:#8f2f35;--cagm-accent-dark:#74262b;--cagm-green:#2f6f4f;--cagm-blue:#245b8f;--cagm-gold:#b07b2c;--cagm-text:#24313f;--cagm-muted:#6c7883;--cagm-border:#dbe4eb;--cagm-surface:#ffffff;--cagm-surface-soft:#f7fafc;--cagm-shadow:0 16px 34px rgba(21, 38, 53, 0.08);width:100%;margin:10px 0 22px;padding:0;font-size:16px}.cagm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}.cagm-toolbar--single .cagm-filterbar{display:none}.cagm-filterbar{display:flex;flex-wrap:wrap;gap:10px}.cagm-filter-btn,.cagm-reset-btn,.cagm-card-map-btn,.cagm-card-detail-link,.cagm-info-link{appearance:none;border:0;border-radius:999px;font:inherit;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:all 0.2s ease}.cagm-filter-btn{padding:10px 16px;background:#fff;border:1px solid var(--cagm-border);color:var(--cagm-text);box-shadow:0 4px 12px rgb(16 32 45 / .04)}.cagm-filter-btn:hover,.cagm-filter-btn:focus{border-color:rgb(143 47 53 / .35);color:var(--cagm-accent-dark)}.cagm-filter-btn.is-active{background:linear-gradient(135deg,var(--cagm-accent) 0%,#b3474d 100%);border-color:var(--cagm-accent);color:#fff;box-shadow:0 12px 22px rgb(143 47 53 / .2)}.cagm-reset-btn{padding:10px 16px;background:var(--cagm-surface-soft);border:1px solid var(--cagm-border);color:var(--cagm-text)}.cagm-reset-btn:hover,.cagm-reset-btn:focus{background:#fff;border-color:#c9d5df}.cagm-map-wrap{width:100%;margin:0;background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);border:1px solid var(--cagm-border);border-radius:18px;box-shadow:var(--cagm-shadow);overflow:hidden}.cagm-map{width:100%;height:var(--cagm-map-height,650px);min-height:300px;background:#eef3f7;border-radius:18px;overflow:hidden}.cagm-discover{margin-top:20px}.cagm-discover-title{margin:0 0 14px!important;padding:0!important;font-size:24px!important;line-height:1.25!important;font-weight:700!important;color:var(--cagm-text)!important}.cagm-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cagm-location-card{display:flex;flex-direction:column;height:100%;background:var(--cagm-surface);border:1px solid var(--cagm-border);border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgb(19 33 47 / .06);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.cagm-location-card:hover,.cagm-location-card.is-active{transform:translateY(-3px);border-color:rgb(143 47 53 / .35);box-shadow:0 18px 34px rgb(24 40 54 / .12)}.cagm-card-image-wrap{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#edf2f6}.cagm-card-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease}.cagm-location-card:hover .cagm-card-image{transform:scale(1.03)}.cagm-card-body{display:flex;flex-direction:column;gap:10px;padding:18px;flex:1 1 auto}.cagm-card-category,.cagm-info-category{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgb(143 47 53 / .08);color:var(--cagm-accent-dark);font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}.cagm-card-title{margin:0!important;padding:0!important;font-size:20px!important;line-height:1.3!important;font-weight:700!important;color:var(--cagm-text)!important}.cagm-card-description,.cagm-info-description{margin:0!important;padding:0!important;font-size:14px!important;line-height:1.65!important;color:#51606d!important}.cagm-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:4px}.cagm-card-map-btn,.cagm-info-link{padding:11px 18px;background:linear-gradient(135deg,var(--cagm-accent) 0%,#b3474d 100%);color:#ffffff!important;box-shadow:0 10px 20px rgb(143 47 53 / .2)}.cagm-card-map-btn:hover,.cagm-card-map-btn:focus,.cagm-info-link:hover,.cagm-info-link:focus{transform:translateY(-1px);box-shadow:0 14px 26px rgb(143 47 53 / .25);text-decoration:none}.cagm-card-detail-link{padding:11px 18px;background:#fff;border:1px solid var(--cagm-border);color:var(--cagm-text)!important}.cagm-card-detail-link:hover,.cagm-card-detail-link:focus{border-color:rgb(143 47 53 / .35);color:var(--cagm-accent-dark)!important;text-decoration:none}.cagm-notice,.cagm-map-error{padding:18px 20px;background:#fff7e6;border:1px solid #ead29c;color:#463a23;font-size:15px;line-height:1.5}.cagm-map-error{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.cagm-info-card{width:min(340px, 76vw);max-width:340px;overflow:hidden;font-family:inherit;color:var(--cagm-text);background:#fff;border-radius:18px}.cagm-info-image-wrap{aspect-ratio:16 / 10;overflow:hidden;background:#eef2f6}.cagm-info-image{display:block;width:100%;height:100%;object-fit:cover;margin:0}.cagm-info-body{padding:18px 18px 20px}.cagm-info-title{margin:10px 0 10px!important;padding:0!important;font-size:22px!important;line-height:1.25!important;font-weight:700!important;color:var(--cagm-text)!important}.cagm-map .gm-style-iw-d{overflow:auto!important;max-height:none!important;padding-right:0!important}.cagm-map .gm-style .gm-style-iw-c{padding:0!important;border-radius:18px!important;box-shadow:0 18px 40px rgb(20 34 49 / .18)!important}.cagm-map .gm-style .gm-style-iw-tc::after{background:#ffffff!important}.cagm-map .gm-ui-hover-effect{top:8px!important;right:8px!important}@media (max-width:1024px){.cagm-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.cagm-shell{margin:8px 0 18px}.cagm-toolbar{align-items:stretch}.cagm-filterbar{gap:8px}.cagm-filter-btn,.cagm-reset-btn{padding:9px 14px;font-size:12px}.cagm-map{height:min(var(--cagm-map-height, 650px), 70vh);min-height:420px}.cagm-discover-title{font-size:22px!important}.cagm-location-grid{grid-template-columns:1fr;gap:14px}.cagm-card-body{padding:16px}.cagm-card-title{font-size:18px!important}.cagm-card-actions{gap:8px}.cagm-card-map-btn,.cagm-card-detail-link,.cagm-info-link{padding:10px 15px;font-size:12px}.cagm-info-card{width:min(320px, 78vw)}.cagm-info-title{font-size:19px!important}.cagm-info-image-wrap{aspect-ratio:16 / 9}}.cagm-custom-marker-icon{display:block;width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 5px rgb(20 34 49 / .24))}