.elementor-widget-fski-woo-checkout,
.elementor-widget-fski-woo-checkout > .elementor-widget-container,
.fski-checkout-widget {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.fski-checkout-widget {
    --fski-checkout-main-width: 64%;
    --fski-checkout-column-gap: 48px;
    --fski-main-column-padding: 0;
    --fski-main-column-margin: 0;
    --fski-main-column-radius: 0;
    --fski-summary-column-padding: 0;
    --fski-summary-column-margin: 0;
    --fski-summary-column-radius: 0;
    margin-inline: auto;
}

.fski-checkout-widget *,
.fski-checkout-widget *::before,
.fski-checkout-widget *::after {
    box-sizing: border-box;
}

/* Two-column layout: server markup, hydrated React markup and Elementor preview. */
.fski-checkout-widget > .wp-block-woocommerce-checkout,
.fski-checkout-widget .wc-block-components-sidebar-layout.wc-block-checkout,
.fski-checkout-preview.wc-block-checkout {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    gap: var(--fski-checkout-column-gap) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fski-checkout-widget > .wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-fields-block,
.fski-checkout-widget .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-components-main,
.fski-checkout-preview > .wc-block-checkout__main {
    flex: 0 1 var(--fski-checkout-main-width) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: var(--fski-main-column-margin, 0) !important;
    padding: var(--fski-main-column-padding, 0) !important;
    border-radius: var(--fski-main-column-radius, 0) !important;
    float: none !important;
}

.fski-checkout-widget > .wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-totals-block,
.fski-checkout-widget .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-components-sidebar,
.fski-checkout-preview > .wc-block-checkout__sidebar {
    flex: 1 1 0 !important;
    align-self: flex-start !important;
    width: auto !important;
    min-width: 280px !important;
    max-width: none !important;
    margin: var(--fski-summary-column-margin, 0) !important;
    padding: 0 !important;
    border-radius: 0 !important;
    float: none !important;
}

.fski-checkout-widget .wc-block-checkout__form,
.fski-checkout-widget .wp-block-woocommerce-checkout-fields-block > form,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-summary-block {
    width: 100%;
    min-width: 0;
    max-width: none;
}

/* Form fields. */
.fski-checkout-widget .wc-block-components-text-input input,
.fski-checkout-widget .wc-block-components-textarea,
.fski-checkout-widget .wc-blocks-components-select__select,
.fski-checkout-widget select {
    width: 100%;
    min-height: 48px;
    border: 1px solid #8d8d8d;
    border-radius: 0;
    background: #fff;
    color: #222;
    box-shadow: none;
}

.fski-checkout-widget .wc-block-components-text-input input:focus,
.fski-checkout-widget .wc-block-components-textarea:focus,
.fski-checkout-widget .wc-blocks-components-select__select:focus,
.fski-checkout-widget select:focus {
    border-color: #222;
    outline: 1px solid #222;
    outline-offset: 0;
}

/* WooCommerce floating labels: reserve space for the entered value and keep
 * the compact label visually separate from the customer text. */
.fski-checkout-widget .wc-block-components-text-input.is-active input[type="tel"],
.fski-checkout-widget .wc-block-components-text-input.is-active input[type="url"],
.fski-checkout-widget .wc-block-components-text-input.is-active input[type="text"],
.fski-checkout-widget .wc-block-components-text-input.is-active input[type="number"],
.fski-checkout-widget .wc-block-components-text-input.is-active input[type="password"],
.fski-checkout-widget .wc-block-components-text-input.is-active input[type="email"] {
    padding-top: 22px !important;
    padding-bottom: 6px !important;
}

.fski-checkout-widget .wc-block-components-text-input.is-active label,
.fski-checkout-widget .wc-block-components-text-input input:-webkit-autofill + label {
    z-index: 2;
    color: #777;
    line-height: 1.15;
}

.fski-checkout-widget .wc-block-components-checkbox {
    margin-top: 12px;
}

.fski-checkout-widget .wc-block-components-checkbox__input {
    accent-color: #c8892e;
}

/* Native and fallback Shipping / Pickup selector. */
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-method-block {
    display: block !important;
    width: 100%;
}

.fski-checkout-widget .wc-block-checkout__shipping-method-container,
.fski-checkout-widget .fski-checkout-delivery-mode,
.fski-checkout-preview .fski-checkout-delivery-mode {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
    width: 100% !important;
    background: transparent;
}

.fski-checkout-widget .fski-checkout-delivery-mode-fallback {
    display: block;
    width: 100%;
    margin: 0 0 28px;
}

.fski-checkout-widget .fski-checkout-delivery-mode-fallback__title {
    margin: 0 0 14px;
}

.fski-checkout-widget .wc-block-checkout__shipping-method-option,
.fski-checkout-widget button.fski-checkout-delivery-mode__option,
.fski-checkout-preview .fski-checkout-delivery-mode__option {
    appearance: none;
    -webkit-appearance: none;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px;
    margin: 0 !important;
    padding: 13px 18px;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    background: #f5f5f5;
    color: #333;
    box-shadow: none;
    font: inherit;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.fski-checkout-widget .wc-block-checkout__shipping-method-option:hover,
.fski-checkout-widget button.fski-checkout-delivery-mode__option:hover,
.fski-checkout-widget button.fski-checkout-delivery-mode__option:focus {
    border-color: #9f9f9f;
    background: #fff;
    color: #111;
}

.fski-checkout-widget .wc-block-checkout__shipping-method-option--selected,
.fski-checkout-widget button.fski-checkout-delivery-mode__option.is-active,
.fski-checkout-widget button.fski-checkout-delivery-mode__option.wc-block-checkout__shipping-method-option--selected,
.fski-checkout-preview .fski-checkout-delivery-mode__option.is-active {
    border-color: #c8892e;
    background: #c8892e;
    color: #fff;
}

.fski-checkout-widget button.fski-checkout-delivery-mode__option:disabled {
    cursor: wait;
    opacity: .65;
}

.fski-checkout-widget .wc-block-checkout__shipping-method-option-title-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.fski-checkout-widget .wc-block-checkout__shipping-method-option-icon,
.fski-checkout-widget .fski-checkout-delivery-mode__icon,
.fski-checkout-preview .fski-checkout-delivery-mode__icon {
    display: inline-flex;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

.fski-checkout-widget .fski-checkout-delivery-mode__icon svg,
.fski-checkout-preview .fski-checkout-delivery-mode__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Pickup locations fallback, populated from the WooCommerce Cart Store. */
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block {
    width: 100%;
}

.fski-checkout-widget .fski-pickup-locations {
    width: 100%;
    margin: 0 0 28px;
}

.fski-checkout-widget .fski-pickup-locations[hidden] {
    display: none !important;
}

.fski-checkout-widget .fski-pickup-locations__title {
    margin: 0 0 14px;
}

.fski-checkout-widget .fski-pickup-locations__list {
    display: grid;
    gap: 10px;
}

.fski-checkout-widget .fski-pickup-locations__option,
.fski-checkout-preview__pickup-option {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 16px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background: #fff;
    color: #222;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease;
}

.fski-checkout-widget .fski-pickup-locations__option:hover {
    border-color: #999;
    background: #fafafa;
}

.fski-checkout-widget .fski-pickup-locations__option.is-selected,
.fski-checkout-preview__pickup-option.is-selected {
    border-color: #c8892e;
    background: #fffaf2;
}

.fski-checkout-widget .fski-pickup-locations__option.is-disabled {
    cursor: default;
    opacity: .72;
}

.fski-checkout-widget .fski-pickup-locations__radio {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.fski-checkout-widget .fski-pickup-locations__marker {
    display: block;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: 2px solid #666;
    border-radius: 50%;
    background: #fff;
}

.fski-checkout-widget .fski-pickup-locations__radio:checked + .fski-pickup-locations__marker {
    border-color: #c8892e;
    box-shadow: inset 0 0 0 5px #c8892e;
}

.fski-checkout-widget .fski-pickup-locations__content {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.fski-checkout-widget .fski-pickup-locations__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.fski-checkout-widget .fski-pickup-locations__name {
    font-weight: 700;
}

.fski-checkout-widget .fski-pickup-locations__price {
    flex: 0 0 auto;
    font-weight: 600;
    text-transform: uppercase;
}

.fski-checkout-widget .fski-pickup-locations__address,
.fski-checkout-widget .fski-pickup-locations__details {
    color: #666;
    line-height: 1.45;
}

.fski-checkout-widget .fski-pickup-locations__empty {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid #e2e2e2;
    background: #fafafa;
}

/* Shipping and payment cards. */
.fski-checkout-widget .wc-block-components-radio-control {
    display: grid;
    gap: 10px;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option,
.fski-checkout-preview__option {
    margin: 0;
    padding: 16px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    background: #fff;
    color: #222;
    overflow: hidden;
    transition: border-color .18s ease, background-color .18s ease;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option:hover,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:hover,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option:hover {
    border-color: #999;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option:has(input:checked),
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option:has(input:checked),
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option-checked,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option-checked,
.fski-checkout-preview__option.is-active {
    border-color: #c8892e;
    background: #fffaf2;
}

.fski-checkout-widget input[type="radio"] {
    accent-color: #c8892e;
}


/* Payment method as one coherent card.
 * WooCommerce renders the title label and the description as siblings inside
 * an accordion option. The accordion option is therefore the visible card,
 * while the inner label and description are borderless content rows. */
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option {
    position: relative;
    box-sizing: border-box;
    margin: 0;
    padding: 16px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    background: #fff;
    color: #222;
    overflow: hidden;
    box-shadow: none !important;
    transition: border-color .18s ease, background-color .18s ease;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option:hover {
    border-color: #999;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #c8892e;
    background: #fffaf2;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option
    > label.wc-block-components-radio-control__option {
    position: relative;
    box-sizing: border-box;
    min-height: var(--fski-option-radio-size);
    margin: 0 !important;
    padding: 0 0 0 calc(var(--fski-option-radio-size) + var(--fski-option-radio-text-gap)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option
    > label.wc-block-components-radio-control__option:hover,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option
    > label.wc-block-components-radio-control__option:has(input:checked) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option
    > label .wc-block-components-radio-control__input {
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-content {
    box-sizing: border-box;
    margin: 6px 0 0 !important;
    padding: 0 0 0 calc(var(--fski-option-radio-size) + var(--fski-option-radio-text-gap)) !important;
    border: 0 !important;
    background: transparent;
    box-shadow: none !important;
    color: #666;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-content
    .fski-cash-on-pickup-description {
    margin: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control--highlight-checked::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control-accordion-option::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* The order-note block uses structural separators that are not part of the
 * user-configurable field styles. Remove only these wrapper lines; the actual
 * checkbox and textarea keep their own Elementor styles. */
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-components-checkout-step,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-checkout__order-notes,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-checkout__add-note,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-components-checkbox {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-components-checkout-step::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-components-checkout-step::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-checkout__order-notes::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-checkout__order-notes::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-checkout__add-note::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    .wc-block-checkout__add-note::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Radio spacing for shipping, payment and native pickup options.
 * WooCommerce positions the radio absolutely, so it does not reserve any
 * horizontal space. The option label therefore needs a computed left padding. */
.fski-checkout-widget {
    --fski-option-radio-left: 16px;
    --fski-option-radio-size: 20px;
    --fski-option-radio-text-gap: 12px;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block
    label.wc-block-components-radio-control__option,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block
    label.wc-block-components-radio-control__option {
    position: relative;
    box-sizing: border-box;
    padding-left: calc(
        var(--fski-option-radio-left) +
        var(--fski-option-radio-size) +
        var(--fski-option-radio-text-gap)
    ) !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block
    .wc-block-components-radio-control__input,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block
    .wc-block-components-radio-control__input {
    position: absolute !important;
    left: var(--fski-option-radio-left) !important;
    top: 50% !important;
    width: var(--fski-option-radio-size) !important;
    height: var(--fski-option-radio-size) !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

.fski-checkout-preview__section--payment .fski-checkout-preview__payment-card {
    display: block;
}

.fski-checkout-preview__payment-title {
    display: flex;
    align-items: center;
    gap: var(--fski-option-radio-text-gap, 12px);
}

.fski-checkout-preview__payment-description {
    margin-top: 6px;
    padding-left: calc(20px + var(--fski-option-radio-text-gap, 12px));
    color: #666;
}

.fski-checkout-preview__radio {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 1px solid #555;
    border-radius: 50%;
    box-shadow: inset 0 0 0 5px #fff;
    background: #c8892e;
}

.fski-checkout-widget .wc-block-components-radio-control-accordion-content {
    color: #666;
}

/* Remove WooCommerce's additional framing around payment and order-note
 * sections. Individual payment/shipping cards keep their Elementor-controlled
 * borders; only the non-configurable outer frame and separators are removed. */
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block > .wc-block-components-checkout-step,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block > .wc-block-components-checkout-step,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control--highlight-checked::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Products and totals. */
.fski-checkout-widget .wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden;
    padding: var(--fski-summary-column-padding, 0) !important;
    border: 1px solid #dedede;
    border-radius: var(--fski-summary-column-radius, 6px) !important;
    background: #fff;
}

.fski-checkout-widget .wc-block-components-order-summary-item,
.fski-checkout-preview__product {
    column-gap: 12px;
    margin: 0;
    padding: 16px;
    border-bottom: 1px solid #e2e2e2;
    background: transparent;
}

.fski-checkout-widget .wc-block-components-order-summary-item__image > img,
.fski-checkout-preview__image {
    width: 64px;
    height: 64px;
    border-radius: 0;
    object-fit: cover;
}

.fski-checkout-widget .wc-block-components-product-name {
    color: #222;
    font-weight: 600;
}

.fski-checkout-widget .wc-block-components-product-details {
    color: #666;
}

.fski-checkout-widget .wc-block-components-product-badge {
    border: 0;
    background: #333;
    color: #fff;
}

.fski-checkout-widget .wc-block-components-totals-wrapper {
    border-top-color: #e2e2e2;
}

.fski-checkout-widget .wc-block-components-totals-item,
.fski-checkout-widget .wc-block-components-totals-footer-item,
.fski-checkout-preview__total {
    padding: 14px 16px;
}

.fski-checkout-widget .wc-block-components-totals-footer-item,
.fski-checkout-preview__total.is-grand {
    font-size: 1.15em;
    font-weight: 700;
}

.fski-checkout-widget .wc-block-components-totals-coupon {
    padding: 0 16px;
}

.fski-checkout-widget .wc-block-components-checkout-place-order-button {
    min-height: 50px;
}

/* The native Checkout Block keeps its functional button in the actions block.
 * A lightweight proxy is displayed in the order-summary card and forwards the
 * click to the native React button, so WooCommerce validation and processing
 * remain untouched. */
.fski-checkout-widget .fski-checkout-place-order-slot {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin-top: 24px;
}

.fski-checkout-widget .fski-checkout-place-order-slot .wc-block-components-checkout-place-order-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.fski-checkout-widget.fski-place-order-in-summary
    .wp-block-woocommerce-checkout-actions-block
    .wc-block-components-checkout-place-order-button:not(.fski-checkout-place-order-proxy) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.fski-checkout-widget .fski-checkout-place-order-proxy[disabled],
.fski-checkout-widget .fski-checkout-place-order-proxy[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.55;
}

.fski-checkout-preview__place-order-slot {
    margin-top: 24px;
}

/* Elementor preview. */
.fski-checkout-preview {
    color: #222;
}

.fski-checkout-preview section {
    margin-bottom: 28px;
}

.fski-checkout-preview input,
.fski-checkout-preview select,
.fski-checkout-preview textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid #aaa;
    background: #fff;
    padding: 12px;
    margin-bottom: 10px;
}

.fski-checkout-preview textarea {
    min-height: 110px;
}

.fski-checkout-preview__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.fski-checkout-preview__fields input:nth-child(3) {
    grid-column: 1 / -1;
}

.fski-checkout-preview__pickup-option {
    grid-template-columns: 18px minmax(0, 1fr) auto;
}

.fski-checkout-preview__pickup-option > span:first-child {
    width: 18px;
    height: 18px;
    border: 5px solid #c8892e;
    border-radius: 50%;
}

.fski-checkout-preview__summary {
    border: 1px solid #ddd;
    padding: var(--fski-summary-column-padding, 22px) !important;
    border-radius: var(--fski-summary-column-radius, 0) !important;
}

.fski-checkout-preview__product {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
}

.fski-checkout-preview__image {
    display: block;
    background: #eee;
}

.fski-checkout-preview__total {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #ddd;
}

.fski-checkout-preview__total.is-grand {
    border-bottom: 0;
}

.fski-checkout-preview__button {
    display: block;
    width: 100%;
    border: 1px solid #222;
    background: #222;
    color: #fff;
    padding: 14px 24px;
    cursor: pointer;
}

@media (max-width: 900px) {
    .fski-checkout-widget > .wp-block-woocommerce-checkout,
    .fski-checkout-widget .wc-block-components-sidebar-layout.wc-block-checkout,
    .fski-checkout-preview.wc-block-checkout {
        flex-direction: column !important;
        gap: 28px !important;
    }

    .fski-checkout-widget > .wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-fields-block,
    .fski-checkout-widget .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-components-main,
    .fski-checkout-preview > .wc-block-checkout__main,
    .fski-checkout-widget > .wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-totals-block,
    .fski-checkout-widget .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-components-sidebar,
    .fski-checkout-preview > .wc-block-checkout__sidebar {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .fski-checkout-preview__fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .fski-checkout-preview__fields input:nth-child(3) {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    .fski-checkout-widget .wc-block-checkout__shipping-method-container,
    .fski-checkout-widget .fski-checkout-delivery-mode,
    .fski-checkout-preview .fski-checkout-delivery-mode {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .fski-checkout-widget .fski-pickup-locations__heading {
        flex-direction: column;
        gap: 5px;
    }
}


/* Custom hosts are unique siblings, never generated WooCommerce block wrappers. */
.fski-checkout-widget [data-fski-delivery-fallback],
.fski-checkout-widget [data-fski-pickup-fallback] {
    clear: both;
}

/* Elementor: independent visibility of Checkout section headings. */
.fski-checkout-widget.fski-hide-heading-contact .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-contact .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-contact .fski-checkout-preview__section--contact > .fski-checkout-preview__title,
.fski-checkout-widget.fski-hide-heading-delivery .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-delivery .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-delivery .fski-checkout-delivery-mode-fallback__title,
.fski-checkout-widget.fski-hide-heading-delivery .fski-checkout-preview__section--delivery > .fski-checkout-preview__title,
.fski-checkout-widget.fski-hide-heading-pickup .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-pickup .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-pickup .fski-pickup-locations__title,
.fski-checkout-widget.fski-hide-heading-pickup .fski-checkout-preview__section--pickup > .fski-checkout-preview__title,
.fski-checkout-widget.fski-hide-heading-shipping-address .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-shipping-address .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-billing-address .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-billing-address .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-billing-address .fski-checkout-preview__section--billing-address > .fski-checkout-preview__title,
.fski-checkout-widget.fski-hide-heading-shipping-options .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-shipping-options .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-payment .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-payment .wp-block-woocommerce-checkout-payment-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-payment .fski-checkout-preview__section--payment > .fski-checkout-preview__title,
.fski-checkout-widget.fski-hide-heading-additional-information .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-additional-information .wp-block-woocommerce-checkout-additional-information-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-summary .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-step__heading,
.fski-checkout-widget.fski-hide-heading-summary .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.fski-checkout-widget.fski-hide-heading-summary .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.fski-checkout-widget.fski-hide-heading-summary .fski-checkout-preview__summary-heading,
.fski-checkout-widget.fski-hide-heading-summary .fski-checkout-preview__section--summary > .fski-checkout-preview__title {
    display: none !important;
}


/* 1.0.16: Remove WooCommerce's technical frames and separator strokes.
 * These pseudo-elements belong to the radio-control group, not to the visible
 * option card. The visible label border remains controlled by Elementor. */
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block label.wc-block-components-radio-control__option::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block label.wc-block-components-radio-control__option::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block label.wc-block-components-radio-control__option,
.fski-checkout-widget .wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option--checked-option-highlighted,
.fski-checkout-widget .wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option--checked-option-highlighted,
.fski-checkout-widget .wp-block-woocommerce-checkout-payment-block label.wc-block-components-radio-control__option--checked-option-highlighted {
    box-shadow: none !important;
    outline: 0 !important;
}

/* Order notes: remove only technical separators around the checkbox/step.
 * The checkbox input and textarea borders remain untouched. */
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__container,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__content,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__order-notes,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__add-note,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox > label {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__container::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__container::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__content::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__content::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__order-notes::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__order-notes::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__add-note::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__add-note::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox::after,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox > label::before,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox > label::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block hr {
    display: none !important;
}

/* 1.0.18: Remove only the final separator below the order-note checkbox.
 * Keep the complete order-note block, checkbox and textarea fully visible.
 * WooCommerce can render the runtime FormStep without relying on the saved
 * block wrapper, so selectors also target the stable #order-notes id. */
.fski-checkout-widget fieldset#order-notes,
.fski-checkout-widget #order-notes.wc-block-components-checkout-step,
.fski-checkout-widget #order-notes .wc-block-components-checkout-step__container,
.fski-checkout-widget #order-notes .wc-block-components-checkout-step__content,
.fski-checkout-widget #order-notes .wc-block-components-checkbox,
.fski-checkout-widget #order-notes .wc-block-components-checkbox > label {
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.fski-checkout-widget fieldset#order-notes::before,
.fski-checkout-widget fieldset#order-notes::after,
.fski-checkout-widget #order-notes .wc-block-components-checkout-step__container::before,
.fski-checkout-widget #order-notes .wc-block-components-checkout-step__container::after,
.fski-checkout-widget #order-notes .wc-block-components-checkout-step__content::before,
.fski-checkout-widget #order-notes .wc-block-components-checkout-step__content::after,
.fski-checkout-widget #order-notes .wc-block-components-checkbox::before,
.fski-checkout-widget #order-notes .wc-block-components-checkbox::after,
.fski-checkout-widget #order-notes .wc-block-components-checkbox > label::before,
.fski-checkout-widget #order-notes .wc-block-components-checkbox > label::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Some WooCommerce versions draw the same separator as the top border of
 * the block immediately following order notes. Remove that edge only. */
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    + .wp-block-woocommerce-checkout-terms-block,
.fski-checkout-widget .wp-block-woocommerce-checkout-order-note-block
    + .wp-block-woocommerce-checkout-actions-block,
.fski-checkout-widget fieldset#order-notes
    + .wp-block-woocommerce-checkout-terms-block,
.fski-checkout-widget fieldset#order-notes
    + .wp-block-woocommerce-checkout-actions-block {
    border-top: 0 !important;
    box-shadow: none !important;
}


/* ========================================================================
 * F-SKI Woo — Cart widget
 * ====================================================================== */
.elementor-widget-fski-woo-cart,
.elementor-widget-fski-woo-cart > .elementor-widget-container,
.fski-cart-widget {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.fski-cart-widget {
    --fski-cart-main-width: 66%;
    --fski-cart-column-gap: 40px;
    --fski-cart-max-width: none;

    --fski-cart-main-bg: #fff;
    --fski-cart-main-border-style: solid;
    --fski-cart-main-border-width: 1px;
    --fski-cart-main-border-color: #e1e1e1;
    --fski-cart-main-shadow: none;
    --fski-cart-main-padding: 0;
    --fski-cart-main-margin: 0;
    --fski-cart-main-radius: 0;

    --fski-cart-summary-bg: #fff;
    --fski-cart-summary-border-style: solid;
    --fski-cart-summary-border-width: 1px;
    --fski-cart-summary-border-color: #e1e1e1;
    --fski-cart-summary-shadow: none;
    --fski-cart-summary-padding: 24px;
    --fski-cart-summary-margin: 0;
    --fski-cart-summary-radius: 0;

    --fski-cart-row-bg: transparent;
    --fski-cart-row-hover-bg: transparent;
    --fski-cart-row-padding: 20px 12px;
    --fski-cart-row-gap: 0px;
    --fski-cart-row-border-style: solid;
    --fski-cart-row-border-width: 0 0 1px 0;
    --fski-cart-row-border-color: #e6e6e6;

    --fski-cart-image-width: 100px;
    --fski-cart-image-gap: 20px;
    --fski-cart-image-radius: 0;
    --fski-cart-title-color: inherit;
    --fski-cart-meta-color: #777;
    --fski-cart-meta-gap: 6px;
    --fski-cart-price-color: inherit;
    --fski-cart-remove-color: inherit;
    --fski-cart-remove-hover-color: inherit;

    --fski-cart-quantity-bg: #fff;
    --fski-cart-quantity-color: inherit;
    --fski-cart-quantity-button-bg: #fff;
    --fski-cart-quantity-radius: 0;
    --fski-cart-quantity-height: 38px;
    --fski-cart-quantity-border-style: solid;
    --fski-cart-quantity-border-width: 1px;
    --fski-cart-quantity-border-color: #d2d2d2;

    --fski-cart-summary-heading-color: inherit;
    --fski-cart-summary-heading-margin: 0 0 18px 0;
    --fski-cart-summary-totals-border-style: none;
    --fski-cart-summary-totals-border-width: 1px;
    --fski-cart-summary-totals-border-color: #d9d9d9;
    --fski-cart-summary-totals-padding-bottom: 16px;
    --fski-cart-summary-row-bg: transparent;
    --fski-cart-summary-row-padding: 14px 0;
    --fski-cart-summary-row-margin: 0;
    --fski-cart-summary-separator-style: solid;
    --fski-cart-summary-separator-width: 1px;
    --fski-cart-summary-separator: #e4e4e4;
    --fski-cart-summary-label-color: inherit;
    --fski-cart-summary-value-color: inherit;
    --fski-cart-grand-bg: transparent;
    --fski-cart-grand-color: inherit;
    --fski-cart-grand-label-color: inherit;
    --fski-cart-grand-value-color: inherit;
    --fski-cart-grand-padding: 14px 0;
    --fski-cart-grand-margin: 0;

    --fski-cart-coupon-bg: transparent;
    --fski-cart-coupon-padding: 0;
    --fski-cart-coupon-input-color: inherit;
    --fski-cart-coupon-input-bg: #fff;
    --fski-cart-coupon-input-radius: 0;
    --fski-cart-coupon-input-border-style: solid;
    --fski-cart-coupon-input-border-width: 1px;
    --fski-cart-coupon-input-border-color: #d2d2d2;
    --fski-cart-coupon-button-color: inherit;
    --fski-cart-coupon-button-bg: #fff;
    --fski-cart-coupon-button-radius: 0;
    --fski-cart-coupon-button-border-style: solid;
    --fski-cart-coupon-button-border-width: 1px;
    --fski-cart-coupon-button-border-color: #d2d2d2;

    --fski-cart-checkout-color: #fff;
    --fski-cart-checkout-bg: #c8892e;
    --fski-cart-checkout-hover-color: #fff;
    --fski-cart-checkout-hover-bg: #a96f20;
    --fski-cart-checkout-radius: 0;
    --fski-cart-checkout-padding: 14px 20px;
    --fski-cart-checkout-margin: 20px 0 0;
    --fski-cart-checkout-width: 100%;
    --fski-cart-checkout-border-style: solid;
    --fski-cart-checkout-border-width: 1px;
    --fski-cart-checkout-border-color: #c8892e;

    --fski-cart-cross-bg: transparent;
    --fski-cart-cross-padding: 20px;
    --fski-cart-cross-margin: 42px 0 0;
    --fski-cart-cross-heading-color: inherit;

    --fski-cart-empty-bg: #fff;
    --fski-cart-empty-border-style: solid;
    --fski-cart-empty-border-width: 1px;
    --fski-cart-empty-border-color: #e2e2e2;
    --fski-cart-empty-padding: 56px 32px;
    --fski-cart-empty-radius: 0;
    --fski-cart-empty-heading-color: inherit;
    --fski-cart-empty-text-color: inherit;

    margin-inline: auto;
    max-width: var(--fski-cart-max-width) !important;
}

.fski-cart-widget *,
.fski-cart-widget *::before,
.fski-cart-widget *::after {
    box-sizing: border-box;
}

/* The block exists in two structures: server markup and hydrated runtime. */
.fski-cart-widget > .wp-block-woocommerce-cart,
.fski-cart-widget > .wp-block-woocommerce-cart.alignwide {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.fski-cart-widget > .wp-block-woocommerce-cart > .wp-block-woocommerce-filled-cart-block,
.fski-cart-widget .wc-block-components-sidebar-layout.wc-block-cart,
.fski-cart-preview.wc-block-cart {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    gap: var(--fski-cart-column-gap) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Product column: one visible frame, without nested/doubled padding. */
.fski-cart-widget .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-main,
.fski-cart-widget > .wp-block-woocommerce-cart > .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block,
.fski-cart-preview__main {
    flex: 0 1 var(--fski-cart-main-width) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    background: var(--fski-cart-main-bg) !important;
    border-style: var(--fski-cart-main-border-style) !important;
    border-width: var(--fski-cart-main-border-width) !important;
    border-color: var(--fski-cart-main-border-color) !important;
    box-shadow: var(--fski-cart-main-shadow) !important;
    padding: var(--fski-cart-main-padding) !important;
    margin: var(--fski-cart-main-margin) !important;
    border-radius: var(--fski-cart-main-radius) !important;
    overflow: hidden !important;
}

.fski-cart-widget .wc-block-components-main.wc-block-cart__main > .wp-block-woocommerce-cart-items-block {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-totals-block,
.fski-cart-widget .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-sidebar,
.fski-cart-preview__sidebar {
    flex: 1 1 0 !important;
    align-self: flex-start !important;
    width: auto !important;
    min-width: 300px !important;
    max-width: none !important;
    float: none !important;
    background: var(--fski-cart-summary-bg) !important;
    border-style: var(--fski-cart-summary-border-style) !important;
    border-width: var(--fski-cart-summary-border-width) !important;
    border-color: var(--fski-cart-summary-border-color) !important;
    box-shadow: var(--fski-cart-summary-shadow) !important;
    padding: var(--fski-cart-summary-padding) !important;
    margin: var(--fski-cart-summary-margin) !important;
    border-radius: var(--fski-cart-summary-radius) !important;
    overflow: hidden;
}

/* Product list. Runtime and Elementor preview use the same grid. */
.fski-cart-widget .wc-block-cart-items,
.fski-cart-widget .wc-block-cart-items table,
.fski-cart-widget .wp-block-woocommerce-cart-line-items-block {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.fski-cart-widget .wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

.fski-cart-widget .wc-block-cart-items__header {
    display: none !important;
}

.fski-cart-widget .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: minmax(0, var(--fski-cart-image-width)) minmax(0, 1fr) max-content !important;
    column-gap: var(--fski-cart-image-gap) !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: var(--fski-cart-row-padding) !important;
    background: var(--fski-cart-row-bg) !important;
    border-style: var(--fski-cart-row-border-style) !important;
    border-width: var(--fski-cart-row-border-width) !important;
    border-color: var(--fski-cart-row-border-color) !important;
    transition: background-color .18s ease;
}

.fski-cart-widget .wc-block-cart-items__row + .wc-block-cart-items__row {
    margin-top: var(--fski-cart-row-gap) !important;
}

.fski-cart-widget .wc-block-cart-items__row:hover {
    background: var(--fski-cart-row-hover-bg) !important;
}

.fski-cart-widget .wc-block-cart-items__row > td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    vertical-align: top !important;
}

.fski-cart-widget .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
}

.fski-cart-widget .wc-block-cart-item__image > a,
.fski-cart-widget .wc-block-cart-item__image picture {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.fski-cart-widget .wc-block-cart-item__image img,
.fski-cart-widget .fski-cart-preview__image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    border-radius: var(--fski-cart-image-radius) !important;
}

.fski-cart-widget .fski-cart-preview__image {
    background: #efefef;
}

.fski-cart-widget .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
}

.fski-cart-widget .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
}

.fski-cart-widget .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    min-width: 0 !important;
    text-align: right !important;
    white-space: nowrap;
}

.fski-cart-widget .wc-block-components-product-name {
    display: inline-block !important;
    max-width: 100% !important;
    color: var(--fski-cart-title-color) !important;
    text-decoration: none !important;
    font-family: var(--fski-cart-title-font-family, inherit) !important;
    font-size: var(--fski-cart-title-font-size, inherit) !important;
    font-weight: var(--fski-cart-title-font-weight, inherit) !important;
    line-height: var(--fski-cart-title-line-height, normal) !important;
    letter-spacing: var(--fski-cart-title-letter-spacing, normal) !important;
    word-spacing: var(--fski-cart-title-word-spacing, normal) !important;
    text-transform: var(--fski-cart-title-text-transform, none) !important;
    font-style: var(--fski-cart-title-font-style, normal) !important;
    text-decoration-line: var(--fski-cart-title-text-decoration, none) !important;
}

.fski-cart-widget .wc-block-cart-item__prices {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 4px !important;
}

.fski-cart-widget .wc-block-components-product-metadata,
.fski-cart-widget .wc-block-components-product-details {
    margin-top: var(--fski-cart-meta-gap) !important;
    color: var(--fski-cart-meta-color) !important;
    font-family: var(--fski-cart-meta-font-family, inherit) !important;
    font-size: var(--fski-cart-meta-font-size, inherit) !important;
    font-weight: var(--fski-cart-meta-font-weight, inherit) !important;
    line-height: var(--fski-cart-meta-line-height, normal) !important;
    letter-spacing: var(--fski-cart-meta-letter-spacing, normal) !important;
    word-spacing: var(--fski-cart-meta-word-spacing, normal) !important;
    text-transform: var(--fski-cart-meta-text-transform, none) !important;
    font-style: var(--fski-cart-meta-font-style, normal) !important;
}

.fski-cart-widget .wc-block-components-product-metadata p,
.fski-cart-widget .wc-block-components-product-details li {
    margin-top: 0 !important;
    margin-bottom: 3px !important;
    color: inherit !important;
}

.fski-cart-widget .wc-block-components-product-price,
.fski-cart-widget .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.fski-cart-widget .wc-block-cart-item__total {
    color: var(--fski-cart-price-color) !important;
    font-family: var(--fski-cart-price-font-family, inherit) !important;
    font-size: var(--fski-cart-price-font-size, inherit) !important;
    font-weight: var(--fski-cart-price-font-weight, inherit) !important;
    line-height: var(--fski-cart-price-line-height, normal) !important;
    letter-spacing: var(--fski-cart-price-letter-spacing, normal) !important;
    word-spacing: var(--fski-cart-price-word-spacing, normal) !important;
}

.fski-cart-widget .wc-block-cart-item__quantity {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

.fski-cart-widget .wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    min-height: var(--fski-cart-quantity-height) !important;
    background: var(--fski-cart-quantity-bg) !important;
    border-style: var(--fski-cart-quantity-border-style) !important;
    border-width: var(--fski-cart-quantity-border-width) !important;
    border-color: var(--fski-cart-quantity-border-color) !important;
    border-radius: var(--fski-cart-quantity-radius) !important;
}

.fski-cart-widget .wc-block-components-quantity-selector::after {
    display: none !important;
}

.fski-cart-widget .wc-block-components-quantity-selector__button,
.fski-cart-widget .wc-block-components-quantity-selector__input {
    min-width: var(--fski-cart-quantity-height) !important;
    min-height: var(--fski-cart-quantity-height) !important;
    height: var(--fski-cart-quantity-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--fski-cart-quantity-color) !important;
    font-family: var(--fski-cart-quantity-font-family, inherit) !important;
    font-size: var(--fski-cart-quantity-font-size, inherit) !important;
    font-weight: var(--fski-cart-quantity-font-weight, inherit) !important;
    line-height: var(--fski-cart-quantity-line-height, normal) !important;
    text-align: center !important;
}

.fski-cart-widget .wc-block-components-quantity-selector__button {
    background: var(--fski-cart-quantity-button-bg) !important;
}

.fski-cart-widget .wc-block-components-quantity-selector__input {
    background: var(--fski-cart-quantity-bg) !important;
}

.fski-cart-widget .wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--fski-cart-remove-color) !important;
    font-family: var(--fski-cart-remove-font-family, inherit) !important;
    font-size: var(--fski-cart-remove-font-size, inherit) !important;
    font-weight: var(--fski-cart-remove-font-weight, inherit) !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.fski-cart-widget .wc-block-cart-item__remove-link svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
}

.fski-cart-widget .wc-block-cart-item__remove-link:hover {
    color: var(--fski-cart-remove-hover-color) !important;
}

/* Summary card. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block,
.fski-cart-widget .wc-block-components-sidebar.wc-block-cart__sidebar {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/* Remove native summary separators first. The controlled line is added below
 * to the visible coupon/total rows, so Elementor owns its style completely. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-subtotal-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-fee-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-discount-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-shipping-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-taxes-block {
    border: 0 !important;
    box-shadow: none !important;
}

/* WooCommerce adds border-top directly to totals wrappers. The first real row
 * under the cart summary heading must never draw that technical separator.
 * Elementor-controlled separators remain available between later rows. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child::before,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child::after,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-shipping-block.wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-shipping-block.wc-block-components-totals-wrapper::before,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-shipping-block.wc-block-components-totals-wrapper::after {
    border-top: 0 !important;
    border-top-width: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child .wc-block-components-totals-item,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wp-block-woocommerce-cart-order-summary-shipping-block.wc-block-components-totals-wrapper:first-child .wc-block-components-totals-item {
    border-top: 0 !important;
    border-top-width: 0 !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper,
.fski-cart-widget .fski-cart-preview__coupon-wrapper,
.fski-cart-widget .fski-cart-preview__grand-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block,
.fski-cart-widget .fski-cart-preview__totals-block {
    border-top-width: var(--fski-cart-summary-totals-border-width, 1px) !important;
    border-top-style: var(--fski-cart-summary-totals-border-style, none) !important;
    border-top-color: var(--fski-cart-summary-totals-border-color, #d9d9d9) !important;
    padding-bottom: var(--fski-cart-summary-totals-padding-bottom, 16px) !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block {
    padding: var(--fski-cart-summary-heading-padding, 0) !important;
    margin: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-cart__totals-title,
.fski-cart-widget .fski-cart-preview__summary-title {
    padding: 0 !important;
    box-sizing: border-box !important;
}

.fski-cart-widget .wc-block-cart__totals-title,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-cart__totals-title,
.fski-cart-widget .wc-block-cart__totals-title *,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-cart__totals-title * {
    margin: var(--fski-cart-summary-heading-margin) !important;
    color: var(--fski-cart-summary-heading-color) !important;
    font-family: var(--fski-cart-summary-heading-font-family, inherit);
    font-size: var(--fski-cart-summary-heading-font-size, inherit);
    font-weight: var(--fski-cart-summary-heading-font-weight, inherit);
    line-height: var(--fski-cart-summary-heading-line-height, normal);
    letter-spacing: var(--fski-cart-summary-heading-letter-spacing, normal);
    word-spacing: var(--fski-cart-summary-heading-word-spacing, normal);
    text-transform: var(--fski-cart-summary-heading-text-transform, none);
    font-style: var(--fski-cart-summary-heading-font-style, normal);
    text-decoration: var(--fski-cart-summary-heading-text-decoration, none);
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.fski-cart-widget .wc-block-components-totals-item,
.fski-cart-widget .wc-block-components-totals-footer-item {
    border-top-width: var(--fski-cart-summary-separator-width) !important;
    border-top-style: var(--fski-cart-summary-separator-style) !important;
    border-top-color: var(--fski-cart-summary-separator) !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
}

.fski-cart-widget .wc-block-components-totals-item {
    background: var(--fski-cart-summary-row-bg) !important;
    padding: var(--fski-cart-summary-row-padding) !important;
    margin: var(--fski-cart-summary-row-margin) !important;
}

.fski-cart-widget .wc-block-components-totals-item__label,
.fski-cart-widget .wc-block-components-totals-item__label * {
    color: var(--fski-cart-summary-label-color) !important;
    font-family: var(--fski-cart-summary-label-font-family, inherit);
    font-size: var(--fski-cart-summary-label-font-size, inherit);
    font-weight: var(--fski-cart-summary-label-font-weight, inherit);
    line-height: var(--fski-cart-summary-label-line-height, normal);
    letter-spacing: var(--fski-cart-summary-label-letter-spacing, normal);
    word-spacing: var(--fski-cart-summary-label-word-spacing, normal);
    text-transform: var(--fski-cart-summary-label-text-transform, none);
    font-style: var(--fski-cart-summary-label-font-style, normal);
    text-decoration: var(--fski-cart-summary-label-text-decoration, none);
}

.fski-cart-widget .wc-block-components-totals-item__value,
.fski-cart-widget .wc-block-components-totals-item__value * {
    color: var(--fski-cart-summary-value-color) !important;
    font-family: var(--fski-cart-summary-value-font-family, inherit);
    font-size: var(--fski-cart-summary-value-font-size, inherit);
    font-weight: var(--fski-cart-summary-value-font-weight, inherit);
    line-height: var(--fski-cart-summary-value-line-height, normal);
    letter-spacing: var(--fski-cart-summary-value-letter-spacing, normal);
    word-spacing: var(--fski-cart-summary-value-word-spacing, normal);
    text-transform: var(--fski-cart-summary-value-text-transform, none);
    font-style: var(--fski-cart-summary-value-font-style, normal);
    text-decoration: var(--fski-cart-summary-value-text-decoration, none);
}

.fski-cart-widget .wc-block-components-totals-footer-item {
    background: var(--fski-cart-grand-bg) !important;
    color: var(--fski-cart-grand-color) !important;
    padding: var(--fski-cart-grand-padding) !important;
    margin: var(--fski-cart-grand-margin) !important;
    font-family: var(--fski-cart-grand-font-family, inherit);
    font-size: var(--fski-cart-grand-font-size, inherit);
    font-weight: var(--fski-cart-grand-font-weight, 700);
    line-height: var(--fski-cart-grand-line-height, normal);
    letter-spacing: var(--fski-cart-grand-letter-spacing, normal);
    word-spacing: var(--fski-cart-grand-word-spacing, normal);
    text-transform: var(--fski-cart-grand-text-transform, none);
    font-style: var(--fski-cart-grand-font-style, normal);
    text-decoration: var(--fski-cart-grand-text-decoration, none);
}

.fski-cart-widget .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.fski-cart-widget .wc-block-components-totals-footer-item .wc-block-components-totals-item__label * {
    color: var(--fski-cart-grand-label-color, var(--fski-cart-grand-color)) !important;
    font-family: var(--fski-cart-grand-label-font-family, var(--fski-cart-grand-font-family, inherit));
    font-size: var(--fski-cart-grand-label-font-size, var(--fski-cart-grand-font-size, inherit));
    font-weight: var(--fski-cart-grand-label-font-weight, var(--fski-cart-grand-font-weight, 700));
    line-height: var(--fski-cart-grand-label-line-height, var(--fski-cart-grand-line-height, normal));
    letter-spacing: var(--fski-cart-grand-label-letter-spacing, var(--fski-cart-grand-letter-spacing, normal));
    word-spacing: var(--fski-cart-grand-label-word-spacing, var(--fski-cart-grand-word-spacing, normal));
    text-transform: var(--fski-cart-grand-label-text-transform, var(--fski-cart-grand-text-transform, none));
    font-style: var(--fski-cart-grand-label-font-style, var(--fski-cart-grand-font-style, normal));
    text-decoration: var(--fski-cart-grand-label-text-decoration, var(--fski-cart-grand-text-decoration, none));
}

.fski-cart-widget .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.fski-cart-widget .wc-block-components-totals-footer-item .wc-block-components-totals-item__value * {
    color: var(--fski-cart-grand-value-color, var(--fski-cart-grand-color)) !important;
    font-family: var(--fski-cart-grand-value-font-family, var(--fski-cart-grand-font-family, inherit));
    font-size: var(--fski-cart-grand-value-font-size, var(--fski-cart-grand-font-size, inherit));
    font-weight: var(--fski-cart-grand-value-font-weight, var(--fski-cart-grand-font-weight, 700));
    line-height: var(--fski-cart-grand-value-line-height, var(--fski-cart-grand-line-height, normal));
    letter-spacing: var(--fski-cart-grand-value-letter-spacing, var(--fski-cart-grand-letter-spacing, normal));
    word-spacing: var(--fski-cart-grand-value-word-spacing, var(--fski-cart-grand-word-spacing, normal));
    text-transform: var(--fski-cart-grand-value-text-transform, var(--fski-cart-grand-text-transform, none));
    font-style: var(--fski-cart-grand-value-font-style, var(--fski-cart-grand-font-style, normal));
    text-decoration: var(--fski-cart-grand-value-text-decoration, var(--fski-cart-grand-text-decoration, none));
}

/* Coupon. */
.fski-cart-widget .wc-block-components-totals-coupon,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    width: 100% !important;
    background: var(--fski-cart-coupon-bg) !important;
    padding: var(--fski-cart-coupon-padding) !important;
}

.fski-cart-widget .wc-block-components-totals-coupon__form {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
}

.fski-cart-widget .wc-block-components-totals-coupon__input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.fski-cart-widget .wc-block-components-totals-coupon__input input {
    width: 100% !important;
    min-height: 46px !important;
    color: var(--fski-cart-coupon-input-color) !important;
    background: var(--fski-cart-coupon-input-bg) !important;
    border-style: var(--fski-cart-coupon-input-border-style) !important;
    border-width: var(--fski-cart-coupon-input-border-width) !important;
    border-color: var(--fski-cart-coupon-input-border-color) !important;
    border-radius: var(--fski-cart-coupon-input-radius) !important;
    font-family: var(--fski-cart-coupon-input-font-family, inherit) !important;
    font-size: var(--fski-cart-coupon-input-font-size, inherit) !important;
    font-weight: var(--fski-cart-coupon-input-font-weight, inherit) !important;
}

.fski-cart-widget .wc-block-components-totals-coupon__button {
    flex: 0 0 auto !important;
    min-height: 46px !important;
    color: var(--fski-cart-coupon-button-color) !important;
    background: var(--fski-cart-coupon-button-bg) !important;
    border-style: var(--fski-cart-coupon-button-border-style) !important;
    border-width: var(--fski-cart-coupon-button-border-width) !important;
    border-color: var(--fski-cart-coupon-button-border-color) !important;
    border-radius: var(--fski-cart-coupon-button-radius) !important;
    font-family: var(--fski-cart-coupon-button-font-family, inherit) !important;
    font-size: var(--fski-cart-coupon-button-font-size, inherit) !important;
    font-weight: var(--fski-cart-coupon-button-font-weight, inherit) !important;
}

/* Checkout action. */
.fski-cart-widget .wc-block-cart__submit-container,
.fski-cart-widget .wp-block-woocommerce-proceed-to-checkout-block {
    width: 100% !important;
    padding: 0 !important;
    margin: var(--fski-cart-checkout-margin) !important;
    border: 0 !important;
}

.fski-cart-widget .wc-block-cart__submit-button,
.fski-cart-widget .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--fski-cart-checkout-width) !important;
    min-height: 52px !important;
    padding: var(--fski-cart-checkout-padding) !important;
    color: var(--fski-cart-checkout-color) !important;
    background: var(--fski-cart-checkout-bg) !important;
    border-style: var(--fski-cart-checkout-border-style) !important;
    border-width: var(--fski-cart-checkout-border-width) !important;
    border-color: var(--fski-cart-checkout-border-color) !important;
    border-radius: var(--fski-cart-checkout-radius) !important;
    box-shadow: none !important;
    font-family: var(--fski-cart-checkout-font-family, inherit) !important;
    font-size: var(--fski-cart-checkout-font-size, inherit) !important;
    font-weight: var(--fski-cart-checkout-font-weight, 600) !important;
    line-height: var(--fski-cart-checkout-line-height, normal) !important;
    text-align: center !important;
    text-decoration: none !important;
}

.fski-cart-widget .wc-block-cart__submit-button:hover,
.fski-cart-widget .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    color: var(--fski-cart-checkout-hover-color) !important;
    background: var(--fski-cart-checkout-hover-bg) !important;
}

/* Cross-sells and empty state. */
.fski-cart-widget .wp-block-woocommerce-cart-cross-sells-block {
    background: var(--fski-cart-cross-bg) !important;
    padding: var(--fski-cart-cross-padding) !important;
    margin: var(--fski-cart-cross-margin) !important;
}

.fski-cart-widget .fski-cart-cross-sells__heading,
.fski-cart-widget .wp-block-woocommerce-cart-cross-sells-block > h2,
.fski-cart-widget .wp-block-woocommerce-cart-cross-sells-block > h3 {
    color: var(--fski-cart-cross-heading-color) !important;
    font-family: var(--fski-cart-cross-heading-font-family, inherit) !important;
    font-size: var(--fski-cart-cross-heading-font-size, inherit) !important;
    font-weight: var(--fski-cart-cross-heading-font-weight, inherit) !important;
    line-height: var(--fski-cart-cross-heading-line-height, normal) !important;
}

.fski-cart-widget .wp-block-woocommerce-empty-cart-block,
.fski-cart-preview__empty {
    width: 100% !important;
    padding: var(--fski-cart-empty-padding) !important;
    background: var(--fski-cart-empty-bg) !important;
    border-style: var(--fski-cart-empty-border-style) !important;
    border-width: var(--fski-cart-empty-border-width) !important;
    border-color: var(--fski-cart-empty-border-color) !important;
    border-radius: var(--fski-cart-empty-radius) !important;
    text-align: center !important;
}

.fski-cart-widget .wc-block-cart__empty-cart__title,
.fski-cart-preview__empty h2 {
    color: var(--fski-cart-empty-heading-color) !important;
    font-family: var(--fski-cart-empty-heading-font-family, inherit) !important;
    font-size: var(--fski-cart-empty-heading-font-size, inherit) !important;
    font-weight: var(--fski-cart-empty-heading-font-weight, inherit) !important;
    line-height: var(--fski-cart-empty-heading-line-height, normal) !important;
}

.fski-cart-widget .fski-cart-empty__text,
.fski-cart-preview__empty p {
    color: var(--fski-cart-empty-text-color) !important;
    font-family: var(--fski-cart-empty-text-font-family, inherit) !important;
    font-size: var(--fski-cart-empty-text-font-size, inherit) !important;
    font-weight: var(--fski-cart-empty-text-font-weight, inherit) !important;
    line-height: var(--fski-cart-empty-text-line-height, normal) !important;
}

/* Content visibility switches. */
.fski-cart-hide-summary-heading .wc-block-cart__totals-title,
.fski-cart-hide-summary-heading .wp-block-woocommerce-cart-order-summary-heading-block,
.fski-cart-hide-summary-heading .fski-cart-preview__summary-title {
    display: none !important;
}

.fski-cart-hide-coupon .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.fski-cart-hide-coupon .wc-block-components-totals-coupon,
.fski-cart-hide-coupon .fski-cart-preview__coupon {
    display: none !important;
}

.fski-cart-hide-cross-sells .wp-block-woocommerce-cart-cross-sells-block,
.fski-cart-hide-cross-sells .fski-cart-preview__cross-sells {
    display: none !important;
}

.fski-cart-hide-express-payment .wp-block-woocommerce-cart-express-payment-block,
.fski-cart-hide-express-payment .wc-block-cart__payment-options {
    display: none !important;
}

.fski-cart-hide-payment-methods .wp-block-woocommerce-cart-accepted-payment-methods-block,
.fski-cart-hide-payment-methods .wc-block-components-payment-method-icons {
    display: none !important;
}

.fski-cart-hide-empty-products .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.fski-cart-hide-empty-products .wp-block-woocommerce-empty-cart-block .wc-block-grid,
.fski-cart-hide-empty-products .wc-block-cart__empty-cart__title + * + * {
    display: none !important;
}

/* Elementor preview uses the same variables as the frontend. */
.fski-cart-preview__main,
.fski-cart-preview__sidebar {
    background: transparent;
}

.fski-cart-preview__summary-title,
.fski-cart-preview__summary-title * {
    margin: var(--fski-cart-summary-heading-margin);
    color: var(--fski-cart-summary-heading-color);
    font-family: var(--fski-cart-summary-heading-font-family, inherit);
    font-size: var(--fski-cart-summary-heading-font-size, inherit);
    font-weight: var(--fski-cart-summary-heading-font-weight, inherit);
    line-height: var(--fski-cart-summary-heading-line-height, normal);
    letter-spacing: var(--fski-cart-summary-heading-letter-spacing, normal);
    word-spacing: var(--fski-cart-summary-heading-word-spacing, normal);
    text-transform: var(--fski-cart-summary-heading-text-transform, none);
    font-style: var(--fski-cart-summary-heading-font-style, normal);
    text-decoration: var(--fski-cart-summary-heading-text-decoration, none);
}

.fski-cart-preview__coupon {
    display: flex;
    gap: 8px;
    background: var(--fski-cart-coupon-bg);
    padding: var(--fski-cart-coupon-padding);
}

.fski-cart-preview__coupon input {
    min-width: 0;
    flex: 1 1 auto;
    color: var(--fski-cart-coupon-input-color);
    background: var(--fski-cart-coupon-input-bg);
    border-style: var(--fski-cart-coupon-input-border-style);
    border-width: var(--fski-cart-coupon-input-border-width);
    border-color: var(--fski-cart-coupon-input-border-color);
    border-radius: var(--fski-cart-coupon-input-radius);
}

.fski-cart-preview__coupon button {
    color: var(--fski-cart-coupon-button-color);
    background: var(--fski-cart-coupon-button-bg);
    border-style: var(--fski-cart-coupon-button-border-style);
    border-width: var(--fski-cart-coupon-button-border-width);
    border-color: var(--fski-cart-coupon-button-border-color);
    border-radius: var(--fski-cart-coupon-button-radius);
}

.fski-cart-preview__coupon,
.fski-cart-preview__total {
    border-top-width: var(--fski-cart-summary-separator-width);
    border-top-style: var(--fski-cart-summary-separator-style);
    border-top-color: var(--fski-cart-summary-separator);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}

.fski-cart-preview__total {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: var(--fski-cart-summary-row-padding);
    background: var(--fski-cart-summary-row-bg);
}

.fski-cart-preview__total:not(.is-grand) > span {
    color: var(--fski-cart-summary-label-color);
    font-family: var(--fski-cart-summary-label-font-family, inherit);
    font-size: var(--fski-cart-summary-label-font-size, inherit);
    font-weight: var(--fski-cart-summary-label-font-weight, inherit);
    line-height: var(--fski-cart-summary-label-line-height, normal);
    letter-spacing: var(--fski-cart-summary-label-letter-spacing, normal);
    word-spacing: var(--fski-cart-summary-label-word-spacing, normal);
    text-transform: var(--fski-cart-summary-label-text-transform, none);
    font-style: var(--fski-cart-summary-label-font-style, normal);
    text-decoration: var(--fski-cart-summary-label-text-decoration, none);
}

.fski-cart-preview__total:not(.is-grand) > strong {
    color: var(--fski-cart-summary-value-color);
    font-family: var(--fski-cart-summary-value-font-family, inherit);
    font-size: var(--fski-cart-summary-value-font-size, inherit);
    font-weight: var(--fski-cart-summary-value-font-weight, inherit);
    line-height: var(--fski-cart-summary-value-line-height, normal);
    letter-spacing: var(--fski-cart-summary-value-letter-spacing, normal);
    word-spacing: var(--fski-cart-summary-value-word-spacing, normal);
    text-transform: var(--fski-cart-summary-value-text-transform, none);
    font-style: var(--fski-cart-summary-value-font-style, normal);
    text-decoration: var(--fski-cart-summary-value-text-decoration, none);
}

.fski-cart-preview__total.is-grand {
    background: var(--fski-cart-grand-bg);
    color: var(--fski-cart-grand-color);
    padding: var(--fski-cart-grand-padding);
    font-family: var(--fski-cart-grand-font-family, inherit);
    font-size: var(--fski-cart-grand-font-size, inherit);
    font-weight: var(--fski-cart-grand-font-weight, 700);
    line-height: var(--fski-cart-grand-line-height, normal);
}

.fski-cart-preview__total.is-grand > span {
    color: var(--fski-cart-grand-label-color, var(--fski-cart-grand-color));
    font-family: var(--fski-cart-grand-label-font-family, var(--fski-cart-grand-font-family, inherit));
    font-size: var(--fski-cart-grand-label-font-size, var(--fski-cart-grand-font-size, inherit));
    font-weight: var(--fski-cart-grand-label-font-weight, var(--fski-cart-grand-font-weight, 700));
    line-height: var(--fski-cart-grand-label-line-height, var(--fski-cart-grand-line-height, normal));
}

.fski-cart-preview__total.is-grand > strong {
    color: var(--fski-cart-grand-value-color, var(--fski-cart-grand-color));
    font-family: var(--fski-cart-grand-value-font-family, var(--fski-cart-grand-font-family, inherit));
    font-size: var(--fski-cart-grand-value-font-size, var(--fski-cart-grand-font-size, inherit));
    font-weight: var(--fski-cart-grand-value-font-weight, var(--fski-cart-grand-font-weight, 700));
    line-height: var(--fski-cart-grand-value-line-height, var(--fski-cart-grand-line-height, normal));
}

.fski-cart-preview__checkout {
    width: var(--fski-cart-checkout-width);
    margin-top: 20px;
    padding: var(--fski-cart-checkout-padding);
    color: var(--fski-cart-checkout-color);
    background: var(--fski-cart-checkout-bg);
    border-style: var(--fski-cart-checkout-border-style);
    border-width: var(--fski-cart-checkout-border-width);
    border-color: var(--fski-cart-checkout-border-color);
    border-radius: var(--fski-cart-checkout-radius);
}

.fski-cart-preview__checkout:hover {
    color: var(--fski-cart-checkout-hover-color);
    background: var(--fski-cart-checkout-hover-bg);
}

@media (max-width: 900px) {
    .fski-cart-widget > .wp-block-woocommerce-cart > .wp-block-woocommerce-filled-cart-block,
    .fski-cart-widget .wc-block-components-sidebar-layout.wc-block-cart,
    .fski-cart-preview.wc-block-cart {
        flex-direction: column !important;
    }

    .fski-cart-widget > .wp-block-woocommerce-cart > .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block,
    .fski-cart-widget > .wp-block-woocommerce-cart > .wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-totals-block,
    .fski-cart-widget .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-main,
    .fski-cart-widget .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-sidebar,
    .fski-cart-preview__main,
    .fski-cart-preview__sidebar {
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 600px) {
    .fski-cart-widget .wc-block-cart-items__row {
        grid-template-columns: minmax(0, var(--fski-cart-image-width)) minmax(0, 1fr) !important;
    }

    .fski-cart-widget .wc-block-cart-item__total {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        margin-top: 8px !important;
        text-align: left !important;
    }

    .fski-cart-widget .wc-block-components-totals-coupon__form {
        flex-direction: column !important;
    }

    .fski-cart-widget .wc-block-components-totals-coupon__button {
        width: 100% !important;
    }
}

.fski-cart-preview__empty-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}

.fski-cart-preview__empty-products span {
    display: block;
    aspect-ratio: 1 / 1;
    background: #efefef;
}

/* 1.1.4: WooCommerce wraps each cart summary row in
 * .wc-block-components-totals-wrapper and adds its own separator there.
 * The F-SKI widget draws the configurable separator on the visible row,
 * therefore the structural wrapper must remain borderless to avoid doubles. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper::before,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper::after,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > [class*="cart-order-summary-"]::before,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > [class*="cart-order-summary-"]::after {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
}


/* 1.1.5: The hydrated Cart Block can leave an empty totals row between the
 * heading and the first real amount. WooCommerce gives that technical row a
 * separator and the F-SKI visible row has its own configurable separator,
 * which creates two horizontal lines. Keep structural wrappers borderless and
 * completely remove totals rows that contain no visible label or value. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block {
    border-bottom: 0 !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block::before,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block::after,
.fski-cart-widget .wc-block-cart__totals-title,
.fski-cart-widget .wc-block-cart__totals-title::before,
.fski-cart-widget .wc-block-cart__totals-title::after {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper::before,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper::after {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
}

/* React may keep an empty subtotal/fee/discount wrapper mounted. It must not
 * reserve padding or draw a separator. The :has selectors are supported by
 * current WordPress browsers and are scoped only to the cart summary. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > [class*="wp-block-woocommerce-cart-order-summary-"]:has(.wc-block-components-totals-item):not(:has(.wc-block-components-totals-item__label:not(:empty))):not(:has(.wc-block-components-totals-item__value:not(:empty))),
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-item:empty),
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* 1.1.8: identyczny model odstępów w podglądzie Elementora i po hydratacji Cart Block. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-subtotal-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-shipping-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-fee-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-discount-block,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-taxes-block {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper {
    border: 0 !important;
}
.fski-cart-widget .wc-block-components-totals-item {
    padding: var(--fski-cart-summary-row-padding) !important;
    margin: var(--fski-cart-summary-row-margin) !important;
}
.fski-cart-widget .wc-block-components-totals-footer-item {
    padding: var(--fski-cart-grand-padding) !important;
    margin: var(--fski-cart-grand-margin) !important;
}
.fski-cart-widget .wc-block-cart__submit-container,
.fski-cart-widget .wp-block-woocommerce-proceed-to-checkout-block {
    padding: 0 !important;
    margin: var(--fski-cart-checkout-margin) !important;
}
.fski-cart-widget .wc-block-cart__submit-button,
.fski-cart-widget .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
.fski-cart-widget .fski-cart-preview__checkout {
    margin: 0 !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    border-top-width: var(--fski-cart-summary-separator-width) !important;
    border-top-style: var(--fski-cart-summary-separator-style) !important;
    border-top-color: var(--fski-cart-summary-separator) !important;
}

/* 1.1.12: the editable heading padding belongs to the heading block wrapper.
 * The configurable line is the top border of the following totals block, so
 * wrapper padding creates the real text-to-line distance. The same structure
 * is used by Elementor preview and the hydrated WooCommerce frontend. */
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-block > .wp-block-woocommerce-cart-order-summary-heading-block {
    padding: var(--fski-cart-summary-heading-padding, 0) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block > .wc-block-cart__totals-title,
.fski-cart-widget .wp-block-woocommerce-cart-order-summary-heading-block > .fski-cart-preview__summary-title {
    padding: 0 !important;
    box-sizing: border-box !important;
}



/* Checkout summary heading and coupon use the same stable WooCommerce classes
 * in Elementor preview and on the hydrated frontend. */
.fski-checkout-widget .wc-block-components-checkout-order-summary__title,
.fski-checkout-preview__summary-heading {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.fski-checkout-widget .wc-block-components-checkout-order-summary__title-text,
.fski-checkout-preview__summary-heading-text {
    margin: 0;
    padding: 0;
    color: inherit;
}

.fski-checkout-preview__summary-heading-price {
    display: none;
}

.fski-checkout-widget .wc-block-components-totals-coupon,
.fski-checkout-preview__coupon {
    box-sizing: border-box;
    width: 100%;
}

.fski-checkout-widget .wc-block-components-totals-coupon > .wc-block-components-panel__button,
.fski-checkout-preview__coupon > .wc-block-components-panel__button {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
}

.fski-checkout-widget .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
.fski-checkout-preview__coupon .wc-block-components-panel__button-icon {
    flex: 0 0 auto;
    order: 2;
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.fski-checkout-widget .wc-block-components-totals-coupon .wc-block-components-panel__content,
.fski-checkout-preview__coupon .wc-block-components-panel__content {
    box-sizing: border-box;
    width: 100%;
}

.fski-checkout-preview__coupon .wc-block-components-totals-coupon__form {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.fski-checkout-preview__coupon .wc-block-components-totals-coupon__input {
    flex: 1 1 auto;
}

.fski-checkout-preview__coupon .wc-block-components-totals-coupon__input input {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
}

.fski-checkout-preview__coupon .wc-block-components-totals-coupon__button {
    flex: 0 0 auto;
    min-height: 44px;
}

/* --------------------------------------------------------------------------
 * Account widgets: login, registration and password reset.
 * ----------------------------------------------------------------------- */
.elementor-widget-fski-woo-login,
.elementor-widget-fski-woo-registration,
.elementor-widget-fski-woo-reset-password,
.elementor-widget-fski-woo-login > .elementor-widget-container,
.elementor-widget-fski-woo-registration > .elementor-widget-container,
.elementor-widget-fski-woo-reset-password > .elementor-widget-container,
.fski-account-widget {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

.fski-account-widget {
    --fski-account-gap: 18px;
    --fski-account-panel-duration: 380ms;
    --fski-account-panel-gap: 32px;
    --fski-account-panel-easing: cubic-bezier(.22, 1, .36, 1);
    margin-inline: auto;
}

.fski-account-widget *,
.fski-account-widget *::before,
.fski-account-widget *::after {
    box-sizing: border-box;
}

.fski-account-title,
.fski-account-panel-title {
    margin: 0 0 20px;
}

.fski-account-description,
.fski-account-panel-description {
    margin: 0 0 20px;
}

.fski-account-description > :first-child,
.fski-account-panel-description > :first-child,
.fski-account-status > :first-child,
.fski-account-form .woocommerce-privacy-policy-text > :first-child {
    margin-top: 0;
}

.fski-account-description > :last-child,
.fski-account-panel-description > :last-child,
.fski-account-status > :last-child,
.fski-account-form .woocommerce-privacy-policy-text > :last-child {
    margin-bottom: 0;
}

.fski-account-form {
    display: grid;
    gap: var(--fski-account-gap);
    width: 100%;
    margin: 0;
}

.fski-account-form .form-row,
.fski-account-form p,
.fski-account-form .woocommerce-form-row {
    margin: 0;
}

.fski-account-field-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
}

.fski-account-label {
    display: block;
    width: 100%;
    margin: 0 0 7px;
}

.fski-account-label--hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.fski-account-password-field {
    position: relative;
    display: block;
    width: 100%;
}

.fski-account-password-field .fski-account-input {
    padding-inline-end: 54px !important;
}

.fski-account-password-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: currentColor !important;
    box-shadow: none !important;
    line-height: 1 !important;
    cursor: pointer !important;
    appearance: none !important;
    z-index: 2;
}

.fski-account-password-toggle:hover,
.fski-account-password-toggle:focus {
    border: 0 !important;
    background: transparent !important;
    color: currentColor !important;
    box-shadow: none !important;
    outline: 2px solid currentColor;
    outline-offset: -4px;
}

.fski-account-password-icon {
    display: inline-flex;
    width: 21px;
    height: 21px;
}

.fski-account-password-icon[hidden] {
    display: none !important;
}

.fski-account-password-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.fski-account-widget .show-password-input {
    display: none !important;
}

.fski-account-form input[type="text"],
.fski-account-form input[type="email"],
.fski-account-form input[type="password"],
.fski-account-form input[type="tel"],
.fski-account-form input[type="url"],
.fski-account-form input[type="number"],
.fski-account-form select,
.fski-account-form textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #8d8d8d;
    border-radius: 0;
    background: #fff;
    color: #222;
    box-shadow: none;
    line-height: 1.3;
}

.fski-account-form textarea {
    min-height: 120px;
    resize: vertical;
}

.fski-account-form input:focus,
.fski-account-form select:focus,
.fski-account-form textarea:focus {
    border-color: #222;
    outline: 1px solid #222;
    outline-offset: 0;
}


.fski-account-panels,
.fski-account-panel {
    width: 100%;
}

.fski-account-panels--transitioning {
    position: relative;
    overflow: hidden;
}

.fski-account-panels--transitioning .fski-account-panel {
    will-change: transform;
}

.fski-account-panel[hidden] {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .fski-account-panels,
    .fski-account-panel {
        scroll-behavior: auto !important;
    }
}

.fski-account-panel-title {
    font-size: 1.35em;
    line-height: 1.25;
}

.fski-account-panel-description {
    line-height: 1.5;
}

.fski-account-switch-row,
.fski-account-panel-back-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin: 0;
}

.fski-account-panel-back-row {
    margin-top: var(--fski-account-gap);
}

button.fski-account-link {
    display: inline;
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-align: inherit;
    cursor: pointer;
    appearance: none;
}

button.fski-account-link:hover,
button.fski-account-link:focus {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.fski-account-inline-message[hidden] {
    display: none !important;
}

.fski-account-inline-message {
    margin: 0;
}

.fski-account-status--success {
    border-color: #3c763d;
}

.fski-account-status--error {
    border-color: #b81c23;
}

.fski-account-form[aria-busy="true"] {
    opacity: .72;
}

.fski-account-form .fski-account-submit:disabled {
    cursor: wait;
    opacity: .7;
}

.fski-account-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
    width: 100%;
}

.fski-account-remember {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
}

.fski-account-checkbox {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
}

.fski-account-submit-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

.fski-account-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 12px 24px;
    border: 1px solid #222;
    border-radius: 0;
    background: #222;
    color: #fff;
    box-shadow: none;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.fski-account-submit:hover,
.fski-account-submit:focus {
    border-color: #444;
    background: #444;
    color: #fff;
}

.fski-account-link,
.fski-account-form .woocommerce-privacy-policy-text a {
    text-decoration: none;
}

.fski-account-link:hover,
.fski-account-link:focus,
.fski-account-form .woocommerce-privacy-policy-text a:hover,
.fski-account-form .woocommerce-privacy-policy-text a:focus {
    text-decoration: underline;
}

.fski-account-generated-password-notice,
.fski-account-form .woocommerce-privacy-policy-text {
    width: 100%;
    margin: 0;
    font-size: .92em;
    line-height: 1.5;
}

.fski-account-status,
.fski-account-editor-note {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #d8d8d8;
    background: #f7f7f7;
}

.fski-account-status p {
    margin: 0 0 8px;
}

.fski-account-editor-note {
    margin: 0 0 var(--fski-account-gap);
    font-size: 13px;
}

.fski-account-widget > .woocommerce-notices-wrapper,
.fski-account-widget > .woocommerce-error,
.fski-account-widget > .woocommerce-message,
.fski-account-widget > .woocommerce-info {
    width: 100%;
    margin: 0 0 var(--fski-account-gap);
}

.fski-account-widget .woocommerce-error,
.fski-account-widget .woocommerce-message,
.fski-account-widget .woocommerce-info {
    list-style: none;
}

@media (max-width: 520px) {
    .fski-account-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

.fski-account-label .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.fski-account-form .woocommerce-form__label-for-checkbox,
.fski-account-form label.checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* ========================================================================
 * F-SKI Woo — URL messages widget
 * ====================================================================== */
.fski-query-messages,
.fski-query-message,
.fski-query-message * {
    box-sizing: border-box;
}

.fski-query-messages {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 16px;
}

.fski-query-message {
    position: relative;
    display: flex;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
    column-gap: 14px;
    padding: 16px 18px;
    border: 1px solid currentColor;
    border-radius: 4px;
    transition: opacity 180ms ease, transform 180ms ease;
}

.fski-query-message--success {
    color: #1f6f43;
    border-color: #9ed5b5;
    background: #eff9f3;
}

.fski-query-message--info {
    color: #245d85;
    border-color: #a9cee8;
    background: #f0f7fc;
}

.fski-query-message--warning {
    color: #795900;
    border-color: #e4cb78;
    background: #fff9e6;
}

.fski-query-message--error {
    color: #8c2f32;
    border-color: #e1acad;
    background: #fff2f2;
}

.fski-query-message--custom {
    color: #353535;
    border-color: #d3d3d3;
    background: #f7f7f7;
}

.fski-query-message__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: currentColor;
    font-size: 22px;
    line-height: 1;
}

.fski-query-message__icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.fski-query-message--icon-right .fski-query-message__icon {
    order: 2;
}

.fski-query-message__content {
    flex: 1 1 auto;
    min-width: 0;
}

.fski-query-message__title {
    margin: 0 0 4px;
    color: inherit;
    font-size: 1.05em;
    font-weight: 600;
    line-height: 1.35;
}

.fski-query-message__text {
    color: inherit;
    line-height: 1.55;
}

.fski-query-message__text > :first-child {
    margin-top: 0;
}

.fski-query-message__text > :last-child {
    margin-bottom: 0;
}

.fski-query-message__text a {
    color: inherit;
    text-decoration: underline;
}

.fski-query-message__dismiss {
    order: 3;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: -4px -6px -4px 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: currentColor;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    opacity: .72;
    appearance: none;
}

.fski-query-message__dismiss:hover,
.fski-query-message__dismiss:focus {
    background: transparent;
    color: currentColor;
    opacity: 1;
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.fski-query-message.is-dismissing {
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
}

.fski-query-messages__editor-note {
    width: 100%;
    padding: 12px 14px;
    border: 1px dashed #b8b8b8;
    background: #f7f7f7;
    color: #555;
    font-size: 13px;
    line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
    .fski-query-message {
        transition: none;
    }
}

/* Customer account menu widget. */
.fski-account-menu,
.fski-account-menu * {
    box-sizing: border-box;
}

.fski-account-menu {
    position: relative;
    max-width: 100%;
}

/*
 * The account menu can be rendered inside WooCommerce, Elementor and themes
 * that apply very specific link/button rules. These scoped resets ensure that
 * every Elementor style control remains the source of truth.
 */
.fski-account-menu .fski-account-menu__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    list-style: none !important;
}

.fski-account-menu .fski-account-menu__list--root {
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
}

.fski-account-menu .fski-account-menu__item {
    position: relative;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.fski-account-menu__row {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    border: 0 solid transparent;
    background: transparent;
    color: inherit;
    overflow: hidden;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.fski-account-menu .fski-account-menu__row > .fski-account-menu__link,
.fski-account-menu .fski-account-menu__row > .fski-account-menu__group {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    width: auto;
    min-height: 0;
    margin: 0 !important;
    padding: 12px 14px;
    border: 0 !important;
    border-radius: 0 !important;
    outline-offset: -2px;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    text-align: inherit !important;
    text-decoration: none !important;
    text-transform: inherit !important;
    letter-spacing: inherit !important;
    appearance: none;
}

.fski-account-menu .fski-account-menu__row > .fski-account-menu__link:hover,
.fski-account-menu .fski-account-menu__row > .fski-account-menu__link:focus,
.fski-account-menu .fski-account-menu__row > .fski-account-menu__link:active,
.fski-account-menu .fski-account-menu__row > .fski-account-menu__link:visited,
.fski-account-menu .fski-account-menu__row > .fski-account-menu__group:hover,
.fski-account-menu .fski-account-menu__row > .fski-account-menu__group:focus {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    text-decoration: none !important;
}

.fski-account-menu__group {
    cursor: default;
}

.fski-account-menu__label {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    gap: 10px;
    color: inherit !important;
    font: inherit !important;
}

.fski-account-menu__text {
    min-width: 0;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    overflow-wrap: anywhere;
}

.fski-account-menu__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: currentColor;
}

.fski-account-menu__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor !important;
}

.fski-account-menu .fski-account-menu__submenu-toggle {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 42px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline-offset: -2px;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font: inherit !important;
    line-height: 1 !important;
    cursor: pointer;
    appearance: none;
}

.fski-account-menu .fski-account-menu__submenu-toggle:hover,
.fski-account-menu .fski-account-menu__submenu-toggle:focus,
.fski-account-menu .fski-account-menu__submenu-toggle:active {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
}

.fski-account-menu__submenu-toggle svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: currentColor !important;
    transition: transform .2s ease;
}

.fski-account-menu__item.is-open > .fski-account-menu__row .fski-account-menu__submenu-toggle svg {
    transform: rotate(180deg);
}

.fski-account-menu .fski-account-menu__submenu-toggle--hidden-icon {
    min-width: 20px;
    padding: 0 !important;
}

.fski-account-menu__submenu-wrap[hidden] {
    display: none !important;
}

.fski-account-menu .fski-account-menu__submenu {
    gap: 6px;
    margin: 6px 0 0 20px !important;
    padding: 0 !important;
}

.fski-account-menu__editor-note {
    padding: 12px 14px;
    border: 1px dashed #b8b8b8;
    background: #f7f7f7;
    color: #555;
    font-size: 13px;
    line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
    .fski-account-menu__link,
    .fski-account-menu__group,
    .fski-account-menu__submenu-toggle svg {
        transition: none;
    }
}
