/* vitrine da camiseta no card do ingresso e galeria (components/tshirt-gallery.js) */
.tshirt-showcase{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;margin:6px 0 4px;cursor:pointer;border-radius:12px;padding:8px;background:oklch(98% 0.003 260);border:1px solid var(--card-border)}
.tshirt-showcase:focus-visible{outline:2px solid var(--ticket-color,var(--accent));outline-offset:2px}
.tshirt-showcase-imgs{display:flex;gap:4px;justify-content:center}
.tshirt-showcase-imgs img{flex:1 1 0;min-width:0;max-width:33%;height:auto;display:block}
.tshirt-showcase-cta{font:700 12.5px var(--font-body);color:oklch(25% 0.02 260);text-align:center}
.tshirt-showcase:hover .tshirt-showcase-cta{text-decoration:underline}
.tshirt-gallery{display:flex;flex-direction:column;gap:12px;align-items:center}
.tshirt-title{margin:0;font:700 18px var(--font-display);color:oklch(97% 0.005 260);text-align:center}
.tshirt-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.tshirt-stage{width:100%;max-width:420px;border-radius:14px;overflow:hidden;background:#fff}
.tshirt-stage img{display:block;width:100%;height:auto}
.tshirt-note{margin:0;font:500 12.5px/1.5 var(--font-body);color:var(--muted);text-align:center}

/* guia de tamanhos (components/tshirt-sizes.js) */
.tshirt-sizes{max-width:880px;margin:72px auto 64px;padding:0 24px;scroll-margin-top:16px}
.tshirt-sizes[hidden]{display:none}
.ts-head{text-align:center;margin-bottom:22px}
.ts-badge{display:inline-block;margin-bottom:14px;font:800 13px var(--font-body);letter-spacing:.14em;color:oklch(92% 0.13 95);border:1.5px solid color-mix(in oklch,var(--google-yellow) 70%,transparent);background:color-mix(in oklch,var(--google-yellow) 16%,transparent);border-radius:100px;padding:7px 18px}
.ts-head h2{margin:0 0 12px;font:800 clamp(2rem,6vw,3rem)/1.08 var(--font-display);color:oklch(99% 0.003 260);letter-spacing:-.01em}
.ts-head h2 span{background:linear-gradient(90deg,var(--google-yellow),var(--google-green));-webkit-background-clip:text;background-clip:text;color:transparent}
.ts-head p{margin:0 auto;max-width:620px;font:500 clamp(1rem,2.6vw,1.2rem)/1.55 var(--font-body);color:oklch(90% 0.01 260)}
.ts-head p strong{display:block;margin-top:4px;font-weight:800;color:oklch(98% 0.005 260)}
.ts-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 16px}
.ts-body{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;align-items:center;border:1px solid var(--card-border);border-radius:var(--radius);padding:18px;background:linear-gradient(180deg,var(--card-a),var(--card-b))}
.ts-figure{display:flex;justify-content:center}
.ts-diagram{width:100%;max-width:280px;height:auto}
.ts-shirt{fill:oklch(22% 0.015 260);stroke:oklch(60% 0.02 260);stroke-width:2.5;stroke-linejoin:round}
.ts-collar{fill:none;stroke:oklch(60% 0.02 260);stroke-width:2.5}
.ts-height line,.ts-height path{stroke:var(--google-red);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ts-width line,.ts-width path{stroke:var(--google-blue);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ts-height text{fill:var(--google-red);font:800 15px var(--font-body);paint-order:stroke;stroke:oklch(16% 0.02 260);stroke-width:5px}
.ts-width text{fill:var(--google-blue);font:800 15px var(--font-body);paint-order:stroke;stroke:oklch(16% 0.02 260);stroke-width:5px}
.ts-table-wrap{overflow-x:auto}
.ts-table{width:100%;border-collapse:collapse;font:600 15px var(--font-body);color:var(--text);text-align:center}
.ts-table th,.ts-table td{padding:9px 10px;border-bottom:1px solid var(--card-border)}
.ts-table thead th{font:700 12px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ts-table thead th:nth-child(2){color:var(--google-red)}
.ts-table thead th:nth-child(3){color:var(--google-blue)}
.ts-table tbody th{font:800 17px var(--font-display);color:oklch(97% 0.005 260)}
.ts-table tbody tr:nth-child(even){background:color-mix(in oklch,var(--card-border) 35%,transparent)}
.ts-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.ts-note{display:flex;gap:12px;align-items:flex-start;border-radius:var(--radius);padding:14px 16px;border:1px solid var(--card-border);background:linear-gradient(180deg,var(--card-a),var(--card-b))}
.ts-note .icon{flex:none;width:26px;height:26px}
.ts-note p{margin:0;font:500 15px/1.55 var(--font-body);color:oklch(90% 0.01 260)}
.ts-note strong{display:block;margin-bottom:2px;font:800 15.5px var(--font-display);color:oklch(98% 0.005 260)}
.ts-note--warn{align-items:center;border-color:color-mix(in oklch,var(--google-yellow) 60%,transparent);background:color-mix(in oklch,var(--google-yellow) 11%,transparent)}
.ts-note--warn .icon{color:var(--google-yellow)}
.ts-note--warn p{font:700 15.5px/1.45 var(--font-body);color:oklch(96% 0.07 95)}
.ts-note--tip .icon{color:var(--google-green)}
@media (max-width:640px){.ts-notes{grid-template-columns:1fr}}
.ts-link{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 4px;padding:10px 14px;border:1.5px solid var(--ticket-color,var(--accent));border-radius:100px;background:color-mix(in oklch,var(--ticket-color,var(--accent)) 12%,transparent);font:700 13.5px var(--font-body);color:var(--ticket-color,var(--accent));text-decoration:none;transition:background .15s ease}
.ts-link:hover{background:color-mix(in oklch,var(--ticket-color,var(--accent)) 22%,transparent)}
.ts-link .icon{width:18px;height:18px}
.ts-link::after{content:"\2193";font-weight:800}
@media (max-width:640px){.ts-body{grid-template-columns:1fr}}
