/* ==========================================================================
   Site overrides. Loads last on every page, so rules here win.
   ========================================================================== */

/* The footer contact block sets its text to #ffffff, but the global `a` rule
   in style.css forces links to #222222 — so the mail address rendered nearly
   black on the dark footer while the phone number beside it stayed white.
   Match the email to the phone, and use the theme green on hover. */
.iq-footer2 .iq-contact .blog .content a {
    color: #ffffff;
}

.iq-footer2 .iq-contact .blog .content a:hover,
.iq-footer2 .iq-contact .blog .content a:focus {
    color: #02d871;
}

/* Supplier logos link out to the manufacturers; keep them from picking up
   link styling, and give a light hover cue instead. */
.iq-clients-box ul li a {
    display: block;
}

.iq-clients-box ul li a img {
    transition: opacity 0.3s ease-out;
}

.iq-clients-box ul li a:hover img,
.iq-clients-box ul li a:focus img {
    opacity: 0.7;
}

/* ==========================================================================
   Quote request form (contact page)
   ========================================================================== */

.quote-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.quote-form__field--full {
    grid-column: 1 / -1;
}

.quote-form label {
    display: block;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #222222;
    margin-bottom: 7px;
}

.quote-form .req {
    color: #02d871;
    margin-left: 2px;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #dddddd;
    border-radius: 3px;
    background: #ffffff;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    color: #222222;
    transition: border-color 0.25s ease;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
    border-color: #02d871;
    outline: none;
}

.quote-form input:invalid:not(:placeholder-shown) {
    border-color: #d9534f;
}

.quote-form textarea {
    min-height: 130px;
    resize: vertical;
}

/* Honeypot — hidden from people, still reachable by bots. */
.quote-form__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.quote-form__actions {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}

.quote-form button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.quote-form__status {
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

.quote-form__status:empty {
    display: none;
}

.quote-form__status.is-info  { color: #222222; }
.quote-form__status.is-ok    { color: #02905a; font-weight: 600; }
.quote-form__status.is-error { color: #c9302c; font-weight: 600; }

@media (max-width: 767px) {
    .quote-form__grid { grid-template-columns: minmax(0, 1fr); }
}
