.sgap-map-shortcode { position:relative; }
.sgap-map-data { display:none; }
.sgap-map-embedded { width:100%; border-radius:12px; overflow:hidden; position:relative; background:#f2f2f2; z-index:0; isolation:isolate; height:var(--sgap-map-height,450px); }
.sgap-map-embedded .sgap-map-widget, .sgap-map-embedded .sgap-map-panel, .sgap-map-embedded .sgap-map-leaflet { height:100%; min-height:0; }
.sgap-map-embedded .leaflet-container, .sgap-map-embedded .leaflet-pane, .sgap-map-embedded .leaflet-top, .sgap-map-embedded .leaflet-bottom { z-index:1; }
.sgap-map-leaflet { width:100%; height:100%; min-height:260px; border-radius:12px; overflow:hidden; }
.sgap-map-empty { padding:16px; background:#fff8e1; border:1px solid #ffe082; border-radius:8px; color:#5d4200; }
.sgap-map-modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:99998; opacity:0; transition:opacity .25s ease; align-items:center; justify-content:center; padding:32px 24px; box-sizing:border-box; }
.sgap-map-modal-overlay.sgap-map-open { display:flex; }
.sgap-map-modal-overlay.sgap-map-visible { opacity:1; }
.sgap-map-modal { position:relative; width:100%; max-width:80vw; height:100%; max-height:85vh; background:#fff; border-radius:12px; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,.35); overflow:hidden; transform:translateY(16px) scale(.98); transition:transform .3s cubic-bezier(.32,.72,0,1); }
.sgap-map-modal-overlay.sgap-map-visible .sgap-map-modal { transform:translateY(0) scale(1); }
.sgap-map-modal-header { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; border-bottom:1px solid #e8e8e8; flex-shrink:0; }
.sgap-map-modal-title { font-size:13px; font-weight:700; margin:0 !important; line-height:1; color:#222; }
.sgap-map-modal-close { background:none !important; border:none !important; box-shadow:none !important; color:#999 !important; font-size:16px !important; font-weight:400 !important; line-height:1 !important; cursor:pointer; padding:1px 7px !important; min-width:0 !important; width:auto !important; height:auto !important; border-radius:4px !important; }
.sgap-map-modal-close:hover { background:#f0f0f0 !important; color:#333 !important; }
.sgap-map-modal-close:focus-visible { outline:2px solid #B378B2 !important; outline-offset:2px; }
.sgap-map-modal-body { flex:1; display:flex; overflow:hidden; min-height:0; }
.sgap-map-widget { display:flex; width:100%; height:100%; overflow:hidden; }
.sgap-map-list-panel { position:relative; width:430px; min-width:300px; flex-shrink:0; overflow-y:auto; overflow-anchor:none; scroll-padding-top:16px; background:#fafafa; border-right:1px solid #e0e0e0; min-height:0; padding:14px; box-sizing:border-box; }
.sgap-map-panel { flex:1; min-width:0; position:relative; padding:10px; box-sizing:border-box; background:#fff; overflow:hidden; }
.sgap-map-card { border:1px solid #e5e7eb; border-radius:12px; background:#fff; margin-bottom:12px; overflow:hidden; scroll-margin-top:16px; transition:border-color .15s ease, box-shadow .15s ease; }
.sgap-map-card:last-child { margin-bottom:0; }
.sgap-map-card.sgap-map-active { border-color:#B378B2; box-shadow:0 0 0 1px #B378B2, 0 4px 14px rgba(179,120,178,.18); }
.sgap-map-card-head { position:relative; padding:14px 38px 14px 18px; cursor:pointer; }

/* Diszkrét lenyitó nyíl a kártya jobb felső sarkában – nincs gombkeret/háttér, csak egy chevron */
.sgap-map-card-toggle { position:absolute; top:12px; right:10px; width:22px; height:22px; cursor:pointer; }
.sgap-map-card-toggle::before { content:''; position:absolute; top:6px; left:7px; width:7px; height:7px; border-right:2px solid #b5b5b5; border-bottom:2px solid #b5b5b5; transform:rotate(45deg); transition:transform .2s ease, border-color .15s; }
.sgap-map-card-toggle:hover::before { border-color:#666; }
.sgap-map-card.sgap-map-open .sgap-map-card-toggle::before { transform:rotate(225deg); top:9px; }
.sgap-map-card-body { display:none; padding:0 18px 16px; }
.sgap-map-card.sgap-map-open .sgap-map-card-body, .sgap-map-card.sgap-map-force-open .sgap-map-card-body { display:block; }
.sgap-map-card-title { font-size:15px !important; font-weight:700 !important; color:#1a1a1a; margin:0 0 4px !important; line-height:1.3 !important; }
.sgap-map-card-address { font-size:12.5px; color:#5a5a5a; margin:0 0 10px; line-height:1.4; }
.sgap-map-directions { font-size:12px; color:#1a73e8; text-decoration:none; }
.sgap-map-directions:hover { text-decoration:underline; }
.sgap-map-opening-toggle { display:inline-block; margin:6px 0 0; font-size:12px; color:#1a73e8; text-decoration:none; font-weight:600; cursor:pointer; }
.sgap-map-opening-toggle:hover { text-decoration:underline; }
.sgap-map-badge { display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:700; margin:4px 0 8px; background:#e8f5e9; color:#1b5e20; }
.sgap-map-badge-delayed { background:#e8f0fe; color:#1a73e8; }
.sgap-map-badge-unavailable { background:#ffebee; color:#8a1f11; }

/* Pont+szöveg badge (termék/kosár kontextus) */
.sgap-map-dot-badge { display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; margin:6px 0 10px; line-height:1; }
.sgap-map-dot-badge-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.sgap-map-dot-badge.azonnal .sgap-map-dot-badge-dot,
.sgap-map-dot-badge.holnaptol .sgap-map-dot-badge-dot { background:#16a34a; }
.sgap-map-dot-badge.azonnal,
.sgap-map-dot-badge.holnaptol { color:#15803d; }
.sgap-map-dot-badge.kesobb .sgap-map-dot-badge-dot { background:#1a73e8; }
.sgap-map-dot-badge.kesobb { color:#1a73e8; }
.sgap-map-dot-badge.keszlethiany .sgap-map-dot-badge-dot { background:#b00020; }
.sgap-map-dot-badge.keszlethiany { color:#8a1f11; }
.sgap-map-main-lines { font-size:13px; line-height:1.45; margin:6px 0; color:#222; }
.sgap-map-main-lines p { margin:2px 0; }
.sgap-map-qty-value { font-weight:700; white-space:nowrap; }
.sgap-map-qty-ok { color:#15803d; }
.sgap-map-qty-warn { color:#b7791f; }
.sgap-map-qty-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#16a34a; margin-right:5px; vertical-align:middle; box-shadow:0 0 0 rgba(22,163,74,.55); animation:sgap-map-pulse 1.35s infinite; }
.sgap-map-qty-warn .sgap-map-qty-dot { background:#d97706; animation:none; }
@keyframes sgap-map-pulse { 0% { box-shadow:0 0 0 0 rgba(22,163,74,.55); } 70% { box-shadow:0 0 0 7px rgba(22,163,74,0); } 100% { box-shadow:0 0 0 0 rgba(22,163,74,0); } }
.sgap-map-stock { margin-top:10px; padding-top:10px; border-top:1px solid #eee; }
.sgap-map-stock-inner { font-size:13px; color:#222; line-height:1.45; }
.sgap-map-stock-inner p { margin:3px 0; }
.sgap-map-stock-inner p strong { font-size:13.5px; color:#1a1a1a; }
.sgap-map-stock-inner hr { border:none; border-top:1px solid #eee; margin:10px 0; }
.sgap-map-info-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#8a8a8a; margin:10px 0 5px; }
.sgap-map-opening-subtitle { font-size:11px; font-weight:700; color:#555; margin:8px 0 2px; }
.sgap-map-opening-row { font-size:12.5px; line-height:1.4; padding:1px 0; color:#222; }
.sgap-map-opening-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.sgap-map-opening-col { min-width:0; }
.sgap-map-opening-row.is-closed { color:#8a1f11; }
/* Leaflet popup stílus */
.sgap-map-popup-inner { font-size:13px; line-height:1.45; }
.sgap-map-popup-inner strong { display:block; font-size:14px; color:#1a1a1a; margin-bottom:2px; }
.sgap-map-popup-inner span { color:#666; font-size:12px; }
.leaflet-popup-content-wrapper { border-radius:10px !important; box-shadow:0 3px 14px rgba(0,0,0,.2) !important; border:none !important; }
.leaflet-popup-content { margin:12px 14px !important; }
.leaflet-popup-close-button { color:#aaa !important; font-size:18px !important; top:5px !important; right:7px !important; width:20px !important; height:20px !important; line-height:20px !important; }
.leaflet-popup-close-button:hover { color:#444 !important; background:none !important; }

/* Leaflet / OpenStreetMap attribúció – eredeti (nem a téma lila) link-szín, ne legyen elrejtve */
.sgap-map-leaflet .leaflet-control-attribution { display:block !important; }
.sgap-map-leaflet .leaflet-control-attribution a { color:#0078A8 !important; text-decoration:none !important; }
.sgap-map-leaflet .leaflet-control-attribution a:hover { text-decoration:underline !important; }

/* Kosár: diszkrét jelzés, hogy a badge a teljes kosárra vonatkozik */
.sgap-map-cart-note { font-size:12px; font-weight:400; color:#888; margin:2px 0 8px; }

.sgap-map-spinner { display:none; position:absolute; inset:0; background:rgba(255,255,255,.72); z-index:50; align-items:center; justify-content:center; font-weight:600; color:#555; }
.sgap-map-spinner:before { content:''; width:18px; height:18px; border:3px solid #ddd; border-top-color:#B378B2; border-radius:50%; margin-right:8px; animation:sgap-map-spin .8s linear infinite; }
.sgap-map-loading .sgap-map-spinner { display:flex; }
@keyframes sgap-map-spin { to { transform:rotate(360deg); } }
.sgap-map-gesture-hint { position:absolute; inset:0; border-radius:8px; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:500; pointer-events:none; opacity:0; transition:opacity .2s ease; }
.sgap-map-gesture-hint.sgap-visible { opacity:1; }
.sgap-map-gesture-hint span { background:rgba(0,0,0,.75); color:#fff; font-size:14px; padding:10px 18px; border-radius:6px; text-align:center; max-width:220px; line-height:1.4; }
@media (max-width:1024px) {
    .sgap-map-embedded { height:var(--sgap-map-mobile-height,var(--sgap-map-height,450px)); }
    .sgap-map-modal-overlay { padding:0; align-items:flex-end; }
    .sgap-map-modal { max-height:95vh; min-height:95vh; max-height:95dvh; min-height:95dvh; max-width:100%; border-radius:16px 16px 0 0; }
    .sgap-map-modal .sgap-map-widget { flex-direction:column; }
    .sgap-map-modal .sgap-map-panel { height:360px; flex:none; width:100%; order:1; padding:14px; z-index:1; }
    .sgap-map-modal .sgap-map-leaflet { min-height:0; }
    .sgap-map-modal .sgap-map-list-panel { width:100%; border-right:none; border-top:1px solid #e0e0e0; border-bottom:0; flex:1 1 auto; order:2; overflow-y:auto; min-height:0; z-index:2; }
}
@media (max-width:767px) {
    .sgap-map-modal .sgap-map-panel { height:228px; }
}

/* ---------- [sgap_keszlet] termékoldali készlet-jelző ---------- */
.sgap-keszlet-card { display:inline-flex; align-items:center; gap:12px; padding:12px 18px 12px 14px; border:1px solid #e3e3e8; border-radius:10px; background:#fff; max-width:100%; box-sizing:border-box; }
.sgap-keszlet-icon { flex-shrink:0; display:flex; align-items:center; }
.sgap-keszlet-icon svg { display:block; }
.sgap-keszlet-body { min-width:0; }
/* A teljes sor felkover, a szam emellett zold es pulzal. */
.sgap-keszlet-line { margin:0 0 2px; font-size:15px; font-weight:700; color:#333; line-height:1.35; }
.sgap-keszlet-label { font-weight:700; }
.sgap-keszlet-count { font-weight:700; }
.sgap-keszlet-empty { color:#b00020; font-weight:700; }
/* Kesobbi datum: borostyan es NEM pulzal - a zold pulzalas azt uzenne, hogy most viheted. */
.sgap-keszlet-later { color:#b45309; font-weight:700; white-space:nowrap; }
.sgap-keszlet-later:before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:#d97706; margin-right:5px; vertical-align:middle; }
.sgap-keszlet-link { margin:0; line-height:1.3; }
.sgap-keszlet-link a { display:inline-flex; align-items:center; gap:4px; font-size:14px; font-weight:600; color:#B378B2; text-decoration:none; cursor:pointer; }
.sgap-keszlet-link a:hover { color:#9d639c; text-decoration:underline; }
.sgap-keszlet-arrow { transition:transform .15s ease; }
.sgap-keszlet-link a:hover .sgap-keszlet-arrow { transform:translateX(3px); }
/* A blokkban a modal-only konténer ne foglaljon helyet. */
.sgap-keszlet-block .sgap-map-shortcode[data-mode="modal"] > .sgap-map-spinner { display:none; }
@media (max-width:480px) { .sgap-keszlet-card { display:flex; padding:10px 14px 10px 12px; } .sgap-keszlet-line { font-size:14px; } }
