/* Small-screen corrections only. Original product photographs and desktop layout stay intact. */
.long-detail-photos { margin-block:76px; }
.long-detail-photos>.detail-section-heading p { line-height:1.8; }
.long-detail-photo { width:100%; margin:0 auto; }
.long-detail-photo a,.long-detail-img { display:block; width:100%; }
.long-detail-img { max-width:100%; height:auto; }
.detail-tabs { top:var(--site-header-height,98px); }
.detail-content,.spec-section,.community-section { scroll-margin-top:calc(var(--site-header-height,98px) + 82px); }
.gallery-thumbs { grid-template-columns:repeat(auto-fill,minmax(60px,1fr)); }
.product-gallery,.gallery-thumbs { min-width:0; max-width:100%; }
.icon-button { min-width:44px; min-height:44px; }
.main-nav a { min-width:44px; }
.quantity-control button,.selected-addon .quantity-control button { width:44px; height:44px; }
.button-small { min-height:44px; }
.addon-option select { min-height:44px; font-size:14px; }
.guide-block summary { min-height:44px; display:flex; align-items:center; }
.footer-links button { min-width:44px; min-height:44px; padding-block:10px; }
@media (max-width:1000px) {
  .site-header { padding-top:env(safe-area-inset-top,0px); }
  .header-inner { height:74px; gap:12px; justify-content:space-between; }
  .mobile-menu-button { display:inline-flex; margin-left:-7px; flex-shrink:0; }
  .brand { gap:8px; margin-right:auto; }
  .brand-name { font-size:20px; white-space:nowrap; }
  .logo-crop { width:45px; height:53px; gap:3px; }
  .logo-symbol { width:41px; height:31px; }
  .logo-crop img { width:189px; left:-74px; top:-5px; }
  .logo-english { font-size:6.4px; letter-spacing:-.05px; }
  .header-actions { gap:5px; flex-shrink:0; }
  .main-nav { display:none; position:absolute; top:calc(74px + env(safe-area-inset-top,0px)); left:0; right:0; padding:15px 20px 24px; background:#fff; border-bottom:1px solid var(--line); margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
  .main-nav.open { display:grid; }
  .main-nav a { display:flex; align-items:center; min-height:48px; padding:13px 18px; font-size:14px; }
  .main-nav a.active:after { display:none; }
  .main-nav a.active { background:var(--soft); border-radius:12px; }
  .icon-button { min-width:44px; min-height:44px; padding:10px; }
  .search-form { height:74px; gap:8px; }
  .search-form input { font-size:16px; }
  .search-submit { min-width:44px; min-height:44px; padding:10px; font-size:14px; }
  .detail-tabs { top:var(--site-header-height,74px); }
  .detail-content,.spec-section,.community-section { scroll-margin-top:calc(var(--site-header-height,74px) + 74px); }
  .option-row select,.addon-option select,.collection-meta select,.form-field input,.form-field textarea,#community-rating { font-size:16px; min-height:46px; }
  .option-row,.addon-info,.cart-item>div,.checkout-item>div,.purchase-panel { min-width:0; }
  .option-row select,.addon-option select,.collection-meta select { max-width:100%; }
  .quantity-control button,.selected-addon .quantity-control button { width:44px; height:44px; flex-shrink:0; }
  .quantity-control output,.selected-addon .quantity-control output { min-width:36px; font-size:13px; }
  .remove-addon { min-width:44px; min-height:44px; right:3px; top:1px; }
  .selected-addon h4,.selected-addon p { padding-right:32px; }
  .button-small,.chip,.text-button { min-height:44px; }
  .chip { font-size:12px; padding-block:9px; }
  .text-button { min-width:44px; padding:10px; }
  .text-link { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding-block:10px; }
  .footer-links button { min-height:44px; padding:10px 0; }
  .purchase-panel h1,.product-card h3,.detail-intro h2,.addon-info h3,.cart-item h2,.selected-addon h4,.selected-addon p,.page-heading h1,.community-product-name { overflow-wrap:anywhere; }
  .notice-dialog { max-height:calc(100dvh - 32px); max-height:calc(100svh - 32px); overflow-y:auto; overscroll-behavior:contain; }
  .dialog-header { gap:10px; }
  .dialog-header h2 { min-width:0; }
  .dialog-header .icon-button { flex-shrink:0; }
  .toast { bottom:calc(20px + env(safe-area-inset-bottom,0px)); }
}

@media (min-width:761px) and (max-width:1000px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cart-layout,.checkout-layout { grid-template-columns:1fr; gap:28px; }
  .order-summary { position:static; }
  .addon-product { grid-template-columns:72px minmax(0,1fr); }
  .detail-tabs-four { gap:22px; }
  .detail-photo-presentation .photo-feature-card,.detail-photo-presentation .photo-wash-card { padding:20px 16px; gap:16px; }
  .guidance-photo { width:84px; height:84px; }
  .guidance-material-photo { width:112px; height:112px; }
}

@media (min-width:761px) and (max-width:900px) {
  .product-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .product-gallery { max-width:640px; width:100%; margin-inline:auto; }
  .purchase-panel { width:100%; }
}

@media (max-width:760px) {
  .product-layout { grid-template-columns:minmax(0,1fr); }
  .long-detail-photos { margin-block:44px; }
  .long-detail-photos>.detail-section-heading p { font-size:12px; }
  .gallery-thumbs { display:flex; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:8px; }
  .gallery-thumb { flex:0 0 64px; min-height:64px; scroll-snap-align:start; }
  .container { padding-left:max(16px,env(safe-area-inset-left,0px)); padding-right:max(16px,env(safe-area-inset-right,0px)); }
  .header-inner { gap:8px; }
  .hero-shell { height:390px; }
  .hero-copy { left:16px; right:16px; bottom:18px; padding:18px; background:rgba(255,255,255,.94); }
  .hero-copy h1 { font-size:clamp(23px,6.5vw,28px); line-height:1.4; }
  .hero-copy .button { min-height:44px; font-size:13px; }
  .home-tabs { gap:6px; }
  .home-tabs .chip { flex:0 0 auto; padding-inline:13px; }
  .collection-filters .chip { min-height:44px; padding:9px 12px; }
  .collection-meta select { max-width:130px; min-height:44px; padding-block:10px; }
  .product-card h3 { font-size:13px; line-height:1.65; }
  .product-card-price.pending { font-size:12px; }
  .product-family { font-size:9px; }
  .breadcrumb { flex-wrap:wrap; gap:7px; line-height:1.7; }
  .breadcrumb>span:last-child { min-width:0; overflow-wrap:anywhere; }
  .purchase-panel h1 { font-size:23px; line-height:1.6; }
  .option-row { grid-template-columns:56px minmax(0,1fr); gap:9px; }
  .option-row label { font-size:13px; }
  .option-row select { padding-inline:11px; }
  .product-addons-v2>summary { min-height:48px; }
  .product-addons-v2>summary>span { font-size:11px; line-height:1.7; }
  .addon-product { grid-template-columns:64px minmax(0,1fr); }
  .addon-info h3 { font-size:12px; }
  .addon-price,.addon-option label,.addon-help { font-size:12px; line-height:1.8; }
  .addon-option select { padding:10px; }
  .addon-scroll { max-height:440px; -webkit-overflow-scrolling:touch; }
  .selected-addon h4 { font-size:13px; }
  .selected-addon p,.selected-addon-bottom>span { font-size:12px; }
  .selected-addon-bottom { flex-wrap:wrap; gap:10px; }
  .quantity-row { font-size:13px; }
  .detail-tabs-four { gap:0; }
  .detail-tabs-four a { display:flex; align-items:center; justify-content:center; min-height:52px; padding:14px 2px; font-size:12px; line-height:1.6; }
  .detail-content-expanded .detail-intro h2 { font-size:23px; line-height:1.65; }
  .photo-spec-caption { flex-wrap:wrap; }
  .photo-spec-caption h3 { white-space:normal; }
  .photo-spec-caption p { text-align:left; font-size:12px; }
  .photo-spec-table { font-size:12px; }
  .photo-spec-table th,.photo-spec-table td { padding:12px 7px; overflow-wrap:anywhere; }
  .photo-spec-table thead th,.photo-spec-table tbody th { font-size:12px; }
  .photo-table-notes,.photo-selection-note { font-size:12px; }
  .spec-table { table-layout:fixed; }
  .spec-table th { width:80px; }
  .spec-table th,.spec-table td { font-size:12px; padding:13px 10px; overflow-wrap:anywhere; }
  .photo-feature-card .photo-card-copy p,.photo-wash-card .photo-card-copy p,.detail-photo-presentation .photo-material-card p { font-size:12px; }
  .photo-card-copy small,.photo-care-notes p,.photo-care-guide .care-group-heading p,.guidance-photo-note { font-size:11px; }
  .guide-block { padding:18px; }
  .guide-block summary { min-height:44px; display:flex; align-items:center; line-height:1.8; }
  .guide-block p { font-size:13px; }
  .related .product-card:nth-child(n+3) { display:block; }
  .community-heading { flex-wrap:wrap; }
  .community-heading .button { font-size:12px; min-height:44px; }
  .community-empty p,.community-form-note,.community-result { font-size:12px; }
  .notice-dialog { width:calc(100% - 28px); padding:20px; }
  .dialog-body { font-size:13px; }
  .cart-item { grid-template-columns:72px minmax(0,1fr); gap:14px; }
  .cart-item img { width:72px; height:92px; }
  .cart-item p,.cart-item-price { font-size:12px; }
  .cart-item>div:last-child { flex-wrap:wrap; gap:10px; }
  .order-summary { padding:22px; }
  .summary-line { font-size:13px; flex-wrap:wrap; gap:8px; }
  .summary-note,.info-note { font-size:12px; overflow-wrap:anywhere; }
  .checkout-item { align-items:flex-start; }
  .checkout-item img { flex-shrink:0; }
  .checkout-item>div { overflow-wrap:anywhere; font-size:12px; }
  .form-field label { font-size:13px; }
  .form-field textarea { min-height:112px; }
  .footer-links { flex-wrap:wrap; gap:4px 20px; }
  .footer-links button { font-size:12px; }
}

@media (max-width:359px) {
  .header-actions { gap:0; }
  .brand-name { font-size:18px; }
  .brand { gap:5px; }
  .hero-shell { height:360px; }
  .hero-copy { left:12px; right:12px; padding:16px; }
  .hero-copy h1 { font-size:23px; }
  .product-grid { gap:25px 10px; }
  .home-tabs { gap:5px; }
  .home-tabs .chip { padding-inline:11px; }
  .detail-photo-presentation .photo-feature-card,.detail-photo-presentation .photo-wash-card { padding:18px 14px; gap:13px; }
  .guidance-photo { width:74px; height:74px; }
  .guidance-material-photo { width:90px; height:90px; }
  .photo-material-grid { gap:10px; }
  .detail-photo-presentation .photo-material-card { padding-inline:10px; }
  .value-grid { grid-template-columns:1fr; }
  .value-card { min-height:0; }
}

/* User-supplied single banner: retain the complete PNG at its original ratio. */
.hero-banner-link { display:block; border-radius:28px; overflow:hidden; background:var(--soft); }
.hero-banner-image { display:block; width:100%; height:auto; object-fit:contain; }
@media (max-width:760px) {
  .hero-banner-link { border-radius:18px; }
}
/* Full catalogue navigation retains the four-column desktop / two-column phone grid. */
.catalog-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; }
.catalog-pagination a,.catalog-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; width:auto; height:44px; padding:0 10px; border:1px solid var(--line); border-radius:50%; font-size:13px; }
.catalog-pagination a:hover { background:var(--soft); border-color:var(--stone); }
.catalog-pagination .page-current { background:var(--stone-dark); color:white; border-color:var(--stone-dark); }
.catalog-pagination .page-gap,.catalog-pagination .page-disabled { border-color:transparent; color:var(--muted); }
.catalog-pagination .page-position { flex-basis:100%; margin-top:10px; font-size:12px; color:var(--muted); }
@media(max-width:600px) { .catalog-pagination { gap:4px; } .catalog-pagination a,.catalog-pagination span { min-width:44px; padding:0 7px; } }
