/* Network Map Bioperio — Frontend v1.7 */

/* === Reset & Isolation === */
.nmb-network,.nmb-network *,.nmb-network *::before,.nmb-network *::after,
.nmb-form-layer,.nmb-form-layer *,.nmb-form-layer *::before,.nmb-form-layer *::after{box-sizing:border-box !important;margin:0;padding:0;text-decoration:none !important;letter-spacing:normal !important;text-transform:none !important;font-style:normal !important;word-spacing:normal !important}
.nmb-network{padding:clamp(22px,4vw,48px) clamp(16px,4vw,58px) !important;color:var(--nmb-ink) !important;background:var(--nmb-bg) !important;font-family:var(--nmb-font) !important;font-size:16px !important;line-height:1.5 !important;width:100% !important;max-width:1440px !important;margin-left:auto !important;margin-right:auto !important;float:none !important;position:relative;container-type:inline-size;container-name:nmb}
.nmb-network button,.nmb-network input,.nmb-network select,.nmb-network textarea,
.nmb-form-layer button,.nmb-form-layer input,.nmb-form-layer select,.nmb-form-layer textarea{font-family:var(--nmb-font) !important}
.nmb-network button,.nmb-form-layer button{cursor:pointer}
.nmb-network a,.nmb-form-layer a{color:var(--nmb-primary) !important}
.nmb-network__inner{display:grid !important;grid-template-columns:390px minmax(0,1fr) !important;gap:clamp(28px,5cqi,86px) !important;max-width:1160px !important;width:100% !important;margin:0 auto !important;align-items:start !important}

/* === Card di controllo: titolo + ricerca + regioni a tendina ===
   Un'unica card (sfondo --nmb-card, bordo --nmb-border, raggio 28) che
   contiene la ricerca fissa in alto e, sotto, l'elenco delle regioni che
   scorre al suo interno. Su desktop la card non supera l'altezza della mappa
   (vedi .nmb-control più sotto), su mobile ha un tetto in px. */
.nmb-control{display:flex !important;flex-direction:column !important;min-width:0 !important;align-self:stretch !important;height:0;min-height:100%}
.nmb-panel{display:flex !important;flex:0 1 auto !important;flex-direction:column !important;min-height:0 !important;border:1px solid var(--nmb-card-border) !important;border-radius:28px !important;padding:22px 24px 24px !important;background:var(--nmb-card-bg) !important;box-shadow:none !important}
.nmb-search-card{display:block !important;flex:0 0 auto !important;margin:0 0 20px !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important}
.nmb-search-card label{display:block !important;margin:0 0 12px !important;color:var(--nmb-card-title) !important;font-size:26px !important;font-weight:500 !important;font-style:italic !important;line-height:1.2 !important}
.nmb-search-row{display:grid !important;grid-template-columns:minmax(0,1fr) 44px !important;gap:10px !important;align-items:center !important}
.nmb-search-field{position:relative !important;min-width:0 !important}
.nmb-search-field input[type="text"]{display:block !important;width:100% !important;min-width:0 !important;height:42px !important;border:1px solid var(--nmb-card-input-border) !important;border-radius:999px !important;padding:0 40px 0 18px !important;color:var(--nmb-card-title) !important;background:#fff !important;font-size:16px !important;font-weight:400 !important;line-height:40px !important;outline:none !important;box-shadow:none !important;-webkit-appearance:none !important;appearance:none !important;transition:border-color .14s ease,box-shadow .14s ease !important}
.nmb-search-field input[type="text"]::placeholder{color:var(--nmb-card-placeholder) !important;opacity:1 !important}
.nmb-search-field input[type="text"]:focus-visible{border-color:var(--nmb-card-title) !important;box-shadow:0 0 0 3px rgba(11,55,93,.12) !important}
/* La X vive DENTRO la pillola (posizione assoluta): il campo resta sempre
   largo uguale, compare solo quando c'è del testo (classe is-visible dal JS). */
.nmb-search-clear{position:absolute !important;top:50% !important;right:4px !important;display:none !important;width:30px !important;height:30px !important;min-width:0 !important;padding:0 !important;border:0 !important;border-radius:999px !important;background:transparent !important;color:var(--nmb-card-placeholder) !important;line-height:0 !important;transform:translateY(-50%);place-items:center !important;cursor:pointer !important;transition:color .14s ease,background .14s ease !important}
.nmb-search-clear svg{display:block;width:11px;height:11px}
.nmb-search-clear.is-visible{display:grid !important}
.nmb-search-clear:hover{color:var(--nmb-card-title) !important;background:var(--nmb-card-row-hover) !important}
.nmb-search-clear:focus-visible{color:var(--nmb-card-title) !important;outline:2px solid var(--nmb-card-title) !important;outline-offset:-2px !important}
.nmb-search-row button[type="submit"]{display:grid !important;width:44px !important;height:44px !important;min-width:44px !important;padding:0 !important;place-items:center !important;border:0 !important;border-radius:999px !important;color:#fff !important;background:var(--nmb-card-button) !important;line-height:0 !important;transition:background .14s ease !important}
.nmb-search-row button[type="submit"] svg{display:block;width:16px;height:16px}
.nmb-search-row button[type="submit"]:hover{background:var(--nmb-card-button-hover) !important}
.nmb-search-row button[type="submit"]:focus-visible{outline:2px solid var(--nmb-card-title) !important;outline-offset:2px !important}

/* === Elenco regioni (scorre dentro la card) === */
/* La barra di scorrimento sta nel margine destro della card grande, non sopra
   il bordo delle tendine: il box scorrevole si allarga di 14px a destra e li
   restituisce come padding, così le tendine restano allineate alla ricerca. */
.nmb-list-card{display:flex !important;flex:0 1 auto !important;flex-direction:column !important;gap:20px !important;min-height:0 !important;margin:0 -14px 0 0 !important;padding:0 14px 0 0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;overflow-y:auto !important;overflow-x:hidden !important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--nmb-card-border) transparent}
.nmb-list-card::-webkit-scrollbar{width:6px}
.nmb-list-card::-webkit-scrollbar-track{background:transparent}
.nmb-list-card::-webkit-scrollbar-thumb{background:var(--nmb-card-border);border-radius:999px}
.nmb-acc{flex:0 0 auto !important;border:1px solid var(--nmb-card-border) !important;border-radius:10px !important;background:#fff !important;overflow:hidden !important}
.nmb-acc__title{margin:0 !important;padding:0 !important;font-size:16px !important;line-height:1 !important}
.nmb-acc__head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;width:100% !important;min-height:44px !important;padding:0 15px 0 19px !important;border:0 !important;border-radius:0 !important;background:transparent !important;color:var(--nmb-card-region) !important;font-size:16px !important;font-weight:700 !important;line-height:1.25 !important;text-align:left !important;cursor:pointer !important;transition:background .14s ease !important}
.nmb-acc__head:hover{background:var(--nmb-card-row-hover) !important}
.nmb-acc__head:focus-visible{outline:2px solid var(--nmb-card-title) !important;outline-offset:-3px !important;border-radius:9px !important}
.nmb-acc__head svg{display:block;flex:0 0 auto;width:14px;height:8px;color:var(--nmb-card-region);transition:transform .25s ease}
.nmb-acc.is-open .nmb-acc__head svg{transform:rotate(180deg)}
/* Apertura animata con grid-template-rows 0fr→1fr: nessuna altezza fissa,
   il pannello si adatta al numero di città. visibility toglie le città chiuse
   dal tab order e dagli screen reader. */
.nmb-acc__panel{display:grid !important;grid-template-rows:0fr !important;visibility:hidden;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s}
.nmb-acc.is-open .nmb-acc__panel{grid-template-rows:1fr !important;visibility:visible;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1),visibility 0s}
.nmb-acc__inner{min-height:0;overflow:hidden}
.nmb-center-list{display:block !important;margin:0 !important;padding:4px 13px 4px !important;list-style:none !important}
.nmb-city-item{position:relative !important;margin:0 !important;padding:0 !important;list-style:none !important}
.nmb-city-item+.nmb-city-item::before{position:absolute;left:5px;right:5px;top:0;height:1px;background:var(--nmb-card-divider);content:""}
.nmb-center-row{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;width:100% !important;min-height:45px !important;padding:0 9px !important;border:0 !important;border-radius:5px !important;background:transparent !important;color:var(--nmb-card-city) !important;font-size:14px !important;font-weight:400 !important;line-height:1.3 !important;text-align:left !important;cursor:pointer !important;transition:background .14s ease,color .14s ease !important}
.nmb-center-row:hover,.nmb-center-row.is-active{background:var(--nmb-card-row-hover) !important}
.nmb-center-row.is-active{color:var(--nmb-card-title) !important;font-weight:600 !important}
.nmb-center-row:focus-visible{outline:2px solid var(--nmb-card-title) !important;outline-offset:-2px !important}
.nmb-empty-state{padding:4px 2px 0;color:var(--nmb-card-placeholder) !important;font-size:15px !important;line-height:1.45}
@media (prefers-reduced-motion:reduce){
	.nmb-acc__panel,.nmb-acc.is-open .nmb-acc__panel{transition:none}
	.nmb-acc__head svg{transition:none}
}


/* === Scudo contro il tema/kit Elementor ===
   I kit stilizzano button/input/h3 con selettori a due classi (.elementor-kit-N button)
   e a volte con !important: maiuscole, letter-spacing, sfondi e padding dei pulsanti.
   Qui la specificità è più alta (tre classi) e tutto è !important, così la card
   esce come nel disegno qualunque sia il tema. */
.nmb-network .nmb-panel .nmb-search-card label,
.nmb-network .nmb-panel .nmb-acc__title,
.nmb-network .nmb-panel .nmb-acc__head,
.nmb-network .nmb-panel .nmb-acc__head span,
.nmb-network .nmb-panel .nmb-center-row,
.nmb-network .nmb-panel .nmb-center-row span,
.nmb-network .nmb-panel .nmb-search-field input[type="text"],
.nmb-network .nmb-panel .nmb-empty-state{font-family:var(--nmb-font) !important;text-transform:none !important;letter-spacing:normal !important;word-spacing:normal !important;text-decoration:none !important;text-shadow:none !important}
.nmb-network .nmb-panel .nmb-search-card label{display:block !important;font-size:26px !important;font-weight:500 !important;font-style:italic !important;line-height:1.2 !important;color:var(--nmb-card-title) !important;background:transparent !important;border:0 !important;padding:0 !important;margin:0 0 12px !important;box-shadow:none !important}
.nmb-network .nmb-panel .nmb-acc__title{display:block !important;background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;font-size:16px !important;line-height:1 !important;color:var(--nmb-card-region) !important;box-shadow:none !important}
.nmb-network .nmb-panel .nmb-center-list{background:transparent !important;border:0 !important;margin:0 !important;padding:4px 13px 4px !important;list-style:none !important}
.nmb-network .nmb-panel .nmb-city-item{background:transparent !important;border:0 !important;margin:0 !important;padding:0 !important;list-style:none !important}
.nmb-network .nmb-panel .nmb-acc{background:#fff !important;border:1px solid var(--nmb-card-border) !important;border-radius:10px !important;padding:0 !important;margin:0 !important;box-shadow:none !important}
.nmb-network .nmb-panel .nmb-search-card{background:transparent !important;border:0 !important;padding:0 !important;margin:0 0 20px !important;box-shadow:none !important}
.nmb-network .nmb-panel .nmb-acc__head{font-size:16px !important;font-weight:700 !important;font-style:normal !important;color:var(--nmb-card-region) !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;min-height:44px !important;height:auto !important;padding:0 15px 0 19px !important;margin:0 !important;width:100% !important;text-align:left !important}
.nmb-network .nmb-panel .nmb-acc__head:hover{background:var(--nmb-card-row-hover) !important;color:var(--nmb-card-region) !important}
.nmb-network .nmb-panel .nmb-center-row{font-size:14px !important;font-weight:400 !important;font-style:normal !important;color:var(--nmb-card-city) !important;background:transparent !important;border:0 !important;border-radius:5px !important;box-shadow:none !important;min-height:45px !important;height:auto !important;padding:0 9px !important;margin:0 !important;width:100% !important;text-align:left !important}
.nmb-network .nmb-panel .nmb-center-row:hover{background:var(--nmb-card-row-hover) !important;color:var(--nmb-card-city) !important}
.nmb-network .nmb-panel .nmb-center-row.is-active,.nmb-network .nmb-panel .nmb-center-row.is-active:hover{background:var(--nmb-card-row-hover) !important;color:var(--nmb-card-title) !important;font-weight:600 !important}
.nmb-network .nmb-panel .nmb-search-field input[type="text"]{font-size:16px !important;font-weight:400 !important;font-style:normal !important;color:var(--nmb-card-title) !important;background:#fff !important;border:1px solid var(--nmb-card-input-border) !important;border-radius:999px !important;height:42px !important;padding:0 40px 0 18px !important;margin:0 !important;box-shadow:none !important}
.nmb-network .nmb-panel .nmb-search-field input[type="text"]:focus-visible{border-color:var(--nmb-card-title) !important;box-shadow:0 0 0 3px rgba(11,55,93,.12) !important}
.nmb-network .nmb-panel .nmb-search-row button[type="submit"]{background:var(--nmb-card-button) !important;color:#fff !important;border:0 !important;border-radius:999px !important;width:44px !important;height:44px !important;min-height:0 !important;padding:0 !important;margin:0 !important;box-shadow:none !important}
.nmb-network .nmb-panel .nmb-search-row button[type="submit"]:hover{background:var(--nmb-card-button-hover) !important}
.nmb-network .nmb-panel .nmb-search-clear,.nmb-network .nmb-panel .nmb-search-clear:hover{border:0 !important;box-shadow:none !important;min-height:0 !important;width:30px !important;height:30px !important;padding:0 !important;margin:0 !important;border-radius:999px !important}
.nmb-network .nmb-panel .nmb-search-clear{background:transparent !important;color:var(--nmb-card-placeholder) !important}
.nmb-network .nmb-panel .nmb-search-clear:hover{background:var(--nmb-card-row-hover) !important;color:var(--nmb-card-title) !important}
.nmb-network .nmb-panel .nmb-acc__head svg,.nmb-network .nmb-panel .nmb-center-row svg{fill:none !important}
/* Stesso scudo per i marker sulla mappa (sono <button>) */
.nmb-network .nmb-map-wrap .nmb-marker{width:16px !important;height:16px !important;min-width:16px !important;min-height:0 !important;padding:0 !important;margin:0 !important;border:3px solid #fff !important;border-radius:999px !important;background:var(--nmb-marker) !important;box-shadow:none !important;text-transform:none !important;letter-spacing:normal !important}

/* === Map === */
.nmb-map-area{position:relative}
.nmb-map-wrap{position:relative;width:min(100%,650px);margin:0 auto;aspect-ratio:650/790}
.nmb-italy-map{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 20px 34px rgba(18,40,58,.08))}
.nmb-region-shape{fill:var(--nmb-map);stroke:#fff;stroke-width:2;stroke-linejoin:round;transition:fill .16s ease}
.nmb-region-shape.is-active{fill:var(--nmb-region-on)}
.nmb-map-loading{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--nmb-muted) !important;background:var(--nmb-bg);font-size:.95rem !important;line-height:1.4;opacity:1;transition:opacity .2s ease}
.nmb-map-loading.is-hidden{opacity:0;pointer-events:none}

/* === Markers === */
.nmb-marker{position:absolute;left:var(--x);top:var(--y);z-index:3;display:block;width:16px;height:16px;min-width:16px;padding:0 !important;border:3px solid #fff !important;border-radius:999px !important;background:var(--nmb-marker) !important;box-shadow:none !important;line-height:0 !important;transform:translate(-50%,-50%);transition:transform .14s ease}
.nmb-marker:hover,.nmb-marker:focus-visible,.nmb-marker.is-active{box-shadow:none !important;outline:none !important;transform:translate(-50%,-50%) scale(1.08)}

/* === Popover === */
.nmb-city-popover{position:absolute;left:var(--x);top:var(--y);z-index:8;width:min(430px,calc(100vw - 32px));border:1px solid rgba(18,40,58,.06) !important;border-radius:24px !important;padding:22px !important;background:#fff !important;box-shadow:0 18px 55px rgba(18,40,58,.16) !important;opacity:0;pointer-events:none;transform:translate(-50%,calc(-100% - 20px));transition:opacity .16s ease,transform .16s ease;font-family:var(--nmb-font) !important}
.nmb-city-popover.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,calc(-100% - 14px))}
.nmb-city-popover::after{position:absolute;left:50%;bottom:-8px;width:16px;height:16px;border-right:1px solid rgba(18,40,58,.06);border-bottom:1px solid rgba(18,40,58,.06);background:#fff;content:"";transform:translateX(-50%) rotate(45deg)}
.nmb-popover-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.nmb-city-popover h3{margin:0 !important;font-size:1.35rem !important;line-height:1.1 !important;color:var(--nmb-ink) !important;font-weight:800 !important}

/* === Certified badge === */
.nmb-badge{display:inline-flex !important;align-items:center !important;gap:6px !important;margin:11px 0 0 !important;padding:5px 12px !important;border-radius:999px !important;background:#dbe9f6 !important;color:#3a78b2 !important;font-size:.72rem !important;font-weight:800 !important;letter-spacing:.05em !important;text-transform:uppercase !important;line-height:1.2 !important}
.nmb-badge svg{width:14px !important;height:14px !important;flex-shrink:0 !important}

/* === Close button === */
.nmb-close{display:grid !important;width:26px !important;height:26px !important;place-items:center !important;border:1px solid var(--nmb-border) !important;border-radius:999px !important;color:#45545f !important;background:#fff !important;font-size:0 !important;line-height:0 !important;padding:0 !important;position:relative;cursor:pointer !important;transition:background .14s ease !important}
.nmb-close:hover{background:#f0f2f4 !important}
.nmb-close::before,.nmb-close::after{position:absolute;width:10px;height:1.5px;border-radius:99px;background:currentColor;content:"";left:50%;top:50%;transform-origin:center}
.nmb-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.nmb-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* === Pulsanti azione popup: "Prenota una visita" + "Scopri il centro" === */
.nmb-popover-actions{display:flex !important;gap:12px !important;margin-top:16px !important}
.nmb-btn{flex:1 1 0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;min-width:0 !important;height:54px !important;padding:0 14px !important;border:0 !important;border-radius:999px !important;color:#fff !important;font-size:.92rem !important;font-weight:800 !important;letter-spacing:0 !important;text-align:center !important;white-space:nowrap !important;text-decoration:none !important;transition:background .12s ease !important}
.nmb-btn svg{width:18px;height:18px;flex-shrink:0}
.nmb-btn--primary{background:var(--nmb-primary) !important}
.nmb-btn--primary:hover,.nmb-btn--primary:focus-visible{background:var(--nmb-primary-hover) !important;outline:none !important}
.nmb-btn--secondary{background:#5f93bb !important}
.nmb-btn--secondary:hover,.nmb-btn--secondary:focus-visible{background:#517fa3 !important;outline:none !important}
/* Il reset ".nmb-network a" imporrebbe il colore primario al link: forziamo bianco con specificità maggiore */
.nmb-network a.nmb-btn,.nmb-network a.nmb-btn:hover,.nmb-network a.nmb-btn:focus{color:#fff !important}

/* === Modal overlay === */
.nmb-form-layer{position:fixed !important;inset:0 !important;z-index:2147483647 !important;display:grid !important;place-items:center !important;padding:16px !important;background:rgba(18,18,17,.56) !important;opacity:0;pointer-events:none;transition:opacity .18s ease;font-family:var(--nmb-font) !important;overflow-y:auto !important}
.nmb-form-layer.is-open{opacity:1 !important;pointer-events:auto !important}
.nmb-site-shell{transition:filter .18s ease}
body.nmb-modal-open .nmb-site-shell{filter:blur(7px)}

/* === Booking modal === */
.nmb-booking-modal{width:min(480px,calc(100vw - 32px)) !important;max-width:100% !important;border-radius:12px !important;padding:28px 26px !important;background:#fff !important;box-shadow:0 22px 70px rgba(0,0,0,.28) !important;position:relative !important;color:var(--nmb-ink) !important;overflow:hidden !important}
.nmb-modal-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.nmb-logo{display:block;width:90px;height:auto}
.nmb-close--modal{width:32px !important;height:32px !important}
.nmb-close--modal::before,.nmb-close--modal::after{width:12px}
.nmb-booking-modal h3{margin:20px 0 4px !important;font-size:32px !important;line-height:1.1 !important;font-weight:800 !important;color:var(--nmb-ink) !important}
.nmb-booking-modal p{margin:0 0 18px !important;color:var(--nmb-muted) !important;font-size:16px !important;line-height:1.3 !important;font-weight:400 !important}
.nmb-field{display:grid !important;gap:6px !important;margin-bottom:14px !important;max-width:100% !important}
.nmb-field label{color:var(--nmb-muted) !important;font-size:14px !important;font-weight:500 !important;line-height:1.3 !important}
.nmb-field input,.nmb-field select,.nmb-field textarea{height:44px !important;border:1px solid var(--nmb-border) !important;border-radius:6px !important;padding:0 14px !important;font-size:16px !important;outline:none !important;background:#fff !important;color:var(--nmb-ink) !important;box-shadow:0 1px 2px rgba(0,0,0,.05) !important;transition:border-color .14s ease,box-shadow .14s ease !important;max-width:100% !important;min-width:0 !important}
.nmb-field input:focus,.nmb-field select:focus,.nmb-field textarea:focus{border-color:var(--nmb-primary-2) !important;box-shadow:0 0 0 3px rgba(10,106,128,.1) !important}
.nmb-field input::placeholder,.nmb-field textarea::placeholder{color:var(--nmb-muted) !important;opacity:.6 !important}
.nmb-field textarea{height:80px !important;padding:10px 14px !important;resize:vertical}
.nmb-phone-row{display:flex !important;gap:8px !important;align-items:stretch !important;max-width:100% !important;overflow:hidden !important}
.nmb-phone-row .ui-selectmenu-button{display:none !important}
.nmb-phone-prefix{display:block !important;flex:0 0 100px !important;width:100px !important;height:44px !important;border:1px solid var(--nmb-border) !important;border-radius:6px !important;padding:0 4px 0 8px !important;font-size:14px !important;line-height:42px !important;outline:none !important;background:#fff !important;color:var(--nmb-ink) !important;cursor:pointer !important;box-shadow:0 1px 2px rgba(0,0,0,.05) !important;-webkit-appearance:auto !important;appearance:auto !important}
.nmb-phone-prefix:focus{border-color:var(--nmb-primary-2) !important;box-shadow:0 0 0 3px rgba(10,106,128,.1) !important}
.nmb-phone-row input[type="tel"]{flex:1 1 0 !important;min-width:0 !important}
.nmb-privacy{display:grid !important;grid-template-columns:auto 1fr !important;gap:8px !important;align-items:start !important;margin:16px 0 18px !important;color:var(--nmb-muted) !important;font-size:13px !important;line-height:1.4 !important}
.nmb-privacy input{width:16px !important;height:16px !important;margin:1px 0 0 !important;cursor:pointer !important}
.nmb-privacy a{color:var(--nmb-primary) !important}
.nmb-modal-submit{display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;width:100% !important;height:52px !important;border:0 !important;border-radius:999px !important;font-size:16px !important;font-weight:800 !important;letter-spacing:normal !important;text-transform:none !important;color:#fff !important;background:var(--nmb-primary) !important;transition:background .14s ease !important;cursor:pointer !important}
.nmb-modal-submit:hover{background:var(--nmb-primary-hover) !important}
.nmb-form-status{margin-top:10px;font-size:15px !important;text-align:center}
.nmb-form-status.is-success{color:#2e7d32 !important}
.nmb-form-status.is-error{color:#c62828 !important}

/* === Inline accordion (mobile/tablet) === */
.nmb-row-chevron{display:none}
.nmb-inline-actions{display:none}
/* Nell'accordion mobile i due pulsanti si impilano (spazio orizzontale ridotto) */
.nmb-inline-actions .nmb-popover-actions{flex-direction:column !important;margin-top:0 !important}
.nmb-inline-actions .nmb-badge{margin-top:0 !important}

/* === Responsive: LAYOUT legato alla larghezza del CONTENITORE ===
   Usiamo container query (non @media sul viewport) perché lo shortcode può
   essere inserito in una colonna Elementor stretta anche su schermi larghi:
   così mappa e ricerca si impilano quando il contenitore è stretto, invece di
   schiacciare la mappa a 0px. Il JS (isDesktop) usa la stessa soglia di 760px. */
@container nmb (max-width:760px){
	.nmb-network__inner{grid-template-columns:1fr !important;gap:28px !important}
	/* Impilato: la card non è più legata all'altezza della mappa, tetto in px */
	.nmb-control{max-width:560px !important;width:100% !important;margin:0 auto !important;height:auto !important;min-height:0 !important;align-self:auto !important}
	.nmb-list-card{max-height:420px !important}
	.nmb-map-area{min-height:0}
	.nmb-map-wrap{width:min(100%,600px)}
	/* Accordion inline sulla città (badge + pulsanti sotto la riga) */
	.nmb-row-chevron{display:block !important;width:12px !important;height:12px !important;flex-shrink:0 !important;color:var(--nmb-card-city) !important;transition:transform .2s ease !important}
	.nmb-city-item.is-expanded .nmb-row-chevron{transform:rotate(180deg) !important;color:var(--nmb-card-title) !important}
	.nmb-city-item.is-expanded .nmb-inline-actions{display:grid !important;gap:8px !important;padding:8px 9px 12px !important}
	.nmb-city-popover{display:none !important}
}
/* Fallback per browser senza container query: impila sotto i 900px di viewport */
@supports not (container-type:inline-size){
	@media(max-width:900px){
		.nmb-network__inner{grid-template-columns:1fr !important;gap:28px !important}
		.nmb-control{max-width:560px !important;width:100% !important;margin:0 auto !important;height:auto !important;min-height:0 !important;align-self:auto !important}
		.nmb-list-card{max-height:420px !important}
		.nmb-map-wrap{width:min(100%,600px)}
		.nmb-row-chevron{display:block !important;width:12px !important;height:12px !important;flex-shrink:0 !important;color:var(--nmb-card-city) !important;transition:transform .2s ease !important}
		.nmb-city-item.is-expanded .nmb-row-chevron{transform:rotate(180deg) !important;color:var(--nmb-card-title) !important}
		.nmb-city-item.is-expanded .nmb-inline-actions{display:grid !important;gap:8px !important;padding:8px 9px 12px !important}
		.nmb-city-popover{display:none !important}
	}
}

/* === Responsive: MODALE legato al viewport (è figlio di <body>, fuori dal contenitore) === */
@media(max-width:900px){
	.nmb-network{padding:26px 18px 44px !important}
	.nmb-booking-modal{padding:20px 18px !important}
	.nmb-booking-modal h3{font-size:26px !important}
	.nmb-booking-modal p{font-size:15px !important}
	.nmb-field input,.nmb-field select,.nmb-field textarea{height:40px !important;font-size:15px !important}
	.nmb-phone-prefix{height:40px !important;font-size:13px !important;line-height:38px !important;flex:0 0 90px !important;width:90px !important}
	.nmb-modal-submit{height:44px !important;font-size:15px !important}
}
@media(max-width:560px){
	.nmb-network{padding:16px 12px 32px !important}
	.nmb-panel{border-radius:20px !important;padding:18px 16px 18px !important}
	.nmb-search-card label{font-size:22px !important}
	.nmb-map-wrap{width:100%}
	.nmb-city-popover{width:min(260px,calc(100vw - 24px))}
	.nmb-marker{width:18px;height:18px}
	.nmb-booking-modal{width:calc(100vw - 32px) !important;padding:18px 14px !important}
	.nmb-booking-modal h3{font-size:22px !important}
	.nmb-booking-modal p{font-size:14px !important}
	.nmb-field{margin-bottom:10px !important}
	.nmb-field input,.nmb-field select,.nmb-field textarea{height:38px !important;font-size:14px !important}
	.nmb-field label{font-size:12px !important}
	.nmb-phone-prefix{height:38px !important;font-size:12px !important;line-height:36px !important;flex:0 0 80px !important;width:80px !important;padding:0 2px 0 6px !important}
	.nmb-phone-row{gap:6px !important}
	.nmb-privacy{font-size:11px !important;gap:6px !important;margin:12px 0 14px !important}
	.nmb-privacy input{width:14px !important;height:14px !important}
	.nmb-modal-submit{height:40px !important;font-size:14px !important}
	.nmb-close--modal{width:28px !important;height:28px !important}
}
