 /* ==========================================================================
   16. Responsive
   ========================================================================== */
 @media (max-width: 640px) {

     /* Hero - モバイル */
     .ep-hero-media {
         min-height: 340px;
     }

     .ep-hero-body {
         padding: 16px;
     }

     h1.ep-hero-title,
     .ep-hero-title {
         font-size: 1.38rem !important;
         line-height: 1.18 !important;
     }

     .ep-hero-catch {
         font-size: 0.88rem;
         line-height: 1.32;
     }

     .ep-featured-page-hero .ep-featured-page-eyebrow {
         margin-bottom: 8px;
         font-size: 0.68rem;
     }

     .ep-featured-page-hero .ep-hero-title {
         font-size: 1.42rem !important;
     }

     .ep-featured-page-hero .ep-hero-body {
         padding: 16px 16px 18px;
     }

     .ep-hero-title-en {
         font-size: 0.86rem !important;
         line-height: 1.28 !important;
     }

     .ep-hero-subtitle,
     .ep-featured-page-hero .ep-hero-body .ep-feature-hero-desc {
         font-size: 0.9rem !important;
         line-height: 1.45 !important;
     }

     .ep-hero-meta {
         font-size: 0.76rem;
         line-height: 1.35;
     }

     /* TOC - モバイル */
     .ep-building-toc {
         padding: 8px 0 6px;
     }

     .ep-building-toc-list {
         flex-wrap: nowrap;
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
         padding-bottom: 6px !important;
     }

     .ep-building-toc-list a {
         padding: 0.6rem 0.4rem !important;
         font-size: 0.85rem;
         min-height: 44px;
         white-space: nowrap;
     }

     /* Photo Gallery - モバイル (2列) */
     .ep-photo-thumbs {
         grid-template-columns: repeat(2, 1fr);
         gap: 8px;
     }

     .ep-photo-thumbs img {
         height: 100px;
     }

     /* h2 - モバイル */
     h2,
     h2.wp-block-heading {
         font-size: 1.2rem !important;
         padding: 0.6rem 0.75rem !important;
         padding-top: 6rem !important;
     }

     /* Lightbox - モバイル */
     .ep-lightbox-prev {
         left: 8px;
     }

     .ep-lightbox-next {
         right: 8px;
     }

     .ep-lightbox-close {
         top: 8px;
         right: 8px;
     }
 }

 .ep-parking-info {
     margin: 0;
 }

 .ep-parking-info .ep-info-row {
     display: grid;
     grid-template-columns: 120px 1fr;
     gap: 8px 12px;
     margin: 0 0 8px;
 }

 @media (max-width: 640px) {
     .ep-parking-info .ep-info-row {
         grid-template-columns: 1fr;
     }
 }

 .ep-detail-parking .ep-summary-body p {
     margin: 0 0 8px;
     line-height: 1.6;
 }

 .ep-detail-parking .columns2 {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 8px 16px;
     margin: 6px 0 12px;
 }

 .ep-detail-parking .ep-parking-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 8px 16px;
     margin: 6px 0 12px;
 }

 .ep-detail-parking .ep-parking-grid .dlline {
     width: auto;
     display: block;
 }

 .ep-detail-parking .ep-parking-grid .dlline dt {
     float: none;
     display: inline-block;
 }

 .ep-detail-parking .ep-parking-grid .dlline dt.max5letters {
     width: 7rem;
 }

 .ep-detail-parking .ep-parking-grid .dlline dd {
     float: none;
     display: inline;
 }

 .ep-detail-parking .columns2 ul {
     margin: 0;
     padding: 0;
     list-style: none;
 }

 .ep-detail-parking .columns2 li {
     margin: 4px 0;
     line-height: 1.6;
 }

 .ep-detail-parking h4 {
     margin: 12px 0 6px;
     font-size: 14px;
 }

 /* Main Container Override */
 main.ep-building,
 main.ep-room {
     margin-block-start: 0 !important;
 }
