/* FONET Native WooCommerce Checkout */

.fo-native-checkout-form {
    display: block !important;
}

.fo-checkout-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 50px;
    align-items: start;
}

.fo-checkout-sidebar {
    position: sticky;
    top: 20px;
}

.fo-native-summary {
    border: 2px solid #bf2026;
    border-radius: 5px;
    padding: 15px;
    background: #fff;
}

.fo-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.fo-summary-table th,
.fo-summary-table td {
    padding: 7px 5px;
}

.fo-summary-table thead {
    background: #f4f4f4;
}

.fo-summary-table thead th:last-child,
.fo-summary-table td {
    text-align: right;
}

.fo-summary-table .product-name {
    text-align: left;
    font-size: 14px;
}

.fo-summary-table .order-total {
    background: #e9f3fe;
}

.fo-summary-table .order-total th,
.fo-summary-table .order-total td,
.fo-summary-table .cart-subtotal th,
.fo-summary-table .cart-subtotal td {
    border-top: 1px solid #d7d7d7;
}

.order-shipping-summary th small,
.order-payment-summary th small {
    display: block;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
}

.fo-free {
    color: green;
    font-weight: 600;
}

.fo-muted {
    opacity: .5;
}

.fo-section {
    margin-bottom: 25px;
}

.fo-section > h3 {
    margin: 0 0 10px;
}

.fo-shipping-method-list,
.fo-native-checkout-form .wc_payment_methods {
    list-style: none;
    margin: 0;
    padding: 15px;
    border: 1px solid #ebebeb;
    border-radius: 5px;
}

.fo-shipping-card {
    margin: 0;
    border-bottom: 1px solid #eee;
}

.fo-shipping-card:last-child {
    border-bottom: 0;
}

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    width: 100% !important;
    align-items: center;
    padding: 15px 5px;
    cursor: pointer;
}

.fo-shipping-card > input {
    float: left;
    margin: 18px 10px 0 0;
}

.fo-shipping-card-name {
    text-align: left;
}

.fo-shipping-card-price {
    text-align: right;
    white-space: nowrap;
}

.fo-native-checkout-form #payment {
    background: transparent;
}

.fo-native-checkout-form #payment ul.payment_methods {
    border-bottom: 0;
}

.fo-native-checkout-form #payment .payment_box {
    margin: 0 0 15px;
}

.fo-navigation-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
}

.fo-secondary {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #cd0c00 !important;
}

.checkout-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
    padding-bottom: 10px;
}

.step-progress {
    display: flex;
    gap: 30px;
    align-items: center;
}

.step-item {
    appearance: none;
    border: 0;
    background: transparent;
    color: #aaa;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
}

.step-item.active {
    color: #c00;
}

.step-number {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 26px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #ddd;
    font-weight: 700;
}

.step-item.active .step-number {
    border-color: #c00;
    color: #c00;
}

.step-label {
    margin-top: 5px;
    font-size: 14px;
}

.contact-info {
    font-size: 14px;
}

.contact-info a {
    color: #c00;
}

#fo-place-order-target .place-order {
    margin-top: 25px;
    padding: 0;
}

#fo-place-order-target #place_order {
    width: auto;
    float: right;
}

.fo-checkout-step[hidden] {
    display: none !important;
}

@media (max-width: 1114px) {
    .fo-checkout-main {
        display: block;
    }

    .fo-checkout-sidebar {
        position: static;
        margin: 30px 0;
    }

    .checkout-navigation {
        flex-direction: column-reverse;
        gap: 10px;
    }

    .contact-info {
        width: 100%;
        background: #e9f3fe;
        border-radius: 5px;
        padding: 5px;
        text-align: center;
    }

    .step-progress {
        width: 100%;
        gap: 10px;
        justify-content: space-between;
    }

    .step-item {
        flex: 1;
    }
}


/* Doprava pred zadaním PSČ */
.fo-shipping-postcode-note {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
    opacity: .7;
}

.fo-shipping-from {
    font-weight: 600;
    white-space: nowrap;
}

.fo-shipping-placeholder {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    opacity: .82;
}

.fo-shipping-placeholder-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    width: 100%;
    align-items: center;
    padding: 15px 5px;
}

.fo-shipping-placeholder-spacer {
    width: 18px;
    height: 18px;
    margin-top: 18px;
    border: 1px solid #d3d3d3;
    border-radius: 50%;
    background: #f7f7f7;
}

@media (max-width: 650px) {
    .fo-shipping-placeholder-content {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .fo-shipping-placeholder-content .fo-shipping-card-price {
        text-align: left;
    }
}


/* ============================================================
   FONET checkout - oprava rozloženia dopravy a platby
   ============================================================ */

/* Téma/WooCommerce štandardne dáva #order_review doprava,
   width a float. V našom vlastnom layoute to nechceme. */
.fo-native-checkout-form #order_review,
.fo-native-checkout-form .woocommerce-checkout-review-order,
.fo-native-checkout-form #payment {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    clear: both !important;
    margin: 0 !important;
}

/* Doprava má byť normálne pod nadpisom Doprava, nie malý box vpravo. */
.fo-native-shipping-methods {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.fo-shipping-method-list {
    width: 100% !important;
    box-sizing: border-box;
    padding: 0 !important;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px;
}

/* Každá reálna doprava */
.fo-shipping-card {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    min-height: 68px;
    box-sizing: border-box;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
}

.fo-shipping-card:last-child {
    border-bottom: 0;
}

.fo-shipping-card > input.shipping_method {
    position: static !important;
    float: none !important;
    align-self: center;
    justify-self: center;
    margin: 0 !important;
}

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
    padding: 15px 18px 15px 0 !important;
    margin: 0 !important;
    cursor: pointer;
}

.fo-shipping-card-name {
    min-width: 0;
    font-size: 15px;
    line-height: 1.35;
}

.fo-shipping-card-price {
    text-align: right;
    white-space: nowrap;
    font-size: 15px;
}

/* Informačný riadok "od X €" */
.fo-shipping-placeholder {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 0 !important;
    min-height: 82px;
    opacity: 1;
    background: #fafafa;
}

.fo-shipping-placeholder-spacer {
    align-self: center;
    justify-self: center;
    width: 14px;
    height: 14px;
    margin: 0 !important;
    border: 1px solid #ccc;
    border-radius: 50%;
    background: #f2f2f2;
}

.fo-shipping-placeholder-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 14px 18px 14px 0;
}

.fo-shipping-placeholder .fo-shipping-card-name {
    font-weight: 600;
}

.fo-shipping-postcode-note {
    display: block;
    max-width: 560px;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 400;
    opacity: .65;
}

.fo-shipping-from {
    font-weight: 700;
    color: #168329;
}

/* Platba vizuálne zarovnaná s dopravou */
.fo-native-checkout-form #payment {
    background: transparent !important;
    border: 0 !important;
}

.fo-native-checkout-form #payment ul.payment_methods {
    width: 100% !important;
    box-sizing: border-box;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px;
    background: #fff;
}

.fo-native-checkout-form #payment ul.payment_methods > li {
    box-sizing: border-box;
    padding: 16px 20px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e8e8e8;
    background: #fff;
}

.fo-native-checkout-form #payment ul.payment_methods > li:last-child {
    border-bottom: 0;
}

.fo-native-checkout-form #payment ul.payment_methods > li > input {
    margin-right: 10px !important;
}

.fo-native-checkout-form #payment .payment_box {
    margin: 14px 0 0 !important;
    border-radius: 4px;
}

/* Nadpisy */
.fo-section > h3 {
    margin: 0 0 14px !important;
    font-size: 30px;
    line-height: 1.2;
}

/* Menej veľkej medzery medzi Dopravou a Platbou */
.fo-section {
    margin-bottom: 28px;
}

@media (max-width: 650px) {
    .fo-shipping-card,
    .fo-shipping-placeholder {
        grid-template-columns: 36px minmax(0, 1fr) !important;
    }

    .fo-shipping-card > label,
    .fo-shipping-placeholder-content {
        grid-template-columns: 1fr;
        gap: 5px;
        padding-right: 12px !important;
    }

    .fo-shipping-card-price,
    .fo-shipping-placeholder-content .fo-shipping-card-price {
        text-align: left !important;
    }

    .fo-section > h3 {
        font-size: 26px;
    }
}


/* ============================================================
   FONET - finálne zarovnanie dopravy
   ============================================================ */

/* Doprava nesmie plávať doprava */
.fo-native-checkout-form #order_review,
.fo-native-checkout-form .woocommerce-checkout-review-order,
.fo-native-shipping-methods,
.fo-shipping-method-list,
.fo-shipping-card {
    float: none !important;
}

/* Cena dopravy vždy úplne napravo */
.fo-shipping-card > label,
.fo-shipping-placeholder-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100% !important;
}

.fo-shipping-card-price {
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;

    /* rovnaký vizuál ako cena pri platbe */
    display: inline-block;
    width: auto !important;
    min-width: auto !important;
    background: #000 !important;
    color: #fff !important;
    padding: 4px 9px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

/* Aj "od X €" má byť biele na čiernom */
.fo-shipping-card-price .fo-shipping-from,
.fo-shipping-card-price .fo-free,
.fo-shipping-card-price .woocommerce-Price-amount,
.fo-shipping-card-price .woocommerce-Price-currencySymbol {
    color: #fff !important;
    background: transparent !important;
}

/* Placeholder dopravy nech vyzerá ako normálny riadok */
.fo-shipping-placeholder {
    width: 100% !important;
    float: none !important;
}

.fo-shipping-placeholder-content {
    min-width: 0;
}

@media (max-width: 650px) {
    .fo-shipping-card > label,
    .fo-shipping-placeholder-content {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    .fo-shipping-card-price,
    .fo-shipping-placeholder-content .fo-shipping-card-price {
        justify-self: end !important;
        text-align: right !important;
    }
}


/* ============================================================
   FONET - doprava: obrazok/text vlavo, cena uplne napravo
   ============================================================ */

.fo-shipping-card {
    width: 100% !important;
    float: none !important;
}

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px 16px 14px 0 !important;
}

.fo-shipping-card-name {
    display: block !important;
    min-width: 0 !important;
    text-align: left !important;
}

.fo-shipping-card-name img {
    display: inline-block !important;
    vertical-align: middle !important;
    width: 28px !important;
    max-width: 28px !important;
    height: auto !important;
    margin: 0 10px 0 0 !important;
}

.fo-shipping-card-name .cart_delivery_date {
    display: block !important;
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    opacity: .7 !important;
}

.fo-shipping-card-price {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    text-align: right !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    width: max-content !important;
    background: #000 !important;
    color: #fff !important;
    padding: 4px 9px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.fo-shipping-card-price .woocommerce-Price-amount,
.fo-shipping-card-price .woocommerce-Price-currencySymbol,
.fo-shipping-card-price .fo-shipping-from,
.fo-shipping-card-price .fo-free {
    color: #fff !important;
    background: transparent !important;
}

.fo-shipping-card-price .tax_label {
    display: none !important;
}

@media (max-width: 650px) {
    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        gap: 10px !important;
    }

    .fo-shipping-card-price {
        justify-self: end !important;
        text-align: right !important;
    }
}


/* ============================================================
   FONET - dizajn dopravy podľa predlohy
   ============================================================ */

.fo-native-shipping-methods {
    margin: 0 0 28px !important;
}

.fo-shipping-method-list {
    padding: 0 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
}

.fo-shipping-card {
    margin: 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
    background: #fff;
}

.fo-shipping-card:last-child {
    border-bottom: 0 !important;
}

.fo-shipping-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: stretch;
}

.fo-shipping-card > input.shipping_method {
    margin: 0 !important;
    align-self: center;
    justify-self: center;
    float: none !important;
    position: static !important;
}

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 110px 140px;
    gap: 18px;
    align-items: center;
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
    padding: 16px 18px 16px 0 !important;
    margin: 0 !important;
    cursor: pointer;
}

.fo-shipping-card-main {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.fo-shipping-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
}

.fo-shipping-card-icon img {
    display: block !important;
    width: 24px !important;
    max-width: 24px !important;
    height: auto !important;
    margin: 0 !important;
}

.fo-shipping-card-text {
    min-width: 0;
}

.fo-shipping-card-title {
    display: block;
    color: #151515;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
}

.fo-shipping-card-subtitle {
    display: block;
    margin-top: 3px;
    color: #222;
    font-size: 14px;
    line-height: 1.3;
    font-style: italic;
}

.fo-shipping-card-price,
.fo-shipping-card-date {
    text-align: left;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    color: #299b2d !important;
}

.fo-shipping-card-price {
    justify-self: start;
}

.fo-shipping-card-date {
    justify-self: end;
    text-align: right;
}

.fo-shipping-card-price .woocommerce-Price-amount,
.fo-shipping-card-price .woocommerce-Price-currencySymbol,
.fo-shipping-card-price .fo-shipping-from,
.fo-shipping-card-price .fo-free,
.fo-shipping-card-date .cart_delivery_date {
    color: #299b2d !important;
    background: transparent !important;
    font-weight: 700 !important;
}

.fo-shipping-card-date .cart_delivery_date {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
}

.fo-shipping-postcode-note {
    display: block;
    margin-top: 5px;
    color: #6f6f6f;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 400;
}

/* Placeholder pred PSČ */
.fo-shipping-placeholder {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: stretch;
    background: #fff;
}

.fo-shipping-placeholder-spacer {
    align-self: center;
    justify-self: center;
    width: 14px;
    height: 14px;
    margin: 0 !important;
    border: 1px solid #cfcfcf;
    border-radius: 50%;
    background: #fff;
}

.fo-shipping-placeholder-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 110px;
    gap: 18px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 18px 16px 0;
}

.fo-shipping-placeholder .fo-shipping-card-name {
    min-width: 0;
}

.fo-shipping-placeholder .fo-shipping-card-name strong,
.fo-shipping-placeholder .fo-shipping-card-name {
    font-size: 16px;
    font-weight: 500;
}

.fo-shipping-placeholder .fo-shipping-card-price {
    justify-self: start;
    text-align: left !important;
}

/* Nech sa už neukazuje starý black badge štýl */
.fo-shipping-card-price,
.fo-shipping-placeholder .fo-shipping-card-price {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    margin-left: 0 !important;
}

@media (max-width: 860px) {
    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }

    .fo-shipping-card-date {
        grid-column: 2;
        justify-self: end;
    }

    .fo-shipping-card-price {
        grid-column: 2;
        justify-self: end;
    }

    .fo-shipping-card-main {
        grid-column: 1;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 650px) {
    .fo-shipping-card > label {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-right: 12px !important;
    }

    .fo-shipping-card-main,
    .fo-shipping-card-price,
    .fo-shipping-card-date {
        grid-column: auto;
        grid-row: auto;
        justify-self: start;
        text-align: left;
    }

    .fo-shipping-placeholder-content {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-right: 12px;
    }
}


/* ============================================================
   FONET CHECKOUT V8 - vzhľad podľa predloha.png
   Tento blok je zámerne na konci CSS, aby prebil staršie pravidlá.
   ============================================================ */

/* ---------- SPOLOČNÉ ---------- */
.fo-native-checkout-form #order_review,
.fo-native-checkout-form .woocommerce-checkout-review-order,
.fo-native-shipping-methods,
.fo-native-checkout-form #payment {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    clear: both !important;
    margin: 0 !important;
}

.fo-section {
    margin-bottom: 22px !important;
}

.fo-section > h3 {
    margin: 0 0 14px !important;
    font-size: 30px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

/* ---------- DOPRAVA ---------- */
.fo-native-shipping-methods {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.fo-shipping-method-list {
    list-style: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.fo-shipping-card {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.fo-shipping-card:last-child {
    border-bottom: 0 !important;
}

.fo-shipping-card > input.shipping_method {
    position: static !important;
    float: none !important;
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
}

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 130px 140px !important;
    gap: 18px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 22px 14px 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

/* ľavá časť: obrázok + názov + podnázov */
.fo-shipping-card-main {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.fo-shipping-card-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-height: 26px !important;
}

.fo-shipping-card-icon img {
    display: block !important;
    width: 28px !important;
    max-width: 28px !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.fo-shipping-card-text {
    min-width: 0 !important;
}

.fo-shipping-card-title {
    display: block !important;
    color: #171717 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
}

.fo-shipping-card-subtitle {
    display: block !important;
    margin-top: 2px !important;
    color: #222 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-style: italic !important;
    font-weight: 400 !important;
}

/* cena ako v predlohe: zelená, bez badge */
.fo-shipping-card-price {
    display: block !important;
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #269c2c !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
}

.fo-shipping-card-price .woocommerce-Price-amount,
.fo-shipping-card-price .woocommerce-Price-currencySymbol,
.fo-shipping-card-price .fo-shipping-from,
.fo-shipping-card-price .fo-free {
    color: #269c2c !important;
    background: transparent !important;
    font-weight: 700 !important;
}

/* dátum úplne napravo */
.fo-shipping-card-date {
    display: block !important;
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    text-align: right !important;
    white-space: nowrap !important;
    color: #269c2c !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.fo-shipping-card-date .cart_delivery_date {
    display: block !important;
    margin: 0 !important;
    color: #269c2c !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

/* poznámka pred zadaním PSČ */
.fo-shipping-postcode-note {
    display: block !important;
    margin-top: 4px !important;
    color: #777 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-style: normal !important;
    font-weight: 400 !important;
}

/* placeholder "Doprava kuriérom od..." */
.fo-shipping-placeholder {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    min-height: 70px !important;
    opacity: 1 !important;
    background: #fff !important;
}

.fo-shipping-placeholder-spacer {
    align-self: center !important;
    justify-self: center !important;
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    border: 1px solid #aaa !important;
    border-radius: 50% !important;
    background: #fff !important;
}

.fo-shipping-placeholder-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 130px 140px !important;
    gap: 18px !important;
    align-items: center !important;
    width: 100% !important;
    padding: 14px 22px 14px 0 !important;
    box-sizing: border-box !important;
}

.fo-shipping-placeholder .fo-shipping-card-name {
    min-width: 0 !important;
    color: #171717 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

.fo-shipping-placeholder .fo-shipping-card-price {
    grid-column: 2 !important;
    justify-self: center !important;
}

.fo-shipping-placeholder-content::after {
    content: "";
    grid-column: 3;
}

/* ---------- PLATBA ---------- */
.fo-native-checkout-form #payment {
    background: transparent !important;
    border: 0 !important;
}

.fo-native-checkout-form #payment ul.payment_methods {
    list-style: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 10px 14px 30px !important;
    border: 0 !important;
    border-bottom: 1px solid #e7e7e7 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li:last-child {
    border-bottom: 0 !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li > input[type="radio"] {
    position: absolute !important;
    left: 0 !important;
    top: 20px !important;
    margin: 0 !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li > label {
    display: block !important;
    width: 100% !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 105px 0 0 !important;
    color: #171717 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    box-sizing: border-box !important;
}

/* obrázky ikon pri názve platby */
.fo-native-checkout-form #payment ul.payment_methods > li > label img {
    max-height: 28px !important;
    width: auto !important;
    vertical-align: middle !important;
    margin: 0 8px 0 0 !important;
}

/* čierny badge s cenou/zadarmo napravo */
.fo-native-checkout-form #payment ul.payment_methods > li > label .woocommerce-Price-amount,
.fo-native-checkout-form #payment ul.payment_methods > li > label bdi {
    background: #000 !important;
    color: #fff !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li .badage_gopay,
.fo-native-checkout-form #payment ul.payment_methods > li .badage_tatrapay,
.fo-native-checkout-form #payment ul.payment_methods > li .badage_dobierka,
.fo-native-checkout-form #payment ul.payment_methods > li .payment-price,
.fo-native-checkout-form #payment ul.payment_methods > li .payment_fee_badge {
    position: absolute !important;
    top: 13px !important;
    right: 10px !important;
    width: auto !important;
    margin: 0 !important;
}

/* fallback pre bdi/cenu ak plugin badge nemá vlastnú triedu */
.fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount,
.fo-native-checkout-form #payment ul.payment_methods > li > label > bdi {
    float: right !important;
    margin-left: 10px !important;
    padding: 4px 9px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

/* textový box popisu platby */
.fo-native-checkout-form #payment .payment_box {
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 13px 18px !important;
    border-radius: 3px !important;
    background: #f1f1f1 !important;
    color: #222 !important;
    box-sizing: border-box !important;
}

.fo-native-checkout-form #payment .payment_box::before {
    display: none !important;
}

.fo-native-checkout-form #payment .payment_box p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* place order nech neovplyvňuje payment box */
.fo-native-checkout-form #payment .place-order {
    border: 0 !important;
    background: transparent !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 860px) {
    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) 105px !important;
        gap: 10px !important;
    }

    .fo-shipping-card-main {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
    }

    .fo-shipping-card-price {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }

    .fo-shipping-card-date {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
    }

    .fo-shipping-placeholder-content {
        grid-template-columns: minmax(0, 1fr) 105px !important;
    }

    .fo-shipping-placeholder-content::after {
        display: none !important;
    }
}

@media (max-width: 650px) {
    .fo-section > h3 {
        font-size: 26px !important;
    }

    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding-right: 12px !important;
    }

    .fo-shipping-card-main {
        grid-row: 1 / span 2 !important;
    }

    .fo-shipping-card-title {
        font-size: 15px !important;
    }

    .fo-shipping-card-subtitle {
        font-size: 12px !important;
    }

    .fo-shipping-card-price,
    .fo-shipping-card-date {
        font-size: 12px !important;
    }

    .fo-shipping-placeholder-content {
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding-right: 12px !important;
    }

    .fo-native-checkout-form #payment ul.payment_methods {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .fo-native-checkout-form #payment ul.payment_methods > li {
        padding-right: 6px !important;
    }

    .fo-native-checkout-form #payment ul.payment_methods > li > label {
        padding-right: 85px !important;
        font-size: 15px !important;
    }
}


/* ============================================================
   FONET V9 - doprava: cena stred, datum vpravo
   ============================================================ */

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 140px 150px !important;
    align-items: center !important;
    gap: 16px !important;
}

.fo-shipping-card-price {
    grid-column: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
}

.fo-shipping-card-date {
    grid-column: 3 !important;
    justify-self: end !important;
    text-align: right !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.fo-shipping-placeholder-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 140px 150px !important;
    align-items: center !important;
    gap: 16px !important;
}

.fo-shipping-placeholder .fo-shipping-card-price {
    grid-column: 2 !important;
    justify-self: center !important;
    text-align: center !important;
}

.fo-shipping-placeholder-content::after {
    content: "";
    grid-column: 3 !important;
}

@media (max-width: 860px) {
    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) 110px 120px !important;
        gap: 10px !important;
    }

    .fo-shipping-card-main {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .fo-shipping-card-price {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
    }

    .fo-shipping-card-date {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }

    .fo-shipping-placeholder-content {
        grid-template-columns: minmax(0, 1fr) 110px 120px !important;
    }
}

@media (max-width: 650px) {
    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
    }

    .fo-shipping-card-main {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
    }

    .fo-shipping-card-price {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        text-align: right !important;
    }

    .fo-shipping-card-date {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
        text-align: right !important;
    }

    .fo-shipping-placeholder-content {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .fo-shipping-placeholder-content::after {
        display: none !important;
    }
}


/* ============================================================
   FONET - doprava: názov vľavo, cena v strede, dátum vpravo
   ============================================================ */

.fo-shipping-card > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 130px 140px !important;
    gap: 18px !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Názov + obrázok ostávajú vľavo */
.fo-shipping-card-main {
    grid-column: 1 !important;
    justify-self: stretch !important;
    min-width: 0 !important;
}

/* Cena presne v strede */
.fo-shipping-card-price {
    grid-column: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Dátum úplne napravo */
.fo-shipping-card-date {
    grid-column: 3 !important;
    justify-self: end !important;
    text-align: right !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Mobil */
@media (max-width: 650px) {
    .fo-shipping-card > label {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        gap: 10px !important;
    }

    .fo-shipping-card-price {
        justify-self: center !important;
    }

    .fo-shipping-card-date {
        justify-self: end !important;
    }
}


/* ============================================================
   FONET CHECKOUT V10 - ceny platieb zarovnané napravo
   ============================================================ */

/*
 * Reálny HTML výstup gatewayov je napr.:
 * <label>
 *   <img> Kartou online
 *   <span class="woocommerce-Price-amount amount badage_tatrapay">...</span>
 *   <img> ... ďalšie logá ...
 * </label>
 *
 * Cenu preto vyberieme z bežného toku a ukotvíme ju napravo v labeli.
 */

.fo-native-checkout-form #payment ul.payment_methods > li {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px 16px 14px 34px !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li > input[type="radio"] {
    position: absolute !important;
    left: 4px !important;
    top: 21px !important;
    margin: 0 !important;
}

/* Každý label platby zaberá celú šírku riadku. */
.fo-native-checkout-form #payment ul.payment_methods > li > label {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 34px !important;
    box-sizing: border-box !important;
    margin: 0 !important;

    /* miesto rezervované pre čiernu cenovku napravo */
    padding: 0 92px 0 0 !important;

    color: #171717 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}

/*
 * Všetky cenovky gatewayov:
 * badage_tatrapay, badage_ucet, badage_dobierka
 * aj prípadné ďalšie WooCommerce Price amount.
 */
.fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount.amount {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;

    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 64px !important;
    max-width: none !important;
    height: auto !important;

    margin: 0 !important;
    padding: 5px 9px !important;

    background: #000 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    text-align: center !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    z-index: 3 !important;
}

/* Zruší staré individuálne šírky/floaty badgeov. */
.fo-native-checkout-form #payment .badage_tatrapay,
.fo-native-checkout-form #payment .badage_ucet,
.fo-native-checkout-form #payment .badage_dobierka,
.fo-native-checkout-form #payment .badage_gopay {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;

    float: none !important;
    width: auto !important;
    min-width: 64px !important;
    margin: 0 !important;
    padding: 5px 9px !important;

    background: #000 !important;
    color: #fff !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Cena aj mena musia zostať biele. */
.fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount.amount,
.fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount.amount *,
.fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount.amount bdi,
.fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount.amount .woocommerce-Price-currencySymbol {
    color: #fff !important;
}

/* Hlavná ikonka spôsobu platby. */
.fo-native-checkout-form #payment ul.payment_methods > li > label > img:first-of-type {
    display: inline-block !important;
    width: auto !important;
    max-width: 32px !important;
    max-height: 28px !important;
    margin: 0 10px 0 0 !important;
    vertical-align: middle !important;
}

/* Logá kariet / Tatrapay / Apple Pay atď. */
.fo-native-checkout-form #payment ul.payment_methods > li > label > img:not(:first-of-type) {
    display: inline-block !important;
    width: auto !important;
    max-width: 66px !important;
    max-height: 26px !important;
    margin: 8px 5px 0 0 !important;
    vertical-align: middle !important;
}

/* Popis zvolenej platby zostane pod riadkom a má celú šírku. */
.fo-native-checkout-form #payment .payment_box {
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 12px 0 0 !important;
    padding: 13px 18px !important;
    background: #f1f1f1 !important;
    border-radius: 3px !important;
}

/* Mobil - cenovka stále napravo, ale trochu kompaktnejšia. */
@media (max-width: 650px) {
    .fo-native-checkout-form #payment ul.payment_methods > li {
        padding-left: 30px !important;
        padding-right: 8px !important;
    }

    .fo-native-checkout-form #payment ul.payment_methods > li > label {
        padding-right: 78px !important;
        font-size: 15px !important;
    }

    .fo-native-checkout-form #payment ul.payment_methods > li > label > .woocommerce-Price-amount.amount {
        min-width: 58px !important;
        padding: 4px 7px !important;
        font-size: 12px !important;
    }
}


/* ============================================================
   FONET CHECKOUT V11 - popup po prepočte dopravy
   ============================================================ */

.fo-shipping-notice-overlay[hidden] {
    display: none !important;
}

.fo-shipping-notice-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    background: rgba(0, 0, 0, .30) !important;
}

.fo-shipping-notice {
    width: min(430px, 100%) !important;
    padding: 22px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .18) !important;
}

.fo-shipping-notice-title {
    margin: 0 0 8px !important;
    color: #111 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.fo-shipping-notice-text {
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.fo-shipping-notice-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 18px !important;
}

.fo-shipping-notice-button {
    min-width: 95px !important;
}
.fo-native-checkout-form #order_review {
    border: 1px solid #e2e2e2 !important;
    border-radius: 5px !important;
    padding: 0 14px !important;
}
@media (max-width: 650px) {
    .fo-shipping-card-price {
        grid-column: 3 !important;
        justify-self: end !important;
        text-align: right !important;
    }
}
@media (max-width: 650px) {
    .fo-shipping-card-price {
        grid-column: 3 !important;
    }
}
#order_review .fo-shipping-method-list {
    border: 0 !important;
}
.fo-native-checkout-form {
    padding: 20px !important;
    box-shadow: 1px 4px 10px 0 rgba(0, 0, 0, 0.1),
                0 0 2px 0 rgba(0, 0, 0, 0.05) !important;
    border-radius: 15px !important;
    margin-top: 0px !important;;
}
.woocommerce > form.checkout #customer_details {
    width: 100% !important;
    margin-bottom: 20px !important;
}
form.checkout .input-text {
    padding: 5px 10px !important;
}

#fo-step-billing #fo-back-shipping {
    display: none !important;
}
.fo-native-checkout-form .button,
.fo-native-checkout-form button,
.fo-native-checkout-form input[type="submit"] {
    border-radius: 30px !important;
}
.fo-native-checkout-form button[type="submit"],
.fo-native-checkout-form input[type="submit"],
.fo-native-checkout-form #place_order {
    background-color: #ff8114 !important;
    border-color: #ff8114 !important;
    width: 100% !important;
}
#billing_address_2 {
    margin-bottom: -14px;
}
.fo-shipping-card .packetery-widget-button-wrapper {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    padding: 0 22px 14px 46px !important;
    box-sizing: border-box !important;
}

.fo-shipping-card .packetery-widget-button-wrapper .form-row {
    width: 100% !important;
    margin: 0 !important;
}

.fo-shipping-card .packetery-widget-button-row,
.fo-shipping-card .packetery-widget-button-row .button {
    width: 100% !important;
}



.elementor-kit-7563 button, .elementor-kit-7563 input[type="button"], .elementor-kit-7563 input[type="submit"], .elementor-kit-7563 .elementor-button {
    text-shadow: none !important; 
    box-shadow: none !important; 
}
.heateor_sl_outer_login_container{
	display: none;
}

.fo-shipping-card .packetery-widget-button-row .button {
    display: block !important;
    text-align: center !important;
    border-radius: 30px !important;
}

.fo-native-checkout-form #payment ul.payment_methods > li.payment_method_tatrapayplus_paylater > label > img:first-of-type {
    max-width: 120px !important;
}

@media only screen and (max-width: 991px) {
    .woocommerce > form.checkout #customer_details {
        margin: 0px !important;
    }
    .fo-navigation-buttons .button{
        min-width: unset !important;
    }
    .woocommerce > form.checkout {
      margin-bottom: 50px;
    }
}