
/************ Main **************/
@media (max-width: 990px){
	.container{ width:94%; margin:0 auto; padding:0;}
	.gallery{ padding:0 30px;}
	.header-utility .container {width: 100%;max-width: none;padding: 5px 25px;}
	.header-main__inner{ position:relative; flex-wrap:wrap;}
	.brand{ flex:1 1 auto;}
	.brand__logo{ max-height:44px;}
	.brand__name{ max-width:min(52vw, 420px); font-size:16px; white-space:nowrap;}
	.brand__text strong{ font-size:17px;}
	.location-switcher{ flex:0 1 210px; margin-left:0;}

	.header-utility__inner{ flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:10px 25px;}
	.utility-phone{ flex:0 0 auto;}
	.utility-actions{ width:auto; max-width:none; margin-left:auto; justify-content:flex-end; flex-wrap:nowrap; gap:8px; flex:0 1 auto;}
	.site-header .header-utility .global_btn{ padding:6px 12px; font-size:11px; white-space:nowrap;}
	.header-utility .location-switcher{ flex:0 1 220px; width:220px; max-width:220px; min-width:190px; margin-left:4px;}

	.nav-toggle{ display:flex;}

	/* Floating dropdown, not a full-width bar that pushes the page content down */
	.main-nav{ position:absolute; top:calc(100% + 10px); right:0; z-index:40; order:3; flex-direction:column; align-items:stretch; gap:4px; width:max-content; max-width:250px; width:100%; margin:0; padding:10px; border:1px solid rgba(16,24,40,.08); border-radius:16px; background:rgba(255,255,255,.98); box-shadow:0 18px 38px rgba(16,24,40,.14), 0 2px 8px rgba(16,24,40,.06);}
	.main-nav.collapse:not(.in){ display:none;}
	.main-nav__links{ flex-direction:column; align-items:stretch; gap:2px; width:100%;}
	.main-nav__links a{ display:block; width:100%; padding:10px 12px; border-radius:12px; font-size:14.5px;}
	.main-nav__links a:hover, .main-nav__links a.active{ background:var(--primary-soft); color:var(--primary-dark);}
	.main-nav__links a.active:after{ display:none;}
	.btn-book-now{ display:block; width:100%; text-align:center; margin-top:6px !important;}

	#desc_section, #review_section{ width:100%; float:none;}
	#review_section{ margin-top:28px;}
	.review_info{ width:100%; max-width:none; margin:0 0 28px 0;}
	.review_info .total{ align-items:center; justify-content:center; gap:18px; padding:18px 22px;}
	.review_info .total span{ width:auto; margin-right:0; text-align:left; flex:0 0 auto;}
	.review_info .detail{ width:auto; float:none; flex:0 1 auto; text-align:left;}
	.review_info .detail ul.star_icon{ white-space:nowrap;}
	.worktime .col-sm-9, .worktime .col-sm-3{ width:100%; float:none;}
	.worktime .col-sm-3{ margin-top:14px;}
	.worktime [class*="col-xs-"]{ width:100%; float:none;}
	.worktime #working_hours_reviews > div, .worktime #working_hours_noreviews > div{ margin-bottom:6px;}
	ul.none_rate li{ font-size:20px;}
	.jq-star{ width:26px !important; height:26px !important;}
}

@media (max-width: 767px){
	html{ -webkit-text-size-adjust:none;}
	.container{ width:92%; margin:0 auto; padding:0;}

	.header-utility .global_btn{ padding:6px 10px; font-size:11px;}
	.utility-phone{ font-size:12.5px;}
	.utility-menu{ display:block;}
	.utility-menu__panel{ width:230px;}

	.copy_right, .copy_logo{ text-align:center; justify-content:center; width:100%;}
	.site-footer__inner{ flex-direction:column; text-align:center;}
	.worktime .global_btn{ margin-top:15px; display:inline-block;}
	.full_block .btn_info{ margin-top:-40px;}

	/* Bootstrap's col-xs-* is always ~50%/33% wide -- it never stacks on its own,
	   which crushed the working-hours columns into overlapping text on phones. */
	.worktime [class*="col-xs-"]{ width:100%; float:none;}
	.worktime #working_hours_reviews > div, .worktime #working_hours_noreviews > div{ margin-bottom:6px;}
	.worktime .col-sm-3{ margin-top:14px;}

	/* The social-share switch is float:right + a negative margin-top to sit beside
	   its label on a wide desktop row; once the column stacks to full width on
	   phones that overlaps the label text instead, so drop it to its own line. */
	.form_info .switch{ float:none; margin-top:12px; display:block;}
}

/************ iphone **************/
@media (max-width:600px){
	html{ -webkit-text-size-adjust:none;}
	.container{ width:91%;}
	.site-header{ position:relative;}
	.header-utility{ position:relative; overflow:visible; z-index:5;}
	.header-utility .container{ width:91%; max-width:none; margin:0 auto; padding:0;}
	.header-utility .header-utility__inner{ display:block; position:relative; min-height:44px; padding:5px 0;}
	.utility-phone{ display:none;}
	.utility-actions{ position:relative; display:flex; width:100%; max-width:100%; margin:0; gap:6px; flex-wrap:nowrap; justify-content:flex-end;}
	.utility-actions > .global_btn{ display:none;}
	.utility-menu{ display:block;}
	.header-main .utility-menu--sticky{ display:none;}
	.site-header.is-main-fixed .header-main .utility-menu--sticky{ display:block;}
	.utility-menu__utility{ display:flex;}
	.utility-menu__primary + .utility-menu__utility{ margin-top:6px; padding-top:12px; border-top:1px solid var(--border);}
	.utility-actions:has(.location-switcher){ align-items:center; gap:8px;}
	.utility-actions:has(.location-switcher) .location-switcher{ flex:1 1 auto;}
	.header-main{ padding:12px 0;}
	.header-main__inner{ align-items:flex-start; gap:10px; position:relative;}
	.header-main__inner .brand{ margin-left:0; margin-right:0;}
	.options-header__inner, .reviews-header__inner{ justify-content:flex-start !important;}
	.header-main__inner .brand, .options-header__title, .reviews-header__inner .brand{ align-items:flex-start !important;}
	.brand{ order:1; flex:1 1 100%; max-width:calc(100% - 58px); min-width:0; flex-direction:column; align-items:flex-start; gap:6px; padding-right:8px;}
	.brand__logo{ max-height:34px; max-width:170px;}
	.brand__name{ max-width:100%; font-size:13.5px; line-height:1.18; white-space:normal; overflow:visible; text-overflow:clip;}
	.brand__text{ max-width:100%; line-height:1.15; padding-top:0;}
	.brand__text strong{ font-size:13.5px; line-height:1.2; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;}
	.brand__text small{ font-size:10.5px; line-height:1.15;}
	.location-switcher{ order:2; flex:1 1 100%; width:100%; max-width:calc(100% - 58px); min-width:0; margin:0;}
	.location-dropdown__button{ height:34px; padding:0 12px; font-size:11.5px;}
	.location-dropdown__menu{ border-radius:14px;}
	.location-dropdown__list{ max-height:260px;}
	.location-dropdown__option{ padding:8px 10px; font-size:11.5px;}
	.location-select-overlay{ align-items:flex-start; padding:24px 14px; overflow-y:auto;}
	.location-select-dialog{ padding:24px 20px; border-radius:18px;}
	.location-select-dialog h2{ font-size:22px;}
	.location-select-dialog p{ font-size:13.5px;}
	.nav-toggle{ position:absolute; top:0; right:0; order:2; flex:0 0 42px; width:42px; height:42px; margin:0;}
	.about_sec{ padding-top:0;}
	.description.section_card, .worktime, .section_card{ margin-bottom:28px;}
	.header-utility .location-switcher{ order:0; flex:1 1 auto; width:auto; max-width:none; min-width:0; margin:0;}
	.header-utility .location-dropdown__button{ height:34px; padding:0 10px; font-size:11.5px;}
	.gallery{ padding:0 20px;}
	.gallery .owl-controls .owl-nav div.owl-prev{ left:-6px;}
	.gallery .owl-controls .owl-nav div.owl-next{ right:-6px;}
	.service_sec .panel-title{ font-size:15px;}
	.full_block .btn_info{ margin-top:0;}
	.full_block .global_btn{ display:block; text-align:center; margin-bottom:5px;}
	.login_box{ padding:30px 20px;}
	a.blue{ float:left; margin-top:5px;}
}

@media (max-width:500px){
	.header-utility .location-dropdown__button{ height:32px; padding:0 10px; font-size:11px;}
	.utility-menu__button{ width:32px; height:32px;}
}

@media (max-width:450px){
	.options-header__inner, .reviews-header__inner{ justify-content:center !important;}
	.header-main__inner .brand, .options-header__title, .reviews-header__inner .brand{ align-items:center !important; text-align:center;}
	.brand{ max-width:100%; padding-right:0;}
	.options_sec {
		padding: 24px 0 72px !important;
	}
}
