/* Shared reading scale, including native WooCommerce and standalone team views. */
:root{
  --fo-text-micro:12px;
  --fo-text-caption:14px;
  --fo-text-control:16px;
  --fo-text-body:18px;
}

/* Long copy needs space as well as larger letters. */
.sport-editorial p,.sport-faq p,.fo-product-details p,
.pd-info-copy,.pd-lead,.cfg-lead{font-size:var(--fo-text-body);line-height:1.75}
.sport-editorial h3{font-size:22px;line-height:1.35;margin:24px 0 10px}
.sport-faq summary,.compact .faq-list summary,.cfg-faq summary,
.cfg-catalog-intro p,.cfg-group-heading>p{font-size:17px;line-height:1.65}
.cfg-steps li{font-size:var(--fo-text-control);line-height:1.5}
.cfg-steps li span{font-size:var(--fo-text-caption)}
.configurator-filterbar{align-items:flex-start;flex-wrap:wrap}
.configurator-sports{flex:1 1 680px}
.configurator-sort{flex-shrink:0;min-height:46px;margin-left:auto}
.configurator-sort select{max-width:245px}
.cfg-group-heading>p{max-width:480px}
.configurator-card .product-name,.product-name{font-size:20px;line-height:1.35}
.product-topline{flex-wrap:wrap;row-gap:5px}
.product-price{font-size:var(--fo-text-body)}
.compact .product-meta p,.configurator-specs{font-size:var(--fo-text-control);line-height:1.6}
.compact .product-meta .product-type,.card-color-label{font-size:var(--fo-text-caption);line-height:1.6}
.compact .product-tag,.configurator-card .product-tag{font-size:var(--fo-text-micro);line-height:1.45;max-width:calc(100% - 65px)}

/* Inputs remain comfortably readable without triggering mobile auto-zoom. */
.pd-order input:not([type=radio]),.pd-order select,.pd-order input::placeholder,
.form-field input,.form-field textarea,.select-filter select{font-size:var(--fo-text-control)}
.pd-order input:not([type=radio]),.pd-order select{min-height:48px;height:auto}
.pd-field-grid label,.pd-field,.pd-choice legend{line-height:1.5}
.pd-mode-options label small,.pd-hint,.pd-photo-note,
.pd-order .pd-personal-note,.pd-price>span{font-size:var(--fo-text-caption);line-height:1.65}
.pd-choice legend a{float:none;display:inline-block;margin-left:12px}
.footer-bottom{font-size:var(--fo-text-caption);line-height:1.6;flex-wrap:wrap}
.footer-bottom>div{flex-wrap:wrap}
.footer-top>div>a:not(.logo),.footer-top>div>button{line-height:1.5}
.woocommerce-checkout #order_review .shop_table th.product-total,
.woocommerce-account .woocommerce-table--order-details th.product-total{white-space:normal;overflow-wrap:anywhere;hyphens:auto}

@media(max-width:760px){
  .cfg-start-options{grid-template-columns:1fr 1fr}
  .cfg-start h2{line-height:1.15}
  .configurator-sports{flex-basis:100%}
  .configurator-sort{flex-wrap:wrap}
  .cfg-steps{gap:16px}
  .cfg-start p{font-size:var(--fo-text-caption);line-height:1.6}
  .compact .hero-description,.compact .steps p,.compact .team-copy>p:not(.eyebrow){font-size:var(--fo-text-body)}
  .compact .promise-strip{font-size:var(--fo-text-caption);line-height:1.5}
  .compact .promise-strip span{flex-direction:column;gap:6px;text-align:center;padding:0 8px}
  .pd-equipment-choice label>span{font-size:var(--fo-text-caption)}
  .pd-mobile-checkout .button{gap:12px}
  .pd-mode-options label small{font-size:var(--fo-text-caption)}
  .footer h3{line-height:1.5}
}

/* On narrow cards, product labels belong below the image, not over the shirt. */
@media(max-width:760px){
  .compact .product-card .product-art{display:flex;flex-direction:column;aspect-ratio:auto;background:transparent;overflow:visible}
  .compact .product-card .product-open{position:relative;flex:none;width:100%;height:auto;aspect-ratio:.93;background:#f2f4f3;overflow:hidden}
  .compact .product-card .product-tag{position:static;display:block;order:2;max-width:100%;padding:10px 0 0;margin:0;background:none;color:var(--muted);font-size:var(--fo-text-micro);line-height:1.5;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
}

/* Mobile catalogue: two larger pictures, concise model information. */
@media(max-width:760px){
  .compact .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px;margin-inline:-10px}
  .compact .product-card{min-width:0}
  .compact .product-card .product-open{aspect-ratio:.9;padding:0}
  .compact .product-card .product-open>img{width:114%;max-width:none;height:114%;inset:-7%;object-fit:contain}
  .compact .product-card .product-tag{padding-top:6px;font-size:10px;line-height:1.35}
  .compact .product-card .product-meta{padding-top:6px}
  .compact .product-card .product-meta>p,
  .compact .product-card .product-meta>.product-type{display:none}
  .compact .product-card .product-name{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
  .compact .product-card .product-price{font-size:15px;margin-top:4px;line-height:1.4}
  .compact .product-card .card-colors{margin:7px 0 0;gap:3px}
  .compact .product-card .card-color-label{font-size:11px;line-height:1.35;white-space:normal}
}
