/*
Theme Name:  Presentup Child Theme
Description: Child theme for the Presentup theme – correctifs d'affichage RVK Prestige
Author:      ThemetechMount
Author URI:  https://www.themetechmount.com/
Template:    presentup
Version:     1.0
Tags:        light, white, two-columns, three-columns, four-columns, right-sidebar, left-sidebar, responsive, retina
*/


/* NOTE: Main theme's style.css file is already added in head tag. /*

/* =Theme customization starts here
-------------------------------------------------------------- */

/* En-tête : pas de scroll interne (complète le retrait du perfectScrollbar dans js/functions.js),
   sinon le sous-menu « Événements » est coupé et passe sous le bandeau défilant */
.tm-header-block {
	overflow: visible !important;
	height: auto !important;
}
.tm-header-block > .ps-scrollbar-x-rail,
.tm-header-block > .ps-scrollbar-y-rail {
	display: none !important;
}
.site-header,
.tm-header-block {
	position: relative;
	z-index: 999;
}
.site-header .sub-menu {
	z-index: 1000;
}

/* Panneau latéral (icône grille) : l'image de fond de la démo n'existe plus et la couleur
   était transparente à 1 % -> fond opaque, au-dessus de l'en-tête */
.themetechmount-fbar-box-w {
	background: #0e0c09 linear-gradient(135deg, rgba(198, 163, 69, .14) 0%, rgba(14, 12, 9, 0) 55%) !important;
	z-index: 100000 !important;
}
.themetechmount-fbar-box-w .tm-bg-layer {
	background: transparent !important;
}
.themetechmount-fbar-btn,
.themetechmount-fbar-close {
	z-index: 100001 !important;
}

/* Bannière de titre des pages : image de démo morte -> photo du site + voile sombre,
   le titre blanc redevient lisible */
div.tm-titlebar-wrapper {
	background: #111 url('/wp-content/uploads/2023/03/slider.jpg') center / cover no-repeat !important;
}
div.tm-titlebar-wrapper .tm-titlebar-wrapper-bg-layer {
	background-color: rgba(0, 0, 0, .6) !important;
}

/* Page 404 : même image de démo morte */
.error404 .site-content-wrapper {
	background-image: url('/wp-content/uploads/2023/03/slider.jpg') !important;
}

/* Page contact : la colonne du formulaire était une ellipse (border-radius 50 %) prévue
   pour un texte court, le formulaire en débordait -> carte arrondie */
.elementor-8447 .elementor-element.elementor-element-0789038 > .elementor-element-populated,
.elementor-8447 .elementor-element.elementor-element-0789038 > .elementor-element-populated > .elementor-background-overlay {
	border-radius: 24px !important;
}
.elementor-8447 .elementor-element.elementor-element-0789038 > .elementor-element-populated {
	padding: 50px 40px 40px !important;
	box-shadow: 0 20px 50px -25px rgba(0, 0, 0, .25);
}

/* Formulaires Contact Form 7 : bouton aux couleurs du site */
.wpcf7 input[type="submit"] {
	background: linear-gradient(90deg, #c6a345, #f3e6a6);
	color: #111;
	border: 0;
	padding: 15px 34px;
	font-weight: 600;
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover {
	background: #111;
	color: #f3e6a6;
}

/* Menu latéral : tous les champs du formulaire avec le même cadre sur fond sombre */
.themetechmount-fbar-box-w .wpcf7 input[type="text"],
.themetechmount-fbar-box-w .wpcf7 input[type="email"],
.themetechmount-fbar-box-w .wpcf7 input[type="tel"],
.themetechmount-fbar-box-w .wpcf7 textarea {
	width: 100%;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .35);
	color: #fff;
	padding: 10px 12px;
}

/* Menu latéral (icône grille de l'en-tête) retiré */
.themetechmount-fbar-btn,
.themetechmount-fbar-main-w,
.themetechmount-fbar-box-w {
	display: none !important;
}

/* Bas de page : liens légaux */
.rvk-legal-links {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-left: 18px;
}
.rvk-legal-links a {
	color: inherit;
	opacity: .8;
}
.rvk-legal-links a:hover {
	opacity: 1;
	color: #f3e6a6;
}
@media (max-width: 767px) {
	.rvk-legal-links {
		display: flex;
		justify-content: center;
		margin: 8px 0 0;
	}
}

/* Pages légales */
.rvk-legal {
	max-width: 820px;
}
.rvk-legal h2 {
	margin: 36px 0 12px;
	font-size: 22px;
	line-height: 1.35;
}
.rvk-legal p,
.rvk-legal li {
	line-height: 1.75;
}
.rvk-legal ul {
	margin: 0 0 14px 20px;
}
.rvk-legal-date {
	font-size: 13px;
	color: #888;
}

/* Réseaux sociaux (pied de page + panneau latéral) */
.rvk-social {
	display: flex;
	gap: 12px;
	margin-top: 6px;
}
.rvk-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(198, 163, 69, .6);
	border-radius: 50%;
	color: #f3e6a6 !important;
	transition: background .3s, color .3s, border-color .3s;
}
.rvk-social a:hover {
	background: linear-gradient(90deg, #c6a345, #f3e6a6);
	border-color: transparent;
	color: #111 !important;
}

/* Page « Nos réalisations » : références */
.rvk-refs {
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin-bottom: 70px;
}
.rvk-ref {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	background: #0e0c09;
	color: rgba(255, 255, 255, .8);
}
.rvk-ref:nth-child(even) .rvk-ref-media {
	order: 2;
}
.rvk-ref-media {
	min-height: 300px;
	background: #111;
}
.rvk-ref-media img,
.rvk-ref-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.rvk-ref-body {
	padding: 36px 34px;
	align-self: center;
}
.rvk-ref-body h3 {
	margin: 0 0 14px;
	font-size: 24px;
	line-height: 1.3;
	color: #fff;
}
.rvk-ref-body h3 span {
	color: #c6a345;
}
.rvk-ref-body p {
	line-height: 1.7;
}
/* le thème donne aux citations un fond blanc : on le neutralise sur fond sombre */
.rvk-ref-body blockquote {
	margin: 18px 0 0 !important;
	padding: 4px 0 4px 18px !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 2px solid #c6a345 !important;
	box-shadow: none !important;
	font-size: 15px;
	font-style: italic;
	line-height: 1.7;
	color: #fff !important;
}
.rvk-ref-body blockquote:before,
.rvk-ref-body blockquote:after {
	display: none !important;
}
.rvk-ref-body cite {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	font-style: normal;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #c6a345;
}
.rvk-formats-intro {
	margin-top: 10px;
}
@media (max-width: 767px) {
	.rvk-ref {
		grid-template-columns: 1fr;
	}
	.rvk-ref:nth-child(even) .rvk-ref-media {
		order: 0;
	}
	.rvk-ref-media {
		min-height: 220px;
	}
	.rvk-ref-body {
		padding: 26px 22px;
	}
}

/* Accueil : formulaire sous « Et si on parlait de votre projet ? » */
.rvk-home-form {
	background: #fff;
	padding: 10px 20px 90px;
}
.rvk-home-form-inner {
	max-width: 760px;
	margin: 0 auto;
}
.rvk-home-form .wpcf7-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 24px;
}
.rvk-home-form .wpcf7-form > p {
	margin: 0;
}
.rvk-home-form .wpcf7-form > p:nth-of-type(5),
.rvk-home-form .wpcf7-form > p:nth-of-type(6),
.rvk-home-form .wpcf7-form > .wpcf7-response-output {
	grid-column: 1 / -1;
}
.rvk-home-form .wpcf7 label {
	display: block;
	margin-bottom: 18px;
	font-size: 14px;
	font-weight: 600;
	color: #111;
}
.rvk-home-form .wpcf7 input[type="text"],
.rvk-home-form .wpcf7 input[type="email"],
.rvk-home-form .wpcf7 input[type="tel"],
.rvk-home-form .wpcf7 textarea {
	width: 100%;
	margin-top: 6px;
	padding: 13px 14px;
	background: #f7f5f0;
	border: 1px solid #e6dfcf;
	color: #111;
}
.rvk-home-form .wpcf7 textarea {
	height: 140px;
}
.rvk-home-form .wpcf7 input[type="submit"] {
	display: block;
	margin: 6px auto 0;
}
.rvk-home-form-alt {
	margin: 22px 0 0;
	text-align: center;
	font-size: 15px;
	color: #555;
}
.rvk-home-form-alt a {
	color: #b08d35;
	font-weight: 600;
}
@media (max-width: 767px) {
	.rvk-home-form .wpcf7-form {
		grid-template-columns: 1fr;
	}
}

/* Pied de page : accroche « Quand l'excellence… RVK Prestige » centrée */
.footer-1-widget-1,
.footer-1-widget-1 p {
	text-align: center;
}

/* Pied de page : e-mail, téléphone (et icônes sociales) centrés sous l'accroche.
   Les autres colonnes de la rangée sont vides ou masquées. */
#second-footer .row {
	flex-wrap: wrap;
}
#second-footer .row > .widget-area {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
	float: none;
	text-align: center;
}
#second-footer .row > .widget-area:empty,
#second-footer .row > .widget-area > .footer-2-widget-3-social-link:empty,
#second-footer .enhanced-text-widget .textwidget:empty {
	display: none;
}
#second-footer .rvk-social {
	justify-content: center;
}

/* Page contact : section de la carte Google Maps retirée (pas d'adresse sur le site) */
.elementor-8447 .elementor-element.elementor-element-5659c4b,
.elementor-widget-google_maps {
	display: none !important;
}

/* Pied de page : pas d'adresse affichée */
.footer-2-widget-1-address {
	display: none;
}

/* =Contenus RVK (inc/rvk-content.php)
-------------------------------------------------------------- */
.rvk-kicker {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #b08d35;
}
.rvk-btn {
	display: inline-block;
	padding: 14px 28px;
	background: linear-gradient(90deg, #c6a345, #f3e6a6);
	color: #111 !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: background .3s, color .3s;
}
.rvk-btn:hover {
	background: #111;
	color: #f3e6a6 !important;
}

/* Texte des pages de service */
.rvk-lead {
	font-size: 18px;
	line-height: 1.75;
	color: #333;
}
.rvk-service-text h2 {
	margin: 40px 0 16px;
	font-size: 26px;
	line-height: 1.3;
}
.rvk-service-text ul {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}
.rvk-service-text ul li {
	position: relative;
	padding: 8px 0 8px 28px;
	border-bottom: 1px solid #eee;
	line-height: 1.6;
}
.rvk-service-text ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 16px;
	width: 14px;
	height: 2px;
	background: #c6a345;
}

/* Galerie des pages de service */
.rvk-gallery {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 14px;
	margin: 50px 0;
	height: 480px;
}
.rvk-gallery-item {
	margin: 0;
	overflow: hidden;
}
.rvk-gallery-item--0 {
	grid-row: 1 / 3;
}
.rvk-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s;
}
.rvk-gallery-item:hover img {
	transform: scale(1.04);
}

/* Étapes d'accompagnement */
.rvk-steps {
	margin: 60px 0;
}
.rvk-steps h2,
.rvk-devis h2,
.rvk-events-intro h2 {
	margin: 0 0 28px;
	font-size: 28px;
	line-height: 1.3;
}
.rvk-steps-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.rvk-step {
	padding: 26px 26px 22px;
	background: #f7f5f0;
	border-top: 3px solid #c6a345;
}
.rvk-step span {
	display: block;
	margin-bottom: 8px;
	font-size: 26px;
	font-weight: 700;
	color: #c6a345;
}
.rvk-step h3 {
	margin: 0 0 8px;
	font-size: 18px;
}
.rvk-step p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

/* Bloc devis + formulaire */
.rvk-devis {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 40px;
	margin: 60px 0 20px;
	padding: 44px;
	background: #0e0c09 linear-gradient(135deg, rgba(198, 163, 69, .16) 0%, rgba(14, 12, 9, 0) 60%);
	color: rgba(255, 255, 255, .8);
	scroll-margin-top: 130px;
}
.rvk-devis h2 {
	color: #fff;
}
.rvk-devis p {
	line-height: 1.7;
}
.rvk-devis-line {
	display: block;
	margin-top: 16px;
	color: #fff !important;
	font-size: 18px;
	text-decoration: none !important;
}
.rvk-devis-line span {
	display: block;
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #c6a345;
}
.rvk-devis .wpcf7 label {
	display: block;
	margin-bottom: 14px;
	color: #fff;
	font-size: 14px;
}
.rvk-devis .wpcf7 input[type="text"],
.rvk-devis .wpcf7 input[type="email"],
.rvk-devis .wpcf7 input[type="tel"],
.rvk-devis .wpcf7 textarea {
	width: 100%;
	margin-top: 6px;
	padding: 11px 13px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .25);
	color: #fff;
}
.rvk-devis .wpcf7 textarea {
	height: 130px;
}

/* Carte contact (barre latérale) */
.rvk-card {
	padding: 30px 26px;
	background: #0e0c09 linear-gradient(135deg, rgba(198, 163, 69, .18) 0%, rgba(14, 12, 9, 0) 60%);
	color: rgba(255, 255, 255, .8);
}
.rvk-card-kicker {
	margin: 0 0 4px;
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #c6a345;
}
.rvk-card-title {
	margin: 0 0 10px;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
}
.rvk-card-text {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.6;
}
.rvk-card-line {
	display: block;
	margin-bottom: 12px;
	color: #fff !important;
	text-decoration: none !important;
	word-break: break-word;
}
.rvk-card-line span {
	display: block;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #c6a345;
}
.rvk-card .rvk-btn {
	margin-top: 8px;
	width: 100%;
	text-align: center;
}

/* Page Événements */
.rvk-events-intro {
	max-width: 720px;
	margin-bottom: 36px;
}
.rvk-events-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.rvk-event-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: 0 14px 40px -24px rgba(0, 0, 0, .35);
	color: inherit !important;
	text-decoration: none !important;
	transition: transform .3s, box-shadow .3s;
}
.rvk-event-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 50px -24px rgba(0, 0, 0, .45);
}
.rvk-event-img {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.rvk-event-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.rvk-event-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px 24px;
}
.rvk-event-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
}
.rvk-event-excerpt {
	font-size: 14px;
	line-height: 1.6;
	color: #666;
}
.rvk-event-more {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #b08d35;
}

@media (max-width: 767px) {
	.rvk-gallery {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 220px 150px;
		height: auto;
	}
	.rvk-gallery-item--0 {
		grid-row: auto;
		grid-column: 1 / 3;
	}
	.rvk-steps-grid,
	.rvk-events-grid,
	.rvk-devis {
		grid-template-columns: 1fr;
	}
	.rvk-devis {
		padding: 30px 22px;
	}
}
