/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/


/* =========================================================
   Page Contact (page-id-10037) — formulaire Contact Form 7
   ========================================================= */

/* --- Correctifs de cascade Impreza (scopés à la page) --- */
body.page-id-10037 .l-main .l-section h1{text-transform:none!important}
body.page-id-10037 .l-main .w-separator.with_line{height:0!important;min-height:0!important;padding:0!important;border-top:1px solid #BB283B;margin-left:auto;margin-right:auto}
body.page-id-10037 .l-main .w-separator.with_line>.w-separator-h{display:none!important}
body.page-id-10037 .l-main .w-hwrapper .w-separator.with_line{margin-left:0;margin-right:0}

/* --- Structure du formulaire --- */
.ld-form,.ld-form *{box-sizing:border-box}
.ld-form{font-family:'Cormorant Garamond',serif}
.ld-form p{margin:0}
.ld-form .wpcf7-form,.wpcf7 form.wpcf7-form{margin:0}
.ld-grid2{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.ld-grid1,.ld-grid2{margin-bottom:34px}

/* --- Libelles --- */
.ld-label{display:block;font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,233,230,.5);line-height:1.4;margin:0 0 10px}
.ld-req{color:#BB283B}

/* --- Champs : filet bas uniquement --- */
.ld-form input.ld-input,.ld-form textarea.ld-input,.ld-form select.ld-input{width:100%;display:block;background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;box-shadow:none!important;padding:0 0 8px;height:44px!important;min-height:44px!important;max-height:44px!important;line-height:1.4;font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:400;color:#ece9e6!important;transition:border-color .2s ease;-webkit-appearance:none;appearance:none}
.ld-form textarea.ld-input{height:100px!important;min-height:100px!important;max-height:none!important;padding-top:6px;resize:vertical}
.ld-form input.ld-input:focus,.ld-form textarea.ld-input:focus,.ld-form select.ld-input:focus{border-bottom-color:#BB283B!important;outline:none}
.ld-form select.ld-select{color-scheme:dark;cursor:pointer}
.ld-form select.ld-select option{background:#141414;color:#ece9e6}
.ld-form input.ld-input:-webkit-autofill{-webkit-text-fill-color:#ece9e6;-webkit-box-shadow:0 0 0 1000px #141414 inset}

/* --- Choix unique : trois boutons accoles --- */
.ld-radios .wpcf7-form-control{display:grid;grid-template-columns:repeat(3,1fr);margin:0}
.ld-radios .wpcf7-list-item{margin:0;display:block;width:100%}
.ld-radios .wpcf7-list-item+.wpcf7-list-item{margin-left:-1px}
.ld-radios .wpcf7-list-item label{display:block;cursor:pointer;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:0;padding:14px 0;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;line-height:1;color:rgba(236,233,230,.7);transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.ld-radios input[type=checkbox],.ld-radios input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.ld-radios .wpcf7-list-item label:has(input:checked){border-color:#BB283B;background:rgba(187,40,59,.12);color:#ece9e6;position:relative;z-index:1}
.ld-radios .wpcf7-list-item-label{display:block}

/* --- Case a cocher --- */
.ld-accept{margin-top:0}
.ld-accept .wpcf7-list-item{margin:0}
.ld-accept .wpcf7-list-item label{display:flex;align-items:flex-start;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:400;line-height:1.6;color:rgba(236,233,230,.68)}
.ld-accept input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:0 0 16px;width:16px;height:16px;margin:6px 16px 0 0;background:transparent;border:1px solid #BB283B;border-radius:0;box-shadow:none;cursor:pointer}
.ld-accept input[type=checkbox]:checked{background:#BB283B}
.ld-accept .wpcf7-list-item-label{display:inline}



/* --- Messages CF7 --- */
body.page-id-10037 .wpcf7 .wpcf7-response-output{font-family:'Cormorant Garamond',serif;font-size:17px;color:rgba(236,233,230,.72);border:1px solid rgba(255,255,255,.18);border-radius:0;margin:34px 0 0;padding:16px 20px}
body.page-id-10037 .wpcf7-not-valid-tip{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:400;color:#BB283B;margin-top:8px}
body.page-id-10037 .wpcf7 .wpcf7-spinner{background-color:rgba(236,233,230,.3)}

/* --- Responsive : < 768px --- */
@media (max-width:767px){
  body.page-id-10037 .l-main .l-section h1{font-size:44px!important;line-height:1.12!important}
  body.page-id-10037 .l-main .l-section{padding-left:24px!important;padding-right:24px!important}
  .ld-grid2{grid-template-columns:1fr;column-gap:0}
  .ld-grid1,.ld-grid2{margin-bottom:0}
  .ld-field{margin-bottom:34px}
  .ld-form input.ld-input,.ld-form select.ld-input{height:48px!important;min-height:48px!important;max-height:48px!important}
  .ld-form textarea.ld-input{min-height:100px!important}
  .ld-radios .wpcf7-list-item label{padding:16px 0}
}


/* =========================================================
   Page Boutique (page-id-10062) — mosaique + formulaire CF7
   ========================================================= */

/* =========================================================
   Boutique — mosaique construite avec les blocs du builder
   Ligne = Row avec la classe "ld-shop-row"
   Vignette = une colonne interne : bloc Galerie (1 image) + bloc Wrapper vertical (4 textes)
   Ajouter une piece = dupliquer une colonne interne dans le builder
   ========================================================= */

/* Grille : 4 / 3 / 2 colonnes */
body.page-id-10062 .ld-shop-row .vc_column-inner > .g-cols{
	display:grid!important;
	grid-template-columns:repeat(4,1fr)!important;
	gap:20px!important;
}
@media (max-width:1279px){body.page-id-10062 .ld-shop-row .vc_column-inner > .g-cols{grid-template-columns:repeat(3,1fr)!important}}
@media (max-width:1023px){body.page-id-10062 .ld-shop-row .vc_column-inner > .g-cols{grid-template-columns:repeat(2,1fr)!important}}

/* La vignette */
body.page-id-10062 .ld-shop-row .vc_column-inner .vc_column-inner{
	position:relative;
	aspect-ratio:3/4;
	overflow:hidden;
	background-color:#1f1f1f;
	box-shadow:inset 0 0 0 1px #3a3733;
}

/* L'image occupe toute la vignette */
body.page-id-10062 .ld-shop-row .w-gallery,
body.page-id-10062 .ld-shop-row .w-gallery-list,
body.page-id-10062 .ld-shop-row .w-gallery-item,
body.page-id-10062 .ld-shop-row .w-gallery-item-img{
	position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;
	display:block;aspect-ratio:auto;
}
body.page-id-10062 .ld-shop-row .w-gallery-item-img img{
	width:100%;height:100%;object-fit:cover;display:block;
	filter:brightness(.8);
	transition:filter .4s ease;
}
body.page-id-10062 .ld-shop-row .w-gallery-item-link{position:absolute;inset:0;z-index:2;cursor:zoom-in}

/* Le bloc texte, colle en bas, visible par defaut, masque au survol */
body.page-id-10062 .ld-shop-row .w-vwrapper{
	position:absolute;left:0;right:0;bottom:0;z-index:3;
	padding:26px 22px;
	background:linear-gradient(to top,rgba(20,20,20,.96) 40%,rgba(20,20,20,0));
	opacity:1;transform:none;
	transition:opacity .4s ease,transform .4s ease;
	pointer-events:none;
}
body.page-id-10062 .ld-shop-row .vc_column-inner .vc_column-inner:hover .w-vwrapper{opacity:0;transform:translateY(12px)}
body.page-id-10062 .ld-shop-row .vc_column-inner .vc_column-inner:hover .w-gallery-item-img img{filter:none}

/* Les 4 lignes de texte de la vignette, dans l'ordre du wrapper vertical :
   1 taille · 2 nom · 3 description · 4 prix.
   Un 5e bloc ajoute heriterait du style "description". */
body.page-id-10062 .ld-shop-row .w-vwrapper > *{
	font-family:'Cormorant Garamond',serif;font-weight:300;
	font-size:17px;line-height:1.6;color:rgba(236,233,230,.6);margin:10px 0 0;
}
body.page-id-10062 .ld-shop-row .w-vwrapper > *:nth-child(1){
	font-size:12px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;
	color:#BB283B;margin:0;
}
body.page-id-10062 .ld-shop-row .w-vwrapper > *:nth-child(2){
	font-weight:400;font-size:24px;line-height:1.2;letter-spacing:normal;
	text-transform:none;color:#ece9e6;margin-top:10px;
}
body.page-id-10062 .ld-shop-row .w-vwrapper > *:nth-child(4){
	font-weight:400;font-size:21px;line-height:1.2;color:#ece9e6;margin-top:12px;
}

/* Suffixe CHF du prix */
body.page-id-10062 .ld-shop-row .ld-chf{font-size:13px;letter-spacing:.16em;color:rgba(236,233,230,.5)}

/* Mobile et tablette : texte toujours visible, aucun effet de survol */
@media (max-width:1023px){
	body.page-id-10062 .ld-shop-row .vc_column-inner .vc_column-inner:hover .w-vwrapper{opacity:1;transform:none}
	body.page-id-10062 .ld-shop-row .vc_column-inner .vc_column-inner:hover .w-gallery-item-img img{filter:brightness(.8)}
}

/* --- Formulaire CF7 (classes ldb-*, propres a la Boutique) --- */
body.page-id-10062 .ldb-form,body.page-id-10062 .ldb-form *{box-sizing:border-box}
body.page-id-10062 .ldb-form{display:flex;flex-direction:column;gap:34px;font-family:'Cormorant Garamond',serif}
body.page-id-10062 .ldb-form p{margin:0}
body.page-id-10062 .ldb-row2{display:flex;gap:34px}
body.page-id-10062 .ldb-row2>.ldb-field{flex:1 1 0;min-width:0}
@media (max-width:767px){body.page-id-10062 .ldb-row2{flex-direction:column}}

body.page-id-10062 .ldb-field label{display:block;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:13px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,233,230,.5);margin-bottom:10px}
body.page-id-10062 .wpcf7-form-control-wrap{display:block;width:100%}

body.page-id-10062 .ldb-form input[type="text"],
body.page-id-10062 .ldb-form input[type="tel"],
body.page-id-10062 .ldb-form input[type="email"],
body.page-id-10062 .ldb-form textarea{-webkit-appearance:none;appearance:none;width:100%;background:transparent!important;background-image:none!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;box-shadow:none!important;padding:10px 0!important;font-family:'Cormorant Garamond',serif!important;font-weight:300!important;font-size:19px!important;line-height:1.5!important;color:#ece9e6!important;transition:border-color .3s ease}
body.page-id-10062 .ldb-form input:focus,
body.page-id-10062 .ldb-form textarea:focus{border-bottom-color:#BB283B!important;box-shadow:none!important;outline:none!important}
body.page-id-10062 .ldb-form textarea{height:110px;min-height:110px;resize:vertical}

body.page-id-10062 .ldb-agree .wpcf7-list-item{margin:0}
body.page-id-10062 .ldb-agree label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:16px;line-height:1.6;color:rgba(236,233,230,.68);letter-spacing:normal;text-transform:none;margin:0}
body.page-id-10062 .ldb-form input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:16px;height:16px;flex:0 0 16px;margin:5px 0 0 0;background:transparent!important;border:1px solid #BB283B!important;border-radius:0!important;box-shadow:none!important;padding:0!important;cursor:pointer;transition:background-color .2s ease}
body.page-id-10062 .ldb-form input[type="checkbox"]:checked{background-color:#BB283B!important}

body.page-id-10062 .ldb-submit{text-align:left}
body.page-id-10062 .ldb-form input[type="submit"]{-webkit-appearance:none;appearance:none;background:transparent!important;background-image:none!important;border:1px solid #BB283B!important;border-radius:0!important;box-shadow:none!important;color:#ece9e6!important;font-family:'Cormorant Garamond',serif!important;font-weight:300!important;font-size:15px!important;line-height:1!important;letter-spacing:.22em;text-transform:uppercase;padding:20px 44px!important;cursor:pointer;transition:background-color .3s ease}
body.page-id-10062 .ldb-form input[type="submit"]:hover{background-color:#BB283B!important}

body.page-id-10062 .wpcf7-not-valid-tip{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:16px;color:#BB283B;background:transparent!important;border-radius:0!important}
body.page-id-10062 .wpcf7-response-output{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:16px;color:#BB283B;background:transparent!important;border:1px solid rgba(187,40,59,.5)!important;border-radius:0!important;padding:14px 18px!important;margin:24px 0 0!important}


/* ============================================================
   Archives par date — page Blog, colonne de droite
   ============================================================ */

.ld-archives {
	font-family: "Cormorant Garamond", serif;
	border: 1px solid #3a3733;
	padding: 1.25rem 1.5rem;
	background: #141414;
	position: sticky;
	top: 120px;                 /* à caler sur la hauteur du header collant */
}

.ld-archives-titre {
	color: #F3EFE9;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0 0 .9rem;
	padding-bottom: .6rem;
	border-bottom: 1px solid #3a3733;
}

/* ---- Années (summary repliable) ---- */

.ld-archives details {
	margin: 0;
}

.ld-archives summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: .5rem;
	padding: .35rem 0;
	color: #ece9e6;
	font-size: 1.05rem;
	font-weight: 400;
}

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

.ld-archives summary::before {
	content: "";
	flex: 0 0 auto;
	width: 0;
	height: 0;
	border-left: 5px solid #8a8580;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	transition: transform .18s ease;
}

.ld-archives details[open] > summary::before {
	transform: rotate(90deg);
}

.ld-archives summary:hover {
	color: #BB283B;
}

.ld-archives summary:hover::before {
	border-left-color: #BB283B;
}

.ld-archives summary:focus-visible {
	outline: 1px solid #BB283B;
	outline-offset: 2px;
}

/* ---- Mois ---- */

.ld-archives ul {
	list-style: none;
	margin: 0 0 .4rem;
	padding: 0 0 0 1.6rem;
}

.ld-archives li {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	padding: .22rem 0;
}

.ld-archives li a {
	color: rgba(243,239,233,.68);
	text-decoration: none;
	font-size: 1rem;
	border-bottom: 1px solid transparent;
	transition: color .15s ease, border-color .15s ease;
}

.ld-archives li a:hover {
	color: #BB283B;
	border-bottom-color: #BB283B;
}

.ld-archives-nb {
	color: #8a8580;
	font-size: .85rem;
	font-weight: 300;
}

/* ---- Colonne latérale ---- */

.ld-sidebar .vc_column-inner {
	padding-left: 2rem;
}

/* Tablette : la colonne s'empile, on désactive le collant */
@media (max-width: 1024px) {
	.ld-archives {
		position: static;
	}
	.ld-sidebar .vc_column-inner {
		padding-left: 0;
	}
}

/* Mobile : masqué, la barre de filtres suffit */
@media (max-width: 767px) {
	.ld-sidebar {
		display: none;
	}
}


/* ---------------------------------------------------------------
 *  Lightbox des images d'article
 * --------------------------------------------------------------- */

/* Affordance : loupe au survol */
.ld-art-body a.ld-zoom { cursor: zoom-in; display: inline-block; }
.ld-art-body a.ld-zoom img { display: block; }

/* Habillage, cloisonne par .mfp-ld — n'affecte pas les lightbox Impreza */
.mfp-bg.mfp-ld { background: #141414; opacity: .96; }

.mfp-wrap.mfp-ld .mfp-close,
.mfp-wrap.mfp-ld .mfp-arrow:before { color: #ece9e6; }

.mfp-wrap.mfp-ld .mfp-title,
.mfp-wrap.mfp-ld .mfp-counter {
	color: rgba(243,239,233,.68);
	font-family: 'Cormorant Garamond', serif;
	font-weight: 300;
	font-size: 1rem;
}

/* Pas d'ombre portee sous l'image — charte */
.mfp-wrap.mfp-ld .mfp-figure:after {
	box-shadow: none;
	background: transparent;
}