/* Color scheme - Lost Vegas Tours Brand Colors */
/* Primary: Neon Pink #FF1493, Secondary: Gold #FFD700, Accent: Vintage Cream #FFF8DC, Background: Deep Black #1A1A1A */

/* ================================================
   CRITICAL: Force hamburger menu visibility on mobile
   ================================================ */
@media (max-width: 767px) {
    /* Force hamburger to be visible - override everything including menu.css */
    /* Target the hamburger in top_line first */
    #top_line .cmn-toggle-switch,
    #top_line a.cmn-toggle-switch,
    #top_line .mobile-hamburger-top,
    a.cmn-toggle-switch.mobile-hamburger-top {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        right: 20px !important;
        top: 10px !important;
        width: 24px !important;
        height: 24px !important;
        z-index: 99999 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
    }
    
    /* Also target the original hamburger in nav */
    a.cmn-toggle-switch,
    .cmn-toggle-switch,
    nav a.cmn-toggle-switch,
    nav.col-md-9 a.cmn-toggle-switch,
    nav.col-sm-9 a.cmn-toggle-switch,
    nav.col-xs-9 a.cmn-toggle-switch,
    #header_1 a.cmn-toggle-switch,
    #header_1 nav a.cmn-toggle-switch,
    a.open_close.cmn-toggle-switch {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        right: 15px !important;
        top: 8px !important;
        width: 24px !important;
        height: 24px !important;
        z-index: 99999 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
    }
    
    /* Make hamburger icon white and ensure it's visible - target both locations */
    /* Center line */
    #top_line .cmn-toggle-switch span,
    #top_line a.cmn-toggle-switch span,
    a.cmn-toggle-switch span,
    .cmn-toggle-switch span,
    nav a.cmn-toggle-switch span,
    #header_1 a.cmn-toggle-switch span {
        display: block !important;
        visibility: visible !important;
        background: #FFFFFF !important;
        position: absolute !important;
        top: 8px !important;
        left: 0 !important;
        right: 0 !important;
        height: 2px !important;
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* Top line */
    #top_line .cmn-toggle-switch span::before,
    #top_line a.cmn-toggle-switch span::before,
    a.cmn-toggle-switch span::before,
    .cmn-toggle-switch span::before,
    nav a.cmn-toggle-switch span::before,
    #header_1 a.cmn-toggle-switch span::before {
        display: block !important;
        visibility: visible !important;
        background: #FFFFFF !important;
        position: absolute !important;
        top: -8px !important;
        left: 0 !important;
        width: 100% !important;
        height: 2px !important;
        margin: 0 !important;
    }
    
    /* Bottom line */
    #top_line .cmn-toggle-switch span::after,
    #top_line a.cmn-toggle-switch span::after,
    a.cmn-toggle-switch span::after,
    .cmn-toggle-switch span::after,
    nav a.cmn-toggle-switch span::after,
    #header_1 a.cmn-toggle-switch span::after {
        display: block !important;
        visibility: visible !important;
        background: #FFFFFF !important;
        position: absolute !important;
        bottom: -8px !important;
        left: 0 !important;
        width: 100% !important;
        height: 2px !important;
        margin: 0 !important;
        top: auto !important;
    }
}

/*-------- 3.1 Preloader --------*/
[data-loader="circle-side"] {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 50%;
	left: 50%;
	margin-left: -25px;
	margin-top: -25px;
	-webkit-animation: circle infinite .95s linear;
	-moz-animation: circle infinite .95s linear;
	-o-animation: circle infinite .95s linear;
	animation: circle infinite .95s linear;
	border: 2px solid #FF1493;
	border-top-color: rgba(0, 0, 0, .2);
	border-right-color: rgba(0, 0, 0, .2);
	border-bottom-color: rgba(0, 0, 0, .2);
	border-radius: 100%;
}
/*-------- 1.2 Buttons --------*/
	a.button_intro_2,
	.button_intro_2 {
		background: #FF1493;
	}
	a.button_intro_2:hover,
	.button_intro_2:hover {
		color: #FF1493 !important;
	}
	a.btn_full,
	.btn_full {
		background: #FF1493;
	}
	a.btn_full:hover,
	.btn_full:hover {
		background: #FFD700;
		color: #1A1A1A;
	}
	a.btn_1,
	.btn_1 {
		background: #FF1493;
	}
	a.btn_1:hover,
	.btn_1:hover {
		background: #FFD700;
		color: #1A1A1A;
	}
	a.btn_1_outline,
	.btn_1_outline {
		color: #FF1493;
		border: 2px solid #FF1493;
	}
	a.btn_1_outline:hover,
	.btn_1_outline:hover {
		background: #FFD700;
		border: 2px solid #FFD700;
		color: #1A1A1A;
	}
	/*General links color*/
	a {
		color: #FF1493;
	}
	a:hover,
	a:focus {
		color: #FFD700;
	}
/*============================================================================================*/
/* MENU */
/*============================================================================================*/

	ul#tools_top li a.search-overlay-menu-btn:hover {
		color: #FF1493;
	}
	/*First level styles */			
	.main-menu > ul > li:hover > a {background-color:#FF1493;}

@media only screen and (min-width: 992px) {
	
	/* Submenu style*/
	.main-menu ul ul li:hover > a {background-color:#f9f9f9;color:#FF1493;}
	/* Megamenu */
	.main-menu ul li.megamenu .menu-wrapper {border-top: 2px solid #FF1493;}
}

@media only screen and (max-width: 991px) {
	#header_menu{background:#FF1493 url(../img/pattern_3.png) repeat;}
	.main-menu ul li a:hover,
	a.show-submenu:hover,
	a.show-submenu:focus,
	a.show-submenu-mega:hover,
	a.show-submenu-mega:focus{color:#FF1493 !important;background-color:#f9f9f9;}	
}
/*============================================================================================*/
/* end MENU */
/*============================================================================================*/

	h2 span,
	h3 span,
	h4 span,
	h5 span,
	h6 span {
		color:#FFD700;
	}
	#top_line {
		background: #FF1493 url(../img/pattern_3.png) repeat;
	}
	
	#tickets.table tr.total_row {
		color: #FF1493;
	}
	
	#tickets.table td input#total {
		color: #FF1493;
	}
	
	.indent_title_in i {
		color: #FF1493;
	}
	
	.bloglist ul li a:hover,
	.bloglist h4 a:hover {
		color: #FF1493;
	}
	.owl-theme .owl-dots .owl-dot.active span,
	.owl-theme .owl-dots .owl-dot:hover span {
		background: #FF1493;
	}
	.pagination > li > a:hover,
	.pagination > li > span:hover {
		background-color: #FF1493 !important;
		border-color: #FF1493 !important;
		color: #ffffff !important;
	}
	.list_tours ul li a .price_list {
	color: #FFD700;
	}
	.list_tours ul li a .price_list:hover {
		color: #FFD700;
	}
	.short_info strong {
		background-color: #FFD700;
		color: #1A1A1A;
	}
	.price_grid {
		background-color: #FF1493;
	}
	.banner {
		background: #FF1493 url(../img/pattern_3.png) repeat;
	}
	.panel-title a .indicator {
		color: #FF1493;
	}
	.box_style_2 h3{
		background-color:#FF1493;
	}
	.box_style_2 h3 span{
	color: #FFD700;
}


/*============================================================================================*/
/* Your custom styles below */
/*============================================================================================*/

/* Show Images - Maintain 800x533 aspect ratio */
/* Images are already 800x533 - do not resize source files */
/* Use width/height attributes in HTML for aspect ratio hints */
/* CSS maintains ratio responsively */

/* Show images on homepage and show pages */
.img_container img[width="800"][height="533"],
img[width="800"][height="533"].img-responsive {
	width: 100%;
	height: auto;
	aspect-ratio: 800 / 533;
	object-fit: cover;
	display: block;
	max-width: 800px;
}

/* Ensure container doesn't force different dimensions */
.img_container {
	width: 100%;
}

/* Responsive scaling - maintain aspect ratio on all screen sizes */
@media (min-width: 992px) {
	.img_container img[width="800"][height="533"] {
		max-width: 800px;
		width: 100%;
		height: auto;
	}
}

@media (max-width: 991px) {
	.img_container img[width="800"][height="533"] {
		width: 100%;
		height: auto;
		max-width: 100%;
	}
}

/* Show Cards - Complete Your Vegas Experience Section */
.show_card_custom {
	background: white;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	transition: transform 0.3s ease;
	padding: 20px 15px 0;
}

.show_card_custom:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.show_card_custom .img_container {
	margin-bottom: 15px;
}

/* Included badge */
.included_badge {
	display: block;
	background: #FFD700;
	color: #1A1A1A;
	padding: 8px 15px;
	border-radius: 20px;
	font-size: 0.85rem;
	margin: 10px auto;
	font-weight: 600;
	text-align: center;
	width: calc(100% - 30px);
	box-sizing: border-box;
}

/* Show-only button */
.btn_show_only {
	display: inline-block;
	background: white;
	color: #FF1493;
	border: 2px solid #FF1493;
	padding: 10px 25px;
	border-radius: 5px;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
}

.btn_show_only:hover {
	background: #FF1493;
	color: white;
	border-color: #FF1493;
}

/* Section subheading */
.main_title .subheading {
	font-size: 1.1rem;
	color: #666;
	margin-bottom: 40px;
}

/* Tour note */
.tour_note {
	font-size: 1rem;
	color: #666;
}

.tour_note strong {
	color: #1A1A1A;
}

/* Section CTAs */
.section_ctas {
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

@media (max-width: 768px) {
	.section_ctas {
		flex-direction: column;
	}
	
	.section_ctas a {
		margin-right: 0 !important;
		margin-bottom: 15px;
		width: 100%;
		max-width: 300px;
	}
}

/* Homepage Hero Image - Static Image Override */
.header-video {
	position: relative;
	overflow: hidden;
	height: 750px;
	background: #000;
}

.header-video::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 2;
}

.header-video--media {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	opacity: 0.7;
	z-index: 1;
}

#hero_video {
	position: relative;
	z-index: 3;
}

/* Hero video text styling - ensure readability */
#hero_video h1,
#hero_video h3,
#hero_video p {
	color: #fff !important;
	text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.5) !important;
	font-weight: 300 !important;
}

#animate_intro h1 {
	color: #fff !important;
	text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.5) !important;
	font-family: 'Satisfy', cursive !important;
	font-size: 72px !important;
	font-weight: normal !important;
	margin-bottom: 20px !important;
}

#animate_intro h3 {
	color: #fff !important;
	text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.5) !important;
	font-family: 'Satisfy', cursive !important;
	font-size: 72px !important;
	font-weight: normal !important;
}

#animate_intro p {
	color: #fff !important;
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.5) !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	margin-bottom: 30px !important;
}

/* About Page Hero Image - Proportional */
.parallax_window_in {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	height: 470px !important;
	min-height: 470px !important;
	width: 100% !important;
	overflow: hidden;
}

.parallax_window_in[data-image-src] {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

/* Fix for parallax library potentially distorting images */
.parallax_window_in .parallax-mirror {
	background-size: cover !important;
	background-position: center center !important;
}

.parallax_window_in .parallax-mirror img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Tours Section - 9:16 Vertical Format */
/* Tour cards using vertical 1080x1920 images (9:16 aspect ratio) */

/* Tour card wrapper with vertical orientation */
.tour_card_vertical {
	position: relative;
	border-radius: 12px;
	overflow: visible;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background: #1A1A1A;
}

/* Coming soon tour card button area - white background for button container */
.tour_card_vertical > div:last-child:not(.img_container) {
	background: white;
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
}

.tour_card_vertical:hover {
	transform: translateY(-8px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
}

/* Tour card image container - 9:16 aspect ratio */
.tour_card_image_vertical {
	position: relative;
	width: 100%;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: 12px;
}

.tour_card_image_vertical img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.tour_card_vertical:hover .tour_card_image_vertical img {
	transform: scale(1.05);
}

/* Price badge positioning for vertical cards */
.tour_card_vertical .tour_price_badge {
	position: absolute;
	top: auto;
	bottom: 80px;
	right: 15px;
	z-index: 10;
	font-size: 1.8rem;
	padding: 10px 20px;
	border-radius: 8px;
	box-shadow: 0 4px 10px rgba(255, 20, 147, 0.4);
}

.tour_card_vertical .tour_price_badge sup {
	font-size: 1rem;
}

/* Coming soon cards - dimmed effect */
.tour_card_coming_soon .tour_card_image_vertical {
	opacity: 0.7;
}

.tour_card_coming_soon:hover .tour_card_image_vertical {
	opacity: 0.85;
}

/* Override existing img_container styles for vertical cards */
#tours_grid .tour_card_image_vertical img[width="1080"][height="1920"],
#tours_grid .img_container.tour_card_image_vertical img {
	width: 100%;
	height: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	max-width: 100%;
	max-height: none;
}

/* Ensure short_info overlay works with vertical cards */
#tours_grid .tour_card_vertical .short_info {
	background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 60%, transparent 100%);
}

/* Responsive adjustments for vertical cards */
@media (max-width: 1200px) {
	#tours_grid .col-md-3 {
		width: 50%;
	}
}

@media (max-width: 768px) {
	#tours_grid .col-md-3,
	#tours_grid .col-sm-6 {
		width: 100%;
		padding: 0 10px;
		margin-bottom: 30px;
	}
	
	.tour_card_vertical {
		max-width: 400px;
		margin: 0 auto;
	}
}

/* Ensure ribbon badge stays visible on vertical cards */
.tour_card_vertical .ribbon {
	z-index: 20;
}

/* Email Signup Section - Text Readability */
.promo_full .promo_full_wp > div h3 {
	color: #fff !important;
	text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.9) !important;
	font-weight: 700 !important;
}

.promo_full .promo_full_wp > div h3 span {
	color: #fff !important;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
}

/* Brevo Form Container - Ensure readability */
#newsletter-section .sib-container {
	background-color: rgba(255, 255, 255, 0.98) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

/* Mobile Hero Image Fix */
@media (max-width: 768px) {
	/* Homepage Hero - Ensure image displays on mobile */
	.header-video {
		height: 500px !important;
		min-height: 500px !important;
	}
	
	.header-video--media {
		display: block !important;
		visibility: visible !important;
		opacity: 0.7 !important;
	}
	
	/* About Page Hero - Ensure image displays on mobile */
	.parallax_window_in {
		height: 350px !important;
		min-height: 350px !important;
		background-attachment: scroll !important;
	}
	
	.parallax_window_in .parallax-mirror {
		display: block !important;
		visibility: visible !important;
	}
	
	.parallax_window_in .parallax-mirror img {
		display: block !important;
		visibility: visible !important;
	}
}

/* ================================================
   SHOWS PAGE - CARD-BASED GRID LAYOUT
   ================================================ */

.shows-grid {
	background: #FFFFFF;
	padding: 80px 0;
}

.shows-grid .main_title {
	margin-bottom: 50px;
}

.shows-grid .main_title h2 {
	font-size: 42px;
	font-weight: 700;
	color: #1A1A1A;
	text-align: center;
	margin-bottom: 15px;
}

.shows-grid .main_title h2 span {
	color: #FFD700;
}

.shows-grid .main_title p {
	font-size: 18px;
	color: #666666;
	text-align: center;
	margin-bottom: 0;
}

/* Show Card */
.show-card {
	background: #FFFFFF;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	transition: all 0.3s ease;
	margin-bottom: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.show-card:hover {
	box-shadow: 0 8px 30px rgba(255, 20, 147, 0.2);
	transform: translateY(-5px);
}

/* Show Card Image */
.show-card-image {
	position: relative;
	width: 100%;
	height: 280px;
	overflow: hidden;
}

.show-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.show-card:hover .show-card-image img {
	transform: scale(1.05);
}

/* Show Badge (Rating) */
.show-badge {
	position: absolute;
	top: 15px;
	right: 15px;
	background: #FFD700;
	color: #1A1A1A;
	padding: 8px 16px;
	border-radius: 20px;
	font-weight: 700;
	font-size: 14px;
	z-index: 10;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* Show Card Content */
.show-card-content {
	padding: 30px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.show-card-content h3 {
	font-size: 28px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 5px;
}

.show-card-subtitle {
	font-size: 16px;
	color: #FF1493;
	font-weight: 500;
	margin-bottom: 20px;
}

/* Show Card Meta (Duration, Venue) */
.show-card-meta {
	display: flex;
	gap: 20px;
	margin-bottom: 15px;
	font-size: 14px;
	color: #666666;
	flex-wrap: wrap;
}

.show-card-meta span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.show-card-meta i {
	color: #FF1493;
	font-size: 16px;
}

/* Show Card Description */
.show-card-description {
	color: #333333;
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 20px;
	flex: 1;
}

/* Show Card Highlights */
.show-card-highlights {
	margin-bottom: 20px;
}

.show-card-highlights ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.show-card-highlights li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 14px;
	color: #333333;
	line-height: 1.5;
}

.show-card-highlights li i {
	color: #FF1493;
	font-size: 16px;
	margin-top: 2px;
	flex-shrink: 0;
}

/* Show Card Button */
.btn_show {
	background: transparent;
	border: 2px solid #FF1493;
	color: #FF1493;
	padding: 12px 30px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	text-align: center;
	transition: all 0.3s ease;
	display: inline-block;
	margin-top: auto;
}

.btn_show:hover {
	background: #FF1493;
	color: #FFFFFF;
	border-color: #FF1493;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(255, 20, 147, 0.3);
}

/* Responsive */
@media (max-width: 991px) {
	.shows-grid {
		padding: 60px 0;
	}
	
	.shows-grid .main_title h2 {
		font-size: 36px;
	}
	
	.show-card-image {
		height: 250px;
	}
}

@media (max-width: 767px) {
	.shows-grid {
		padding: 40px 0;
	}
	
	.shows-grid .main_title h2 {
		font-size: 32px;
	}
	
	.show-card-content {
		padding: 25px 20px;
	}
	
	.show-card-content h3 {
		font-size: 24px;
	}
	
	.show-card-meta {
		flex-direction: column;
		gap: 10px;
	}
	
	.btn_show {
		width: 100%;
		text-align: center;
	}
}

/* Partner Tours - Ameri-Trip Logo Section */
.partner-logo-section {
	padding: 30px 20px;
	background: #FFF8DC;
	border-radius: 8px;
	border: 2px solid #FFD700;
	margin-bottom: 40px;
}

.partner-logo-section p {
	margin-bottom: 15px;
	font-size: 16px;
	color: #666;
	font-weight: 500;
}

.partner-logo-section img {
	transition: transform 0.3s ease, opacity 0.3s ease;
	filter: drop-shadow(0 2px 8px rgba(0,0,0,0.1));
}

.partner-logo-section a:hover img {
	transform: scale(1.05);
	opacity: 0.9;
}

@media (max-width: 767px) {
	.partner-logo-section {
		padding: 20px 15px;
	}
	
	.partner-logo-section img {
		max-width: 250px !important;
	}
}

/* Ribbon Badge - Replace Green with Brand Colors */
.ribbon span {
	background: #FF1493 !important;
	background: linear-gradient(#FF1493 0%, #dc1278 100%) !important;
}

.ribbon span::before {
	border-left: 3px solid #dc1278 !important;
	border-top: 3px solid #dc1278 !important;
}

.ribbon span::after {
	border-right: 3px solid #dc1278 !important;
	border-top: 3px solid #dc1278 !important;
}

/* Coming Soon ribbon - use gray (already set inline, but ensure consistency) */
.ribbon[style*="background-color: #999"] span,
.ribbon[style*="background-color:#999"] span {
	background: #999 !important;
	background: linear-gradient(#999 0%, #777 100%) !important;
}

.ribbon[style*="background-color: #999"] span::before,
.ribbon[style*="background-color:#999"] span::before {
	border-left: 3px solid #777 !important;
	border-top: 3px solid #777 !important;
}

.ribbon[style*="background-color: #999"] span::after,
.ribbon[style*="background-color:#999"] span::after {
	border-right: 3px solid #777 !important;
	border-top: 3px solid #777 !important;
}

/* Star Ratings - Use Gold */
.rating i,
.rating .icon-star,
.rating .icon-star-empty {
	color: #FFD700 !important;
}

.rating i.filled,
.rating .icon-star {
	color: #FFD700 !important;
}

/* Price displays - Use Gold */
.price,
.price_list,
.price_grid,
.tour_price_badge {
	color: #FFD700 !important;
}

.price_grid {
	background-color: #FF1493 !important;
}

.price_grid sup {
	color: #FFD700 !important;
}

/* Timeline/Program steps - Use Neon Pink */
.timeline-item:before,
.step_number,
.program_step:before {
	background: #FF1493 !important;
}

/* Tour card hover states */
.tour_card:hover,
.img_wrapper:hover {
	border-color: #FF1493 !important;
}

/* Bootstrap success button override (if used) */
.btn-success {
	background-color: #FF1493 !important;
	border-color: #FF1493 !important;
}

.btn-success:hover {
	background-color: #FFD700 !important;
	border-color: #FFD700 !important;
	color: #1A1A1A !important;
}

/* ================================================
   LOST VEGAS TOURS - TOUR DETAIL PAGE BRAND COLORS
   Replace ALL green blocks with brand colors
   ================================================ */

/* Box Style 1 - Replace green background (#589442) with brand gradient */
.box_style_1 {
	background: linear-gradient(135deg, #1A1A1A 0%, #FF1493 100%) !important;
	color: #FFFFFF !important;
}

.box_style_1 h4,
.box_style_1 p,
.box_style_1 strong {
	color: #FFFFFF !important;
}

.box_style_1 .price {
	color: #FFD700 !important;
	border-bottom-color: rgba(255, 255, 255, 0.3) !important;
}

.box_style_1 .price strong {
	color: #FFD700 !important;
}

/* Box Style 2 - Update header background */
.box_style_2 h3 {
	background-color: #FF1493 !important;
	color: #FFFFFF !important;
}

.box_style_2 h3 span {
	color: #FFD700 !important;
}

/* Feature Box Icons - Replace green (#589442) with neon pink */
.feature-box .feature-box-icon {
	color: #FF1493 !important;
	border-color: #FF1493 !important;
}

.feature-box .feature-box-icon:hover {
	background-color: rgba(255, 20, 147, 0.1) !important;
}

/* List OK (Included Features) - Replace yellow checkmarks with neon pink */
ul.list_ok li:before {
	color: #FF1493 !important;
}

/* Timeline Icons - Replace orange (#ff9933) with brand colors */
.cbp_tmtimeline > li .cbp_tmicon {
	color: #FF1493 !important;
	background-color: #FFFFFF !important;
	border: 3px solid #FF1493 !important;
	box-shadow: 0 0 0 2px #FFD700 !important;
}

.cbp_tmtimeline:before {
	background: linear-gradient(to bottom, #FF1493, #FFD700) !important;
}

.cbp_tmtimeline > li .cbp_tmlabel {
	background: #FFF8DC !important;
	border-left: 4px solid #FF1493 !important;
}

.cbp_tmtimeline > li .cbp_tmlabel:after {
	border-right-color: #FFF8DC !important;
}

/* Price Grid - Already set to neon pink, ensure consistency */
.price_grid {
	background-color: #FF1493 !important;
	color: #FFFFFF !important;
}

.price_grid sup {
	color: #FFD700 !important;
}

/* Remove any remaining green backgrounds */
[style*="#589442"],
[style*="#5cb85c"],
[style*="#28a745"],
[style*="#4caf50"],
[style*="green"] {
	background: #FF1493 !important;
}

/* Tabs - Active state with brand colors */
.tabs .active,
.nav-tabs .active,
.nav-tabs > li.active > a {
	border-bottom: 3px solid #FF1493 !important;
	color: #FF1493 !important;
	background: transparent !important;
}

.tabs li:hover,
.nav-tabs > li > a:hover {
	color: #FFD700 !important;
}

/* Accordion/FAQ - Active indicators */
.accordion-toggle .indicator,
.panel-title a .indicator {
	color: #FF1493 !important;
}

.accordion-toggle:hover .indicator,
.panel-title a:hover .indicator {
	color: #FFD700 !important;
}

/* Info boxes and highlights */
.info_box,
.highlight_box,
.alert-info {
	background: #FFF8DC !important;
	border-left: 4px solid #FF1493 !important;
	color: #1A1A1A !important;
}

/* Review boxes */
.review-box {
	background: #FFFFFF !important;
	border: 1px solid #FFD700 !important;
}

.review-box .rating i {
	color: #FFD700 !important;
}

/* Map boxes */
.box_map {
	background: #FFFFFF !important;
	border: 2px solid #FF1493 !important;
}

/* Tour cards hover */
.tour_card:hover,
.img_wrapper:hover,
.box_style_1:hover {
	border-color: #FFD700 !important;
	box-shadow: 0 4px 12px rgba(255, 20, 147, 0.3) !important;
}

/* Ensure all checkmarks are neon pink */
.icon-ok-4,
.icon-check,
.fa-check,
.fa-check-circle {
	color: #FF1493 !important;
}

/* Ensure all X marks are gray */
.icon-cancel,
.fa-times,
.fa-times-circle {
	color: #999999 !important;
}

/* ================================================
   SHOWS PAGE - TOUR PAGE STYLE (Image Left, Content Right)
   ================================================ */

/* Show Listing Container */
.show-listing {
	margin-bottom: 40px;
	align-items: center;
}

/* Show Image */
.show-listing .show-image {
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.show-listing .show-image img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}

.show-listing:hover .show-image img {
	transform: scale(1.05);
}

/* Show Content */
.show-content h4 {
	font-size: 28px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 10px;
}

.show-tagline {
	font-size: 18px;
	color: #FF1493;
	margin-bottom: 20px;
}

.show-tagline strong {
	font-weight: 600;
}

.show-content p {
	color: #333333;
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 20px;
}

.show-meta {
	background: #FFF8DC;
	padding: 15px 20px;
	border-left: 4px solid #FFD700;
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.8;
}

.show-meta strong {
	color: #1A1A1A;
	font-weight: 600;
}

/* Divider between shows */
.show-listing + hr {
	margin: 50px 0;
	border-color: #E8E8E8;
}

/* Book CTA box */
.box_general {
	background: #FFF8DC;
	border-left: 4px solid #FF1493;
	padding: 40px;
	margin-top: 40px;
	border-radius: 8px;
}

.box_general h3 {
	font-size: 28px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 15px;
}

.box_general p {
	font-size: 16px;
	color: #333333;
	margin-bottom: 20px;
	line-height: 1.6;
}

.box_general p strong {
	color: #1A1A1A;
	font-weight: 600;
}

/* Contact list styling in box_general */
.box_general .contacts {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.box_general .contacts li {
	margin-bottom: 15px;
	font-size: 16px;
	color: #333333;
	display: flex;
	align-items: center;
	gap: 10px;
}

.box_general .contacts li i {
	color: #FF1493;
	font-size: 20px;
}

.box_general .contacts li a {
	color: #1A1A1A;
	text-decoration: none;
}

.box_general .contacts li a:hover {
	color: #FF1493;
}

/* Responsive adjustments */
@media (max-width: 991px) {
	.show-listing {
		margin-bottom: 30px;
	}
	
	.show-listing .show-image {
		margin-bottom: 20px;
	}
	
	.show-content h4 {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.show-content h4 {
		font-size: 22px;
	}
	
	.show-tagline {
		font-size: 16px;
	}
	
	.box_general {
		padding: 30px 20px;
	}
}

/* ================================================
   ABOUT PAGE - CONDENSED STYLING
   ================================================ */

/* About page spacing */
hr.large {
	margin: 60px 0;
	border-color: #E8E8E8;
	border-width: 1px;
}

section.wrapper h2 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 25px;
	color: #1A1A1A;
}

section.wrapper h3 {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #1A1A1A;
}

section.wrapper p.lead {
	font-size: 20px;
	line-height: 1.6;
	color: #333333;
	margin-top: 30px;
	font-weight: 500;
}

/* List styling for shows - override existing if needed */
section.wrapper .list_ok {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

section.wrapper .list_ok li {
	padding-left: 30px;
	position: relative;
	margin-bottom: 10px;
	color: #333333;
	font-size: 16px;
	line-height: 1.6;
}

section.wrapper .list_ok li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #FFD700;
	font-weight: bold;
	font-size: 18px;
}

/* Responsive for about page */
@media (max-width: 767px) {
	section.wrapper h2 {
		font-size: 28px;
	}
	
	section.wrapper h3 {
		font-size: 22px;
	}
	
	section.wrapper p.lead {
		font-size: 18px;
	}
	
	hr.large {
		margin: 40px 0;
	}
}

/* ================================================
   ABOUT PAGE - CONDENSED STYLING
   ================================================ */

/* About page spacing */
hr.large {
	margin: 60px 0;
	border-color: #E8E8E8;
	border-width: 1px;
}

.about h2,
section.wrapper h2 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 25px;
	color: #1A1A1A;
}

.about h3,
section.wrapper h3 {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #1A1A1A;
}

.about p.lead,
section.wrapper p.lead {
	font-size: 20px;
	line-height: 1.6;
	color: #333333;
	margin-top: 30px;
	font-weight: 500;
}

/* List styling for shows */
.list_ok {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.list_ok li {
	padding-left: 30px;
	position: relative;
	margin-bottom: 10px;
	color: #333333;
	font-size: 16px;
	line-height: 1.6;
}

.list_ok li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #FFD700;
	font-weight: bold;
	font-size: 18px;
}

/* Contact box styling */
.box_general {
	background: #FFF8DC;
	border-left: 4px solid #FF1493;
	padding: 40px;
	margin-top: 20px;
	border-radius: 8px;
}

.box_general h3 {
	font-size: 28px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 25px;
}

.box_general .contacts {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.box_general .contacts li {
	margin-bottom: 15px;
	font-size: 16px;
	color: #333333;
	display: flex;
	align-items: center;
	gap: 10px;
}

.box_general .contacts li i {
	color: #FF1493;
	font-size: 20px;
}

.box_general .contacts li a {
	color: #1A1A1A;
	text-decoration: none;
}

.box_general .contacts li a:hover {
	color: #FF1493;
}

.box_general p {
	margin-bottom: 15px;
	color: #333333;
	font-size: 16px;
	line-height: 1.6;
}

.box_general p strong {
	color: #1A1A1A;
	font-weight: 600;
}

/* Responsive for about page */
@media (max-width: 767px) {
	.box_general {
		padding: 30px 20px;
	}
	
	.box_general h3 {
		font-size: 24px;
	}
	
	section.wrapper h2 {
		font-size: 28px;
	}
	
	section.wrapper h3 {
		font-size: 22px;
	}
	
	section.wrapper p.lead {
		font-size: 18px;
	}
	
	hr.large {
		margin: 40px 0;
	}
}

/* ================================================
   ABOUT PAGE - VISUAL ELEMENTS
   ================================================ */

/* Stats Section */
.stats_section {
	background: #1A1A1A;
	padding: 60px 0;
}

.stat_box {
	text-align: center;
	padding: 30px;
	background: linear-gradient(135deg, #FF1493 0%, #FFD700 100%);
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.3);
	transition: transform 0.3s;
	margin-bottom: 20px;
}

.stat_box:hover {
	transform: translateY(-5px);
}

.stat_icon {
	font-size: 50px;
	margin-bottom: 15px;
}

.stat_number {
	font-size: 48px;
	font-weight: 700;
	color: #FFFFFF;
	margin-bottom: 10px;
}

.stat_label {
	font-size: 16px;
	color: #FFFFFF;
	font-weight: 500;
	line-height: 1.4;
}

/* Quote Block */
.quote_block {
	background: #FFF8DC;
	border-left: 6px solid #FF1493;
	padding: 30px 40px;
	margin: 40px 0;
	position: relative;
	border-radius: 0 8px 8px 0;
}

.quote_mark {
	position: absolute;
	top: -10px;
	left: 20px;
	font-size: 80px;
	color: #FFD700;
	opacity: 0.3;
	font-family: serif;
	line-height: 1;
}

.quote_block p {
	font-size: 22px;
	font-weight: 600;
	color: #1A1A1A;
	font-style: italic;
	margin: 0;
}

/* Visual Divider */
.visual_divider {
	border: 0;
	height: 2px;
	background: linear-gradient(to right, transparent, #FF1493, #FFD700, transparent);
	margin: 60px 0;
}

/* Info Box Visual */
.info_box_visual {
	background: linear-gradient(135deg, rgba(255, 20, 147, 0.1), rgba(255, 215, 0, 0.1));
	border: 2px solid #FFD700;
	border-radius: 12px;
	padding: 30px;
	margin-top: 20px;
}

.info_box_visual h4 {
	color: #FF1493;
	font-weight: 700;
	margin-bottom: 20px;
	font-size: 22px;
}

.check_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.check_list li {
	padding-left: 30px;
	position: relative;
	margin-bottom: 10px;
	color: #333333;
	font-size: 16px;
	line-height: 1.6;
}

.check_list li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #FFD700;
	font-size: 20px;
	font-weight: bold;
}

/* Show Cards Mini */
.show_grid {
	margin-top: 30px;
}

.show_card_mini {
	background: #FFFFFF;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	transition: all 0.3s;
	margin-bottom: 20px;
}

.show_card_mini:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(255, 20, 147, 0.2);
}

.show_card_mini img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.show_card_content {
	padding: 20px;
	text-align: center;
}

.show_card_content h5 {
	font-size: 18px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 10px;
}

.show_card_content .duration {
	display: inline-block;
	background: #FFD700;
	color: #1A1A1A;
	padding: 5px 15px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
}

/* Link Arrow */
.link_arrow {
	color: #FF1493;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s;
}

.link_arrow:hover {
	color: #FFD700;
	text-decoration: none;
}

/* Responsive for visual elements */
@media (max-width: 767px) {
	.stats_section {
		padding: 40px 0;
	}
	
	.stat_box {
		padding: 25px 20px;
		margin-bottom: 20px;
	}
	
	.stat_icon {
		font-size: 40px;
	}
	
	.stat_number {
		font-size: 36px;
	}
	
	.quote_block {
		padding: 25px 30px;
		margin: 30px 0;
	}
	
	.quote_block p {
		font-size: 18px;
	}
	
	.quote_mark {
		font-size: 60px;
		top: -5px;
		left: 15px;
	}
	
	.show_card_mini img {
		height: 150px;
	}
	
	.info_box_visual {
		padding: 25px 20px;
	}
}

/* ================================================
   TOUR TIMELINE - NEW STYLE
   ================================================ */

.timeline_tour {
	position: relative;
	padding: 40px 0;
}

.timeline-item {
	display: flex;
	gap: 30px;
	margin-bottom: 40px;
	position: relative;
}

.timeline-item:before {
	content: '';
	position: absolute;
	left: 37px;
	top: 80px;
	bottom: -40px;
	width: 2px;
	background: linear-gradient(to bottom, #FF1493, #FFD700);
}

.timeline-item:last-child:before {
	display: none;
}

.timeline-item.optional {
	opacity: 0.8;
}

.timeline-item.optional .step_number {
	background: #CCCCCC;
	border-color: #999999;
}

.step_number {
	flex-shrink: 0;
	width: 75px;
	height: 75px;
	background: #FFD700;
	border: 4px solid #FF1493;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
}

.step_number span {
	font-size: 32px;
	font-weight: 700;
	color: #1A1A1A;
}

.timeline_content {
	flex: 1;
	padding-top: 5px;
}

.timeline_time {
	font-size: 14px;
	color: #FF1493;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 10px;
	letter-spacing: 0.5px;
}

.timeline_content h4 {
	font-size: 22px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.timeline_content p {
	font-size: 15px;
	line-height: 1.6;
	color: #333333;
	margin-bottom: 10px;
}

.timeline_content p:first-of-type {
	font-size: 13px;
	color: #666666;
	font-style: italic;
	margin-bottom: 12px;
}

/* Responsive */
@media (max-width: 767px) {
	.timeline-item {
		gap: 20px;
	}
	
	.step_number {
		width: 60px;
		height: 60px;
	}
	
	.step_number span {
		font-size: 24px;
	}
	
	.timeline-item:before {
		left: 29px;
	}
	
	.timeline_content h4 {
		font-size: 18px;
	}
	
	.timeline_content p {
		font-size: 14px;
	}
}

/* ================================================
   TOUR CARDS - FIXED LAYOUT & READABILITY
   ================================================ */

/* Dark gradient overlay for text readability on all tour cards */
.tour_card_vertical .img_container:after,
.tour_card_image_vertical:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.7) 50%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}

/* Tour Card Content - Ensure text is readable */
.tour_card_vertical .short_info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 25px;
    z-index: 2;
    background: transparent !important;
}

/* Tour Title - HIGH CONTRAST */
.tour_card_vertical .short_info h3,
.tour_card_vertical h3 {
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.8) !important;
    line-height: 1.2 !important;
}

/* Tour Duration/Description - High Contrast */
.tour_card_vertical .short_info em,
.tour_card_vertical .short_info p {
    color: #FFFFFF !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8) !important;
}

.tour_card_vertical .short_info em {
    color: #FFD700 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.tour_card_vertical .short_info p {
    color: #FFFFFF !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}

/* Coming Soon Banner - FIXED ALIGNMENT */
.tour_card_vertical .ribbon {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 20 !important;
    transform: none !important;
}

/* Price Badge - FIXED CONTRAST & POSITION */
.tour_card_vertical .tour_price_badge,
.tour_card_vertical .price_grid {
    position: absolute !important;
    bottom: 100px !important;
    left: 25px !important;
    background: #FF1493 !important;
    color: #FFFFFF !important;
    padding: 12px 25px !important;
    border-radius: 8px !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    z-index: 3 !important;
    box-shadow: 0 4px 12px rgba(255, 20, 147, 0.5) !important;
    border: none !important;
}

.tour_card_vertical .tour_price_badge sup,
.tour_card_vertical .price_grid sup {
    color: #FFFFFF !important;
    font-size: 18px !important;
    vertical-align: super !important;
}

/* NOW BOOKING Badge - Better visibility */
.tour_card_vertical .ribbon span {
    background: #FF1493 !important;
    background: linear-gradient(#FF1493 0%, #dc1278 100%) !important;
    color: #FFFFFF !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 2px 8px rgba(255, 20, 147, 0.5) !important;
}

/* Coming Soon Badge - Consistent styling */
.tour_card_vertical .ribbon[style*="background-color: #999"] span,
.tour_card_vertical .ribbon[style*="background-color:#999"] span {
    background: rgba(0, 0, 0, 0.85) !important;
    color: #FFFFFF !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

/* Button area - ensure it's visible */
.tour_card_vertical > div:last-child:not(.img_container) {
    background: #FFFFFF !important;
    padding: 15px !important;
    text-align: center !important;
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .tour_card_vertical .short_info h3 {
        font-size: 22px !important;
    }
    
    .tour_card_vertical .tour_price_badge,
    .tour_card_vertical .price_grid {
        font-size: 24px !important;
        padding: 10px 20px !important;
    }
}

@media (max-width: 767px) {
    .tour_card_vertical .short_info {
        padding: 20px !important;
    }
    
    .tour_card_vertical .short_info h3 {
        font-size: 20px !important;
    }
    
    .tour_card_vertical .tour_price_badge,
    .tour_card_vertical .price_grid {
        font-size: 20px !important;
        padding: 8px 15px !important;
        bottom: 80px !important;
    }
}

/* ================================================
   TOUR CARDS - CLEAN REDESIGN
   ================================================ */

.tours_grid {
    margin-top: 50px;
}

/* Tour Card */
.tour_card {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    transition: all 0.3s ease;
    margin-bottom: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.tour_card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 35px rgba(255, 20, 147, 0.25);
}

/* Tour Image Container */
.tour_card .tour_image {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.tour_card .tour_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tour_card:hover .tour_image img {
    transform: scale(1.08);
}

/* Dark Overlay for Better Text Contrast */
.tour_card .tour_image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.7) 100%);
}

/* Status Badge - Top Right */
.tour_card .tour_status {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.85);
    color: #FFFFFF;
    padding: 8px 18px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 2;
}

.tour_card .tour_status.active {
    background: #FF1493;
}

/* Tour Info Section */
.tour_card .tour_info {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.tour_card .tour_info h3 {
    font-size: 22px;
    font-weight: 700;
    color: #1A1A1A;
    margin-bottom: 10px;
    line-height: 1.3;
}

.tour_card .tour_duration {
    font-size: 14px;
    color: #666666;
    margin-bottom: 20px;
}

/* Price - Same size as Coming Soon text */
.tour_card .tour_price {
    font-size: 18px;
    font-weight: 600;
    color: #FF1493;
    margin-bottom: 20px;
}

/* Coming Soon Label */
.tour_card .tour_coming_soon {
    font-size: 18px;
    font-weight: 600;
    color: #FFD700;
    margin-bottom: 20px;
}

/* Button */
.tour_card .btn_tour_card {
    background: #FF1493;
    color: #FFFFFF;
    border: none;
    padding: 14px 0;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    display: block;
    transition: all 0.3s ease;
    margin-top: auto;
}

.tour_card .btn_tour_card:hover {
    background: #FFD700;
    color: #1A1A1A;
    transform: translateY(-2px);
}

.tour_card .btn_tour_card.outline {
    background: transparent;
    border: 2px solid #FF1493;
    color: #FF1493;
}

.tour_card .btn_tour_card.outline:hover {
    background: #FF1493;
    color: #FFFFFF;
}

/* Responsive */
@media (max-width: 991px) {
    .tour_card .tour_image {
        height: 380px;
    }
    
    .tour_card .tour_info h3 {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .tours_grid {
        margin-top: 40px;
    }
    
    .tour_card {
        margin-bottom: 25px;
    }
    
    .tour_card .tour_image {
        height: 320px;
    }
    
    .tour_card .tour_info {
        padding: 20px;
    }
}

/* ================================================
   HEADER LOGO
   ================================================ */

/* Logo container */
#logo_home {
    position: relative;
    z-index: 999;
}

#logo_home a {
    display: block;
    text-decoration: none;
}

#logo_home h1 {
    display: none;
}

/* Logo image sizing */
#logo_home .logo_normal {
    height: 120px;
    width: auto;
    display: block;
}

#logo_home .logo_sticky {
    height: 90px;
    width: auto;
    display: none;
}

/* When header is sticky/scrolled, show smaller logo */
.header.sticky #logo_home .logo_normal,
#header_1.sticky #logo_home .logo_normal {
    display: none;
}

.header.sticky #logo_home .logo_sticky,
#header_1.sticky #logo_home .logo_sticky {
    display: block;
}

/* Responsive logo sizing */
@media (max-width: 991px) {
    #logo_home .logo_normal {
        height: 100px;
    }
    
    #logo_home .logo_sticky {
        height: 75px;
    }
}

@media (max-width: 767px) {
    /* Center logo in white space and make it larger */
    #header_1 header .container > .row {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }
    
    /* Center the logo column - make it full width and centered */
    #header_1 header .container > .row > .col-xs-3 {
        width: 100% !important;
        text-align: center;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-left: 0;
        padding-right: 0;
    }
    
    #logo_home {
        text-align: center;
        width: 100%;
        margin: 0 auto;
    }
    
    #logo_home a {
        display: inline-block;
        text-align: center;
        margin: 0 auto;
    }
    
    /* Larger logo on mobile - don't override display, let sticky logic handle it */
    #logo_home .logo_normal {
        height: 200px;
        width: auto;
        margin: 0 auto;
        max-width: 90%;
    }
    
    #logo_home .logo_sticky {
        height: 160px;
        width: auto;
        margin: 0 auto;
        max-width: 90%;
    }
    
    /* Move hamburger menu to pink top bar and make it smaller */
    #header_1 {
        position: relative;
    }
    
    #top_line {
        position: relative;
        min-height: 40px;
    }
    
    /* Ensure nav column is visible on mobile */
    nav.col-md-9,
    nav.col-sm-9,
    nav.col-xs-9 {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
    }
    
    /* Position hamburger absolutely within top_line - override menu.css completely */
    /* Must override: menu.css line 48 (display:none) and line 181 (display:block, top:18px) */
    .cmn-toggle-switch,
    a.cmn-toggle-switch,
    .cmn-toggle-switch.cmn-toggle-switch__htx,
    nav .cmn-toggle-switch,
    nav.col-md-9 .cmn-toggle-switch,
    nav.col-sm-9 .cmn-toggle-switch,
    nav.col-xs-9 .cmn-toggle-switch,
    #header_1 .cmn-toggle-switch,
    #header_1 nav .cmn-toggle-switch,
    #header_1 nav.col-md-9 .cmn-toggle-switch,
    #header_1 nav.col-sm-9 .cmn-toggle-switch,
    #header_1 nav.col-xs-9 .cmn-toggle-switch,
    header .cmn-toggle-switch,
    header nav .cmn-toggle-switch,
    #header_1 header nav .cmn-toggle-switch {
        position: fixed !important;
        right: 15px !important;
        top: 8px !important; /* Position in top_line (pink bar) area - override menu.css top:18px */
        width: 24px !important;
        height: 24px !important;
        z-index: 10001 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
        font-size: 0 !important;
        text-indent: -9999px !important;
    }
    
    /* Make hamburger icon white for visibility on pink background */
    #header_1 .cmn-toggle-switch span,
    #header_1 nav.col-md-9 .cmn-toggle-switch span,
    nav.col-md-9 .cmn-toggle-switch span,
    #header_1 .cmn-toggle-switch span::before,
    #header_1 nav.col-md-9 .cmn-toggle-switch span::before,
    nav.col-md-9 .cmn-toggle-switch span::before,
    #header_1 .cmn-toggle-switch span::after,
    #header_1 nav.col-md-9 .cmn-toggle-switch span::after,
    nav.col-md-9 .cmn-toggle-switch span::after {
        background: #FFFFFF !important;
    }
    
    /* Adjust hamburger icon lines for smaller size */
    #header_1 .cmn-toggle-switch span,
    #header_1 nav.col-md-9 .cmn-toggle-switch span,
    nav.col-md-9 .cmn-toggle-switch span {
        top: 8px !important;
        height: 2px !important;
    }
    
    #header_1 .cmn-toggle-switch span::before,
    #header_1 nav.col-md-9 .cmn-toggle-switch span::before,
    nav.col-md-9 .cmn-toggle-switch span::before {
        top: -8px !important;
        height: 2px !important;
    }
    
    #header_1 .cmn-toggle-switch span::after,
    #header_1 nav.col-md-9 .cmn-toggle-switch span::after,
    nav.col-md-9 .cmn-toggle-switch span::after {
        bottom: -8px !important;
        height: 2px !important;
    }
}

/* ================================================
   HIDE HAMBURGER MENU ON DESKTOP
   ================================================ */

/* Hide hamburger menu entirely on desktop - should only show on mobile */
@media (min-width: 992px) {
	.cmn-toggle-switch,
	a.cmn-toggle-switch,
	nav .cmn-toggle-switch,
	nav.col-md-9 .cmn-toggle-switch,
	nav.col-sm-9 .cmn-toggle-switch,
	nav.col-xs-9 .cmn-toggle-switch,
	#header_1 .cmn-toggle-switch,
	#header_1 nav .cmn-toggle-switch,
	#top_line .cmn-toggle-switch,
	#top_line a.cmn-toggle-switch,
	a.mobile-hamburger-top {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
	
	/* Also hide the text content as backup */
	.cmn-toggle-switch span,
	a.cmn-toggle-switch span,
	nav .cmn-toggle-switch span,
	nav.col-md-9 .cmn-toggle-switch span,
	#header_1 .cmn-toggle-switch span,
	#header_1 nav .cmn-toggle-switch span,
	#top_line .cmn-toggle-switch span,
	#top_line a.cmn-toggle-switch span,
	a.mobile-hamburger-top span {
		font-size: 0 !important;
		color: transparent !important;
		text-indent: -9999px !important;
		overflow: hidden !important;
		line-height: 0 !important;
		display: none !important;
	}
}

/* ================================================
   VERTICALLY CENTER MENU ITEMS ONLY
   ================================================ */

/* Vertically center and right-align menu items list */
@media (min-width: 992px) {
	/* Make the row and nav container use flexbox for vertical centering */
	#header_1 header .container > .row {
		display: flex;
		align-items: center;
	}
	
	nav.col-md-9 {
		text-align: right;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		height: 100%;
	}
	
	nav.col-md-9 .main-menu {
		display: inline-block;
		text-align: right;
		vertical-align: middle;
	}
	
	nav.col-md-9 .main-menu > ul {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	
	/* Ensure logo is also vertically centered */
	#logo_home {
		display: flex;
		align-items: center;
		height: 100%;
	}
}

/* Make tour card images clickable with hover effect */
.tour_card .tour_image a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.tour_card .tour_image a img {
    transition: transform 0.3s ease;
}

.tour_card .tour_image a:hover img {
    transform: scale(1.05);
    cursor: pointer;
}

/* ================================================
   MOBILE FIXES - Hero Image & Hamburger Menu
   ================================================ */

/* Fix Hero Image on Mobile */
@media (max-width: 767px) {
	.header-video {
		height: 400px !important;
		min-height: 400px !important;
		position: relative !important;
		background: #000 !important;
		background-image: none !important;
	}
	
	/* Remove any fallback background images */
	#hero_video {
		background: transparent !important;
		background-image: none !important;
		position: relative !important;
		z-index: 2 !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	
	.header-video--media {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
		z-index: 1 !important;
	}
}

/* Fix Hamburger Menu Visibility on Mobile */
@media only screen and (max-width: 991px) {
	/* Override the default display:none for hamburger - MUST be visible */
	.cmn-toggle-switch {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 10000 !important;
		position: absolute !important;
		right: 15px !important;
		top: 18px !important;
		width: 30px !important;
		height: 30px !important;
	}
}

/* Override hamburger position for smaller mobile screens - move to top_line */
/* This must override menu.css line 48 which sets display:none globally */
@media only screen and (max-width: 767px) {
	.cmn-toggle-switch,
	a.cmn-toggle-switch,
	nav .cmn-toggle-switch,
	nav.col-md-9 .cmn-toggle-switch,
	#header_1 .cmn-toggle-switch,
	#header_1 nav .cmn-toggle-switch,
	header .cmn-toggle-switch,
	header nav .cmn-toggle-switch {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		top: 8px !important; /* Move to pink top bar */
		right: 15px !important;
		width: 24px !important;
		height: 24px !important;
		z-index: 10001 !important;
		margin: 0 !important;
		overflow: visible !important;
	}
	
	/* Ensure hamburger icon is visible */
	.cmn-toggle-switch span,
	.cmn-toggle-switch span::before,
	.cmn-toggle-switch span::after {
		display: block !important;
		visibility: visible !important;
	}
	
	/* Hide desktop menu items on mobile by default */
	.main-menu > ul {
		display: none !important;
	}
	
	/* Show mobile menu when toggled */
	.main-menu.show > ul {
		display: block !important;
	}
	
	/* Ensure mobile menu panel works */
	.main-menu {
		display: block !important;
		position: fixed !important;
	}
	
	.main-menu.show {
		visibility: visible !important;
		left: 0 !important;
		opacity: 1 !important;
	}
	
	/* Hide desktop menu on mobile */
	nav.col-md-9 .main-menu > ul {
		display: none !important;
	}
	
	/* Show mobile menu when active */
	nav.col-md-9 .main-menu.show > ul {
		display: block !important;
	}
}

/* Extra small mobile */
@media only screen and (max-width: 600px) {
	.header-video {
		height: 350px !important;
		min-height: 350px !important;
	}
	
	.cmn-toggle-switch {
		display: block !important;
		right: 15px !important;
		top: 15px !important;
	}
}

/* ================================================
   HERO BUTTONS - MOBILE OPTIMIZATION
   ================================================ */

/* Tablet - scale down hero text */
@media (max-width: 991px) and (min-width: 768px) {
	#animate_intro h1,
	#animate_intro h3 {
		font-size: 56px !important;
		margin-bottom: 18px !important;
		line-height: 1.2 !important;
		font-family: 'Satisfy', cursive !important;
		color: #fff !important;
		text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.5) !important;
	}
	
	#animate_intro p {
		font-size: 20px !important;
		margin-bottom: 25px !important;
		color: #fff !important;
		text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.5) !important;
		font-weight: 300 !important;
	}
}

/* Make buttons smaller and less stacked on mobile */
@media (max-width: 767px) {
	#animate_intro {
		padding: 20px 15px !important;
	}
	
	#animate_intro h1,
	#animate_intro h3 {
		font-size: 42px !important;
		margin-bottom: 15px !important;
		line-height: 1.2 !important;
		font-family: 'Satisfy', cursive !important;
		color: #fff !important;
		text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.5) !important;
	}
	
	#animate_intro p {
		font-size: 18px !important;
		margin-bottom: 20px !important;
		color: #fff !important;
		text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.5) !important;
		font-weight: 300 !important;
	}
	
	.button_intro_2 {
		display: inline-block !important;
		padding: 10px 20px !important;
		font-size: 14px !important;
		margin: 5px !important;
		width: auto !important;
		min-width: 140px !important;
	}
	
	/* Stack buttons vertically but with less spacing */
	#animate_intro {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
	}
}

/* Extra small mobile */
@media (max-width: 480px) {
	#animate_intro h1,
	#animate_intro h3 {
		font-size: 32px !important;
		margin-bottom: 12px !important;
		line-height: 1.2 !important;
		font-family: 'Satisfy', cursive !important;
		color: #fff !important;
		text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.5) !important;
	}
	
	#animate_intro p {
		font-size: 16px !important;
		margin-bottom: 15px !important;
		color: #fff !important;
		text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.5) !important;
		font-weight: 300 !important;
	}
	
	.button_intro_2 {
		padding: 8px 16px !important;
		font-size: 13px !important;
		min-width: 120px !important;
		width: 80% !important;
		max-width: 200px !important;
	}
}

/* ================================================
   TOUR PAGE - QUICK BOOK BUTTON
   ================================================ */

/* Smooth scroll to booking widget */
html {
	scroll-behavior: smooth;
}

/* Quick Book Button Styling */
.carousel_detail + .text-center {
	margin: 30px 0 !important;
}

.carousel_detail + .text-center .btn_1 {
	display: inline-block;
	padding: 15px 40px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.3s ease;
}

.carousel_detail + .text-center .btn_1:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 20, 147, 0.4);
}

/* Add scroll offset for fixed header */
#booking-widget {
	scroll-margin-top: 100px;
}

/* Mobile adjustments */
@media (max-width: 767px) {
	.carousel_detail + .text-center {
		margin: 20px 0 !important;
	}
	
	.carousel_detail + .text-center .btn_1 {
		padding: 12px 30px !important;
		font-size: 16px !important;
		width: 100%;
		max-width: 300px;
	}
	
	#booking-widget {
		scroll-margin-top: 80px;
	}
}

/* ================================================
   BOOKING MODAL STYLING
   ================================================ */

/* Booking Modal */
#booking-modal .modal-dialog {
	max-width: 900px;
	margin: 30px auto;
}

#booking-modal .modal-content {
	border-radius: 12px;
	border: none;
	box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}

#booking-modal .modal-header {
	background: linear-gradient(135deg, #FF1493 0%, #FFD700 100%);
	color: #FFFFFF;
	border-radius: 12px 12px 0 0;
	padding: 20px 30px;
	border-bottom: none;
}

#booking-modal .modal-title {
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}

#booking-modal .close {
	color: #FFFFFF;
	opacity: 1;
	font-size: 32px;
	font-weight: 300;
	text-shadow: none;
	line-height: 1;
}

#booking-modal .close:hover {
	opacity: 0.8;
	color: #FFFFFF;
}

#booking-modal .modal-body {
	padding: 30px;
	background: #FFFFFF;
}

#booking-modal .modal-footer {
	border-top: 1px solid #E8E8E8;
	padding: 15px 30px;
	background: #F9F9F9;
	border-radius: 0 0 12px 12px;
}

/* Mobile Modal */
@media (max-width: 767px) {
	#booking-modal .modal-dialog {
		margin: 10px;
		max-width: calc(100% - 20px);
	}
	
	#booking-modal .modal-header {
		padding: 15px 20px;
	}
	
	#booking-modal .modal-title {
		font-size: 20px;
	}
	
	#booking-modal .modal-body {
		padding: 20px 15px;
	}
	
	#booking-modal .modal-footer {
		padding: 15px 20px;
	}
}

/* ================================================
   STICKY BOOK BUTTON - MOBILE
   ================================================ */

.sticky_book_bar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #FFFFFF;
	box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
	padding: 15px 20px;
	z-index: 999;
	display: none; /* Hidden by default */
}

.sticky_book_content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 600px;
	margin: 0 auto;
}

.sticky_price {
	display: flex;
	flex-direction: column;
}

.price_label {
	font-size: 12px;
	color: #666666;
	font-weight: 500;
}

.price_amount {
	font-size: 28px;
	font-weight: 700;
	color: #FF1493;
}

.btn_sticky_book {
	background: #FF1493;
	color: #FFFFFF;
	padding: 14px 40px;
	border-radius: 8px;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s;
}

.btn_sticky_book:hover {
	background: #FFD700;
	color: #1A1A1A;
}

/* Show sticky button on mobile only */
@media (max-width: 991px) {
	.sticky_book_bar {
		display: block;
	}
	
	/* Add padding to bottom of page so content isn't hidden */
	body {
		padding-bottom: 80px;
	}
}

/* ================================================
   SHOW OPTIONS GRID - COMPACT
   ================================================ */

.show_options_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin: 30px 0;
}

.show_option {
	background: #FFFFFF;
	border: 2px solid #F0F0F0;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s;
}

.show_option:hover {
	border-color: #FF1493;
	box-shadow: 0 4px 15px rgba(255, 20, 147, 0.2);
}

.show_option img {
	width: 100%;
	height: 150px;
	object-fit: cover;
}

.show_info_compact {
	padding: 15px;
}

.show_info_compact h4 {
	font-size: 18px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 5px;
}

.show_info_compact .tagline {
	font-size: 14px;
	color: #FF1493;
	font-weight: 500;
	margin-bottom: 8px;
}

.show_info_compact .duration {
	font-size: 13px;
	color: #666666;
	margin: 0;
}

@media (max-width: 767px) {
	.show_options_grid {
		grid-template-columns: 1fr;
	}
}

/* ================================================
   INCLUDED/EXCLUDED BOXES
   ================================================ */

.included_box, .excluded_box {
	background: #FFF8DC;
	padding: 25px;
	border-radius: 8px;
	margin-bottom: 20px;
}

.included_box {
	border-left: 4px solid #FFD700;
}

.excluded_box {
	border-left: 4px solid #999999;
}

.included_box h4, .excluded_box h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #1A1A1A;
}

.included_box ul, .excluded_box ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.included_box li, .excluded_box li {
	padding: 8px 0;
	font-size: 15px;
	color: #333333;
}

/* ================================================
   SIMPLIFIED ITINERARY
   ================================================ */

.itinerary_simple {
	background: #FFF8DC;
	border-left: 4px solid #FF1493;
	padding: 30px;
	border-radius: 8px;
	margin: 30px 0;
}

.itinerary_time {
	display: flex;
	align-items: baseline;
	gap: 15px;
	margin-bottom: 20px;
}

.itinerary_time strong {
	font-size: 20px;
	color: #FF1493;
	font-weight: 700;
}

.itinerary_time span {
	font-size: 16px;
	color: #333333;
}

.itinerary_stops {
	list-style: none;
	padding: 0 0 0 20px;
	margin: 20px 0;
}

.itinerary_stops li {
	position: relative;
	padding: 12px 0;
	padding-left: 30px;
	font-size: 15px;
	color: #333333;
	border-left: 2px solid #FFD700;
}

.itinerary_stops li:before {
	content: '●';
	position: absolute;
	left: -6px;
	color: #FFD700;
	font-size: 20px;
}

.itinerary_note {
	background: #FFFFFF;
	padding: 15px;
	border-radius: 6px;
	margin-top: 20px;
	font-size: 15px;
	color: #333333;
}

/* Collapsible details */
.itinerary_details {
	margin-top: 20px;
	cursor: pointer;
}

.itinerary_details summary {
	font-size: 15px;
	color: #FF1493;
	font-weight: 600;
	padding: 15px;
	background: #F8F8F8;
	border-radius: 6px;
	cursor: pointer;
	list-style: none;
}

.itinerary_details summary::-webkit-details-marker {
	display: none;
}

.itinerary_details summary:before {
	content: '▶ ';
	margin-right: 8px;
}

.itinerary_details[open] summary:before {
	content: '▼ ';
}

.itinerary_details summary:hover {
	background: #FFF8DC;
}

.detailed_content {
	padding: 20px 0;
}


/* ================================================
   RELATED TOURS SECTION
   ================================================ */

.related_tours {
	background: #F8F8F8;
	padding: 60px 0;
	margin-top: 60px;
}

.related_tours h3 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 40px;
	text-align: center;
}

.related_tours .row {
	display: flex;
	flex-wrap: wrap;
}

.related_tours .row > div {
	display: flex;
}

.tour_card.related {
	margin-bottom: 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.tour_card.related .tour_image {
	position: relative;
	height: 280px;
	overflow: hidden;
	border-radius: 8px 8px 0 0;
}

.tour_card.related .tour_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.tour_card.related:hover .tour_image img {
	transform: scale(1.05);
}

.tour_card.related .tour_image a {
	display: block;
	width: 100%;
	height: 100%;
}

.tour_price_badge {
	position: absolute;
	top: 15px;
	right: 15px;
	background: #FF1493;
	color: #FFFFFF;
	padding: 8px 16px;
	border-radius: 6px;
	font-size: 20px;
	font-weight: 700;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.tour_price_badge:before {
	content: '$';
	font-size: 16px;
}

.tour_card.related .tour_info {
	padding: 20px;
	background: #FFFFFF;
	border-radius: 0 0 8px 8px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.tour_card.related .tour_info h4 {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.tour_card.related .tour_duration {
	font-size: 14px;
	color: #666666;
	margin-bottom: 15px;
}

.btn_notify, .btn_partner {
	background: transparent;
	border: 2px solid #FF1493;
	color: #FF1493;
	padding: 12px 24px;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	display: block;
	text-align: center;
	transition: all 0.3s;
	width: 100%;
	margin-top: auto;
}

.btn_notify:hover, .btn_partner:hover {
	background: #FF1493;
	color: #FFFFFF;
}

.tour_card.related .tour_status {
	position: absolute;
	top: 15px;
	right: 15px;
	background: rgba(0, 0, 0, 0.85);
	color: #FFFFFF;
	padding: 8px 18px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	z-index: 2;
}

@media (max-width: 991px) {
	.related_tours {
		padding: 40px 0;
	}
	
	.tour_card.related .tour_image {
		height: 250px;
	}
}

@media (max-width: 767px) {
	.related_tours h3 {
		font-size: 28px;
		margin-bottom: 30px;
	}
	
	.tour_card.related {
		margin-bottom: 30px;
	}
}


/* ================================================
   DESKTOP BOOK NOW BUTTON (Above the fold)
   ================================================ */

.desktop_book_button {
	margin: 30px 0;
	display: none; /* Hidden by default */
}

.btn_book_desktop {
	padding: 16px 50px;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(255, 20, 147, 0.3);
}

.btn_book_desktop:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 20, 147, 0.4);
}

/* Show on desktop only */
@media (min-width: 992px) {
	.desktop_book_button {
		display: block;
	}
}

/* Smooth scroll behavior */
html {
	scroll-behavior: smooth;
}


/* ================================================
   IMPROVED TOUR CARDS - FEATURED LAYOUT
   ================================================ */

.tours_section {
	padding: 30px 0;
	background: #FFFFFF;
}

.section_subtitle {
	font-size: 16px;
	color: #666666;
	margin-bottom: 20px;
}

.tours_showcase {
	margin-top: 15px;
}

/* Featured Tour Card - Large & Clickable */
.tour_card_featured {
	display: block;
	background: #FFFFFF;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.12);
	transition: all 0.3s ease;
	text-decoration: none;
	height: 100%;
	color: inherit;
}

.tour_card_featured:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 35px rgba(255, 20, 147, 0.25);
	text-decoration: none;
	color: inherit;
}

.tour_image_featured {
	position: relative;
	height: 300px;
	overflow: hidden;
}

.tour_image_featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.tour_card_featured:hover .tour_image_featured img {
	transform: scale(1.05);
}

.tour_badge.featured {
	position: absolute;
	top: 15px;
	left: 15px;
	background: #FF1493;
	color: #FFFFFF;
	padding: 8px 20px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	z-index: 2;
}

/* Featured Tour Content */
.tour_content_featured {
	padding: 20px;
}

.tour_header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 12px;
}

.tour_header h3 {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 6px;
}

.tour_tagline {
	font-size: 14px;
	color: #666666;
	font-style: italic;
	margin: 0;
}

.tour_price_featured {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	flex-shrink: 0;
	margin-left: 20px;
}

.price_amount {
	font-size: 32px;
	font-weight: 700;
	color: #FF1493;
	line-height: 1;
}

.price_label {
	font-size: 12px;
	color: #666666;
	margin-top: 3px;
}

/* Tour Highlights Grid */
.tour_highlights {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 12px;
}

.highlight_item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #333333;
}

.highlight_item i {
	color: #FFD700;
	font-size: 18px;
}

/* Tour Description */
.tour_description {
	font-size: 14px;
	line-height: 1.5;
	color: #333333;
	margin-bottom: 12px;
}

/* CTA */
.tour_cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.btn_tour_large {
	background: #FF1493;
	color: #FFFFFF;
	padding: 14px 32px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
	transition: all 0.3s;
}

.tour_card_featured:hover .btn_tour_large {
	background: #FFD700;
	color: #1A1A1A;
}

.tour_schedule {
	font-size: 14px;
	color: #666666;
	font-weight: 500;
}

/* Coming Soon Sidebar */
.coming_soon_sidebar {
	background: #FFF8DC;
	border: 2px solid #FFD700;
	border-radius: 12px;
	padding: 15px;
	height: 100%;
}

.coming_soon_sidebar h4 {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 6px;
}

.sidebar_intro {
	font-size: 13px;
	color: #666666;
	margin-bottom: 12px;
}

.coming_tour_item {
	display: flex;
	gap: 10px;
	padding: 10px;
	background: #FFFFFF;
	border-radius: 8px;
	margin-bottom: 10px;
	transition: all 0.3s;
}

.coming_tour_item:last-child {
	margin-bottom: 0;
}

.coming_tour_item:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.coming_tour_item img {
	width: 70px;
	height: 70px;
	object-fit: cover;
	border-radius: 6px;
	flex-shrink: 0;
}

.coming_tour_item a {
	text-decoration: none;
}

.coming_info {
	flex: 1;
}

.coming_info h5 {
	font-size: 15px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 3px;
}

.coming_info p {
	font-size: 12px;
	color: #666666;
	margin-bottom: 6px;
}

.btn_notify_small {
	background: transparent;
	border: 2px solid #FF1493;
	color: #FF1493;
	padding: 5px 14px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s;
	text-decoration: none;
	display: inline-block;
}

.btn_notify_small:hover {
	background: #FF1493;
	color: #FFFFFF;
	text-decoration: none;
}

/* Responsive */
@media (max-width: 991px) {
	.tour_header {
		flex-direction: column;
	}
	
	.tour_price_featured {
		align-items: flex-start;
		margin-left: 0;
		margin-top: 15px;
	}
	
	.tour_highlights {
		grid-template-columns: 1fr;
	}
	
	.coming_soon_sidebar {
		margin-top: 30px;
	}
}

@media (max-width: 767px) {
	.tours_section {
		padding: 60px 0;
	}
	
	.tour_image_featured {
		height: 280px;
	}
	
	.tour_content_featured {
		padding: 25px;
	}
	
	.tour_header h3 {
		font-size: 24px;
	}
	
	.price_amount {
		font-size: 32px;
	}
	
	.tour_cta {
		flex-direction: column;
		align-items: stretch;
		gap: 15px;
	}
	
	.btn_tour_large {
		text-align: center;
	}
	
	.tour_schedule {
		text-align: center;
	}
}


