/* =========================================================
   COOKIE-BANNER.CSS — Layout Cookiebot-style nel design Matteo
   Conforme Google Consent Mode v2 + Linee Guida Garante Privacy
   ========================================================= */

/* ====== OVERLAY (primo accesso) ====== */
.mc-cb-overlay{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(14,9,24,.65);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);font-family:'Poppins',sans-serif;color:var(--body-d,#D1CECE);animation:mcOverlayIn .35s cubic-bezier(.22,.61,.36,1) both}
.mc-cb-overlay.is-open{display:flex}
.mc-cb-overlay.is-fading-out{animation:mcOverlayOut .3s cubic-bezier(.22,.61,.36,1) both}
@keyframes mcOverlayIn{from{opacity:0;backdrop-filter:blur(0px) saturate(100%)}to{opacity:1;backdrop-filter:blur(14px) saturate(120%)}}
@keyframes mcOverlayOut{from{opacity:1}to{opacity:0}}

/* ====== CARD principale ====== */
.mc-cb-card{width:100%;max-width:760px;max-height:88vh;background:rgba(14,9,24,.96);border:1px solid rgba(45,214,117,.20);border-radius:20px;box-shadow:0 50px 120px -30px rgba(0,0,0,.85),0 0 0 1px rgba(45,214,117,.08);display:flex;flex-direction:column;overflow:hidden;animation:mcCardIn .4s cubic-bezier(.22,.61,.36,1) both}
@keyframes mcCardIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ====== HEADER: logo brand + X close ====== */
.mc-cb-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px 0;flex-shrink:0}
.mc-cb-logo{display:flex;align-items:center;gap:10px}
.mc-cb-logo svg{display:block;filter:drop-shadow(0 0 10px rgba(45,214,117,.45))}
.mc-cb-logo-text{font-family:'Anton',Impact,sans-serif;font-size:18px;color:#fff;letter-spacing:.02em;line-height:1}
.mc-cb-logo-text small{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;color:var(--body-d-2,#9D9797);text-transform:uppercase;margin-top:3px;font-weight:600}
.mc-cb-close{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:#fff;width:34px;height:34px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.mc-cb-close:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.30)}

/* ====== TABS NAV ====== */
.mc-cb-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.10);padding:0 26px;margin-top:18px;flex-shrink:0}
.mc-cb-tab{flex:1;padding:14px 8px;background:transparent;border:none;color:var(--body-d-2,#9D9797);font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:.2s;position:relative;letter-spacing:.01em}
.mc-cb-tab:hover{color:#fff}
.mc-cb-tab.is-active{color:#2DD675}
.mc-cb-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#2DD675;box-shadow:0 0 12px rgba(45,214,117,.6)}
@media (max-width:560px){.mc-cb-tab{font-size:11px;padding:12px 4px}}

/* ====== TAB CONTENT (scrollable area) ====== */
.mc-cb-content{flex:1;overflow-y:auto;padding:24px 26px 16px;font-size:14px;line-height:1.65}
.mc-cb-content::-webkit-scrollbar{width:6px}
.mc-cb-content::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}
.mc-cb-content::-webkit-scrollbar-thumb{background:rgba(45,214,117,.30);border-radius:3px}

.mc-cb-pane{display:none}
.mc-cb-pane.is-active{display:block;animation:mcPaneIn .25s cubic-bezier(.22,.61,.36,1) both}
@keyframes mcPaneIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.mc-cb-pane h3{font-family:'Anton',Impact,sans-serif;font-size:24px;color:#fff;font-weight:normal;letter-spacing:.01em;line-height:1.1;margin:0 0 14px}
.mc-cb-pane h3 .accent{background:linear-gradient(120deg,#2DD675,#60D6FB);-webkit-background-clip:text;background-clip:text;color:transparent}
.mc-cb-pane p{margin:0 0 14px;color:var(--body-d,#D1CECE)}
.mc-cb-pane p:last-child{margin-bottom:0}
.mc-cb-pane a{color:#60D6FB;text-decoration:underline;text-decoration-color:rgba(96,214,251,.40)}
.mc-cb-pane a:hover{text-decoration-color:#60D6FB}

/* ====== CATEGORIA collassabile (tab Dettagli) ====== */
.mc-cb-cat{border-bottom:1px solid rgba(255,255,255,.08);padding:14px 0}
.mc-cb-cat:first-child{padding-top:0}
.mc-cb-cat:last-child{border-bottom:none}
.mc-cb-cat-head{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none}
.mc-cb-cat-toggle-arrow{width:18px;height:18px;flex-shrink:0;color:var(--body-d-2,#9D9797);transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.mc-cb-cat.is-expanded .mc-cb-cat-toggle-arrow{transform:rotate(180deg)}
.mc-cb-cat-name{flex:1;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}
.mc-cb-cat-count{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--body-d-2,#9D9797);background:rgba(255,255,255,.06);padding:2px 7px;border-radius:5px;font-weight:600}
.mc-cb-cat-desc{margin-top:10px;padding-left:30px;font-size:13px;line-height:1.55;color:var(--body-d-2,#9D9797);display:none}
.mc-cb-cat.is-expanded .mc-cb-cat-desc{display:block;animation:mcPaneIn .25s ease-out}

/* Toggle switch (riusato dal vecchio CSS) */
.mc-cb-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.mc-cb-toggle input{opacity:0;width:0;height:0;position:absolute;margin:0}
.mc-cb-toggle .slider{position:absolute;cursor:pointer;inset:0;background:rgba(255,255,255,.12);border-radius:24px;transition:.25s;border:1px solid rgba(255,255,255,.18)}
.mc-cb-toggle .slider::before{content:"";position:absolute;left:2px;top:1px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.mc-cb-toggle input:checked + .slider{background:linear-gradient(135deg,#1CAF57,#2DD675);border-color:rgba(45,214,117,.50);box-shadow:0 0 12px rgba(45,214,117,.35)}
.mc-cb-toggle input:checked + .slider::before{transform:translateX(20px)}
.mc-cb-toggle input:disabled + .slider{cursor:not-allowed}
.mc-cb-toggle input:disabled:checked + .slider{background:linear-gradient(135deg,#1CAF57,#2DD675);opacity:.7}

/* Lista cookie nel tab "Informazioni sui cookie" */
.mc-cb-info-table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}
.mc-cb-info-table th{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--body-d-2,#9D9797);font-weight:600;text-align:left;padding:8px 10px;background:rgba(45,214,117,.05);border-bottom:1px solid rgba(255,255,255,.10)}
.mc-cb-info-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--body-d,#D1CECE);vertical-align:top;line-height:1.45}
.mc-cb-info-table tr:last-child td{border-bottom:none}
.mc-cb-info-table td:first-child{font-family:'JetBrains Mono',monospace;color:#fff;font-weight:600;white-space:nowrap}
.mc-cb-info-cat-title{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#2DD675;font-weight:600;margin:18px 0 6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.mc-cb-info-cat-title:first-child{padding-top:0;border-top:none;margin-top:0}

/* ID consenso in tab Informazioni sui cookie */
.mc-cb-info-id{margin-top:18px !important;padding:12px 14px;background:rgba(45,214,117,.06);border:1px solid rgba(45,214,117,.18);border-radius:10px;font-family:'JetBrains Mono',monospace;font-size:11px !important;line-height:1.55 !important;color:var(--body-d-2,#9D9797);letter-spacing:.02em}
.mc-cb-info-id .lbl{color:#2DD675;font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.12em}

/* ====== FOOTER bottoni ====== */
.mc-cb-foot{display:flex;gap:12px;padding:18px 26px 22px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;flex-wrap:wrap}
.mc-cb-foot-meta{flex:1 0 100%;font-size:11px;color:var(--body-d-3,#7A7474);text-align:center;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;margin:-6px 0 4px}
.mc-cb-foot-meta a{color:#60D6FB}
.mc-cb-btn{flex:1;min-width:140px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;padding:13px 18px;border-radius:11px;border:none;cursor:pointer;transition:.25s cubic-bezier(.22,.61,.36,1);text-align:center;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.mc-cb-btn-accept{background:linear-gradient(135deg,#1CAF57,#2DD675);color:#fff;box-shadow:0 0 0 1px rgba(45,214,117,.30),0 10px 30px -10px rgba(45,214,117,.55)}
.mc-cb-btn-accept:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(45,214,117,.45),0 14px 38px -8px rgba(45,214,117,.7)}
.mc-cb-btn-reject{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.20)}
.mc-cb-btn-reject:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35)}
.mc-cb-btn-custom{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.20)}
.mc-cb-btn-custom:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35)}
@media (max-width:480px){.mc-cb-btn{flex:1 0 100%}}

/* ====== WIDGET PERSISTENTE (bottom-left, dopo prima scelta) ====== */
.mc-cb-widget{position:fixed;left:20px;bottom:20px;z-index:8500;width:48px;height:48px;border-radius:50%;background:#0E0918;border:1px solid rgba(45,214,117,.30);display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px -6px rgba(0,0,0,.6),0 0 0 1px rgba(45,214,117,.10);transition:.3s cubic-bezier(.22,.61,.36,1);animation:mcWidgetIn .4s cubic-bezier(.22,.61,.36,1) both}
.mc-cb-widget.is-visible{display:flex}
.mc-cb-widget:hover{transform:translateY(-3px) scale(1.06);border-color:rgba(45,214,117,.60);box-shadow:0 12px 32px -8px rgba(45,214,117,.5),0 0 0 1px rgba(45,214,117,.25)}
.mc-cb-widget svg{display:block;filter:drop-shadow(0 0 6px rgba(45,214,117,.5))}
@keyframes mcWidgetIn{from{opacity:0;transform:translateY(20px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:560px){.mc-cb-widget{left:14px;bottom:14px;width:42px;height:42px}}

/* ====== POPUP del widget (compact card che esce dal widget) ====== */
.mc-cb-widget-popup{position:fixed;left:20px;bottom:80px;z-index:8600;width:320px;max-width:calc(100vw - 40px);background:rgba(14,9,24,.97);border:1px solid rgba(45,214,117,.25);border-radius:16px;box-shadow:0 30px 60px -16px rgba(0,0,0,.75),0 0 0 1px rgba(45,214,117,.08);padding:0;display:none;flex-direction:column;font-family:'Poppins',sans-serif;color:var(--body-d,#D1CECE);animation:mcWPopupIn .3s cubic-bezier(.22,.61,.36,1) both;backdrop-filter:blur(20px)}
.mc-cb-widget-popup.is-open{display:flex}
@keyframes mcWPopupIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:560px){.mc-cb-widget-popup{left:14px;bottom:68px;width:calc(100vw - 28px)}}

.mc-cb-wp-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.mc-cb-wp-title{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:#fff;letter-spacing:.01em}
.mc-cb-wp-close{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:#fff;width:26px;height:26px;border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.mc-cb-wp-close:hover{background:rgba(255,255,255,.12)}

.mc-cb-wp-body{padding:16px 20px}
.mc-cb-wp-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--body-d-2,#9D9797);font-weight:600;margin-bottom:12px}
.mc-cb-wp-state{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.mc-cb-wp-state li{display:flex;align-items:center;gap:10px;font-size:13px;color:#fff}
.mc-cb-wp-state .icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mc-cb-wp-state .icon.locked{color:#2DD675}
.mc-cb-wp-state .icon.granted{color:#2DD675}
.mc-cb-wp-state .icon.denied{color:#FF5733}

.mc-cb-wp-show-details{background:none;border:none;padding:14px 0 0;cursor:pointer;color:#2DD675;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:.2s}
.mc-cb-wp-show-details:hover{color:#fff}
.mc-cb-wp-show-details svg{width:12px;height:12px}

.mc-cb-wp-foot{display:flex;gap:8px;padding:12px 20px 18px;border-top:1px solid rgba(255,255,255,.08)}
.mc-cb-wp-foot button{flex:1;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;padding:10px 12px;border-radius:9px;cursor:pointer;transition:.25s}
.mc-cb-wp-foot .mc-cb-wp-revoke{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.20)}
.mc-cb-wp-foot .mc-cb-wp-revoke:hover{background:rgba(255,87,51,.10);border-color:rgba(255,87,51,.40);color:#FF5733}
.mc-cb-wp-foot .mc-cb-wp-modify{background:linear-gradient(135deg,#1CAF57,#2DD675);color:#fff;border:none;box-shadow:0 0 0 1px rgba(45,214,117,.25),0 6px 16px -4px rgba(45,214,117,.45)}
.mc-cb-wp-foot .mc-cb-wp-modify:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(45,214,117,.40),0 10px 24px -4px rgba(45,214,117,.6)}

/* Trigger fallback dal footer del sito (mantiene compat) */
.mc-cb-trigger{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:rgba(255,255,255,.20)}
.mc-cb-trigger:hover{color:#2DD675;text-decoration-color:#2DD675}
