/* Cvetochka light checkout: stable gateway shells, then the store's visual system.
 * Scope to checkout; never restyle the site's header or product catalogue. */
body.woocommerce-checkout {
    --cvetochka-checkout-ink: #352b30;
    --cvetochka-checkout-muted: #7a6a72;
    --cvetochka-checkout-accent: #a64b70;
    --cvetochka-checkout-line: #e9dfe2;
    --cvetochka-checkout-paper: #fffdfb;
}

body.woocommerce-checkout .content-area { margin-block: 28px; }
body.woocommerce-checkout .wpc-custom-selected-terms:has(.wpc-empty-chips-container),
body.woocommerce-checkout .entry-header:not(:has(*)) { display: none; }
body.woocommerce-checkout .entry-header:not(:has(*)) + .entry-content { margin-top: 0; }

/* Keep payer details distinct from the recipient delivery address. */
#cvetochka-billing-details { margin: 24px 0; padding: 18px; border: 1px solid #e7e7e7; border-radius: 10px; }
#cvetochka-billing-details h3 { margin: 0 0 8px; }
#cvetochka-billing-details #billing_country_field { display: block !important; }
#cvetochka-billing-address #billing_country_field,
#cvetochka-billing-address #billing_address_1_field,
#cvetochka-billing-address #billing_address_2_field { grid-column: 1 / -1; }
.cvetochka-wallet-unready { visibility: hidden !important; pointer-events: none !important; }
#panel-payment #payment-container .cvetochka-wallet-unready { visibility: hidden !important; pointer-events: none !important; }
#cvetochka-refresh-error { color: #a21c36; padding: 12px 0; }
#cvetochka-next-btn:disabled { opacity: .65; cursor: wait; }

/* Notices can contain plain text, a Woo field-error list or enhanced Stripe text.
 * Never put an anonymous text node in the old icon-sized CSS grid column. */
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .cpsw-errors {
    display: block !important;
    grid-template-columns: none !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 16px 0 24px !important;
    padding: 16px 18px !important;
    border: 1px solid #d92c62 !important;
    border-radius: 10px !important;
    background: #fff1f5 !important;
    color: #5c1830 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: start !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    list-style: none !important;
}

body.woocommerce-checkout .woocommerce-error:empty,
body.woocommerce-checkout .cpsw-errors:empty,
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-error::after,
body.woocommerce-checkout .cpsw-errors::before,
body.woocommerce-checkout .cpsw-errors::after {
    display: none !important;
}

body.woocommerce-checkout .woocommerce-error > li,
body.woocommerce-checkout .woocommerce-error .cvetochka-stripe-error__content,
body.woocommerce-checkout .cpsw-errors .cvetochka-stripe-error__content {
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

body.woocommerce-checkout .woocommerce-error > li + li {
    margin-top: 6px !important;
}

/* The wizard provides the outer card. Woo and the unified Stripe element are
 * structural wrappers, not three more nested cards. Keep their DOM, visibility
 * and iframe lifetime intact; native card inputs keep their own field borders. */
body.woocommerce-checkout .cvetochka-wizard-layout {
    gap: 28px;
    margin-top: 0;
}

body.woocommerce-checkout .cvetochka-wizard-left,
body.woocommerce-checkout .cvetochka-wizard-right {
    padding: 32px;
    border: 1px solid var(--cvetochka-checkout-line);
    border-radius: 24px;
    background: var(--cvetochka-checkout-paper);
    box-shadow: 0 10px 40px rgb(83 41 56 / 3%);
}

body.woocommerce-checkout .wizard-main-title,
body.woocommerce-checkout .totals-title {
    margin: 0 0 12px;
    color: var(--cvetochka-checkout-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

body.woocommerce-checkout .cvetochka-panel-intro {
    max-width: 48ch;
    margin: 0 0 28px;
    color: var(--cvetochka-checkout-muted);
    font-size: 14px;
    line-height: 1.75;
}

/* Mobile gets one compact drawer above the current step. Desktop keeps the
 * canonical order DOM continuously visible in the right-hand summary. */
body.woocommerce-checkout .cvetochka-order-toggle {
    display: none;
}

body.woocommerce-checkout .cvetochka-order-summary #cvetochka-order-details {
    display: block;
}

body.woocommerce-checkout .cvetochka-order-summary .totals-title {
    font-size: 28px;
    margin-bottom: 20px;
}

body.woocommerce-checkout #order_review table.shop_table tfoot th {
    color: #62535b !important;
    font-weight: 500;
}

body.woocommerce-checkout #order_review table.shop_table tfoot td,
body.woocommerce-checkout #order_review table.shop_table tfoot td span,
body.woocommerce-checkout #order_review table.shop_table tfoot td bdi,
body.woocommerce-checkout #order_review table.shop_table tfoot td strong,
body.woocommerce-checkout #order_review table.shop_table td.product-total,
body.woocommerce-checkout #order_review table.shop_table td.product-total .amount {
    color: #a34267 !important;
}

body.woocommerce-checkout #order_review table.shop_table tr.order-total th,
body.woocommerce-checkout #order_review table.shop_table tr.order-total td,
body.woocommerce-checkout #order_review table.shop_table tr.order-total .amount {
    color: #332a30 !important;
    font-weight: 700 !important;
}

.cvetochka-wizard-left,
.cvetochka-wizard-right,
#panel-payment,
#panel-payment #payment-container {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

#panel-payment #payment-container,
#panel-payment #payment,
#panel-payment #payment .payment_methods,
#panel-payment #payment .payment_methods li.wc_payment_method,
#panel-payment #payment .payment_methods li.wc_payment_method .payment_box,
#panel-payment #payment .cpsw_stripe_element_payment_form,
#panel-payment #payment #cpsw_stripe_payment_element {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#panel-payment #payment .payment_methods li.wc_payment_method {
    padding-block: 16px !important;
}

#panel-payment #payment .payment_methods li.wc_payment_method + li.wc_payment_method {
    border-top: 1px solid #eaeaea !important;
}

#panel-payment #payment .payment_methods li.wc_payment_method .payment_box {
    margin-top: 12px !important;
}

#panel-payment #payment .payment_box::before {
    display: none !important;
}

#panel-payment #payment .place-order {
    box-sizing: border-box;
    width: 100%;
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

#panel-payment #payment .woocommerce-privacy-policy-text,
#panel-payment #payment .woocommerce-privacy-policy-text p,
#panel-payment #payment .woocommerce-terms-and-conditions-wrapper {
    color: #6b5760 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

#panel-payment #cpsw-payment-request-title,
#panel-payment #cpsw-payment-request-tagline {
    display: none !important;
}

#panel-payment #cpsw-payment-request-wrapper .cpsw-payment-request-button-wrapper {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0;
}

#panel-payment #payment li.payment_method_cpsw_stripe_element:only-child > label {
    display: none !important;
}

/* Only the gateway's capability result may collapse unavailable express UI.
 * An unknown/loading state is not equivalent to "no Apple Pay". */
#panel-payment #cpsw-payment-request-wrapper[data-cvetochka-wallet-available="false"],
#panel-payment .cpsw-payment-request-main-wrapper[data-cvetochka-wallet-available="false"] {
    display: none !important;
}

body.woocommerce-checkout .cvetochka-wizard-left > .wizard-progress {
    width: 100%;
    gap: 12px;
    margin: 0 0 24px;
    padding: 0 0 16px;
    border-bottom: 1px solid #eee5e8;
}

body.woocommerce-checkout .wizard-progress .step-counter {
    color: #694652;
    font-size: 13px;
    white-space: nowrap;
}

body.woocommerce-checkout .wizard-progress .progress-bar {
    height: 4px;
    background: #f1e7eb;
}

body.woocommerce-checkout .wizard-progress .progress-fill {
    background: #a64b70;
}

body.woocommerce-checkout #custom-methods-ui,
body.woocommerce-checkout #pickup-points-container {
    gap: 12px;
}

body.woocommerce-checkout .cvetochka-method-card {
    display: flex;
    min-height: 84px;
    align-items: center;
    gap: 12px;
    padding: 18px 42px 18px 18px;
    border-width: 1px;
    border-color: var(--cvetochka-checkout-line);
    border-radius: 16px;
    text-align: left;
}

body.woocommerce-checkout .cvetochka-method-card .cm-icon {
    flex: 0 0 32px;
    margin: 0;
    font-size: 28px;
    line-height: 1;
}

body.woocommerce-checkout .cvetochka-method-card .cm-title {
    color: #332a30;
    font-size: 15px;
    line-height: 1.4;
}

body.woocommerce-checkout .cvetochka-point-card {
    padding: 20px 34px 20px 16px;
    border-width: 1px;
    text-align: left;
}

body.woocommerce-checkout .cvetochka-method-card.active,
body.woocommerce-checkout .cvetochka-point-card.active {
    border-color: #a64b70;
    box-shadow: 0 0 0 1px #a64b70;
    background: #fdf3f7;
}

body.woocommerce-checkout .cvetochka-method-card.active::after,
body.woocommerce-checkout .cvetochka-point-card.active::after {
    top: 14px;
    right: 12px;
    width: 20px;
    height: 20px;
    background-color: #a64b70;
}

body.woocommerce-checkout .cvetochka-wizard-left .form-row {
    min-width: 0;
    margin: 0 0 22px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .cvetochka-wizard-left .form-row-group {
    column-gap: 16px;
}

body.woocommerce-checkout .cvetochka-wizard-left .form-row label {
    display: block;
    margin-bottom: 9px;
    color: #62535b !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

body.woocommerce-checkout .cvetochka-wizard-left input.input-text,
body.woocommerce-checkout .cvetochka-wizard-left select,
body.woocommerce-checkout .cvetochka-wizard-left textarea {
    color: #332a30 !important;
    font-size: 16px !important;
    line-height: 1.4;
    min-height: 54px;
    border: 1px solid #ded2d7 !important;
    border-radius: 14px !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cvetochka-wizard-left input.input-text:focus,
body.woocommerce-checkout .cvetochka-wizard-left select:focus,
body.woocommerce-checkout .cvetochka-wizard-left textarea:focus {
    border-color: var(--cvetochka-checkout-accent) !important;
    outline: 3px solid rgb(166 75 112 / 12%);
    outline-offset: 1px;
}

/* WooCommerce enhances country/state selects with Select2; style its visible
 * control as well as the original named select without changing its events. */
body.woocommerce-checkout .cvetochka-wizard-left .select2-container {
    display: block;
    width: 100% !important;
    min-width: 0;
}

body.woocommerce-checkout .cvetochka-wizard-left .select2-container .select2-selection--single {
    display: flex;
    min-height: 54px;
    align-items: center;
    padding: 12px 38px 12px 14px;
    border: 1px solid #ded2d7;
    border-radius: 14px;
    background: #fff;
    color: #332a30;
    font-size: 16px;
    line-height: 1.4;
    box-shadow: none;
}

body.woocommerce-checkout .cvetochka-wizard-left .select2-selection__rendered {
    padding: 0 !important;
    color: #332a30 !important;
    line-height: 1.4 !important;
}

body.woocommerce-checkout .cvetochka-wizard-left .select2-selection__arrow {
    top: 1px !important;
    right: 12px !important;
    height: 52px !important;
}

body.woocommerce-checkout .cvetochka-wizard-left .select2-container--focus .select2-selection--single,
body.woocommerce-checkout .cvetochka-wizard-left .select2-container--open .select2-selection--single {
    border-color: var(--cvetochka-checkout-accent);
    outline: 3px solid rgb(166 75 112 / 12%);
    outline-offset: 1px;
}

body.woocommerce-checkout .cvetochka-wizard-left input.cvetochka-field-error,
body.woocommerce-checkout .cvetochka-wizard-left textarea.cvetochka-field-error,
body.woocommerce-checkout .cvetochka-wizard-left .woocommerce-invalid input.input-text {
    border-color: #bd315a !important;
    background-color: #fff7f8 !important;
}

body.woocommerce-checkout .cvetochka-recipient-toggle {
    display: block;
    margin: 24px 0;
    padding: 20px;
    border: 1px solid var(--cvetochka-checkout-line);
    border-radius: 18px;
    background: linear-gradient(115deg, #fbf0f5, #fff8f2);
}

body.woocommerce-checkout .cvetochka-toggle-label {
    align-items: flex-start;
    gap: 12px;
    color: var(--cvetochka-checkout-ink);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

body.woocommerce-checkout .cvetochka-toggle-label input[type="checkbox"] {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 0;
    accent-color: var(--cvetochka-checkout-accent);
}

body.woocommerce-checkout .cvetochka-recipient-hint {
    margin: 6px 0 0 34px;
    color: var(--cvetochka-checkout-muted);
    font-size: 13px;
    line-height: 1.6;
}

body.woocommerce-checkout details.cvetochka-billing-details {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
}

body.woocommerce-checkout .cvetochka-billing-details__summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    color: #805565;
    font-size: 14px;
    font-weight: 500;
    list-style: none;
    cursor: pointer;
}

body.woocommerce-checkout .cvetochka-billing-details__summary::-webkit-details-marker { display: none; }
body.woocommerce-checkout .cvetochka-billing-details__summary::after { content: '+'; font-size: 22px; }
body.woocommerce-checkout details[open] > .cvetochka-billing-details__summary::after { content: '−'; }
body.woocommerce-checkout details[open] > .cvetochka-billing-details__summary { margin-bottom: 14px; }

body.woocommerce-checkout #contacts-container #cvetochka-billing-details {
    margin: 20px 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid #eee5e8;
    border-radius: 0;
}

body.woocommerce-checkout #cvetochka-billing-details h3 {
    color: #332a30;
    font-size: 18px;
    line-height: 1.4;
}

body.woocommerce-checkout #cvetochka-billing-details .cvetochka-hint-small {
    margin: 8px 0 16px;
    padding: 0;
    color: #766973;
    font-size: 13px;
    line-height: 1.5;
}

body.woocommerce-checkout .cvetochka-wizard-nav {
    flex-direction: row;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
    padding-top: 0;
    border: 0;
}

body.woocommerce-checkout .cvetochka-wizard-nav .wizard-buttons {
    width: 100%;
    justify-content: space-between;
    gap: 12px;
}

body.woocommerce-checkout #cvetochka-prev-btn,
body.woocommerce-checkout #cvetochka-next-btn,
body.woocommerce-checkout #cvetochka-wizard-container #place_order {
    min-height: 50px;
    padding: 14px 20px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body.woocommerce-checkout #cvetochka-next-btn,
body.woocommerce-checkout #cvetochka-wizard-container #place_order {
    color: #fff !important;
    background: #a64b70 !important;
}

body.woocommerce-checkout #cvetochka-prev-btn {
    color: #694652;
    border: 1px solid #ded3d8;
    background: #fff;
}

body.woocommerce-checkout #cvetochka-next-btn:hover,
body.woocommerce-checkout #cvetochka-wizard-container #place_order:hover {
    background: #8f3f5e !important;
}

/* Delivery schedule: dates first, then a clear day-part selector and real slots.
 * Selection/availability comes from JS/PHP; CSS does not manufacture times. */
body.woocommerce-checkout .cvetochka-datetime-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    margin: 20px 0 24px;
}

body.woocommerce-checkout #panel-datetime #cvetochka-datetime-section {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

/* Pickup already has its own step heading. Delivery keeps its subsection title. */
body.woocommerce-checkout #panel-datetime #cvetochka-datetime-section > .cvetochka-section-title {
    display: none;
}

body.woocommerce-checkout .cvetochka-date-picker,
body.woocommerce-checkout .cvetochka-time-picker {
    min-width: 0;
    margin: 0;
    padding: 22px;
    border: 1px solid var(--cvetochka-checkout-line);
    border-radius: 20px;
    background: linear-gradient(135deg, #fdf5f7, #fffcf8);
}

body.woocommerce-checkout .cvetochka-schedule-title {
    margin: 0 0 6px;
    color: var(--cvetochka-checkout-ink);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

body.woocommerce-checkout .cvetochka-schedule-hint {
    margin: 0 0 18px;
    color: var(--cvetochka-checkout-muted);
    font-size: 12px;
    line-height: 1.6;
}

body.woocommerce-checkout .cvetochka-date-shortcuts {
    display: flex;
    gap: 8px;
    margin: 0 0 14px;
    overflow-x: auto;
    scrollbar-width: thin;
    padding: 2px;
}

body.woocommerce-checkout .cvetochka-date-chip,
body.woocommerce-checkout .cvetochka-date-calendar {
    display: flex;
    flex: 1 0 72px;
    flex-direction: column;
    min-width: 0;
    min-height: 68px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 12px 8px;
    border: 1px solid #e3d7dc;
    border-radius: 14px;
    background: #fffdfb;
    color: #62535b;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
}

body.woocommerce-checkout .cvetochka-date-chip__label { font-size: 11px; font-weight: 400; }
body.woocommerce-checkout .cvetochka-date-chip__date { font-size: 13px; font-weight: 600; }
body.woocommerce-checkout .cvetochka-date-calendar { color: #8d4b67; }

body.woocommerce-checkout .cvetochka-time-periods {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    margin: 0 0 16px;
    padding: 4px;
    border: 1px solid #e8dce1;
    border-radius: 14px;
    background: #f4ebee;
}

body.woocommerce-checkout .cvetochka-time-periods button {
    min-width: 0;
    min-height: 46px;
    padding: 10px 6px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #79616d;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
}

body.woocommerce-checkout .cvetochka-time-slots {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}

body.woocommerce-checkout .cvetochka-time-slots button {
    min-width: 0;
    min-height: 46px;
    padding: 11px 4px;
    border: 1px solid #e3d7dc;
    border-radius: 12px;
    background: #fffdfb;
    color: var(--cvetochka-checkout-ink);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
}

body.woocommerce-checkout .cvetochka-time-slots [hidden],
body.woocommerce-checkout .cvetochka-time-periods [hidden] { display: none !important; }

body.woocommerce-checkout .cvetochka-date-picker > .form-row,
body.woocommerce-checkout .cvetochka-time-picker > .form-row {
    margin: 16px 0 0 !important;
}

body.woocommerce-checkout .cvetochka-date-picker > .form-row input,
body.woocommerce-checkout .cvetochka-time-picker > .form-row input {
    min-height: 46px;
    font-size: 14px !important;
}

body.woocommerce-checkout .cvetochka-date-chip[aria-pressed="true"],
body.woocommerce-checkout .cvetochka-time-periods button[aria-selected="true"],
body.woocommerce-checkout .cvetochka-time-periods button[aria-pressed="true"],
body.woocommerce-checkout .cvetochka-time-slots button[aria-pressed="true"] {
    border-color: var(--cvetochka-checkout-accent);
    background: var(--cvetochka-checkout-accent);
    color: #fff;
}

body.woocommerce-checkout .cvetochka-date-chip:disabled,
body.woocommerce-checkout .cvetochka-time-periods button:disabled,
body.woocommerce-checkout .cvetochka-time-slots button:disabled {
    opacity: .4;
    cursor: not-allowed;
}

body.woocommerce-checkout .cvetochka-date-chip:focus-visible,
body.woocommerce-checkout .cvetochka-date-calendar:focus-visible,
body.woocommerce-checkout .cvetochka-time-periods button:focus-visible,
body.woocommerce-checkout .cvetochka-time-slots button:focus-visible,
body.woocommerce-checkout .cvetochka-order-toggle:focus-visible,
body.woocommerce-checkout .cvetochka-billing-details__summary:focus-visible {
    outline: 3px solid rgb(166 75 112 / 30%);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .cvetochka-wizard-left {
        width: 100%;
    }

    body.woocommerce-checkout .cvetochka-wizard-layout { gap: 20px; }

    body.woocommerce-checkout .cvetochka-order-summary {
        order: -1;
        margin: 0;
        padding: 0;
        position: static;
        background: linear-gradient(115deg, #fffdfb, #fbf0f5);
    }

    body.woocommerce-checkout .cvetochka-order-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 18px;
        width: 100%;
        min-height: 78px;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 18px 24px;
        border: 0;
        border-radius: inherit;
        background: transparent;
        color: var(--cvetochka-checkout-ink);
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
        text-align: left;
        text-transform: none;
        letter-spacing: 0;
        box-shadow: none;
    }

    body.woocommerce-checkout .cvetochka-order-toggle__label { min-width: 0; }

    body.woocommerce-checkout .cvetochka-order-toggle__total {
        color: var(--cvetochka-checkout-ink);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 27px;
        font-weight: 600;
        line-height: 1.1;
        white-space: nowrap;
    }

    body.woocommerce-checkout .cvetochka-order-toggle__chevron {
        color: #8a6877;
        transition: transform 160ms ease;
    }

    body.woocommerce-checkout .cvetochka-order-summary[data-order-expanded="true"] .cvetochka-order-toggle__chevron {
        transform: rotate(180deg);
    }

    body.woocommerce-checkout .cvetochka-order-summary #cvetochka-order-details {
        padding: 0 24px 22px;
    }

    body.woocommerce-checkout .cvetochka-order-summary #cvetochka-order-details .totals-title { display: none; }

    body.woocommerce-checkout .cvetochka-order-summary[data-order-expanded="false"] #cvetochka-order-details {
        display: none;
    }
}

@media (max-width: 600px) {
    body.woocommerce-checkout .content-area { margin-block: 20px; }
    body.woocommerce-checkout .content-container.site-container { padding-inline: 16px; }

    body.woocommerce-checkout .cvetochka-wizard-left,
    body.woocommerce-checkout .cvetochka-wizard-right {
        padding: 24px 20px;
        border-radius: 22px;
    }

    body.woocommerce-checkout .cvetochka-wizard-right {
        margin-top: 0;
    }

    body.woocommerce-checkout .wizard-main-title,
    body.woocommerce-checkout #panel-payment .wizard-main-title {
        margin-bottom: 12px;
        font-size: 29px;
        line-height: 1.12;
    }

    body.woocommerce-checkout .cvetochka-order-summary { padding: 0; }
    body.woocommerce-checkout .cvetochka-order-toggle { padding: 18px 20px; }
    body.woocommerce-checkout .cvetochka-order-summary #cvetochka-order-details { padding: 0 20px 18px; }
    body.woocommerce-checkout .cvetochka-time-slots { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    body.woocommerce-checkout .cvetochka-date-picker,
    body.woocommerce-checkout .cvetochka-time-picker { padding: 16px; }
    body.woocommerce-checkout .cvetochka-panel-intro { margin-bottom: 24px; }

    body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
    body.woocommerce-checkout .woocommerce-error,
    body.woocommerce-checkout .cpsw-errors {
        padding: 12px 14px !important;
    }
}

@media (max-width: 359px) {
    body.woocommerce-checkout .cvetochka-wizard-left { padding: 22px 16px; }
    body.woocommerce-checkout .wizard-main-title { font-size: 27px; }
    body.woocommerce-checkout .cvetochka-time-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.woocommerce-checkout .cvetochka-order-toggle { gap: 8px; padding-inline: 16px; }
    body.woocommerce-checkout .cvetochka-order-toggle__total { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    body.woocommerce-checkout .cvetochka-order-toggle__chevron,
    body.woocommerce-checkout .wizard-progress .progress-fill { transition: none; }
}
