/**
* Theme Name: Blocksy Child
* Description: Blocksy Child theme
* Author: Creative Themes
* Template: blocksy
* Version: 1.0.1.5
* Text Domain: blocksy
*/

/* header */
@media (min-width: 1000px){
	.ct-header {
		position: sticky!important;
		top: 0;
	}	
}
@media (max-width: 999px) {
	.ct-header {
		position: fixed!important;
		width: 100%;
	}

	.site-main {
		padding-top: 88px;
	}	
}

/* font size */
@media (max-width: 1024px) {
	h1 { font-size: 32px !important;  }
	h2 { font-size: 28px !important;  }
	h3 { font-size: 22px !important;  }
	h4 { font-size: 20px !important;  }  
	h5 { font-size: 20px !important;  }
	h6 { font-size: 20px !important;  }
}

@media (min-width: 1000px){
	.cus-menu-location .sub-menu .menu-item.lo1 a:before { background:url(/wp-content/uploads/2025/10/location01.png); }  
	.cus-menu-location .sub-menu .menu-item.lo2 a:before { background:url(/wp-content/uploads/2025/10/location02.png); }
	.cus-menu-location .sub-menu .menu-item.lo3 a:before { background:url(/wp-content/uploads/2025/10/location031.png); }
	.cus-menu-location .sub-menu .menu-item.lo4 a:before { background:url(/wp-content/uploads/2025/12/location04.png); }
	.cus-menu-location .sub-menu .menu-item a:after { content:"Vee Dental Clinic 護齒牙科診所"; }
}

.category-childrens-dentistry 	.post-sec .elementor-icon-box-description:before { content: "兒童牙科｜";}
.category-general-dentistry		.post-sec .elementor-icon-box-description:before { content: "一般牙科｜";}
.category-oral-beauty 			.post-sec .elementor-icon-box-description:before { content: "牙齒美容｜";}
.category-dental-knowledge 		.post-sec .elementor-icon-box-description:before { content: "牙科知識｜";}
.category-dental-surgery 		.post-sec .elementor-icon-box-description:before { content: "牙科手術｜";}

#cus-blogs .category-childrens-dentistry	 .elementor-post__title:before { content: "兒童牙科";}
#cus-blogs .category-general-dentistry		 .elementor-post__title:before { content: "一般牙科";}
#cus-blogs .category-oral-beauty 		.elementor-post__title:before { content: "牙齒美容";}
#cus-blogs .category-dental-knowledge 	.elementor-post__title:before { content: "牙科知識";}
#cus-blogs .category-dental-surgery 	.elementor-post__title:before { content: "牙科手術";}



/* WP Go Map */
.wpgmza-infowindow .wpgmza_infowindow_title,
.wpgmza-infowindow .wpgmza_infowindow_address,
.wpgmza-infowindow .wpgmza_infowindow_description,
.wpgmza-infowindow .wpgmza_infowindow_link {
	color: #004665!important;
}

.wpgmza-infowindow .wpgmza_infowindow_title{ 
	margin: 0;
	font-size: 15px;
	line-height: 25px;
}

.wpgmza-infowindow .wpgmza_infowindow_address{
	font-size: 14px!important;
	margin-bottom: 0.5rem;
}

.wpgmza-infowindow .wpgmza_infowindow_description p {
	margin-bottom: 0.5rem;
}
.wpgmza-infowindow .wpgmza_infowindow_description img {
	/*   width: 100%; */
}
.wpgmza-infowindow .wpgmza_infowindow_link {
	font-size: 14px!important;
	margin-bottom: 0.5rem;
}

/* menu */
.cus-nav-menu,
.cus-nav-menu .cus-menu {
	position: static !important;
}

.cus-nav-menu .cus-menu > .elementor-nav-menu--dropdown {
	position: absolute;
	z-index: 1000;
	top: 100%;
	left: 0;
	margin: 0;
	width: 100%;
	height: calc(100vh - 75px - 46px);
}

.cus-menu .elementor-nav-menu--dropdown .has-submenu {
	display: flex;
	justify-content: space-between;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container
.elementor-sub-item {
	font-size: 1rem !important;
	padding: 10px 10px;
}

header.elementor-location-header [data-id="6fefc6b"] p {
	margin: 0;
}

header .elementor-element-6fefc6b p {
	margin: 0;
}

/* Common */
.cus-text ul,
.cus-text p {
	margin: 0;
}

.ct-container-full {
	padding: 0 !important;
}

.clear,
.clear h1,
.clear h2,
.clear h3,
.clear h4,
.clear h5,
.clear h6,
.clear p {
	margin: 0;
	padding: 0;
}

.travel-method ul,
.travel-method .elementor-icon-box-content p {
	padding-left: 1.5rem;
	margin: 0;
	font-size: 18px;
}

.cus-bl-point .elementor-icon-box-title > span > span {
	color: #004665;
}

[data-color-mode="dark"] .cus-bl-point .elementor-icon-box-title span {
	color: #ffffff;
	font-weight: 700;
}

[data-color-mode="dark"] .cus-for-dark .elementor-icon svg path,
[data-color-mode="dark"] .cus-bl-point .elementor-icon svg path {
	fill: #ffffff;
}

[data-color-mode="dark"] .cus-for-dark-stk .elementor-icon svg path {
	stroke :#ffffff;
}

/* blogs */

@media (min-width: 1024px) {
	#cus-blogs .elementor-posts .elementor-post:first-child {
		grid-column: 1 / 4;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 16px;
		margin-bottom: 80px;
	}

	#cus-blogs
	.elementor-posts
	.elementor-post:first-child
	.elementor-post__thumbnail__link {
		flex: 1 1 calc((100% - 16px) / 3 * 2);
		display: block;
		margin: 0;
		 /* max-height: 360px; */
   /* 關鍵修正開始 */
      max-height: none; /* 取消強制高度限制 */
      aspect-ratio: 16 / 9; /* 強制圖片區塊呈現 16:9 比例 (大部分部落格圖片的比例) */
      width: 100%;
    /* 關鍵修正結束 */
		border-radius: 30px;
		overflow: hidden;
		object-fit: cover;
	}

	#cus-blogs
	.elementor-posts
	.elementor-post:first-child
	.elementor-post__text {
		flex: 1 1 calc((100% - 16px) / 3);
		background: #eff8ff;
		border-radius: 30px;
		padding: 16px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	[data-color-mode="dark"] #cus-blogs .elementor-posts .elementor-post:first-child {
		color: #004665;
	}
}

@media (max-width: 1023px) {
	#cus-blogs .elementor-posts .elementor-post {
		background: #fff;
		border-radius: 30px;
		overflow: hidden;
	}

	#cus-blogs .elementor-posts .elementor-post .elementor-post__text{
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 16px;
	}
	#cus-blogs .elementor-posts .elementor-post .elementor-post__text{
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 16px;
	}
}

@media (max-width: 1023px) {
	#cus-blogs .elementor-posts .elementor-post {
		background: #fff;
		border-radius: 30px;
		overflow: hidden;
	}

	#cus-blogs .elementor-posts .elementor-post .elementor-post__text{
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 16px;
	}
}

#cus-blogs .elementor-posts .elementor-post:not(:first-child){
	background: #fff;
	border-radius: 30px;
	overflow: hidden;
}

#cus-blogs .elementor-posts .elementor-post:not(:first-child) .elementor-post__text{
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 16px;
}

#cus-blogs .elementor-post__text .elementor-post__title:before {
	display: block;
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 120%;
	/* color: #50BBDD; */
}

.single-post .elementor-icon-box-description{
	font-weight: 400;
	color: var(--theme-palette-color-1);
}

.single-post .elementor-icon-box-description:before {
	color: var(--theme-palette-color-1);
}

/* breadcrumb - light mode */
.lighe-mode.elementor-widget-shortcode a,
.lighe-mode.elementor-widget-shortcode span {
	color: #878d96 !important;
}

/* home page */
.cus-home-item {
	flex: 0 0 calc((100% - 48px) / 3) !important;
}

/* team page */
.cus-team-section {
	display: flex !important;
}

.cus-team-section .cus-item {
	flex: 0 1 calc((100% - (16px * 3)) / 4) !important;
}

/* single post  */
.cus-post-excerpt .elementor-post__excerpt {
	max-height: 48px;
	overflow: hidden;
}

.cus-post-btn .elementor-post__read-more {
	display: inline-flex;
	gap: 12px;
}

.cus-post-btn .elementor-post__read-more:after {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(/wp-content/uploads/2025/09/arrow-right.svg);
}

[data-color-mode="dark"] .cus-post-btn .elementor-post__read-more:after {
	background: url(/wp-content/uploads/2025/01/arrow-right-dark.svg);
}

.single-post .elementor-widget-theme-post-content h4,
.single-post .elementor-widget-theme-post-content h5,
.single-post .elementor-widget-theme-post-content p {
	margin-top: 0.6rem;
	margin-bottom: 0.6rem;
}

/* service page */
.flow-item-content h5,
.ser-item-title h5 {
	margin-bottom: 0;
}

.flow-item-content span,
.ser-item-content span {
	color: #004665;
}

[data-color-mode="dark"] .flow-item-content span,
[data-color-mode="dark"] .ser-item-content span {
	color: #fff;
	font-weight: 700;
}

.flow-item-content :where(ol, ul),
.flow-item-content .elementor-icon-box-content p,
.ser-item-content :where(ol, ul),
.ser-item-content .elementor-icon-box-content p {
	padding-left: 1.5rem;
	margin: 0;
	font-size: 18px;
}

.flow-item-content :where(ol, ul) li {
	margin-bottom: 1rem;
}

.flow-item-content :where(ol, ul) > li > ul > li {
	margin-top: 1rem;
}

/* footer */
.cus-footer-hd {
	padding-bottom: 1rem !important;
}

.cus-footer-text a {
	display: block;
	margin-bottom: 0.25rem;
}

/* footer -sub form */
.cus-form .wpcf7-form.init {
	display: flex;
	gap: 1rem;
}

.cus-form .wpcf7-form input {
	border-radius: 1000px;
}

.cus-form .wpcf7-form input::placeholder,
.cus-form .wpcf7-form input:not(.wpcf7-submit) {
	background: white;
	color: #697077;
	opacity: 1;
	border: none;
	padding: 0 8px;
}

.cus-form .wpcf7-form input.wpcf7-submit {
	background: #004665;
}

.cus-form .wpcf7-form .wpcf7-form-control-wrap[data-name="your-email"] {
	display: flex;
	align-items: center;
	background: white;
	border-radius: 1000px;
	padding-left: 12px;
}

.cus-form .wpcf7-form .wpcf7-form-control-wrap[data-name="your-email"]:before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background-image: url(/wp-content/uploads/2025/09/envelope.png);
}

/* contact form 7 */
/* .cus-cf7 {
background: white;
padding: 80px 40px;
box-shadow: 0px 4px 19.4px rgba(0, 0, 0, 0.1);
border-radius: 30px;
}

.cus-cf7 .wpcf7-form {
display: flex;
flex-wrap: wrap;
gap: 16px;
}

.cus-cf7 .wpcf7-form > div {
flex: 1 1 45%;
}

.cus-cf7 .wpcf7-form > div:nth-child(n + 8) {
flex: 1 1 100%;
}

.cus-cf7 .wpcf7-form > div > p {
margin: 0;
font-weight: bold;
}

.cus-cf7 .wpcf7-submit {
display: block;
width: 100%;
border-radius: 100rem;
background: #004665;
}

.wpcf7-spinner {
margin: 0;
position: absolute;
left: 50%;
transform: translate(-50%, 3rem);
} */

/* inside form  */
.cus-sub-form .elementor-form-fields-wrapper {
	flex-direction: row;
	flex-wrap: nowrap;
	margin: 0 !important;
}

.cus-sub-form .elementor-form-fields-wrapper .elementor-field-type-email {
	flex: 1 1 70%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	background: white;
	padding: 0 0 0 12px !important;
	border: 1px solid #69727d;
	border-radius: 9999px;
}

.cus-sub-form
.elementor-form-fields-wrapper
.elementor-field-type-email:before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background-image: url(/wp-content/uploads/2025/09/envelope.png);
}

.cus-sub-form .elementor-form-fields-wrapper .elementor-field-type-email input {
	border: none !important;
	box-shadow: none !important;
}

.cus-sub-form .elementor-form-fields-wrapper .e-form__buttons {
	flex: 0 0 6rem;
}

/* library */
@keyframes pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}
.elementor-posts-container.elementor-has-item-ratio
.elementor-post__thumbnail
img {
	border-radius: 30px;
	overflow: hidden;
	left: 0 !important;
	top: 0 !important;
	transform: unset !important;
}

.elementor-post:hover .elementor-post__thumbnail img {
	animation: pulse 0.6s 1;
}

/* setset */
.setset .elementor-icon-box-content {
	color: rgb(58, 79, 102);
}

.setset .elementor-icon-box-content span {
	color: #004665;
}

.grayscale{
	filter: grayscale(1);
}

/* menu item - location */
@media all and (min-width: 1000px){
	.ct-container {
		position: relative;
	}

	#menu-primary-menu .cus-menu-location {
		position: static;
	}

	.cus-menu-location .sub-menu{
		position: absolute;
		top: 100%;
		width: auto!important;
		display: flex;
		flex-wrap: wrap;
		gap: 3rem 1rem;
		justify-content: space-between;
		padding: 2rem;
		border-top: 0.2rem solid var(--theme-palette-color-1); /*#004665;*/
		overflow: hidden; 
	}

	.cus-menu-location .sub-menu .menu-item {
		flex: 1 1 calc((100% - 9rem) / 4);
		display: block;
		background: white;/*var(--theme-palette-color-8);*/
		padding: 0;
		border-radius: 30px;
		overflow: hidden;
		border: 1px solid #DDE1E6;
		box-shadow: 0 4px 20px #00000011;
	}

	.cus-menu-location .sub-menu .menu-item a {
		display: flex;
		flex-direction: column;
		justify-content: start;
		align-items: start;
		padding: 0 1rem 1rem;
		color: #004665;
	}

	.cus-menu-location .sub-menu .menu-item a:before {
		content:"";
		display:block;
		width: calc(100% + 20px + 20px);
		aspect-ratio: 8 / 5;
		background-size: contain!important;
		background-repeat:no-repeat!important;
		margin-bottom:1rem;
		margin-left: -20px;
		margin-right: -20px;
		order: -1;
	}

	.cus-menu-location .sub-menu .menu-item a:after {
		display:block;
		color:#004665;
		font-size:14px;
		line-height:1;
		order: -1;
		margin-bottom:0px;
	}
}

@media all and (min-width: 1000px) and (max-width: 1180px) {
	.cus-menu-location .sub-menu{
		width: 80%!important;
		left: 50%!important;
		transform: translateX(-50%)!important;
	}

	.cus-menu-location .sub-menu .menu-item {
		flex:  calc((100% - 3rem *2) / 2);
	}
}

.trans-icon {
	width: 100px;
	height: 42px;
	border: 1px solid var(--theme-palette-color-1);
	border-radius: 30px;
	padding: 20px;
	margin-top: 22px;
	margin-left: 6px;
}


.bc-space .fbc-page .fbc-wrap ol ,
.bc-space .fbc-page .fbc-wrap .fbc-items li {
	padding-left: 0!important;
}

/* service menu */
@media all and (min-width: 1000px){
	.cus-ser-menu[class*="animated-submenu"][data-submenu] {
		position: static;
	}

	.cus-ser-menu > .sub-menu {
		width: 92%;
		max-width: 700px;
		/*border-top: 1px solid #004665;*/
		border-top: 0.2rem solid var(--theme-palette-color-1); 
		padding: 2rem;
		display: flex;
		gap: 1.5rem;
		left: 15%!important;
	}

	.cus-ser-menu > .sub-menu > .menu-item {
		flex: 1 1 calc((100% - 3rem) / 3)!important;
		width: 100%;
		height: 100%;
		display: block; 
		margin: 0;
		padding: 0;
		border-top: none;
	}

	.cus-ser-menu > .sub-menu > .menu-item > a > span, 
	.cus-ser-menu > .sub-menu > .menu-item > button.ct-toggle-dropdown-desktop-ghost {
		display: none;
	}

	.cus-ser-menu > .sub-menu > .menu-item  a {
		padding: 0.25rem 0;
	}

	.cus-ser-menu > .sub-menu > .menu-item > a {
		border-bottom: 1px solid var(--theme-palette-color-1);
		font-size: 1.3rem;
		color: var(--theme-palette-color-1)!important;
		font-weight: 600;
	}

	[lang='en-GB'] .cus-ser-menu > .sub-menu > .menu-item > a { font-size: 1.1rem; }

	.cus-ser-menu > .sub-menu .sub-menu {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		position: static;
		visibility: visible;
		transform: none;
		opacity: 1;
		box-shadow: none;
	}

	.cus-ser-menu > .sub-menu .sub-menu > .menu-item {
		flex: 1 1 100%;
	}

	.cus-ser-menu > .sub-menu > .menu-item:first-child .sub-menu > .menu-item {
		flex: 1 1 50%;
	}

	[lang='en-GB'] .cus-ser-menu > .sub-menu > .menu-item:first-child .sub-menu > .menu-item { flex: 1 1 100%; }

	.cus-ser-menu > .sub-menu .sub-menu:hover {
		transform: none;
	}
}

