/* Cart and checkout blocks (WooCommerce), dressed like the rest of the shop: forest
   totals panel, mirabelle buttons, Young Serif headings, white cards on paper.
   Scoped on .lpp, which the front end and the editor canvas both carry. */

/* ---------- Shared ---------- */
.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout){font-family:var(--lpp-body);color:var(--lpp-ink);font-size:1rem}
.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-title,.wc-block-cart__totals-title,.wc-block-components-checkout-step__title){font-family:var(--lpp-display);font-weight:400;text-transform:none;letter-spacing:-.005em;color:inherit}
.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) a{color:var(--lpp-leaf)}
.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-product-name{font-family:var(--lpp-display);font-size:1.15rem;color:var(--lpp-ink);text-decoration:none}
.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-product-metadata,.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-product-metadata__description{color:var(--lpp-muted);font-size:.875rem}

/* Main buttons: the mirabelle pill of the shop's other buttons. */
.lpp :is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button){
 min-height:54px;border-radius:999px;border:0;background:var(--lpp-sun);color:var(--lpp-forest-2);
 font-family:var(--lpp-body);font-weight:600;font-size:1rem;box-shadow:none;transition:background .2s}
.lpp :is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):hover,
.lpp :is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):focus{background:#F6CD6A;color:var(--lpp-forest-2)}
.lpp :is(a,button).wc-block-cart__submit-button,.lpp :is(a,button).wc-block-cart__submit-button:hover,.lpp :is(a,button).wc-block-cart__submit-button .wc-block-components-button__text,.lpp .wc-block-components-checkout-place-order-button .wc-block-components-button__text{color:var(--lpp-forest-2)}
.lpp .wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button):not(.is-link){
 border-radius:999px;border:1.5px solid var(--lpp-forest);background:transparent;color:var(--lpp-forest);font-weight:600;box-shadow:none}
.lpp .wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button):not(.is-link):hover{background:var(--lpp-forest);color:var(--lpp-chalk)}

/* Express payment buttons (Apple Pay, Google Pay, Amazon Pay, Link): left to the payment plugin (a grid here blanks the Stripe iframes). */
.lpp .wc-block-components-express-payment__title-container::before,.lpp .wc-block-components-express-payment__title-container::after{border-color:currentColor;opacity:.3}
.lpp .wc-block-components-express-payment__title,.lpp .wc-block-components-express-payment__title-container .wc-block-components-title{font-family:var(--lpp-body);font-size:.9rem;font-weight:600}
.lpp .wc-block-components-express-payment-continue-rule{color:var(--lpp-muted);font-size:.9rem}

/* ---------- Cart ---------- */
.lpp .wp-block-woocommerce-cart{max-width:none;margin:0}
.lpp .wc-block-cart{gap:32px}
.lpp .wc-block-cart__main{align-self:start;background:var(--lpp-white);border-radius:8px;padding:8px 24px 16px}
.lpp table.wc-block-cart-items{border:0;margin:0}
.lpp table.wc-block-cart-items th{font-family:var(--lpp-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lpp-muted);border-bottom:1px solid var(--lpp-line);padding:14px 0}
.lpp table.wc-block-cart-items td{padding:18px 0;border-top:0;border-bottom:1px solid var(--lpp-line)}
.lpp table.wc-block-cart-items tr:last-child td{border-bottom:0}
.lpp .wc-block-cart-item__image img{border-radius:3px;box-shadow:0 2px 8px rgba(23,35,27,.18)}
.lpp .wc-block-cart-item__total{font-weight:600;font-variant-numeric:tabular-nums}
.lpp .wc-block-cart-item__remove-link{color:var(--lpp-alert);text-decoration:none}
.lpp .wc-block-components-quantity-selector{border-radius:999px;border:1.5px solid var(--lpp-forest);background:var(--lpp-white);overflow:hidden}
.lpp .wc-block-components-quantity-selector::after{display:none}
.lpp .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{font-weight:600;color:var(--lpp-ink)}
.lpp .wc-block-components-quantity-selector__button{color:var(--lpp-forest);opacity:1}

/* Totals: the forest panel of the mockup. */
.lpp .wc-block-cart__sidebar{align-self:start;height:fit-content}
.lpp .wp-block-woocommerce-cart-totals-block.wc-block-cart__sidebar,.lpp .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block{background:var(--lpp-forest);color:var(--lpp-chalk);border-radius:8px;padding:28px;position:sticky;top:16px}
.lpp .wp-block-woocommerce-cart-totals-block :is(.wc-block-components-totals-item,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-totals-item__description,.wc-block-components-panel__button,.wc-block-components-totals-coupon-link,.wc-block-components-totals-shipping,.wc-block-components-totals-footer-item){color:var(--lpp-chalk)}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-cart__totals-title{display:block;font-size:1.7rem;text-align:left;text-transform:none;letter-spacing:0;padding:0 0 14px;border:0;color:var(--lpp-chalk);margin:0}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper{border-color:rgba(244,242,234,.18)}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.4rem;font-weight:600}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--lpp-display);font-size:1.25rem;font-weight:400}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-coupon__form input{background:var(--lpp-white);color:var(--lpp-ink);border-radius:999px}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-button:not(.wc-block-cart__submit-button){border-color:var(--lpp-sun);color:var(--lpp-sun)}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-button:not(.wc-block-cart__submit-button):hover{background:var(--lpp-sun);color:var(--lpp-forest-2)}
.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-express-payment__title,.lpp .wp-block-woocommerce-cart-totals-block .wc-block-components-express-payment-continue-rule{color:var(--lpp-chalk)}

/* Empty cart. */
.lpp .wp-block-woocommerce-empty-cart-block{background:var(--lpp-white);border-radius:8px;padding:clamp(28px,5vw,56px)}
.lpp .wp-block-woocommerce-empty-cart-block :is(h2,.wc-block-cart__empty-cart__title){font-family:var(--lpp-display);font-weight:400}

/* ---------- Checkout ---------- */
.lpp .wp-block-woocommerce-checkout{max-width:none;margin:0}
.lpp .wc-block-checkout{gap:32px}
.lpp .wc-block-components-checkout-step{margin:0 0 28px;border:0}
.lpp .wc-block-components-checkout-step__title{font-size:1.5rem;margin:0 0 6px}
.lpp .wc-block-components-checkout-step__description{color:var(--lpp-muted);font-size:.9rem}
.lpp .wc-block-checkout__form{background:var(--lpp-white);border-radius:8px;padding:clamp(20px,3vw,32px)}
.lpp .wc-block-checkout__form .wc-block-components-checkout-step:last-child{margin-bottom:0}
.lpp .wc-block-components-express-payment--checkout{border:1px solid var(--lpp-line);border-radius:8px;margin-bottom:28px}
.lpp .wc-block-components-text-input input,.lpp .wc-block-components-textarea,.lpp .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,.lpp .wc-blocks-components-select .wc-blocks-components-select__select{
 border-radius:10px;border:1px solid var(--lpp-line);background:var(--lpp-paper);color:var(--lpp-ink);font-family:var(--lpp-body)}
.lpp .wc-block-components-text-input input:focus,.lpp .wc-block-components-textarea:focus,.lpp .wc-blocks-components-select .wc-blocks-components-select__select:focus{border-color:var(--lpp-forest);box-shadow:0 0 0 2px var(--lpp-forest)}
.lpp .wc-block-components-text-input label,.lpp .wc-blocks-components-select__label{color:var(--lpp-muted)}
.lpp .wc-block-components-checkbox{margin:12px 0}
.lpp .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border-radius:4px;border:1.5px solid var(--lpp-forest)}
.lpp .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--lpp-forest)}
.lpp .wc-block-components-checkbox__label{font-size:.95rem;line-height:1.45}
.lpp .wc-block-components-radio-control-accordion-option,.lpp .wc-block-components-radio-control__option{border-color:var(--lpp-line)}
.lpp .wc-block-checkout__terms,.lpp .wc-block-checkout__terms .wc-block-components-checkbox{font-size:.9rem;color:var(--lpp-ink-2)}
.lpp .wc-block-checkout__actions{padding-top:8px;align-items:center}
.lpp .wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button{color:var(--lpp-leaf)}

/* Order summary: the same forest panel as the cart totals. */
.lpp .wc-block-checkout__sidebar{align-self:start}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{background:var(--lpp-forest);color:var(--lpp-chalk);border:0;border-radius:8px;padding:24px 28px;position:sticky;top:16px}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block :is(.wc-block-components-order-summary__button-text,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-totals-item__description,.wc-block-components-panel__button,.wc-block-components-totals-coupon-link,.wc-block-components-product-name,.wc-block-components-product-price,.wc-block-components-product-metadata,.wc-block-components-product-metadata__description,.wc-block-components-order-summary-item__total-price,.wc-block-components-totals-footer-item){color:var(--lpp-chalk)}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{font-family:var(--lpp-display);font-size:1.5rem;font-weight:400}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block :is(.wc-block-components-totals-wrapper,.wc-block-components-order-summary,.wc-block-components-panel){border-color:rgba(244,242,234,.18)}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image>img{border-radius:3px}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity{background:var(--lpp-sun);color:var(--lpp-forest-2);border:0;box-shadow:none}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--lpp-display);font-size:1.25rem;font-weight:400}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.4rem;font-weight:600}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon__form input{background:var(--lpp-white);color:var(--lpp-ink);border-radius:999px}
.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-button{border-color:var(--lpp-sun);color:var(--lpp-sun)}

/* ---------- Account (shortcode kept inside the editable page) ---------- */
.lpp.woocommerce-account .entry-content>p:first-child{font-size:1.1rem;color:var(--lpp-ink-2);max-width:60ch;margin-bottom:28px}

@media (max-width:600px){
 .lpp .wc-block-cart__main{align-self:start;padding:4px 16px 12px}
 .lpp .wc-block-cart__sidebar,.lpp .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{padding:20px}
}

/* ---------- Block editor only ---------- */
/* The panel headings are plain-text fields: keep the shop's type in them. */
.lpp :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(h2,h3) textarea.block-editor-plain-text{color:inherit;font:inherit;text-transform:none;letter-spacing:inherit;line-height:1.2}
/* Payment button previews of the Stripe plugin: a row each, not poster-size. */
.lpp .wc-stripe-payment-button-preview{display:flex;align-items:center;justify-content:center;height:48px;border-radius:6px;background:var(--lpp-white);border:1px solid var(--lpp-line);overflow:hidden}
.lpp .wc-stripe-payment-button-preview img{height:22px;width:auto;max-width:80%}
