/* ==========================================================================
   Nardi Lunetier – styles du thème
   - polices Rima / OT Rima / Albra (fichiers dans assets/fonts)
   - en-tête, menu plein écran, pied de page
   - base des éléments de page (classes .bx / .bx-w) reprenant le
     comportement du site d'origine ; les réglages propres à chaque page
     sont dans assets/css/pages.css
   ========================================================================== */

@font-face{font-family:"Rima";font-weight:400;font-display:swap;src:url(../fonts/Rima-Regular.woff2) format("woff2"),url(../fonts/Rima-Regular.woff) format("woff")}
@font-face{font-family:"OTRima";font-weight:500;font-display:swap;src:url(../fonts/OTRima-Medium.woff2) format("woff2"),url(../fonts/OTRima-Medium.woff) format("woff")}
@font-face{font-family:"OTRima";font-weight:700;font-display:swap;src:url(../fonts/OTRima-Bold.woff2) format("woff2"),url(../fonts/OTRima-Bold.woff) format("woff")}
@font-face{font-family:"Albra";font-weight:400;font-display:swap;src:url(../fonts/Albra-Regular.woff2) format("woff2"),url(../fonts/Albra-Regular.woff) format("woff")}

:root{
  --primary:#000;
  --secondary:#0F4515;
  --white:#fff;
  --transparence:hsl(0 0% 100% / 0);
  --color-6:hsl(0 0% 0% / .5);
  --nl-texte:#363636;
  --nl-logo:#1d1d1b;
  --nl-font:"Rima","Helvetica Neue",Arial,sans-serif;
  --nl-font-titre:"OTRima","Rima","Helvetica Neue",Arial,sans-serif;
  --nl-pad:120px;
}
@media (max-width:1279px){:root{--nl-pad:60px}}
@media (max-width:991px){:root{--nl-pad:40px}}
@media (max-width:767px){:root{--nl-pad:20px}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:62.5%}
body{
  margin:0;background:var(--white);color:var(--nl-texte);
  font-family:var(--nl-font);font-size:25px;line-height:30px;font-weight:400;
  letter-spacing:.375px;text-transform:lowercase;
}
img{max-width:100%;height:auto;vertical-align:middle;border-style:none}
a{color:inherit;text-decoration:none;outline:none}
a:hover{color:var(--secondary)}
h1,h2,h3,h4,h5,h6{font-family:var(--nl-font-titre);font-weight:700;text-transform:lowercase;margin:0;text-rendering:optimizelegibility}
h1{font-size:40px;line-height:45px;letter-spacing:.8px;margin-bottom:15px}
h2{font-size:30px;line-height:40px;letter-spacing:.6px;margin-bottom:15px}
h3,h4{line-height:1.4}
figcaption{display:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:10px;left:10px;z-index:100000;width:auto;height:auto;clip:auto;background:#fff;padding:10px 15px;font-size:16px}
@media (max-width:1279px){h1{font-size:35px}}
@media (max-width:991px){h1{font-size:30px}}
@media (max-width:767px){
  body{font-size:20px;line-height:22px;letter-spacing:.3px}
  h1{font-size:28px;line-height:28px;margin-bottom:10px}
  h2{font-size:24px;line-height:22px;letter-spacing:.4px}
}

/* ---------- en-tête ---------- */
.nl-site-header{
  position:sticky;top:0;z-index:50;background:var(--white);
  height:180px;padding:0 var(--nl-pad);
  display:flex;align-items:center;justify-content:space-between;gap:60px;
}
.admin-bar .nl-site-header{top:32px}
@media (max-width:782px){.admin-bar .nl-site-header{top:0}}
.nl-burger,.nl-menu-close{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:#000!important;cursor:pointer}
.nl-burger{flex:0 0 78px;width:78px;margin-top:24px}
.nl-burger svg{display:block;width:100%;height:auto}
.nl-burger:focus-visible,.nl-menu-close:focus-visible{outline:2px solid var(--secondary);outline-offset:4px}
.nl-logo,.nl-logo:visited,.nl-logo:hover,.nl-logo:focus{flex:0 1 780px;max-width:780px;display:block;color:var(--nl-logo)!important;line-height:1}
.nl-logo svg,.nl-logo img{display:block;width:100%;height:auto}
.nl-logo-text{display:block;text-align:center;font-family:var(--nl-font-titre);font-size:min(117px,8.1vw);font-weight:700;letter-spacing:-.5px;white-space:nowrap}
.nl-header-spacer{flex:0 0 78px;min-width:78px}
@media (max-width:767px){
  .nl-site-header{height:120px;gap:20px}
  .nl-burger{flex-basis:48px;width:48px;height:28px;margin-top:8px}
  .nl-logo{flex:0 1 80%;max-width:80%;width:80%}
  .nl-logo-text{font-size:8.8vw}
  .nl-header-spacer{display:none}
}
@media (max-width:478px){.nl-site-header{height:100px}}

/* ---------- menu plein écran ---------- */
.nl-menu{position:fixed;inset:0;z-index:9999;background:var(--white);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;overflow:auto}
.nl-menu.is-open{opacity:1;visibility:visible}
.admin-bar .nl-menu{top:32px}
.nl-menu-close{position:absolute;top:55px;left:var(--nl-pad);width:68px;height:41px}
.nl-menu-close svg{display:block;width:100%;height:100%}
.nl-menu-nav{display:flex;flex-direction:column;align-items:center;padding:25px 0}
.nl-menu-nav a,.nl-menu-nav a:visited{font-family:var(--nl-font-titre);font-size:34px;line-height:28px;letter-spacing:.7px;font-weight:500;
  text-transform:lowercase;color:var(--nl-texte);margin-bottom:8px;text-align:center}
.nl-menu-nav a:hover,.nl-menu-nav a.is-current{color:var(--secondary)!important}
.nl-menu-sep{display:block;width:132px;border-top:1.5px solid var(--nl-texte);margin:5px 0 10px}
body.nl-menu-open{overflow:hidden}
@media (max-width:767px){
  .nl-menu-close{width:55px;height:28px;left:20px}
  .nl-menu-nav{margin-top:60px}
  .nl-menu-nav a{font-size:26px;line-height:26px;letter-spacing:.6px}
  .nl-menu-sep{width:100px}
}

/* ---------- contenu ---------- */
.nl-main{
  padding:0 var(--nl-pad);margin-top:60px;
  --kit-widget-spacing:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;
  --container-default-padding-top:0px;--container-default-padding-right:0px;
  --container-default-padding-bottom:0px;--container-default-padding-left:0px;
}
@media (max-width:991px){.nl-main{margin-top:40px}}
@media (max-width:767px){.nl-main{margin-top:20px}}
.elementor-template-full-width .nl-main,.elementor-template-canvas .nl-main{padding:0;margin-top:0}

/* conteneurs (section / container / block / div du site d'origine) */
.nl-main .bx,.nl-main .bx.e-con{
  --display:flex;display:flex;--flex-direction:column;flex-direction:column;--flex-wrap:nowrap;flex-wrap:nowrap;
  --align-items:flex-start;align-items:flex-start;--justify-content:flex-start;justify-content:flex-start;
  --gap:0px;--row-gap:0px;--column-gap:0px;gap:0;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;padding:0;
  --margin-top:0px;--margin-bottom:0px;margin:0;
  --width:100%;width:100%;max-width:100%;min-width:0;--min-height:0px;min-height:0;
  position:relative;
}
.nl-main .bx.brxe-section{--align-items:center;align-items:center}
@media (max-width:767px){.nl-main .bx,.nl-main .bx.e-con{--flex-wrap:wrap;flex-wrap:wrap}}
.nl-main .bx.brxe-div,.nl-main .bx.brxe-post-content{--display:block;display:block}

/* widgets */
.nl-main .bx-w{margin:0;--kit-widget-spacing:0px;max-width:100%;min-width:0;position:relative}
.nl-main .bx-w > .elementor-widget-container{margin:0;padding:0}
.nl-main .bx-w.elementor-widget-text-editor{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:inherit;color:inherit;text-transform:inherit}
.nl-main .bx-w.elementor-widget-heading .elementor-heading-title{font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;color:inherit;margin:0}
.nl-main .bx-w.elementor-widget-heading .elementor-heading-title a{color:inherit}
.nl-main .bx-w.elementor-widget-heading .elementor-heading-title a:hover{color:var(--secondary)}
body .nl-main.nl-main .bx-h1,body .nl-main.nl-main .bx-h2,body .nl-main.nl-main .bx-h3,body .nl-main.nl-main .bx-h4{font-family:var(--nl-font-titre);font-weight:700;text-transform:lowercase}
body .nl-main.nl-main .bx-h1{font-size:40px;line-height:45px;letter-spacing:.8px;margin-bottom:15px}
body .nl-main.nl-main .bx-h2{font-size:30px;line-height:40px;letter-spacing:.6px;margin-bottom:15px}
body .nl-main.nl-main .bx-h3{font-size:1.17em;line-height:1.4}
@media (max-width:1279px){body .nl-main.nl-main .bx-h1{font-size:35px}}
@media (max-width:991px){body .nl-main.nl-main .bx-h1{font-size:30px}}
@media (max-width:767px){
  body .nl-main.nl-main .bx-h1{font-size:28px;line-height:28px;margin-bottom:10px}
  body .nl-main.nl-main .bx-h2{font-size:24px;line-height:22px;letter-spacing:.4px}
}
.nl-main .bx-w.elementor-widget-image{text-align:left;line-height:0}
.nl-main .bx-w.elementor-widget-image a{display:block}
.nl-main .bx-w.elementor-widget-image img{display:block;max-width:100%;height:auto;border-radius:0;box-shadow:none}
.nl-main .bx-w.elementor-widget-image.tag img{width:100%;height:100%}
.nl-main .bx-w.elementor-widget-video{width:100%}
.nl-main .bx-w.elementor-widget-video .elementor-custom-embed-image-overlay{background-size:cover;background-position:center}
.nl-main .bx-w.elementor-widget-video .elementor-custom-embed-play i,
.nl-main .bx-w.elementor-widget-video .elementor-custom-embed-play svg{display:none!important}
.nl-main .bx-w.elementor-widget-video .elementor-custom-embed-play::after{content:"";display:block;width:70px;height:80px;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.nl-main .bx-w.elementor-widget-divider{width:100%;--divider-border-width:1px}
.nl-main .bx-w.elementor-widget-divider .elementor-divider{padding:0;display:flex}
.nl-main .bx-w.elementor-widget-divider .elementor-divider-separator{width:100%;border:0;border-top:1px solid currentColor}
.nl-main .bx-w.elementor-widget-divider.divider .elementor-divider-separator{border-top-width:1.5px}
.nl-main .bx-w.elementor-widget-html svg{max-width:100%}
.nl-main .bx-w.bx-linkwrap a{display:inline-block;line-height:0}
.nl-main .bx-star{width:1em;height:1em;vertical-align:-.1em}

/* boutons (style des boutons du site d'origine) */
.nl-main .bx-btn-primary .elementor-button,.nl-main .bx-btn-secondary .elementor-button,.nl-btn-a{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--nl-font);font-size:25px;line-height:30px;font-weight:400;letter-spacing:.5px;text-transform:lowercase;
  padding:15px;border-radius:0;box-shadow:none;fill:currentColor;
  background:var(--white);color:var(--primary);border:1px solid var(--primary);
}
.nl-main .bx-btn-primary .elementor-button:hover,.nl-btn-a:hover{color:var(--secondary);background:var(--white)}
.nl-main .bx-btn-secondary .elementor-button{background:var(--primary);color:var(--white);font-size:16px}
.nl-main .bx-btn-secondary .elementor-button:hover{background:var(--white);color:var(--primary)}
.nl-main .bx-btn-primary .elementor-button-text,.nl-main .bx-btn-secondary .elementor-button-text{text-transform:lowercase}
@media (max-width:767px){
  .nl-main .bx-btn-primary .elementor-button,.nl-btn-a{font-size:15px;line-height:20px;padding:10px}
  .nl-main .bx-btn-secondary .elementor-button{padding:10px}
}

/* contenu d'article (blocs Gutenberg) */
.nl-main .brxe-post-content{width:100%}
.nl-main .brxe-post-content .wp-block-gallery{padding:0}

/* pages sans Elementor (texte simple) */
.nl-prose{width:55%}
.nl-prose h2{margin-top:60px}
@media (max-width:991px){.nl-prose{width:85%}}
@media (max-width:767px){.nl-prose{width:100%}}

/* pagination des actualités */
.nl-pagination{margin-top:80px;font-size:18px;width:100%}
.nl-pagination .nav-links{display:flex;gap:20px}

/* ---------- pied de page ---------- */
.nl-site-footer{background:var(--primary);color:var(--white);margin-top:160px;padding:30px var(--nl-pad) 36px;
  font-family:var(--nl-font);font-size:18px;line-height:20px;display:flex;flex-direction:column;align-items:flex-start}
.nl-site-footer a,.nl-site-footer a:visited{color:var(--white)!important}
.nl-site-footer a:hover,.nl-site-footer a:focus{color:var(--white)!important;opacity:.7}
.nl-footer-mark{display:block;margin-bottom:20px;line-height:0}
.nl-footer-mark svg,.nl-footer-mark img{display:block;width:40px;height:40px}
.nl-footer-grid{display:grid;grid-template-columns:20% 20% 20% 1fr;gap:20px;width:100%;align-items:initial}
.nl-footer-col{font-size:16px;text-transform:lowercase;display:flex;flex-direction:column}
.nl-footer-col p{margin:0}
.nl-footer-col .nl-footer-title{font-weight:700;text-transform:lowercase}
.nl-footer-menu{display:flex;flex-direction:column;align-self:stretch;width:100%;text-transform:lowercase}
.nl-footer-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-weight:700}
.nl-footer-menu li{margin-bottom:10px}
.nl-footer-follow{display:block;margin-bottom:8px;font-weight:700}
.nl-social{display:flex;flex-direction:row;column-gap:12px;line-height:0}
.nl-social a{display:block;width:33px;height:33px}
.nl-social svg{width:33px;height:33px}
.nl-footer-cta{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;align-self:stretch;width:100%}
.nl-footer-btn{display:inline-block;border:1px solid var(--white);background:var(--primary);color:var(--white);padding:15px;
  font-size:16px;line-height:30px;font-weight:700;letter-spacing:.5px;text-transform:lowercase}
.nl-site-footer .nl-footer-btn:hover{background:var(--white);color:var(--primary)!important;opacity:1}
.nl-legal{font-size:10px;line-height:13px;text-transform:lowercase}
.nl-legal p{margin:0 0 13px}
.nl-legal p:last-child{margin:0}
.nl-legal-mobile{display:none}
@media (max-width:767px){
  .nl-site-footer{margin-top:60px}
  .nl-footer-grid{grid-template-columns:50% 50%}
  .nl-footer-col,.nl-footer-menu{font-size:13px;line-height:14px}
  .nl-footer-cta{padding-right:20px}
  .nl-footer-btn{font-size:13px;line-height:14px;width:100%;padding-bottom:10px;text-align:center}
  .nl-footer-cta .nl-legal{display:none}
  .nl-legal-mobile{display:block;margin-top:20px}
}

/* ---------- WooCommerce (fiches produits) ---------- */
.nl-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}
.nl-product-info{display:flex;flex-direction:column;align-items:stretch;max-width:450px}
.nl-product-title{font-size:40px;line-height:45px;margin:0 0 5px}
.nl-product-price,.nl-product-price .price{font-size:24px;line-height:30px;margin-bottom:20px;color:var(--nl-texte)}
.nl-product-price del{opacity:.5}
.nl-product-cart{font-size:18px;line-height:22px;margin-bottom:20px}
.nl-product-cart .stock,.nl-product-cart .stock.out-of-stock{font-size:18px;margin:0 0 10px;color:var(--nl-texte)!important}
.nl-product-cart form.cart{display:flex;flex-direction:column;gap:10px;margin:0}
.nl-product-cart table.variations{border:0;margin:0;width:100%}
.nl-product-cart table.variations th{display:none}
.nl-product-cart table.variations td{padding:0;display:block}
.nl-product-cart select{width:100%;font-family:var(--nl-font);font-size:16px;padding:12px 10px;border:1px solid #ddd;border-radius:0;background:#fff;color:var(--nl-texte)}
.nl-product-cart .reset_variations{font-size:16px}
.nl-product-cart .woocommerce-variation-add-to-cart,.nl-product-cart form.cart:not(.variations_form){display:flex;flex-direction:column;gap:10px}
.nl-product-cart .quantity input{width:100%;font-family:var(--nl-font);font-size:16px;padding:10px;border:1px solid #ddd;text-align:center}
.nl-product-cart .single_add_to_cart_button,.nl-product-cart button.button{width:100%;background:var(--primary)!important;color:var(--white)!important;border:1px solid var(--primary)!important;border-radius:0!important;
  font-family:var(--nl-font);font-size:14px!important;line-height:20px;letter-spacing:.5px;text-transform:uppercase;padding:12px!important;opacity:1}
.nl-product-cart .single_add_to_cart_button:hover{background:var(--white)!important;color:var(--primary)!important}
.nl-acc{font-size:18px;line-height:30px;border:0}
.nl-acc summary{list-style:none;cursor:pointer;text-transform:lowercase}
.nl-acc summary::-webkit-details-marker{display:none}
.nl-acc[open] summary span{display:inline-block;transform:rotate(45deg)}
.nl-acc-content{font-size:18px;line-height:24px;padding:10px 0 20px}
.nl-acc-content p{margin:0 0 10px}
.nl-product-gallery{display:flex;flex-direction:column;gap:20px}
.nl-product-gallery a{display:block;line-height:0}
.nl-product-gallery img{display:block;width:100%;height:auto}
.woocommerce .nl-main .woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce .nl-main .button{background:var(--primary);color:var(--white);border-radius:0;font-family:var(--nl-font);font-weight:400;text-transform:lowercase}
@media (max-width:767px){
  .nl-product{grid-template-columns:minmax(0,1fr);gap:40px}
  .nl-product-gallery{order:-1}
  .nl-product-title{font-size:24px;line-height:28px}
}
