/**
 * Indexiz_LeadTimeCalculator — PDP Lead Time Display
 */

/* -----------------------------------------------------------------------
   Wrapper — sits between Options and Add-to-Cart
   ----------------------------------------------------------------------- */
.indexiz-leadtime-wrapper {
    margin: 12px 0 16px;
    font-size: 14px;
    line-height: 1.5;
}

/* -----------------------------------------------------------------------
   Temporary test notice
   ----------------------------------------------------------------------- */
.indexiz-test-notice {
    border: 1px solid #f0c36d;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #d32f2f;
    font-weight: 600;
}

/* -----------------------------------------------------------------------
   Inner box
   ----------------------------------------------------------------------- */
.indexiz-leadtime-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0f7ff;
    border: 1px solid #c8dff7;
    border-left: 4px solid #1979c3;
    border-radius: 4px;
    padding: 10px 14px;
    transition: border-left-color 0.2s ease;
}

/* Highlight border when lead time is calculated */
.indexiz-leadtime-wrapper.indexiz-lt--has-data .indexiz-leadtime-inner {
    border-left-color: #006600;
    background: #f0fff4;
    border-color: #b7dfb7;
    border-left-color: #006600;
}

/* -----------------------------------------------------------------------
   Icon
   ----------------------------------------------------------------------- */
.indexiz-lt-icon {
    flex-shrink: 0;
    color: #1979c3;
    display: flex;
    align-items: center;
}

.indexiz-leadtime-wrapper.indexiz-lt--has-data .indexiz-lt-icon {
    color: #006600;
}

/* -----------------------------------------------------------------------
   Content
   ----------------------------------------------------------------------- */
.indexiz-lt-content {
    flex: 1;
    min-width: 0;
}

/* Hint text shown before any option is selected */
.indexiz-lt-hint {
    color: #666;
    font-style: italic;
}

/* Result row */
.indexiz-lt-result {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
}

.indexiz-lt-label {
    color: #333;
}

.indexiz-lt-days {
    color: #006600;
    font-weight: 700;
    font-size: 14px;
}

.indexiz-lt-separator {
    color: #aaa;
    padding: 0 2px;
}

.indexiz-lt-ready-label {
    color: #555;
}

.indexiz-lt-date {
    color: #1979c3;
    font-weight: 700;
    font-size: 14px;
}

/* -----------------------------------------------------------------------
   Responsive — stack label and value on narrow screens
   ----------------------------------------------------------------------- */
@media (max-width: 480px) {
    .indexiz-lt-result {
        flex-direction: column;
        gap: 2px;
    }

    .indexiz-lt-separator {
        display: none;
    }

    .indexiz-lt-ready-label::before {
        content: '';
    }
}

/* =======================================================================
   Calculate Shipping toggle button
   ======================================================================= */
.indexiz-shipping-toggle {
    display:      inline-flex;
    align-items:  center;
    gap:          6px;
    flex-shrink:  0;
    background:   #1979c3;
    color:        #fff;
    border:       none;
    border-radius: 3px;
    padding:      7px 14px;
    font-size:    13px;
    font-weight:  600;
    cursor:       pointer;
    white-space:  nowrap;
    transition:   background 0.15s;
}

.indexiz-shipping-toggle:hover,
.indexiz-shipping-toggle:active,
.indexiz-shipping-toggle:focus {
    background: #145da0;
    /* Keep the button size stable on hover — Luma's generic button:hover
       adds a 1px border which widens the button and squeezes the
       production-time row into wrapping. */
    border: none;
    box-shadow: none;
    outline: none;
}

.indexiz-toggle-arrow {
    font-size: 10px;
    transition: transform 0.2s;
}

/* =======================================================================
   Shipping calculator panel
   ======================================================================= */
.indexiz-shipping-panel {
    border:        1px solid #c8dff7;
    border-top:    none;
    border-radius: 0 0 4px 4px;
    background:    #fff;
}

.indexiz-shipping-panel-inner {
    padding: 16px 14px;
}

/* Row of fields */
.indexiz-shipping-row {
    display:   flex;
    gap:       12px;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 14px;
}

.indexiz-shipping-field {
    flex: 1;
    min-width: 180px;
}

.indexiz-shipping-label {
    display:     block;
    font-size:   13px;
    font-weight: 600;
    color:       #333;
    margin-bottom: 5px;
}

.indexiz-required {
    color: #e22626;
    margin-left: 2px;
}

.indexiz-shipping-select,
.indexiz-shipping-input {
    width:         100%;
    padding:       0 10px;
    border:        1px solid #ccc;
    border-radius: 3px;
    font-size:     14px;
    background:    #fff;
    color:         #333;
}

.indexiz-shipping-input {
    height: 34px;
    line-height: normal;
    box-sizing: border-box;
}

.indexiz-shipping-select:focus,
.indexiz-shipping-input:focus {
    outline:      none;
    border-color: #1979c3;
    box-shadow:   0 0 0 2px rgba(25, 121, 195, 0.15);
}

/* =======================================================================
   Date bar: Shipment → Delivery
   ======================================================================= */
.indexiz-dates-bar {
    display:       flex;
    align-items:   center;
    gap:           16px;
    background:    #1a1a1a;
    color:         #fff;
    border-radius: 4px;
    padding:       12px 18px;
    margin-bottom: 12px;
    flex-wrap:     wrap;
}

.indexiz-dates-block {
    display:        flex;
    flex-direction: column;
    gap:            3px;
}

.indexiz-dates-label {
    font-size:  11px;
    color:      #ffffff;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display:    flex;
    align-items: center;
    gap:        4px;
}

.indexiz-dates-sep {
    font-size:   25px;
    color:       #ffffff;
    font-weight: 300;
}

.indexiz-dates-value {
    font-size:   18px;
    font-weight: 700;
    color:       #f5a623;
}

.indexiz-dates-value--delivery {
    color: #4caf50;
}

/* Info tooltip icon */
.indexiz-info-tip {
    display:    inline-flex;
    align-items: center;
    font-size:  13px;
    color:      #ffffff;
    cursor:     pointer;
    margin-left: 3px;
}

.indexiz-info-tip:hover {
    color: #fff;
}

/* =======================================================================
   Shipping methods (checkout-style radio list)
   ======================================================================= */
.indexiz-shipping-methods {
    border: 1px solid #c1c1c1;
    margin-bottom: 12px;
}

.indexiz-method-row {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    gap:            12px;
    padding:        10px 15px;
    background:     #fff;
    border-top:     1px solid #e3e3e3;
}

.indexiz-method-row--first {
    border-top: none;
}

.indexiz-method-label {
    display:    flex;
    align-items: center;
    gap:        8px;
    margin:     0;
    cursor:     pointer;
}

.indexiz-method-label .radio {
    margin: 0;
}

.indexiz-method-title {
    font-size: 13px;
    color:     #333;
}

.indexiz-method-price {
    font-size:   13px;
    font-weight: 700;
    color:       #1979c3;
    white-space: nowrap;
}

/* =======================================================================
   Total weight row
   ======================================================================= */
.indexiz-weight-row {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    gap:            8px;
    background:     #fafafa;
    border:         1px solid #e3e3e3;
    border-radius:  4px;
    padding:        8px 12px;
    margin-bottom:  12px;
    font-size:      13px;
}

.indexiz-weight-label {
    display:    inline-flex;
    align-items: center;
    gap:        4px;
    color:      #555;
}

.indexiz-weight-value {
    font-weight: 700;
    color:       #1979c3;
}

/* =======================================================================
   Product-only note under the shipping methods
   ======================================================================= */
.indexiz-shipping-note {
    margin-top:    10px;
    margin-bottom: 12px;
    padding:       8px 10px;
    background:    #fff8e6;
    border:        1px solid #f0e0b0;
    border-radius: 4px;
    color:         #6b5d2e;
    font-size:     12px;
    line-height:   1.45;
}

/* =======================================================================
   Error message
   ======================================================================= */
.indexiz-shipping-error {
    color:      #c7254e;
    font-size:  13px;
    padding:    8px 0;
}

/* =======================================================================
   Tooltip bubble
   ======================================================================= */
.indexiz-tip-bubble {
    position:      fixed;
    z-index:       9999;
    background:    #333;
    color:         #fff;
    font-size:     12px;
    line-height:   1.4;
    padding:       6px 10px;
    border-radius: 4px;
    max-width:     220px;
    pointer-events: none;
    box-shadow:    0 2px 8px rgba(0,0,0,0.3);
}

/* =======================================================================
   Responsive
   ======================================================================= */
@media (max-width: 600px) {
    .indexiz-leadtime-inner {
        flex-wrap: wrap;
    }
    .indexiz-shipping-toggle {
        width:  100%;
        justify-content: center;
    }
    .indexiz-dates-bar {
        flex-direction: column;
        align-items:    flex-start;
        gap:            8px;
    }
    .indexiz-dates-sep {
        display: none;
    }
    .indexiz-shipping-row {
        flex-direction: column;
    }
}
