/*
 * Envio24 Order Form - SECTION 1 (Informações sobre o envio)
 *
 * @version 3.0.5
 * @package envio24-core/assets/css/order-form/
 *
 * ZMIANY 3.0.5 (PL):
 * - Etap 5 (UX): Dodano „sterownik” rozmiaru przycisków w grupie "Tipo de envio" (Sekcja 1).
 *   Analogicznie jak w Sekcjach 2-3, powiększono CAŁE przyciski (hitbox + ikona + label),
 *   aby były bardziej klikalne i czytelne.
 *
 * ZMIANY 3.0.4 (PL):
 * - UX/FIX (Kadence): ujednolicono wygląd natywnego selecta "Tipo de palete" (id: #e24-pallet-type),
 *   aby nie przejmował szarego tła i hovera z motywu.
 * - Uwaga: nie da się w 100% wystylować "hover" na pojedynczych <option> w natywnych selectach we wszystkich przeglądarkach,
 *   ale kontrolka selecta (tło/border/hover) będzie spójna i nie „Kadence-owa”.
 *
 * ZMIANY 3.0.3 (PL):
 * - RESKIN (Etap 2): weryfikacja i dopięcie pod tokeny z theme-tokens.css.
 *   Ten plik nie zawiera już żadnych „brandowych” HEX/RGB na sztywno (CTA/akcenty idą przez var()).
 *   Funkcjonalnie i layoutowo: 1:1 bez zmian.
 *
 * SPIS TREŚCI:
 * 1. Layout Sekcji 1 – Desktop Grid
 * 1.1 Fix: Natywny select "Tipo de palete" (Kadence override)
 * 2. Icons (Tipo de envio) – Sterownik + Style
 * 3. Walidacja UI – Wariant 1 (layout komunikatów) + fixy Sekcji 1
 * 4. RWD Sekcji 1 (Tablet / Mobile)
 */

/* ========================================
 * 1. LAYOUT SEKCJI 1 – DESKTOP GRID
 * ===================================== */

.e24-section1-top-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
}

.e24-section1-model-row{
    display: inline-flex;
    align-items: center;
    gap: 40px;
    margin-top: 4px;
}
.e24-section1-model__checkbox-inner{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}
.e24-section1-model__checkbox-text{
    font-size: 13px;
    text-align: right;
    line-height: 1.3;
    max-width: 170px;
}
#e24-order-form .e24-section1-model__checkbox{
    margin: 0;
    width: 18px;
    height: 18px;
    appearance: none;
    border: 2px solid var(--e24-orange) !important;
    border-radius: 3px !important;
    background-color: #FFFFFF !important;
    cursor: pointer;
    position: relative;
    outline: none !important;
}
#e24-order-form .e24-section1-model__checkbox:checked{
    background-color: var(--e24-orange) !important;
}
#e24-order-form .e24-section1-model__checkbox:checked::after{
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border-right: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    transform: rotate(45deg);
}

.e24-section1-type{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.e24-section1-type__label{
    text-align: left;
    margin-bottom: 10px;
}
.e24-choice-group {
    display: inline-flex;
    gap: 20px;
}

.e24-section1-main-fields,
.e24-section1-bottom-row{
    display: grid;
    grid-template-columns: repeat(var(--e24-sec1-grid-cols), minmax(var(--e24-sec1-grid-col-min), 1fr));
    column-gap: var(--e24-sec1-grid-gap);
    row-gap: var(--e24-gap-3);
    align-items: start;
}

.e24-section1-main-fields{ margin-top: 24px; }

/* Odstęp do bottom-row sterowany tokenem (łatwe strojenie) */
.e24-section1-bottom-row{ margin-top: var(--e24-msg-gap-after); }

/* bottom-row to jeden wizualny wiersz inputów => bez dużego row-gap */
.e24-section1-bottom-row{ row-gap: 0; }

.e24-section1-col--weight{ grid-column: 1; width: 100%; }
.e24-section1-col--dims{ grid-column: 2 / 5; width: 100%; min-width: 0; }

#e24-order-form #e24-dims-encomenda .e24-dims-encomenda__row{
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    column-gap: var(--e24-sec1-dims-gap);
    align-items: start;
}
#e24-order-form #e24-dims-encomenda .e24-dims-encomenda__separator{
    justify-self: center;
    padding-top: 10px;
}

#e24-order-form #e24-dims-documento .e24-input__field{
    width: 100%;
    max-width: calc((100% - var(--e24-sec1-grid-gap)) * var(--e24-sec1-documento-width-factor));
}

#e24-order-form #e24-dims-palete .e24-dims-palete__row{
    display: grid;
    grid-template-columns: var(--e24-sec1-palete-col-1) var(--e24-sec1-palete-col-2);
    column-gap: var(--e24-sec1-palete-gap);
    align-items: start;
}
#e24-order-form #e24-dims-palete .e24-dims-palete__col--height,
#e24-order-form #e24-dims-palete .e24-dims-palete__col--type{
    min-width: 0;
}
#e24-order-form #e24-dims-palete .e24-dims-palete__col--type .e24-input__field{
    transform: translateX(var(--e24-sec1-palete-type-shift));
    width: var(--e24-sec1-palete-type-width);
}

.e24-section1-col--content{ grid-column: 1 / 3; }
.e24-section1-col--insurance{ grid-column: 3; max-width: none; margin-left: 0 !important; }
.e24-section1-col--packaging{
    grid-column: 4;
    margin-left: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.e24-packaging-options{
    display: inline-flex;
    gap: 30px;
    align-items: center;
    padding-top: 6px;
}
.e24-packaging-option{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    cursor: pointer;
}
#e24-order-form .e24-packaging-option__radio{
    margin: 0;
    accent-color: var(--e24-orange);
    width: 16px;
    height: 16px;
}

/* Na desktop/tablet: usuwamy margin-bottom bottom-row,
   żeby nie dodawać ukrytego dystansu do warningów. */
#e24-order-form .e24-section1-bottom-row .e24-input{
    margin-bottom: 0;
}

/* ========================================
 * 1.1 FIX: NATYWNY SELECT "TIPO DE PALETE" (KADENCE OVERRIDE)
 * ===================================== */
/*
 * Cel (PL):
 * - #e24-pallet-type to natywny <select>, więc nie będzie 1:1 jak Select2,
 *   ale kontrolka nie może mieć szarego tła/hovera z Kadence.
 * - Wymuszamy wygląd jak nasze inputy: transparent w środku, strzałka dropdown, brak motywowych cieni.
 */
#e24-order-form #e24-pallet-type.e24-dims-palete__select{
    -webkit-appearance: none !important;
    appearance: none !important;

    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;

    color: var(--e24-text-input) !important;
    font-size: var(--e24-fs-input) !important;
    font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    line-height: 1.4 !important;

    cursor: pointer !important;

    /* Strzałka dropdown jak w naszych selectach */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 16px !important;

    /* rezerwa na strzałkę */
    padding-right: 30px !important;
}

/* Kadence potrafi dodawać hover tła na <select> – wyłączamy */
#e24-order-form #e24-pallet-type.e24-dims-palete__select:hover,
#e24-order-form #e24-pallet-type.e24-dims-palete__select:active,
#e24-order-form #e24-pallet-type.e24-dims-palete__select:focus,
#e24-order-form #e24-pallet-type.e24-dims-palete__select:focus-visible{
    background-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ========================================
 * 2. ICONS (TIPO DE ENVIO) – STEROWNIK + STYLE
 * ===================================== */

.e24-section1-type{
    /*
     * ETAP 5 (UX): Sterownik rozmiaru przycisków "Tipo de envio"
     * Ustawiasz raz, zmieniają się wszystkie przyciski w tej grupie.
     *
     * Domyślne wartości w starym UI: 60x75 / 48x48 / mt 6px / fs 13px
     * Nowe (powiększone): 66x82 / 54x54 / mt 7px
     */
    --e24-s1-choice-btn-w: 66px;
    --e24-s1-choice-btn-h: 82px;
    --e24-s1-choice-icon: 54px;
    --e24-s1-choice-svg: 54px;
    --e24-s1-choice-label-mt: 7px;
    --e24-s1-choice-label-fs: 13px;
}

#e24-order-form .e24-choice {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0;
    margin: 0;

    /* Rozmiar z kontrolera */
    width: var(--e24-s1-choice-btn-w);
    height: var(--e24-s1-choice-btn-h);

    border-radius: 50%;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    overflow: visible;
}
#e24-order-form .e24-choice:focus,
#e24-order-form .e24-choice:active,
#e24-order-form .e24-choice:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
#e24-order-form .e24-choice__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    /* Rozmiar ikony z kontrolera */
    width: var(--e24-s1-choice-icon);
    height: var(--e24-s1-choice-icon);

    border-radius: 50%;
}
.e24-choice__svg {
    /* Rozmiar SVG z kontrolera */
    width: var(--e24-s1-choice-svg);
    height: var(--e24-s1-choice-svg);

    display: block;
    transition: transform 0.12s, opacity 0.12s;
    border-radius: 50%;
}
.e24-choice__label {
    margin-top: var(--e24-s1-choice-label-mt);
    font-size: var(--e24-s1-choice-label-fs);
    color: var(--e24-text-muted);
    transition: color 0.12s;
    white-space: nowrap;
}
#e24-order-form .e24-choice:not(.is-active) .e24-choice__svg { opacity: 0.55; }
#e24-order-form .e24-choice:not(.is-active):hover .e24-choice__svg { opacity: 1; transform: scale(1.08); }
#e24-order-form .e24-choice.is-active .e24-choice__svg { opacity: 1; transform: scale(1.10); }
#e24-order-form .e24-choice.is-active .e24-choice__label { color: var(--e24-text-main); font-weight: 600; }

/* ========================================
 * 3. WALIDACJA UI – WARIANT 1 + FIXY SEKCJI 1
 * ===================================== */

/* ERROR WAGI – badge (szerokość auto) */
#e24-order-form #e24-msg-weight-max{
    width: auto;
}

/* ERRORY WYMIARÓW ENCOMENDA – badge przy lewej krawędzi */
#e24-order-form #e24-dims-encomenda .e24-dims-encomenda__field .e24-msg{
    width: auto;
    margin-top: var(--e24-msg-gap-top);
}

/* Odstęp między bottom-row a warnings-row (kontrolowane 6px z tokena) */
.e24-section1-warnings-wrap{
    margin-top: var(--e24-msg-gap-top) !important;
}

.e24-section1-warnings-row{
    display: grid;
    grid-template-columns: repeat(var(--e24-sec1-grid-cols), minmax(var(--e24-sec1-grid-col-min), 1fr));
    column-gap: var(--e24-sec1-grid-gap);
    row-gap: 10px;
    align-items: start;
}
.e24-section1-warning--insurance{ grid-column: 3; }
.e24-section1-warning--packaging{ grid-column: 4; }

/* ŻÓŁTE WARNINGI – też jako badge (szerokość auto, tekstowa) */
.e24-section1-warnings-row .e24-msg{
    width: auto;
    margin-top: 0;
}

#e24-order-form .e24-section1-col--insurance .e24-input__unit{
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* ========================================
 * 4. RWD SEKCJI 1
 * ===================================== */

/* Tablet */
@media (max-width: 1024px) {

    .e24-section1-main-fields{
        display: grid;
        grid-template-columns: minmax(200px, 260px) 1fr;
        column-gap: var(--e24-gap-3);
        row-gap: var(--e24-gap-2);
        align-items: start;
    }

    .e24-section1-bottom-row{
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: var(--e24-gap-3);
        row-gap: var(--e24-gap-2);
        align-items: start;
    }
    .e24-section1-col--content{ grid-column: 1 / -1; }
    .e24-section1-col--insurance{ grid-column: 1; }
    .e24-section1-col--packaging{ grid-column: 2; }

    .e24-section1-warnings-row{
        grid-template-columns: 1fr 1fr;
        column-gap: var(--e24-gap-3);
    }
    .e24-section1-warning--insurance{ grid-column: 1; }
    .e24-section1-warning--packaging{ grid-column: 2; }

    #e24-order-form #e24-dims-encomenda .e24-dims-encomenda__row{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    #e24-order-form #e24-dims-palete .e24-dims-palete__col--type .e24-input__field{
        transform: none;
        width: 100%;
    }
}

/* Mobile */
@media (max-width: 768px) {

    .e24-choice-group{
        flex-wrap: wrap;
        gap: 16px;
    }

    .e24-section1-main-fields{
        display: block;
    }

    #e24-order-form #e24-dims-encomenda .e24-dims-encomenda__row{
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }
    #e24-order-form #e24-dims-encomenda .e24-dims-encomenda__separator{
        display: none;
    }

    #e24-order-form #e24-dims-documento .e24-input__field{
        max-width: 100%;
    }

    #e24-order-form #e24-dims-palete .e24-dims-palete__row{
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .e24-section1-bottom-row{
        display: block;
    }

    /* Na mobile przywracamy odstępy między polami w bottom-row,
       ale nie dokładamy marginesu pod ostatnim polem (packaging). */
    #e24-order-form .e24-section1-bottom-row .e24-input{
        margin-bottom: 12px;
    }
    #e24-order-form .e24-section1-col--packaging .e24-input{
        margin-bottom: 0;
    }

    .e24-section1-warnings-row{
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
}