/* Readable defaults and operable controls, shared by the storefront and admin. */
:root { --muted: #526171; --a11y-focus: #173f6b; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--site-header-height, 6rem) + 1rem); }
body { font-size: 1rem; line-height: 1.65; }
small { font-size: 0.875rem; }
[hidden] { display: none !important; }
.prose, .product-summary, .editorial-body, .store-story .prose { font-size: 1rem; }
:target { scroll-margin-top: calc(var(--site-header-height, 6rem) + 1rem); }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--a11y-focus); outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.skip-link { position: fixed; top: -12rem; left: 8px; z-index: 200; max-width: calc(100vw - 16px); padding: 12px 18px; background: #fff; color: #183653; font-size: 1rem; text-decoration: underline; }
.skip-link:focus { top: 8px; }
button, select, summary, input:not([type=hidden],[type=checkbox],[type=radio]) { min-height: 44px; }
button, .icon-button, .option, .pagination a { min-width: 44px; }
input:not([type=hidden],[type=checkbox],[type=radio]), select, textarea { font-size: 1rem; }
input::placeholder, textarea::placeholder { color: #526171; opacity: 1; }
input:not([type=hidden]), select, textarea { border-color: #657c93; }
textarea { line-height: 1.6; }
.button, .option, .pagination a { min-height: 44px; }
.pagination a { display: inline-flex; align-items: center; justify-content: center; }
.checkbox-label, .filter-option { min-height: 44px; }
.filter-option { padding-block: 9px; }
.filter-option small, .sku, .journal-meta, .gallery-controls, .product-help p { color: #526171; }
.card-price del, .product-price del, .cart-line-price del { color: #526171 !important; }
.product-card-catalog .card-price { min-width: 0; width: 100%; flex-wrap: nowrap; }
.product-card-catalog .card-price-reference { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.product-card-catalog .card-price .price-savings { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.count-pill { color: #183653; }
.checkout-financing-separator, .checkout-financing-note { color: #526171; }
.product-card-catalog .sale-badge { color: #b92339 !important; }
.text-button, .remove-item, .cookie-footer-link, .filter-chips a { min-height: 44px; display: inline-flex; align-items: center; }
.option, .card-feature-pill, .store-controls, .catalog-toolbar, .product-price { overflow-wrap: anywhere; }
.option .option-label, .option-size small { line-height: 1.5; }
.site-footer .nav-level a, .site-footer .footer-grid > div > a { min-height: 44px; align-items: center; padding-block: 10px; }
.product-info-links a, .product-section-nav a, .information-links a { min-height: 44px; }
.gallery-open, [data-gallery-step], [data-gallery-close], [data-quantity-step], [data-card-carousel-step] { min-width: 44px; min-height: 44px; }
.gallery-controls { min-height: 48px; }
.cart-count { min-width: 22px; min-height: 22px; line-height: 22px; }
.site-header .header-actions .icon-button, .site-header .language, .site-header .mobile-menu { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 44px; min-height: 44px; width: 44px; height: 44px; padding: 8px; }
.site-header .language { font-size: 0.875rem; }
.site-header .header-actions svg, .site-header .mobile-menu svg { width: 26px; height: 26px; stroke-width: 1.8; }
.site-header .store-locator { min-height: 44px; align-items: center; }
.site-header .mobile-menu { display: none; }
.private-bar { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 8px 16px; line-height: 1.5; }
.private-bar a { position: static; display: inline-flex; align-items: center; min-height: 24px; }
.private-bar .private-label { margin-left: auto; }
.site-header .header-search .search input { font-size: 1rem; }
.site-header .header-search .search button, .site-header .header-search > .icon-button { min-width: 44px; width: 44px; height: 44px; padding: 8px; }
.site-header .menu-toggle { min-height: 44px; }
.site-header .main-nav .menu-toplink { font-size: 0.875rem; }
.site-header .main-nav .menu-links a { min-height: 40px; display: flex; align-items: center; padding-block: 8px; }
@media (pointer: coarse) {
  .site-header .main-nav .menu-links a { min-height: 44px; }
}
.editorial-end > span { color: #526171; }
body[data-brand="jump"] { --blue: #9c4800; }
.block-design-jump-planet .block-prose p { font-size: clamp(0.875rem, 1.4vw, 1.125rem); }
@media (min-width: 1001px) {
  .site-header .main-nav .menu-top { gap: 22px; }
  .site-header .menu-toggle { min-width: 32px; width: 32px; }
}
@media (max-width: 1000px) {
  .site-header .header-main, .site-header.is-compact .header-main { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px; padding-inline: 16px; padding-block: 12px; min-height: 76px; }
  .site-header.is-compact .header-main { min-height: 68px; padding-block: 8px; }
  .site-header .header-left { min-width: 0; }
  .site-header .mobile-menu { display: inline-flex; }
  .site-header .logo { min-width: 0; width: min(100%, 170px); min-height: 44px; display: flex; align-items: center; justify-self: center; }
  .site-header .logo img, .site-header.is-compact .logo img { width: 100%; max-height: 50px; object-fit: contain; }
  .site-header .header-actions { gap: 2px; }
  .site-header .main-nav.open { max-height: calc(100dvh - 100px); }
  .site-header .menu-topline { gap: 12px; }
  .site-header .menu-toggle { width: 44px; }
  .site-header .menu-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private-bar { justify-content: space-between; }
  .private-bar .private-label { margin-left: 0; }
}
@media (max-width: 760px) {
  .product-grid, .home-products, .catalog-results .product-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .site-header .header-main, .site-header.is-compact .header-main { padding-inline: 12px; gap: 6px; }
  .site-header .header-actions { gap: 0; }
  .catalog-toolbar { align-items: stretch; }
  .sort-form { flex-wrap: wrap; }
  .sort-form select { max-width: 100%; }
  .cookie-actions { grid-template-columns: 1fr; }
  .cookie-actions .cookie-button { white-space: normal; }
  .product-price { gap: 10px; }
  .add-to-cart .button { white-space: normal; }
  .menu-columns { column-gap: 12px; }
}
@media (max-width: 359px) {
  .site-header .menu-columns, .store-cards { grid-template-columns: minmax(0, 1fr); }
}

/* Admin controls use the same readable sizes and clear focus indicator. */
body[data-a11y-admin] { --muted: #526171; }
[data-a11y-admin] :is(.muted,.hint,.url-preview,.workspace-label,.table-product small,.admin-footer,th,.field-summary span,.file-list small,.variant-row>summary span) { color: #526171; }
[data-a11y-admin] .language-pill.missing { color: #80551c; }
[data-a11y-admin] .custom-order-empty { color: #526171; }
[data-a11y-admin] #product-studio .product-variant > summary span { color: #526171; }
[data-a11y-admin] #product-studio .product-image { width: 160px; }
[data-a11y-admin] #product-studio .product-image img { width: 100%; }
[data-a11y-admin] #product-studio .product-image-actions { flex-wrap: wrap; gap: 6px; }
[data-a11y-admin] .admin-top { height: auto; min-height: 70px; padding-block: 12px; flex-wrap: wrap; }
[data-a11y-admin] :is(.language-pill,.dataset-tabs a,.tabs button,.admin-nav-links a,.menu-buttons button,.editor-images button) { min-width: 44px; min-height: 44px; }
[data-a11y-admin] .language-pill { display: inline-flex; align-items: center; justify-content: center; padding: 8px; }
[data-a11y-admin] .table-filters input, [data-a11y-admin] .table-filters select { flex: 1 1 180px; }
[data-a11y-admin] .admin-nav-group > summary { min-height: 44px; }
[data-a11y-admin] .page-heading, [data-a11y-admin] .panel-heading, [data-a11y-admin] .save-bar { flex-wrap: wrap; }
[data-a11y-admin] .table-scroll, [data-a11y-admin] .product-table { max-width: 100%; overflow-x: auto; }
@media (max-width: 600px) {
  [data-a11y-admin] .save-bar > div, [data-a11y-admin] .editor-actions { flex-wrap: wrap; }
  [data-a11y-admin] .admin-sidebar .admin-nav-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
