.featured-strip { --gg-featured-card-height:336px;position:relative;height:auto;border-bottom:1px solid var(--gg-border);background:var(--gg-bg);overflow:hidden; }
.featured-strip[hidden] { display:none; }
.featured-inner { max-width:1272px;margin:0 auto;padding:16px 26px; }
.featured-heading { min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px; }
.featured-heading-copy { min-width:0; }
.featured-eyebrow { position:relative;display:inline-block;padding:1px 6px;border:1px solid var(--gg-border);border-radius:var(--gg-radius-xs);margin-bottom:4px;color:var(--gg-text-1);font:700 10px/1.2 var(--gg-font-display);letter-spacing:.14em;text-transform:uppercase; }
.featured-heading h2 { margin:0;font:600 22px/1.2 var(--gg-font-display);letter-spacing:-.025em; }
.featured-scroll-tools { display:flex;gap:6px; }
.featured-scroll-tools button { height:44px;width:44px;min-width:44px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:transparent;color:var(--gg-text-1);font-size:20px;cursor:pointer; }
.featured-scroll-tools button:disabled { visibility:hidden; }
.featured-cards { display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--gg-border-strong) transparent;padding:2px 0 10px;max-width:100%; }
.featured-card { flex:0 0 calc((100% - 48px)/4);min-width:0;height:var(--gg-featured-card-height);display:flex;flex-direction:column;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);overflow:hidden;scroll-snap-align:start;transition:background-color .15s ease; }
.featured-gig { color:var(--gg-text-1);text-decoration:none;display:block;min-width:0; }
.featured-photo,.featured-art { position:relative;width:100%;height:128px;overflow:hidden; }
.featured-photo>img { width:100%;height:100%;object-fit:contain;display:block;background:var(--gg-surface-2); }
.featured-art { display:flex;align-items:center;justify-content:center;background:var(--gg-surface-2); }
.featured-art>img { width:48px;height:48px; }
.featured-copy { padding:12px 14px 0; }
.featured-copy h3 { font:600 16px/20px var(--gg-font-display);letter-spacing:-.015em;margin:0;height:60px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3; }
.featured-venue { font-size:13px;line-height:17px;height:34px;margin:4px 0 6px;color:var(--gg-text-2);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.featured-date { margin:0;font:500 12px/18px var(--gg-font-display);color:var(--gg-text-2); }
.featured-buy { margin-top:auto;padding:6px 14px 12px;display:flex;align-items:center;gap:10px; }
.featured-price { flex:1;min-width:0;margin:0;font-size:12px;line-height:16px;color:var(--gg-text-2); }
.featured-ticket { position:relative;flex:none;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--gg-border-strong);border-radius:var(--gg-radius);background:transparent;color:var(--gg-text-1);font:600 12px/1.25 var(--gg-font-display);text-decoration:none; }
.featured-gig:hover h3 { text-decoration:underline; }
.featured-card:focus-within { background:var(--gg-surface-2); }
.featured-card[hidden] { display:none; }
.featured-city { display:none; }
.featured-filters { display:flex;gap:6px;overflow-x:auto;max-width:100%;margin:0 0 12px;scrollbar-width:none; }
.featured-filters button { flex:none;min-height:36px;padding:6px 14px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);color:var(--gg-text-2);font:500 12px/1.2 var(--gg-font-display);cursor:pointer; }
.featured-filters button[aria-pressed="true"] { background:var(--gg-text-1);border-color:var(--gg-text-1);color:var(--gg-bg); }
.featured-filters button:hover { color:var(--gg-text-1);background:var(--gg-surface-2); }
.featured-filters button[aria-pressed="true"]:hover { background:var(--gg-text-1);color:var(--gg-bg); }
.featured-multiple { height:auto;min-height:0; }
.featured-multiple .featured-placeholder { height:calc(var(--gg-featured-card-height) + 120px); }
.featured-multiple { --gg-featured-card-height:360px; }
.featured-multiple .featured-card { height:var(--gg-featured-card-height); }
.featured-multiple .featured-city { display:block;margin:0 0 5px;font:600 10px/14px var(--gg-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--gg-text-2); }
.featured-empty { min-height:336px;margin:0;padding:32px 0;color:var(--gg-text-2);font-size:14px; }
.featured-cards { animation:featured-reveal .3s ease-out both; }
@keyframes featured-reveal { from { opacity:0; } to { opacity:1; } }
@media(hover:hover) and (pointer:fine) {
 .featured-card:hover { background:var(--gg-surface-2); }
 .featured-ticket:hover,.featured-scroll-tools button:hover { background:var(--gg-surface-3);border-color:var(--gg-text-3);color:white; }
}
.featured-cards:focus-visible,.featured-strip a:focus-visible,.featured-strip button:focus-visible { outline:2px solid var(--gg-link);outline-offset:-3px; }
/* Original 2px rainbow edge; ticket interactions turn once while the featured label retains its supplied motion. */
@property --gg-featured-ring-angle { syntax:"<angle>";inherits:false;initial-value:0deg; }
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor) {
 .featured-ticket::before,.featured-eyebrow::before {
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;
  background:conic-gradient(from var(--gg-featured-ring-angle),var(--gg-rainbow-stops));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  pointer-events:none;opacity:0;transition:opacity .15s ease;
 }
 .featured-eyebrow::before { padding:1px;opacity:1;transition:none;animation:featured-ring-turn calc(var(--gg-rainbow-spin) * 2) linear infinite; }
 .featured-ticket:focus-visible::before { opacity:1;animation:featured-ring-turn 4s linear 1; }
 @media(hover:hover) and (pointer:fine) {
  .featured-ticket:hover::before { opacity:1;animation:featured-ring-turn 4s linear 1; }
 }
 @keyframes featured-ring-turn { to { --gg-featured-ring-angle:360deg; } }
}
.featured-placeholder { height:calc(var(--gg-featured-card-height) + 72px); }
.featured-credit { position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.8);color:#fff;font-size:10px;line-height:1.2;padding:2px 4px; }
.page-home main>.featured-strip { height:auto;margin-top:28px;margin-bottom:24px;border:0; }
.page-home main>.featured-multiple { height:auto;min-height:0; }
.page-home main>.featured-strip .featured-inner { padding:0; }
.page-gig main>.featured-strip .featured-inner { max-width:1080px; }
@media(max-width:1100px) and (min-width:760px) { .featured-card { flex-basis:calc((100% - 32px)/3); } }
@media(max-width:900px) and (min-width:760px) { .featured-card { flex-basis:calc((100% - 16px)/2); } }
@media(max-width:759px) {
 .featured-strip { --gg-featured-card-height:202px; }
 .featured-inner { padding:12px 16px; }
 .featured-heading { min-height:64px;gap:8px;margin-bottom:8px; }
 .featured-heading h2 { font-size:17px;line-height:21px; }
 .featured-eyebrow { font-size:10px;margin-bottom:3px; }
 .featured-cards { position:relative;gap:12px;padding:2px 0 10px;scroll-snap-type:x mandatory; }
 .featured-card { flex-basis:calc(100% - 28px);height:var(--gg-featured-card-height);padding:12px;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:8px 12px;scroll-snap-stop:always; }
 .featured-gig { display:contents; }
 .featured-photo,.featured-art { grid-column:1;grid-row:1;height:96px;border-radius:var(--gg-radius);align-self:start; }
 .featured-photo>img { object-fit:contain; }
 .featured-art { width:32px;height:40px;align-items:flex-start;justify-content:flex-start;background:transparent; }
 .featured-card:has(.featured-art) { grid-template-columns:32px minmax(0,1fr); }
 .featured-art>img { width:28px;height:28px; }
 .featured-credit { font-size:10px;padding:3px; }
 .featured-copy { grid-column:2;grid-row:1;min-width:0;padding:0; }
 .featured-copy h3 { font-size:16px;line-height:20px;height:auto;max-height:60px; }
 .featured-venue { font-size:13px;line-height:17px;height:34px;margin:5px 0; }
 .featured-date { font-size:12px;line-height:18px; }
 .featured-buy { grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:8px;margin:0;padding:0; }
 .featured-price { font-size:12px;line-height:16px; }
 .featured-price:empty { display:none; }
 .featured-ticket { margin-left:auto;min-width:84px;padding:8px 12px;font-size:13px;line-height:18px;text-align:center; }
 .featured-placeholder { height:calc(var(--gg-featured-card-height) + 84px); }
 .page-home main>.featured-strip { height:auto;margin-top:24px;margin-bottom:16px; }
 .featured-filters { margin-bottom:10px;gap:6px; }
 .featured-filters button { min-height:44px;padding:6px 13px;font-size:13px; }
 .featured-multiple { --gg-featured-card-height:224px;min-height:0; }
 .featured-multiple .featured-placeholder { height:calc(var(--gg-featured-card-height) + 138px); }
 .page-home main>.featured-multiple { min-height:0; }
 .featured-multiple .featured-city { font-size:11px;line-height:15px;margin-bottom:3px; }
 .featured-empty { min-height:var(--gg-featured-card-height); }
}
@media(prefers-reduced-motion:reduce) { .featured-cards { scroll-behavior:auto;animation:none; }.featured-card,.featured-ticket::before { transition:none; }.featured-ticket::before,.featured-eyebrow::before { animation:none!important; } }
.featured-art .featured-credit{display:none}
@media(min-width:760px){
 .featured-card:has(.featured-art) .featured-gig{display:flex;align-items:flex-start;gap:12px;padding:14px}
 .featured-card:has(.featured-art) .featured-art{width:32px;height:40px;flex:none;justify-content:flex-start;background:transparent}
 .featured-card:has(.featured-art) .featured-art>img{width:28px;height:32px}
 .featured-card:has(.featured-art) .featured-copy{min-width:0;padding:0}
}
