/* Shared vector icons and comfortable touch controls, including iOS Safari. */
:root {
  --yn-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191a1c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E");
  --yn-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191a1c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E");
}
svg.yn-action-icon { display:inline-block; width:20px; height:20px; min-width:20px; flex:none; vertical-align:middle; color:inherit; pointer-events:none; }
.nova-choices button>b { display:grid; place-items:center; flex:none; }
.mobile-menu>a::after,.account-quick-nav a::after,.legal-index a[aria-current=page]::after {
  content:""; display:inline-block; width:22px; height:22px; flex:none; background:currentColor;
  -webkit-mask:var(--yn-arrow-up) center/contain no-repeat; mask:var(--yn-arrow-up) center/contain no-repeat;
}
.legal-index a[aria-current=page]::after { -webkit-mask-image:var(--yn-arrow-right); mask-image:var(--yn-arrow-right); margin-left:8px; }
.actions .button::after,.product-actions .button::after {
  content:""; background:#dfbd75 var(--yn-arrow-up) center/20px 20px no-repeat;
}
.product-actions .button::after { background-image:var(--yn-arrow-right); }
.desktop-nav .knowledge-nav-panel .knowledge-nav-links a::after {
  content:""; background:#efe7d6 var(--yn-arrow-up) center/16px 16px no-repeat;
}
.mobile-menu :is(.mobile-shop-head,.mobile-knowledge-head,.mobile-company-head)>a { border-bottom:0; }
.mobile-menu :is(.mobile-shop,.mobile-knowledge,.mobile-company) { border-top:0; }
.mobile-menu .mobile-shop:first-child { border-top:1px solid var(--line); }

@media(max-width:930px) {
  .header-tools .tool,.header-tools .menu-toggle { min-width:44px; min-height:44px; }
  .mobile-menu .mobile-knowledge-links a { min-height:48px; }
  .mobile-menu :is(.mobile-shop-toggle,.mobile-company-toggle,.mobile-knowledge-toggle) { min-width:44px; min-height:54px; }
  .catalog-toolbar .filter-pills button { min-height:48px; white-space:normal; line-height:1.4; }
  .favorite-toggle,.account-product button { min-width:44px; min-height:44px; }
  .contact-form :is(input:not([type=checkbox]),select) { min-height:48px; font-size:16px; }
  .cart-line-actions :is(select,button) { min-height:44px; font-size:16px; }
  button[data-privacy-open] { min-height:44px; padding-block:12px; text-align:left; }
  button.privacy-reset { min-height:44px; }
  .yn-nova .nova-dismiss { width:44px; height:44px; min-width:44px; min-height:44px; right:-3px; top:-7px; }
  .yn-nova .nova-header button { width:44px; height:44px; min-width:44px; min-height:44px; padding:0; display:grid; place-items:center; flex:none; }
  .yn-nova .nova-footer :is(a,button) { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
  .yn-nova .nova-footer { column-gap:18px; row-gap:0; }
  .yn-nova .nova-scroll { min-height:0; }
  .yn-nova .nova-choices button { min-width:0; }
  .account-auth-buttons .button { white-space:normal; text-align:left; gap:12px; padding:14px 16px; }
  .account-auth-buttons .button>span { flex:none; }
  .sport-detail-hero { grid-template-columns:minmax(0,1fr); }
  .sport-detail-hero-copy { min-width:0; }
  .sport-detail-hero h1,.legal-hero h1,.legal-document :is(h2,h3) { overflow-wrap:anywhere; hyphens:auto; }
  .sport-detail-hero .button { min-width:0; max-width:100%; white-space:normal; }
}
@media(max-width:600px) {
  .yn-nova .nova-panel { height:min(760px,calc(100dvh - 24px)); }
}
@media(max-width:360px) {
  .header-inner { gap:4px; padding-inline:12px; }
  .header-inner .brand { width:52px; min-width:52px; flex:none; }
  .header-inner .brand-logo { max-width:52px; }
  .header-tools { gap:3px; }
  .header-tools .tool,.header-tools .menu-toggle { width:44px; height:44px; padding-inline:0; }
  .yn-nova .nova-scroll { padding:16px 14px; }
  .yn-nova .nova-welcome p { font-size:14px!important; line-height:1.5!important; margin-bottom:14px!important; }
  .yn-nova .nova-choices button { gap:8px; padding:11px 10px; font-size:14px; }
  .yn-nova .nova-footer { column-gap:12px; }
}
/* Short landscape screens scroll the entire dialog; its close control stays reachable. */
@media(max-height:600px) {
  .yn-nova .nova-panel[open] { display:block; overflow-y:auto; overscroll-behavior:contain; }
  .yn-nova .nova-header { position:sticky; top:0; z-index:2; }
  .yn-nova .nova-scroll { overflow:visible; }
}
