/* Solera: basket + checkout (WooCommerce blocks) */
.sol-checkout-page { padding-top: 18px; }
.sol-checkout-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }
.sol-checkout-head .sol-label { display: inline-flex; align-items: center; gap: 6px; color: var(--forest); }
.sol-checkout-head h1 { margin: 8px 0 0; font-size: clamp(30px, 3.4vw, 44px); }
.sol-steps { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; align-items: center; }
.sol-steps li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; border: 1px solid var(--line); font: 600 14px var(--font-head); color: var(--ink-2); background: var(--white); }
.sol-steps li + li::before { content: ''; }
.sol-steps-no { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; background: var(--surface); color: var(--ink-2); }
.sol-steps li.is-current { border-color: var(--forest); color: var(--ink); background: var(--forest-mist); }
.sol-steps li.is-current .sol-steps-no, .sol-steps li.is-done .sol-steps-no { background: var(--forest); color: #fff; }
.sol-steps li.is-done { color: var(--forest); }

/* Block layout */
.sol-checkout-body .wc-block-checkout, .sol-checkout-body .wc-block-cart { max-width: none; }
.sol-checkout-body .wp-block-woocommerce-checkout.alignwide, .sol-checkout-body .wp-block-woocommerce-cart.alignwide { margin-left: 0; margin-right: 0; width: 100%; }
/* Deterministic two columns from 900px up (the block's own is-large class depends on a ResizeObserver). */
@media (min-width: 900px) {
	.sol-checkout-body .wc-block-components-sidebar-layout { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start; gap: clamp(28px, 4vw, 64px); }
	.sol-checkout-body .wc-block-components-main { padding-right: 0 !important; width: 60% !important; flex: 1 1 auto; }
	.sol-checkout-body .wc-block-components-sidebar { padding-left: 0 !important; width: 40% !important; flex: 0 0 40%; position: sticky; top: 100px; }
	.sol-checkout-body .wc-block-cart .wc-block-components-sidebar { position: static; }
}
.sol-checkout-body .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block, .sol-checkout-body .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { background: var(--surface); border-radius: var(--radius-lg); padding: 22px 22px 8px; border: 1px solid var(--line); }
.sol-checkout-body .wc-block-components-checkout-order-summary__title, .sol-checkout-body .wc-block-components-totals-wrapper, .sol-checkout-body .wc-block-components-order-summary { border-color: rgba(23, 25, 26, .08) !important; }
.sol-checkout-body .wc-block-components-checkout-order-summary__title { font: 700 20px var(--font-head) !important; letter-spacing: -.01em; }
.sol-checkout-body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .sol-checkout-body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font: 700 22px var(--font-head) !important; }
.sol-checkout-body .wc-block-components-product-name { font-weight: 700; color: var(--ink); text-decoration: none; }
.sol-checkout-body .wc-block-components-order-summary-item__image img, .sol-checkout-body .wc-block-cart-item__image img { border-radius: 10px; }
.sol-checkout-body .wc-block-components-product-badge { background: var(--forest); color: #fff; border: 0; }

/* Steps / fields */
.sol-checkout-body .wc-block-components-checkout-step { padding-left: 0; margin-bottom: 26px; }
.sol-checkout-body .wc-block-components-checkout-step__heading { margin-bottom: 14px; }
.sol-checkout-body .wc-block-components-checkout-step__title, .sol-checkout-body .wc-block-components-title { font: 700 22px var(--font-head) !important; letter-spacing: -.01em; color: var(--ink); }
.sol-checkout-body .wc-block-components-checkout-step__description { color: var(--ink-2); }
.sol-checkout-body .wc-block-components-text-input input, .sol-checkout-body .wc-block-components-combobox .components-combobox-control__input, .sol-checkout-body .wc-block-components-textarea, .sol-checkout-body .wc-block-components-select .components-custom-select-control__button { border: 1.5px solid var(--line) !important; border-radius: var(--radius) !important; min-height: 56px; font-size: 16px; color: var(--ink); background: var(--white); }
.sol-checkout-body .wc-block-components-text-input input:focus, .sol-checkout-body .wc-block-components-combobox .components-combobox-control__input:focus { border-color: var(--forest) !important; box-shadow: 0 0 0 3px var(--forest-soft) !important; outline: 0; }
.sol-checkout-body .wc-block-components-text-input label, .sol-checkout-body .wc-block-components-combobox label { color: var(--ink-2); }
.sol-checkout-body .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--forest); border-color: var(--forest); }
.sol-checkout-body .wc-block-components-radio-control__option { border-color: var(--line); }
.sol-checkout-body .wc-block-components-radio-control__input:checked { border-color: var(--forest) !important; }
.sol-checkout-body .wc-block-components-radio-control__input:checked::before { background: var(--forest) !important; }
.sol-checkout-body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted, .sol-checkout-body .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--forest) !important; border-radius: var(--radius); }
.sol-checkout-body .wc-block-components-payment-method-label { font-weight: 600; }
.sol-checkout-body .wc-block-checkout__terms { font-size: 14px; color: var(--ink-2); }
.sol-checkout-body .wc-block-components-checkout-return-to-cart-button { color: var(--ink-2); }

/* Primary buttons */
.sol-checkout-body .wc-block-components-checkout-place-order-button, .sol-checkout-body .wc-block-cart__submit-button, .sol-checkout-body .wc-block-components-button.wc-block-cart__submit-button { width: 100%; min-height: 60px; border-radius: 999px !important; background: var(--forest) !important; color: #fff !important; border: 0 !important; font: 700 18px var(--font-head) !important; box-shadow: none; transition: transform .2s, background .2s, box-shadow .2s; }
.sol-checkout-body .wc-block-components-checkout-place-order-button:hover, .sol-checkout-body .wc-block-cart__submit-button:hover { background: var(--forest-dk) !important; transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.sol-checkout-body .wc-block-components-checkout-place-order-button .wc-block-components-button__text { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.sol-checkout-body .wc-block-components-checkout-place-order-button .wc-block-components-button__text::after { content: '→'; display: inline-block; transition: transform .3s var(--ease); }
.sol-checkout-body .wc-block-components-checkout-place-order-button:hover .wc-block-components-button__text::after { transform: translateX(4px); }

/* Cart block */
.sol-checkout-body .wc-block-cart-items th { font: 600 12px var(--font-head); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.sol-checkout-body .wc-block-cart-item__quantity .wc-block-components-quantity-selector { border-radius: var(--radius); }
.sol-checkout-body .wc-block-cart-item__remove-link { color: var(--ink-2); }
.sol-checkout-body .wc-block-cart__empty-cart__title { font-family: var(--font-head); }

/* Aside injected into the sidebar column */
.sol-checkout-aside { display: grid; gap: 14px; margin-top: 16px; }
.sol-checkout-aside .sol-help-card { margin: 0; }
.sol-checkout-promises { list-style: none; margin: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); display: grid; gap: 14px; }
.sol-checkout-promises li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; font-size: 15px; color: var(--ink-2); line-height: 1.45; }
.sol-checkout-promises li svg { color: var(--forest); width: 24px; height: 24px; }
.sol-checkout-promises strong { color: var(--ink); }
.sol-secure--checkout { margin: 0; }
@media (max-width: 900px) {
	.sol-checkout-head { align-items: flex-start; }
	.sol-steps li span:last-child { display: none; }
	.sol-steps li.is-current span:last-child { display: inline; }
	.sol-checkout-body .wc-block-components-sidebar { width: 100% !important; }
}

/* Empty basket */
.sol-checkout-body .wc-block-cart__empty-cart__image, .sol-checkout-body .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__image { display: none; }
.sol-checkout-body .wc-block-cart__empty-cart__title { font: 700 clamp(22px, 3vw, 30px) var(--font-head); letter-spacing: -.01em; margin: 10px 0 6px; text-align: center; }
.sol-checkout-body .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
.sol-checkout-body .wp-block-woocommerce-empty-cart-block .wp-block-heading, .sol-checkout-body .wp-block-woocommerce-empty-cart-block h2 { font: 700 22px var(--font-head); text-align: left; margin: 34px 0 14px; }
.sol-checkout-body .wp-block-woocommerce-empty-cart-block .wp-block-button__link, .sol-checkout-body .wp-block-woocommerce-empty-cart-block .wc-block-components-product-button__button { border-radius: 999px; background: var(--forest); color: #fff; font: 600 15px var(--font-head); min-height: 46px; padding: 0 22px; }
.sol-checkout-body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { font: 700 16px var(--font-head); color: var(--ink); }
.sol-checkout-body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { border-radius: var(--radius); }
.sol-checkout-body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { gap: 16px; }

/* Phone-sized polish */
@media (max-width: 899px) {
	.sol-checkout-page { padding-top: 10px; }
	.sol-checkout-head { padding-bottom: 14px; margin-bottom: 18px; gap: 14px; }
	.sol-checkout-head h1 { font-size: 30px; }
	.sol-steps { width: 100%; }
	.sol-steps li { padding: 6px 10px 6px 6px; font-size: 13px; }
	.sol-steps li.is-current { flex: 1; justify-content: flex-start; }
	.sol-checkout-body .wc-block-components-sidebar { padding: 0 !important; width: 100% !important; margin-top: 8px; }
	.sol-checkout-body .wc-block-components-main { padding: 0 !important; width: 100% !important; }
	.sol-checkout-body .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 2px 16px; }
	.sol-checkout-body .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { padding: 16px 16px 4px; }
	.sol-checkout-body .wc-block-components-sidebar-layout > .sol-checkout-aside { width: 100%; order: 10; margin-top: 22px; }
	.sol-checkout-body .wc-block-components-order-summary .wc-block-components-panel__button { padding: 14px 0; }
	.sol-checkout-body .wc-block-components-checkout-step { margin-bottom: 20px; }
	.sol-checkout-body .wc-block-components-checkout-step__title, .sol-checkout-body .wc-block-components-title { font-size: 20px !important; }
	.sol-checkout-body .wc-block-components-text-input input { min-height: 54px; }
	.sol-checkout-body .wc-block-components-checkout-place-order-button, .sol-checkout-body .wc-block-cart__submit-button { min-height: 56px; font-size: 17px !important; }
	.sol-checkout-body .wc-block-cart-items .wc-block-cart-item__image { width: 84px; }
	.sol-checkout-body .wc-block-cart-item__product .wc-block-components-product-name { font-size: 15px; }
	.sol-checkout-aside { gap: 12px; margin-top: 14px; }
	.sol-checkout-promises { padding: 14px 16px; gap: 12px; }
	.sol-checkout-promises li { font-size: 14px; }
	/* order summary on top stays collapsible (block default); our aside goes after it */
	.sol-checkout-body .wc-block-components-order-summary .wc-block-components-panel__button { font: 600 15px var(--font-head); }
}

/* Order received */
.sol-checkout-lede { margin: 12px 0 0; max-width: 640px; color: var(--ink-2); font-size: 17px; }
.sol-checkout-lede a { color: var(--ink); font-weight: 700; text-decoration: none; }
.sol-checkout-body .wc-block-order-confirmation-status { background: var(--forest-mist); border: 1px solid var(--forest-soft); border-radius: var(--radius-lg); padding: 18px 22px; font: 700 20px var(--font-head); color: var(--ink); }
.sol-checkout-body .wc-block-order-confirmation-status svg, .sol-checkout-body .wc-block-order-confirmation-status .wc-block-components-notice-banner__content::before { color: var(--forest); }
.sol-checkout-body .wc-block-order-confirmation-summary { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.sol-checkout-body .wc-block-order-confirmation-summary-list-item__key { color: var(--ink-2); }
.sol-checkout-body .wc-block-order-confirmation-summary-list-item__value { font-family: var(--font-head); }
.sol-checkout-body .wc-block-order-confirmation-totals__table { border-radius: var(--radius); }
.sol-checkout-body .wc-block-order-confirmation-totals h2, .sol-checkout-body .wc-block-order-confirmation-billing-address h2, .sol-checkout-body .wc-block-order-confirmation-shipping-address h2 { font: 700 20px var(--font-head); }
