/* 
Theme Name: Thai Go Theme
Theme URI: https://risesdigital.com/
Description: Thai Go Theme is a child theme of Hello Elementor, created by Rise Digital team
Author: Rise Digital team
Author URI: https://risesdigital.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: svm
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
html[lang="th"] h1,
html[lang="th"] h2,
html[lang="th"] h3,
html[lang="th"] h4,
html[lang="th"] h5,
html[lang="th"] h6,
html[lang="th"] p,
html[lang="th"] span,
html[lang="th"] button,
html[lang="th"] label,
html[lang="th"] a,
html[lang="th"] div{
 	font-family: "Prompt", sans-serif !important;
}
h1, h2, h3, h4, h5, h6{
    margin-block-end: 0;
    margin-block-start: 0;
}
hr {
  border: 0;
  height: 1px;
  background-color: #E7E7E7; /* Subtle gray */
  margin: 24px 0;
}
b, strong{
	font-weight: 600 !important;
}
a:focus-visible{
	outline: none !important;
}
.elementor-sticky--effects {
    /*background-color: rgba(27, 32, 36, 0.7);*/
    transition: all 0.5s ease;
	 -webkit-backdrop-filter: blur(10px);
	 backdrop-filter: blur(10px);
	background-color: rgba(255,255,255, 0.8);
}
.elementor-sticky--effects .menu-item a{
	color: #1F2E61 !important;
}
button:hover,
button:focus{
	background-color: transparent;
}
.plus-size svg{
	width: 1.5em !important;
}
.input-icon-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.input-icon-wrapper input {
	width: 100%;
	padding: 15px 40px 15px 16px;
	border-radius: var(--Spacing-md, 40px);
	border: 1px solid var(--Dove-Gray-200, #D1D1D1);
	outline: none;
}

.input-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none; /* So clicking the icon focuses input */
  display: flex;
  align-items: center;
}
#poi-autocomplete-app .input-icon {
	/*right: 75px;*/
}
.chip-list{
	margin-top: 7px;
	position: relative;
	background-color: rgb(255, 255, 255);
	z-index: 9;
    padding: 24px;
    border-radius: 16px;
    border: solid 1px #D1D1D1;
    max-height: 500px;
    overflow-y: auto;
    box-shadow: 0px 1px 10px -5px rgba(0, 0, 0, 1.0);
    width: 100%;
    left: 0;
}

.ui-autocomplete.chip-autocomplete {
    border: none !important;
    background: none;
    box-shadow: none;
    padding: 0;
    z-index: 10000;
}

.ui-autocomplete.chip-autocomplete li {
    display: inline-block;
    margin: 7px 8px 7px 0;
    background: none;
    border: none;
    padding: 0;
}

.poi-chip {
    display: flex;
    align-items: center;
    border: 1px solid #bbb;
    background: #fff;
    border-radius: 23px;
    padding: 9px 18px;
    font-size: 15px;
    color: #1a2440;
    cursor: pointer;
    box-shadow: none;
    transition: background .2s;
    gap: 8px;
}

.poi-chip:hover {
/*    background: #203a7a;
    color: #fff;
    border-color: #203a7a;*/
}

#filter-results{
	margin-top: 40px;
}

.bus-line-tabs,
.boat-line-tabs{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}
.bus-line-tabs .bus-tab,
.boat-line-tabs .boat-tab{
	padding: var(--Spacing-3xs, 8px) var(--Scale-07, 24px);
	color: var(--text-body, #5D5D5D);

	/* body/md */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-md, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-md, 24px); /* 150% */
	border-radius: 40px;
	border: 1px solid var(--primary-900, #D1D1D1);
}
.bus-line-tabs .bus-tab.active{
	border: 1px solid var(--primary-900, #233C85);
}
.boat-line-tabs .boat-tab.active{
	border: 1px solid var(--primary-900, #744B0F);
}
.bus-tab-content{
	
}
.tab-content-inside {
	display: flex;
	border-radius: 16px;
	background: var(--Dove-Gray-50, #F6F6F6);
	filter: blur(0px);
	padding: 40px;
	gap: 40px;
}
.tab-content-inside .tab-content-inside-box{
	width: 45%;
}
.tab-content-inside ul{
	max-height: 560px;
	overflow-y: auto;
    padding-left: 50px;
}
.line-title{
	display: flex;
	height: 48px;
	padding: 0 4px 0 24px;
	justify-content: space-between;
	align-items: center;
	border-radius: 40px;
	background: var(--primary-900, #233C85);
	color: #FFF;
}
.line-title:hover{
	background: var(--primary-900, #233c85e0);
	color: #FFF;
}
.boat-line-tab-content .line-title{
	background: #744B0F;
}
.bus-route-list,
.boat-route-list{
  list-style: none;
  margin: 16px 0 0 0;
  position: relative;
}

.bus-route-list li,
.boat-route-list li {
    position: relative;
}

.bus-route-list li::before,
.boat-route-list li::before{
    content: '';
    position: absolute;
    left: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: #fff;
    border: 3px solid #233886;
    border-radius: 50%;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
}
.boat-route-list li::before{
	border: 3px solid #895B0A;
}
.bus-route-list li:not(:last-child)::after,
.boat-route-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    left: -24px;
    top: 18px;
    width: 2px;
    height: 100%;
    background: #bbb;
    z-index: 1;
}

.poi-cat-tab, .poi-boat-cat-tab{
	padding: 12px 25px;
    display: flex;
    font-size: 16px;
    cursor: pointer;
    color: #B0B0B0;
    border-bottom: 1px solid #D1D1D1;
}
.poi-cat-tab.active
{
	border-bottom: 2px solid #2652CF;
	color: #3D3D3D;
}
.poi-boat-cat-tab.active{
	border-bottom: 2px solid #895B0A;
	color: #3D3D3D;
}
.poi-dot{

}
.poi-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #233C85;
    display: inline-block;
    margin-right: 6px;
    background: #fff;
}
.poi-chip, .poi-boat-chip {
    display: inline-block; 
    background: #FFF; 
    color: #5D5D5D;
    padding: 4px 14px; 
    border-radius: 16px; 
    margin: 0 6px 8px 0;
    font-size: 15px; 
    border: 1px solid #e6e6e6;
	/* body/md-title */
	font-size: var(--fontsize-body-md, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-md, 24px); /* 150% */
	cursor: pointer;
}
.poi-boat-chip .poi-dot{
	border: 2px solid #895B0A;
}
.bus-line-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 24px;
    margin-top: 16px;
}
.bus-line-chip {
    display: inline-block;
    border: 1px solid #d3d3d3;
    border-radius: 24px;
    padding: 10px 34px;
    font-size: 20px;
    color: #222;
    background: #fff;
    margin-bottom: 12px;
    cursor: pointer;
    transition: box-shadow .18s;
    text-decoration: none;
    text-align: center;
}
.bus-line-chip:hover {
    box-shadow: 0 0 0 2px #0a3161;
    color: #0a3161;
    text-decoration: none;
}
.boat .bus-line-chip:hover {
    box-shadow: 0 0 0 2px #744B0F;
    color: #0a3161;
    text-decoration: none;
}
.bus-line-header {
    font-size: 2em;
    font-weight: 500;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.bus-line-header .bus-icon {
    font-size: 1em;
    display: inline-block;
    vertical-align: middle;
}
.bus-single-container { 
	max-width: 100%; 
	margin: 0 auto;
	padding: 150px 20px;
	background-color: transparent;
    background-image: linear-gradient(180deg, #ACCBE2 0%, var(--e-global-color-414b842) 20%);
}
.bus-single-container .container{
	max-width: 1200px;
	margin: 0 auto;
}
.bus-header { 
	text-align: center; 
	margin-top: 32px; 
}
.bus-header .single-title{
	color: var(--text-headings, #1F2E61);
	text-align: center;

	/* heading/h1 */
	font-family: var(--type-font-family-en2, Cardo);
	font-size: var(--Spacing-xl, 56px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-heading-h1, 64px); /* 114.286% */
	letter-spacing: -1.12px;
}
.bus-header .time{
	display: flex;
	align-items: center;
    justify-content: center;
    margin-top: 14px;
}
.bus-map-embed{
	margin-top: 100px;
	padding: 12px;
	background-color: #E7E7E7;
	border-radius: 18px;
}
.bus-map-embed iframe { 
	border-radius: 12px; 
}
.bus-stop-timeline { 
	list-style: none; 
	padding: 0; 
	margin: 32px 0; 
}
.timeline-stop { 
	display: flex; 
	align-items: flex-start; 
	margin-bottom: 32px; 
	position: relative; 
}
.timeline-dot {
    width: 18px; 
    height: 18px; 
    background: #2c4381; 
    border-radius: 50%;
    margin-right: 16px; 
    margin-top: 8px; 
    position: relative;
    z-index: 1;
}
.boat-stop .timeline-dot{
	background: #744B0F; 
}
.timeline-content { 
	background: #fff; 
	border-radius: 16px; 
	padding: 24px; 
	flex: 1; box-shadow: 0 1px 4px #0001; 
	border-radius: 16px;
	border: 1px solid var(--Dove-Gray-200, #D1D1D1);
	display: flex;
	justify-content: space-between;
	position: relative;
}
.timeline-content .content{
	width: 100%;
}
.timeline-content .content h3{
	color: var(--neutral-black, #000);

	/* heading/h4 */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-heading-h4, 24px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-heading-h4, 32px); /* 133.333% */
	letter-spacing: -0.24px;
}

.stop-cat .cat{ 
	color: #5D5D5D;
	/* body/lg */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-lg, 20px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-lg, 28px); /* 140% */
	margin-top: 16px;
	display: block;
}
.view-on-map { 
	margin-top: 6px;
	position: absolute;
	right: 0;
	top: 0;
	margin: 24px 24px 0 0;
		color: var(--neutral-black, #000);
	/* body/md */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-md, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-md, 24px); /* 150% */
	display: inline-block;
	border: 1px solid #d3d3d3;
	border-radius: 24px;
	padding: 7px 16px;
}
.bus-stop-timeline .timeline-stop:last-child .timeline-dot { 
	/*background: #25a87d; */
}

.bus-stop-timeline {
  position: relative;
  padding-left: 2px;
  margin: 0;
  list-style: none;
  margin-top: 100px;
}

.bus-stop-timeline:before {
  content: "";
  position: absolute;
  left: 10px; /* centers the line under the dot */
  top: 11px;
  bottom: 0;
  width: 2px;
  background: #D1D1D1;
  z-index: 1;
  border-radius: 3px;
  /*height: 90%;*/
}
.bus-stop-btn{
	color: var(--neutral-black, #000);
	/* body/md */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-md, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-md, 24px); /* 150% */
	display: inline-block;
	border: 1px solid #d3d3d3;
	border-radius: 24px;
	padding: 7px 16px;
	background: #fff;
	margin-bottom: 12px;
	cursor: pointer;
	transition: box-shadow .18s;
	text-decoration: none;
	text-align: center;
}
.bus-stop-btn:hover{
	color: #000;
}
.bus-stop-btn svg{
	margin-right: 5px;
}
.modal-backdrop {
  position: fixed; left:0; top:0; right:0; bottom:0; z-index: 9999;
  background: rgba(30,40,60,0.35);
  display: none;
}
.modal-backdrop {
  position: fixed;
  left: 0; top: 0; right: 0; bottom: 0;
  z-index: 9999;
  background: rgba(30,40,60,0.35);
  display: none;
  /* Use flex to center modal */
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-backdrop[style*="display: none"] {
  display: none !important; /* Ensure it hides when set by JS */
}
.modal-inner {
  background: #fff;
  border-radius: 14px;
  padding: 32px 28px;
  min-width: 757px;
  max-width: 95vw;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(60,60,90,0.14);
  position: relative;
}
.modal-close {
	color: var(--neutral-black, #000);
	font-kerning: none;
	font-feature-settings: 'case' on, 'liga' off;
	/* body/md */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-md, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-md, 24px); /* 150% */
	position: absolute;
	left: 0;
	margin-top: 0px;
	margin-left: 20px;
	display: flex;
	z-index: 1;
	cursor: pointer;
}
.bus-popup-content{
	display: flex;
}
.bus-popup-content .content-right{
	width: 50%;
	position: relative;
}
.bus-popup-content .content-left{
	width: 50%;
	position: relative;
    display: flex;
    flex-direction: column;
    text-align: center;
    vertical-align: middle;
    justify-content: center;
}
h3.popup-title{
	color: var(--neutral-black, #000);

	/* heading/h4 */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-heading-h4, 24px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-heading-h4, 32px); /* 133.333% */
	letter-spacing: -0.24px;
	
}
.bus-popup-content .cat{
	color: #5D5D5D;
	/* body/lg */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-lg, 20px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-lg, 28px); /* 140% */
	display: flex;
	justify-content: center;
	margin-top: 16px;
}
.map-link{
    position: absolute;
    right: 0;
    bottom: 0;
    margin-bottom: 5px;
    margin-right: 10px;
}
.map-link a{
	color: var(--neutral-black, #000);
	/* body/md */
	font-family: var(--type-font-family-en, "Instrument Sans");
	font-size: var(--fontsize-body-md, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lineheight-body-md, 24px); /* 150% */
	display: flex;
	border: 1px solid #d3d3d3;
	border-radius: 24px;
	padding: 7px 16px;
	background: #fff;
	margin-bottom: 12px;
	cursor: pointer;
	transition: box-shadow .18s;
	text-decoration: none;
	text-align: center;
	position: relative;
	align-items: center;
}
.map-link a:after{
	content: url('/wp-content/uploads/2025/07/Arrow.svg');
	display: flex;
	margin-top: 5px;
    margin-left: 7px;
}
.bus-popup-content .time{
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    gap: 32px;
    margin-top: 24px;
}
.time-open{
	display: flex;
	position: relative;
}
.time-close{
	display: flex;
	position: relative;
}
.time-open:before{
	content: url('/wp-content/uploads/2025/07/Frame-1984078356.svg');
    margin-right: 10px;
}
.time-close:before{
	content: url('/wp-content/uploads/2025/07/Frame-1984078391.svg');
    margin-right: 10px;
}
.bus-popup-content .bus-img{
	border-radius: 8px;
	width: 1000px;
    height: 100%;
}
.single-footer{
	margin-top: 150px;
}
.single-footer img{
	border-radius: 8px;
}
.wpml-ls-legacy-dropdown-click{
	width: 65px;
	margin-top: 10px;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after{
	display: none;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle{
	padding-right: 0;
	background-color: transparent;
	border: 0;
}
.wpml-ls-legacy-dropdown-click a{
	padding: 0 0 5px;
	border: 0;
	background: transparent;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a, .wpml-ls-legacy-dropdown-click a:focus, .wpml-ls-legacy-dropdown-click a:hover{
	background: transparent;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu{
	border: 0;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a, .wpml-ls-legacy-dropdown-click a:focus, .wpml-ls-legacy-dropdown-click a:hover{
	background: transparent;
}
.box-list-text ul li{
	font-size: 16px;
	color: #1F2E61 !important;
/* 	list-style: none; */
}
.box-list-text ul li::marker{
	
}

.elementor-button span{
	align-items: center;
}
.elementor-button-icon svg{
	width: 1.5em;
}
.custom-size-video .elementor-wrapper{
	aspect-ratio: 0.7;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title{
	
}
.elementor-widget-n-accordion .e-n-accordion-item{
	background-color: #FFFFFF;
	border-radius: 16px;
}
.ue-remote-tabs .uc-items-wrapper .ue-item:last-child .ue-item-label{
	display: none !important;
}
.elementor-nav-menu .wpml-ls-menu-item{
	display: none !important;
}
@media (max-width: 768px){
	#poi-category-tabs,
	#poi-boat-category-tabs{
		flex-wrap: wrap;
	}
}
@media (max-width: 480px){
	.elementor-nav-menu .wpml-ls-menu-item{
		display: inline-flex !important;
		margin-left: 20px;
        margin-right: -10px;
	}
	.elementor-nav-menu .wpml-ls-menu-item:first-child{
		margin-left: 10px;
	}
	.elementor-nav-menu .wpml-ls-menu-item a{
		padding-right: 15px;
		padding-left: 0px;
		padding-top: 0;
		padding-bottom: 0;
		border-right: 1px solid #cccccc;
	}
	.elementor-nav-menu .menu-item:last-child a{
		border: none;
	}
	h2 br{
		display: none !important;
	}
	.search-content{
		flex-direction: column;
	}
	.search-content svg{
		display: none;
	}
	.tab-content-inside{
		flex-direction: column;
		padding: 10px;
	}
	.tab-content-inside .tab-content-inside-box{
		order: 2;
	}
	.tab-content-inside iframe{
		order: 1;
		height: 420px;
	}
	.view-on-map{
		top: auto;
		bottom: 0;
		margin: 0 20px 37px 0;
	}
	.modal-inner{
		min-width: 90%;
	}
	.bus-popup-content{
	    flex-direction: column;
	    align-items: center;
	    padding: 45px 0 0;
	}
	.bus-popup-content .content-left{
		width: 100%;
	}
	.bus-popup-content .content-right{
		margin-top: 30px;
		width: 100%;
	}
	.tab-content-inside .tab-content-inside-box{
		width: 100%;
	}
}
