/**
 * Theme Name:     Astra Child
 * Author:         Brainstorm Force
 * Template:       astra
 * Text Domain:	   astra-child
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */



.ast-single-post.ast-page-builder-template .site-main > article{
	padding: 0px !important;
}


/* Product Card Grid */
.shortcode-product-card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 40px 0;
}

/* Card Container */
.shortcode-product-card-grid .product-card {
	background: #fff;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.shortcode-product-card-grid .product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

/* Image */
.shortcode-product-card-grid .product-image-wrapper {
	position: relative;
	overflow: hidden;
	height: 250px;
}

.shortcode-product-card-grid .product-image-wrapper img {
	width: 100%;
	height: 250px;
	display: block;
	object-fit: cover;
}

/* Price Tag */
.shortcode-product-card-grid .product-price-tag {
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: #FBBA38;
	color: #000;
	padding: 6px 12px;
	font-weight: bold;
	border-radius: 4px;
	font-size: 0.95rem;
}

/* Info Section */
.shortcode-product-card-grid .product-info {
	padding: 15px;
	text-align: center;
	height: 270px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.shortcode-product-card-grid .product-info h3 {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 10px;
	color: #1a2b48;
	margin-top: 10px;
}

.shortcode-product-card-grid .product-info p {
	font-size: 0.95rem;
	color: #555;
	margin-bottom: 15px;
	line-height: 1.4;
}

/* Buttons wrapper */
.product-btn-wrapper {
	display: flex;
	justify-content: space-around;
}

/* Button */
.product-btn {
	display: inline-block;
	background: #7601FF;
	border: 2px solid #7601FF;
	font-size: 18px;
	color: #fff;
	padding: 8px 16px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	transition: background 0.2s ease;
	text-decoration: none !important;
}

.product-btn:hover {
	background: #4C00A3;
	border: 2px solid #4C00A3;
	color: #fff;
}

/* Button secondary */
.product-btn-secondary {
	background: transparent;
	color: #000;
	border: 2px solid #f77f00;
}

.product-btn-secondary:hover {
	background: #F77F00;
	color: #fff;
	border: 2px solid #F77F00;
}

/* ----------------------------- */
/* MOBILE = Horizontal Slider */
/* ----------------------------- */

@media screen and (max-width: 767px){

	.shortcode-product-card-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 16px;
		padding-bottom: 10px;
	}

	.shortcode-product-card-grid .product-card {
		flex: 0 0 85%;
		scroll-snap-align: start;
		border-radius: 15px;
		    border: 1px solid lightgray;
		    box-shadow: none !important;
	}

	.shortcode-product-card-grid .product-info {
		padding: 10px 15px;
		height: auto;
	}

	.shortcode-product-card-grid .product-info h3{
		margin-bottom: 5px;
		font-size: 1.7rem;
		line-height: 1.7rem;
		margin-top: 10px;
	}

	.shortcode-product-card-grid .product-info p{
		font-size: 1.2rem;
	}

	.shortcode-product-card-grid .product-image-wrapper {
		height: 180px;
	}

	.shortcode-product-card-grid .product-image-wrapper img {
		height: 180px;
	}

	.shortcode-product-card-grid .product-price-tag {
		font-size: 1.3rem;
	}

	/* Hide scrollbar */
	.shortcode-product-card-grid::-webkit-scrollbar {
		display: none;
	}

	.shortcode-product-card-grid {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	
	.product-btn-wrapper {
    flex-direction: column;
    row-gap: 10px;
}
}

/* Product Card Grid - END */


/*Styles for the Whats Included section inside of the PDP*/

.whats-included-wrapper {
    margin: 20px 0;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 12px;
}

.whats-included-wrapper h3 {
    margin-bottom: 0px;
}

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

.whats-included-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #e5e5e5;
}

.whats-included-item:last-child {
    border-bottom: none;
}

/*END Styles for the Whats Included section inside of the PDP*/


/*Visual enhancement for product cards inside of the category landing*/

.woocommerce .products .type-product{
	    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
}

.woocommerce .products .type-product img{
	    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}


/*END Visual enhancement for product cards inside of the category landing*/


/* ================================
   ASTRA WC LOOP → CUSTOM CARD STYLE
================================ */

/* Grid spacing */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Card container */
ul.products li.product {
    background: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    padding: 0 !important;
}

ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

/* ================================
   IMAGE AREA
================================ */

.astra-shop-thumbnail-wrap {
    position: relative;
    overflow: hidden;
    height: 250px;
}

.astra-shop-thumbnail-wrap img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

/* ================================
   PRICE BADGE (overlay)
================================ */

ul.products li.product .price {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #f77f00;
    color: #fff !important;
    padding: 6px 12px;
    font-weight: bold;
    border-radius: 4px;
    font-size: 0.95rem;
    margin: 0 !important;
}

ul.products li.product .price * {
    color: #fff !important;
}

/* Hide original price position spacing */
.astra-shop-summary-wrap .price {
    margin-bottom: 0;
}

/* ================================
   CONTENT AREA
================================ */

.astra-shop-summary-wrap {
    padding: 15px;
    text-align: center;
    height: 270px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

ul.products li.product h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a2b48;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Description */
.ast-woo-shop-product-description {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.4;
    margin-bottom: 15px;
}

/* ================================
   BUTTON
================================ */

ul.products li.product .button.add_to_cart_button {
    background: #fcbf49 !important;
    font-size: 18px;
    color: #000 !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    font-weight: 600;
    text-transform: uppercase;
    transition: background 0.2s ease;
}

ul.products li.product .button.add_to_cart_button:hover {
    background: #C98703 !important;
    color: #fff !important;
}

/* Hide floating icon cart button */
.ast-on-card-button {
    display: none !important;
}

/* ================================
   MOBILE
================================ */

@media screen and (max-width: 767px){

    ul.products {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    ul.products li.product {
        border-radius: 15px;
    }

    .astra-shop-summary-wrap {
        padding: 10px 15px;
        height: auto;
    }

    ul.products li.product h2 {
        font-size: 1.7rem;
        line-height: 1.7rem;
    }

    .ast-woo-shop-product-description {
        font-size: 1.2rem;
    }

    .astra-shop-thumbnail-wrap,
    .astra-shop-thumbnail-wrap img {
        height: 150px;
    }

    ul.products li.product .price {
        font-size: 1.5rem;
    }
}

/* Our Features Section */
.card-column {
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    border: 2px solid #ffffff;
    transition: transform 0.3s;
    text-align: center;
}

.card-column:hover {
    transform: scale(1.10);
}

.card-icon {
    padding: 12px;
    background-color: #f77f00;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    width: fit-content;
    margin: 0 auto 10px;
}

.card-icon i {
    font-size: 1.8rem;
    color: white;
}

.card-column:hover .card-icon {
    background-color: #4C00A3;
}

.card-column:hover .card-title {
    font-size: 22px !important;
}

.card-icon:hover i {
    color: white;
}

.card-title {
    color: #ffd700;
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
}

.card-text {
    color: #ffffff;
    font-size: 14px;
}

@media screen and (max-width: 767px){

	.values-section {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 16px;
		padding-bottom: 12px; /* space for scrollbar */
	}

	.values-section > .wp-block-column {
		flex: 0 0 85% !important;
		max-width: 85% !important;
		scroll-snap-align: start;
	}

	/* ===== Custom Scrollbar ===== */

	/* Chrome / Edge / Safari */
	.values-section::-webkit-scrollbar {
		height: 6px;
	}

	.values-section::-webkit-scrollbar-track {
		background: #f1f1f1;
		border-radius: 10px;
	}

	.values-section::-webkit-scrollbar-thumb {
		background: #f77f00;
		border-radius: 10px;
	}

	.values-section::-webkit-scrollbar-thumb:hover {
		background: #d96d00;
	}

	/* Firefox */
	.values-section {
		scrollbar-color: #f77f00 #f1f1f1;
		scrollbar-width: thin;
	}
}



/*End Features Section*/
/*form-wrapper section*/
.form-wrapper span {
    margin: 20px auto;
    width: 70% !important;
}

.form-wrapper .submit-wrapper {
    display: flex;
    flex-direction: column;
}

.form-wrapper .wpcf7-submit {
    width: fit-content;
    margin: auto;
    font-size: 22px;
    background-color: #fcbf49;
    color: #003049;
}

/*End form-wrapper section*/

/* Reset Woo default grid */
.single-product .flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 15px 0;
    margin: 0;
}

/* Remove flex item width restrictions */
.single-product .flex-control-thumbs li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    flex: 0 0 auto;
}

/* Thumbnail image styling */
.single-product .flex-control-thumbs img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover;
    border-radius: 6px;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.25s ease;
    display: block;
}

/* Active thumbnail */
.single-product .flex-control-thumbs img.flex-active {
    opacity: 1;
    border: 2px solid #2b6cb0;
    /* use your brand color */
}

/* Hide scrollbar */
.single-product .flex-control-thumbs::-webkit-scrollbar {
    display: none;
}

.single-product .flex-control-thumbs {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/*Transforms the PDP grid into a slider*/

/* WeTravel button changes*/
button.wtrvl-checkout_button {
    font-size: 18px !important;
    color: #000 !important;
    padding: 10px 20px !important;
    height: 100%;
    font-weight: 600 !important;
}

.wetravel-widget-wrapper div{
	height: 100%;
}

button.wtrvl-checkout_button:hover{
	background-color: #C98703 !important;
	color: #fff !important;
}

/* END WeTravel button changes*/

/*Changes the styles for the navigation bar only for those with transparent header*/
.ast-theme-transparent-header 
.ast-primary-header-bar 
.main-header-menu > .menu-item > .menu-link {
    color: #fff;
	font-size: 18px;
}

/*WeTravel button on PDP*/

.type-product .wetravel-widget-wrapper .wtrvl-checkout_button{
	    width: 100%;
    padding: 17px !important;
    text-transform: uppercase;
}

/*END WeTravel button on PDP*/
/*GENERAL STYLING FOR WORDPRESS LIMITATIONS*/
/*Hover styles for general buttons*/
.hover-style-1 a:hover{
		background-color: #C98703 !important;
}


@media screen and (max-width: 767px){
	.mobile-text-center{
		text-align:center !important;
	}
	
	.mobile-justify-center{
		    justify-content: center !important;
	}
}

/*END GENERAL STYLING FOR WORDPRESS LIMITATIONS*/



/*Animation for the re usable sections*/

/* ===============================
   IMAGE ZOOM (hover entire section)
================================== */

.animated-card-1 .wp-block-image {
    overflow: hidden;
    border-radius: 15px;
}

.animated-card-1 .wp-block-image img {
    transition: transform 0.8s cubic-bezier(.25,.46,.45,.94);
}

.animated-card-1:hover .wp-block-image img {
    transform: scale(1.06);
}


/* ===============================
   TEXT REVEAL (initial state)
================================== */
.animated-card-1 h1,
.animated-card-1 h2,
.animated-card-1 p,
.animated-card-1 .wp-block-buttons {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease;
}


/* ===============================
   TEXT REVEAL (active state)
================================== */
.animated-card-1.animate-in h1 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s;
}

.animated-card-1.animate-in h2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s;
}

.animated-card-1.animate-in p {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.5s;
}

.animated-card-1.animate-in .wp-block-buttons {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.7s;
}


/* ===============================
   BUTTON MICRO INTERACTION
================================== */

.animated-card-1 .wp-block-button__link {
    transition: all 0.3s ease;
}

.animated-card-1 .wp-block-button__link:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}


/*V2*/
/* ===============================
   FEATURES SECTION (animated-card-2)
================================== */

.animated-card-2 .card-column {
    background-color: #ffffff;
    padding: 30px 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: all 0.4s cubic-bezier(.25,.46,.45,.94);
    text-align: center;
    position: relative;
}

/* Hover Effect */
.animated-card-2 .card-column:hover {
    transform: translateY(-12px) scale(1.03);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
    border-color: rgba(76, 0, 163, 0.1);
}

/* ===============================
   ICON
================================== */

.animated-card-2 .card-icon {
    padding: 14px;
    background-color: #f77f00;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    width: fit-content;
    margin: 0 auto 15px;
    transition: all 0.4s ease;
}

.animated-card-2 .card-column:hover .card-icon {
    background-color: #4C00A3;
    transform: scale(1.1) rotate(6deg);
}

/* ===============================
   TITLE
================================== */

.animated-card-2 .card-title {
    color: #4C00A3;
    font-size: 18px;
    margin-bottom: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.animated-card-2 .card-column:hover .card-title {
    transform: scale(1.05);
}

/* ===============================
   TEXT
================================== */

.animated-card-2 .card-text {
    color: #003049;
    font-size: 16px;
    transition: opacity 0.3s ease;
}

/* ===============================
   SCROLL REVEAL (initial state)
================================== */

.animated-card-2 .card-column {
    opacity: 0;
    transform: translateY(40px);
}

/* Active state */
.animated-card-2.animate-in .card-column {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger animation */
.animated-card-2.animate-in .card-column:nth-child(1) { transition-delay: 0.1s; }
.animated-card-2.animate-in .card-column:nth-child(2) { transition-delay: 0.2s; }
.animated-card-2.animate-in .card-column:nth-child(3) { transition-delay: 0.3s; }
.animated-card-2.animate-in .card-column:nth-child(4) { transition-delay: 0.4s; }
/*END Animation for the re usable sections*/








/*Itinerary*/
.day-card-wrapper {
    display: grid;
    grid-template-columns: 0.5fr 1.5fr;
    gap: 15px;
    margin-bottom: 0px;
}

.day-card-image-container img {
    height: 90%;
    object-fit: cover;
    width: 100%;
    margin-top: 5%;
    margin-bottom: 5%;
}

.day-card-description-container {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.day-card-paragraph p:nth-child(1) {
    margin-bottom: 0px;
}

.day-card-features .feature-item {
    display: grid;
    align-items: center;
    grid-template-columns: 0.1fr 1.9fr;
}

.day-card-features .feature-item i {
    justify-self: center;
}

.day-card-features .feature-item p {
    margin-bottom: 0px;
}

/* Position the connector and circle */
.day-card-wrapper {
    position: relative;
    display: flex;
}

.day-card-image-container {
    flex: 0 0 210px;
    /* Set image size */
    position: relative;
}

.day-card-connector {
    position: absolute;
    top: 50%;
    left: 210px;
    /* Adjust this based on your layout */
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    /* Ensure the connector stretches to full height */
    margin-left: 2px;
}

.circle-icon {
    display: block;
    margin-bottom: 10px;
    /* Space between the icon and the line */
    z-index: 2;
    /* Ensure the icon stays above the line */
    position: relative;
    top: 40%;
}

.line-connector {
    width: 2px;
    background-color: #00ad67;
    /* Line color */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    /* Center the line */
}

.magnify-container {
    position: relative;
    /* Positioning for pseudo-element */
    display: inline-block;
    height: 100%;
}

.magnify-container .magnify-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    /* Adjust size as needed */
    height: 24px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    transition: background-color 0.3s ease, filter 0.3s ease;
    /* Smooth transition for hover effect */
}

.magnify-container:hover img {
    background-color: rgba(0, 0, 0, 0.1);
    /* Add a slight dark overlay */
    filter: brightness(0.8);
    /* Slightly darken the entire element */
}

.magnify-container:hover .magnify-icon {
    opacity: 1;
}

/* Ensure that the content on the right doesn't overlap with the circle and line */
.day-card-description-container {
    margin-left: 10px;
    /* Adjust for the space between image and content */
    flex-grow: 1;
}

.map-image-wrapper img {
    object-fit: cover;
    height: 350px;
}

.day-card-image-container-mobile {
    display: none;
}

.day-card-image-container-desktop {
    display: block;
}

@media screen and (max-width: 767px) {
    .day-card-image-container-mobile {
        display: block;
    }

    .day-card-image-container-desktop {
        display: none;
    }

    .day-card-connector {
        display: none;
    }

    .day-card-description-container {
        margin-left: 0px;
    }

    .map-image-wrapper img {
        height: 200px;
        margin-top: 20px;
    }
}

.large-height-image {
    height: 300px;
    object-fit: cover;
}

@media (min-width: 992px) {
    .modal-map-image .modal-lg {
        max-width: 1800px;
        margin-top: 5%;
    }
}

/*Itinerary - END */


/*New package cards for homepage*/
/* GRID */

.custom-package-product-card-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
	margin:60px 0;
}

/* CARD */

.custom-package-product-card{
	position:relative;
	height:520px;
	border-radius:20px;
	overflow:hidden;
	background-size:cover;
	background-position:center;
	display:flex;
	align-items:flex-end;
	color:#fff;
	cursor:pointer;
	text-decoration:none !important;
	transition:transform .25s ease;
}

.custom-package-product-card:hover{
	transform:translateY(-8px);
}

/* OVERLAY */

.custom-package-product-card-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(
		to top,
		rgba(0,0,0,0.75),
		rgba(0,0,0,0.2),
		rgba(0,0,0,0)
	);
	transition:all .35s ease;
}

/* DARKER ON HOVER */

.custom-package-product-card:hover .custom-package-product-card-overlay{
	background:linear-gradient(
		to top,
		rgba(0,0,0,0.95),
		rgba(0,0,0,0.4),
		rgba(0,0,0,0.1)
	);
}

/* TOP LAYER */

.custom-package-product-card-top{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:20px;
	display:flex;
	justify-content:flex-end;
	z-index:3;
	pointer-events:none;
}

/* PRICE */

.custom-package-product-card-price{
	background:#FBBA38;
	color:#fff;
	font-weight:700;
	font-size:16px;
	padding:8px 14px;
	border-radius:8px;
	box-shadow:0 4px 10px rgba(0,0,0,0.25);

	opacity:0;
	transform:translateY(-10px);
	transition:all .35s ease;
}

/* CONTENT */

.custom-package-product-card-content{
	position:relative;
	padding:30px;
	z-index:2;

	transform:translateY(30px);
	transition:all .35s ease;
}

.custom-package-product-card-content h3{
	font-size:28px;
	font-weight:700;
	margin-bottom:15px;
	line-height:1.2;
	color:white;
	text-align:center;
	text-decoration: none;
}

/* DESCRIPTION */

.custom-package-product-card-desc{
	font-size:15px;
	line-height:1.5;
	margin-bottom:20px;
	opacity:0;
	transform:translateY(20px);
	transition:all .35s ease;
	text-align:center;
	text-decoration: none; 
	color: white;
}

/* HOVER REVEAL */

.custom-package-product-card:hover .custom-package-product-card-content{
	transform:translateY(0);
}

.custom-package-product-card:hover .custom-package-product-card-desc{
	opacity:1;
	transform:translateY(0);
}

.custom-package-product-card:hover .custom-package-product-card-price{
	opacity:1;
	transform:translateY(0);
}

/* ----------------------------- */
/* MOBILE CAROUSEL */
/* ----------------------------- */

@media(max-width:767px){

.custom-package-product-card-grid{

	display:flex;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	gap:18px;
	padding-bottom:10px;
}

.custom-package-product-card{

	flex:0 0 85%;
	scroll-snap-align:start;
	height:480px;
}

.custom-package-product-card-grid::-webkit-scrollbar{
	display:none;
}

.custom-package-product-card-grid{
	-ms-overflow-style:none;
	scrollbar-width:none;
}

}
/*END New package cards for homepage*/