/* Shared, additive mobile rules. Desktop mother-template geometry is retained. */
/* Explicitly hide closed fixed panels: native details containment can still overflow. */
details.locale-control:not([open]) > .locale-panel { display: none; }
.story-snapshot .cm-related-back { grid-template-columns: minmax(0, 1fr) auto; }
.media-split__copy { min-width: 0; }
.media-split__copy :is(h1, h2, h3, h4) { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  main :is(.content-heading, .media-split, .product-grid, .buy-layout, .bag-layout) > * {
    min-width: 0;
  }
  main :is(input, select, textarea) { font-size: max(16px, 1em); }
  main :is(h1, h2, h3, h4) { overflow-wrap: break-word; }
  .locale-panel {
    overscroll-behavior: contain;
  }
  .workshop-certification > *, .workshop-certification-grid > * { min-width: 0; }
}
@media (max-width: 1100px), (pointer: coarse) {
  .mobile-nav > nav {
    max-height: calc(100dvh - var(--ofk-header-bottom, var(--header-height)) - 28px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 380px) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 4px;
    padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
  }
  .header-actions { gap: 4px; }
  .locale-control summary, .locale-control__display { width: 50px; }
  .mobile-shop-link { min-width: 44px; }
  .brand-lockup--header { min-width: 0; }
  .brand-lockup--header img, .brand-lockup--header > span { width: min(100%, 100.055px); }
}
@media (max-width: 700px) {
  .story-snapshot :is(.cm-detail-summary, .cm-body-section p, .v-body p, .msg-main-section p),
  main :is(.editorial-body, .legal-copy, .content-copy) > p {
    font-size: 16px;
    line-height: 1.85;
  }
  .story-snapshot :is(.cm-body-section h3, .v-card h4) {
    overflow-wrap: break-word;
    line-height: 1.45;
  }
  .story-snapshot .cm-detail-meta { min-width: 0; }
  .story-snapshot :is(.meta-val, .r-role) { overflow-wrap: break-word; }
  .story-snapshot :is(.section-foot-links, .msg-cn-links) { flex-wrap: wrap; }
  .story-snapshot .section-foot-links a { min-height: 44px; display: inline-flex; align-items: center; }
  main video { max-width: 100%; }
  main article table { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .workshop-certification { grid-template-columns: minmax(0, 1fr); }
}

/* Localized abridgements keep every word and asset. Only their visual shell is repaired. */
.story-snapshot .ofk-compact-profile { padding: 100px 32px; }
.story-snapshot .ofk-compact-profile > div { max-width: 1100px; margin: 0 auto; }
.story-snapshot .ofk-compact-profile img { width: 100%; height: auto; margin-bottom: 48px; }
.story-snapshot .ofk-compact-profile > div > :is(p, div:not(:first-child)) { max-width: 760px; margin: 24px auto 0; }
.story-snapshot .ofk-compact-profile > div > div:has(> span) { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.story-snapshot .ofk-compact-profile h3 { font-family: var(--font-serif); font-size: 24px; line-height: 1.5; margin: 12px 0; }
.story-snapshot .ofk-compact-profile p { font-size: 16px; line-height: 1.85; }
.story-snapshot .ofk-compact-story { padding: 100px 32px; }
.story-snapshot .ofk-compact-story > div { max-width: 760px; margin: 0 auto; }
.story-snapshot .ofk-compact-story h2 { font-family: var(--font-serif); font-size: 36px; line-height: 1.4; margin: 24px 0; }
.story-snapshot .ofk-compact-story p { margin: 24px 0; font-size: 16px; line-height: 1.85; }
.story-snapshot .ofk-text-story { max-width: 824px; margin: 0 auto; padding: 100px 32px; }
.story-snapshot .ofk-text-story > div > p { margin: 24px 0; font-size: 16px; line-height: 1.85; }
.story-snapshot .ofk-text-story > nav { margin: 32px 0; line-height: 1.85; overflow-wrap: break-word; }
.story-snapshot .ofk-text-story a { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 700px) {
  .story-snapshot :is(.ofk-compact-profile, .ofk-compact-story, .ofk-text-story) { padding: 56px 20px; }
  .story-snapshot .ofk-compact-profile img { margin-bottom: 32px; }
  .story-snapshot .ofk-compact-profile > div > div:has(> span) { grid-template-columns: 80px minmax(0,1fr); gap: 16px; }
  .story-snapshot .ofk-compact-story h2 { font-size: 28px; }
}

/* Shared device refinements; all market content and native commerce remain intact. */
@media (max-width: 1100px), (pointer: coarse) {
  :root :is(main, .country-banner) :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]), select, textarea) {
    font-size: max(16px, 1em);
  }
  .product-gallery__thumb { min-height: 44px; }
  .country-banner__close { min-width: 44px; min-height: 44px; }
  .sora-renewal__visual figcaption { font-size: 13px; line-height: 1.7; }
  .contact-primary > a, .contact-support__item > a { max-width: 100%; overflow-wrap: anywhere; }
  /* WebKit's long native option text must not widen the document. */
  .bag-line__field select { contain: layout; }
}
@media (max-width: 768px) {
  .home-mobile-buy__note { font-size: 13px; line-height: 1.7; }
  .home-story__mobile-actions a { font-size: 13px; min-height: 44px; }
}
/* Tall sticky panels cannot stay entirely visible on short landscape screens. */
@media (max-height: 600px) and (pointer: coarse) {
  .buy__media, .product-overview__copy, .bag__summary { position: static; }
}
