.home .header-hero { background: #313a40; color: #fff; text-align: center; padding: 5rem 0 4rem; }
.home .header-hero h1 { color: inherit; max-width: 850px; margin: 0 auto 1rem; }
.home .header-hero p { color: #e3e7e9; margin: 0 auto; }
.home .site-content { padding-top: 0; }
.eh-home-search { position: relative; margin-top: -3rem; margin-bottom: 4rem; }
.eh-home-search .hp-form--listing-search { background: #fff; }
.eh-home-title { text-align: center; margin-bottom: 2rem; }
.eh-home-title::before { content: ''; display: block; width: 32px; height: 3px; background: #ffc107; margin: 0 auto 1rem; }
.eh-home-all { text-align: center; margin-top: 2.5rem; }
.eh-listing-address { color: #777; line-height: 1.7; }
.eh-listing-address i { color: #15cd72; margin-right: .35rem; }
.eh-course-offers { padding: 1.75rem; background: #fff; border: 1px solid #eee; border-radius: 4px; }
.eh-course-offers ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.5rem; }
.eh-course-offers li { display: flex; gap: .65rem; align-items: baseline; color: #48505a; }
.eh-course-offers li i { color: #15cd72; }
.eh-service-condition { display: block; margin-top: .3rem; font-size: .75rem; line-height: 1.5; color: #777; }
.eh-sidebar-title { font-size: 1.15rem; margin-bottom: 1.25rem; }
.eh-location-map { margin: 2rem 0; }
.eh-location-map iframe { border: 1px solid #eee; width: 100%; height: 280px; display: block; border-radius: 4px; }
.eh-location-map > a { display: inline-block; font-size: .85rem; margin-top: .5rem; }
.hp-listing__action--claim.button { display: block; text-align: center; margin-bottom: 1rem; }
.hp-listing__action--claim.button i { margin-right: .45rem; }
.hp-listing--view-page .hp-page__sidebar { overflow-wrap: anywhere; }
.hp-listing--view-page .hp-listing__attribute--website a { font-size: .9rem; line-height: 1.6; }
.hp-listing--view-block .hp-listing__attribute--location { color: #777; font-size: .9rem; line-height: 1.6; }
.hp-listing--view-block .hp-listing__title { overflow-wrap: anywhere; }
.hp-listing--view-block { display: flex; flex-direction: column; height: 100%; }
.hp-listing--view-block .hp-listing__content { flex: 1; }
.hp-listing--view-block .hp-link i { margin-left: .35rem; }
.eh-add-location { margin-bottom: 2rem; }
.eh-school-header { margin-bottom: 2.5rem; }
.eh-school-header .hp-listing__title { max-width: 1000px; }
.hp-listing--view-page .hp-page__topbar { margin-bottom: 0; }
.eh-contact-card,.eh-school-profile { padding: 1.75rem; border: 1px solid #eee; border-radius: 5px; background: #fff; box-shadow: 0 3px 12px rgba(0,0,0,.04); }
.eh-contact-card h2,.eh-school-profile h2 { font-size: 1.3rem; margin-bottom: 1rem; }
.eh-contact-card > .button,.eh-contact-card button { width: 100%; text-align: center; }
.eh-contact-note { font-size: .85rem; line-height: 1.6; margin: 1rem 0 0; color: #777; }
.eh-school-form { display: grid; gap: 1rem; }
.eh-school-form label { display: grid; gap: .5rem; font-size: .9rem; }
.eh-school-form input,.eh-school-form textarea { width: 100%; border: 1px solid #ddd; border-radius: 4px; padding: .75rem; font: inherit; }
.eh-school-form textarea { resize: vertical; }
.eh-school-profile { text-align: center; margin-top: 2rem; }
.eh-school-avatar { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; margin: 0 auto 1.25rem; }
.eh-school-avatar--icon { display: flex; align-items: center; justify-content: center; color: #15a963; background: #eaf8f0; font-size: 2rem; }
.eh-profile-status { font-size: .85rem; color: #777; }
.eh-profile-status i { color: #15cd72; }
.eh-profile-stats { display: flex; justify-content: center; gap: 1.5rem; padding: 1.25rem 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; font-size: .85rem; }
.eh-profile-stats strong { display: block; font-size: 1.4rem; color: #424851; }
.eh-school-profile details { text-align: left; margin-top: 1.25rem; }
.eh-school-profile summary { cursor: pointer; }
.eh-school-profile li { font-size: .85rem; margin-top: .75rem; }
.eh-gallery-empty { display: flex; min-height: 260px; flex-direction: column; align-items: center; justify-content: center; background: #f5f6f7; color: #888; border-radius: 5px; margin-bottom: 2rem; }
.eh-gallery-empty > i { font-size: 2.5rem; color: #b4bcc1; margin-bottom: 1rem; }
.eh-gallery-empty p { margin: 0; }
.eh-school-placeholder { margin: 0 0 2rem; background: #f5f6f7; border-radius: 5px; overflow: hidden; }
.eh-school-placeholder img { display: block; width: 100%; height: clamp(220px,45vw,520px); object-fit: contain; }
.eh-school-placeholder figcaption { padding: .85rem 1rem; font-size: .85rem; line-height: 1.5; color: #69717a; text-align: center; }
.eh-school-placeholder--card { margin-bottom: 0; border-radius: 4px 4px 0 0; }
.eh-school-placeholder--card img { height: 210px; }
.eh-school-placeholder--card figcaption { font-size: .75rem; }
.eh-school-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 3rem; }
.eh-school-tags a { padding: .4rem .75rem; border-radius: 3px; background: #f0f1f3; color: #69717a; font-size: .75rem; text-transform: uppercase; }
.eh-school-tags a:hover { background: #eaf8f0; color: #16814e; }
.eh-location-map iframe { height: 360px; }
.eh-distance { color: #15a963; font-size: .85rem; margin-bottom: .75rem; }
.eh-nearby .hp-listing--view-block { height: auto; }
.eh-chat-message { border: 1px solid #eee; border-radius: 4px; padding: 1.25rem; margin: 1rem 0; overflow-wrap: anywhere; }
.eh-chat-message p { margin: .5rem 0 0; }
.eh-notice { padding: 1rem; border-left: 3px solid #15cd72; background: #f2faf5; }
#location,#reviews { scroll-margin-top: 1.5rem; }
@media (max-width: 767px) {
	.header-navbar { flex-wrap: wrap; gap: .75rem; }
	.header-navbar__start { width: 100%; margin-right: 0; }
	.header-navbar__end { width: 100%; justify-content: space-between; }
	.header-navbar__actions .hp-menu__item--listing-submit span { display: inline; }
	.header-navbar__actions .hp-menu__item--listing-submit i { margin-right: .4rem; }
	.header-logo__name { font-size: 1.1rem; }
	.header-logo__description { font-size: .75rem; }
	.hp-listing--view-page .hp-listing__title,.eh-school-header .hp-listing__title { font-size: 1.65rem; line-height: 1.4; }
	.home .header-hero { padding: 3rem 0 4rem; }
	.home .header-hero h1 { font-size: 1.85rem; }
	.eh-home-search { margin-top: -2rem; margin-bottom: 2.5rem; }
	.eh-course-offers { padding: 1.25rem; }
	.eh-course-offers ul { grid-template-columns: 1fr; }
	.eh-gallery-empty { min-height: 180px; }
	.eh-contact-card,.eh-school-profile { padding: 1.25rem; }
	.eh-location-map iframe { height: 280px; }
	.header-navbar .hp-menu__item--listing-submit { font-size: .8rem; padding: .75rem; }
}
