/*
Theme Name: Le salon ED (enfant de Hello Elementor)
Theme URI: https://elovia.be
Description: Thème enfant pour lesalon-ed.be : charte graphique du salon ED (couleurs, typographie Jost, composants de la page d'accueil et du catalogue). Réalisé par Elovia.
Author: Elovia
Author URI: https://elovia.be
Template: hello-elementor
Version: 1.0.0
Text Domain: salon-ed
*/

:root{--brun:#272320;--creme:#F4EFE8;--sable:#B8935F;--sable-clair:#E4D6C3;--taupe:#5E554C;--line-dark:#4A433D;--line-light:#D4C7B3;--muted-dark:#B9AF9F}

html{scroll-behavior:smooth;scroll-padding-top:90px}
body.elementor-page{font-family:"Jost",sans-serif;font-weight:300;font-size:19px;line-height:1.55;background:var(--brun);color:var(--creme)}
.ed-section h1,.ed-section h2,.ed-section h3,.ed-hero h1,.ed-h1,.ed-h2,.ed-h3,.ed-manifeste{font-family:"Jost",sans-serif;font-weight:200;line-height:1.05;letter-spacing:-.01em;margin:0}
.ed-h1 .elementor-heading-title,.ed-hero .ed-h1{font-size:clamp(3rem,8vw,6.6rem);color:var(--creme)}
.ed-h2 .elementor-heading-title{font-size:clamp(2.3rem,5vw,4.2rem);font-weight:200}
.ed-h3 .elementor-heading-title{font-size:2rem;font-weight:200}
.ed-h1 em,.ed-h2 em,.ed-manifeste em{font-style:normal;color:var(--sable)}
.ed-eyebrow .elementor-heading-title{font-size:.78rem;font-weight:400;letter-spacing:.34em;text-transform:uppercase;color:var(--sable);margin-bottom:22px}
.ed-lead{font-size:1.2rem;line-height:1.5;max-width:56ch}
.ed-lead p{margin:0}
.ed-section{color:var(--creme)}
.ed-section .ed-lead{color:var(--muted-dark)}
.ed-prix,.ed-produits,.ed-contact,.ed-avis-wrap{color:var(--brun)}
.ed-prix .ed-h2 .elementor-heading-title,.ed-produits .ed-h2 .elementor-heading-title,.ed-contact .ed-h2 .elementor-heading-title,.ed-contact .ed-h3 .elementor-heading-title{color:var(--brun)}
.ed-prix .ed-lead,.ed-produits .ed-lead,.ed-contact .ed-lead,.ed-small{color:var(--taupe)}
.ed-head{align-items:flex-end!important;margin-bottom:48px}

/* Boutons */
.ed-btn .elementor-button{background:var(--creme);color:var(--brun);border:1px solid var(--creme);border-radius:0;padding:18px 34px;font-family:"Jost",sans-serif;font-weight:400;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;transition:background .2s,color .2s}
.ed-btn .elementor-button:hover{background:var(--sable);border-color:var(--sable);color:var(--brun)}
.ed-btn-outline .elementor-button{background:transparent;color:var(--creme)}
.ed-btn-outline .elementor-button:hover{background:rgba(244,239,232,.12);color:var(--creme)}
.ed-btn-dark .elementor-button{background:var(--brun);color:var(--creme);border-color:var(--brun)}
.ed-btn-dark .elementor-button:hover{background:var(--sable);border-color:var(--sable);color:var(--brun)}
.ed-btn-small .elementor-button{padding:13px 22px;font-size:.72rem}
.ed-actions{margin-top:36px}

/* En-tête fixe */
.ed-header{position:fixed!important;top:0;left:0;right:0;z-index:9;transition:background .3s}
.ed-header.is-solid{background:rgba(39,35,32,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
.ed-logo img{height:56px;width:auto}
.ed-nav{display:flex;gap:32px;font-size:.76rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase}
.ed-nav a{color:var(--creme);opacity:.8;text-decoration:none}
.ed-nav a:hover{opacity:1}
@media (max-width:980px){.ed-nav{display:none}}
@media (max-width:480px){.ed-logo img{height:42px}.ed-btn-small .elementor-button{padding:11px 14px;letter-spacing:.14em}}

/* Hero */
.ed-hero .ed-lead{color:#E7E0D4;margin-top:26px}
.ed-rating{display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right;color:#E7E0D4;font-size:.95rem}
.ed-stars{color:var(--sable);letter-spacing:4px;font-size:1.3rem}
.ed-big{font-size:3.4rem;font-weight:200;line-height:1}
@media (max-width:767px){.ed-rating{align-items:flex-start;text-align:left}}

/* Bandeau défilant */
.ed-marquee{overflow:hidden;white-space:nowrap;color:var(--brun);font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;font-weight:400}
.ed-marquee span{display:inline-block;padding:0 28px}

/* Manifeste et chiffres */
.ed-manifeste-wrap{text-align:center}
.ed-manifeste .elementor-heading-title{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:200;line-height:1.22;max-width:26ch;margin:0 auto;color:var(--creme)}
.ed-keys{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);text-align:left}
.ed-keys div{padding:34px 20px;border-right:1px solid var(--line-dark)}
.ed-keys div:last-child{border-right:0}
.ed-keys b{display:block;font-size:3rem;font-weight:200;line-height:1;margin-bottom:10px;color:var(--creme)}
.ed-keys span{color:var(--muted-dark);font-size:.95rem}
@media (max-width:760px){.ed-keys{grid-template-columns:1fr 1fr}.ed-keys div:nth-child(2){border-right:0}.ed-keys div:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}}

/* Accordéons tarifs et FAQ (widget Accordéon Elementor) */
.ed-acc .elementor-accordion,.ed-faq .elementor-accordion{border:0}
.ed-acc .elementor-accordion-item,.ed-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--line-light)!important}
.ed-acc .elementor-accordion-item:first-child{border-top:1px solid var(--line-light)!important}
.ed-faq .elementor-accordion-item{border-color:var(--line-dark)!important}
.ed-acc .elementor-tab-title,.ed-faq .elementor-tab-title{padding:26px 0;border:0!important;display:flex;align-items:center;gap:20px}
.ed-acc .elementor-tab-title a,.ed-acc .elementor-accordion-title{font-family:"Jost",sans-serif;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:200;color:var(--brun)}
.ed-acc .ed-n{font-size:.8rem;letter-spacing:.2em;color:var(--sable);font-weight:400;display:inline-block;width:50px}
.ed-acc .elementor-accordion-icon,.ed-faq .elementor-accordion-icon{order:2;margin-left:auto;color:var(--sable)!important;font-size:1.2rem}
.ed-acc .elementor-tab-content,.ed-faq .elementor-tab-content{border:0!important;padding:0 0 30px 70px}
.ed-acc .ed-note{color:var(--taupe);font-size:1rem;margin:0 0 18px}
.ed-lines{list-style:none;margin:0;padding:0;columns:2;column-gap:60px}
.ed-lines li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line-light);font-size:1.05rem;break-inside:avoid;color:var(--brun)}
.ed-lines li span:last-child{font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.ed-lines i{font-style:normal;font-size:.7rem;color:var(--taupe);letter-spacing:.08em;text-transform:uppercase;margin-right:4px}
.ed-faq .elementor-tab-title a,.ed-faq .elementor-accordion-title{font-family:"Jost",sans-serif;font-size:1.15rem;font-weight:300;color:var(--creme)}
.ed-faq .elementor-tab-content{padding:0 0 22px;color:var(--muted-dark);font-size:1rem}
.ed-faq .elementor-tab-content p{margin:0;max-width:56ch}
.ed-faq .elementor-tab-title{padding:22px 0}
@media (max-width:860px){.ed-acc .elementor-tab-content{padding-left:0}.ed-lines{columns:1}.ed-acc .ed-n{width:36px}}

/* Section salon */
.ed-salon .ed-lead{color:#E7E0D4}
.ed-practical{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:40px}
.ed-practical div{border-top:1px solid rgba(244,239,232,.25);padding-top:14px;font-size:.95rem;color:#CFC6B9}
.ed-practical b{display:block;color:var(--creme);font-weight:400;margin-bottom:2px}

/* Étapes */
.ed-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:60px;position:relative}
.ed-steps::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--line-dark)}
.ed-step{position:relative;padding-top:40px}
.ed-step::before{content:"";position:absolute;top:3px;left:0;width:13px;height:13px;border-radius:50%;background:var(--sable)}
.ed-step b{font-size:.8rem;letter-spacing:.3em;color:var(--sable);font-weight:400;display:block;margin-bottom:14px}
.ed-step h3{font-size:1.5rem;font-weight:300;margin:0 0 10px;color:var(--creme)}
.ed-step p{margin:0;font-size:1rem;color:var(--muted-dark)}
@media (max-width:860px){.ed-steps{grid-template-columns:1fr 1fr}.ed-steps::before{display:none}}
@media (max-width:460px){.ed-steps{grid-template-columns:1fr}}

/* Galerie : bande qui défile */
.ed-hint{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-dark)}
.ed-strip{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--sable) transparent}
.ed-strip img{height:420px;width:auto;flex:0 0 auto;display:block}
@media (max-width:700px){.ed-strip img{height:280px}}

/* Avis */
.ed-avis{text-align:center}
.ed-mark{font-size:8rem;color:var(--sable);line-height:.35;display:block;margin-bottom:40px;font-weight:200}
.ed-quote{font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.25;font-weight:200;max-width:28ch;margin:0 auto 30px;color:var(--brun)}
.ed-who{font-size:.9rem;color:var(--taupe);letter-spacing:.12em;text-transform:uppercase}
.ed-badge{display:inline-flex;align-items:center;gap:12px;margin-top:40px;padding:14px 26px;border:1px solid var(--brun);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brun)}

/* Produits (aperçu) */
.ed-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:0 0 40px;background:var(--line-light);border:1px solid var(--line-light)}
.ed-prod{background:var(--creme);padding:22px;display:flex;flex-direction:column;gap:10px}
.ed-prod .ed-img{aspect-ratio:1;background:#fff;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;color:var(--taupe);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}
.ed-prod .ed-img img{width:100%;height:100%;object-fit:cover}
.ed-pill{position:absolute;top:12px;left:12px;background:var(--brun);color:var(--creme);padding:6px 12px;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}
.ed-prod h3{font-size:1.05rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;margin:0;color:var(--brun)}
.ed-prod p{margin:0;font-size:.92rem;color:var(--taupe)}
.ed-price{font-weight:400;font-size:1.1rem;font-variant-numeric:tabular-nums}
@media (max-width:860px){.ed-prod-grid{grid-template-columns:1fr 1fr}}

/* Contact */
.ed-address{font-style:normal;line-height:1.9;font-size:1.12rem;margin:26px 0 30px;color:var(--brun)}
.ed-address a{color:inherit;text-decoration:none;border-bottom:1px solid var(--sable)}
.ed-map{aspect-ratio:16/9;background:var(--sable-clair);display:flex;align-items:center;justify-content:center;color:var(--taupe);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-top:30px}
.ed-hours{list-style:none;margin:18px 0 0;padding:0;font-variant-numeric:tabular-nums;border-top:1px solid var(--line-light)}
.ed-hours li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line-light);font-size:1.08rem;color:var(--brun)}
.ed-hours li.closed span:last-child{color:var(--taupe)}
.ed-small{font-size:.95rem;margin-top:16px}

/* Pied de page */
.ed-footer{text-align:center;color:var(--muted-dark)}
.ed-footer-logo img{height:190px;width:auto;margin:0 auto 30px}
.ed-links{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase}
.ed-links a{text-decoration:none;color:var(--creme);opacity:.8}
.ed-links a:hover{opacity:1}
.ed-legal{margin-top:50px;padding-top:20px;border-top:1px solid var(--line-dark);font-size:.85rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;text-align:left}
.ed-legal a{color:inherit;text-decoration:none}

/* Divers */
.ed-section img,.ed-hero img{max-width:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
