:root{--so-p-blue:var(--so-primary,#0b84ff);--so-p-blue2:#4db5ff;--so-p-ink:var(--so-ink,#102033);--so-p-muted:var(--so-muted,#637083);--so-p-soft:#f4f7fb;--so-p-line:#dfe8f2}
html.so-consent-open{overflow:hidden}.so-consent[hidden],.so-preferences[hidden]{display:none!important}.so-consent,.so-preferences{position:fixed;inset:0;z-index:2147483000;font-family:var(--so-font,system-ui,-apple-system,"Segoe UI",sans-serif);color:var(--so-p-ink)}
.so-consent__scrim,.so-preferences__scrim{position:absolute;inset:0;background:rgba(9,26,45,.28);backdrop-filter:blur(5px)}
.so-consent__banner{position:absolute;left:20px;right:20px;bottom:20px;max-width:1180px;margin:auto;background:rgba(255,255,255,.98);border:1px solid rgba(151,176,203,.35);border-radius:26px;box-shadow:0 24px 80px rgba(22,52,86,.22);padding:24px 62px 24px 26px;display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:24px;align-items:center;overflow:hidden}
.so-consent__banner:before{display:none!important}.so-consent__brand{display:flex;align-items:center;justify-content:center}.so-consent__brand img{width:158px;max-width:100%;height:auto;object-fit:contain;display:block}.so-consent__copy h2{font-size:22px;line-height:1.15;margin:0 0 8px}.so-consent__copy p{margin:0;color:var(--so-p-muted);font-size:14px;line-height:1.55}.so-consent a,.so-preferences a{color:#0879f6;text-decoration:underline;text-underline-offset:3px}.so-consent__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:330px;padding-top:13px}.so-consent__actions .so-consent-btn--primary{grid-column:1/-1;grid-row:1}.so-consent__x{position:absolute;top:9px;right:12px;width:30px;height:30px;border:1px solid #d6e1ec;border-radius:50%;background:#fff;color:#4f6175;font-size:21px;font-weight:700;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(18,49,82,.08);z-index:4}.so-consent__x:hover{background:#f5f8fb;color:#102033;border-color:#b8cadc}
.so-consent-btn{appearance:none;border:1px solid transparent;border-radius:999px;padding:11px 18px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.2s ease;white-space:nowrap}.so-consent-btn:hover{transform:translateY(-1px)}.so-consent-btn--primary{color:#fff;border:0!important;background:linear-gradient(90deg,#54bdff 0%,#188ef8 48%,#0068dc 100%)!important;background-clip:padding-box!important;overflow:hidden;box-shadow:0 10px 28px rgba(11,132,255,.25)}.so-consent-btn--outline{background:#fff;border-color:#99b8db;color:#0a66c5}.so-consent-btn--ghost{background:#f5f8fb;border-color:#e0e8f1;color:#31455d}
.so-preferences__panel{position:absolute;inset:5vh max(18px,calc((100vw - 980px)/2));background:#fff;border-radius:28px;box-shadow:0 28px 100px rgba(10,34,61,.32);display:flex;flex-direction:column;overflow:hidden}.so-preferences__panel>header{position:relative;padding:30px 34px 22px;border-bottom:1px solid var(--so-p-line)}.so-preferences__kicker{display:block;color:#0b84ff;font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}.so-preferences__panel h2{font-size:30px;margin:0 0 8px;line-height:1.1}.so-preferences__panel header p{margin:0;color:var(--so-p-muted);line-height:1.55}.so-pref-categories{padding:8px 34px 16px;overflow:auto}.so-pref-category{border-bottom:1px solid var(--so-p-line);padding:19px 0}.so-pref-category__main{display:flex;gap:20px;justify-content:space-between;align-items:center}.so-pref-category h3{margin:0 0 5px;font-size:18px}.so-pref-category p{margin:0;color:var(--so-p-muted);font-size:13px;line-height:1.5}.so-pref-locked{font-size:12px;font-weight:800;color:#55708d;background:#eef4fa;border-radius:999px;padding:8px 12px;white-space:nowrap}.so-switch{position:relative;display:inline-block;width:54px;height:30px;flex:0 0 54px}.so-switch input{opacity:0;width:0;height:0}.so-switch span{position:absolute;inset:0;border-radius:999px;background:#d9e3ed;cursor:pointer;transition:.2s}.so-switch span:before{content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.14);transition:.2s}.so-switch input:checked+span{background:linear-gradient(135deg,#58bdff,#0879f6)}.so-switch input:checked+span:before{transform:translateX(24px)}.so-pref-details{margin-top:12px}.so-pref-details summary{cursor:pointer;color:#0b72de;font-size:12px;font-weight:800}.so-pref-services{display:grid;gap:10px;padding-top:10px}.so-pref-service{background:#f7fafe;border:1px solid #e3ebf4;border-radius:16px;padding:13px}.so-pref-service>div{display:flex;justify-content:space-between;gap:15px}.so-pref-service span{font-size:12px;color:#75879b}.so-pref-service p{margin:5px 0!important}.so-pref-service a{font-size:12px}.so-preferences__footer{padding:18px 34px 22px;border-top:1px solid var(--so-p-line);display:flex;justify-content:space-between;gap:20px;align-items:center}.so-preferences__links{display:flex;gap:16px;font-size:12px}.so-preferences__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.so-manage-consent{appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.so-policy{max-width:1000px;margin:0 auto;padding:8px 0 72px;font-family:var(--so-font,system-ui,-apple-system,"Segoe UI",sans-serif);color:var(--so-ink,#102033);line-height:1.72}.so-policy__eyebrow{color:#0b84ff!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em!important;margin-bottom:10px!important}.so-policy h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.035em;line-height:1.05;margin:0 0 12px}.so-policy h2{font-size:24px;margin:38px 0 10px}.so-policy p,.so-policy li{color:#53657a}.so-policy__updated{font-size:13px}.so-policy-table-wrap{overflow:auto;border:1px solid #e1e9f2;border-radius:18px}.so-policy-table{width:100%;border-collapse:collapse;min-width:740px}.so-policy-table th,.so-policy-table td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid #e8eef5;font-size:13px}.so-policy-table th{background:#f4f8fc;color:#2d435c}.so-policy__manage{margin-top:42px}
@media(max-width:900px){.so-consent__banner{grid-template-columns:1fr;padding:22px 50px 22px 22px}.so-consent__brand{display:flex;justify-content:flex-start}.so-consent__brand img{width:142px}.so-consent__actions{min-width:0;width:100%;padding-top:0}.so-preferences__panel{inset:2vh 12px}.so-preferences__footer{align-items:stretch;flex-direction:column}.so-preferences__actions{justify-content:stretch}.so-preferences__actions .so-consent-btn{flex:1}.so-preferences__links{justify-content:center}}
@media(max-width:600px){.so-consent__banner{left:10px;right:10px;bottom:10px;border-radius:22px;padding:18px 44px 18px 18px}.so-consent__copy h2{font-size:20px;padding-right:25px}.so-consent__actions{grid-template-columns:1fr}.so-consent__actions .so-consent-btn--primary{grid-column:auto;grid-row:auto}.so-consent-btn{width:100%;padding:12px 14px}.so-preferences__panel{inset:8px;border-radius:22px}.so-preferences__panel>header,.so-pref-categories,.so-preferences__footer{padding-left:18px;padding-right:18px}.so-preferences__panel h2{font-size:25px;padding-right:28px}.so-pref-category__main{align-items:flex-start}.so-policy{padding:45px 20px 70px}}


/* v1.0.1 — rifiniture grafiche CMP e pagine legali. */
.sprayorale-legal-page .so-fallback-content{margin-top:42px!important;margin-bottom:26px!important;max-width:1040px!important}
.sprayorale-legal-page .so-fallback-content>h1{margin:0 0 24px!important;font-size:clamp(36px,5vw,58px)!important;line-height:1.05!important}
.sprayorale-legal-page .so-policy{max-width:none!important;margin:0!important;padding:0 0 58px!important}
.sprayorale-legal-page .so-policy__eyebrow{margin-top:0!important}
.so-policy-table--privacy{min-width:800px}
@media(max-width:900px){
  .so-consent__x{top:8px;right:10px}
  .so-consent__copy h2{padding-right:0}
}
@media(max-width:600px){
  .so-consent__brand{justify-content:center;margin-bottom:2px}
  .so-consent__brand img{width:128px}
  .so-consent__x{width:28px;height:28px;font-size:19px;top:8px;right:9px}
  .sprayorale-legal-page .so-fallback-content{margin-top:28px!important;padding-left:18px!important;padding-right:18px!important}
  .sprayorale-legal-page .so-fallback-content>h1{font-size:34px!important;margin-bottom:18px!important}
  .sprayorale-legal-page .so-policy{padding-bottom:42px!important}
  .so-policy h2{font-size:22px;margin-top:30px}
}


/* v1.1.3 — fix testi accessibili, switch e footer azioni responsive. */
.so-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.so-pref-category__main>div{min-width:0;flex:1 1 auto}
.so-pref-category__main .so-switch{margin-left:auto}
.so-preferences__footer{flex:0 0 auto;background:#fff;position:relative;z-index:5}
.so-preferences__actions{min-width:0}
.so-preferences__actions .so-consent-btn{max-width:100%}

@media(max-width:900px){
  .so-preferences__footer{gap:14px}
  .so-preferences__actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    width:100%;
  }
  .so-preferences__actions .so-consent-btn{width:100%;min-width:0;flex:none}
  .so-preferences__actions [data-so-accept]{grid-column:1/-1;grid-row:1}
  .so-preferences__actions [data-so-reject]{grid-column:1;grid-row:2}
  .so-preferences__actions [data-so-save]{grid-column:2;grid-row:2}
}

@media(max-width:600px){
  .so-preferences__panel{max-width:calc(100vw - 16px)}
  .so-pref-category__main{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:12px;align-items:start}
  .so-pref-category__main .so-switch{grid-column:2;grid-row:1;align-self:start;margin-top:1px}
  .so-pref-locked{grid-column:2;grid-row:1;justify-self:end}
  .so-preferences__links{flex-wrap:wrap;row-gap:8px}
}

@media(max-width:420px){
  .so-preferences__actions{grid-template-columns:1fr}
  .so-preferences__actions [data-so-accept],
  .so-preferences__actions [data-so-reject],
  .so-preferences__actions [data-so-save]{grid-column:1;grid-row:auto}
  .so-preferences__actions [data-so-accept]{grid-row:1}
  .so-preferences__actions [data-so-save]{grid-row:2}
  .so-preferences__actions [data-so-reject]{grid-row:3}
}
