/* ======================================================================
   NOTE Tickets 0.4.3 — kaflowy wybór biletów + AJAX koszyka
   ====================================================================== */

body.ntk-ticket-ui-active .summary form.cart,
body.ntk-ticket-ui-active .summary form.variations_form,
body.ntk-ticket-ui-active .product .summary .single_variation_wrap {
    display: none !important;
}

.ntk-ticket-picker,
.ntk-ticket-picker * {
    box-sizing: border-box;
}

.ntk-ticket-picker {
    position: relative;
    display: grid;
    gap: 22px;
    width: 100%;
    margin: 20px 0 28px;
    padding: 26px;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--ntk-ticket-dark) 10%, #e5e7eb);
    border-radius: 16px;
    box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
    font-family: Roboto, Arial, sans-serif;
    color: #1f2937;
    --ntk-ticket-surface-text: var(--ntk-ticket-light-text, #172033);
    --ntk-ticket-muted-text: color-mix(in srgb, var(--ntk-ticket-surface-text) 66%, transparent);
}

.ntk-ticket-preview-badge {
    display: inline-flex;
    justify-self: start;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .45px;
}

.ntk-ticket-picker__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.ntk-ticket-picker__header h3 {
    margin: 4px 0 5px !important;
    color: #172033 !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
}

.ntk-ticket-picker__header p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.ntk-ticket-picker__kicker {
    color: var(--ntk-ticket-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .9px;
}

.ntk-ticket-picker__secure {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 11px;
    background: color-mix(in srgb, var(--ntk-ticket-accent) 10%, #fff);
    color: color-mix(in srgb, var(--ntk-ticket-accent) 72%, #172033);
    border: 1px solid color-mix(in srgb, var(--ntk-ticket-accent) 24%, #e2e8f0);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.ntk-ticket-picker__steps {
    display: grid;
    gap: 20px;
}

.ntk-ticket-step {
    display: grid;
    gap: 11px;
}

.ntk-ticket-step__heading {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ntk-ticket-step__heading > span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 7px;
    background: #f1f5f9;
    color: #64748b;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.ntk-ticket-step__heading > strong {
    color: #334155;
    font-size: 13px;
    font-weight: 800;
}

.ntk-ticket-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 11px;
}

.ntk-ticket-option {
    position: relative;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    grid-template-areas:
        "icon main price"
        "icon main sold";
    align-items: center !important;
    gap: 4px 12px !important;
    min-height: 92px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px !important;
    text-align: left !important;
    background: #fff !important;
    color: #1f2937 !important;
    border: 1.5px solid #dbe3ec !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-family: Roboto, Arial, sans-serif !important;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease !important;
}

.ntk-ticket-option:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--ntk-ticket-primary) 48%, #dbe3ec) !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .06) !important;
}

.ntk-ticket-option.is-selected {
    background: color-mix(in srgb, var(--ntk-ticket-primary) 6%, #fff) !important;
    border-color: var(--ntk-ticket-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ntk-ticket-primary) 13%, transparent) !important;
}

.ntk-ticket-option.is-sold-out {
    opacity: .58;
    cursor: not-allowed;
    filter: grayscale(.2);
}

.ntk-ticket-option__icon {
    grid-area: icon;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: color-mix(in srgb, var(--ntk-ticket-primary) 12%, #fff);
    color: var(--ntk-ticket-primary);
    border-radius: 50%;
}

.ntk-ticket-option__icon i,
.ntk-ticket-option__icon i::before,
.ntk-ticket-option__icon i::after {
    display: block;
    content: "";
}

.ntk-ticket-option__icon.is-person i {
    position: relative;
    width: 15px;
    height: 15px;
    margin-top: -9px;
    background: currentColor;
    border-radius: 50%;
}

.ntk-ticket-option__icon.is-person i::after {
    position: absolute;
    top: 18px;
    left: -5px;
    width: 25px;
    height: 13px;
    background: currentColor;
    border-radius: 13px 13px 6px 6px;
}

.ntk-ticket-option__icon.is-group i {
    position: relative;
    width: 27px;
    height: 17px;
    border: 3px solid currentColor;
    border-top: 0;
    border-radius: 3px;
}

.ntk-ticket-option__icon.is-group i::before,
.ntk-ticket-option__icon.is-group i::after {
    position: absolute;
    top: -8px;
    width: 3px;
    height: 24px;
    background: currentColor;
    border-radius: 3px;
}
.ntk-ticket-option__icon.is-group i::before { left: 3px; }
.ntk-ticket-option__icon.is-group i::after { right: 3px; }

.ntk-ticket-option__main {
    grid-area: main;
    display: grid;
    gap: 3px;
    min-width: 0;
}

.ntk-ticket-option__main strong {
    color: #172033;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
}

.ntk-ticket-option__main small {
    color: #64748b;
    font-size: 11px;
    font-weight: 550;
}

.ntk-ticket-option__price {
    grid-area: price;
    align-self: center;
    color: var(--ntk-ticket-primary);
    font-size: 15px;
    font-weight: 850;
    white-space: nowrap;
}

.ntk-ticket-option__sold {
    grid-area: sold;
    justify-self: end;
    color: #b42318;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.ntk-ticket-option__check {
    position: absolute;
    top: 8px;
    right: 8px;
    display: none;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--ntk-ticket-primary);
    color: var(--ntk-ticket-primary-text);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 900;
}

.ntk-ticket-option.is-selected .ntk-ticket-option__check {
    display: flex;
}

.ntk-ticket-order {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) auto auto minmax(180px, .8fr);
    gap: 18px;
    align-items: center;
    padding: 18px;
    background: color-mix(in srgb, var(--ntk-ticket-light) 58%, #fff);
    border: 1px solid color-mix(in srgb, var(--ntk-ticket-primary) 14%, #e2e8f0);
    border-radius: 12px;
}

.ntk-ticket-order__selection {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.ntk-ticket-order__selection > span,
.ntk-ticket-qty > span {
    color: #94a3b8;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .55px;
}
.ntk-ticket-order__selection strong {
    color: #172033;
    font-size: 15px;
    font-weight: 850;
}
.ntk-ticket-order__selection small {
    max-width: 520px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.ntk-ticket-order__price {
    color: var(--ntk-ticket-primary);
    font-size: 20px;
    font-weight: 900;
    white-space: nowrap;
}
.ntk-ticket-order__price del { color: #94a3b8; font-size: 13px; margin-right: 5px; }
.ntk-ticket-order__price ins { color: var(--ntk-ticket-primary); text-decoration: none; }
.ntk-ticket-order__price .woocommerce-Price-amount { color: inherit !important; }

.ntk-ticket-qty {
    display: grid;
    gap: 5px;
}
.ntk-ticket-qty__control {
    display: grid;
    grid-template-columns: 36px 50px 36px;
    align-items: center;
    overflow: hidden;
    height: 42px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
}
.ntk-ticket-qty__control button,
.ntk-ticket-qty__control input {
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #334155 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
.ntk-ticket-qty__control button { cursor: pointer; font-size: 19px !important; }
.ntk-ticket-qty__control input { appearance: textfield; -moz-appearance: textfield; }
.ntk-ticket-qty__control input::-webkit-inner-spin-button,
.ntk-ticket-qty__control input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.ntk-ticket-add {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 18px !important;
    background: var(--ntk-ticket-primary) !important;
    color: var(--ntk-ticket-primary-text) !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--ntk-ticket-primary) 24%, transparent) !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-transform: none !important;
    cursor: pointer;
}
.ntk-ticket-add:hover:not(:disabled) { filter: brightness(.94); transform: translateY(-1px); }
.ntk-ticket-add:disabled { opacity: .55; cursor: not-allowed; box-shadow: none !important; }
.ntk-ticket-picker.is-busy .ntk-ticket-add { cursor: wait; }

.ntk-ticket-feedback {
    min-height: 0;
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}
.ntk-ticket-feedback:empty { display: none; }

.ntk-ticket-success {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 15px 16px;
    background: #f0fdf4;
    color: #14532d;
    border: 1px solid #bbf7d0;
    border-radius: 11px;
}
.ntk-ticket-success__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: #16a34a;
    color: #fff;
    border-radius: 50%;
    font-size: 19px;
    font-weight: 900;
}
.ntk-ticket-success__copy { display: grid; gap: 2px; }
.ntk-ticket-success__copy strong { font-size: 14px; font-weight: 900; }
.ntk-ticket-success__copy span { color: #3f6f4d; font-size: 11px; }
.ntk-ticket-success__actions { display: flex; align-items: center; gap: 8px; }
.ntk-ticket-success__actions a,
.ntk-ticket-success__actions button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border-radius: 8px !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    cursor: pointer;
}
.ntk-ticket-success__cart {
    background: #166534 !important;
    color: #fff !important;
    border: 1px solid #166534 !important;
}
.ntk-ticket-success__actions button {
    background: #fff !important;
    color: #166534 !important;
    border: 1px solid #86efac !important;
    box-shadow: none !important;
}

@media (max-width: 980px) {
    .ntk-ticket-order {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .ntk-ticket-qty { grid-column: 1 / 2; }
    .ntk-ticket-add { grid-column: 2 / 3; }
}

@media (max-width: 700px) {
    .ntk-ticket-picker {
        gap: 18px;
        margin: 16px 0 22px;
        padding: 18px;
        border-radius: 13px;
    }
    .ntk-ticket-picker__header { display: grid; gap: 10px; }
    .ntk-ticket-picker__header h3 { font-size: 24px !important; }
    .ntk-ticket-picker__secure { justify-self: start; }
    .ntk-ticket-options { grid-template-columns: 1fr; }
    .ntk-ticket-option { min-height: 84px !important; }
    .ntk-ticket-order { grid-template-columns: 1fr; gap: 13px; padding: 15px; }
    .ntk-ticket-order__price,
    .ntk-ticket-qty,
    .ntk-ticket-add { grid-column: 1 / -1; }
    .ntk-ticket-add { min-height: 50px !important; }
    .ntk-ticket-success { grid-template-columns: 38px minmax(0,1fr); }
    .ntk-ticket-success__icon { width: 38px; height: 38px; }
    .ntk-ticket-success__actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 420px) {
    .ntk-ticket-picker { padding: 15px; }
    .ntk-ticket-option {
        grid-template-columns: 42px minmax(0, 1fr);
        grid-template-areas:
            "icon main"
            "icon price"
            "icon sold";
    }
    .ntk-ticket-option__price,
    .ntk-ticket-option__sold { justify-self: start; }
    .ntk-ticket-success__actions { grid-template-columns: 1fr; }
}


/* 0.4.1 — stan inicjalizacji / diagnostyka frontendowa */
.ntk-ticket-loading {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 12px 14px;
    background: #f8fafc;
    color: #64748b;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 650;
}
.ntk-ticket-loading.is-error {
    background: #fff7ed;
    color: #9a3412;
    border-color: #fdba74;
}


/* ======================================================================
   NOTE Tickets 0.4.3 — responsywność komponentowa + stan koszyka
   ====================================================================== */

.ntk-ticket-picker {
    container-type: inline-size;
    container-name: ntk-ticket-picker;
}

/* Kafelki mają się układać względem szerokości modułu, nie całego viewportu. */
.ntk-ticket-options {
    grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
}

.ntk-ticket-option,
.ntk-ticket-option * {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.ntk-ticket-option__main strong {
    white-space: normal !important;
    text-wrap: balance;
}

.ntk-ticket-option__cart {
    position: absolute;
    right: 12px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 22px;
    padding: 0 8px;
    background: color-mix(in srgb, var(--ntk-ticket-accent) 10%, #fff);
    color: #475569;
    border: 1px solid color-mix(in srgb, var(--ntk-ticket-accent) 24%, #e2e8f0);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

.ntk-ticket-option__cart strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--ntk-ticket-primary);
    color: var(--ntk-ticket-primary-text);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

/*
 * Podsumowanie wyboru: najpierw stabilny układ dla wąskiej kolumny
 * standardowego produktu WooCommerce. Pełny landing w późniejszym etapie
 * może automatycznie przejść do 4 kolumn dzięki container query poniżej.
 */
.ntk-ticket-order {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "selection price"
        "selection qty"
        "add add";
    column-gap: 18px !important;
    row-gap: 12px !important;
    align-items: start !important;
}

.ntk-ticket-order__selection {
    grid-area: selection;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.ntk-ticket-order__selection > span,
.ntk-ticket-order__selection strong,
.ntk-ticket-order__selection small {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    white-space: normal !important;
}

.ntk-ticket-order__selection small {
    display: block !important;
    margin-top: 3px;
    line-height: 1.45 !important;
}

.ntk-ticket-order__price {
    grid-area: price;
    align-self: center;
    justify-self: end;
}

.ntk-ticket-qty {
    grid-area: qty;
    justify-self: end;
    align-self: end;
}

.ntk-ticket-add {
    grid-area: add;
    justify-self: stretch;
}

/* Potwierdzenie pozostaje widoczne do świadomej decyzji użytkownika. */
.ntk-ticket-picker.has-success .ntk-ticket-success[hidden] {
    display: none !important;
}

@container ntk-ticket-picker (min-width: 780px) {
    .ntk-ticket-order {
        grid-template-columns: minmax(250px, 1fr) auto auto minmax(190px, .72fr) !important;
        grid-template-areas: "selection price qty add";
        align-items: center !important;
        column-gap: 18px !important;
        row-gap: 0 !important;
    }

    .ntk-ticket-order__price,
    .ntk-ticket-qty,
    .ntk-ticket-add {
        justify-self: auto;
        align-self: center;
    }
}

@container ntk-ticket-picker (max-width: 560px) {
    .ntk-ticket-picker__header {
        display: grid;
        gap: 10px;
    }

    .ntk-ticket-picker__secure {
        justify-self: start;
    }

    .ntk-ticket-options {
        grid-template-columns: 1fr;
    }

    .ntk-ticket-option {
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        grid-template-areas:
            "icon main price"
            "icon main sold" !important;
        min-height: 92px !important;
        padding: 14px !important;
    }

    .ntk-ticket-option__cart {
        position: static;
        grid-column: 2 / -1;
        justify-self: start;
        margin-top: 5px;
    }

    .ntk-ticket-order {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "selection"
            "price"
            "qty"
            "add" !important;
        gap: 13px !important;
        padding: 15px !important;
    }

    .ntk-ticket-order__price,
    .ntk-ticket-qty,
    .ntk-ticket-add {
        justify-self: stretch !important;
        width: 100% !important;
    }

    .ntk-ticket-order__price {
        font-size: 22px;
    }

    .ntk-ticket-qty__control {
        width: 100%;
        grid-template-columns: 44px minmax(60px, 1fr) 44px;
    }
}

@container ntk-ticket-picker (max-width: 390px) {
    .ntk-ticket-picker {
        padding: 14px;
    }

    .ntk-ticket-option {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        grid-template-areas:
            "icon main"
            "icon price"
            "icon sold" !important;
    }

    .ntk-ticket-option__price,
    .ntk-ticket-option__sold {
        justify-self: start;
    }

    .ntk-ticket-option__cart {
        grid-column: 2;
    }
}

/* ======================================================================
   NOTE Tickets 0.9.0 — party size / automatyczny dobór wariantu
   ====================================================================== */
.ntk-party-size{display:grid;gap:18px}.ntk-party-size__heading{display:grid;gap:3px}.ntk-party-size__heading>span,.ntk-party-recommendation__kicker{color:#94a3b8;font-size:9px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}.ntk-party-size__heading>strong{color:#172033;font-size:18px;font-weight:900;line-height:1.25}.ntk-party-size__heading>small{color:#64748b;font-size:12px;line-height:1.45}.ntk-party-size__control{display:grid;grid-template-columns:54px minmax(90px,150px) 54px;justify-content:start;align-items:center;overflow:hidden;width:max-content;max-width:100%;background:#fff;border:1px solid #cbd5e1;border-radius:10px}.ntk-party-size__control button,.ntk-party-size__control input{height:54px!important;margin:0!important;padding:0!important;background:#fff!important;color:#172033!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;font-family:Roboto,Arial,sans-serif!important;font-weight:900!important}.ntk-party-size__control button{font-size:24px!important;cursor:pointer}.ntk-party-size__control button:hover{background:#f8fafc!important}.ntk-party-size__control input{font-size:20px!important;border-left:1px solid #e2e8f0!important;border-right:1px solid #e2e8f0!important;appearance:textfield;-moz-appearance:textfield}.ntk-party-size__control input::-webkit-inner-spin-button,.ntk-party-size__control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ntk-party-recommendation-wrap{display:grid;gap:10px}.ntk-party-recommendation{position:relative;display:grid!important;grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"icon main price";gap:12px;align-items:center;width:100%!important;min-height:86px!important;margin:0!important;padding:14px 16px!important;background:#fffaf5!important;color:#172033!important;border:2px solid var(--ntk-ticket-primary)!important;border-radius:12px!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ntk-ticket-primary) 9%,transparent)!important;text-align:left!important;text-transform:none!important}.ntk-party-recommendation__icon{grid-area:icon;display:flex;width:46px;height:46px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ntk-ticket-primary) 12%,#fff);border-radius:50%}.ntk-party-recommendation__icon:before{content:"";width:20px;height:20px;border:3px solid var(--ntk-ticket-primary);border-top-width:8px;border-radius:4px}.ntk-party-recommendation__main{grid-area:main;display:grid;gap:3px;min-width:0}.ntk-party-recommendation__main strong{color:#172033;font-size:15px;font-weight:900}.ntk-party-recommendation__main small{color:#64748b;font-size:11px;font-weight:650}.ntk-party-recommendation__price{grid-area:price;color:var(--ntk-ticket-primary);font-size:17px;font-weight:900;white-space:nowrap}.ntk-party-choice-title{color:#64748b;font-size:12px;font-weight:700}.ntk-party-unavailable{padding:14px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:9px;font-size:12px;font-weight:700}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order{grid-template-columns:minmax(0,1.25fr) auto minmax(190px,.8fr)}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-qty{display:none!important}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__price{display:grid;gap:1px;text-align:right}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__price small{color:#94a3b8;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.45px}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__price strong{color:var(--ntk-ticket-primary);font-size:20px;font-weight:900}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__price em{color:#64748b;font-size:10px;font-style:normal;font-weight:650}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-add{grid-column:auto}.ntk-party-choice-grid .ntk-ticket-option__main{grid-area:main}.ntk-party-choice-grid .ntk-ticket-option__price{grid-area:price}
@media(max-width:700px){.ntk-party-size__control{grid-template-columns:50px minmax(90px,1fr) 50px;width:100%}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order{grid-template-columns:1fr}.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__price{text-align:left}.ntk-party-recommendation{grid-template-columns:42px minmax(0,1fr);grid-template-areas:"icon main" "icon price"}.ntk-party-recommendation__price{justify-self:start}}

/* NOTE Tickets 0.12.2 — stock-aware UI */
.ntk-ticket-stock-note{display:inline-flex;width:max-content;margin-top:4px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--ntk-ticket-accent) 14%,transparent);color:var(--ntk-ticket-accent);font-size:10px;font-style:normal;font-weight:850;line-height:1.2}
.ntk-ticket-option__stock{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--ntk-ticket-accent) 14%,transparent);color:var(--ntk-ticket-accent);font-size:10px;font-weight:900;white-space:nowrap}

/* ======================================================================
   NOTE Tickets 0.13.0 — inteligentny zestaw wielu wariantów
   ====================================================================== */
.ntk-party-recommendation.is-bundle {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: start;
}
.ntk-party-bundle-lines {
    display: grid;
    gap: 5px;
    width: 100%;
    margin-top: 5px;
}
.ntk-party-bundle-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    color: var(--ntk-ticket-surface-text, #334155);
    font-size: 12px;
    line-height: 1.35;
}
.ntk-party-bundle-line b {
    color: var(--ntk-ticket-surface-text, #172033);
    font-size: 12.5px;
    font-weight: 850;
}
.ntk-party-bundle-line em {
    flex: 0 0 auto;
    color: color-mix(in srgb, var(--ntk-ticket-primary) 38%, var(--ntk-ticket-surface-text, #172033));
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
    white-space: nowrap;
}
.ntk-party-recommendation__main > .ntk-party-bundle-lines .ntk-party-bundle-line {
    justify-content: flex-start;
}
.ntk-party-recommendation__main > .ntk-party-bundle-lines .ntk-party-bundle-line:before {
    content: "✓";
    flex: 0 0 auto;
    color: color-mix(in srgb, var(--ntk-ticket-primary) 46%, var(--ntk-ticket-surface-text, #172033));
    font-size: 11px;
    font-weight: 900;
}
.ntk-party-savings-tip {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 12px 14px;
    background: color-mix(in srgb, var(--ntk-ticket-accent) 8%, #fff);
    color: var(--ntk-ticket-surface-text, #334155);
    border: 1px solid color-mix(in srgb, var(--ntk-ticket-accent) 28%, #e2e8f0);
    border-radius: 10px;
}
.ntk-party-savings-tip__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: color-mix(in srgb, var(--ntk-ticket-accent) 16%, #fff);
    color: var(--ntk-ticket-accent);
    border-radius: 50%;
    font-size: 15px;
    font-weight: 950;
}
.ntk-party-savings-tip > span:last-child {
    display: grid;
    gap: 3px;
}
.ntk-party-savings-tip strong {
    color: var(--ntk-ticket-surface-text, #172033);
    font-size: 13px;
    font-weight: 900;
}
.ntk-party-savings-tip small {
    color: var(--ntk-ticket-muted-text, #64748b);
    font-size: 11.5px;
    line-height: 1.5;
}
.ntk-party-savings-tip small b {
    color: var(--ntk-ticket-surface-text, #334155);
    font-weight: 850;
}
.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__selection small {
    display: block;
    max-width: 620px;
}
.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__selection small .ntk-party-bundle-lines {
    margin-top: 7px;
    gap: 6px;
}
.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__selection small .ntk-party-bundle-line {
    padding-bottom: 4px;
    border-bottom: 1px solid color-mix(in srgb, var(--ntk-ticket-primary) 10%, #e2e8f0);
}
.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__selection small .ntk-party-bundle-line:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.ntk-party-unavailable {
    display: grid;
    gap: 4px;
}
.ntk-party-unavailable strong {
    font-size: 13px;
    font-weight: 900;
}
.ntk-party-unavailable span {
    font-size: 11.5px;
    line-height: 1.45;
}

@media (max-width: 700px) {
    .ntk-party-recommendation.is-bundle {
        grid-template-columns: 42px minmax(0, 1fr);
        grid-template-areas: "icon main" "icon price";
    }
    .ntk-party-recommendation.is-bundle .ntk-party-recommendation__icon { grid-area: icon; }
    .ntk-party-recommendation.is-bundle .ntk-party-recommendation__main { grid-area: main; }
    .ntk-party-recommendation.is-bundle .ntk-party-recommendation__price { grid-area: price; justify-self: start; }
    .ntk-party-bundle-line { font-size: 12.5px; }
    .ntk-party-bundle-line b { font-size: 13px; }
    .ntk-party-savings-tip { grid-template-columns: 34px minmax(0,1fr); padding: 11px 12px; }
    .ntk-party-savings-tip__icon { width: 32px; height: 32px; }
    .ntk-party-savings-tip strong { font-size: 13px; }
    .ntk-party-savings-tip small { font-size: 12px; }
}


/* ======================================================================
   NOTE Tickets 0.13.1 — kontrast Theme Engine dla powierzchni pickerów
   ====================================================================== */
.ntk-party-bundle-line,
.ntk-party-bundle-line b,
.ntk-party-bundle-line em,
.ntk-party-savings-tip,
.ntk-party-savings-tip strong,
.ntk-party-savings-tip small b,
.ntk-party-unavailable,
.ntk-party-unavailable strong,
.ntk-party-unavailable span {
    color: var(--ntk-ticket-surface-text, #172033);
}
.ntk-party-savings-tip small,
.ntk-party-unavailable span {
    color: var(--ntk-ticket-muted-text, #64748b);
}
.ntk-ticket-picker.is-party-size-mode .ntk-ticket-order__selection small .ntk-party-bundle-line {
    border-bottom-color: color-mix(in srgb, var(--ntk-ticket-surface-text, #172033) 16%, transparent);
}

/* ================================================================
   0.14.1 — koszyk: zestaw jest sugestią, nie blokadą
   ================================================================ */
.ntk-cart-bundle-summary {
    margin: 0 0 22px;
    padding: 20px;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    background: #FFFFFF;
    color: #1F2937;
    box-shadow: 0 10px 28px rgba(31, 41, 55, .06);
}

.ntk-cart-bundle-summary__heading {
    margin-bottom: 14px;
}

.ntk-cart-bundle-summary__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #FF8A00;
    font-size: 11px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ntk-cart-bundle-summary__heading > strong {
    display: block;
    color: #1F2937;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 800;
}

.ntk-cart-bundle-summary__heading p,
.ntk-cart-bundle-summary__copy p {
    margin: 5px 0 0;
    color: #6B7280;
    font-size: 14px;
    line-height: 1.5;
}

.ntk-cart-bundle-summary__groups {
    display: grid;
    gap: 10px;
}

.ntk-cart-bundle-summary__group {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    background: #F7F8FA;
}

.ntk-cart-bundle-summary__group.is-modified {
    border-color: rgba(255, 138, 0, .45);
    background: rgba(255, 138, 0, .055);
}

.ntk-cart-bundle-summary__metric {
    min-width: 72px;
    text-align: center;
}

.ntk-cart-bundle-summary__metric span,
.ntk-cart-bundle-summary__metric small {
    display: block;
    color: #6B7280;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
}

.ntk-cart-bundle-summary__metric strong {
    display: block;
    margin: 1px 0;
    color: #1F2937;
    font-size: 27px;
    line-height: 1;
    font-weight: 800;
}

.ntk-cart-bundle-summary__copy > strong {
    display: block;
    color: #1F2937;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
}

.ntk-cart-bundle-summary__edit,
.ntk-cart-bundle-summary__edit:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    background: #FFFFFF;
    color: #1F2937 !important;
    -webkit-text-fill-color: #1F2937 !important;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none !important;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.ntk-cart-bundle-summary__edit:hover,
.ntk-cart-bundle-summary__edit:focus-visible {
    border-color: #FF8A00;
    background: #FFF8EF;
    color: #E67800 !important;
    -webkit-text-fill-color: #E67800 !important;
}

@media (max-width: 767px) {
    .ntk-cart-bundle-summary {
        padding: 15px;
        margin-bottom: 16px;
    }

    .ntk-cart-bundle-summary__group {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 11px;
    }

    .ntk-cart-bundle-summary__edit {
        grid-column: 1 / -1;
        width: 100%;
    }

    .ntk-cart-bundle-summary__heading > strong {
        font-size: 16px;
    }
}

/* 0.15.0 — scheduled/ended sales state on the standalone picker */
.ntk-ticket-picker--closed{padding:0!important}
.ntk-ticket-closed-state{display:grid;gap:6px;padding:20px;border:1px solid color-mix(in srgb,var(--ntk-ticket-dark-text) 18%,transparent);border-radius:14px;background:color-mix(in srgb,var(--ntk-ticket-light) 10%,transparent);color:var(--ntk-ticket-dark-text)}
.ntk-ticket-closed-state strong{font-size:16px;font-weight:950;letter-spacing:.035em}
.ntk-ticket-closed-state p{margin:0!important;color:color-mix(in srgb,var(--ntk-ticket-dark-text) 75%,transparent)!important;font-size:13px!important;line-height:1.5!important}

/* 0.16.0 — inteligentna dostępność grupy */
.ntk-party-availability{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:6px 10px;
    width:max-content;
    max-width:100%;
    margin-top:-6px;
    padding:7px 10px;
    border:1px solid color-mix(in srgb,var(--ntk-ticket-primary) 18%,#e2e8f0);
    border-radius:8px;
    background:color-mix(in srgb,var(--ntk-ticket-primary) 7%,#fff);
    color:#475569;
}
.ntk-party-availability span{
    font-size:11px;
    font-weight:700;
}
.ntk-party-availability strong{
    color:#172033;
    font-size:12px;
    font-weight:900;
}
.ntk-party-size__control button:disabled{
    cursor:not-allowed!important;
    opacity:.38!important;
    background:#f8fafc!important;
    color:#94a3b8!important;
}
.ntk-party-size__control button:disabled:hover,
.ntk-party-size__control button:disabled:focus{
    background:#f8fafc!important;
    color:#94a3b8!important;
    box-shadow:none!important;
    transform:none!important;
}
.ntk-party-nearest{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-top:10px;
}
.ntk-party-nearest>small{
    width:100%;
    color:inherit;
    font-size:11px;
    font-weight:800;
}
.ntk-party-nearest__button{
    min-height:34px!important;
    margin:0!important;
    padding:7px 11px!important;
    border:1px solid color-mix(in srgb,var(--ntk-ticket-primary) 36%,#fed7aa)!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#7c2d12!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.1!important;
    text-transform:none!important;
    cursor:pointer!important;
}
.ntk-party-nearest__button:hover,
.ntk-party-nearest__button:focus{
    border-color:var(--ntk-ticket-primary)!important;
    background:color-mix(in srgb,var(--ntk-ticket-primary) 8%,#fff)!important;
    color:#7c2d12!important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--ntk-ticket-primary) 14%,transparent)!important;
}
@media(max-width:700px){
    .ntk-party-availability{width:100%;justify-content:center;text-align:center}
    .ntk-party-nearest__button{flex:1 1 auto}
}
