:root { --photo-radius: clamp(12px, 1.4vw, 20px); }
/* Pages de la maison : une grille commune, des contenus propres à chaque rayon. */
.greengrocer-contact { padding-top: 22px; padding-bottom: 42px; }
.greengrocer-contact > .breadcrumb { margin-bottom: 26px; }
.primeur-contact-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr); gap: clamp(40px,7vw,120px); }
.primeur-letter { min-width: 0; }
.primeur-location { font-size: 14px; color: #8a613d; }
.primeur-letter h1 { font-size: clamp(48px,4.6vw,76px); line-height: 1.06; margin: 18px 0 22px; }
.primeur-letter header p { font-size: 18px; line-height: 1.7; margin: 0 0 28px; }
.primeur-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-bottom: 26px; }
.primeur-fields > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.primeur-form label { display: block; font-size: 16px; font-weight: 500; }
.primeur-form input { width: 100%; padding: 12px 4px; background: transparent; border: 0; border-bottom: 1px solid #a5ac95; border-radius: 0; font: inherit; color: var(--green); min-height: 48px; }
.primeur-form textarea { width: 100%; display: block; margin-top: 12px; padding: 16px; background: #fffef8; border: 1px solid #c4c9b8; border-radius: 2px; resize: vertical; min-height: 170px; font: inherit; line-height: 1.65; color: var(--green); }
.primeur-form textarea::placeholder { color: #838979; font-size: 16px; }
.primeur-form input:focus-visible, .primeur-form textarea:focus-visible { outline: 2px solid #76875b; outline-offset: 4px; }
.primeur-form > p { font-size: 14px; color: #69735e; line-height: 1.6; margin: 12px 0 22px; max-width: 70ch; }
.primeur-send { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.primeur-send button { border: 0; border-radius: 3px; background: #34583e; color: #fffef6; font: inherit; font-size: 16px; padding: 15px 22px; display: inline-flex; align-items: center; gap: 30px; cursor: pointer; }
.primeur-send button:hover { background: #25412e; }
.primeur-send > span { font-size: 13px; color: #727967; }
.primeur-signature { font-size: 15px; margin: 25px 0 0; line-height: 1.7; }
.primeur-signature span { font: italic 27px var(--display); color: #78603f; }
.primeur-shop figure { margin: 0; max-width: 360px; }
.primeur-shop figure img { width: 100%; height: auto; border-radius: var(--photo-radius); }
.primeur-shop figcaption { margin-top: 8px; font-size: 13px; color: #787862; }
.primeur-shop-details { padding: 22px 0 0; }
.primeur-shop h2 { font-size: 34px; margin: 0 0 15px; }
.primeur-shop address { font-style: normal; font-size: 17px; line-height: 1.65; }
.primeur-directions { display: inline-flex; gap: 14px; font-size: 14px; border-bottom: 1px solid #a7ae97; padding-bottom: 3px; margin-top: 9px; }
.primeur-hours { margin: 22px 0 0; padding: 16px 0; border-block: 1px solid #d5d8c9; }
.primeur-hours > div { display: flex; justify-content: space-between; gap: 20px; font-size: 16px; padding: 5px 0; }
.primeur-hours dd { margin: 0; white-space: nowrap; }
.primeur-call { font-size: 15px; margin: 20px 0 5px; line-height: 1.6; }
.primeur-shop .primeur-phone { font: 31px var(--display); border-bottom: 0; text-decoration: none; }
.primeur-social { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 16px; font-size: 13px; }
@media(max-width:1050px) { .primeur-contact-layout { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 32px; } .contact-desktop-break { display: none; } .primeur-fields { gap: 18px; } }
@media(max-width:767px) {

    .greengrocer-contact { padding-top: 20px; padding-bottom: 30px; }
    .primeur-contact-layout { grid-template-columns: 1fr; gap: 30px; }
    .primeur-letter h1 { font-size: 49px; }
    .primeur-letter header p { font-size: 16px; margin-bottom: 24px; }
    .primeur-fields { grid-template-columns: 1fr; gap: 20px; margin-bottom: 22px; }
    .primeur-form textarea { min-height: 170px; }
    .primeur-send { align-items: start; flex-direction: column; gap: 12px; }
    .primeur-signature { margin-top: 20px; }
    .primeur-shop { padding-top: 25px; border-top: 1px solid var(--line); }
    .primeur-hours > div { font-size: 15px; }
}
.motion-element { opacity: 0; translate: 0 24px; transition: opacity .7s ease var(--motion-delay, 0ms), translate .8s cubic-bezier(.2,.7,.2,1) var(--motion-delay, 0ms); }
.motion-element.motion-visible, .motion-element:focus-within { opacity: 1; translate: 0 0; }
@media (prefers-reduced-motion: reduce) { .motion-element { opacity: 1; translate: 0 0; transition: none; } }
.interior-page { padding-top: 26px; padding-bottom: 42px; }
.interior-page .breadcrumb { margin-bottom: 24px; color: #68765e; }
.interior-heading { margin-bottom: 30px; }
.interior-heading h1, .service-hero h1, .advice-hero h1, .product-hero h1 { font-size: clamp(44px, 4.6vw, 78px); margin: 16px 0 22px; line-height: 1.07; }
.interior-page .lead { font-size: clamp(19px, 1.5vw, 23px); line-height: 1.55; max-width: 68ch; }
.interior-page h2 { font-size: clamp(31px, 3vw, 48px); margin: 14px 0 20px; }
.interior-page h3 { font-size: 21px; line-height: 1.3; }
.interior-page p { line-height: 1.7; }
.interior-page figure { margin: 0; }
.interior-page figcaption { font-size: 14px; color: #657459; padding-top: 12px; }
.interior-callout { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 30px 34px; margin: 32px 0 0; border: 1px solid #d5ddc9; border-radius: 10px; background: #e8eddd; }
.interior-callout h2 { margin: 0 0 12px; }
.interior-callout p { margin: 0; }
.interior-callout > .button { flex-shrink: 0; }
.action-stack { display: flex; flex-direction: column; align-items: center; gap: 14px; flex-shrink: 0; }
.heritage-page { --heritage-gap: clamp(24px, 3vw, 44px); --heritage-warm: #925433; color: #37483c; }
.heritage-page .interior-heading { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,.7fr); align-items: end; gap: 28px; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid #d9d7c7; }
.heritage-page .interior-heading h1 { font-size: clamp(44px, 4.9vw, 82px); line-height: 1.06; margin: 8px 0 0; letter-spacing: -.035em; }
.heritage-page .interior-heading h1 em { color: var(--heritage-warm); }
.heritage-page .interior-heading .lead { font: italic clamp(22px,2vw,29px)/1.4 var(--display); color: #696e43; margin: 0 0 4px; }
.heritage-page h2 { font-size: clamp(34px,3.3vw,52px); margin: 0 0 18px; }
.heritage-page h2 em { color: var(--heritage-warm); }
.heritage-opening > div > p, .heritage-story p, .heritage-team-copy > p { font-size: clamp(17px,1.15vw,19px); line-height: 1.8; }
.heritage-opening > div > p:first-child::first-letter { float: left; font: 66px/.85 var(--display); margin: 8px 9px 0 0; color: var(--green); }
.heritage-page strong { color: var(--green); }
.heritage-page .section-heading { margin-bottom: 16px; }
.heritage-opening, .heritage-story { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--heritage-gap); align-items: center; margin-bottom: 24px; }
.heritage-opening > div > p:first-child { margin-top: 0; }
.heritage-note { background: #254b3b; color: #fff9e9; border: 0; padding: clamp(24px,3vw,44px); border-radius: 3px 32px 3px 3px; }
.heritage-note p { font: clamp(29px, 2.8vw, 43px)/1.25 var(--display); margin: 20px 0; color: #fff9e9; }
.heritage-note p em { color: #e7c79c; }
.heritage-note > span:last-child { font: italic 19px var(--display); color: #e7c79c; }
.heritage-note .eyebrow { color: #d5dec5; letter-spacing: .12em; }
.heritage-story { padding-top: 22px; border-top: 1px solid var(--line); }
.heritage-story figure { max-width: 390px; justify-self: center; }
.heritage-story img { width: 100%; height: auto; border-radius: var(--photo-radius); }
.heritage-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 22px 0 26px; }
.heritage-metrics article { padding: 18px 0; background: transparent; border: 0; border-top: 1px solid #d6d4c2; border-bottom: 1px solid #d6d4c2; border-radius: 0; }
.heritage-metrics strong { display: block; color: var(--green); font: 54px/1.15 var(--display); margin-bottom: 8px; }
.heritage-metrics article:nth-child(2) strong { color: var(--heritage-warm); }
.heritage-metrics article:nth-child(3) strong { color: #716332; }
.heritage-metrics span { font-size: 16px; }
.heritage-team > p { max-width: 105ch; }
.heritage-team-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; }
.heritage-team-copy > p { margin: 0; }
.heritage-team-copy > p:last-child { grid-column: 1/-1; max-width: 85ch; padding: 12px 0; font: italic clamp(22px,2vw,28px)/1.5 var(--display); color: #6e653f; }
.people-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 18px 0 24px; }
.people-cards article { display: flex; align-items: center; gap: 18px; padding: 18px; background: #edeedf; border-radius: 4px; }
.people-cards article:nth-child(2) { background: #f3e8db; }
.people-cards article:nth-child(3) { background: #ece8ee; }
.person-initial { display: grid; place-items: center; width: 58px; height: 66px; flex-shrink: 0; border-radius: 30px 30px 4px 4px; background: #dce3cc; font: 35px var(--display); }
.people-cards h3 { margin: 0 0 7px; font: 25px var(--display); }
.people-cards p { font-size: 15px; margin: 0; }
.heritage-values { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--heritage-gap); padding: 24px 0; border-block: 1px solid var(--line); }
.heritage-values ul { list-style: none; margin: 0; padding: 0; }
.heritage-values li { display: flex; align-items: baseline; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.heritage-values li:last-child { border-bottom: 0; }
.heritage-values > div > p { font: italic 24px/1.5 var(--display); color: #6e653f; max-width: 28ch; }
.heritage-values li { font-size: 17px; }
.heritage-values li::before { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: #a87443; }
.heritage-timeline { margin-top: 24px; }
.heritage-timeline ol { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; list-style: none; padding: 0; margin: 28px 0 0; }
.heritage-timeline ol:before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: #b3bf98; }
.heritage-timeline li { position: relative; padding-top: 24px; }
.heritage-timeline li:before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: #6e825a; position: absolute; top: -4px; left: 0; }
.heritage-timeline strong { font: 32px var(--display); color: var(--green); }
.heritage-timeline h3 { font-size: 19px; margin: 12px 0 8px; }
.heritage-timeline p { font-size: 16px; margin: 0; }
.heritage-closing { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(24px,5vw,72px); margin-top: 38px; padding: 36px 0 14px; border-top: 1px solid #d8cbb3; }
.heritage-closing h2 { font-size: clamp(38px,4vw,62px); margin: 0; }
.heritage-closing h2 em { color: #946b43; }
.heritage-closing > div > p { max-width: 48ch; margin: 0; }
.heritage-closing .heritage-signature { margin-top: 22px; font-size: 15px; }
.heritage-signature span { display: inline-block; margin-top: 6px; font: italic clamp(24px,2.2vw,32px)/1.35 var(--display); color: #795934; }
.heritage-page .heritage-closing h2 { font-size: clamp(42px,4.5vw,68px); line-height: 1.08; }
.heritage-closing > div > p { font-size: 18px; line-height: 1.75; }
.contact-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 28px 0; }
.contact-methods > a { display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--line); padding: 25px 28px; border-radius: 9px; background: #f0f1e5; }
.contact-methods > a:hover { background: #e4ead6; transform: translateY(-2px); }
.contact-methods strong { display: flex; justify-content: space-between; gap: 20px; font: 30px var(--display); }
.contact-methods > a > span:last-child { font-size: 16px; }
.contact-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); align-items: start; gap: 30px; }
.contact-form-panel { padding: 30px; background: #fffef9; border: 1px solid var(--line); border-radius: 10px; }
.contact-form-panel .form { background: transparent; padding: 0; border: 0; display: flex; flex-direction: column; gap: 10px; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 8px 0; }
.form-pair > div { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.form-pair input { width: 100%; }
.contact-form-panel .form textarea { width: 100%; resize: vertical; }
.contact-form-panel .form button { align-self: start; min-height: 50px; padding: 13px 22px; display: flex; align-items: center; gap: 22px; }
.contact-form-panel .form-note { font-size: 14px; color: #657459; margin: 0 0 10px; }
.visit-card { background: #e9eddf; border: 1px solid #d2dbc6; padding: 30px; border-radius: 10px; }
.visit-card h2 { font-size: 35px; }
.visit-card .hours-row { font-size: 16px; }
.visit-address { margin-top: 28px; }
.visit-address h3 { margin-bottom: 10px; }
.social-links { display: flex; gap: 22px; flex-wrap: wrap; padding-top: 24px; margin-top: 24px; border-top: 1px solid #cbd5bc; font-size: 15px; }
.service-hero, .product-hero, .advice-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(30px,4vw,70px); align-items: center; margin-bottom: 30px; }
.service-hero > div > p, .product-hero > div > p { max-width: 65ch; }
.service-hero .button { margin-top: 8px; }
.service-hero figure { max-width: 510px; justify-self: center; }
.service-hero figure > img { width: auto; max-width: 100%; max-height: 340px; height: auto; margin-inline: auto; border-radius: var(--photo-radius); }
.service-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid #d4ddc4; background: #edf0e3; padding: 22px; gap: 20px; }
.service-facts > span { text-align: center; font-size: 15px; }
.service-facts strong { display: block; font-size: 21px; margin-bottom: 5px; }
.service-process { padding-top: 32px; }
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.process-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 9px; background: #fffef9; }
.process-grid article > span { font: 36px var(--display); color: #85966c; }
.process-grid h3 { margin: 16px 0 12px; }
.process-grid p { margin: 0; }
.service-options { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px,4vw,70px); align-items: center; margin: 34px 0; padding: 30px; background: #f0eddf; border-radius: 9px; }
.service-options p { margin-bottom: 0; }
.service-link-list a { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid #d0d6bf; font-size: 18px; }
.request-checklist { list-style: none; padding: 0; margin: 0; }
.request-checklist li { padding: 14px 0 14px 28px; position: relative; border-bottom: 1px solid #d0d6bf; }
.request-checklist li:before { content: '✓'; color: var(--green); position: absolute; left: 0; }
.service-faq { margin: 32px 0; }
.service-faq details { border-bottom: 1px solid #d5ddc7; }
.service-faq summary { font-size: 19px; font-weight: 550; padding: 20px 36px 20px 0; cursor: pointer; position: relative; list-style: none; }
.service-faq summary:after { content: '+'; position: absolute; right: 6px; font-size: 25px; top: 14px; font-weight: 400; }
.service-faq details[open] summary:after { content: '−'; }
.service-faq summary::-webkit-details-marker { display: none; }
.service-faq details p { margin: 0 0 22px; max-width: 95ch; }
.product-hero h1 { font-size: clamp(44px,4.5vw,76px); }
.product-subtitle { font: italic clamp(25px,2.4vw,36px)/1.35 var(--display); color: #76845e; margin: 0 0 18px; }
.product-hero .lead { font-size: 19px; }
.product-hero figure img { width: 100%; height: clamp(340px,29vw,480px); object-fit: cover; border-radius: 70px 8px 8px 8px; }
.product-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 26px; }
.product-selection { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); gap: clamp(30px,4vw,70px); border-block: 1px solid var(--line); padding: 30px 0; }
.product-selection-content > :first-child { margin-top: 0; }
.product-selection-content > :last-child { margin-bottom: 0; }
.product-selection-content .feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
.product-selection-content .feature-list li { background: #edf0e3; border-radius: 5px; margin: 0; padding: 12px 14px; font-size: 16px; }
.product-selection-content .feature-list li:before { display: none; }
.product-guidance { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 28px 0; }
.product-guidance article { background: #f1efe4; padding: 26px; border-radius: 9px; }
.product-guidance article:last-child { background: #e9eddf; }
.product-guidance h2 { font-size: 29px; }
.product-guidance p { margin-bottom: 0; }
.interior-page .other-products { max-width: none; margin: 32px 0 0; }
.interior-page .other-products h2 { font-size: 30px; }
.interior-page .other-products ul { display: flex; flex-wrap: wrap; gap: 10px; }
.interior-page .other-products li { padding: 0; background: transparent; }
.interior-page .other-products a { display: block; border: 1px solid #d1dbc3; border-radius: 30px; padding: 10px 17px; font-size: 15px; }
.interior-page .other-products a:hover { color: white; background: var(--green); }
.advice-hero img { width: auto; max-width: 100%; max-height: 320px; height: auto; justify-self: center; border-radius: var(--photo-radius); }
.advice-tools { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 24px; background: #e9eddf; border-radius: 9px; }
.advice-tools > label { font-weight: 550; display: flex; flex-direction: column; gap: 10px; width: min(380px,100%); }
.advice-tools input { font: inherit; padding: 12px 15px; border: 1px solid #b8c6a4; border-radius: 5px; width: 100%; background: #fffef9; }
.advice-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.advice-filters button { font: inherit; font-size: 15px; padding: 11px 16px; border: 1px solid #c6d2b4; background: #fffef9; border-radius: 30px; color: var(--green); }
.advice-filters button[aria-pressed=true] { background: var(--green); border-color: var(--green); color: white; }
.advice-status { font-size: 14px; color: #657459; margin: 18px 0; }
.advice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.advice-card { min-width: 0; border: 1px solid #dce1d1; border-radius: 9px; overflow: hidden; background: #fffef9; }
.advice-card > img { width: auto; max-width: 100%; max-height: 220px; height: auto; margin-inline: auto; object-position: center; }
.advice-card > div { padding: 24px; }
.advice-card h2 { font-size: 31px; }
.advice-card p { font-size: 16px; }
.advice-card summary { color: var(--green); cursor: pointer; font-weight: 600; font-size: 16px; padding: 12px 0 2px; border-top: 1px solid var(--line); }
.advice-card details h3 { font-size: 18px; margin: 18px 0 10px; }
.advice-card[data-advice-theme] { --advice-accent: #a85620; --advice-soft: #faf3e4; --advice-border: #e5cfb2; border-color: var(--advice-border); }
.advice-card[data-advice-theme="oil"] { --advice-accent: #786113; --advice-soft: #f8f4dc; --advice-border: #dfd5a5; }
.advice-card[data-advice-theme="bread"] { --advice-accent: #995034; --advice-soft: #f8ece4; --advice-border: #e5c9b9; }
.advice-card[data-advice-theme="bulk"] { --advice-accent: #4f6d35; --advice-soft: #eef4e6; --advice-border: #cddbbd; }
.advice-card[data-advice-theme="tea"] { --advice-accent: #77517d; --advice-soft: #f4edf5; --advice-border: #ddcde1; }
.advice-card[data-advice-theme="fermentation"] { --advice-accent: #336e65; --advice-soft: #eaf4ef; --advice-border: #c3dbd1; }
.advice-card[data-advice-theme] > div { border-top: 4px solid var(--advice-accent); }
.advice-card[data-advice-theme] > div > .eyebrow,
.advice-card[data-advice-theme] h2,
.advice-card[data-advice-theme] details h3,
.advice-card[data-advice-theme] summary,
.advice-card[data-advice-theme] .text-link { color: var(--advice-accent); }
.advice-card[data-advice-theme] summary { border-top-color: var(--advice-border); }
.advice-card[data-advice-theme] summary:hover { background: var(--advice-soft); }
.advice-card[data-advice-theme] details > div > p:last-of-type:not(.advice-signature),
.advice-card[data-advice-theme] details .advice-tip { padding: 15px 17px; border-left: 3px solid var(--advice-accent); border-radius: 0 6px 6px 0; background: var(--advice-soft); }
.advice-card[data-advice-theme] .text-link { border-color: var(--advice-border); }
.advice-empty { padding: 24px; background: #f1efe4; border-radius: 8px; }
.advice-card { scroll-margin-top: 110px; }
.advice-card:has(details[open]) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(120px,220px) minmax(0,76ch); justify-content: center; align-items: start; gap: 28px; padding: 28px; }
.advice-card:has(details[open]) > div { min-width: 0; padding: 22px 0 0; }
.advice-card:has(details[open]) > img { margin-top: 26px; }
.advice-card details[open] > div { padding-top: 12px; }
.advice-card details[open] p, .advice-card details[open] li { font-size: 17px; line-height: 1.8; }
.advice-card details[open] h3 { font-size: 21px; line-height: 1.4; margin: 26px 0 12px; }
.advice-card details ul, .advice-card details ol { padding-left: 1.5em; }
.advice-card details li { margin-bottom: 8px; }
.advice-card details li::marker { color: var(--advice-accent); font-weight: 600; }
.advice-card details[open] .advice-signature { font-family: var(--display); font-size: 23px; font-style: italic; color: var(--advice-accent); margin-top: 24px; }
.advice-close { display: block; margin-top: 24px; border: 0; border-top: 1px solid var(--advice-border); padding: 14px 0 0; color: var(--advice-accent); background: transparent; font: inherit; font-weight: 600; cursor: pointer; }
.advice-card summary:focus-visible, .advice-close:focus-visible { outline: 2px solid var(--advice-accent); outline-offset: 4px; }
.panier-builder-hero { background: #e8eddd; color: var(--green); text-align: left; }
.panier-builder-hero h1 { color: var(--green); }
.panier-builder-hero p { color: #42583c; }
.panier-builder-hero .slide-link { color: var(--green); }
.panier-builder-hero .container { max-width: none; }
.panier-builder-hero .container > p:not(.eyebrow) { max-width: 75ch; }
.panier-builder-nav { gap: 8px; }
.panier-builder-nav button { border-radius: 5px; }
.panier-builder-nav button:hover { background: #e8eddd; box-shadow: none; }
.panier-items-grid { grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
.panier-card-photo { height: 190px; }
.panier-sidebar h2 { margin-top: 0; }
.panier-sidebar .total-line { border-top: 1px solid var(--line); }
.panier-sidebar small { line-height: 1.65; }
@media(max-width:1100px) {
    .people-cards { grid-template-columns: 1fr; gap: 12px; }
    .contact-layout { grid-template-columns: 1.2fr 1fr; gap: 22px; }
    .contact-form-panel, .visit-card { padding: 24px; }
    .form-pair { grid-template-columns: 1fr; gap: 14px; }
    .advice-grid { grid-template-columns: 1fr 1fr; }
    .advice-tools { align-items: start; flex-direction: column; }
    .process-grid article { padding: 20px; }
}
@media(max-width:767px) {
    .interior-page { padding-top: 20px; padding-bottom: 28px; }
    .interior-page .breadcrumb { font-size: 13px; margin-bottom: 20px; }
    .interior-heading h1, .service-hero h1, .advice-hero h1, .product-hero h1 { font-size: clamp(39px,10vw,58px); }
    .interior-page .lead { font-size: 19px; }
    .interior-page h2 { font-size: 32px; }
    .interior-callout { flex-direction: column; align-items: start; gap: 24px; padding: 24px; margin-top: 26px; }
    .interior-callout .button { white-space: normal; }
    .action-stack { align-items: start; }
    .heritage-opening, .heritage-story, .heritage-values { grid-template-columns: 1fr; gap: 22px; margin-bottom: 26px; }
    .heritage-note { padding: 24px; }
    .heritage-note p { font-size: 33px; }
    .heritage-metrics { grid-template-columns: 1fr; gap: 12px; margin: 24px 0 28px; }
    .heritage-metrics article { padding: 20px; display: flex; align-items: center; gap: 22px; }
    .heritage-metrics strong { font-size: 34px; margin: 0; min-width: 100px; }
    .heritage-metrics span { font-size: 15px; }
    .heritage-values { padding: 24px 0; }
    .heritage-timeline ol { grid-template-columns: 1fr; gap: 0; }
    .heritage-timeline ol:before { top: 13px; bottom: 20px; left: 0; right: auto; width: 2px; height: auto; }
    .heritage-timeline li { display: flex; gap: 22px; padding: 0 0 26px 22px; }
    .heritage-timeline li:before { left: -4px; top: 9px; }
    .heritage-timeline h3 { margin-top: 5px; }
    .heritage-timeline strong { font-size: 29px; }
    .heritage-closing { grid-template-columns: 1fr; gap: 18px; margin-top: 18px; padding-top: 28px; }
    .contact-methods, .contact-layout { grid-template-columns: 1fr; gap: 18px; }
    .contact-methods > a { padding: 22px; }
    .contact-methods strong { font-size: 28px; }
    .contact-form-panel, .visit-card { padding: 22px; }
    .visit-card .hours-row { font-size: 15px; }
    .contact-form-panel .form button { width: 100%; justify-content: center; }
    .service-hero, .product-hero, .advice-hero { grid-template-columns: 1fr; gap: 24px; }
    .service-hero figure > img, .product-hero figure img { height: auto; border-radius: var(--photo-radius); }
    .service-hero figure > img, .advice-hero img { max-height: 230px; }
    .primeur-shop figure { max-width: 300px; }
    .advice-card > img { max-height: 190px; }
    .service-facts { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
    .service-facts > span { text-align: left; }
    .service-facts strong { font-size: 19px; }
    .process-grid { grid-template-columns: 1fr; gap: 14px; }
    .process-grid article { padding: 22px; }
    .process-grid h3 { margin-top: 10px; }
    .service-options { grid-template-columns: 1fr; gap: 20px; padding: 24px; margin: 26px 0; }
    .service-link-list a { font-size: 16px; }
    .service-faq summary { font-size: 17px; }
    .product-selection { grid-template-columns: 1fr; gap: 16px; padding: 24px 0; }
    .product-selection-content .feature-list { grid-template-columns: 1fr; }
    .product-guidance { grid-template-columns: 1fr; gap: 16px; }
    .product-guidance article { padding: 22px; }
    .product-guidance h2 { font-size: 29px; }
    .product-hero-actions { gap: 16px; }
    .advice-tools { padding: 20px; }
    .advice-filters button { font-size: 14px; padding: 10px 13px; }
    .advice-grid { grid-template-columns: 1fr; gap: 20px; }
    .advice-card:has(details[open]) { grid-template-columns: minmax(0,1fr); gap: 0; padding: 0; }
    .advice-card:has(details[open]) > div { padding: 22px; }
    .advice-card:has(details[open]) > img { margin-top: 0; }
    .advice-card > div { padding: 22px; }
    .panier-items-grid { grid-template-columns: minmax(0,1fr); }
}

@media(max-width:767px) {
    .heritage-page .interior-heading { grid-template-columns: 1fr; gap: 16px; padding-bottom: 22px; margin-bottom: 24px; }
    .heritage-page .interior-heading h1 { font-size: clamp(42px,10.5vw,58px); }
    .heritage-page .interior-heading .lead { font-size: 23px; max-width: 30ch; }
    .heritage-page h2 { font-size: 36px; margin-bottom: 14px; }
    .heritage-team-copy { grid-template-columns: 1fr; gap: 16px; }
    .heritage-team-copy > p:last-child { font-size: 23px; padding: 4px 0; }
    .heritage-page .heritage-closing h2 { font-size: 46px; }
    .heritage-closing > div > p { font-size: 17px; }
}
