/* WooCommerce follows the source's paper, rose and sage visual language. */
.ppp-woo-main{padding-top:130px;padding-bottom:80px;min-height:65vh}
.ppp-product-grid{display:grid;gap:28px;grid-template-columns:repeat(var(--ppp-columns,3),minmax(0,1fr))}

.ppp-product-grid .product-card{position:relative;overflow:hidden;border:1px solid rgba(200,143,137,.22);border-radius:18px;background:linear-gradient(180deg,#fff,#fffdfc);box-shadow:0 12px 35px rgba(66,48,40,.08),0 2px 8px rgba(66,48,40,.04);transition:transform .4s ease,box-shadow .4s ease;isolation:isolate}
.ppp-product-grid .product-card::after{content:'';position:absolute;inset:8px;border:1px solid rgba(255,255,255,.62);border-radius:12px;pointer-events:none;z-index:2}
.ppp-product-grid .product-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(66,48,40,.13)}
.ppp-product-grid .product-media{position:relative;aspect-ratio:1.16/1;overflow:hidden;background:#f6ebe6}
.ppp-product-grid .product-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ppp-product-grid .product-card:hover .product-media img{transform:scale(1.045)}
.ppp-product-grid .product-copy{padding:27px 27px 31px;text-align:center}
.ppp-product-grid .product-copy h3{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1;margin:0 0 9px}
.ppp-product-grid .product-copy .tag{width:fit-content;margin:auto;padding:6px 12px;border:1px solid rgba(200,143,137,.18);border-radius:999px;background:#fbf4f1;color:#665d58;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.ppp-product-grid .product-copy p{min-height:45px;margin:15px 0 17px;color:var(--muted);font-size:14px;line-height:1.6}
.ppp-product-grid .product-copy .btn{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-width:190px;max-width:100%;padding:13px 20px;border-radius:999px;background:var(--rose);color:#fff;box-shadow:0 8px 18px rgba(200,143,137,.18);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ppp-product-grid .product-copy .btn.sage{background:var(--sage-dark)}
.related-products .ppp-product-grid{max-width:820px;margin-inline:auto}
.ppp-card-price{font-family:var(--serif);font-size:25px;margin:0 0 14px}
.product-media{display:block}.product-price ins{text-decoration:none}.product-price del{font-size:.72em;opacity:.6}
.ppp-questionnaire-link{display:grid;place-items:center;text-align:center}
.product-intro p{margin-top:0}.product-intro p:last-child{margin-bottom:0}
.ppp-product-description{padding-top:60px;padding-bottom:60px}
.ppp-product-description h2{font-family:var(--serif);font-size:38px;line-height:1.1}
.product-gallery-main .onsale{position:absolute;z-index:3;top:18px;left:18px;right:auto;min-height:0;min-width:0;padding:6px 14px;border-radius:20px;background:var(--sage-dark);color:#fff;line-height:1.6;font-family:var(--sans);font-size:12px}
.product-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce div.product .product-details,.woocommerce .product-details{float:none;width:auto}
.woocommerce .product-details form.cart,.woocommerce form.questionnaire-form{margin-bottom:0}
.product-details .cart-action-row .quantity,.questionnaire-form .cart-action-row .quantity{display:flex;float:none;margin:0;min-width:75px;max-width:95px}
.product-details .cart-action-row .qty,.questionnaire-form .cart-action-row .qty{height:100%;min-height:56px;width:100%;padding:8px;border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--ink)}
.woocommerce .cart-action-row button.button.alt{float:none;min-height:56px;white-space:normal;line-height:1.5;background:linear-gradient(110deg,var(--rose-dark),#a96d67);font-family:var(--sans);font-size:13px;border-radius:14px}
.woocommerce .product-details .out-of-stock{padding:18px;color:#8b4944;background:#f4e4df;border-radius:14px}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:25px}
.woocommerce .woocommerce-ordering select{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:100%;margin:0;float:none;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--paper);text-align:center;display:flex;flex-direction:column;align-items:center}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{width:100%}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--ink)}
.woocommerce ul.products li.product .price{color:var(--rose-dark);font-size:17px}
.woocommerce ul.products li.product .button{margin-top:auto}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{border:0;border-radius:12px;background:var(--rose-dark);color:#fff;padding:14px 22px;font:500 13px/1.4 var(--sans);white-space:normal;text-align:center}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#754743;color:#fff}
.woocommerce .button:focus-visible,.woocommerce input:focus-visible,.woocommerce select:focus-visible,.woocommerce textarea:focus-visible{outline:3px solid rgba(167,102,97,.5);outline-offset:3px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--rose-dark);border-radius:12px;color:var(--ink);background:#f4ebe4;margin-bottom:25px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--rose-dark)}
.woocommerce-message .button{margin-left:12px}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:18px;background:var(--paper);overflow:hidden;border-collapse:separate;font-size:14px}
.woocommerce table.shop_table th{color:var(--ink);font-weight:600;padding:16px}
.woocommerce table.shop_table td{padding:16px;border-top-color:var(--line);vertical-align:top}
.woocommerce table.cart img{width:84px;border-radius:10px}
.woocommerce td.product-name a{font-family:var(--serif);font-size:23px;font-weight:600}
.woocommerce td.product-name dl.variation{margin-top:12px;font-size:12px;overflow-wrap:anywhere}
.woocommerce td.product-name dl.variation dt{float:none;margin:6px 0 2px}
.woocommerce td.product-name dl.variation dd{margin:0 0 6px}
.woocommerce td.product-name dl.variation p{margin:0}
.woocommerce .quantity .qty{width:65px;min-height:43px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
.woocommerce table.cart td.actions .input-text{min-width:140px;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:10px}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end;gap:30px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:none;width:min(100%,480px);padding:25px;border-radius:22px;background:#eee6dc}
.woocommerce .cart_totals h2,.woocommerce .woocommerce-billing-fields h3,.woocommerce #order_review_heading,.woocommerce .woocommerce-additional-fields h3{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.15;margin-top:0}
.woocommerce .cart_totals .shop_table{background:transparent;border:0}
.woocommerce .cart_totals .shop_table td,.woocommerce .cart_totals .shop_table th{padding:14px 0}
.woocommerce .wc-proceed-to-checkout{padding-bottom:0}.woocommerce .wc-proceed-to-checkout a.checkout-button{margin:0;font-size:15px}
.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:0 35px;align-items:start}
.woocommerce form.checkout #customer_details{grid-row:1/4;grid-column:1;width:100%;padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.woocommerce form.checkout #order_review_heading{grid-column:2;margin:0 0 18px}
.woocommerce form.checkout #order_review{grid-column:2}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}
.woocommerce .woocommerce-shipping-fields{margin-top:25px}
.woocommerce form .form-row{padding:0;margin-bottom:17px}
.woocommerce form .form-row label{font-size:13px;margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection--single{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:14px var(--sans)}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:24px;padding-left:0;color:var(--ink)}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:44px}
.woocommerce form .form-row textarea{min-height:120px}
.woocommerce #payment{background:#eee6dc;border-radius:18px}
.woocommerce #payment ul.payment_methods{padding:20px;border-bottom-color:var(--line)}
.woocommerce #payment div.payment_box{background:var(--paper);color:var(--ink)}
.woocommerce #payment div.payment_box::before{border-bottom-color:var(--paper)}
.woocommerce #payment #place_order{width:100%;margin-top:15px;min-height:52px}
.woocommerce .woocommerce-privacy-policy-text{font-size:12px;line-height:1.7}
.woocommerce .woocommerce-privacy-policy-text a{text-decoration:underline}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:35px;align-items:start}
.woocommerce-account .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%;min-width:0}
.woocommerce-account .woocommerce-MyAccount-navigation{padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px;border-radius:9px}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:#eee6dc;color:var(--rose-dark)}
.woocommerce-account .woocommerce-MyAccount-content{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.woocommerce-account .woocommerce-form-login,.woocommerce-account #customer_login{grid-column:1/-1}
.woocommerce-account form.login,.woocommerce-account form.register{border-color:var(--line);border-radius:18px;background:var(--paper)}
.woocommerce-account .woocommerce > h2{grid-column:1/-1;margin-bottom:0}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.woocommerce-account .woocommerce-Addresses h2{font-family:var(--serif);font-size:28px}
.woocommerce .woocommerce-order-overview{padding-left:0}.woocommerce .woocommerce-order-overview li{margin-bottom:18px}
.woocommerce table.woocommerce-table--order-details ul.wc-item-meta{font-size:12px;padding-left:0;list-style:none}
.woocommerce table.woocommerce-table--order-details ul.wc-item-meta li{margin:6px 0}
.woocommerce table.woocommerce-table--order-details ul.wc-item-meta p{display:inline}
.woocommerce a.remove{color:var(--rose-dark)!important;line-height:1.15}
.woocommerce a.remove:hover{color:#fff!important;background:var(--rose-dark)}
.woocommerce .woocommerce-form-coupon-toggle{grid-column:1/-1}
@media(max-width:900px){.ppp-woo-main{padding-top:112px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce form.checkout{grid-template-columns:1fr;gap:25px}.woocommerce form.checkout #customer_details,.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:1;grid-row:auto}.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:20px}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap}.woocommerce-account .woocommerce-MyAccount-navigation li{flex:1 1 140px}}
@media(max-width:640px){.ppp-woo-main{padding-top:96px;padding-bottom:50px}.ppp-product-grid,.woocommerce ul.products{grid-template-columns:1fr}.woocommerce form.checkout #customer_details,.woocommerce-account .woocommerce-MyAccount-content{padding:20px}.woocommerce .form-row-first,.woocommerce .form-row-last{width:100%;float:none}.woocommerce .cart-collaterals{display:block}.woocommerce .cart-collaterals .cart_totals{width:100%;padding:18px}.woocommerce table.shop_table td{padding:12px}.woocommerce table.shop_table_responsive tr td::before{font-size:12px}.woocommerce table.shop_table_responsive tr td.product-name{text-align:left!important}.woocommerce table.shop_table_responsive tr td.product-name::before{display:none}.woocommerce table.shop_table_responsive tr:nth-child(2n) td{background:transparent}.woocommerce table.shop_table_responsive tr{margin-bottom:18px;background:var(--paper)}.woocommerce table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap}.woocommerce table.cart td.actions .coupon .input-text,.woocommerce table.cart td.actions .coupon .button{width:100%}.woocommerce td.product-name a{font-size:23px}.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}.woocommerce-message .button{display:block;float:none;margin:0 0 12px}.product-details .cart-action-row .quantity,.questionnaire-form .cart-action-row .quantity{width:100%;max-width:none}.product-details .cart-action-row .qty,.questionnaire-form .cart-action-row .qty{min-height:48px}.woocommerce .product-gallery-main .onsale{top:14px;left:14px}.woocommerce table.woocommerce-table--order-details{font-size:12px}.woocommerce-order-received .woocommerce{overflow-wrap:anywhere}.woocommerce .woocommerce-order-overview li{float:none;border-right:0}}
/* Existing installations may already use WooCommerce Cart/Checkout blocks. */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:var(--ink);font-family:var(--sans);--wc-block-components-button-border-radius:12px}
.wp-block-woocommerce-cart .wc-block-components-title,.wp-block-woocommerce-checkout .wc-block-components-title,.wc-block-cart__empty-cart__title{font-family:var(--serif);font-weight:600;line-height:1.1}
.wp-block-woocommerce-cart .wc-block-components-main,.wp-block-woocommerce-checkout .wc-block-components-main{min-width:0}
.wp-block-woocommerce-cart .wc-block-components-sidebar,.wp-block-woocommerce-checkout .wc-block-components-sidebar{border:1px solid var(--line);border-radius:22px;background:#eee6dc;padding:24px}
.wp-block-woocommerce-cart .wc-block-cart-items{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:18px;border-collapse:separate}
.wp-block-woocommerce-cart .wc-block-cart-item__image img{border-radius:12px}
.wp-block-woocommerce-cart .wc-block-components-product-name{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.2;color:var(--ink)}
.wp-block-woocommerce-cart .wc-block-components-product-metadata{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector{border-color:var(--line);border-radius:9px;background:var(--paper)}
.wp-block-woocommerce-cart .wc-block-components-button,.wp-block-woocommerce-checkout .wc-block-components-button{min-height:52px;border:0;border-radius:12px;background:var(--rose-dark);color:#fff;font:500 14px/1.4 var(--sans)}
.wp-block-woocommerce-cart .wc-block-components-button:hover,.wp-block-woocommerce-checkout .wc-block-components-button:hover{background:#754743;color:#fff}
.wp-block-woocommerce-checkout .wc-block-components-text-input input,.wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,.wp-block-woocommerce-checkout .wc-block-components-textarea{border-color:var(--line);border-radius:11px;background:#fff;color:var(--ink)}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step{padding:25px;border:1px solid var(--line);border-radius:18px;background:var(--paper);margin-bottom:18px}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading{margin-top:0}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,.wp-block-woocommerce-checkout .wc-block-components-radio-control__option{background:var(--paper)}
.wp-block-woocommerce-cart .wc-block-components-totals-item,.wp-block-woocommerce-checkout .wc-block-components-totals-item{padding-left:0;padding-right:0}
.wc-block-cart__empty-cart__title{font-size:clamp(30px,6vw,48px)}
@media(max-width:640px){.wp-block-woocommerce-cart .wc-block-components-sidebar,.wp-block-woocommerce-checkout .wc-block-components-sidebar{padding:18px;width:100%}.wp-block-woocommerce-checkout .wc-block-components-checkout-step{padding:18px}.wp-block-woocommerce-cart .wc-block-cart-items{padding:12px}.wp-block-woocommerce-cart .wc-block-components-product-name{font-size:22px}.wp-block-woocommerce-cart .wc-block-cart-item__product{min-width:0}.wp-block-woocommerce-cart .wc-block-components-product-metadata__description{overflow-wrap:anywhere}}
