/**
 * NTT RFQ Form Styles
 * File: wp-content/themes/basel-child/assets/css/ntt-rfq.css
 */

.ntt-rfq-wrap {
    padding: 0 0 40px;
}

/* ── Layout ── */
.ntt-rfq-layout {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.ntt-rfq-products {
    flex: 1 1 60%;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 32px;
}

.ntt-rfq-contact {
    flex: 0 0 320px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 32px;
}

/* ── Title ── */
.ntt-rfq-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #111 !important;
    margin: 0 0 24px !important;
}

/* ── Table ── */
.ntt-rfq-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.ntt-rfq-table thead tr {
    border-bottom: 2px solid #e8e8e8;
}

.ntt-rfq-table th {
    font-weight: 600;
    font-size: 13px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0 12px 12px;
    text-align: left;
}

.ntt-rfq-table td {
    padding: 16px 12px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.ntt-rfq-table tbody tr {
    transition: opacity 0.25s ease;
}

.ntt-rfq-table tbody tr:last-child td {
    border-bottom: none;
}

/* col widths */
.col-remove { width: 32px; padding-left: 0 !important; }
.col-img { width: 90px !important; } 
.col-qty    { width: 130px; }

/* Remove button */
.ntt-rfq-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    font-size: 14px;
    padding: 4px;
    line-height: 1;
    transition: color 0.2s;
}
.ntt-rfq-remove:hover { color: #e00; }

/* Product image */
.col-img img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

/* Product name + SKU */
.col-product a {
    display: block;
    font-weight: 600;
    color: #111;
    text-decoration: none;
    margin-bottom: 4px;
    line-height: 1.3;
    text-align: left;
}
.col-product a:hover { color: #1a4a8a; }

.ntt-rfq-sku {
    display: block;
    font-size: 12px;
    color: #888;
    text-align: left;
}

/* Qty control */
.col-qty { width: 160px !important; }
.ntt-rfq-qty-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

.ntt-rfq-qty-input {
    width: 60px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 7px 8px;
    font-size: 14px;
    text-align: center;
    -moz-appearance: textfield;
}
.ntt-rfq-qty-input::-webkit-inner-spin-button,
.ntt-rfq-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.ntt-rfq-qty-input:focus { outline: none; border-color: #1a4a8a; }

.ntt-rfq-unit {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 7px 6px !important;
    font-size: 14px !important;
    color: #333 !important;
    background: #fff !important;
    cursor: pointer !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
}
.ntt-rfq-unit:focus { outline: none; border-color: #1a4a8a; }
/* Note input */
.ntt-rfq-note {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 13px;
    color: #333;
}
.ntt-rfq-note:focus { outline: none; border-color: #1a4a8a; }

/* ── Contact form ── */
.ntt-rfq-field {
    margin-bottom: 18px;
}

.ntt-rfq-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.ntt-rfq-field .req { color: #e00; }

.ntt-rfq-field input[type="text"],
.ntt-rfq-field input[type="email"],
.ntt-rfq-field input[type="tel"],
.ntt-rfq-field textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: 14px;
    color: #333;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.ntt-rfq-field input:focus,
.ntt-rfq-field textarea:focus {
    outline: none;
    border-color: #1a4a8a;
}

.ntt-rfq-field textarea {
    resize: vertical;
    min-height: 100px;
}

/* Submit button */
.ntt-rfq-submit {
    width: 100%;
    margin-top: 8px;
    padding: 12px !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
}

/* Notice */
.ntt-rfq-notice {
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 20px;
}
.ntt-rfq-notice--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}
.ntt-rfq-notice--error {
    background: #fdecea;
    color: #c62828;
    border: 1px solid #ef9a9a;
}

/* Empty state */
.ntt-rfq-empty {
    padding: 40px 0;
    font-size: 16px;
    color: #666;
}
.ntt-rfq-empty a { color: #1a4a8a; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .ntt-rfq-layout {
        flex-direction: column;
    }
    .ntt-rfq-contact {
        flex: 0 0 auto;
        width: 100%;
    }
    .col-note { display: none; }
}

@media (max-width: 600px) {
    .ntt-rfq-products,
    .ntt-rfq-contact {
        padding: 20px;
    }
    .col-img { display: none; }
    .ntt-rfq-table th,
    .ntt-rfq-table td { padding: 10px 8px; }
}