﻿:root{
	--rm-green: #2f6f2f;
	--rm-green-hover: #2a612a;
	--rm-ink: #111827;
	--rm-muted: #6b7280;
	--rm-bg: #f6f7f9;
	--rm-card: #ffffff;
	--rm-border: rgba(17,24,39,.08);
	--rm-shadow: 0 10px 30px rgba(17,24,39,.08);
	--rm-shadow-sm: 0 6px 18px rgba(17,24,39,.08);
	--rm-radius: 10px;
}

/* Base */
.remorque-skin{
	background: var(--rm-bg);
	color: var(--rm-ink);
}

.remorque-skin body,
.remorque-skin .site,
.remorque-skin #page{
	background: transparent;
}

.remorque-skin,
.remorque-skin button,
.remorque-skin input,
.remorque-skin select,
.remorque-skin textarea{
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

.remorque-skin a{
	color: inherit;
}

/* Container width (closer to the mockup) */
@media (min-width: 1200px){
	.remorque-skin .container{
		max-width: 1200px;
	}
}

/* Header: cleaner / closer to mockup */
.remorque-skin .ts-header{
	background: #fff;
	border-bottom: 1px solid var(--rm-border);
}

.remorque-skin .ts-header .header-middle,
.remorque-skin .ts-header .header-bottom{
	background: transparent;
}

.remorque-skin .ts-header .logo-wrapper img{
	max-height: 38px;
	width: auto;
}

/* Primary menu spacing + underline current item */
.remorque-skin .ts-header .ts-menu .main-menu > ul > li > a,
.remorque-skin .ts-header .ts-menu nav.main-menu > ul > li > a{
	padding: 18px 14px;
	font-weight: 500;
	color: #374151;
}

.remorque-skin .ts-header .ts-menu .main-menu > ul > li.current-menu-item > a,
.remorque-skin .ts-header .ts-menu .main-menu > ul > li.current_page_item > a{
	color: #111827;
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
}

/* Buttons (WooCommerce + theme + Elementor) */
.remorque-skin .button,
.remorque-skin button.button,
.remorque-skin input[type="submit"],
.remorque-skin .woocommerce a.button,
.remorque-skin .woocommerce button.button,
.remorque-skin .woocommerce input.button,
.remorque-skin .elementor .elementor-button{
	background: var(--rm-green);
	border-color: var(--rm-green);
	color: #fff;
	border-radius: 6px;
	box-shadow: 0 8px 18px rgba(47,111,47,.22);
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.remorque-skin .button:hover,
.remorque-skin button.button:hover,
.remorque-skin input[type="submit"]:hover,
.remorque-skin .woocommerce a.button:hover,
.remorque-skin .woocommerce button.button:hover,
.remorque-skin .woocommerce input.button:hover,
.remorque-skin .elementor .elementor-button:hover{
	background: var(--rm-green-hover);
	border-color: var(--rm-green-hover);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(47,111,47,.25);
}

/* Product cards (best-sellers look) */
.remorque-skin .woocommerce .products .product{
	box-sizing: border-box;
	border: none;
	margin: 0;
	padding: 12px;
	background: transparent;
}

.remorque-skin .woocommerce .products .product .product-wrapper{
	background: var(--rm-card);
	border: 1px solid var(--rm-border);
	border-radius: var(--rm-radius);
	box-shadow: var(--rm-shadow-sm);
	padding: 22px 22px 18px;
	overflow: hidden;
	height: 100%;
	transition: transform .15s ease, box-shadow .15s ease;
}

.remorque-skin .woocommerce .products .product:hover .product-wrapper{
	box-shadow: var(--rm-shadow);
	transform: translateY(-2px);
}

.remorque-skin .woocommerce .products .product .thumbnail-wrapper img{
	border-radius: 8px;
	background: #fff;
}

.remorque-skin .woocommerce .products .product h3.product-name{
	font-weight: 700;
	font-size: 16px;
	line-height: 1.35;
	color: var(--rm-ink);
	margin: 14px 0 0;
}

.remorque-skin .woocommerce .products .product .price{
	color: var(--rm-ink);
	font-weight: 800;
	font-size: 18px;
	margin: 10px 0 14px;
}

.remorque-skin .woocommerce .products .product .meta-wrapper .button,
.remorque-skin .woocommerce .products .product .meta-wrapper a.button{
	width: 100%;
	text-align: center;
	padding: 12px 14px;
	border-radius: 6px;
}

/* Elementor helpers (add these CSS classes in Elementor sections/columns) */
.remorque-skin .rm-section{
	padding-top: 40px;
	padding-bottom: 40px;
}

.remorque-skin .rm-title,
.remorque-skin .rm-title h2,
.remorque-skin h2.rm-title{
	font-weight: 800;
	color: var(--rm-ink);
}

/* Hero: add class `rm-hero` to the hero section in Elementor */
.remorque-skin .rm-hero{
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--rm-border);
	overflow: hidden;
}

.remorque-skin .rm-hero::before{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%);
	pointer-events: none;
}

.remorque-skin .rm-hero > .elementor-container,
.remorque-skin .rm-hero .elementor-container{
	position: relative;
	z-index: 1;
}

.remorque-skin .rm-hero .elementor-heading-title{
	color: #fff;
}

.remorque-skin .rm-hero h1.elementor-heading-title{
	font-weight: 900;
	font-size: clamp(34px, 3.2vw, 54px);
	line-height: 1.05;
}

.remorque-skin .rm-hero .elementor-widget-text-editor,
.remorque-skin .rm-hero .elementor-text-editor{
	color: rgba(255,255,255,.92);
	font-size: 16px;
}

.remorque-skin .rm-hero .elementor-button{
	padding: 14px 22px;
	font-weight: 700;
}

/* Icon / feature cards: add class `rm-feature-card` to a column/widget wrapper */
.remorque-skin .rm-feature-card{
	background: var(--rm-card);
	border: 1px solid var(--rm-border);
	border-radius: var(--rm-radius);
	box-shadow: var(--rm-shadow-sm);
	padding: 26px 22px;
	text-align: center;
}

.remorque-skin .rm-feature-card .elementor-icon,
.remorque-skin .rm-feature-card svg{
	color: var(--rm-green);
	fill: var(--rm-green);
}

.remorque-skin .rm-feature-card .elementor-heading-title{
	font-weight: 800;
	font-size: 18px;
	margin-bottom: 8px;
}

.remorque-skin .rm-feature-card .elementor-widget-text-editor,
.remorque-skin .rm-feature-card .elementor-text-editor{
	color: var(--rm-muted);
	font-size: 14px;
}

/* Footer polish */
.remorque-skin .ts-footer{
	background: #fff;
	border-top: 1px solid var(--rm-border);
}

.remorque-skin .ts-footer a{
	color: #374151;
}

.remorque-skin .ts-footer a:hover{
	color: var(--rm-green);
}


/* --- Mockup alignment tweaks --- */

/* Remove GoStore search bar for a cleaner header (mockup-like) */
.remorque-skin .ts-header .search-wrapper{
	display: none !important;
}

/* Keep header compact */
.remorque-skin .ts-header .header-middle .container{
	min-height: 64px;
}

/* Headings in sections (override theme blue) */
.remorque-skin .rm-section .elementor-heading-title{
	color: var(--rm-ink) !important;
	font-weight: 800 !important;
}

/* Make hero full-width like the mockup (Elementor Containers) */
.remorque-skin #main .rm-hero{
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.remorque-skin #main .rm-hero > .e-con-inner{
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* Hide the right-side image widget in hero (the mockup uses the background image) */
.remorque-skin .rm-hero .elementor-widget-image{
	display: none;
}

/* Ensure hero text stays readable */
.remorque-skin .rm-hero .elementor-widget-text-editor,
.remorque-skin .rm-hero .elementor-text-editor{
	max-width: 520px;
}

/* Force hero full-bleed even inside boxed theme layouts */
.remorque-skin .elementor .rm-hero.e-con{
	max-width: none !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-top: 72px !important;
	padding-bottom: 72px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

@media (min-width: 1240px){
	.remorque-skin .elementor .rm-hero.e-con{
		padding-left: calc((100vw - 1200px)/2) !important;
		padding-right: calc((100vw - 1200px)/2) !important;
	}
}

/* --- Typography fixes (override Elementor globals) --- */
.remorque-skin .elementor .elementor-heading-title{
	color: var(--rm-ink) !important;
	font-weight: 800 !important;
}

.remorque-skin .rm-hero .elementor-heading-title{
	color: #fff !important;
}

.remorque-skin .rm-hero .elementor-widget-text-editor,
.remorque-skin .rm-hero .elementor-text-editor{
	color: rgba(255,255,255,.92) !important;
}

/* Feature cards typography */
.remorque-skin .rm-feature-card .elementor-icon-box-title,
.remorque-skin .rm-feature-card .elementor-icon-box-title a{
	color: var(--rm-ink) !important;
	font-weight: 800 !important;
}

.remorque-skin .rm-feature-card .elementor-icon-box-description{
	color: var(--rm-muted) !important;
}

/* Ensure the homepage product button looks like the mockup */
.remorque-skin .woocommerce .products .product .rm-view-product{
	display: block;
	width: 100%;
	text-align: center;
}

/* --- Footer mockup styles --- */
.remorque-skin #colophon.footer-container{
	background: #fff;
	border-top: 1px solid var(--rm-border);
	padding-top: 34px;
	padding-bottom: 26px;
}

.remorque-skin #colophon.footer-container .container{
	max-width: 1200px;
}

.remorque-skin .rm-footer-top{
	width: 100%;
}

.remorque-skin .rm-footer-col{
	min-width: 210px;
}

.remorque-skin .rm-footer-col .elementor-heading-title{
	font-size: 14px !important;
	font-weight: 800 !important;
	color: var(--rm-ink) !important;
	margin-bottom: 10px;
}

.remorque-skin .rm-footer a{
	color: #374151;
	text-decoration: none;
}

.remorque-skin .rm-footer a:hover{
	color: var(--rm-green);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.remorque-skin .rm-footer-copy{
	margin: 0;
	color: var(--rm-muted);
	font-size: 13px;
}

.remorque-skin .rm-footer-social{
	margin: 0;
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

.remorque-skin .rm-footer-social a{
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--rm-border);
	border-radius: 8px;
	background: #fff;
}

.remorque-skin .rm-footer-social i{
	font-size: 16px;
}

@media (max-width: 900px){
	.remorque-skin .rm-footer-top{
		flex-direction: column !important;
	}
	.remorque-skin .rm-footer-bottom{
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.remorque-skin .rm-footer-social{
		justify-content: flex-start;
	}
}

/* Footer HTML fallback (when not rendered by Elementor) */
.remorque-skin .rm-footer-top{
	display: flex;
	gap: 30px;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.remorque-skin .rm-footer-col h6{
	font-size: 14px;
	font-weight: 800;
	color: var(--rm-ink);
	margin: 0 0 10px 0;
}

.remorque-skin .rm-footer-bottom{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--rm-border);
	flex-wrap: wrap;
}

/* Shop (all products) page spacing similar to mockup */
.remorque-skin.post-type-archive-product .page-container,
.remorque-skin.woocommerce-shop .page-container{
	padding-top: 30px;
}

.remorque-skin.woocommerce-shop .woocommerce-breadcrumb{
	display: none;
}

.remorque-skin.woocommerce-shop .page-title,
.remorque-skin.post-type-archive-product .page-title{
	font-weight: 900;
	color: var(--rm-ink);
}

/* --- Contact Form 7 (mockup style) --- */
.remorque-skin .wpcf7{
	max-width: 720px;
	margin-top: 18px;
}

.remorque-skin .wpcf7 form{
	background: #fff;
	border: 1px solid var(--rm-border);
	border-radius: var(--rm-radius);
	box-shadow: var(--rm-shadow-sm);
	padding: 22px;
}

.remorque-skin .wpcf7 input[type="text"],
.remorque-skin .wpcf7 input[type="email"],
.remorque-skin .wpcf7 input[type="tel"],
.remorque-skin .wpcf7 textarea{
	width: 100%;
	border: 1px solid rgba(17,24,39,.14);
	border-radius: 8px;
	padding: 12px 14px;
	background: #fff;
	color: var(--rm-ink);
	outline: none;
}

.remorque-skin .wpcf7 textarea{
	min-height: 140px;
	resize: vertical;
}

.remorque-skin .wpcf7 input:focus,
.remorque-skin .wpcf7 textarea:focus{
	border-color: rgba(47,111,47,.55);
	box-shadow: 0 0 0 4px rgba(47,111,47,.12);
}

.remorque-skin .wpcf7 form p{
	margin: 0 0 12px;
}

.remorque-skin .wpcf7 input[type="submit"]{
	width: auto;
	min-width: 170px;
	padding: 12px 18px;
}

.remorque-skin .wpcf7 .wpcf7-response-output{
	border-radius: 8px;
	margin: 16px 0 0;
}

/* Header: inline layout (logo + menu + icons on one line) */
@media (min-width: 992px){
	.remorque-skin .ts-header.rm-header-inline .header-bottom{
		display: none !important;
	}

	/* Remove the double-row divider; keep the global header bottom border */
	.remorque-skin .ts-header.rm-header-inline .header-middle{
		border-bottom: 0 !important;
	}

	.remorque-skin .ts-header.rm-header-inline .header-middle .container{
		display: flex;
		align-items: center;
		gap: 18px;
	}

	.remorque-skin .ts-header.rm-header-inline .rm-header-menu{
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		min-width: 0;
	}

	.remorque-skin .ts-header.rm-header-inline .rm-header-menu .ts-menu{
		width: auto;
	}

	.remorque-skin .ts-header.rm-header-inline .rm-header-menu .main-menu > ul{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 10px;
	}

	.remorque-skin .ts-header.rm-header-inline .rm-header-menu .main-menu > ul > li{
		float: none;
	}

	.remorque-skin .ts-header.rm-header-inline .rm-header-menu .main-menu > ul > li > a{
		padding: 22px 12px;
	}

	.remorque-skin .ts-header.rm-header-inline .header-middle .header-right{
		display: flex;
		align-items: center;
		gap: 12px;
	}
}

/* Header tweaks: logo alignment + green icons */
@media (min-width: 992px){
	.remorque-skin .ts-header.rm-header-inline .header-middle > .container{
		padding-top: 10px;
		padding-bottom: 10px;
	}

	/* Hide mobile/extra header controls on desktop */
	.remorque-skin .ts-header.rm-header-inline .ts-mobile-icon-toggle,
	.remorque-skin .ts-header.rm-header-inline .icon-menu-sticky-header,
	.remorque-skin .ts-header.rm-header-inline .search-wrapper{
		display: none !important;
	}

	.remorque-skin .ts-header.rm-header-inline .logo-wrapper{
		padding-right: 18px !important;
		display: flex !important;
		align-items: center;
		width: auto !important;
	}

	.remorque-skin .ts-header.rm-header-inline .logo-wrapper .logo,
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper .logo a{
		display: flex;
		align-items: center;
	}

	.remorque-skin .ts-header.rm-header-inline .logo-wrapper img{
		max-height: 40px;
		width: auto;
		display: block;
	}

	.remorque-skin .ts-header.rm-header-inline .header-middle div.header-right{
		width: auto !important;
	}

	.remorque-skin .ts-header.rm-header-inline .header-middle div.header-right > div{
		float: none !important;
		padding-left: 0 !important;
	}

	.remorque-skin .ts-header.rm-header-inline .header-middle div.header-right > div + div{
		margin-left: 12px;
	}

	/* Icon color (cart / wishlist / account) */
	.remorque-skin .ts-header.rm-header-inline .header-right .shopping-cart-wrapper .ic-cart:before,
	.remorque-skin .ts-header.rm-header-inline .ts-tiny-account-wrapper .account-control > a:before,
	.remorque-skin .ts-header.rm-header-inline .my-wishlist-wrapper a:before{
		color: var(--rm-green) !important;
	}

	.remorque-skin .ts-header.rm-header-inline .shopping-cart-wrapper a.cart-control,
	.remorque-skin .ts-header.rm-header-inline .my-wishlist-wrapper a,
	.remorque-skin .ts-header.rm-header-inline .my-account-wrapper a{
		color: var(--rm-green) !important;
	}

	/* Count bubbles */
	.remorque-skin .ts-header.rm-header-inline .ic-cart .cart-number,
	.remorque-skin .ts-header.rm-header-inline .my-wishlist-wrapper .count-number{
		background: var(--rm-green) !important;
		color: #fff !important;
	}
}

/* Header overrides (logo + icons color tweaks) */
@media (min-width: 992px){
	/* Logo: slightly smaller + better baseline */
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper img{
		max-height: 34px !important;
		transform: translateY(1px);
	}

	/* Reduce spacing so logo feels aligned */
	.remorque-skin .ts-header.rm-header-inline .header-middle .container{
		gap: 12px;
	}

	/* Icons: red */
	.remorque-skin .ts-header.rm-header-inline .header-right .shopping-cart-wrapper .ic-cart:before,
	.remorque-skin .ts-header.rm-header-inline .ts-tiny-account-wrapper .account-control > a:before,
	.remorque-skin .ts-header.rm-header-inline .my-wishlist-wrapper a:before{
		color: #e11d48 !important;
	}

	.remorque-skin .ts-header.rm-header-inline .shopping-cart-wrapper a.cart-control,
	.remorque-skin .ts-header.rm-header-inline .my-wishlist-wrapper a,
	.remorque-skin .ts-header.rm-header-inline .my-account-wrapper a{
		color: #e11d48 !important;
	}

	.remorque-skin .ts-header.rm-header-inline .ic-cart .cart-number,
	.remorque-skin .ts-header.rm-header-inline .my-wishlist-wrapper .count-number{
		background: #e11d48 !important;
		color: #fff !important;
	}
}

/* Fix duplicated logos (desktop shows only one logo) */
@media (min-width: 992px){
	/* Force-hide the mobile logo wrapper on desktop */
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper.visible-phone{
		display: none !important;
	}

	/* Only style the desktop logo wrapper */
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper.hidden-phone{
		display: flex !important;
		align-items: center;
	}

	/* Default (not sticky): show normal logo only */
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper.hidden-phone img.normal-logo{
		display: block !important;
	}
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper.hidden-phone img.mobile-logo{
		display: none !important;
	}
	.remorque-skin .ts-header.rm-header-inline .logo-wrapper.hidden-phone img.sticky-logo{
		display: none !important;
	}

	/* Sticky: show sticky logo only (keep theme behaviour) */
	.remorque-skin .sticky-wrapper.is-sticky .ts-header.rm-header-inline .header-sticky .logo-wrapper.hidden-phone img.normal-logo{
		display: none !important;
	}
	.remorque-skin .sticky-wrapper.is-sticky .ts-header.rm-header-inline .header-sticky .logo-wrapper.hidden-phone img.sticky-logo{
		display: block !important;
	}
}

/* About page template (`À propos (Remorque)`) */
.remorque-skin .rm-about-hero{
	position: relative;
	padding: 64px 0;
	background: linear-gradient(135deg, rgba(47,111,47,.18), rgba(17,24,39,.08));
	border-bottom: 1px solid var(--rm-border);
	overflow: hidden;
}

.remorque-skin .rm-about-hero--has-image{
	background-size: cover;
	background-position: center;
}

.remorque-skin .rm-about-hero--has-image::before{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.30) 55%, rgba(0,0,0,0) 100%);
	pointer-events: none;
}

.remorque-skin .rm-about-hero__inner{
	position: relative;
	z-index: 1;
	max-width: 720px;
}

.remorque-skin .rm-about-hero__title{
	margin: 0 0 10px;
	font-weight: 900;
	font-size: clamp(30px, 3vw, 46px);
	line-height: 1.08;
	color: var(--rm-ink);
}

.remorque-skin .rm-about-hero--has-image .rm-about-hero__title{
	color: #fff;
}

.remorque-skin .rm-about-hero__lead{
	margin: 0 0 16px;
	color: var(--rm-muted);
	font-size: 16px;
}

.remorque-skin .rm-about-hero--has-image .rm-about-hero__lead{
	color: rgba(255,255,255,.92);
}

.remorque-skin .rm-about-intro__grid{
	display: grid;
	gap: 22px;
	grid-template-columns: 1fr;
}

@media (min-width: 992px){
	.remorque-skin .rm-about-intro__grid{
		grid-template-columns: 1.25fr .75fr;
		align-items: start;
	}
}

.remorque-skin .rm-about-intro__facts{
	display: grid;
	gap: 14px;
}

.remorque-skin .rm-about-card{
	background: var(--rm-card);
	border: 1px solid var(--rm-border);
	border-radius: var(--rm-radius);
	box-shadow: var(--rm-shadow-sm);
	padding: 18px 18px 16px;
}

.remorque-skin .rm-about-card__title{
	margin: 0 0 6px;
	font-weight: 900;
	font-size: 16px;
}

.remorque-skin .rm-about-card__text{
	margin: 0;
	color: var(--rm-muted);
}

.remorque-skin .rm-about-services__grid{
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
	margin-top: 16px;
}

@media (min-width: 992px){
	.remorque-skin .rm-about-services__grid{
		grid-template-columns: repeat(3, 1fr);
	}
}

.remorque-skin .rm-about-service{
	background: var(--rm-card);
	border: 1px solid var(--rm-border);
	border-radius: var(--rm-radius);
	box-shadow: var(--rm-shadow-sm);
	padding: 22px 20px;
}

.remorque-skin .rm-about-service__title{
	margin: 0 0 8px;
	font-weight: 900;
	font-size: 18px;
}

.remorque-skin .rm-about-service__text{
	margin: 0;
	color: var(--rm-muted);
}

.remorque-skin .rm-about-cta__box{
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--rm-card);
	border: 1px solid var(--rm-border);
	border-radius: var(--rm-radius);
	box-shadow: var(--rm-shadow);
	padding: 24px;
}

@media (min-width: 992px){
	.remorque-skin .rm-about-cta__box{
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
