.fmr-shell{--fmr-accent:#64765a;--fmr-ink:#28342c;--fmr-muted:#687469;--fmr-line:#e7e8df;--fmr-paper:#f9f9f5;color:var(--fmr-ink);font:inherit;max-width:1280px;margin:24px auto 45px;padding:30px 22px;box-sizing:border-box}
.fmr-shell *, .fmr-shell *:before,.fmr-shell *:after{box-sizing:border-box}
.fmr-shell button,.fmr-shell input,.fmr-shell textarea,.fmr-shell select{font:inherit}
.fmr-shell button{cursor:pointer}.fmr-shell button:disabled{cursor:not-allowed;opacity:.55}
.fmr-shell .fmr-eyebrow,.fmr-shell .fmr-kicker{display:block;font-size:11px;font-weight:750;letter-spacing:.17em;text-transform:uppercase;color:var(--fmr-accent)}
.fmr-shell .fmr-hero-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,61px);line-height:1.13;letter-spacing:-.035em;margin:12px 0 10px}
.fmr-shell .fmr-subtitle{max-width:640px;color:var(--fmr-muted);font-size:16px;margin:0 0 29px;line-height:1.6}
.fmr-steps{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--fmr-line);border-bottom:1px solid var(--fmr-line);padding:16px 0;margin-bottom:35px}
.fmr-step{display:flex;gap:9px;align-items:center;opacity:.48;font-size:12px;white-space:nowrap}.fmr-step em{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border:1px solid #a5aca4;border-radius:50%;font-size:11px;font-weight:700}
.fmr-step.is-active{opacity:1}.fmr-step.is-current em{background:var(--fmr-accent);color:white;border-color:var(--fmr-accent)}.fmr-step.is-current{font-weight:750}
.fmr-step-heading{margin:0 0 23px}.fmr-step-heading h2,.fmr-section-head h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,3.5vw,38px);font-weight:500;letter-spacing:-.025em;margin:0 0 5px}.fmr-step-heading p{margin:0;color:var(--fmr-muted);line-height:1.65}
.fmr-choice-trail{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px;font-size:12px;color:var(--fmr-muted)}.fmr-choice-trail span{border-radius:99px;border:1px solid var(--fmr-line);padding:6px 13px;background:#f7f8f4}.fmr-choice-trail i{font-style:normal;font-size:17px}
/* Étapes 1 à 3 uniquement : trois cartes maximum par rangée.
 * Les lignes de 1 ou 2 choix restent centrées, sans étirer les carrés.
 * Le catalogue WooCommerce utilise sa propre grille de produits. */
.fmr-reco .fmr-choice-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;margin-top:13px}
.fmr-reco .fmr-choice{box-sizing:border-box;min-width:0;width:auto;flex:0 0 calc(33.333333% - 12px);max-width:350px;aspect-ratio:1 / 1;display:block;position:relative;isolation:isolate;background:#e9ede5;color:var(--fmr-ink);border:1px solid var(--fmr-line);border-radius:16px;overflow:hidden;text-align:left;padding:0;cursor:pointer;box-shadow:0 7px 22px rgba(38,53,41,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.fmr-reco .fmr-choice:not(:disabled):hover,.fmr-reco .fmr-choice:not(:disabled):focus-visible{transform:translateY(-4px);border-color:var(--fmr-accent);box-shadow:0 12px 29px rgba(38,53,41,.16);outline:2px solid transparent}
.fmr-reco .fmr-choice:focus-visible{outline:3px solid var(--fmr-accent);outline-offset:3px}
.fmr-reco .fmr-choice:disabled{opacity:.58;cursor:not-allowed}
.fmr-reco .fmr-choice-media{position:absolute;inset:0;width:100%;height:100%;display:block;background:#e7eadd;overflow:hidden}
.fmr-reco .fmr-choice-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .35s ease}
.fmr-reco .fmr-choice:hover .fmr-choice-media img{transform:scale(1.045)}
.fmr-reco .fmr-choice-placeholder{width:100%;height:100%;display:grid;place-items:center;font:normal clamp(75px,11vw,130px) Georgia,serif;color:#778771;background:linear-gradient(140deg,#edf0e8,#dfe7d9)}
.fmr-reco .fmr-choice-body{box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;position:absolute;left:0;right:0;bottom:0;min-height:35%;padding:34px 44px 18px 18px;z-index:1;background:linear-gradient(0deg,rgba(240,244,235,.98),rgba(240,244,235,.92) 55%,rgba(240,244,235,0))}
.fmr-reco .fmr-choice--has-image .fmr-choice-body{color:#fff;background:linear-gradient(0deg,rgba(12,23,15,.86),rgba(12,23,15,.51) 60%,transparent)}
.fmr-reco .fmr-choice-body strong{color:inherit;font-family:Georgia,serif;font-size:clamp(19px,2.5vw,26px);font-weight:500;line-height:1.16;overflow-wrap:anywhere}
.fmr-reco .fmr-choice-body small{color:inherit;font-size:12px;opacity:.88;line-height:1.3}
.fmr-reco .fmr-choice-arrow{position:absolute;right:16px;bottom:18px;z-index:2;font-size:20px;color:var(--fmr-accent)}
.fmr-reco .fmr-choice--has-image .fmr-choice-arrow{color:#fff}
.fmr-reco-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:31px;min-height:42px}
.fmr-outline,.fmr-btn{border:1px solid var(--fmr-accent);border-radius:7px;padding:11px 18px;min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1.3;transition:filter .15s ease,background .15s ease}
.fmr-btn{background:var(--fmr-accent);color:#fff!important}.fmr-outline{background:white;color:var(--fmr-accent)}.fmr-btn:hover{filter:brightness(.92);color:white}.fmr-outline:hover{background:#f4f6ef}.fmr-text-button{background:transparent;border:none;color:var(--fmr-muted);text-decoration:underline;padding:9px 0;font-size:13px}
.fmr-question-card{max-width:750px;background:linear-gradient(135deg,#f6f8f2,#fbfbf8);padding:clamp(23px,4vw,40px);border:1px solid var(--fmr-line);border-radius:18px;margin:0 auto}
.fmr-question-count{color:var(--fmr-accent);font-size:12px;font-weight:800;letter-spacing:.12em}.fmr-question-card h3{font-family:Georgia,serif;font-size:clamp(24px,3vw,31px);font-weight:500;line-height:1.25;margin:14px 0 23px}
.fmr-answer-list{display:grid;gap:11px}.fmr-answer{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:16px 18px;background:white;border:1px solid #dfe3d7;border-radius:10px;color:var(--fmr-ink);transition:border-color .15s ease,background .15s ease}
.fmr-answer:hover,.fmr-answer:focus-visible,.fmr-answer.is-selected{border-color:var(--fmr-accent);background:#f1f5ed}.fmr-answer>span:nth-child(2){flex:1}.fmr-answer-circle{border:1.5px solid #9da99d;width:17px;height:17px;border-radius:50%}.fmr-question-tip{margin:20px 0 0!important;font-size:12px;color:var(--fmr-muted)}
.fmr-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:20px}
.fmr-product-card{background:#fff;border:1px solid var(--fmr-line);border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.fmr-product-image{display:block;background:var(--fmr-paper);height:270px;overflow:hidden}.fmr-product-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s}.fmr-product-image:hover img{transform:scale(1.035)}
.fmr-product-content{padding:20px;display:flex;flex-direction:column;flex:1;gap:11px}.fmr-product-content h3{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:500}.fmr-product-content p{margin:0;color:var(--fmr-muted);font-size:13px;line-height:1.55}.fmr-price{font-size:19px;font-weight:800;color:var(--fmr-ink)}.fmr-price del{opacity:.55;font-size:13px}.fmr-price ins{text-decoration:none}
.fmr-variant-selectors{display:grid;gap:9px}.fmr-variant-selectors label{display:grid;gap:6px;font-size:12px;font-weight:700}.fmr-variant-selectors select,.fmr-product-actions input{border:1px solid var(--fmr-line);border-radius:6px;background:#fff;padding:8px;width:100%;color:var(--fmr-ink)}
.fmr-product-actions{display:flex;gap:10px;align-items:end;margin-top:auto;flex-wrap:wrap}.fmr-product-actions label{width:65px;font-size:12px}.fmr-product-actions .fmr-btn{flex:1}.fmr-inline-error{min-height:18px;color:#a53e34;font-size:12px}.fmr-cart-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:#eff4e9;border-radius:10px;padding:17px 21px;margin:8px 0 25px;font-size:13px}.fmr-cart-banner a{color:var(--fmr-accent);font-weight:800}
.fmr-loading,.fmr-empty{padding:36px 30px;text-align:center;background:#f7f8f4;border:1px solid var(--fmr-line);border-radius:12px;color:var(--fmr-muted);line-height:1.8}
.fmr-spinner{display:inline-block;width:22px;height:22px;border:3px solid #d9e0d5;border-top-color:var(--fmr-accent);border-radius:50%;animation:fmr-spin .8s linear infinite;vertical-align:middle;margin-right:7px}@keyframes fmr-spin{to{transform:rotate(360deg)}}
.fmr-section-head{margin:38px 0 20px}.fmr-section-head>span{color:var(--fmr-accent);font-size:11px;font-weight:750;letter-spacing:.17em}
.fmr-modal[hidden],.fmr-reco-nav [hidden]{display:none!important}.fmr-modal{position:fixed;inset:0;background:rgba(10,22,14,.58);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.fmr-modal-card{background:#fff;width:min(100%,500px);border-radius:16px;text-align:center;padding:45px 30px 32px;position:relative;box-shadow:0 19px 65px #0003}.fmr-modal-card h3{font-family:Georgia,serif;font-size:28px;margin:10px 0}.fmr-modal-card p{color:var(--fmr-muted);line-height:1.6}.fmr-modal-mark{display:grid;place-items:center;color:#fff;background:var(--fmr-accent);width:48px;height:48px;border-radius:50%;margin:0 auto;font-size:22px}.fmr-modal-x{position:absolute;right:16px;top:11px;background:none;border:none;font-size:30px;color:var(--fmr-muted)}.fmr-modal-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:23px}
.fmr-banner{display:grid;grid-template-columns:1fr 0.85fr;min-height:320px;border-radius:15px;overflow:hidden;background:#e8ede3;margin-bottom:36px}.fmr-banner-copy{padding:clamp(27px,5vw,60px);display:flex;flex-direction:column;justify-content:center}.fmr-banner-copy>span{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--fmr-accent)}.fmr-banner-copy h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(29px,4vw,48px);line-height:1.17;margin:15px 0}.fmr-banner-copy p{color:#59675b;font-size:15px;line-height:1.7}.fmr-banner-image{overflow:hidden;min-height:260px}.fmr-banner-image img{width:100%;height:100%;object-fit:cover;display:block}
.fmr-booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px}.fmr-booking-layout h3{font-family:Georgia,serif;font-size:26px;font-weight:500;margin:0 0 10px}.fmr-booking-layout p{color:var(--fmr-muted);font-size:14px;line-height:1.6}.fmr-slot-list{display:grid;gap:11px;max-height:520px;overflow-y:auto;padding:5px}
.fmr-slot{display:flex;align-items:center;gap:13px;padding:15px;background:#f9faf6;border:1px solid var(--fmr-line);border-radius:9px;cursor:pointer}.fmr-slot input{width:18px;height:18px;accent-color:var(--fmr-accent)}.fmr-slot span{display:grid;gap:5px}.fmr-slot small{color:var(--fmr-muted);font-size:12px}.fmr-slot:has(input:checked){background:#eef4e8;border-color:var(--fmr-accent)}
.fmr-booking-fields,.fmr-webinar-form{padding:25px;background:#fbfbf8;border:1px solid var(--fmr-line);border-radius:12px}.fmr-public-form label:not(.fmr-slot){display:block;font-size:13px;font-weight:700;margin:0 0 15px}.fmr-public-form input:not([type=checkbox]),.fmr-public-form textarea{display:block;width:100%;border:1px solid #d8dfd5;background:#fff;border-radius:7px;padding:12px;margin-top:7px;color:var(--fmr-ink)}.fmr-public-form .fmr-check{font-weight:400!important;font-size:12px!important;display:flex!important;gap:9px;line-height:1.5;align-items:flex-start}.fmr-public-form .fmr-check input{margin-top:3px;accent-color:var(--fmr-accent)}.fmr-public-form .fmr-honeypot{position:absolute!important;left:-100000px!important;opacity:0!important;height:1px!important;width:1px!important;pointer-events:none!important}.fmr-feedback{color:#a33d32;font-size:13px;line-height:1.5;margin:8px 0}.fmr-feedback.is-success{color:#376b3c;font-weight:700}.fmr-note{font-size:11px!important}
.fmr-webinar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:21px}.fmr-webinar-day{grid-column:1/-1;font-family:Georgia,serif;font-size:22px;border-bottom:1px solid var(--fmr-line);padding:9px 0;margin-top:12px;text-transform:capitalize}
.fmr-webinar-card{background:white;border:1px solid var(--fmr-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.fmr-webinar-card>a img,.fmr-event-illustration{display:block;width:100%;height:215px;object-fit:cover;background:#eef2eb}.fmr-event-illustration{display:grid;place-items:center;color:#96a38c;font-size:86px}.fmr-webinar-card-inner{display:flex;flex-direction:column;gap:10px;padding:19px;flex:1}.fmr-webinar-card h3{font:normal 23px Georgia,serif;margin:0}.fmr-webinar-card p{margin:0;font-size:13px;line-height:1.5;color:var(--fmr-muted)}.fmr-webinar-card .fmr-spots{color:var(--fmr-accent);font-weight:750;margin-top:auto}.fmr-webinar-card .fmr-btn{margin-top:8px}
.fmr-pagination{display:flex;justify-content:center;gap:8px;margin:30px 0}.fmr-pagination a{padding:9px 15px;border:1px solid var(--fmr-line);border-radius:6px;text-decoration:none;color:var(--fmr-accent)}.fmr-pagination a.current{background:var(--fmr-accent);color:#fff}
.fmr-webinar-detail{max-width:950px;margin:0 auto}.fmr-detail-image{width:100%;height:clamp(240px,43vw,470px);object-fit:cover;border-radius:15px}.fmr-detail-content{padding:30px 8px}.fmr-detail-content h1{font:normal clamp(29px,5vw,47px) Georgia,serif;margin:10px 0 15px}.fmr-detail-meta{font-size:14px;color:var(--fmr-accent);font-weight:700;margin:0 0 25px}.fmr-event-description{line-height:1.7;color:var(--fmr-ink);margin-bottom:30px}.fmr-webinar-form{max-width:580px}.fmr-webinar-form h3{font:normal 26px Georgia,serif;margin:0 0 24px}.fmr-related-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:13px}.fmr-related{display:grid;text-decoration:none;color:var(--fmr-ink);gap:8px;font-size:13px}.fmr-related img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--fmr-paper);border-radius:10px}
@media(max-width:900px){.fmr-reco .fmr-choice{flex-basis:calc(50% - 9px)}}
@media(max-width:800px){.fmr-steps{gap:4px}.fmr-step{font-size:10px;gap:5px}.fmr-step em{width:21px;height:21px}.fmr-step span{max-width:70px;overflow:hidden;text-overflow:ellipsis}.fmr-booking-layout,.fmr-banner{grid-template-columns:1fr}.fmr-banner-image{max-height:265px;min-height:225px}.fmr-banner-copy{padding:30px}}
@media(max-width:540px){.fmr-shell{padding:21px 13px}.fmr-steps{gap:2px}.fmr-step{flex:1;justify-content:center}.fmr-step span{display:none}.fmr-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.fmr-choice-body{padding:12px 9px 20px}.fmr-choice-body strong{font-size:17px}.fmr-choice-body small{font-size:10px}.fmr-choice-arrow{right:9px;bottom:7px}.fmr-product-grid{grid-template-columns:1fr}.fmr-product-image{height:250px}.fmr-webinar-grid{grid-template-columns:1fr}.fmr-booking-fields{padding:17px}.fmr-modal-actions{flex-direction:column}.fmr-modal-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){.fmr-shell *{transition:none!important;animation:none!important}}

.fmr-service-actions{display:flex;gap:23px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:32px;padding:24px;background:#edf2e9;border-radius:12px}.fmr-service-actions h3{font:normal 27px Georgia,serif;margin:6px 0}.fmr-service-actions p{font-size:13px;color:var(--fmr-muted);margin:0}.fmr-service-links{display:flex;gap:9px;flex-wrap:wrap}

/* Sur mobile : deux cartes par ligne ; une carte seule conserve une largeur confortable. */
@media(max-width:540px){.fmr-reco .fmr-choice-grid{gap:12px}.fmr-reco .fmr-choice{flex-basis:calc(50% - 6px);max-width:265px}.fmr-reco .fmr-choice:only-child{flex-basis:100%;max-width:310px}.fmr-reco .fmr-choice-body{padding:34px 25px 11px 12px;min-height:43%}.fmr-reco .fmr-choice-body strong{font-size:clamp(15px,4vw,20px)}.fmr-reco .fmr-choice-body small{font-size:10px}.fmr-reco .fmr-choice-arrow{right:10px;bottom:10px;font-size:17px}}
/* Sur les écrans très étroits, une carte lisible par ligne est préférable. */
@media(max-width:370px){.fmr-reco .fmr-choice{flex-basis:100%;max-width:300px}}
