.wc-block-cart, .wc-block-checkout {
    color: var(--klh3-color-text);
    font-size: var(--klh3-font-base);
    font-family: var(--klh3-font-family);
}

[data-page="cart"] .wp-block-post-title {
    display: none !important;
}

.wc-block-cart .wc-block-cart__title,
.wc-block-cart h2.wc-block-cart__title,
.wc-block-cart .wc-block-cart__heading {
    display: none !important;
}

.wc-block-cart .wc-block-cart-item__details,
.wc-block-cart .wc-block-cart-items__header,
.wc-block-checkout .wc-block-components-title,
.wc-block-checkout .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-totals-footer-item {
    color: var(--klh3-color-text);
    font-size: var(--klh3-font-base);
}
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-checkout h2.wc-block-components-title {
    color: var(--klh3-heading-color) !important;
    font-size: var(--klh3-font-subtitle) !important;
    font-weight: 700 !important;
    font-family: var(--klh3-font-family);
}

.wc-block-checkout .wc-block-components-title__main,
.wc-block-cart .wc-block-cart-items__header > div {
    font-weight: 700;
}

.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
    display: block;
}

.wc-block-cart .wc-block-cart-items__header > div,
.wc-block-cart .wc-block-cart-item__quantity,
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector,
.wc-block-cart .wc-block-cart-item__total-price,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--klh3-color-text);
}

.wc-block-cart-item__prices,
.wc-block-cart-item__price {
    display: none !important;
}

.wc-block-cart .wc-block-components-product-name,
.wc-block-cart .wc-block-components-product-name a,
.wc-block-checkout .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-product-name a {
    color: var(--klh3-color-text);
    font-size: var(--klh3-font-base);
    font-weight: 700;
}
.wc-block-components-order-summary-item__individual-prices {
    display: none !important;
}

.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item__value {
    font-size: var(--klh3-font-subtitle);
    font-weight: 700;
    color: var(--klh3-color-text);
}

.wc-block-cart .wc-block-cart-items__header strong,
.wc-block-cart .wc-block-cart-items__header span,
.wc-block-checkout .wc-block-components-title__main {
    font-size: var(--klh3-font-subtitle);
    font-weight: 700;
}

.wc-block-cart .wc-block-cart__submit-container .wc-block-cart__submit-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
    background: var(--klh3-btn-primary-bg, var(--klh3-action-primary, var(--klh3-color-orange))) !important;
    border: 1px solid var(--klh3-btn-primary-border, var(--klh3-action-primary, var(--klh3-color-orange))) !important;
    color: var(--klh3-btn-primary-text, var(--klh3-action-on-primary, var(--klh3-surface))) !important;
    font-weight: 700;
    font-size: var(--klh3-font-subtitle);
    text-transform: uppercase;
    border-radius: var(--klh3-radius-md);
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    padding: 12px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wc-block-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
    background: var(--klh3-btn-primary-bg-hover, var(--klh3-action-primary-hover, var(--klh3-surface))) !important;
    color: var(--klh3-btn-primary-text-hover, var(--klh3-action-primary, var(--klh3-color-orange))) !important;
    border-color: var(--klh3-btn-primary-border-hover, var(--klh3-action-primary, var(--klh3-color-orange))) !important;
}

.wc-block-cart .wc-block-components-panel__content input[type="text"],
.wc-block-cart .wc-block-components-panel__content input[type="search"],
.wc-block-cart .wc-block-components-panel__content input[type="tel"],
.wc-block-cart .wc-block-components-panel__content input[type="email"],
.wc-block-cart .wc-block-components-panel__content input[type="number"],
.wc-block-cart .wc-block-components-panel__content input[type="password"],
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="search"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="number"],
.wc-block-checkout input[type="password"] {
    border: 1px solid var(--klh3-border-muted);
    border-radius: var(--klh3-radius-md);
    color: var(--klh3-color-text);
    background: var(--klh3-surface-strong);
    padding: 12px;
    font-size: var(--klh3-font-base);
}

.wc-block-cart .wc-block-components-panel__content .wc-block-components-button,
.wc-block-cart .wc-block-components-panel__content button[type="submit"],
.wc-block-checkout .wc-block-components-button,
.wc-block-checkout button[type="submit"],
.wc-block-checkout button[type="button"],
.wc-block-checkout button[type="reset"] {
    background: var(--klh3-btn-secondary-bg, var(--klh3-action-secondary, var(--klh3-surface)));
    border: 1px solid var(--klh3-btn-secondary-border, var(--klh3-action-secondary-border, var(--klh3-border-color)));
    color: var(--klh3-btn-secondary-text, var(--klh3-action-secondary-foreground, var(--klh3-heading-color)));
    border-radius: var(--klh3-radius-md);
    font-weight: 700;
    font-size: var(--klh3-font-base);
    padding: 10px 14px;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.wc-block-cart .wc-block-components-panel__content .wc-block-components-button:hover,
.wc-block-cart .wc-block-components-panel__content button[type="submit"]:hover,
.wc-block-checkout .wc-block-components-button:hover,
.wc-block-checkout button[type="submit"]:hover,
.wc-block-checkout button[type="button"]:hover,
.wc-block-checkout button[type="reset"]:hover {
    background: var(--klh3-btn-secondary-bg-hover, var(--klh3-action-secondary-hover, var(--klh3-heading-color)));
    color: var(--klh3-btn-secondary-text-hover, var(--klh3-action-secondary-on-hover, var(--klh3-surface)));
    border-color: var(--klh3-btn-secondary-border-hover, var(--klh3-action-secondary-hover, var(--klh3-heading-color)));
}

.wc-block-checkout textarea {
    border: 1px solid var(--klh3-border-muted);
    border-radius: var(--klh3-radius-md);
    color: var(--klh3-color-text);
    background: var(--klh3-surface-strong);
    padding: 12px;
    font-size: var(--klh3-font-base);
}
.wc-block-checkout input::placeholder,
.wc-block-checkout textarea::placeholder {
    color: var(--klh3-muted-text);
    opacity: 1;
}

.wc-block-cart .wc-block-cart-item .wc-block-cart-item__image img {
    border-radius: 8px;
}

.wc-block-components-totals-item,
.wc-block-components-totals-footer-item,
.wc-block-cart .wc-block-cart-items__header,
.wc-block-cart .wc-block-cart-item,
.wc-block-checkout .wc-block-components-panel,
.wc-block-checkout .wc-block-components-totals-item {
    border-color: var(--klh3-border-color) !important;
}

.wc-block-checkout .wc-block-components-panel,
.wc-block-checkout .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-totals-footer-item {
    background: var(--klh3-surface);
    border-radius: var(--klh3-radius-lg);
    padding: 14px;
    color: var(--klh3-color-text);
}

.wc-block-checkout .wc-block-components-checkout-step__heading {
    margin-bottom: 8px;
}

.wc-block-checkout .wc-block-components-checkout-step__content,
.wc-block-checkout .wc-block-components-checkout-step__container {
    gap: 12px;
}

.wc-block-checkout .wc-block-components-checkout-step {
    background: var(--klh3-surface);
    border: 1px solid var(--klh3-border-color);
    border-radius: var(--klh3-radius-lg);
    padding: 16px;
    margin: 0 0 24px;
}

.wc-block-checkout label {
    color: var(--klh3-heading-color);
    font-weight: 700;
    font-family: var(--klh3-font-family);
}

.wc-block-components-radio-control {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 8px 0;
    margin-top: 6px;
}

.wc-block-components-radio-control .wc-block-components-radio-control__option {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 12px 8px !important;
    margin: 0 !important;
    box-shadow: none !important;
    position: relative;
    overflow: hidden;
}

.wc-block-components-radio-control__option::before,
.wc-block-components-radio-control__option::after {
    content: none !important;
    display: none !important;
}

.wc-block-components-radio-control__input {
    display: none;
}

.wc-block-components-radio-control__option-layout {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

.wc-block-components-checkbox,
.wc-block-components-checkbox-control {
    padding: 12px 8px;
    margin-top: 6px;
}

.wc-block-components-radio-control__option:focus-within,
.wc-block-components-radio-control__option:hover {
    background: var(--klh3-surface);
    box-shadow: none !important;
    border-color: var(--klh3-border-color);
}

.wc-block-checkout__payment-method-block,
.wc-block-checkout .wc-block-components-payment-methods,
.wc-block-components-payment-methods-list,
.wc-block-components-payment-methods-list-item {
    background: transparent;
    border: none;
    padding: 8px 0;
    margin: 0;
    box-shadow: none;
}

/* Hide success notices on cart/checkout (already on cart page) */
.wc-block-components-notice-banner,
.woocommerce-cart .woocommerce-message {
    display: none !important;
}

.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title {
    display: none !important;
}

.wc-block-components-product-details__name {
    font-weight: 700;
    margin-right: 4px;
    color: var(--klh3-heading-color);
}
.wc-block-components-product-details__value {
    display: block;
    margin-top: 6px;
    color: var(--klh3-color-text);
}
.wc-block-components-product-details li + li {
    margin-top: 10px;
}
.wc-block-components-product-details__matkustaja-1,
.wc-block-components-product-details__matkustaja-2,
.wc-block-components-product-details__matkustaja-3,
.wc-block-components-product-details__matkustaja-4,
.wc-block-components-product-details__matkustaja-5 {
    margin-top: 10px;
}

/* Hide apartment/suite optional field in checkout */
.wc-block-checkout .wc-block-components-address-form__address_2,
.wc-block-checkout .wc-block-components-address-form__address_2-field,
.wc-block-checkout .wc-block-components-address-form__address_2-form-row,
.wc-block-checkout .wc-block-components-address-form__address_2-input,
.wc-block-checkout .wc-block-components-address-form__address_2-toggle,
.wc-block-checkout .wc-block-components-address-form__address_2-hidden-input {
    display: none !important;
}

/* Passenger details spacing */
.wc-block-components-product-details__value + .wc-block-components-product-details__name {
    margin-top: 10px;
}

/* Checkout summary tweaks */
.wc-block-components-order-summary-item__image,
.wc-block-components-order-summary-item__quantity {
    display: none !important;
}

.wc-block-components-totals-item--subtotal,
.wc-block-components-totals-item-subtotal,
.wc-block-components-totals-item[data-totals-item-type="subtotal"] {
    display: none !important;
}

.wc-block-components-product-details__matkustaja-1,
.wc-block-components-product-details__matkustaja-2,
.wc-block-components-product-details__matkustaja-3,
.wc-block-components-product-details__matkustaja-4,
.wc-block-components-product-details__matkustaja-5,
.wc-block-components-product-details__matkustaja-6,
.wc-block-components-product-details__matkustaja-7,
.wc-block-components-product-details__matkustaja-8 {
    margin-top: 0;
}

.wc-block-components-product-details__matkustaja-1 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-2 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-3 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-4 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-5 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-6 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-7 .wc-block-components-product-details__value,
.wc-block-components-product-details__matkustaja-8 .wc-block-components-product-details__value {
    display: block;
    margin-top: 4px;
}

.wc-block-components-product-details__value + .wc-block-components-product-details__name {
    margin-top: 10px;
}
