/* La Pierre et la Plume: the mockup's art direction (book as an object, prices in
   chalk on market slates, forest green of the logo, mirabelle accent) ported onto
   Kadence, core blocks and WooCommerce. Source: source/boutique-artifact.html. */

:root{
 --lpp-paper:#F6F7F1;--lpp-paper-2:#ECEEE4;--lpp-white:#fff;
 --lpp-forest:#143A22;--lpp-forest-2:#0D2817;--lpp-leaf:#176B00;
 --lpp-sun:#F2C14E;--lpp-sun-2:#E3AC2C;
 --lpp-ink:#17231B;--lpp-ink-2:#445148;--lpp-muted:#5B675E;--lpp-line:#D8DDD1;
 --lpp-chalk:#F4F2EA;--lpp-chalk-2:#C9CFC2;--lpp-slate:#262C24;--lpp-wood:#A88555;
 --lpp-shelf:#E4DCC8;--lpp-shelf-2:#CBBF9F;--lpp-alert:#8A2E1E;
 --lpp-display:"Young Serif",Georgia,"Times New Roman",serif;
 --lpp-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
 --lpp-hand:"Caveat","Comic Sans MS",cursive;
 --lpp-gutter:24px;
}
@media (max-width:600px){:root{--lpp-gutter:16px}}

/* ---------- Ground ---------- */
body.lpp{background:var(--lpp-paper);color:var(--lpp-ink);font-family:var(--lpp-body);font-size:16px;line-height:1.6;overflow-x:clip}
.lpp #wrapper,.lpp .content-bg,.lpp .site,.lpp #inner-wrap{background:var(--lpp-paper)}
.lpp a{color:var(--lpp-leaf)}
.lpp a:hover{color:var(--lpp-forest)}
.lpp :focus-visible{outline:3px solid var(--lpp-sun-2);outline-offset:3px}
.lpp :is(h1,h2,h3,h4,h5),:is(.editor-styles-wrapper) :is(h1,h2,h3,h4,h5){font-family:var(--lpp-display);font-weight:400;text-wrap:balance;letter-spacing:-.005em;color:inherit}
/* Young Serif ships one weight: never let the browser fake a bold or an italic on it. */
:is(.lpp,.editor-styles-wrapper) :is(h1,h2,h3,h4,h5,h6){font-synthesis:none}
/* h6 is the eyebrow of the design ("TERRES VIVANTES"): sans, bold, capitals, tracked. */
:is(.lpp,.editor-styles-wrapper) h6{letter-spacing:.09em}
.lpp-wrap{max-width:1240px;margin:0 auto;padding-inline:var(--lpp-gutter)}
.lpp-small{font-size:.875rem;color:var(--lpp-muted)}
.lpp-eyebrow{display:block;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lpp-muted)}
.lpp-eyebrow--leaf{color:var(--lpp-leaf)}
.lpp-eyebrow--sun{color:var(--lpp-sun)}

/* Kadence spaces every block; the mockup sets its own rhythm (gap, padding). */
:is(.entry-content.single-content,.editor-styles-wrapper) :where(*){margin-block:0}
:is(.entry-content,.editor-styles-wrapper,.lpp-footer) .wp-block-group__inner-container{display:contents!important}
.lpp .entry-content.single-content>.alignfull{margin-inline:0;max-width:none;width:auto}
.lpp.page .content-container.site-container,.lpp.home .content-container.site-container{max-width:none;padding:0}
.lpp.page .entry.single-entry,.lpp.home .entry.single-entry{box-shadow:none;background:none}
.lpp.page .entry-content-wrap{padding:0}
:is(.entry-content.single-content,.editor-styles-wrapper) .wp-block-image img{vertical-align:top}
.editor-styles-wrapper{background:var(--lpp-paper);font-family:var(--lpp-body);color:var(--lpp-ink)}

/* ---------- Notice band ---------- */

/* ---------- Header (Kadence header builder) ---------- */
.lpp .site-header,.lpp #masthead .site-main-header-wrap .site-header-row-container-inner,.lpp #mobile-header .site-header-row-container-inner{background:var(--lpp-paper)}
.lpp #masthead{border-bottom:1px solid var(--lpp-line)}
.lpp .site-branding{gap:14px}
.lpp .site-branding .custom-logo{width:50px;height:50px;max-height:none;border-radius:3px}
.lpp .site-branding .site-title{font-family:var(--lpp-display);font-weight:400;font-size:1.3rem;line-height:1.1;color:var(--lpp-ink);margin:0}
.lpp .site-branding .site-description{font-size:.72rem!important;letter-spacing:.16em;text-transform:uppercase;color:var(--lpp-muted);margin-top:3px;line-height:1.1}
.lpp .main-navigation .primary-menu-container>ul>li.menu-item>a{position:relative;color:var(--lpp-ink);font-weight:500;font-size:.95rem;padding-inline:15px}
.lpp .main-navigation .primary-menu-container>ul>li.menu-item>a::after{content:"";position:absolute;left:15px;right:15px;bottom:.9em;height:2px;background:var(--lpp-leaf);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.lpp .main-navigation .primary-menu-container>ul>li.menu-item>a:hover::after,.lpp .main-navigation .primary-menu-container>ul>li.current-menu-item>a::after,.lpp .main-navigation .primary-menu-container>ul>li.current-menu-ancestor>a::after{transform:scaleX(1)}
.lpp .main-navigation .primary-menu-container>ul>li.current-menu-item>a,.lpp .main-navigation .primary-menu-container>ul>li.current-menu-ancestor>a{color:var(--lpp-leaf);font-weight:600}
.lpp .header-cart-wrap .header-cart-button{height:46px;padding:0 18px 0 16px;border-radius:999px;border:1.5px solid var(--lpp-forest);color:var(--lpp-forest);background:var(--lpp-white);display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;transition:background .2s,color .2s}
.lpp .header-cart-wrap .header-cart-button:hover{background:var(--lpp-forest);color:var(--lpp-chalk)}
.lpp .header-cart-wrap .header-cart-button .header-cart-label{font-weight:600}
.lpp .header-cart-wrap .header-cart-button .header-cart-total{position:static;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--lpp-paper-2);color:var(--lpp-forest);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-variant-numeric:tabular-nums;margin:0}
.lpp .header-cart-wrap .header-cart-button.lpp-full .header-cart-total,.lpp .header-cart-wrap .header-cart-button .header-cart-total:not(:empty):not(:is([data-count="0"])){background:var(--lpp-sun);color:var(--lpp-forest-2)}
.lpp .header-cart-wrap .header-cart-button .kadence-svg-iconset svg{width:20px;height:20px}
.lpp .menu-toggle-open{width:46px;height:46px;border-radius:999px;background:var(--lpp-paper-2);color:var(--lpp-ink);justify-content:center;padding:0}
.lpp #mobile-drawer .drawer-inner{background:var(--lpp-paper)}
.lpp #mobile-drawer .drawer-header .drawer-toggle,.lpp #mobile-drawer .mobile-navigation ul li>a{color:var(--lpp-ink)}
.lpp #mobile-drawer .mobile-navigation ul li>a{font-weight:500;min-height:50px;display:flex;align-items:center}
.lpp #mobile-drawer .mobile-navigation ul li{border-bottom:1px solid var(--lpp-line)}
.lpp #mobile-drawer .mobile-navigation ul li.current-menu-item>a{color:var(--lpp-leaf);font-weight:600}
@media (max-width:1024px){.lpp .site-branding .custom-logo{width:42px;height:42px}.lpp .site-branding .site-title{font-size:1.05rem}}

/* ---------- Buttons ---------- */
/* Pill with an icon dot that slides on hover: core/button with .lpp-btn (+ .is-sun / .is-ghost). */
:is(.lpp,.editor-styles-wrapper) .wp-block-buttons{gap:14px}
:is(.lpp,.editor-styles-wrapper) .lpp-btn>.wp-block-button__link,.lpp .lpp-btn-raw,.lpp .single_add_to_cart_button.button,.lpp .wc-proceed-to-checkout .checkout-button,.lpp #place_order{
 --bg:var(--lpp-forest);--fg:var(--lpp-chalk);--dot:var(--lpp-sun);--dotfg:var(--lpp-forest-2);
 min-height:54px;padding:0 8px 0 26px;border-radius:999px;border:0;background:var(--bg);color:var(--fg);
 display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-family:var(--lpp-body);font-size:1rem;font-weight:600;letter-spacing:.01em;line-height:1.2;
 text-decoration:none;cursor:pointer;box-shadow:none;transition:background .2s,transform .2s}
:is(.lpp,.editor-styles-wrapper) .lpp-btn>.wp-block-button__link::after,.lpp .single_add_to_cart_button.button::after,.lpp .wc-proceed-to-checkout .checkout-button::after,.lpp #place_order::after{
 content:"";flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--dot) var(--lpp-ico-arrow-dark) center/18px no-repeat;transition:transform .25s ease}
:is(.lpp,.editor-styles-wrapper) .lpp-btn>.wp-block-button__link:hover,.lpp .single_add_to_cart_button.button:hover,.lpp .wc-proceed-to-checkout .checkout-button:hover,.lpp #place_order:hover{color:var(--fg);background:var(--lpp-forest-2)}
:is(.lpp,.editor-styles-wrapper) .lpp-btn>.wp-block-button__link:hover::after,.lpp .single_add_to_cart_button.button:hover::after,.lpp .wc-proceed-to-checkout .checkout-button:hover::after,.lpp #place_order:hover::after{transform:translateX(3px)}
:is(.lpp,.editor-styles-wrapper) .lpp-btn.is-sun>.wp-block-button__link,.lpp .wc-proceed-to-checkout .checkout-button,.lpp #place_order{--bg:var(--lpp-sun);--fg:var(--lpp-forest-2);--dot:var(--lpp-forest)}
:is(.lpp,.editor-styles-wrapper) .lpp-btn.is-sun>.wp-block-button__link::after,.lpp .wc-proceed-to-checkout .checkout-button::after,.lpp #place_order::after{background-image:var(--lpp-ico-arrow-sun)}
:is(.lpp,.editor-styles-wrapper) .lpp-btn.is-sun>.wp-block-button__link:hover,.lpp .wc-proceed-to-checkout .checkout-button:hover,.lpp #place_order:hover{background:#F6CD6A;color:var(--lpp-forest-2)}
.lpp .single_add_to_cart_button.button::after{background-image:var(--lpp-ico-bag-dark)}
:is(.lpp,.editor-styles-wrapper) .lpp-ghost>.wp-block-button__link{min-height:54px;padding:0 26px;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:var(--lpp-chalk);font-weight:600;font-size:1rem;display:inline-flex;align-items:center;box-shadow:none;transition:background .2s,color .2s}
:is(.lpp,.editor-styles-wrapper) .lpp-ghost>.wp-block-button__link:hover{background:var(--lpp-chalk);color:var(--lpp-forest)}
:is(.lpp,.editor-styles-wrapper) .lpp-ghost.is-dark>.wp-block-button__link{color:var(--lpp-forest)}
:is(.lpp,.editor-styles-wrapper) .lpp-ghost.is-dark>.wp-block-button__link:hover{background:var(--lpp-forest);color:var(--lpp-chalk)}
:root{
 --lpp-ico-arrow-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D2817' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
 --lpp-ico-arrow-sun:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2C14E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
 --lpp-ico-bag-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D2817' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
}
/* Card button */
.lpp a.lpp-add{min-height:44px;padding:0 6px 0 16px;border-radius:999px;border:1.5px solid var(--lpp-forest);background:var(--lpp-white);color:var(--lpp-forest);font-weight:600;font-size:.9rem;line-height:1.2;display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.lpp a.lpp-add .lpp-ico{width:32px;height:32px;border-radius:50%;background:var(--lpp-forest);color:var(--lpp-chalk);display:inline-flex;align-items:center;justify-content:center}
.lpp a.lpp-add:hover{background:var(--lpp-forest);color:var(--lpp-chalk)}
.lpp a.lpp-add:hover .lpp-ico{background:var(--lpp-sun);color:var(--lpp-forest-2)}
.lpp a.lpp-add.added{background:var(--lpp-leaf);border-color:var(--lpp-leaf);color:#fff}
.lpp a.lpp-add.added .lpp-ico{background:var(--lpp-sun);color:var(--lpp-forest-2)}
.lpp a.lpp-add.loading{opacity:.6}
.lpp a.lpp-add.loading::after,.lpp a.lpp-add.added::after{display:none}
.lpp a.added_to_cart.wc-forward{display:none}
.lpp-status{font-size:.82rem;font-weight:600;color:var(--lpp-ink-2);background:var(--lpp-paper-2);border-radius:999px;padding:8px 14px;line-height:1.3}
@media (prefers-reduced-motion:reduce){.lpp *{transition:none!important}}

/* ---------- Price slate ---------- */
.lpp-slate{display:inline-flex;align-items:center;padding:1px 14px 3px;background:var(--lpp-slate);color:var(--lpp-chalk);font-family:var(--lpp-hand);font-weight:700;font-size:1.55rem;line-height:1.2;border-radius:4px;border:3px solid var(--lpp-wood);box-shadow:0 3px 6px rgba(23,35,27,.18);transform:rotate(-2deg);font-variant-numeric:lining-nums;white-space:nowrap}
.lpp-slate--big{font-size:2.3rem;padding:2px 20px 4px;border-width:4px}
.lpp-slate--off{background:var(--lpp-paper-2);color:var(--lpp-ink-2);border-color:var(--lpp-shelf-2)}
p.lpp-slate-p{display:inline-block}

/* ---------- The book object ---------- */
.lpp-book-wrap{position:relative;display:inline-block}
.lpp-book{position:relative;display:inline-block;width:var(--w,150px);transform:perspective(1100px) rotateY(-16deg);transform-origin:left center;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.lpp-book img{display:block;width:100%;height:auto;border-radius:1px 3px 3px 1px;box-shadow:16px 18px 26px -10px rgba(13,40,23,.45),3px 3px 6px rgba(13,40,23,.18)}
.lpp-book::before{content:"";position:absolute;z-index:1;top:0;bottom:0;left:0;width:9%;max-width:14px;background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(255,255,255,.22) 45%,rgba(0,0,0,.12));pointer-events:none}
.lpp-book::after{content:"";position:absolute;top:2%;bottom:2%;right:-7px;width:7px;background:repeating-linear-gradient(180deg,#FBFAF4 0 2px,#E3DFD2 2px 3px);transform:perspective(300px) rotateY(55deg);transform-origin:left center;pointer-events:none}
a:hover .lpp-book,.lpp-item:hover .lpp-book,.lpp-book:hover{transform:perspective(1100px) rotateY(-4deg) translateY(-6px)}
@media (prefers-reduced-motion:reduce){a:hover .lpp-book,.lpp-item:hover .lpp-book,.lpp-book:hover{transform:perspective(1100px) rotateY(-16deg)}}
.lpp-sticker{position:absolute;z-index:2;top:-16px;right:-22px;width:74px;height:74px;padding:0 8px;border-radius:50%;background:var(--lpp-sun);color:var(--lpp-forest-2);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--lpp-hand);font-weight:700;font-size:1.15rem;line-height:.95;transform:rotate(12deg);box-shadow:0 4px 10px rgba(13,40,23,.25)}

/* ---------- Sections (page blocks) ---------- */
:is(.lpp,.editor-styles-wrapper) .lpp-section{max-width:1240px;margin-inline:auto!important;padding:clamp(56px,8vw,104px) var(--lpp-gutter);display:flex;flex-direction:column;gap:clamp(28px,4vw,44px)}
:is(.lpp,.editor-styles-wrapper) .lpp-section.is-tight{padding-top:0}
:is(.lpp,.editor-styles-wrapper) .lpp-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px}
:is(.lpp,.editor-styles-wrapper) .lpp-section-head h2{font-size:clamp(2rem,4.2vw,3.1rem)}
:is(.lpp,.editor-styles-wrapper) .lpp-more a{font-weight:600;color:var(--lpp-forest);text-decoration:none;border-bottom:2px solid var(--lpp-sun);padding-bottom:2px}
:is(.lpp,.editor-styles-wrapper) .lpp-more a:hover{color:var(--lpp-leaf)}

/* Hero: green panel next to the market photo, the new book across both */
:is(.lpp,.editor-styles-wrapper) .lpp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:620px;background:var(--lpp-forest)}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__panel{color:var(--lpp-chalk);display:flex;flex-direction:column;justify-content:center;gap:26px;padding:clamp(48px,7vw,96px) clamp(24px,5vw,88px)}
/* The text block is centred in the green panel, one column wide: aligned on the header logo instead,
   it was pushed against the photo past 1440 px (364 px on the left, 88 on the right at 1920). */
:is(.lpp,.editor-styles-wrapper) .lpp-hero__panel>:not(.wp-block-group__inner-container),:is(.lpp,.editor-styles-wrapper) .lpp-hero__panel>.wp-block-group__inner-container>*{width:100%;max-width:620px;margin-inline:auto}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__panel h1{font-size:clamp(2.3rem,4.6vw,4rem);line-height:1.06;max-width:13em;color:var(--lpp-chalk)}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__panel h1 em{font-style:normal;color:var(--lpp-sun)}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__panel p:not(.lpp-eyebrow){font-size:1.1rem;color:var(--lpp-chalk-2)}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__photo{position:relative;min-height:420px}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__photo figure{position:absolute;inset:0;margin:0}
:is(.lpp,.editor-styles-wrapper) .lpp-hero__photo figure img{width:100%;height:100%;object-fit:cover;display:block}
.lpp-hero-book{position:absolute;left:-54px;bottom:56px;z-index:2;text-decoration:none}
.lpp-hero-book .lpp-book{--w:190px}
.lpp-hero-book__caption{display:block;margin-top:22px;padding:8px 14px;background:var(--lpp-paper);color:var(--lpp-ink);border-radius:4px;font-size:.85rem;font-weight:600;box-shadow:0 6px 16px rgba(13,40,23,.2);max-width:230px;line-height:1.35}
@media (max-width:900px){
 :is(.lpp,.editor-styles-wrapper) .lpp-hero{grid-template-columns:minmax(0,1fr);min-height:0}
 :is(.lpp,.editor-styles-wrapper) .lpp-hero__panel{padding-inline:var(--lpp-gutter)}
 :is(.lpp,.editor-styles-wrapper) .lpp-hero__photo{min-height:380px}
 .lpp-hero-book{left:auto;right:34px;bottom:24px}
 .lpp-hero-book .lpp-book{--w:130px}
 .lpp-hero-book__caption{display:none}
}

/* Manifesto: the old site's opening text, with the four words of its banner */
:is(.lpp,.editor-styles-wrapper) .lpp-manifesto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
:is(.lpp,.editor-styles-wrapper) .lpp-manifesto p{font-size:1.12rem;color:var(--lpp-ink-2);max-width:36em}
:is(.lpp,.editor-styles-wrapper) .lpp-manifesto .lpp-lead{font-family:var(--lpp-display);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;color:var(--lpp-forest)}
:is(.lpp,.editor-styles-wrapper) .lpp-manifesto__text{display:flex;flex-direction:column;gap:18px}
:is(.lpp,.editor-styles-wrapper) .lpp-words{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
:is(.lpp,.editor-styles-wrapper) .lpp-words li{font-family:var(--lpp-hand);font-weight:700;font-size:1.6rem;line-height:1;color:var(--lpp-forest);background:var(--lpp-white);border:1.5px solid var(--lpp-line);border-radius:999px;padding:10px 20px 12px}
:is(.lpp,.editor-styles-wrapper) .lpp-words li:nth-child(odd){transform:rotate(-2deg)}
:is(.lpp,.editor-styles-wrapper) .lpp-words li:nth-child(even){transform:rotate(1.5deg);background:var(--lpp-sun);border-color:var(--lpp-sun)}
@media (max-width:820px){:is(.lpp,.editor-styles-wrapper) .lpp-manifesto{grid-template-columns:minmax(0,1fr)}}

/* New books */
.lpp-news{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:clamp(28px,4vw,48px)}
.lpp-news__item{display:flex;flex-wrap:wrap;gap:30px;align-items:center;background:var(--lpp-white);border-radius:8px;padding:clamp(24px,3vw,40px)}
.lpp-news__stand{flex:0 0 auto;padding:10px 18px 10px 0;text-decoration:none}
.lpp-news__stand .lpp-book{--w:168px}
.lpp-news__text{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:10px}
.lpp-news__text h3{font-size:1.65rem;margin:0}
.lpp-news__text h3 a{color:var(--lpp-ink);text-decoration:none}
.lpp-news__text h3 a:hover{color:var(--lpp-leaf)}
.lpp-news__text p{color:var(--lpp-ink-2);margin:0}
.lpp-buy{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;padding-top:12px}

/* Collections: photo cards, the whole card is the link */
:is(.lpp,.editor-styles-wrapper) .lpp-collections{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:24px}
:is(.lpp,.editor-styles-wrapper) .lpp-coll{position:relative;min-height:400px;border-radius:8px;overflow:hidden;color:var(--lpp-chalk)}
:is(.lpp,.editor-styles-wrapper) .lpp-coll figure{position:absolute;inset:0;margin:0}
:is(.lpp,.editor-styles-wrapper) .lpp-coll figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.lpp .lpp-coll:hover figure img{transform:scale(1.04)}
:is(.lpp,.editor-styles-wrapper) .lpp-coll__label{position:absolute;left:20px;right:20px;bottom:20px;max-width:420px;background:var(--lpp-forest);color:var(--lpp-chalk);border-radius:6px;padding:22px 24px;display:flex;flex-direction:column;gap:4px}
:is(.lpp,.editor-styles-wrapper) .lpp-coll__label h3{font-size:1.9rem;line-height:1.1;color:var(--lpp-chalk)}
:is(.lpp,.editor-styles-wrapper) .lpp-coll__label p{color:var(--lpp-chalk-2);font-size:1rem}
:is(.lpp,.editor-styles-wrapper) .lpp-coll__label p.lpp-go{margin-top:10px}
:is(.lpp,.editor-styles-wrapper) .lpp-go a{color:var(--lpp-sun);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
:is(.lpp,.editor-styles-wrapper) .lpp-go a::before{content:"";position:absolute;inset:0;z-index:1}
:is(.lpp,.editor-styles-wrapper) .lpp-go a::after{content:"";width:18px;height:18px;background:var(--lpp-ico-arrow-sun) center/18px no-repeat;transition:transform .25s}
.lpp .lpp-coll:hover .lpp-go a::after{transform:translateX(4px)}

/* Shelf: WooCommerce product loop (shop, collections, [lpp_books], related) */
.lpp ul.products,.lpp ul.products.lpp-shelf,.woocommerce .lpp ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;column-gap:0!important;row-gap:48px!important;margin:0!important;padding:0!important;list-style:none}
.lpp ul.products::before,.lpp ul.products::after{display:none!important}
.lpp ul.products li.product.lpp-item{display:flex;flex-direction:column;min-width:0;width:auto!important;margin:0!important;padding:0;float:none;background:none;box-shadow:none;text-align:left}
.lpp-item__stage{position:relative;height:290px;display:flex;align-items:flex-end;justify-content:center;padding:0 16px;text-decoration:none}
.lpp-item__stage .lpp-book-wrap{margin-bottom:14px}
.lpp-item__stage .lpp-book{--w:148px}
.lpp-item__stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:linear-gradient(180deg,var(--lpp-shelf) 0 60%,var(--lpp-shelf-2) 60% 100%);box-shadow:0 10px 14px -8px rgba(13,40,23,.35)}
.lpp-item .lpp-sticker{width:62px;height:62px;font-size:.98rem;top:-12px;right:-16px}
.lpp-item__body{padding:22px 16px 0;display:flex;flex-direction:column;gap:6px;flex:1}
.lpp .lpp-item__title{font-size:1.2rem;line-height:1.25;margin:0;padding:0}
.lpp-item__title a{color:var(--lpp-ink);text-decoration:none}
.lpp-item__title a:hover{color:var(--lpp-leaf)}
.lpp-item__buy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
@media (max-width:520px){
 .lpp ul.products,.lpp ul.products.lpp-shelf{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .lpp-item__stage{height:230px;padding:0 8px}
 .lpp-item__stage .lpp-book{--w:112px}
 .lpp-item__body{padding:18px 8px 0}
}

/* Press band */
:is(.lpp,.editor-styles-wrapper) .lpp-press-band{background:var(--lpp-forest);color:var(--lpp-chalk)}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band>.lpp-press-band__in,:is(.lpp,.editor-styles-wrapper) .lpp-press-band>.wp-block-group__inner-container>.lpp-press-band__in{max-width:1240px;margin-inline:auto;padding:clamp(64px,9vw,120px) var(--lpp-gutter);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band blockquote,:is(.lpp,.editor-styles-wrapper) .lpp-press-band .wp-block-quote{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:22px;background:none}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band .wp-block-quote p{font-family:var(--lpp-display);font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.18;color:var(--lpp-chalk);font-style:normal}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band .wp-block-quote p::before{content:"«\00a0";color:var(--lpp-sun)}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band .wp-block-quote p::after{content:"\00a0»";color:var(--lpp-sun)}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band .wp-block-quote cite{font-style:normal;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lpp-sun)}
:is(.lpp,.editor-styles-wrapper) .lpp-press-band cite a{color:var(--lpp-sun)}
.lpp-press-band .lpp-book{--w:200px}
@media (max-width:760px){:is(.lpp,.editor-styles-wrapper) .lpp-press-band__in{grid-template-columns:minmax(0,1fr)!important}}

/* Voices: "Des beaux livres illustrés" + photo mosaic + Instagram */
:is(.lpp,.editor-styles-wrapper) .lpp-voices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
:is(.lpp,.editor-styles-wrapper) .lpp-voices__text{display:flex;flex-direction:column;gap:18px}
:is(.lpp,.editor-styles-wrapper) .lpp-voices__text h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
:is(.lpp,.editor-styles-wrapper) .lpp-voices__text p{font-size:1.08rem;color:var(--lpp-ink-2);max-width:34em}
:is(.lpp,.editor-styles-wrapper) .lpp-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
:is(.lpp,.editor-styles-wrapper) .lpp-mosaic figure{margin:0}
:is(.lpp,.editor-styles-wrapper) .lpp-mosaic img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:6px;display:block}
:is(.lpp,.editor-styles-wrapper) .lpp-mosaic figure:nth-child(2) img{aspect-ratio:3/5}
@media (max-width:820px){:is(.lpp,.editor-styles-wrapper) .lpp-voices{grid-template-columns:minmax(0,1fr)}}

/* About (home) */
:is(.lpp,.editor-styles-wrapper) .lpp-about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
:is(.lpp,.editor-styles-wrapper) .lpp-about__photos{position:relative;padding:0 60px 60px 0}
:is(.lpp,.editor-styles-wrapper) .lpp-about__photos figure{margin:0}
:is(.lpp,.editor-styles-wrapper) .lpp-about__photos img{display:block;border-radius:6px}
:is(.lpp,.editor-styles-wrapper) .lpp-about__photos figure:first-child img{width:100%;aspect-ratio:4/5;object-fit:cover}
:is(.lpp,.editor-styles-wrapper) .lpp-about__photos figure:last-child{position:absolute;right:0;bottom:0;width:55%}
:is(.lpp,.editor-styles-wrapper) .lpp-about__photos figure:last-child img{width:100%;aspect-ratio:4/3;object-fit:cover;border:6px solid var(--lpp-paper)}
:is(.lpp,.editor-styles-wrapper) .lpp-about__text{display:flex;flex-direction:column;gap:18px}
:is(.lpp,.editor-styles-wrapper) .lpp-about__text h2{font-size:clamp(2rem,4vw,3rem)}
:is(.lpp,.editor-styles-wrapper) .lpp-about__text p:not(.lpp-eyebrow){font-size:1.08rem;color:var(--lpp-ink-2);max-width:36em}
@media (max-width:820px){:is(.lpp,.editor-styles-wrapper) .lpp-about{grid-template-columns:minmax(0,1fr)}}

/* ---------- Inner pages ---------- */
.lpp-page-head,:is(.lpp,.editor-styles-wrapper) .lpp-page-head{background:var(--lpp-forest);color:var(--lpp-chalk)}
.lpp-page-head>.lpp-wrap,:is(.lpp,.editor-styles-wrapper) .lpp-page-head__in{max-width:1240px;margin-inline:auto;padding:clamp(36px,5vw,64px) var(--lpp-gutter);display:flex;flex-direction:column;gap:14px}
.lpp-page-head h1{font-size:clamp(2.3rem,5vw,3.8rem);color:var(--lpp-chalk);margin:0}
.lpp-page-head p:not(.lpp-crumbs){color:var(--lpp-chalk-2);font-size:1.1rem;max-width:40em;margin:0}
.lpp-crumbs{font-size:.85rem;display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--lpp-chalk-2)}
.lpp-crumbs a{color:var(--lpp-sun)}
.lpp-product-page .lpp-crumbs{color:var(--lpp-muted)}
.lpp-product-page .lpp-crumbs a{color:var(--lpp-leaf)}
:is(.lpp,.editor-styles-wrapper) .lpp-page{max-width:1240px;margin-inline:auto;padding:clamp(36px,5vw,56px) var(--lpp-gutter) clamp(64px,8vw,104px);display:flex;flex-direction:column;gap:36px}
.lpp.woocommerce-page .content-container.site-container,.lpp.single-product .content-container.site-container{max-width:1240px;padding-inline:var(--lpp-gutter)}
.lpp.woocommerce-page .content-area{margin-block:clamp(36px,5vw,56px) clamp(64px,8vw,104px)}
.lpp .woocommerce-products-header,.lpp .kadence-shop-top-row,.lpp .woocommerce-result-count,.lpp .kadence-product-toggle-container{display:none!important}
.lpp.woocommerce-page .entry-hero,.lpp.woocommerce-cart .entry-header,.lpp.woocommerce-checkout .entry-header{display:none}

/* Filters */
.lpp-filters{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:36px;border-bottom:1px solid var(--lpp-line)}
.lpp-chips,:is(.lpp,.editor-styles-wrapper) .wp-block-buttons.lpp-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.lpp a.lpp-chip,:is(.lpp,.editor-styles-wrapper) .lpp-chip>.wp-block-button__link{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--lpp-line);background:var(--lpp-white);color:var(--lpp-ink);font-family:inherit;font-size:.92rem;font-weight:600;line-height:inherit;letter-spacing:inherit;text-transform:none;box-shadow:none;display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:border-color .2s}
.lpp a.lpp-chip:hover,.lpp .lpp-chip>.wp-block-button__link:hover{border-color:var(--lpp-forest);background:var(--lpp-white);color:var(--lpp-ink)}
.lpp-chip__n{color:var(--lpp-muted);font-weight:500;font-variant-numeric:tabular-nums}
.lpp a.lpp-chip[aria-current="page"],.lpp .lpp-chip>.wp-block-button__link[aria-current="page"],.editor-styles-wrapper .lpp-chips>.lpp-chip:first-child>.wp-block-button__link{background:var(--lpp-forest);border-color:var(--lpp-forest);color:var(--lpp-chalk)}
.lpp a.lpp-chip[aria-current="page"] .lpp-chip__n,.lpp .lpp-chip>.wp-block-button__link[aria-current="page"] .lpp-chip__n{color:var(--lpp-sun)}
/* The shop drawn from its page's blocks (inc/shop-page.php): the frame of the WooCommerce archive around chips and books.
   In the editor the first chip (the shop itself) shows as the current one, as on the site. */
:is(.lpp,.editor-styles-wrapper) .lpp-shop{max-width:1240px;margin-inline:auto;padding:clamp(36px,5vw,56px) var(--lpp-gutter) clamp(64px,8vw,104px)}
:is(.lpp,.editor-styles-wrapper) .lpp-shop>.lpp-filters{margin-top:0}
/* Outside the_content, Kadence (a classic theme) wraps each group's blocks in an inner container: let the band's flex gap reach them. */
.lpp-shop-page .lpp-page-head .wp-block-group__inner-container,.lpp-shop-page .lpp-shop>.wp-block-group__inner-container{display:contents}
.lpp-shop-page .lpp-page-head .lpp-crumbs{margin:0}
/* Editor: the canvas centres each block with auto margins; the band's breadcrumb and title stay on the left, as on the site. */
.editor-styles-wrapper .lpp-page-head__in :is(h1,.lpp-crumbs){margin-inline:0!important;max-width:none!important}
.lpp-sort{display:flex;align-items:center;gap:12px}
.lpp-sort .woocommerce-ordering{margin:0;float:none}
.lpp select,.lpp .lpp-sort select.orderby{min-height:44px;padding:0 40px 0 16px;border-radius:999px;border:1.5px solid var(--lpp-line);background:var(--lpp-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23143A22' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center;-webkit-appearance:none;appearance:none;color:var(--lpp-ink);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:none}

/* Product page */
.lpp-product-page{display:flex;flex-direction:column;gap:36px}
.lpp-product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.lpp-gallery{display:flex;flex-direction:column;gap:14px}
.lpp-gallery__stage{position:relative;background:var(--lpp-paper-2);border-radius:8px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lpp-gallery__cover{width:min(52%,300px)}
.lpp-gallery__cover .lpp-book-wrap{width:100%}
.lpp-gallery__cover .lpp-book{--w:100%}
.lpp-gallery__photo{width:100%;height:100%;object-fit:cover;display:block}
.lpp-gallery__photo[hidden],.lpp-gallery__cover[hidden]{display:none}
.lpp-thumbs{display:flex;flex-wrap:wrap;gap:10px}
.lpp-thumb{width:82px;height:82px;padding:0;border-radius:6px;overflow:hidden;border:2px solid transparent;background:var(--lpp-paper-2);cursor:pointer;opacity:.75;transition:opacity .2s}
.lpp-thumb:hover{opacity:1;background:var(--lpp-paper-2)}
.lpp-thumb[aria-pressed="true"]{border-color:var(--lpp-forest);opacity:1}
.lpp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lpp-summary{display:flex;flex-direction:column;gap:18px;padding-top:8px}
.lpp-summary>*{margin:0}
.lpp .lpp-summary__title{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.05;margin:0}
.lpp-summary__sub{font-family:var(--lpp-display);font-size:1.35rem;color:var(--lpp-ink-2);line-height:1.25}
.lpp-summary__lead p{font-size:1.08rem;color:var(--lpp-ink-2);margin:0}
.lpp-price-line{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding-block:6px}
.lpp-stock{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--lpp-leaf)}
.lpp-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.lpp-stock--off{color:var(--lpp-ink-2)}
.lpp .lpp-summary form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}
.lpp .lpp-summary form.cart .single_add_to_cart_button{flex:1 1 240px;margin:0}
.lpp .lpp-summary .stock{display:none}
.lpp .quantity{display:inline-flex!important;align-items:center;height:54px;border-radius:999px;border:1.5px solid var(--lpp-line);background:var(--lpp-white);padding:0 4px;margin:0!important}
.lpp .quantity input.qty{width:36px;min-height:0;height:44px;border:0;background:transparent;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;padding:0;-moz-appearance:textfield;box-shadow:none}
.lpp .quantity input.qty::-webkit-inner-spin-button,.lpp .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.lpp .quantity .lpp-step{width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:1.25rem;line-height:1;color:var(--lpp-forest);cursor:pointer;padding:0;box-shadow:none}
.lpp .quantity .lpp-step:hover{background:var(--lpp-paper-2);color:var(--lpp-forest)}
.lpp .quantity .minus,.lpp .quantity .plus{display:none}
.lpp-press{margin:0;padding:22px 0 0;border:0;border-top:1px solid var(--lpp-line);display:flex;flex-direction:column;gap:8px}
.lpp-press p{font-family:var(--lpp-display);font-size:1.25rem;line-height:1.3;margin:0;font-style:normal}
.lpp-press p::before{content:"«\00a0";color:var(--lpp-leaf)}
.lpp-press p::after{content:"\00a0»";color:var(--lpp-leaf)}
.lpp-meta{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 18px;font-size:.875rem}
.lpp-meta dt{color:var(--lpp-muted);font-weight:400}
.lpp-meta dd{margin:0;font-variant-numeric:tabular-nums}
@media (max-width:880px){.lpp-product{grid-template-columns:minmax(0,1fr)}}

.lpp-related{display:flex;flex-direction:column;gap:28px;padding-top:24px}
.lpp-related h2{font-size:clamp(2rem,4.2vw,3.1rem);margin:0}

/* Cart (classic WooCommerce cart, lines turned into cards) */
.lpp.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;align-items:start}
.lpp.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.lpp.woocommerce-cart .woocommerce>.woocommerce-cart-form,.lpp.woocommerce-cart .woocommerce>.cart-collaterals,.lpp.woocommerce-cart .woocommerce>.cart-summary-wrap{width:auto!important;float:none!important;margin:0!important}
.lpp .kadence-woo-cart-form-wrap{display:contents}
.lpp .cart-summary h2,.lpp .woocommerce-cart-form>h2{display:none}
.lpp table.shop_table.cart{border:0;background:none;border-collapse:separate;border-spacing:0;margin:0}
.lpp table.shop_table.cart thead{display:none}
.lpp table.shop_table.cart tbody{display:flex;flex-direction:column;gap:14px}
.lpp table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"thumb name sub remove" "thumb qty sub remove";gap:10px 24px;align-items:center;background:var(--lpp-white);border-radius:8px;padding:18px 22px}
.lpp table.shop_table.cart tr.cart_item td{border:0!important;padding:0!important;background:none!important;display:block;text-align:left}
.lpp table.shop_table.cart td.product-thumbnail{grid-area:thumb;width:auto}
.lpp table.shop_table.cart td.product-thumbnail .lpp-book{--w:70px}
.lpp table.shop_table.cart td.product-name{grid-area:name;font-family:var(--lpp-display);font-size:1.2rem}
.lpp table.shop_table.cart td.product-name a{color:var(--lpp-ink);text-decoration:none}
.lpp table.shop_table.cart td.product-price{display:none!important}
.lpp table.shop_table.cart td.product-quantity{grid-area:qty}
.lpp table.shop_table.cart td.product-quantity .quantity{height:44px}
.lpp table.shop_table.cart td.product-quantity .lpp-step{width:36px;height:36px}
.lpp table.shop_table.cart td.product-subtotal{grid-area:sub;text-align:right;font-weight:600;font-size:1.15rem;font-variant-numeric:tabular-nums}
.lpp table.shop_table.cart td.product-remove{grid-area:remove}
.lpp table.shop_table.cart td.product-remove a.remove{color:var(--lpp-alert)!important;background:none!important;font-size:1.4rem;width:32px;height:32px;line-height:30px;text-align:center;border-radius:50%}
.lpp table.shop_table.cart td.product-remove a.remove:hover{background:var(--lpp-paper-2)!important}
.lpp table.shop_table.cart td::before{display:none!important}
.lpp table.shop_table.cart tr:not(.cart_item){display:block}
.lpp table.shop_table.cart td.actions{display:flex!important;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:6px 0 0!important;background:none!important;border:0!important}
.lpp table.shop_table.cart td.actions .coupon{display:flex;flex-wrap:wrap;gap:10px;float:none}
.lpp table.shop_table.cart td.actions .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lpp .coupon input.input-text,.lpp input.input-text,.lpp .woocommerce form .form-row :is(input.input-text,textarea){min-height:48px;padding:0 18px;border:1.5px solid var(--lpp-line);border-radius:999px;background:var(--lpp-white);font:inherit;color:var(--lpp-ink);box-shadow:none}
.lpp .woocommerce form .form-row textarea{border-radius:14px;padding:12px 18px}
.lpp .woocommerce button.button:not(.single_add_to_cart_button):not(#place_order),.lpp .woocommerce a.button:not(.checkout-button):not(.lpp-add){min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid var(--lpp-forest);background:transparent;color:var(--lpp-forest);font-weight:600;font-family:var(--lpp-body);box-shadow:none;transition:background .2s,color .2s}
.lpp .woocommerce button.button:not(.single_add_to_cart_button):not(#place_order):hover,.lpp .woocommerce a.button:not(.checkout-button):not(.lpp-add):hover{background:var(--lpp-forest);color:var(--lpp-chalk)}
.lpp .woocommerce button.button:disabled{opacity:.45}
.lpp .cart-collaterals,.lpp .cart-summary-wrap{width:auto!important}
.lpp .cart_totals{background:var(--lpp-forest);color:var(--lpp-chalk);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:18px;position:sticky;top:16px;width:auto!important;float:none!important;box-shadow:none}
.lpp .cart_totals>h2{display:block!important;font-size:1.7rem;color:var(--lpp-chalk);margin:0;padding:0;border:0}
.lpp .cart_totals table.shop_table{border:0;margin:0;background:none}
.lpp .cart_totals table.shop_table :is(th,td){border:0!important;border-bottom:1px solid rgba(244,242,234,.18)!important;background:none!important;color:var(--lpp-chalk);padding:13px 0!important;font-variant-numeric:tabular-nums}
.lpp .cart_totals table.shop_table td{text-align:right}
.lpp .cart_totals table.shop_table tr:last-child :is(th,td){border-bottom:0!important;font-size:1.25rem;font-weight:600}
.lpp .cart_totals .woocommerce-shipping-destination,.lpp .cart_totals .woocommerce-shipping-calculator,.lpp .cart_totals .shipping td{color:var(--lpp-chalk-2);font-size:.85rem}
.lpp .cart_totals .shipping-calculator-button{color:var(--lpp-sun)}
.lpp .wc-proceed-to-checkout{padding:0!important;margin:0}
.lpp .wc-proceed-to-checkout .checkout-button{width:100%;margin:0!important}
.lpp .cart-empty.woocommerce-info,.lpp .wc-empty-cart-message{font-family:var(--lpp-display);font-size:1.6rem;background:var(--lpp-white);border:0;border-radius:8px;padding:clamp(28px,5vw,56px);color:var(--lpp-ink)}
.lpp .cart-empty.woocommerce-info::before{display:none}
.lpp.woocommerce-cart .return-to-shop{grid-column:1/-1}
@media (max-width:900px){.lpp.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
 .lpp table.shop_table.cart tr.cart_item{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"thumb name remove" "thumb qty qty" "sub sub sub"}
 .lpp table.shop_table.cart td.product-subtotal{text-align:left}
}

/* Notices */
.lpp .woocommerce-message,.lpp .woocommerce-info,.lpp .woocommerce-error{background:var(--lpp-white);border:0;border-left:4px solid var(--lpp-leaf);border-radius:6px;color:var(--lpp-ink);box-shadow:none}
.lpp .woocommerce-error{border-left-color:var(--lpp-alert)}

/* ---------- Page blocks (À propos) ---------- */
:is(.lpp,.editor-styles-wrapper) .lpp-story{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
:is(.lpp,.editor-styles-wrapper) .lpp-story .wp-block-group,:is(.lpp,.editor-styles-wrapper) .lpp-card{background:var(--lpp-white);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:12px}
:is(.lpp,.editor-styles-wrapper) .lpp-story h2{font-size:1.5rem}
:is(.lpp,.editor-styles-wrapper) .lpp-story p:not(.lpp-eyebrow){color:var(--lpp-ink-2)}
:is(.lpp,.editor-styles-wrapper) .lpp-duo{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
:is(.lpp,.editor-styles-wrapper) .lpp-duo figure{margin:0}
:is(.lpp,.editor-styles-wrapper) .lpp-duo figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;display:block}
:is(.lpp,.editor-styles-wrapper) .lpp-duo__text{display:flex;flex-direction:column;gap:16px;font-size:1.06rem;color:var(--lpp-ink-2)}
:is(.lpp,.editor-styles-wrapper) .lpp-duo h2,:is(.lpp,.editor-styles-wrapper) .lpp-h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--lpp-ink)}
:is(.lpp,.editor-styles-wrapper) .lpp-wide-photo img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:8px;display:block}
@media (max-width:820px){:is(.lpp,.editor-styles-wrapper) .lpp-duo{grid-template-columns:minmax(0,1fr)}}
:is(.lpp,.editor-styles-wrapper) .lpp-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
:is(.lpp,.editor-styles-wrapper) .lpp-contact-card{background:var(--lpp-forest);color:var(--lpp-chalk);border-radius:8px;padding:30px;display:flex;flex-direction:column;gap:14px}
:is(.lpp,.editor-styles-wrapper) .lpp-contact-card h3{font-size:1.5rem;color:var(--lpp-chalk)}
:is(.lpp,.editor-styles-wrapper) .lpp-contact-card p{color:var(--lpp-chalk)}
:is(.lpp,.editor-styles-wrapper) .lpp-contact-card p strong{display:block;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lpp-chalk-2)}
:is(.lpp,.editor-styles-wrapper) .lpp-contact-card a{color:var(--lpp-sun)}
@media (max-width:820px){:is(.lpp,.editor-styles-wrapper) .lpp-contact{grid-template-columns:minmax(0,1fr)}}

/* Kadence contact form, in the mockup's input style */
.lpp .lpp-form-wrap{background:var(--lpp-white);border-radius:8px;padding:clamp(24px,3vw,36px)}
.lpp .kb-advanced-form .kb-adv-form-field label,.lpp .kb-advanced-form .kb-adv-form-label{font-weight:600;font-size:.92rem;color:var(--lpp-ink)}
.lpp .kb-advanced-form :is(input[type=text],input[type=email],input[type=tel],textarea){min-height:48px;padding:0 18px;border:1.5px solid var(--lpp-line)!important;border-radius:999px!important;background:var(--lpp-paper)!important;font:inherit;color:var(--lpp-ink);box-shadow:none}
.lpp .kb-advanced-form textarea[name]{border-radius:14px!important;padding:12px 18px;min-height:140px}
.lpp .kb-advanced-form input[type=checkbox]{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;accent-color:var(--lpp-forest)}
.lpp .kb-advanced-form .kb-adv-form-submit-button,.lpp .kb-advanced-form button[type=submit]{min-height:54px;padding:0 26px!important;border-radius:999px!important;border:0;background:var(--lpp-forest)!important;color:var(--lpp-chalk)!important;font-weight:600;font-family:var(--lpp-body);font-size:1rem;cursor:pointer}
.lpp .kb-advanced-form .kb-adv-form-submit-button:hover,.lpp .kb-advanced-form button[type=submit]:hover{background:var(--lpp-forest-2)!important}

/* ---------- Footer (synced pattern "Pied de page") ---------- */
.lpp-footer{background:var(--lpp-forest-2);color:var(--lpp-chalk)}
.lpp-footer>.lpp-wrap{padding-block:64px 28px}
.lpp-footer .lpp-foot{display:flex;flex-direction:column;gap:44px}
.lpp-footer .lpp-foot-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:36px}
.lpp-footer .lpp-foot-top .wp-block-group{display:flex;flex-direction:column;gap:9px;font-size:.95rem}
.lpp-footer .lpp-foot-brand{font-family:var(--lpp-display);font-size:1.6rem;line-height:1.15;color:var(--lpp-chalk);margin:0}
.lpp-footer .lpp-foot-h{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lpp-sun);font-weight:600;margin:0 0 4px}
.lpp-footer p{margin:0;color:var(--lpp-chalk);font-size:.95rem}
.lpp-footer p.lpp-foot-intro{color:var(--lpp-chalk-2);font-size:.92rem}
.lpp-footer a{color:var(--lpp-chalk);text-decoration:none}
.lpp-footer a:hover{color:var(--lpp-sun)}
.lpp-footer .lpp-legal{border-top:1px solid rgba(244,242,234,.15);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:.8rem;color:var(--lpp-chalk-2)}
.lpp-footer .lpp-legal p{font-size:.8rem;color:var(--lpp-chalk-2)}
.lpp-footer .lpp-legal .lpp-legal__links{display:flex;flex-wrap:wrap;gap:8px 22px}
.lpp-footer .lpp-legal a{color:var(--lpp-chalk-2)}
@media (max-width:900px){.lpp-footer .lpp-foot-top{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}

/* ---------- Toast ---------- */
.lpp-toast{position:fixed;z-index:200;left:16px;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));margin:0 auto;max-width:580px;background:var(--lpp-forest-2);color:var(--lpp-chalk);border-radius:999px;padding:8px 8px 8px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 16px 36px rgba(13,40,23,.35);font-size:.95rem}
.lpp-toast[hidden]{display:none}
.lpp-toast a{flex:0 0 auto;min-height:44px;padding:0 20px;border-radius:999px;background:var(--lpp-sun);color:var(--lpp-forest-2)!important;font-weight:700;display:inline-flex;align-items:center;text-decoration:none}
@media (max-width:520px){.lpp-toast{border-radius:14px;flex-wrap:wrap;padding:14px 14px 14px 18px}}
@media (prefers-reduced-motion:no-preference){.lpp-toast:not([hidden]){animation:lpp-rise .3s cubic-bezier(.2,.7,.2,1)}@keyframes lpp-rise{from{transform:translateY(16px);opacity:.3}to{transform:none;opacity:1}}}

/* Cart: Kadence sizes the form and the table itself; the mockup's two columns win. */
.lpp.woocommerce-cart .entry-content .woocommerce{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)!important}
.lpp.woocommerce-cart .woocommerce-cart-form,.lpp.woocommerce-cart .cart-collaterals{width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important}
.lpp table.shop_table.cart{display:block!important;width:100%!important}
.lpp table.shop_table.cart tbody{width:100%}
.lpp .wc-proceed-to-checkout a.checkout-button.button.alt{display:flex!important;font-size:1rem;padding:0 8px 0 26px}
@media (max-width:900px){.lpp.woocommerce-cart .entry-content .woocommerce{grid-template-columns:minmax(0,1fr)!important}}
.lpp.woocommerce-cart .woocommerce-cart-form{grid-column:1;grid-row:2}
.lpp.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:2}
@media (max-width:900px){.lpp.woocommerce-cart .cart-collaterals{grid-column:1;grid-row:3}}
.lpp .wc-proceed-to-checkout a.checkout-button.button.alt,.lpp #place_order.button.alt{background:var(--lpp-sun)!important;color:var(--lpp-forest-2)!important}
.lpp .wc-proceed-to-checkout a.checkout-button.button.alt:hover,.lpp #place_order.button.alt:hover{background:#F6CD6A!important}
.lpp .single_add_to_cart_button.button.alt{background:var(--lpp-forest)!important;color:var(--lpp-chalk)!important}
.lpp .single_add_to_cart_button.button.alt:hover{background:var(--lpp-forest-2)!important}

/* The checkout opt-in box (inc/newsletter.php), in the site's checkbox style */
.lpp .lpp-checkout-optin input[type=checkbox],.lpp .woocommerce-form__input-checkbox{accent-color:var(--lpp-forest)}

/* Legal pages (mentions, CGV, confidentialité) */
:is(.lpp,.editor-styles-wrapper) .lpp-legal-page{gap:14px;max-width:820px}
:is(.lpp,.editor-styles-wrapper) .lpp-legal-page h2{font-size:1.45rem;color:var(--lpp-forest);margin-top:26px}
:is(.lpp,.editor-styles-wrapper) .lpp-legal-page p{color:var(--lpp-ink-2);font-size:1.02rem}

/* The Newsletter Plugin's own buttons (unsubscribe, resubscribe) in the site's pill style */
.lpp .tnp-button-form{margin:18px 0 0}
.lpp .tnp-submit{min-height:50px;padding:0 26px;border:0;border-radius:999px;background:var(--lpp-forest);color:var(--lpp-chalk);font-family:var(--lpp-body);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}
.lpp .tnp-submit:hover{background:var(--lpp-forest-2)}

/* Editor canvas only. WordPress gives every block auto side margins and a max width there: a grid
   cell with auto margins shrinks to its content, and the hero photo and the collection tiles hold
   only absolutely positioned children, so they measured 0 px wide. Cells fill their track again.
   The hero book: its block wrapper takes the book's place on the photo and the book sits static
   inside it, so the wrapper has the book's size and a click on the book selects the block (a
   static wrapper measured 0 px high, every click landed on the photo). */
.editor-styles-wrapper :is(.lpp-hero__panel, .lpp-hero__photo, .lpp-collections, .lpp-coll) { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: auto !important; justify-self: stretch !important; }
.editor-styles-wrapper .lpp-hero__photo .wp-block-lafactory-product-feature { position: absolute !important; left: -54px; bottom: 56px; top: auto; z-index: 3; width: max-content !important; max-width: none !important; margin: 0 !important; }
.editor-styles-wrapper .lpp-hero__photo .wp-block-lafactory-product-feature > div { position: static; margin: 0; }
.editor-styles-wrapper .lpp-hero__photo .lpp-hero-book { position: static; display: block; }
.editor-styles-wrapper :is(.lpp-hero__photo, .lpp-coll) figure :is(.components-resizable-box__container, img) { width: 100% !important; height: 100% !important; }
/* Server-rendered book previews in the editor: their links must not navigate the canvas, a click selects the block. */
.editor-styles-wrapper :is(.wp-block-lafactory-product-feature, .wp-block-lafactory-products) a { pointer-events: none; }


/* Instagram item of the main menu (Appearance > Menus, class lpp-menu-instagram): drawn as the
   glyph beside its label, in the header and in the phone drawer. */
.lpp .lpp-menu-instagram>a::before{content:"";display:inline-block;width:22px;height:22px;flex:none;background:currentColor;-webkit-mask:var(--lpp-ig) center/contain no-repeat;mask:var(--lpp-ig) center/contain no-repeat;--lpp-ig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.3' cy='6.7' r='.6' fill='%23000'/%3E%3C/svg%3E")}
.lpp .main-navigation .primary-menu-container>ul>li.lpp-menu-instagram>a{display:flex;align-items:center;gap:8px;transition:color .2s ease}
.lpp .main-navigation .primary-menu-container>ul>li.lpp-menu-instagram>a:hover{color:var(--lpp-leaf)}
.lpp .main-navigation .primary-menu-container>ul>li.lpp-menu-instagram>a::after{display:none}
.lpp #mobile-drawer li.lpp-menu-instagram>a{display:flex;align-items:center;gap:10px}
/* From 1025 px (Kadence's desktop header) the six entries need about 1095 px of content width, or
   Instagram drops to a second line: the glyph alone there. The bound is the media width, which
   counts the scrollbar (up to 17 px). The label stays as the link's accessible name. */
@media (min-width:1025px) and (max-width:1119px){
.lpp .main-navigation .primary-menu-container>ul>li.lpp-menu-instagram>a{font-size:0;gap:0}
}
