/* Mobile15: presentation only. Desktop, price approval and purchase gates stay
   in their existing sources. These rules load after the older mobile layers. */
.mobile15-short-name { display:none; }
[data-rotation14-field="price_text"][hidden] { display:none!important; }
@media (max-width:767px) {
  body.ace-mobile-v34 #app { padding-bottom:calc(48px + env(safe-area-inset-bottom)); }
  body.ace-mobile-v34 #app header.top { padding:5px 10px!important; }
  body.ace-mobile-v34 #app header.top .headrow { gap:3px 6px!important; }
  body.ace-mobile-v34 #app .brand { font-size:18px!important; }
  body.ace-mobile-v34 #app .ace-language-picker { margin-inline-start:auto!important; }
  body.ace-mobile-v34 #app .ace-language-picker select {
    flex:0 0 64px!important; width:64px!important; min-width:64px!important; max-width:64px!important;
    min-height:44px!important; height:44px!important; padding:4px 17px 4px 5px!important;
    font-size:12px!important; appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6'%3E%3Cpath d='m1 1 3 3 3-3' fill='none' stroke='%23534136'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 5px center;
  }
  body.ace-mobile-v34 #app header.top .home-brand-promises34 {
    flex:1 0 100%!important; order:9!important; justify-content:center!important;
    padding:0!important; margin:0!important; gap:0 6px!important; max-width:none!important;
    font-size:10px!important; line-height:1.25!important;
  }
  body.ace-mobile-v34 #app .ace-mobile-sections { margin-block:0!important; }
  body.ace-mobile-v34 #app .ace-mobile-section { min-height:44px!important; padding:3px!important; gap:1px!important; font-size:12px!important; }
  body.ace-mobile-v34 #app .tabbar { height:calc(48px + env(safe-area-inset-bottom))!important; padding:0 0 env(safe-area-inset-bottom)!important; }
  body.ace-mobile-v34 #app .tabbar .tab { min-height:48px; gap:0; padding:2px; }
  body.ace-mobile-v34 #app .tabbar .tab > span { display:flex; align-items:center; justify-content:center; height:23px; }
  body.ace-mobile-v34 #app .tabbar .tab svg { width:20px; height:20px; }
  body.ace-mobile-v34 #app .tabbar .tab small { font-size:11px; line-height:1.2; }
  body.ace-mobile-v34 #app .buybar { bottom:calc(48px + env(safe-area-inset-bottom)); }
  /* Keep the genuine twelve-product mobile block first. Its data/slots, approved
     photos and single clock are unchanged; service links remain below and in nav. */
  body.ace-mobile-v34 #app #main #home > .pad { display:flex!important; flex-direction:column; padding:6px 10px 18px!important; gap:0; }
  body.ace-mobile-v34 #app #home > .pad > * { order:3; min-width:0; }
  body.ace-mobile-v34 #app #home > .pad > .home-first-sec { order:0; display:flex!important; margin:0 0 5px!important; }
  body.ace-mobile-v34 #app #home .home-first-sec h2 { font-size:17px!important; line-height:1.35; margin:0; }
  body.ace-mobile-v34 #app #home .home-first-sec small { display:none; }
  body.ace-mobile-v34 #app #home > .pad > .home-core { order:1; display:block!important; margin:0!important; }
  body.ace-mobile-v34 #app #home > .pad > .home36-top-grid { order:2; margin-top:12px!important; }
  body.ace-mobile-v34 #app #home :is(.home36-groups,.home-catalog,.ace-section-entry,.ace-category-strip,.ace-principles,.home-request-card,.carousel-note) { display:none!important; }
  body.ace-mobile-v34 #app #home .home-product-card { display:block!important; padding:0!important; border:0!important; background:transparent!important; }
  body.ace-mobile-v34 #app #home .home-carousel { overflow:visible!important; padding:0!important; border:0!important; background:transparent!important; }
  body.ace-mobile-v34 #app #home .home-carousel > .rotation14-toggle { top:0; right:0; transform:translateY(-100%); }
  body.ace-mobile-v34 #app #home .home-carousel-track.home-featured-grid {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important; gap:7px!important; overflow:visible!important;
    width:100%!important; padding:0!important; margin:0!important; scroll-snap-type:none!important;
  }
  body.ace-mobile-v34 #app #home .home-carousel-slide.home-featured-card {
    display:flex!important; position:relative; flex-direction:column; min-width:0!important;
    width:auto!important; min-height:0!important; height:auto!important; margin:0!important;
    padding:0!important; border:1px solid #e2d9cb!important; border-radius:8px!important;
    overflow:hidden; background:#fffdf8!important;
  }
  body.ace-mobile-v34 #app #home .home-carousel-slide .home-good-visual {
    flex:0 0 auto!important; width:100%!important; height:104px!important; min-height:0!important;
    aspect-ratio:auto!important; margin:0!important; border-radius:0!important;
  }
  body.ace-mobile-v34 #app #home .home-carousel-slide .home-card-gallery-link { display:block; width:100%; height:100%; }
  body.ace-mobile-v34 #app #home .home-carousel-slide .home-card-gallery-frame { inset:0!important; }
  body.ace-mobile-v34 #app #home .home-carousel-slide img[data-product-image37] { object-fit:contain!important; }
  body.ace-mobile-v34 #app #home .home-carousel-slide .home-card-product-link {
    display:block!important; padding:4px 6px!important; margin:0!important; min-width:0; color:inherit;
  }
  body.ace-mobile-v34 #app #home .home-featured-type { display:block; margin:0!important; font-size:10px!important; line-height:1.2; }
  body.ace-mobile-v34 #app #home .home-featured-title { min-height:30px!important; max-height:none!important; margin:1px 0!important; font-size:12px!important; line-height:1.25!important; }
  body.ace-mobile-v34 #app #home .home-card29-bottom { display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:4px!important; }
  body.ace-mobile-v34 #app #home .home-featured-spec { min-height:0!important; margin:0!important; font-size:11px!important; line-height:1.3!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  body.ace-mobile-v34 #app #home .home-featured-price { margin:0!important; font-size:12px!important; line-height:1.3!important; white-space:nowrap; text-align:right; }
  body.ace-mobile-v34 #app #home .home36-product-stock { position:absolute; top:3px; left:3px; max-width:calc(100% - 52px); padding:2px 4px; font-size:10px; }
  /* Only general goods and beer cards compact. Medicine/tobacco geometry stays. */
  body.ace-mobile-v34 #app .catalog09-grid > .mobile15-compact {
    min-height:0!important; height:auto!important; aspect-ratio:auto!important;
    border-radius:8px!important; background:#fffdf8!important;
  }
  body.ace-mobile-v34 #app .catalog09-grid > .mobile15-compact > .catalog09-photo-backdrop { display:none; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .product-photo37-frame {
    flex:0 0 auto!important; height:88px!important; min-height:0!important; aspect-ratio:auto!important;
    width:100%!important; margin:0!important; padding:0!important;
  }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-pic { height:100%!important; width:100%!important; aspect-ratio:auto!important; }
  body.ace-mobile-v34 #app .mobile15-compact[data-product-rotation14="catalog"] .rotation14-toggle { left:6px!important; right:auto!important; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-pic > img { object-fit:contain!important; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-info { min-height:0!important; padding:3px 6px!important; gap:0!important; flex:1 0 auto; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-name {
    display:flex!important; align-items:center; min-height:44px!important; max-height:none!important;
    margin:0!important; font-size:12px!important; line-height:1.25!important; color:inherit;
  }
  body.ace-mobile-v34 #app :is(.mobile15-compact,.home-carousel-slide) .mobile15-full-name { display:none; }
  body.ace-mobile-v34 #app :is(.mobile15-compact,.home-carousel-slide) .mobile15-short-name {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; overflow-wrap:anywhere;
  }
  body.ace-mobile-v34 #app :is(.shop-name,.home-card-product-link):focus-visible .mobile15-short-name { display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset; }
  body.ace-mobile-v34 #app .mobile15-compact .mobile15-spec-price { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px; align-items:baseline; min-width:0; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-spec { min-width:0; margin:0!important; font-size:11px!important; line-height:1.3!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis; }
  body.ace-mobile-v34 #app .mobile15-compact .catalog09-spec-label { display:none; }
  body.ace-mobile-v34 #app .mobile15-compact .mobile15-card-price { display:flex!important; flex-direction:column; gap:0!important; margin:0!important; padding:0!important; text-align:right; white-space:nowrap; }
  body.ace-mobile-v34 #app .mobile15-compact .domestic-price__jpy { font-size:12px!important; line-height:1.3!important; flex:auto!important; }
  body.ace-mobile-v34 #app .mobile15-compact .domestic-price__cny { font-size:11px!important; line-height:1.3!important; flex:auto!important; }
  body.ace-mobile-v34 #app .mobile15-compact :is(.catalog09-detail-action,.shop-allin) { display:none!important; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-tags { margin:0!important; }
  body.ace-mobile-v34 #app .catalog09-grid .mobile15-compact .shop-tag { font-size:10px!important; line-height:1.2!important; }
  body.ace-mobile-v34 #app .catalog09-page > .pad { padding:6px 10px 18px!important; }
  body.ace-mobile-v34 #app .catalog09-page .catalog09-grid { gap:7px!important; }
  body.ace-mobile-v34 #app .catalog09-page :is(.catalog09-toolbar,.catalog12-tools,.catalog09-filters,.catalog09-section-links) { margin-bottom:5px!important; gap:4px!important; }
  body.ace-mobile-v34 #app .catalog09-page .catalog09-section-links .catalog-section-switch__item { min-height:44px!important; padding:3px!important; }
  body.ace-mobile-v34 #app .catalog09-page .catalog09-toolbar h1 { font-size:18px!important; }
  /* The same three live section links already sit above main. Keep the medical
     flow as-is, and avoid a second 44px navigation row on goods/beer pages. */
  body.ace-mobile-v34:not(.ace-theme--medical) #app .catalog09-page .catalog09-section-links { display:none!important; }
  body.ace-mobile-v34:not(.ace-theme--medical) #app .catalog09-page .catalog09-toolbar { display:flex!important; flex-wrap:wrap; align-items:center; }
  body.ace-mobile-v34:not(.ace-theme--medical) #app .catalog09-toolbar .catalog09-title-line { flex:1 1 175px; gap:3px; }
  body.ace-mobile-v34:not(.ace-theme--medical) #app .catalog09-toolbar .production-search { flex:1 0 100%; order:2; }
  body.ace-mobile-v34:not(.ace-theme--medical) #app .catalog09-toolbar .catalog-order-links { flex:0 1 auto; margin-inline-start:auto; font-size:11px; }
  body.ace-mobile-v34 #app .catalog09-page .catalog09-subtitle { display:none; }
  body.ace-mobile-v34 #app .catalog09-page .catalog-order-links { gap:4px 12px!important; }
  body.ace-mobile-v34 #app .catalog09-page .catalog09-filters { flex-wrap:nowrap!important; overflow-x:auto; max-width:100%; }
  body.ace-mobile-v34 #app .catalog09-page .catalog09-filters > a { flex:0 0 auto; }
}

/* Native48 V3 phone correction. Keep the 88px photo, title/spec type and
   44px controls. Only compact public general/beer cards enter this scope.
   Comparison remains available in its normal other views; age rules and
   the page-level 20+ marker are unchanged. No generated/localized text. */
@media (max-width:767px) {
  body.ace-mobile-v34 #app .catalog09-grid > .mobile15-compact :is(.ace-compare-choice,.shop-tags,.shop-card33-type) {
    display:none!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar {
    display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"title links" "search search"!important;
    align-items:start; gap:2px 4px!important; margin-bottom:4px!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar {
    grid-template-areas:"title links"!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar > .catalog09-title-line {
    grid-area:title!important; order:0!important; min-width:0; flex-wrap:wrap!important; gap:3px!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-title-line > h1 {
    flex:1 1 0; min-width:0; white-space:normal; word-break:normal; overflow-wrap:normal;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-title-line > :is(.rotation14-toggle-all,.catalog09-age) {
    flex:none!important; white-space:nowrap;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar .catalog09-count {
    display:none!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar > .production-search {
    grid-area:search!important; grid-column:1 / -1!important; order:0!important;
    flex:none!important; width:100%!important; min-width:0; margin:0!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .production-search input[type=search] {
    flex:1 1 0!important; width:0!important; min-width:0!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar > .catalog-order-links {
    grid-area:links!important; order:0!important; display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:4px!important;
    width:auto!important; min-width:0; margin:0!important; align-items:stretch;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar .catalog-order-links > a {
    min-width:0; min-height:44px; padding:3px 2px!important; font-size:12px!important;
    line-height:1.3!important; white-space:normal!important; word-break:normal; overflow-wrap:normal;
    justify-content:center; text-align:center;
  }
}
@media (max-width:359px) {
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog09-toolbar {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"title" "search" "links"!important;
  }
  body.ace-mobile-v34 #app .catalog09-page:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar {
    grid-template-areas:"title" "links"!important;
  }
}

/* Native48 V4 EN beer correction. The active top category keeps the full label.
   The repeated h1 remains accessible. Keep real links, page20+, 44px controls,
   12px body text and88px photos. No generated label or hidden navigation. */
@media (max-width:767px) {
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app > .ace-mobile-sections {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)!important;
  }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar {
    grid-template-columns:44px auto minmax(0,1fr)!important;
    grid-template-areas:"pause age links"!important;
    align-items:center;
  }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar > .catalog09-title-line { display:contents!important; }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar > .catalog09-title-line > h1 {
    position:absolute!important; width:1px!important; height:1px!important;
    padding:0!important; margin:-1px!important; overflow:hidden!important;
    clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important;
    white-space:nowrap!important; border:0!important;
  }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar > .catalog09-title-line > .rotation14-toggle-all {
    grid-area:pause!important; align-self:center; justify-self:center; margin:0!important;
  }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar > .catalog09-title-line > .catalog09-age {
    grid-area:age!important; align-self:center; justify-self:start;
  }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar > .catalog-order-links { grid-area:links!important; }
  html[lang="en"] body.ace-mobile-v34:has(#app .catalog09-page.catalog-theme--tobacco_alcohol .catalog09-grid > .mobile15-compact) #app .catalog09-page.catalog-theme--tobacco_alcohol:has(.catalog09-grid > .mobile15-compact) .catalog12-heading.catalog09-toolbar > .catalog-order-links > a { padding-block:0!important; }
}

/* Mobile home: retain the existing full-width brand video, then compact member
   and health cards, then the unchanged two-column product carousel.
   Only the existing phone breakpoint changes. Video markup/media geometry,
   playback hooks and the medical dialog stay in their original sources. */
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home > .pad {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start; column-gap:8px; row-gap:7px;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home > .pad > * {
    grid-column:1 / -1; min-width:0;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home :is(.home36-top-grid,.home36-tools,.home36-tools-lower,.home36-member-and-sections) {
    display:contents!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film {
    grid-column:1 / -1; grid-row:1; align-self:start!important;
    min-width:0; margin:0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-member {
    grid-column:1; grid-row:2; align-self:stretch!important; align-content:start;
    min-width:0; margin:0!important; padding:7px!important; box-sizing:border-box;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home39-member-heading {
    display:grid!important; grid-template-columns:minmax(0,1fr) 44px;
    align-items:center; gap:4px; margin:0 0 4px!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home39-member-heading h2 {
    min-width:0; margin:0!important; font-size:13px!important; line-height:1.25!important;
    word-break:normal; overflow-wrap:normal;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-member-actions {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:4px!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-member-actions > a {
    display:flex; align-items:center; justify-content:center; min-width:0;
    min-height:44px!important; padding:4px 2px!important; font-size:12px!important;
    line-height:1.25!important; text-align:center; white-space:normal;
  }
  /* Keep the direct member/benefit actions; the member pages retain the
     sharing-history and Japan-service routes behind the two other shortcuts. */
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-member-actions > a:nth-child(n+3) {
    display:none!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home09-consultation-slot {
    display:grid!important; grid-column:2; grid-row:2; align-self:stretch;
    align-items:stretch; min-width:0; margin:0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home09-consultation-slot > .consultation09-card--home-compact {
    align-self:stretch!important; align-content:start; min-width:0; margin:0!important;
    padding:7px!important; gap:4px!important; box-sizing:border-box;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .consultation09-card--home-compact > .consultation09-home-title {
    gap:4px!important; margin:0!important; font-size:14px!important; line-height:1.3!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .consultation09-card--home-compact > .consultation09-home-title svg {
    flex-basis:15px; width:15px; height:15px;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .consultation09-card--home-compact > .consultation09-home-details {
    display:none!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .consultation09-card--home-compact > .consultation09-action {
    min-width:0; min-height:44px!important; margin:0!important; padding:4px 5px!important;
    font-size:12px!important; line-height:1.25!important; white-space:normal;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .consultation09-card--home-compact > .consultation09-home-preparation {
    margin:0!important; padding:2px 4px!important; font-size:10px!important; line-height:1.25!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home > .pad > .home-first-sec {
    grid-row:3; margin:2px 0 0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home > .pad > .home-core {
    grid-row:4; margin:0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-search {
    grid-column:1 / -1; grid-row:5; margin:5px 0 0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home37-services {
    grid-column:1 / -1; grid-row:6;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-live {
    grid-column:1 / -1; grid-row:7;
  }
}

/* A completed single home video becomes a small in-flow replay rail on phones.
   The initial full-width video retains all existing 192/168 geometry rules. */
body.ace-home-v39 #home .home-promo43-replay[hidden] { display:none!important; }
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-promo-mobile-collapsed="true"] {
    display:flex!important; justify-content:flex-end; align-items:center;
    height:36px!important; min-height:36px!important; padding:0!important; margin:0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-promo-mobile-collapsed="true"] > .home-promo26 {
    display:flex!important; justify-content:flex-end; align-items:center;
    width:auto!important; max-width:100%; min-width:0; height:auto!important; min-height:0!important;
    padding:0!important; margin:0!important; border:0!important; box-shadow:none!important;
    background:transparent!important; overflow:visible!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-promo-mobile-collapsed="true"] > .home-promo26 > :not(.home-promo43-replay) {
    display:none!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home-promo43-replay:not([hidden]) {
    display:inline-flex!important; align-items:center; justify-content:center;
    width:auto!important; max-width:100%; min-height:36px!important; height:36px!important;
    box-sizing:border-box; margin:0!important; padding:0 12px!important;
    border:1px solid #d5e4f5!important; border-radius:999px!important;
    background:#f4f8fd!important; color:#245c91!important; box-shadow:none!important;
    font-family:inherit; font-size:12px!important; font-weight:600; line-height:1.25!important;
    white-space:nowrap; touch-action:manipulation;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home-promo43-replay:focus-visible {
    outline:2px solid #245c91; outline-offset:2px;
  }
}

/* Unconfigured ACE live room shell: phone-only, nonmodal, in document flow.
   No stream/video/iframe is created; /live/ is the independent own-site room. */
body.ace-home-v39 #home :is(.home43-live,.home43-live-entry,.home43-live-panel)[hidden] { display:none!important; }
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-home-live-ready="true"] {
    display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:start;
    gap:6px; height:auto!important; min-height:0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-home-live-ready="true"] > .home-promo26 {
    grid-column:1 / -1; grid-row:1;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live:not([hidden]) { display:contents!important; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-entry:not([hidden]) {
    display:inline-flex!important; grid-column:2; grid-row:2; align-items:center; justify-content:center;
    width:auto!important; max-width:100%; min-height:36px!important; height:36px!important;
    box-sizing:border-box; padding:0 12px!important; margin:0!important; white-space:nowrap;
    border:1px solid #cbdcd7!important; border-radius:999px!important; background:#f0f8f5!important;
    color:#246453!important; font-family:inherit; font-size:12px!important; font-weight:600; line-height:1.25!important;
    touch-action:manipulation;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-promo-mobile-collapsed="true"] > .home-promo26 {
    grid-column:1; grid-row:1; justify-self:end;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-promo-mobile-collapsed="true"] .home43-live-entry:not([hidden]) { grid-row:1; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-home-live-open="true"] > .home-promo26 {
    display:none!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-panel:not([hidden]) {
    display:grid!important; grid-column:1 / -1; grid-row:1; gap:10px;
    min-width:0; max-height:50vh; max-height:50dvh; overflow:auto;
    box-sizing:border-box; margin:0!important; padding:12px!important;
    border:1px solid #d7e5df!important; border-radius:14px!important;
    background:linear-gradient(145deg,#f7fbf9,#edf5f1)!important; color:#24483b;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-header {
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-header h2 {
    margin:0!important; font-size:16px!important; line-height:1.3!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-actions { display:flex; gap:6px; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-actions > button {
    min-height:44px!important; margin:0!important; padding:4px 10px!important;
    border:1px solid #cbdcd7!important; border-radius:9px!important; background:#fff!important;
    color:#245a47!important; font-family:inherit; font-size:12px!important; line-height:1.3!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-status {
    margin:0!important; font-size:17px!important; font-weight:700; line-height:1.35!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-note {
    margin:0!important; font-size:12px!important; line-height:1.5!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-room-link {
    justify-self:start; display:inline-flex; align-items:center; min-height:44px!important;
    padding:4px 10px!important; border:1px solid #cbdcd7; border-radius:9px; background:#fff;
    color:#245a47; font-size:12px!important; line-height:1.3!important; text-decoration:none;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home :is(.home43-live-entry,.home43-live-actions > button,.home43-live-room-link):focus-visible {
    outline:2px solid #245a47; outline-offset:2px;
  }
}

/* The original share text remains the accessible button name; its visual
   text cannot stretch the phone's 44px icon column into a tall card. */
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home39-friend-share .public-share36-button {
    display:inline-flex!important; align-items:center; justify-content:center;
    width:44px!important; min-width:44px!important; height:44px!important; min-height:44px!important;
    padding:0!important; gap:0!important; font-size:0!important; line-height:0!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home39-friend-share .public-share36-button::before { content:none!important; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home39-friend-share .public-share36-button svg {
    display:block!important; flex:0 0 16px!important; width:16px!important; height:16px!important;
  }
}

/* Shared recorded-video tabs. Every replay stays labelled as a recording. */
body.ace-home-v39 #home :is(.home43-replay-pane,.home43-activity-pane,.home43-replay-video,.home43-replay-title,.home43-replay-message)[hidden],
body.ace-live43-page :is([data-home43-source-list],.home43-live-entry,.home43-live-panel,.home43-replay-pane,.home43-activity-pane,.home43-replay-video,.home43-replay-title,.home43-replay-message)[hidden] { display:none!important; }
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-panel { gap:7px; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-room-tabs {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-room-tabs > button {
    min-width:0; min-height:44px!important; padding:5px!important; border:1px solid #cbdcd7;
    border-radius:9px; background:#fff; color:#245a47; font-size:12px!important; line-height:1.3!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-room-tabs > button[aria-selected="true"] { background:#dceee5; border-color:#98bba9; font-weight:700; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home :is(.home43-recorded-label,.home43-replay-title,.home43-replay-message) { margin:0!important; font-size:12px!important; line-height:1.4!important; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-replay-pane:not([hidden]) { display:grid; min-width:0; gap:5px; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-activity-pane:not([hidden]) { display:grid; gap:8px; }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-replay-video:not([hidden]) { display:block; width:100%; max-width:100%; height:auto; max-height:28vh; max-height:28dvh; aspect-ratio:16/9; object-fit:contain; background:#111b17; border-radius:9px; }
}
body.ace-live43-page [data-home43-standalone] { min-width:0; }
body.ace-live43-page .home43-live-panel:not([hidden]) { display:grid; gap:8px; max-height:50vh; max-height:50dvh; min-width:0; overflow:auto; box-sizing:border-box; padding:14px; border:1px solid #d7e5df; border-radius:14px; background:#f4faf7; color:#24483b; }
body.ace-live43-page .home43-live-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
body.ace-live43-page .home43-live-header h2 { margin:0; font-size:18px; line-height:1.3; }
body.ace-live43-page .home43-live-actions { display:flex; gap:6px; }
body.ace-live43-page :is(.home43-live-actions > button,.home43-live-entry,.home43-room-tabs > button) { min-height:44px; padding:5px 10px; border:1px solid #cbdcd7; border-radius:9px; background:#fff; color:#245a47; font:inherit; font-size:13px; line-height:1.3; }
body.ace-live43-page .home43-room-tabs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
body.ace-live43-page .home43-room-tabs > button[aria-selected="true"] { background:#dceee5; border-color:#98bba9; font-weight:700; }
body.ace-live43-page :is(.home43-live-status,.home43-live-note,.home43-recorded-label,.home43-replay-title,.home43-replay-message) { margin:0; font-size:13px; line-height:1.45; }
body.ace-live43-page .home43-live-status { font-size:18px; font-weight:700; }
body.ace-live43-page :is(.home43-replay-pane,.home43-activity-pane):not([hidden]) { display:grid; min-width:0; gap:6px; }
body.ace-live43-page .home43-replay-video:not([hidden]) { display:block; width:100%; max-width:100%; height:auto; max-height:28vh; max-height:28dvh; aspect-ratio:16/9; object-fit:contain; background:#111b17; border-radius:9px; }
body.ace-live43-page :is(button,a):focus-visible { outline:2px solid #245a47; outline-offset:2px; }

/* Minimized phone room: keep a small side entry above the bottom navigation.
   Opening uses the viewport panel below; no page scroll lock is introduced. */
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-home-live-minimized="true"]:not([data-promo-mobile-collapsed="true"]) > .home-promo26 {
    display:none!important;
  }
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home36-film[data-home-live-minimized="true"] .home43-live-entry:not([hidden]),
  body.ace-live43-page [data-home43-standalone][data-home43-minimized="true"] .home43-live-entry:not([hidden]) {
    position:fixed!important; right:max(10px,env(safe-area-inset-right,0px));
    bottom:calc(84px + env(safe-area-inset-bottom,0px)); z-index:40;
    width:auto!important; min-width:0!important; max-width:140px!important;
    min-height:36px!important; height:36px!important; box-sizing:border-box;
    margin:0!important; padding:0 12px!important; border-radius:999px!important;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap!important;
    box-shadow:0 3px 12px rgba(30,64,48,.16);
  }
}

/* Reopening after product scrolling must reveal the phone's half-screen room.
   Only the open panel floats; there is no backdrop and page scrolling stays native. */
@media (max-width:767px) {
  body.ace-mobile-v34.ace-home-v39 #app #main #home .home43-live-panel:not([hidden]),
  body.ace-live43-page [data-home43-standalone] .home43-live-panel:not([hidden]) {
    position:fixed!important;
    top:max(8px,env(safe-area-inset-top,0px));
    left:max(10px,env(safe-area-inset-left,0px));
    right:max(10px,env(safe-area-inset-right,0px)); bottom:auto!important;
    z-index:70!important; width:auto!important; max-width:none!important;
    height:50vh!important; height:50dvh!important;
    max-height:50vh!important; max-height:50dvh!important;
    min-height:0!important; margin:0!important; box-sizing:border-box;
    align-content:start; overflow:auto;
    box-shadow:0 8px 28px rgba(30,64,48,.22);
  }
}

/* The active clip links only to its server-approved public product. */
body.ace-home-v39 #home [data-home45-product-recordings][hidden],
body.ace-live43-page [data-home45-product-recordings][hidden],
body.ace-home-v39 #home .home45-current-product[hidden],
body.ace-live43-page .home45-current-product[hidden] { display:none!important; }
body.ace-home-v39 #home .home45-current-product:not([hidden]),
body.ace-live43-page .home45-current-product:not([hidden]) {
  display:flex; align-items:center; box-sizing:border-box; min-height:44px;
  padding:7px 10px; border:1px solid #b9d5c7; border-radius:9px;
  background:#fff; color:#245a47; font-size:13px; line-height:1.4;
  text-decoration:none; overflow-wrap:anywhere;
}
body.ace-home-v39 #home .home45-current-product:focus-visible,
body.ace-live43-page .home45-current-product:focus-visible { outline:2px solid #245a47; outline-offset:2px; }
