@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=GFS+Didot&display=swap');
/* One header contract; independent of app, WooCommerce and WordPress block styles. */
.tshirthub-site-header { width:100%; margin:0; padding:0; border:0; }
.tsh-shared-header { --tsh-header-accent:#d12665; width:100%; margin:0; font:400 12px/1.5 'DM Sans','Segoe UI',Arial,sans-serif; color:#171717; }
.tsh-shared-header *, .tsh-shared-header *::before, .tsh-shared-header *::after { box-sizing:border-box; }
.tsh-shared-header [hidden] { display:none!important; }
.tsh-shared-header :is(a,button,summary) { font:inherit; cursor:pointer; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.tsh-shared-header button { appearance:none; border:0; box-shadow:none; background:none; }
.tsh-shared-header svg { display:block; width:20px; height:20px; flex-shrink:0; }
.tsh-shared-header :is(a,button,summary):focus-visible { outline:2px solid #d12665; outline-offset:4px; }
.tsh-shared-header .shop-topbar { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:42px; margin:0; padding:7px max(28px,calc((100% - 1180px)/2)); background:#fff; color:#595959; border:0; border-bottom:1px solid #e3e3e3; font-size:12px; line-height:1.5; }
.tsh-shared-header .topbar-account { display:flex; align-items:center; gap:17px; }
.tsh-shared-header .shop-topbar a { display:inline-flex; align-items:center; gap:6px; color:#595959; padding:0; }
body .tsh-shared-header .shop-topbar a:is(:hover,:focus-visible) { color:#171717; text-decoration:underline; text-underline-offset:3px; }
.tsh-shared-header .topbar-account svg { width:14px; height:14px; }
.tsh-shared-header .language-picker { display:flex; align-items:center; justify-content:center; gap:5px; margin:0; }
.tsh-shared-header .language-picker button { display:grid; place-items:center; width:34px; height:28px; margin:0; padding:4px; border:1px solid transparent; border-radius:4px; background:transparent; opacity:1; }
.tsh-shared-header .language-picker button[aria-pressed="true"] { background:#f2f2f2; border-color:#767676; }
.tsh-shared-header .language-picker button:hover { background:#ededed; border-color:#767676; }
.tsh-shared-header .language-picker svg { width:20px; height:14px; border-radius:1px; }
.tsh-shared-header .site-header { position:relative; z-index:10; display:flex; align-items:center; justify-content:flex-start; gap:24px; width:100%; height:64px; min-height:64px; margin:0; padding:0 max(28px,calc((100% - 1180px)/2)); border:0; border-bottom:1px solid #222; background:#000; color:#fff; }
.tsh-shared-header .site-header .brand { display:flex; align-items:center; flex-shrink:0; gap:0; margin:0; padding:0; color:#fff; background:transparent; font-size:23px; font-weight:750; line-height:1; letter-spacing:-1.15px; white-space:nowrap; }
.tsh-shared-header .brand .brand-ai { color:#ed5c91; font-weight:500; }
.tsh-shared-header .site-header .desktop-nav { display:flex; align-items:center; gap:20px; margin:0; padding:0; flex-wrap:nowrap; }
.tsh-shared-header .site-header .nav-link { position:relative; display:inline-flex; align-items:center; gap:6px; margin:0; padding:10px 0; color:#f4f4f4; background:transparent; border:0; border-radius:0; font-size:12px; font-weight:400; line-height:1.5; white-space:nowrap; }
.tsh-shared-header .site-header .nav-link::after { display:none; }
.tsh-shared-header .site-header .nav-link.active:not(.studio-nav) { text-decoration:underline; text-underline-offset:7px; text-decoration-color:#ed5c91; text-decoration-thickness:2px; }
.tsh-shared-header .site-header .nav-link:is(:hover,:focus-visible) { color:#fff; text-decoration:underline; text-underline-offset:7px; }
.tsh-shared-header .site-header .desktop-nav .studio-nav { display:inline-flex; align-items:center; justify-content:center; gap:7px; height:34px; min-height:34px; padding:0 14px; border:1px solid #666; border-radius:18px; background:#202020; color:#fff; font-size:12px; font-weight:600; line-height:1; transform:none; }
.tsh-shared-header .site-header .desktop-nav .studio-nav::before { display:none; }
.tsh-shared-header .site-header .desktop-nav .studio-nav.active { background:#d12665; border-color:#d12665; }
.tsh-shared-header .site-header .desktop-nav .studio-nav:is(:hover,:focus-visible) { color:#fff; background:#343434; border-color:#888; text-decoration:none; }
.tsh-shared-header .site-header .studio-nav svg { width:14px; height:14px; }
.tsh-shared-header .header-actions { display:flex; align-items:center; flex-wrap:nowrap; gap:14px; margin:0 0 0 auto; padding:0; }
.tsh-shared-header .site-header .saved-nav { display:inline-flex; align-items:center; gap:8px; padding:8px 0; margin:0; color:#fff; background:transparent; font-size:11px; font-weight:400; white-space:nowrap; }
.tsh-shared-header .saved-nav svg { width:17px; height:17px; }
.tsh-shared-header .site-header .bag-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; position:relative; width:auto; min-width:44px; height:38px; margin:0; padding:0 13px; border:1px solid #767676; border-radius:24px; color:#fff; background:#111; white-space:nowrap; }
.tsh-shared-header .site-header .bag-button:is(:hover,:focus-visible) { background:#303030; color:#fff; }
.tsh-shared-header .cart-header-summary { color:inherit; font-size:11px; font-weight:600; line-height:1; }
.tsh-shared-header .cart-header-icon { position:relative; display:grid; place-items:center; }
.tsh-shared-header .cart-header-icon svg { width:20px; height:20px; }
.tsh-shared-header .site-header .icon-button { align-items:center; justify-content:center; flex-shrink:0; border-radius:8px; }
.tsh-shared-header .site-header .mobile-menu { display:none; width:40px; height:40px; padding:8px; color:#fff; background:transparent; }
.tsh-shared-header .site-header .mobile-menu:is(:hover,:focus-visible), .tsh-shared-header .site-header .saved-nav:is(:hover,:focus-visible) { color:#fff; background:#252525; }
.tsh-shared-header .site-header :is(a,button,summary):focus-visible { outline-color:#fff; }
.tsh-shared-header .tsh-header-shop { position:relative; }
.tsh-shared-header .tsh-header-shop>summary { list-style:none; }
.tsh-shared-header .tsh-header-shop>summary::-webkit-details-marker { display:none; }
.tsh-shared-header .tsh-header-shop>summary svg { width:13px; height:13px; }
.tsh-shared-header .tsh-header-shop[open]>summary svg { transform:rotate(180deg); }
.tsh-shared-header .tsh-header-shop-menu { position:absolute; top:calc(100% + 8px); left:-16px; min-width:210px; padding:8px; border:1px solid #d6d6d6; border-radius:8px; background:#fff; color:#171717; box-shadow:0 10px 28px #0002; }
.tsh-shared-header .tsh-header-shop-menu a { display:block; padding:10px 12px; border-radius:4px; color:#171717; font-size:13px; }
body .tsh-shared-header .tsh-header-shop-menu a:is(:hover,:focus-visible) { background:#f0f0f0; color:#171717; outline-color:#d12665; }
.tsh-shared-header .tsh-header-dialog { box-sizing:border-box; position:fixed; inset:0 0 0 auto; margin:0; padding:24px; width:min(390px,100%); max-width:100%; height:100%; max-height:100dvh; overflow:auto; border:0; border-left:1px solid #d6d6d6; border-radius:0; background:#fff; color:#171717; font:400 14px/1.5 'DM Sans','Segoe UI',Arial,sans-serif; }
.tsh-shared-header .tsh-header-dialog::backdrop { background:#0008; }
.tsh-shared-header .tsh-header-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 18px; }
.tsh-shared-header .tsh-header-dialog h2 { margin:0; color:#171717; font:600 24px/1.3 'DM Sans','Segoe UI',Arial,sans-serif; }
.tsh-shared-header .tsh-header-dialog .icon-button { display:grid; place-items:center; width:40px; height:40px; padding:9px; border:1px solid #767676; border-radius:50%; background:#fff; color:#171717; }
.tsh-shared-header .tsh-header-dialog .icon-button:hover { background:#ededed; }
.tsh-shared-header .tsh-header-mobile-nav { display:flex; flex-direction:column; gap:2px; }
.tsh-shared-header .tsh-header-mobile-nav :is(a,button) { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; margin:0; padding:11px 12px; border:0; border-radius:5px; background:#fff; color:#171717; text-align:left; font-size:15px; line-height:1.5; }
body .tsh-shared-header .tsh-header-mobile-nav :is(a,button):is(:hover,:focus-visible) { background:#efefef; color:#171717; }
.tsh-shared-header .tsh-header-mobile-nav .tsh-header-sub { padding-left:28px; color:#595959; font-size:13px; }
.tsh-shared-header .tsh-header-mobile-language { margin-top:18px; padding-top:18px; border-top:1px solid #ddd; }
.tsh-shared-header .tsh-header-mobile-language .language-picker { justify-content:flex-start; gap:10px; }
.tsh-shared-header .tsh-header-mobile-language .language-picker button { width:44px; height:40px; }
@media(max-width:1100px) and (min-width:901px) {
    .tsh-shared-header .site-header { gap:18px; padding-inline:24px; }
    .tsh-shared-header .site-header .desktop-nav { gap:15px; }
    .tsh-shared-header .header-actions { gap:10px; }
    .tsh-shared-header .site-header .brand { font-size:22px; }
    .tsh-shared-header .saved-label { display:none; }
    .tsh-shared-header .site-header .saved-nav { width:36px; height:36px; justify-content:center; }
}
@media(max-width:900px) {
    .tsh-shared-header .shop-topbar, .tsh-shared-header .site-header .desktop-nav { display:none; }
    .tsh-shared-header .site-header { height:60px; min-height:60px; padding-inline:20px; gap:12px; }
    .tsh-shared-header .site-header .brand { font-size:21px; letter-spacing:-1px; }
    .tsh-shared-header .header-actions { gap:6px; }
    .tsh-shared-header .site-header .mobile-menu { display:inline-flex; }
    .tsh-shared-header .site-header .saved-nav { display:inline-flex; align-items:center; justify-content:center; width:36px; height:40px; padding:8px; border-radius:8px; }
    .tsh-shared-header .saved-label { display:none; }
    .tsh-shared-header .site-header .bag-button { height:38px; padding-inline:10px; gap:6px; }
}
@media(max-width:480px) {
    .tsh-shared-header .site-header { padding-inline:16px; gap:8px; }
    .tsh-shared-header .site-header .brand { font-size:20px; }
    .tsh-shared-header .header-actions { gap:3px; }
    .tsh-shared-header .cart-header-summary { display:none; }
    .tsh-shared-header .site-header .bag-button { width:40px; min-width:40px; height:38px; padding:8px; }
}
@media(max-width:359px) { .tsh-shared-header .site-header .brand { font-size:18px; } .tsh-shared-header .site-header { padding-inline:12px; gap:5px; } }
@media(prefers-reduced-motion:reduce) { .tsh-shared-header * { transition:none!important; } }
