/* DoriSan Home CSS Bundle V5.9.8 — exact source order preserved */

/* [01/43] SOURCE: css/dorisan_step30_player_fixed.css */
:root{
  --ds-black:#02050a;
  --ds-black2:#06101f;
  --ds-panel:#07172f;
  --ds-panel2:#0c2348;
  --ds-white:#f7f9ff;
  --ds-silver:#c9d5e8;
  --ds-blue:#59b7ff;
  --ds-red:#ff304f;
  --ds-violet:#7b5cff;
  --ds-gold:#f4c778;
  --ds-line:rgba(100,185,255,.30);
  --ds-shadow:0 22px 70px rgba(0,0,0,.48);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  padding-bottom:118px;
  background:
    radial-gradient(circle at 15% 0%, rgba(89,183,255,.14), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(255,48,79,.13), transparent 30%),
    linear-gradient(180deg,#02050a 0%,#071020 55%,#02050a 100%);
  color:var(--ds-white);
  font-family:Arial,Helvetica,sans-serif;
}

.d30-header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(2,5,10,.93);
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(16px);
}

.d30-header-inner{
  max-width:1360px;
  min-height:72px;
  margin:0 auto;
  padding:14px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.d30-logo{
  font-size:1.72rem;
  font-weight:950;
  letter-spacing:.09em;
  color:var(--ds-white);
  text-decoration:none;
}

.d30-nav{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
}

.d30-nav a{
  color:var(--ds-white);
  text-decoration:none;
  font-weight:800;
  opacity:.94;
}

.d30-nav a:hover{color:var(--ds-gold)}

.d30-main{
  max-width:1360px;
  margin:0 auto;
  border-left:1px solid rgba(255,255,255,.05);
  border-right:1px solid rgba(255,255,255,.05);
}

.d30-hero{
  height:clamp(285px,32vw,450px);
  background:#05080f center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.d30-slogan{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px 14px;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:var(--ds-white);
  font-weight:950;
  letter-spacing:.45em;
  text-transform:uppercase;
  font-size:clamp(.86rem,1.75vw,1.30rem);
}

.d30-slogan span{color:var(--ds-red)}

.d30-albums{
  position:relative;
  padding:36px 42px 44px;
  background:#071020 center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.12);
  overflow:hidden;
}

.d30-albums::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(2,5,10,.88), rgba(2,5,10,.34), rgba(2,5,10,.88)),
    linear-gradient(180deg, rgba(2,5,10,.28), rgba(2,5,10,.86));
  pointer-events:none;
}

.d30-albums > *{position:relative;z-index:1}

.d30-title{
  text-align:center;
  margin:0 0 28px;
  color:var(--ds-white);
  font-size:1.05rem;
  font-weight:950;
  letter-spacing:.48em;
  text-transform:uppercase;
}

.d30-grid{
  max-width:1070px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.d30-album{
  cursor:pointer;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(160,215,255,.28);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 18px 46px rgba(0,0,0,.38);
  transition:.18s ease;
}

.d30-album:hover,
.d30-album.active{
  transform:translateY(-5px);
  border-color:rgba(244,199,120,.82);
  box-shadow:0 24px 72px rgba(0,0,0,.55);
}

.d30-cover{
  aspect-ratio:1/1;
  background:#05080f;
  overflow:hidden;
}

.d30-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.d30-album-info{
  padding:13px 14px 15px;
  background:rgba(0,0,0,.72);
}

.d30-album-info h3{
  margin:0 0 6px;
  font-size:.98rem;
  font-weight:950;
  text-transform:uppercase;
}

.d30-album-info p{
  margin:0;
  color:var(--ds-silver);
  font-size:.90rem;
}

.d30-detail{
  display:none;
  position:relative;
  padding:34px 42px 42px;
  background:
    linear-gradient(135deg, rgba(2,5,10,.96), rgba(6,18,38,.92)),
    var(--d30-track-texture) center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.12);
  overflow:hidden;
}

.d30-detail.open{display:block}

.d30-detail::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,48,79,.14), transparent 34%, rgba(89,183,255,.16)),
    linear-gradient(180deg, rgba(2,5,10,.70), rgba(2,5,10,.90));
  pointer-events:none;
}

.d30-detail > *{position:relative;z-index:1}

.d30-detail-box{
  max-width:1160px;
  margin:0 auto;
  display:grid;
  grid-template-columns:270px 1fr;
  gap:24px;
}

.d30-detail-cover{
  border-radius:16px;
  border:1px solid rgba(160,215,255,.24);
  overflow:hidden;
  box-shadow:0 14px 36px rgba(0,0,0,.34);
  background:#02050a;
}

.d30-detail-cover img{
  width:100%;
  display:block;
}

.d30-detail h2{
  margin:0 0 8px;
  color:var(--ds-white);
  text-transform:uppercase;
  font-size:2.05rem;
  letter-spacing:.04em;
}

.d30-detail p{
  margin:0 0 16px;
  color:var(--ds-silver);
}

.d30-tracks{
  display:grid;
  gap:13px;
}

.d30-track{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:14px;
  align-items:center;
  padding:15px 16px 15px 19px;
  border-radius:20px;
  border:1px solid rgba(89,183,255,.30);
  background:
    linear-gradient(135deg, rgba(2,5,10,.84), rgba(10,31,62,.68)),
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.13), transparent 38%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.15), transparent 40%);
  box-shadow:0 10px 28px rgba(0,0,0,.30);
  position:relative;
  overflow:hidden;
}

.d30-track::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--ds-red),var(--ds-blue));
}

.d30-track strong{
  display:block;
  margin-bottom:6px;
  color:var(--ds-white);
  font-size:1rem;
  letter-spacing:.02em;
}

.d30-track span{
  color:var(--ds-blue);
  font-weight:750;
  font-size:.92rem;
}

.d30-track-btn{
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:linear-gradient(135deg,var(--ds-red),var(--ds-blue));
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.26);
}

.d30-after{
  padding:34px 42px 42px;
  background:linear-gradient(180deg,#05080f,#071020);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.d30-after-grid{
  display:grid;
  grid-template-columns:minmax(260px,420px) 1fr;
  gap:22px;
  align-items:start;
}

.d30-manifesto{
  padding:14px;
  border-radius:24px;
  border:1px solid rgba(89,183,255,.30);
  background:linear-gradient(180deg, rgba(5,12,24,.96), rgba(10,22,44,.92));
  box-shadow:var(--ds-shadow);
}

.d30-manifesto img{
  width:100%;
  display:block;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
}

.d30-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.d30-card{
  min-height:184px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(89,183,255,.30);
  background:linear-gradient(135deg, rgba(4,11,22,.92), rgba(12,32,66,.86));
  box-shadow:var(--ds-shadow);
  overflow:hidden;
  position:relative;
  cursor:pointer;
  transition:.18s ease;
}

.d30-card:hover,
.d30-card.active{
  transform:translateY(-4px);
  border-color:rgba(244,199,120,.72);
}

.d30-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,48,79,.14), transparent 44%, rgba(89,183,255,.15)),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.45));
  pointer-events:none;
}

.d30-card > *{position:relative;z-index:1}

.d30-card h3{
  margin:0 0 10px;
  color:var(--ds-white);
  font-size:1.30rem;
}

.d30-card p{
  margin:0;
  color:var(--ds-silver);
  line-height:1.55;
}

.d30-pill{
  display:inline-block;
  margin-top:14px;
  padding:8px 12px;
  border-radius:999px;
  color:var(--ds-blue);
  background:rgba(0,0,0,.40);
  border:1px solid rgba(89,183,255,.25);
  font-weight:800;
}

.d30-panel{
  margin-top:18px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(89,183,255,.28);
  background:
    linear-gradient(135deg, rgba(2,5,10,.95), rgba(8,24,50,.90)),
    var(--d30-track-texture) center/cover no-repeat;
  box-shadow:var(--ds-shadow);
}

.d30-panel h3{
  margin:0 0 14px;
  font-size:1.45rem;
}

.d30-shop-categories{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}

.d30-shop-category{
  min-height:138px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(89,183,255,.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.18), transparent 40%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.20), transparent 42%),
    linear-gradient(135deg, rgba(3,8,18,.95), rgba(10,30,62,.82));
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  cursor:pointer;
  transition:.18s ease;
}

.d30-shop-category:hover,
.d30-shop-category.active{
  transform:translateY(-3px);
  border-color:rgba(244,199,120,.70);
}

.d30-shop-category h4{
  margin:0 0 8px;
  color:var(--ds-white);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.d30-shop-category p{
  margin:0;
  color:var(--ds-silver);
  line-height:1.45;
  font-size:.92rem;
}

.d30-shop-category span{
  display:inline-block;
  margin-top:12px;
  color:var(--ds-blue);
  font-weight:900;
  font-size:.86rem;
}

.d30-panel-note{
  margin:0 0 16px;
  color:var(--ds-silver);
  line-height:1.55;
}

.d30-product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.d30-product{
  border:1px solid rgba(89,183,255,.22);
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.44);
}

.d30-product img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  background:#02050a;
}

.d30-product-body{
  padding:12px;
}

.d30-product-body strong{
  display:block;
  margin-bottom:6px;
}

.d30-product-body span{
  color:var(--ds-blue);
  font-size:.88rem;
  font-weight:800;
}

.d30-socials{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.d30-social{
  min-height:118px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(89,183,255,.28);
  background:linear-gradient(135deg, rgba(2,5,10,.92), rgba(10,31,62,.70));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-decoration:none;
  color:var(--ds-white);
}

.d30-social-icon{
  font-size:2rem;
  color:var(--ds-red);
}

.d30-social strong{
  display:block;
  margin-top:8px;
}

.d30-social span{
  color:var(--ds-silver);
  font-size:.86rem;
}

/* PLAYER GLOBALE — stile DoriSan, non nativo brutto */
.d30-player{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:200;
  min-height:104px;
  padding:12px 20px;
  background:
    linear-gradient(90deg, rgba(255,48,79,.11), transparent 34%, rgba(89,183,255,.15)),
    rgba(2,5,10,.98);
  border-top:1px solid rgba(89,183,255,.35);
  box-shadow:0 -18px 46px rgba(0,0,0,.55);
  backdrop-filter:blur(14px);
}

.d30-player-inner{
  max-width:1360px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(230px,1fr) 54px minmax(260px,620px) 94px;
  gap:14px;
  align-items:center;
}

.d30-now-title{
  font-weight:950;
  color:var(--ds-white);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.d30-now-sub{
  color:var(--ds-blue);
  font-size:.88rem;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.d30-play{
  width:50px;
  height:50px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(135deg,var(--ds-red),var(--ds-blue));
  color:white;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 0 22px rgba(89,183,255,.22), 0 0 16px rgba(255,48,79,.18);
}

.d30-progress{
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
  cursor:pointer;
  position:relative;
  box-shadow:inset 0 0 16px rgba(0,0,0,.42);
}

.d30-bar{
  width:0%;
  height:100%;
  background:linear-gradient(90deg,var(--ds-red),var(--ds-blue),var(--ds-gold));
  box-shadow:0 0 16px rgba(89,183,255,.50);
  transition:width .10s linear;
}

.d30-knob{
  position:absolute;
  top:50%;
  left:0%;
  width:20px;
  height:20px;
  border-radius:999px;
  transform:translate(-50%,-50%);
  background:#fff;
  border:3px solid var(--ds-blue);
  box-shadow:0 0 18px rgba(89,183,255,.70);
  pointer-events:none;
}

.d30-time{
  color:var(--ds-white);
  font-size:.84rem;
  text-align:right;
  font-weight:850;
}

.d30-hidden-audio{
  display:none !important;
}

.d30-footer{
  max-width:1360px;
  margin:0 auto;
  padding:28px 28px 56px;
  color:var(--ds-silver);
  border-top:1px solid rgba(255,255,255,.12);
}

@media(max-width:1100px){
  .d30-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .d30-detail-box{grid-template-columns:1fr}
  .d30-after-grid{grid-template-columns:1fr}
  .d30-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .d30-socials{grid-template-columns:repeat(2,minmax(0,1fr))}
  .d30-player-inner{grid-template-columns:1fr 54px}
  .d30-progress,.d30-time{grid-column:1 / -1}
}

@media(max-width:720px){
  body{padding-bottom:142px}
  .d30-header-inner{
    height:auto;
    padding:14px 16px;
    flex-direction:column;
    align-items:flex-start;
  }
  .d30-nav{gap:12px}
  .d30-hero{height:210px}
  .d30-slogan{
    min-height:58px;
    letter-spacing:.18em;
    font-size:.78rem;
  }
  .d30-albums,
  .d30-detail,
  .d30-after{
    padding-left:16px;
    padding-right:16px;
  }
  .d30-grid{grid-template-columns:1fr}
  .d30-track{grid-template-columns:1fr}
  .d30-shop-categories{grid-template-columns:1fr}
  .d30-product-grid{grid-template-columns:1fr}
  .d30-socials{grid-template-columns:1fr}
}


/* [02/43] SOURCE: css/dorisan_step41_inline_audio_no_global.css */
/* STEP41 — niente player globale, player sicuro dentro ogni traccia */

body{
  padding-bottom:0 !important;
}

.d30-player,
.d29-player,
.d27-player,
#d30-global-player,
#d29-global-player,
#d27-global-player{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.ds41-audio-wrap{
  display:grid;
  gap:8px;
  width:100%;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(89,183,255,.32);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.16), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.18), transparent 42%),
    linear-gradient(135deg, rgba(2,5,10,.86), rgba(8,24,50,.84));
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}

.ds41-audio-label{
  color:#f7f9ff;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.ds41-audio-sub{
  color:#59b7ff;
  font-size:.78rem;
  font-weight:800;
}

.ds41-audio{
  width:100%;
  height:38px;
  accent-color:#59b7ff;
  filter:drop-shadow(0 0 10px rgba(89,183,255,.18));
}

.d30-track.ds41-playing{
  border-color:rgba(244,199,120,.80) !important;
  box-shadow:0 12px 32px rgba(244,199,120,.12), 0 10px 28px rgba(0,0,0,.30) !important;
}

.d30-track.ds41-playing::before{
  background:linear-gradient(180deg,#f4c778,#59b7ff,#ff304f) !important;
}

@media(max-width:720px){
  .ds41-audio{
    height:42px;
  }
}


/* [03/43] SOURCE: css/dorisan_step42_inline_audio_graphics_upgrade.css */
/* STEP42 — Upgrade grafico player singoli Dorisan */

:root{
  --ds42-bg-1:#03060c;
  --ds42-bg-2:#091321;
  --ds42-bg-3:#111827;
  --ds42-blue:#59b7ff;
  --ds42-blue-2:#7ed0ff;
  --ds42-red:#ff304f;
  --ds42-red-2:#ff5f79;
  --ds42-gold:#f4c778;
  --ds42-white:#f7f9ff;
  --ds42-soft:rgba(255,255,255,.72);
  --ds42-border:rgba(89,183,255,.24);
  --ds42-border-hot:rgba(244,199,120,.65);
}

.ds41-audio-wrap{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:10px;
  width:100%;
  padding:14px 14px 12px 14px;
  border-radius:20px;
  border:1px solid var(--ds42-border);
  background:
    linear-gradient(135deg, rgba(255,48,79,.10), transparent 28%),
    linear-gradient(225deg, rgba(89,183,255,.12), transparent 34%),
    radial-gradient(circle at 8% 12%, rgba(255,48,79,.14), transparent 35%),
    radial-gradient(circle at 92% 18%, rgba(89,183,255,.18), transparent 34%),
    linear-gradient(145deg, rgba(3,6,12,.98), rgba(8,18,34,.95) 55%, rgba(6,13,27,.98));
  box-shadow:
    0 18px 34px rgba(0,0,0,.30),
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 24px rgba(89,183,255,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ds41-audio-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.05), transparent);
  transform:translateX(-120%);
  transition:transform .7s ease;
  pointer-events:none;
}

.ds41-audio-wrap:hover{
  transform:translateY(-1px);
  border-color:rgba(89,183,255,.42);
  box-shadow:
    0 22px 38px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 28px rgba(89,183,255,.10);
}

.ds41-audio-wrap:hover::before{
  transform:translateX(120%);
}

.ds41-audio-label{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ds42-white);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.2;
}

.ds41-audio-label::before{
  content:"◉";
  color:var(--ds42-gold);
  font-size:.9rem;
  text-shadow:0 0 10px rgba(244,199,120,.45);
}

.ds41-audio-sub{
  color:var(--ds42-blue-2);
  font-size:.82rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.03em;
  text-shadow:0 0 8px rgba(89,183,255,.08);
}

.ds41-audio{
  width:100%;
  height:46px;
  border-radius:14px;
  background:rgba(7,12,22,.92);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 8px 18px rgba(0,0,0,.22);
  accent-color:var(--ds42-blue);
  filter:drop-shadow(0 0 12px rgba(89,183,255,.12));
}

.ds41-audio::-webkit-media-controls-panel{
  background:
    linear-gradient(90deg, rgba(255,48,79,.10), rgba(8,14,26,.92) 18%, rgba(8,14,26,.96) 82%, rgba(89,183,255,.10));
  border-radius:14px;
}

.ds41-audio::-webkit-media-controls-play-button,
.ds41-audio::-webkit-media-controls-mute-button{
  filter:brightness(1.1) contrast(1.05);
}

.ds41-audio::-webkit-media-controls-current-time-display,
.ds41-audio::-webkit-media-controls-time-remaining-display{
  color:var(--ds42-white);
  font-weight:800;
  text-shadow:0 0 6px rgba(89,183,255,.12);
}

.ds41-audio::-webkit-media-controls-timeline{
  filter:saturate(1.1) brightness(1.02);
}

.ds41-audio::-webkit-media-controls-volume-slider{
  filter:saturate(1.05);
}

.d30-track.ds41-playing .ds41-audio-wrap,
.d29-track.ds41-playing .ds41-audio-wrap,
.d27-track.ds41-playing .ds41-audio-wrap{
  border-color:var(--ds42-border-hot);
  box-shadow:
    0 0 0 1px rgba(244,199,120,.14) inset,
    0 18px 40px rgba(0,0,0,.36),
    0 0 26px rgba(244,199,120,.12),
    0 0 18px rgba(89,183,255,.10);
}

.d30-track.ds41-playing .ds41-audio-label,
.d29-track.ds41-playing .ds41-audio-label,
.d27-track.ds41-playing .ds41-audio-label{
  color:#fff6df;
}

.d30-track.ds41-playing .ds41-audio-sub,
.d29-track.ds41-playing .ds41-audio-sub,
.d27-track.ds41-playing .ds41-audio-sub{
  color:#ffe5b3;
}

.d30-track.ds41-playing .ds41-audio-wrap::after,
.d29-track.ds41-playing .ds41-audio-wrap::after,
.d27-track.ds41-playing .ds41-audio-wrap::after{
  content:"IN ASCOLTO";
  position:absolute;
  top:12px;
  right:12px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.12em;
  color:#0a0d13;
  background:linear-gradient(135deg, var(--ds42-gold), #fff0c8);
  box-shadow:0 6px 14px rgba(244,199,120,.24);
}

@media(max-width:720px){
  .ds41-audio-wrap{
    padding:12px 12px 10px 12px;
    border-radius:18px;
    gap:8px;
  }

  .ds41-audio{
    height:50px;
  }

  .ds41-audio-label{
    font-size:.74rem;
    letter-spacing:.10em;
  }

  .ds41-audio-sub{
    font-size:.78rem;
  }

  .d30-track.ds41-playing .ds41-audio-wrap::after,
  .d29-track.ds41-playing .ds41-audio-wrap::after,
  .d27-track.ds41-playing .ds41-audio-wrap::after{
    top:10px;
    right:10px;
    font-size:.58rem;
    padding:4px 8px;
  }
}


/* [04/43] SOURCE: css/dorisan_step46_mobile_text_refinement.css */
/* STEP46 — Rifinitura mobile + testi DoriSan */

:root{
  --ds46-black:#02050a;
  --ds46-panel:#071321;
  --ds46-panel2:#0b1c36;
  --ds46-blue:#59b7ff;
  --ds46-red:#ff304f;
  --ds46-gold:#f4c778;
  --ds46-white:#f7f9ff;
  --ds46-soft:#c9d5e8;
}

/* pulizia generale */
.d30-panel-note,
.d30-card p,
.d30-product-body span,
.d30-social span{
  line-height:1.5;
}

.d30-panel{
  border-radius:26px;
  border:1px solid rgba(89,183,255,.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.12), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.14), transparent 36%),
    linear-gradient(135deg, rgba(2,5,10,.96), rgba(8,23,45,.92));
}

.d30-card{
  min-height:170px;
}

.d30-card h3{
  letter-spacing:.01em;
}

.d30-pill{
  background:linear-gradient(135deg, rgba(255,48,79,.20), rgba(89,183,255,.18));
  border-color:rgba(244,199,120,.30);
  color:#fff;
}

.d30-product{
  border-color:rgba(89,183,255,.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.08), transparent 35%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.12), transparent 38%),
    rgba(0,0,0,.50);
}

.d30-product-body strong{
  color:var(--ds46-white);
  font-weight:950;
}

.d30-product-body span{
  color:var(--ds46-soft);
}

/* contatti più puliti */
.d30-social{
  border-color:rgba(89,183,255,.30);
  background:
    linear-gradient(135deg, rgba(2,5,10,.95), rgba(10,31,62,.70)),
    radial-gradient(circle at 100% 0%, rgba(255,48,79,.12), transparent 35%);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.d30-social:hover{
  transform:translateY(-3px);
  border-color:rgba(244,199,120,.66);
  box-shadow:0 16px 38px rgba(0,0,0,.32), 0 0 22px rgba(89,183,255,.10);
}

.d30-social-icon{
  color:var(--ds46-gold);
  text-shadow:0 0 14px rgba(244,199,120,.25);
}

/* player singoli già funzionanti: rifinitura leggibilità */
.ds41-audio-wrap{
  min-width:0;
}

.ds41-audio-sub{
  overflow:hidden;
  text-overflow:ellipsis;
}

/* rimozione spazio vecchio player */
body{
  padding-bottom:0 !important;
}

/* mobile */
@media(max-width:900px){
  .d30-header-inner{
    padding:12px 16px;
    gap:12px;
  }

  .d30-logo{
    font-size:1.34rem;
  }

  .d30-nav{
    gap:10px;
  }

  .d30-nav a{
    font-size:.88rem;
  }

  .d30-hero{
    height:clamp(190px,42vw,280px);
    background-position:center center;
  }

  .d30-slogan{
    min-height:58px;
    padding:14px 10px;
    font-size:.78rem;
    letter-spacing:.18em;
  }

  .d30-albums,
  .d30-detail,
  .d30-after{
    padding-left:16px;
    padding-right:16px;
  }

  .d30-title{
    font-size:.9rem;
    letter-spacing:.30em;
  }

  .d30-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .d30-album-info h3{
    font-size:.88rem;
  }

  .d30-detail-box{
    grid-template-columns:1fr;
    gap:18px;
  }

  .d30-detail-cover{
    max-width:260px;
  }

  .d30-detail h2{
    font-size:1.42rem;
  }

  .d30-track{
    grid-template-columns:1fr;
    padding:14px;
    border-radius:18px;
  }

  .d30-track strong{
    font-size:.92rem;
  }

  .d30-track span{
    font-size:.82rem;
  }

  .d30-after-grid{
    grid-template-columns:1fr;
  }

  .d30-services{
    grid-template-columns:1fr;
  }

  .d30-card{
    min-height:138px;
  }

  .d30-shop-categories{
    grid-template-columns:1fr;
  }

  .d30-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .d30-socials{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .d30-grid,
  .d30-product-grid,
  .d30-socials{
    grid-template-columns:1fr;
  }

  .d30-hero{
    height:190px;
  }

  .d30-slogan{
    font-size:.70rem;
    letter-spacing:.12em;
  }

  .d30-title{
    letter-spacing:.18em;
  }

  .d30-detail-cover{
    max-width:210px;
  }

  .d30-manifesto{
    padding:10px;
  }

  .ds41-audio{
    height:46px;
  }
}


/* [05/43] SOURCE: css/dorisan_step52_future_pages_structure.css */
/* STEP52 — Pagine future DoriSan */

.d52-wrap{
  position:relative;
  padding:54px 5vw 70px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.12), transparent 32%),
    radial-gradient(circle at 100% 4%, rgba(89,183,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(2,5,10,.98), rgba(5,12,26,.96));
  border-top:1px solid rgba(89,183,255,.20);
}

.d52-head{
  max-width:1180px;
  margin:0 auto 30px;
}

.d52-kicker{
  color:#f4c778;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.78rem;
}

.d52-title{
  margin:10px 0 8px;
  color:#f7f9ff;
  font-size:clamp(2rem,4vw,4.3rem);
  line-height:.95;
  letter-spacing:-.05em;
}

.d52-sub{
  color:#c9d5e8;
  max-width:780px;
  line-height:1.65;
  font-weight:700;
}

.d52-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  gap:22px;
}

.d52-page{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(89,183,255,.25);
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(255,48,79,.08), transparent 32%),
    linear-gradient(225deg, rgba(89,183,255,.12), transparent 36%),
    rgba(3,8,18,.92);
  box-shadow:0 18px 42px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.03);
}

.d52-page::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.035), transparent);
  transform:translateX(-120%);
  transition:transform .8s ease;
  pointer-events:none;
}

.d52-page:hover::before{
  transform:translateX(120%);
}

.d52-page-main{
  padding:26px;
  display:grid;
  gap:18px;
}

.d52-page-top{
  display:grid;
  gap:7px;
}

.d52-page h3{
  color:#f7f9ff;
  font-size:1.55rem;
  line-height:1.05;
  margin:0;
}

.d52-page p{
  color:#c9d5e8;
  line-height:1.55;
  margin:0;
  font-weight:700;
}

.d52-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.d52-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  border:1px solid rgba(244,199,120,.26);
  background:linear-gradient(135deg, rgba(255,48,79,.18), rgba(89,183,255,.14));
}

.d52-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.d52-item{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.28);
  padding:16px;
}

.d52-item strong{
  display:block;
  color:#59b7ff;
  margin-bottom:9px;
  font-weight:950;
}

.d52-entry-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 12px;
  padding:0;
  list-style:none;
}

.d52-entry-list li{
  color:#f7f9ff;
  border:1px solid rgba(89,183,255,.20);
  background:rgba(89,183,255,.07);
  border-radius:999px;
  padding:5px 9px;
  font-size:.78rem;
  font-weight:800;
}

.d52-meta{
  display:grid;
  gap:5px;
  color:#c9d5e8;
  font-size:.82rem;
  line-height:1.35;
}

.d52-meta span b{
  color:#f4c778;
}

.d52-cta{
  justify-self:start;
  border-radius:999px;
  border:1px solid rgba(244,199,120,.34);
  background:linear-gradient(135deg, rgba(255,48,79,.18), rgba(89,183,255,.18));
  color:#fff;
  padding:10px 15px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.78rem;
}

@media(max-width:900px){
  .d52-wrap{
    padding:40px 16px 54px;
  }

  .d52-items{
    grid-template-columns:1fr;
  }

  .d52-page-main{
    padding:20px;
  }
}


/* [06/43] SOURCE: css/dorisan_step54_internal_assistant.css */
/* STEP54 — Assistente interno DoriSan */

.d54-section{
  position:relative;
  padding:58px 5vw 76px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.12), transparent 33%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(2,5,10,.98), rgba(5,13,29,.97));
  border-top:1px solid rgba(89,183,255,.18);
}

.d54-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:stretch;
}

.d54-card{
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(89,183,255,.28);
  background:
    linear-gradient(135deg, rgba(255,48,79,.10), transparent 28%),
    linear-gradient(225deg, rgba(89,183,255,.13), transparent 35%),
    rgba(2,5,10,.92);
  box-shadow:0 20px 54px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.035);
}

.d54-main{
  padding:30px;
}

.d54-kicker{
  color:#f4c778;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.d54-title{
  margin:10px 0 12px;
  color:#f7f9ff;
  font-size:clamp(2rem,4vw,4rem);
  line-height:.95;
  letter-spacing:-.05em;
}

.d54-text{
  color:#c9d5e8;
  line-height:1.65;
  font-weight:750;
  max-width:820px;
}

.d54-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}

.d54-tag{
  border-radius:999px;
  border:1px solid rgba(244,199,120,.32);
  background:linear-gradient(135deg, rgba(255,48,79,.16), rgba(89,183,255,.13));
  color:#fff;
  padding:8px 11px;
  font-size:.75rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.d54-console{
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-height:430px;
}

.d54-console-head{
  padding:18px 20px;
  border-bottom:1px solid rgba(89,183,255,.18);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.d54-console-head strong{
  color:#fff;
  font-size:1.05rem;
}

.d54-led{
  color:#0d1119;
  background:linear-gradient(135deg,#f4c778,#fff0c8);
  border-radius:999px;
  padding:6px 10px;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.d54-chat{
  padding:18px;
  display:grid;
  gap:12px;
  align-content:start;
  max-height:430px;
  overflow:auto;
}

.d54-msg{
  border-radius:18px;
  padding:13px 14px;
  line-height:1.5;
  font-weight:750;
}

.d54-msg.bot{
  color:#eaf6ff;
  border:1px solid rgba(89,183,255,.22);
  background:rgba(89,183,255,.08);
}

.d54-msg.user{
  color:#fff;
  border:1px solid rgba(255,48,79,.22);
  background:rgba(255,48,79,.10);
  justify-self:end;
  max-width:86%;
}

.d54-msg-title{
  color:#f4c778;
  font-weight:950;
  margin-bottom:4px;
}

.d54-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 18px 14px;
}

.d54-chip{
  border:1px solid rgba(89,183,255,.28);
  background:rgba(0,0,0,.28);
  color:#f7f9ff;
  border-radius:999px;
  padding:8px 10px;
  font-weight:900;
  cursor:pointer;
}

.d54-inputrow{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  padding:16px 18px 18px;
  border-top:1px solid rgba(89,183,255,.18);
}

.d54-input{
  min-width:0;
  border-radius:999px;
  border:1px solid rgba(89,183,255,.28);
  background:rgba(0,0,0,.30);
  color:#fff;
  padding:12px 15px;
  outline:none;
  font-weight:800;
}

.d54-btn{
  border:0;
  border-radius:999px;
  padding:12px 15px;
  cursor:pointer;
  font-weight:950;
  color:#07111f;
  background:linear-gradient(135deg,#59b7ff,#f4c778);
}

.d54-voice{
  background:linear-gradient(135deg,#ff304f,#59b7ff);
  color:white;
}

.d54-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99990;
  border:1px solid rgba(244,199,120,.55);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.28), transparent 38%),
    linear-gradient(135deg, rgba(2,5,10,.95), rgba(9,31,63,.94));
  color:#fff;
  border-radius:999px;
  padding:12px 16px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 18px 40px rgba(0,0,0,.45), 0 0 24px rgba(89,183,255,.16);
  cursor:pointer;
}

.d54-panel{
  position:fixed;
  right:18px;
  bottom:78px;
  z-index:99991;
  width:min(430px,calc(100vw - 32px));
  max-height:70vh;
  display:none;
  border-radius:24px;
  border:1px solid rgba(89,183,255,.32);
  background:rgba(2,5,10,.98);
  box-shadow:0 24px 70px rgba(0,0,0,.62);
  overflow:hidden;
}

.d54-panel.open{
  display:block;
}

.d54-panel .d54-console{
  min-height:0;
}

@media(max-width:920px){
  .d54-inner{
    grid-template-columns:1fr;
  }

  .d54-main{
    padding:24px;
  }

  .d54-inputrow{
    grid-template-columns:1fr;
  }

  .d54-btn{
    width:100%;
  }
}


/* [07/43] SOURCE: css/dorisan_step54b_assistant_visible_launcher.css */
/* STEP54B — Launcher visibile IA DoriSan */

.d54b-launcher{
  position:fixed;
  right:22px;
  bottom:24px;
  z-index:2147483000;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(244,199,120,.68);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.45), transparent 40%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.42), transparent 42%),
    linear-gradient(135deg, rgba(2,5,10,.98), rgba(7,22,46,.96));
  color:#fff;
  border-radius:999px;
  padding:13px 18px 13px 13px;
  cursor:pointer;
  box-shadow:
    0 20px 56px rgba(0,0,0,.58),
    0 0 28px rgba(89,183,255,.22),
    0 0 18px rgba(255,48,79,.14);
  font-family:Arial,Helvetica,sans-serif;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.d54b-launcher:hover{
  transform:translateY(-2px);
  box-shadow:
    0 24px 64px rgba(0,0,0,.62),
    0 0 36px rgba(89,183,255,.28),
    0 0 26px rgba(255,48,79,.18);
}

.d54b-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    linear-gradient(135deg, rgba(255,48,79,.92), rgba(89,183,255,.88));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), 0 0 18px rgba(89,183,255,.22);
  color:#fff;
  font-size:1.22rem;
}

.d54b-label{
  display:grid;
  line-height:1.08;
}

.d54b-label strong{
  font-size:.92rem;
}

.d54b-label span{
  color:#f4c778;
  font-size:.62rem;
  letter-spacing:.12em;
}

.d54b-panel{
  position:fixed;
  right:22px;
  bottom:94px;
  z-index:2147483001;
  width:min(470px,calc(100vw - 28px));
  max-height:min(720px,calc(100vh - 118px));
  display:none;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(89,183,255,.38);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.16), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.20), transparent 36%),
    rgba(2,5,10,.98);
  box-shadow:0 28px 84px rgba(0,0,0,.72), 0 0 32px rgba(89,183,255,.15);
  font-family:Arial,Helvetica,sans-serif;
}

.d54b-panel.open{
  display:grid;
  grid-template-rows:auto 1fr auto auto;
}

.d54b-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 18px 15px;
  border-bottom:1px solid rgba(89,183,255,.20);
}

.d54b-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.d54b-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(255,48,79,.90), rgba(89,183,255,.90));
  color:#fff;
  font-weight:950;
  box-shadow:0 0 20px rgba(89,183,255,.16);
}

.d54b-title{
  display:grid;
  line-height:1.08;
}

.d54b-title strong{
  color:#fff;
  font-size:1.05rem;
}

.d54b-title span{
  color:#f4c778;
  font-size:.70rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.d54b-close{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  font-weight:950;
}

.d54b-chat{
  padding:16px;
  display:grid;
  gap:12px;
  align-content:start;
  overflow:auto;
  max-height:430px;
}

.d54b-msg{
  border-radius:18px;
  padding:13px 14px;
  line-height:1.48;
  font-weight:760;
  color:#eaf6ff;
}

.d54b-msg.bot{
  border:1px solid rgba(89,183,255,.23);
  background:rgba(89,183,255,.085);
}

.d54b-msg.user{
  justify-self:end;
  max-width:86%;
  border:1px solid rgba(255,48,79,.28);
  background:rgba(255,48,79,.13);
  color:#fff;
}

.d54b-msg-title{
  color:#f4c778;
  font-weight:950;
  margin-bottom:4px;
}

.d54b-msg a{
  color:#59b7ff;
  font-weight:950;
}

.d54b-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 16px 14px;
}

.d54b-chip{
  border:1px solid rgba(89,183,255,.28);
  background:rgba(0,0,0,.28);
  color:#f7f9ff;
  border-radius:999px;
  padding:8px 10px;
  font-weight:900;
  cursor:pointer;
}

.d54b-chip:hover{
  border-color:rgba(244,199,120,.60);
  color:#fff0c8;
}

.d54b-inputrow{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  padding:15px 16px 16px;
  border-top:1px solid rgba(89,183,255,.18);
}

.d54b-input{
  min-width:0;
  border-radius:999px;
  border:1px solid rgba(89,183,255,.30);
  background:rgba(0,0,0,.34);
  color:#fff;
  padding:12px 14px;
  outline:none;
  font-weight:850;
}

.d54b-btn{
  border:0;
  border-radius:999px;
  padding:12px 14px;
  cursor:pointer;
  font-weight:950;
  color:#07111f;
  background:linear-gradient(135deg,#59b7ff,#f4c778);
}

.d54b-voice{
  background:linear-gradient(135deg,#ff304f,#59b7ff);
  color:white;
}

.d54b-top-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:999px;
  border:1px solid rgba(244,199,120,.48);
  background:linear-gradient(135deg, rgba(255,48,79,.20), rgba(89,183,255,.20));
  color:#fff;
  padding:10px 14px;
  font-weight:950;
  cursor:pointer;
  margin-top:16px;
}

@media(max-width:720px){
  .d54b-launcher{
    right:14px;
    bottom:14px;
    padding:11px 14px 11px 11px;
  }

  .d54b-icon{
    width:38px;
    height:38px;
  }

  .d54b-label strong{
    font-size:.80rem;
  }

  .d54b-panel{
    right:10px;
    bottom:76px;
    width:calc(100vw - 20px);
    max-height:calc(100vh - 92px);
  }

  .d54b-inputrow{
    grid-template-columns:1fr;
  }

  .d54b-btn{
    width:100%;
  }
}


/* [08/43] SOURCE: css/dorisan-security-refactor.css?v=s20d */
/* DoriSan S20D strict CSP refactor: CSS moved from inline blocks and style attributes. */

/* moved from index.html #index.html-style */
/* DORISAN_STEP68_SHOP_NAV_FIX_CSS */
.dorisan-scroll-focus {
  outline: 2px solid rgba(255,255,255,.92) !important;
  box-shadow: 0 0 0 4px rgba(200,0,40,.45), 0 0 28px rgba(60,110,255,.35) !important;
  border-radius: 18px !important;
  transition: outline .2s ease, box-shadow .2s ease;
}

.dorisan-shop-scroll-note {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 999999;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(5,5,10,.86);
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  font-size: 13px;
  letter-spacing: .02em;
  box-shadow: 0 12px 32px rgba(0,0,0,.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}

.dorisan-shop-scroll-note.is-visible {
  opacity: 1;
}

.dorisan-home-now-playing {
  margin: 0 0 .55rem;
  padding: .55rem .8rem;
  border: 1px solid rgba(246, 190, 80, .45);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(74, 45, 9, .72), rgba(12, 10, 7, .92));
  color: #ffd98a;
  font-weight: 800;
  letter-spacing: .02em;
  text-align: center;
  box-shadow: 0 0 18px rgba(246, 190, 80, .16);
}

.dorisan-home-now-playing-live {
  margin: .65rem 0 .85rem;
  padding: .6rem .85rem;
  border: 1px solid rgba(246, 190, 80, .55);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(74, 45, 9, .78), rgba(12, 10, 7, .94));
  color: #ffd98a;
  font-weight: 900;
  letter-spacing: .02em;
  text-align: center;
  box-shadow: 0 0 18px rgba(246, 190, 80, .18);
}

.dorisan-home-song-playing {
  border-color: rgba(246, 190, 80, .98) !important;
  background: linear-gradient(135deg, rgba(74, 45, 9, .86), rgba(12, 10, 7, .95)) !important;
  box-shadow:
    0 0 0 1px rgba(246, 190, 80, .45),
    0 0 26px rgba(246, 190, 80, .30) !important;
  transform: translateY(-1px);
}

.dorisan-home-song-playing h3,
.dorisan-home-song-playing h4,
.dorisan-home-song-playing .track-title,
.dorisan-home-song-playing .song-title,
.dorisan-home-song-playing .ds07-track-name,
.dorisan-home-song-playing strong {
  color: #ffd98a !important;
}

.dorisan-home-play-active {
  border-color: rgba(246, 190, 80, .95) !important;
  color: #ffd98a !important;
}

/* moved from index.html #dorisan-ia-watchdog-style */
#dorisan-ia-watchdog-launcher{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147483647!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  border:1px solid rgba(244,199,120,.86)!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.55), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.55), transparent 44%),
    linear-gradient(135deg, rgba(2,5,10,.99), rgba(8,24,50,.99))!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:13px 18px 13px 13px!important;
  cursor:pointer!important;
  box-shadow:0 22px 66px rgba(0,0,0,.72),0 0 34px rgba(89,183,255,.28),0 0 24px rgba(255,48,79,.20)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
#dorisan-ia-watchdog-launcher:hover{ transform:translateY(-2px)!important; }
#dorisan-ia-watchdog-launcher .dsia-icon{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#ff304f,#59b7ff)!important;
  color:#fff!important;
  font-size:1.25rem!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 18px rgba(89,183,255,.28)!important;
}
#dorisan-ia-watchdog-launcher .dsia-label{
  display:grid!important;
  line-height:1.08!important;
  text-align:left!important;
}
#dorisan-ia-watchdog-launcher .dsia-label strong{font-size:.92rem!important;color:#fff!important;}
#dorisan-ia-watchdog-launcher .dsia-label span{color:#f4c778!important;font-size:.62rem!important;letter-spacing:.12em!important;}

#dorisan-ia-watchdog-panel{
  position:fixed!important;
  right:22px!important;
  bottom:96px!important;
  z-index:2147483646!important;
  width:min(480px,calc(100vw - 30px))!important;
  max-height:min(720px,calc(100vh - 122px))!important;
  display:none!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(89,183,255,.46)!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,48,79,.17), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(89,183,255,.22), transparent 36%),
    rgba(2,5,10,.99)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.78),0 0 32px rgba(89,183,255,.18)!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
#dorisan-ia-watchdog-panel.open{
  display:grid!important;
  grid-template-rows:auto 1fr auto auto!important;
}
#dorisan-ia-watchdog-panel .dsia-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:18px 18px 15px!important;
  border-bottom:1px solid rgba(89,183,255,.20)!important;
}
#dorisan-ia-watchdog-panel .dsia-brand{display:flex!important;align-items:center!important;gap:12px!important;}
#dorisan-ia-watchdog-panel .dsia-mark{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#ff304f,#59b7ff)!important;
  color:#fff!important;
  font-weight:950!important;
}
#dorisan-ia-watchdog-panel .dsia-title{display:grid!important;line-height:1.08!important;}
#dorisan-ia-watchdog-panel .dsia-title strong{color:#fff!important;font-size:1.05rem!important;}
#dorisan-ia-watchdog-panel .dsia-title span{
  color:#f4c778!important;
  font-size:.70rem!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
#dorisan-ia-watchdog-panel .dsia-close{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  cursor:pointer!important;
  font-weight:950!important;
  font-size:1.2rem!important;
}
#dorisan-ia-watchdog-panel .dsia-chat{
  padding:16px!important;
  display:grid!important;
  gap:12px!important;
  align-content:start!important;
  overflow:auto!important;
  max-height:430px!important;
}
#dorisan-ia-watchdog-panel .dsia-msg{
  border-radius:18px!important;
  padding:13px 14px!important;
  line-height:1.48!important;
  font-weight:760!important;
  color:#eaf6ff!important;
}
#dorisan-ia-watchdog-panel .dsia-msg.bot{
  border:1px solid rgba(89,183,255,.24)!important;
  background:rgba(89,183,255,.085)!important;
}
#dorisan-ia-watchdog-panel .dsia-msg.user{
  justify-self:end!important;
  max-width:86%!important;
  border:1px solid rgba(255,48,79,.30)!important;
  background:rgba(255,48,79,.14)!important;
  color:#fff!important;
}
#dorisan-ia-watchdog-panel .dsia-msg-title{color:#f4c778!important;font-weight:950!important;margin-bottom:4px!important;}
#dorisan-ia-watchdog-panel .dsia-msg a{color:#59b7ff!important;font-weight:950!important;}
#dorisan-ia-watchdog-panel .dsia-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:0 16px 14px!important;}
#dorisan-ia-watchdog-panel .dsia-chip{
  border:1px solid rgba(89,183,255,.30)!important;
  background:rgba(0,0,0,.30)!important;
  color:#f7f9ff!important;
  border-radius:999px!important;
  padding:8px 10px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
#dorisan-ia-watchdog-panel .dsia-inputrow{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  gap:8px!important;
  padding:15px 16px 16px!important;
  border-top:1px solid rgba(89,183,255,.18)!important;
}
#dorisan-ia-watchdog-panel .dsia-input{
  min-width:0!important;
  border-radius:999px!important;
  border:1px solid rgba(89,183,255,.32)!important;
  background:rgba(0,0,0,.36)!important;
  color:#fff!important;
  padding:12px 14px!important;
  outline:none!important;
  font-weight:850!important;
}
#dorisan-ia-watchdog-panel .dsia-btn{
  border:0!important;
  border-radius:999px!important;
  padding:12px 14px!important;
  cursor:pointer!important;
  font-weight:950!important;
  color:#07111f!important;
  background:linear-gradient(135deg,#59b7ff,#f4c778)!important;
}
#dorisan-ia-watchdog-panel .dsia-voice{background:linear-gradient(135deg,#ff304f,#59b7ff)!important;color:white!important;}
@media(max-width:720px){
  #dorisan-ia-watchdog-launcher{right:14px!important;bottom:14px!important;padding:11px 14px 11px 11px!important;}
  #dorisan-ia-watchdog-launcher .dsia-icon{width:38px!important;height:38px!important;}
  #dorisan-ia-watchdog-launcher .dsia-label strong{font-size:.80rem!important;}
  #dorisan-ia-watchdog-panel{right:10px!important;bottom:78px!important;width:calc(100vw - 20px)!important;max-height:calc(100vh - 92px)!important;}
  #dorisan-ia-watchdog-panel .dsia-inputrow{grid-template-columns:1fr!important;}
  #dorisan-ia-watchdog-panel .dsia-btn{width:100%!important;}
}

/* moved from index.html #ds106b-native-css */
.ds106b-native-clone{max-width:100%!important}.ds106b-native-clone img{object-fit:cover!important}.ds106b-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.ds106b-modal.open{display:flex}.ds106b-dialog{width:min(920px,96vw);max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:linear-gradient(180deg,rgba(8,22,52,.98),rgba(2,8,24,.98));color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.55)}.ds106b-head{display:flex;gap:14px;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.12)}.ds106b-head img{width:92px;height:92px;object-fit:cover;border-radius:14px;flex:0 0 auto}.ds106b-title{flex:1}.ds106b-title h2{margin:0 0 6px;font-size:1.35rem;color:#fff}.ds106b-title p{margin:0;color:rgba(255,255,255,.72);line-height:1.35}.ds106b-close{width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-size:1.35rem;cursor:pointer}.ds106b-body{padding:14px 16px 18px}.ds106b-track{display:grid;grid-template-columns:1fr minmax(220px,370px);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}.ds106b-track strong{display:block;color:#fff;font-size:.94rem}.ds106b-track small{display:block;color:rgba(255,255,255,.58);margin-top:2px}.ds106b-track audio{width:100%}.ds106b-btn{appearance:none;border:0;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,rgba(190,0,55,.92),rgba(45,102,255,.86));text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ds106b-hide-bad{display:none!important}@media(max-width:700px){.ds106b-track{grid-template-columns:1fr}.ds106b-head{grid-template-columns:74px 1fr 40px;display:grid}.ds106b-head img{width:74px;height:74px}.ds106b-title h2{font-size:1.1rem}}

/* moved from index.html #dorisan-home-s10b-visible-badges-contact */
.d30-album-info .d30-album-year {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 4px;
  padding: 5px 9px;
  border: 1px solid rgba(244,199,120,.62);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(244,199,120,.18), rgba(5,8,14,.88));
  color: #f4c778 !important;
  font-size: .78rem;
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 8px 20px rgba(0,0,0,.24);
  visibility: visible !important;
  opacity: 1 !important;
}

#contatti button.d30-social {
  width: 100%;
  min-height: 118px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(89,183,255,.28);
  background: linear-gradient(135deg, rgba(2,5,10,.92), rgba(10,31,62,.70));
  color: var(--ds-white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

#contatti button.d30-social:hover,
#contatti button.d30-social:focus-visible {
  border-color: rgba(244,199,120,.72);
  outline: none;
}

#contatti button.d30-social--contact-gold {
  position: relative;
  overflow: hidden;
  min-height: 118px;
  padding: 16px;
  border: 1px solid rgba(198,139,42,.86);
  background:
    radial-gradient(circle at 14% 0%, rgba(255,231,162,.22), transparent 32%),
    linear-gradient(145deg, rgba(82,54,15,.98), rgba(16,12,8,.98) 54%, rgba(117,75,18,.95));
  color: #fff7dd;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  text-align: left;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.07),
    0 14px 34px rgba(0,0,0,.34),
    0 0 20px rgba(198,139,42,.16);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}

#contatti button.d30-social--contact-gold::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.17) 28%, transparent 46%);
  opacity: .55;
}

#contatti button.d30-social--contact-gold .d30-social-icon,
#contatti button.d30-social--contact-gold .d30-social-copy {
  position: relative;
  z-index: 1;
}

#contatti button.d30-social--contact-gold .d30-social-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  color: #1b1105;
  background: linear-gradient(135deg, #fff2bf, #d59a2d);
  border: 1px solid rgba(255,246,206,.72);
  border-radius: 12px;
  font-size: 1.05rem;
  line-height: 1;
  box-shadow: 0 0 14px rgba(198,139,42,.28);
}

#contatti button.d30-social--contact-gold .d30-social-copy {
  flex: 1 1 auto;
  min-width: 0;
}

#contatti button.d30-social--contact-gold .d30-social-copy strong {
  color: #fff4c7;
  font-size: clamp(1.08rem, 1.7vw, 1.32rem);
  line-height: 1.12;
  text-shadow: 0 1px 14px rgba(255,208,105,.28);
}

#contatti button.d30-social--contact-gold .d30-social-copy span {
  margin-top: 6px;
  color: rgba(255,249,226,.86);
  font-size: .88rem;
  line-height: 1.34;
}

#contatti button.d30-social--contact-gold:hover,
#contatti button.d30-social--contact-gold:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255,228,150,.96);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 18px 40px rgba(0,0,0,.42),
    0 0 30px rgba(244,199,120,.28);
  filter: saturate(1.08);
}

/* moved from index.html #dorisan-patch01g-style */
[data-dorisan-patch01g-old-services="remove"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* moved from epk.html #dorisan-epk-s13-album-player-css */
.dorisan-epk-album-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin-top: .8rem;
  padding: .68rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(173, 120, 42, .75);
  background: linear-gradient(135deg, rgba(78, 48, 12, .95), rgba(24, 17, 8, .98));
  color: #e8c06a;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 0 16px rgba(173, 120, 42, .16);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.dorisan-epk-album-btn:hover,
.dorisan-epk-album-btn:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(210, 155, 62, .9);
  box-shadow: 0 0 22px rgba(173, 120, 42, .28);
  outline: none;
}
.dorisan-epk-album-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, .74);
  backdrop-filter: blur(8px);
}
.dorisan-epk-album-modal.is-open {
  display: flex;
}
.dorisan-epk-album-dialog {
  width: min(920px, 96vw);
  max-height: 88vh;
  overflow: auto;
  border: 1px solid rgba(173, 120, 42, .58);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(18, 14, 9, .98), rgba(5, 7, 12, .98));
  color: #f7ead0;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .62);
}
.dorisan-epk-album-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  border-bottom: 1px solid rgba(173, 120, 42, .28);
}
.dorisan-epk-album-title-wrap {
  flex: 1;
}
.dorisan-epk-album-title-wrap span {
  display: block;
  margin-bottom: .25rem;
  color: #c49547;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.dorisan-epk-album-title-wrap h2 {
  margin: 0;
  color: #ffe0a1;
  font-size: clamp(1.25rem, 3vw, 2rem);
  line-height: 1.08;
}
.dorisan-epk-album-close {
  width: 2.55rem;
  height: 2.55rem;
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid rgba(173, 120, 42, .62);
  background: rgba(20, 14, 8, .92);
  color: #f2cd7a;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}
.dorisan-epk-album-body {
  padding: 1.1rem 1.2rem 1.25rem;
}
.dorisan-epk-album-status {
  margin: 0;
  color: rgba(247, 234, 208, .82);
  font-weight: 700;
}
.dorisan-epk-now-playing {
  margin: .4rem 1.2rem .7rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(173, 120, 42, .65);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(70, 43, 10, .92), rgba(15, 12, 7, .97));
  color: #e8c06a;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 0 18px rgba(173, 120, 42, .18);
}
#dorisan-epk-global-audio {
  display: block;
  width: calc(100% - 2.4rem);
  margin: .35rem 1.2rem 1rem;
}
.dorisan-epk-album-list {
  display: grid;
  gap: .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dorisan-epk-album-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: .72rem .8rem;
  border: 1px solid rgba(173, 120, 42, .2);
  border-radius: 12px;
  background: rgba(13, 11, 8, .56);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.dorisan-epk-album-track strong {
  display: block;
  color: #fff2cc;
  font-size: .95rem;
  line-height: 1.3;
}
.dorisan-epk-album-track small {
  display: block;
  margin-top: .2rem;
  color: rgba(247, 234, 208, .58);
}
.dorisan-epk-track-copy {
  min-width: 0;
}
.dorisan-epk-track-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: .5rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(173, 120, 42, .72);
  background: linear-gradient(135deg, rgba(70, 43, 10, .95), rgba(18, 13, 7, .98));
  color: #e8c06a;
  font-weight: 800;
  cursor: pointer;
}
.dorisan-epk-track-play:hover {
  border-color: rgba(210, 155, 62, .9);
  box-shadow: 0 0 16px rgba(173, 120, 42, .24);
}
.dorisan-epk-track-playing {
  border-color: rgba(173, 120, 42, .95) !important;
  background: linear-gradient(135deg, rgba(70, 43, 10, .86), rgba(15, 12, 7, .96)) !important;
  box-shadow:
    0 0 0 1px rgba(173, 120, 42, .4),
    0 0 22px rgba(173, 120, 42, .24) !important;
}
.dorisan-epk-track-playing button,
.dorisan-epk-track-playing strong {
  color: #e8c06a !important;
}
.dorisan-epk-album-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 1.2rem 1.2rem;
}
@media (max-width: 720px) {
  .dorisan-epk-album-track {
    align-items: flex-start;
    flex-direction: column;
  }
  .dorisan-epk-album-head {
    padding: 1rem;
  }
  .dorisan-epk-album-body {
    padding: 1rem;
  }
  .dorisan-epk-now-playing {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  #dorisan-epk-global-audio {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

/* moved from style attributes */
html.dorisan-force-visible,
body.dorisan-force-visible,
.dorisan-force-visible {
  opacity: 1 !important;
  visibility: visible !important;
}
.dorisan-home-hero-bg {
  background-image: url("../assets/dorisan_confirmed/hero_homepage_dorisan_live_rosso_blu.png");
}
.dorisan-home-albums-bg {
  background-image: url("../assets/dorisan_confirmed/banner_futuristico_dorisan_il_richiamo_del_futuro.png");
  cursor: pointer;
}
.dorisan-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}
.dorisan-services-direct-entry {
  padding: 42px 18px;
  background: linear-gradient(180deg, rgba(1,8,18,.98), rgba(3,13,27,.98));
  color: #eef8ff;
}
.dorisan-services-direct-entry-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  border: 1px solid rgba(125,215,255,.22);
  border-radius: 28px;
  padding: 24px;
  background: rgba(5,18,34,.72);
}
.dorisan-services-direct-entry-kicker {
  display: inline-flex;
  padding: .45rem .78rem;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.38);
  color: #bdeeff;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .09em;
}
.dorisan-services-direct-entry-title {
  margin: 16px 0 10px;
  font-size: clamp(1.8rem, 4vw, 3.6rem);
  line-height: .96;
}
.dorisan-services-direct-entry-copy {
  max-width: 780px;
  color: rgba(238,248,255,.76);
  line-height: 1.65;
}
.dorisan-services-direct-entry-link {
  display: inline-flex;
  margin-top: 8px;
  padding: .7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.55);
  background: rgba(2,16,30,.86);
  color: #eef8ff;
  font-weight: 900;
  text-decoration: none;
}
.dorisan-footer-brand {
  color: #fff;
}
.dorisan-player-hidden {
  display: none;
  visibility: hidden;
}
.dorisan-progress-zero {
  width: 0%;
}
.dorisan-progress-start {
  left: 0%;
}
.dorisan-ia-launcher-visible {
  display: flex;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
body.dorisan-modal-lock {
  overflow: hidden;
}


/* [09/43] SOURCE: css/dorisan_production_v24.css */

/* DoriSan production cleanup v24 */
html,body{opacity:1!important;visibility:visible!important}
.loader,.loading,.loading-screen,.splash,.splash-screen,.intro-loader,#loader,#loading,#splash{display:none!important;opacity:0!important;pointer-events:none!important}

#dorisan-v24-extra-albums,
#dorisan-v24-services {
  width:min(1120px,calc(100% - 28px));
  margin:48px auto;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(8,18,34,.88),rgba(40,12,34,.78));
  border:1px solid rgba(120,190,255,.22);
  color:#fff;
  box-shadow:0 22px 70px rgba(0,0,0,.38);
}

#dorisan-v24-extra-albums h2,
#dorisan-v24-services h2 {
  margin:0 0 10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.dorisan-v24-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:18px;
  margin-top:22px;
}

.dorisan-v24-album-card,
.dorisan-v24-service-card {
  border:1px solid rgba(150,210,255,.25);
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.055);
  color:#fff;
  cursor:pointer;
  transition:.18s ease;
}

.dorisan-v24-album-card:hover,
.dorisan-v24-service-card:hover {
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.10);
}

.dorisan-v24-cover {
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  background:rgba(255,255,255,.08);
}

.dorisan-v24-card-body {
  padding:14px;
}

.dorisan-v24-card-body h3 {
  margin:0 0 8px;
  font-size:18px;
}

.dorisan-v24-pill {
  display:inline-flex;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  font-size:12px;
  margin-top:8px;
}

#dorisan-v24-player-modal {
  position:fixed;
  z-index:2147483000;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(8px);
}

#dorisan-v24-player-modal.is-open {
  display:flex;
}

.dorisan-v24-player-box {
  width:min(980px,100%);
  max-height:88vh;
  overflow:auto;
  border-radius:26px;
  background:linear-gradient(160deg,#071429,#25101f 58%,#05070d);
  color:#fff;
  border:1px solid rgba(160,220,255,.25);
  box-shadow:0 25px 90px rgba(0,0,0,.65);
  padding:22px;
}

.dorisan-v24-player-head {
  display:flex;
  gap:18px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:16px;
}

.dorisan-v24-player-title {
  display:flex;
  gap:16px;
  align-items:center;
}

.dorisan-v24-player-title img {
  width:86px;
  height:86px;
  border-radius:16px;
  object-fit:cover;
  background:rgba(255,255,255,.08);
}

.dorisan-v24-close {
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  color:#fff;
  border-radius:999px;
  width:42px;
  height:42px;
  font-size:26px;
  cursor:pointer;
}

.dorisan-v24-audio-wrap {
  position:sticky;
  top:0;
  z-index:2;
  padding:12px;
  border-radius:16px;
  background:rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:14px;
}

#dorisan-v24-audio {
  width:100%;
  display:block;
  margin-top:10px;
}

#dorisan-v24-track-list {
  display:grid;
  gap:8px;
}

.dorisan-v24-track {
  width:100%;
  text-align:left;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  color:#fff;
  cursor:pointer;
}

.dorisan-v24-track:hover,
.dorisan-v24-track.is-active {
  background:rgba(255,255,255,.18);
}

#dorisan-v24-ai-button {
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:2147483647!important;
  border:0!important;
  border-radius:999px!important;
  padding:12px 16px!important;
  background:linear-gradient(135deg,#ff5be7,#5ee7ff)!important;
  color:#fff!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:0 12px 40px rgba(0,0,0,.38)!important;
  pointer-events:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

#dorisan-v24-ai-panel {
  display:none;
  position:fixed!important;
  right:18px!important;
  bottom:74px!important;
  width:min(390px,calc(100vw - 28px));
  max-height:68vh;
  overflow:auto;
  z-index:2147483646!important;
  border-radius:22px;
  padding:16px;
  background:linear-gradient(155deg,#071329,#1b1535 55%,#05111c);
  color:#fff;
  border:1px solid rgba(160,220,255,.28);
  box-shadow:0 20px 70px rgba(0,0,0,.55);
}

#dorisan-v24-ai-panel.is-open {
  display:block;
}

#dorisan-v24-ai-output {
  white-space:pre-wrap;
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.08);
  margin:12px 0;
}

.dorisan-v24-ai-row {
  display:flex;
  gap:8px;
}

#dorisan-v24-ai-input {
  flex:1;
  min-width:0;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#fff;
  padding:10px;
}

#dorisan-v24-ai-send {
  border-radius:14px;
  border:0;
  padding:10px 12px;
  cursor:pointer;
  font-weight:800;
}

.dorisan-v24-hidden-by-production {
  display:none!important;
}

@media(max-width:720px){
  .dorisan-v24-cover{height:170px}
  .dorisan-v24-player-title img{width:68px;height:68px}
  #dorisan-v24-extra-albums,#dorisan-v24-services{width:min(100% - 16px,1120px);padding:18px}
}


/* [10/43] SOURCE: css/dorisan_patch02b_album_player.css */

/* DORISAN PATCH02B — album player indipendente */
.ds02b-album-clickable {
  cursor: pointer !important;
}

.ds02b-album-clickable:hover {
  filter: brightness(1.08);
}

.ds02b-mini-hint {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .55rem;
  padding: .42rem .72rem;
  border: 1px solid rgba(120,190,255,.45);
  border-radius: 999px;
  background: rgba(5,18,35,.74);
  color: #dff3ff;
  font-size: .82rem;
  line-height: 1;
  box-shadow: 0 0 18px rgba(0,160,255,.14);
}

#ds02b-player-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px);
}

#ds02b-player-modal.ds02b-open {
  display: flex;
}

.ds02b-dialog {
  width: min(940px, 96vw);
  max-height: 88vh;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(120,190,255,.32);
  background:
    radial-gradient(circle at 20% 0%, rgba(0,120,255,.28), transparent 36%),
    radial-gradient(circle at 90% 15%, rgba(120,0,255,.22), transparent 32%),
    linear-gradient(145deg, rgba(4,8,18,.98), rgba(6,18,34,.96));
  color: #f4fbff;
  box-shadow: 0 28px 90px rgba(0,0,0,.72), 0 0 36px rgba(0,160,255,.16);
}

.ds02b-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 22px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.ds02b-title {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: .02em;
}

.ds02b-subtitle {
  margin: .35rem 0 0;
  color: rgba(230,245,255,.72);
  font-size: .94rem;
}

.ds02b-close {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 1.45rem;
  cursor: pointer;
}

.ds02b-body {
  padding: 16px 22px 22px;
  overflow: auto;
  max-height: calc(88vh - 112px);
}

.ds02b-audio {
  width: 100%;
  margin: 0 0 16px;
}

.ds02b-track-list {
  display: grid;
  gap: 10px;
}

.ds02b-track {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.045);
}

.ds02b-track:hover {
  background: rgba(0,150,255,.11);
}

.ds02b-num {
  opacity: .66;
  min-width: 2.3rem;
  font-variant-numeric: tabular-nums;
}

.ds02b-name {
  font-weight: 700;
}

.ds02b-play {
  border: 1px solid rgba(120,190,255,.42);
  background: rgba(0,120,255,.20);
  color: #fff;
  border-radius: 999px;
  padding: .45rem .75rem;
  cursor: pointer;
}

.ds02b-empty {
  padding: 18px;
  border: 1px dashed rgba(255,255,255,.22);
  border-radius: 16px;
  color: rgba(240,250,255,.82);
}

@media (max-width: 640px) {
  .ds02b-track {
    grid-template-columns: auto 1fr;
  }
  .ds02b-play {
    grid-column: 1 / -1;
  }
}


/* [11/43] SOURCE: css/dorisan_fix07_exact_badge_player.css */

/* DORISAN FIX07 — badge exact player */
.ds07-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 34px;
  padding: .48rem .82rem;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.55);
  background: rgba(2,16,30,.86);
  color: #eef8ff;
  font-weight: 900;
  font-size: .84rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 16px rgba(80,180,255,.18);
  backdrop-filter: blur(6px);
  margin-top: .65rem;
}

.ds07-badge:hover {
  border-color: rgba(125,215,255,.85);
  box-shadow: 0 0 22px rgba(80,180,255,.30);
}

#ds07-player-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,3,9,.78);
  backdrop-filter: blur(10px);
}

#ds07-player-modal.ds07-open {
  display: flex;
}

.ds07-dialog {
  width: min(980px, 96vw);
  max-height: min(86vh, 880px);
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(125,215,255,.28);
  background: linear-gradient(180deg, rgba(5,16,31,.98), rgba(1,6,14,.98));
  box-shadow: 0 32px 100px rgba(0,0,0,.64);
  color: #eef8ff;
}

.ds07-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border-bottom: 1px solid rgba(125,215,255,.16);
}

.ds07-title {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.45rem);
  line-height: 1;
}

.ds07-subtitle {
  margin: 8px 0 0;
  color: rgba(238,248,255,.68);
}

.ds07-close {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.32);
  background: rgba(255,255,255,.06);
  color: #eef8ff;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}

.ds07-body {
  padding: 20px 24px 24px;
}

.ds07-audio {
  width: 100%;
  margin-bottom: 18px;
}

.ds07-track-list {
  display: grid;
  gap: 10px;
  max-height: 48vh;
  overflow: auto;
  padding-right: 4px;
}

.ds07-track {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(125,215,255,.12);
}

.ds07-track-num {
  color: rgba(238,248,255,.56);
  font-weight: 900;
}

.ds07-track-name {
  font-weight: 800;
}

.ds07-track-play {
  min-height: 34px;
  padding: .45rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.42);
  background: rgba(2,16,30,.82);
  color: #eef8ff;
  font-weight: 900;
  cursor: pointer;
}

.ds07-track.dorisan-track-active,
.ds07-track.d30-track-active,
.dorisan-fix17-track.dorisan-track-active,
.dorisan-fix17-track.d30-track-active {
  border-color: rgba(245,190,80,.95) !important;
  background:
    linear-gradient(135deg, rgba(75,46,12,.72), rgba(15,12,8,.90)) !important;
  box-shadow:
    0 0 0 1px rgba(245,190,80,.45),
    0 0 22px rgba(245,190,80,.22) !important;
}

.ds07-track.dorisan-track-active .ds07-track-name,
.ds07-track.d30-track-active .ds07-track-name,
.dorisan-fix17-track.dorisan-track-active strong,
.dorisan-fix17-track.d30-track-active strong {
  color: #fff4cf !important;
}

.ds07-track.dorisan-track-active button,
.ds07-track.d30-track-active button,
.dorisan-fix17-track.dorisan-track-active .dorisan-m3i-ascolta-pill,
.dorisan-fix17-track.d30-track-active .dorisan-m3i-ascolta-pill,
button.is-playing {
  color: #ffd98a !important;
  border-color: rgba(245,190,80,.72) !important;
}

@media (max-width: 620px) {
  .ds07-track {
    grid-template-columns: 40px 1fr;
  }
  .ds07-track-play {
    grid-column: 2;
    justify-self: start;
  }
}

/* DORISAN FIX07B — badge sotto titolo album */
.ds07-badge {
  display: inline-flex !important;
  width: fit-content !important;
  position: static !important;
  margin: .55rem 0 .55rem 0 !important;
  vertical-align: middle !important;
}

.ds07-badge + * {
  margin-top: .35rem;
}


/* [12/43] SOURCE: css/dorisan_fix13b_bind_services_card_runtime_safe.css */

/* FIX13B — Binder sicuro card Musica e Servizi.
   Non modifica album/player approvati FIX07B.
*/
.dorisan-services-card-bound {
  cursor: pointer !important;
  position: relative !important;
  outline: 1px solid rgba(125,215,255,.26) !important;
  box-shadow: 0 0 0 1px rgba(125,215,255,.10), 0 18px 46px rgba(0,0,0,.28) !important;
}

.dorisan-services-card-bound:hover {
  outline-color: rgba(125,215,255,.62) !important;
}

.dorisan-services-runtime-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 36px !important;
  margin: .55rem 0 .45rem 0 !important;
  padding: .52rem .9rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(125,215,255,.62) !important;
  background: rgba(2,16,30,.90) !important;
  color: #eef8ff !important;
  font-weight: 950 !important;
  font-size: .86rem !important;
  text-decoration: none !important;
  box-shadow: 0 0 16px rgba(80,180,255,.22) !important;
  z-index: 5 !important;
}

.dorisan-services-runtime-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 30px !important;
  margin: .20rem 0 .45rem 0 !important;
  padding: .38rem .72rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(125,215,255,.32) !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(238,248,255,.82) !important;
  font-weight: 850 !important;
  font-size: .78rem !important;
}

#dorisan-services-fallback-entry {
  display: none;
  padding: 38px 18px;
  background: linear-gradient(180deg,rgba(1,8,18,.98),rgba(3,13,27,.98));
  color: #eef8ff;
}

#dorisan-services-fallback-entry.dorisan-services-fallback-visible {
  display: block !important;
}

#dorisan-services-fallback-entry .dorisan-services-fallback-box {
  width: min(1180px,100%);
  margin: 0 auto;
  border: 1px solid rgba(125,215,255,.22);
  border-radius: 28px;
  padding: 24px;
  background: rgba(5,18,34,.72);
}

#dorisan-services-fallback-entry .dorisan-services-fallback-kicker {
  display: inline-flex;
  padding: .45rem .78rem;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.38);
  color: #bdeeff;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .09em;
}

#dorisan-services-fallback-entry .dorisan-services-fallback-title {
  margin: 16px 0 10px;
  font-size: clamp(1.8rem,4vw,3.6rem);
  line-height: .96;
}

#dorisan-services-fallback-entry .dorisan-services-fallback-copy {
  max-width: 780px;
  color: rgba(238,248,255,.76);
  line-height: 1.65;
}

#dorisan-services-fallback-entry a {
  display: inline-flex;
  margin-top: 10px;
  padding: .72rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.55);
  background: rgba(2,16,30,.86);
  color: #eef8ff;
  font-weight: 950;
  text-decoration: none;
}


/* [13/43] SOURCE: css/dorisan_fix17_polish_new_album_services.css */

/* FIX17 — rifinitura nuovo album + servizi.
   Non tocca player album FIX07B, non tocca album vecchi.
*/
.dorisan-fix17-added-album-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 34px !important;
  margin: .55rem 0 .55rem 0 !important;
  padding: .48rem .82rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(125,215,255,.62) !important;
  background: rgba(2,16,30,.90) !important;
  color: #eef8ff !important;
  font-weight: 950 !important;
  font-size: .86rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 0 16px rgba(80,180,255,.22) !important;
  position: static !important;
  inset: auto !important;
}

.dorisan-services-runtime-count {
  display: none !important;
}

.dorisan-fix17-modal[hidden] {
  display: none !important;
}

.dorisan-fix17-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.78);
  color: #eef8ff;
}

.dorisan-fix17-dialog {
  width: min(980px, 100%);
  max-height: min(86vh, 820px);
  overflow: auto;
  border-radius: 30px;
  border: 1px solid rgba(125,215,255,.28);
  background:
    radial-gradient(circle at 12% 12%, rgba(48,150,255,.18), transparent 30%),
    linear-gradient(180deg, rgba(5,18,34,.98), rgba(1,8,18,.98));
  box-shadow: 0 30px 80px rgba(0,0,0,.55);
}

.dorisan-fix17-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 24px;
  border-bottom: 1px solid rgba(125,215,255,.18);
}

.dorisan-fix17-head h2 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3.8rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.dorisan-fix17-close {
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.45);
  background: rgba(2,16,30,.88);
  color: #eef8ff;
  font-weight: 950;
  cursor: pointer;
}

.dorisan-fix17-body {
  padding: 24px;
}

.dorisan-fix17-player {
  width: 100%;
  margin: 0 0 18px;
}

.dorisan-fix17-track-list {
  display: grid;
  gap: 10px;
}

.dorisan-fix17-track {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 12px;
  align-items: center;
  border-radius: 16px;
  border: 1px solid rgba(125,215,255,.14);
  background: rgba(255,255,255,.045);
  color: #eef8ff;
  padding: 12px;
  cursor: pointer;
  text-align: left;
}

body[style*="--dorisan-services-bg"] .ds14b-page {
  background:
    linear-gradient(180deg, rgba(0,0,0,.44), rgba(0,0,0,.72)),
    var(--dorisan-services-bg) center/cover fixed no-repeat !important;
}


/* [14/43] SOURCE: css/dorisan_ibiza_trilogy.css */
.dorisan-ibiza-macro-card {
  color: inherit;
  text-decoration: none;
}

.dorisan-ibiza-card-link {
  display: inline-flex;
  margin-top: .55rem;
  padding: .48rem .82rem;
  border: 1px solid rgba(125, 215, 255, .62);
  border-radius: 999px;
  background: rgba(2, 16, 30, .9);
  color: #eef8ff;
  font-size: .86rem;
  font-weight: 900;
}

.dorisan-ibiza-macro-card:focus-visible,
.dorisan-ibiza-back:focus-visible,
.dorisan-ibiza-page .d30-album:focus-within,
.dorisan-ibiza-page button:focus-visible,
.dorisan-ibiza-page a:focus-visible {
  outline: 3px solid #7dd7ff;
  outline-offset: 4px;
}

.dorisan-ibiza-page {
  min-height: 100%;
  margin: 0;
  background: #020812;
  color: #eef8ff;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dorisan-ibiza-page .d30-header {
  position: static;
}

.dorisan-ibiza-page .d30-main {
  padding-top: 0;
}

.dorisan-ibiza-hero {
  display: grid;
  grid-template-columns: minmax(220px, 440px) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 5rem) 0;
}

.dorisan-ibiza-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 28px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .48);
}

.dorisan-ibiza-kicker {
  color: #7dd7ff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.dorisan-ibiza-hero h1 {
  margin: .5rem 0 1rem;
  font-size: clamp(3rem, 9vw, 7rem);
  line-height: .9;
}

.dorisan-ibiza-hero p {
  max-width: 62ch;
  margin: 0;
  color: rgba(238, 248, 255, .82);
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.65;
}

.dorisan-ibiza-back {
  display: inline-flex;
  margin-top: 1.4rem;
  color: #eef8ff;
  font-weight: 800;
  text-decoration: none;
}

.dorisan-ibiza-page .d30-albums {
  min-height: 0;
  padding-top: clamp(2rem, 5vw, 4rem);
}

.dorisan-ibiza-page .d30-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dorisan-ibiza-page .d30-cover img {
  aspect-ratio: 1;
  object-fit: cover;
}

.dorisan-ibiza-page .d30-album-info h3 {
  overflow-wrap: anywhere;
}

.dorisan-ibiza-page .d30-footer {
  padding-bottom: 2rem;
}

@media (max-width: 760px) {
  .dorisan-ibiza-hero {
    grid-template-columns: 1fr;
    width: min(100% - 1.25rem, 520px);
    padding-top: 1.25rem;
  }

  .dorisan-ibiza-page .d30-grid {
    grid-template-columns: 1fr;
  }

  .dorisan-ibiza-page .d30-albums {
    padding-inline: .75rem;
  }

  .dorisan-ibiza-page .dorisan-fix17-modal {
    padding: 8px;
  }

  .dorisan-ibiza-page .dorisan-fix17-dialog {
    max-height: 92vh;
    border-radius: 20px;
  }

  .dorisan-ibiza-page .dorisan-fix17-head,
  .dorisan-ibiza-page .dorisan-fix17-body {
    padding: 16px;
  }

  .dorisan-ibiza-page .dorisan-fix17-track {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    padding: 10px;
  }
}


/* [15/43] SOURCE: css/dorisan_fix19_epk_presskit.css */

:root {
  --epk-bg: #020812;
  --epk-card: rgba(7, 23, 42, .78);
  --epk-card-2: rgba(2, 9, 20, .90);
  --epk-line: rgba(125, 215, 255, .22);
  --epk-text: #eef8ff;
  --epk-muted: rgba(238,248,255,.68);
  --epk-accent: #7dd7ff;
}

* {
  box-sizing: border-box;
}

body.epk-page {
  margin: 0;
  min-height: 100vh;
  color: var(--epk-text);
  background:
    radial-gradient(circle at 12% 10%, rgba(80, 190, 255, .18), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(0, 220, 255, .10), transparent 32%),
    linear-gradient(180deg, #020812, #020711 44%, #01040a);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.epk-top {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  gap: 10px;
  justify-content: center;
  padding: 14px;
  background: rgba(0,0,0,.38);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--epk-line);
}

.epk-top a {
  color: var(--epk-text);
  text-decoration: none;
  border: 1px solid var(--epk-line);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 850;
  background: rgba(5,18,34,.72);
}

.epk-shell {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto;
  padding: 36px 0 80px;
}

.epk-hero {
  border: 1px solid var(--epk-line);
  border-radius: 34px;
  padding: clamp(26px, 5vw, 58px);
  background:
    linear-gradient(180deg, rgba(9,27,49,.76), rgba(2,9,20,.92));
  box-shadow: 0 26px 80px rgba(0,0,0,.38);
}

.epk-kicker {
  color: var(--epk-accent);
  font-weight: 950;
  letter-spacing: .16em;
  margin: 0 0 12px;
}

.epk-hero h1 {
  margin: 0;
  font-size: clamp(3rem, 9vw, 7rem);
  line-height: .85;
  letter-spacing: -.07em;
}

.epk-lead {
  max-width: 780px;
  color: var(--epk-muted);
  font-size: clamp(1.06rem, 2vw, 1.35rem);
  line-height: 1.55;
}

.epk-status {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.epk-status span {
  border: 1px solid var(--epk-line);
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--epk-text);
  background: rgba(0,0,0,.22);
  font-weight: 800;
}

.epk-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.epk-card,
.epk-section {
  border: 1px solid var(--epk-line);
  border-radius: 28px;
  padding: 24px;
  background: linear-gradient(180deg, var(--epk-card), var(--epk-card-2));
  box-shadow: 0 18px 52px rgba(0,0,0,.26);
}

.epk-wide {
  grid-column: 1 / -1;
}

.epk-card h2,
.epk-section h2 {
  margin: 0 0 12px;
  font-size: clamp(1.4rem, 3vw, 2.4rem);
  letter-spacing: -.04em;
}

.epk-card p,
.epk-section p,
.epk-card li,
.epk-section li {
  color: var(--epk-muted);
  line-height: 1.55;
}

.epk-section {
  margin-top: 22px;
}

.epk-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px;
}

.epk-media-card {
  margin: 0;
  border: 1px solid rgba(125,215,255,.16);
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,.045);
}

.epk-media-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.epk-media-card figcaption {
  padding: 10px 12px;
  color: var(--epk-muted);
  font-weight: 800;
}

.epk-empty {
  border: 1px dashed rgba(125,215,255,.28);
  border-radius: 20px;
  padding: 18px;
  color: var(--epk-muted);
}

.epk-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.epk-download {
  color: var(--epk-text);
  text-decoration: none;
  border: 1px solid var(--epk-line);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(4, 17, 31, .82);
  font-weight: 850;
}

.dorisan-fix19-epk-chip {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 9999;
  color: #eef8ff !important;
  text-decoration: none !important;
  border: 1px solid rgba(125,215,255,.42);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(2, 12, 24, .88);
  box-shadow: 0 10px 32px rgba(0,0,0,.36);
  font-weight: 950;
  backdrop-filter: blur(9px);
}

@media (max-width: 780px) {
  .epk-grid {
    grid-template-columns: 1fr;
  }

  .epk-top {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .dorisan-fix19-epk-chip {
    left: 14px;
    right: 14px;
    text-align: center;
  }
}


/* [16/43] SOURCE: css/dorisan_fix20_epk_home_hero_only.css */

/* FIX20 — EPK solo in alto nella Home.
   Logica psicologica:
   - area professionale subito visibile
   - promessa chiara
   - meno attrito
   - segnali di autorevolezza
   - CTA unica
*/

.dorisan-fix20-epk-entry {
  width: min(1180px, calc(100% - 28px));
  margin: 18px auto 24px;
  position: relative;
  z-index: 20;
}

.dorisan-fix20-epk-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  border: 1px solid rgba(125, 215, 255, .32);
  border-radius: 30px;
  padding: clamp(18px, 3vw, 30px);
  background:
    radial-gradient(circle at 10% 0%, rgba(125,215,255,.20), transparent 34%),
    linear-gradient(135deg, rgba(8, 30, 54, .92), rgba(2, 9, 20, .96));
  box-shadow:
    0 20px 70px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.045);
  backdrop-filter: blur(10px);
}

.dorisan-fix20-kicker {
  margin: 0 0 8px;
  color: #7dd7ff;
  font-weight: 950;
  letter-spacing: .18em;
  font-size: .78rem;
}

.dorisan-fix20-epk-copy h2 {
  margin: 0;
  color: #eef8ff;
  font-size: clamp(2rem, 5vw, 4.6rem);
  line-height: .88;
  letter-spacing: -.07em;
}

.dorisan-fix20-epk-copy p {
  max-width: 760px;
  margin: 12px 0 0;
  color: rgba(238,248,255,.74);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.48;
}

.dorisan-fix20-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.dorisan-fix20-proof span {
  color: #eef8ff;
  border: 1px solid rgba(125,215,255,.26);
  background: rgba(0,0,0,.26);
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 850;
  font-size: .86rem;
}

.dorisan-fix20-epk-action {
  display: grid;
  gap: 10px;
  justify-items: end;
  min-width: min(310px, 100%);
}

.dorisan-fix20-main-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid rgba(125,215,255,.62);
  color: #06101d !important;
  background: linear-gradient(180deg, #bff0ff, #72d4ff);
  text-decoration: none !important;
  font-weight: 1000;
  box-shadow: 0 0 32px rgba(125,215,255,.22);
}

.dorisan-fix20-epk-action small {
  color: rgba(238,248,255,.62);
  max-width: 270px;
  text-align: right;
  line-height: 1.35;
}

@media (max-width: 820px) {
  .dorisan-fix20-epk-inner {
    grid-template-columns: 1fr;
  }

  .dorisan-fix20-epk-action {
    justify-items: stretch;
  }

  .dorisan-fix20-main-cta {
    width: 100%;
  }

  .dorisan-fix20-epk-action small {
    text-align: left;
    max-width: none;
  }
}


/* [17/43] SOURCE: css/dorisan_fix22c_hide_exact_d30_footer_only.css */

/* FIX22C — nasconde SOLO il footer diagnosticato sotto la card EPK.
   Diagnosi reale:
   body > footer.d30-footer
   testo: "DORISAN Non seguiamo il branco. Lo guidiamo. ·"

   Non tocca:
   - shop
   - merch
   - pulsanti top
   - album/player
   - musica e servizi
   - epk.html
*/

body > footer.d30-footer {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}


/* [18/43] SOURCE: css/dorisan_fix22d_top_right_buttons.css */

/* FIX22D — pulsanti rapidi in alto a destra.
   Non tocca card EPK, album, player, servizi, merch, epk.html.
*/

.dorisan-fix22d-top-buttons {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 9997;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: min(620px, calc(100vw - 36px));
  pointer-events: auto;
}

.dorisan-fix22d-top-buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(125, 215, 255, .38);
  color: #eef8ff !important;
  background: rgba(2, 12, 24, .76);
  text-decoration: none !important;
  font-weight: 950;
  letter-spacing: .015em;
  box-shadow: 0 10px 34px rgba(0,0,0,.30);
  backdrop-filter: blur(10px);
}

.dorisan-fix22d-top-buttons a:hover {
  border-color: rgba(125, 215, 255, .78);
  background: rgba(8, 34, 60, .92);
  transform: translateY(-1px);
}

@media (max-width: 760px) {
  .dorisan-fix22d-top-buttons {
    top: 42px;
    right: 8px;
    left: auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 4px;
    max-width: calc(100vw - 118px);
  }

  .dorisan-fix22d-top-buttons a {
    min-height: 30px;
    padding: 6px 7px;
    font-size: clamp(.58rem, 2.45vw, .72rem);
    white-space: nowrap;
  }
}


/* [19/43] SOURCE: css/dorisan_fix24d_contact_services_nav_player_safe.css */

/* DoriSan FIX24D — contatti fondo home + servizi nav + player strumentali safe */

:root {
  --ds24d-text: #eef8ff;
  --ds24d-muted: rgba(238,248,255,.74);
  --ds24d-line: rgba(0,190,255,.58);
  --ds24d-accent: #20b7ff;
  --ds24d-ok: #64ffb3;
  --ds24d-error: #ff6b6b;
}

/* Stop definitivo pulsanti flottanti dei fix precedenti */
.ds24b-float,
.ds24-float,
.ds24c-float,
.ds24d-float {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Barra alta su Musica e Servizi */
.ds24d-services-top {
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99998;
  display: flex;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(0,185,255,.42);
  border-radius: 999px;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(14px);
  box-shadow: 0 16px 52px rgba(0,0,0,.38);
  pointer-events: auto;
}

.ds24d-services-top a {
  color: #eef8ff;
  text-decoration: none;
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 999px;
  pointer-events: auto;
  cursor: pointer;
}

.ds24d-services-top a:hover {
  background: rgba(0,165,255,.24);
}

/* Blocco contatto garantito in fondo Home */
.ds24d-contact-bottom {
  width: min(1180px, calc(100% - 28px));
  margin: 42px auto 34px;
  position: relative;
  z-index: 20;
}

.ds24d-contact-bottom-inner {
  display: grid;
  gap: 16px;
}

.ds24d-contact-bottom h2 {
  color: var(--ds24d-text);
  margin: 0;
  font-size: clamp(2rem, 5vw, 4.4rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-shadow: 0 0 28px rgba(0,165,255,.28);
}

.ds24d-contact-bottom p {
  color: var(--ds24d-muted);
  margin: 0;
  line-height: 1.55;
}

.ds24d-contact-tile,
.ds24d-contact-tile:visited {
  width: 100%;
  min-height: 138px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
  border: 1px solid rgba(0,190,255,.48);
  border-radius: 24px;
  color: var(--ds24d-text);
  text-decoration: none;
  background:
    radial-gradient(circle at 10% 0%, rgba(0,185,255,.18), transparent 38%),
    linear-gradient(180deg, rgba(3,16,34,.90), rgba(0,7,18,.98));
  box-shadow:
    0 0 0 1px rgba(125,215,255,.08) inset,
    0 0 28px rgba(0,165,255,.22),
    0 18px 52px rgba(0,0,0,.36);
  cursor: pointer;
  text-align: left;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ds24d-contact-tile strong {
  font-size: clamp(1.25rem, 2.6vw, 1.9rem);
  line-height: .95;
  letter-spacing: -.04em;
}

.ds24d-contact-tile span {
  color: var(--ds24d-muted);
  line-height: 1.35;
}

.ds24d-contact-tile em {
  color: var(--ds24d-accent);
  font-style: normal;
  font-weight: 1000;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: .72rem;
}

.ds24d-contact-bottom.is-tile-moved {
  min-height: 1px;
  margin: 0;
  padding: 0;
}

.ds24d-contact-bottom.is-tile-moved .ds24d-contact-bottom-inner {
  display: none;
}

/* Modale */
.ds24d-lock {
  overflow: hidden;
}

.ds24d-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background:
    radial-gradient(circle at 18% 10%, rgba(0,185,255,.18), transparent 30%),
    radial-gradient(circle at 86% 12%, rgba(0,95,255,.14), transparent 30%),
    rgba(0,0,0,.76);
  backdrop-filter: blur(12px);
}

.ds24d-modal.is-open {
  display: flex;
}

.ds24d-dialog {
  width: min(780px, 100%);
  max-height: min(88vh, 920px);
  overflow: auto;
  border: 1px solid var(--ds24d-line);
  border-radius: 28px;
  color: var(--ds24d-text);
  background:
    radial-gradient(circle at 10% 0%, rgba(0,185,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(3,16,34,.96), rgba(0,7,18,.98));
  box-shadow:
    0 0 0 1px rgba(125,215,255,.10) inset,
    0 0 36px rgba(0,165,255,.28),
    0 28px 90px rgba(0,0,0,.62);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ds24d-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 24px 24px 12px;
  border-bottom: 1px solid rgba(0,190,255,.20);
}

.ds24d-kicker {
  margin: 0 0 8px;
  color: var(--ds24d-accent);
  font-weight: 1000;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .78rem;
}

.ds24d-title {
  margin: 0;
  font-size: clamp(1.9rem, 5vw, 3.8rem);
  line-height: .9;
  letter-spacing: -.06em;
}

.ds24d-subtitle {
  margin: 10px 0 0;
  color: var(--ds24d-muted);
  line-height: 1.45;
}

.ds24d-close {
  border: 1px solid rgba(0,190,255,.35);
  background: rgba(0,0,0,.24);
  color: var(--ds24d-text);
  border-radius: 999px;
  width: 42px;
  height: 42px;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1;
}

.ds24d-form {
  padding: 22px 24px 24px;
  display: grid;
  gap: 14px;
}

.ds24d-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ds24d-field {
  display: grid;
  gap: 7px;
}

.ds24d-field label {
  color: var(--ds24d-muted);
  font-weight: 850;
  font-size: .92rem;
}

.ds24d-field input,
.ds24d-field select,
.ds24d-field textarea {
  width: 100%;
  border: 1px solid rgba(0,190,255,.28);
  border-radius: 15px;
  background: rgba(0,0,0,.32);
  color: var(--ds24d-text);
  padding: 12px 13px;
  outline: none;
  font: inherit;
}

.ds24d-field textarea {
  min-height: 130px;
  resize: vertical;
}

.ds24d-field input:focus,
.ds24d-field select:focus,
.ds24d-field textarea:focus {
  border-color: rgba(0,190,255,.78);
  box-shadow: 0 0 0 3px rgba(0,190,255,.12);
}

.ds24d-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ds24d-muted);
  line-height: 1.35;
  font-size: .92rem;
}

.ds24d-consent input {
  margin-top: 3px;
}

.ds24d-consent a {
  color: #7dd7ff;
  text-underline-offset: 3px;
}

.ds24d-consent a:focus-visible {
  outline: 2px solid #7dd7ff;
  outline-offset: 3px;
}

.ds24d-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.ds24d-submit,
.ds24d-secondary {
  border: 1px solid rgba(0,190,255,.42);
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 1000;
  cursor: pointer;
}

.ds24d-submit {
  color: #00131f;
  background: linear-gradient(135deg, #7dd7ff, #20b7ff);
}

.ds24d-submit[disabled] {
  opacity: .58;
  cursor: wait;
}

.ds24d-secondary {
  color: var(--ds24d-text);
  background: rgba(0,0,0,.24);
}

.ds24d-status {
  min-height: 24px;
  color: var(--ds24d-muted);
  font-weight: 850;
}

.ds24d-status.is-ok {
  color: var(--ds24d-ok);
}

.ds24d-status.is-error {
  color: var(--ds24d-error);
}

.ds24d-honeypot {
  display: none !important;
}

.ds24d-service-clickable {
  cursor: pointer;
}

.ds24d-service-clickable:hover {
  outline: 1px solid rgba(0,190,255,.36);
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .ds24d-services-top {
    left: 10px;
    right: 10px;
    transform: none;
    overflow-x: auto;
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .ds24d-grid {
    grid-template-columns: 1fr;
  }

  .ds24d-head,
  .ds24d-form {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* Contact Premium V2: shared dark/gold treatment and compact disclosure. */
:root {
  --ds24d-text: #f7f3e8;
  --ds24d-muted: rgba(247,243,232,.72);
  --ds24d-line: rgba(231,182,93,.48);
  --ds24d-accent: #e7b65d;
  --ds24d-ok: #8ee6aa;
  --ds24d-error: #ff9a8f;
}
.ds24d-modal {
  padding: clamp(10px, 3vw, 24px);
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(14px);
}
.ds24d-dialog {
  border-color: rgba(231,182,93,.48);
  background: radial-gradient(circle at 8% 0%,rgba(231,182,93,.12),transparent 34%),linear-gradient(180deg,#151515,#090909);
  box-shadow: 0 0 0 1px rgba(231,182,93,.08) inset,0 24px 90px rgba(0,0,0,.66),0 0 32px rgba(231,182,93,.12);
}
.ds24d-head { border-bottom-color: rgba(231,182,93,.2); }
.ds24d-kicker { color: var(--ds24d-accent); }
.ds24d-close { border-color: rgba(231,182,93,.45); color: var(--ds24d-text); }
.ds24d-close:hover,.ds24d-close:focus-visible { color:#151108; background:var(--ds24d-accent); }
.ds24d-details { border:1px solid rgba(231,182,93,.2); border-radius:14px; padding:10px 12px; }
.ds24d-details summary { cursor:pointer; color:var(--ds24d-text); font-weight:800; }
.ds24d-details summary span { color:var(--ds24d-muted); font-weight:500; }
.ds24d-optional-grid { margin-top:12px; }
.ds24d-field input:focus,.ds24d-field select:focus,.ds24d-field textarea:focus { border-color:rgba(231,182,93,.9); box-shadow:0 0 0 3px rgba(231,182,93,.16); }
.ds24d-field [aria-invalid="true"] { border-color:var(--ds24d-error); }
.ds24d-submit { color:#151108; background:var(--ds24d-accent); border-color:var(--ds24d-accent); }
.ds24d-submit:hover,.ds24d-submit:focus-visible { background:#f3cf82; box-shadow:0 0 0 3px rgba(231,182,93,.2); }
.ds24d-secondary { border-color:rgba(247,243,232,.28); color:var(--ds24d-text); }
.ds24d-secondary:hover,.ds24d-secondary:focus-visible { border-color:var(--ds24d-accent); color:var(--ds24d-accent); }
.ds24d-error-summary { padding:10px 12px; border:1px solid rgba(255,154,143,.6); border-radius:12px; color:var(--ds24d-error); }
.ds24d-error-summary:focus-visible,.ds24d-close:focus-visible,.ds24d-submit:focus-visible,.ds24d-secondary:focus-visible { outline:3px solid rgba(231,182,93,.65); outline-offset:3px; }
@media (max-width:720px) {
  .ds24d-modal { align-items:flex-start; padding:10px; }
  .ds24d-dialog { width:100%; max-height:calc(100vh - 20px); border-radius:20px; }
  .ds24d-head { padding-top:18px; }
  .ds24d-field input,.ds24d-field select,.ds24d-field textarea,.ds24d-submit,.ds24d-secondary { min-height:44px; }
}


/* [20/43] SOURCE: css/dorisan_live_clean_audio.css */
/* LIVE_CLEAN_REBUILD: one visible player/seek, track duration, phone-only top offset. */
.d30-player[data-dorisan-home-player],
.ds14b-panel-disabled {
  display: none !important;
}

.dorisan-live-clean-player {
  display: grid;
  grid-template-columns: auto minmax(8rem, 1fr) auto;
  align-items: center;
  gap: .7rem;
  width: 100%;
  margin-top: .75rem;
}

.dorisan-live-clean-play {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.dorisan-live-clean-seek {
  width: 100%;
  min-width: 0;
  touch-action: pan-y;
  accent-color: #f2c14e;
}

.dorisan-live-clean-seek:focus-visible,
.dorisan-live-clean-play:focus-visible {
  outline: 3px solid #f2c14e;
  outline-offset: 3px;
}

.dorisan-live-clean-time,
.dorisan-live-clean-duration {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.dorisan-live-clean-duration {
  margin-left: auto;
  padding-inline: .65rem;
  opacity: .85;
}

@media (max-width: 768px) {
  .dorisan-fix22d-top-buttons {
    top: 56px !important;
    max-width: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }

  .dorisan-live-clean-player {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
}


/* [21/43] SOURCE: css/dorisan-epk-player-v2.css?v=1 */
[data-dorisan-epk-albums]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.dorisan-epk-v2-modal{position:fixed;inset:0;z-index:11000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.dorisan-epk-v2-modal[hidden]{display:none}.dorisan-epk-v2-dialog{position:relative;width:min(760px,100%);max-height:min(92vh,850px);overflow:hidden;padding:26px;border:1px solid #c58a37;border-radius:24px;background:linear-gradient(145deg,#17110a,#06090e 68%);color:#fff5dc;box-shadow:0 26px 100px #000c}.dorisan-epk-v2-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:1px solid #90652b;border-radius:50%;background:#16110b;color:#ffd47b;font-size:24px;cursor:pointer}.dorisan-epk-v2-hero{display:flex;align-items:center;gap:18px;padding-right:42px}.dorisan-epk-v2-hero img{width:116px;height:116px;object-fit:cover;border-radius:16px;border:1px solid #a87832;box-shadow:0 10px 30px #0008}.dorisan-epk-v2-kicker{color:#d9a24c;font-size:.72rem;letter-spacing:.18em}.dorisan-epk-v2-hero h2{margin:.25rem 0;font-size:clamp(1.4rem,4vw,2.2rem)}.dorisan-epk-v2-hero p,.dorisan-epk-v2-status{margin:0;color:#c9b58f}.dorisan-epk-v2-now{margin:18px 0 10px;color:#ffd477;font-weight:700}.dorisan-epk-v2-list{display:grid;gap:8px;max-height:38vh;overflow:auto;padding:2px 4px 8px}.dorisan-epk-v2-track{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;min-height:48px;padding:7px 10px;border:1px solid #59401f;border-radius:12px;background:#0d1116;color:#f8edda;text-align:left;cursor:pointer}.dorisan-epk-v2-track:hover,.dorisan-epk-v2-track:focus-visible,.dorisan-epk-v2-track.is-active{border-color:#dba24e;background:linear-gradient(90deg,#3b260d,#12161b);outline:none}.dorisan-epk-v2-track span{color:#d69b40;font-weight:800}.dorisan-epk-v2-track em{color:#f0bb5e;font-style:normal;text-align:center}.dorisan-epk-v2-controls{display:grid;grid-template-columns:44px 54px 44px 1fr;align-items:center;gap:8px;margin-top:10px}.dorisan-epk-v2-controls button{min-height:38px;border:1px solid #8e642d;border-radius:10px;background:#1c140a;color:#ffd476;font-size:1.05rem;cursor:pointer}.dorisan-epk-v2-controls .dorisan-epk-v2-play{font-size:1.3rem;background:#9a5d1e;color:#fff}.dorisan-epk-v2-controls span{justify-self:end;color:#cbb890;font-variant-numeric:tabular-nums}.dorisan-epk-v2-seek{width:100%;accent-color:#d79d43;cursor:pointer}.dorisan-epk-v2-status{min-height:1.3em;margin-top:8px}.dorisan-epk-v2-album-error{padding:16px;border:1px solid #805b32;border-radius:12px;color:#e7c98e}@media(max-width:600px){.dorisan-epk-v2-dialog{padding:20px 14px;border-radius:18px}.dorisan-epk-v2-hero img{width:82px;height:82px}.dorisan-epk-v2-list{max-height:42vh}.dorisan-epk-v2-controls{grid-template-columns:40px 50px 40px 1fr}.dorisan-epk-v2-controls span{font-size:.78rem}}@media(prefers-reduced-motion:reduce){.dorisan-epk-v2-modal *{scroll-behavior:auto!important;transition:none!important}}
.dorisan-epk-v2-lock{overflow:hidden}
.d30-album{position:relative}.d30-album-info{display:flex;flex-direction:column;gap:12px;padding-bottom:14px}.d30-album-info>p:empty{display:none}.d30-album-info .dorisan-home-play-cta{position:static;width:100%;margin:0;padding:9px 14px;border:1px solid #bd8744;border-radius:999px;background:#21170e;color:#ffd37a;font:inherit;font-weight:800;line-height:1.15;text-align:center;cursor:pointer;box-sizing:border-box}.d30-album-info .dorisan-home-play-cta:hover,.d30-album-info .dorisan-home-play-cta:focus-visible{background:#8f4d1b;color:#fff;outline:2px solid #ffe09f;outline-offset:2px}@media(max-width:600px){.d30-album-info .dorisan-home-play-cta{padding:8px 12px;font-size:.9rem}}
.dorisan-epk-v2-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:.45rem 0 .7rem;color:#d8c39c;line-height:1.4;font-size:.9rem}
.dorisan-epk-v2-description.is-expanded{display:block;overflow:visible}
.dorisan-epk-v2-description-toggle{display:block;margin:-.15rem 0 .75rem;padding:0;border:0;background:transparent;color:#e0ad5b;font:inherit;font-size:.78rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dorisan-epk-v2-description-toggle:hover,.dorisan-epk-v2-description-toggle:focus-visible{color:#ffe0a0;outline:2px solid #d39a49;outline-offset:3px;border-radius:3px}


/* [22/43] SOURCE: css/dorisan_fix26c_clean_public_legal_no_email.css */

:root {
  --legal-bg: #020812;
  --legal-panel: rgba(2, 14, 30, .90);
  --legal-line: rgba(0, 190, 255, .48);
  --legal-text: #eef8ff;
  --legal-muted: rgba(238, 248, 255, .74);
  --legal-accent: #20b7ff;
}

body.dorisan-legal-page {
  margin: 0;
  color: var(--legal-text);
  background:
    radial-gradient(circle at 20% 0%, rgba(0, 185, 255, .14), transparent 32%),
    radial-gradient(circle at 80% 10%, rgba(0, 70, 255, .10), transparent 30%),
    var(--legal-bg);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dorisan-legal-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  background: rgba(0, 0, 0, .66);
  border-bottom: 1px solid rgba(0, 190, 255, .18);
  backdrop-filter: blur(12px);
}

.dorisan-legal-nav a {
  color: var(--legal-text);
  text-decoration: none;
  font-weight: 900;
  border: 1px solid rgba(0, 190, 255, .32);
  border-radius: 999px;
  padding: 8px 12px;
}

.dorisan-legal-nav a:hover {
  color: var(--legal-accent);
  border-color: rgba(0, 190, 255, .62);
}

.dorisan-legal-wrap {
  width: min(1060px, calc(100% - 28px));
  margin: 48px auto 72px;
}

.dorisan-legal-card {
  border: 1px solid var(--legal-line);
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 185, 255, .12), transparent 34%),
    var(--legal-panel);
  box-shadow:
    0 0 0 1px rgba(125, 215, 255, .08) inset,
    0 24px 74px rgba(0, 0, 0, .42);
  padding: clamp(22px, 4vw, 46px);
}

.dorisan-legal-kicker {
  color: var(--legal-accent);
  font-weight: 1000;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .78rem;
  margin: 0 0 10px;
}

.dorisan-legal-card h1 {
  margin: 0 0 18px;
  font-size: clamp(2.6rem, 7vw, 6.4rem);
  line-height: .9;
  letter-spacing: -.06em;
}

.dorisan-legal-card h2 {
  margin: 34px 0 12px;
  color: var(--legal-accent);
  font-size: clamp(1.4rem, 3vw, 2.35rem);
}

.dorisan-legal-card h3 {
  margin: 22px 0 8px;
  color: var(--legal-text);
}

.dorisan-legal-card p,
.dorisan-legal-card li {
  color: var(--legal-muted);
  line-height: 1.62;
}

.dorisan-legal-card strong {
  color: var(--legal-text);
}

.dorisan-legal-card a {
  color: var(--legal-accent);
}

.dorisan-legal-ok {
  border: 1px solid rgba(100, 255, 179, .28);
  background: rgba(0, 70, 45, .14);
  border-radius: 18px;
  padding: 14px 16px;
}

.dorisan-legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  overflow: hidden;
  border-radius: 18px;
}

.dorisan-legal-table th,
.dorisan-legal-table td {
  border: 1px solid rgba(0,190,255,.22);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  color: var(--legal-muted);
}

.dorisan-legal-table th {
  color: var(--legal-text);
  background: rgba(0, 190, 255, .08);
}

.dorisan-legal-footerlinks {
  width: min(1180px, calc(100% - 28px));
  margin: 28px auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  color: rgba(238,248,255,.72);
  font-size: .92rem;
}

.dorisan-legal-footerlinks a {
  color: rgba(238,248,255,.82);
  text-decoration: none;
  border: 1px solid rgba(0,190,255,.26);
  border-radius: 999px;
  padding: 8px 11px;
  background: rgba(0,0,0,.24);
}

.dorisan-legal-footerlinks a:hover {
  color: #20b7ff;
  border-color: rgba(0,190,255,.58);
}

@media (max-width: 720px) {
  .dorisan-legal-table {
    display: block;
    overflow-x: auto;
  }
}


/* [23/43] SOURCE: css/dorisan_fix28c_clean_rebuild_home_shop_nav.css */

/* DoriSan FIX28C — rebuild pulito da FIX27B */

html {
  scroll-behavior: smooth;
}

#dorisan-musica-catalogo,
#dorisan-contatti,
#contatti {
  scroll-margin-top: 118px;
}

.ds28c-music-anchor {
  display: block;
  height: 1px;
  width: 100%;
  scroll-margin-top: 118px;
}

.ds28c-home-shop-removed,
.ds28c-epk-duplicate-removed {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

#dorisan-contatti,
#contatti,
.ds24d-contact-bottom,
.ds28c-contact-section {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 150px !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.ds28c-contact-section {
  width: min(1180px, calc(100% - 28px));
  margin: 46px auto 34px;
  position: relative;
  z-index: 30;
}

.ds28c-contact-card {
  border: 1px solid rgba(0,190,255,.48);
  border-radius: 26px;
  padding: 24px;
  color: #eef8ff;
  background:
    radial-gradient(circle at 10% 0%, rgba(0,185,255,.18), transparent 38%),
    linear-gradient(180deg, rgba(3,16,34,.92), rgba(0,7,18,.99));
  box-shadow:
    0 0 0 1px rgba(125,215,255,.08) inset,
    0 0 28px rgba(0,165,255,.22),
    0 18px 52px rgba(0,0,0,.36);
}

.ds28c-contact-card h2 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 5vw, 4.3rem);
  line-height: .9;
  letter-spacing: -.055em;
}

.ds28c-contact-card p {
  color: rgba(238,248,255,.74);
  margin: 0 0 16px;
  line-height: 1.55;
}

.ds28c-contact-card button {
  border: 1px solid rgba(0,190,255,.48);
  border-radius: 999px;
  padding: 12px 16px;
  background: rgba(0,0,0,.28);
  color: #eef8ff;
  font-weight: 1000;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.ds28c-shop-body {
  margin: 0;
  color: #eef8ff;
  background:
    radial-gradient(circle at 18% 0%, rgba(0,185,255,.15), transparent 32%),
    radial-gradient(circle at 80% 10%, rgba(0,70,255,.10), transparent 28%),
    #020812;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ds28c-shop-nav {
  position: sticky;
  top: 0;
  z-index: 9998;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  background: rgba(0,0,0,.66);
  border-bottom: 1px solid rgba(0,190,255,.18);
  backdrop-filter: blur(12px);
}

.ds28c-shop-nav a {
  color: #eef8ff;
  text-decoration: none;
  font-weight: 950;
  border: 1px solid rgba(0,190,255,.32);
  border-radius: 999px;
  padding: 8px 12px;
}

.ds28c-shop-nav a:hover {
  color: #20b7ff;
  border-color: rgba(0,190,255,.68);
}

.ds28c-shop-wrap {
  width: min(1180px, calc(100% - 28px));
  margin: 44px auto 70px;
}

.ds28c-shop-hero {
  border: 1px solid rgba(0,190,255,.38);
  border-radius: 32px;
  padding: clamp(24px, 5vw, 56px);
  margin-bottom: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(0,185,255,.18), transparent 34%),
    linear-gradient(180deg, rgba(3,16,34,.90), rgba(0,7,18,.98));
  box-shadow:
    0 0 0 1px rgba(125,215,255,.08) inset,
    0 24px 74px rgba(0,0,0,.42);
}

.ds28c-shop-kicker {
  color: #20b7ff;
  font-weight: 1000;
  letter-spacing: .17em;
  text-transform: uppercase;
  font-size: .78rem;
  margin: 0 0 10px;
}

.ds28c-shop-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(3rem, 9vw, 8.2rem);
  line-height: .84;
  letter-spacing: -.075em;
}

.ds28c-shop-hero p {
  max-width: 780px;
  color: rgba(238,248,255,.74);
  line-height: 1.55;
}

.ds28c-shop-content {
  border: 1px solid rgba(0,190,255,.28);
  border-radius: 28px;
  padding: clamp(18px, 3vw, 34px);
  background: rgba(0,0,0,.24);
}

.ds28c-shop-content img {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
}

.ds28c-shop-content a,
.ds28c-shop-content button {
  pointer-events: auto !important;
}

@media (max-width: 720px) {
  .ds28c-shop-wrap {
    width: min(100% - 20px, 1180px);
  }
}


/* [24/43] SOURCE: css/dorisan_fix28d_home_residual_cards_contact_cleanup.css */

/* DoriSan FIX28D — pulizia card residue Home */

.ds28d-home-residual-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#dorisan-contatti .ds28d-contact-old-button-hidden,
#contatti .ds28d-contact-old-button-hidden,
.ds24d-contact-bottom .ds28d-contact-old-button-hidden,
.ds28c-contact-section .ds28d-contact-old-button-hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

#dorisan-contatti,
#contatti,
.ds24d-contact-bottom,
.ds28c-contact-section {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 150px !important;
  overflow: visible !important;
  pointer-events: auto !important;
}


/* [25/43] SOURCE: css/dorisan_fix28i_from_28d_remove_only_contact_services_link.css */

/* DoriSan FIX28I — solo rimozione link/tasto servizi nel box Contatti.
   Non riduce card, non tocca dimensioni, non crea popup. */

#dorisan-contatti,
#contatti,
.ds24d-contact-bottom,
.ds28c-contact-section {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 150px !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

#dorisan-contatti .ds28i-services-link-removed,
#contatti .ds28i-services-link-removed,
.ds24d-contact-bottom .ds28i-services-link-removed,
.ds28c-contact-section .ds28i-services-link-removed {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* [26/43] SOURCE: css/dorisan_fix28k_hard_home_epk_badge_contact_services_button.css */

/* DoriSan FIX28K — hard mirato Home */

/* EPK: dentro main della Home sparisce subito. Menu/header/nav/footer restano esclusi perché non stanno dentro main. */
main a[href*="epk.html"],
main a[href*="#epk"],
main a[href*="press"],
main [onclick*="epk"],
main [onclick*="press"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Contatti: elimina solo tasti/link che puntano alla pagina servizi. */
#dorisan-contatti a[href*="servizi-musicali.html"],
#dorisan-contatti button[href*="servizi-musicali.html"],
#contatti a[href*="servizi-musicali.html"],
#contatti button[href*="servizi-musicali.html"],
.ds24d-contact-bottom a[href*="servizi-musicali.html"],
.ds24d-contact-bottom button[href*="servizi-musicali.html"],
.ds28c-contact-section a[href*="servizi-musicali.html"],
.ds28c-contact-section button[href*="servizi-musicali.html"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#dorisan-contatti,
#contatti,
.ds24d-contact-bottom,
.ds28c-contact-section {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 150px !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.ds28k-force-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}


/* [27/43] SOURCE: css/dorisan_fix28u_real_contacts_precise.css */

/* DoriSan FIX28U — solo supporto per il quarto riquadro Contatta DoriSan copiato nel blocco reale */

button.ds28u-contact-fill {
  font: inherit;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

button.ds28u-contact-fill small,
button.ds28u-contact-fill strong,
button.ds28u-contact-fill span {
  display: block;
}

button.ds28u-contact-fill strong {
  line-height: 1;
}

button.ds28u-contact-fill span {
  line-height: 1.35;
}


/* [28/43] SOURCE: css/dorisan_fix28ab_home_final_precise_v2.css?v=597 */

/* DoriSan FIX28AB — Home finale precisa: contatti corretti, merch fuori Home, EPK finale grande */

.fix28ab-contact-card {
  text-decoration: none !important;
  cursor: pointer !important;
}
.fix28ab-contact-card .d30-social-copy,
.fix28ab-contact-card .d30-social-copy strong,
.fix28ab-contact-card .d30-social-copy span {
  display: block !important;
}
.fix28ab-contact-card .d30-social-copy span {
  font-size: 0.86rem !important;
  line-height: 1.25 !important;
  opacity: 0.9 !important;
}

/* EPK finale: da card floating piccola a richiamo hero grande */
.dorisan-fix21-epk-floating-card.fix28ab-epk-final-hero,
.fix28ab-epk-final-hero {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  inset: auto !important;
  z-index: 4 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  min-width: 0 !important;
  min-height: clamp(520px, 82vh, 920px) !important;

  margin: 48px auto 0 auto !important;
  padding: 0 !important;

  transform: none !important;
  opacity: 1 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  border-radius: 28px !important;
}

.fix28ab-epk-final-hero img {
  display: block !important;
  width: 100% !important;
  height: clamp(520px, 82vh, 920px) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 28px !important;
}

@media (max-width: 760px) {
  .dorisan-fix21-epk-floating-card.fix28ab-epk-final-hero,
  .fix28ab-epk-final-hero {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-height: 0 !important;
    margin: 28px auto 0 !important;
    border-radius: 16px !important;
  }

  .fix28ab-epk-final-hero img {
    width: 100% !important;
    height: auto !important;
    max-height: 68vh !important;
    object-fit: contain !important;
    border-radius: 16px !important;
  }
}

/* V5.9.7 — EPK HOME HERO: preserve full panoramic image on desktop + mobile */
.dorisan-fix21-epk-floating-card.fix28ab-epk-final-hero,
.fix28ab-epk-final-hero {
  width: min(calc(100% - 32px), 1180px) !important;
  max-width: 1180px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
}

.fix28ab-epk-final-hero img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: 1672 / 941 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 760px) {
  .dorisan-fix21-epk-floating-card.fix28ab-epk-final-hero,
  .fix28ab-epk-final-hero {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .fix28ab-epk-final-hero img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1672 / 941 !important;
    object-fit: contain !important;
  }
}


/* [29/43] SOURCE: css/dorisan_fix28ac_contact_card_livebooking_only.css */

/* DoriSan FIX28AC — solo card Contatta DoriSan + rimozione Live Booking */

.fix28ac-contact-card {
  text-decoration: none !important;
  cursor: pointer !important;
}

.fix28ac-contact-card .d30-social-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.fix28ac-contact-card .d30-social-copy,
.fix28ac-contact-card .d30-social-copy strong,
.fix28ac-contact-card .d30-social-copy span {
  display: block !important;
}

.fix28ac-contact-card .d30-social-copy span {
  font-size: 0.86rem !important;
  line-height: 1.25 !important;
  opacity: 0.9 !important;
}


/* [30/43] SOURCE: css/dorisan_m3i_ascolta_dorisan_style.css */

/* DoriSan M3I — stile mirato solo al comando Ascolta delle tracce */

.dorisan-m3i-ascolta-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 220, 150, 0.38) !important;
  background:
    radial-gradient(circle at 20% 15%, rgba(255, 226, 150, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(255, 176, 66, 0.22), rgba(120, 58, 22, 0.26)) !important;
  box-shadow:
    0 0 18px rgba(255, 157, 45, 0.18),
    inset 0 0 12px rgba(255, 255, 255, 0.06) !important;
  color: #ffe3a0 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

a:hover .dorisan-m3i-ascolta-pill,
button:hover .dorisan-m3i-ascolta-pill,
.dorisan-m3i-ascolta-pill:hover {
  border-color: rgba(255, 232, 170, 0.62) !important;
  box-shadow:
    0 0 24px rgba(255, 170, 55, 0.28),
    inset 0 0 14px rgba(255, 255, 255, 0.08) !important;
  transform: translateY(-1px) !important;
}


/* [31/43] SOURCE: css/dorisan_phase06_catalog_navigation.css */
.dorisan-phase06-catalog {
  width: min(920px, 100%);
  margin: 0 auto 28px;
  padding: 18px;
  border: 1px solid rgba(125, 215, 255, .28);
  border-radius: 22px;
  background: rgba(2, 12, 24, .86);
  color: #eef8ff;
}

.dorisan-phase06-catalog h2 {
  margin: 0 0 14px;
  font-size: clamp(1.25rem, 3vw, 1.8rem);
}

.dorisan-phase06-controls {
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.dorisan-phase06-controls label {
  font-weight: 800;
}

.dorisan-phase06-controls input {
  width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid rgba(125, 215, 255, .45);
  border-radius: 12px;
  background: #071321;
  color: #eef8ff;
  font: inherit;
}

.dorisan-phase06-filters,
.dorisan-phase06-pager {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
}

.dorisan-phase06-filters button,
.dorisan-phase06-pager button {
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid rgba(125, 215, 255, .4);
  border-radius: 999px;
  background: rgba(2, 16, 30, .9);
  color: #eef8ff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.dorisan-phase06-filters button[aria-pressed="true"] {
  border-color: #7dd7ff;
  background: #12334e;
}

.dorisan-phase06-results {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.dorisan-phase06-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(125, 215, 255, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .04);
}

.dorisan-phase06-result strong,
.dorisan-phase06-result span {
  display: block;
}

.dorisan-phase06-result span,
.dorisan-phase06-status {
  color: rgba(238, 248, 255, .72);
}

.dorisan-phase06-result button {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(125, 215, 255, .45);
  border-radius: 999px;
  background: #12334e;
  color: #eef8ff;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.dorisan-phase06-pager {
  justify-content: space-between;
  margin-top: 14px;
}

.dorisan-phase06-pager button:disabled {
  opacity: .45;
  cursor: default;
}

.dorisan-phase06-controls input:focus-visible,
.dorisan-phase06-filters button:focus-visible,
.dorisan-phase06-pager button:focus-visible,
.dorisan-phase06-result button:focus-visible {
  outline: 3px solid #f5f7fa;
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .dorisan-phase06-catalog {
    width: 100%;
    padding: 14px;
  }

  .dorisan-phase06-controls {
    grid-template-columns: 1fr;
  }

  .dorisan-phase06-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .dorisan-phase06-result {
    grid-template-columns: 1fr;
  }
}


/* [32/43] SOURCE: css/dorisan_home_premium_v2.css?v=594 */
.dorisan-home-search{max-width:920px;margin:clamp(24px,5vw,64px) auto;padding:clamp(24px,4vw,44px);text-align:center;border:1px solid rgba(212,175,55,.34);border-radius:28px;background:radial-gradient(circle at 50% 0,rgba(212,175,55,.11),transparent 55%),#080b12;color:#f5f1e8}.dorisan-home-eyebrow{margin:0 0 8px;color:#d8b85a;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800}.dorisan-home-search h2{margin:0;font-size:clamp(1.7rem,3vw,2.5rem)}.dorisan-home-search-copy{margin:10px auto 22px;color:#c9c4b8}.dorisan-home-search-label{display:block;text-align:left;max-width:680px;margin:0 auto 7px;font-weight:700}.dorisan-home-search-field{display:flex;align-items:center;gap:10px;max-width:680px;margin:auto;padding:0 16px;border:1px solid rgba(212,175,55,.58);border-radius:999px;background:#05070c}.dorisan-home-search-field span{font-size:1.5rem;color:#d8b85a}.dorisan-home-search-field input{width:100%;min-height:54px;border:0;outline:0;background:transparent;color:#fff;font:inherit}.dorisan-home-search-field input::placeholder{color:#a8a294}.dorisan-home-search-field:focus-within{box-shadow:0 0 0 3px rgba(212,175,55,.2)}.dorisan-phase06-status{color:#bdb6a7}.dorisan-phase06-results{max-width:780px;margin:18px auto 0;display:grid;gap:10px;text-align:left}.dorisan-phase06-result{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid rgba(212,175,55,.22);border-radius:16px;background:rgba(255,255,255,.045)}.dorisan-phase06-result strong,.dorisan-phase06-result span{display:block}.dorisan-phase06-result span{margin-top:4px;color:#bdb6a7;font-size:.9rem}.dorisan-phase06-result button{border:1px solid #d8b85a;border-radius:999px;padding:9px 14px;background:transparent;color:#f5f1e8;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.dorisan-phase06-result button:hover{background:rgba(212,175,55,.15);color:#e7c869}.dorisan-phase06-result button:focus-visible,.dorisan-home-live-v2 button:focus-visible{outline:3px solid #f6e7af;outline-offset:3px}.dorisan-home-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.dorisan-home-pillars article{padding:15px;border:1px solid rgba(212,175,55,.25);border-radius:14px;background:rgba(255,255,255,.035)}.dorisan-home-pillars strong,.dorisan-home-pillars span{display:block}.dorisan-home-pillars strong{color:#d8b85a;letter-spacing:.1em}.dorisan-home-pillars span{margin-top:5px;color:#c9c4b8;font-size:.9rem}.dorisan-home-live-v2{background:linear-gradient(180deg,#07090e,#10151d);color:#f5f1e8}.dorisan-home-live-v2-inner{width:min(1180px,100%);margin:auto;padding:clamp(42px,7vw,88px) 20px}.dorisan-home-live-v2 h2{margin:0 0 10px;font-size:clamp(2rem,5vw,4rem);letter-spacing:.06em}.dorisan-home-live-intro{max-width:680px;color:#c9c4b8}.dorisan-home-live-hero{position:relative;display:block;width:100%;margin:28px 0;padding:0;border:1px solid rgba(212,175,55,.35);border-radius:22px;overflow:hidden;background:#020307;cursor:zoom-in}.dorisan-home-live-hero img{display:block;width:100%;max-height:min(78vh,760px);object-fit:cover;object-position:center 38%}.dorisan-home-live-hero span{position:absolute;bottom:16px;left:18px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.64);color:#f5f1e8;font-size:.85rem}.dorisan-home-live-session{margin-top:34px}.dorisan-home-live-session h3{color:#d8b85a}.dorisan-home-live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dorisan-home-live-grid button{padding:0;border:1px solid rgba(212,175,55,.28);border-radius:16px;overflow:hidden;background:#05070b;cursor:zoom-in}.dorisan-home-live-grid img{display:block;width:100%;aspect-ratio:941/1672;object-fit:cover}.dorisan-home-live-grid button:hover,.dorisan-home-live-hero:hover{border-color:#d8b85a;box-shadow:0 0 20px rgba(212,175,55,.15)}.dorisan-home-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.88)}.dorisan-home-lightbox[hidden]{display:none}.dorisan-home-lightbox img{max-width:min(94vw,1100px);max-height:88vh;width:auto;height:auto;object-fit:contain}.dorisan-home-lightbox-close{position:absolute;top:18px;right:22px;border:1px solid #d8b85a;border-radius:50%;width:44px;height:44px;background:#090b10;color:#f5f1e8;font-size:1.6rem;cursor:pointer}@media(max-width:700px){.dorisan-phase06-result{display:grid}.dorisan-phase06-result button{justify-self:start}.dorisan-home-pillars{grid-template-columns:1fr}.dorisan-home-live-grid{grid-template-columns:1fr 1fr;gap:10px}.dorisan-home-live-grid button:last-child{grid-column:1/-1;max-width:calc(50% - 5px);justify-self:center}.dorisan-home-live-hero img{max-height:72vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.d30-album{display:flex;flex-direction:column}.d30-album .d30-album-info{display:flex;flex:1;flex-direction:column}.d30-album .d30-album-info>button:last-child,.d30-album .d30-album-info>.ds07-badge{margin-top:auto}.dorisan-ibiza-macro-card{color:inherit}.dorisan-ibiza-card-description{display:block;margin-top:.4rem;color:#c9c4b8}.dorisan-ibiza-card-link{margin-top:auto;padding:.6rem .9rem;border:1px solid #d8b85a;border-radius:999px;background:transparent;color:#f5f1e8;font:inherit;font-weight:700;cursor:pointer}.dorisan-ibiza-card-link:hover{background:rgba(212,175,55,.15);color:#e7c869}.dorisan-home-live-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dorisan-home-live-grid button{aspect-ratio:4/3}.dorisan-home-live-grid img{height:100%;aspect-ratio:auto;object-fit:cover}.dorisan-home-live-hero{aspect-ratio:16/8}.dorisan-home-live-hero img{height:100%;object-fit:cover}.dorisan-ibiza-home-dialog{width:min(1100px,calc(100% - 24px));max-height:90vh;padding:0;border:1px solid rgba(212,175,55,.5);border-radius:24px;background:#090b10;color:#f5f1e8}.dorisan-ibiza-home-dialog::backdrop{background:rgba(0,0,0,.78)}.dorisan-ibiza-home-dialog-inner{padding:clamp(22px,4vw,42px);overflow:auto;max-height:90vh}.dorisan-ibiza-home-close{position:absolute;top:16px;right:18px;width:42px;height:42px;border:1px solid #d8b85a;border-radius:50%;background:#090b10;color:#f5f1e8;font-size:1.5rem;cursor:pointer}.dorisan-ibiza-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dorisan-ibiza-home-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(212,175,55,.3);border-radius:18px;background:#11151d}.dorisan-ibiza-home-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.dorisan-ibiza-home-card-body{display:flex;flex:1;flex-direction:column;padding:16px}.dorisan-ibiza-home-card h3{margin:0;color:#e5c765}.dorisan-ibiza-home-card p{line-height:1.5;color:#c9c4b8}.dorisan-ibiza-home-card button{margin-top:auto;padding:.6rem .9rem;border:1px solid #d8b85a;border-radius:999px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}.dorisan-ibiza-home-card button:hover{background:rgba(212,175,55,.15)}
@media(max-width:700px){.dorisan-home-live-grid{grid-template-columns:1fr}.dorisan-home-live-grid button:last-child{grid-column:auto;max-width:none;justify-self:stretch}.dorisan-home-live-hero{aspect-ratio:4/3}.dorisan-ibiza-home-grid{grid-template-columns:1fr}}
.dorisan-ibiza-home-dialog-inner{width:min(960px,calc(100% - 20px));padding:20px 20px 24px}.dorisan-ibiza-home-close{position:absolute;top:14px;left:14px;right:auto;z-index:2;width:44px;height:44px}.dorisan-ibiza-home-dialog-inner h2{padding-left:52px}.dorisan-ibiza-home-grid{gap:12px}.dorisan-ibiza-home-card img{width:min(190px,100%);height:auto;aspect-ratio:1;margin-inline:auto;object-fit:contain;background:#05070b}.dorisan-ibiza-home-card-body{padding:11px}.dorisan-ibiza-home-card p{margin:6px 0;line-height:1.35;-webkit-line-clamp:3;font-size:.86rem}.dorisan-ibiza-home-card button{padding:7px 11px;font-size:.86rem}.dorisan-ibiza-active .dorisan-epk-v2-close{top:14px;left:14px;right:auto;z-index:2}.dorisan-ibiza-active .dorisan-epk-v2-hero{padding-left:54px;padding-right:12px}
.dorisan-ibiza-home-dialog{padding-top:calc(var(--dorisan-global-topbar-height, 64px) + 16px);padding-bottom:16px}.dorisan-ibiza-home-dialog-inner{max-height:calc(100vh - var(--dorisan-global-topbar-height, 64px) - 32px)}
.dorisan-ibiza-active .dorisan-epk-v2-modal{padding-top:calc(var(--dorisan-global-topbar-height, 64px) + 16px);padding-bottom:16px}.dorisan-ibiza-active .dorisan-epk-v2-dialog{max-height:calc(100vh - var(--dorisan-global-topbar-height, 64px) - 32px)}.dorisan-ibiza-active .dorisan-epk-v2-hero img{width:82px;height:82px;object-fit:contain;background:#05070b;border-color:#c58a37}
.dorisan-ibiza-home-dialog{position:fixed;inset:0;z-index:7000;display:grid;place-items:center;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:16px;background:rgba(0,0,0,.78)}.dorisan-ibiza-home-dialog[hidden]{display:none}.dorisan-ibiza-home-dialog-inner{position:relative;width:min(1060px,calc(100% - 16px));max-height:calc(100% - 16px);padding:24px;overflow:auto;border:1px solid rgba(212,175,55,.5);border-radius:24px;background:#090b10}.dorisan-ibiza-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dorisan-ibiza-home-card img{aspect-ratio:1}.dorisan-ibiza-home-card-body{padding:12px}.dorisan-ibiza-home-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:8px 0;font-size:.9rem;line-height:1.4}.dorisan-ibiza-home-card button{padding:8px 12px;font-size:.9rem}.dorisan-epk-v2-modal{z-index:11000!important}@media(max-width:760px){.dorisan-ibiza-home-dialog-inner{padding:20px 14px}.dorisan-ibiza-home-grid{grid-template-columns:1fr}.dorisan-ibiza-home-card{max-width:420px;margin:auto;width:100%}.dorisan-ibiza-home-card img{max-height:250px;object-fit:cover}}
.live-photo-frame{position:relative;overflow:hidden}.dorisan-home-live-hero{aspect-ratio:16/8}.dorisan-home-live-hero img{height:100%;object-fit:cover;object-position:center 38%}.dorisan-home-live-grid button{aspect-ratio:4/3}.dorisan-home-live-grid img{height:100%;aspect-ratio:auto;object-fit:cover}.dorisan-ibiza-home-dialog{width:min(1100px,calc(100% - 24px));max-height:90vh;padding:0;border:1px solid rgba(212,175,55,.5);border-radius:24px;background:#090b10;color:#f5f1e8}.dorisan-ibiza-home-dialog::backdrop{background:rgba(0,0,0,.78)}.dorisan-ibiza-home-dialog-inner{padding:clamp(22px,4vw,42px);overflow:auto;max-height:90vh}.dorisan-ibiza-home-dialog h2{margin:.2rem 0 1.4rem;font-size:clamp(2rem,4vw,3rem)}.dorisan-ibiza-home-close{position:absolute;top:16px;right:18px;width:42px;height:42px;border:1px solid #d8b85a;border-radius:50%;background:#090b10;color:#f5f1e8;font-size:1.5rem;cursor:pointer}.dorisan-ibiza-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dorisan-ibiza-home-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(212,175,55,.3);border-radius:18px;background:#11151d}.dorisan-ibiza-home-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.dorisan-ibiza-home-card-body{display:flex;flex:1;flex-direction:column;padding:16px}.dorisan-ibiza-home-card h3{margin:0;color:#e5c765}.dorisan-ibiza-home-card p{line-height:1.5;color:#c9c4b8}.dorisan-ibiza-home-card button{margin-top:auto;padding:.6rem .9rem;border:1px solid #d8b85a;border-radius:999px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}.dorisan-ibiza-home-card button:hover{background:rgba(212,175,55,.15)}
.dorisan-home-live-caption{margin:-14px 0 30px;color:#e5c765;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:800;letter-spacing:.14em;text-align:center}.dorisan-home-live-hero{aspect-ratio:4/5}.dorisan-home-live-hero img{height:100%;object-fit:cover;object-position:center 38%}@media(max-width:700px){.dorisan-home-live-hero{aspect-ratio:3/4}}

/* HOME V2.4 final: Ibiza covers always visible in full */
.dorisan-ibiza-home-card img {
  object-fit: contain !important;
}

@media (max-width: 760px) {
  .dorisan-ibiza-home-card img {
    object-fit: contain !important;
    width: min(190px, 100%);
    height: auto;
    max-height: none;
    margin-inline: auto;
  }
}
.dorisan-epk-v2-hero [data-epk-v2-cover]{width:82px;height:82px;aspect-ratio:1;flex:0 0 82px;object-fit:contain;background:#05070b;border-radius:12px}
.dorisan-services-v4{width:min(1180px,calc(100% - 32px));margin:clamp(36px,7vw,88px) auto;color:#f5f1e8}.dorisan-services-v4-shell{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);min-height:390px;overflow:hidden;border:1px solid rgba(226,190,83,.48);border-radius:28px;background:linear-gradient(110deg,#050609,#12100d 58%,#090b10);box-shadow:0 30px 90px rgba(0,0,0,.52),0 0 42px rgba(212,175,55,.08)}.dorisan-services-v4-identity{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px;background:radial-gradient(circle at 20% 30%,rgba(212,175,55,.16),transparent 48%);border-right:1px solid rgba(226,190,83,.42)}.dorisan-services-v4-identity span{color:#e2be53;letter-spacing:.22em;font-size:.78rem;font-weight:800}.dorisan-services-v4-identity strong{font-size:clamp(2.8rem,6vw,6.5rem);line-height:.86;letter-spacing:-.06em}.dorisan-services-v4-identity i{position:absolute;right:34px;top:22%;width:1px;height:56%;background:linear-gradient(transparent,#e2be53,transparent);box-shadow:0 0 18px rgba(226,190,83,.55)}.dorisan-services-v4-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(36px,6vw,82px)}.dorisan-services-v4-eyebrow{margin:0 0 12px;color:#e2be53;font-size:.78rem;font-weight:800;letter-spacing:.18em}.dorisan-services-v4-content h2{margin:0 0 16px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05}.dorisan-services-v4-lead{margin:0 0 12px;font-size:clamp(1.2rem,2.5vw,1.7rem);font-weight:700}.dorisan-services-v4-description{max-width:620px;margin:0 0 30px;color:#c9c4b8;font-size:1.05rem;line-height:1.7}.dorisan-services-v4-cta{display:inline-flex;align-items:center;min-height:50px;padding:12px 26px;border:1px solid #f0d477;border-radius:999px;background:linear-gradient(180deg,#e2be53,#b27c1b);color:#080a0f;font-weight:800;text-decoration:none;box-shadow:0 12px 28px rgba(178,124,27,.28);transition:.2s}.dorisan-services-v4-cta:hover,.dorisan-services-v4-cta:focus-visible{background:#f0d477;box-shadow:0 0 0 3px rgba(240,212,119,.2),0 12px 30px rgba(178,124,27,.32)}@media(max-width:700px){.dorisan-services-v4{width:calc(100% - 24px)}.dorisan-services-v4-shell{grid-template-columns:1fr;min-height:0}.dorisan-services-v4-identity{min-height:230px;padding:28px;border-right:0;border-bottom:1px solid rgba(226,190,83,.42)}.dorisan-services-v4-identity strong{font-size:clamp(3rem,17vw,5rem)}.dorisan-services-v4-identity i{right:18%;top:auto;bottom:28px;width:55%;height:1px;background:linear-gradient(90deg,transparent,#e2be53,transparent)}.dorisan-services-v4-content{padding:32px 26px 38px}.dorisan-services-v4-cta{width:100%;justify-content:center}}

/* Ibiza Home dialog: compact cards on phones only. */
@media (max-width: 768px) {
  .dorisan-ibiza-home-dialog {
    width: 100%;
    max-height: none;
    padding: 12px;
    border: 0;
    border-radius: 0;
  }

  .dorisan-ibiza-home-dialog-inner {
    width: min(100%, 480px);
    max-height: calc(100vh - 24px);
    padding: 18px 12px;
  }

  .dorisan-ibiza-home-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .dorisan-ibiza-home-card {
    display: grid;
    grid-template-columns: clamp(108px, 34vw, 144px) minmax(0, 1fr);
    min-height: 144px;
    max-width: 480px;
    margin-inline: auto;
  }

  .dorisan-ibiza-home-card img {
    width: 100%;
    height: 100%;
    min-height: 144px;
    max-height: 176px;
    margin: 0;
    aspect-ratio: auto;
    object-fit: cover !important;
  }

  .dorisan-ibiza-home-card-body {
    min-width: 0;
    padding: 10px;
  }

  .dorisan-ibiza-home-card p {
    margin: 5px 0 8px;
    line-height: 1.3;
    -webkit-line-clamp: 2;
  }

  .dorisan-ibiza-home-card button {
    min-height: 44px;
    padding: 7px 10px;
  }
}


/* ==========================================================
   DORISAN V5.9.3 — IBIZA INTERNAL CARDS FIT FIX
   Covers fill the card frame on desktop and mobile.
   ========================================================== */
.dorisan-ibiza-home-card{
  overflow:hidden!important;
}
.dorisan-ibiza-home-card img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#05070b!important;
}
@media (max-width:768px){
  .dorisan-ibiza-home-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:480px!important;
    min-height:0!important;
    margin-inline:auto!important;
  }
  .dorisan-ibiza-home-card img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
  }
}


/* ==========================================================
   DORISAN V5.9.4 — IBIZA INTERNAL CARD MOTION
   ambient loop + complete strong event every 8–15 seconds
   ========================================================== */
.dorisan-ibiza-home-media{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  background:#05070b!important;
}
.dorisan-ibiza-home-media>img,
.dorisan-ibiza-home-media>video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  pointer-events:none!important;
}
.dorisan-ibiza-home-media>img{z-index:1!important}
.dorisan-ibiza-home-ambient{
  z-index:2!important;
  opacity:1!important;
  transition:opacity .24s cubic-bezier(.4,0,.2,1)!important;
}
.dorisan-ibiza-home-event{
  z-index:3!important;
  opacity:0!important;
  transition:opacity .24s cubic-bezier(.4,0,.2,1)!important;
}
.dorisan-ibiza-home-card.dorisan-ibiza-event-on .dorisan-ibiza-home-ambient{
  opacity:0!important;
}
.dorisan-ibiza-home-card.dorisan-ibiza-event-on .dorisan-ibiza-home-event{
  opacity:1!important;
}
@media (prefers-reduced-motion:reduce){
  .dorisan-ibiza-home-media>video{display:none!important}
}


/* [33/43] SOURCE: css/dorisan-global-topbar.css */
.dorisan-global-topbar{--dorisan-global-topbar-height:62px;position:fixed;top:12px;right:16px;z-index:99999;display:flex;align-items:center;width:max-content;max-width:calc(100vw - 32px);padding:7px 9px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;flex-wrap:nowrap;gap:clamp(6px,1vw,12px);border:1px solid rgba(214,163,76,.55);border-radius:999px;background:rgba(4,7,12,.92);box-shadow:0 12px 36px rgba(0,0,0,.42);backdrop-filter:blur(12px)}
.dorisan-global-topbar ul{display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(3px,.7vw,8px);margin:0;padding:0;list-style:none;white-space:nowrap}
.dorisan-global-topbar a,.dorisan-epk-final-subnav a{display:inline-flex;align-items:center;min-height:44px;padding:8px clamp(10px,1vw,15px);border:1px solid transparent;border-radius:999px;color:#f8e8bf;font-size:clamp(.95rem,.75rem + .45vw,1.18rem);font-weight:700;letter-spacing:.03em;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.dorisan-global-topbar a:visited,.dorisan-epk-final-subnav a:visited{color:#f8e8bf}
.dorisan-global-topbar a:hover,.dorisan-global-topbar a:focus-visible,.dorisan-epk-final-subnav a:hover,.dorisan-epk-final-subnav a:focus-visible{border-color:#e7b65d;color:#fff7df;background:rgba(194,133,47,.24);box-shadow:0 0 14px rgba(231,182,93,.22);outline:2px solid #e7b65d;outline-offset:2px}
.dorisan-global-topbar a[aria-current="page"]{border-color:#e7b65d;color:#ffd477;background:rgba(194,133,47,.16)}
.dorisan-epk-final-subnav{position:fixed;top:calc(12px + var(--dorisan-global-topbar-height,62px) + 8px);right:16px;z-index:99998;display:flex;align-items:center;width:max-content;max-width:calc(100vw - 32px);padding:5px 7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;flex-wrap:nowrap;gap:clamp(3px,.7vw,8px);border:1px solid rgba(164,119,54,.45);border-radius:999px;background:rgba(4,7,12,.86);box-shadow:0 10px 28px rgba(0,0,0,.32);backdrop-filter:blur(10px);white-space:nowrap}
.dorisan-epk-final-subnav a{min-height:38px;padding:7px clamp(8px,.8vw,12px);font-size:clamp(.84rem,.68rem + .3vw,1rem);font-weight:600}
@media(max-width:900px){.dorisan-global-topbar{top:8px;right:10px;max-width:calc(100vw - 20px);--dorisan-global-topbar-height:56px}.dorisan-epk-final-subnav{top:calc(8px + var(--dorisan-global-topbar-height,56px) + 6px);right:10px;max-width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){.dorisan-global-topbar *{scroll-behavior:auto!important;transition:none!important}}


/* GREYTOWN_GLOBAL_FINAL_V1 */
.dorisan-global-topbar .dorisan-greytown-final-v5{color:#d8b7ff!important;border-color:rgba(171,92,255,.78)!important;background:linear-gradient(135deg,rgba(83,22,128,.32),rgba(31,8,58,.72))!important;box-shadow:0 0 14px rgba(151,70,255,.24);font-weight:800;letter-spacing:.035em}
.dorisan-global-topbar .dorisan-greytown-final-v5:hover,.dorisan-global-topbar .dorisan-greytown-final-v5:focus-visible{color:#fff!important;border-color:#c38cff!important;box-shadow:0 0 20px rgba(171,92,255,.45)}


/* [34/43] SOURCE: css/dorisan-secret-track.css */
.d30-manifesto-media{position:relative;display:block;width:100%}
.dorisan-secret-track-hotspot{position:absolute;left:var(--dorisan-secret-hotspot-x,31.35%);top:var(--dorisan-secret-hotspot-y,85%);z-index:1;width:clamp(44px,var(--dorisan-secret-hotspot-size,10%),68px);aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:1px solid transparent;border-radius:50%;background:transparent;box-shadow:none;color:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dorisan-secret-track-hotspot:hover{border-color:rgba(224,173,91,.12);background:rgba(224,173,91,.025)}
.dorisan-secret-track-hotspot:focus-visible{border-color:rgba(224,173,91,.28);outline:1px solid rgba(224,173,91,.42);outline-offset:2px;background:rgba(224,173,91,.035)}
.dorisan-secret-player{position:fixed;right:clamp(12px,3vw,34px);bottom:clamp(12px,3vw,30px);z-index:10950;display:grid;grid-template-columns:42px minmax(110px,220px) auto 36px;grid-template-rows:auto auto;align-items:center;column-gap:10px;row-gap:5px;width:min(430px,calc(100vw - 24px));padding:10px 12px;border:1px solid #a87832;border-radius:16px;background:linear-gradient(145deg,rgba(23,17,10,.98),rgba(6,9,14,.98) 68%);color:#fff5dc;box-shadow:0 18px 60px rgba(0,0,0,.72);box-sizing:border-box}
.dorisan-secret-player[hidden]{display:none}
.dorisan-secret-player button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #90652b;border-radius:50%;background:#1c140a;color:#ffd476;font:inherit;font-size:1.05rem;line-height:1;cursor:pointer}
.dorisan-secret-player button:hover,.dorisan-secret-player button:focus-visible{border-color:#e0ad5b;background:#6f4218;color:#fff;outline:2px solid #ffe09f;outline-offset:2px}
.dorisan-secret-player__play{grid-column:1;grid-row:1/3;font-size:1.2rem!important}
.dorisan-secret-player__close{grid-column:4;grid-row:1/3;font-size:1.4rem!important}
.dorisan-secret-player__title{grid-column:2/4;grid-row:1;min-width:0;overflow:hidden;color:#ffd476;font-size:.88rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.dorisan-secret-player__seek{grid-column:2;grid-row:2;width:100%;min-width:0;margin:0;accent-color:#d79d43;cursor:pointer}
.dorisan-secret-player__time{grid-column:3;grid-row:2;white-space:nowrap;color:#cbb890;font-size:.78rem;font-variant-numeric:tabular-nums}
.dorisan-secret-player audio{display:none}
@media(max-width:520px){.dorisan-secret-player{grid-template-columns:40px minmax(80px,1fr) 72px 34px;column-gap:7px;row-gap:4px;padding:9px 10px}.dorisan-secret-player__title{font-size:.82rem}.dorisan-secret-player__time{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.dorisan-secret-player *{transition:none!important}}


/* [35/43] SOURCE: css/dorisan_phase07_content.css */
.dorisan-phase07-content{background:#090b10;color:#f5f7fa;padding:clamp(2rem,5vw,4.5rem) 1rem}.dorisan-phase07-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);max-width:1100px;margin:0 auto}.dorisan-phase07-content article{min-width:0;padding:clamp(1.1rem,3vw,2rem);border:1px solid rgba(154,165,180,.28);border-radius:18px;background:#151a24}.dorisan-phase07-content h2{margin:.2rem 0 1rem}.dorisan-phase07-content p{line-height:1.65}.dorisan-phase07-content a,.dorisan-phase07-links a{color:#fff;text-decoration-thickness:2px;text-underline-offset:.2em}.dorisan-phase07-kicker{color:#b89b5e;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.dorisan-phase07-content details{border-top:1px solid rgba(154,165,180,.25);padding:.9rem 0}.dorisan-phase07-content summary{cursor:pointer;font-weight:700}.dorisan-phase07-content details p{margin:.7rem 0 0}.dorisan-phase07-links{font-weight:700}@media(max-width:760px){.dorisan-phase07-inner{grid-template-columns:1fr}.dorisan-phase07-content{padding-inline:.75rem}.dorisan-phase07-content article{overflow-wrap:anywhere}}


/* [36/43] SOURCE: css/dorisan-ai-assistant.css?v=s24f */
.dorisan-ai-launcher{position:fixed!important;right:18px!important;bottom:18px!important;left:auto!important;top:auto!important;z-index:10020;display:flex;align-items:center;gap:8px;min-height:46px;border:1px solid #bd8744;background:#17110b;color:#ffe0a0;border-radius:999px;padding:6px 14px 6px 6px;font-weight:800;box-shadow:0 12px 36px #0009;cursor:pointer}.dorisan-ai-launcher-wolf,.dorisan-ai-head-avatar{width:34px;height:34px;border:1px solid #bd8744;border-radius:50%;object-fit:cover;display:block}.dorisan-ai-head-avatar{width:32px;height:32px}.dorisan-ai-panel{position:fixed;right:18px;bottom:76px;z-index:10020;width:min(420px,calc(100vw - 24px));height:min(82dvh,700px);display:none;grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden;border:1px solid #bd8744;border-radius:18px;background:#0b1016;color:#f8f2e8;box-shadow:0 22px 70px #000c;font:14px/1.4 system-ui,sans-serif}.dorisan-ai-panel.dorisan-ai-open{display:grid}.dorisan-ai-head{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#151d27;border-bottom:1px solid #425263}.dorisan-ai-title{font-weight:900;min-width:0;flex:1}.dorisan-ai-close,.dorisan-ai-reset,.dorisan-ai-advice-toggle,.dorisan-ai-player-close,.dorisan-ai-player-title{border:1px solid #68778a;background:#202b37;color:#fff;border-radius:8px;min-height:32px;cursor:pointer}.dorisan-ai-close{width:32px;font-size:20px}.dorisan-ai-reset{padding:4px 8px}.dorisan-ai-advice{min-height:44px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid #344352;overflow:hidden}.dorisan-ai-advice.is-collapsed{min-height:34px}.dorisan-ai-advice-toggle{flex:0 0 auto;padding:4px 7px;font-size:12px}.dorisan-ai-quick{display:flex;gap:5px;overflow-x:auto;min-width:0;scrollbar-width:none}.dorisan-ai-quick::-webkit-scrollbar{display:none}.dorisan-ai-advice.is-collapsed .dorisan-ai-quick{display:none}.dorisan-ai-chip{flex:0 0 auto;height:30px;border:1px solid #9f7138;background:#21170e;color:#fff;border-radius:8px;padding:4px 8px;cursor:pointer;white-space:nowrap;font-size:12px}.dorisan-ai-body{min-height:0;overflow-y:auto;padding:10px;scrollbar-gutter:stable;overscroll-behavior:contain}.dorisan-ai-message{max-width:88%;margin:7px 0;padding:9px 11px;border:1px solid #39495a;border-radius:13px;background:#151d26;overflow-wrap:anywhere}.dorisan-ai-user{margin-left:auto;background:#3a2513}.dorisan-ai-result{margin-top:8px;padding:8px;border-left:3px solid #d69b4c;background:#0c1219}.dorisan-ai-result strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dorisan-ai-result-link{color:#ffd37a;margin-right:8px}.dorisan-ai-play{margin-top:6px;border:1px solid #9f7138;background:#21170e;color:#fff;border-radius:7px;padding:5px 8px;cursor:pointer}.dorisan-ai-player{display:none;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:7px 9px;background:#111a24;border-top:1px solid #344352}.dorisan-ai-player.is-open{display:grid}.dorisan-ai-player-title{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.dorisan-ai-player audio{grid-column:1/-1;width:100%;height:32px}.dorisan-ai-player.is-collapsed audio{display:none}.dorisan-ai-form{display:flex;align-items:end;gap:7px;padding:8px;border-top:1px solid #344352;background:#0d141c}.dorisan-ai-input{box-sizing:border-box;flex:1;min-width:0;max-height:96px;resize:vertical;border:1px solid #718196;background:#070b10;color:#fff;border-radius:10px;padding:9px;font:inherit}.dorisan-ai-send{min-height:38px;border:1px solid #bd8744;background:#8f4d1b;color:#fff;border-radius:9px;padding:7px 12px;font-weight:800;cursor:pointer}.dorisan-ai-panel button:focus-visible,.dorisan-ai-panel textarea:focus-visible,.dorisan-ai-launcher:focus-visible{outline:3px solid #ffe09f;outline-offset:2px}.dorisan-ai-panel button:disabled{opacity:.55;cursor:wait}.dorisan-ai-page{min-height:100vh;padding:48px 22px;background:#0d0a08;color:#fff4d6;font-family:system-ui,sans-serif}.dorisan-ai-page a{color:#ffd37a}
@media(max-width:600px){.dorisan-ai-launcher{right:12px!important;bottom:12px!important}.dorisan-ai-panel{left:10px;right:10px;bottom:66px;width:auto;height:min(82dvh,700px);max-height:calc(100dvh - 78px);border-radius:15px}.dorisan-ai-form{padding-bottom:max(8px,env(safe-area-inset-bottom))}.dorisan-ai-message{max-width:92%}}


/* [37/43] SOURCE: css/dorisan_phase12_accessibility_performance.css */
/* Fase 12: correzioni trasversali, senza modificare grafica o player FIX17. */
:where(a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #7dd7ff !important;
  outline-offset: 3px !important;
}
:where(img, video, audio, canvas, svg) { max-width: 100%; }
.ds-shop-s1-card h2 {
  margin: 0;
  color: #fff8e8;
  font-size: 1.2rem;
  line-height: 1.14;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
@media (max-width: 390px) {
  body { overflow-x: hidden; }
  :where(.ds24d-dialog, .ds-shop-modal-panel, .dorisan-epk-album-dialog) {
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    overflow: auto !important;
  }
}


/* [38/43] SOURCE: css/dorisan_phase15_live.css */
:root {
  --live-bg: #090b10;
  --live-panel: #151a24;
  --live-red: #e84b5f;
  --live-text: #f5f7fa;
  --live-muted: #b8c1ce;
}

.dorisan-live-teaser,
.dorisan-live-page {
  color: var(--live-text);
  background: var(--live-bg);
}

.dorisan-live-shell {
  width: min(1120px, calc(100% - 32px));
  margin-inline: auto;
  padding: clamp(48px, 8vw, 88px) 0;
  text-align: center;
}

.dorisan-live-kicker {
  margin: 0 0 8px;
  color: var(--live-red);
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.dorisan-live-shell h1,
.dorisan-live-shell h2 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 7vw, 4.5rem);
  line-height: 1;
}

.dorisan-live-shell > p:not(.dorisan-live-kicker) {
  max-width: 760px;
  margin: 0 auto 28px;
  color: var(--live-muted);
  line-height: 1.65;
}

.dorisan-live-teaser-grid,
.dorisan-live-gallery {
  display: grid;
  gap: 16px;
}

.dorisan-live-teaser-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dorisan-live-teaser-grid img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 16px;
}

.dorisan-live-teaser-grid img:nth-child(1) { object-position: 50% 58%; }
.dorisan-live-teaser-grid img:nth-child(2) { object-position: 50% 55%; }
.dorisan-live-teaser-grid img:nth-child(3) { object-position: 50% 45%; }

.dorisan-live-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.dorisan-live-button {
  display: inline-flex;
  box-sizing: border-box;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 1px solid var(--live-red);
  border-radius: 999px;
  color: var(--live-text);
  font-weight: 800;
  text-decoration: none;
}

.dorisan-live-button-primary {
  color: #090b10;
  background: var(--live-red);
}

.dorisan-live-button:hover { transform: translateY(-1px); }
.dorisan-live-button:focus-visible,
.dorisan-live-open:focus-visible,
.dorisan-live-dialog button:focus-visible,
.dorisan-live-top a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

.dorisan-live-top {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  padding: 16px;
  background: #020812;
}

.dorisan-live-top a,
.dorisan-live-footer a { color: var(--live-text); }

.dorisan-live-hero {
  position: relative;
  min-height: min(82vh, 760px);
  display: grid;
  place-items: end center;
  overflow: hidden;
}

.dorisan-live-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
}

.dorisan-live-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,8,18,.08), rgba(2,8,18,.92));
}

.dorisan-live-hero-copy {
  position: relative;
  z-index: 1;
  width: min(900px, calc(100% - 32px));
  padding: 48px 0;
  text-align: center;
}

.dorisan-live-hero-copy p { line-height: 1.65; }

.dorisan-live-open {
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  color: inherit;
  background: var(--live-panel);
  cursor: zoom-in;
  text-align: left;
}

.dorisan-live-open img {
  display: block;
  width: 100%;
  height: auto;
}

.dorisan-live-open span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.dorisan-live-gallery figcaption { padding: 10px 4px 18px; font-weight: 700; }

.dorisan-live-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dorisan-live-gallery figure { margin: 0; min-width: 0; }

.dorisan-live-dialog {
  width: min(1100px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  padding: 52px 16px 16px;
  border: 1px solid #384152;
  border-radius: 18px;
  color: var(--live-text);
  background: #05070b;
  overflow: auto;
}

.dorisan-live-dialog::backdrop { background: rgba(0,0,0,.88); }
.dorisan-live-dialog img { display: block; max-width: 100%; max-height: calc(100dvh - 150px); margin: auto; }
.dorisan-live-dialog p { margin: 12px 52px 0; text-align: center; }
.dorisan-live-dialog button { min-width: 44px; min-height: 44px; border: 0; border-radius: 999px; color: #fff; background: #252c3a; cursor: pointer; }
.dorisan-live-close { position: absolute; top: 8px; right: 8px; }
.dorisan-live-prev,
.dorisan-live-next { position: absolute; top: 50%; transform: translateY(-50%); }
.dorisan-live-prev { left: 8px; }
.dorisan-live-next { right: 8px; }

.dorisan-live-footer { padding: 26px 16px; text-align: center; background: #020812; }

@media (max-width: 820px) {
  .dorisan-live-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .dorisan-live-shell { width: min(100% - 24px, 1120px); }
  .dorisan-live-teaser-grid,
  .dorisan-live-gallery { grid-template-columns: 1fr; }
  .dorisan-live-actions { flex-direction: column; }
  .dorisan-live-button { width: 100%; }
  .dorisan-live-hero { min-height: 72vh; }
  .dorisan-live-dialog { width: calc(100% - 12px); max-height: calc(100dvh - 12px); }
}

@media (prefers-reduced-motion: reduce) {
  .dorisan-live-button { transition: none; }
}


/* [39/43] SOURCE: css/dorisan_home_live_patch.css */
/* Patch chirurgica Home/Live: layout e CTA, senza overflow globale. */
*, *::before, *::after { box-sizing: border-box; }

.dorisan-phase07-links button,
.dorisan-phase07-content details button {
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
  cursor: pointer;
}

.dorisan-phase07-links button:focus-visible,
.dorisan-phase07-content details button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

.d30-after { padding-block: clamp(28px, 5vw, 56px); }
.d30-after-grid { align-items: start; gap: clamp(18px, 3vw, 34px); }
.d30-manifesto { background: #070d17; }
.d30-manifesto img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 680px;
  object-fit: contain;
}
.d30-socials { gap: 10px; }
.d30-social { min-height: 0; }

.dorisan-live-teaser { background: radial-gradient(circle at 50% 0, #17283b 0, #090b10 58%); }
.dorisan-live-teaser-grid {
  padding: 14px;
  border: 1px solid rgba(232, 75, 95, .24);
  border-radius: 20px;
  background: #050a12;
}
.dorisan-live-teaser-grid img {
  height: clamp(260px, 42vw, 500px);
  aspect-ratio: auto;
  object-fit: contain;
  background: #020812;
}
button.dorisan-live-button { font: inherit; cursor: pointer; }

.dorisan-live-teaser .dorisan-live-actions button.dorisan-live-button {
  color: #f5f7fa !important;
  background: #090b10 !important;
  -webkit-text-fill-color: #f5f7fa;
}

.dorisan-live-page {
  min-width: 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(45, 86, 130, .26), transparent 34rem),
    linear-gradient(180deg, #050913, #0b1019 48%, #07090d);
}
.dorisan-live-hero { background: #020812; }
.dorisan-live-hero > img { object-fit: contain; }
.dorisan-live-top button {
  padding: 0;
  border: 0;
  color: var(--live-text);
  background: transparent;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.dorisan-live-gallery { gap: clamp(14px, 2.5vw, 24px); }
.dorisan-live-gallery figure {
  padding: 10px;
  border: 1px solid rgba(184, 193, 206, .18);
  border-radius: 18px;
  background: linear-gradient(180deg, #151a24, #0b1018);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}
.dorisan-live-open {
  display: grid;
  place-items: center;
  min-height: 280px;
  background: #020812;
}
.dorisan-live-open img {
  width: 100%;
  height: 420px;
  object-fit: contain;
}

@media (max-width: 760px) {
  .dorisan-fix22d-top-buttons {
    top: 46px !important;
    left: 112px !important;
    right: 6px !important;
    max-width: none !important;
    gap: 3px !important;
  }
  .dorisan-fix22d-top-buttons a {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 4px !important;
    font-size: clamp(.54rem, 2.25vw, .68rem) !important;
  }
  .d30-header-inner { padding-right: 0; }
  .d30-logo { position: relative; z-index: 9998; }
  .d30-after { padding-block: 24px; }
  .d30-manifesto img { max-height: 540px; }
  .dorisan-live-shell { padding-block: 40px; }
  .dorisan-live-teaser-grid img { height: min(112vw, 520px); }
  .dorisan-live-open { min-height: 0; }
  .dorisan-live-open img { height: min(118vw, 520px); }
  .dorisan-live-hero { min-height: 0; padding: 14px 12px 0; }
  .dorisan-live-hero > img {
    position: relative;
    inset: auto;
    height: auto;
    max-height: 72vh;
    object-fit: contain;
    background: #020812;
    border-radius: 18px;
  }
  .dorisan-live-hero::after { background: linear-gradient(180deg, transparent 30%, rgba(2,8,18,.92)); }
  .dorisan-live-hero-copy { position: absolute; bottom: 0; padding: 28px 12px; }
}


/* [40/43] SOURCE: css/dorisan_intro_v1.css */
.dorisan-intro{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 44%,#17140e 0,#08090b 38%,#020304 76%);color:#f2d783;opacity:0;visibility:hidden;pointer-events:none;contain:layout paint style;isolation:isolate}
.dorisan-intro.is-active{opacity:1;visibility:visible;pointer-events:auto}
html.dorisan-intro-lock,html.dorisan-intro-lock body{overflow:hidden}
.dorisan-intro__skip{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));min-width:70px;min-height:44px;padding:9px 16px;border:1px solid rgba(226,190,83,.58);border-radius:999px;background:rgba(5,6,8,.72);color:#f4e6b4;font:600 .78rem/1 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0}
.dorisan-intro.is-active .dorisan-intro__skip{animation:dorisan-intro-fade .3s ease .12s forwards}
.dorisan-intro__skip:focus-visible{outline:2px solid #f1d88a;outline-offset:4px}
.dorisan-intro__stage{display:grid;place-items:center;width:min(82vw,430px);transform:translateY(-1vh)}
.dorisan-intro__mark{grid-area:1/1;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 0 18px rgba(198,154,59,.12))}
.dorisan-intro__orbit{fill:none;stroke:url(#dorisan-intro-gold);stroke-width:2;stroke-dasharray:861;stroke-dashoffset:861;opacity:.8;filter:drop-shadow(0 0 8px rgba(226,190,83,.45))}
.dorisan-intro__wolves{transform-origin:200px 200px}
.dorisan-intro__wolf{transform-box:fill-box;transform-origin:center;opacity:0}
.dorisan-intro__wolf--light{fill:url(#dorisan-intro-pearl);filter:drop-shadow(0 0 6px rgba(255,255,255,.2))}
.dorisan-intro__wolf--dark{fill:#050608;stroke:url(#dorisan-intro-gold);stroke-width:2.2;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(214,173,75,.35))}
.dorisan-intro__core{fill:#f1d88a;opacity:0;transform-origin:200px 200px;filter:drop-shadow(0 0 14px #d5ad4d)}
.dorisan-intro__brand{grid-area:1/1;display:grid;gap:7px;text-align:center;opacity:0;transform:translateY(16px)}
.dorisan-intro__brand strong{font:700 clamp(2.2rem,10vw,4.3rem)/.9 Georgia,"Times New Roman",serif;letter-spacing:.12em;background:linear-gradient(105deg,#8b621f 0,#f3dc8e 42%,#fff4c3 50%,#c18e31 67%,#7b541b 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.dorisan-intro.is-active .dorisan-intro__orbit{animation:dorisan-intro-orbit 1.05s cubic-bezier(.55,.05,.3,1) 1s forwards}
.dorisan-intro.is-active .dorisan-intro__wolves{animation:dorisan-intro-unite 1.65s cubic-bezier(.32,.72,.28,1) .08s both}
.dorisan-intro.is-active .dorisan-intro__wolf--light{animation:dorisan-intro-light 1.25s cubic-bezier(.2,.75,.25,1) .08s both}
.dorisan-intro.is-active .dorisan-intro__wolf--dark{animation:dorisan-intro-dark 1.25s cubic-bezier(.2,.75,.25,1) .08s both}
.dorisan-intro.is-active .dorisan-intro__core{animation:dorisan-intro-core .62s ease 1.32s forwards}
.dorisan-intro.is-active .dorisan-intro__brand{animation:dorisan-intro-brand .62s cubic-bezier(.2,.8,.2,1) 1.76s forwards}
.dorisan-intro.is-active .dorisan-intro__brand strong{animation:dorisan-intro-shine .7s ease 2s forwards}
.dorisan-intro__brand span{color:#d8c58e;font:500 clamp(.68rem,2.6vw,.86rem)/1.2 system-ui,sans-serif;letter-spacing:.34em;text-transform:lowercase}
.dorisan-intro.is-closing{opacity:0;transition:opacity .28s ease;pointer-events:none}
@keyframes dorisan-intro-light{0%{opacity:0;transform:translate(-145px,28px) rotate(-34deg) scale(.82)}55%{opacity:1}100%{opacity:1;transform:none}}
@keyframes dorisan-intro-dark{0%{opacity:0;transform:translate(145px,-28px) rotate(-34deg) scale(.82)}55%{opacity:1}100%{opacity:1;transform:none}}
@keyframes dorisan-intro-unite{0%,46%{transform:rotate(-28deg)}100%{transform:rotate(332deg)}}
@keyframes dorisan-intro-orbit{to{stroke-dashoffset:0}}
@keyframes dorisan-intro-core{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(4)}100%{opacity:0;transform:scale(13)}}
@keyframes dorisan-intro-brand{to{opacity:1;transform:translateY(0)}}
@keyframes dorisan-intro-shine{to{background-position:100% 0}}
@keyframes dorisan-intro-fade{to{opacity:1}}
@media(max-width:520px){.dorisan-intro__stage{width:min(90vw,360px)}.dorisan-intro__skip{font-size:.72rem}.dorisan-intro__brand strong{letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){.dorisan-intro *{animation:none!important;transition:none!important}.dorisan-intro__wolves,.dorisan-intro__orbit,.dorisan-intro__core{display:none}.dorisan-intro__brand,.dorisan-intro__skip{opacity:1;transform:none}}


/* [41/43] SOURCE: css/dorisan-greytown-portal-home.css?v=5 */
/* DORISAN_GREYTOWN_HOME_FINAL_V5
   Un solo pulsante GreyTown dentro la topbar, dopo Contatti.
   Mantiene il ridimensionamento attuale della home. */

.dorisan-global-topbar .dorisan-greytown-final-v5{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.38rem !important;
  min-height:inherit !important;
  padding:.42rem .68rem !important;
  margin:0 !important;
  border:1px solid rgba(203,122,255,.88) !important;
  border-radius:999px !important;
  color:#f4ddff !important;
  background:linear-gradient(135deg,rgba(104,34,143,.72),rgba(31,11,45,.88)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 14px rgba(176,72,232,.22) !important;
  font:inherit !important;
  font-size:inherit !important;
  font-weight:800 !important;
  line-height:inherit !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.dorisan-global-topbar .dorisan-greytown-final-v5::before{
  content:'';
  width:.42rem;
  height:.42rem;
  min-width:.42rem;
  border-radius:50%;
  background:#d78fff;
  box-shadow:0 0 8px rgba(215,143,255,.82);
}

.dorisan-global-topbar .dorisan-greytown-final-v5:hover,
.dorisan-global-topbar .dorisan-greytown-final-v5:focus-visible{
  color:#fff !important;
  border-color:#e6baff !important;
  background:linear-gradient(135deg,rgba(134,46,181,.84),rgba(42,14,58,.96)) !important;
  box-shadow:0 0 18px rgba(198,94,247,.36) !important;
  transform:translateY(-1px);
}

/* Nasconde eventuali vecchi tab staccati delle prove precedenti. */
#dorisan-greytown-portal-v4,
#dorisan-greytown-portal-v3,
.dorisan-greytown-detached,
.dorisan-greytown-fixed-tab{
  display:none !important;
}

@media(max-width:700px){
  .dorisan-global-topbar .dorisan-greytown-final-v5{
    padding:.38rem .56rem !important;
    font-size:.92em !important;
  }
}


/* [42/43] SOURCE: css/dorisan-interactive-motion-v3.css?v=3 */
/* DoriSan Interactive V3 — real generated micro-video layer, staging only */
.ds-live-wrap{position:relative!important;overflow:hidden!important;isolation:isolate}
.ds-live-wrap>img{position:relative;z-index:1}
.ds-live-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;pointer-events:none;transition:opacity .45s ease;transform:translateZ(0);background:transparent}
.ds-live-media.is-ready{opacity:1}
.d30-cover.ds-live-wrap .ds-live-media,.dorisan-home-live-grid .ds-live-media,.dorisan-home-live-hero .ds-live-media{border-radius:inherit}
.d30-album{transform-style:preserve-3d;transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}
.d30-album.ds-v3-hover{transform:perspective(900px) rotateX(var(--ds-rx,0deg)) rotateY(var(--ds-ry,0deg)) translateY(-5px) scale(1.012);box-shadow:0 26px 78px rgba(0,0,0,.58)}
.d30-album.ds-v3-hover .ds-live-media{transform:translate3d(var(--ds-tx,0px),var(--ds-ty,0px),18px) scale(1.025)}
[data-dorisan-global-topbar],.d30-header{position:relative;overflow:hidden;isolation:isolate}
[data-dorisan-global-topbar]::before,.d30-header::before{content:"";position:absolute;inset:-40%;pointer-events:none;background:conic-gradient(from 180deg at 50% 50%,transparent,rgba(70,150,255,.12),transparent,rgba(255,58,72,.12),transparent,rgba(242,199,112,.12),transparent);animation:dsV3BarOrbit 14s linear infinite;z-index:0}
[data-dorisan-global-topbar]>* ,.d30-header>*{position:relative;z-index:1}
@keyframes dsV3BarOrbit{to{transform:rotate(360deg)}}
.d30-slogan{position:relative;overflow:hidden}
.d30-slogan::after{content:"";position:absolute;left:-35%;top:0;width:25%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.17),transparent);transform:skewX(-18deg);animation:dsV3SloganSweep 6s ease-in-out infinite;pointer-events:none}
@keyframes dsV3SloganSweep{0%,55%{left:-35%;opacity:0}62%{opacity:1}82%{left:115%;opacity:.7}100%{left:115%;opacity:0}}
.d30-logo.ds-live-wrap{display:inline-flex!important;align-items:center}
.d30-logo .ds-live-media{width:44px;height:44px;inset:auto auto auto 0;border-radius:10px;object-fit:cover}
.ds-v3-loading::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.07) 50%,transparent 58%);animation:dsV3Load 1.8s linear infinite}
@keyframes dsV3Load{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:700px){.d30-album.ds-v3-hover{transform:none}.ds-live-media{transition-duration:.25s}[data-dorisan-global-topbar]::before,.d30-header::before{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.ds-live-media{display:none!important}[data-dorisan-global-topbar]::before,.d30-header::before,.d30-slogan::after{animation:none!important}.d30-album{transform:none!important}}
/* V3.1 generated alternate-frame motion */
.ds-alt-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;pointer-events:none;opacity:0;will-change:opacity,transform,filter;animation:dsAltBreathe 3.6s ease-in-out infinite}
.ds-alt-frame.is-ready{opacity:0;animation-play-state:running}
@keyframes dsAltBreathe{0%,100%{opacity:0;transform:scale(1)}45%,58%{opacity:.9;transform:scale(1.012)}72%{opacity:.28;transform:scale(1.004)}}
[data-ds-alt-mode="heart"] .ds-alt-frame{clip-path:inset(7% 0 13% 0);animation:dsAltHeart 2.2s ease-in-out infinite}
@keyframes dsAltHeart{0%,28%,100%{opacity:0;transform:scale(1)}38%{opacity:.94;transform:scale(1.025)}48%{opacity:.16;transform:scale(1.004)}58%{opacity:.82;transform:scale(1.016)}70%{opacity:0;transform:scale(1)}}
[data-ds-alt-mode="wolves"] .ds-alt-frame{clip-path:inset(4% 0 13% 0);animation-duration:4.2s}
[data-ds-alt-mode="car"] .ds-alt-frame{clip-path:inset(18% 0 5% 0);animation-duration:4.6s}
[data-ds-alt-mode="stars"] .ds-alt-frame{clip-path:inset(5% 0 12% 0);animation-duration:3.8s}
[data-ds-alt-mode="door"] .ds-alt-frame{clip-path:inset(5% 0 9% 0);animation-duration:4.8s}
[data-ds-alt-mode="ritual"] .ds-alt-frame,[data-ds-alt-mode="club"] .ds-alt-frame,[data-ds-alt-mode="ai"] .ds-alt-frame,[data-ds-alt-mode="album"] .ds-alt-frame{clip-path:inset(7% 0 12% 0);animation-duration:3s}
[data-ds-alt-mode="sea"] .ds-alt-frame{clip-path:inset(4% 0 8% 0);animation-duration:5.2s}
[data-ds-alt-mode="live"] .ds-alt-frame{animation-duration:5.5s;opacity:0}
[data-ds-alt-mode="logo"] .ds-alt-frame{animation:dsAltLogo 2.8s ease-in-out infinite;border-radius:10px}
@keyframes dsAltLogo{0%,100%{opacity:0;filter:brightness(1)}50%{opacity:.88;filter:brightness(1.08)}}
[data-ds-alt-mode="epk"] .ds-alt-frame{clip-path:polygon(47% 0,100% 0,100% 100%,47% 100%);animation-duration:4.8s}
[data-ds-alt-mode="poster"] .ds-alt-frame{opacity:0;mix-blend-mode:screen;animation:dsAltPoster 5s ease-in-out infinite}
@keyframes dsAltPoster{0%,100%{opacity:0}50%{opacity:.28}}
.ds-product-motion{will-change:transform,filter;animation:dsProductFloat 5.8s ease-in-out infinite;transform-origin:50% 65%}
@keyframes dsProductFloat{0%,100%{transform:perspective(700px) rotateY(-1deg) translateY(0) scale(1);filter:brightness(1)}50%{transform:perspective(700px) rotateY(1.2deg) translateY(-1.2%) scale(1.012);filter:brightness(1.06)}}
.ds-live-wrap:has(.ds-product-motion)::after{content:"";position:absolute;inset:-25%;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.13) 48%,transparent 58%);animation:dsProductSheen 5.5s linear infinite}
@keyframes dsProductSheen{0%,55%{transform:translateX(-90%)}85%,100%{transform:translateX(90%)}}
@media(prefers-reduced-motion:reduce){.ds-alt-frame,.ds-product-motion{animation:none!important}.ds-alt-frame{display:none!important}}
.d30-logo .ds-alt-frame{width:44px!important;height:44px!important;inset:0 auto auto 0!important;object-fit:cover;border-radius:10px}
.ds-player-cover-motion{animation:dsPlayerCover 4s ease-in-out infinite;transform-origin:center;will-change:transform,filter}
@keyframes dsPlayerCover{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.018);filter:brightness(1.06)}}
.ds-product-wrap{position:relative;overflow:hidden;isolation:isolate}
.ds-product-wrap::after{content:"";position:absolute;inset:-25%;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.13) 48%,transparent 58%);animation:dsProductSheen 5.5s linear infinite}
@media(prefers-reduced-motion:reduce){.ds-player-cover-motion{animation:none!important}.ds-product-wrap::after{display:none!important}}


/* [43/43] SOURCE: css/dorisan-interactive-motion-v5-4.css?v=82 */
/* DoriSan Interactive V5.1 — semantic internal motion; cards/header remain still */
html[data-ds-interactive-v52="ready"] .d30-album,
html[data-ds-interactive-v52="ready"] .d30-album.ds-v3-hover,
html[data-ds-interactive-v52="ready"] .d30-cover,
html[data-ds-interactive-v52="ready"] .d30-cover>img:first-of-type,
html[data-ds-interactive-v52="ready"] .dorisan-global-topbar,
html[data-ds-interactive-v52="ready"] .d30-header,
html[data-ds-interactive-v52="ready"] .d30-logo,
html[data-ds-interactive-v52="ready"] .d30-logo>img{transform:none!important;animation:none!important;filter:none!important}
html[data-ds-interactive-v52="ready"] .d30-album{position:relative;isolation:isolate;overflow:hidden;transition:box-shadow .18s ease!important}
html[data-ds-interactive-v52="ready"] .d30-cover{position:relative;overflow:hidden;isolation:isolate}
html[data-ds-interactive-v52="ready"] .d30-cover>img:first-of-type{position:relative;z-index:1}
html[data-ds-interactive-v52="ready"] .d30-cover::before,
html[data-ds-interactive-v52="ready"] .d30-cover::after,
html[data-ds-interactive-v52="ready"] .ds-alt-frame{animation:none!important;transform:none!important;opacity:0!important}
html[data-ds-interactive-v52="ready"] .ds-live-media{opacity:0!important;animation:none!important;transition:opacity .18s ease!important}
html[data-ds-interactive-v52="ready"] .ds-v52-video-on .ds-live-media{opacity:.96!important}
.ds-v52-clone{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:3!important;pointer-events:none!important;opacity:0;will-change:transform,opacity,filter}
.ds-v52-fx,.ds-v52-weather,.ds-v52-stage{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;will-change:opacity,transform,filter}
.ds-v52-eventfx{z-index:4}.ds-v52-event .ds-v52-eventfx{opacity:1}
@keyframes dsV52Blink{0%,42%,100%{opacity:.18}48%{opacity:.68}56%{opacity:.24}64%{opacity:.52}}
@keyframes dsV52Scan{0%{transform:translateY(-110%)}100%{transform:translateY(110%)}}
@keyframes dsV52Pulse{0%,100%{transform:scale(1);opacity:.3}50%{transform:scale(1.045);opacity:.72}}
@keyframes dsV52Snow{to{transform:translate3d(12px,44px,0)}}
@keyframes dsV52Rain{to{transform:translate3d(-16px,46px,0)}}
@keyframes dsV52Sea{0%,100%{transform:translateY(0);opacity:.18}50%{transform:translateY(.7%);opacity:.34}}
/* DORISAN: people move, artwork/text stay anchored */
[data-ds-v52-mode="kiss"] .ds-v52-kiss-left{clip-path:polygon(19% 22%,49% 22%,51% 76%,18% 78%)}
[data-ds-v52-mode="kiss"] .ds-v52-kiss-right{clip-path:polygon(46% 18%,79% 20%,82% 77%,49% 76%)}
[data-ds-v52-mode="kiss"].ds-v52-event .ds-v52-kiss-left{opacity:.96;animation:dsV52KissL 2.15s ease-in-out 1}
[data-ds-v52-mode="kiss"].ds-v52-event .ds-v52-kiss-right{opacity:.96;animation:dsV52KissR 2.15s ease-in-out 1}
@keyframes dsV52KissL{0%{transform:translateX(-1.5%) rotate(-.15deg)}42%,68%{transform:translateX(.8%) rotate(.1deg)}100%{transform:none}}
@keyframes dsV52KissR{0%{transform:translateX(1.5%) rotate(.15deg)}42%,68%{transform:translateX(-.8%) rotate(-.1deg)}100%{transform:none}}
[data-ds-v52-mode="kiss"] .ds-v52-ambient{opacity:.2;background:radial-gradient(circle at 12% 18%,rgba(255,30,55,.32),transparent 16%),radial-gradient(circle at 86% 25%,rgba(50,110,255,.28),transparent 17%);animation:dsV52Blink 5.4s ease-in-out infinite}
/* DORISAN 2: one visible wolf + foreground silhouette + lightning */
[data-ds-v52-mode="wolf-single"] .ds-v52-wolf-single{clip-path:polygon(34% 14%,83% 10%,88% 73%,31% 75%)}
[data-ds-v52-mode="wolf-single"].ds-v52-event .ds-v52-wolf-single{opacity:.95;animation:dsV52WolfSingle 2s ease-in-out 1}
@keyframes dsV52WolfSingle{0%,100%{transform:none}38%,68%{transform:translateY(-1.5%) rotate(-.3deg)}}
[data-ds-v52-mode="wolf-single"] .ds-v52-ambient{opacity:.2;background:linear-gradient(112deg,transparent 28%,rgba(130,190,255,.5) 31%,transparent 34% 58%,rgba(255,255,255,.48) 60%,transparent 62%);animation:dsV52Blink 6.5s steps(2,end) infinite}
/* DORISAN E AI: two wolves, eyes/circuits/orb */
[data-ds-v52-mode="ai-wolves"] .ds-v52-ai-left{clip-path:polygon(0 6%,49% 4%,50% 79%,0 82%)}
[data-ds-v52-mode="ai-wolves"] .ds-v52-ai-right{clip-path:polygon(50% 4%,100% 5%,100% 82%,51% 79%)}
[data-ds-v52-mode="ai-wolves"].ds-v52-event .ds-v52-ai-left{opacity:.92;animation:dsV52AiL 2s ease-in-out 1}
[data-ds-v52-mode="ai-wolves"].ds-v52-event .ds-v52-ai-right{opacity:.92;animation:dsV52AiR 2s ease-in-out 1}
@keyframes dsV52AiL{45%,70%{transform:translateX(.55%) scale(1.006);filter:brightness(1.15)}}
@keyframes dsV52AiR{45%,70%{transform:translateX(-.55%) scale(1.006);filter:brightness(1.15)}}
[data-ds-v52-mode="ai-wolves"] .ds-v52-ambient{opacity:.34;background:radial-gradient(circle at 50% 16%,rgba(135,80,255,.45),transparent 10%),radial-gradient(circle at 25% 34%,rgba(60,155,255,.28),transparent 8%),radial-gradient(circle at 75% 34%,rgba(180,55,255,.28),transparent 8%);animation:dsV52Pulse 4.5s ease-in-out infinite}
[data-ds-v52-mode="ai-wolves"] .ds-v52-eventfx{inset:4% 0 17% 0;background:radial-gradient(circle at 25% 35%,rgba(80,200,255,.78) 0 1.8%,rgba(80,200,255,.26) 3.8%,transparent 8%),radial-gradient(circle at 75% 35%,rgba(255,108,45,.76) 0 1.8%,rgba(180,70,255,.28) 4%,transparent 8%),radial-gradient(circle at 50% 8%,rgba(170,95,255,.62),transparent 12%),linear-gradient(180deg,transparent 0 12%,rgba(90,190,255,.34) 49%,transparent 57%);animation:dsV52AiEvent 1.8s ease-in-out 1}
@keyframes dsV52AiEvent{0%{opacity:0;filter:brightness(1)}35%,68%{opacity:1;filter:brightness(1.35)}100%{opacity:0;filter:brightness(1)}}
/* ELETTRO DORISAN: central D discharge, wolves/skyline remain anchored */
[data-ds-v52-mode="electro"] .ds-v52-ambient{opacity:.3;background:radial-gradient(circle at 50% 45%,rgba(112,84,255,.44),transparent 18%),radial-gradient(circle at 18% 39%,rgba(255,35,65,.18),transparent 10%),radial-gradient(circle at 82% 39%,rgba(70,145,255,.22),transparent 10%);animation:dsV52Pulse 4.2s ease-in-out infinite}
[data-ds-v52-mode="electro"] .ds-v52-eventfx{background:conic-gradient(from 20deg at 50% 46%,transparent 0 14%,rgba(130,85,255,.42) 17%,transparent 20% 47%,rgba(65,155,255,.38) 50%,transparent 54%);animation:dsV52Electro 1.1s linear 2}
@keyframes dsV52Electro{to{transform:rotate(360deg)}}
/* ARS POPULI: central techno bust scan + side wolf eye energy */
[data-ds-v52-mode="ars"] .ds-v52-ambient{opacity:.27;background:radial-gradient(circle at 50% 29%,rgba(70,165,255,.38),transparent 18%),radial-gradient(circle at 18% 54%,rgba(42,125,255,.22),transparent 10%),radial-gradient(circle at 82% 54%,rgba(42,125,255,.22),transparent 10%);animation:dsV52Blink 5.2s ease-in-out infinite}
[data-ds-v52-mode="ars"] .ds-v52-eventfx{left:28%;right:28%;top:10%;bottom:33%;background:linear-gradient(180deg,transparent 0 12%,rgba(65,190,255,.5) 48%,transparent 55%);animation:dsV52Scan 1.8s linear 1}
/* Remix DoriSan: console/equalizer/laser beat */
[data-ds-v52-mode="remix"] .ds-v52-ambient{opacity:.3;background:repeating-linear-gradient(90deg,rgba(255,35,60,.18) 0 4px,transparent 4px 16px,rgba(45,145,255,.18) 16px 21px,transparent 21px 33px);clip-path:polygon(0 46%,100% 46%,100% 100%,0 100%);animation:dsV52Equalizer 2.2s ease-in-out infinite;transform-origin:bottom}
@keyframes dsV52Equalizer{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}
[data-ds-v52-mode="remix"] .ds-v52-eventfx{background:linear-gradient(112deg,transparent 15%,rgba(255,48,76,.45) 18%,transparent 21% 49%,rgba(55,155,255,.45) 52%,transparent 55%);animation:dsV52Laser .8s ease-out 2}
@keyframes dsV52Laser{0%{transform:translateX(-12%);opacity:0}35%{opacity:1}100%{transform:translateX(12%);opacity:0}}
/* Cuore sotto la neve: continuous snow + real double heartbeat */
[data-ds-v52-mode="heart"] .ds-v52-weather{opacity:.46;inset:-10%;background-image:radial-gradient(circle,rgba(255,255,255,.92) 0 1px,transparent 1.8px);background-size:25px 31px;animation:dsV52Snow 6s linear infinite}
[data-ds-v52-mode="heart"] .ds-v52-heart{clip-path:circle(23% at 51% 46%)}
[data-ds-v52-mode="heart"].ds-v52-event .ds-v52-heart{opacity:.96;animation:dsV52Heartbeat 1.65s ease-in-out 1;filter:brightness(1.18) saturate(1.16)}
@keyframes dsV52Heartbeat{0%,24%,55%,100%{transform:scale(1)}32%{transform:scale(1.05)}42%{transform:scale(1.012)}64%{transform:scale(1.04)}74%{transform:scale(1.01)}}
/* Branco di notte: pack only lifts together; title remains fixed */
[data-ds-v52-mode="pack"] .ds-v52-pack{clip-path:polygon(3% 48%,97% 48%,97% 81%,3% 81%)}
[data-ds-v52-mode="pack"].ds-v52-event .ds-v52-pack{opacity:.94;animation:dsV52PackHowl 2.05s ease-in-out 1}
@keyframes dsV52PackHowl{0%,100%{transform:none}38%,72%{transform:translateY(-1.65%) scale(1.008)}}
[data-ds-v52-mode="pack"] .ds-v52-ambient{opacity:.24;background:radial-gradient(circle at 48% 26%,rgba(210,225,255,.36),transparent 17%);animation:dsV52Pulse 6s ease-in-out infinite}
/* Electro Ritual Bounce: side speakers + center ritual energy */
[data-ds-v52-mode="ritual"] .ds-v52-ambient{opacity:.28;background:radial-gradient(circle at 11% 57%,rgba(255,35,65,.34),transparent 10%),radial-gradient(circle at 89% 57%,rgba(55,125,255,.36),transparent 10%),radial-gradient(circle at 50% 54%,rgba(80,145,255,.25),transparent 18%);animation:dsV52Pulse 2.7s ease-in-out infinite}
[data-ds-v52-mode="ritual"] .ds-v52-eventfx{background:conic-gradient(from 0deg at 50% 58%,transparent,rgba(255,48,80,.25),transparent,rgba(65,140,255,.3),transparent);animation:dsV52Electro 1.05s linear 2}
/* Lamborghini: headlights/reflections/steam only */
[data-ds-v52-mode="car"] .ds-v52-ambient{opacity:.22;background:linear-gradient(180deg,transparent 0 46%,rgba(170,205,255,.08) 55%,transparent 66%),radial-gradient(circle at 43% 61%,rgba(255,225,165,.22),transparent 8%),radial-gradient(circle at 62% 57%,rgba(255,225,165,.2),transparent 8%);animation:dsV52Blink 5.8s ease-in-out infinite}
[data-ds-v52-mode="car"] .ds-v52-car{clip-path:polygon(13% 31%,91% 31%,93% 79%,10% 83%)}
[data-ds-v52-mode="car"].ds-v52-event .ds-v52-car{opacity:.94;animation:dsV52Car 1.75s ease-in-out 1}
@keyframes dsV52Car{0%,100%{transform:none}42%,68%{transform:translateY(-.55%) rotate(-.08deg)}}
[data-ds-v52-mode="car"] .ds-v52-eventfx{background:radial-gradient(circle at 43% 62%,rgba(255,235,185,.8),transparent 7%),radial-gradient(circle at 61% 58%,rgba(255,235,185,.72),transparent 7%),linear-gradient(180deg,transparent 55%,rgba(180,205,255,.12) 74%,transparent 90%)}
/* Il peso sopra al cuore: rain/flags/front figure + wolf gaze */
[data-ds-v52-mode="weight"] .ds-v52-weather{opacity:.22;inset:-12%;background:repeating-linear-gradient(112deg,transparent 0 17px,rgba(190,220,255,.22) 18px 19px,transparent 20px 31px);animation:dsV52Rain 1.25s linear infinite}
[data-ds-v52-mode="weight"] .ds-v52-ambient{opacity:.28;background:radial-gradient(circle at 45% 18%,rgba(255,35,35,.3),transparent 6%),radial-gradient(circle at 56% 18%,rgba(255,35,35,.3),transparent 6%);animation:dsV52Blink 4.6s ease-in-out infinite}
[data-ds-v52-mode="weight"] .ds-v52-weight{clip-path:polygon(24% 40%,74% 40%,79% 85%,20% 86%)}
[data-ds-v52-mode="weight"].ds-v52-event .ds-v52-weight{opacity:.92;animation:dsV52Weight 1.9s ease-in-out 1}
@keyframes dsV52Weight{0%,100%{transform:none}45%,70%{transform:translateY(-.8%) scale(1.004)}}
/* Figli di una stella: star/beam/sky only; never door motion */
[data-ds-v52-mode="stars"] .ds-v52-ambient{opacity:.28;background:radial-gradient(circle at 50% 24%,rgba(255,224,130,.52),transparent 10%),radial-gradient(circle at 50% 24%,rgba(255,255,255,.25),transparent 22%);animation:dsV52Pulse 5.1s ease-in-out infinite}
[data-ds-v52-mode="stars"] .ds-v52-eventfx{left:35%;right:35%;top:18%;bottom:26%;background:linear-gradient(180deg,rgba(255,236,170,.65),rgba(255,216,100,.18) 48%,transparent 100%);clip-path:polygon(47% 0,53% 0,76% 100%,24% 100%);filter:blur(2px)}
/* Manuale per essere umani: open only the physical doors; protect top/bottom typography */
[data-ds-v52-mode="door"] .ds-v52-stage{left:21%;right:21%;top:22%;bottom:26%;opacity:0;background:radial-gradient(ellipse at 50% 44%,rgba(255,248,220,.98) 0 12%,rgba(255,205,105,.92) 28%,rgba(255,167,52,.58) 52%,rgba(30,18,7,.12) 82%,transparent 100%);box-shadow:0 0 34px rgba(255,193,76,.5) inset,0 0 28px rgba(255,193,76,.35);transition:opacity .28s ease}
[data-ds-v52-mode="door"] .ds-v52-door-left{clip-path:polygon(18% 23%,49% 23%,49% 73%,18% 73%)}
[data-ds-v52-mode="door"] .ds-v52-door-right{clip-path:polygon(51% 23%,82% 23%,82% 73%,51% 73%)}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-stage{opacity:1}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-left{opacity:1;animation:dsV52DoorL 2.2s cubic-bezier(.2,.75,.2,1) 1}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-right{opacity:1;animation:dsV52DoorR 2.2s cubic-bezier(.2,.75,.2,1) 1}
@keyframes dsV52DoorL{0%,100%{transform:none}42%,70%{transform:translateX(-7.5%) perspective(700px) rotateY(-7deg)}}
@keyframes dsV52DoorR{0%,100%{transform:none}42%,70%{transform:translateX(7.5%) perspective(700px) rotateY(7deg)}}
[data-ds-v52-mode="door"] .ds-v52-eventfx{left:39%;right:39%;top:27%;bottom:27%;background:linear-gradient(180deg,rgba(255,255,240,.86),rgba(255,215,120,.46) 48%,rgba(255,178,65,.18) 78%,transparent);filter:blur(5px)}
/* Remix Doris: portal/equalizer + DJ silhouette */
[data-ds-v52-mode="remix-doris"] .ds-v52-ambient{opacity:.3;background:radial-gradient(circle at 52% 39%,rgba(150,70,255,.34),transparent 19%),repeating-linear-gradient(90deg,rgba(150,65,255,.12) 0 4px,transparent 4px 15px,rgba(65,145,255,.12) 15px 19px,transparent 19px 31px);clip-path:polygon(0 20%,100% 20%,100% 87%,0 87%);animation:dsV52Pulse 4.2s ease-in-out infinite}
[data-ds-v52-mode="remix-doris"] .ds-v52-dj{clip-path:polygon(34% 23%,72% 23%,76% 80%,30% 80%)}
[data-ds-v52-mode="remix-doris"].ds-v52-event .ds-v52-dj{opacity:.93;animation:dsV52DJ 1.85s ease-in-out 1}
@keyframes dsV52DJ{0%,100%{transform:none}40%,70%{transform:translateY(-.6%) rotate(.15deg)}}
[data-ds-v52-mode="remix-doris"] .ds-v52-eventfx{background:radial-gradient(circle at 52% 39%,transparent 0 16%,rgba(180,95,255,.55) 20%,transparent 25%),linear-gradient(105deg,transparent 28%,rgba(120,75,255,.28) 31%,transparent 34% 60%,rgba(60,150,255,.26) 63%,transparent 66%)}
/* Ibiza / Branco all'alba: sea/reflections continuous, both wolves lift together */
[data-ds-v52-mode="ibiza"] .ds-v52-weather{opacity:.25;clip-path:polygon(0 42%,100% 42%,100% 100%,0 100%);background:repeating-linear-gradient(0deg,rgba(255,200,125,.08) 0 4px,transparent 4px 18px);animation:dsV52Sea 5.6s ease-in-out infinite}
[data-ds-v52-mode="ibiza"] .ds-v52-ibiza-wolves{clip-path:polygon(31% 58%,68% 58%,71% 89%,28% 89%)}
[data-ds-v52-mode="ibiza"].ds-v52-event .ds-v52-ibiza-wolves{opacity:.94;animation:dsV52IbizaHowl 2.05s ease-in-out 1}
@keyframes dsV52IbizaHowl{0%,100%{transform:none}40%,72%{transform:translateY(-1.4%) scale(1.006)}}
[data-ds-v52-mode="ibiza"] .ds-v52-ambient{opacity:.24;background:radial-gradient(circle at 50% 42%,rgba(255,180,70,.28),transparent 16%);animation:dsV52Pulse 6.2s ease-in-out infinite}
/* Static chrome: no structural movement */
html[data-ds-interactive-v52="ready"] .dorisan-global-topbar{animation:none!important;transform:none!important;box-shadow:0 12px 36px rgba(0,0,0,.42)!important}
html[data-ds-interactive-v52="ready"] .dorisan-global-topbar::before{animation:none!important;transform:none!important;opacity:.08!important}
html[data-ds-interactive-v52="ready"] .dorisan-global-topbar::after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;border:1px solid rgba(231,182,93,.12);opacity:.18;animation:dsV52TopDetail 13s ease-in-out infinite}
@keyframes dsV52TopDetail{0%,84%,100%{opacity:.12}90%{opacity:.32}95%{opacity:.16}}
html[data-ds-interactive-v52="ready"] .d30-header::before{animation:none!important;opacity:.04!important}
html[data-ds-interactive-v52="ready"] .dorisan-home-hero-bg{animation:none!important;transform:none!important;background-size:cover!important;background-position:center!important}
html[data-ds-interactive-v52="ready"] .dorisan-home-hero-bg::before{content:"";position:absolute;inset:0;pointer-events:none;transform:none!important;opacity:.12;background:radial-gradient(circle at 23% 44%,rgba(255,42,66,.22),transparent 26%),radial-gradient(circle at 78% 42%,rgba(56,118,255,.2),transparent 27%);animation:dsV52HeroLight 10s ease-in-out infinite!important}
html[data-ds-interactive-v52="ready"] .dorisan-home-hero-bg::after{display:none!important}
@keyframes dsV52HeroLight{0%,100%{opacity:.09}50%{opacity:.19}}
/* V3 hover/float neutralization */
html[data-ds-interactive-v52="ready"] .d30-album.ds-v3-hover{transform:none!important;box-shadow:inherit!important}
html[data-ds-interactive-v52="ready"] .d30-album.ds-v3-hover .ds-live-media{transform:none!important}
html[data-ds-interactive-v52="ready"] .ds-product-motion{animation:none!important;transform:none!important;filter:none!important}
html[data-ds-interactive-v52="ready"] .ds-product-wrap::after{display:none!important}
@media(max-width:700px){.ds-v52-clone{transition:none}.dorisan-global-topbar::after{opacity:.14}}
@media(prefers-reduced-motion:reduce){.ds-v52-clone,.ds-v52-fx,.ds-v52-weather,.ds-v52-stage,.dorisan-global-topbar::after,.dorisan-home-hero-bg::before{animation:none!important;transition:none!important}.ds-v52-eventfx,.ds-v52-clone{display:none!important}}

/* V5.2 layout recovery: mobile cards compact; no whole-card motion. */
html[data-ds-interactive-v52="ready"] .d30-album,
html[data-ds-interactive-v52="ready"] .d30-cover,
html[data-ds-interactive-v52="ready"] .d30-album-info{transform:none!important;animation:none!important}
html[data-ds-interactive-v52="ready"] .d30-cover{contain:layout paint;overflow:hidden!important}
html[data-ds-interactive-v52="ready"] .ds-live-media{display:none!important}
@media(max-width:560px){
  /* Mobile restored to the original one-card-per-row reading order. */
  html[data-ds-interactive-v52="ready"] .d30-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  html[data-ds-interactive-v52="ready"] .d30-album{min-width:0!important;width:100%!important}
  html[data-ds-interactive-v52="ready"] .d30-cover{aspect-ratio:1/1!important;width:100%!important;height:auto!important}
  html[data-ds-interactive-v52="ready"] .d30-cover>img:first-of-type{width:100%!important;height:100%!important;object-fit:cover!important}
}

/* V5.2 stronger semantic events, still confined inside artwork. */
[data-ds-v52-mode="kiss"] .ds-v52-ambient{opacity:.24!important}
[data-ds-v52-mode="kiss"].ds-v52-event .ds-v52-kiss-left{animation:dsV52KissL2 2.3s ease-in-out 1!important}
[data-ds-v52-mode="kiss"].ds-v52-event .ds-v52-kiss-right{animation:dsV52KissR2 2.3s ease-in-out 1!important}
@keyframes dsV52KissL2{0%,100%{transform:none}42%,72%{transform:translateX(2.1%) translateY(-.25%) rotate(.18deg)}}
@keyframes dsV52KissR2{0%,100%{transform:none}42%,72%{transform:translateX(-2.1%) translateY(-.25%) rotate(-.18deg)}}
[data-ds-v52-mode="wolf-single"].ds-v52-event .ds-v52-wolf-single{animation:dsV52Wolf2 2.15s ease-in-out 1!important}
@keyframes dsV52Wolf2{0%,100%{transform:none}38%,72%{transform:translateY(-2.2%) rotate(-.7deg) scale(1.012)}}
[data-ds-v52-mode="ai-wolves"] .ds-v52-ambient{opacity:.46!important;filter:saturate(1.25)}
[data-ds-v52-mode="ai-wolves"].ds-v52-event .ds-v52-ai-left{animation:dsV52AiL2 2.2s ease-in-out 1!important}
[data-ds-v52-mode="ai-wolves"].ds-v52-event .ds-v52-ai-right{animation:dsV52AiR2 2.2s ease-in-out 1!important}
@keyframes dsV52AiL2{0%,100%{transform:none;filter:none}40%,72%{transform:translateX(1.1%) translateY(-.6%) scale(1.012);filter:brightness(1.25) saturate(1.3)}}
@keyframes dsV52AiR2{0%,100%{transform:none;filter:none}40%,72%{transform:translateX(-1.1%) translateY(-.6%) scale(1.012);filter:brightness(1.25) saturate(1.3)}}
[data-ds-v52-mode="electro"].ds-v52-event .ds-v52-eventfx{opacity:1!important;filter:brightness(1.35) saturate(1.35)}
[data-ds-v52-mode="ars"].ds-v52-event .ds-v52-eventfx{opacity:1!important;filter:brightness(1.4)}
[data-ds-v52-mode="remix"].ds-v52-event .ds-v52-eventfx{opacity:1!important;filter:saturate(1.35) brightness(1.25)}
[data-ds-v52-mode="heart"] .ds-v52-weather{opacity:.56!important}
[data-ds-v52-mode="heart"].ds-v52-event .ds-v52-heart{animation:dsV52Heartbeat2 1.8s ease-in-out 1!important}
@keyframes dsV52Heartbeat2{0%,22%,55%,100%{transform:scale(1)}30%{transform:scale(1.075)}42%{transform:scale(1.014)}65%{transform:scale(1.058)}76%{transform:scale(1.01)}}
[data-ds-v52-mode="pack"].ds-v52-event .ds-v52-pack{animation:dsV52Pack2 2.2s ease-in-out 1!important}
@keyframes dsV52Pack2{0%,100%{transform:none}38%,72%{transform:translateY(-2.3%) scale(1.015)}}
[data-ds-v52-mode="ritual"].ds-v52-event .ds-v52-eventfx{opacity:1!important;filter:brightness(1.35) saturate(1.35)}
[data-ds-v52-mode="car"].ds-v52-event .ds-v52-car{animation:dsV52Car2 1.9s ease-in-out 1!important}
@keyframes dsV52Car2{0%,100%{transform:none}42%,70%{transform:translateY(-1.2%) scale(1.012)}}
[data-ds-v52-mode="weight"] .ds-v52-weather{opacity:.34!important}
[data-ds-v52-mode="weight"].ds-v52-event .ds-v52-weight{animation:dsV52Weight2 2s ease-in-out 1!important}
@keyframes dsV52Weight2{0%,100%{transform:none}45%,70%{transform:translateY(-1.4%) scale(1.009)}}
[data-ds-v52-mode="stars"].ds-v52-event .ds-v52-eventfx{opacity:1!important;filter:brightness(1.5) drop-shadow(0 0 12px rgba(255,215,110,.8))}
[data-ds-v52-mode="door"] .ds-v52-stage{left:20%!important;right:20%!important;top:23%!important;bottom:25%!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-stage{opacity:1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-left{animation:dsV52DoorL2 2.5s cubic-bezier(.2,.75,.2,1) 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-right{animation:dsV52DoorR2 2.5s cubic-bezier(.2,.75,.2,1) 1!important}
@keyframes dsV52DoorL2{0%,100%{transform:none}42%,72%{transform:translateX(-12%) perspective(650px) rotateY(-11deg)}}
@keyframes dsV52DoorR2{0%,100%{transform:none}42%,72%{transform:translateX(12%) perspective(650px) rotateY(11deg)}}
[data-ds-v52-mode="door"] .ds-v52-eventfx{opacity:0!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-eventfx{opacity:1!important;filter:blur(4px) brightness(1.45)}
[data-ds-v52-mode="remix-doris"].ds-v52-event .ds-v52-dj{animation:dsV52DJ2 2s ease-in-out 1!important}
@keyframes dsV52DJ2{0%,100%{transform:none}40%,70%{transform:translateY(-1.1%) rotate(.35deg) scale(1.008)}}
[data-ds-v52-mode="ibiza"].ds-v52-event .ds-v52-ibiza-wolves{animation:dsV52Ibiza2 2.2s ease-in-out 1!important}
@keyframes dsV52Ibiza2{0%,100%{transform:none}40%,72%{transform:translateY(-2%) scale(1.012)}}

/* V5.2 QA reinforcement — only semantic areas, no card movement */
[data-ds-v52-mode="remix"] .ds-v52-eventfx{
  opacity:0;
  background:
    radial-gradient(ellipse at 50% 62%,rgba(255,45,75,.38),transparent 28%),
    radial-gradient(ellipse at 72% 58%,rgba(45,150,255,.34),transparent 24%),
    repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,70,100,.28) 9px 12px,transparent 13px 22px,rgba(70,150,255,.26) 23px 27px,transparent 28px 38px);
  clip-path:polygon(0 35%,100% 35%,100% 100%,0 100%);
}
[data-ds-v52-mode="remix"].ds-v52-event .ds-v52-eventfx{opacity:1!important;animation:dsV52RemixHold 2.2s ease-in-out 1!important}
@keyframes dsV52RemixHold{0%,100%{filter:brightness(1);transform:scaleY(.72)}35%,75%{filter:brightness(1.45) saturate(1.4);transform:scaleY(1)}}

[data-ds-v52-mode="weight"] .ds-v52-eventfx{
  background:radial-gradient(circle at 29% 22%,rgba(255,40,55,.42),transparent 12%),radial-gradient(circle at 69% 22%,rgba(65,130,255,.34),transparent 12%),linear-gradient(180deg,transparent 48%,rgba(255,255,255,.08),transparent 78%);
}
[data-ds-v52-mode="weight"].ds-v52-event .ds-v52-eventfx{opacity:1!important;animation:dsV52WeightFlash 1.9s ease-in-out 1!important}
[data-ds-v52-mode="weight"].ds-v52-event .ds-v52-weight{opacity:1!important;filter:brightness(1.16) contrast(1.06)!important;animation:dsV52Weight3 2s ease-in-out 1!important}
@keyframes dsV52WeightFlash{0%,100%{opacity:.1}35%,72%{opacity:1}}
@keyframes dsV52Weight3{0%,100%{transform:none}42%,72%{transform:translateY(-2.1%) scale(1.016)}}

[data-ds-v52-mode="stars"] .ds-v52-eventfx{
  left:24%!important;right:24%!important;top:10%!important;bottom:18%!important;
  background:radial-gradient(circle at 50% 18%,rgba(255,255,235,.98) 0 5%,rgba(255,221,118,.7) 12%,transparent 23%),linear-gradient(180deg,rgba(255,246,205,.75),rgba(255,213,105,.34) 48%,transparent 100%)!important;
  clip-path:polygon(42% 0,58% 0,82% 100%,18% 100%)!important;
}
[data-ds-v52-mode="stars"].ds-v52-event .ds-v52-eventfx{opacity:1!important;animation:dsV52StarBeam 2.1s ease-in-out 1!important}
@keyframes dsV52StarBeam{0%,100%{opacity:.15;filter:brightness(1)}35%,75%{opacity:1;filter:brightness(1.65) drop-shadow(0 0 16px rgba(255,214,95,.85))}}

[data-ds-v52-mode="door"] .ds-v52-stage{
  left:18%!important;right:18%!important;top:22%!important;bottom:24%!important;
  background:radial-gradient(ellipse at 50% 48%,rgba(255,255,245,1) 0 13%,rgba(255,223,145,.96) 28%,rgba(255,174,62,.7) 52%,rgba(48,22,4,.08) 78%,transparent 100%)!important;
  box-shadow:0 0 42px rgba(255,202,95,.72) inset,0 0 28px rgba(255,195,77,.48)!important;
}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-stage{opacity:1!important;animation:dsV52DoorLight 2.5s ease-in-out 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-left{opacity:1!important;filter:brightness(1.08)!important;animation:dsV52DoorL3 2.5s cubic-bezier(.2,.75,.2,1) 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-right{opacity:1!important;filter:brightness(1.08)!important;animation:dsV52DoorR3 2.5s cubic-bezier(.2,.75,.2,1) 1!important}
@keyframes dsV52DoorLight{0%,100%{opacity:.05}34%,76%{opacity:1}}
@keyframes dsV52DoorL3{0%,100%{transform:none}40%,74%{transform:translateX(-15%) perspective(600px) rotateY(-13deg)}}
@keyframes dsV52DoorR3{0%,100%{transform:none}40%,74%{transform:translateX(15%) perspective(600px) rotateY(13deg)}}

[data-ds-v52-mode="ibiza"] .ds-v52-eventfx{
  background:radial-gradient(circle at 50% 38%,rgba(255,194,92,.5),transparent 18%),linear-gradient(180deg,transparent 42%,rgba(255,190,105,.2) 58%,rgba(65,130,210,.16) 78%,transparent 100%);
}
[data-ds-v52-mode="ibiza"].ds-v52-event .ds-v52-eventfx{opacity:1!important;animation:dsV52IbizaGlow 2.2s ease-in-out 1!important}
[data-ds-v52-mode="ibiza"].ds-v52-event .ds-v52-ibiza-wolves{opacity:1!important;filter:brightness(1.12)!important;animation:dsV52Ibiza3 2.2s ease-in-out 1!important}
@keyframes dsV52IbizaGlow{0%,100%{opacity:.12}35%,75%{opacity:1}}
@keyframes dsV52Ibiza3{0%,100%{transform:none}40%,74%{transform:translateY(-3.1%) scale(1.02)}}

/* V5.2 mobile presentation lock — one large card per row, restored. */
@media (max-width: 560px){
  html body .d30-grid,
  html[data-ds-interactive-v52="ready"] body .d30-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  html body .d30-album,
  html[data-ds-interactive-v52="ready"] body .d30-album{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  html body .d30-cover,
  html[data-ds-interactive-v52="ready"] body .d30-cover{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
  }
}

/* V5.3 FLUIDITY PATCH — semantic layers only; cards/header/hero stay still. */
html[data-ds-interactive-v53="ready"] .d30-album,
html[data-ds-interactive-v53="ready"] .d30-cover,
html[data-ds-interactive-v53="ready"] .d30-album-info,
html[data-ds-interactive-v53="ready"] .dorisan-global-topbar,
html[data-ds-interactive-v53="ready"] .dorisan-home-hero-bg{transform:none!important;animation:none!important}

/* Smooth all strong events; no snapping, no whole-card movement. */
html[data-ds-interactive-v53="ready"] .ds-v52-event .ds-v52-clone,
html[data-ds-interactive-v53="ready"] .ds-v52-event .ds-v52-eventfx,
html[data-ds-interactive-v53="ready"] .ds-v52-event .ds-v52-stage{
  animation-duration:2.9s!important;
  animation-timing-function:cubic-bezier(.4,0,.2,1)!important;
  animation-fill-mode:both!important;
  will-change:transform,opacity,filter;
}

/* Manuale per essere umani: light replaces the original doorway area, doors open above it,
   and a protected person layer remains intact above both panels. */
[data-ds-v52-mode="door"] .ds-v52-stage{
  z-index:2!important;
  left:17%!important;right:17%!important;top:22%!important;bottom:23%!important;
  opacity:0;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(255,255,248,1) 0 12%,rgba(255,230,158,.98) 25%,rgba(255,181,70,.82) 48%,rgba(90,45,8,.35) 72%,rgba(8,8,8,.15) 100%)!important;
  box-shadow:0 0 54px rgba(255,208,112,.86) inset,0 0 42px rgba(255,184,64,.62)!important;
}
[data-ds-v52-mode="door"] .ds-v52-door-left{
  z-index:3!important;
  clip-path:polygon(17% 23%,47.2% 23%,47.2% 73%,17% 73%)!important;
  transform-origin:47.2% 49%!important;
}
[data-ds-v52-mode="door"] .ds-v52-door-right{
  z-index:3!important;
  clip-path:polygon(52.8% 23%,83% 23%,83% 73%,52.8% 73%)!important;
  transform-origin:52.8% 49%!important;
}
[data-ds-v52-mode="door"] .ds-v53-door-person{
  z-index:5!important;
  opacity:0!important;
  clip-path:polygon(45.8% 56%,54.5% 56%,55.5% 77%,44.7% 77%)!important;
  filter:brightness(1.07) contrast(1.04);
  transform-origin:50% 72%!important;
}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-stage{opacity:1!important;animation:dsV53DoorLight 3.25s cubic-bezier(.4,0,.2,1) 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-left{opacity:1!important;animation:dsV53DoorL 3.25s cubic-bezier(.4,0,.2,1) 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-door-right{opacity:1!important;animation:dsV53DoorR 3.25s cubic-bezier(.4,0,.2,1) 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v53-door-person{opacity:1!important;animation:dsV53Person 3.25s cubic-bezier(.4,0,.2,1) 1!important}
[data-ds-v52-mode="door"].ds-v52-event .ds-v52-eventfx{opacity:.88!important;animation:dsV53DoorRay 3.25s ease-in-out 1!important}

@keyframes dsV53DoorL{
  0%,12%{transform:perspective(720px) rotateY(0) translateX(0)}
  42%,70%{transform:perspective(720px) rotateY(-20deg) translateX(-10%)}
  88%{transform:perspective(720px) rotateY(-5deg) translateX(-2.5%)}
  100%{transform:perspective(720px) rotateY(0) translateX(0)}
}
@keyframes dsV53DoorR{
  0%,12%{transform:perspective(720px) rotateY(0) translateX(0)}
  42%,70%{transform:perspective(720px) rotateY(20deg) translateX(10%)}
  88%{transform:perspective(720px) rotateY(5deg) translateX(2.5%)}
  100%{transform:perspective(720px) rotateY(0) translateX(0)}
}
@keyframes dsV53DoorLight{0%,10%,100%{opacity:.04;filter:brightness(.9)}42%,72%{opacity:1;filter:brightness(1.22)}88%{opacity:.35;filter:brightness(1)}}
@keyframes dsV53Person{0%,12%,100%{transform:none;filter:brightness(1.03)}42%,70%{transform:translateY(-1.1%) scale(1.012);filter:brightness(1.14)}88%{transform:translateY(-.3%) scale(1.003);filter:brightness(1.06)}}
@keyframes dsV53DoorRay{0%,12%,100%{opacity:.05}42%,72%{opacity:.88}88%{opacity:.22}}

/* Continuous phenomena remain gentle and independent of the card. */
html[data-ds-interactive-v53="ready"] [data-ds-v52-mode="heart"] .ds-v52-weather,
html[data-ds-interactive-v53="ready"] [data-ds-v52-mode="weight"] .ds-v52-weather,
html[data-ds-interactive-v53="ready"] [data-ds-v52-mode="ibiza"] .ds-v52-weather{animation-timing-function:linear!important}

/* Keep the preferred mobile order: one large card per row. */
@media(max-width:560px){
  html[data-ds-interactive-v53="ready"] .d30-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  html[data-ds-interactive-v53="ready"] .d30-album{width:100%!important;min-width:0!important}
  html[data-ds-interactive-v53="ready"] .d30-cover{width:100%!important;height:auto!important;aspect-ratio:1/1!important}
}

/* V5.4 HYBRID — real microvideo where available, object-specific layers elsewhere. */
html[data-ds-interactive-v54="ready"] .d30-album,
html[data-ds-interactive-v54="ready"] .d30-cover,
html[data-ds-interactive-v54="ready"] .d30-album-info,
html[data-ds-interactive-v54="ready"] .dorisan-global-topbar,
html[data-ds-interactive-v54="ready"] .dorisan-home-hero-bg{transform:none!important;animation:none!important}
html[data-ds-interactive-v54="ready"] .ds-live-media{display:block!important;opacity:0!important;z-index:7!important;transition:opacity .42s ease!important;transform:none!important}
html[data-ds-interactive-v54="ready"] .ds-v54-video-on .ds-live-media{opacity:1!important}
html[data-ds-interactive-v54="ready"] .ds-v54-video-on .ds-v52-clone{opacity:0!important}
html[data-ds-interactive-v54="ready"] .ds-alt-frame{animation:none!important;opacity:0!important;transform:none!important;transition:opacity .65s ease,filter .65s ease!important}
html[data-ds-interactive-v54="ready"] .ds-v54-alt-on .ds-alt-frame.is-ready{opacity:.27!important;filter:saturate(1.08) brightness(1.05);z-index:2!important}

/* DORISAN 2: both wolves move independently, central figure stays protected. */
[data-ds-v54-mode="wolf-duo"] .ds-v54-wolf-left{clip-path:polygon(0 11%,48% 8%,50% 70%,0 75%)}
[data-ds-v54-mode="wolf-duo"] .ds-v54-wolf-right{clip-path:polygon(49% 8%,100% 8%,100% 75%,50% 70%)}
[data-ds-v54-mode="wolf-duo"] .ds-v54-d2-figure{clip-path:polygon(42% 47%,58% 47%,61% 89%,39% 89%);z-index:5!important}
[data-ds-v54-mode="wolf-duo"].ds-v52-event .ds-v54-wolf-left{opacity:.95;animation:dsV54WolfL 3.05s cubic-bezier(.4,0,.2,1) 1}
[data-ds-v54-mode="wolf-duo"].ds-v52-event .ds-v54-wolf-right{opacity:.95;animation:dsV54WolfR 3.05s cubic-bezier(.4,0,.2,1) 1}
[data-ds-v54-mode="wolf-duo"].ds-v52-event .ds-v54-d2-figure{opacity:.96;animation:dsV54Figure 3.05s cubic-bezier(.4,0,.2,1) 1}
[data-ds-v54-mode="wolf-duo"] .ds-v52-ambient{opacity:.2;background:linear-gradient(114deg,transparent 26%,rgba(255,48,65,.32) 30%,transparent 34% 60%,rgba(205,225,255,.38) 64%,transparent 68%);animation:dsV52Blink 7.2s ease-in-out infinite}
@keyframes dsV54WolfL{0%,12%,100%{transform:none}42%,72%{transform:translateY(-2.4%) rotate(-.7deg) scale(1.012)}88%{transform:translateY(-.5%)}}
@keyframes dsV54WolfR{0%,12%,100%{transform:none}42%,72%{transform:translateY(-2.4%) rotate(.7deg) scale(1.012)}88%{transform:translateY(-.5%)}}
@keyframes dsV54Figure{0%,12%,100%{transform:none}42%,72%{transform:translateY(-.6%) scale(1.004)}}

/* ELETTRO: wolves breathe, central D/energy reacts. */
[data-ds-v54-mode="electro"] .ds-v54-electro-left{clip-path:polygon(0 17%,43% 18%,45% 75%,0 77%)}
[data-ds-v54-mode="electro"] .ds-v54-electro-right{clip-path:polygon(57% 17%,100% 17%,100% 77%,55% 75%)}
[data-ds-v54-mode="electro"] .ds-v54-electro-core{clip-path:polygon(28% 10%,72% 10%,74% 82%,26% 82%)}
[data-ds-v54-mode="electro"].ds-v52-event .ds-v54-electro-left{opacity:.72;animation:dsV54ElectroL 3s ease-in-out 1}
[data-ds-v54-mode="electro"].ds-v52-event .ds-v54-electro-right{opacity:.72;animation:dsV54ElectroR 3s ease-in-out 1}
[data-ds-v54-mode="electro"].ds-v52-event .ds-v54-electro-core{opacity:.82;animation:dsV54Core 3s ease-in-out 1}
@keyframes dsV54ElectroL{0%,100%{transform:none}45%,72%{transform:translateX(.9%) translateY(-.8%) scale(1.008)}}
@keyframes dsV54ElectroR{0%,100%{transform:none}45%,72%{transform:translateX(-.9%) translateY(-.8%) scale(1.008)}}
@keyframes dsV54Core{0%,100%{transform:none;filter:none}42%,72%{transform:scale(1.018);filter:brightness(1.28) saturate(1.28)}}

/* ARS POPULI: bust + two wolves are separate semantic actors. */
[data-ds-v54-mode="ars"] .ds-v54-ars-left{clip-path:polygon(0 31%,38% 27%,39% 80%,0 81%)}
[data-ds-v54-mode="ars"] .ds-v54-ars-right{clip-path:polygon(62% 27%,100% 31%,100% 81%,61% 80%)}
[data-ds-v54-mode="ars"] .ds-v54-ars-bust{clip-path:polygon(28% 4%,72% 4%,75% 72%,25% 72%)}
[data-ds-v54-mode="ars"].ds-v52-event .ds-v54-ars-left{opacity:.8;animation:dsV54ArsL 3s ease-in-out 1}
[data-ds-v54-mode="ars"].ds-v52-event .ds-v54-ars-right{opacity:.8;animation:dsV54ArsR 3s ease-in-out 1}
[data-ds-v54-mode="ars"].ds-v52-event .ds-v54-ars-bust{opacity:.86;animation:dsV54ArsBust 3s ease-in-out 1}
@keyframes dsV54ArsL{0%,100%{transform:none}44%,72%{transform:translateX(.7%) translateY(-.8%) scale(1.008)}}
@keyframes dsV54ArsR{0%,100%{transform:none}44%,72%{transform:translateX(-.7%) translateY(-.8%) scale(1.008)}}
@keyframes dsV54ArsBust{0%,100%{transform:none;filter:none}44%,72%{transform:translateY(-.45%) scale(1.01);filter:brightness(1.2) contrast(1.08)}}

/* REMIX: two wolves answer the beat; center stays anchored. */
[data-ds-v54-mode="remix"] .ds-v54-remix-left{clip-path:polygon(0 13%,46% 12%,47% 72%,0 75%)}
[data-ds-v54-mode="remix"] .ds-v54-remix-right{clip-path:polygon(54% 12%,100% 13%,100% 75%,53% 72%)}
[data-ds-v54-mode="remix"] .ds-v54-remix-core{clip-path:polygon(35% 22%,65% 22%,68% 88%,32% 88%)}
[data-ds-v54-mode="remix"].ds-v52-event .ds-v54-remix-left{opacity:.75;animation:dsV54BeatL 3s ease-in-out 1}
[data-ds-v54-mode="remix"].ds-v52-event .ds-v54-remix-right{opacity:.75;animation:dsV54BeatR 3s ease-in-out 1}
[data-ds-v54-mode="remix"].ds-v52-event .ds-v54-remix-core{opacity:.76;animation:dsV54BeatCore 3s ease-in-out 1}
@keyframes dsV54BeatL{0%,100%{transform:none}38%{transform:translateY(-1.1%)}50%{transform:translateY(-.3%)}68%{transform:translateY(-1.4%)}}
@keyframes dsV54BeatR{0%,100%{transform:none}38%{transform:translateY(-1.1%)}50%{transform:translateY(-.3%)}68%{transform:translateY(-1.4%)}}
@keyframes dsV54BeatCore{0%,100%{transform:none;filter:none}38%,68%{transform:scale(1.012);filter:brightness(1.22) saturate(1.2)}}

/* RITUAL: central performer moves; energy/speakers remain effects. */
[data-ds-v54-mode="ritual"] .ds-v54-ritual-figure{clip-path:polygon(30% 30%,70% 30%,74% 88%,26% 88%)}
[data-ds-v54-mode="ritual"].ds-v52-event .ds-v54-ritual-figure{opacity:.86;animation:dsV54RitualFigure 3.1s cubic-bezier(.4,0,.2,1) 1}
@keyframes dsV54RitualFigure{0%,100%{transform:none}40%,70%{transform:translateY(-1.5%) scale(1.01);filter:brightness(1.16)}}

/* IL PESO: giant wolf and front figure are independent. */
[data-ds-v54-mode="weight"] .ds-v54-weight-wolf{clip-path:polygon(15% 0,85% 0,86% 58%,14% 58%)}
[data-ds-v54-mode="weight"] .ds-v54-weight-figure{clip-path:polygon(32% 35%,68% 35%,72% 89%,28% 89%)}
[data-ds-v54-mode="weight"].ds-v52-event .ds-v54-weight-wolf{opacity:.78;animation:dsV54WeightWolf 3.1s ease-in-out 1}
[data-ds-v54-mode="weight"].ds-v52-event .ds-v54-weight-figure{opacity:.88;animation:dsV54WeightFigure 3.1s ease-in-out 1}
@keyframes dsV54WeightWolf{0%,100%{transform:none;filter:none}43%,72%{transform:translateY(-1.2%) scale(1.012);filter:brightness(1.15)}}
@keyframes dsV54WeightFigure{0%,100%{transform:none}43%,72%{transform:translateY(-1.1%) scale(1.006)}}

/* FIGLI DI UNA STELLA: figures remain whole; star/beam does the strong event. */
[data-ds-v54-mode="stars"] .ds-v54-stars-figures{clip-path:polygon(34% 36%,66% 36%,69% 87%,31% 87%)}
[data-ds-v54-mode="stars"].ds-v52-event .ds-v54-stars-figures{opacity:.7;animation:dsV54StarsFigures 3.15s ease-in-out 1}
@keyframes dsV54StarsFigures{0%,100%{transform:none}42%,72%{transform:translateY(-.6%) scale(1.004);filter:brightness(1.08)}}

/* Existing good ambient effects stay continuous and linear. */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="heart"] .ds-v52-weather,
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="weight"] .ds-v52-weather,
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="ibiza"] .ds-v52-weather{animation-timing-function:linear!important}

/* Strong events share the same fluid cadence; the card itself never moves. */
html[data-ds-interactive-v54="ready"] .ds-v52-event .ds-v52-clone,
html[data-ds-interactive-v54="ready"] .ds-v52-event .ds-v52-eventfx,
html[data-ds-interactive-v54="ready"] .ds-v52-event .ds-v52-stage{animation-duration:3.1s!important;animation-timing-function:cubic-bezier(.4,0,.2,1)!important;animation-fill-mode:both!important}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-clone,
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-eventfx,
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-stage{animation-duration:3.45s!important}

/* Mobile remains one large card per row. */
@media(max-width:560px){
 html[data-ds-interactive-v54="ready"] .d30-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 html[data-ds-interactive-v54="ready"] .d30-album{width:100%!important;min-width:0!important}
 html[data-ds-interactive-v54="ready"] .d30-cover{width:100%!important;height:auto!important;aspect-ratio:1/1!important}
}
@media(prefers-reduced-motion:reduce){
 html[data-ds-interactive-v54="ready"] .ds-live-media,
 html[data-ds-interactive-v54="ready"] .ds-alt-frame,
 html[data-ds-interactive-v54="ready"] .ds-v52-clone{display:none!important}
}

/* V5.5 MANUALE DELTA — preserve the central human figure and typography.
   Only the physical side door leaves move; the center remains literal source pixels. */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"] .ds-v53-door-person{
  display:none!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"] .ds-v52-stage{
  z-index:2!important;
  left:17%!important;right:17%!important;top:22%!important;bottom:23%!important;
  opacity:0!important;
  background:
    radial-gradient(ellipse at 43% 48%,rgba(255,255,250,1) 0 8%,rgba(255,226,145,.96) 24%,rgba(255,174,57,.68) 48%,rgba(40,23,8,.18) 72%,transparent 90%),
    radial-gradient(ellipse at 57% 48%,rgba(255,255,250,1) 0 8%,rgba(255,226,145,.96) 24%,rgba(255,174,57,.68) 48%,rgba(40,23,8,.18) 72%,transparent 90%)!important;
  -webkit-mask:linear-gradient(90deg,#000 0 41%,rgba(0,0,0,.92) 43%,transparent 46% 54%,rgba(0,0,0,.92) 57%,#000 59% 100%)!important;
  mask:linear-gradient(90deg,#000 0 41%,rgba(0,0,0,.92) 43%,transparent 46% 54%,rgba(0,0,0,.92) 57%,#000 59% 100%)!important;
  box-shadow:none!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"] .ds-v52-door-left{
  z-index:3!important;
  clip-path:polygon(17% 23%,44.8% 23%,44.8% 73%,17% 73%)!important;
  transform-origin:44.8% 49%!important;
  filter:none!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"] .ds-v52-door-right{
  z-index:3!important;
  clip-path:polygon(55.2% 23%,83% 23%,83% 73%,55.2% 73%)!important;
  transform-origin:55.2% 49%!important;
  filter:none!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"] .ds-v52-eventfx{
  z-index:4!important;
  left:34%!important;right:34%!important;top:25%!important;bottom:27%!important;
  opacity:0!important;
  background:
    radial-gradient(ellipse at 35% 50%,rgba(255,255,244,.92),rgba(255,207,102,.42) 34%,transparent 70%),
    radial-gradient(ellipse at 65% 50%,rgba(255,255,244,.92),rgba(255,207,102,.42) 34%,transparent 70%)!important;
  -webkit-mask:linear-gradient(90deg,#000 0 37%,transparent 45% 55%,#000 63% 100%)!important;
  mask:linear-gradient(90deg,#000 0 37%,transparent 45% 55%,#000 63% 100%)!important;
  filter:blur(3px)!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-stage{
  opacity:1!important;
  animation:dsV55ManualeLight 3.45s cubic-bezier(.4,0,.2,1) 1!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-door-left{
  opacity:1!important;
  animation:dsV55ManualeDoorL 3.45s cubic-bezier(.35,.72,.2,1) 1!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-door-right{
  opacity:1!important;
  animation:dsV55ManualeDoorR 3.45s cubic-bezier(.35,.72,.2,1) 1!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"].ds-v52-event .ds-v52-eventfx{
  opacity:.9!important;
  animation:dsV55ManualeRay 3.45s ease-in-out 1!important;
}
@keyframes dsV55ManualeDoorL{
  0%,12%,100%{transform:perspective(900px) rotateY(0deg) translateX(0)}
  44%,68%{transform:perspective(900px) rotateY(-34deg) translateX(-7.5%)}
  88%{transform:perspective(900px) rotateY(-7deg) translateX(-1.5%)}
}
@keyframes dsV55ManualeDoorR{
  0%,12%,100%{transform:perspective(900px) rotateY(0deg) translateX(0)}
  44%,68%{transform:perspective(900px) rotateY(34deg) translateX(7.5%)}
  88%{transform:perspective(900px) rotateY(7deg) translateX(1.5%)}
}
@keyframes dsV55ManualeLight{
  0%,10%,100%{opacity:0;filter:brightness(.88)}
  35%{opacity:.58;filter:brightness(1.08)}
  47%,68%{opacity:1;filter:brightness(1.26)}
  88%{opacity:.26;filter:brightness(1)}
}
@keyframes dsV55ManualeRay{
  0%,12%,100%{opacity:0;transform:scaleX(.72)}
  42%,70%{opacity:.9;transform:scaleX(1.08)}
  88%{opacity:.2;transform:scaleX(.82)}
}

/* ==========================================================
   DORISAN INTERACTIVE V5.6
   CARD 01 — DORISAN 2
   Real event video owns subject motion.
   Browser layers provide ambience only.
   No clipped wolves/person movement.
   ========================================================== */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-v54-wolf-left,
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-v54-wolf-right,
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-v54-d2-figure{
  display:none!important;
  opacity:0!important;
  animation:none!important;
  transform:none!important;
  clip-path:none!important;
}

/* Continuous atmosphere only: slow smoke / cold city glow.
   It never moves the cover, text, person or wolves. */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-v52-ambient{
  display:block!important;
  opacity:.34!important;
  inset:0!important;
  background:
    radial-gradient(ellipse at 52% 20%,rgba(220,232,255,.14),transparent 30%),
    radial-gradient(circle at 18% 67%,rgba(214,48,63,.12),transparent 13%),
    radial-gradient(circle at 82% 66%,rgba(180,210,255,.12),transparent 14%),
    linear-gradient(96deg,transparent 9%,rgba(190,210,230,.07) 38%,transparent 61%,rgba(180,205,230,.06) 79%,transparent 93%)!important;
  mix-blend-mode:screen;
  animation:dsV56D2Atmos 9.5s ease-in-out infinite!important;
  transform:none;
  filter:none;
}

/* Event FX is subordinate to the real video, not a fake subject motion. */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-v52-eventfx{
  z-index:6!important;
  background:
    radial-gradient(ellipse at 50% 32%,rgba(225,235,255,.13),transparent 35%),
    linear-gradient(90deg,transparent 12%,rgba(210,225,255,.08) 48%,transparent 88%)!important;
  mix-blend-mode:screen;
}

/* The actual existing animation is the semantic event. */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-live-media{
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  border-radius:inherit;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"].ds-v54-video-on .ds-live-media{
  opacity:1!important;
}

/* Prevent any alternate-image layer from contaminating the real DORISAN 2 event. */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-alt-frame{
  display:none!important;
}

@keyframes dsV56D2Atmos{
  0%,100%{background-position:-10px 0,0 0,0 0,-22px 0;filter:brightness(1)}
  50%{background-position:14px -3px,2px 0,-2px 0,22px 0;filter:brightness(1.08)}
}


/* ==========================================================
   DORISAN INTERACTIVE V5.8.2
   Direct real-video binding for all 15 album cards.
   ========================================================== */
html[data-ds-interactive-v54="ready"] .d30-album .ds-v582-direct-video{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:30!important;
  pointer-events:none!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  transition:opacity .22s ease!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-v582-direct-video{
  opacity:1!important;
  visibility:visible!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-v52-clone,
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-alt-frame{
  opacity:0!important;
  visibility:hidden!important;
  animation:none!important;
}

/* ==========================================================
   DORISAN INTERACTIVE V5.8.4
   CONTINUOUS AMBIENT MOTION — ALL 15 ALBUM CARDS
   Strong MP4 events remain unchanged (8–15s).
   Ambient layers never move the whole card/artwork.
   ========================================================== */

html[data-ds-interactive-v54="ready"] .d30-album .ds-v52-ambient,
html[data-ds-interactive-v54="ready"] .d30-album .ds-v52-weather{
  display:block!important;
  pointer-events:none!important;
  z-index:6!important;
  transform-origin:center!important;
  mix-blend-mode:screen;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-v52-ambient,
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-v52-weather{
  opacity:.10!important;
}

/* Shared ambient keyframes */
@keyframes dsV584DriftX{
  0%{background-position:0% 0%,100% 100%;transform:translate3d(-1.2%,0,0)}
  50%{background-position:52% 15%,48% 85%;transform:translate3d(1.2%,-.35%,0)}
  100%{background-position:100% 0%,0% 100%;transform:translate3d(-1.2%,0,0)}
}
@keyframes dsV584Glow{
  0%,100%{opacity:.23;filter:brightness(.95)}
  45%{opacity:.42;filter:brightness(1.16)}
  70%{opacity:.30;filter:brightness(1.05)}
}
@keyframes dsV584Scan{
  0%{background-position:0 -120%,0 0;opacity:.20}
  50%{opacity:.38}
  100%{background-position:0 120%,70px 40px;opacity:.20}
}
@keyframes dsV584Rotate{
  0%{transform:rotate(0deg) scale(1.02);opacity:.18}
  50%{opacity:.34}
  100%{transform:rotate(360deg) scale(1.02);opacity:.18}
}
@keyframes dsV584Bars{
  0%,100%{transform:scaleY(.38);opacity:.23}
  25%{transform:scaleY(.72);opacity:.34}
  55%{transform:scaleY(1);opacity:.42}
  80%{transform:scaleY(.58);opacity:.29}
}
@keyframes dsV584Mist{
  0%{transform:translate3d(-5%,0,0);opacity:.16}
  50%{transform:translate3d(3%,-1%,0);opacity:.34}
  100%{transform:translate3d(8%,0,0);opacity:.16}
}
@keyframes dsV584StarTwinkle{
  0%,100%{opacity:.20;filter:brightness(.95)}
  25%{opacity:.36;filter:brightness(1.18)}
  57%{opacity:.25;filter:brightness(1.02)}
  78%{opacity:.42;filter:brightness(1.25)}
}
@keyframes dsV584RoadSweep{
  0%{background-position:-70% 0,0 0;opacity:.18}
  55%{opacity:.34}
  100%{background-position:170% 0,0 0;opacity:.18}
}
@keyframes dsV584SeaShimmer{
  0%,100%{background-position:0 0,0 0;transform:translateY(0);opacity:.22}
  50%{background-position:28px 8px,-18px 5px;transform:translateY(.6%);opacity:.38}
}

/* 1 — DORISAN: city/neon/bokeh alive */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="kiss"] .ds-v52-ambient{
  opacity:.34!important;
  inset:-4%!important;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,36,72,.36),transparent 15%),
    radial-gradient(circle at 84% 24%,rgba(52,118,255,.34),transparent 16%),
    linear-gradient(102deg,transparent 0 38%,rgba(255,210,150,.08) 44%,transparent 50% 72%,rgba(100,160,255,.07) 77%,transparent 84%)!important;
  background-size:120% 120%,125% 125%,180% 100%!important;
  animation:dsV584DriftX 9s ease-in-out infinite!important;
}

/* 2 — DORISAN 2: smoke + cold skyline glow */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="wolf-duo"] .ds-v52-ambient{
  opacity:.36!important;
  inset:-8%!important;
  background:
    radial-gradient(ellipse at 28% 75%,rgba(165,185,215,.18),transparent 31%),
    radial-gradient(ellipse at 78% 68%,rgba(110,145,200,.17),transparent 34%),
    linear-gradient(180deg,rgba(95,135,190,.08),transparent 48%,rgba(215,225,240,.05) 72%,transparent)!important;
  background-size:135% 100%,145% 100%,100% 100%!important;
  animation:dsV584Mist 10.5s ease-in-out infinite alternate!important;
}

/* 3 — DORISAN E AI: live circuitry + scan */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="ai-wolves"] .ds-v52-ambient{
  opacity:.40!important;
  background:
    linear-gradient(180deg,transparent 0 42%,rgba(75,190,255,.28) 48%,transparent 54%),
    repeating-linear-gradient(90deg,rgba(83,145,255,.07) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(0deg,rgba(175,80,255,.06) 0 1px,transparent 1px 34px),
    radial-gradient(circle at 50% 18%,rgba(155,80,255,.42),transparent 14%)!important;
  background-size:100% 220%,34px 34px,34px 34px,100% 100%!important;
  animation:dsV584Scan 5.8s linear infinite!important;
}

/* 4 — ELETTRO DORISAN: electric glow continuously breathing */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="electro"] .ds-v52-ambient{
  opacity:.37!important;
  background:
    conic-gradient(from 0deg at 50% 47%,transparent 0 18%,rgba(105,80,255,.16) 22%,transparent 27% 51%,rgba(50,155,255,.16) 55%,transparent 61%),
    radial-gradient(circle at 50% 46%,rgba(132,88,255,.30),transparent 22%)!important;
  animation:dsV584Rotate 12s linear infinite!important;
}

/* 5 — ARS POPULI TECH: HUD ring + scanning light */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="ars"] .ds-v52-ambient{
  opacity:.36!important;
  inset:4% 7%!important;
  background:
    repeating-radial-gradient(circle at 50% 31%,rgba(72,180,255,.13) 0 1px,transparent 2px 19px),
    linear-gradient(180deg,transparent 0 43%,rgba(72,190,255,.24) 48%,transparent 53%)!important;
  background-size:100% 100%,100% 210%!important;
  animation:dsV584Scan 6.4s linear infinite!important;
}

/* 6 — Remix DoriSan: continuous equalizer/club floor */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="remix"] .ds-v52-ambient{
  opacity:.40!important;
  clip-path:polygon(0 43%,100% 43%,100% 100%,0 100%)!important;
  background:repeating-linear-gradient(90deg,rgba(255,55,90,.22) 0 5px,transparent 5px 15px,rgba(65,155,255,.22) 15px 20px,transparent 20px 31px)!important;
  transform-origin:bottom!important;
  animation:dsV584Bars 2.8s ease-in-out infinite!important;
}

/* 7 — Cuore sotto la neve: preserve approved snow, add subtle icy haze */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="heart"] .ds-v52-ambient{
  opacity:.20!important;
  background:radial-gradient(ellipse at 50% 74%,rgba(190,220,255,.14),transparent 48%)!important;
  animation:dsV584Glow 7.2s ease-in-out infinite!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="heart"] .ds-v52-weather{
  opacity:.56!important;
  animation:dsV52Snow 6s linear infinite!important;
}

/* 8 — Branco di notte: slow mist + moon/city glimmer */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="pack"] .ds-v52-ambient{
  opacity:.34!important;
  inset:-8%!important;
  background:
    radial-gradient(ellipse at 48% 24%,rgba(215,228,255,.24),transparent 18%),
    radial-gradient(ellipse at 20% 76%,rgba(130,155,190,.14),transparent 32%),
    radial-gradient(ellipse at 78% 72%,rgba(130,155,190,.13),transparent 34%)!important;
  background-size:100% 100%,140% 100%,145% 100%!important;
  animation:dsV584Mist 11s ease-in-out infinite alternate!important;
}

/* 9 — Electro Ritual Bounce: speakers/ritual energy breathing */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="ritual"] .ds-v52-ambient{
  opacity:.38!important;
  background:
    radial-gradient(circle at 11% 58%,rgba(255,42,72,.32),transparent 11%),
    radial-gradient(circle at 89% 58%,rgba(55,135,255,.34),transparent 11%),
    radial-gradient(circle at 50% 55%,rgba(90,155,255,.24),transparent 23%)!important;
  animation:dsV584Glow 3.2s ease-in-out infinite!important;
}

/* 10 — Lamborghini di cartone: wet-road light sweep + steam */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="car"] .ds-v52-ambient{
  opacity:.34!important;
  inset:-4%!important;
  background:
    linear-gradient(105deg,transparent 0 36%,rgba(230,240,255,.18) 42%,transparent 48%),
    linear-gradient(180deg,transparent 0 52%,rgba(110,145,190,.10) 62%,transparent 78%)!important;
  background-size:65% 100%,100% 100%!important;
  background-repeat:no-repeat!important;
  animation:dsV584RoadSweep 7.5s linear infinite!important;
}

/* 11 — Il peso sopra al cuore: continuous rain + restrained red breath */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="weight"] .ds-v52-weather{
  opacity:.38!important;
  inset:-12%!important;
  background:repeating-linear-gradient(112deg,transparent 0 17px,rgba(190,220,255,.28) 18px 19px,transparent 20px 31px)!important;
  animation:dsV52Rain 1.25s linear infinite!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="weight"] .ds-v52-ambient{
  opacity:.30!important;
  background:radial-gradient(circle at 50% 18%,rgba(255,40,50,.30),transparent 11%)!important;
  animation:dsV584Glow 5.5s ease-in-out infinite!important;
}

/* 12 — Figli di una stella: twinkling star field */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="stars"] .ds-v52-weather{
  opacity:.36!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.88) 0 1px,transparent 1.5px),
    radial-gradient(circle at 28% 31%,rgba(255,240,190,.75) 0 1px,transparent 1.4px),
    radial-gradient(circle at 72% 22%,rgba(255,255,255,.78) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 36%,rgba(255,230,170,.72) 0 1px,transparent 1.4px),
    radial-gradient(circle at 54% 12%,rgba(255,255,255,.78) 0 1px,transparent 1.4px)!important;
  background-size:97px 89px,123px 111px,137px 103px,149px 127px,163px 151px!important;
  animation:dsV584StarTwinkle 5.8s ease-in-out infinite!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="stars"] .ds-v52-ambient{
  opacity:.26!important;
  animation:dsV584Glow 6.5s ease-in-out infinite!important;
}

/* 13 — Manuale per essere umani: warm leak + floating dust */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="door"] .ds-v52-ambient{
  opacity:.30!important;
  inset:18% 18% 22% 18%!important;
  background:
    radial-gradient(ellipse at 50% 52%,rgba(255,215,125,.26),transparent 42%),
    radial-gradient(circle at 24% 18%,rgba(255,242,205,.30) 0 1px,transparent 1.8px),
    radial-gradient(circle at 72% 34%,rgba(255,242,205,.24) 0 1px,transparent 1.8px),
    radial-gradient(circle at 58% 68%,rgba(255,242,205,.22) 0 1px,transparent 1.8px)!important;
  background-size:100% 100%,47px 59px,63px 71px,79px 83px!important;
  animation:dsV584Mist 9.5s ease-in-out infinite alternate!important;
}

/* 14 — Remix Doris: portal/equalizer glow */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="remix-doris"] .ds-v52-ambient{
  opacity:.40!important;
  background:
    radial-gradient(circle at 52% 39%,rgba(160,70,255,.32),transparent 20%),
    repeating-linear-gradient(90deg,rgba(155,70,255,.14) 0 4px,transparent 4px 15px,rgba(65,145,255,.14) 15px 19px,transparent 19px 31px)!important;
  background-size:110% 110%,100% 100%!important;
  animation:dsV584Glow 3.8s ease-in-out infinite!important;
}

/* 15 — Ibiza: water shimmer + drifting sunrise haze */
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="ibiza"] .ds-v52-weather{
  opacity:.38!important;
  clip-path:polygon(0 42%,100% 42%,100% 100%,0 100%)!important;
  background:
    repeating-linear-gradient(0deg,rgba(255,205,135,.11) 0 3px,transparent 3px 15px),
    repeating-linear-gradient(90deg,rgba(95,160,220,.08) 0 8px,transparent 8px 27px)!important;
  animation:dsV584SeaShimmer 5.8s ease-in-out infinite!important;
}
html[data-ds-interactive-v54="ready"] [data-ds-v54-mode="ibiza"] .ds-v52-ambient{
  opacity:.32!important;
  background:
    radial-gradient(circle at 50% 39%,rgba(255,185,82,.28),transparent 19%),
    radial-gradient(ellipse at 28% 25%,rgba(255,220,180,.10),transparent 27%)!important;
  animation:dsV584DriftX 11s ease-in-out infinite!important;
}

/* Safety: never move card, base cover, title or info continuously. */
html[data-ds-interactive-v54="ready"] .d30-album,
html[data-ds-interactive-v54="ready"] .d30-cover>img:first-of-type,
html[data-ds-interactive-v54="ready"] .d30-album-info{
  transform:none!important;
  animation:none!important;
}

/* Respect reduced motion. */
@media(prefers-reduced-motion:reduce){
  html[data-ds-interactive-v54="ready"] .ds-v52-ambient,
  html[data-ds-interactive-v54="ready"] .ds-v52-weather{
    animation:none!important;
  }
}


/* ==========================================================
   DORISAN INTERACTIVE V5.9 — REAL AMBIENT VIDEO LOOPS
   Test batch: DORISAN, Branco di notte, DORISAN E AI
   ========================================================== */
html[data-ds-interactive-v54="ready"] .d30-album .ds-ambient-loop-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  z-index:5!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
}
html[data-ds-interactive-v54="ready"] .d30-album .d30-cover>img:first-of-type{
  z-index:1!important;
}
html[data-ds-interactive-v54="ready"] .d30-album .ds-v52-ambient,
html[data-ds-interactive-v54="ready"] .d30-album .ds-v52-weather{
  z-index:6!important;
}
html[data-ds-interactive-v54="ready"] .d30-album .ds-live-media{
  z-index:30!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-ambient-loop-video{
  opacity:0!important;
}
@media(prefers-reduced-motion:reduce){
  html[data-ds-interactive-v54="ready"] .d30-album .ds-ambient-loop-video{display:none!important}
}


/* ==========================================================
   DORISAN INTERACTIVE V5.9.1 — FULL 15 CARD AMBIENT PREVIEW
   3 native ambient loops + 12 fallback continuous loops from approved MP4s
   staging preview only
   ========================================================== */
html[data-ds-interactive-v54="ready"] .d30-album .ds-ambient-native{
  opacity:1!important;
  filter:none!important;
}
html[data-ds-interactive-v54="ready"] .d30-album .ds-ambient-fallback{
  opacity:.78!important;
  filter:brightness(.92) saturate(.88) contrast(.96)!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-ambient-loop-video{
  opacity:0!important;
}


/* ==========================================================
   DORISAN INTERACTIVE V5.9.2 — TIMING / FLUIDITY PASS
   Strong event = one complete play, never looped/truncated.
   Ambient resumes by crossfade after natural video end.
   ========================================================== */
html[data-ds-interactive-v54="ready"] .d30-album .ds-live-media,
html[data-ds-interactive-v54="ready"] .d30-album .ds-ambient-loop-video{
  transition:opacity .24s cubic-bezier(.4,0,.2,1)!important;
  will-change:opacity!important;
  backface-visibility:hidden!important;
}
html[data-ds-interactive-v54="ready"] .d30-album .ds-live-media{
  opacity:0!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-live-media{
  opacity:1!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-ambient-loop-video{
  opacity:0!important;
}


/* V5.9.9 — EPK HOME FULL-BLEED FINAL
   Target: the EPK wolf visual spans the full viewport on desktop and mobile.
   Original artwork and aspect ratio remain unchanged. */
.dorisan-fix21-epk-floating-card.fix28ab-epk-final-hero,
.fix28ab-epk-final-hero {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  max-width: none !important;
  min-width: 100vw !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
  transform: translateX(-50%) !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  background: #02050a !important;
}

.fix28ab-epk-final-hero picture {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.fix28ab-epk-final-hero img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: 1672 / 941 !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* EPK is a navigation banner, not an album event layer. */
.fix28ab-epk-final-hero .ds-alt-frame,
.fix28ab-epk-final-hero .ds-live-media {
  display: none !important;
}

@media (max-width: 760px) {
  .dorisan-fix21-epk-floating-card.fix28ab-epk-final-hero,
  .fix28ab-epk-final-hero {
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 100vw !important;
    margin: 28px 0 0 !important;
    transform: translateX(-50%) !important;
    border-radius: 0 !important;
  }

  .fix28ab-epk-final-hero img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1672 / 941 !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }
}

/* ==========================================================
   DORISAN V5.9.13 — UNIFORM ALBUM CARD GEOMETRY + AUTO ONLY
   Strong event stays inside cover; controls/info never covered.
   Hover/focus/click no longer trigger strong animation in JS.
   ========================================================== */
html[data-ds-interactive-v54="ready"] .d30-grid{
  align-items:stretch!important;
}
html[data-ds-interactive-v54="ready"] .d30-album{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  transform:none!important;
  animation:none!important;
  box-sizing:border-box!important;
}
html[data-ds-interactive-v54="ready"] .d30-album:hover,
html[data-ds-interactive-v54="ready"] .d30-album.active,
html[data-ds-interactive-v54="ready"] .d30-album.ds-v3-hover{
  transform:none!important;
}
html[data-ds-interactive-v54="ready"] .d30-cover{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1 / 1!important;
  overflow:hidden!important;
  isolation:isolate!important;
  contain:layout paint!important;
  box-sizing:border-box!important;
}
html[data-ds-interactive-v54="ready"] .d30-cover>img:first-of-type{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-live-media,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-ambient-loop-video,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-alt-frame,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-v52-clone,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-v52-fx,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-v52-weather,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-v52-stage{
  position:absolute!important;
  max-width:100%!important;
  max-height:100%!important;
  box-sizing:border-box!important;
}
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-live-media,
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-ambient-loop-video{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  border-radius:0!important;
}
html[data-ds-interactive-v54="ready"] .d30-album-info{
  position:relative!important;
  z-index:60!important;
  display:flex!important;
  flex:1 0 168px!important;
  flex-direction:column!important;
  width:100%!important;
  min-height:168px!important;
  height:168px!important;
  max-height:168px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  background:rgba(0,0,0,.86)!important;
}
html[data-ds-interactive-v54="ready"] .d30-album-info .dorisan-home-play-cta{
  position:relative!important;
  z-index:80!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin-top:auto!important;
  flex:0 0 auto!important;
  transform:none!important;
}
@media(max-width:700px){
  html[data-ds-interactive-v54="ready"] .d30-album-info{
    flex-basis:168px!important;
    min-height:168px!important;
    height:168px!important;
    max-height:168px!important;
  }
}

/* DORISAN_V5914_MOBILE_OFFSCREEN_PAUSE */
@media (max-width:700px){
  html[data-ds-interactive-v54="ready"] .d30-album:not(.ds-v54-inview),
  html[data-ds-interactive-v54="ready"] .d30-album:not(.ds-v54-inview)::before,
  html[data-ds-interactive-v54="ready"] .d30-album:not(.ds-v54-inview)::after,
  html[data-ds-interactive-v54="ready"] .d30-album:not(.ds-v54-inview) *{
    animation-play-state:paused!important;
  }
}

/* DORISAN_V5914_STRONG_VIDEO_VISIBILITY_FINAL */
html[data-ds-interactive-v54="ready"] .d30-album .d30-cover>.ds-live-media{
  display:block!important;
  visibility:hidden!important;
  opacity:0!important;
  transition:opacity .12s linear!important;
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .d30-cover>.ds-live-media{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  transition:opacity .12s linear!important;
}

/* DORISAN V5.9.15 — IMMEDIATE VISIBLE BASE MOTION */
html[data-ds-interactive-v54="ready"] .d30-cover>.ds-v5915-presence{
  position:absolute!important;
  inset:-8%!important;
  z-index:4!important;
  pointer-events:none!important;
  opacity:.38;
  background:
    radial-gradient(circle at 22% 44%,rgba(255,205,110,.30),transparent 18%),
    radial-gradient(circle at 78% 56%,rgba(78,135,255,.28),transparent 20%),
    linear-gradient(112deg,transparent 30%,rgba(255,255,255,.13) 48%,transparent 66%);
  mix-blend-mode:screen;
  will-change:transform,opacity;
  animation:dsV5915Presence 4.8s ease-in-out infinite!important;
}
@keyframes dsV5915Presence{
  0%,100%{transform:translate3d(-6%,0,0) scale(1.01);opacity:.24}
  50%{transform:translate3d(6%,0,0) scale(1.035);opacity:.52}
}
html[data-ds-interactive-v54="ready"] .d30-album.ds-v54-video-on .ds-v5915-presence{
  opacity:0!important;
}
@media(max-width:700px){
  html[data-ds-interactive-v54="ready"] .d30-cover>.ds-v5915-presence{
    opacity:.32;
    animation-duration:5.6s!important;
  }
}
