/* Desktop collection overview: tighten spacing, never crop garments or omit prices.
   The phone/tablet catalogue keeps its original readable, naturally scrolling layout. */
@media (min-width: 1101px) {
  :is(#teams.best.section-padding, #sport-catalog.sport-catalog-section, #ready-set.badminton-catalog) {
    --catalog-photo-height: clamp(160px, calc(100svh - 660px), 260px);
    padding-block: 16px 22px;
  }
  :is(#teams, #sport-catalog) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
  :is(#teams, #sport-catalog) > * { grid-column: 1 / -1; }
  #ready-set.badminton-catalog .bad-catalog-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
  #ready-set.badminton-catalog .bad-catalog-main > * { grid-column: 1 / -1; }
  :is(#teams, #sport-catalog) > .catalog-tools,
  #ready-set.badminton-catalog .bad-catalog-main > .catalog-tools {
    grid-column: 1;
    align-self: center;
    gap: 8px;
    min-width: 0;
    margin: 0 0 8px;
  }
  :is(#teams, #sport-catalog) > .catalog-carousel-controls,
  #ready-set.badminton-catalog .bad-catalog-main > .catalog-carousel-controls {
    grid-column: 2;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin: 0 0 8px;
  }
  :is(#teams, #sport-catalog, #ready-set) .catalog-load-status { flex-basis: 160px; font-size: 14px; line-height: 1.45; }
  :is(#teams, #sport-catalog, #ready-set) .catalog-carousel-position { margin-left: 6px; font-size: 14px; }
  :is(#teams, #sport-catalog, #ready-set) :is(.catalog-refresh, .catalog-training, .catalog-carousel-controls button) { min-height: 44px; padding: 7px 10px; font-size: 14px; }
  #teams > .catalog-sport-tabs,
  #sport-catalog > .sport-switcher,
  #ready-set > .badminton-sport-switcher { margin-bottom: 12px; }
  #teams > .catalog-sport-tabs button,
  #sport-catalog > .sport-switcher a,
  #ready-set > .badminton-sport-switcher a { min-height: 44px; padding-block: 8px; }
  #teams.best > .best-header { gap: 8px 24px; margin-bottom: 4px; }
  #sport-catalog > .sport-catalog-heading { gap: 20px; margin-bottom: 10px; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-title { margin-bottom: 0; font-size: clamp(28px, 2.4vw, 36px); line-height: 1.2; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-kicker { margin-bottom: 5px; font-size: 14px; line-height: 1.4; }
  #teams > #catalog-message { margin: 4px 0 10px; font-size: 16px; line-height: 1.5; }
  #sport-catalog #catalog-message { margin-top: 5px; font-size: 16px; line-height: 1.5; }
  #sport-catalog .sport-custom-principle { gap: 4px; padding: 4px 0 4px 16px; }
  #sport-catalog .sport-custom-principle strong { font-size: 20px; line-height: 1.35; }
  #sport-catalog .sport-custom-principle span { font-size: 14px; line-height: 1.5; }
  #ready-set.badminton-catalog > .section-title { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 24px; margin-bottom: 10px; align-items: center; }
  #ready-set.badminton-catalog > .section-title > :is(#catalog-kicker, #catalog-title, #catalog-message) { grid-column: 1; }
  #ready-set.badminton-catalog > .section-title > [data-champion-slot] { grid-column: 2; grid-row: 1 / span 3; }
  #ready-set.badminton-catalog #catalog-message { margin: 0; max-width: 65em; font-size: 16px; line-height: 1.5; }
  #ready-set.badminton-catalog .ready-layout { gap: 12px; margin-top: 0; }
  :is(#teams, #ready-set) .champion-callout { gap: 10px; min-height: 64px; padding-right: 0; }
  :is(#teams, #ready-set) .champion-callout__portrait { flex-basis: 64px; width: 64px; height: 64px; }
  :is(#teams, #ready-set) .champion-callout__title b { font-size: 20px; }
  :is(#teams, #ready-set) .champion-callout__purpose { font-size: 14px; line-height: 1.5; }

  :is(#teams.best, #sport-catalog.sport-catalog-section, #ready-set.badminton-catalog) #catalog-products > .published-product > .product-image {
    height: var(--catalog-photo-height);
    min-height: 160px;
  }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-image > .catalog-product-photo {
    width: 100%; height: 100%; object-fit: contain;
  }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info {
    gap: 5px;
    padding: 9px 10px;
    align-content: start;
  }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info > .catalog-product-code { font-size: 14px; line-height: 1.3; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-design-name { font-size: 20px; line-height: 1.3; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-metadata { gap: 5px; min-height: 44px; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info :is(.catalog-item-label, .catalog-color, .catalog-size-chart) { font-size: 16px; line-height: 1.4; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-size-chart { min-height: 44px; padding: 6px 4px; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-custom-prices { margin: 0; padding: 7px 8px; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .custom-price-matrix { font-size: 14px; line-height: 1.4; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .custom-price-matrix caption { margin-bottom: 3px; padding-right: 78px; font-size: 16px; line-height: 1.4; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .custom-price-matrix :is(th, td) { padding: 4px 3px; font-size: 14px; line-height: 1.4; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-custom-prices :is(.custom-price-note, .custom-price-brand-note) { margin-top: 3px !important; font-size: 14px !important; line-height: 1.4 !important; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-custom-prices:has(> .custom-price-matrix) .custom-price-refresh-status { top: 7px; right: 8px; font-size: 14px !important; line-height: 1.4 !important; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info .catalog-price-actions { margin-top: 4px; }
  :is(#teams, #sport-catalog, #ready-set) #catalog-products > .published-product > .product-info :is(.catalog-custom-action, .catalog-retail-shop) { min-height: 44px; padding: 7px 10px; font-size: 16px; line-height: 1.4; }
  #ready-set.badminton-catalog #catalog-products.catalog-compact-six > .published-product > .product-info .catalog-metadata { gap: 4px; min-height: 0; }
}

/* Compact the existing request workspaces without removing fields or changing flow. */
.sport-custom-order { padding: 28px clamp(20px, 4vw, 64px); }
.sport-custom-order .sport-order-heading { margin-bottom: 16px; }
.sport-custom-order .sport-order-heading .sport-kicker { margin-bottom: 7px; font-size: 14px; }
.sport-custom-order .sport-order-heading h2 { margin-bottom: 8px; font-size: clamp(28px, 3vw, 42px); line-height: 1.3; }
.sport-custom-order .sport-order-heading > p:last-child { margin: 8px 0 0; font-size: 16px; line-height: 1.6; }
.sport-custom-order .sport-order-layout { gap: 24px; }
.sport-custom-order .sport-order-form fieldset { gap: 12px; margin-bottom: 14px; padding: 16px; }
.sport-custom-order .sport-order-form label { gap: 6px; font-size: 16px; line-height: 1.5; }
.sport-custom-order .sport-order-form :is(input:not([type="checkbox"]), select, textarea) { min-height: 44px; padding: 8px 10px; font-size: 16px; line-height: 1.5; }
.sport-custom-order .sport-order-form textarea { min-height: 80px; }
.sport-custom-order .sport-order-form .sport-person-row { grid-template-columns: minmax(70px, 1fr) minmax(60px, .7fr) minmax(80px, 1fr) minmax(60px, .7fr) 44px; gap: 8px; padding-bottom: 10px; }
.sport-custom-order .sport-order-form .sport-person-row input { padding: 8px 7px !important; font-size: 16px !important; }
.sport-custom-order .sport-order-form .sport-remove-row { width: 44px; min-height: 44px; }
.sport-custom-order .sport-order-form .sport-check { min-height: 44px; margin-block: 12px; font-size: 16px; }
.sport-custom-order .sport-order-form .sport-hint { font-size: 14px !important; line-height: 1.55; }
.sport-custom-order .sport-order-form .sport-font-preview { min-height: 64px; padding: 12px; font-size: clamp(24px, 2.6vw, 34px); }
.sport-custom-order .sport-order-form .sport-design-options { padding: 12px 14px; }
.sport-custom-order .sport-order-form .sport-design-options > summary { min-height: 44px; padding-block: 8px; font-size: 16px; }
.sport-custom-order .sport-order-form > .sport-primary { min-height: 44px; margin-top: 12px; padding: 10px 16px; font-size: 16px; }
.bad-custom-flow .bad-order { padding-block: 28px; }
.bad-custom-flow .bad-order-heading { margin-bottom: 16px; }
.bad-custom-flow .bad-order-heading > p:last-child { margin-top: 10px; font-size: 16px; line-height: 1.6; }
.bad-custom-flow .bad-order-form { gap: 14px; }
.bad-custom-flow .bad-order-form fieldset { gap: 12px; padding: 16px; }
.bad-custom-flow :is(.bad-order-form, .bad-order-contact-fields) :is(input:not([type="checkbox"]), select, textarea) { min-height: 44px; padding: 8px 10px; font-size: 16px; }
.bad-custom-flow .bad-order-form textarea { min-height: 80px; }
.bad-custom-flow .bad-size-row.is-own { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 44px; }
.bad-custom-flow .bad-size-remove { min-width: 44px; min-height: 44px; }
.bad-custom-flow .bad-order-text-button { min-height: 44px; padding-block: 8px; font-size: 14px; }
.bad-custom-flow .bad-order-options > summary { min-height: 44px; padding-block: 8px; font-size: 16px; }
.bad-custom-flow .cp-order-return { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 10px; font-size: 16px; }

/* The linked estimate and contact panels keep every amount and consent visible. */
.sport-specialist-page #custom-pricing-guide { padding: 24px clamp(20px, 4vw, 64px); }
.sport-specialist-page #custom-pricing-guide .cp-heading { margin-bottom: 10px; }
.sport-specialist-page #custom-pricing-guide h2 { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.3; }
.sport-specialist-page #custom-pricing-guide h3 { margin-bottom: 8px; font-size: 20px; line-height: 1.4; }
.sport-specialist-page #custom-pricing-guide .cp-calculator { margin-bottom: 12px; padding: 14px; }
.sport-specialist-page #custom-pricing-guide .cp-calculator-layout { gap: 14px; }
.sport-specialist-page #custom-pricing-guide .cp-controls { gap: 8px; }
.sport-specialist-page #custom-pricing-guide .cp-field { gap: 5px; font-size: 16px; }
.sport-specialist-page #custom-pricing-guide .cp-field :is(input, select) { min-height: 44px; padding: 8px 10px; font-size: 16px; }
.sport-specialist-page #custom-pricing-guide :is(.cp-brand, .cp-rush) { min-height: 44px; margin: 8px 0 4px; font-size: 16px; line-height: 1.5; }
.sport-specialist-page #custom-pricing-guide :is(.cp-card-note, .cp-rush-fee, .cp-rush-note, .cp-status, .cp-order-summary, .cp-order-return) { font-size: 16px; line-height: 1.5; }
.sport-specialist-page #custom-pricing-guide .cp-card-note { margin-top: 8px; }
.sport-specialist-page #custom-pricing-guide .cp-order-summary { margin-block: 8px; }
.sport-specialist-page #custom-pricing-guide .cp-order-return { display: inline-flex; align-items: center; min-height: 44px; }
.sport-specialist-page #custom-pricing-guide .cp-submit { min-height: 44px; padding: 8px 16px; font-size: 16px; }
.sport-specialist-page #custom-pricing-guide .cp-result { min-height: 0; padding: 14px; }
.sport-specialist-page #custom-pricing-guide .cp-result-kicker { margin-bottom: 5px; font-size: 16px; line-height: 1.4; }
.sport-specialist-page #custom-pricing-guide .cp-total-value { font-size: clamp(28px, 3vw, 38px); line-height: 1.25; }
.sport-specialist-page #custom-pricing-guide :is(.cp-result-description, .cp-unit-note, .cp-rush-estimate) { margin-top: 7px; font-size: 16px; line-height: 1.5; }
.sport-specialist-page #custom-pricing-guide .cp-amounts { gap: 5px 12px; margin-top: 8px; padding-top: 8px; font-size: 16px; }
.sport-specialist-page #custom-pricing-guide .cp-tables { gap: 12px; margin-top: 10px; }
.sport-specialist-page #custom-pricing-guide .cp-table-card { padding: 14px; }
.sport-specialist-page #custom-pricing-guide .cp-table :is(th, td) { padding: 6px 4px; font-size: 16px; line-height: 1.45; }
.sport-specialist-page .sport-contact { gap: 24px; padding: 28px clamp(20px, 4vw, 64px); }
.sport-specialist-page .sport-contact h2 { margin-bottom: 12px; font-size: clamp(28px, 3vw, 36px); line-height: 1.35; }
.sport-specialist-page .sport-contact > div > p:last-child { margin-block: 8px; font-size: 16px; line-height: 1.6; }
.sport-specialist-page .sport-contact-fields { gap: 12px; }
.sport-specialist-page .sport-contact-fields > label { gap: 6px; font-size: 16px; line-height: 1.5; }
.sport-specialist-page .sport-contact-fields input:not([type="checkbox"]) { min-height: 44px; padding: 8px 10px; font-size: 16px; line-height: 1.5; }
.sport-specialist-page .sport-contact-fields .sport-check { min-height: 44px; margin-block: 4px; font-size: 16px; line-height: 1.6; }
.sport-specialist-page .sport-contact-fields .sport-primary { min-height: 44px; padding: 10px 16px; font-size: 16px; }

@media (min-width: 1300px) {
  .sport-specialist-page #custom-pricing-guide { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: start; gap: 12px 20px; }
  .sport-specialist-page #custom-pricing-guide > .cp-heading { grid-column: 1 / -1; margin-bottom: 0; }
  .sport-specialist-page #custom-pricing-guide > .cp-calculator { grid-column: 1; grid-row: 2 / span 2; margin-bottom: 0; }
  .sport-specialist-page #custom-pricing-guide > .cp-submit { grid-column: 2; grid-row: 2; justify-self: start; }
  .sport-specialist-page #custom-pricing-guide > .cp-tables { grid-column: 2; grid-row: 3; grid-template-columns: minmax(0, 1fr); margin-top: 0; }
  .sport-specialist-page #custom-pricing-guide .cp-calculator-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
@media (min-width: 1101px) {
  .sport-custom-order .sport-order-layout { grid-template-columns: minmax(180px, .5fr) minmax(0, 1.5fr); }
  .sport-custom-order .sport-order-reference figure img { height: clamp(180px, 24svh, 280px); object-fit: contain; }
  .sport-custom-order .sport-order-reference figcaption { padding: 10px; font-size: 14px; line-height: 1.6; }
}
/* Extra headroom above specialist cards only; product copy/prices are unchanged. */
@media (min-width: 1101px) {
  #sport-catalog > .sport-catalog-heading { gap: 16px; margin-bottom: 6px; }
  #sport-catalog > .sport-catalog-heading > div:first-child { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: end; }
  #sport-catalog .sport-catalog-heading #catalog-title { grid-column: 1; grid-row: 1; font-size: 30px; line-height: 1.2; margin: 0; }
  #sport-catalog .sport-catalog-heading #catalog-kicker { grid-column: 2; grid-row: 1; margin: 0 0 3px; font-size: 14px; line-height: 1.35; text-align: right; }
  #sport-catalog .sport-catalog-heading #catalog-message { grid-column: 1 / -1; grid-row: 2; margin: 4px 0 0; line-height: 1.4; }
  #sport-catalog .sport-catalog-heading .sport-custom-principle { grid-template-columns: auto minmax(0, 1fr); gap: 3px 12px; padding-block: 0; }
  #sport-catalog .sport-catalog-heading .sport-custom-principle b { grid-column: 1; grid-row: 1; align-self: center; font-size: 14px; line-height: 1.35; }
  #sport-catalog .sport-catalog-heading .sport-custom-principle strong { grid-column: 2; grid-row: 1; font-size: 18px; line-height: 1.35; }
  #sport-catalog .sport-catalog-heading .sport-custom-principle span { grid-column: 1 / -1; grid-row: 2; font-size: 14px; line-height: 1.4; }
}
@media (max-width: 760px) {
  .sport-custom-order .sport-order-form .sport-person-row { grid-template-columns: repeat(2, minmax(0, 1fr)) 44px; }
  .sport-custom-order .sport-order-layout { gap: 16px; }
}

/* Basketball custom sets: spend spare desktop height on the complete artwork.
   The specialist sport context keeps the retail rail and other sports unchanged. */
@media (min-width: 1101px) {
  .sport-specialist-page[data-specialist-sport="basketball"] #sport-catalog {
    --catalog-photo-height: clamp(220px, calc(100svh - 560px), 400px);
  }
}

/* Baseball-only headroom: lift the controls naturally, without scaling its cards. */
@media (min-width: 1101px) {
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog { padding-top: 8px; }
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog > .sport-switcher { margin-bottom: 8px; }
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog > .sport-catalog-heading { margin-bottom: 4px; }
}
@media (min-width: 1500px) {
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog { grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr); }
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog > .catalog-carousel-controls { align-self: start; flex-wrap: nowrap; gap: 6px; }
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog > .catalog-carousel-controls button { flex: 0 0 auto; min-height: 44px; }
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog > .catalog-carousel-controls .catalog-carousel-position { flex: 0 0 auto; margin-left: 0; white-space: nowrap; }
  .sport-specialist-page[data-specialist-sport="baseball"] #sport-catalog > .catalog-carousel-controls .catalog-carousel-state { flex: 0 1 auto; min-width: 0; text-align: right; overflow-wrap: anywhere; }
}
