/* November 2026 UX improvements. Keep overrides isolated from the existing CSS. */
@media (max-width: 767px) {
  /* Anchor each full-width underline to its own tab, not its centered text. */
  body.pg_pickup main .el_tabBtn_item::before,
  body.pg_menu main .un_menu .el_tabBtn_item::before { left:0; }
  body main .el_pageTtlPost { padding:100px 0 24px; height:auto; min-height:0; }
  body main .el_pageTtlPost .el_pageTtlPost_inner { margin:0; padding:0 16px; height:auto; box-sizing:border-box; }
  body main .el_pageTtlPost .el_pageTtl_ja { margin:0 0 10px; }
  body main .el_pageTtlPost h1.el_pageTtl_en { margin:0; font-size:36px; line-height:1.15; }
  body.bito-ux-common-heading main > .ly_inner > .el_innerContent { padding-top:24px; }
  body.bito-ux-common-heading main .el_tabBtn { margin-top:0; margin-bottom:20px; }
  body.pg_pickup main, body.pg_price main, body.pg_menu main { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
  body.pg_pickup .el_tabBtn { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; overflow:visible; }
  body.pg_pickup .el_tabBtn_item { width:auto; min-width:0; padding:12px 4px; font-size:13px; white-space:normal; text-align:center; }
  body.pg_pickup #js_tab_2 .el_pickupList { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  body.pg_pickup #js_tab_2 .el_pickupList > li { width:auto; margin:0; }
  body.pg_pickup #js_tab_2 .el_pickupList_item { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid currentColor; }
  body.pg_pickup #js_tab_2 .el_pickupList_thmb { width:76px; height:76px; margin:0; }
  body.pg_pickup #js_tab_2 .el_pickupList_thmb img { width:100%; height:100%; object-fit:contain; }
  body.pg_pickup #js_tab_2 .el_pickupList_ttl { display:block; margin:0; max-height:none; height:auto; overflow:visible; -webkit-line-clamp:unset; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
  body.pg_pickup #js_tab_2 .el_pickupList_ttl > strong { font-size:22px; }
  body.pg_pickup #js_tab_2 .el_pickupList_ttl > span { font-size:13px; }
  /* Keep all three price categories visible on narrow phones. */
  body.pg_price main .el_tabBtn { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; overflow:visible; }
  body.pg_price main .el_tabBtn_item { min-width:0; width:auto; margin:0; padding:12px 2px; font-size:13px; white-space:normal; text-align:center; }
  body.pg_price main .el_tabBtn_item::before { left:0; }
  body.pg_price .el_pricePosts { padding-top:0; }
  body.pg_price .el_pricePosts .js_tab_item > ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 6px; margin:12px 0 16px; padding:0; }
  body.pg_price .el_pricePosts .js_tab_item > ul > li { margin:0; padding:0; min-width:0; }
  body.pg_price .el_pricePosts .js_tab_item > ul > li > a { display:flex; align-items:center; box-sizing:border-box; width:100%; height:100%; min-height:44px; padding:8px 20px 8px 8px; font-size:13px; overflow-wrap:anywhere; }
  body.pg_price .el_pricePosts_wrap { margin-top:12px; padding-top:0; scroll-margin-top:90px; }
  body.pg_price .el_priceCat_ttl { margin:0 0 12px; padding-top:0; }
  body.pg_price .el_pricePosts_ttl { margin-top:12px; margin-bottom:12px; }
  body.pg_price .el_priceTable_ttl { margin-top:12px; margin-bottom:8px; }
  body.pg_price .el_priceTable { margin-top:0; margin-bottom:16px; }
  body.pg_price .el_pricePosts_sub { margin-bottom:12px; }
  body.pg_price .el_priceTable_btn_line.is_catEnd { width:100%; min-height:48px; border:2px solid currentColor; font-weight:700; box-sizing:border-box; margin-bottom:32px; }
  body.pg_menu .un_menu .el_tabBtn { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; gap:0; }
  body.pg_menu .un_menu .el_tabBtn_item { min-width:0; width:auto; text-align:center; white-space:nowrap; padding:12px 2px; font-size:12px; grid-column:auto; }
  body.pg_menu .un_menu .el_menuList_catWrap { margin-bottom:12px; }
  body.pg_menu .un_menu .el_menuList_catWrap > .js_acc_ttl { min-height:48px; padding:16px; cursor:pointer; scroll-margin-top:90px; }
  body.pg_menu .un_menu .el_menuList_item a { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; box-sizing:border-box; padding:10px 12px; overflow-wrap:anywhere; }
  body.pg_menu .un_menu .el_menuList_item a::after { position:static; flex:0 0 auto; margin:0 0 0 auto; transform:none; }
  body.pg_menu .un_menu [data-menu-categories] { display:flex; flex-wrap:wrap; gap:0 12px; margin:0 0 12px; }
  body.pg_menu .un_menu [data-menu-categories] button { appearance:none; background:none; border:0; border-radius:0; color:inherit; font:inherit; font-size:13px; min-width:44px; min-height:44px; padding:4px 8px; cursor:pointer; text-decoration:underline; }
  body.pg_menu .un_menu masonry-layout { display:block; }
}
body.pg_pickup #js_tab_2 .el_pickupList_ttl > strong { display:block; font-weight:700; line-height:1.4; margin-top:6px; }
body.pg_pickup #js_tab_2 .el_pickupList_ttl > span { display:block; line-height:1.6; }
body.pg_menu .el_menuFv_left { min-width:0; }
body.pg_menu .el_menuFv_left > .el_menuFv_price + .bito-ux-price-cta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; width:100%; box-sizing:border-box; }
body.pg_menu .bito-ux-price-cta > a { box-sizing:border-box; width:100%; min-width:0; min-height:48px; height:auto; padding:12px 6px; font-size:14px; white-space:normal; text-align:center; }
body.pg_menu .bito-ux-price-cta .el_text { font-size:14px; white-space:normal; }
.bito-ux-price-cta > a:focus-visible, [data-menu-categories] button:focus-visible, .bito-ux-column-controls button:focus-visible, .bito-ux-columns:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media (min-width:768px) { body.pg_menu .un_menu [data-menu-categories] { display:none; } }
/* Native horizontal scrolling remains usable without JS; no autoplay or dependency. */
body main .bl_column_related { min-width:0; max-width:100%; }
body main .bl_column_related ul.bito-ux-columns { display:flex; flex-wrap:nowrap; gap:24px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; padding:4px 2px 16px; margin-left:0; margin-right:0; max-width:100%; width:100%; white-space:normal; box-sizing:border-box; list-style:none; }
body main .bl_column_related ul.bito-ux-columns > .el_columnList_item { display:block; white-space:normal; flex:0 0 calc((100% - 48px) / 3); width:calc((100% - 48px) / 3); min-width:0; margin:0; padding:0; scroll-snap-align:start; box-sizing:border-box; }
body main .bl_column_related ul.bito-ux-columns > .el_columnList_item::before { content:none; }
body main .bl_column_related ul.bito-ux-columns > .el_columnList_item article, body main .bl_column_related ul.bito-ux-columns > .el_columnList_item a { display:block; }
body main .bl_column_related ul.bito-ux-columns > .el_columnList_item .el_columnList_thmb { margin:0 0 12px; width:100%; max-width:100%; }
body main .bl_column_related ul.bito-ux-columns .el_columnList_thmb img { width:100%; height:auto; }
.bito-ux-column-controls { display:flex; justify-content:flex-end; gap:12px; margin:12px 0; }
.bito-ux-column-controls[hidden] { display:none; }
.bito-ux-column-controls button { appearance:none; background:none; color:inherit; border:1px solid currentColor; border-radius:24px; min-width:44px; min-height:44px; padding:8px 16px; font:inherit; font-size:14px; cursor:pointer; }
.bito-ux-column-controls button:disabled { opacity:.35; cursor:default; }
@media (max-width:767px) {
  body main .bl_column_related ul.bito-ux-columns { gap:16px; }
  body main .bl_column_related ul.bito-ux-columns > .el_columnList_item { flex-basis:82%; width:82%; }
}
