/* V91: fixed Google Drive video hub plus per-album Drive handoff */
.gallery-drive-hub{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  width:min(1180px,calc(100% - 28px));
  margin:clamp(22px,4vw,46px) auto 0;
  padding:clamp(22px,4vw,38px);
  overflow:hidden;
  border:1px solid rgba(255,145,45,.58);
  border-radius:16px;
  background:
    linear-gradient(115deg,rgba(255,132,24,.2),rgba(255,132,24,.055) 52%,rgba(255,255,255,.025)),
    #181c33;
  box-shadow:10px 10px 0 rgba(7,9,22,.38);
}
.gallery-drive-hub::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  z-index:-1;
  width:32%;
  opacity:.34;
  background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(255,145,45,.12) 14px 15px);
  pointer-events:none;
}
.gallery-drive-hub-copy{
  max-width:690px;
}
.gallery-drive-hub h2{
  margin:0 0 9px;
  color:#fff8ee;
  font-size:clamp(1.65rem,4vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.gallery-drive-hub p{
  max-width:42rem;
  margin:0;
  color:#d9dceb;
  font-size:clamp(.86rem,1.8vw,1rem);
  line-height:1.65;
}
.gallery-drive-hub-action{
  position:relative;
  min-width:225px;
  min-height:52px;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:6px 6px 0 rgba(7,9,22,.48);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.gallery-drive-hub-action:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:8px 8px 0 rgba(7,9,22,.48);
}
.gallery-drive-hub-action:active{
  transform:translateY(1px);
  box-shadow:3px 3px 0 rgba(7,9,22,.48);
}
.gallery-drive-hub-action:focus-visible{
  outline:3px solid #fff4e6;
  outline-offset:4px;
}

.gallery-album-cover.drive-only{
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 28% 28%,rgba(73,225,238,.2),transparent 30%),
    linear-gradient(135deg,#20284a,#182d3e 64%,#15192f);
}
.gallery-drive-cover-mark{
  display:grid;
  width:84px;
  height:84px;
  place-items:center;
  align-content:center;
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  background:rgba(7,10,24,.64);
  color:#fff;
  box-shadow:8px 8px 0 rgba(5,8,20,.42);
}
.gallery-drive-cover-mark b{
  color:var(--cyan);
  font-size:2rem;
  line-height:1;
}
.gallery-drive-cover-mark small{
  margin-top:4px;
  color:#d7dceb;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
}
.gallery-drive-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:20px 0 24px;
  padding:18px;
  border:1px solid rgba(73,225,238,.34);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(73,225,238,.075),rgba(255,255,255,.025));
}
.gallery-drive-section.hidden{display:none}
.gallery-drive-section h3{
  margin:0 0 5px;
  font-size:clamp(1.15rem,3vw,1.55rem);
}
.gallery-drive-section p{
  max-width:42rem;
  margin:0;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.55;
}
.gallery-drive-section .btn{
  min-width:190px;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
}

@media(max-width:680px){
  .gallery-drive-hub{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
    margin-top:20px;
    padding:20px;
  }
  .gallery-drive-hub::after{
    inset:auto 0 0;
    width:100%;
    height:34%;
  }
  .gallery-drive-hub-action,
  .gallery-drive-section .btn{
    width:100%;
    min-width:0;
    min-height:50px;
  }
  .gallery-drive-section{
    grid-template-columns:minmax(0,1fr);
    padding:14px;
  }
}
@media(prefers-reduced-motion:reduce){
  .gallery-drive-hub-action{transition:none}
  .gallery-drive-cover-mark{box-shadow:4px 4px 0 rgba(5,8,20,.42)}
}
