/* Mobile-only layout repairs. Keep desktop and CMS content unchanged. */
@media(max-width:700px){
  /* The owner removed the mobile gift shortcut; keep the other actions. */
  .shared-action-rail .mobile-event{display:none!important}
  /* Owner-requested right-side vertical controls, above the bottom contact bar. */
  body:not([data-contact-modal=true]):has(.shared-action-rail){padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
  .shared-action-rail{inset:auto 10px calc(82px + env(safe-area-inset-bottom)) auto;width:48px;height:auto;max-height:calc(100dvh - 160px);padding:2px;box-sizing:border-box;flex-direction:column;justify-content:flex-end;gap:8px;overflow:auto;background:transparent;border:0}
  .shared-action-rail .shared-action-stack{display:flex;flex-direction:column;gap:8px}
  .shared-action-rail a,.shared-action-rail button{width:44px;min-width:44px;height:44px;min-height:44px;gap:0}
  .shared-action-rail .rail-action-circle{width:44px;height:44px}
  .shared-action-rail .phone-circle{font-size:14px;line-height:1.2}
  body:not([data-contact-modal=true]):has(.mobile-contact-bar:empty) .shared-action-rail{bottom:env(safe-area-inset-bottom)}
  body:not([data-contact-modal=true]):has(.mobile-contact-bar:empty){padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  .namuhx-assistant:not(.is-admin) .na-panel{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 162px - env(safe-area-inset-bottom));padding:16px}
  .mobile-contact-bar a{font-size:18px}
  .mobile-contact-bar .mobile-call{flex-direction:row;gap:6px}
  .mobile-contact-bar .mobile-phone-symbol{font-size:18px;line-height:1.2}
  .mobile-contact-bar .mobile-phone-number{font-size:18px;line-height:1.2;font-weight:800;white-space:nowrap}
  .namuhx-assistant:not(.is-admin) input{font-size:16px}
  .namuhx-assistant:not(.is-admin) .na-heading button{min-height:44px}
  /* Preserve full content width without a permanent side gutter. */
  .customer-promotions{padding:32px 20px 48px}
  .customer-reviews{width:auto;margin:28px 20px;padding:18px 0}
  .card-benefits-page{padding:32px 20px 48px}
  .legal-info{width:auto;margin:0 20px;padding-bottom:36px}
  .business-page{padding:28px 20px 48px}
  .business-page .business-official-hero{margin-left:-20px;margin-right:-20px}
  .rental-detail{padding:28px 20px 48px}
  /* Original wide menu artwork was being squeezed to a quarter of its width.
     Crop only its icon area, retaining the separately editable text label. */
  #official-main .service-section .service-inner{height:auto;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #official-main .quick-menu-card{min-width:0;height:auto;min-height:132px;padding:16px 8px;box-sizing:border-box}
  #official-main .quick-menu-icon{width:144px;max-width:100%;height:72px;flex:none;overflow:hidden}
  #official-main .quick-menu-icon .original-service-desktop{display:block;position:relative;left:50%;transform:translateX(-50%);width:144px;max-width:none;height:120px;object-fit:fill}
  #official-main .quick-menu-icon .original-service-mobile{display:none}
  #official-main .quick-menu-label{font-size:16px;line-height:1.4;white-space:normal;word-break:keep-all}
  /* Let PR cards size to their own width instead of viewport-height multiples. */
  #official-main .pr-news-swiper .swiper-slide a{height:auto;min-height:0;padding:12px;gap:12px}
  #official-main .pr-news-swiper .swiper-slide a>div{height:auto;aspect-ratio:4/3;width:100%;overflow:hidden}
  #official-main .pr-news-swiper .swiper-slide a>div img{width:100%;height:100%;object-fit:cover}
  #official-main .pr-news-swiper .swiper-slide a p{font-size:16px;line-height:1.5}
  #official-main .pr-news-swiper .swiper-slide a span{font-size:14px;line-height:1.5}
  #official-main .tab-btn-box{gap:16px;flex-wrap:wrap}
  #official-main .tab-btn-box button{min-height:44px;font-size:16px}
  .home-brand-official{min-height:0}
  .home-brand-official-inner{padding-top:min(var(--hb-mobile-padding-top,64px),80px);padding-bottom:min(var(--hb-mobile-padding-bottom,64px),80px)}
  .home-brand-official-button{min-height:44px}
  /* Stack the cat artwork instead of squeezing the copy into ~190px. */
  .product-consult-banner{flex-direction:column;min-height:0;padding:24px 20px;gap:16px;text-align:center}
  .product-consult-banner-copy{min-height:0;width:100%;padding-left:0}
  .product-consult-banner-gift{position:static;width:180px;max-width:100%;height:160px;object-fit:cover;object-position:center 18%}
  /* Avoid the site's generic header height constraining the form heading. */
  .review-write-page .review-write-heading{height:auto;min-height:0;border:0;z-index:auto}
  .review-write-page .review-write-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-write-page .review-write-photo-list button{min-height:44px;font-size:13px}
  .review-write-page input::file-selector-button{min-height:44px}
  .contact-modal .contact-modal-close,.business-dialog .business-dialog-close,.benefit-popup .benefit-popup-close{width:44px;height:44px}
  .original-modal .original-modal-close{min-width:44px;min-height:44px}
  #official-main ._shortsVideoMuteButton_1dm2c_214,#official-main ._shortsVideoPlayIcon_1dm2c_226,#official-main ._shortsVideoPaginationArrow_1dm2c_90{width:44px;height:44px;min-width:44px;min-height:44px}
  .detail-gallery .gallery-prev,.detail-gallery .gallery-next{width:44px;height:44px}
  .price-comparison .pc-select{min-height:44px}
  .namuhx-quote{font-size:14px}
  .namuhx-quote .nq-mode,.namuhx-quote .nq-pill,.namuhx-quote .nq-color-pills .nq-pill{font-size:13px;min-height:44px}
  .namuhx-quote .nq-pills{flex-wrap:wrap}
  .namuhx-quote .nq-pill{flex:1 1 60px}
  .namuhx-quote .nq-pill-subtitle,.namuhx-quote .nq-hint,.namuhx-quote .nq-card-wrap .nq-hint,.namuhx-quote .nq-summary-note,.namuhx-quote .nq-selection-note,.namuhx-quote .nq-line,.namuhx-quote .nq-line dd,.namuhx-quote .nq-source,.namuhx-quote .nq-source summary,.namuhx-quote .nq-amount-details>summary{font-size:12px}
  .namuhx-quote .nq-card-option{font-size:13px;min-height:44px}
  .namuhx-quote .nq-quantity{width:134px;min-height:44px}
  .namuhx-quote .nq-quantity button{width:44px;min-height:44px;flex-shrink:0}
  .namuhx-quote .nq-quantity input{width:44px;font-size:16px}
  .namuhx-quote select{font-size:16px;min-height:44px;max-width:100%}
  .namuhx-quote .nq-amount-details>summary,.namuhx-quote .nq-source summary{min-height:44px;display:flex;align-items:center}
  /* Brand intro is content-sized; only its decorative wave background is cropped. */
  #official-menu ._sceneContainer_huwgt_100:has(._introContent_huwgt_301){padding:32px 20px 24px}
  #official-menu ._sceneContainer_huwgt_100:has(._introContent_huwgt_301)>._serviceSceneBg_huwgt_125{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  #official-menu ._sceneContainer_huwgt_100:has(._introContent_huwgt_301)>._serviceSceneSection_huwgt_262{position:relative;top:auto;left:auto;transform:none;gap:24px}
  #official-menu ._introContent_huwgt_301{gap:24px}
  #official-menu ._sceneContainer_huwgt_100:has(._designContent_huwgt_344){padding-top:24px}
  #official-menu ._sceneContainer_huwgt_100:has(._designContent_huwgt_344)>._serviceSceneSection_huwgt_262{gap:24px}
/* Mobile product options: preserve order and labels in aligned equal-width cells. */
  .namuhx-quote.nq-schema fieldset.nq-field{width:100%;min-width:0}
  .namuhx-quote.nq-schema .nq-schema-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;width:100%;align-items:stretch}
  .namuhx-quote.nq-schema .nq-schema-pills .nq-pill{width:100%;min-width:0;min-height:48px;margin:0;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}

/* Brand page: reduce only the requested section boundaries on phones.
   Keep official artwork dimensions, text and absolute image composition intact. */
  #official-menu ._sceneContainer_huwgt_100:has(._biBanner_huwgt_419){padding-bottom:24px}
  #official-menu ._sceneContainer_huwgt_100:has(._wellnessRoboticsContent_huwgt_473){padding-top:24px;padding-bottom:24px}
  #official-menu ._sceneContainer_huwgt_100:has(._teamNamuhxContainer_huwgt_481){padding-top:24px}
}
