/* Shared runtime overrides: image sizing first, mobile-only fixed call button second. */
main figure.context-image,
main figure.online-guide-banner {
  box-sizing: border-box !important;
  display: block !important;
  width: min(1220px, calc(100% - 44px)) !important;
  max-width: 1220px !important;
  height: auto !important;
  max-height: none !important;
  margin: clamp(20px, 2.6vw, 34px) auto !important;
  overflow: hidden;
  aspect-ratio: auto !important;
}
main figure.context-image > img,
main figure.online-guide-banner > img,
main section.content-section:not(.hero) > .wrap > figure:not(.editorial-gallery figure) > img,
main section.home-detail-section .home-detail-content > figure > img,
main section.home-detail-section .home-detail-content > img {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1831 / 859 !important;
  object-fit: contain !important;
  object-position: center top !important;
}
main figure.context-image > img,
main figure.online-guide-banner > img {
  border-radius: inherit;
}
/* Homepage guide cards: 3 columns on desktop, responsive below. */
main > .editorial-gallery.inline-gallery.home-guide-gallery .gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  gap: clamp(12px, 1.5vw, 20px) !important;
}
main > .editorial-gallery.inline-gallery.home-guide-gallery .gallery-grid .gallery-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}
/* The four-point pre-visit checklist is displayed in two columns. */
main section#checklist .grid-4 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(12px, 1.5vw, 18px) !important;
}
main section#checklist .grid-4 > .card {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 850px) {
  main > .editorial-gallery.inline-gallery.home-guide-gallery .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  main > .editorial-gallery.inline-gallery.home-guide-gallery .gallery-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  main section#checklist .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  main section#checklist .grid-4 > .card {
    padding: 16px !important;
  }
}
@media (max-width: 380px) {
  main section#checklist .grid-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 680px) {
  main figure.context-image,
  main figure.online-guide-banner {
    width: calc(100% - 28px) !important;
    margin: 18px auto 22px !important;
    border-radius: 12px;
  }
}

/* 전화 버튼은 데스크톱에서는 완전히 숨기고, 모바일 하단에만 고정 표시 */
html body .site-call-float {display:none !important;}
html body .mobile-bar {display:none !important;}
html body .mobile-bar .site-call-mobile {background:linear-gradient(135deg,#f6d798,#c89b4c) !important;color:#17120a !important;border-color:#f2d18b !important;white-space:nowrap;font-weight:800 !important;}
@media (max-width:560px) {
  html body .mobile-bar {
    position:fixed !important;z-index:1000 !important;bottom:0 !important;left:0 !important;right:0 !important;
    display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) !important;
    gap:7px !important;padding:10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
    background:rgba(17,16,15,.97) !important;border-top:1px solid rgba(215,183,122,.42) !important;
    backdrop-filter:blur(12px);box-sizing:border-box !important;
  }
  html body .mobile-bar .btn {min-width:0 !important;padding:11px 5px !important;font-size:.78rem !important;text-align:center !important;}
  html body .mobile-bar .site-call-mobile {font-weight:800 !important;}
  html body .footer {padding-bottom:110px !important;}
}
