/*! Consenso video Yellow Lab by    ____                 __      __
           __  _____  / / /___ _      __   / /___ _/ /_
          / / / / _ \/ / / __ \ | /| / /  / / __ `/ __ \
         / /_/ /  __/ / / /_/ / |/ |/ /  / / /_/ / /_/ /
         \__, /\___/_/_/\____/|__/|__/  /_/\__,_/_.___/
        /____/   https://yellowlab.it
 */
@import url('./fonts.css');
/* TOKEN — Yellow Lab, personalizzabili per ogni sito senza toccare la logica. */
/* Due colori di ingresso; i token semantici restano sovrascrivibili dal sito. */
:root {
  --yl-primary:#183047; --yl-accent:#ffc440;
  --yl-color-trigger:var(--yl-color-close); --yl-color-on-trigger:#fff;
  --yl-color-action:#ceba96; --yl-color-close:#7286a7; --yl-color-on-close:#fff;
  --yl-hover-brightness:.94; --yl-backdrop-blur:2px;
  --yl-color-text:var(--yl-primary); --yl-color-muted:#53616b; --yl-color-surface:#fff;
  --yl-color-paper:#f5f2e9; --yl-color-border:#a4acae; --yl-color-accent:var(--yl-accent);
  --yl-color-focus:var(--yl-primary); --yl-color-shadow:#0002; --yl-color-backdrop:#101820ad;
  --yl-font-body:'IBM Plex Sans',Arial,sans-serif; --yl-font-ui:Inter,Arial,sans-serif;
  --yl-font-display:'halyard-display-variable','IBM Plex Sans',Arial,sans-serif;
  --yl-radius:12px; --yl-space:1rem; --yl-layer:10000; --yl-scheme:light;
}
:root[data-yl-theme="dark"] {
  --yl-color-trigger:var(--yl-color-action); --yl-color-on-trigger:var(--yl-primary);
  --yl-color-text:#f4f5f6; --yl-color-muted:#bec5cb; --yl-color-surface:#141618;
  --yl-color-paper:#22272b; --yl-color-border:#76818b; --yl-color-focus:var(--yl-accent);
  --yl-color-shadow:#0008; --yl-color-backdrop:#000b; --yl-scheme:dark;
}
@media(prefers-color-scheme:dark){:root:not([data-yl-theme="light"]):not([data-yl-theme="dark"]) {
  --yl-color-trigger:var(--yl-color-action); --yl-color-on-trigger:var(--yl-primary);
  --yl-color-text:#f4f5f6; --yl-color-muted:#bec5cb; --yl-color-surface:#141618;
  --yl-color-paper:#22272b; --yl-color-border:#76818b; --yl-color-focus:var(--yl-accent);
  --yl-color-shadow:#0008; --yl-color-backdrop:#000b; --yl-scheme:dark;
}}
.yl-consent,.yl-consent-footer,.yl-video {color-scheme:var(--yl-scheme);}
.yl-consent,.yl-consent-footer,.yl-video {font:400 1rem/1.5 var(--yl-font-body);color:var(--yl-color-text);overflow-wrap:anywhere;}
.yl-consent *, .yl-consent-footer *, .yl-video * {box-sizing:border-box;}
.yl-consent [hidden],.yl-consent-footer [hidden],.yl-video [hidden] {display:none!important;}
.yl-consent h2,.yl-video h2 {font-family:var(--yl-font-display);letter-spacing:-.035em;line-height:1.1;font-weight:600;color:var(--yl-color-text);}
.yl-consent p,.yl-consent h2,.yl-video p,.yl-video h2 {margin:0;}
.yl-consent a,.yl-consent-footer a,.yl-video a {color:var(--yl-color-text);text-underline-offset:3px;}
.yl-consent button,.yl-consent-footer button,.yl-video button {appearance:none;font:500 .8125rem/1.4 var(--yl-font-ui);min-height:44px;padding:.7rem .8rem;border:0;border-radius:999px;background:var(--yl-color-paper);color:var(--yl-color-text);cursor:pointer;max-width:100%;}
.yl-consent button:hover,.yl-video button:hover,.yl-consent-footer button:hover {filter:brightness(var(--yl-hover-brightness));}
.yl-consent :focus-visible,.yl-consent-footer :focus-visible,.yl-video :focus-visible {outline:3px solid var(--yl-color-focus);outline-offset:3px;}
.yl-consent svg,.yl-consent-footer svg,.yl-video svg {width:1.125rem;height:1.125rem;flex-shrink:0;vertical-align:middle;}
.yl-consent .yl-link,.yl-consent-footer .yl-link,.yl-video .yl-link {border:0;background:none;padding:.45rem 0;display:inline-flex;gap:.5rem;align-items:center;text-decoration:underline;text-underline-offset:4px;}
.yl-eyebrow {font:500 .625rem/1.5 var(--yl-font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--yl-color-muted);padding-right:2.25rem;}
.yl-actions {display:grid;grid-template-columns:1fr 1fr;gap:.625rem;}
.yl-actions button {width:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;}
.yl-consent .yl-close {position:absolute;right:.65rem;top:.65rem;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--yl-color-on-close);isolation:isolate;}
.yl-consent .yl-close::before {content:"";position:absolute;inset:4px;border-radius:50%;background:var(--yl-color-close);z-index:-1;}
.yl-meta {display:flex;align-items:center;justify-content:space-between;gap:1rem;font:.6875rem/1.4 var(--yl-font-ui);}
.yl-meta a {padding:.5rem 0;}
.yl-consent .yl-credit {font-family:'YL Credit',Inter,sans-serif;font-weight:200;letter-spacing:-.04em;text-decoration:none;font-size:.875rem;display:inline-flex;align-items:center;gap:.35rem;}
.yl-credit img {display:block;width:14px;height:14px;object-fit:contain;}
.yl-consent .yl-close svg {width:1.4rem;height:1.4rem;stroke-width:2.5;}
/* BANNER — la prima scelta richiede un fondale attenuato, come le preferenze. */
.yl-consent.yl-banner-open::before {content:"";position:fixed;inset:0;z-index:calc(var(--yl-layer) - 1);background:var(--yl-color-backdrop);backdrop-filter:blur(var(--yl-backdrop-blur));-webkit-backdrop-filter:blur(var(--yl-backdrop-blur));}
.yl-banner {position:fixed;right:1.5rem;bottom:1.5rem;z-index:var(--yl-layer);width:26rem;max-width:calc(100vw - 3rem);max-height:calc(100dvh - 3rem);overflow:auto;background:var(--yl-color-surface);border:1px solid var(--yl-color-border);border-top:3px solid var(--yl-color-accent);border-radius:var(--yl-radius);box-shadow:0 12px 48px var(--yl-color-shadow);padding:1.5rem;}
.yl-banner h2 {font-size:1.5rem;margin:0 2.5rem 1rem 0;}
.yl-banner-copy {font-size:.9375rem;line-height:1.5;}
.yl-close-notice {font-size:.75rem;line-height:1.5;color:var(--yl-color-muted);margin:.625rem 0 1.15rem!important;}
.yl-consent .yl-customize {width:100%;margin-top:.625rem;}
.yl-banner .yl-meta {margin-top:1rem;padding-top:.5rem;border-top:1px solid var(--yl-color-border);}
/* PREFERENZE — dialog nativo e finalità espandibili. */
.yl-preferences {padding:0;border:1px solid var(--yl-color-border);border-top:3px solid var(--yl-color-accent);border-radius:var(--yl-radius);width:36rem;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);overflow:auto;background:var(--yl-color-surface);color:var(--yl-color-text);box-shadow:0 24px 80px var(--yl-color-shadow);}
.yl-preferences::backdrop {background:var(--yl-color-backdrop);backdrop-filter:blur(var(--yl-backdrop-blur));-webkit-backdrop-filter:blur(var(--yl-backdrop-blur));}
.yl-panel-head {position:relative;padding:1.75rem 1.75rem 1.25rem;}
.yl-panel-head h2 {font-size:1.5rem;margin:.75rem 2.25rem .75rem 0;}
.yl-panel-head>p:last-child {color:var(--yl-color-muted);font-size:.9375rem;}
.yl-panel-body {padding:0 1.75rem;}
.yl-purpose {border:0;margin-bottom:.5rem;}
.yl-purpose:last-child {border:0;}
.yl-purpose summary {display:flex;align-items:center;gap:.625rem;min-height:56px;padding:.75rem;border-radius:var(--yl-radius);background:color-mix(in srgb,var(--yl-color-paper) 65%,var(--yl-color-surface));cursor:pointer;list-style:none;font:600 .9375rem var(--yl-font-ui);}
.yl-purpose summary::-webkit-details-marker {display:none;}
.yl-purpose summary small {font:400 .6875rem var(--yl-font-ui);color:var(--yl-color-muted);margin-left:auto;}
.yl-purpose[open]>summary>svg {transform:rotate(180deg);}
.yl-purpose[open]>summary {margin-bottom:.75rem;}
.yl-purpose summary:hover {filter:brightness(var(--yl-hover-brightness));}
.yl-purpose-description {font-size:.875rem;color:var(--yl-color-muted);padding-bottom:1rem;}
.yl-service {display:flex;align-items:flex-start;gap:.875rem;padding:1rem;background:var(--yl-color-paper);margin:0 0 .75rem;border-radius:var(--yl-radius);cursor:pointer;}
.yl-service input {appearance:auto;accent-color:var(--yl-color-text);flex:none;width:1.25rem;height:1.25rem;margin:.1rem 0 0;cursor:pointer;}
.yl-service strong {font:600 .875rem var(--yl-font-ui);display:block;margin-bottom:.4rem;}
.yl-service-description {display:block;font-size:.8125rem;line-height:1.45;color:var(--yl-color-muted);}
.yl-panel-foot {padding:1.25rem 1.75rem 1.5rem;}
.yl-consent .yl-save,.yl-consent .yl-customize {width:100%;margin-top:.625rem;background:var(--yl-color-action);color:var(--yl-primary);}
.yl-panel-foot .yl-meta {margin-top:1rem;}
/* FOOTER — il controllo rimane dopo la scelta. */
.yl-consent-footer {background:transparent;padding:0;border:0;border-radius:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;}
.yl-consent-count {font:.6875rem var(--yl-font-ui);color:var(--yl-color-muted);}
.yl-storage-warning {flex-basis:100%;font-size:.875rem;border-left:3px solid var(--yl-color-accent);padding-left:.75rem;}
.yl-visually-hidden {position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* VIDEO — poster locale e player in pagina. */
.yl-video {background:var(--yl-color-surface);border:1px solid var(--yl-color-border);border-radius:var(--yl-radius);overflow:hidden;}
.yl-video .yl-video-title {font-size:1.25rem;padding:1.25rem 1.5rem;}
.yl-video-media {background:var(--yl-color-paper);}
.yl-video iframe,.yl-video img,.yl-video-poster {display:block;width:100%;aspect-ratio:16/9;border:0;object-fit:cover;}
.yl-video-poster {display:grid;place-items:center;}
.yl-video-poster svg {width:3rem;height:3rem;}
.yl-video-gate {padding:1.25rem 1.5rem 1rem;}
.yl-video-gate>p:first-child {font-size:.9375rem;}
.yl-video-scope {color:var(--yl-color-muted);font-size:.75rem;margin:.65rem 0 1.1rem!important;}
.yl-video-links {display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-top:.7rem;font-size:.75rem;}
.yl-video .yl-video-links button {font-size:.75rem;}
.yl-video-help {padding:.75rem 1.5rem;font-size:.8125rem;color:var(--yl-color-muted);}
.yl-video-help summary {cursor:pointer;padding:.5rem 0;}
.yl-video-help p {margin:.5rem 0;}
@media(max-width:600px){
 .yl-banner {right:0;bottom:0;width:100%;max-width:none;max-height:85dvh;padding:1.25rem 1.25rem max(1rem,env(safe-area-inset-bottom));border-radius:10px 10px 0 0;}
 .yl-banner h2 {font-size:1.5rem;}
 .yl-preferences {max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);}
 .yl-panel-head,.yl-panel-foot {padding:1.25rem;}.yl-panel-body{padding-inline:1.25rem;}
 .yl-panel-head h2 {font-size:1.5rem;}
 .yl-video-links {flex-wrap:wrap;}
}
@media(max-width:360px){.yl-actions{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.yl-consent *,.yl-video *{scroll-behavior:auto;transition:none;}}
@media(forced-colors:active){.yl-service input{appearance:auto;}.yl-consent :focus-visible,.yl-video :focus-visible,.yl-consent-footer :focus-visible{outline:3px solid Highlight;}}

/* Credit e comando permanente compatti. Il bersaglio della X resta 44 px, il disco è 36 px. */
.yl-meta {flex-wrap:wrap;gap:.5rem 1rem;}
.yl-credit {margin-left:auto;white-space:nowrap;}
.yl-credit-prefix {font:400 .625rem/1.2 var(--yl-font-ui);letter-spacing:0;}
.yl-policy-links {display:flex;flex-wrap:wrap;gap:.25rem .75rem;}
.yl-consent-footer .yl-preferences-trigger {display:inline-flex;align-items:center;gap:.5rem;padding:0;background:transparent;text-decoration:none;border-radius:999px;}
.yl-preferences-trigger .yl-trigger-icon {width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--yl-color-trigger);color:var(--yl-color-on-trigger);}
.yl-trigger-label {display:grid;text-align:left;font:500 .6875rem/1.1 var(--yl-font-ui);}
.yl-trigger-label span {white-space:nowrap;}
.yl-preferences-trigger[data-label="icon"] .yl-trigger-label {display:none;}
.yl-preferences-trigger[data-label="left"] {flex-direction:row-reverse;}
.yl-consent-count {display:none;}
.yl-policy-frame {display:block;width:100%;height:60dvh;border:0;background:white;}
.yl-policy-dialog .yl-panel-head {padding-right:4rem;}
