/* WOOL_CHECKOUT_DESKTOP_LAYOUT_V1 */
@media (min-width: 992px) {
  body#order-opc #columns { max-width: 1240px; }
  body#order-opc #center_column > .col-xs-12 { padding-left: 0; padding-right: 0; }
  body#order-opc #center_column > .col-xs-12:not(.clear),
  body#order-opc #center_column > .col-xs-12.clear {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    margin-bottom: 28px;
  }
  body#order-opc #center_column > .col-xs-12:not(.clear) > .col-md-5 { width: 42%; }
  body#order-opc #center_column > .col-xs-12:not(.clear) > .col-md-7 { width: 58%; }
  body#order-opc #center_column > .col-xs-12.clear > .col-md-6 { width: 50%; }
  body#order-opc #center_column > .col-xs-12 > [class*=col-md-] {
    float: none;
    padding: 0;
  }
  body#order-opc #opc_new_account,
  body#order-opc #center_column > .col-xs-12:not(.clear) > .col-md-7,
  body#order-opc #center_column > .col-xs-12.clear > .col-md-6 {
    padding: 26px 28px;
    border: 1px solid #e7e7e7;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(31, 42, 55, .055);
  }
  body#order-opc .page-heading { margin-top: 0; }
  body#order-opc .page-heading.step-num {
    display: flex;
    align-items: center;
    min-height: 45px;
    margin-bottom: 20px;
  }
  body#order-opc .page-heading.step-num > span {
    flex: 0 0 auto;
    margin-right: 14px;
  }
  body#order-opc #opc_account_form { margin-right: -10px; margin-left: -10px; }
  body#order-opc #opc_account_form > .col-md-6 { padding-right: 10px; padding-left: 10px; }
  body#order-opc #opc_account_form .form-control,
  body#order-opc #opc_account_form .selector { width: 100% !important; }
  body#order-opc #opc_account_form .selector > span { width: calc(100% - 10px) !important; }
  body#order-opc #submitAccount { min-width: 180px; }
  body#order-opc #order-detail-content { margin-bottom: 20px; }
  body#order-opc #cart_summary { margin-bottom: 0; }
  body#order-opc #cart_summary td,
  body#order-opc #cart_summary th { vertical-align: middle; }
  body#order-opc #carrier_area,
  body#order-opc #opc_delivery_methods,
  body#order-opc #opc_payment_methods { margin-bottom: 0; }
  body#order-opc .delivery_option { margin-bottom: 10px; }
  body#order-opc .delivery_option table.resume {
    margin: 0;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #fafafa;
  }
  body#order-opc .delivery_option table.resume td { padding: 14px 10px; border: 0; vertical-align: middle; }
  body#order-opc .delivery_option_logo { width: 88px; text-align: center; } 
  body#order-opc .delivery_option_price { min-width: 95px; text-align: right; white-space: nowrap; }
  body#order-opc #wool-payment-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
  }
  body#order-opc #wool-payment-preview .wool-payment-notice { grid-column: 1 / -1; margin: 0; }
  body#order-opc #wool-payment-preview .wool-payment-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 116px;
    margin: 0;
    padding: 16px 10px;
    text-align: center;
  }
  body#order-opc #wool-payment-preview .wool-payment-card img {
    max-width: 105px;
    max-height: 44px;
    margin: 0 auto 11px;
  }
  body#order-opc #wool-payment-preview .wool-payment-card strong {
    min-height: 34px;
    font-size: 14px;
    line-height: 17px;
  }
  body#order-opc #HOOK_PAYMENT .payment_module { margin-bottom: 12px; }
  body#order-opc #message { min-height: 90px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body#order-opc #center_column > .col-xs-12:not(.clear),
  body#order-opc #center_column > .col-xs-12.clear { gap: 20px; }
  body#order-opc #opc_new_account,
  body#order-opc #center_column > .col-xs-12:not(.clear) > .col-md-7,
  body#order-opc #center_column > .col-xs-12.clear > .col-md-6 { padding: 22px 20px; }
  body#order-opc #wool-payment-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* WOOL_QUICK_ORDER_MONTONIO_V1 */

/* Все три раздела постоянно находятся на странице */
body#order-opc #opc_account,
body#order-opc #opc_account_form,
body#order-opc #opc_delivery_methods,
body#order-opc #carrier_area,
body#order-opc #opc_payment_methods,
body#order-opc #opc_payment_methods-content,
body#order-opc .opc-main-block {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
}

body#order-opc #opc_account_form,
body#order-opc #opc_delivery_methods,
body#order-opc #opc_payment_methods {
    margin-bottom: 36px;
}

body#order-opc #carrier_area,
body#order-opc #opc_payment_methods-content {
    min-height: 110px;
}

/* Заблокированное превью Montonio */
body#order-opc #wool-payment-preview {
    margin: 14px 0 24px;
}

body#order-opc .wool-payment-notice {
    margin-bottom: 12px;
    padding: 12px 15px;
    border: 1px solid #ead9a6;
    background: #fff9e7;
    color: #65582f;
    line-height: 1.45;
}

body#order-opc .wool-payment-card {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 340px;
    min-height: 82px;
    padding: 14px 18px;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    background: #fafafa;
    opacity: .48;
    filter: grayscale(100%);
    cursor: not-allowed;
    pointer-events: none;
    user-select: none;
}

body#order-opc .wool-payment-card img {
    width: auto;
    max-width: 110px;
    height: auto;
    max-height: 48px;
    margin-right: 18px;
    object-fit: contain;
}

body#order-opc .wool-payment-card strong {
    color: #444;
    font-size: 16px;
}

/* Настоящие платежи нельзя нажать до готовности заказа */
body#order-opc.wool-payment-locked
#opc_payment_methods-content .payment_module,
body#order-opc.wool-payment-locked
#opc_payment_methods-content .payment_module a,
body#order-opc.wool-payment-locked
#opc_payment_methods-content form,
body#order-opc.wool-payment-locked
#opc_payment_methods-content button,
body#order-opc.wool-payment-locked
#opc_payment_methods-content input {
    pointer-events: none !important;
}

body#order-opc.wool-payment-locked
#opc_payment_methods-content .payment_module {
    opacity: .48;
    filter: grayscale(100%);
}

body#order-opc.wool-payment-ready
#opc_payment_methods-content .payment_module {
    opacity: 1;
    filter: none;
    pointer-events: auto;
}

@media (max-width: 767px) {
    body#order-opc .wool-payment-card {
        max-width: none;
    }
}
/* ==========================================================
 * WOOL ESTONIA — carrier cards without visible radio buttons
 * ========================================================== */

body#order-opc #opc_delivery_methods td.delivery_option_radio {
    display: none !important;
}

body#order-opc #opc_delivery_methods .delivery_option {
    cursor: pointer;
}

body#order-opc #opc_delivery_methods .delivery_option table.resume {
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

/* выбранный перевозчик */
body#order-opc #opc_delivery_methods .delivery_option.wool-carrier-selected table.resume {
    border-color: #b8b8b8 !important;
    background: #fff !important;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .05);
}

/* интерактивные элементы внутри карточки остаются обычными */
body#order-opc #opc_delivery_methods .delivery_option select,
body#order-opc #opc_delivery_methods .delivery_option button,
body#order-opc #opc_delivery_methods .delivery_option a,
body#order-opc #opc_delivery_methods .delivery_option input:not(.delivery_option_radio) {
    cursor: default;
}
/* ==========================================================
   WOOL ESTONIA — CARRIER CARDS V2
   ========================================================== */

body#order-opc #opc_delivery_methods .delivery_option {
    cursor: pointer;
}

body#order-opc #opc_delivery_methods .delivery_option > div {
    position: relative;
}

/*
 * Real PrestaShop radio stays in DOM.
 * Only its visual cell is hidden.
 */
body#order-opc #opc_delivery_methods td.delivery_option_radio {
    display: none !important;
}


/* Selected carrier */
body#order-opc #opc_delivery_methods
.delivery_option.wool-carrier-selected > div {
    border-color: #e50046 !important;
    background: #fffafd !important;
}


/* Selected check */
body#order-opc #opc_delivery_methods
.delivery_option.wool-carrier-selected > div::after {
    content: "✓";

    position: absolute;
    top: 9px;
    right: 9px;
    z-index: 20;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    border-radius: 50%;

    background: #e50046;
    color: #fff;

    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}


/* ==========================================================
   MOBILE DELIVERY CARDS
   ========================================================== */

@media (max-width: 767px) {

    body#order-opc #opc_delivery_methods .delivery_option {
        margin: 0 0 12px !important;
    }

    body#order-opc #opc_delivery_methods .delivery_option > div {
        position: relative;

        margin: 0 !important;
        padding: 13px 12px !important;

        border: 1px solid #d8d8d8 !important;
        border-radius: 8px;

        background: #fff !important;

        box-shadow: 0 1px 4px rgba(0,0,0,.05);

        transition:
            border-color .18s ease,
            background-color .18s ease,
            box-shadow .18s ease,
            transform .08s ease;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option.wool-carrier-selected > div {
        padding: 12px 11px !important;

        border: 2px solid #e50046 !important;

        background: #fffafd !important;

        box-shadow: 0 3px 12px rgba(0,0,0,.08);
    }

    body#order-opc #opc_delivery_methods
    .delivery_option:active > div {
        transform: scale(.995);
    }


    /*
     * Convert old delivery table into a two-column card.
     */
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume,
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tbody {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr {
        display: grid !important;

        grid-template-columns: 66px minmax(0, 1fr);
        grid-template-rows: auto auto;

        column-gap: 12px;
        row-gap: 4px;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option table.resume td {
        border: 0 !important;
        background: transparent !important;
    }


    /* Radio */
    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_radio {
        display: none !important;
    }


    /* Logo */
    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_logo {
        display: flex !important;

        grid-column: 1;
        grid-row: 1 / span 2;

        align-items: flex-start;
        justify-content: center;

        width: 66px !important;
        min-width: 66px !important;

        margin: 0 !important;
        padding: 3px 4px 0 0 !important;

        text-align: center !important;
        vertical-align: top !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_logo img,
    body#order-opc #opc_delivery_methods
    .delivery_option img.order_carrier_logo {
        display: block !important;

        width: auto !important;
        max-width: 60px !important;

        height: auto !important;
        max-height: 42px !important;

        margin: 0 auto !important;

        object-fit: contain;
    }


    /* Main carrier information */
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr
    > td:not(.delivery_option_radio):not(.delivery_option_logo):not(.delivery_option_price) {
        display: block !important;

        grid-column: 2;
        grid-row: 1;

        width: auto !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 32px 0 0 !important;

        color: #555;

        text-align: left !important;
        vertical-align: top !important;

        font-size: 14px;
        line-height: 1.38;

        overflow-wrap: anywhere;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr
    > td:not(.delivery_option_radio):not(.delivery_option_logo):not(.delivery_option_price)
    > strong {
        display: block;

        margin: 0 0 4px !important;

        color: #333;

        font-size: 15px;
        font-weight: 600;
        line-height: 1.25;
    }


    /* Price below text */
    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_price {
        display: block !important;

        grid-column: 2;
        grid-row: 2;

        width: auto !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 4px 0 0 !important;

        text-align: left !important;
        vertical-align: top !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_price
    > .delivery_option_price {
        display: block;

        margin: 0 !important;
        padding: 0 !important;

        color: #333;

        font-size: 14px;
        font-weight: 600;
        line-height: 1.3;

        text-align: left !important;
    }


    /* Recommendation */
    body#order-opc #opc_delivery_methods .best_grade {
        display: inline-block;

        margin-top: 4px;
    }


    /* Omniva */
    body#order-opc #opc_delivery_methods .select-omnivalt {
        width: 100% !important;

        margin-top: 10px !important;
        margin-bottom: 3px !important;
    }

    body#order-opc #opc_delivery_methods .select-omnivalt select,
    body#order-opc #opc_delivery_methods .select-omnivalt .omniva-select,
    body#order-opc #opc_delivery_methods .select-omnivalt .omniva-terminals-list {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* Smartpost / Itella */
    body#order-opc #opc_delivery_methods .itella-select,
    body#order-opc #opc_delivery_methods .itella-shipping-container,
    body#order-opc #opc_delivery_methods #eabi_carrier_smartpost {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ==========================================================
 * WOOL ESTONIA — MOBILE CARRIER FLEX V4
 *
 * Lorex already uses flex for carrier rows under 500px.
 * Keep that model. No CSS grid, no forced table-cell layout.
 * ========================================================== */

@media (max-width: 500px) {

    /* ------------------------------------------------------
       OUTER CARD
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods .delivery_option {
        display: block !important;

        width: 100% !important;

        margin: 0 0 12px !important;

        overflow: visible !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option > div {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 1px solid #d8d8d8 !important;
        border-radius: 8px !important;

        background: #fff !important;

        box-shadow: 0 1px 4px rgba(0,0,0,.05);

        overflow: visible !important;
    }


    /* Selected carrier */
    body#order-opc #opc_delivery_methods
    .delivery_option.wool-carrier-selected > div {
        border: 2px solid #ed0047 !important;

        background: #fffafd !important;

        box-shadow: 0 2px 9px rgba(0,0,0,.08);
    }


    /* ------------------------------------------------------
       TABLE WRAPPER
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option table.resume,
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tbody {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;

        overflow: visible !important;
    }


    /* ------------------------------------------------------
       ROW
       Two-column flex:
       logo | carrier information
            | price below information
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr {
        display: flex !important;

        flex-direction: row !important;
        flex-wrap: wrap !important;

        align-items: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;

        overflow: visible !important;
    }


    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr > td {
        height: auto !important;
        min-height: 0 !important;

        border: 0 !important;

        background: transparent !important;

        vertical-align: top !important;

        overflow: visible !important;
    }


    /* ------------------------------------------------------
       RADIO
       Input remains in DOM for PrestaShop.
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_radio {
        display: none !important;

        width: 0 !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* ------------------------------------------------------
       LOGO
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_logo {
        display: block !important;

        flex: 0 0 76px !important;

        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;

        grid-column: auto !important;
        grid-row: auto !important;

        margin: 0 !important;

        padding: 14px 8px 8px 13px !important;

        text-align: center !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_logo img,
    body#order-opc #opc_delivery_methods
    .delivery_option img.order_carrier_logo {
        display: block !important;

        width: auto !important;
        max-width: 58px !important;

        height: auto !important;
        max-height: 40px !important;

        margin: 0 auto !important;

        object-fit: contain;
    }


    /* ------------------------------------------------------
       MAIN INFORMATION CELL
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr
    > td:not(.delivery_option_radio):not(.delivery_option_logo):not(.delivery_option_price) {
        display: block !important;

        flex: 1 1 calc(100% - 76px) !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 76px) !important;

        grid-column: auto !important;
        grid-row: auto !important;

        margin: 0 !important;

        padding: 13px 42px 6px 8px !important;

        color: #555 !important;

        text-align: left !important;

        font-size: 14px !important;
        line-height: 1.38 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        overflow: visible !important;
    }


    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr
    > td:not(.delivery_option_radio):not(.delivery_option_logo):not(.delivery_option_price)
    > strong {
        display: block !important;

        margin: 0 0 5px !important;

        color: #222 !important;

        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
    }


    /* ------------------------------------------------------
       PRICE
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_price {
        display: block !important;

        flex: 0 0 100% !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        grid-column: auto !important;
        grid-row: auto !important;

        margin: 0 !important;

        /*
         * Align price with the information column.
         */
        padding: 0 14px 12px 84px !important;

        text-align: left !important;

        white-space: normal !important;
    }


    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_price
    > .delivery_option_price {
        display: block !important;

        width: auto !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #333 !important;

        text-align: left !important;

        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;

        white-space: normal !important;
    }


    /* ------------------------------------------------------
       SELECTED CHECK
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    .delivery_option.wool-carrier-selected > div::after {
        content: "✓" !important;

        position: absolute !important;

        top: 9px !important;
        right: 9px !important;

        z-index: 30 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 25px !important;
        height: 25px !important;

        border-radius: 50% !important;

        background: #ed0047 !important;
        color: #fff !important;

        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        pointer-events: none !important;
    }


    /* ------------------------------------------------------
       BEST PRICE LABEL
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods .best_grade {
        display: block !important;

        width: auto !important;

        margin: 4px 0 0 !important;

        line-height: 1.3 !important;
    }


    /* ------------------------------------------------------
       OMNIVA
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    #omnivalt_parcel_terminal_carrier_details,
    body#order-opc #opc_delivery_methods
    .select-omnivalt {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 10px 0 3px !important;

        overflow: visible !important;

        z-index: 10000 !important;
    }


    body#order-opc #opc_delivery_methods
    .select-omnivalt .omniva-terminals-list {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;

        z-index: 10001 !important;
    }


    body#order-opc #opc_delivery_methods
    #show-omniva-map {
        max-width: 100% !important;

        white-space: normal !important;
    }


    /* ------------------------------------------------------
       SMARTPOST / LEGACY EABI PICKUP SELECTOR
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods
    #eabi_carrier_smartpost {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 8px 0 2px !important;

        overflow: visible !important;
    }


    body#order-opc #opc_delivery_methods
    .itella-shipping-container,
    body#order-opc #opc_delivery_methods
    .itella-select {
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;

        overflow: visible !important;
    }


    /* ------------------------------------------------------
       ALL DELIVERY WRAPPERS MUST EXPAND WITH CONTENT
       ------------------------------------------------------ */

    body#order-opc #opc_delivery_methods,
    body#order-opc #opc_delivery_methods .delivery_options_address,
    body#order-opc #opc_delivery_methods .delivery_options {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;
    }
}


/* ==========================================================
 * WOOL ESTONIA — MOBILE CARRIER POLISH V5
 *
 * Keep V4 flex layout.
 * Only:
 * 1. make flex widths include padding;
 * 2. slightly reduce vertical space;
 * 3. hide back-to-top controls on mobile checkout.
 * ========================================================== */

@media (max-width: 500px) {

    /*
     * Without border-box the 76px logo + content padding can
     * make the flex row wider than 100% and push text down.
     */
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr > td {
        box-sizing: border-box !important;
    }


    /* Logo column */
    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_logo {
        flex: 0 0 70px !important;

        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;

        padding: 10px 7px 7px 10px !important;

        box-sizing: border-box !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_logo img,
    body#order-opc #opc_delivery_methods
    .delivery_option img.order_carrier_logo {
        max-width: 52px !important;
        max-height: 38px !important;
    }


    /* Main carrier information stays beside logo */
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr
    > td:not(.delivery_option_radio):not(.delivery_option_logo):not(.delivery_option_price) {

        flex: 1 1 calc(100% - 70px) !important;

        width: calc(100% - 70px) !important;
        min-width: 0 !important;
        max-width: calc(100% - 70px) !important;

        padding: 10px 38px 5px 6px !important;

        box-sizing: border-box !important;
    }


    /* Price remains below, aligned with text */
    body#order-opc #opc_delivery_methods
    .delivery_option td.delivery_option_price {
        flex: 0 0 100% !important;

        width: 100% !important;
        max-width: 100% !important;

        padding: 0 12px 9px 76px !important;

        box-sizing: border-box !important;
    }


    /*
     * Checkout does not need a floating back-to-top control.
     * Scoped only to order-opc and only <= 500px.
     */
    body#order-opc #scroll_top,
    body#order-opc #scroll-top,
    body#order-opc #scrollTop,
    body#order-opc #scrollUp,
    body#order-opc #back-top,
    body#order-opc #back_to_top,
    body#order-opc #back-to-top,
    body#order-opc #toTop,
    body#order-opc .scroll_top,
    body#order-opc .scroll-top,
    body#order-opc .scrollTop,
    body#order-opc .scrollup,
    body#order-opc .scroll-up,
    body#order-opc .back-top,
    body#order-opc .back_to_top,
    body#order-opc .back-to-top,
    body#order-opc .backtotop,
    body#order-opc .toTop,
    body#order-opc .top_button,
    body#order-opc .go-top {
        display: none !important;
    }
}


/* ==========================================================
 * WOOL OMNIVA MOBILE INLINE DROPDOWN V1
 *
 * On desktop Omniva uses an absolute dropdown panel.
 *
 * Inside WoolEstonia mobile carrier cards an absolute panel
 * overlaps subsequent carrier cards and makes terminal taps
 * unreliable.
 *
 * Mobile only:
 * - dropdown content stays in document flow;
 * - selected carrier card grows vertically;
 * - following carrier cards move below it;
 * - terminal list itself remains scrollable.
 * ========================================================== */

@media (max-width: 767px) {

    /*
     * Omniva wrapper must be allowed to grow with its content.
     */
    body#order-opc #opc_delivery_methods
    #omnivalt_parcel_terminal_carrier_details,
    body#order-opc #opc_delivery_methods
    .select-omnivalt,
    body#order-opc #opc_delivery_methods
    .select-omnivalt .omniva-terminals-list {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;
    }


    /*
     * CRITICAL FIX:
     *
     * Previous mobile rules forced this panel to absolute.
     * That made it visually float over the following carrier.
     *
     * Keep it in normal flow on phones.
     */
    body#order-opc #opc_delivery_methods
    .select-omnivalt
    .omniva-terminals-list.open
    .inner-container,

    body#order-opc #opc_delivery_methods
    .omniva-terminals-list.open
    > .inner-container {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: block;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;

        z-index: auto !important;

        overflow: visible !important;

        box-sizing: border-box !important;
    }


    /*
     * The terminal list itself is the scrolling area.
     *
     * This prevents a list of hundreds of terminals from making
     * the checkout several screens long.
     */
    body#order-opc #opc_delivery_methods
    .omniva-terminals-list
    .inner-container > ul {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        max-height: 42vh !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;

        overscroll-behavior: contain;

        touch-action: pan-y;

        background: #fff !important;
    }


    /*
     * Each real terminal must have a full-width touch target.
     */
    body#order-opc #opc_delivery_methods
    .omniva-terminals-list
    .inner-container > ul > li {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height: 38px !important;

        padding: 8px 7px !important;

        box-sizing: border-box !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        cursor: pointer !important;

        touch-action: manipulation;
    }


    /*
     * City headings are not terminals.
     */
    body#order-opc #opc_delivery_methods
    .omniva-terminals-list
    .inner-container > ul > li.city {
        min-height: 0 !important;

        padding-top: 8px !important;
        padding-bottom: 4px !important;

        font-weight: 700 !important;

        cursor: default !important;
    }


    /*
     * Address/search input remains touchable and full width.
     */
    body#order-opc #opc_delivery_methods
    .omniva-terminals-list
    .inner-container .search-input {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height: 38px !important;

        box-sizing: border-box !important;

        z-index: 1 !important;

        touch-action: manipulation;
    }


    /*
     * Make sure no next carrier can visually cover opened Omniva.
     */
    body#order-opc #opc_delivery_methods
    .delivery_option {
        overflow: visible !important;
    }

    body#order-opc #opc_delivery_methods
    .delivery_option > div,
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume,
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tbody,
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume tr,
    body#order-opc #opc_delivery_methods
    .delivery_option table.resume td {
        overflow: visible !important;
    }
}


/* ==========================================================
 * WOOL MOBILE TERMINAL PICKER STYLES V1
 * ========================================================== */

.wool-terminal-picker,
.wool-terminal-picker-trigger {
    display: none;
}


@media (max-width: 767px) {

    /*
     * Original module element remains in DOM so that its native
     * callbacks continue to work, but it no longer handles taps.
     */
    body#order-opc #opc_delivery_methods
    .wool-terminal-picker-source {
        position: absolute !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: -10000px !important;

        display: block !important;

        width: 1px !important;
        min-width: 1px !important;
        max-width: 1px !important;

        height: 1px !important;
        min-height: 1px !important;
        max-height: 1px !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 0 !important;

        overflow: hidden !important;

        pointer-events: none !important;

        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
    }


    body#order-opc #opc_delivery_methods
    .wool-terminal-picker-trigger {
        position: relative;

        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;

        width: 100%;
        max-width: 100%;
        min-height: 46px;

        margin: 9px 0 2px;
        padding: 10px 12px;

        border: 1px solid #cfcfcf;
        border-radius: 6px;

        background: #fff;
        color: #333;

        font: inherit;
        font-size: 14px;
        line-height: 1.35;
        text-align: left;

        box-sizing: border-box;

        cursor: pointer;
        touch-action: manipulation;
    }


    body#order-opc #opc_delivery_methods
    .wool-terminal-picker-trigger.has-selection {
        border-color: #77527f;
        background: #fbf8fc;
    }


    .wool-terminal-picker-trigger-text {
        display: block;
        flex: 1 1 auto;

        min-width: 0;

        white-space: normal;
        overflow-wrap: break-word;
    }


    .wool-terminal-picker-trigger-arrow {
        display: block;
        flex: 0 0 auto;

        font-size: 22px;
        line-height: 1;
        color: #77527f;
    }


    body.wool-terminal-picker-open {
        overflow: hidden !important;
        overscroll-behavior: none;
    }


    .wool-terminal-picker {
        position: fixed;

        inset: 0;

        z-index: 2147483000;

        display: none;

        align-items: stretch;
        justify-content: stretch;

        background: rgba(0, 0, 0, 0.44);
    }


    .wool-terminal-picker.is-open {
        display: flex;
    }


    .wool-terminal-picker-panel {
        position: relative;

        display: flex;
        flex: 1 1 auto;
        flex-direction: column;

        width: 100%;
        height: 100%;
        max-width: 100%;

        padding:
            env(safe-area-inset-top)
            env(safe-area-inset-right)
            env(safe-area-inset-bottom)
            env(safe-area-inset-left);

        background: #fff;

        box-sizing: border-box;
        overflow: hidden;
    }


    .wool-terminal-picker-header {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: space-between;
        gap: 12px;

        min-height: 58px;
        padding: 9px 12px;

        border-bottom: 1px solid #e4e4e4;

        background: #fff;

        box-sizing: border-box;
    }


    .wool-terminal-picker-title {
        flex: 1 1 auto;

        font-size: 17px;
        line-height: 1.3;
        font-weight: 700;
        color: #292929;
    }


    .wool-terminal-picker-close {
        display: flex;
        flex: 0 0 42px;
        align-items: center;
        justify-content: center;

        width: 42px;
        height: 42px;

        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 50%;

        background: #f0edf1;
        color: #4d3153;

        font-size: 29px;
        line-height: 1;

        cursor: pointer;
        touch-action: manipulation;
    }


    .wool-terminal-picker-search-wrap {
        flex: 0 0 auto;

        padding: 10px 12px 6px;

        background: #fff;
    }


    .wool-terminal-picker-search {
        display: block;

        width: 100%;
        min-height: 46px;

        margin: 0;
        padding: 10px 12px;

        border: 1px solid #bdbdbd;
        border-radius: 7px;

        background: #fff;
        color: #222;

        font-size: 16px;
        line-height: 1.35;

        box-sizing: border-box;
        outline: none;
    }


    .wool-terminal-picker-search:focus {
        border-color: #77527f;
        box-shadow: 0 0 0 2px rgba(119, 82, 127, 0.15);
    }


    .wool-terminal-picker-status {
        flex: 0 0 auto;

        min-height: 25px;
        padding: 2px 13px 5px;

        background: #fff;
        color: #747474;

        font-size: 12px;
        line-height: 18px;
    }


    .wool-terminal-picker-results {
        flex: 1 1 auto;

        min-height: 0;

        padding: 0 10px 14px;

        background: #fff;

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }


    .wool-terminal-picker-item {
        display: block;

        width: 100%;
        min-height: 49px;

        margin: 0;
        padding: 11px 9px;

        border: 0;
        border-bottom: 1px solid #e8e8e8;
        border-radius: 0;

        background: #fff;
        color: #282828;

        font: inherit;
        font-size: 14px;
        line-height: 1.4;
        text-align: left;

        box-sizing: border-box;

        cursor: pointer;
        touch-action: manipulation;

        white-space: normal;
        overflow-wrap: break-word;
    }


    .wool-terminal-picker-item:active {
        background: #f4eff5;
    }


    .wool-terminal-picker-item.is-selected {
        border-left: 4px solid #77527f;

        padding-left: 10px;

        background: #f7f2f8;
        color: #402545;

        font-weight: 700;
    }


    .wool-terminal-picker-empty {
        padding: 28px 12px;

        color: #747474;

        font-size: 14px;
        line-height: 1.5;
        text-align: center;
    }
}
