/* LE PETIT POTAGER · common controls, cards and cheerful details across WooCommerce. */
body{
 --pp-ui-radius:22px;--pp-ui-control:16px;--pp-ui-border:#d9ded2;
 --pp-ui-paper:#fffefa;--pp-ui-ink:#294a3e;--pp-ui-muted:#606e63;
 --pp-ui-shadow:0 3px 0 #e0e5d877,0 12px 26px -18px #294a3e45;
 --pp-ui-hover:0 4px 0 #d9e0ce,0 17px 29px -17px #294a3e45;
 --pp-line:var(--pp-ui-border);--pp-paper:var(--pp-ui-paper);--pp-green-2:#274d3e;
}
/* Rounded typography everywhere in the storefront, with one clear hierarchy. */
body :is(.pp-header,.pp-nav,.pp-footer,main,.woocommerce,dialog){font-family:var(--pp-font-body)}
body :is(h1,h2,h3,h4,h5,h6){font-weight:800;font-style:normal;letter-spacing:-.025em}
body :is(h1,h2,h3,h4) em{font-family:inherit!important;font-style:normal!important}
body .pp-routine-copy h2{font-weight:800;line-height:1.08}.pp-routine-copy h2 em{font-weight:700}
/* Primary purchase and navigation controls share the same tactile shape. */
body :is(.pp-button,.pp-maison-btn,.pp-shop-add,.pp-drawer-checkout,.pp-drawer-empty button,.pp-account-panel>button,.pp-account-panel>a,.ppb-save,.pp-reception-button,.pp-welcome-main-cta,.pp-company-code-row button),
body .woocommerce :is(a.button,button.button,input.button,.single_add_to_cart_button),
body #pp-checkout-next,body #pp-journey-save,body #place_order{
 border:1px solid var(--pp-green)!important;border-radius:var(--pp-ui-control)!important;
 background-color:var(--pp-green)!important;background-image:linear-gradient(180deg,#ffffff0c,transparent)!important;color:#fffefa!important;
 font-family:var(--pp-font-body)!important;font-weight:800!important;letter-spacing:0!important;
 min-height:46px;line-height:1.35!important;box-shadow:inset 0 1px #ffffff20,0 3px 0 #25443830,0 7px 14px -9px #234a3c70!important;
 transition:background-color .18s,box-shadow .18s,transform .18s;cursor:pointer;
}
body :is(.pp-button,.pp-maison-btn,.pp-shop-add,.pp-drawer-checkout,.pp-welcome-main-cta):active,
body .woocommerce :is(a.button,button.button):active,body #pp-checkout-next:active{transform:translateY(2px);box-shadow:inset 0 1px #fff1,0 1px 0 #25443830!important}
body :is(button,input[type=submit]):disabled,body .woocommerce :is(a.button,button.button).disabled{opacity:.48!important;box-shadow:none!important;cursor:not-allowed;transform:none!important}
/* Secondary controls retain their meaning and never pretend to be a buy button. */
body :is(.pp-cart-shop-link,.pp-account-heading>a,.pp-header .pp-account,.pp-cart,.pp-motion-toggle),
body #pp-checkout-back,body .woocommerce button[name=update_cart]{
 border:1px solid var(--pp-ui-border)!important;border-radius:var(--pp-ui-control)!important;
 background:var(--season-wash)!important;color:var(--pp-ui-ink)!important;box-shadow:0 3px 0 #d9ded233!important;font-weight:800;text-decoration:none;
}
.pp-cart-count{background:var(--pp-green)!important;color:#fffefa!important}
body .pp-header-search input{border-radius:var(--pp-ui-control) 0 0 var(--pp-ui-control)!important}
body .pp-header-search button{border-radius:0 var(--pp-ui-control) var(--pp-ui-control) 0!important;background:var(--pp-green);color:white;min-height:44px}
body :is(.pp-quantity-stepper,.pp-cart-quantity,.pp-drawer-stepper){border:1px solid var(--pp-ui-border);border-radius:var(--pp-ui-control);background:var(--season-wash)}
body :is(.pp-quantity-stepper,.pp-cart-quantity,.pp-drawer-stepper) button{border:0!important;border-radius:12px!important;background:transparent!important;color:var(--pp-ui-ink)!important;box-shadow:none!important;font-weight:700;min-width:36px}
body :is(.pp-quantity-stepper,.pp-cart-quantity,.pp-drawer-stepper) input{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
/* All fields and selection cards. Native checkboxes/radios keep native semantics. */
body[class*="pp-season-"] :is(input.input-text,input[type=email],input[type=text],input[type=tel],input[type=password],input[type=number],textarea,select),
body .select2-container .select2-selection--single{
 border-color:var(--pp-ui-border)!important;border-radius:13px!important;background:var(--pp-ui-paper)!important;color:var(--pp-ui-ink)!important;
 font-family:var(--pp-font-body)!important;box-shadow:inset 0 2px 3px #294a3e03!important;
}
body :is(input[type=radio],input[type=checkbox]){accent-color:var(--pp-green)}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #6c9274!important;outline-offset:3px}
body .woocommerce .form-row.woocommerce-invalid :is(input.input-text,select){border-color:#a75440!important;box-shadow:0 0 0 1px #a75440!important}
/* A familiar outline from the home page to the last checkout step. */
body :is(.pp-clear-basket,.pp-routine-choice,.pp-path,.pp-account-card,.pp-account-panel,.pp-composition-gallery,.pp-checkout-stage,.pp-meetings),
body .woocommerce ul.products li.product:has(.pp-shop-buy),body.woocommerce-page ul.products li.product:has(.pp-shop-buy),
body .woocommerce div.product div.summary,body.woocommerce-account :is(.woocommerce-form,.woocommerce-Address,.woocommerce-MyAccount-navigation){
 border-color:var(--pp-ui-border);border-radius:var(--pp-ui-radius);box-shadow:var(--pp-ui-shadow);background-color:var(--pp-ui-paper);
}
body .woocommerce ul.products li.product:has(.pp-shop-buy),body.woocommerce-page ul.products li.product:has(.pp-shop-buy){border-width:1.5px;border-style:solid;background-image:linear-gradient(155deg,#ffffff9c,transparent 65%);overflow:visible}
body .woocommerce ul.products li.product .woocommerce-loop-product__title,.pp-clear-basket h3,.pp-shop-price{color:var(--pp-ui-ink)}
body .woocommerce ul.products li.product:not(.pp-text-basket)>.woocommerce-loop-product__link>img{
 background:color-mix(in srgb,var(--season-wash) 65%,#fffefa)!important;
 border:1px solid color-mix(in srgb,var(--season-accent) 25%,#fffefa)!important;box-shadow:inset 0 2px 4px #fff,0 3px 9px #344b2e06;
}
.pp-product-badge{border:1px solid #ffffff80;border-radius:999px;letter-spacing:.02em;box-shadow:0 2px 4px #243c3008}
.pp-product-badge-season{background:var(--season-wash)!important;color:var(--season-deep)!important}
body .pp-clear-basket{border-top-width:5px}.pp-clear-card-intro{border-radius:18px 18px 0 0}
body .pp-clear-basket.pp-tone-familial{border-top-color:#adbf95}body .pp-clear-basket.pp-tone-fruit{border-top-color:#dfca85}body .pp-clear-basket.pp-tone-selection{border-top-color:#bea8c8}
.pp-once-label{background:#eaf0e3;border:1px solid #d8e1ce;border-radius:999px;color:#43634b}
body .pp-routine-choice .pp-offer-subscribe summary{border-radius:var(--pp-ui-control)!important;border-color:var(--pp-ui-border);background:var(--season-wash);color:var(--pp-ui-ink);min-height:46px;box-sizing:border-box}
.pp-routine-intro{background-color:var(--pp-green);border-radius:28px;box-shadow:0 5px 0 #294a3e12,0 18px 35px -26px #294a3e75}
.pp-routine-offer{position:relative;padding-top:24px}.pp-routine-offer>.pp-brand-friend{width:77px;height:82px;margin:-64px auto 8px;transform:rotate(8deg);filter:drop-shadow(0 5px 3px #253e2615)}
.pp-routine-offer-label{font-size:10px}.pp-routine-offer .pp-button{padding:13px 15px}
.pp-routine-offer{margin-top:30px}.pp-routine-price>strong{color:var(--pp-ui-ink)}
/* Drawer and cart pages use the same cards and buttons. */
#pp-cart-drawer{border-radius:24px 0 0 24px;background:var(--pp-ui-paper)}
.pp-drawer-heading{background:var(--season-wash);border-color:var(--pp-ui-border)}
.pp-drawer-heading h2{color:var(--pp-ui-ink)}
.pp-drawer-heading>button,.pp-journey-close{border-radius:50%!important;border-color:var(--pp-ui-border)!important;box-shadow:none!important}
.pp-drawer-items{padding:12px 18px!important}.pp-drawer-item{margin:0 0 11px!important;padding:17px 12px;border:1px solid var(--pp-ui-border);border-radius:18px;background:var(--pp-ui-paper);box-shadow:0 3px 0 #e0e5d855}
.pp-drawer-thumb{background:var(--season-wash);border:1px solid #fff}
.pp-drawer-footer{background:var(--season-wash);border-color:var(--pp-ui-border)}
.pp-drawer-total>strong{color:var(--pp-ui-ink)}.pp-drawer-empty>.pp-brand-friend{width:110px;height:118px}
body.woocommerce-cart .woocommerce-cart-form__contents tr.cart_item{border-radius:var(--pp-ui-radius)!important;border-color:var(--pp-ui-border)!important;box-shadow:var(--pp-ui-shadow)!important}
body.woocommerce-cart .cart-collaterals .cart_totals{border-color:var(--pp-ui-border)!important;border-radius:var(--pp-ui-radius)!important;box-shadow:var(--pp-ui-shadow)!important}
.pp-cart-journey li[aria-current] span{background:var(--season-wash);border-color:var(--season-accent);color:var(--season-deep)}
.pp-cart-minimum.is-ready{background:#ebf1e3}.pp-cart-meter>span{background:#769a75}
body.woocommerce-cart .woocommerce-cart-form__contents td.actions{border:1px solid var(--pp-ui-border)!important;background:var(--season-wash)!important;border-radius:var(--pp-ui-radius)!important}
/* Checkout stays calm, legible and consistent with the shop. */
body.woocommerce-checkout .woocommerce form.checkout{background:none!important;border:0!important;box-shadow:none!important;padding:0}
.pp-checkout-heading .pp-brand-hello{margin:0 0 14px}.pp-checkout-heading .pp-brand-hello>.pp-brand-friend{width:48px;height:52px;animation:none}
.pp-checkout-heading h2{font-size:clamp(27px,3vw,39px);line-height:1.14}.pp-checkout-heading>p:last-child{font-size:15px}
body .pp-checkout-progress button{border:1px solid var(--pp-ui-border)!important;border-radius:var(--pp-ui-control)!important;padding:13px!important;background:var(--pp-ui-paper)!important;color:var(--pp-ui-muted)!important;box-shadow:0 3px 0 #d9ded233!important;font-weight:700}
body .pp-checkout-progress button[aria-current=step]{background:var(--season-wash)!important;border-color:var(--season-accent)!important;color:var(--pp-ui-ink)!important}
.pp-checkout-progress button[aria-current=step] span,.pp-checkout-progress button.is-done span{background:var(--pp-green);border-color:var(--pp-green)}
.pp-checkout-stage{background-image:var(--pp-grain)}
.pp-step-mode,.pp-journey-kinds>button,#pp-journey-places button,#pp-journey-dates button{border-color:var(--pp-ui-border);border-radius:var(--pp-ui-control);background-color:var(--pp-ui-paper)}
.pp-step-mode:has(input:checked),.pp-journey-kinds>button[aria-pressed=true],#pp-journey-places button[aria-pressed=true]{border-color:var(--pp-green);background-color:var(--season-wash);box-shadow:inset 0 0 0 1px var(--pp-green)}
.pp-checkout-summary>div,.pp-preference-example,#pp-step-slot-detail:not(:empty){border:1px solid var(--pp-ui-border);border-radius:var(--pp-ui-control);background:var(--season-wash)}
body .pp-guided-checkout #payment{background:var(--pp-ui-paper)!important;border-color:var(--pp-ui-border);border-radius:var(--pp-ui-radius)}
body.woocommerce-checkout #payment{background:var(--pp-ui-paper)!important;border-color:var(--pp-ui-border)}
.woocommerce-checkout #payment div.payment_box{background:var(--season-wash);color:var(--pp-ui-ink);border-radius:13px}.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--season-wash)}
/* Account, preference and subscription surfaces. */
body.woocommerce-account .woocommerce-MyAccount-navigation{background:var(--season-wash)}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--pp-green);border-radius:13px}
body.woocommerce-account :is(table.shop_table,.woocommerce-Address){border-color:var(--pp-ui-border);background:var(--pp-ui-paper)}
body.woocommerce-account table.shop_table th{background:var(--season-wash);color:var(--pp-ui-ink)}
.pp-account-card-green{background-color:#edf2e7!important}.pp-account-card-yellow{background-color:#faf3dd!important}.pp-account-card-cream{background-color:#f8eee4!important}
.pp-account-card-club,.pp-account-card-company{background-color:var(--season-wash)!important}
body .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){border-radius:var(--pp-ui-control);box-shadow:none;font-family:var(--pp-font-body)}
body .woocommerce :is(.woocommerce-message,.woocommerce-info){background:#edf3e8;border-color:#7b9d77;color:#35503d}
body .woocommerce .woocommerce-error{background:#fbefea;border-color:#ad6d58;color:#794b3e}
.pp-brand-account-intro{display:flex;align-items:center;gap:22px;margin-bottom:28px;padding:25px;border:1px solid var(--pp-ui-border);border-radius:var(--pp-ui-radius);background:var(--season-wash)}
.pp-brand-account-intro .pp-brand-friend{width:100px;height:108px;flex:none}.pp-brand-account-intro h2{font-size:33px;margin:6px 0 10px;line-height:1.15}.pp-brand-account-intro p{font-size:14px;line-height:1.5;margin:0}.pp-brand-account-intro .pp-kicker{font-size:10px}
body.woocommerce-account:not(.logged-in) main.pp-page-main>h1{display:none}
/* Tiny illustrated characters: genuine decorative SVG, never substituted for produce photos. */
.pp-brand-friend{display:block;width:88px;height:96px;overflow:visible;flex:none}
.pp-brand-hello{display:flex;align-items:center;gap:10px;margin:20px 0 0;max-width:350px}
.pp-brand-hello>.pp-brand-friend{width:73px;height:80px;animation:pp-friend-sway 6s ease-in-out infinite alternate;transform-origin:50% 90%}
.pp-brand-hello>span{display:block;position:relative;padding:12px 16px;border:1px solid var(--pp-ui-border);border-radius:18px 18px 18px 4px;background:#fffdf9;box-shadow:0 3px 0 #d9ded244;font-size:13px;font-weight:800;color:var(--pp-ui-ink);line-height:1.35;transform:rotate(-2deg)}
.pp-brand-empty{text-align:center;margin:20px auto;max-width:480px;grid-column:1/-1}.pp-brand-empty>.pp-brand-friend{width:104px;height:112px;margin:auto}.pp-brand-empty h2{font-size:29px;line-height:1.2}.pp-brand-empty p{font-size:15px;line-height:1.6;color:var(--pp-ui-muted)}
.pp-happy-added{animation:pp-happy-pop .55s ease-out!important}
@keyframes pp-happy-pop{0%,100%{transform:scale(1)}35%{transform:scale(1.09) rotate(-2deg)}65%{transform:scale(.97)}}
@keyframes pp-friend-sway{from{transform:rotate(-5deg) translateY(0)}to{transform:rotate(5deg) translateY(-5px)}}
/* Brand rhythm: generous titles, compact shopping actions and lively colour bands. */
body .pp-maison-hero h1{font-size:clamp(44px,4.8vw,68px);line-height:1.04!important;letter-spacing:-.035em!important}
.pp-maison-hero h1 em{color:var(--season-deep);position:relative;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--season-accent) 45%,transparent);text-decoration-thickness:7px;text-underline-offset:7px;text-decoration-skip-ink:none}
.pp-maison-hero-copy{max-width:650px}.pp-maison-intro{font-size:16px;line-height:1.6}.pp-maison-ribbon{background:var(--pp-green);color:#fffefa}
.pp-hero-path-link{border-radius:0;min-height:38px;text-underline-offset:5px}.pp-path{transition:transform .18s,box-shadow .18s}
.pp-path-abonnement{background-color:var(--pp-green)!important;color:#fffefa}.pp-path-abonnement:before{background:var(--season-wash);color:var(--season-deep)}
.pp-path-carte{background-color:#fffefa!important}.pp-path-panier{background-color:var(--season-wash)!important}
.pp-path strong{font-weight:800}.pp-cart-page-intro .pp-brand-hello{margin:0 0 18px}.pp-cart-page-intro .pp-brand-hello>.pp-brand-friend{width:55px;height:60px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body :is(.pp-button,.pp-shop-add,.pp-drawer-checkout,.pp-welcome-main-cta):not(:disabled):hover,
 body .woocommerce :is(a.button,button.button):not(:disabled):hover{background-color:var(--pp-green-2)!important;transform:translateY(-2px);box-shadow:inset 0 1px #fff2,0 4px 0 #25443835,0 9px 17px -10px #234a3c70!important}
 body :is(.pp-clear-basket,.pp-routine-choice,.pp-path,.pp-account-card):hover,
 body .woocommerce ul.products li.product:has(.pp-shop-buy):hover{transform:translateY(-3px);box-shadow:var(--pp-ui-hover)}
 .pp-brand-hello:hover .pp-brand-friend{animation-duration:1.5s}
}
@media(max-width:760px){
 body .pp-maison-hero h1{font-size:clamp(39px,11.2vw,54px);line-height:1.07!important;max-width:520px}
 .pp-maison-hero h1 em{text-decoration-thickness:5px;text-underline-offset:5px}
 .pp-maison-intro{font-size:14px;line-height:1.6}.pp-brand-hello{margin-top:18px;gap:8px}.pp-brand-hello>.pp-brand-friend{width:61px;height:66px}.pp-brand-hello>span{font-size:12px;padding:10px 13px}
 body.home .pp-maison-season .woocommerce ul.products li.product .pp-shop-add,body .woocommerce ul.products li.product .pp-shop-add{border-radius:var(--pp-ui-control)!important;min-width:46px;min-height:46px}
 body :is(.pp-checkout-stage,.pp-account-panel){border-radius:var(--pp-ui-radius)}
 body .pp-checkout-progress button{padding:10px 3px!important;font-size:10px!important;gap:7px}
 .pp-checkout-heading .pp-brand-hello>span{font-size:11px}.pp-checkout-heading>p:last-child{font-size:13px}
 .pp-brand-account-intro{padding:20px 17px;gap:14px;align-items:flex-start}.pp-brand-account-intro .pp-brand-friend{width:57px;height:64px}.pp-brand-account-intro h2{font-size:25px}.pp-brand-account-intro p{font-size:12px}
 #pp-cart-drawer{border-radius:20px 0 0 20px}.pp-drawer-items{padding:10px 12px!important}.pp-drawer-item{padding:16px 10px}
 .pp-routine-intro{padding:34px 22px;gap:35px}.pp-routine-offer{margin-top:23px}
 .pp-account-shortcuts{grid-template-columns:1fr}.pp-account-card{padding:19px;min-height:100px}.pp-account-card>strong{font-size:17px}.pp-account-card>span{font-size:13px}.pp-account-bottom{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.pp-brand-friend,.pp-happy-added{animation:none!important;transform:none!important}body :is(.pp-button,.pp-shop-add,.pp-path,.pp-account-card,.pp-clear-basket,.pp-routine-choice){transition:none!important}}
.pp-motion-paused :is(.pp-brand-friend,.pp-happy-added){animation-play-state:paused!important}
