
/* Match https://mulanbistro.net/mulanbubbletea.html */
.dacy-btn {
    text-transform: uppercase;
    line-height: 1;
    display: inline-block;
    padding: 0.3em 1em;
	margin-top: 0.2em;
	margin-bottom: 0.2em;
	font-size: 1.6em;
    color: #000;
    background-color: #f4bb1d;
    -webkit-transition: all .2s ease;
	transition: all .2s ease;
	border-radius: 30px;
}
.dacy-btn:hover { background: #000; color: #f4bb1d; }

.top_tel a {
	/* White on near-black — required over bright hero photos for WCAG; thin pad ≈ original look */
	color: #fff !important;
	background-color: #1a0a0a !important;
	text-decoration: none;
	display: inline-block;
	padding: 0.12em 0.35em;
	border-radius: 2px;
	line-height: 1.35;
	text-shadow: 0 2px 6px #000;
}
.top_tel a:hover,
.top_tel a:focus {
	color: #fff !important;
	background-color: #000 !important;
	outline: 3px solid #f4bb1d;
	outline-offset: 3px;
}

/* Nav: restore original black text on light header (no dark pills) */
.header-main {
	background-color: #f7f2e8 !important; /* solid light fallback under bg.jpg for contrast */
}
.header-main .navbar-nav > li > a.nav-link-main,
.header-main .navbar-nav > li > a {
	font-size: 1.4em;
	color: #000 !important;
	background-color: transparent !important;
	text-shadow: none !important;
	padding: 5px 10px;
	border-radius: 0;
}
.header-main .navbar-nav > li > a.nav-link-main:hover,
.header-main .navbar-nav > li > a.nav-link-main:focus,
.header-main .navbar-nav > li > a:hover,
.header-main .navbar-nav > li > a:focus {
	color: #000 !important;
	background-color: transparent !important;
}

/* Logo link only as wide as the image — don't cover hamburger area */
.navbar-header {
	position: relative;
}
.navbar-header h1.site-logo-wrap,
.navbar-header h1 {
	display: inline-block;
	width: auto;
	max-width: calc(100% - 56px);
	margin: 0;
	float: left;
}
.navbar-header .site-logo-link {
	display: inline-block;
	width: auto;
	max-width: 100%;
	line-height: 0;
}
.navbar-header .site-logo-link img {
	max-width: 100%;
	height: auto;
}
.header-main .navbar-toggle {
	position: absolute !important;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1002 !important;
	width: 44px;
	height: 44px;
	padding: 9px 10px;
	margin: 0;
	background: #f4bb1d;
	border: 1px solid #000;
}
.header-main .navbar-toggle .icon-bar {
	background-color: #000;
	width: 22px;
}
.hero-pickup {
	cursor: default;
	text-decoration: none;
	pointer-events: none;
}
.hero-pickup .top_tel {
	color: #fff !important;
	background: transparent !important;
	text-shadow: none !important;
	display: inline-block;
	line-height: 1.35;
}
.hero-pickup .top_tel strong {
	color: #fff !important;
	background-color: #1a0a0a !important;
	display: inline-block;
	padding: 0.12em 0.35em;
	border-radius: 2px;
	font-weight: 700;
	line-height: 1.35;
	text-shadow: 0 2px 6px #000;
}

/* Don't let main-style.css break the banner (no <header> wrapper needed) */
#demo-1 {
	display: block;
	width: 100%;
	position: relative;
	overflow: visible;
}

/* Mobile menu: full width, centered — fix absolute offset from style.css */
@media (max-width: 767px) {
	.header-main {
		overflow: visible !important;
	}
	.header-main .container {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		position: relative;
	}
	.header-main .navbar {
		position: relative;
		margin-bottom: 0;
		width: 100%;
	}
	.header-main .navbar-header {
		float: none;
		width: 100%;
		position: relative;
	}
	.header-main .navbar-toggle {
		display: block;
		background: #f4bb1d;
		border-color: #000;
		float: right;
		margin: 8px 0;
		position: absolute !important;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		z-index: 1001;
	}
	.header-main .navbar-toggle .icon-bar {
		background-color: #000;
	}
	/* Override style.css absolute menu that lacked left:0 (caused left shift) */
	.header-main div#bs-example-navbar-collapse-1,
	.header-main .navbar-collapse,
	div#bs-example-navbar-collapse-1 {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: 100% !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		z-index: 1000 !important;
		background: #fff !important;
		border: 0 !important;
		border-bottom: 2px solid #000 !important;
		-webkit-box-shadow: 0 6px 16px rgba(0,0,0,0.15);
		box-shadow: 0 6px 16px rgba(0,0,0,0.15);
		text-align: center;
	}
	.header-main ul.nav.navbar-nav,
	.header-main ul.nav.navbar-nav.navbar-right {
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}
	.header-main .navbar-nav > li {
		float: none !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		text-align: center !important;
	}
	.header-main .navbar-nav > li > a {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		padding: 14px 16px !important;
		font-size: 1.15em !important;
		color: #000 !important;
		background-color: #fff !important;
		text-shadow: none !important;
		border-bottom: 1px solid #eee;
		float: none !important;
	}
	.header-main .navbar-nav > li > a:hover,
	.header-main .navbar-nav > li > a:focus {
		color: #000 !important;
		background-color: #f4bb1d !important;
	}
	.header-main .navbar-nav > li:last-child > a {
		border-bottom: 0;
	}
	.header-main .navbar-nav > li > a.hvr-outline-in:before {
		display: none !important;
	}
	.w3-banner-head-info {
		height: auto !important;
		min-height: 420px;
	}
	.banner-text {
		margin-top: 80px !important;
	}
	.top_tel {
		padding-top: 100px !important;
		font-size: 130% !important;
	}
	#about,
	#properties,
	#Direction,
	#services {
		scroll-margin-top: 90px;
	}
}

#about,
#properties,
#Direction,
#services {
	scroll-margin-top: 100px;
}

#main-content {
	display: block;
	width: 100%;
	clear: both;
	position: relative;
	z-index: 1;
	background: transparent;
	overflow: hidden;
}
#main-content .about,
#main-content .portfolio-agileinfo {
	background: #fff;
}

/* Gallery: contain floats, keep lightbox usable */
section.portfolio-agileinfo {
	display: block;
	width: 100%;
	clear: both;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
section.portfolio-agileinfo .gallery-grids,
section.portfolio-agileinfo .tab_img,
section.portfolio-agileinfo .tab-content,
section.portfolio-agileinfo .tab-pane {
	overflow: hidden;
	width: 100%;
}
section.portfolio-agileinfo::after,
.gallery-grids::after,
.tab_img::after {
	content: "";
	display: table;
	clear: both;
}
section.portfolio-agileinfo .b-wrapper {
	pointer-events: none;
	background: transparent;
}
section.portfolio-agileinfo .portfolio-grids a:hover .b-wrapper,
section.portfolio-agileinfo .portfolio-grids a:focus .b-wrapper {
	background: rgba(0, 0, 0, 0.35);
	bottom: 0;
}
section.portfolio-agileinfo .portfolio-grids a {
	cursor: zoom-in;
}

.services {
	clear: both;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

/* Location: seigaiha wave background like original */
#Direction.Direction,
section.Direction {
	clear: both;
	position: relative;
	z-index: 2;
	background-color: #fff8e6;
	background-image: url(seigaiha.png);
	background-repeat: repeat;
	background-position: center top;
	overflow: hidden;
	margin-bottom: 0 !important;
	padding-top: 60px;
	padding-bottom: 40px;
}
.Direction .map-embed {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 450px;
	border: 0;
	background: #e8e8e8;
	position: relative;
	z-index: 2;
}

/* Footer — New Century style: columns + bottom bar */
.footer {
	clear: both;
	position: relative;
	z-index: 3;
	background: #1a0a0a !important;
	padding: 0 !important;
	text-align: left;
	color: #f5d0d0;
}
.footer-inner {
	padding-top: 2.5em;
	padding-bottom: 0;
}
.footer-grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 1.5em;
	padding-bottom: 1.25em;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.footer-col {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 200px;
	flex: 1 1 200px;
	min-width: 180px;
	max-height: none;
}
.footer-brand-name {
	margin: 0 0 0.6em;
	font-size: 1.35em;
	font-weight: 700;
	color: #f4bb1d;
	line-height: 1.3;
}
.footer-brand-desc {
	margin: 0;
	font-size: 0.95em;
	line-height: 1.55;
	color: #f0cfcf;
}
.footer-heading {
	margin: 0 0 0.75em;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #f4bb1d;
}
.footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-links li {
	margin: 0 0 0.45em;
}
.footer-links a {
	color: #f0cfcf;
	text-decoration: none;
	font-size: 0.95em;
}
.footer-links a:hover,
.footer-links a:focus {
	color: #fff;
	text-decoration: underline;
}
.footer-order {
	color: #f4bb1d !important;
	font-weight: 700;
}
.footer-address {
	margin: 0 0 0.75em;
	font-size: 0.95em;
	line-height: 1.5;
	color: #f0cfcf;
}
.footer-phone {
	margin: 0 0 0.35em;
}
.footer-phone a {
	color: #f4bb1d;
	font-weight: 700;
	font-size: 1.05em;
	text-decoration: none;
}
.footer-phone a:hover,
.footer-phone a:focus {
	color: #fff;
	text-decoration: underline;
}
.footer-a11y-btn {
	display: inline-block;
	margin-top: 0.85em;
	padding: 0.4em 0.9em;
	border: 1px solid #c41e1e;
	border-radius: 999px;
	background: rgba(80, 10, 10, 0.85);
	color: #ffe4e4 !important;
	font-size: 0.9em;
	font-weight: 600;
	text-decoration: none !important;
}
.footer-a11y-btn:hover,
.footer-a11y-btn:focus {
	background: #c41e1e;
	color: #fff !important;
}

/* Bottom bar — left copyright / right address (like reference) */
.footer-bottom {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.75em 1.5em;
	padding: 1em 0 1.25em;
}
.footer-bottom-left,
.footer-bottom-right {
	margin: 0;
	font-size: 0.8em;
	line-height: 1.45;
	color: #c99a9a;
	text-transform: none;
	letter-spacing: 0;
}
.footer-bottom-left {
	text-align: left;
}
.footer-bottom-right {
	text-align: right;
}

@media (max-width: 991px) {
	.footer {
		padding: 0 !important;
	}
	.footer-inner {
		padding-top: 1em !important;
		padding-bottom: 0 !important;
	}
	.footer-grid {
		display: block !important;
		gap: 0 !important;
		padding-bottom: 0.65em !important;
		text-align: center;
	}
	.footer-col {
		-webkit-box-flex: 0 !important;
		-ms-flex: none !important;
		flex: none !important;
		min-width: 0 !important;
		width: 100% !important;
		margin: 0 0 0.7em !important;
		height: auto !important;
	}
	.footer-col:last-child {
		margin-bottom: 0.2em !important;
	}
	.footer-brand-name {
		font-size: 1.1em !important;
		margin: 0 0 0.25em !important;
	}
	.footer-brand-desc {
		font-size: 0.88em !important;
		line-height: 1.35 !important;
		margin: 0 !important;
	}
	.footer-heading {
		margin: 0 0 0.25em !important;
	}
	.footer-links ul {
		margin: 0 !important;
		padding: 0 !important;
	}
	.footer-links li {
		margin: 0 0 0.12em !important;
	}
	.footer-address,
	.footer-phone {
		margin: 0 0 0.2em !important;
	}
	.footer-a11y-btn {
		margin-top: 0.35em !important;
	}
	.footer-bottom {
		display: block !important;
		padding: 0.55em 0 0.7em !important;
		text-align: center !important;
	}
	.footer-bottom-left,
	.footer-bottom-right {
		display: block;
		text-align: center !important;
		font-size: 0.72em !important;
		margin: 0.1em 0 !important;
	}
	#toTop {
		bottom: 12px !important;
		right: 12px !important;
	}
	section.Direction,
	#Direction.Direction {
		padding-top: 36px;
		padding-bottom: 20px;
	}
}

/* Lightbox: large preview + even white frame on all sides */
#lightninBox-screen { z-index: 10050 !important; }
#lightninBox {
	z-index: 10060 !important;
	max-width: 96vw !important;
	max-height: 94vh !important;
	width: auto !important;
	padding: 16px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	background: #fff !important;
}
#lightninBox-loader { z-index: 10070 !important; }
#lightninBox img,
#lightninBox video {
	display: block !important;
	max-width: none;
	max-height: none;
	object-fit: contain !important;
	vertical-align: top;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	padding: 0.75em 1.25em;
	background: #000;
	color: #fff;
	font-size: 1em;
	text-decoration: underline;
}
.skip-link:focus {
	left: 0.5em;
	top: 0.5em;
}

a:focus,
button:focus,
.navbar-toggle:focus,
.dacy-btn:focus {
	outline: 3px solid #f4bb1d;
	outline-offset: 3px;
}

.about-copy {
	font-size: 128%;
	line-height: 32px;
	color: #555;
	text-align: left;
	padding-top: 30px;
}
.about #about-heading,
.about h1 {
	font-size: 40px;
	margin: 0.5em 0 40px;
	text-transform: uppercase;
	color: #000;
	text-align: center;
}
.heading h2 {
	font-size: 45px;
	text-align: center;
	text-transform: uppercase;
	color: #000;
}
.grid1 h2 {
	font-size: 20px;
	text-transform: uppercase;
	margin: 25px 0 20px;
	color: #212121;
}

.Direction iframe {
	max-width: 100%;
	border: 0;
}

@media screen and (max-width: 480px) {
	.top_tel {
		padding-top: 60px !important;
		font-size: 115% !important;
	}
	.dacy-btn {
		font-size: 1.2em;
	}
	.Direction .map-embed,
	.Direction iframe {
		height: 300px;
	}
}
