:root {
    --grigio: #1f2937;
    --grigio-scuro: #e2e8f0;
    --celeste: #38bdf8;
    --celeste-hover: #0ea5e9;
    --celeste-light: #0d2b3e;
    --bianco: #111827;
    --bianco-sporco: #0e1525;
    --bianco-sporco-pagina: #0b1120;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-full: 999px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
    --shadow-md: 0 4px 16px rgba(0,0,0,.5);
    --shadow-lg: 0 12px 32px rgba(0,0,0,.6);
    --transition-fast: 150ms ease;
    --sub: #9ca3af;
    --err: #ef4444;
    --ok: #22c55e;
    --warn: #f59e0b;
    --arancione-tema: #f97316;
    --bordo: #1f2937;
}

body,html{font-family:'Open Sans',sans-serif;color:var(--grigio-scuro);font-size:14px;background-color:var(--bianco-sporco-pagina);line-height:22px;padding-left:5px;padding-right:5px}

html, body {background-color: var(--bianco-sporco-pagina)}

label{font-family:'Open Sans',sans-serif;color:var(--grigio-scuro);font-size:14px;line-height:22px}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--sub);
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--sub);
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--sub);
}

.numeromezzo {font-size: 25px; font-weight: 700; float: left}

.prov{display:none}

.disabled{background-color:#374151!important;color:var(--sub)!important}

.disclaimer{background-color:var(--bianco);box-sizing:border-box;color:var(--err);text-align:center;font-size:18px;margin-bottom:20px;line-height:35px;padding:12px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--err)}

.error{color:var(--err)}

.popup-open{cursor:pointer}

.shadow {position:fixed;top:0px;left:0px;width:100%;height:100%;z-index:10000;background-color:rgba(0, 0, 0, 0.75);display:none}

.popup {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:10000;max-width:700px;max-height:550px;width:calc(100% - 80px);height:calc(100% - 80px);background-color:var(--bianco);padding:24px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--grigio);color:var(--grigio-scuro);text-align: left;}

.popup-prospetto {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:10000;max-width:700px;max-height:550px;width:100%;height:100%;background-color:var(--bianco);padding:24px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--grigio);color:var(--grigio-scuro);text-align: left;overflow-y:scroll}

.close-popup {position:absolute;top:-20px;right:-20px;background-color:var(--celeste);color:#fff !important;border-radius:100%;width:40px;height:40px;text-align:center;line-height:44px;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--transition-fast), box-shadow var(--transition-fast)}

.close-popup:hover {background-color:var(--celeste-hover);box-shadow:var(--shadow-lg)}

.close-popup .fa, .close-popup .far, .close-popup .fas, .close-popup svg.svg-inline--fa , .close-popup .fa-solid {color:#fff;font-size: 20px !important;}

.popup-close {position: absolute;top: 20px;right: 20px;cursor: pointer;}

/* ── Pendolina: testo sovrapposto a un'immagine stampata (manifesto
   funebre), non fa parte del tema dell'interfaccia. Lasciato invariato. ── */
#pendolina-sfondo {width: 1754px;height: 2480px;background-size: contain;margin: 30px auto;position:relative;}

#pendolina-fotodefunto-orizzontale {margin: 0px auto;font-size: 2200%;font-family: 'Merriweather', serif;text-align: center;line-height: 1;position: absolute;top: 100px;left: 100px;z-index: 2;color: #000;padding: 0 40px;box-sizing: border-box;}

#pendolina-img-defunto {width: 311px;}

#pendolina-defunto {width: 100%;margin:0px auto;font-size:2200%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:70px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-estensione {width: 100%;margin:0px auto;font-size:550%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:700px;left:0;z-index:2;color:#000;font-style:italic;padding: 0 40px;box-sizing: border-box;}

#pendolina-funerale {width: 100%;margin:0px auto;font-size:650%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:800px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-funzione {width: 100%;margin:0px auto;font-size:650%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:1200px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-servizio {width: 50%;margin:0px auto;font-size:350%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:1650px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;left:50%;transform: translateX(-50%);}

#pendolina-sfondo-orizzontale {width: calc(100vw - 36px);height: calc(100vh - 16px);background-size: contain;margin: 30px auto;position:relative;}

#pendolina-defunto-orizzontale {width: 100%;margin:0px auto;font-size:2200%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:70px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-defunto-orizzontale-foto {width: calc(100% - 500px);margin:0px auto;font-size:2200%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:70px;left:500px;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-estensione-orizzontale {width: 100%;margin:0px auto;font-size:550%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:355px;left:0;z-index:2;color:#000;font-style:italic;padding: 0 40px;box-sizing: border-box;}

#pendolina-estensione-orizzontale-foto {width: calc(100% - 500px);margin:0px auto;font-size:550%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:355px;left:500px;z-index:2;color:#000;font-style:italic;padding: 0 40px;box-sizing: border-box;}

#pendolina-funerale-orizzontale {width: 100%;margin:0px auto;font-size:650%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:420px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-funerale-orizzontale-foto {width: calc(100% - 500px);margin:0px auto;font-size:650%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:420px;left:500px;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-funzione-orizzontale {width: 100%;margin:0px auto;font-size:650%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:540px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-funzione-orizzontale-foto {width: calc(100% - 500px);margin:0px auto;font-size:650%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:540px;left:500px;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-servizio-orizzontale {width: 50%;margin:0px auto;font-size:350%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:670px;left:0;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;left:50%;transform: translateX(-50%);}

#pendolina-servizio-orizzontale-foto {width: calc(100% - 500px);margin:0px auto;font-size:350%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:670px;left:500px;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;}

#pendolina-orari-orizzontale {width: 50%;margin:0px auto;font-size:350%;font-family: 'Merriweather', serif;text-align:center;line-height:1;position:absolute;top:960px;z-index:2;color:#000;padding: 0 40px;box-sizing: border-box;right:0%;}

.blu-font {color: #60a5fa}

.apri-segnalazione {cursor:pointer}

.signature-pad--body {border: 1px solid var(--grigio);border-radius: var(--radius-sm);width: 100%;height: 100%;max-height: 300px;background-color:#fff;}

.signature-pad--body canvas {width: 100% !important;height: 150px !important;}

.asl, .cremazione{display:none}

a{color:var(--celeste);text-decoration:underline}

a:hover{color:var(--celeste-hover);text-decoration:none}

.clear{display:block;height:0;clear:both}

#space,#tips{display:none}

.inline-input {width: 45%;float: left;display: block;font-size: 14px;font-family: 'Open Sans',sans-serif;border: 1px solid var(--grigio);color: var(--grigio-scuro);box-sizing: border-box;padding: 6px;background-color: var(--bianco-sporco);border-radius: var(--radius-sm);transition: border-color var(--transition-fast), box-shadow var(--transition-fast);margin-right: 2.5%;}

.inline-inputx {width: 92.5%;float: left;display: block;font-size: 14px;font-family: 'Open Sans',sans-serif;border: 1px solid var(--grigio);color: var(--grigio-scuro);box-sizing: border-box;padding: 6px;background-color: var(--bianco-sporco);border-radius: var(--radius-sm);transition: border-color var(--transition-fast), box-shadow var(--transition-fast);margin-right: 2.5%;}

.btn-inline {width: 5%;padding: 3.5px;border: 1px solid var(--grigio);border-radius: var(--radius-sm);box-sizing: border-box;cursor: pointer;display: inline-block;text-align: center;transition: border-color var(--transition-fast), background-color var(--transition-fast);}

.btn-inline .fas, .btn-inline .fa-solid {font-size: 18px !important;}

.cf:after,.cf:before{content:" ";display:table}

.cf:after{clear:both}

.img{background-size:cover;background-repeat:no-repeat;background-position:center}

.bold{font-weight:700}

.italic{font-style:italic}

.sinistra-nord {float: left; width: calc(50% - 20px);}

.destra-nord {float: right; width: calc(50% - 20px);}

.prospetto-quadrato {float: left;width: calc(33.333333% - 16.6666666px);border: 1px solid var(--grigio);margin-right: 20px;margin-bottom: 20px;padding: 10px; box-sizing: border-box;text-align: center;min-height:316px}

@keyframes blinker { 0% { opacity: 1.0; }50% { opacity: 0.0; }100% { opacity: 1.0; }}

.blink-text {animation:1s blinker linear infinite;}

.prospetto-quadrato.last {margin-right: 0}

.prospetto-quadrato.funerali {background-color: rgba(148,163,184,.18);}

.prospetto-quadrato.ott {background-color: rgba(192,132,252,.18);}

.prospetto-quadrato.accessori {background-color: rgba(56,189,248,.18);}

.mezzo-tot {padding: 10px;margin-bottom: 20px;border: var(--grigio) 1px solid;position: relative;float: left;width: calc(33.33333% - 20px); margin-right: 20px;box-sizing: border-box;min-height: 238px;}

.mezzo-tot.terzo{margin-right:0}

.mezzo-tot.rossino {background-color:var(--err);color: #fff;}

.mezzo-tot.verdino {background-color:var(--ok);color: #fff;}

.mezzo-tot.giallino {background-color:var(--warn);}

.mezzo-tot.arancioncino {background-color:var(--arancione-tema);}

.mezzo-tot.bluino {background-color:#3b82f6;color: #fff;}

.campo {float: left;padding-right: 5px;}

.quadrato.verdino {background-color:var(--ok);}

.quadrato.giallino {background-color:var(--warn);}

.opensegnalazione {float: right;}

.opensegnalazione .fas, .opensegnalazione .fa-solid {font-size: 18px !important}

.verdino .opensegnalazione .fas, .bluino .opensegnalazione .fas, .arancioncino .opensegnalazione .fas, .verdino .opensegnalazione .fa-solid, .bluino .opensegnalazione .fa-solid, .arancioncino .opensegnalazione .fa-solid {color: #fff}

.giallino .opensegnalazione .fas, .giallino .opensegnalazione .fa-solid {color: #1a1300;}

.opensegnalazione .close-popup .fas, .opensegnalazione .close-popup .fa-solid {color: #fff;}

.quadrato.arancioncino {background-color:var(--arancione-tema);}

.quadrato.bluino {background-color:#3b82f6;}

.quadrato.rossino {background-color:var(--err);}

.listino-img {display: block;float: left;width: 150px;margin-right: 10px;border:1px solid var(--grigio);}

.fa,.far,.fas,svg.svg-inline--fa,.fa-solid{color:var(--sub);font-size:35px!important;text-decoration:none!important}

a:hover .fa,a:hover .far,a:hover .fas,a:hover svg.svg-inline--fa,a:hover .fa-solid{color:var(--celeste-hover)}

.icon_cnt{vertical-align:middle;text-align:left}

.icon_cnt .fa,.icon_cnt .far,.icon_cnt .fas,.icon_cnt svg.svg-inline--fa, .icon_cnt .fa-solid{font-size:20px!important; opacity: 1}

svg.svg-inline--fa.little{font-size:20px !important;padding-right:5px}

.grey{color:var(--sub) !important}

.red{color:var(--err) !important}

.yellow{color:var(--warn) !important}

.green{color:var(--ok) !important}

.blue{color:var(--celeste) !important}

.altrox {display:none}

.legend {display:none;height:auto}

.sx_50 {float: left;width: calc(50% - 20px)}

.dx_50 {float: right;width: calc(50% - 20px)}

.title{margin-bottom:30px;font-weight:600;letter-spacing:.2px;cursor:pointer}

.title .fas, .title .fa-solid {font-size:20px !important;padding-right:10px}

.operator {display:none;height:auto}

.titleo{margin-bottom:30px;font-weight:600;letter-spacing:.2px;cursor:pointer}

.titleo .fas, .titleo .fa-solid {font-size:20px !important;padding-right:10px}

.icon_cnt img{display:block;line-height:0;max-width:120px;width: 25px;margin:0px auto;}

.popup img {margin: 0;}

.funerali td {padding:5px;background-color:rgba(148,163,184,.18);font-weight:700;color:var(--grigio-scuro)}

.ott td {padding:5px;background-color:rgba(192,132,252,.18);font-weight:700;color:var(--grigio-scuro)}

.accessori td {padding:5px;background-color:rgba(56,189,248,.18);font-weight:700;color:var(--grigio-scuro)}

.altro td {padding:5px;background-color:rgba(217,119,6,.18);font-weight:700;color:var(--grigio-scuro)}

.funerali .icon_cnt, .ott .icon_cnt, .accessori .icon_cnt, .altro .icon_cnt {background-color: var(--bianco);}

.quadrato {width:20px;height:20px;display:inline-block;margin-right:5px;position:relative;top:5px;}

.legenda {margin-right:25px;display:inline-block}

.list .icon_cnt img {max-width: 30px;display: block;width: 25px;}

.td.icon_cnt img {max-width: 30px;display: block;width: 25px;}

.cont-popup img {max-width: 30px;display: inline-block;width: 25px;}

.cont-popup .fa,.cont-popup .far,.cont-popup .fas,.cont-popup svg.svg-inline--fa,.cont-popup .fa-solid{font-size:20px!important}

.funerali .icon_cnt, .ott .icon_cnt, .accessori .icon_cnt, .altro .icon_cnt {text-align:center}

.tabellone {float:left;width:calc(33.33333% - 13.3333333px);margin-right:20px}

.tabellone.last {margin-right:0}

.all_prod {width:100%;border-left:var(--grigio) 1px solid;border-right:var(--grigio) 1px solid;box-sizing:border-box}

.head_prod {padding:10px;text-align:center;background-color:var(--bianco);border-bottom:var(--grigio) 1px solid;font-weight:700;border-top:var(--grigio) 1px solid}

.sx1_prod {float:left;width:50%;border-right:var(--grigio) 1px solid;border-bottom:var(--grigio) 1px solid;box-sizing:border-box;text-align:left;padding:10px;font-weight:700}

.dx1_prod {float:right;width:50%;border-bottom:var(--grigio) 1px solid;box-sizing:border-box;text-align:left;padding:10px;position:relative;}

.dx1_prod.part{padding:10px 35px 10px 10px}

.mb {margin-bottom: 20px;}

.shadow2 {position:fixed;top:0px;left:0px;width:100%;height:100%;z-index:10000;background-color:rgba(0, 0, 0, 0.75);display:none}

.popup2 {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 10000;max-width: 700px;max-height: 400px;width: 100%;height: 100%;background-color: var(--bianco);padding: 24px;border-radius: var(--radius-md);box-shadow: var(--shadow-lg);border: 1px solid var(--grigio);color: var(--grigio-scuro);text-align: center}

.close-popup2 {position: absolute;top: -20px;right: -20px;background-color: var(--bianco);color: var(--sub);border-radius: 100%;width: 40px;height: 40px;text-align: center;line-height: 40px;cursor: pointer;box-shadow: var(--shadow-md);transition: color var(--transition-fast), box-shadow var(--transition-fast)}

.close-popup2:hover {color: var(--celeste);box-shadow: var(--shadow-lg)}

.plus {position: absolute;top: 50%;transform: translateY(-50%);right: 10px;color: var(--grigio-scuro);cursor:pointer;}

.plus .fas, .close-popup2 .fas, .plus .fa-solid, .close-popup2 .fa-solid {color:var(--grigio-scuro) !important;font-size:20px !important}

.listino {width: 100%;min-width: 300px;border: 0;}

#table-slide th, #table-slide td {text-align: center !important;padding: 10px !important;}

.grigio {background-color: var(--bianco);}

.bg-green td {background-color: rgba(34,197,94,.28);}

.bg-yellow td {background-color: rgba(245,158,11,.28);}

.bg-red td {background-color: rgba(239,68,68,.28);}

.text-danger {color: var(--err)}

.text-warning {color: var(--warn)}

.text-success {color: var(--ok)}

.text-info {color: var(--celeste)}

.text-decoration-line-through {text-decoration: line-through;}

.red-border {border: 1px solid var(--err); padding: 10px;}

.box-operazioni {float:left;width:calc(25% - 15px);margin-right:20px;border:3px solid var(--grigio);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px;box-sizing:border-box;position: relative;margin-bottom: 80px;min-height: 242px;transition:box-shadow var(--transition-fast);background-color:var(--bianco);}

.box-operazioni:hover {box-shadow:var(--shadow-md);}

.rowlistino{box-sizing: border-box;border-right: var(--grigio) 1px solid;border-left: var(--grigio) 1px solid;border-bottom: var(--grigio) 1px solid;padding: 10px;text-align: left;}

.rowlistino.first {border-top:var(--grigio) 1px solid;font-weight:700;background-color: var(--bianco);text-align:center}

.ripristina {position: absolute;top: 20px;right: 20px;}

.ripristina .fas, .ripristina .fa-solid {font-size:20px !important}

.note {min-height: 88px;}

.box-operazioni.last {margin-right:0}

.box-operazioni.last + .box-operazioni {clear:left}

.bordo-rosso {border-color: var(--err);}

.bordo-giallo {border-color: var(--warn);}

.bordo-verde {border-color: var(--ok);}

.testo-rosso {color: var(--err);}

.testo-giallo {color: var(--warn);}

.testo-verde {color: var(--ok);}

.bordo-blu {border-color: var(--celeste);}

.box-operazioni .icona{border-radius:100%;background-color:var(--bianco);z-index:2;position:absolute;top:-50px;height:80px;width:80px;left:50%;transform:translateX(-50%);line-height: 88px;border:3px solid var(--grigio);box-shadow:var(--shadow-sm);text-align: center;}

.box-operazioni .icona img{max-height:40px;display:block;margin:0px auto;margin-top:20px}

.box-operazioni .titolo {margin-top: 15px;font-weight:600;letter-spacing:.2px;text-transform:uppercase;text-align: center;margin-bottom: 5px;}

.icona.bordo-rosso {border-color: var(--err);}

.icona.bordo-giallo {border-color: var(--warn);}

.icona.bordo-verde {border-color: var(--ok);}

.icona.bordo-blu {border-color: var(--celeste);}

.btncnt {padding-top: 10px;text-align: center}

.position{position:relative}

.svg-inline--fa {display: inline-block;height: 1em;overflow: visible;vertical-align: -0.125em;width: 0.75em;}

.btn{font-size:14px;font-family:'Open Sans',sans-serif;display:inline-block;color:#fff;background-color:#374151;border:1px solid #374151;border-radius:var(--radius-sm);padding:6px 20px;text-decoration:none;text-transform:lowercase;text-align:center;margin:0 auto;cursor:pointer;line-height:22px;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast)}

.btn:active,.btn:focus,.btn:hover{color:#374151;background-color:#fff;box-shadow:var(--shadow-sm)}.btn.form{margin:0 auto;display:block}

.btn.absolute{position:absolute;bottom:20px;right:20px}

.btn.verde {background-color: var(--ok);color: #fff;border-color:var(--ok);}

.btn.rosso {background-color: var(--err);color: #fff;border-color:var(--err);}

.container{padding:0 20px;margin:0 auto;position:relative;box-sizing:border-box;max-width: 100%}

.input{font-size:14px;font-family:'Open Sans',sans-serif;border:1px solid var(--grigio);color:var(--grigio-scuro);box-sizing:border-box;width:100%;padding:6px 10px;background-color:var(--bianco-sporco);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast)}

.input:focus{background-color:var(--bianco);border-color:var(--celeste);box-shadow:0 0 0 3px var(--celeste-light)}

/* ── Header/menu: pannello laterale sempre chiuso di default, uguale
   su tutte le pagine (stesso comportamento già validato su turni.css).
   Il vecchio menu orizzontale a tendina (voci in fila, sottomenu ad
   hover, breakpoint mobile separato) è sostituito ovunque da un'unica
   barra a destra col trigger fisso in alto, senza più bisogno del
   display:block!important che c'era da desktop né di !important qui:
   quella regola è stata tolta insieme al resto del vecchio menu. ── */
header{background-color:var(--bianco);border-bottom:1px solid var(--grigio);
    display:flex;align-items:center;gap:14px;padding:8px 15px;position:relative}

#cnt_head{margin:0;padding:0;flex-shrink:0}
/* #cnt_head porta la classe "cf" (clearfix), che genera due pseudo-elementi
   con content:" " (uno spazio, non stringa vuota): quello spazio viene
   renderizzato come una riga di testo vera, alta quanto il line-height del
   sito, per ciascuno dei due pseudo-elementi. Serviva a "chiudere" il float
   di #cnt_logo di prima; ora che il logo non è più float, resta solo
   altezza vuota fantasma sotto di esso. */
#cnt_head:before,#cnt_head:after{content:none}

#cnt_logo{padding:10px 0}

#cnt_logo img{max-height:32px;width:auto;display:block}

#cnt_logo a{display:block;line-height:0}

#logo{max-width:120px;line-height:0}

#cnt_slogan{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-weight:700;font-size:30px}

/* position:absolute lo toglie del tutto dal flusso flex di header: i
   suoi contenuti sono comunque tutti position:fixed rispetto al
   viewport, ma se #cnt_menu resta un item flex normale può forzare
   l'header ad andare a capo (una seconda fascia quasi vuota sotto il
   logo) e il pulsante MENU finisce allineato a quella riga fantasma
   invece che al centro dell'header vero. */
#cnt_menu{padding:0;margin:0;position:absolute;top:0;right:0;width:0;height:0;overflow:visible}

#menu_trigger{display:block;position:fixed;top:10px;right:14px;z-index:5001;
    background-color:#374151;color:#fff;padding:6px 37px 6px 15px;border-radius:6px;
    font-size:12px;font-weight:700;line-height:1.4;cursor:pointer}

#menu_trigger:hover{background-color:#4b5563}

#menu_trigger:after{content:"\f0c9";font-family: "Font Awesome 5 Pro";font-weight:700;
    display:block;position:absolute;right:14px;top:5px;font-size:14px}

#menu{display:none;position:fixed;top:0;right:0;height:100vh;box-sizing:border-box;overflow-y:auto;
    width:300px;max-width:85vw;z-index:5000;margin:0;padding:56px 0 8px;list-style-type:none;
    text-align:left;background-color:var(--bianco);border-left:1px solid var(--grigio);
    box-shadow:-12px 0 40px rgba(0,0,0,.6)}

#menu.aperto{display:block}

.menu-li{float:none;display:block}

.menu-a{text-align:left;display:block;color:var(--grigio-scuro);padding:9px 18px;
    border-right:0;border-bottom:1px solid var(--grigio);font-weight:700;
    text-transform:uppercase;text-decoration:none;font-size:12px}

.bordernone{border-right:none}

/* Prima ".menu-a.hover,.menu-li:hover .menu-a{color:#444}" scuriva anche
   tutti i link del sottomenu passando sopra l'intero <li>, non solo
   quello sotto il cursore. */
.menu-li:hover .menu-a{color:var(--grigio-scuro)}

.menu-a:hover,.menu-a.hover{background-color:#1a2236}

.submenu{margin:0;padding:0;display:block;position:relative;top:0;left:0;
    white-space:normal;text-align:left;background-color:transparent;list-style-type:none;
    box-shadow:none}

.submenu .menu-li {float:none;text-align:left;border-bottom:1px solid var(--grigio)}

.submenu .menu-a {border:0;text-align:left;padding-left:36px}

section{margin-top:20px}

#cnt_body{padding:20px 20px 80px 20px;box-shadow:var(--shadow-sm)}

.f_right{float:right;margin-left:20px}

.f_right a{margin-left:15px}

.alert{color:var(--err);font-style:italic}

.data_table{width:100%;border-collapse:collapse}

.data_table tbody tr:hover{background-color:var(--celeste-light);transition:background-color var(--transition-fast)}

.data_table.slide {min-width:300px;border-collapse:collapse}

.bordata {border-top: 1px solid var(--grigio);border-left: 1px solid var(--grigio);}

.bordered.grigio {background-color: var(--bianco);font-style:italic}

.bordered.white {background-color: var(--bianco);}

.bordered.blu {background-color: rgba(56,189,248,.18);}

.bordered.red {background-color: var(--err); color: #fff !important}

.bordered.green {background-color: var(--ok); color: #fff !important}

.table-container {width:100%;overflow-x:auto}

.table-responsive {display: block; width: 100%; overflow-x: auto; }

#table-slide {min-width: 500px;width:100% !important;}

.data_table.collapse{border-collapse:collapse}

.data_table.collapse thead tr{border-bottom:1px solid var(--grigio)}

.data_table.collapse thead tr td{padding-bottom:5px}

.bordered td {border: 1px solid var(--grigio);padding:5px}

.bordered.intestazione td, .bordered.intestazione th {border: 1px solid var(--grigio);padding:5px;text-align: center;background-color:#1a2236}

.label{width:25%;vertical-align:middle}

.top{vertical-align:top}

.label em,.label i{font-size:11px}

#googlemap{height:400px}

.table_spacing{padding:10px 0}

.flag{float:right;margin-right:10px;max-width:22px}

.rigaup{height:1px;overflow:hidden;font-size:1px;background-color:var(--grigio);margin-top:0;margin-bottom:10px}

.items td{border-bottom:1px solid var(--grigio);padding:10px 0}

.riga{height:1px;overflow:hidden;font-size:1px;background-color:var(--grigio);margin-top:10px;margin-bottom:10px}

.titolo_principale{margin:0;padding:0;padding-bottom:20px;font-size:17px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;line-height:35px}

.pag{cursor:pointer}#map_ctrl *{font-size:12px!important;box-sizing:border-box}#map_cnt{position:relative}

#map{height:400px}

#map_ctrl{position:absolute;top:7px;left:50%;transform:translateX(-50%);z-index:5;background-color:var(--bianco);padding:5px;box-shadow:var(--shadow-md);border-radius:var(--radius-sm);text-align:center;line-height:30px;font-size:12px!important}

#map_ctrl input[type=button]{cursor:pointer}

#map_ctrl input{border:1px solid var(--grigio);padding:3px 5px;background-color:var(--bianco-sporco);color:var(--grigio-scuro)}

#delete_marker{margin-left:20px}

.checkbox_cnt{padding:20px;border:1px solid var(--grigio);border-radius:var(--radius-md);max-height:300px;overflow-y:scroll}

.checkbox{margin-bottom:5px;cursor:pointer}

.checkbox label{cursor:pointer;padding-left:5px}

.checkbox .fa,.checkbox .far,.checkbox .fas{color:var(--grigio-scuro);font-size:14px!important}

.checkbox:last-child{margin-bottom:0}

.tree{background-color:var(--bianco);display:block;padding:5px;border-radius:var(--radius-sm);text-decoration:none;transition:background-color var(--transition-fast)}

.tree:hover{background-color:#1a2236;color:#f87171}

.tree.selected,.tree.selected:hover{background-color:#1e2a3d;color:#f87171}

.tree.disabled,.tree.disabled:hover{cursor:not-allowed;background-color:var(--bianco);text-decoration:line-through;color:var(--sub)}

.btn_permessi{padding:5px;width:30px;display:inline-block;border:0;text-align:center;cursor:pointer}

.lettura{background-color:var(--ok);color:#fff}

.lettura:before{content:"L"}

.scrittura{background-color:var(--err);color:#fff}

.scrittura:before{content:"S"}

.niente{background-color:var(--grigio);color:#fff}

.niente:before{content:"N"}

#legenda{float:right}

.permesso{float:right;margin-left:20px}

.permesso .btn_permessi{width:13px;cursor:auto;padding:0 5px}

#tabella_bordi{width:100%;border-collapse:collapse}

#tabella_bordi,#tabella_bordi td,#tabella_bordi tr{border:1px solid var(--grigio)}

#tabella_bordi td{padding:5px;height:90px;vertical-align:middle}

#tabella_bordi td.bottoni{text-align:center;width:12.5%}

.mobile_table{display:none}

.vend_cnt{border:1px solid var(--grigio);border-top:0;margin-top:40px}

.vend_cnt.first{margin-top:0}

.vend{text-align:center;font-weight:700;padding:10px;border-top:1px solid var(--grigio)}

.mat_btn_cnt{border-top:1px solid var(--grigio)}

.mat_cnt{float:left;width:80%;text-align:left}

.btn-cnt{text-align:center;padding-top:20px}

.btn_cnt{float:left;width:20%;text-align:right}

.btn_cnt .btn_permessi{padding:10px 0;display:block;border:0;text-align:center;cursor:pointer;width:auto}

.padding{padding:5px}

.desktop_table *{-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}

footer{margin-top:20px}

#cnt_copy{padding-top:5px;border-top:5px solid var(--grigio);color:var(--sub)}

#queue{border:1px solid var(--grigio);height:200px;overflow:auto;margin-bottom:20px;padding:0 3px 3px;width:100%;box-sizing:border-box}

ul.tab_menu{z-index:1000;list-style:none;position:relative;top:1px;padding:0;margin:0;box-sizing:border-box}

.tab_menu li{display:inline-block;background-color:var(--bianco);z-index:100}

.tab_menu li a{display:block;text-transform:uppercase;font-weight:700;padding-left:10px;padding-right:10px;height:35px;line-height:35px;border-top:var(--grigio) 1px dotted;border-bottom:var(--grigio) 1px dotted;border-right:var(--grigio) 1px dotted;box-sizing:border-box;color:var(--sub);text-decoration:none !important}

.tabfirst{border-left:var(--grigio) 1px dotted}

.tabmenuactive{border-bottom:var(--bianco) 1px solid !important;color:var(--grigio-scuro) !important}

.tab{z-index:9;position:absolute;display:none;top:35px;width:100%;box-sizing:border-box;border-left:var(--grigio) 1px dotted;border-right:var(--grigio) 1px dotted;border-top:var(--grigio) 1px dotted;border-bottom:var(--grigio) 1px dotted;padding:20px;background-color:var(--bianco)}

.tabactive{display:block;position:relative;top:0px}

.list {display:inline-block;}

.solo_mobile{display:none}

.turni {
    width: 100%;
    min-width: 500px;
    border-collapse: separate;
    border-spacing: 0;
    border: 0;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.turni tr td, .turni tr th {
    border-right: var(--grigio) 1px solid;
    border-bottom: var(--grigio) 1px solid;
    padding: 5px;
    text-align: left;
    box-sizing: border-box;
    text-align: center;
}

.turni tr:first-child td, .turni tr:first-child th {
    border-top: var(--grigio) 1px solid;
}
.turni tr td:first-child, .turni tr th:first-child {
    border-left: var(--grigio) 1px solid;
}
.turni tr th {
    padding: 7px 20px;
    text-transform: uppercase;
    border-top: var(--grigio) 1px solid;
    color: var(--sub);
    background-color: #1a2236;
}

.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.75);
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.modal-content {
	background-color: var(--bianco);
	padding: 24px;
	border-radius: var(--radius-md);
	width: 90%;
	max-width: 600px;
	box-shadow: var(--shadow-lg);
	position: relative;
	overflow-y: scroll;
	max-height: 90%;
	border: 1px solid var(--grigio);
}

.faq-item {
	margin-bottom: 15px;
	padding: 10px;
	border-bottom: 1px solid var(--grigio);
}

.question {
	font-weight: bold;
	font-size: 1.1em;
	cursor: pointer;
}

.answer {
	font-size: 1em;
	color: var(--sub);
	padding: 10px 0 0 10px;
}

.close {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 24px;
	cursor: pointer;
	color: var(--sub);
	transition: color var(--transition-fast);
}

.close:hover {
	color: var(--celeste);
}

::-webkit-scrollbar {
	width: .6rem;
	height: .6rem;
	border-radius: .5rem;
	background: #0e1525;
}

::-webkit-scrollbar-thumb {
	border-radius: .5rem;
	background: #374151;
}

::-webkit-scrollbar-thumb:hover {
	border-radius: .5rem;
	background: #4b5563;
}

.row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -7.5px;
	margin-left: -7.5px;
	box-sizing: border-box;
}

.col-6 {
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
	position: relative;
	width: 100%;
	padding-right: 7.5px;
	padding-left: 7.5px;
	box-sizing: border-box;
}

.col-12 {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
	position: relative;
	width: 100%;
	padding-right: 7.5px;
	padding-left: 7.5px;
	box-sizing: border-box;
}

.form-group {
	margin-bottom: 15px;
}

.form-group label {
	margin-bottom: 5px;
	display: block;
}

.cerchiogiallo {
	color: var(--warn) !important;
}

.cerchiorosso {
	color: var(--err) !important;
}

.cerchioverde {
	color: var(--ok) !important;
}

.cerchioblu {
	color: var(--celeste) !important;
}

/* Il menu ora è un pannello fisso uguale a qualunque larghezza di
   schermo (vedi sopra): qui restano solo le regole responsive di altri
   componenti, non più quelle del vecchio menu a tendina. */
@media all and (max-width:820px){
	.list {display:block;margin-bottom:10px}

	.legend {margin-bottom:20px;}

	.list .icon_cnt {width: 50px !important;text-align:center}

	.list .icon_cnt svg {width: auto !important}

	.nomob {display:none}

	.solo_mobile {display:table-cell}

	.mezzo-tot {
		float:none;
		width:100%;
		margin-right:0;
		margin-bottom:20px;
		min-height: 1px;
	}

	.showpc {display:none}
}

@media all and (max-width:796px){
	/*.popup {width:calc(100% - 120px);height:auto;max-height:none}*/

	.box-operazioni {float: none;width: 100%;min-height: 0px;margin-right:0}

	.note {min-height:0;}

	.tabellone {float:none;margin-bottom:20px;margin-right:0;width:100%;}

	.sx_50 {float:none;width:100%;margin-bottom:20px;}

	.dx_50 {float:none;width:100%;}

}

@media all and (max-height:400px){
	.popup {overflow-y:scroll;overflow-x:hidden;max-height:calc(100vh - 80px)}

	.close-popup {top:5px;right:5px}

	.btn-cnt {padding-bottom:20px}
}

@media all and (max-width:666px){
	#cnt_logo{float:none;margin:0 auto;text-align:center}

	#cnt_logo img{max-width: 100%;width:auto}

	#cnt_slogan{position:static;transform:translateY(0);font-size:20px;margin-top:20px;text-align:center}

	.operative .btn {display: block;max-width: 170px;margin:0px auto;margin-bottom: 20px;}
}

@media all and (max-width:500px){
	#legenda{float:none;margin-bottom:20px;text-align:center}

	.permesso{display:inline-block;float:none;margin:0 5px}

	.desktop_table{display:none}

	.mobile_table{display:block}

	.tipx {display:none}
}

.giorno {width: calc(100% / 7);border: 1px solid var(--grigio);border-right: 0;float: left;min-height: 125px;font-weight: 700;text-align: center;box-sizing: border-box;cursor:pointer;padding:15px;text-decoration: none}

.giorno.selected {background-color:var(--ok);color:#fff}

.giorno.last {border-right: 1px solid var(--grigio);}

.giorno.sotto {border-top: 0;}

.giorno.disabilitato {cursor:default;background-color: #0e1525}

.giorno.lastissimo {border-right: 1px solid var(--grigio);width: calc(100% / 7 + 1px)}

.ora {width: calc(100% / 6);border: 1px solid var(--grigio);border-right: 0;float: left;min-height: 210px;font-weight: 700;text-align: center;box-sizing: border-box;cursor:pointer;padding:15px;}

.ora.selected {background-color:var(--ok);color:#fff}

.ora.last {border-right: 1px solid var(--grigio);}

.ora.sotto {border-top: 0;}

.ora.lastissimo {width: calc(100% / 6 + 1px); border-right: 1px solid var(--grigio);}

.ora.disabilitato {cursor:default;background-color: #0e1525}

.ora.giallo {background-color:var(--warn);}

.scaduto {
	background-color: var(--err);
	color: #fff;
}
.attenzione {
	background-color: var(--warn);
}

.navigation {
	padding: 10px;
	background-color: #1a2236;
	border: 1px solid var(--grigio);
	border-radius: var(--radius-sm);
	margin-bottom: 20px;
}

.checkbox_cnt {
	padding: 20px;
	border: 1px solid var(--grigio);
	border-radius: var(--radius-md);
	max-height: 300px;
	overflow-y: scroll;
	display: block;
}

.check-cont {
	margin-bottom: 5px;
	cursor: pointer;
	display: block;
}

.checkbox {
	margin-bottom: 5px;
	cursor: pointer;
}

.checkbox label {
	cursor: pointer;
	padding-left: 5px;
}

.checkbox .fa-solid,
.checkbox .fa-regular
{
	color: var(--grigio-scuro);
	font-size: 14px !important;
}

.check-cont:last-child {
	margin-bottom: 0;
}

.parroco {
	margin-left: 15px;
}

.parroco label {
	cursor: pointer;
	padding-left: 5px;
}

.fa-solid.little {
	font-size: 14px !important;
}

.canvas-container {
	max-width: 400px;
	width: 100%;
	margin: 20px 0;
	background-color: #fff;
}

@media all and (max-width:1400px){
	.giorno{min-height: 142px;}
}

@media all and (max-width:1100px){
	.giorno{min-height: 165px;}
}

@media all and (max-width: 960px){
	.giorno {width: 25%;box-sizing: border-box;}

	.giorno.quarto {border-right: 1px solid var(--grigio);}

	.giorno.last {border-right: 0;}

	.giorno.last.quarto {border-right: 1px solid var(--grigio);}

	.giorno.lastissimo {border-right: 1px solid var(--grigio);width: calc(25% + 1px);}

	.giorno.mobilesotto {border-top: 0}

	.ora {width: 25%;box-sizing: border-box;}

	.ora.quarto {border-right: 1px solid var(--grigio);}

	.ora.last {border-right: 0;}

	.ora.last.quarto {border-right: 1px solid var(--grigio);}

	.ora.lastissimo {border-right: 1px solid var(--grigio);width: calc(25% + 1px);}

	.ora.mobilesotto {border-top: 0}
}

@media all and (max-width: 600px){
	.giorno {width: 50%;box-sizing: border-box;font-size: 13px;}

	.giorno.secondo {border-right: 1px solid var(--grigio);}

	.giorno.last {border-right: 0;}

	.giorno.last.quarto {border-right: 0;}

	.giorno.last.secondo {border-right: 1px solid var(--grigio);}

	.giorno.last.quarto.secondo {border-right: 1px solid var(--grigio);}

	.giorno.last.quarto {border-right: 1px solid var(--grigio);}

	.giorno.lastissimo {border-right: 1px solid var(--grigio);width: calc(50% + 1px);}

	.giorno.mobilesottox {border-top: 0}

	.ora {width: 50%;box-sizing: border-box;min-height: 185px;font-size: 13px;}

	.ora.secondo {border-right: 1px solid var(--grigio);}

	.ora.last {border-right: 0;}

	.ora.last.quarto {border-right: 0;}

	.ora.last.secondo {border-right: 1px solid var(--grigio);}

	.ora.last.quarto.secondo {border-right: 1px solid var(--grigio);}

	.ora.last.quarto {border-right: 1px solid var(--grigio);}

	.ora.lastissimo {border-right: 1px solid var(--grigio);width: 50%;}

	.ora.mobilesottox {border-top: 0}
}

@media all and (max-width: 500px){
	.giorno {min-height: 190px}
}

/* Card-list "Servizi Attivi" (servizi-attivi.php) */
.servizi-lista { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }

@media (max-width: 1200px){
	.servizi-lista { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px){
	.servizi-lista { grid-template-columns: 1fr; }
}

.servizio-card { position: relative; display: flex; align-items: flex-start; gap: 12px; background: var(--bianco); border: 1px solid var(--grigio); border-radius: var(--radius-md); padding: 14px 16px; box-shadow: var(--shadow-sm); transition: box-shadow var(--transition-fast), border-color var(--transition-fast); }

.servizio-card:hover { box-shadow: var(--shadow-md); border-color: var(--celeste); }

.servizio-card.funerali { background-color: rgba(148,163,184,.12); }

.servizio-card.ott { background-color: rgba(192,132,252,.12); }

.servizio-card.accessori { background-color: rgba(56,189,248,.12); }

.servizio-card-edit { flex: 0 0 auto; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-full); background: var(--celeste-light); color: var(--celeste); text-decoration: none; transition: background-color var(--transition-fast); }

.servizio-card-edit:hover { background: var(--celeste); color: #0b1120; }

.servizio-card-edit .fa-solid { font-size: 20px !important; }

.servizio-card-body { flex: 1 1 auto; min-width: 0; }

.servizio-card-nome { font-weight: 600; font-size: 15px; color: var(--grigio-scuro); margin-bottom: 4px; text-transform: uppercase; letter-spacing: .2px; }

.servizio-card-riga { font-size: 13px; color: var(--sub); line-height: 1.4; }

.servizio-card-muted { color: var(--sub); }

.servizio-card-side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 8px; padding-top: 2px; }

.servizio-card-dot { display: block; width: 12px; height: 12px; border-radius: var(--radius-full); box-shadow: 0 0 0 3px rgba(0,0,0,.35); }

.servizio-card-info { color: var(--sub); text-decoration: none; font-size: 16px; transition: color var(--transition-fast); }

.servizio-card-info:hover { color: var(--celeste) !important; }

.servizio-card-info .fa-solid { font-size: 30px !important; }

.servizio-card-info:hover .fa-solid { color: var(--celeste) !important; }

.popup-operazioni-titolo { margin: 0 0 12px 0; font-size: 16px; font-weight: 600; color: var(--grigio-scuro); }

.popup-operazioni-lista { display: flex; flex-direction: column; gap: 10px; max-height: calc(100% - 40px); overflow-y: auto; }

.popup-operazione-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--grigio); border-radius: var(--radius-md); background: var(--bianco-sporco-pagina); }

.popup-operazione-icona { flex: 0 0 auto; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--grigio-scuro); }

.popup-operazione-icona img { max-width: 100%; max-height: 100%; }

.popup-operazione-icona .fa-solid { font-size: 28px !important; color: var(--grigio-scuro) !important; }

.popup-operazione-testo { flex: 1 1 auto; min-width: 0; }

.popup-operazione-titolo { font-weight: 600; font-size: 13px; color: var(--grigio-scuro); margin-bottom: 2px; }

.popup-operazione-stato { font-size: 12px; color: var(--sub); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.popup-operazione-pallino { display: inline-block; width: 9px; height: 9px; border-radius: var(--radius-full); flex: 0 0 auto; }

.popup-operazione-vuota { font-size: 13px; color: var(--sub); text-align: center; padding: 20px 0; }

.altri-servizi-lista { overflow-y: scroll; max-height: 300px; }