/* Native selection/request components; no prices hidden and no functional controls replaced. */
.mh-request-steps { margin-block: 0 2rem; }
.mh-request-steps ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.mh-request-steps li { min-width: 0; }
.mh-request-steps li > a, .mh-request-steps li > span {
    display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: .75rem;
    border: 1px solid var(--wp--preset--color--muted); border-radius: .4rem;
    background: var(--wp--preset--color--base); color: var(--wp--preset--color--secondary); overflow-wrap: anywhere;
}
.mh-request-steps li > [aria-current="step"] { border-color: var(--wp--preset--color--primary-dark); background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); font-weight: 600; }
.mh-request-step-number { display: inline-grid; place-items: center; flex-shrink: 0; width: 2rem; height: 2rem; border: 1px solid currentColor; border-radius: 50%; font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--secondary); background: var(--wp--preset--color--surface); }
.mh-request-steps [aria-current="step"] .mh-request-step-number { border-color: var(--wp--preset--color--base); background: var(--wp--preset--color--base); }
.mh-request-steps li > a { text-underline-offset: .2em; }
.mh-request-steps li > a:hover { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--primary-dark); }
.mh-request-steps li > a:active { border-color: var(--wp--preset--color--contrast); }
.mh-request-steps li > a:focus-visible { outline: 2px solid var(--wp--preset--color--primary-dark); outline-offset: 3px; }
.woocommerce-cart .woocommerce .woocommerce-cart-form .shop_table { border: 1px solid var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); border-radius: .75rem; overflow: hidden; }
.woocommerce-cart .woocommerce-cart-form th,
.woocommerce-cart .woocommerce-cart-form td.actions { background: var(--wp--preset--color--surface); }
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width: 80px; aspect-ratio: 4 / 3; object-fit: contain; }
.woocommerce-cart .cart-collaterals { padding: 1.25rem; background: var(--wp--preset--color--surface); border-radius: .75rem; }
.woocommerce-cart .wc-empty-cart-message { max-width: 48rem; margin-inline: auto; }
.woocommerce-cart .cart-empty { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); border-block-start-color: var(--wp--preset--color--primary); border-radius: .75rem; }
.woocommerce-cart .cart-empty::before { color: var(--wp--preset--color--primary-dark); }
.woocommerce-cart .wc-empty-cart-message .wc-block-components-notice-banner.is-info { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); border: 1px solid var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); border-radius: .75rem; }
.woocommerce-cart .wc-empty-cart-message .wc-block-components-notice-banner.is-info > svg { fill: var(--wp--preset--color--primary-dark); }
.woocommerce-cart .return-to-shop { max-width: 48rem; margin: 1.25rem auto; }
.woocommerce-cart .wc-proceed-to-checkout { padding-block: .5rem 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin: 0; }
.mediaheld-theme.woocommerce-cart .mh-cart-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; }
.mediaheld-theme.woocommerce-cart .mh-cart-actions .wc-proceed-to-checkout { padding: 0; }
.mediaheld-theme.woocommerce-cart .mh-cart-actions .button { width: auto; margin: 0; min-height: 48px; font-size: 1rem; }
.mediaheld-theme.woocommerce-cart .mh-cart-actions button[name="update_cart"] {
    --mh-button-background: var(--wp--preset--color--base);
    --mh-button-text: var(--wp--preset--color--primary-dark);
    --mh-button-hover-background: var(--wp--preset--color--surface);
    --mh-button-hover-text: var(--wp--preset--color--primary-dark);
    background: var(--mh-button-background); color: var(--mh-button-text); border: 1px solid var(--wp--preset--color--primary-dark);
}
.mediaheld-theme.woocommerce-cart .mh-cart-actions .checkout-button {
    --mh-button-background: var(--wp--preset--color--primary-dark);
    background: var(--mh-button-background); color: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--primary-dark); font-weight: 600;
}
.mediaheld-theme.woocommerce-cart .mh-cart-actions .checkout-button:active:not(:disabled) { transform: translateY(1px); }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: min-content 1fr; gap: 0 2rem; align-items: start; }
.woocommerce-checkout form.checkout::after { content: none; }
.woocommerce-checkout form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 2; min-width: 0; float: none; width: auto; margin: 0; padding: clamp(1rem, 2vw, 1.5rem); background: var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); border-radius: .75rem; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; float: none; width: auto; margin: 0; padding: 1.25rem; background: var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); border-radius: .75rem .75rem 0 0; }
.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; float: none; width: auto; min-width: 0; padding: 1.25rem; border: 1px solid var(--wp--preset--color--surface); border-radius: 0 0 .75rem .75rem; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading { font-size: 1.5rem; line-height: 1.4; }
.woocommerce-checkout .woocommerce-billing-fields > h3 { margin-block-start: 0; }
.woocommerce-checkout .form-row label { line-height: 1.5; margin-bottom: .4rem; }
.woocommerce-checkout form.checkout #mediaheld-rental-duration { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; clear: both; margin-block: 1rem 1.5rem; padding: 1rem 1.25rem; background: var(--wp--preset--color--base); border-inline-start: 4px solid var(--wp--preset--color--primary); border-radius: .4rem; color: var(--wp--preset--color--secondary); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.woocommerce-checkout #mediaheld-charged-days { font-size: 1.375rem; font-weight: 700; }
.mediaheld-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.mediaheld-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > * { grid-column: 1 / -1; min-width: 0; }
.mediaheld-theme.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row { float: none; width: 100%; }
.mediaheld-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > :is(#billing_date_from_field, #billing_date_to_field, #billing_company_field, #billing_anrede_field, #billing_first_name_field, #billing_last_name_field, #billing_postcode_field, #billing_city_field, #billing_email_field, #billing_phone_field) { grid-column: auto; }
.woocommerce-checkout form.checkout input.input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout textarea { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--muted); border-radius: .3rem; }
.woocommerce-checkout form.checkout .select2-selection--single { background: var(--wp--preset--color--base); border-color: var(--wp--preset--color--muted); border-radius: .3rem; }
.woocommerce-checkout #order_review .shop_table { width: 100%; margin-block-end: 1rem; border-color: var(--wp--preset--color--surface); border-radius: .4rem; }
/* Delivery options should not inherit the device-name/quantity column widths. */
.woocommerce-checkout #order_review .woocommerce-shipping-totals { display: table-row; }
.woocommerce-checkout #order_review .woocommerce-shipping-totals > td { display: table-cell; width: auto; }
.woocommerce-checkout #order_review .mediaheld-delivery-options { margin: 0; padding: 0; border: 0; min-width: 0; }
.woocommerce-checkout #order_review .mediaheld-delivery-options legend { padding: 0; margin-block-end: .5rem; font-weight: 600; }
.woocommerce-checkout #order_review #shipping_method li { display: flex; align-items: center; gap: .6rem; margin: 0; }
.woocommerce-checkout #order_review #shipping_method input { flex-shrink: 0; margin: 0; }
.woocommerce-checkout #order_review #shipping_method label { display: flex; align-items: center; min-height: 44px; margin: 0; font-weight: 500; }
.woocommerce-checkout #order_review .mediaheld-quotation-notice { padding: 0 0 1rem; line-height: 1.6; }
.woocommerce-checkout #order_review #payment { padding: 0; }
.woocommerce-checkout #order_review #payment .place-order { padding: 0; margin: 0; }
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text { font-size: .875rem; line-height: 1.6; }
/* The plugin owns session confirmation, copy and destinations. Style its generic receipt only. */
.woocommerce.mediaheld-request-receipt {
    max-width: 48rem; margin-inline: auto; padding: clamp(1rem, 4vw, 3rem);
    background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--surface);
    border-block-start: 4px solid var(--wp--preset--color--muted); border-radius: .75rem;
    color: var(--wp--preset--color--contrast); overflow-wrap: anywhere;
}
.woocommerce.mediaheld-request-receipt[data-mediaheld-request-receipt="confirmed"] { border-block-start-color: var(--wp--preset--color--primary); }
.mediaheld-request-receipt > h2 { margin-block: 0 1rem; color: var(--wp--preset--color--secondary); font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; }
.mediaheld-request-receipt > p { max-width: 65ch; margin-block: 0 1rem; line-height: 1.7; }
.mediaheld-request-receipt > h2 + p { font-weight: 600; }
.mediaheld-request-receipt > p:has(> .button) { margin-block: .75rem; }
.woocommerce.mediaheld-request-receipt a.button { min-height: 48px; border: 2px solid var(--wp--preset--color--primary-dark); border-radius: var(--wp--custom--button--radius, .25rem); text-align: center; }
.woocommerce.mediaheld-request-receipt p:has(> .button) + p > a.button { background: transparent; color: var(--wp--preset--color--primary-dark); }
.mediaheld-request-receipt > p:last-child { margin-block: 1.5rem 0; }
.mediaheld-request-receipt > p:last-child > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--wp--preset--color--secondary); text-underline-offset: .2em; }
/* Block-inspired spacing and summaries, using the existing native quotation forms. */
.mediaheld-theme .mh-selection-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(17rem, 1fr); gap: 2rem; align-items: start; }
.mediaheld-theme .mh-selection-layout > .woocommerce-cart-form { min-width: 0; }
.mediaheld-theme.woocommerce-cart .mh-selection-layout > .cart-collaterals { box-sizing: border-box; width: auto; padding: 1.5rem; border: 1px solid var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--base); }
.mediaheld-theme .mh-selection-layout .cart_totals { float: none; width: 100%; }
.mediaheld-theme .mh-selection-layout .cart_totals > h2 { margin: 0 0 1rem; font-size: 1.5rem; }
.mediaheld-theme .mh-selection-layout .cart_totals > p { margin-block: 0 1rem; line-height: 1.6; }
.mediaheld-theme .mh-selection-layout .cart_totals > .mediaheld-quotation-notice { margin-block-end: 0; padding-block-start: 1rem; border-block-start: 1px solid var(--wp--preset--color--surface); font-size: .875rem; }
.mediaheld-theme.woocommerce-cart .woocommerce-cart-form th { background: var(--wp--preset--color--base); padding-block: 1rem; }
.mediaheld-theme.woocommerce-cart .woocommerce-cart-form td { padding-block: 1.25rem; }
.mediaheld-theme.woocommerce-cart .woocommerce-cart-form td.actions { padding: 1rem; background: var(--wp--preset--color--base); }
.mediaheld-theme.woocommerce-cart .woocommerce-cart-form .product-name > a { font-weight: 600; text-decoration: none; }
.mediaheld-theme.woocommerce-cart .woocommerce-cart-form .product-name > a:hover { text-decoration: underline; }
.mediaheld-theme.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.mediaheld-theme.woocommerce-checkout form.checkout > .col2-set { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); }
.mediaheld-theme.woocommerce-checkout form.checkout > #order_review_heading { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--surface); border-block-start: 3px solid var(--wp--preset--color--primary); border-block-end: 0; padding-block-end: .5rem; }
.mediaheld-theme.woocommerce-checkout form.checkout > #order_review { background: var(--wp--preset--color--base); border-block-start: 0; }
.mediaheld-theme.woocommerce-checkout #order_review .shop_table { border: 0; border-radius: 0; }
.mediaheld-theme.woocommerce-checkout #order_review .shop_table th,
.mediaheld-theme.woocommerce-checkout #order_review .shop_table td { padding: 1rem 0; }
.mediaheld-theme.woocommerce-checkout #order_review .shop_table .product-quantity { text-align: end; padding-inline-start: .75rem; }
.mediaheld-theme.woocommerce-checkout #order_review .mediaheld-quotation-notice { caption-side: bottom; padding-block: 1rem; border-block-start: 1px solid var(--wp--preset--color--surface); font-size: .875rem; }
.mediaheld-theme.woocommerce-checkout .mh-request-device { display: flex; align-items: flex-start; gap: .75rem; }
.mediaheld-theme.woocommerce-checkout .mh-request-device-image { flex: 0 0 56px; width: 56px; height: 56px; object-fit: contain; }
.mediaheld-theme.woocommerce-checkout .mh-request-device-details { min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.mediaheld-theme.woocommerce-checkout .mh-request-device-details .mediaheld-device-review-label { font-weight: 400; }
.mediaheld-theme.woocommerce-checkout form.checkout #mediaheld-rental-duration { background: var(--wp--preset--color--surface); }
@media (max-width: 800px) {
    .mediaheld-theme .mh-selection-layout,
    .mediaheld-theme.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
    .woocommerce-checkout form.checkout > .col2-set { grid-row: auto; margin-bottom: 2rem; }
    .woocommerce-checkout form.checkout > #order_review_heading,
    .woocommerce-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; }
}
@media (max-width: 767px) {
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item { display: grid; grid-template-columns: 64px minmax(0, 1fr) 28px; gap: .75rem; padding: 1rem; border-block-end: 1px solid var(--wp--preset--color--surface); }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item > td { display: block; padding: 0; border: 0; background: transparent; text-align: start !important; }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item > td::before { content: none; }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item > .product-thumbnail { grid-column: 1; grid-row: 1 / span 2; }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item > .product-name { grid-column: 2; grid-row: 1; }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item > .product-remove { grid-column: 3; grid-row: 1; }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .cart_item > .product-quantity { grid-column: 2; grid-row: 2; }
    .mediaheld-theme.woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width: 64px; }
}
@media (max-width: 480px) {
    .mediaheld-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
    .woocommerce-cart .return-to-shop .button { width: 100%; }
    .mediaheld-theme.woocommerce-cart .mh-cart-actions { flex-direction: column; align-items: stretch; }
    .mediaheld-theme.woocommerce-cart .mh-cart-actions .button { width: 100%; }
    .mh-request-steps li > a, .mh-request-steps li > span { flex-direction: column; align-items: flex-start; gap: .25rem; padding: .6rem; }
    .woocommerce.mediaheld-request-receipt a.button { width: 100%; }
}
