/* Form controls for the dark (paris-m-950) panels: quote form, contact form. */
.hts-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 15px 18px;
    font: inherit;
    font-size: 15px;
    line-height: 1.4;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    outline: none;
    transition: border-color .25s, background-color .25s, box-shadow .25s;
}
.hts-input::placeholder { color: rgba(255, 255, 255, .55); }
.hts-input:hover { border-color: rgba(255, 255, 255, .4); }
.hts-input:focus {
    border-color: #fff;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .1);
}
.hts-input:-webkit-autofill {
    -webkit-text-fill-color: #fff;
    box-shadow: 0 0 0 1000px #2a1a7a inset;
}
textarea.hts-input { resize: vertical; min-height: 110px; }

.hts-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 54px;
    padding: 0 30px;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    color: #1d056e;
    background: #fff;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 15px 30px -15px rgba(0, 0, 0, .45);
    transition: transform .2s, background-color .2s, box-shadow .2s;
}
.hts-btn:hover { background: #f8f7f9; transform: translateY(-2px); box-shadow: 0 18px 34px -14px rgba(0, 0, 0, .55); }
.hts-btn:active { transform: translateY(0); }
.hts-btn.auto { width: auto; }

.hts-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hts-form-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .hts-form-grid { grid-template-columns: 1fr; } }

/* ---------- Quote cart page ---------- */
.cart-card { background: #fff; border: 1px solid #e3e0ea; border-radius: 14px; box-shadow: 0 30px 80px -45px rgba(29, 5, 110, .35); overflow: hidden; }
.cart-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 28px; border-bottom: 1px solid #e3e0ea; background: #fbfafc; }
.cart-head h2 { font-size: 20px; font-weight: 700; color: #1d056e; display: flex; align-items: center; gap: 10px; }
.cart-count { min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: #1d056e; color: #fff; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.cart-clear { font-size: 13px; font-weight: 600; color: #b42318; background: none; border: 0; cursor: pointer; padding: 6px 10px; border-radius: 8px; }
.cart-clear:hover { background: #fef3f2; }
.cart-row { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto auto; align-items: center; gap: 20px; padding: 20px 28px; border-bottom: 1px solid #efedf3; transition: background .2s; }
.cart-row:last-child { border-bottom: 0; }
.cart-row:hover { background: #fbfafc; }
.cart-thumb { width: 88px; height: 88px; border-radius: 12px; background: #f8f7f9; border: 1px solid #e3e0ea; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cart-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 8px; }
.cart-code { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .05em; color: #706290; background: #f1eff6; padding: 2px 8px; border-radius: 6px; margin-bottom: 6px; }
.cart-title { font-size: 16px; font-weight: 700; line-height: 1.35; color: #1d056e; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cart-title:hover { color: #706290; }
.cart-qty { display: inline-flex; align-items: center; border: 1px solid #d9d5e3; border-radius: 10px; overflow: hidden; background: #fff; }
.cart-qty button { width: 38px; height: 40px; font-size: 20px; line-height: 1; color: #1d056e; background: #f8f7f9; border: 0; cursor: pointer; transition: background .2s, color .2s; }
.cart-qty button:hover { background: #1d056e; color: #fff; }
.cart-qty input { width: 56px; height: 40px; text-align: center; font-weight: 700; font-size: 16px; color: #1d056e; border: 0; outline: none; -moz-appearance: textfield; }
.cart-qty input::-webkit-outer-spin-button, .cart-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-remove { width: 40px; height: 40px; border-radius: 10px; border: 0; background: none; color: #98a2b3; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all .2s; }
.cart-remove:hover { background: #fef3f2; color: #b42318; }
.cart-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 18px 28px; background: #fbfafc; border-top: 1px solid #e3e0ea; font-size: 14px; color: #475467; }
.cart-foot strong { color: #1d056e; }
.cart-empty { text-align: center; padding: 70px 30px; }
.cart-empty svg { margin: 0 auto 22px; color: #b9b0d0; }
.cart-empty h3 { font-size: 22px; font-weight: 700; color: #1d056e; margin-bottom: 8px; }
.cart-empty p { color: #667085; max-width: 380px; margin: 0 auto 26px; line-height: 1.6; }
.cart-link-btn { display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 28px; border-radius: 8px; background: #1d056e; color: #fff; font-weight: 600; transition: background .2s, transform .2s; }
.cart-link-btn:hover { background: #2c3d97; transform: translateY(-2px); }

.quote-panel { position: sticky; top: calc(var(--header-height) + 20px); background: linear-gradient(160deg, #1d056e 0%, #2b1a8c 100%); color: #fff; border-radius: 14px; padding: 36px; box-shadow: 0 40px 80px -40px rgba(29, 5, 110, .7); }
.quote-panel h3 { font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.quote-panel .lead { color: rgba(255, 255, 255, .75); font-size: 14px; line-height: 1.6; margin-bottom: 22px; }
.quote-perks { display: grid; gap: 10px; margin: 0 0 26px; padding: 18px 0; border-top: 1px solid rgba(255, 255, 255, .15); border-bottom: 1px solid rgba(255, 255, 255, .15); font-size: 14px; color: rgba(255, 255, 255, .88); }
.quote-perks div { display: flex; align-items: center; gap: 10px; }
.quote-perks svg { flex-shrink: 0; color: #9ee6b8; }
.quote-note { font-size: 12px; line-height: 1.5; color: rgba(255, 255, 255, .55); margin-top: 14px; text-align: center; }
.quote-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.quote-error { display: none; margin-bottom: 14px; padding: 12px 14px; border-radius: 8px; background: rgba(244, 63, 94, .18); border: 1px solid rgba(244, 63, 94, .45); font-size: 14px; }
.quote-success { display: none; text-align: center; padding: 24px 0; }
.quote-success svg { margin: 0 auto 16px; color: #9ee6b8; }
.quote-success h4 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.quote-success p { color: rgba(255, 255, 255, .8); line-height: 1.6; }
.hts-btn[disabled] { opacity: .65; cursor: wait; transform: none; }

@media (max-width: 768px) {
    .cart-row { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; padding: 16px; }
    .cart-thumb { width: 72px; height: 72px; }
    .cart-row .cart-qty-wrap { grid-column: 2 / 3; }
    .cart-head, .cart-foot { padding-left: 16px; padding-right: 16px; }
    .quote-panel { padding: 26px 20px; position: static; }
}
