
/*
Theme Name: Bridge Child
Theme URI: http://bridgelanding.qodeinteractive.com/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: bridge
Template: bridge
*/

/* ===== GOWEBEE CUSTOM CSS ===== */

/* Centrage titres et prix vignettes produit WooCommerce */
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .woocommerce ul.products li.product h3, .woocommerce ul.products li.product .price {
	text-align: center !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	width: 100% !important;
}

.elementor-widget-wc-archive-products .woocommerce-loop-product__title {
	text-align: center !important;
}

.elementor-8363 .elementor-element-2bda572b.elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
	text-align: center !important;
}

.woocommerce ul.products li.product h6 {
	text-align: center !important;
}

/* Flèches carousel galerie produit WooCommerce */
.woocommerce-product-gallery .flex-direction-nav .flex-prev, .woocommerce-product-gallery .flex-direction-nav .flex-next {
	background-color: rgba(0, 0, 0, .5) !important;
	border-radius: 50% !important;
	opacity: 1 !important;
}

.woocommerce-product-gallery .flex-direction-nav .flex-prev i, .woocommerce-product-gallery .flex-direction-nav .flex-next i {
	color: #fff !important;
	font-size: 20px !important;
}

/* ===== GOWEBEE — Layout page produit ===== */
.flex-control-thumbs {
	max-height: 453px !important;
	overflow: hidden !important;
}

.single-product .woocommerce-product-gallery, .single-product .summary {
	align-self: flex-start !important;
}

.woocommerce div.product {
	padding-top: 50px !important;
}

/* ===== GOWEBEE — Remontée image principale galerie ===== */
.woocommerce.single-product .flex-viewport {
	margin-top: -10px !important;
}

/* ===== GOWEBEE — Single Product Page Responsiveness (Stack on Mobile/Tablet) ===== */
@media only screen and (max-width: 1024px) {
	.woocommerce.single-product div.product {
		display: flex !important;
		flex-direction: column !important;
		padding-top: 20px !important;
	}
	
	.woocommerce.single-product div.product .images, .woocommerce.single-product div.product .summary {
		width: 100% !important;
		float: none !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding: 0 15px !important;
		box-sizing: border-box !important;
	}
	
	.woocommerce.single-product div.product .summary {
		margin-top: 30px !important;
	}
	
	/* Product Gallery Adjustments */
	.woocommerce.single-product .woocommerce-product-gallery__wrapper {
		margin: 0 !important;
	}
	
	/* Variation Selects UX Improvement */
	.woocommerce.single-product div.product form.cart .variations td {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
	}
	
	.woocommerce.single-product div.product form.cart .variations td.label {
		padding-bottom: 5px !important;
	}
	
	.woocommerce.single-product div.product form.cart .variations select {
		width: 100% !important;
		height: 45px !important;
	}
	
	/* Quantity and Add to Cart Buttons */
	.woocommerce.single-product div.product form.cart {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 15px !important;
	}
	
	.woocommerce.single-product div.product form.cart .quantity {
		margin: 0 !important;
		float: none !important;
	}
	
	.woocommerce.single-product div.product form.cart .button {
		width: 100% !important;
		max-width: 300px !important;
		margin: 0 !important;
		float: none !important;
		text-align: center !important;
	}
}

/* Fix for gallery thumbnails overlapping or causing overflow */
.woocommerce-product-gallery .flex-control-thumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 10px 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	width: 60px !important;
	float: none !important;
	margin: 0 !important;
}

/* ===== CUSTOM HEADER & MEGA MENU ===== */
.custom-header-flex {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
}

.q_logo {
	flex: 0 0 20% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

nav.main_menu {
	flex: 0 0 60% !important;
	display: flex !important;
	justify-content: center !important;
}

.custom-header-right-icons {
	flex: 0 0 20% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 20px;
}

/* Header Icons Styling */
.header-icon i, .header-icon .qode_search_holder i {
	font-size: 18px;
	color: #222;
}

.header-icon:hover i {
	color: #c00;
}

.gtranslate-flags {
	display: flex;
	gap: 8px;
	align-items: center;
}

.gtranslate-flags img {
	width: 24px;
	height: auto;
	cursor: pointer;
	transition: .2s;
}

.gtranslate-flags img:hover {
	transform: scale(1.1);
}

/* Mega Menu Enhancements */
.qode-custom-mega-menu {
	border-bottom: 3px solid #c00;
}

.mm-grid-item .title {
	margin-top: 5px;
	transition: color .2s;
}

.mm-grid-item:hover .title {
	color: #c00;
}

/* Red Pill Styling for Menu */
.mm-pill {
	font-family: "Open Sans", sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Mobile Adjustments */
@media only screen and (max-width: 1000px) {
	header.page_header {
		flex-wrap: wrap;
		padding: 10px !important;
	}
	
	nav.main_menu {
		order: 3;
		width: 100% !important;
		justify-content: flex-start !important;
	}
	
	.custom-header-right-icons {
		order: 2;
	}
}

.qode-custom-mega-menu {
	position: absolute;
	left: 0;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .1);
	display: none;
	z-index: 999;
	border-top: 2px solid #c00;
}

.main_menu nav > ul > li:hover > .qode-custom-mega-menu {
	display: block;
}

.mm-container {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	min-height: 400px;
}

/* Left Section (30%) */
.mm-left-pills {
	width: 30%;
	background: #f9f9f9;
	padding: 20px;
	border-right: 1px solid #eee;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mm-pill {
	background: #c00;
	color: #fff;
	padding: 12px 20px;
	border-radius: 50px;
	cursor: pointer;
	font-weight: bold;
	transition: .3s;
	text-align: center;
}

.mm-pill:hover, .mm-pill.active {
	background: #900;
	box-shadow: 0 4px 10px rgba(204, 0, 0, .3);
}

/* Right Section (70%) */
.mm-right-content {
	width: 70%;
	padding: 30px;
	position: relative;
}

.mm-l2-pills {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.mm-l2-pill {
	background: #eee;
	color: #333;
	padding: 8px 15px;
	border-radius: 20px;
	cursor: pointer;
	font-size: 14px;
}

.mm-l2-pill.active {
	background: #c00;
	color: #fff;
}

/* Grid Layout (5 columns) */
.mm-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.mm-grid-item {
	text-align: center;
	transition: .3s;
}

.mm-grid-item:hover {
	transform: translateY(-5px);
}

.mm-grid-item img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	margin-bottom: 10px;
	border: 1px solid #eee;
}

.mm-grid-item .title {
	font-size: 13px;
	font-weight: 600;
	color: #222;
	display: block;
	line-height: 1.4;
}

/* Mobile Overrides */
@media (max-width: 1000px) {
	.qode-custom-mega-menu {
		position: static;
		width: 100%;
		transform: none;
		box-shadow: none;
		border-top: none;
	}
	
	.mm-container {
		flex-direction: column;
		min-height: auto;
	}
	
	.mm-left-pills, .mm-right-content {
		width: 100%;
		padding: 10px;
	}
	
	.mm-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	
	.mm-grid-item {
		display: flex;
		align-items: center;
		text-align: left;
		gap: 10px;
		padding: 10px;
		border-bottom: 1px solid #eee;
	}
	
	.mm-grid-item img {
		display: none !important;
	}
	
	.mm-grid-item .title {
		font-size: 14px;
	}
}

/* Custom Shortcode Header Styles */
.custom-shortcode-header {
	width: 100% !important;
	background-color: #fff !important;
	border-bottom: 1px solid #eee !important;
	z-index: 9999 !important;
}

.custom-shortcode-header .main_menu > ul {
	display: flex !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	justify-content: center !important;
}

.custom-shortcode-header .main_menu > ul > li {
	position: relative !important;
	padding: 0 15px !important;
}

.custom-shortcode-header .main_menu > ul > li > a {
	line-height: 100px !important;
	height: 100px !important;
	display: block !important;
	color: #222 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
}

.custom-shortcode-header .custom-header-flex {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	height: 100px !important;
}

.custom-shortcode-header .q_logo img {
	max-height: 80px !important;
	width: auto !important;
}

/* Hide default theme header when custom shortcode header is used */
body:has(.custom-shortcode-header) > .wrapper > .wrapper_inner > .page_header:not(.custom-shortcode-header) {
	display: none !important;
}
