/* Tournament Storefront V3: browsing first, buying only after customer intent. */

@font-face {
  font-family: "Bebas Neue";
  src: url("/static/fonts/BebasNeue-Regular.woff2") format("woff2");
  font-display: swap;
}

.ts3SleevePrompt { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 14px; padding:14px; border:1px solid rgba(212,170,72,.42); border-radius:14px; background:linear-gradient(135deg,rgba(212,170,72,.13),rgba(13,27,42,.92)); }
.ts3SleevePrompt > div:first-child { display:grid; gap:3px; }
.ts3SleevePrompt b { color:#fff2c7; font-size:16px; }
.ts3SleevePrompt small { color:#b7c2d1; }
.ts3SleeveActions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.ts3SleeveActions button { min-height:38px; padding:0 12px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:#111d2b; color:#f6f8fb; font-weight:850; cursor:pointer; }
.ts3SleeveActions button.selected { border-color:#d4aa48; background:rgba(212,170,72,.2); color:#ffe6a0; }
.ts3RewardChoices { display:grid; gap:10px; }
.ts3RewardChoice { display:grid; grid-template-columns:auto 76px minmax(0,1fr); align-items:center; gap:11px; padding:10px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(255,255,255,.035); cursor:pointer; }
.ts3RewardChoice:has(input:checked) { border-color:#d4aa48; background:rgba(212,170,72,.12); }
.ts3RewardChoice input { width:20px; height:20px; accent-color:#d4aa48; }
.ts3RewardChoice img { width:76px; height:58px; object-fit:cover; border-radius:8px; }
.ts3RewardChoice span { display:grid; gap:3px; }
.ts3RewardChoice b { color:#fff; }
.ts3RewardChoice small { color:#b7c2d1; }
.ts3ProductShowcase { grid-column:1/-1; display:grid; gap:12px; margin:0 0 8px; padding:16px; border:1px solid rgba(212,170,72,.36); border-radius:16px; background:linear-gradient(145deg,rgba(16,30,46,.98),rgba(7,15,25,.98)); box-shadow:0 12px 28px rgba(0,0,0,.22); }
.ts3ProductShowcaseHead { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.ts3ProductShowcaseHead>div:first-child { display:grid; gap:3px; }
.ts3ProductShowcaseHead b { color:#f0c65b; font-family:"Bebas Neue",Impact,sans-serif; font-size:25px; letter-spacing:.04em; }
.ts3ProductShowcaseHead span { color:#d9e2ee; font-size:13px; }
.ts3ProductShowcaseBadges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.ts3ProductShowcaseBadges span { padding:6px 9px; border:1px solid rgba(39,198,119,.46); border-radius:999px; background:rgba(20,152,88,.14); color:#82f1b7; font-size:11px; font-weight:900; white-space:nowrap; }
.ts3ProductShowcaseItems { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; min-height:104px; }
.ts3ProductShowcaseItems figure { min-width:0; margin:0; padding:6px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:#060d16; }
.ts3ProductShowcaseItems img { display:block; width:100%; height:92px; object-fit:contain; border-radius:6px; background:#02060a; }
.ts3ProductShowcaseItems figcaption { margin-top:5px; color:#dce5ef; font-size:10px; font-weight:800; text-align:center; }
.ts3ProductShowcaseLoading { grid-column:1/-1; display:grid; place-items:center; min-height:104px; color:#9eabba; font-size:12px; }
.ts3ProductShowcase>p { margin:0; color:#aebac9; font-size:12px; }
.ts3ProductShowcase>p b { color:#fff; }

@media (max-width:680px) {
  .ts3SleevePrompt { align-items:stretch; flex-direction:column; }
  .ts3SleeveActions { justify-content:stretch; }
  .ts3SleeveActions button { flex:1 1 120px; }
  .ts3ProductShowcase { padding:13px; }
  .ts3ProductShowcaseHead { display:grid; }
  .ts3ProductShowcaseBadges { justify-content:flex-start; }
  .ts3ProductShowcaseItems { grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; }
  .ts3ProductShowcaseItems figure:nth-child(n+5) { display:none; }
  .ts3ProductShowcaseItems img { height:84px; }
}

body.tournamentStorefrontV3 #secPhotos .toolbarSalesGrid,
body.tournamentStorefrontV3 #secPhotos .pricePanel,
body.tournamentStorefrontV3 #secViewer .viewerSalesGrid,
body.tournamentStorefrontV3 #secViewer .viewerUpsellTeaser,
body.tournamentStorefrontV3 #secViewer .viewerUrgency,
body.tournamentStorefrontV3 #stickyCountdownBar,
body.tournamentStorefrontV3 #smsConsentModal,
body.tournamentStorefrontV3 #favNudgeModal,
body.tournamentStorefrontV3 #teamBuyNudgeModal {
  display: none !important;
}

body.tournamentStorefrontV3 #secAccount {
  display: none !important;
}

body.tournamentStorefrontV3 #btnHeaderFavourites,
body.tournamentStorefrontV3 #btnViewFavourites {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 46px;
  border-color: rgba(218,177,79,.5);
  background: linear-gradient(180deg, rgba(22,34,54,.96), rgba(14,24,39,.96));
  color: #f1f4f9;
  opacity: 1 !important;
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionUnsaved::before,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionUnsaved::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f0bd4d;
  box-shadow: 0 0 0 4px rgba(240,189,77,.12);
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionSaved,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionSaved {
  border-color: rgba(75,207,137,.42);
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionSaved b,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionSaved {
  color: #74e3a7;
}

body.tournamentStorefrontV3 #btnHeaderFavourites.ts3CollectionEmpty,
body.tournamentStorefrontV3 #btnViewFavourites.ts3CollectionEmpty {
  color: #f4d481;
}

body.tournamentStorefrontV3 #secPhotos .sectionHead {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: start;
  margin-bottom: 8px;
}

body.tournamentStorefrontV3 #secPhotos .sectionHead > div:first-child { min-width: 0; }

body.tournamentStorefrontV3 .ts3SectionActions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

body.tournamentStorefrontV3 .thumbGameControl {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.28);
}
body.tournamentStorefrontV3 .thumbGameControl .thumbSelect {
  min-width: 220px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.tournamentStorefrontV3 .thumbGameControl .thumbCount {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  margin-right: 9px;
  padding: 0 10px;
  border-left: 1px solid rgba(255,255,255,.12);
  color: #f5d681;
}

body.tournamentStorefrontV3 .ts3CollectionSummary {
  margin-top: 6px;
  color: #aeb8c8;
  font-size: 13px;
  font-weight: 750;
}

body.tournamentStorefrontV3 .ts3CollectionSave {
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-color: rgba(218,177,79,.62);
  background: linear-gradient(180deg, #162236, #101a29);
  color: #f4d481;
  font-weight: 900;
}

body.tournamentStorefrontV3 .ts3CollectionOptions {
  position: relative;
  align-items: center;
}

body.tournamentStorefrontV3 .ts3CollectionOptionsButton {
  min-width: 48px;
  min-height: 46px;
  padding: 0 12px;
  color: #d5dce8;
  font-size: 17px;
  letter-spacing: 2px;
}

body.tournamentStorefrontV3 .ts3CollectionOptionsMenu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 7px);
  right: 0;
  width: 220px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  background: #101b2b;
  box-shadow: 0 18px 42px rgba(0,0,0,.45);
}

body.tournamentStorefrontV3 .ts3CollectionOptionsMenu button {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #edf2f8;
  text-align: left;
  font-weight: 850;
  cursor: pointer;
}

body.tournamentStorefrontV3 .ts3CollectionOptionsMenu button:hover,
body.tournamentStorefrontV3 .ts3CollectionOptionsMenu button:focus-visible {
  background: rgba(255,255,255,.07);
}

body.tournamentStorefrontV3 #btnPrebookSelectedTeam {
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border: 1px solid rgba(218,177,79,.62);
  background: linear-gradient(180deg, #162236, #101a29);
  color: #f4d481;
  font-weight: 900;
}

body.tournamentStorefrontV3 #btnViewerHeart {
  display: none !important;
}

body.tournamentStorefrontV3 .ts3FocusPrompt {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 82px;
  margin: 12px 0 16px;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid rgba(43,157,104,.5);
  border-left: 4px solid #16995c;
  border-radius: 12px;
  background: linear-gradient(105deg, rgba(13,39,36,.96), rgba(14,27,45,.97) 68%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

body.tournamentStorefrontV3 .ts3FocusPromptIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(40,189,118,.5);
  border-radius: 12px;
  background: rgba(22,153,92,.18);
  color: #7ee0ad;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
}

body.tournamentStorefrontV3 .ts3FocusPromptCopy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

body.tournamentStorefrontV3 .ts3FocusPromptCopy b {
  color: #fff;
  font-size: clamp(21px, 1.65vw, 24px);
  line-height: 1.12;
}

body.tournamentStorefrontV3 .ts3FocusPromptBody {
  color: #d5ddea;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.3;
}

body.tournamentStorefrontV3 .ts3FocusPromptActions {
  display: grid;
  justify-items: stretch;
  min-width: 172px;
}

body.tournamentStorefrontV3 .ts3FocusPromptButton {
  min-height: 48px;
  padding: 0 18px;
  border-color: #28bd76;
  background: linear-gradient(180deg, #16995c, #107443);
  color: #fff;
  font-size: 15px;
  font-weight: 1000;
  white-space: nowrap;
}

body.tournamentStorefrontV3 .ts3FocusInlinePrompt {
  grid-column: 1 / -1;
  width: 100%;
  margin: 5px 0;
}

body.tournamentStorefrontV3 .ts3FocusInlinePrompt-middle {
  min-height: 78px;
  background: linear-gradient(105deg, rgba(13,39,36,.94), rgba(13,25,41,.97) 68%);
}

body.tournamentStorefrontV3 .ts3FocusInlinePrompt-bottom {
  min-height: 84px;
  margin-top: 7px;
  margin-bottom: 8px;
  background: linear-gradient(135deg, rgba(14,31,48,.98), rgba(11,47,38,.96));
}

body.tournamentStorefrontV3 .ts3FocusGamePrompt {
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 11px;
  min-height: 70px;
  margin: 2px 0;
  padding: 10px 12px;
  border-color: rgba(43,157,104,.4);
  background: linear-gradient(105deg, rgba(13,36,34,.92), rgba(14,27,45,.94) 72%);
}

body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptIcon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 23px;
}

body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptCopy b { font-size: 21px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptBody { font-size: 15px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptActions { min-width: 184px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptButton { min-height: 46px; }

body.tournamentStorefrontV3 .ts3FocusInlinePrompt-mobile {
  display: none;
}

body.tournamentStorefrontV3 .ts3PlayerPackagePrompt {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin:0 0 16px; padding:13px 14px; border:1px solid rgba(83,139,205,.52);
  border-left:4px solid #4f91df; border-radius:12px;
  background:linear-gradient(105deg,rgba(24,52,84,.96),rgba(13,26,44,.98));
}
body.tournamentStorefrontV3 .ts3PlayerPackagePrompt>div { display:grid; gap:4px; min-width:0; }
body.tournamentStorefrontV3 .ts3PlayerPackagePrompt b { color:#fff; font-size:21px; line-height:1.15; }
body.tournamentStorefrontV3 .ts3PlayerPackagePrompt span { color:#c9d8e9; font-size:14px; }
body.tournamentStorefrontV3 .ts3PlayerPackagePrompt button { flex:0 0 auto; min-height:46px; white-space:nowrap; }
/* Match the two purchase actions in the game gallery. */
body.tournamentStorefrontV3 .ts3FocusGamePrompt,
body.tournamentStorefrontV3 .ts3PlayerPackageInline {
  box-sizing:border-box;
  width:100%;
  min-height:72px;
  margin:7px 0;
  padding:12px 14px;
  border-radius:13px;
}
body.tournamentStorefrontV3 .ts3PlayerPackageInline {
  border:1px solid rgba(43,157,104,.4);
  border-left:4px solid #279b63;
  background:linear-gradient(105deg,rgba(13,36,34,.92),rgba(14,27,45,.94) 72%);
}
body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptCopy b,
body.tournamentStorefrontV3 .ts3PlayerPackageInline b { font-size:20px; }
body.tournamentStorefrontV3 .ts3FocusGamePrompt .chipBtn,
body.tournamentStorefrontV3 .ts3PlayerPackageInline .chipBtn {
  min-height:46px;
  padding:0 17px;
  border-radius:14px;
  background:linear-gradient(180deg,#1ca563,#117b4c);
  border:1px solid #21b372;
  color:#fff;
  font-family:inherit;
  font-weight:800;
}

/* The three package actions share one compact row treatment in both views. */
body.tournamentStorefrontV3 .ts3GalleryPromoGroup {
  grid-column: 1 / -1;
  display: grid;
  gap: 9px;
  min-width: 0;
  width: 100%;
  margin: 8px 0 18px;
}
body.tournamentStorefrontV3 .ts3GalleryPromoGroup:last-child { margin: 20px 0 8px; }
body.tournamentStorefrontV3 #gameList > .ts3FocusGamePrompt,
body.tournamentStorefrontV3 #gameList > .ts3PlayerPackageInline,
body.tournamentStorefrontV3 .ts3GalleryPromoGroup > .ts3FocusPrompt,
body.tournamentStorefrontV3 .ts3GalleryPromoGroup > .ts3PlayerPackageInline {
  box-sizing: border-box;
  min-height: 75px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 13px;
}
body.tournamentStorefrontV3 #gameList > .ts3FocusGamePrompt:first-of-type { margin-top: 14px; }
body.tournamentStorefrontV3 .ts3TeamBuyPrompt {
  border: 1px solid rgba(230,190,110,.62);
  border-left: 4px solid #ddb75c;
  background: linear-gradient(105deg,rgba(50,43,28,.94),rgba(20,31,45,.98));
}
body.tournamentStorefrontV3 .ts3TeamBuyPrompt .chipBtn {
  border-color: #e8ca83;
  background: linear-gradient(180deg,#d7b45e,#b38b36);
  color: #121b24;
  font-weight: 950;
}
body.tournamentStorefrontV3 .ts3TeamPhotoBookingPrompt {
  border:1px solid rgba(214,171,89,.62);
  border-left:4px solid #ca9a45;
  background:linear-gradient(105deg,rgba(43,39,30,.94),rgba(19,32,46,.98));
}
body.tournamentStorefrontV3 .ts3TeamPhotoBookingPrompt[hidden] { display:none; }
body.tournamentStorefrontV3 .ts3TeamPhotoBookingPrompt b { color:#ffe19a; }
body.tournamentStorefrontV3 .ts3TeamPhotoBookingPrompt .chipBtn {
  border-color:#d4ba79;
  background:linear-gradient(180deg,#d7b45e,#b38b36);
  color:#121b24;
  font-weight:900;
}
body.tournamentStorefrontV3 .ts3FocusPromptCopy .ts3FocusPromptBody {
  display: block;
  font-weight: 500;
  font-size: 14px;
  color: #c9d8e9;
}
body.tournamentStorefrontV3 #secPhotos #btnFocusRequestGrid,
body.tournamentStorefrontV3 #secPhotos #btnPlayerPackageGrid { display: none !important; }
@media (max-width: 680px) {
  body.tournamentStorefrontV3 .ts3GalleryPromoGroup > .ts3PlayerPackageInline,
  body.tournamentStorefrontV3 #gameList > .ts3PlayerPackageInline {
    align-items: stretch;
    flex-direction: column;
  }
  body.tournamentStorefrontV3 .ts3GalleryPromoGroup .ts3PlayerPackageInline button,
  body.tournamentStorefrontV3 #gameList > .ts3PlayerPackageInline button { width: 100%; }
}
body.tournamentStorefrontV3 .ts3PlayerPackageInline { grid-column:1/-1; margin:8px 0; }
body.tournamentStorefrontV3 #btnTournamentInfo { width:auto; min-width:max-content; max-width:none; white-space:nowrap; overflow:visible; }

body.tournamentStorefrontV3 #btnTournamentHowToBuyGrid,
body.tournamentStorefrontV3 #btnTournamentHowToBuyViewer {
  align-items: center;
  justify-content: center;
  border-color: rgba(202,162,74,.56);
  background: rgba(202,162,74,.12);
  color: #f4d481;
}

body.tournamentStorefrontV3 .ts3PlayerPackageButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid rgba(255,225,151,.72);
  background: linear-gradient(180deg, #e4bf62, #b98a2c);
  color: #101722;
  font-weight: 950;
  box-shadow: 0 8px 22px rgba(185,138,44,.22), inset 0 1px 0 rgba(255,255,255,.3);
}

body.tournamentStorefrontV3 .ts3PlayerPackageButton:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

body.tournamentStorefrontV3 .ts3CollectionReset {
  min-height: 36px;
  padding: 7px 10px;
  border-color: rgba(255,255,255,.11);
  background: transparent;
  color: #95a2b5;
  font-size: 12px;
  font-weight: 750;
}

body.tournamentStorefrontV3 .ts3SavedState { color: #72e6a5; font-weight: 900; }
body.tournamentStorefrontV3 .ts3UnsavedState { color: #f0c45e; font-weight: 900; }

body.tournamentStorefrontV3 #secPhotos .photoGrid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 26px;
  width: min(100%, 760px);
  margin: 0 auto;
}

body.tournamentStorefrontV3 #secPhotos .photoTile {
  border-radius: 20px;
  overflow: visible;
  padding-bottom: 62px;
  background: #07101d;
}

body.tournamentStorefrontV3 #secPhotos .photoTile img {
  height: auto !important;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 18px 18px 0 0;
}

body.tournamentStorefrontV3 .photoHeart.photoTagChild {
  top: auto;
  right: 10px;
  bottom: 10px;
  width: auto;
  min-width: 178px;
  height: 42px;
  padding: 0 17px;
  border-radius: 12px;
  background: linear-gradient(180deg, #27364b, #1a2637);
  border-color: rgba(190,205,226,.32);
  color: #edf3fb;
  font-size: 15px;
  font-weight: 850;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

body.tournamentStorefrontV3 .photoHeart.photoTagChild.on {
  background: linear-gradient(180deg, #1aa761, #117844);
  border-color: rgba(126,236,178,.5);
  color: #fff;
  box-shadow: 0 10px 22px rgba(17,120,68,.28), inset 0 1px 0 rgba(255,255,255,.1);
}

body.tournamentStorefrontV3 .photoCart {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  top: auto !important;
  right: auto !important;
  left: 10px !important;
  bottom: 10px !important;
  width: auto !important;
  min-width: 150px;
  height: 42px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(255,225,151,.68) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #e4bf62, #b98a2c) !important;
  color: #101722 !important;
  font-size: 15px !important;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .01em;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
  box-shadow: 0 10px 24px rgba(185,138,44,.24), inset 0 1px 0 rgba(255,255,255,.34) !important;
  transition: filter .16s ease, transform .16s ease;
}

body.tournamentStorefrontV3 .photoCart:hover,
body.tournamentStorefrontV3 .photoHeart.photoTagChild:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

body.tournamentStorefrontV3 #btnViewerCart {
  display: none !important;
}

.ts3FieldLabel {
  display: grid;
  gap: 7px;
  margin-top: 13px;
  color: #d8dfeb;
  font-weight: 850;
}

.ts3FieldLabel span {
  color: #8f9caf;
  font-size: 12px;
  font-weight: 650;
}

.ts3FieldLabel input {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 12px;
  background: #07101d;
  color: #fff;
  font: inherit;
}

.ts3TextAction {
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d7b251;
  font-weight: 800;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

body.tournamentStorefrontV3 #secViewer .viewerActionRow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

body.tournamentStorefrontV3.viewerMode #secViewer {
  box-sizing: border-box;
}

body.tournamentStorefrontV3 #secViewer .viewerShell {
  grid-template-areas:
    "header"
    "sponsor"
    "image"
    "actions";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 8px;
}

body.tournamentStorefrontV3 #secViewer .viewerHeaderBar { grid-area: header; }
body.tournamentStorefrontV3 #secViewer #viewerSponsorMount { grid-area: sponsor; }
body.tournamentStorefrontV3 #secViewer .viewerImageRow { grid-area: image; }
body.tournamentStorefrontV3 #secViewer .viewerActionRow { grid-area: actions; }

body.tournamentStorefrontV3 #secViewer .viewerTopActions .chipBtn {
  min-height: 40px;
  padding-right: 11px;
  padding-left: 11px;
  font-size: 14px;
}

body.tournamentStorefrontV3 #btnBuySingle::first-letter {
  text-transform: uppercase;
}

body.tournamentStorefrontV3 #btnFav {
  background: linear-gradient(180deg, #27364b, #1a2637) !important;
  border-color: rgba(190,205,226,.32) !important;
  color: #edf3fb !important;
  opacity: 1;
}

body.tournamentStorefrontV3 #btnFav.isTagged {
  background: linear-gradient(180deg, #1aa761, #117844) !important;
  border-color: rgba(126,236,178,.5) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(17,120,68,.28) !important;
}

body.tournamentStorefrontV3 #btnBuySingle {
  background: linear-gradient(180deg, #e4bf62, #b98a2c) !important;
  border-color: rgba(255,225,151,.68) !important;
  color: #101722 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
}

body.tournamentStorefrontV3 #btnBuyMy {
  background: linear-gradient(180deg, #162236, #101a29) !important;
  border-color: rgba(218,177,79,.62) !important;
  color: #f4d481 !important;
}

body.tournamentStorefrontV3 #btnBuyTeam {
  grid-column: auto;
  min-height: 48px;
  background: linear-gradient(180deg, #162236, #101a29) !important;
  border-color: rgba(218,177,79,.62) !important;
  color: #f4d481 !important;
}

body.tournamentStorefrontV3 #btnBuyTeam::after {
  content: "";
}

.ts3Modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 12px;
  background: rgba(2,7,14,.88);
  backdrop-filter: blur(10px);
}

.ts3ConfirmShade { position: fixed; inset: 0; z-index: 13000; display: grid; place-items: center; padding: 18px; background: rgba(0,0,0,.72); }
.ts3ConfirmCard { width: min(460px,100%); padding: 22px; border: 1px solid rgba(239,194,88,.48); border-radius: 18px; background: #0d192a; box-shadow: 0 28px 80px rgba(0,0,0,.7); }
.ts3ConfirmCard h3 { margin: 0 0 7px; font-size: 23px; }
.ts3ConfirmCard p { margin: 0 0 18px; color: #b9c4d5; line-height: 1.5; }
.ts3ConfirmCard > div { display: flex; justify-content: flex-end; gap: 10px; }

.ts3PlayerCoverageCard { width: min(650px,100%); padding: 0; max-height: calc(100dvh - 30px); overflow: auto; }
.ts3PlayerCoverageCard > div { display: block; }
.ts3PlayerCoverageHead { padding: 20px 22px 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.ts3PlayerCoverageHead small { display: block; margin-bottom: 6px; color: #e4bd63; font-weight: 850; letter-spacing: .08em; }
.ts3PlayerCoverageHead h3 { margin-bottom: 4px; }
.ts3PlayerCoverageHead span { color: #b7c4d7; }
.ts3PlayerCoverageBody { padding: 18px 22px 20px; }
.ts3PlayerCoverageBody > strong { display: block; margin-bottom: 14px; font-size: 16px; line-height: 1.45; }
.ts3PlayerCoverageBody > p { margin: 0 0 14px; }
.ts3PlayerCoverageVenues { margin-bottom: 13px; padding: 13px 15px; border: 1px solid #34445b; border-radius: 12px; background: #121f31; }
.ts3PlayerCoverageVenues > b { display: block; margin-bottom: 6px; color: #e4bd63; font-size: 12px; }
.ts3PlayerCoverageVenues > div + div { margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.12); }
.ts3PlayerCoverageVenues strong { display: block; }
.ts3PlayerCoverageVenues span,.ts3PlayerCoverageVenues small { display: block; color: #b7c4d7; }
.ts3PlayerCoverageVenues p { margin: 0; }
.ts3PlayerCoverageCheck { display: flex; gap: 11px; align-items: flex-start; padding: 12px 14px; border: 1px solid #316e58; border-radius: 11px; background: #0e2a28; cursor: pointer; font-weight: 700; }
.ts3PlayerCoverageCheck input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #15995d; cursor: pointer; }
.ts3PlayerCoverageCard > .ts3PlayerCoverageFoot { display: flex; justify-content: flex-start; gap: 9px; flex-wrap: wrap; padding: 15px 22px; border-top: 1px solid rgba(255,255,255,.1); }
.ts3PlayerCoverageFoot [data-player-coverage-help] { margin-right: auto; }
.ts3PlayerCoverageFoot .ts3Primary:disabled { opacity: .5; cursor: default; }
@media(max-width:480px){.ts3PlayerCoverageHead,.ts3PlayerCoverageBody,.ts3PlayerCoverageCard > .ts3PlayerCoverageFoot{padding-left:16px;padding-right:16px}.ts3PlayerCoverageFoot .ts3Primary{flex:1;min-width:170px}}

.ts3Card {
  width: min(920px, 100%);
  max-height: min(900px, calc(100dvh - 24px));
  overflow: auto;
  border: 1px solid rgba(202,162,74,.42);
  border-radius: 22px;
  background: linear-gradient(180deg, #111d31, #08111f);
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
}

.ts3Head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: rgba(13,24,41,.97);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.ts3Head h2 { margin: 0; font-size: clamp(23px, 4vw, 32px); }
.ts3Head p { margin: 5px 0 0; color: #aeb8ca; line-height: 1.4; }
.ts3Close { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #fff; font-size: 25px; cursor: pointer; }
.ts3Body { padding: 20px; }
.ts3Tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.ts3Tab { min-height: 58px; border-radius: 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.04); color: #fff; font-size: 16px; font-weight: 900; cursor: pointer; }
.ts3Tab.on { background: linear-gradient(180deg, #2c72ff, #1651cc); border-color: #73a1ff; }
.ts3ShippingBanner { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 10px; align-items: center; margin-bottom: 16px; padding: 13px 15px; border: 1px solid rgba(112,231,164,.38); border-radius: 14px; background: linear-gradient(135deg, rgba(21,139,77,.24), rgba(18,64,49,.18)); color: #eafff1; }
.ts3ShippingBanner > span { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; background: #179b55; color: #fff; font-weight: 1000; }
.ts3ShippingBanner b { font-size: 16px; }
.ts3ShippingBanner small { margin-top: 2px; color: #b8d9c5; }
.ts3ShippingBanner.pending { border-color: rgba(224,187,99,.42); background: linear-gradient(135deg,rgba(146,102,25,.22),rgba(78,57,18,.15)); color: #fff1c9; }
.ts3ShippingBanner.pending > span { background: #bd8b2d; }
.ts3ShippingBanner.pending small { color: #decda5; }
.ts3Options { display: grid; gap: 12px; }
.ts3Option { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.035); cursor: pointer; }
.ts3Option.selected { border-color: #d7b054; background: rgba(202,162,74,.11); box-shadow: inset 0 0 0 1px rgba(202,162,74,.24); }
.ts3Option input { width: 22px; height: 22px; margin-top: 2px; }
.ts3Option h3 { margin: 0; font-size: 18px; }
.ts3Option p { margin: 6px 0 0; color: #b4bdcc; font-size: 14px; line-height: 1.4; }
.ts3Price { font-size: 20px; font-weight: 950; white-space: nowrap; color: #f0cf78; }
.ts3Badge { display: inline-block; margin-top: 7px; padding: 4px 8px; border-radius: 999px; background: #1c6c40; font-size: 12px; font-weight: 900; }
.ts3ProductJumpTabs { position: sticky; top: 76px; z-index: 1; margin: -2px 0 18px; padding: 8px 0 12px; background: #0b1526; }
.ts3ProductSection { scroll-margin-top: 72px; padding-top: 6px; }
.ts3ProductSection + .ts3ProductSection { margin-top: 26px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.11); }
.ts3AddOnSection { padding-top: 0; }
.ts3ProductSectionHead { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ts3ProductSectionHead h3 { margin: 0; color: #e0bd67; font-size: 21px; letter-spacing: -.01em; }
.ts3ProductSectionHead p { margin: 4px 0 0; color: #9da9bd; font-size: 13px; line-height: 1.45; }
.ts3PackageGrid, .ts3QuantityGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ts3PackageCard { position: relative; min-height: 228px; padding: 17px 17px 15px; border: 1px solid rgba(255,255,255,.105); border-radius: 19px; background: linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); color: #f5f7fb; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.018); }
.ts3PackageCard:hover, .ts3QuantityRow:hover { border-color: rgba(224,191,112,.42); background: linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)); }
.ts3PackageCard:focus-visible, .ts3QuantityRow:focus-visible { outline: 2px solid #d4aa48; outline-offset: 2px; }
.ts3PackageCard.selected { border-color: rgba(224,191,112,.67); background: linear-gradient(180deg,rgba(224,191,112,.105),rgba(255,255,255,.018)); box-shadow: 0 0 0 3px rgba(224,191,112,.035); }
.ts3PackageCard h3 { margin: 0 86px 5px 0; font-size: 19px; line-height: 1.18; }
.ts3PackagePrice { margin-top: 3px; color: #fff; font-size: 28px; font-weight: 950; letter-spacing: -.025em; }
.ts3PackageCard ul { margin: 10px 0 0; padding-left: 18px; color: #aeb9cc; font-size: 12px; line-height: 1.5; }
.ts3PackageBadge { position: absolute; top: 12px; right: 12px; max-width: 80px; padding: 5px 8px; border-radius: 999px; background: rgba(28,108,64,.88); color: #d7f8e4; font-size: 10px; font-weight: 950; text-align: center; }
.ts3PackageQuantity { display: flex; align-items: center; justify-content: space-between; gap: 11px; margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); color: #eef3fb; font-size: 12px; font-weight: 800; }
.ts3QuantityRow { min-height: 75px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(255,255,255,.02); cursor: pointer; }
.ts3QuantityRow.selected { border-color: rgba(224,191,112,.43); background: rgba(224,191,112,.075); }
.ts3QuantityRow > span { min-width: 0; }
.ts3QuantityRow b { display: block; color: #f5f7fb; font-size: 15px; line-height: 1.3; }
.ts3QuantityRow small { display: block; margin-top: 4px; color: #9faabd; font-size: 12px; line-height: 1.35; }
.ts3QtyControl { display: inline-grid; grid-template-columns: 36px minmax(50px,auto) 36px; align-items: center; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: #0a1424; }
.ts3QtyControl button { width: 36px; height: 40px; border: 0; background: rgba(255,255,255,.045); color: #fff; font-size: 21px; font-weight: 750; line-height: 1; cursor: pointer; }
.ts3QtyControl button:hover:not(:disabled) { background: rgba(202,162,74,.16); color: #f2d793; }
.ts3QtyControl button:disabled { opacity: .3; cursor: not-allowed; }
.ts3QtyControl span { min-width: 50px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3px 6px; line-height: 1.05; }
.ts3QtyControl span b { color: #fff; font-size: 14px; }
.ts3QtyControl span small { margin-top: 3px; color: #8f9aae; font-size: 8px; font-weight: 850; letter-spacing: .07em; }
.ts3ProductsEmpty { padding: 17px; border: 1px dashed rgba(255,255,255,.15); border-radius: 15px; color: #9faabd; text-align: center; }
.ts3Foot { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; background: rgba(9,18,31,.98); border-top: 1px solid rgba(255,255,255,.1); }
.ts3Total { display: flex; flex-direction: column; font-size: 18px; font-weight: 900; }
.ts3Total small { margin-bottom: 2px; color: #9faabd; font-size: 11px; font-weight: 800; }
.ts3FooterAction { display: grid; justify-items: end; gap: 7px; }
.ts3FooterAction .ts3InlineError { max-width: 440px; margin: 0; padding: 8px 11px; font-size: 13px; }
.ts3Primary, .ts3Secondary, .ts3Danger { min-height: 48px; padding: 0 20px; border-radius: 13px; font-size: 16px; font-weight: 950; cursor: pointer; }
.ts3Primary { border: 0; background: linear-gradient(180deg, #1aad5c, #108047); color: #fff; }
.ts3Secondary { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); color: #fff; }
.ts3Danger { border: 1px solid rgba(255,118,118,.46); background: rgba(151,42,42,.18); color: #ffd7d7; }
.ts3CropGrid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.8fr); gap: 18px; }
.ts3PreviewColumn { min-width: 0; display: grid; align-content: start; gap: 11px; }
.ts3Proof { position: relative; width: 100%; min-height: 390px; max-height: min(520px, calc(100dvh - 260px)); display: grid; place-items: center; justify-self: center; overflow: hidden; border-radius: 16px; background: #03070d; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.ts3Proof > .ts3ProofPhoto { position: absolute; z-index: 1; display: block; max-width: none; max-height: none; object-fit: fill; transform: none; }
.ts3Proof.round { border-radius: 999px; aspect-ratio: 1; min-height: 0; }
.ts3Proof.portrait { width: auto; height: min(520px, calc(100dvh - 260px)); min-height: 0; max-width: 100%; aspect-ratio: 5 / 7; }
.ts3Proof.cardFront { width: auto; height: min(520px, calc(100dvh - 260px)); min-height: 0; max-width: 100%; aspect-ratio: 780 / 1075; background: #050a11; }
.ts3CardFrontOverlay { position: absolute; inset: 0; z-index: 5; pointer-events: none; overflow: hidden; container-type: inline-size; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; }
.ts3CardFrontBorder { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: fill; transform: none; }
.ts3CardFrontLogo { position: absolute; z-index: 3; top: 5.4884%; width: 13.0769%; height: 9.4884%; object-fit: contain; }
.ts3CardFrontLogo.left { left: 9.2308%; object-position: left top; }
.ts3CardFrontLogo.right { left: 79.359%; object-position: right top; }
.ts3CardFrontSmall, .ts3CardFrontMain, .ts3CardFrontJersey { position: absolute; z-index: 3; display: flex; align-items: flex-end; overflow: hidden; white-space: nowrap; }
.ts3CardFrontSmall { left: 7.6923%; top: 83.4419%; width: 54.2308%; height: 3.2558%; color: #f6de3e; font-size: 5.8974cqw; line-height: .7174; }
.ts3CardFrontMain { left: 7.5641%; top: 88%; width: 54.359%; height: 6.6047%; color: #fff; font-size: 12.3077cqw; line-height: .71875; }
.ts3CardFrontJersey { left: 64.4872%; top: 82.5116%; width: 27.9487%; height: 11.907%; justify-content: flex-end; color: #fff; font-size: 23.0769cqw; line-height: .7111; }
.ts3CardFrontOverlay.noJersey .ts3CardFrontSmall { width: 84.7436%; }
.ts3CardFrontOverlay.noJersey .ts3CardFrontMain { width: 84.8718%; }
.ts3CardFrontSmall span, .ts3CardFrontMain span, .ts3CardFrontJersey span { position: relative; display: block; flex: 0 0 auto; max-width: none; white-space: nowrap; }
.ts3CardFrontSmall span { top: .5cqw; }
.ts3CardFrontMain span { top: .5cqw; }
.ts3CardFrontJersey span { top: 1.5cqw; }
.ts3CardFrontSmall.isHidden, .ts3CardFrontMain.isHidden, .ts3CardFrontJersey.isHidden { visibility: hidden; }
.ts3CardFrontSafe { position: absolute; z-index: 6; left: 7.6923%; top: 5.4884%; right: 7.5641%; bottom: 5.3953%; border: 2px dotted rgba(255,255,255,.96); pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.82)); }
.ts3TournamentBar { position: absolute; inset: 0; z-index: 4; pointer-events: none; overflow: hidden; container-type: inline-size; }
.ts3TournamentBarLayer { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: fill; transform: none; }
.ts3TournamentBarContent { position: absolute; inset: 0; color: #fff; }
.ts3TournamentFrameSafe { position: absolute; z-index: 6; border: 2px dotted rgba(255,255,255,.96); pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.86)); }
.ts3TournamentBar.portrait .ts3TournamentFrameSafe { left: 13.46%; top: 5.42%; right: 13.40%; bottom: 13.33%; }
.ts3TournamentBar.landscape .ts3TournamentFrameSafe { left: 6.15%; top: 10.30%; right: 6.10%; bottom: 17.20%; }
.ts3TournamentBarLogo { position: absolute; z-index: 2; max-width: none; max-height: none; object-fit: contain; transform: none; }
.ts3TournamentBarLogo.left { left: 6.0606%; top: 83.9608%; width: 13.697%; height: 9.8824%; object-position: left bottom; }
.ts3TournamentBarLogo.right { left: 80.2727%; top: 83.9608%; width: 13.697%; height: 9.8824%; object-position: right bottom; }
.ts3TournamentBarCopy { position: absolute; inset: 0; min-width: 0; text-align: center; }
.ts3TournamentBarEvent,
.ts3TournamentBarTeam { position: absolute; left: 19.7576%; right: 19.7273%; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; font-stretch: condensed; font-weight: 400; letter-spacing: 0; line-height: .9142857; text-transform: uppercase; white-space: nowrap; text-shadow: none; }
.ts3TournamentBarEvent { top: 84.8235%; height: 2.5098%; color: #f6de3e; font-size: 2.1212cqw; }
.ts3TournamentBarTeam { top: 88.8235%; height: 5.0196%; color: #fff; font-size: 4.2424cqw; }
.ts3TournamentBarEvent span,
.ts3TournamentBarTeam span { display: block; flex: 0 0 auto; max-width: none; white-space: nowrap; }
.ts3TournamentBarEvent.isHidden, .ts3TournamentBarTeam.isHidden { visibility: hidden; }
.ts3Proof.portrait .ts3TournamentBarLogo.left { left: 13.3333%; top: 81.3636%; width: 11.8824%; height: 13.697%; object-position: left bottom; }
.ts3Proof.portrait .ts3TournamentBarLogo.right { left: 74.8627%; top: 81.3636%; width: 11.8431%; height: 13.697%; object-position: right bottom; }
.ts3Proof.portrait .ts3TournamentBarEvent,
.ts3Proof.portrait .ts3TournamentBarTeam { left: 25.2157%; right: 25.1373%; }
.ts3Proof.portrait .ts3TournamentBarEvent { top: 88.0909%; height: 1.9394%; font-size: 2.7451cqw; }
.ts3Proof.portrait .ts3TournamentBarTeam { top: 91.1818%; height: 3.8788%; font-size: 5.4902cqw; }
.ts3Proof.round .ts3TournamentBarContent { left: 20%; right: 20%; bottom: 3.5%; height: 13%; }
.ts3Proof.round .ts3TournamentBarEvent { font-size: clamp(6px,.7vw,9px); }
.ts3Proof.round .ts3TournamentBarTeam { font-size: clamp(8px,1.5vw,16px); }
.ts3EditionGuides { position: absolute; inset: 0; z-index: 8; pointer-events: none; }
.ts3EditionSafe { position: absolute; inset: 2px; border: 2px dotted rgba(255,255,255,.96); border-radius: 3px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.82)); }
.ts3RoundSafe { position: absolute; z-index: 8; inset: 8.333%; border: 2px dotted rgba(255,255,255,.96); border-radius: 50%; pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.82)); }
.ts3MagazineOverlay { position: absolute; inset: 0; z-index: 5; container-type: inline-size; pointer-events: none; color: #fff; text-shadow: 1px 1px 0 rgba(0,0,0,.94); font-family: Rockwell, "Roboto Slab", "DejaVu Serif Condensed", Georgia, serif; }
.ts3MagazineTopLine, .ts3MagazineStory b, .ts3MagazineStory small, .ts3MagazineStory strong, .ts3MagazineInterview strong, .ts3MagazinePlayerName, .ts3MagazineProfile strong { position: relative; z-index: 2; overflow: hidden; text-transform: uppercase; }
.ts3MagazineTopLine { position: absolute; left: 4.42%; top: 3.43%; width: 91.2%; height: 3.5%; color: #ffdb00; font-size: 2.6cqw; font-weight: 1000; line-height: 1.02; letter-spacing: .002em; }
.ts3MagazineMasthead { position: absolute; z-index: 2; left: 3.88%; right: 3.75%; top: 7.2%; height: 20.2%; overflow: hidden; }
.ts3MagazineMasthead img { position: absolute; left: -2.7%; top: -55%; width: 105.4%; height: auto; max-height: none; transform: none; }
.ts3MagazineStories { position: absolute; z-index: 2; left: 69.7%; top: 35.25%; width: 26.3%; height: 31.9%; display: grid; grid-template-rows: 31% 37% 32%; gap: 0; }
.ts3MagazineStory { position: relative; min-width: 0; overflow: visible; padding: 6% 0 0; }
.ts3MagazineStory:not(:first-child)::before { content: ""; position: absolute; left: 0; top: 0; width: 31%; height: 3px; background: #ff7417; }
.ts3MagazineStory:first-child { padding-top: 0; }
.ts3MagazineStory b { display: block; width: 100%; height: 29%; color: #ffdb00; font-size: 3.9cqw; font-weight: 1000; line-height: .92; }
.ts3MagazineStory small { display: block; width: 100%; height: 24%; color: #fff; font-size: 1.65cqw; font-weight: 1000; line-height: 1.02; }
.ts3MagazineStory strong { display: block; width: 100%; height: 45%; color: #fff; font-size: 2.15cqw; font-weight: 1000; line-height: 1.01; }
.ts3MagazinePlus { position: absolute; left: -22%; top: -18%; color: #ff7417; font-family: Arial, sans-serif; font-size: 7.55cqw; font-weight: 400; line-height: 1; }
.ts3MagazineStoryOne b { padding-left: 3%; }
.ts3MagazineStoryTwo b { height: 34%; font-size: 3.75cqw; }
.ts3MagazineStoryThree small { height: 28%; }
.ts3MagazineStoryThree strong { height: 60%; color: #ffdb00; font-size: 3.7cqw; line-height: .9; }
.ts3MagazineInterview { position: absolute; z-index: 2; left: 5.9%; top: 72.4%; width: 43%; height: 4.2%; display: grid; grid-template-columns: 10.5% minmax(0,1fr); gap: 4%; align-items: center; }
.ts3MagazineInterview span { width: 100%; aspect-ratio: 1; border: solid #ff7417; border-width: 0 8px 8px 0; transform: rotate(-45deg); }
.ts3MagazineInterview strong { width: 100%; height: 58%; color: #fff; font-size: 2.12cqw; font-weight: 1000; line-height: 1; }
.ts3MagazinePlayerName { position: absolute; z-index: 2; left: 5.7%; top: 76.4%; width: 65%; height: 7.7%; color: #ffdb00; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; font-size: 8.1cqw; font-stretch: condensed; font-weight: 500; letter-spacing: -.012em; line-height: .92; white-space: nowrap; }
.ts3MagazineProfile { position: absolute; z-index: 2; left: 0; top: 84%; width: 37.8%; height: 12.93%; display: grid; grid-template-columns: 19.25% minmax(0,1fr); gap: 3.6%; background: rgba(0,0,0,.56); }
.ts3MagazineProfile i { background: #ffdb00; }
.ts3MagazineProfile strong { align-self: center; width: 94%; height: 84%; white-space: pre-line; color: #fff; font-size: 2.12cqw; font-weight: 1000; line-height: 1.04; }
.ts3MagazinePublication { position: absolute; z-index: 2; left: 70.5%; top: 87.7%; width: 25.8%; height: 9%; display: grid; grid-template-columns: 34% 62%; gap: 4%; align-items: end; }
.ts3MagazinePublication small { color: #fff; font-size: 1.15cqw; font-weight: 900; text-transform: uppercase; }
.ts3MagazinePublication span { height: 86%; background: repeating-linear-gradient(90deg,#111 0 2px,#fff 2px 5px,#111 5px 6px,#fff 6px 9px); border: 3px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.8); }
.ts3MagazinePublication em { display: none; }
.ts3MagAutoText { color: #fff !important; transition: color .12s ease; }
.ts3MagAutoText.dark { color: #30343b !important; }
.ts3Guide5x7 { border-color: #f3c95f; }
.ts3Guide5x7 span { color: #ffe28c; }
.ts3Controls { display: grid; align-content: start; gap: 13px; }
.ts3DesktopEditorControls { display: contents; }
.ts3MobileEditorControls { display: none; }
.ts3Controls label { display: grid; gap: 6px; color: #cad2df; font-weight: 750; }
.ts3Controls input, .ts3Controls select, .ts3Controls textarea { width: 100%; min-height: 44px; padding: 9px 11px; border-radius: 10px; border: 1px solid rgba(255,255,255,.16); background: #07101d; color: #fff; }
.ts3Controls input[type="range"] { min-height: 36px; padding: 0; accent-color: #d4aa48; }
.ts3Controls input[type="checkbox"] { width: 20px; min-height: 20px; padding: 0; accent-color: #179b55; }
.ts3Controls label > span { display: flex; align-items: center; gap: 9px; }
.ts3NudgeRow { display: grid; grid-template-columns: 42px minmax(0,1fr) 42px; gap: 7px; align-items: center; }
.ts3NudgeRow button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.07); color: #fff; font-size: 20px; font-weight: 900; cursor: pointer; touch-action: none; }
.ts3NudgeRow button:disabled, .ts3Controls input[type="range"]:disabled { opacity: .3; cursor: not-allowed; }
.ts3ControlDisabled { opacity: .58; }
.ts3PreviewChoice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ts3PreviewChoice button { min-height: 44px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: rgba(255,255,255,.045); color: #d8dfeb; font-weight: 900; cursor: pointer; }
.ts3PreviewChoice button.on { border-color: #e2bd5c; background: rgba(202,162,74,.17); color: #ffe194; box-shadow: inset 0 0 0 1px rgba(202,162,74,.18); }
.ts3OrientationChoice { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.ts3OrientationChoice button { min-height: 46px; border: 1px solid rgba(255,255,255,.17); border-radius: 11px; background: rgba(255,255,255,.045); color: #d8dfeb; font-weight: 900; cursor: pointer; }
.ts3OrientationChoice button.on { border-color: #e2bd5c; background: rgba(202,162,74,.17); color: #ffe194; box-shadow: inset 0 0 0 1px rgba(202,162,74,.18); }
.ts3FrameToggle { padding: 12px; border: 1px solid rgba(202,162,74,.32); border-radius: 12px; background: rgba(202,162,74,.08); }
.ts3FrameFields { display: grid; gap: 12px; padding: 13px; border: 1px solid rgba(202,162,74,.22); border-radius: 13px; background: rgba(5,12,21,.44); }
.ts3DesignLine { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(160px,1.2fr); gap: 10px; align-items: center; }
.ts3DesignLine label { margin: 0; }
.ts3PlayerParts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding-top: 3px; }
.ts3PlayerParts label { min-height: 40px; padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.025); font-size: 12px; }
.ts3IdentitySummary { display: grid; gap: 3px; padding: 14px; border: 1px solid rgba(202,162,74,.28); border-radius: 13px; background: rgba(202,162,74,.08); }
.ts3IdentitySummary small { color: #ddbd6a; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.ts3IdentitySummary b { color: #fff; font-size: 18px; }
.ts3IdentitySummary span { color: #b8c4d5; }
.ts3CustomStatField { display: grid; grid-template-columns: minmax(0,1fr) minmax(110px,.65fr); gap: 10px; padding: 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.025); }
.ts3CardBackResultToggle { padding: 11px 12px; border: 1px solid rgba(202,162,74,.28); border-radius: 12px; background: rgba(202,162,74,.07); }
.ts3Proof.cardBack { width: auto; height: min(520px,calc(100dvh - 260px)); min-height: 0; max-width: 100%; aspect-ratio: 5 / 7; background: #e9e9e9; }
.ts3CardBackPreview { position: absolute; inset: 0; overflow: hidden; background: #ececec url("/static/tournament/cardback_background_layer.jpg") center / 100% 100% no-repeat; container-type: inline-size; font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; }
[data-card-back-fit] { display: inline-block; max-width: none; font: inherit; font-style: normal; color: inherit; letter-spacing: inherit; line-height: inherit; white-space: nowrap; }
.ts3CardBackEvent { position: absolute; left: 13%; top: 5.2%; width: 74%; height: 3.2%; overflow: hidden; color: #f0c456; font-size: 3.35cqw; line-height: 1; letter-spacing: .035em; text-align: center; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.78); }
.ts3CardBackLogo { position: absolute; left: 37.5%; top: 9.3%; width: 25%; height: 15.2%; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(0,0,0,.58)); }
.ts3CardBackPlayer { position: absolute; left: 13%; top: 26%; width: 74%; height: 5.5%; overflow: hidden; color: #fff; font-size: 7.35cqw; line-height: .92; letter-spacing: .02em; text-align: center; white-space: nowrap; text-shadow: 0 2px 2px rgba(0,0,0,.76); }
.ts3CardBackTeam { position: absolute; left: 13%; top: 31.5%; width: 74%; height: 2.5%; overflow: hidden; color: #dce1e8; font-family: Inter,Arial,sans-serif; font-size: 2.42cqw; font-weight: 900; line-height: 1.1; letter-spacing: .025em; text-align: center; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
.ts3CardBackTitle { position: absolute; left: 17%; top: 37%; width: 66%; height: 5.7%; display: grid; place-items: center; border-top: 2px solid #f0c456; border-bottom: 2px solid #f0c456; color: #f0c456; font-size: 4.8cqw; line-height: .95; letter-spacing: .07em; text-align: center; text-shadow: 0 1px 2px rgba(0,0,0,.78); }
.ts3CardBackStats { position: absolute; left: 15%; top: 47%; width: 70%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2.4%; }
.ts3CardBackStats > div { min-width: 0; padding: 14% 2% 11%; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; background: rgba(7,12,19,.34); text-align: center; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); }
.ts3CardBackStats b { display: block; overflow: hidden; color: #fff; font-size: 7.1cqw; font-weight: 400; line-height: .9; white-space: nowrap; text-shadow: 0 2px 2px rgba(0,0,0,.75); }
.ts3CardBackStats > div > span { display: block; margin-top: 13%; overflow: hidden; color: #f0c456; font-family: Inter,Arial,sans-serif; font-size: 1.9cqw; font-weight: 950; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.ts3CardBackBio { position: absolute; left: 16%; top: 45.5%; width: 68%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 8%; }
.ts3CardBackBio > div { min-width: 0; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.21); }
.ts3CardBackBio > div.wide { grid-column: 1 / -1; margin-right: 16.25%; margin-left: 16.25%; text-align: center; }
.ts3CardBackBio span { display: block; color: #f0c456; font-family: Inter,Arial,sans-serif; font-size: 1.75cqw; font-weight: 950; line-height: 1; letter-spacing: .06em; }
.ts3CardBackBio b { display: block; margin-top: 3px; overflow: hidden; color: #fff; font-size: 4cqw; font-weight: 400; line-height: 1; letter-spacing: .02em; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
.ts3CardBackResult { position: absolute; left: 15%; top: 69%; width: 70%; text-align: center; }
.ts3CardBackResult span { display: block; color: #f0c456; font-family: Inter,Arial,sans-serif; font-size: 1.9cqw; font-weight: 950; letter-spacing: .07em; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
.ts3CardBackResult b { display: block; max-height: 12cqw; margin-top: 1.2%; overflow: hidden; color: #fff; font-size: 6.3cqw; font-weight: 400; line-height: .92; letter-spacing: .015em; text-shadow: 0 2px 2px rgba(0,0,0,.84); }
.ts3CardBackFooter { position: absolute; left: 13%; bottom: 7.5%; width: 74%; color: #1c2229; font-family: Inter,Arial,sans-serif; text-align: center; }
.ts3CardBackFooter b { display: block; overflow: hidden; font-size: 2.35cqw; font-weight: 950; line-height: 1.15; letter-spacing: .015em; white-space: nowrap; }
.ts3CardBackFooter span { display: block; margin-top: 4px; color: #4d535b; font-size: 1.9cqw; font-weight: 850; letter-spacing: .04em; }
.ts3DetailsIntro { display: grid; gap: 4px; margin-bottom: 17px; padding: 14px; border: 1px solid rgba(91,143,211,.34); border-radius: 14px; background: rgba(38,84,145,.15); }
.ts3DetailsIntro span { color: #c2cee0; font-size: 13px; }
.ts3DetailsGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.ts3DetailsGrid label { display: grid; gap: 6px; color: #d4dbe7; font-weight: 800; }
.ts3DetailsGrid label.wide { grid-column: 1 / -1; }
.ts3DetailsGrid em { margin-left: 5px; color: #e8c35f; font-size: 10px; font-style: normal; text-transform: uppercase; }
.ts3DetailsGrid input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: #07101d; color: #fff; font-size: 16px; }
.ts3DetailsGrid input[readonly] { color: #abb7c9; background: rgba(255,255,255,.035); }
.ts3JerseyInput { display: grid; grid-template-columns: 42px minmax(0,1fr); overflow: hidden; border-radius: 11px; }
.ts3JerseyInput span { display: grid; place-items: center; background: rgba(202,162,74,.18); color: #f0cf78; font-size: 20px; font-weight: 950; }
.ts3JerseyInput input { border-radius: 0; }
.ts3CoverageStatus[hidden] { display: none; }
.ts3CartDetail { margin-top: 11px; padding: 0 11px; border: 1px solid rgba(202,162,74,.24); border-radius: 13px; background: rgba(202,162,74,.055); }
.ts3CartDetailRow { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: start; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.09); }
.ts3CartDetailRow:first-child { border-top: 0; }
.ts3CartDetailRow small { display: block; color: #d6b75e; font-size: 9px; font-weight: 1000; letter-spacing: .08em; text-transform: uppercase; }
.ts3CartDetailRow p { margin: 3px 0 0; color: #d6ddea; font-size: 12px; line-height: 1.45; }
.ts3CartDetailRow .chipBtn { width: max-content; min-height: auto; padding: 6px 9px; font-size: 11px; }
.ts3SafeHelp { padding: 11px 13px; border: 1px dashed rgba(243,201,95,.58); border-radius: 12px; background: rgba(243,201,95,.08); color: #f5dfaa; font-size: 13px; line-height: 1.45; }
.ts3CropProductNote { padding: 11px 13px; border: 1px solid rgba(91,143,211,.38); border-radius: 12px; background: rgba(38,84,145,.18); color: #dceaff; font-size: 13px; line-height: 1.45; }
.ts3CoverageStatus { padding: 11px 13px; border-radius: 12px; font-size: 13px; font-weight: 850; line-height: 1.4; }
.ts3CoverageStatus.waiting { border: 1px solid rgba(142,164,195,.3); background: rgba(96,118,150,.11); color: #c8d3e3; }
.ts3CoverageStatus.ok { border: 1px solid rgba(91,221,150,.4); background: rgba(28,151,85,.14); color: #bff5d6; }
.ts3CoverageStatus.warning { border: 1px solid rgba(255,115,115,.5); background: rgba(183,50,50,.16); color: #ffd0d0; }
.ts3ApprovalError { padding: 11px 13px; border: 1px solid rgba(255,105,105,.55); border-radius: 12px; background: rgba(184,45,45,.18); color: #ffd0d0; font-weight: 850; }
.ts3ApprovalError[hidden] { display: none; }
.ts3Note { padding: 12px 14px; border-radius: 13px; background: rgba(44,114,255,.12); color: #cddcff; line-height: 1.45; }
.ts3HowCards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.ts3HowCard { display: flex; flex-direction: column; align-items: stretch; min-height: 210px; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.035); }
.ts3HowPlayerCard { grid-column: 1; grid-row: 1; }
.ts3HowPhotoCard { grid-column: 2; grid-row: 1; }
.ts3HowTeamCard { grid-column: 1; grid-row: 2; }
.ts3HowTeamPhotoCard { grid-column: 2; grid-row: 2; }
.ts3HowFocusCard { grid-column: 1 / -1; grid-row: auto; min-height: 0; }
.ts3HowNumber { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; background: linear-gradient(180deg, #2c72ff, #1651cc); color: #fff; font-size: 19px; font-weight: 950; }
.ts3HowCard h3 { margin: 1px 0 6px; font-size: 19px; }
.ts3HowCard p { margin: 0 0 14px; color: #bdc6d5; line-height: 1.5; }
.ts3HowPlayerIncludes { margin-top: 5px; }
.ts3HowPlayerIncludes > b { display: block; margin-bottom: 5px; color: #f2f5fa; }
.ts3HowPlayerIncludes p { margin-bottom: 12px; }
.ts3HowPriceList { display: grid; margin: 0 0 13px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(3,9,17,.35); }
.ts3HowPriceList > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 12px; color: #c8d0dd; }
.ts3HowPriceList > div + div { border-top: 1px solid rgba(255,255,255,.09); }
.ts3HowPriceList b { color: #f4d481; white-space: nowrap; }
.ts3HowPriceList > div.best { background: rgba(32,168,91,.13); color: #dff8e8; }
.ts3HowPriceList > div.best b { color: #7ee4a7; }
.ts3HowWarning { margin: 0 0 14px; padding: 11px 12px; border: 1px solid rgba(241,188,72,.42); border-radius: 11px; background: rgba(138,91,17,.16); color: #f5dfad; font-size: 13px; line-height: 1.42; }
.ts3HowWarning b { color: #fff0c7; }
.ts3HowAction { width: 100%; min-height: 46px; margin-top: auto; border: 1px solid rgba(218,177,79,.62); border-radius: 12px; background: linear-gradient(180deg, #162236, #101a29); color: #f4d481; font-size: 15px; font-weight: 900; cursor: pointer; }
.ts3HowAction.primary { background: linear-gradient(180deg, #e4bf62, #b98a2c); color: #101722; }
.ts3HowNote { margin-top: 14px; }
.ts3GuideEyebrow { margin: 0 0 10px; color: #f0cf78; font-size: 13px; font-weight: 950; letter-spacing: .08em; }
.ts3GuideSteps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ts3GuideSteps section { display:grid; grid-template-columns:32px minmax(0,1fr); gap:11px; min-height:0; padding:12px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.035); }
.ts3GuideSteps section>b { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#274c73; color:#fff; }
.ts3GuideSteps h3 { margin:0 0 4px; font-size:17px; }
.ts3GuideSteps p { margin:0; color:#c4ccda; font-size:14px; line-height:1.4; }
.ts3GuideSteps strong { color:#f4d481; }
.ts3GuideShowcase { margin-top:14px; padding:13px; border:1px solid rgba(74,144,221,.55); border-radius:14px; background:rgba(28,75,130,.14); }
.ts3GuideShowcase>div:first-child h3 { margin:0; font-size:20px; }
.ts3GuideShowcase>div:first-child p { margin:4px 0 11px; color:#c4ccda; }
.ts3GuideShowcase .ts3ProductShowcase { margin:0; padding:12px; }
.ts3GuideFocus { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:13px 15px; border:1px solid rgba(74,144,221,.38); border-radius:12px; background:rgba(28,75,130,.13); color:#fff; text-align:left; cursor:pointer; }
.ts3GuideFocus span { color:#82b8ff; font-weight:950; white-space:nowrap; }
.ts3GuidePlans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:13px; }
.ts3GuidePlans>div { position:relative; display:grid; gap:5px; padding:15px; border:1px solid rgba(255,255,255,.14); border-radius:14px; text-align:center; }
.ts3GuidePlans>div.best { border-color:#31bb70; background:rgba(30,148,82,.16); }
.ts3GuidePlans small { color:#b9c4d4; font-weight:950; }
.ts3GuidePlans strong { color:#fff; font-size:27px; }
.ts3GuidePlans span { color:#c5cfdd; font-size:13px; }
.ts3GuidePlans em { position:absolute; top:-9px; right:10px; padding:4px 7px; border-radius:999px; background:#32c878; color:#062214; font-size:9px; font-style:normal; font-weight:1000; }
.ts3GuideLater { display:grid; gap:4px; margin-top:12px; padding:11px 13px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.03); }
.ts3GuideLater b { color:#7ee4a7; font-size:12px; }
.ts3GuideLater span,.ts3GuideFine { color:#c5cfdd; font-size:13px; line-height:1.4; }
.ts3GuideFine { margin:11px 2px 0; text-align:center; }
.ts3GuideActions { display:flex; justify-content:flex-end; gap:10px; margin-left:auto; }
.ts3TagAction { border-color:rgba(84,147,218,.55); background:#183c61; }
.ts3PlayerPackageCheckout .ts3Foot { align-items:flex-end; }
.ts3PlayerFootLinks { display:flex; gap:8px; }
.ts3PlayerFootBuy { display:grid; justify-items:end; gap:6px; margin-left:auto; }
.ts3PlayerFootBuy>small { color:#9faabd; font-size:11px; }
.ts3PlayerHelpCard { width:min(680px,100%); max-height:calc(100dvh - 36px); overflow:auto; }
.ts3PlayerHelpCard h2 { margin:0 0 14px; }
.ts3PlayerHelpCard section { padding:12px 0; border-top:1px solid rgba(255,255,255,.1); }
.ts3PlayerHelpCard section h3 { margin:0 0 5px; font-size:18px; }
.ts3PlayerHelpCard section p,.ts3PlayerHelpCard ol { margin:0; color:#c4ccda; line-height:1.5; }
.ts3PlayerHelpCard ol { padding-left:21px; }
.ts3PlayerTagWarning { padding: 14px; border: 1px solid rgba(241,188,72,.46); border-radius: 13px; background: rgba(138,91,17,.18); color: #ffe8b2; line-height: 1.48; }
.ts3PlayerTagWarning b { color: #fff2cd; }
.ts3PlayerConfirm { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.035); color: #e6ebf2; line-height: 1.42; cursor: pointer; }
.ts3PlayerConfirm input { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 1px; }
.ts3InlineError { display: none; margin-top: 12px; padding: 11px 13px; border: 1px solid rgba(255,104,104,.42); border-radius: 11px; background: rgba(124,29,29,.22); color: #ffd3d3; line-height: 1.4; }
.ts3SavePrompt { text-align: center; }
.ts3SavePrompt .ts3Body { max-width: 600px; margin: auto; }
.ts3SavePrompt input { width: 100%; min-height: 52px; margin: 12px 0; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.18); background: #07101d; color: #fff; font-size: 17px; }
.ts3CollectionManager .ts3Card,.ts3CollectionHelp .ts3Card,.ts3RenameCollection .ts3Card{width:min(600px,100%)}
.ts3CollectionManager .ts3Body{display:grid;gap:10px}
.ts3CollectionPrivacy{display:grid;gap:4px;padding:14px 16px;border:1px solid #34566b;border-radius:13px;background:#102635;line-height:1.45}
.ts3CollectionPrivacy strong{color:#fff}
.ts3CollectionPrivacy span{color:#c9d8e4;font-size:14px}
.ts3CollectionView{width:100%;min-height:49px}
.ts3CollectionBuy,.ts3CollectionSave{width:100%;min-height:44px}
.ts3CollectionManageActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:4px}
.ts3CollectionManageActions button{min-width:0}
.ts3CollectionShare{margin-top:8px;padding:15px;border:1px solid rgba(202,162,74,.36);border-radius:13px;background:rgba(202,162,74,.07)}
.ts3CollectionShare h3{margin:0 0 5px;font-size:17px;color:#f1d18a}
.ts3CollectionShare p{margin:0 0 12px;color:#d2dce8;font-size:14px;line-height:1.45}
.ts3CollectionShare button{width:100%;min-height:44px}
.ts3CollectionShare [data-share-status]{margin:8px 0 0;color:#b3e5c9;min-height:0}
.ts3CollectionShare [data-share-status]:empty{display:none}
.ts3CollectionShare select,.ts3RenameCollection input{display:block;width:100%;min-height:44px;margin:7px 0 12px;padding:8px 11px;border:1px solid #42536a;border-radius:10px;background:#07101d;color:#fff;font:inherit}
.ts3CollectionHelp .ts3Body{display:grid;gap:13px}
.ts3CollectionHelp section+section{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.ts3CollectionHelp h3{margin:0 0 4px;color:#f1d18a;font-size:16px}
.ts3CollectionHelp p{margin:0;color:#d2dce8;line-height:1.48}
@media(max-width:430px){.ts3CollectionManager .ts3Body{padding:15px}.ts3CollectionManageActions{gap:7px}.ts3CollectionManageActions button{padding-left:8px;padding-right:8px;font-size:13px}}
.ts3GameList { display: grid; gap: 10px; }
.ts3PlayerFields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.ts3PlayerFields input { min-height: 46px; padding: 0 12px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: #07101d; color: #fff; }
.ts3PackagePricing { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.ts3PackagePricing span { display: grid; gap: 3px; min-width: 0; padding: 11px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.035); color: #f2cf77; font-size: 18px; font-weight: 950; text-align: center; }
.ts3PackagePricing span b { color: #aeb8c8; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.ts3PackagePricing span.best { border-color: rgba(58,199,116,.52); background: rgba(31,151,82,.14); color: #7ee4a7; }
.ts3PackageValue { width: 100%; margin: 0 0 14px; padding: 16px; border: 1px solid rgba(58,199,116,.58); border-radius: 15px; background: linear-gradient(135deg,rgba(25,142,74,.22),rgba(12,75,43,.18)); color: #fff; text-align: left; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.ts3PackageValue strong { display: block; color: #8af0b2; font-size: 19px; line-height: 1.2; }
.ts3PackageValue span { display: block; margin-top: 5px; color: #cae9d5; font-size: 13px; line-height: 1.4; }
.ts3PackagePlanChoices { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ts3PackagePlanChoices .ts3PackageValue { height: 100%; margin: 0; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.04); }
.ts3PackagePlanChoices .ts3PackageValue.active { border-color: rgba(58,199,116,.72); background: linear-gradient(135deg,rgba(25,142,74,.28),rgba(12,75,43,.22)); box-shadow: 0 0 0 2px rgba(58,199,116,.12); }
.ts3Option.owned { opacity: .76; cursor: default; }
.ts3Option.owned .ts3Price { color: #7ee4a7; }
.ts3BrowseMoreGames { width: 100%; margin-top: 12px; }
.ts3OneGameConfirm { width: min(520px,100%); }
.ts3MultiCheckout .ts3Card { width:min(740px,100%); }
.ts3MultiProgress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 17px; }
.ts3MultiProgress span { padding:8px 0 0; border-top:3px solid #536176; color:#b3c1d1; font-size:12px; font-weight:850; }
.ts3MultiProgress span.active { border-color:#e2be70; color:#ffe3a2; }
.ts3MultiProgress span.complete { border-color:#2baa6b; color:#abecc5; }
.ts3MultiQuantity { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:13px; padding:12px 14px; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:#1a293c; }
.ts3MultiQuantity strong,.ts3MultiQuantity small { display:block; }
.ts3MultiQuantity small { margin-top:3px; color:#bbc8d7; }
.ts3MultiQuantity>div:last-child { display:flex; align-items:center; gap:12px; }
.ts3MultiQuantity button { min-width:40px; min-height:40px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:#253a52; color:#fff; font-size:23px; cursor:pointer; }
.ts3MultiQuantity button:disabled { opacity:.42; cursor:default; }
.ts3MultiQuantity output { min-width:20px; text-align:center; font-size:19px; font-weight:900; }
.ts3MultiPlayer { display:grid; gap:11px; margin:0 0 12px; padding:14px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:#182638; }
.ts3MultiPlayerHead { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px; }
.ts3MultiPlayerHead b { color:#fff; font-size:17px; }
.ts3MultiPlayerHead strong { color:#f4d181; font-size:19px; }
.ts3MultiPlayerHead span { color:#c3cfdb; font-size:13px; }
.ts3MultiLabel,.ts3MultiFields label { display:grid; gap:5px; color:#d4deea; font-size:13px; font-weight:800; }
.ts3MultiLabel select,.ts3MultiFields input,.ts3MultiFields select,.ts3MultiPhoto select { width:100%; min-height:44px; padding:9px 12px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:#0b1829; color:#f9fbfd; font:inherit; font-size:15px; }
.ts3MultiPlans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ts3MultiPlans button { padding:12px; border:1px solid rgba(255,255,255,.18); border-radius:11px; background:#233248; color:#fff; text-align:left; cursor:pointer; }
.ts3MultiPlans button.chosen { border-color:#31ba79; background:#154236; }
.ts3MultiPlans b,.ts3MultiPlans small { display:block; }
.ts3MultiPlans small { margin-top:4px; color:#c5d5dc; line-height:1.35; }
.ts3MultiGames { display:grid; gap:6px; }
.ts3MultiGame { display:flex; align-items:center; gap:10px; padding:9px 11px; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:#0d1a2a; cursor:pointer; }
.ts3MultiGame input { width:18px; height:18px; flex:none; accent-color:#24a669; }
.ts3MultiGame span { min-width:0; flex:1; }
.ts3MultiGame small { color:#b4c3d3; white-space:nowrap; }
.ts3MultiHint { margin:0; color:#bacbda; font-size:13px; line-height:1.4; }
.ts3MultiFields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ts3CollectionHint { padding:12px 14px; margin-bottom:12px; border:1px solid rgba(45,177,109,.4); border-radius:11px; background:#112c2c; }
.ts3ReviewCollection { display:block; width:100%; min-height:46px; margin:12px 0; }
.ts3ReturnPackage { position:fixed; z-index:11000; right:max(16px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); min-height:52px; padding:12px 22px; border:1px solid #63c497; border-radius:14px; background:#147747; color:white; box-shadow:0 8px 28px #0009; font:inherit; font-weight:850; cursor:pointer; }
.ts3ReturnPackage:disabled { opacity:.6; cursor:wait; }
.ts3MultiReview { display:flex; align-items:start; justify-content:space-between; gap:10px; padding:12px 14px; margin:0 0 9px; border:1px solid rgba(255,255,255,.16); border-radius:11px; background:#182638; }
.ts3MultiReview b,.ts3MultiReview span { display:block; }
.ts3MultiReview span { margin-top:5px; color:#bac9d7; font-size:13px; }
.ts3MultiReview strong { color:#f4d181; white-space:nowrap; }
.ts3MultiTagPreview { display:grid; place-items:center; margin-bottom:13px; }
.ts3MultiTagPreview img { display:block; max-width:100%; max-height:260px; object-fit:contain; border-radius:10px; }
.ts3MultiTagChoice { width:100%; min-height:50px; padding:11px 14px; border:1px solid rgba(58,199,116,.56); border-radius:11px; background:#193a31; color:#fff; text-align:left; font-size:15px; font-weight:850; cursor:pointer; }
.ts3MultiCheckout .ts3InlineError { margin:0 0 12px; }
@media(max-width:620px){.ts3MultiProgress span{font-size:11px}.ts3MultiFields{grid-template-columns:1fr}.ts3ReturnPackage{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.ts3MultiQuantity{align-items:flex-start}.ts3MultiPlans small{font-size:12px}.ts3MultiGame{flex-wrap:wrap}.ts3MultiGame small{margin-left:28px}}

body.tournamentStorefrontV3 .collectionSelectLabel { align-items: center; min-width: 220px; min-height: 56px; padding: 0 16px; border: 2px solid rgba(218,177,79,.34); border-radius: 16px; background: rgba(218,177,79,.08); color: #f5d681; font-size: 18px; font-weight: 900; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
body.tournamentStorefrontV3 .viewerCollectionLabel { min-height: 48px; border-radius: 14px; font-size: 16px; }
body.tournamentStorefrontV3 .collectionGameHeading { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 10px 0 2px; padding: 13px 15px; border: 1px solid rgba(218,177,79,.34); border-radius: 13px; background: linear-gradient(180deg, rgba(218,177,79,.11), rgba(218,177,79,.045)); color: #f2f5fa; }
body.tournamentStorefrontV3 .collectionGameHeading b { min-width: 0; line-height: 1.35; }
body.tournamentStorefrontV3 .collectionGameHeading span { flex: 0 0 auto; color: #f5d681; font-size: 13px; font-weight: 900; white-space: nowrap; }

@media (max-width: 680px) {
  body.tournamentStorefrontV3 #secPhotos .sectionHead { align-items: stretch; }
  body.tournamentStorefrontV3 #secPhotos .sectionHead > div:first-child { width: 100%; }
  body.tournamentStorefrontV3 #secPhotos .sectionTitle { font-size: clamp(22px,7vw,28px); }
  body.tournamentStorefrontV3 .thumbGameControl { width: 100%; }
  body.tournamentStorefrontV3 .thumbGameControl .thumbSelect { width: auto; min-width: 0; flex: 1 1 auto; }
  body.tournamentStorefrontV3 .thumbGameControl .thumbCount { flex: 0 0 auto; margin-right: 5px; padding: 0 7px; font-size: 11px; }
  body.tournamentStorefrontV3 .ts3FocusPrompt {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    min-height: 0;
    margin: 10px 0 14px;
    padding: 11px;
    border-left-width: 4px;
  }
  body.tournamentStorefrontV3 .ts3FocusPromptIcon { width: 36px; height: 36px; border-radius: 10px; font-size: 23px; }
  body.tournamentStorefrontV3 .ts3FocusPromptCopy b { font-size: 18px; }
  body.tournamentStorefrontV3 .ts3FocusPromptBody { font-size: 13px; }
  body.tournamentStorefrontV3 .ts3FocusPromptActions { grid-column: 1 / -1; min-width: 0; margin-top: 2px; }
  body.tournamentStorefrontV3 .ts3FocusPromptButton { width: 100%; white-space: normal; }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt { grid-template-columns: 36px minmax(0, 1fr); }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptCopy b { font-size: 18px; }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptBody { font-size: 13px; }
  body.tournamentStorefrontV3 .ts3FocusGamePrompt .ts3FocusPromptActions { min-width: 0; }
  body.tournamentStorefrontV3 .ts3FocusInlinePrompt-desktop { display: none; }
  body.tournamentStorefrontV3 .ts3FocusInlinePrompt-mobile { display: grid; }
  body.tournamentStorefrontV3 .ts3PlayerPackagePrompt { align-items:stretch; flex-direction:column; }
  body.tournamentStorefrontV3 .ts3PlayerPackagePrompt button { width:100%; white-space:normal; }
  body.tournamentStorefrontV3 #secPhotos .photoTile { padding-bottom: 112px; }
  body.tournamentStorefrontV3 .photoCart { left: 10px !important; right: 10px !important; bottom: 60px !important; width: auto !important; }
  body.tournamentStorefrontV3 .photoHeart.photoTagChild { left: 10px; right: 10px; bottom: 10px; width: auto; }
  body.tournamentStorefrontV3 #secViewer .viewerActionRow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tournamentStorefrontV3 #secViewer #btnFav,
  body.tournamentStorefrontV3 #secViewer #btnBuySingle,
  body.tournamentStorefrontV3 #secViewer #btnBuyMy,
  body.tournamentStorefrontV3 #secViewer #btnBuyTeam { grid-column: auto; }
  body.tournamentStorefrontV3 #secViewer .viewerTopActions { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
  body.tournamentStorefrontV3 #secViewer .viewerTopActions .chipBtn { flex: 0 0 auto; }
  .ts3Card { max-height: calc(100dvh - 12px); border-radius: 16px; }
  .ts3Body { padding: 14px; }
  .ts3Head { padding: 14px; }
  .ts3Tabs, .ts3PlayerFields, .ts3CropGrid, .ts3HowCards { grid-template-columns: 1fr; }
  .ts3PackagePricing { grid-template-columns: 1fr 1fr; }
  .ts3PackagePlanChoices { grid-template-columns: 1fr; }
  .ts3PackagePricing span { padding: 9px 8px; font-size: 17px; }
  .ts3PackageValue { padding: 14px; }
  .ts3PackageValue strong { font-size: 17px; }
  .ts3OneGameConfirm > div { display: grid; grid-template-columns: 1fr; }
  .ts3OneGameConfirm .ts3Primary, .ts3OneGameConfirm .ts3Secondary { width: 100%; }
  .ts3DetailsGrid { grid-template-columns: 1fr; }
  .ts3DetailsGrid label.wide { grid-column: auto; }
  .ts3DesignLine { grid-template-columns: 1fr; }
  .ts3PlayerParts { grid-template-columns: 1fr; }
  .ts3OrientationChoice { grid-template-columns: 1fr; }
  .ts3PackageGrid, .ts3QuantityGrid { grid-template-columns: 1fr; }
  .ts3ProductJumpTabs { position: static; }
  .ts3PackageCard { min-height: 0; }
  .ts3PackageQuantity, .ts3QuantityRow { align-items: flex-start; }
  .ts3QuantityRow { padding: 12px; }
  .ts3HowCard { min-height: 0; }
  .ts3GuideSteps,.ts3GuidePlans { grid-template-columns:1fr; }
  .ts3GuideFocus { align-items:flex-start; flex-direction:column; }
  .ts3GuideActions { width:100%; display:grid; grid-template-columns:1fr; }
  .ts3GuideActions button { width:100%; }
  .ts3PlayerPackageCheckout .ts3Foot { align-items:stretch; }
  .ts3PlayerFootLinks { flex:0 0 auto; }
  .ts3PlayerFootBuy { width:100%; justify-items:stretch; }
  .ts3PlayerFootBuy .ts3Total { text-align:right; }
  .ts3HowPhotoCard, .ts3HowPlayerCard, .ts3HowTeamCard, .ts3HowTeamPhotoCard, .ts3HowFocusCard { grid-column: auto; grid-row: auto; }
  body.tournamentStorefrontV3 .collectionSelectLabel { width: 100%; min-width: 0; min-height: 50px; }
  body.tournamentStorefrontV3 .viewerCollectionLabel { min-height: 42px; }
  body.tournamentStorefrontV3 .collectionGameHeading { align-items: flex-start; flex-direction: column; gap: 5px; }
  body.tournamentStorefrontV3 .ts3SectionActions { width: 100%; justify-content: stretch; }
  body.tournamentStorefrontV3 .ts3SectionActions > button { flex: 1 1 145px; }
  body.tournamentStorefrontV3 .ts3CollectionSave { flex: 1 1 auto; }
  body.tournamentStorefrontV3 .ts3CollectionOptionsMenu { position: fixed; top: auto; right: 14px; bottom: 14px; left: 14px; width: auto; }
  .ts3Option { grid-template-columns: auto minmax(0,1fr); }
  .ts3Price { grid-column: 2; }
  .ts3Proof { min-height: 0; max-height: 48dvh; }
  .ts3Proof.portrait { width: auto; height: min(440px, 48dvh); max-width: 100%; }
  .ts3Proof.cardBack { width: auto; height: min(440px,48dvh); max-width: 100%; }
  .ts3Foot { padding: 12px 14px; flex-wrap: wrap; }
  .ts3Primary, .ts3Danger { flex: 1; }
}

/* Mobile checkout must keep its body scrollable and its actions reachable. */
@media (max-width: 700px) {
  body.tournamentStorefrontV3 #checkoutModal .modalInner { min-height:100dvh; padding:0; }
  body.tournamentStorefrontV3 #checkoutModal .modalCard {
    height:100dvh;
    max-height:none;
    border-width:0;
    border-radius:0;
  }
  body.tournamentStorefrontV3 #checkoutModal .modalHead { padding:12px 14px; }
  body.tournamentStorefrontV3 #checkoutModal .modalTitle { font-size:clamp(21px,6vw,26px); }
  body.tournamentStorefrontV3 #checkoutModal .modalBody { padding:12px 13px 18px; }
  body.tournamentStorefrontV3 #checkoutModal .stepRow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  body.tournamentStorefrontV3 #checkoutModal .stepDot { min-width:0; padding:7px 4px; overflow:hidden; font-size:10px; text-align:center; white-space:nowrap; }
  body.tournamentStorefrontV3 #checkoutModal .searchWrap { min-width:0; }
  body.tournamentStorefrontV3 #checkoutModal .searchField { min-width:0; flex-basis:100%; }
  body.tournamentStorefrontV3 #checkoutModal input,
  body.tournamentStorefrontV3 #checkoutModal select { min-width:0; font-size:16px; }
  body.tournamentStorefrontV3 #checkoutModal .modalFooter {
    flex-wrap:nowrap;
    align-items:stretch;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
  }
  body.tournamentStorefrontV3 #checkoutModal .checkoutActionsLeft { flex:0 0 auto; }
  body.tournamentStorefrontV3 #checkoutModal .checkoutActionsRight { min-width:0; flex:1 1 auto; flex-wrap:nowrap; justify-content:flex-end; }
  body.tournamentStorefrontV3 #checkoutModal .chipBtn { min-width:0; min-height:46px; padding-inline:12px; }
}

/* Product editors keep the proof visible while only the controls scroll. */
@media (max-width: 680px) {
  .ts3Modal.ts3EditorModal { place-items: stretch; padding: 0; }
  .ts3EditorModal .ts3Card {
    width: 100%;
    height: 100dvh;
    max-height: none;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    overflow: hidden;
    border-radius: 0;
  }
  .ts3EditorModal .ts3Head { position: relative; padding: 9px 11px; }
  .ts3EditorModal .ts3Head h2 { font-size: clamp(19px,5.4vw,24px); line-height: 1.08; }
  .ts3EditorModal .ts3Head p { display: none; }
  .ts3EditorModal .ts3Close { width: 36px; height: 36px; font-size: 22px; }
  .ts3EditorModal .ts3Body { min-height: 0; overflow: hidden; padding: 0; }
  .ts3EditorModal .ts3CropGrid {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(180px,36dvh) minmax(0,1fr);
    gap: 0;
  }
  .ts3EditorModal .ts3PreviewColumn {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
    align-items: center;
    justify-items: center;
    gap: 5px;
    overflow: hidden;
    padding: 8px 10px 7px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: #091321;
  }
  .ts3EditorModal .ts3Proof,
  .ts3EditorModal .ts3Proof.portrait,
  .ts3EditorModal .ts3Proof.cardBack,
  .ts3EditorModal .ts3Proof.cardFront {
    width: auto;
    height: 100%;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
  }
  .ts3EditorModal .ts3CropProductNote {
    width: 100%;
    max-height: 42px;
    overflow: hidden;
    padding: 5px 8px;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.25;
  }
  .ts3EditorModal .ts3Controls {
    min-height: 0;
    align-content: start;
    gap: 10px;
    overflow-x: hidden;
    overflow-y: hidden;
    overscroll-behavior: contain;
    padding: 11px 13px 20px;
    -webkit-overflow-scrolling: touch;
  }
  .ts3EditorModal .ts3DesktopEditorControls { display: none; }
  .ts3EditorModal .ts3MobileEditorControls { min-height: 0; display: grid; align-content: start; gap: 10px; overflow-x: hidden; overflow-y: auto; }
  .ts3MobilePersistent:empty { display: none; }
  .ts3MobileEditorTabs { position: sticky; z-index: 3; top: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 3px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: #091321; box-shadow: 0 6px 12px rgba(3,8,14,.34); }
  .ts3MobileEditorTabs button { min-height: 42px; border: 0; border-radius: 9px; background: transparent; color: #aeb9c9; font-size: 14px; font-weight: 950; cursor: pointer; }
  .ts3MobileEditorTabs button.on { background: linear-gradient(180deg,rgba(218,177,79,.26),rgba(181,132,39,.18)); color: #ffe094; box-shadow: inset 0 0 0 1px rgba(226,189,92,.62); }
  .ts3MobileEditorPanels { min-height: 0; }
  .ts3MobileEditorPanel { display: grid; align-content: start; gap: 10px; }
  .ts3MobileEditorPanel[hidden] { display: none; }
  .ts3EditorModal .ts3Controls input,
  .ts3EditorModal .ts3Controls select,
  .ts3EditorModal .ts3Controls textarea { min-height: 42px; }
  .ts3EditorModal .ts3NudgeRow button { width: 40px; height: 40px; }
  .ts3EditorModal .ts3Foot {
    position: relative;
    z-index: 3;
    flex-wrap: nowrap;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  .ts3EditorModal .ts3Foot .ts3Primary,
  .ts3EditorModal .ts3Foot .ts3Secondary {
    min-width: 0;
    min-height: 44px;
    padding: 0 11px;
    font-size: 13px;
    line-height: 1.15;
  }
  .ts3EditorModal .ts3Foot .ts3Secondary { flex: 0 1 38%; }
  .ts3EditorModal .ts3Foot .ts3Primary { flex: 1 1 62%; }
}

/* v1580b: Buy This Photo has its own cart and contact modals. */
body.tournamentStorefrontV3 :is(#checkoutModal,.cartV2CustomerInfoModal) .modalTitle {
  color: #f2f5ff;
  font-size: clamp(21px,2.4vw,25px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.02em;
  text-transform: none;
}
body.tournamentStorefrontV3 :is(#checkoutModal,.cartV2CustomerInfoModal) .modalSub {
  font-size: 14px;
  line-height: 1.4;
}
body.tournamentStorefrontV3 #checkoutModal .checkoutCard {
  border-width: 1px;
}
body.tournamentStorefrontV3 #checkoutModal .checkoutCardTitle {
  font-size: 17px;
  font-weight: 800;
}
body.tournamentStorefrontV3 .cartV2CustomerInfoModal .modalCard {
  border-width: 1px;
}
body:has(.cartV2Modal),body:has(.cartV2CustomerInfoModal){overflow:hidden}
.cartV2Modal .modalBody,.cartV2CustomerInfoModal .modalBody{overscroll-behavior:contain}
.cartV2ItemRow>div,.cartV2CustomerInfoModal .modalBody div{min-width:0}
.cartV2ItemRow{overflow-wrap:anywhere}
.cartV2CustomerInfoModal input,.cartV2CustomerInfoModal select{min-width:0;max-width:100%}
@media(max-width:700px){
  .cartV2Modal .modalInner,.cartV2CustomerInfoModal .modalInner{min-height:100dvh;padding:0}
  .cartV2Modal .modalCard,.cartV2CustomerInfoModal .modalCard{height:100dvh;max-height:none;border:0;border-radius:0;max-width:none!important}
  .cartV2Modal .modalHead,.cartV2CustomerInfoModal .modalHead{padding:12px 14px}
  .cartV2Modal .modalTitle,.cartV2CustomerInfoModal .modalTitle{font-size:24px}
  .cartV2Modal .modalBody,.cartV2CustomerInfoModal .modalBody{padding:12px}
  .cartV2Modal .modalFooter,.cartV2CustomerInfoModal .modalFooter{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}
  .cartV2Modal .modalFooter .chipBtn,.cartV2CustomerInfoModal .modalFooter .chipBtn{flex:1 1 120px;min-width:0;min-height:46px;white-space:normal}
  .cartV2CustomerInfoModal .cartV2ContactRow{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:430px){
  .cartV2Modal .cartV2ItemRow{grid-template-columns:64px minmax(0,1fr) auto!important;gap:8px!important;padding:10px}
  .cartV2ItemRow>div:first-child{width:64px!important;height:64px!important}
}
/* A short landscape viewport must allow the whole editor to scroll. */
@media(max-height:550px){
  .ts3Modal.ts3EditorModal{padding:0}
  .ts3EditorModal .ts3Card{height:100dvh;max-height:none;display:flex;flex-direction:column;border-radius:0;overflow:hidden}
  .ts3EditorModal .ts3Head,.ts3EditorModal .ts3Foot{flex-shrink:0}
  .ts3EditorModal .ts3Head{position:static;padding:8px 12px}
  .ts3EditorModal .ts3Head h2{font-size:21px}
  .ts3EditorModal .ts3Head p{display:none}
  .ts3EditorModal .ts3Body{min-height:0;overflow:auto;flex:1}
  .ts3EditorModal .ts3CropGrid{height:auto;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .ts3EditorModal .ts3PreviewColumn{display:block;overflow:visible}
  .ts3EditorModal .ts3Proof{height:auto;max-height:none;width:100%}
  .ts3EditorModal .ts3Controls,.ts3EditorModal .ts3MobileEditorControls{overflow:visible}
}

/* v1594a: scoped selector clarity and compact, visible product samples. */
body.tournamentPage #secT .list,
body.tournamentStorefrontV3 :is(#teamList,#gameList){min-width:0;grid-template-columns:minmax(0,1fr)}
body.tournamentPage #secT .tile{min-width:0;max-width:100%}
body.tournamentPage #secT .tileName{display:block;-webkit-line-clamp:unset;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(19px,2.2vw,26px);line-height:1.2}
body.tournamentPage #secT .tileMeta{white-space:normal;overflow:visible;overflow-wrap:anywhere}
body.tournamentPage #secT .tileLocation{color:#dfc883}
body.tournamentPage #secT .tileDates{font-size:13px;margin-top:5px}
body.tournamentPage #secT .logo{width:66px;height:66px;padding:5px;border-radius:14px}
body.tournamentPage #secT .tileLeft{gap:12px}
body.tournamentPage #secT .searchField,
body.tournamentStorefrontV3 :is(#secTeam,#secGame) .searchField{min-width:0;max-width:100%}
body.tournamentPage #secT .searchField input,
body.tournamentStorefrontV3 :is(#secTeam,#secGame) .searchField input{min-width:0}
body.tournamentStorefrontV3 :is(#teamList,#gameList) .row{min-width:0;max-width:100%}
body.tournamentStorefrontV3 :is(#teamList,#gameList) .row :is(.top,.bot){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .sectionHead>div{min-width:0;max-width:100%}
body.tournamentStorefrontV3 .heroTitle{overflow-wrap:anywhere}
body.tournamentStorefrontV3 #gameList .ts3GameRow{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,1.5fr) auto;gap:14px;width:100%;font-family:inherit;color:var(--text);text-align:left;padding:16px;min-height:88px}
body.tournamentStorefrontV3 .ts3GameWhen{font-size:19px;line-height:1.3;font-weight:950;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3GameInfo{min-width:0}
body.tournamentStorefrontV3 .ts3GameOpponent{display:block;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3GameRink{display:block;font-size:13px;line-height:1.4;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3GameOpen{font-size:14px;line-height:1.3;font-weight:900;color:var(--gold)}
body.tournamentStorefrontV3 #secPhotos :is(.thumbToolbar,.thumbToolbarLeft,.thumbToolbarRight,.thumbGameControl){min-width:0;max-width:100%}
body.tournamentStorefrontV3 #secPhotos .thumbGameControl{flex:1 1 320px;width:440px}
body.tournamentStorefrontV3 #secPhotos .thumbSelect{min-width:0;max-width:100%}
body.tournamentStorefrontV3 #secPhotos .thumbGameControl .thumbSelect{flex:1 1 0;width:0;min-width:0}
body.tournamentStorefrontV3 #secPhotos .thumbGameControl .thumbCount{white-space:normal;overflow-wrap:anywhere;min-width:0}
body.tournamentStorefrontV3 .ts3SelectedGameDetails{padding:0 2px;margin:10px 0 14px;min-width:0;color:var(--text);overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3SelectedGameDetails p{margin:4px 0;font-size:16px;line-height:1.35}
body.tournamentStorefrontV3 .ts3SelectedGameDetails b{font-size:18px;line-height:1.35}
body.tournamentStorefrontV3 .ts3SelectedGameDetails .ts3SelectedTeam{color:var(--gold);font-weight:900}
body.tournamentStorefrontV3 .ts3SelectedGameDetails .ts3SelectedRink{color:var(--muted);font-size:13px}
body.tournamentStorefrontV3 .ts3ProductShowcase{padding:12px;gap:10px;min-width:0}
body.tournamentStorefrontV3 .ts3ProductShowcase .gmpKeepsakes{padding:0;background:none}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesHeading{margin:0 0 10px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesKicker{display:none}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) h3{font-size:22px;line-height:1.2}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesProducts{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);gap:10px;align-items:start}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsake{grid-column:auto;grid-row:auto}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeArt{height:155px;padding:3px 0;gap:5px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeFace{transform:none;max-width:100%;gap:4px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeFace>span{display:none}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsake figcaption{min-height:0;margin-top:6px}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption span{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesNote{display:none}
body.tournamentStorefrontV3 .ts3ShowcaseFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.tournamentStorefrontV3 .ts3ShowcaseFooter p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
body.tournamentStorefrontV3 .ts3ShowcaseSize{min-height:40px;padding:8px 10px;font-size:12px;white-space:normal}
body.tournamentStorefrontV3 .ts3ShowcaseSize[hidden]{display:none}
@media(max-width:700px){
  body.tournamentPage #secT .tile{display:grid;grid-template-columns:40px minmax(0,1fr);padding:12px;gap:9px}
  body.tournamentPage #secT .logo{width:40px;height:40px;padding:3px;border-radius:10px;align-self:start}
  body.tournamentPage #secT .tileLeft{display:contents}
  body.tournamentPage #secT .chev{grid-column:2;justify-self:end;width:24px;min-width:0;height:24px;min-height:0;padding:0;border:0;background:none;box-shadow:none}
  body.tournamentPage #secT .tileName{font-size:19px}
  body.tournamentStorefrontV3 .heroTitle{font-size:clamp(24px,6.5vw,30px);line-height:1.16}
  body.tournamentStorefrontV3 #teamList .teamRow{padding:14px;min-height:76px}
  body.tournamentStorefrontV3 #teamList .chev{width:24px;min-width:24px;height:32px;min-height:0;padding:0;border:0;background:none;box-shadow:none;flex:0 0 24px}
  body.tournamentStorefrontV3 #teamList .teamRow .top{font-size:20px;line-height:1.25}
  body.tournamentStorefrontV3 #gameList .ts3GameRow{grid-template-columns:minmax(0,1fr);gap:7px;padding:14px}
  body.tournamentStorefrontV3 .ts3GameWhen{font-size:18px}
  body.tournamentStorefrontV3 .ts3GameOpponent{font-size:17px}
  body.tournamentStorefrontV3 .ts3GameOpen{justify-self:end}
  body.tournamentStorefrontV3 #secPhotos .thumbToolbarLeft{display:grid;grid-template-columns:minmax(0,1fr)}
  body.tournamentStorefrontV3 #secPhotos .thumbGameControl{width:100%}
  body.tournamentStorefrontV3 #secPhotos .thumbGameControl .thumbCount{flex:0 1 auto;max-width:42%}
  body.tournamentStorefrontV3 #secPhotos .collectionSelectLabel{min-width:0;max-width:100%;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ProductShowcase{padding:10px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) h3{font-size:19px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakesProducts{gap:6px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeArt{height:110px;gap:3px}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) figcaption span{font-size:11px;line-height:1.3;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ProductShowcase:not(.ts3ShowcaseExpanded) .gmpKeepsakeFace>span{font-size:11px;overflow-wrap:anywhere}
  body.tournamentStorefrontV3 .ts3ShowcaseSize{min-height:44px}
}
.ts3TeamPhotoDesigner .ts3Card{max-width:1120px}
.ts3TeamPhotoLayout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.ts3TeamPhotoProof{position:sticky;top:0;text-align:center;min-width:0}
.ts3TeamPhotoProof img{display:block;width:100%;max-height:58vh;object-fit:contain;border-radius:10px;background:#12171e}
.ts3TeamPhotoProof p{margin:10px 0 6px;font-size:14px}
.ts3TeamPhotoProof small{color:#9aabc2}
.ts3TeamPhotoControls{min-width:0}
.ts3TeamPhotoControls input,.ts3TeamPhotoControls select{min-width:0;max-width:100%}
.ts3TeamPhotoControls select{min-height:46px}
.ts3TeamPhotoOptions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.ts3TeamPhotoOptions label{display:flex;align-items:center;gap:8px;min-height:40px;font-size:14px}
.ts3TeamPhotoOptions input{flex:none;width:20px;height:20px}
.ts3TeamPhotoDesigner button:disabled{opacity:.5;cursor:default}
@media(max-width:760px){
  .ts3TeamPhotoLayout{grid-template-columns:minmax(0,1fr);gap:14px}
  .ts3TeamPhotoProof{position:static}
  .ts3TeamPhotoProof img{max-height:34vh}
  .ts3TeamPhotoDesigner .ts3DetailsGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ts3TeamPhotoDesigner .ts3Foot{position:sticky;bottom:0;background:#101b2c;z-index:2}
}

/* Team Photos: prominent team entry and shared examples, using the print editor. */
#ts3TeamPhotoPromo[hidden]{display:none!important}
#ts3TeamPhotoPromo{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 16px;padding:18px;text-align:left;font:inherit;color:#fff;cursor:pointer;border:1px solid #b89648;border-radius:14px;background:linear-gradient(110deg,#20324a,#253227)}
#ts3TeamPhotoPromo .ts3FocusPromptCopy{display:grid;gap:5px;min-width:0}
#ts3TeamPhotoPromo strong{font-size:20px;color:#ffe195}
#ts3TeamPhotoPromo [data-team-photo-promo-count]{font-size:14px;color:#d1dbe8}
.ts3TeamPhotoPromoAction{padding:12px 16px;background:#d7b15a;color:#102035;border-radius:10px;font-weight:900;text-align:center}
.ts3TeamPhotoGallery section{margin-bottom:24px}
.ts3TeamPhotoGallery section[hidden]{display:none}
.ts3TeamPhotoGalleryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ts3TeamPhotoTile{min-width:0;border:1px solid #344760;border-radius:12px;padding:10px;display:grid;gap:8px;background:#0a1626}
.ts3TeamPhotoTile.isPose1{border:2px solid #f0c85a;box-shadow:0 0 0 2px rgba(240,200,90,.18)}
.ts3TeamPhotoTile>button:first-child{padding:0;display:grid;gap:8px;min-width:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.ts3TeamPhotoTile img{display:block;width:100%;height:220px;object-fit:contain;background:#04080e;border-radius:7px}
.ts3TeamPhotoTile strong{font-size:20px;overflow-wrap:anywhere}
.ts3TeamPhotoTile span{color:#ffe195;font-size:14px}
.ts3TeamPhotoDesigner .ts3TeamPhotoPreview{position:sticky;top:0;align-self:start;min-width:0;text-align:center}
.ts3TeamPhotoDesigner [data-team-photo-proof]{display:block;width:100%;height:440px;max-height:52vh;object-fit:contain;background:#050b13;border-radius:8px}
.ts3TeamPhotoProofStatus{font-size:13px;line-height:1.3;color:#b6c5d9;padding:7px 0}
.ts3TeamPhotoDesigner .ts3Controls{min-width:0}
.ts3TeamPhotoDesigner .ts3DesktopEditorControls,.ts3TeamPhotoPosition,.ts3TeamPhotoText{display:grid;gap:12px;min-width:0}
.ts3TeamPhotoDesigner [data-team-photo-panel][hidden]{display:none}
.ts3TeamPhotoFit{display:flex;gap:7px;flex-wrap:wrap}
.ts3TeamPhotoDesigner .ts3Foot{display:grid;gap:8px}
.ts3TeamPhotoOrder{display:flex;align-items:center;gap:12px;font-size:14px;min-width:0}
.ts3TeamPhotoOrder label{display:flex;align-items:center;gap:8px;flex:none}
.ts3TeamPhotoOrder input{width:64px;min-height:40px;background:#091321;color:#fff;border:1px solid #546378;border-radius:7px;padding:5px}
.ts3TeamPhotoConfirm{display:flex;align-items:center;gap:8px;font-size:13px}
.ts3TeamPhotoConfirm input{width:20px;height:20px;flex:none;accent-color:#d7b15a}
.ts3TeamPhotoActions{display:flex;flex-wrap:wrap;gap:8px}
.ts3TeamPhotoActions button{flex:1 1 auto;min-height:44px}
.ts3TeamPhotoShareStatus{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;color:#cce9d1;overflow-wrap:anywhere}
.ts3TeamPhotoShareStatus:empty{display:none}
.ts3TeamPhotoShareStatus input,[data-team-photo-gallery-status] input{width:100%;min-width:0;padding:10px}
@media(max-width:680px){
  #ts3TeamPhotoPromo{grid-template-columns:auto minmax(0,1fr);padding:13px;gap:9px}
  #ts3TeamPhotoPromo strong{font-size:17px}
  .ts3TeamPhotoPromoAction{grid-column:1/-1;padding:10px}
  .ts3TeamPhotoGalleryGrid{grid-template-columns:minmax(0,1fr)}
  .ts3TeamPhotoTile img{height:auto;max-height:300px}
  .ts3TeamPhotoDesigner .ts3CropGrid{grid-template-rows:minmax(120px,30dvh) minmax(0,1fr)}
  .ts3TeamPhotoDesigner .ts3TeamPhotoPreview{position:static;align-self:stretch;min-height:0}
  .ts3TeamPhotoDesigner [data-team-photo-proof]{height:100%;max-height:100%;min-height:0}
  .ts3TeamPhotoDesigner .ts3Controls{overflow-y:auto;padding:10px}
  .ts3TeamPhotoDesigner .ts3MobileEditorControls{overflow:visible}
  .ts3TeamPhotoDesigner .ts3DesktopEditorControls{display:none}
  .ts3TeamPhotoDesigner .ts3Foot{position:relative;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}
  .ts3TeamPhotoOrder{font-size:12px;gap:8px}
  .ts3TeamPhotoOrder input{min-height:36px;width:54px}
  .ts3TeamPhotoActions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:6px}
  .ts3TeamPhotoActions button{padding:8px 6px;font-size:12px;white-space:normal}
  .ts3TeamPhotoDesigner .ts3TeamPhotoShareStatus{max-height:90px;overflow-y:auto}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  .ts3TeamPhotoDesigner .ts3Card{height:auto;max-height:96dvh;display:block;overflow:auto}
  .ts3TeamPhotoDesigner .ts3Body{overflow:visible}
  .ts3TeamPhotoDesigner .ts3CropGrid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ts3TeamPhotoDesigner [data-team-photo-proof]{height:240px}
}

/* v1600a: fixed viewport editor; controls share compact tabs on every screen. */
.ts3Modal.ts3TeamPhotoDesigner .ts3Card{width:min(1240px,calc(100vw - 28px));max-width:none;height:min(820px,calc(100dvh - 28px));max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.ts3TeamPhotoDesigner .ts3Head{padding:14px 18px}
.ts3TeamPhotoDesigner .ts3Head h2{font-size:23px}
.ts3TeamPhotoDesigner .ts3Head p{margin:5px 0 0;font-size:13px}
.ts3TeamPhotoDesigner .ts3Body{padding:14px 18px;min-height:0;overflow:hidden}
.ts3TeamPhotoDesigner .ts3CropGrid{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);grid-template-rows:minmax(0,1fr);gap:18px}
.ts3TeamPhotoDesigner .ts3TeamPhotoPreview{position:static;align-self:stretch;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:6px;padding:0}
.ts3TeamPhotoProofViewport{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ts3TeamPhotoProofStage{position:relative;flex:none;max-width:100%;max-height:100%}
.ts3TeamPhotoDesigner [data-team-photo-proof]{display:block;width:100%;height:100%;max-height:none;object-fit:fill;background:transparent;border-radius:0}
.ts3TeamPhotoSafeGuides{position:absolute;inset:3.35%;border:2px dotted #fff;filter:drop-shadow(0 1px 2px #000);pointer-events:none;z-index:1}
.ts3TeamPhotoSafeGuides[hidden]{display:none}
.ts3TeamPhotoDesigner [data-team-photo-guide-note]{font-size:12px;color:#c5d2e4;line-height:1.3}
.ts3TeamPhotoDesigner [data-team-photo-guide-note]:empty{display:none}
.ts3TeamPhotoDesigner .ts3Controls{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;gap:12px;padding:0}
.ts3TeamPhotoEditorTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#081321;border-radius:12px;border:1px solid #394b65}
.ts3TeamPhotoEditorTabs button{min-height:42px;border:0;border-radius:8px;background:transparent;color:#bdcbe0;font-weight:850;font-size:15px;cursor:pointer}
.ts3TeamPhotoEditorTabs button.on{background:#574620;color:#ffe39a}
.ts3TeamPhotoControlPanels{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:5px}
.ts3TeamPhotoDesigner .ts3TeamPhotoText,.ts3TeamPhotoDesigner .ts3TeamPhotoPosition{display:grid;gap:12px}
.ts3TeamPhotoDesigner .ts3DesignOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
.ts3TeamPhotoDesigner .ts3DesignLine{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
.ts3TeamPhotoTextDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ts3TeamPhotoDesigner .ts3Controls label{font-size:13px;min-width:0}
.ts3TeamPhotoDesigner .ts3Controls input,.ts3TeamPhotoDesigner .ts3Controls select{min-width:0;max-width:100%;font-size:14px;min-height:40px;padding:8px}
.ts3TeamPhotoDesigner .ts3Controls input[type=checkbox]{min-height:18px;width:18px;height:18px;padding:0}
.ts3TeamPhotoDesigner .ts3Controls input[type=range]{padding:0}
.ts3TeamPhotoDesigner .ts3Foot{position:relative;display:grid;gap:7px;padding:11px 18px;background:#0a1424;border-top:1px solid #34445b;max-height:42dvh;overflow:auto}
.ts3TeamPhotoShipping{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#c0cee0}
.ts3TeamPhotoShipping strong{flex:none;color:#f3dfae}
.ts3TeamPhotoShipping span{line-height:1.3;text-align:right}
@media(max-width:760px){
 .ts3Modal.ts3TeamPhotoDesigner{padding:0;place-items:stretch}
 .ts3Modal.ts3TeamPhotoDesigner .ts3Card{width:100%;height:100dvh;border-radius:0}
 .ts3TeamPhotoDesigner .ts3Head{padding:9px 12px}
 .ts3TeamPhotoDesigner .ts3Head h2{font-size:20px}
 .ts3TeamPhotoDesigner .ts3Head p{display:none}
 .ts3TeamPhotoDesigner .ts3Body{padding:8px 10px}
 .ts3TeamPhotoDesigner .ts3CropGrid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(100px,29dvh) minmax(0,1fr);gap:8px}
 .ts3TeamPhotoDesigner .ts3TeamPhotoPreview{gap:3px}
 .ts3TeamPhotoDesigner .ts3TeamPhotoProofStatus,.ts3TeamPhotoDesigner [data-team-photo-guide-note]{font-size:10px}
 .ts3TeamPhotoDesigner .ts3Controls{gap:7px}
 .ts3TeamPhotoDesigner .ts3Controls input,.ts3TeamPhotoDesigner .ts3Controls select{font-size:16px}
 .ts3TeamPhotoEditorTabs button{min-height:38px;font-size:14px}
 .ts3TeamPhotoDesigner .ts3Foot{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px;max-height:43dvh}
 .ts3TeamPhotoShipping{display:grid;gap:3px;font-size:11px}
 .ts3TeamPhotoShipping span{text-align:left}
 .ts3TeamPhotoDesigner .ts3TeamPhotoOrder{font-size:12px}
 .ts3TeamPhotoDesigner .ts3Controls .ts3DesignOptions,.ts3TeamPhotoTextDetails{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
 .ts3TeamPhotoDesigner .ts3CropGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
 .ts3TeamPhotoDesigner .ts3Foot{max-height:45dvh}
}
.ts3TeamPhotoFit button[aria-pressed=true]{border-color:#d6b467;color:#ffe299;background:#43391f}

/* v1607a: published Team Photo versions and the shared staff workspace. */
.ts3Modal [hidden], .ts3TeamPhotoFeature[hidden], #teamPhotoCreator [hidden]{display:none!important}
.ts3TeamPhotoFeature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:center;padding:16px;background:#101d30;color:#f1f5fb;border:1px solid rgba(202,162,74,.4);border-radius:16px}
.ts3TeamPhotoFeatureImage{display:block;padding:0;border:0;background:transparent;cursor:pointer;width:100%;min-width:0}
.ts3TeamPhotoFeatureImage img{display:block;max-height:420px;width:100%;object-fit:contain}
.ts3TeamPhotoFeature strong{font-size:20px}.ts3TeamPhotoFeature p{margin:8px 0 14px}.ts3TeamPhotoFeature small{display:block;margin-top:10px;color:#c3d1e3}
.ts3TeamPhotoQuickOrder .ts3Card{width:min(900px,calc(100vw - 24px))}
.ts3TeamPhotoUpsellCard{width:min(900px,100%);max-height:calc(100dvh - 36px);overflow:auto}
.ts3TeamPhotoUpsellCard>.ts3TeamPhotoQuickGrid{display:grid}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoFinishedProof{border-radius:12px}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoChoice{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #526682;border-radius:10px;cursor:pointer}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoChoice input{width:20px;min-width:20px;height:20px;margin:0}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoChoice>span{display:grid;gap:5px;min-width:0}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoChoice>span>span{color:#c1cddd;font-size:13px;font-weight:400}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoSale s{color:#aab7c8;margin:0 5px;font-size:16px}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoSale b{color:#f5d381;font-size:24px}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoSale em{color:#8eebae;font-style:normal;font-weight:750;white-space:nowrap}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoFreeShipping{padding:13px 14px;border:1px solid #3cbf80;border-radius:11px;background:rgba(20,128,78,.26);color:#e1ffec;font-weight:850;line-height:1.4}
.ts3TeamPhotoUpsellCard .ts3TeamPhotoUpsellActions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.ts3TeamPhotoUpsellCard [hidden]{display:none!important}
.teamPhotoRegularPrice{color:#abb7c5;font-weight:500;margin-right:5px}
.teamPhotoSpecialPrice{color:#f5d381}
.teamPhotoFreeShipping{display:inline-block;margin-top:6px;color:#83e6a6}
.ts3TeamPhotoQuickGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.ts3TeamPhotoFinishedProof{display:block;object-fit:contain;width:100%;min-height:160px;max-height:540px;background:#0c1626}
.ts3TeamPhotoQuiet{font-size:13px;line-height:1.5;color:#c1cddd}
.ts3TeamPhotoQuickDetails{display:grid;gap:14px;min-width:0}.ts3TeamPhotoQuickDetails h3,.ts3TeamPhotoQuickDetails p{margin:0}
.ts3TeamPhotoQuickDetails label,.ts3TeamPhotoStaffFields label,.ts3TeamPhotoCreatorFilters label{display:grid;gap:6px;min-width:0;font-weight:700}
.ts3TeamPhotoQuickDetails select,.ts3TeamPhotoQuickDetails input,.ts3TeamPhotoStaffFields input,.ts3TeamPhotoStaffFields select,.ts3TeamPhotoCreatorFilters select{width:100%;min-width:0;font:inherit;font-size:16px;color:#f1f5fb;background:#15253a;border:1px solid #53667f;padding:10px 12px;border-radius:8px}
.ts3TeamPhotoQuickDetails input{max-width:110px}.ts3TeamPhotoQuickDetails [data-finished-price]>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #334259;flex-wrap:wrap}
.ts3TeamPhotoQuickDetails [data-finished-status]:empty{display:none}
.ts3TeamPhotoQuickLinks{display:flex;flex-wrap:wrap;gap:8px}.ts3TeamPhotoQuickLinks button{font-size:13px;flex:1 1 auto}
.ts3TeamPhotoStaffFields{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:10px}
.ts3TeamPhotoCreatorFilters{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:18px}
#teamPhotoCreator .ts3TeamPhotoGalleryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
#teamPhotoCreator .ts3TeamPhotoTile{min-width:0}#teamPhotoCreator .ts3TeamPhotoTile button{width:100%}
#teamPhotoCreator .ts3TeamPhotoTile img{width:100%;height:200px;object-fit:contain}
#teamPhotoCreator>section{margin-top:24px}#teamPhotoCreator p{color:#c1cddd;line-height:1.5}
#creatorStatus input{width:100%;padding:10px}
@media(max-width:680px){.ts3TeamPhotoFeature,.ts3TeamPhotoQuickGrid,.ts3TeamPhotoStaffFields,.ts3TeamPhotoCreatorFilters{grid-template-columns:1fr}.ts3TeamPhotoFeature .ts3Primary{width:100%}.ts3TeamPhotoFinishedProof{max-height:330px}.ts3TeamPhotoQuickOrder .ts3Body{padding:16px}}

/* v1607b: source-photo inspection is separate from print cropping. */
.ts3TeamPhotoDesigner .ts3TeamPhotoPreview{grid-template-rows:auto minmax(0,1fr) auto auto}
.ts3TeamPhotoChooseBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ts3TeamPhotoChooseBar button{padding:8px 12px;min-height:40px}
.ts3TeamPhotoChooseBar small{color:#d5deeb}
.ts3TeamPhotoStaffFields{grid-template-columns:minmax(0,1fr);margin-bottom:0}
.ts3TeamPhotoJob{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 10px;border:1px solid #665834;border-radius:8px;background:#292515;font-size:13px}
.ts3TeamPhotoJob span{flex:1;min-width:160px}.ts3TeamPhotoJob button{padding:7px 12px;min-height:36px}
.ts3CreatorWork{margin:18px 0 24px;padding:16px;background:#0a1422;border:1px solid #35445a;border-radius:12px}
.ts3CreatorWorkHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ts3CreatorWorkHead h2{margin:0 0 5px}.ts3CreatorWorkHead p{margin:0;color:#b5c5da;font-size:14px}
.ts3CreatorRunControls{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.ts3CreatorRun{padding:12px 14px;border:1px solid #947c3e;border-radius:10px;background:#211e16;margin:14px 0}
.ts3CreatorRun p{margin:7px 0;font-size:13px}.ts3CreatorTableWrap{overflow-x:auto}
.ts3CreatorTeams{width:100%;border-collapse:collapse;font-size:14px}
.ts3CreatorTeams th,.ts3CreatorTeams td{padding:10px;text-align:left;border-bottom:1px solid #304158}
.ts3CreatorTeams th{font-size:12px;color:#b5c5da}.ts3CreatorTeams input{width:19px;height:19px;accent-color:#dab95e}
.ts3CreatorTeamLink{border:0;background:none;color:#edf3fc;text-align:left;font:inherit;padding:4px 0;cursor:pointer}
.ts3CreatorTeamLink:hover{text-decoration:underline}.ts3CreatorBadge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:12px;white-space:nowrap;background:#293548;color:#cbd5e2}
.ts3CreatorBadge.created{background:#113d2b;color:#b0f2d1}.ts3CreatorBadge.needs_design{background:#46381c;color:#ffe3a0}.ts3CreatorBadge.needs_pose1{background:#4c2424;color:#ffd0d0}.ts3CreatorBadge.needs_regeneration{background:#4a351b;color:#ffe0a1}
.ts3CreatorHint,#creatorStorageNote{color:#b5c5da;font-size:12px;line-height:1.5}
#teamPhotoCreator :is(button,input,select):focus-visible{outline:3px solid #f4cc6a;outline-offset:2px}
#teamPhotoCreator button:disabled{opacity:.5;cursor:default}
@media(max-width:680px){.ts3CreatorWork{padding:12px}.ts3CreatorTeams th,.ts3CreatorTeams td{padding:8px 5px}.ts3CreatorTeams{font-size:12px}.ts3CreatorRunControls button{flex:1 1 auto}.ts3TeamPhotoJob{gap:6px;font-size:11px}.ts3TeamPhotoJob span{min-width:100px}}
.ts3TeamPhotoChooser{position:fixed;inset:0;z-index:10;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:10px;padding:14px 20px;background:#080f19;color:#edf3fc;overflow:hidden;font-family:Arial,sans-serif;box-sizing:border-box}
.ts3TeamPhotoChooser *{box-sizing:border-box;min-width:0}
.ts3PhotoChooserHead,.ts3PhotoChooserTools,.ts3PhotoChooserInfo,.ts3PhotoChooserFoot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ts3PhotoChooserHead h2{margin:0;font-size:22px;color:#fff}
.ts3PhotoChooserHead p{margin:4px 0 0;font-size:13px;color:#b9c7da}
.ts3PhotoChooserTools>div{display:flex;align-items:center;gap:10px}
.ts3PhotoChooserTools output{min-width:34px;text-align:center;font-size:14px;font-weight:700}
.ts3TeamPhotoChooser button{min-height:42px;cursor:pointer;flex-shrink:0}
.ts3TeamPhotoChooser button:disabled{opacity:.4;cursor:default}
.ts3TeamPhotoChooser button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.ts3TeamPhotoDesigner :is(button,input,select,textarea,a):focus-visible{outline:3px solid #f4cc6a;outline-offset:2px}
.ts3PhotoChooserView:focus-visible{outline:2px solid #f4cc6a;outline-offset:-2px}
.ts3TeamPhotoChooseBar kbd{display:inline-block;margin-left:6px;padding:1px 5px;border:1px solid #65748a;border-radius:4px;font-size:11px}
.ts3PhotoChooserView{min-height:0;overflow:auto;background:#02060c;border:1px solid #253348;overscroll-behavior:contain;touch-action:pan-x pan-y;scroll-behavior:auto}
.ts3PhotoChooserView.isZoomed{cursor:grab;touch-action:none}
.ts3PhotoChooserView.isZoomed:active{cursor:grabbing}
.ts3PhotoChooserCanvas{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
.ts3TeamPhotoDesigner .ts3PhotoChooserCanvas img{display:block;flex:none;max-width:none;max-height:none;object-fit:contain;border-radius:0;user-select:none;-webkit-user-drag:none}
.ts3PhotoChooserInfo{justify-content:flex-start;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere;min-height:18px}
.ts3PhotoChooserInfo [data-choose-status]{color:#ffd482}
.ts3PhotoChooserThumbs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:3px;overscroll-behavior:contain}
.ts3PhotoChooserThumbs button{width:104px;padding:3px;border:2px solid #344359;border-radius:8px;background:#111d2d;color:#cdd7e5;text-align:center}
.ts3PhotoChooserThumbs button[aria-pressed=true]{border-color:#f4cc6a;background:#443819;color:#fff1c3}
.ts3TeamPhotoDesigner .ts3PhotoChooserThumbs img{display:block;width:94px;height:54px;object-fit:contain;border-radius:3px}
.ts3PhotoChooserThumbs span{display:block;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts3PhotoChooserFoot small{color:#b9c7da;font-size:12px}
.ts3PhotoChooserFoot .ts3Primary{min-width:180px}
@media(max-width:680px){
 .ts3TeamPhotoChooser{padding:9px 10px calc(9px + env(safe-area-inset-bottom));gap:7px}
 .ts3PhotoChooserHead h2{font-size:17px}.ts3PhotoChooserHead p{display:none}
 .ts3PhotoChooserHead button{padding:8px;font-size:12px}
 .ts3PhotoChooserTools{flex-wrap:wrap;justify-content:center;gap:6px}
 .ts3PhotoChooserTools button{padding:8px 12px;font-size:13px}
 .ts3PhotoChooserTools>div{gap:8px}.ts3PhotoChooserTools [data-choose-count]{font-size:13px}
 .ts3PhotoChooserThumbs button{width:86px}.ts3TeamPhotoDesigner .ts3PhotoChooserThumbs img{width:76px;height:43px}
 .ts3PhotoChooserFoot{display:grid;gap:6px}.ts3PhotoChooserFoot small{font-size:10px;text-align:center}
 .ts3PhotoChooserInfo{font-size:11px}
}
@media(max-height:540px) and (orientation:landscape){
 .ts3TeamPhotoChooser{gap:4px;padding:6px 12px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto}
 .ts3PhotoChooserHead{grid-column:1}.ts3PhotoChooserTools{grid-column:2;grid-row:1}
 .ts3PhotoChooserHead p,.ts3PhotoChooserFoot small{display:none}.ts3PhotoChooserHead h2{font-size:16px}
 .ts3PhotoChooserView{grid-column:1/-1}.ts3PhotoChooserInfo{grid-column:1/-1}
 .ts3PhotoChooserThumbs{grid-column:1;grid-row:4}.ts3PhotoChooserFoot{grid-column:2;grid-row:4}
 .ts3PhotoChooserThumbs button{width:74px}.ts3TeamPhotoDesigner .ts3PhotoChooserThumbs img{width:64px;height:33px}
 .ts3TeamPhotoChooser button{min-height:34px;padding:6px 9px}.ts3PhotoChooserTools>div{gap:5px}
}

/* v1607c: keyboard navigation and visible focus throughout the shared editor. */
.ts3TeamPhotoDesigner :is(button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #ffe299;outline-offset:2px}
.ts3PhotoChooserView:focus-visible{outline:2px solid #ffe299;outline-offset:-2px}
.ts3TeamPhotoKeyboardHelp{font-size:11px;line-height:1.4;color:#b9c7da}
.ts3PhotoChooserFoot small{line-height:1.5}
@media(max-width:680px){.ts3TeamPhotoKeyboardHelp{font-size:10px}}

/* v1610a shared keepsake controls */
.ts3ArtControls{display:grid;gap:12px}.ts3ArtHeading{display:grid;gap:4px;border-bottom:1px solid #33455a;padding-bottom:12px}.ts3ArtHeading strong{font-size:19px}.ts3ArtControls small,.ts3ArtNotice{color:#b7c8db;font-size:12px;line-height:1.5}.ts3ArtControls label{display:grid;gap:6px;font-size:13px;font-weight:650}.ts3ArtControls input:not([type=checkbox]),.ts3ArtControls select{width:100%;min-width:0;background:#142337;color:#f4f7fa;border:1px solid #52677f;border-radius:8px;padding:9px}.ts3ArtControls .ts3ArtCheck{display:flex;align-items:center;gap:9px}.ts3ArtColumns{display:grid;grid-template-columns:2fr 1fr;gap:10px}.ts3ArtRange{display:flex;gap:8px;align-items:center}.ts3ArtRange output{min-width:30px}.ts3ArtActions{display:flex;gap:8px;flex-wrap:wrap}.ts3ArtNotice{border-left:3px solid #79bfff;padding:6px 10px;background:#102136}.ts3ArtControls details{padding:10px;border:1px solid #34475c;border-radius:8px}.ts3ArtControls summary{cursor:pointer;margin-bottom:8px}.ts3ArtControls button{white-space:normal}.ts3ArtDelete{color:#ffb9bf!important}.ts3ArtControls :focus-visible{outline:2px solid #83c5ff;outline-offset:3px}
.ts3TeamPhotoDesigner .ts3Controls.ts3ArtEditor{display:block;overflow:hidden}
.ts3ArtEditor .ts3ArtControls{height:100%;overflow:auto;align-content:start;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 9px 18px 3px}
.ts3ArtSection{display:grid;gap:10px;border:1px solid #34475c;border-radius:10px;background:#0e1b2c;padding:12px}
.ts3ArtSection>strong{font-size:14px;color:#e7f0fb}
.ts3ArtLabelRow{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ts3ArtLabelRow output{font-variant-numeric:tabular-nums;color:#a9d7ff}
.ts3ArtRange input[type=number]{flex:0 0 84px;width:84px}
.ts3ArtRange input[type=range]{flex:1;min-width:0}
.ts3ArtXY{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ts3ArtNudges{display:grid;grid-template-columns:repeat(4,minmax(32px,1fr)) 1.7fr 1.5fr;gap:5px}
.ts3ArtNudges button{min-width:0;padding:8px 5px;font-size:13px}
.ts3ArtTextRow{display:grid;gap:6px}
.ts3ArtTextRow .ts3ArtLabelRow label{white-space:nowrap}
.ts3ArtTextRow .ts3ArtLabelRow select{width:auto;max-width:65%;font-size:12px;min-height:34px}
.ts3ArtCrop{overflow:hidden;outline:1px solid #a7c2de;outline-offset:0;touch-action:none;cursor:move}
.ts3ArtCrop [data-team-photo-proof]{user-select:none;-webkit-user-drag:none}
.ts3ArtCrop .ts3TeamPhotoSafeGuides{border-width:1px;border-color:#bfe5ff}
.ts3ArtCrop:focus-visible{outline:3px solid #ffe299;outline-offset:2px}

/* v1610d: one visible workspace; the preview gives space to the controls. */
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Card{width:min(1480px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head{padding:10px 16px;position:static}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head h2{font-size:19px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head p{font-size:12px;margin-top:3px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Body{padding:12px 16px;min-height:0;overflow:hidden}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-rows:minmax(0,1fr);gap:16px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoPreview{min-height:0;gap:5px;grid-template-rows:auto minmax(0,1fr) auto auto}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Controls.ts3ArtEditor{overflow:visible;padding:0 0 0 12px;min-height:0;align-self:start;border-left:1px solid #35485f}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{height:auto;overflow:visible;padding:0;gap:7px;scrollbar-gutter:auto}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){height:32px;min-height:32px;padding:4px 7px;font:inherit;font-size:13px;border-radius:6px;background:#16273c;border-color:#52677f}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls label{font-size:12px;gap:3px;font-weight:600}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls button{min-height:32px;padding:5px 7px;font-size:12px;white-space:nowrap;border-radius:6px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTop{display:flex;align-items:center;gap:8px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTop>select{flex:1;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls .ts3ArtCheck{display:flex;flex-direction:row;align-items:center;gap:3px;white-space:nowrap}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtCheck input{width:17px;min-height:17px;height:17px;margin:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtActions{display:flex;flex-wrap:nowrap;gap:4px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtActions button{flex:1;padding-inline:5px;font-size:11px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;padding-block:3px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNudges{grid-template-columns:repeat(4,1fr) 1.6fr 1.5fr 1.4fr;gap:4px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:6px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow{display:grid;grid-template-columns:54px 92px minmax(0,1fr);align-items:center;gap:6px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNotice{padding:4px 7px;font-size:11px;line-height:1.25;min-height:22px;overflow-wrap:anywhere;border-left:2px solid #7daccd}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot{position:static;max-height:none;overflow:visible;padding:9px 16px;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:7px 16px;align-items:center}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields{grid-column:1;grid-row:1;display:block;width:auto}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields label{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;font-size:12px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields input{font-size:13px;height:32px;padding:5px 8px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoConfirm{grid-column:1;grid-row:2;margin:0;font-size:12px;display:flex;align-items:center;gap:6px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoConfirm input{width:18px;height:18px;margin:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions{grid-column:2;grid-row:1/3;display:flex;gap:7px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions button{min-height:36px;padding:8px 12px;font-size:13px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoShareStatus{grid-column:1/-1;margin:0;max-height:60px;overflow:auto;font-size:12px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoShareStatus:empty{display:none}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoJob{grid-column:1/-1;grid-row:1;padding:3px 7px;gap:8px;font-size:11px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoJob button{min-height:26px;padding:3px 8px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot:has(.ts3TeamPhotoJob) .ts3TeamPhotoStaffFields{grid-row:2}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot:has(.ts3TeamPhotoJob) .ts3TeamPhotoConfirm{grid-row:3}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot:has(.ts3TeamPhotoJob) .ts3TeamPhotoActions{grid-row:2/4}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoOrder{grid-column:1;grid-row:1;margin:0;gap:10px;font-size:12px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoOrder input{height:30px;padding:4px;width:58px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoShipping{grid-column:1/-1;font-size:11px;padding:0;gap:8px;display:flex;flex-wrap:wrap}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoChooseBar button{min-height:30px;font-size:12px;padding:5px 9px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoProofStatus{font-size:12px;min-height:17px;line-height:1.25;display:flex;align-items:center;gap:6px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoProofStatus button{min-height:26px;padding:3px 8px;font-size:12px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast [data-team-photo-guide-note]{font-size:10px;color:#a9bed3;line-height:1.2}
.ts3TeamPhotoProofStage [data-team-photo-live]{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.ts3TeamPhotoProofStage .ts3TeamPhotoSafeGuides{z-index:2}
.ts3ProofStale [data-team-photo-proof]{opacity:.28;filter:grayscale(.5)}
.ts3ShortcutHelp{background:#101e30;color:#eef4fc;border:1px solid #58708d;border-radius:12px;padding:18px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
.ts3ShortcutHelp::backdrop{background:#000a}.ts3ShortcutHelp h3{margin:0 0 12px}.ts3ShortcutHelp dl{display:grid;grid-template-columns:auto auto;gap:8px 18px;font-size:13px}.ts3ShortcutHelp dd{margin:0}.ts3ShortcutHelp dt{font-weight:bold;color:#e9cb7d}
@media(max-width:760px) and (orientation:portrait){
 .ts3Modal.ts3TeamPhotoDesigner.ts3TeamPhotoFast{padding:0;place-items:stretch}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Card{width:100%;height:100dvh;border-radius:0;border:0}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head{padding:6px 10px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head h2{font-size:15px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head p{display:none}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Close{width:30px;height:30px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Body{padding:5px 10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(70px,1fr) auto;gap:7px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Controls.ts3ArtEditor{padding:0;border:0}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){font-size:16px;height:30px;min-height:30px;padding:3px 5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls select{font-size:12px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{gap:4px 7px;padding:0}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls label{font-size:11px;gap:2px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls button{min-height:28px;font-size:11px;padding:4px 5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow{grid-template-columns:47px 82px minmax(0,1fr);gap:4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult{grid-template-columns:47px 1fr;gap:4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNotice{min-height:19px;padding:3px 6px;font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoPreview{gap:3px;grid-template-rows:auto minmax(0,1fr) auto}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast [data-team-photo-guide-note]{display:none}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoProofStatus{font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoChooseBar button{min-height:26px;padding:3px 7px;font-size:11px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot{padding:6px 10px max(6px,env(safe-area-inset-bottom));grid-template-columns:1fr;gap:5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields{grid-column:1;grid-row:auto}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields label{grid-template-columns:70px minmax(0,1fr);font-size:11px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields input{height:28px;font-size:16px;padding:3px 6px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoConfirm{grid-column:1;grid-row:auto;font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions{grid-column:1;grid-row:auto;justify-content:flex-end}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions button{min-height:30px;padding:5px 9px;font-size:12px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot:has(.ts3TeamPhotoJob) :is(.ts3TeamPhotoStaffFields,.ts3TeamPhotoConfirm,.ts3TeamPhotoActions){grid-row:auto}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoShipping{font-size:10px;gap:3px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoShipping span{display:none}
}
@media(max-height:540px) and (orientation:landscape){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Card{width:100%;height:100dvh;border-radius:0}.ts3Modal.ts3TeamPhotoDesigner.ts3TeamPhotoFast{padding:0}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head{padding:4px 10px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head h2{font-size:14px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head p{display:none}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Close{width:26px;height:26px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Body{padding:4px 10px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{grid-template-columns:minmax(0,1fr) minmax(330px,48%);gap:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:3px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){height:23px;min-height:23px;padding:2px 5px;font-size:12px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls button{height:23px;min-height:23px;padding:2px 5px;font-size:10px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{padding:0;gap:2px 6px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls label{font-size:10px;gap:1px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNotice{font-size:10px;padding:2px 5px;min-height:16px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Foot{padding:4px 10px;gap:3px 10px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoStaffFields input{height:26px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoConfirm{font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions button{min-height:30px;padding:4px 8px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast [data-team-photo-guide-note]{display:none}
}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls>*{min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions{flex-wrap:nowrap}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions button{width:auto;flex:0 1 auto;white-space:nowrap}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head .ts3Close{min-height:0;min-width:0;line-height:1;padding:0}
@media(max-width:760px) and (orientation:portrait){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){height:28px;min-height:28px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTop{gap:5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions{justify-content:space-between}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoActions button{flex:1 1 auto;padding-inline:7px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoOrder{font-size:11px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoOrder label{display:flex;align-items:center;gap:7px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoOrder input{min-height:28px;height:28px}
}
@media(min-width:761px) and (max-height:700px){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Head p{display:none}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){height:30px;min-height:30px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{gap:4px 8px}
}
@media(max-height:540px) and (orientation:landscape){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:3px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){height:23px;min-height:23px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{gap:2px 6px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3TeamPhotoShipping span{display:none}
}
@media(max-height:540px) and (orientation:landscape){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:2px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls :is(input:not([type=checkbox]),select){height:22px;min-height:22px}
}

/* v1610e: automatic paired cutout/shadow workflow and production editor. */
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{grid-template-columns:minmax(0,1fr) clamp(500px,44vw,620px);gap:18px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Controls.ts3ArtEditor{padding-left:16px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:8px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:10px 11px;border:1px solid #3c526b;border-radius:10px;background:linear-gradient(145deg,#12243a,#0c192a)}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment>div:first-child{display:grid;gap:1px;align-content:center;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment strong,.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtSectionHead>strong{font-size:13px;color:#f5f8fc}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment small{font-size:10px;line-height:1.25;color:#aebed1}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode{display:grid;grid-template-columns:auto auto;gap:3px;padding:3px;border:1px solid #425a74;border-radius:8px;background:#081321}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button{min-height:27px;padding:4px 10px;border:0;border-radius:5px;background:transparent;color:#b9c8d9;font-weight:750}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button[aria-pressed=true]{background:#2b6f54;color:#fff;box-shadow:0 1px 6px #0007}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button:disabled{opacity:.45}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtToggles{grid-column:1/-1;display:flex;gap:18px;padding-top:6px;border-top:1px solid #293e56}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{padding:5px 8px;border:1px solid #30465f;border-radius:9px;background:#0a1727}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement label{color:#afbed0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement input{font-variant-numeric:tabular-nums;font-weight:750}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNudges button{background:#14253a;border-color:#435872}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNudges button:nth-last-child(-n+3){font-weight:750}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextPanel{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:9px;border:1px solid #3b5068;border-radius:10px;background:#0d1b2c}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtSectionHead{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid #2c4057}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult{display:flex;align-items:center;gap:7px;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult span{white-space:nowrap;color:#afbed0;font-size:11px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult select{width:190px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow{display:grid;grid-template-columns:135px minmax(0,1fr);gap:7px;align-items:center;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px;align-items:center;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead label{white-space:nowrap;color:#d9e3ef;font-weight:750}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead select{width:100%;max-width:none;height:32px;min-height:32px;padding:3px 5px;font-size:11px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea{box-sizing:border-box;width:100%;height:38px;min-height:38px;padding:4px 8px;resize:none;overflow:auto;border:1px solid #52677f;border-radius:7px;background:#16273c;color:#fff;font:600 13px/1.15 Arial,sans-serif;overflow-wrap:anywhere}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea:focus{border-color:#e1bd60;background:#1a2c43}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtBottom{display:flex;align-items:center;gap:8px;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtBottom .ts3ArtNotice{flex:1;min-width:0}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools{position:relative;flex:0 0 auto}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>summary{list-style:none;cursor:pointer;min-width:64px;padding:6px 9px;border:1px solid #4b607a;border-radius:7px;background:#14253a;color:#e7edf5;font-size:11px;font-weight:750;text-align:center}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>summary::-webkit-details-marker{display:none}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools[open]>summary{border-color:#d1ad56;color:#ffe7a5}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>div{position:absolute;right:0;bottom:calc(100% + 6px);z-index:5;display:grid;gap:5px;width:230px;padding:8px;border:1px solid #586e88;border-radius:9px;background:#0c1828;box-shadow:0 12px 30px #000b}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>div button{text-align:left}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>div label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:#cbd7e5;font-size:11px}
.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>div label select{height:30px;min-height:30px;padding:3px 6px;font-size:11px}

@media(max-width:1100px) and (min-width:761px){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{grid-template-columns:minmax(0,1fr) 460px;gap:12px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3Controls.ts3ArtEditor{padding-left:11px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea{height:36px;min-height:36px;font-size:12px}
}
@media(max-width:760px) and (orientation:portrait){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(28px,1fr) auto}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment{grid-template-columns:minmax(0,1fr) auto;padding:6px 7px;gap:4px 7px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment>div:first-child small{display:none}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button{min-height:25px;padding:3px 7px;font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtToggles{padding-top:4px;gap:13px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{padding:4px 6px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextPanel{grid-template-columns:minmax(0,1fr);gap:3px;padding:5px 7px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtSectionHead{padding-bottom:4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult select{width:180px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow{grid-template-columns:120px minmax(0,1fr);gap:4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead{display:grid;grid-template-columns:40px minmax(0,1fr);gap:3px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead select{width:100%;max-width:none;height:30px;min-height:30px;padding:2px 4px;font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead label{font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea{height:34px;min-height:34px;padding:3px 6px;font-size:11px;line-height:1.15}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtBottom{gap:5px}
}
@media(max-height:540px) and (orientation:landscape){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3CropGrid{grid-template-columns:minmax(0,1fr) minmax(430px,54%)}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment{grid-template-columns:minmax(0,1fr) auto;padding:4px 6px;gap:3px 7px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment>div:first-child small{display:none}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button{height:21px;min-height:21px;padding:1px 6px;font-size:9px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtToggles{padding-top:2px;gap:12px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{padding:2px 5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextPanel{grid-template-columns:minmax(0,1fr);gap:2px;padding:3px 5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtSectionHead{padding-bottom:2px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow{grid-template-columns:120px minmax(0,1fr);gap:3px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead label{font-size:9px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead select{height:22px;min-height:22px;padding:0 2px;font-size:9px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea{height:27px;min-height:27px;padding:2px 4px;font-size:9px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtBottom .ts3ArtNotice{min-height:18px}
}
@media(min-width:761px) and (max-height:700px){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:3px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment{grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;padding:3px 5px;gap:5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment>div:first-child small{display:none}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode{padding:2px}.ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button{height:24px;min-height:24px;padding:2px 6px;font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtToggles{grid-column:3;grid-row:1;padding:0;border:0;gap:8px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{gap:3px 6px;padding:3px 5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement label{display:grid;grid-template-columns:auto minmax(45px,1fr);align-items:center;gap:4px;font-size:9px;white-space:nowrap}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement input{height:25px!important;min-height:25px!important;padding:1px 4px!important;font-size:11px!important}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNudges button{height:25px;min-height:25px;padding:2px 4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextPanel{gap:2px;padding:3px 5px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtSectionHead{padding-bottom:2px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult select{height:24px;min-height:24px;padding:1px 4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead select{height:26px;min-height:26px;padding:1px 3px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea{height:29px;min-height:29px;padding:2px 5px;font-size:10px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtBottom .ts3ArtNotice{height:22px;min-height:22px;padding:3px 6px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>summary{padding:4px 7px}
}
@media(min-width:761px) and (max-height:540px) and (orientation:landscape){
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtControls{gap:1px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTreatment{padding:1px 4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtMode button{height:20px;min-height:20px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement{gap:1px 5px;padding:1px 4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtPlacement input{height:21px!important;min-height:21px!important}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtNudges button{height:21px;min-height:21px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextPanel{gap:1px;padding:2px 4px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtResult select{height:21px;min-height:21px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextHead select{height:21px;min-height:21px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTextRow textarea{height:23px;min-height:23px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtBottom .ts3ArtNotice{height:19px;min-height:19px}
 .ts3TeamPhotoDesigner.ts3TeamPhotoFast .ts3ArtTools>summary{padding:2px 6px}
}

/* Compact tournament request and shared Team Buy forms. */
html:has(.modal[style*="display: block"],.ts3Modal,.ts3ConfirmShade,#focusWelcome:not([hidden])){overflow:hidden}
.storefrontModalClose,.cartV2Close{align-self:flex-start;flex:0 0 auto;min-width:39px;min-height:39px;padding:0 9px;border-radius:50%;font-size:24px;line-height:1}
#focusRequestModal .modalInner,#teamFundingSetupModal .modalInner{max-width:990px}
#focusCoverageModal .modalInner,#focusRequestHelpModal .modalInner{max-width:640px}
#focusRequestModal .focusModalClose,#focusCoverageModal .focusModalClose,#focusRequestHelpModal .focusModalClose{align-self:flex-start;min-width:39px;min-height:39px;padding:0 9px;border-radius:50%;font-size:24px;line-height:1}
#focusCoverageModal .modalHead,#focusRequestHelpModal .modalHead{align-items:center;flex-wrap:nowrap}
#focusCoverageModal .focusCoverageConfirm{margin:0 0 12px}
#focusCoverageModal .focusCoverageCheck{margin:0;padding:12px}
#focusCoverageModal #focusCoverageError{margin-top:10px;color:#ffdbdb}
#focusRequestHelpModal .modalBody p{margin:0 0 11px;line-height:1.5}
#focusRequestModal .focusTeamBuyCopy{margin:0;padding:12px;border:1px solid #35536b;border-radius:12px;background:#122338;color:#e5f0fa;font-size:13px;line-height:1.45}
#focusRequestModal .modalFooter{justify-content:flex-start}
#focusRequestModal #focusRequestContinue{margin-left:auto}
#focusRequestModal .modalHead,#teamFundingSetupModal .modalHead{padding:13px 20px}
#focusRequestModal .modalHead{align-items:center;flex-wrap:nowrap}
#focusRequestModal .modalBody,#teamFundingSetupModal .modalBody{padding:17px 20px}
#focusRequestModal .modalFooter,#teamFundingSetupModal .modalFooter{padding:12px 20px}
#focusRequestModal .focusRequestLayout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:16px;align-items:start}
#focusRequestModal .focusRequestForm,#focusRequestModal .focusRequestAside{min-width:0}
#focusRequestModal .focusRequestForm{padding:16px;border:1px solid #33485c;border-radius:15px;background:#111e2d}
#focusRequestModal .focusRequestForm h3{margin:0 0 12px;font-size:16px;color:#f1d18a}
#focusRequestModal .checkoutFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#focusRequestModal .focusRequestWide{grid-column:1/-1}
#focusRequestModal .focusRequestField{display:grid;gap:5px;min-width:0;color:#d7e3ef;font-size:12px;font-weight:800}
#focusRequestModal .searchField{box-sizing:border-box;min-width:0;width:100%;padding:0 10px;min-height:39px;border-width:1px;border-radius:9px;background:#0b1726}
#focusRequestModal .searchField :is(input,select){box-sizing:border-box;width:100%;height:37px;min-height:37px!important;padding:0;border:0;outline:none;background:transparent;color:#f7fafc;font-family:inherit;font-size:14px;font-weight:600}
#focusRequestModal .searchField :is(input,select):focus-visible{outline:2px solid #e7c56d;outline-offset:2px}
#focusRequestModal .focusRequestAside{display:grid;gap:10px}
#focusRequestModal #focusRequestPriceCopy{display:grid;gap:6px;margin:0;padding:13px 14px;line-height:1.45;background:linear-gradient(120deg,#173c34,#14283a);border-color:#4aaf81}
#focusRequestModal #focusRequestPriceCopy strong{color:#aaf0c4;font-size:16px}
#focusRequestModal #focusRequestPriceCopy span{font-size:13px;color:#dfebf4}
#focusRequestModal #focusRequestCoveragePanel{margin:0;padding:12px;background:#121d2a}
#focusRequestModal #focusRequestCoveragePanel h3{margin-bottom:7px;font-size:12px}
#focusRequestModal .focusCoverageVenueList{gap:5px;max-height:138px;overflow:auto}
#focusRequestModal .focusCoverageVenue{padding:6px 9px;gap:1px}
#focusRequestModal .focusCoverageVenue strong{font-size:12px}
#focusRequestModal .focusCoverageVenue span{font-size:11px}
#focusRequestModal .focusCoverageCheck{margin-top:8px;padding:9px;font-size:12px}
#focusRequestModal .focusRequestFinePrint{margin:0;color:#b9c8d8;font-size:11px;line-height:1.45}
#teamFundingSetupModal .teamFundingBody{display:grid;gap:12px}
#teamFundingSetupModal .teamFundingBenefits{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #40624d;border-radius:12px;background:#122720;line-height:1.4}
#teamFundingSetupModal .teamFundingBenefits strong{flex:0 0 175px;color:#aee7bd;font-size:14px}
#teamFundingSetupModal .teamFundingBenefits span{color:#dce9e3;font-size:13px}
#teamFundingSetupModal .teamFundingMain{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;align-items:stretch}
#teamFundingSetupModal .teamFundingInputs{padding:13px;border:1px solid #33485c;border-radius:13px;background:#111e2d}
#teamFundingSetupModal .teamFundingGrid{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:9px 12px}
#teamFundingSetupModal .teamFundingField{display:grid;gap:5px;align-content:start;min-width:0;color:#dce6f1;font-size:12px;font-weight:800}
#teamFundingSetupModal .teamFundingField small{color:#afc0d1;font-size:11px;line-height:1.35;font-weight:500}
#teamFundingSetupModal .teamFundingEmail{grid-column:1/-1}
#teamFundingSetupModal .teamFundingField :is(input,select){box-sizing:border-box;width:100%;height:39px;min-width:0;padding:7px 10px;border:1px solid #42556a;border-radius:8px;background:#0b1726;color:#f7fafc;color-scheme:dark;font:600 14px Arial,sans-serif}
#teamFundingSetupModal .teamFundingField :is(input,select)::placeholder{color:#9aacc0}
#teamFundingSetupModal .teamFundingField :is(input,select):focus-visible{outline:2px solid #e7c56d;outline-offset:2px}
#teamFundingSetupModal .teamFundingEstimate{display:grid;gap:5px;align-content:center;padding:13px;border:1px solid #977840;border-radius:13px;background:linear-gradient(145deg,#262518,#141c29);font-size:12px;color:#d7e0eb}
#teamFundingSetupModal .teamFundingEstimateLabel{color:#eed28b;font-weight:800}
#teamFundingSetupModal .teamFundingEstimate>strong{font-size:27px;line-height:1.12;color:#ffe29b}
#teamFundingSetupModal .teamFundingEstimate>strong small{display:block;font-size:12px;color:#e3e9ed}
#teamFundingSetupModal .teamFundingEstimateCompare{padding-top:6px;border-top:1px solid #786842;font-size:11px;color:#c3ccda}
#teamFundingSetupModal .teamFundingChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#teamFundingSetupModal .teamFundingChoices .focusCoverageCheck{align-items:center;box-sizing:border-box;margin:0;padding:10px 12px;font-size:12px;font-weight:700}
#teamFundingSetupModal .teamFundingChoices #teamFundingPhotoRow{background:#13292a;border-color:#4aab88}
#teamFundingSetupModal #teamFundingPhotoLabel{display:grid;gap:2px}
#teamFundingSetupModal #teamFundingPhotoLabel small{font-size:12px;color:#ade9c1}
#teamFundingSetupModal #teamFundingPhotoLabel s{color:#aab7bc;font-weight:500}
#teamFundingSetupModal #teamFundingPhotoFields{margin:0;padding:12px}
#teamFundingSetupModal #teamFundingPhotoFields>.focusCoverageCheck{margin-top:10px}
#teamFundingSetupModal .teamFundingFinishedPhoto{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid #4aab88;border-radius:12px;background:#122b29}
#teamFundingSetupModal .teamFundingFinishedPhoto strong{display:block;color:#e9f6ed;font-size:14px}
#teamFundingSetupModal .teamFundingFinishedPhoto small{display:block;margin-top:3px;color:#b9d9c6;font-size:12px;line-height:1.4}
#teamFundingSetupModal .teamFundingFinishedPhoto .chipBtn{flex:none}
#teamFundingSetupModal .teamFundingOrderSummary{padding:12px 14px;border:1px solid #977840;border-radius:12px;background:#161d29;color:#e3e9f3}
#teamFundingSetupModal .teamFundingOrderSummary h3{margin:0 0 7px;color:#f2cf80;font-size:15px}
#teamFundingSetupModal .teamFundingOrderSummary>div{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:4px 0;font-size:12px;line-height:1.4}
#teamFundingSetupModal .teamFundingOrderSummary>div b{flex:none;color:#fff;font-size:13px}
#teamFundingSetupModal .teamFundingOrderSummary em{color:#9ae8b2;font-style:normal;font-weight:800}
#teamFundingSetupModal .teamFundingOrderSummary s{color:#aab7bc}
#teamFundingSetupModal .teamFundingOrderSummary .teamFundingShipping b{color:#9ae8b2}
#teamFundingSetupModal .teamFundingOrderSummary .teamFundingOrderTotal{border-top:1px solid #786842;margin-top:5px;padding-top:9px;font-weight:900}
#teamFundingSetupModal .teamFundingOrderSummary .teamFundingOrderTotal strong{color:#ffe29b;font-size:18px}
#teamFundingSetupModal .teamFundingPrintAddress{padding:13px;border:1px solid #4aab88;border-radius:12px;background:#122720}
#teamFundingSetupModal .teamFundingPrintAddress>strong{color:#e9f6ed;font-size:14px}
#teamFundingSetupModal .teamFundingPrintAddress>strong span{color:#acf0bd}
#teamFundingSetupModal .teamFundingPrintAddress p{margin:4px 0 12px;color:#b9d9c6;font-size:12px}
#teamFundingSetupModal .teamFundingPrintAddress .teamFundingGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#teamFundingSetupModal #teamFundingResult{margin:0}
#teamFundingSetupModal .teamFundingLinkActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#teamFundingSetupModal .teamFundingLinkActions .chipBtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
#teamFundingSetupModal .teamFundingPrivateLink{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22)}
#teamFundingSetupModal .teamFundingPrivateLink .micro{margin:7px 0}
@media(max-width:700px){
 #focusRequestModal .focusRequestLayout,#teamFundingSetupModal .teamFundingMain{grid-template-columns:1fr}
 #focusRequestModal .modalBody,#teamFundingSetupModal .modalBody{padding:12px}
 #teamFundingSetupModal .teamFundingBenefits{display:grid;gap:3px}
 #teamFundingSetupModal .teamFundingBenefits strong{flex-basis:auto}
 #teamFundingSetupModal .teamFundingChoices{grid-template-columns:1fr}
 #teamFundingSetupModal .teamFundingFinishedPhoto{flex-wrap:wrap}
 #teamFundingSetupModal .teamFundingEstimate{gap:3px}
 #teamFundingSetupModal .teamFundingEstimate>strong small{display:inline;font-size:11px}
}
@media(max-width:380px){
 #focusRequestModal .checkoutFields,#teamFundingSetupModal .teamFundingGrid{grid-template-columns:1fr}
 #teamFundingSetupModal .teamFundingPrintAddress .teamFundingGrid{grid-template-columns:1fr}
 #focusRequestModal .focusRequestWide,#teamFundingSetupModal .teamFundingEmail{grid-column:auto}
}

/* Team Photo booking: preview the tournament keepsake before scheduling. */
.ts3TeamPhotoBookingModal .ts3Card{width:min(1080px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 24px)}
.ts3TeamPhotoBookingModal .ts3Body{overflow-y:auto;overscroll-behavior:contain}
.ts3TeamPhotoBookingLayout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:20px}
.ts3TeamPhotoSample{min-width:0}
.ts3TeamPhotoSampleArt{overflow:hidden;aspect-ratio:5/4;border:1px solid #bd9a54;border-radius:13px;background:#112039}
.ts3TeamPhotoSampleImage{display:block;width:100%;height:100%;object-fit:contain}
.ts3TeamPhotoSample p{margin:8px 0 10px;color:#bfcde0;font-size:13px;line-height:1.4}
.ts3TeamPhotoSample .ts3Secondary{min-height:44px}
.ts3TeamPhotoBookingContent{display:grid;gap:10px;min-width:0}
.ts3TeamPhotoBookingChoice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #4a9f77;border-radius:11px;background:#102923;color:#effbf2}
.ts3TeamPhotoBookingChoice:has(input:checked){border-color:#5edc93;box-shadow:inset 0 0 0 1px #5edc93}
.ts3TeamPhotoBookingChoice input{flex:none;width:20px;height:20px;margin:0;accent-color:#26ad6e}
.ts3TeamPhotoBookingChoice span{flex:1;display:grid;gap:3px;min-width:0}
.ts3TeamPhotoBookingChoice b{font-size:15px}
.ts3TeamPhotoBookingChoice small{color:#c6dcce;font-size:12px;line-height:1.4}
.ts3TeamPhotoBookingChoice strong{white-space:nowrap;font-size:20px;color:#f2d47f}
.ts3TeamPhotoPrintChoice{border-color:#3f4b59;background:#121d2b;color:#e6edf5}
.ts3TeamPhotoPrintChoice small{color:#bfcbda}
.ts3TeamPhotoBookingSpecial{margin:0;padding:10px 12px;border:1px solid #826d42;border-radius:10px;background:#242319;color:#eaddbf;font-size:13px}
.ts3TeamPhotoBookingSpecial b{color:#f8d276}
.ts3TeamPhotoBookingSpecial s{color:#aeb8c2}
.ts3TeamPhotoBookingSpecial:not([hidden]){display:grid;gap:8px}
.ts3TeamPhotoBookingSpecial button{justify-self:start;min-height:38px}
.ts3TeamPhotoBookingSpecial small{color:#cbd1d9;line-height:1.4}
.ts3TeamPhotoVenueNote{font-size:13px}
.ts3TeamPhotoPrintTerms[hidden]{display:none}
.ts3TeamPhotoBookingModal .ts3Foot{display:flex;gap:9px;flex-wrap:wrap}
.ts3TeamPhotoBookingModal .ts3Foot .ts3Primary{margin-left:auto}
@media(max-width:760px){
  .ts3TeamPhotoBookingLayout{grid-template-columns:minmax(0,1fr);gap:13px}
  .ts3TeamPhotoBookingModal .ts3Foot .ts3Primary{flex:1 1 100%;margin-left:0}
  .ts3TeamPhotoBookingModal .ts3Foot .ts3Secondary{flex:1}
  .ts3TeamPhotoSampleArt{max-height:280px}
}
