/* Approved portal presentation shared by the public build and local preview. */
:is(#vp-portal,#agegate) :is(.site-primary,.vp-login,.vp-visit:not(:disabled)) {
  border-radius:5px !important;
}
#vp-portal :is(.vp-media-button,.vp-product-image,.vp-detail,.vp-info-panel,
  .site-chat-callout,.chat-invitation,.chat-principle,.chat-principle-panel,
  .vp-quick-view,.live-card-button,.live-card-photo,.live-profile,.live-empty),
#vp-portal .site-category-media::before,
#vp-portal .site-category-frame,
#vp-portal .site-category-frame::before {
  border-radius:6px !important;
}
#vp-portal :is(.vp-search-wrap,.vp-free,.vp-menu-toggle,.vp-account-panel),
#vp-portal .live-toolbar button,
#vp-portal .live-filter-panel select {
  border-radius:5px !important;
}
/* Full-screen mobile dialogs must continue to meet the viewport edges. */
@media(max-width:600px) {
  #vp-portal .vp-quick-view { border-radius:0 !important; }
}

#vp-portal[data-page=home] .site-section-head { align-items:center; }
#vp-portal[data-page=home] .site-latest:not(.site-about-intro) { padding:24px 0 32px; }
#vp-portal[data-page=home] .site-latest:not(.site-about-intro) .site-section-head { margin:0 0 24px; }
#vp-portal[data-page=home] .site-section-head h2 { line-height:1.2; }
#vp-portal .preview-live-modal-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
#vp-portal .preview-live-modal-note { margin:14px 0 0; font-size:12px; line-height:1.5; color:#aba7a5; }
/* Live previews use explicit controls on touch as well as desktop. */
@media(max-width:760px) {
  #vp-portal #home-live-modal .vp-quick-navigation { display:flex; }
}
#vp-portal[data-page=home] .site-section-head > a:not(.vp-visit) {
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:44px; box-sizing:border-box; padding:10px 17px;
  border:1px solid #d2829b66; border-radius:5px;
  background:#211f20; color:#f5f2f0; font-size:14px; font-weight:400;
  line-height:1.4; text-decoration:none;
}

#vp-portal[data-page=home] .site-section-head > a:not(.vp-visit):focus-visible {
  outline:2px solid #d2829b; outline-offset:4px;
}
@media(hover:hover) {
  #vp-portal[data-page=home] .site-section-head > a:not(.vp-visit):hover { border-color:#d2829b; background:#d2829b12; }
}
#vp-portal #home-live-picks .vp-discovery-media { aspect-ratio:16/9; }
#vp-portal #home-live-picks .vp-discovery-photo { object-position:50% 25%; }
#vp-portal .preview-live-sample {
  position:absolute; top:10px; left:10px; padding:4px 8px;
  border-radius:4px; background:#171716db; color:#f5f2f0; font-size:10px; line-height:1.4;
}
@media(min-width:761px) {
  #vp-portal[data-page=home] #home-live-picks {
    grid-template-columns:repeat(3,minmax(0,1fr)); width:calc(100% - 48px); max-width:920px; margin-inline:auto;
  }
  #vp-portal #home-live-picks > .vp-item { width:100%; min-width:0; }
  #vp-portal #home-live-picks > .vp-item:nth-child(-n+3) { left:-24px; }
  #vp-portal #home-live-picks > .vp-item:nth-child(n+4) { left:24px; }
}
@media(max-width:760px) {
  #vp-portal[data-page=home] #home-live-picks { grid-auto-columns:80%; }
  #vp-portal[data-page=home] #home-picks { grid-auto-columns:calc((100% - 28px) / 2.2); }
  #vp-portal #home-live-picks .vp-name { font-size:14px; }
}
/* Saving is omitted from the portal design. */
#vp-portal :is([data-save],[data-saved-count],#saved-notice,a[href*="saved=1"]) {
  display:none !important;
}
/* Shared collection navigation, matching the private curation tab treatment. */
#vp-portal .preview-discovery-nav {
  display:flex;
  align-items:stretch;
  gap:42px;
  overflow-x:auto;
  scrollbar-width:thin;
  border-bottom:1px solid #393637;
  margin:5px 0 30px;
}
#vp-portal .preview-discovery-nav a {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  min-height:56px;
  padding:9px 0 17px;
  border-bottom:3px solid transparent;
  color:#aba7a5;
  font-size:18px;
  font-weight:400;
  line-height:1.4;
  text-decoration:none;
  white-space:nowrap;
}
#vp-portal .preview-discovery-nav a[aria-current=page] {
  color:#d2829b;
  border-bottom-color:#d2829b;
}
#vp-portal .preview-discovery-nav a:focus-visible {
  outline:2px solid #d2829b;
  outline-offset:-5px;
}
@media(hover:hover) {
  #vp-portal .preview-discovery-nav a:hover { color:#f5f2f0; }
  #vp-portal .preview-discovery-nav a[aria-current=page]:hover { color:#d2829b; }
}
@media(max-width:600px) {
  #vp-portal .preview-discovery-nav { gap:25px; margin-bottom:24px; }
  #vp-portal .preview-discovery-nav a { min-height:50px; font-size:15px; padding-bottom:13px; }
}

#vp-portal[data-page=home] .site-hero {
  display:flex; flex-direction:column; align-items:center;
  --preview-stack-gap:clamp(36px,4vw,48px);
  gap:var(--preview-stack-gap);
  padding:var(--preview-stack-gap) 12px;
}
#vp-portal .site-hero h1.preview-hero-title {
  max-width:none; white-space:nowrap; font-size:clamp(25px,5vw,60px);
}
/* Approved smoky homepage entrances. The text stays above the moving light. */
#vp-portal[data-page=home] .preview-smoke-section {
  display:flex; flex-direction:column; gap:var(--preview-stack-gap);
  width:100%; margin:0; padding:0;
}
#vp-portal .preview-smoke-choices {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
  width:min(100%,460px); margin:0 auto;
}
#vp-portal .preview-announcement {
  overflow:hidden; box-sizing:border-box;
  width:min(100%,600px); margin:0 auto; padding:0;
  border:0; background:none; text-align:left;
  mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
  color:#aba7a5; font-size:12px; font-weight:300; line-height:1.5;
}
#vp-portal .preview-ticker-track {
  display:flex; width:max-content; animation:preview-news-scroll 32s linear infinite;
}
#vp-portal .preview-announcement[data-page-reveal=pending] .preview-ticker-track {
  animation-play-state:paused;
}
#vp-portal .preview-ticker-group {
  display:flex; flex-shrink:0;
}
#vp-portal .preview-ticker-item {
  display:flex; align-items:center; gap:32px; padding-right:32px; white-space:nowrap;
}
@keyframes preview-news-scroll { to { transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce) {
  #vp-portal .preview-ticker-track { animation:none; }
}
#vp-portal .preview-announcement-dot {
  width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:#d2829b;
}
#vp-portal[data-page=home] .preview-smoke-choice {
  display:flex; align-items:center; justify-content:center;
  position:relative; isolation:isolate; overflow:hidden;
  box-sizing:border-box; width:100%; min-width:0; min-height:52px; padding:13px 20px;
  border:1px solid #d2829b45; border-radius:6px;
  background:#211f20; color:#f5f2f0; font:inherit; font-size:16px; line-height:1.4;
  letter-spacing:0; text-align:left; text-decoration:none;
  box-shadow:inset 0 1px 0 #f5f2f012,0 10px 30px #0002;
  transition:border-color .45s,box-shadow .45s,transform .3s;
}
#vp-portal .preview-smoke-choice::before {
  content:''; position:absolute; z-index:-2; inset:-100% -45%;
  background:radial-gradient(ellipse at 27% 58%,#d2829b66,transparent 29%),radial-gradient(ellipse at 65% 45%,#d2829b38,transparent 31%),radial-gradient(ellipse at 52% 70%,#f5f2f024,transparent 25%);
  filter:blur(18px); opacity:.7; transform:rotate(-15deg);
  animation:preview-smoke-flow 12s ease-in-out infinite alternate; transition:opacity .5s;
}
#vp-portal .preview-smoke-choice::after {
  content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit;
  background:linear-gradient(120deg,#17171615,#17171680 48%,#17171620); pointer-events:none;
}
#vp-portal .preview-smoke-choice:nth-child(2)::before { animation-delay:-6s; animation-direction:alternate-reverse; }
#vp-portal .preview-smoke-content { display:flex; align-items:center; justify-content:center; gap:12px; white-space:nowrap; }
#vp-portal .preview-smoke-arrow { display:grid; place-items:center; width:16px; height:16px; color:var(--vp-accent); flex-shrink:0; transition:transform .4s,color .4s; }
#vp-portal[data-page=home] .preview-smoke-choice:is(:focus-visible,.is-tap-feedback) { border-color:#d2829b; box-shadow:inset 0 1px 0 #f5f2f018,0 8px 35px #d2829b12; }
#vp-portal .preview-smoke-choice:is(:focus-visible,.is-tap-feedback)::before { opacity:1; }
#vp-portal .preview-smoke-choice.is-tap-feedback .preview-smoke-arrow { transform:translateX(4px); color:var(--vp-text); }
@media(hover:hover) {
  html:not(.touch-input) #vp-portal[data-page=home] .preview-smoke-choice:hover { border-color:#d2829b; box-shadow:inset 0 1px 0 #f5f2f018,0 8px 35px #d2829b12; }
  html:not(.touch-input) #vp-portal .preview-smoke-choice:hover::before { opacity:1; }
  html:not(.touch-input) #vp-portal .preview-smoke-choice:hover .preview-smoke-arrow { transform:translateX(4px); color:var(--vp-text); }
}
@keyframes preview-smoke-flow {
  0% {transform:translate(-7%,3%) rotate(-18deg) scale(1);}
  50% {transform:translate(4%,-8%) rotate(2deg) scale(1.12);}
  100% {transform:translate(9%,5%) rotate(14deg) scale(1.05);}
}
@media(max-width:560px) {
  #vp-portal .preview-smoke-choices { gap:10px; }
  #vp-portal[data-page=home] .preview-smoke-choice { min-height:48px; font-size:14px; padding:12px 14px; }
  #vp-portal .preview-smoke-content { gap:12px; }
}
@media(max-width:400px) {
  #vp-portal .preview-smoke-choices { grid-template-columns:1fr; width:min(100%,220px); }
}
@media(prefers-reduced-motion:reduce) {
  #vp-portal .preview-smoke-choice::before { animation:none; }
  #vp-portal[data-page=home] .preview-smoke-choice,#vp-portal .preview-smoke-arrow { transition:none; }
}

#vp-portal .preview-announcement a { color:inherit; text-decoration:none; }
#vp-portal .preview-announcement a:hover { color:#d2829b; }
#vp-portal .preview-announcement a:focus-visible { outline:1px solid #d2829b; outline-offset:2px; }

#vp-portal .preview-announcement:focus-within .sr-only {
  position:static; width:auto; height:auto; margin:0; overflow:visible; clip-path:none; white-space:normal;
}
#vp-portal .preview-announcement:focus-within .preview-ticker-track { display:none; }

#vp-portal .home-live-status{font-size:12px;line-height:1.5;color:#aaa;margin:5px 0 0}#vp-portal .home-live-status span{color:#d2829b;margin-right:5px;font-size:9px}

/* Homepage models use the approved in-card preview, with no stream on entry. */
#vp-portal #home-live-picks .home-live-picture{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:6px;outline:1px solid transparent;outline-offset:0;background:var(--vp-surface)}
#vp-portal #home-live-picks .is-previewing .home-live-picture{outline-color:var(--vp-accent)}
#vp-portal #home-live-picks .home-live-picture .vp-discovery-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
#vp-portal #home-live-picks .home-live-picture .vp-discovery-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#vp-portal #home-live-picks .home-live-picture iframe{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;border:0;opacity:0;transition:opacity .3s ease;pointer-events:none}
#vp-portal #home-live-picks .home-live-picture iframe.ready{opacity:1;pointer-events:auto}
#vp-portal .home-live-play{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;background:#17171699;pointer-events:none}
#vp-portal .home-live-play::before{content:"";position:absolute;left:14px;top:11px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--vp-text)}
#vp-portal .is-previewing .home-live-play{visibility:hidden}
#vp-portal #home-live-picks .vp-discovery-caption{padding-top:6px}
#vp-portal .home-live-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}
#vp-portal .home-live-caption .vp-name{min-width:0;margin:0}
#vp-portal .home-live-caption .vp-name a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#vp-portal .home-live-room{flex-shrink:0;white-space:nowrap;font-size:13px;font-weight:300;line-height:1.5;color:var(--vp-accent);text-decoration:none}
@media(max-width:850px){#vp-portal #home-live-picks .vp-discovery-caption{position:relative}#vp-portal .home-live-room{position:absolute;right:0;bottom:0;font-size:12px}}
@media(prefers-reduced-motion:reduce){#vp-portal #home-live-picks .home-live-picture iframe{transition:none}}

/* Use the same silver actions as catalogue pages, with compact section sizing. */
#vp-portal[data-page=home] .site-section-head>a.vp-visit{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 17px;font-size:14px;line-height:1.4;white-space:nowrap;text-decoration:none}
@media(min-width:761px){#vp-portal[data-page=home] #home-live-picks{row-gap:26px}}


/* Homepage section navigation uses the approved quiet dark/rose control. */
#vp-portal[data-page=home] .site-section-head>a.home-view-all{border-radius:5px;background:var(--vp-bg);color:var(--vp-accent);border:1px solid #d2829b66;box-shadow:0 4px 20px #0003;gap:12px;min-height:44px;padding:10px 17px;font-size:14px;font-weight:400;line-height:1.4}
#vp-portal[data-page=home] .site-section-head>a.home-view-all>.portal-arrow{display:block;flex:0 0 16px;width:16px;height:16px;margin:0;color:inherit;stroke:currentColor}
#vp-portal[data-page=home] .site-section-head>a.home-view-all:hover{border-color:var(--vp-accent);background:var(--vp-bg)}


/* Match the name row, including on coarse-pointer browsers with 44px defaults. */
#vp-portal #home-live-picks .vp-discovery-caption>.connected-toy{top:6px;bottom:auto;width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px;touch-action:manipulation}

/* Keep the larger hero on one line within the phone gutters. */
@media(max-width:760px){
 #vp-portal .site-hero h1.preview-hero-title{font-size:min(34px,calc(8.6vw - 5.5px))}
}
