/* MagicPath direction adapted to native WooCommerce. Catalogue, cart and payment stay native. */
body[class*="pp-season-"]{
 --pp-ui-muted:#5e6b59;--pp-body:'Nunito',sans-serif;--pp-font-body:'Nunito',sans-serif;
 --pp-ui-radius:24px;--pp-ui-control:16px;
 --pp-ui-shadow:0 4px 0 color-mix(in srgb,var(--season-accent) 20%,#fffefa),0 15px 30px -22px #254f3f55;
 --pp-ui-hover:0 5px 0 color-mix(in srgb,var(--season-accent) 30%,#fffefa),0 19px 32px -22px #254f3f66;
}
body :is(h1,h2,h3,h4,h5,h6,input,select,textarea,button){font-family:'Nunito',sans-serif}
body :is(input.input-text,input[type=email],input[type=text],input[type=tel],input[type=password],input[type=number],textarea,select){font-size:16px!important;line-height:1.45;min-height:44px;max-width:100%;box-sizing:border-box}
body :is(input,textarea)::placeholder{color:#687460;opacity:1}
body :is(.pp-photo-note,.pp-clear-note,.pp-clear-description,.pp-routine-renewal,.pp-step-note,.pp-journey-footnote,.pp-guide-note,.pp-shop-unit){color:var(--pp-ui-muted)}
body :is(.pp-hero-path-link,.pp-maison-zone,.pp-shop-details,.pp-drawer-continue,.pp-drawer-remove,.pp-drawer-reception,.pp-welcome-later,.pp-motion-toggle){min-height:44px;display:inline-flex;align-items:center}
body :is(.pp-journey-close,.pp-drawer-heading>button){min-width:44px;min-height:44px}
body :is(.pp-drawer-stepper,.pp-cart-quantity,.pp-quantity-stepper) button{min-width:40px;min-height:44px}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--season-deep)!important;outline-offset:3px}
body .pp-header .pp-account,body .pp-cart{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
body .pp-nav a{min-height:44px;display:inline-flex;align-items:center}
body .pp-arrival-bar button{min-height:44px}
body .pp-maison-hero h1{font-weight:900;line-height:1.07!important}
body .pp-maison-hero h1 em{font-weight:900!important}
body .pp-season-badge small{font-size:11px;color:var(--pp-ui-muted)}
body .pp-home-film{border-color:#fffefa;box-shadow:var(--pp-ui-shadow)}
body .pp-film-transcript summary{min-height:44px;align-items:center}
body .pp-path{border:1px solid var(--pp-ui-border);box-shadow:var(--pp-ui-shadow);border-radius:26px}
body .pp-maison-heading h2{font-weight:900;font-size:clamp(34px,4vw,54px);line-height:1.1}
body .pp-maison-section{padding-top:64px;padding-bottom:64px}
/* Compact basket cards keep their true product names, photos, quantities and variations. */
body .pp-clear-baskets{gap:20px;align-items:stretch}
body .pp-clear-basket{padding:0 20px 18px;border:1px solid var(--pp-ui-border)!important;border-radius:26px;overflow:hidden;background:#fffefa}
body .pp-clear-card-intro{margin:0 -20px 18px;padding:23px 20px 18px;min-height:192px;box-sizing:border-box;border-radius:0;display:flex;flex-direction:column;flex-shrink:0;background:linear-gradient(140deg,#ffffff4d,transparent 80%),var(--basket-heading)}
body .pp-clear-card-heading{margin:0 0 14px;min-height:35px}
body .pp-clear-card-intro h3{font-size:24px;line-height:1.15;min-height:56px;margin:0 0 10px}
body .pp-clear-description{font-size:13px;line-height:1.45;margin-top:auto;min-height:0}
body .pp-clear-basket .pp-loop-composition{order:2;margin-bottom:6px;min-width:0}
body .pp-clear-basket .pp-shop-pricing{order:3;margin:4px 0 10px;padding:10px 0 0;border:0;min-height:42px;flex-wrap:wrap;gap:4px 10px}
body .pp-clear-basket .pp-shop-price{font-size:28px;font-weight:900;white-space:nowrap}
body .pp-clear-basket .pp-shop-unit{font-size:12px}
body .pp-clear-basket .pp-shop-actions{order:4;grid-template-columns:minmax(0,1fr) 48px;gap:9px;margin-top:auto;padding-top:6px}
body .pp-clear-basket .pp-shop-format{min-height:48px!important;font-size:14px!important;padding:9px!important;width:100%;min-width:0}
body .pp-clear-basket .pp-shop-add{width:48px;min-width:48px;min-height:48px;padding:8px!important;border-radius:16px!important}
body .pp-clear-basket .pp-shop-add>span:last-child{display:none}
body .pp-clear-basket .pp-shop-details{margin-top:5px;justify-content:flex-start;font-size:12px}
body .pp-clear-basket .pp-shop-status:empty{display:none}
/* Basket contents are readable immediately; only real choices use a select. */
body ul.pp-composition-thumbs.pp-composition-direct>li{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:40px;align-items:center;border-bottom:1px solid var(--pp-ui-border);padding:7px 0!important}
body ul.pp-composition-direct .pp-ingredient-name{font-size:13px;line-height:1.4;overflow-wrap:break-word}
body ul.pp-composition-direct .pp-ingredient-quantity{font-size:12px;white-space:nowrap}
body .pp-clear-basket .pp-loop-composition{padding-bottom:14px}
body .pp-clear-basket .pp-shop-pricing{margin-top:auto}
body .pp-clear-basket .pp-shop-actions{margin-top:0}
body .pp-shop-unit:empty{display:none}
body .pp-clear-basket .pp-shop-actions.pp-shop-fixed-format,
body .woocommerce ul.products li.pp-text-basket .pp-shop-actions.pp-shop-fixed-format{display:grid!important;grid-template-columns:1fr!important}
body .pp-clear-basket .pp-shop-fixed-format .pp-shop-add,
body .woocommerce ul.products li.pp-text-basket .pp-shop-fixed-format .pp-shop-add{width:100%;gap:8px}
body .pp-shop-fixed-format .pp-shop-add>span:last-child{display:inline!important}
/* One useful seasonal adviser, beside the current selection. The hero film is retained. */
.pp-market-advisor{margin:6px 0 32px}
.pp-market-advisor .pp-season-guide{display:grid;grid-template-columns:minmax(180px,1fr) 150px minmax(220px,1.25fr);column-gap:26px;row-gap:4px;max-width:none;transform:none;padding:25px 28px;align-items:center;border-radius:28px}
.pp-market-advisor .pp-guide-heading{grid-column:1;grid-row:1;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.pp-market-advisor .pp-season-guide h2{grid-column:1;grid-row:2;font-size:26px;margin:10px 0;max-width:310px}
.pp-market-advisor .pp-guide-art{grid-column:2;grid-row:1/4;height:178px}
.pp-market-advisor .pp-guide-art>.pp-brand-friend{width:125px;height:138px}
.pp-market-advisor .pp-guide-orbit{width:140px;height:140px}
.pp-market-advisor .pp-guide-name{bottom:0;right:0;font-size:11px;padding:6px 9px}
.pp-market-advisor .pp-guide-advice{grid-column:3;grid-row:1/4;align-self:center}
.pp-market-advisor .pp-guide-note{grid-column:1;grid-row:3;margin:0;font-size:11px;text-align:left}
body .pp-guide-advice summary{min-height:44px;font-size:13px}
body .pp-guide-advice details>p{font-size:14px;color:var(--pp-ui-muted)}
/* A friendly offer card, with a clear first-order condition. */
body .pp-routine-intro{border-radius:32px;padding:42px;gap:36px}
body .pp-routine-offer{border-radius:25px;transform:rotate(2deg);border:2px solid #ffffffb3;box-shadow:0 6px 0 var(--season-accent),0 18px 24px -18px #0c2c23}
body .pp-routine-offer>small{font-size:11px;line-height:1.55;color:var(--season-ink)}
body .pp-routine-choices{align-items:stretch;gap:20px}
body .pp-routine-choice{display:flex;flex-direction:column}
body .pp-routine-choice h4{min-height:50px;font-weight:900}
body .pp-routine-choice .pp-offer-subscribe{margin-top:auto}
body .pp-routine-choice .pp-routine-renewal{min-height:34px}
/* Product cards: image, name, provenance and actions each own a row. */
body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy)>.woocommerce-loop-product__link{display:flex!important;flex-direction:column!important;position:relative;min-width:0;flex:1}
body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy)>.woocommerce-loop-product__link>img{position:static!important;width:min(100%,190px)!important;height:auto!important;aspect-ratio:1;max-height:190px!important;object-fit:contain!important;margin:0 auto 14px!important;flex-shrink:0}
body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy) .woocommerce-loop-product__title{position:static!important;font-size:21px!important;line-height:1.2;min-height:51px;margin:0 0 9px!important;padding:0!important;overflow-wrap:anywhere}
body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy) .pp-shop-pricing{flex-wrap:wrap;gap:4px 10px;min-height:38px}
body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy) .pp-shop-actions{margin-top:10px}
body .woocommerce ul.products li.product .pp-shop-format{min-width:0;min-height:46px}
/* Native dialogs, account and checkout share the same surface and control sizes. */
body :is(#pp-welcome-modern,#pp-journey-dialog){max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain;border-radius:28px}
body :is(.pp-journey-kinds>button,#pp-journey-places button,#pp-journey-dates button,.pp-company-tab,.pp-step-mode){min-height:48px}
body :is(.pp-journey-head,.pp-welcome-top){color:var(--season-deep)}
body .pp-welcome-benefits{gap:16px}.pp-welcome-benefits li{border-radius:18px}
body #pp-cart-drawer{width:min(510px,100vw);max-width:100vw;border:1px solid var(--pp-ui-border);border-radius:26px 0 0 26px}
body .pp-drawer-heading{padding:23px 22px}.pp-drawer-heading h2{font-size:29px;font-weight:900}
body .pp-drawer-product{min-width:0}.pp-drawer-product>strong{overflow-wrap:anywhere;line-height:1.3}
body .pp-drawer-thumb{width:64px;height:64px;border-radius:18px;flex-shrink:0}
body .pp-drawer-total>strong{font-size:27px;font-weight:900}
body .pp-drawer-checkout{min-height:52px;justify-content:center}
body .pp-drawer-continue{justify-content:center;width:100%;font-size:14px}
body .pp-drawer-help{font-size:13px;color:var(--pp-ui-muted);line-height:1.5}
body :is(.pp-checkout-stage,.pp-account-panel){padding:28px;border:1px solid var(--pp-ui-border)}
body .pp-checkout-stage>h2{font-size:28px;line-height:1.2;font-weight:900}
body .pp-checkout-stage>p{line-height:1.6}
body .pp-checkout-progress button{min-height:56px;font-size:14px!important}
body #pp-checkout-next,body #pp-checkout-back{min-height:48px}
body .pp-preference-example{padding:18px 20px}
body .pp-checkout-summary button{min-height:44px}
body .woocommerce #payment .payment_methods li label{line-height:1.55}
body .woocommerce #payment .payment_methods li input[type=radio]{width:18px;height:18px;vertical-align:middle;margin-right:9px}
body .woocommerce #payment .payment_box p{font-size:14px;line-height:1.6}
body .woocommerce .woocommerce-form :is(button.button,.button){min-height:48px}
@media(min-width:761px) and (max-width:1150px){
 body .pp-clear-baskets,body .pp-routine-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pp-market-advisor .pp-season-guide{grid-template-columns:1fr 130px 1.2fr;gap:14px}
 .pp-market-advisor .pp-season-guide h2{font-size:23px}
}
@media(max-width:760px){
 body .pp-wrap{width:calc(100% - 40px)}
 body .pp-maison-section{padding-top:42px;padding-bottom:42px}
 body .pp-maison-heading{gap:16px}.pp-maison-heading p{font-size:14px}
 body .pp-clear-section .pp-maison-heading h2{font-size:36px}
 body .pp-clear-baskets{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 body .pp-clear-basket{padding:0 12px 12px;border-radius:22px}
 body .pp-clear-card-intro{margin:0 -12px 13px;padding:18px 12px 14px;min-height:205px}
 body .pp-clear-card-heading{margin-bottom:10px;gap:5px;min-height:29px}
 body .pp-clear-card-intro h3{font-size:20px;line-height:1.18;min-height:71px;margin-bottom:8px}
 body .pp-clear-card-intro .pp-clear-description{font-size:11px;line-height:1.45}
 body .pp-clear-kind{font-size:9px;letter-spacing:.02em}
 body .pp-clear-basket-icon{width:27px;height:29px;flex-basis:27px;border-radius:9px}.pp-clear-basket-icon svg{width:20px;height:20px}
 body .pp-clear-basket .pp-shop-pricing{min-height:62px;align-content:start;flex-direction:column;align-items:start;gap:0;margin:0 0 4px}
 body .pp-clear-basket .pp-shop-price{font-size:23px}
 body .pp-clear-basket .pp-shop-unit{font-size:10px}
 body .pp-clear-basket .pp-shop-actions{grid-template-columns:minmax(0,1fr) 44px;gap:6px}
 body .pp-clear-basket .pp-shop-format{font-size:16px!important;padding:8px 4px!important;min-height:44px!important}
 body .pp-clear-basket .pp-shop-add{width:44px;min-width:44px;min-height:44px;padding:7px!important}
 body .pp-clear-basket .pp-shop-details{font-size:11px;margin-top:3px}
 .pp-market-advisor{margin-bottom:26px}
 .pp-market-advisor .pp-season-guide{display:grid;grid-template-columns:1fr 110px;padding:20px;gap:8px 12px;border-radius:25px}
 .pp-market-advisor .pp-guide-heading{grid-column:1;grid-row:1;font-size:8px;gap:7px}
 .pp-market-advisor .pp-season-guide h2{grid-column:1;grid-row:2;font-size:24px;margin:7px 0;line-height:1.12}
 .pp-market-advisor .pp-guide-art{grid-column:2;grid-row:1/3;height:140px}
 .pp-market-advisor .pp-guide-art>.pp-brand-friend{width:100px;height:110px}
 .pp-market-advisor .pp-guide-orbit{width:110px;height:105px}
 .pp-market-advisor .pp-guide-name{font-size:9px;right:-5px;padding:5px 7px}
 .pp-market-advisor .pp-guide-advice{grid-column:1/-1;grid-row:3;margin-top:8px}
 .pp-market-advisor .pp-guide-note{grid-column:1/-1;grid-row:4;text-align:center;margin-top:8px;font-size:10px}
 body .pp-routine-intro{padding:28px 23px;grid-template-columns:1fr;border-radius:27px}
 body .pp-routine-offer{transform:none;margin-top:16px;order:0}
 body .pp-routine-choices{grid-template-columns:1fr;gap:16px}
 body .pp-routine-choice h4{min-height:0}
 body .pp-routine-choice .pp-routine-renewal{min-height:0}
 body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy){padding:12px!important;border-radius:22px;min-width:0}
 body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy)>.woocommerce-loop-product__link>img{width:min(100%,145px)!important;max-height:145px!important;margin:0 auto 12px!important}
 body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy) .woocommerce-loop-product__title{font-size:17px!important;min-height:61px;line-height:1.2}
 body .woocommerce ul.products li.product:not(.pp-text-basket):has(.pp-shop-buy) .pp-shop-pricing{min-height:57px;align-content:start;gap:1px;flex-direction:column;align-items:start}
 body .woocommerce ul.products li.product .pp-shop-price{font-size:23px}
 body .woocommerce ul.products li.product .pp-shop-unit{font-size:11px}
 body .woocommerce ul.products li.product .pp-shop-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;gap:6px}
 body .woocommerce ul.products li.product .pp-shop-add{min-width:44px;min-height:46px;width:44px;padding:8px!important}
 body .woocommerce ul.products li.product .pp-shop-format{width:100%;font-size:16px!important;padding:8px 4px!important}
 body :is(#pp-welcome-modern,#pp-journey-dialog){width:calc(100% - 20px);max-width:calc(100% - 20px);border-radius:24px;box-sizing:border-box}
 body #pp-cart-drawer{width:100%;max-width:100%;border-radius:0}
 body .pp-drawer-heading{padding:19px 18px}
 body :is(.pp-checkout-stage,.pp-account-panel){padding:21px 18px}
 body .pp-checkout-progress{gap:5px}.pp-checkout-progress button span{flex-shrink:0}
 body .pp-checkout-progress button{font-size:11px!important;min-height:58px;padding:10px 3px!important;gap:7px}
 body .pp-checkout-stage>h2{font-size:26px}
 body .pp-checkout-summary{grid-template-columns:1fr}
 body .pp-account-heading h1{overflow-wrap:anywhere}
}
@media(max-width:360px){
 body .pp-wrap{width:calc(100% - 28px)}
 body .pp-clear-baskets{gap:10px}
 body .pp-clear-card-intro{min-height:218px}.pp-clear-card-intro h3{font-size:18px!important}
 body .pp-clear-basket{padding-inline:10px}.pp-clear-card-intro{margin-inline:-10px!important;padding-inline:10px!important}
 body .pp-clear-basket .pp-shop-actions{grid-template-columns:1fr}.pp-clear-basket .pp-shop-add{width:100%!important}
 .pp-market-advisor .pp-season-guide{grid-template-columns:1fr 82px;padding:16px}.pp-market-advisor .pp-season-guide h2{font-size:22px}
 .pp-market-advisor .pp-guide-art>.pp-brand-friend{width:83px}.pp-market-advisor .pp-guide-orbit{width:85px;height:85px}
 body .pp-checkout-progress button{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){body :is(.pp-clear-basket,.pp-path,.pp-routine-offer,.pp-market-advisor *){animation:none!important;transition:none!important}}

/* Responsive header: let the logo shrink before forcing the page wider. */
@media(max-width:1000px){
 body .pp-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
 body .pp-header .pp-logo{grid-column:1;grid-row:1;width:148px;max-width:100%;min-width:0}
 body .pp-header .pp-logo img{max-width:100%;object-fit:cover}
 body .pp-header-actions{grid-column:2;grid-row:1;min-width:0;gap:7px}
 body .pp-header-search{grid-column:1/-1;grid-row:2;min-width:0;width:100%}
 body .pp-header-search input{min-width:0;width:100%;flex:1}
}
@media(max-width:360px){body .pp-header-actions .pp-account,body .pp-header-actions .pp-cart{padding-inline:9px!important;font-size:11px!important}}



@media(max-width:650px){
 body ul.pp-composition-thumbs.pp-composition-direct>li{grid-template-columns:minmax(0,1fr);gap:2px;min-height:58px;align-content:center}
 body ul.pp-composition-direct .pp-ingredient-name{font-size:12px}
 body ul.pp-composition-direct .pp-ingredient-quantity{font-size:11px}
 body .pp-clear-basket .pp-shop-pricing{margin-top:auto}
 body .pp-clear-basket .pp-shop-actions{margin-top:0}
}

/* A real fruit-size choice needs enough space to stay readable on mobile. */
@media(max-width:650px){
 body .pp-clear-basket .pp-shop-actions{grid-template-columns:minmax(0,1fr);gap:8px}
 body .pp-clear-basket .pp-shop-add{width:100%;gap:8px}
 body .pp-clear-basket .pp-shop-add>span:last-child{display:inline}
}

/* The detail page already presents its complete composition in the main panel. */
body.single-product:has(.pp-composition-gallery) .ppb-product>h3:has(+ #ppb-product-composition),body.single-product:has(.pp-composition-gallery) #ppb-product-composition>.ppb-composition{display:none!important}
