/*
Theme Name:   Bel'Frits
Description:  Thème enfant GeneratePress pour belfrits.be — léger, sans constructeur de pages.
Author:       JN-Infor
Template:     generatepress
Version:      1.0.0
Text Domain:  belfrits
*/

/* ---------- Polices auto-hébergées (pas d'appel à Google Fonts) ---------- */
@font-face{font-family:"Amatic SC";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/amatic-sc-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/roboto-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/roboto-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/roboto-condensed-latin-600-normal.woff2) format("woff2")}

:root{
  --bf-green:#5b8c51;
  --bf-dark:#404a3d;
  --bf-darker:#394336;
  --bf-yellow:#eddd5e;
  --bf-beige:#f5f0e9;
  --bf-text:#202020;
  --bf-wrap:1210px;
}

/* ---------- Base ---------- */
button,input,select,textarea{font-family:inherit}
body{font-family:Roboto,-apple-system,"Segoe UI",sans-serif;font-weight:300;font-size:16px;line-height:1.9;color:var(--bf-text);background:#fff}
strong,b{font-weight:700}
a{color:var(--bf-green)}
a:hover,a:focus{color:var(--bf-dark)}
h1,h2,h3,.bf-title{font-family:"Amatic SC",cursive;font-weight:700;color:var(--bf-dark);line-height:1.1;letter-spacing:.5px}
.entry-content h2{font-size:44px;margin:0 0 30px}
.entry-content p{margin-bottom:1.2em}

/* Titre avec séparateur "épis" sous le texte */
.bf-title{position:relative;padding-bottom:30px;margin-bottom:28px !important}
.bf-title::after{content:"";position:absolute;left:0;bottom:0;width:55px;height:22px;background:url(img/separateur.png) no-repeat center/contain}
.bf-title.has-text-align-center::after{left:50%;transform:translateX(-50%)}

/* ---------- En-tête façon ancien site : titre sur fond blanc, bord déchiré, bande beige ---------- */
.site-header{background:#fff;border-bottom:0}
.inside-header{padding:26px 20px 18px;justify-content:center;text-align:center}
.site-branding,.site-logo{margin:0 auto}
.main-title{font-family:Roboto,sans-serif;font-weight:400;font-size:24px;line-height:1.2}
.main-navigation,.main-navigation ul ul{background:var(--bf-beige)}
.main-navigation{position:relative}
.main-navigation::before{content:"";position:absolute;left:0;right:0;top:-15px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 16' preserveAspectRatio='none'%3E%3Cpath fill='%23f5f0e9' d='M0 16 L0 4.1 L16 2.1 L28 2.0 L35 3.5 L42 8.8 L50 7.4 L71 5.8 L93 3.4 L104 0.5 L115 4.3 L130 5.6 L145 0.2 L154 6.0 L165 6.2 L176 7.9 L186 6.7 L206 5.0 L227 1.7 L246 6.4 L252 8.4 L267 5.2 L284 7.1 L298 9.6 L311 3.4 L329 10.0 L348 5.7 L364 1.8 L373 0.2 L391 1.0 L404 3.6 L417 9.2 L436 4.9 L449 9.2 L470 4.2 L480 6.4 L495 3.0 L508 7.0 L529 6.6 L545 3.4 L565 9.1 L584 5.8 L592 3.4 L599 4.1 L610 0.0 L619 1.5 L625 7.3 L633 5.4 L645 3.4 L667 6.4 L675 1.4 L685 4.1 L691 6.7 L699 3.2 L714 9.0 L731 5.6 L740 6.7 L758 4.6 L777 9.0 L796 8.2 L806 5.5 L812 1.1 L822 9.7 L835 9.9 L857 4.5 L866 4.4 L882 8.9 L896 8.6 L903 9.4 L922 6.3 L931 5.3 L950 5.8 L962 8.1 L971 0.6 L991 4.0 L1010 7.6 L1022 3.9 L1028 7.5 L1043 6.0 L1063 4.5 L1073 4.7 L1088 5.9 L1096 5.5 L1109 9.3 L1122 6.5 L1137 3.1 L1150 3.0 L1169 6.3 L1186 5.3 L1200 8.5 L1208 4.7 L1219 6.6 L1234 9.4 L1247 6.5 L1261 6.2 L1275 9.6 L1293 9.6 L1303 9.6 L1322 0.5 L1335 1.0 L1342 8.5 L1363 8.0 L1379 3.5 L1401 9.7 L1413 9.9 L1432 6.0 L1447 4.4 L1458 3.1 L1473 3.1 L1484 6.6 L1491 8.5 L1513 1.1 L1519 4.9 L1527 9.4 L1546 4.0 L1567 7.9 L1575 2.8 L1587 3.8 L1600 6 L1600 16 Z'/%3E%3C/svg%3E") repeat-x 0 0/1600px 16px;pointer-events:none}
.main-navigation .inside-navigation{justify-content:center}
.main-navigation .main-nav ul li a{font-size:18px;font-weight:300;color:#8a9086;line-height:76px;padding-left:17px;padding-right:17px}
.main-navigation .main-nav ul li a:hover,.main-navigation .main-nav ul li a:focus,.main-navigation .main-nav ul li.bf-active>a{color:var(--bf-dark);background:transparent}
.main-navigation .menu-toggle{line-height:60px;color:var(--bf-dark)}
@media (max-width:768px){
  .main-navigation .main-nav ul li a{line-height:48px;font-size:17px}
  .main-navigation.toggled .main-nav ul li a{color:var(--bf-dark)}
}

/* ---------- Page d'accueil : pleine largeur ---------- */
.home .site.grid-container{max-width:none}
.home .site-content{padding:0;display:block}
.home .inside-article,.home .separate-containers .inside-article{padding:0;background:transparent}
.home .entry-content:not(:first-child){margin-top:0}
.home .site-main{margin:0 !important}
.home .entry-content>*{margin-top:0;margin-bottom:0}
.home .entry-content .wp-block-group__inner-container{max-width:none;padding:0;margin:0}

.bf-section{position:relative;padding:90px 0}
.bf-wrap{max-width:var(--bf-wrap);margin:0 auto;padding:0 20px}
.bf-wrap>*:last-child{margin-bottom:0}
.bf-beige{background:var(--bf-beige)}

/* ---------- Hero vidéo ---------- */
.bf-hero{position:relative;height:min(88vh,900px);min-height:440px;overflow:hidden;background:#3a3a3a;display:flex;align-items:center;justify-content:center;text-align:center}
.bf-hero video,.bf-hero .bf-hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bf-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.bf-hero-inner{position:relative;z-index:2;padding:0 20px}
.bf-hero-logo{display:inline-block;background:rgba(255,255,255,.72);border-radius:18px;padding:14px 26px;margin-bottom:34px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.bf-hero-logo img{display:block;width:220px;height:auto}
.bf-hero h1{font-family:"Roboto Condensed",Roboto,sans-serif;font-weight:600;font-size:clamp(36px,6vw,72px);color:var(--bf-yellow);text-shadow:0 2px 10px rgba(0,0,0,.55);letter-spacing:1px;margin:0;line-height:1.1}

/* ---------- Bienvenue + encadré vert ---------- */
.bf-welcome{padding:90px 0 150px}
.bf-band{padding:0 0 35px}
.bf-band .wp-block-columns{margin-bottom:0;align-items:flex-start}
.bf-greenbox{background:var(--bf-green);border-radius:5px;padding:50px 46px;margin-top:-60px;display:flex;gap:22px;align-items:center;color:#fff}
.bf-greenbox svg{flex:0 0 64px;width:64px;height:64px}
.bf-greenbox p{margin:0;font-family:"Roboto Condensed",sans-serif;font-weight:600;font-size:20px;line-height:1.5;color:#fff}
.bf-lift{margin-top:-180px !important}
.bf-lift img{border-radius:5px;display:block;width:100%;height:auto}

/* ---------- Images superposées (Notre activité) ---------- */
.bf-overlap{position:relative;padding-bottom:110px}
.bf-overlap figure{margin:0}
.bf-overlap figure:first-child img{width:90%;border-radius:5px}
.bf-overlap figure:last-child{position:absolute;left:22%;bottom:0;width:50%}
.bf-overlap img{display:block;height:auto;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.bf-overlap figure:last-child img{width:100%;border-radius:5px}

/* ---------- Sections avec fond photo ---------- */
.bf-bg{background-size:cover;background-position:center;background-repeat:no-repeat}
@media (hover:hover) and (min-width:1025px){.bf-bg-fixed{background-attachment:fixed}}
.bf-bg-preparation{background-image:url(/wp-content/uploads/2026/10/fond-preparation-sol.webp)}
.bf-bg-produits{background-image:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)),url(/wp-content/uploads/2026/10/fond-pommes-de-terre.webp)}
.bf-bg-contact{background-image:url(/wp-content/uploads/2026/10/fond-paquet-de-frites.webp);padding:30px 0}

/* ---------- Galeries ---------- */
.bf-grid.wp-block-gallery{display:grid !important;grid-template-columns:repeat(var(--bf-cols,3),minmax(0,1fr));gap:10px !important;margin:30px 0}
.bf-grid.columns-2{--bf-cols:2}.bf-grid.columns-3{--bf-cols:3}.bf-grid.columns-4{--bf-cols:4}
.bf-grid.wp-block-gallery>.wp-block-image{width:auto !important;margin:0 !important;flex:none !important}
.bf-grid.wp-block-gallery .wp-block-image img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;border-radius:2px}
.bf-grid.bf-square .wp-block-image img{aspect-ratio:1/1}
.bf-grid.bf-tall .wp-block-image img{aspect-ratio:1/0.75}
.bf-grid .wp-block-image{overflow:hidden}
.bf-grid .wp-block-image img{transition:transform .5s ease}
.bf-grid .wp-block-image:hover img{transform:scale(1.04)}

/* ---------- Transformation : encadré jaune ---------- */
.bf-yellowbox{background:rgba(238,238,34,.38);border-radius:5px;padding:24px 18px 10px}
.bf-yellowbox .bf-title{font-size:34px !important}
.bf-badge img{border-radius:10px;max-width:230px;height:auto}

/* ---------- Contact ---------- */
.bf-contact-card{max-width:660px;margin:30px auto;background:rgba(255,255,255,.78);border-radius:6px;padding:60px 40px 30px;backdrop-filter:blur(2px)}
.bf-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.bf-form .bf-full{grid-column:1/-1}
.bf-form label{display:block;font-weight:700;font-size:15px;margin-top:10px;color:var(--bf-text)}
.bf-form label .req{color:#c0392b}
.bf-form input[type=text],.bf-form input[type=email],.bf-form input[type=tel],.bf-form textarea{width:100%;border:1px solid #ccc;background:#fff;border-radius:3px;padding:10px 12px;font:inherit;font-weight:400;line-height:1.4}
.bf-form textarea{min-height:150px}
.bf-form .bf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bf-form button{margin-top:16px;justify-self:start;background:var(--bf-green);color:#fff;border:0;border-radius:4px;padding:12px 28px;font-weight:700;font-size:16px;cursor:pointer}
.bf-form button:hover{background:var(--bf-dark)}
.bf-notice{grid-column:1/-1;padding:12px 16px;border-radius:4px;margin-bottom:10px;font-weight:400}
.bf-notice.ok{background:#e4f1e1;color:#285c1f}
.bf-notice.err{background:#fbe5e1;color:#8a2a17}
.bf-map{margin-top:26px;position:relative;height:250px;border-radius:4px;overflow:hidden;background:#e9efe6 linear-gradient(135deg,#eef3ea 25%,#e3eadf 25%,#e3eadf 50%,#eef3ea 50%,#eef3ea 75%,#e3eadf 75%) 0 0/40px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:20px}
.bf-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bf-map button{background:#fff;border:1px solid var(--bf-green);color:var(--bf-green);border-radius:4px;padding:9px 18px;font-weight:700;cursor:pointer}
.bf-map small{font-size:12px;color:#555;line-height:1.4}
.bf-map a{font-size:14px}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--bf-dark);color:#d9ddd6}
.bf-footer{max-width:var(--bf-wrap);margin:0 auto;padding:90px 20px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;font-size:15px;line-height:2.1}
.bf-footer .bf-fh{font-family:"Amatic SC",cursive;font-weight:700;line-height:1.1;font-size:32px;color:#fff;margin:0 0 26px;padding-bottom:10px;position:relative}
.bf-footer .bf-fh::after{content:"";position:absolute;left:0;bottom:0;width:16px;height:3px;background:var(--bf-yellow)}
.bf-footer p{margin:0 0 1em}
.bf-footer ul{list-style:none;margin:0;padding:0}
.bf-footer a{color:#d9ddd6;text-decoration:none}
.bf-footer a:hover{color:var(--bf-yellow)}
.bf-footer .bf-y,.bf-footer .bf-y a{color:var(--bf-yellow);font-weight:700}
.bf-footer table{border:0;margin:0;font-size:15px}
.bf-footer td{border:0;padding:0 10px 0 0;line-height:1.9}
.site-info{background:var(--bf-darker);color:#aab2a6;font-size:14px}
.site-info a{color:#d9ddd6}
.inside-site-info{padding:22px 20px}

/* Bouton retour en haut (GeneratePress) */
.generate-back-to-top{background:rgba(255,255,255,.9);color:var(--bf-dark);border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.15)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .bf-section{padding:60px 0}
  .bf-welcome{padding:60px 0 116px}
  .bf-lift{margin-top:30px !important}
  .bf-greenbox{padding:40px 30px}
}
@media (max-width:781px){
  .entry-content h2{font-size:34px}
  .bf-welcome{padding:50px 0 100px}
  .bf-overlap{padding-bottom:90px;margin-bottom:30px}
  .bf-grid.columns-3,.bf-grid.columns-4{--bf-cols:2}
  .bf-footer{grid-template-columns:1fr;gap:20px;padding:60px 20px 40px}
  .bf-contact-card{padding:40px 20px 20px;margin:20px 10px}
  .bf-form{grid-template-columns:1fr}
  .bf-hero{height:70vh;min-height:380px}
  .bf-hero-logo img{width:160px}
}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:20px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bf-grid .wp-block-image img{transition:none}}

/* ---------- Bannière cookies ---------- */
.bf-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;background:#fff;color:var(--bf-text);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.22);padding:18px 22px;display:flex;gap:18px;align-items:center;font-size:14px;line-height:1.6;border-top:4px solid var(--bf-green)}
.bf-consent[hidden]{display:none}
.bf-consent p{margin:0;flex:1}
.bf-consent-btns{display:flex;gap:10px;flex-shrink:0}
.bf-consent button{border:2px solid var(--bf-green);background:var(--bf-green);color:#fff;border-radius:4px;padding:9px 16px;font-weight:700;font-size:14px;cursor:pointer;line-height:1.2}
.bf-consent button:hover{background:var(--bf-dark);border-color:var(--bf-dark);color:#fff}
@media (max-width:640px){.bf-consent{flex-direction:column;align-items:stretch;left:8px;right:8px;bottom:8px}.bf-consent-btns button{flex:1}}
.bf-form-info{font-size:13px;color:#555;margin:10px 0 0 !important;line-height:1.5}
.site-info .bf-sep{margin:0 6px;opacity:.6}

/* Couleurs du menu prioritaires sur les réglages GeneratePress */
body .main-navigation .main-nav ul li a,body .main-navigation .main-nav ul li:not([class*="current-menu-"]) a{color:#8a9086}
body .main-navigation .main-nav ul li a:hover,body .main-navigation .main-nav ul li a:focus,body .main-navigation .main-nav ul li.bf-active>a,body .main-navigation .main-nav ul li:not([class*="current-menu-"]):hover>a{color:var(--bf-dark);background:transparent}
body .main-navigation .main-nav ul li[class*="current-menu-"]>a{color:#8a9086;background:transparent}
body .main-navigation .main-nav ul li.bf-active[class*="current-menu-"]>a{color:var(--bf-dark)}
