/* Ibis Cookie */
.ibis-root{--ibis-radius:10px;--ibis-shadow:0 10px 40px rgba(0,0,0,.18);--ibis-muted:color-mix(in srgb,var(--ibis-text) 70%,var(--ibis-bg));--ibis-line:color-mix(in srgb,var(--ibis-text) 14%,var(--ibis-bg));font-size:15px;line-height:1.5;}
.ibis-root [hidden],.ibis-placeholder[hidden]{display:none!important}
.ibis-root *,.ibis-root *::before,.ibis-root *::after{box-sizing:border-box}

/* Banner */
.ibis-banner{position:fixed;z-index:2147483600;background:var(--ibis-bg);color:var(--ibis-text);box-shadow:var(--ibis-shadow);padding:20px 22px;display:flex;gap:18px;align-items:center;font-family:inherit}
.ibis-pos-bottom{left:0;right:0;bottom:0;border-top:1px solid var(--ibis-line)}
.ibis-pos-bottom .ibis-banner-body{flex:1 1 auto;max-width:880px}
.ibis-pos-box-left,.ibis-pos-box-right{bottom:16px;width:440px;max-width:calc(100vw - 32px);flex-direction:column;align-items:stretch;border-radius:var(--ibis-radius)}
.ibis-pos-box-left{left:16px}.ibis-pos-box-right{right:16px}
.ibis-pos-center{top:50%;left:50%;transform:translate(-50%,-50%);width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;flex-direction:column;align-items:stretch;border-radius:var(--ibis-radius)}
.ibis-overlay{position:fixed;inset:0;z-index:2147483590;background:rgba(0,0,0,.45)}
.ibis-title{margin:0 0 6px;font-weight:700;font-size:1.05em;color:var(--ibis-text);padding-right:28px}
.ibis-text{margin:0;color:var(--ibis-muted);font-size:.93em}
.ibis-links{display:inline-block;margin-left:4px}
.ibis-links a,.ibis-root a{color:var(--ibis-primary);text-decoration:underline}
.ibis-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.ibis-pos-box-left .ibis-actions,.ibis-pos-box-right .ibis-actions,.ibis-pos-center .ibis-actions{justify-content:flex-end}

/* Pulsanti: "Accetta" e "Rifiuta" hanno lo stesso peso visivo, come chiedono Garante ed EDPB */
.ibis-root .ibis-btn{appearance:none;font:inherit;font-size:.93em;font-weight:600;line-height:1.2;padding:11px 18px;border-radius:8px;cursor:pointer;border:2px solid var(--ibis-primary);min-height:44px;text-transform:none;letter-spacing:normal;margin:0;box-shadow:none}
.ibis-root .ibis-btn-primary{background:var(--ibis-primary);color:var(--ibis-btn-text,#fff)}
.ibis-root .ibis-btn-secondary{background:transparent;color:var(--ibis-primary)}
.ibis-root .ibis-btn{transition:background-color .15s,border-color .15s,color .15s}
.ibis-root .ibis-btn-primary:hover{background:var(--ibis-primary-hover);border-color:var(--ibis-primary-hover);color:var(--ibis-btn-text,#fff)}
.ibis-root .ibis-btn-secondary:hover{background:var(--ibis-primary-hover);border-color:var(--ibis-primary-hover);color:var(--ibis-btn-text,#fff)}
.ibis-root .ibis-btn:focus-visible,.ibis-root .ibis-close:focus-visible,.ibis-revisit:focus-visible,.ibis-placeholder-btn:focus-visible,.ibis-switch input:focus-visible+.ibis-slider{outline:3px solid var(--ibis-primary);outline-offset:2px}
.ibis-root .ibis-close{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:transparent;color:var(--ibis-muted);font-size:26px;line-height:1;cursor:pointer;border-radius:6px;padding:0;margin:0;box-shadow:none}
.ibis-root .ibis-close:hover{color:var(--ibis-text);background:var(--ibis-line)}
.ibis-root .ibis-close-static{position:static}

/* Preferenze */
.ibis-modal{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;padding:16px}
.ibis-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.ibis-modal-box{position:relative;background:var(--ibis-bg);color:var(--ibis-text);border-radius:var(--ibis-radius);box-shadow:var(--ibis-shadow);width:640px;max-width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;outline:none}
.ibis-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ibis-line)}
.ibis-modal-head .ibis-title{margin:0}
.ibis-modal-body{padding:16px 20px;overflow:auto}
.ibis-modal-actions{padding:14px 20px;border-top:1px solid var(--ibis-line);justify-content:flex-end}
.ibis-cat{border:1px solid var(--ibis-line);border-radius:8px;padding:12px 14px;margin-top:12px}
.ibis-cat-head{display:flex;align-items:center;gap:12px}
.ibis-cat-label{font-weight:700;flex:1;cursor:pointer;margin:0}
.ibis-cat-desc,.ibis-cat-services{margin:6px 0 0;font-size:.88em;color:var(--ibis-muted)}
.ibis-always{font-size:.8em;color:var(--ibis-muted)}
.ibis-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.ibis-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.ibis-switch input:disabled{cursor:not-allowed}
.ibis-slider{position:absolute;inset:0;background:var(--ibis-line);border-radius:24px;transition:background .15s}
.ibis-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.ibis-switch input:checked+.ibis-slider{background:var(--ibis-primary)}
.ibis-switch input:checked+.ibis-slider::before{transform:translateX(20px)}
.ibis-switch input:disabled+.ibis-slider{opacity:.6}
html.ibis-noscroll{overflow:hidden}

/* Pulsante per riaprire le preferenze */
.ibis-revisit{position:fixed;bottom:16px;z-index:2147483500;width:44px;height:44px;border-radius:50%;border:0;background:var(--ibis-primary);color:var(--ibis-btn-text,#fff);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);padding:0;opacity:.85}
.ibis-revisit:hover{opacity:1;background:var(--ibis-primary-hover)}
.ibis-revisit-left{left:16px}.ibis-revisit-right{right:16px}

/* Contenuti bloccati */
iframe[data-ibis-src]{display:none!important}
.ibis-placeholder{box-sizing:border-box;position:relative;width:100%;min-height:var(--ibis-mh,160px);aspect-ratio:var(--ibis-ar,auto);max-width:var(--ibis-mw,none);background:#f1f3f6;color:#1f2937;border:1px dashed #b8c0cc;border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-size:14px;line-height:1.45}
.ibis-placeholder.ibis-abs{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;min-height:0;aspect-ratio:auto}
.ibis-placeholder *{box-sizing:border-box}.ibis-placeholder-inner{max-width:460px;max-height:100%;overflow:auto}
.ibis-placeholder p{margin:0 0 10px}
.ibis-placeholder .ibis-placeholder-btn{appearance:none;font:inherit;font-weight:600;background:var(--ibis-primary,#1f4fd1);color:var(--ibis-btn-text,#fff);border:0;border-radius:6px;padding:9px 14px;cursor:pointer;margin:0}
.ibis-placeholder .ibis-placeholder-btn:hover{background:var(--ibis-primary-hover,#173ea6)}
.ibis-placeholder-link{display:inline-block;margin-left:8px;color:inherit}
/* Contenitori responsive con iframe assoluto (embed di WordPress, Elementor, FitVids, temi) */
.wp-block-embed__wrapper>.ibis-placeholder,.elementor-video-iframe+.ibis-placeholder,.elementor-custom-embed>.ibis-placeholder,.fluid-width-video-wrapper>.ibis-placeholder,.responsive-embed>.ibis-placeholder,.embed-responsive>.ibis-placeholder,.video-container>.ibis-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;min-height:0;aspect-ratio:auto}

/* Shortcode */
.ibis-policy table{width:100%;border-collapse:collapse;margin:10px 0 24px;font-size:.92em}
.ibis-policy th,.ibis-policy td{border:1px solid rgba(0,0,0,.15);padding:8px 10px;text-align:left;vertical-align:top}
.ibis-policy th{background:rgba(0,0,0,.04)}
.ibis-policy .ibis-table-wrap{overflow-x:auto}
.ibis-policy code{word-break:normal;overflow-wrap:anywhere;font-size:.92em}
.ibis-policy .ibis-cookie-table td:first-child{min-width:10em}
.ibis-policy table{table-layout:auto}
.ibis-pref-btn{cursor:pointer}

@media (max-width:782px){
	.ibis-banner{flex-direction:column;align-items:stretch;padding:18px 16px 16px}
	.ibis-pos-box-left,.ibis-pos-box-right{left:8px;right:8px;bottom:8px;width:auto;max-width:none}
	.ibis-actions{flex-direction:column-reverse}
	.ibis-root .ibis-btn{width:100%}
	.ibis-banner{max-height:85vh;overflow:auto}
}
@media (prefers-reduced-motion:reduce){.ibis-slider,.ibis-slider::before,.ibis-root .ibis-btn{transition:none}}
@media print{.ibis-root{display:none!important}}
