html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
html{}body{margin:0}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
*, * html, body, html{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; outline:0; margin: 0; padding: 0}
::selection { color: white; background: black;}
:root{
  --bg-color1 : #FDFAF2;
  --c-bg: hsl(0, 0%, 10%);
  --c-size: 21px;
  --a-color : #000;
  --a-color-active : #000;
  --color-alt : #182942;

}

body:before { /*background-image: url("images/grain.png");*/ content: ""; display: block; inset: 0; opacity: .25; pointer-events: none; position: fixed;}
body{cursor: default}
.container{ position: relative; display: grid; grid-template-areas: "header" "main" "footer" ; min-height: 100vh; max-width: 100%; margin: auto;  overflow: hidden}
header, main, footer{ position: relative;  margin: 0; padding: 0;}
header{grid-area: header;}
main{grid-area: main; clear: both;}
footer{grid-area: footer;}
.main-container-front-page {max-width: /*1920px*/ 100%; margin: 0 auto}


.has-border-color {border: 1px solid #0E4B29}

header { 
  .header-main-content {float: left;width: 100%; }
  .header-content {float: left; width: calc(100% - var(--wp--preset--spacing--60)); margin: var(--wp--preset--spacing--30)  var(--wp--preset--spacing--30) 0; padding: 0   }
  .logo {  float: none; width: auto; text-align: center;
    img {width: 220px}
  }
  .logo-valdis {text-align: center; padding-top: 20px  }
  .menu {float: left; width: calc( 100% - 200px); margin-left: 100px; 
    ul {margin: 20px auto 0; display: grid; grid-column: auto; grid-template-columns: repeat(4, 1fr); align-items: center; grid-template-rows: masonry; grid-gap: var(--wp--preset--spacing--30);}
    ul li{text-align: center; margin: 0 5px; font-size: var(--wp--preset--font-size--medium)}
    ul li a { color: var(--a-color); text-decoration: none; position: relative; padding: 0px; transition: .225s ease-in-out; font-family:var(--wp--preset--font-family--bluu-next);font-style:normal;font-weight:500; text-transform: uppercase }
    ul li a:hover { }
    ul li a::after { content: ""; display: block; position: absolute; bottom: -5px; left: 50%; width: 0%; height: 0.5px; background: var(--a-color-active); z-index: 99; transition: .225s ease-in-out; }
    ul li a:hover::after { width: calc(100% - 20px); left: 10px;  background: var(--a-color-active)}
    ul li.on--page a::after  {  width: calc(100% - 10px); left: 5px; }
    ul li.on--page a::before { content: ""; display: block; position: absolute; top: -30px; left: calc(50% - 15px); width: 30px; height: 30px;  background: url("images/fleur.svg") top no-repeat; }
  }
}


footer { color: #454D51;font-family:var(--wp--preset--font-family--barlow-condensed); 
  .footer-main-content {float: left; width: 100%;   }
  .footer-content {margin: var(--wp--preset--spacing--30) auto; display: grid; grid-column: auto; grid-template-columns: repeat(3, 1fr); align-items: center;  grid-template-rows: masonry; grid-gap: var(--wp--preset--spacing--30);
    .grid {position: relative; padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); text-align: center;
      .menu { margin-top: 20px}
      ul {}
      ul li{ margin-bottom: 10px; text-align: center; font-size: var(--wp--preset--font-size--medium);}
      ul li a{ text-decoration: none;}
      ul li a:hover{ text-decoration: none;}
      p { padding-bottom: 10px; line-height: 1.5rem}
      .logo { text-align: center;
        img{ height: 120px; text-transform: inherit}   
      }
      .contact { margin-top: 20px; font-size: var(--wp--preset--font-size--medium);}      
    }
    .milieu{border: 1px dotted rgba(0,0,0,0.25); border-top: 0;border-bottom: 0}

  }
  .copy{float: left; width: 100%; padding: 0 0 var(--wp--preset--spacing--30); text-align: center}
}
.entry-content {
  ul li { list-style: disc}

}


/* =========================================
   Styles pour le formulaire de contact (CF7)
   ========================================= */

.wpcf7 {
	max-width: 600px;
	margin: 0 auto;
}

.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Réinitialise les <p> générés automatiquement par CF7 */
.wpcf7-form p {
	margin: 0;
}

.wpcf7-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 600;
	font-size: 0.95rem;
	color: #1a1a1a;
}

/* Champs texte, email et textarea */
.wpcf7-form-control {
	width: 100%;
	padding: 12px 14px;
	font-size: 1rem;
	font-family: inherit;
	color: #1a1a1a;
	background-color: #ffffff;
	border: 1px solid #d1d1d1;
	border-radius: 6px;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpcf7-form-control:hover {
	border-color: #b0b0b0;
}

.wpcf7-form-control:focus {
	outline: none;
	border-color: #2271b1;
	box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.15);
}

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

/* Champ invalide (après validation) */
.wpcf7-form-control.wpcf7-not-valid {
	border-color: #d63638;
}

.wpcf7-not-valid-tip {
	color: #d63638;
	font-size: 0.85rem;
	font-weight: 400;
	margin-top: 4px;
}

/* Bouton d'envoi */
.wpcf7-submit {
	align-self: flex-start;
	padding: 12px 32px;
	font-size: 1rem;
	font-weight: 600;
	color: #ffffff;
	background-color: #2271b1;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.wpcf7-submit:hover {
	background-color: #135e96;
}

.wpcf7-submit:active {
	transform: translateY(1px);
}

.wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Petit spinner de chargement pendant l'envoi */
.wpcf7-spinner {
	margin-left: 10px;
	vertical-align: middle;
}

/* Message de réponse (succès / erreur) */
.wpcf7-response-output {
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 0.95rem;
}

.wpcf7-form.sent .wpcf7-response-output {
	background-color: #edf7ed;
	border: 1px solid #4caf50;
	color: #1e4620;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output {
	background-color: #fdeded;
	border: 1px solid #d63638;
	color: #611a1a;
}

/* Masque le texte des champs cachés générés par CF7 */
.hidden-fields-container {
	display: none;
}

/* Responsive : réduit les paddings sur mobile */
@media (max-width: 480px) {
	.wpcf7-form-control {
		padding: 10px 12px;
	}

	.wpcf7-submit {
		width: 100%;
		align-self: stretch;
		text-align: center;
	}
}

/* ============================================================
   FOOTER VALDIS — La Maison du Snacking
   ============================================================ */

.footer-main-content {
    background: #1A3A5C;
    color: #FFFFFF;
    padding: 64px 0 0;
}

.footer-main-content a {
    color: inherit;
    text-decoration: none; color: white;
}

/* Layout contraint */
.footer-main-content .is-layout-constrained {
}

.footer-main-content .alignwide {
}

/* Grille principale 3 colonnes */
.footer-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Titres */
.footer-content .wp-block-heading h3 {
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Menu */
.footer-content .menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-content .menu ul li {
    margin-bottom: 10px;
    font-size: 14px;
    opacity: 0.8;
    transition: opacity 0.2s;
}
.footer-content .menu a { color: white}
.footer-content .menu ul li:hover {
    opacity: 1;
}

.footer-content .menu ul li ul {
    margin-top: 10px;
    margin-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    padding-left: 16px;
}

.footer-content .menu ul li ul li {
    font-size: 13px;
    margin-bottom: 8px;
}

.footer-content .menu > ul > li:has(ul) {
    opacity: 1;
    font-weight: 600;
    margin-bottom: 4px;
}

/* Colonne milieu — logo */
.footer-content .milieu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.footer-content .logo img {
    max-width: 180px;
    height: auto;
    display: block;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.footer-content .logo-valdis {
    font-size: 14px;
    opacity: 0.7;
    margin-top: 4px;
}

.footer-content .logo-valdis strong {
    color: #E85D2C;
    font-weight: 700;
}

/* Contact */
.footer-content .contact p {
    font-size: 14px;
    opacity: 0.8;
    line-height: 1.7;
    margin: 0;
}

/* Copyright */
.footer-main-content .copy {
    text-align: center;
    padding: 24px 0;
    font-size: 13px;
    opacity: 0.5;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .footer-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
.footer-content {margin: var(--wp--preset--spacing--30) auto; display: block;}
    .footer-content .menu ul li ul {
        margin-left: 0;
        border-left: none;
        padding-left: 0;
    }

    .footer-content .milieu {
        order: -1;
    }
}
