/* ================================================================
   CHECKOUT — SCO (SuperStore CheckOut) component styles
   Place at: assets/css/checkout.css
   All variables inherit from theme's :root design tokens
   ================================================================ */

/* ── Layout ── */
.sco-form { width: 100%; }

.sco-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 2rem;
    align-items: start;
}

@media (max-width: 1023px) {
    .sco-grid { grid-template-columns: 1fr; }
    .sco-right { order: -1; }
}

/* ── Empty state ── */
.sco-empty {
    text-align: center;
    padding: 5rem 2rem;
    max-width: 480px;
    margin: 0 auto;
}
.sco-empty svg {
    width: 64px; height: 64px;
    margin: 0 auto 1.5rem;
    opacity: .15;
    display: block;
    color: var(--clr-accent);
}
.sco-empty h2 { font-size: 1.75rem; margin-bottom: .75rem; }
.sco-empty p  { color: var(--clr-grey-400); margin-bottom: 1.5rem; }

/* ── Step indicator ── */
.sco-steps {
    display: flex;
    align-items: center;
    margin-bottom: 1.75rem;
    padding: 1rem 1.5rem;
    background: var(--clr-white);
    border: 1px solid var(--clr-grey-100);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.sco-step {
    display: flex;
    align-items: center;
    gap: .55rem;
    opacity: .35;
    transition: opacity .3s;
}
.sco-step.is-active  { opacity: 1; }
.sco-step.is-done    { opacity: 1; }

.sco-step__num {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--clr-grey-100);
    color: var(--clr-grey-600);
    font-family: var(--font-display);
    font-size: .8rem;
    font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .3s, color .3s;
}
.sco-step.is-active .sco-step__num {
    background: var(--clr-accent);
    color: var(--clr-primary-dark);
}
.sco-step.is-done .sco-step__num {
    background: var(--clr-success);
    color: #fff;
}
.sco-step.is-done .sco-step__num svg { display: block; }

.sco-step__label {
    font-family: var(--font-display);
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--clr-grey-800);
    white-space: nowrap;
}
.sco-step.is-active .sco-step__label { color: var(--clr-primary); }
.sco-step.is-done   .sco-step__label { color: var(--clr-success); }

.sco-step__line {
    flex: 1;
    height: 2px;
    background: var(--clr-grey-100);
    min-width: 1.25rem;
    margin: 0 .65rem;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}
.sco-step__line::after {
    content: '';
    position: absolute; left: 0; top: 0; bottom: 0;
    width: 0;
    background: var(--clr-accent);
    transition: width .4s ease;
}
.sco-step.is-done + .sco-step__line::after { width: 100%; }

/* ── SCO internal notices (login notice, warnings) ── */
.sco-notice {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .9rem 1.1rem;
    border-radius: var(--radius-md);
    font-size: .875rem;
    margin-bottom: 1.25rem;
    line-height: 1.5;
}
.sco-notice--info {
    background: var(--clr-accent-light);
    border: 1px solid rgba(122,179,23,.3);
    color: #3d5a09;
}
.sco-notice--info svg { color: var(--clr-accent); flex-shrink: 0; }
.sco-notice--warn {
    background: #fef2f0;
    border: 1px solid #f5a9a0;
    color: #a52a20;
}
.sco-notice--warn svg { color: var(--clr-error); flex-shrink: 0; }

/* ── Section cards ── */
.sco-section {
    background: var(--clr-white);
    border: 1px solid var(--clr-grey-100);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    margin-bottom: 1.25rem;
    transition: box-shadow .2s;
}
.sco-section:focus-within {
    box-shadow: 0 0 0 3px var(--clr-accent-dim), var(--shadow-md);
}

.sco-section__head {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.35rem;
    background: var(--clr-primary);
    border-bottom: 2px solid var(--clr-accent);
}
.sco-section__num {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--clr-accent);
    color: var(--clr-primary-dark);
    font-family: var(--font-display);
    font-size: .85rem;
    font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.sco-section__title {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--clr-white);
    margin: 0;
    line-height: 1.2;
}
.sco-section__body { padding: 1.35rem; }

/* ── Form fields grid ── */
.sco-fields-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .9rem;
}
.sco-field--full { grid-column: 1 / -1; }

@media (max-width: 640px) {
    .sco-fields-grid { grid-template-columns: 1fr; }
    .sco-field--full { grid-column: 1; }
}

/* ── Labels ── */
.sco-label {
    display: block;
    font-size: .75rem;
    font-weight: 700;
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--clr-grey-600);
    margin-bottom: .35rem;
}
.sco-required {
    color: var(--clr-error);
    margin-left: .15rem;
}

/* ── Inputs ── */
.sco-input,
.sco-select,
.sco-textarea {
    width: 100%;
    padding: .72rem 1rem;
    border: 1.5px solid var(--clr-grey-200);
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: .9rem;
    color: var(--clr-grey-800);
    background: #fff;
    outline: none;
    transition: border-color .18s, box-shadow .18s, background .18s;
    line-height: 1.5;
    -webkit-appearance: none;
    appearance: none;
}
.sco-input:hover,
.sco-select:hover,
.sco-textarea:hover {
    border-color: var(--clr-grey-400);
}
.sco-input:focus,
.sco-select:focus,
.sco-textarea:focus {
    border-color: var(--clr-accent);
    box-shadow: 0 0 0 3px var(--clr-accent-dim);
    background: #fafff2;
}
.sco-input::placeholder,
.sco-textarea::placeholder { color: var(--clr-grey-400); }
.sco-textarea { resize: vertical; min-height: 84px; }

/* ── Select wrapper ── */
.sco-select-wrap { position: relative; }
.sco-select { padding-right: 2.5rem; cursor: pointer; }
.sco-select-arrow {
    position: absolute;
    right: .85rem; top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--clr-grey-400);
    display: flex; align-items: center;
    transition: color .18s;
}
.sco-select-wrap:focus-within .sco-select-arrow { color: var(--clr-accent); }

/* ── Radio cards ── */
.sco-radio-list { display: flex; flex-direction: column; gap: .65rem; }

.sco-radio-card {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .9rem 1.1rem;
    border: 2px solid var(--clr-grey-100);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: border-color .18s, background .18s, box-shadow .18s;
    background: var(--clr-white);
    position: relative;
}
.sco-radio-card:hover {
    border-color: var(--clr-accent);
    background: var(--clr-accent-light);
}
.sco-radio-card.is-selected {
    border-color: var(--clr-accent);
    background: var(--clr-accent-light);
    box-shadow: 0 0 0 1px var(--clr-accent);
}
.sco-radio { display: none; }

.sco-radio-indicator {
    width: 20px; height: 20px;
    border-radius: 50%;
    border: 2px solid var(--clr-grey-300, #c8cbc5);
    flex-shrink: 0;
    position: relative;
    transition: border-color .18s;
    background: #fff;
}
.sco-radio-card.is-selected .sco-radio-indicator {
    border-color: var(--clr-accent);
}
.sco-radio-card.is-selected .sco-radio-indicator::after {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: var(--clr-accent);
}

.sco-radio-content { flex: 1; min-width: 0; }
.sco-radio-label {
    display: block;
    font-family: var(--font-display);
    font-size: .95rem;
    font-weight: 700;
    color: var(--clr-primary);
    letter-spacing: .02em;
}
.sco-radio-desc {
    display: block;
    font-size: .8rem;
    color: var(--clr-grey-400);
    margin-top: .25rem;
    line-height: 1.45;
}
.sco-radio-price {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 800;
    color: var(--clr-primary);
    flex-shrink: 0;
}
.sco-radio-icon { flex-shrink: 0; display: flex; align-items: center; }
.sco-radio-icon img { max-height: 24px; width: auto; border-radius: 3px; }

/* Payment fields */
.sco-payment-fields {
    padding: 1.1rem;
    margin-top: .3rem;
    background: var(--clr-grey-50);
    border: 1px solid var(--clr-grey-100);
    border-radius: var(--radius-md);
}

/* ── Checkbox / toggle ── */
.sco-toggle-label {
    display: flex;
    align-items: center;
    gap: .65rem;
    cursor: pointer;
    font-size: .9rem;
    color: var(--clr-grey-800);
    user-select: none;
    line-height: 1.45;
}
.sco-checkbox { display: none; }
.sco-toggle-box {
    width: 20px; height: 20px;
    border-radius: var(--radius-sm);
    border: 2px solid var(--clr-grey-200);
    background: #fff;
    flex-shrink: 0;
    position: relative;
    transition: border-color .18s, background .18s;
}
.sco-checkbox:checked + .sco-toggle-box {
    background: var(--clr-accent);
    border-color: var(--clr-accent);
}
.sco-checkbox:checked + .sco-toggle-box::after {
    content: '';
    position: absolute;
    left: 5px; top: 2px;
    width: 6px; height: 10px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

/* ── Order notes ── */
.sco-notes { margin-top: 1.35rem; }
.sco-notes__field { margin-top: .75rem; }

/* ── Collapsible ── */
.sco-collapsible { overflow: hidden; }

/* ════════════════════════════════
   RIGHT — Summary box
════════════════════════════════ */
.sco-summary {
    background: var(--clr-white);
    border: 1px solid var(--clr-grey-100);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    position: sticky;
    top: calc(var(--topbar-h) + var(--header-h) + var(--subnav-h, 0px) + 1.5rem);
}

.sco-summary__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.15rem 1.35rem;
    background: var(--clr-primary);
    border-bottom: 2px solid var(--clr-accent);
}
.sco-summary__title {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--clr-white);
    margin: 0;
}
.sco-summary__edit {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-family: var(--font-display);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--clr-on-dark-muted);
    transition: color .15s;
}
.sco-summary__edit:hover { color: var(--clr-accent); }

/* Products list */
.sco-summary__items {
    padding: 1rem 1.35rem;
    display: flex;
    flex-direction: column;
    gap: .9rem;
    border-bottom: 1px solid var(--clr-grey-100);
    max-height: 320px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--clr-accent) transparent;
}
.sco-summary__items::-webkit-scrollbar { width: 3px; }
.sco-summary__items::-webkit-scrollbar-thumb {
    background: var(--clr-accent);
    border-radius: 99px;
}

.sco-product {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
}
.sco-product__img-wrap {
    position: relative;
    flex-shrink: 0;
    width: 58px;
}
.sco-product__img {
    width: 58px; height: 58px;
    object-fit: cover;
    border-radius: var(--radius-md);
    border: 1px solid var(--clr-grey-100);
    display: block;
}
.sco-product__qty {
    position: absolute;
    top: -7px; right: -7px;
    width: 21px; height: 21px;
    border-radius: 50%;
    background: var(--clr-primary);
    color: #fff;
    font-family: var(--font-display);
    font-size: .68rem;
    font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--clr-white);
}
.sco-product__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.sco-product__name {
    font-size: .875rem;
    font-weight: 600;
    color: var(--clr-grey-800);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sco-product__variant {
    font-size: .75rem;
    color: var(--clr-grey-400);
}
.sco-product__price {
    flex-shrink: 0;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 800;
    color: var(--clr-primary);
}

/* Coupon */
.sco-coupon {
    padding: .9rem 1.35rem;
    border-bottom: 1px solid var(--clr-grey-100);
}
.sco-coupon__toggle {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-display);
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--clr-grey-500, var(--clr-grey-600));
    background: none;
    border: none;
    cursor: pointer;
    width: 100%;
    padding: 0;
    transition: color .15s;
}
.sco-coupon__toggle:hover { color: var(--clr-accent); }
.sco-coupon__chevron { margin-left: auto; transition: transform .25s; }
.sco-coupon__toggle[aria-expanded="true"] .sco-coupon__chevron {
    transform: rotate(180deg);
}
.sco-coupon__form { padding-top: .8rem; }
.sco-coupon__row { display: flex; gap: .5rem; align-items: stretch; }
.sco-coupon__row .sco-input { flex: 1; }
.sco-coupon__applied {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-top: .55rem;
    font-size: .8rem;
    color: var(--clr-success);
    font-weight: 600;
}
.sco-coupon__remove {
    margin-left: auto;
    color: var(--clr-grey-400);
    font-size: 1.1rem;
    line-height: 1;
    transition: color .15s;
}
.sco-coupon__remove:hover { color: var(--clr-error); }

/* Totals */
.sco-totals {
    padding: 1.1rem 1.35rem;
    border-bottom: 1px solid var(--clr-grey-100);
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.sco-totals__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: .875rem;
    color: var(--clr-grey-600);
    padding: .2rem 0;
}
.sco-totals__row--discount {
    color: var(--clr-success);
    font-weight: 600;
}
.sco-totals__row--total {
    font-size: 1.2rem;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--clr-primary);
    border-top: 2px solid var(--clr-grey-100);
    margin-top: .5rem;
    padding-top: .8rem;
    letter-spacing: .01em;
}
.sco-totals__row--total span:last-child { color: var(--clr-accent); }

/* Terms */
.sco-terms {
    padding: .9rem 1.35rem;
    border-bottom: 1px solid var(--clr-grey-100);
    font-size: .8rem;
    color: var(--clr-grey-500, var(--clr-grey-600));
    line-height: 1.55;
}
.sco-terms a {
    color: var(--clr-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Submit button */
.sco-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    width: calc(100% - 2.7rem);
    margin: 1.1rem 1.35rem;
    min-height: 54px;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .06em;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-green);
    transition: transform .18s, box-shadow .18s, background .18s;
    position: relative;
    overflow: hidden;
}
.sco-submit::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 60%);
    pointer-events: none;
}
.sco-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(122,179,23,.45);
}
.sco-submit:active { transform: translateY(0); }
.sco-submit.is-loading {
    opacity: .7;
    pointer-events: none;
}
.sco-submit.is-loading svg { animation: sco-spin .7s linear infinite; }
@keyframes sco-spin { to { transform: rotate(360deg); } }

/* Secure badge */
.sco-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .55rem 1.35rem 1.1rem;
    font-size: .72rem;
    color: var(--clr-grey-400);
    letter-spacing: .05em;
    text-transform: uppercase;
    font-family: var(--font-display);
}
.sco-secure svg { color: var(--clr-success); flex-shrink: 0; }

/* ── WooCommerce field validation states inside checkout ── */
.sco-form .woocommerce-invalid input {
    border-color: var(--clr-error);
    box-shadow: 0 0 0 3px rgba(192,57,43,.1);
}
.sco-form .woocommerce-validated input {
    border-color: var(--clr-success);
    box-shadow: 0 0 0 3px rgba(74,154,42,.1);
}

/* ── Select2 inside checkout ── */
.sco-form .select2-container--superstore .select2-selection--single {
    height: 44px;
}
.sco-form .select2-container--superstore .select2-selection--single .select2-selection__rendered {
    line-height: 42px;
}

/* ================================================================
   WOOCOMMERCE NOTICES — complete override
   Kills the WooCommerce icon font (WooCommerce font ::before)
   and resets all default padding/borders/backgrounds
   ================================================================ */

/* 1. Wrapper resets */
.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
.woocommerce-NoticeGroup-before_checkout_form {
    margin-bottom: 1.5rem;
    padding: 0;
    list-style: none;
    background: none;
    border: none;
}

/* 2. Kill the WooCommerce icon font ::before on ALL notice types.
      WC uses font-family:WooCommerce + content to inject the icon.
      Setting font-family:inherit breaks the glyph lookup entirely.
      We also zero out all sizing/positioning so it takes no space. */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::after,
.woocommerce-message::after,
.woocommerce-error::after {
    display: none !important;
    content: '' !important;
    font-family: inherit !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: static !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    line-height: 0 !important;
}

/* 3. Base notice — shared reset for all three types */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
ul.woocommerce-error {
    /* Remove WC defaults */
    padding-left: 1.15rem !important;
    background-image: none !important;
    box-shadow: none !important;

    /* Our base card style */
    display: block;
    border-radius: var(--radius-md) !important;
    font-size: .9rem;
    line-height: 1.55;
    margin-bottom: .75rem;
    list-style: none;
}

/* 4. Error — red card with left accent border */
.woocommerce-error,
ul.woocommerce-error {
    background: #fef2f0 !important;
    border: 1.5px solid #f5a9a0 !important;
    border-left: 4px solid var(--clr-error, #c0392b) !important;
    color: #a52a20 !important;
    padding: .95rem 1.15rem .95rem 1.15rem !important;
}

/* Error list items — clean flex row with bullet dot */
ul.woocommerce-error li,
.woocommerce-error li {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .2rem 0;
    list-style: none !important;
    color: #a52a20;
    font-size: .9rem;
}

/* Small red circle ✕ icon before each error item */
ul.woocommerce-error li::before,
.woocommerce-error li::before {
    content: '' !important;
    display: inline-flex !important;
    flex-shrink: 0;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50%;
    background-color: var(--clr-error, #c0392b) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='3' y1='3' x2='9' y2='9'/%3E%3Cline x1='9' y1='3' x2='3' y2='9'/%3E%3C/svg%3E") !important;
    background-size: 9px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    position: static !important;
    font-family: inherit !important;
    font-size: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
}

/* 5. Success / message — green accent card */
.woocommerce-message {
    background: var(--clr-accent-light, #f0f7e0) !important;
    border: 1.5px solid rgba(122,179,23,.35) !important;
    border-left: 4px solid var(--clr-accent, #7ab317) !important;
    color: #3d5a09 !important;
    padding: .95rem 1.15rem !important;
}

/* 6. Info — the "Masz kupon? Kliknij tutaj" notice — blue card */
.woocommerce-info {
    background: #f0f6ff !important;
    border: 1.5px solid #bad3f5 !important;
    border-left: 4px solid #3b82f6 !important;
    color: #1e3a6e !important;
    padding: .95rem 1.15rem !important;
}

/* 7. Links inside any WC notice */
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a,
ul.woocommerce-error a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    color: inherit;
    transition: opacity .15s;
}
.woocommerce-info a:hover,
.woocommerce-message a:hover,
.woocommerce-error a:hover,
ul.woocommerce-error a:hover {
    opacity: .7;
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .sco-steps { display: none; }
    .sco-section__head  { padding: .875rem 1rem; }
    .sco-section__body  { padding: 1rem; }
    .sco-summary__head  { padding: 1rem; }
    .sco-summary__items { padding: .875rem 1rem; }
    .sco-totals         { padding: .875rem 1rem; }
    .sco-terms          { padding: .875rem 1rem; }
    .sco-coupon         { padding: .875rem 1rem; }
    .sco-submit {
        width: calc(100% - 2rem);
        margin: .875rem 1rem;
    }
    .sco-secure { padding-inline: 1rem; }
}

.sco-step-panel {
	display: none;
}

.sco-step-panel.is-active {
	display: block;
}

.sco-step-actions {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.sco-step-actions--between {
	justify-content: space-between;
}

.sco-step.is-done .sco-step__num {
	opacity: .85;
}

.sco-shipping-extra {
	display: none;
	margin-top: 12px;
	padding-top: 10px;
}

.sco-shipping-extra.is-visible {
	display: block;
}

.sco-inpost-hint {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: #6b7280;
}


/* Container */
.sco-auth-box {
	background: var(--clr-surface, #fff);
	border: 1.5px solid var(--clr-border, #e5e7eb);
	border-radius: var(--radius-md, 10px);
	overflow: hidden;
	margin-bottom: 1.75rem;
}
 
/* Tab row */
.sco-auth-tabs {
	display: flex;
	border-bottom: 1.5px solid var(--clr-border, #e5e7eb);
	background: var(--clr-grey-50, #f9fafb);
}
 
.sco-auth-tab {
	flex: 1;
	padding: .75rem 1rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--clr-grey-500, #6b7280);
	background: transparent;
	border: none;
	border-bottom: 2.5px solid transparent;
	cursor: pointer;
	transition: color .15s, border-color .15s;
	line-height: 1.4;
}
 
.sco-auth-tab:hover {
	color: var(--clr-primary, #252729);
}
 
.sco-auth-tab.is-active {
	color: var(--clr-accent, #7ab317);
	border-bottom-color: var(--clr-accent, #7ab317);
	background: var(--clr-surface, #fff);
}
 
/* Panels */
.sco-auth-panel {
	padding: 1.25rem 1.5rem 1.5rem;
}
 
.sco-auth-hint {
	font-size: .875rem;
	color: var(--clr-grey-500, #6b7280);
	margin: 0;
	line-height: 1.6;
}
 
/* Login form inside tab */
.sco-login-form {
	display: flex;
	flex-direction: column;
	gap: .875rem;
}
 
.sco-login-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
 
.sco-link {
	font-size: .8125rem;
	color: var(--clr-accent, #7ab317);
	text-decoration: none;
}
.sco-link:hover {
	text-decoration: underline;
}
 
/* Notice — info variant (logged-in banner) */
.sco-notice--info {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .75rem 1rem;
	background: var(--clr-blue-50, #eff6ff);
	border: 1.5px solid var(--clr-blue-200, #bfdbfe);
	border-left: 4px solid var(--clr-blue-500, #3b82f6);
	border-radius: var(--radius-sm, 6px);
	font-size: .875rem;
	color: var(--clr-blue-800, #1e40af);
	margin-bottom: 1.5rem;
}
 
/* Suppress WooCommerce's own login/coupon info banners on checkout
   (we handle them with our own UI) */
.woocommerce-info.woocommerce-checkout-login-toggle,
.woocommerce-info.woocommerce-checkout-coupon-toggle,
.checkout_coupon.woocommerce-form-coupon {
	display: none !important;
}


 
#place_order,
button#place_order,
.woocommerce-checkout #place_order,
input#place_order {
    /* Layout — full width, prominent height */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: .85rem 1.75rem !important;
    margin-top: 1.25rem !important;
 
    /* Brand colours — identical to .btn--primary */
    background: var(--clr-accent, #7ab317) !important;
    color: var(--clr-primary-dark, #1a2a06) !important;
    border: none !important;
    border-radius: var(--radius-lg, 10px) !important;
 
    /* Typography */
    font-family: var(--font-display, 'Syne', sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    text-align: center !important;
 
    /* Shadow & interaction */
    box-shadow: var(--shadow-green, 0 4px 20px rgba(122,179,23,.4)) !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
 
    /* Sheen overlay (matches cart checkout btn) */
}
 
#place_order::before,
button#place_order::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 60%) !important;
    pointer-events: none !important;
}
 
#place_order:hover,
button#place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 32px rgba(122,179,23,.5) !important;
    background: var(--clr-accent-hover, #8bc920) !important;
}
 
#place_order:active,
button#place_order:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(122,179,23,.35) !important;
}
 
#place_order:disabled,
button#place_order:disabled,
#place_order.is-loading,
button#place_order.is-loading {
    opacity: .65 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
}
 
/* ── WooCommerce wraps #place_order in .place-order — ensure full width ── */
.woocommerce-checkout-payment .place-order {
    margin-top: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
 
/* ── Privacy policy text above the button ── */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: .8rem !important;
    color: var(--clr-grey-500, #6b7280) !important;
    line-height: 1.55 !important;
    margin-bottom: .75rem !important;
    padding: 0 !important;
}
 
.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--clr-accent, #7ab317) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
 
/* ── Terms & conditions checkbox (if enabled) ── */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: .75rem !important;
    font-size: .875rem !important;
    color: var(--clr-grey-600) !important;
}
 
/* ================================================================
   NUCLEAR FIX — #place_order "Kupuję i płacę" button
   
   The button has class="button alt" from WooCommerce which loads
   woocommerce.css and woocommerce-layout.css. Those rules win on
   specificity. We beat them with the most specific selector chain
   possible WITHOUT !important abuse, then add !important as backup.
   ================================================================ */
 
/* Layer 1: high-specificity selector chain */
.woocommerce-checkout-payment #payment .place-order #place_order,
.woocommerce-checkout-payment #payment #place_order,
.woocommerce-checkout #payment .place-order #place_order,
.woocommerce-checkout #payment #place_order,
form.checkout #place_order,
#place_order.button,
#place_order.button.alt,
button#place_order.button,
button#place_order.button.alt {
    /* Reset WooCommerce's .button defaults */
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
 
    /* Size */
    min-height: 56px !important;
    padding: 1rem 2rem !important;
    margin: 1rem 0 0 0 !important;
 
    /* Brand colours */
    background-color: #7ab317 !important;
    background-image: none !important;
    color: #1a2a06 !important;
 
    /* Border */
    border: none !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: 0 4px 20px rgba(122,179,23,.4) !important;
 
    /* Typography */
    font-family: 'Syne', Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    text-shadow: none !important;
 
    /* Interaction */
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
    position: relative !important;
    overflow: hidden !important;
    vertical-align: middle !important;
 
    /* Kill WC's weird float/inline styles */
    float: none !important;
    clear: none !important;
}
 
/* Hover state */
.woocommerce-checkout-payment #payment .place-order #place_order:hover,
.woocommerce-checkout-payment #payment #place_order:hover,
form.checkout #place_order:hover,
#place_order.button:hover,
#place_order.button.alt:hover,
button#place_order.button:hover {
    background-color: #8bc920 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 32px rgba(122,179,23,.5) !important;
    color: #1a2a06 !important;
}
 
/* Active / pressed */
form.checkout #place_order:active,
#place_order.button:active,
button#place_order.button.alt:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(122,179,23,.3) !important;
}
 
/* Disabled */
form.checkout #place_order:disabled,
#place_order.button:disabled,
button#place_order.button.alt:disabled {
    opacity: .6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
 
/* Sheen overlay */
form.checkout #place_order::before,
#place_order.button::before,
button#place_order.button.alt::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 60%) !important;
    pointer-events: none !important;
    border-radius: inherit !important;
}
 
/* ── .place-order wrapper: remove WC's own padding/margin ── */
.woocommerce-checkout-payment .place-order,
#payment .place-order,
.woocommerce-checkout-payment #payment div.place-order {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
}
 
/* ── Privacy policy text above button ── */
.woocommerce-privacy-policy-text {
    font-size: .8rem !important;
    color: #6b7280 !important;
    line-height: 1.55 !important;
    margin-bottom: .75rem !important;
    padding: 0 !important;
}
.woocommerce-privacy-policy-text a {
    color: #7ab317 !important;
    text-decoration: underline !important;
}
 
/* ── Kill WooCommerce's own blue/purple .button styles that leak in ── */
.woocommerce-checkout a.button,
.woocommerce-checkout button.button,
.woocommerce-checkout input.button {
    /* Base reset so WC doesn't paint #place_order blue */
    background-color: transparent;
}
 
/* But re-apply green specifically to #place_order after the reset */
.woocommerce-checkout button#place_order,
.woocommerce-checkout button#place_order.button,
.woocommerce-checkout button#place_order.button.alt {
    background-color: #7ab317 !important;
    color: #1a2a06 !important;
}
 