:root {
  --wsc-cookie-bg: #17120f;
  --wsc-cookie-card: #fffaf1;
  --wsc-cookie-text: #2e241e;
  --wsc-cookie-muted: #6d625b;
  --wsc-cookie-accent: #b45309;
  --wsc-cookie-accent-dark: #7c3504;
  --wsc-cookie-border: rgba(180, 83, 9, .22);
}

.wsc-cookie-backdrop {
  position: fixed;
  inset: 0;
  z-index: 19990;
  background: rgba(12, 8, 5, .48);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.wsc-cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 20000;
  width: min(1120px, calc(100% - 24px));
  transform: translateX(-50%);
  color: #fff;
  background: linear-gradient(145deg, rgba(23, 18, 15, .98), rgba(54, 33, 22, .98));
  border: 1px solid rgba(230, 167, 86, .55);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
  overflow: hidden;
}

.wsc-cookie-banner__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 22px;
}

.wsc-cookie-banner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: #f4c58e;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wsc-cookie-banner h2 {
  margin: 0 0 8px;
  color: #fff;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(1.15rem, 2.3vw, 1.55rem);
  font-weight: 800;
}

.wsc-cookie-banner p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.76);
  font-size: .92rem;
  line-height: 1.55;
}

.wsc-cookie-banner a, .wsc-cookie-modal a {
  color: #d97812;
  font-weight: 800;
}

.wsc-cookie-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.wsc-cookie-btn {
  min-height: 44px;
  padding: 10px 16px;
  border: 2px solid transparent;
  border-radius: 999px;
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.wsc-cookie-btn:hover, .wsc-cookie-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.22);
}

.wsc-cookie-btn--primary {
  color: #24170f;
  background: #f0ad4e;
  border-color: #f0ad4e;
}

.wsc-cookie-btn--outline {
  color: #fff;
  background: transparent;
  border-color: rgba(255,255,255,.72);
}

.wsc-cookie-btn--light {
  color: #2e241e;
  background: #fff;
  border-color: #fff;
}

.wsc-cookie-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 1.25rem;
  cursor: pointer;
}

.wsc-cookie-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 20010;
  width: min(720px, calc(100% - 24px));
  max-height: min(88vh, 760px);
  transform: translate(-50%, -50%);
  color: var(--wsc-cookie-text);
  background: var(--wsc-cookie-card);
  border: 1px solid var(--wsc-cookie-border);
  border-radius: 24px;
  box-shadow: 0 28px 90px rgba(0,0,0,.4);
  overflow: auto;
}

.wsc-cookie-modal__header, .wsc-cookie-modal__body, .wsc-cookie-modal__footer {
  padding: 22px;
}

.wsc-cookie-modal__header {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--wsc-cookie-card);
  border-bottom: 1px solid var(--wsc-cookie-border);
}

.wsc-cookie-modal__header h2 {
  margin: 0 42px 6px 0;
  color: #7c3504;
  font-family: "Lora", Georgia, serif;
  font-size: 1.45rem;
  font-weight: 800;
}

.wsc-cookie-modal__header p, .wsc-cookie-modal__body p {
  margin: 0;
  color: var(--wsc-cookie-muted);
  line-height: 1.55;
}

.wsc-cookie-category {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid rgba(180,83,9,.14);
}

.wsc-cookie-category:last-child {
  border-bottom: 0;
}

.wsc-cookie-category h3 {
  margin: 0 0 5px;
  font-size: 1rem;
  font-weight: 900;
}

.wsc-cookie-category small {
  display: block;
  color: var(--wsc-cookie-muted);
  line-height: 1.5;
}

.wsc-cookie-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #176d48;
  background: #dff4e9;
  font-size: .7rem;
  font-weight: 900;
}

.wsc-cookie-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 52px;
  height: 30px;
  flex: 0 0 auto;
}

.wsc-cookie-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wsc-cookie-switch span {
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: #c9c1bb;
  cursor: pointer;
  transition: background .2s ease;
}

.wsc-cookie-switch span::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  transition: transform .2s ease;
}

.wsc-cookie-switch input:checked + span {
  background: var(--wsc-cookie-accent);
}

.wsc-cookie-switch input:checked + span::after {
  transform: translateX(22px);
}

.wsc-cookie-switch input:disabled + span {
  opacity: .72;
  cursor: not-allowed;
}

.wsc-cookie-modal__footer {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  background: var(--wsc-cookie-card);
  border-top: 1px solid var(--wsc-cookie-border);
}

.wsc-cookie-modal .wsc-cookie-btn--outline {
  color: var(--wsc-cookie-accent-dark);
  border-color: var(--wsc-cookie-accent);
}

.wsc-cookie-modal .wsc-cookie-btn--primary {
  color: #fff;
  background: var(--wsc-cookie-accent);
  border-color: var(--wsc-cookie-accent);
}

.wsc-third-party-placeholder {
  position: absolute;
  inset: 0;
  z-index: 12;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  text-align: center;
  color: #fff;
  background: linear-gradient(145deg, rgba(19, 14, 11, .97), rgba(69, 39, 23, .94));
}

.wsc-third-party-placeholder h3 {
  margin: 0 0 8px;
  font-family: "Lora", Georgia, serif;
  font-size: 1.2rem;
  font-weight: 800;
}

.wsc-third-party-placeholder p {
  max-width: 440px;
  margin: 0 0 16px;
  color: rgba(255,255,255,.76);
  font-size: .88rem;
  line-height: 1.5;
}

.wsc-translate-placeholder {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 2px solid #f6e1c5;
  border-radius: 8px;
  color: #fff;
  background: #b45309;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}

body.wsc-cookie-lock {
  overflow: hidden;
}

@media (max-width: 820px) {
  .wsc-cookie-banner {
    bottom: 8px;
    width: calc(100% - 16px);
    border-radius: 18px;
  }
}

@media (max-width: 820px) {
  .wsc-cookie-banner__inner {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }
}

@media (max-width: 820px) {
  .wsc-cookie-actions {
    justify-content: stretch;
  }
}

@media (max-width: 820px) {
  .wsc-cookie-actions .wsc-cookie-btn {
    flex: 1 1 150px;
  }
}

@media (max-width: 820px) {
  .wsc-cookie-modal__header, .wsc-cookie-modal__body, .wsc-cookie-modal__footer {
    padding: 18px;
  }
}

@media (max-width: 820px) {
  .wsc-cookie-modal__footer .wsc-cookie-btn {
    flex: 1 1 180px;
  }
}



/* V54 — placeholder YouTube essenziale */
.wsc-third-party-placeholder{padding:22px 18px;background:linear-gradient(145deg,rgba(32,18,11,.98),rgba(69,37,20,.96))}
.wsc-third-party-placeholder h3{margin:8px 0 6px;font-size:1.35rem;color:#fff}
.wsc-third-party-placeholder p{margin:0 0 18px;color:rgba(255,255,255,.9);font-size:1rem;line-height:1.3}
.wsc-cookie-simple-icon{position:relative;width:76px;height:58px;margin:0 auto 3px;display:flex;align-items:center;justify-content:center;font-size:2.6rem}
.wsc-cookie-simple-icon i{position:absolute;right:4px;bottom:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#3d281d;font-size:.8rem;box-shadow:0 4px 10px rgba(0,0,0,.24)}
.wsc-cookie-enable-main{min-width:210px;padding:12px 20px!important;border-radius:999px!important;background:#ffb43f!important;border-color:#ffb43f!important;color:#17120e!important;font-size:1rem!important;font-weight:900!important}
.wsc-cookie-enable-main:hover,.wsc-cookie-enable-main:focus{background:#ffc362!important;border-color:#ffc362!important;color:#17120e!important}
@media(max-width:575.98px){.wsc-third-party-placeholder{padding:16px 12px}.wsc-third-party-placeholder h3{font-size:1.15rem}.wsc-third-party-placeholder p{font-size:.86rem;margin-bottom:13px}.wsc-cookie-simple-icon{width:62px;height:48px;font-size:2.1rem}.wsc-cookie-enable-main{min-width:175px;padding:10px 16px!important;font-size:.9rem!important}}
