/* Postcode Shipping Price — Avada + WooCommerce Compatible v1.0.1 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* Scope under #wrapper to beat Avada's specificity */
#wrapper #wcpsc-widget,
.wcpsc-wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: #f2f9f2 !important;
    border: 1px solid #d4e8d0 !important;
    border-radius: 14px !important;
    padding: 24px 26px 22px !important;
    max-width: 100% !important;
    margin: 16px 0 !important;
    box-shadow: 0 4px 20px rgba(34,90,34,0.07) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
}

#wrapper #wcpsc-widget::before,
.wcpsc-wrapper::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #2d5a27, #4a8c3f, #72b564) !important;
    border-radius: 14px 14px 0 0 !important;
    display: block !important;
}

/* ── Header ── */
#wrapper #wcpsc-widget .wcpsc-header,
.wcpsc-wrapper .wcpsc-header {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
}

#wrapper #wcpsc-widget .wcpsc-header-icon,
.wcpsc-wrapper .wcpsc-header-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    background: #2d5a27 !important;
    border-radius: 10px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: 0 2px 8px rgba(45,90,39,0.28) !important;
    box-sizing: border-box !important;
}

#wrapper #wcpsc-widget .wcpsc-header-text,
.wcpsc-wrapper .wcpsc-header-text {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wrapper #wcpsc-widget .wcpsc-title,
.wcpsc-wrapper .wcpsc-title {
    display: block !important;
    font-size: 1.05em !important;
    font-weight: 700 !important;
    font-family: 'Inter', sans-serif !important;
    color: #1a3318 !important;
    line-height: 1.3 !important;
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    float: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

#wrapper #wcpsc-widget .wcpsc-subtitle,
.wcpsc-wrapper .wcpsc-subtitle {
    display: block !important;
    font-size: 0.78em !important;
    color: #5a7a56 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    line-height: 1.4 !important;
}

/* ── Form row ── */
#wrapper #wcpsc-widget .wcpsc-form,
.wcpsc-wrapper .wcpsc-form {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    border: none !important;
    background: none !important;
}

#wrapper #wcpsc-widget .wcpsc-input-wrap,
.wcpsc-wrapper .wcpsc-input-wrap {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    position: relative !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wrapper #wcpsc-widget .wcpsc-input-wrap::before,
.wcpsc-wrapper .wcpsc-input-wrap::before {
    content: '📍' !important;
    position: absolute !important;
    left: 11px !important;
    top: 50% !important;
    -webkit-transform: translateY(-50%) !important;
    transform: translateY(-50%) !important;
    font-size: 12px !important;
    pointer-events: none !important;
    opacity: 0.4 !important;
    line-height: 1 !important;
    z-index: 1 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border: none !important;
}

#wrapper #wcpsc-widget .wcpsc-input,
.wcpsc-wrapper .wcpsc-input {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 11px 11px 11px 32px !important;
    margin: 0 !important;
    border: 2px solid #c2d9bc !important;
    border-radius: 8px !important;
    font-size: 0.93em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #1a3318 !important;
    background: #ffffff !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    float: none !important;
    height: auto !important;
    line-height: normal !important;
    vertical-align: middle !important;
    transition: border-color 0.2s !important;
}

#wrapper #wcpsc-widget .wcpsc-input:focus,
.wcpsc-wrapper .wcpsc-input:focus {
    border-color: #4a8c3f !important;
    box-shadow: 0 0 0 3px rgba(74,140,63,0.12) !important;
    outline: none !important;
}

#wrapper #wcpsc-widget .wcpsc-input::placeholder,
.wcpsc-wrapper .wcpsc-input::placeholder {
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #9ab895 !important;
    font-weight: 400 !important;
}

#wrapper #wcpsc-widget .wcpsc-button,
.wcpsc-wrapper .wcpsc-button {
    display: inline-block !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
    padding: 11px 18px !important;
    margin: 0 !important;
    background: #2d5a27 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 0.88em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    float: none !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: normal !important;
    height: auto !important;
    width: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: 0 2px 8px rgba(45,90,39,0.28) !important;
    vertical-align: middle !important;
    transition: background 0.2s !important;
}

#wrapper #wcpsc-widget .wcpsc-button:hover,
.wcpsc-wrapper .wcpsc-button:hover {
    background: #1e3d1b !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

#wrapper #wcpsc-widget .wcpsc-button:disabled,
.wcpsc-wrapper .wcpsc-button:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* ── Result ── */
#wrapper #wcpsc-widget .wcpsc-result,
.wcpsc-wrapper .wcpsc-result {
    margin-top: 12px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    float: none !important;
    clear: both !important;
}
.wcpsc-result:empty { display: none !important; }

#wrapper #wcpsc-widget .wcpsc-result-inner,
.wcpsc-wrapper .wcpsc-result-inner {
    padding: 12px 16px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    gap: 10px !important;
    float: none !important;
}

.wcpsc-icon { font-size: 16px !important; flex-shrink: 0 !important; margin-top: 2px !important; line-height: 1 !important; }
.wcpsc-result-body { flex: 1 !important; min-width: 0 !important; }

.wcpsc-result-title {
    display: block !important;
    font-weight: 600 !important;
    font-size: 0.91em !important;
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
.wcpsc-result-detail {
    display: block !important;
    font-size: 0.84em !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

.wcpsc-result.wcpsc-success { background: #eaf5e6 !important; border: 1.5px solid #8fcc7e !important; }
.wcpsc-result.wcpsc-success .wcpsc-result-title { color: #1a4a14 !important; }
.wcpsc-result.wcpsc-success .wcpsc-result-detail { color: #2d6624 !important; }

.wcpsc-result.wcpsc-error { background: #fff5f5 !important; border: 1.5px solid #fca5a5 !important; }
.wcpsc-result.wcpsc-error .wcpsc-result-title { color: #991b1b !important; }
.wcpsc-result.wcpsc-error .wcpsc-result-detail { color: #b91c1c !important; }

.wcpsc-result.wcpsc-validation { background: #fffbeb !important; border: 1.5px solid #fcd34d !important; }
.wcpsc-result.wcpsc-validation .wcpsc-result-title { color: #78350f !important; font-weight: 500 !important; font-size: 0.88em !important; }

/* Methods list */
.wcpsc-methods { list-style: none !important; margin: 7px 0 0 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 5px !important; }
.wcpsc-method {
    display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important;
    flex-direction: row !important; align-items: center !important; justify-content: space-between !important;
    background: rgba(255,255,255,0.75) !important; border: 1px solid #c2d9bc !important;
    border-radius: 7px !important; padding: 6px 11px !important; font-size: 0.85em !important; margin: 0 !important;
    float: none !important;
}
.wcpsc-method-title { color: #1a3318 !important; font-weight: 500 !important; }
.wcpsc-method-cost { font-weight: 700 !important; color: #1a4a14 !important; background: rgba(74,140,63,0.1) !important; padding: 1px 9px !important; border-radius: 20px !important; }
.wcpsc-free-badge { display: inline-block !important; background: #2d5a27 !important; color: #fff !important; font-size: 0.72em !important; font-weight: 700 !important; padding: 2px 8px !important; border-radius: 20px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; }

@media (max-width: 600px) {
    #wrapper #wcpsc-widget .wcpsc-form,
    .wcpsc-wrapper .wcpsc-form {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    #wrapper #wcpsc-widget .wcpsc-button,
    .wcpsc-wrapper .wcpsc-button { width: 100% !important; }
}

/* Price reveal toggle */
.wcpsc-price-reveal {
    margin-top: 8px !important;
}

.wcpsc-price-toggle {
    display: inline-block !important;
    background: none !important;
    border: 1.5px solid #2d5a27 !important;
    border-radius: 6px !important;
    color: #2d5a27 !important;
    font-size: 0.82em !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    padding: 5px 12px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s !important;
    line-height: normal !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}

.wcpsc-price-toggle:hover {
    background: #2d5a27 !important;
    color: #fff !important;
}

.wcpsc-price-detail {
    margin-top: 8px !important;
}

.wcpsc-price-detail .wcpsc-method-cost {
    display: inline-block !important;
    font-weight: 700 !important;
    font-size: 1.1em !important;
    color: #1a4a14 !important;
    background: rgba(74,140,63,0.1) !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
}
