/* UW3D Featured Sites — keeps the established v0.1 shell width and typography. */
.uw3d2-sites{padding-top:39px;padding-bottom:38px}
.uw3d2-sites__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.uw3d2-sites__header h2{font-size:20px;line-height:1.4;letter-spacing:.4px;font-weight:900;color:#e8f5fc;display:flex;align-items:center;gap:16px;margin:0}
.uw3d2-sites__header h2>i{height:2px;width:30px;background:var(--uw-orange);display:block;flex:none}
.uw3d2-sites__actions{display:flex;align-items:center;gap:15px}
.uw3d2-sites__actions>a{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--uw-cyan)}
.uw3d2-sites__actions>a .uw3d2-icon{width:17px;height:17px}
.uw3d2-sites__actions>a:hover{color:#fff}
.uw3d2-sites__arrows{display:flex;gap:8px}
.uw3d2-sites__arrows button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #1d6075;background:#071f2c;color:var(--uw-cyan);padding:8px}
.uw3d2-sites__arrows button:first-child svg{transform:rotate(180deg)}
.uw3d2-sites__arrows button:disabled{opacity:.3}
.uw3d2-sites__arrows button:hover:not(:disabled){border-color:var(--uw-orange);color:var(--uw-orange)}
.uw3d2-sites__viewport{max-width:100%}
.uw3d2-sites__grid{display:grid;grid-template-columns:repeat(var(--uw3d2-sites-cols,3),minmax(0,1fr));gap:16px;align-items:stretch}
.uw3d2-sites--centered .uw3d2-sites__grid{max-width:calc(var(--uw3d2-sites-cols,3) * 440px + (var(--uw3d2-sites-cols,3) - 1) * 16px);margin-inline:auto}
.uw3d2-sites--carousel .uw3d2-sites__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:1px;padding:8px 1px 12px;margin-top:-8px;scrollbar-width:thin;scrollbar-color:#23617b transparent}
.uw3d2-sites--carousel .uw3d2-sites__grid{display:flex;width:max-content;min-width:100%;gap:16px}
.uw3d2-sites--carousel .uw3d2-site-card{flex:0 0 min(34vw,420px);width:min(34vw,420px);scroll-snap-align:start}
.uw3d2-site-card{min-width:0;display:flex;flex-direction:column;background:linear-gradient(145deg,#061c28,#04131e);border:1px solid #1c6175;border-radius:9px;overflow:hidden;transition:border-color .27s,transform .27s,box-shadow .27s;box-shadow:0 0 14px #00f1fe09}
.uw3d2-site-card:hover,.uw3d2-site-card:has(:focus-visible){transform:translateY(-5px);border-color:var(--uw-orange);box-shadow:0 8px 28px #ff69002d,0 0 22px #ff690019}
.uw3d2-site-card__image{height:205px;position:relative;background:radial-gradient(circle at 54% 26%,#063e50,#03121a 85%);overflow:hidden}
.uw3d2-site-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--uw3d2-site-x,50%) var(--uw3d2-site-y,50%);transform:scale(var(--uw3d2-site-zoom,1));transition:transform .3s}
.uw3d2-site-card__image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#04152110,#04152105 58%,#021019aa)}
.uw3d2-site-card__type,.uw3d2-site-card__depth{position:absolute;z-index:2;top:12px;background:#031621ec;border:1px solid #22637b;border-radius:5px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;color:#e6f8fb;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.uw3d2-site-card__type{left:12px}.uw3d2-site-card__depth{right:12px}
.uw3d2-site-card__type .uw3d2-site-icon,.uw3d2-site-card__depth .uw3d2-site-icon{width:18px;height:18px;color:var(--uw-cyan)}
.uw3d2-site-card__empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#3dbdc6;font-size:10px;letter-spacing:1.5px;background-image:linear-gradient(#1a587122 1px,transparent 1px),linear-gradient(90deg,#1a587122 1px,transparent 1px);background-size:23px 23px}
.uw3d2-site-card__empty svg{width:70px;height:70px;opacity:.72}
.uw3d2-site-card__body{flex:1;display:flex;flex-direction:column;padding:16px 18px 18px}
.uw3d2-site-card__body h3{font-size:23px;font-weight:900;line-height:1.2;color:#f2fbff;margin:0 0 6px;text-transform:uppercase}
.uw3d2-site-card__location{margin:0 0 15px;color:var(--uw-cyan);display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.5px;font-weight:700;text-transform:uppercase}
.uw3d2-site-card__location .uw3d2-icon{width:16px;height:16px;color:var(--uw-orange);flex:none}
.uw3d2-site-card__stats{border-top:1px solid #245366;border-bottom:1px solid #245366;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:12px 0 11px;margin-bottom:14px;row-gap:14px}
.uw3d2-site-card__stat{display:flex;align-items:center;gap:7px;min-width:0;padding-right:6px}
.uw3d2-site-card__stat .uw3d2-site-icon{color:var(--uw-cyan);width:23px;height:23px;flex:none}
.uw3d2-site-card__stat-text{min-width:0;display:flex;flex-direction:column;gap:3px}
.uw3d2-site-card__stat strong{font-size:14px;white-space:nowrap;color:#f3fbff}
.uw3d2-site-card__stat small{font-size:9px;line-height:1.35;color:#abd3df;overflow-wrap:anywhere;letter-spacing:.3px;text-transform:uppercase;font-weight:700}
.uw3d2-site-card__cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:39px;border-radius:6px;background:var(--uw-cyan);color:#002331;font-size:11px;font-weight:900;padding:10px 13px;transition:background .18s,color .18s}
.uw3d2-site-card__cta .uw3d2-icon{width:18px;height:18px}
.uw3d2-site-card__cta:hover,.uw3d2-site-card__cta:focus-visible{background:var(--uw-orange);color:#081820}
.uw3d2-site-card__cta--disabled{opacity:.65;cursor:default}
.uw3d2-sites__hint{margin:14px 0 0;color:#9bbac5;font-size:12px}
.uw3d2-site-single{padding:45px 0 75px}
.uw3d2-site-single__back{display:inline-flex;align-items:center;gap:5px;color:var(--uw-cyan);font-size:12px}
.uw3d2-site-single__heading{font-size:clamp(32px,4vw,60px);line-height:1.1;margin:20px 0 8px}
.uw3d2-site-single__location{color:var(--uw-cyan);margin:0 0 26px}
.uw3d2-site-single__photo{width:100%;max-height:460px;object-fit:cover;border:1px solid #19586e;border-radius:10px}
.uw3d2-site-single__body{max-width:950px;line-height:1.75;color:#b4d4df;margin:24px 0 35px}
.uw3d2-site-single__scans{margin:30px 0}
.uw3d2-site-single__scans h2{font-size:21px;margin:0 0 22px}
.uw3d2-site-single__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.uw3d2-site-single__empty{color:#98b8c5}
@media(max-width:1050px){.uw3d2-sites__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uw3d2-sites--carousel .uw3d2-site-card{flex-basis:min(47vw,420px);width:min(47vw,420px)}.uw3d2-site-single__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.uw3d2-sites{padding-top:30px;padding-bottom:24px}.uw3d2-sites__header h2{font-size:17px}.uw3d2-sites__header h2>i{width:20px}.uw3d2-sites__grid{grid-template-columns:1fr}.uw3d2-sites--carousel .uw3d2-site-card{flex-basis:min(86vw,420px);width:min(86vw,420px)}.uw3d2-site-card__body h3{font-size:20px}.uw3d2-site-card__image{height:190px}.uw3d2-site-single__grid{grid-template-columns:1fr}.uw3d2-sites__actions>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.uw3d2-site-card,.uw3d2-site-card__image img{transition:none!important}}

.uw3d2-site-single__type{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--uw-cyan);margin:22px 0}.uw3d2-site-single__type .uw3d2-site-icon{color:var(--uw-orange);height:25px;width:25px}

/* v0.1.10: individually configurable site labels, icons, card typography. */
.uw3d2-site-card__badges{position:absolute;inset:12px 12px auto;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;pointer-events:none}
.uw3d2-site-card__badges .uw3d2-site-card__type,.uw3d2-site-card__badges .uw3d2-site-card__depth{position:static;pointer-events:auto;max-width:64%;font-size:var(--uw-card-label-size,11px);line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.uw3d2-site-card__badges:has(> .uw3d2-site-card__depth:only-child){justify-content:flex-end}
.uw3d2-site-card__badges .uw3d2-site-card__depth span{display:flex;flex-wrap:wrap;column-gap:4px}
.uw3d2-site-card__badges .uw3d2-site-card__depth b{color:#fff}
.uw3d2-site-card__badges .uw3d2-site-icon,.uw3d2-site-card__badges .uw3d2-icon{height:20px;width:20px;color:var(--uw-card-icon-color,var(--uw-cyan));flex:none}
.uw3d2-site-card__body h3{font-size:var(--uw-card-title-size,23px);color:var(--uw-card-title-color,#f2fbff);text-transform:none;overflow-wrap:anywhere}
.uw3d2-site-card__location{color:var(--uw-card-text-color,#fff);font-size:var(--uw-card-label-size,11px);text-transform:none;letter-spacing:.25px}
.uw3d2-site-card__location svg{height:18px;width:18px;flex:none;color:var(--uw-card-icon-color,var(--uw-orange))}
.uw3d2-site-card__stats{grid-template-columns:repeat(var(--uw3d2-stat-cols,3),minmax(0,1fr));gap:13px 6px}
.uw3d2-site-card__stat{align-items:center;gap:7px;min-width:0}
.uw3d2-site-card__stat svg{width:24px;height:24px;flex:none;color:var(--uw-card-icon-color,var(--uw-cyan))}
.uw3d2-site-card__stat-text{gap:3px;min-width:0;overflow-wrap:anywhere}
.uw3d2-site-card__stat strong{font-size:var(--uw-card-value-size,14px);color:var(--uw-card-text-color,#fff);white-space:normal;line-height:1.24}
.uw3d2-site-card__stat small{font-size:var(--uw-card-label-size,11px);font-weight:700;line-height:1.38;color:var(--uw-card-text-color,#fff);text-transform:none;letter-spacing:.12px}
.uw3d2-site-card__map-link{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none}
.uw3d2-site-card__map-link:hover{text-decoration:underline;text-decoration-color:var(--uw-cyan)}
@media(max-width:650px){.uw3d2-site-card__stat small{font-size:clamp(10px,var(--uw-card-label-size,11px),13px)}.uw3d2-site-card__stats{gap:13px 5px}}
.uw3d2-site-card__stat .uw3d2-site-icon,.uw3d2-site-card__stat .uw3d2-icon{width:24px;height:24px;flex:none;color:var(--uw-card-icon-color,var(--uw-cyan))}
.uw3d2-site-card__location .uw3d2-icon,.uw3d2-site-card__location .uw3d2-site-icon{width:18px;height:18px;color:var(--uw-card-icon-color,var(--uw-orange))}

/* v0.1.11 — Featured Sites matches Featured Scans: orange half-card glow
   on pointer hover (or keyboard focus-visible), cyan CTA gradient. */
.uw3d2-site-card{position:relative;isolation:isolate}
.uw3d2-site-card::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  border-radius:inherit;opacity:0;
  background:radial-gradient(ellipse 75% 70% at 0% 50%,
     color-mix(in srgb,var(--uw-orange) 23%,transparent),transparent 84%);
  box-shadow:inset 2px 0 12px color-mix(in srgb,var(--uw-orange) 21%,transparent);
  transition:opacity .33s ease;
}
.uw3d2-site-card:hover::before,.uw3d2-site-card:has(:focus-visible)::before{opacity:1}
.uw3d2-site-card__image,.uw3d2-site-card__body{position:relative;z-index:2}
.uw3d2-site-card__cta:not(.uw3d2-site-card__cta--disabled){
  background:linear-gradient(115deg,
    color-mix(in srgb,var(--uw-cyan) 74%,#ffffff),
    var(--uw-cyan) 55%,
    color-mix(in srgb,var(--uw-cyan) 71%,#063047));
  color:#001923;border:1px solid color-mix(in srgb,var(--uw-cyan) 70%,#ffffff);
  box-shadow:inset 0 1px 0 #ffffff47,0 3px 12px color-mix(in srgb,var(--uw-cyan) 15%,transparent);
  transition:filter .22s ease,box-shadow .22s ease;
}
.uw3d2-site-card__cta:not(.uw3d2-site-card__cta--disabled):is(:hover,:focus-visible){
  background:linear-gradient(115deg,
    color-mix(in srgb,var(--uw-cyan) 74%,#ffffff),
    var(--uw-cyan) 55%,
    color-mix(in srgb,var(--uw-cyan) 71%,#063047));
  color:#001923;filter:brightness(1.1);
  box-shadow:0 0 17px color-mix(in srgb,var(--uw-cyan) 26%,transparent);
}
.uw3d2-site-card__cta .uw3d2-icon{width:21px;height:21px;stroke-width:2.6}
@media(prefers-reduced-motion:reduce){.uw3d2-site-card::before{transition:none!important}}

/* v0.1.13 — cyan gradient matching View Scan, white external-link icon. */
.uw3d2-site-card__cta:not(.uw3d2-site-card__cta--disabled){
  background:linear-gradient(112deg,
    color-mix(in srgb,var(--uw-cyan) 22%,#061a25) 0%,
    color-mix(in srgb,var(--uw-cyan) 53%,#06303f) 56%,
    color-mix(in srgb,var(--uw-cyan) 88%,#035169) 100%);
  color:#fff;border:1px solid color-mix(in srgb,var(--uw-cyan) 76%,#264d66);
  box-shadow:inset 0 1px 0 #ffffff27,0 2px 10px #00000040;
  filter:none;transition:filter .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.uw3d2-site-card__cta:not(.uw3d2-site-card__cta--disabled):is(:hover,:focus-visible){
  background:linear-gradient(112deg,
    color-mix(in srgb,var(--uw-cyan) 32%,#061a25) 0%,
    color-mix(in srgb,var(--uw-cyan) 65%,#06303f) 56%,
    color-mix(in srgb,var(--uw-cyan) 95%,#035169) 100%);
  color:#fff;box-shadow:0 0 19px color-mix(in srgb,var(--uw-cyan) 37%,transparent),inset 0 1px 0 #ffffff47;
  filter:brightness(1.08);
}
.uw3d2-site-card__cta .uw3d2-icon{color:#fff;stroke:#fff;opacity:1;width:22px;height:22px;stroke-width:2.5}
