/* ==========================================================================
   Hampton Repair Pro Toolkit - Frontend Styles
   ========================================================================== */

/* ----- Lead Form ----- */
.hrp-lead-form{
    background:#fff;
    border-radius:14px;
    padding:24px;
    box-shadow:0 12px 40px rgba(11,61,145,.18);
    max-width:480px;
    margin:0 auto;
    font-family:Inter,system-ui,-apple-system,sans-serif;
}
.hrp-lead-form__title{
    font-family:"Plus Jakarta Sans",Inter,sans-serif;
    font-size:1.4rem;
    font-weight:700;
    color:#0B3D91;
    margin:0 0 6px;
    line-height:1.25;
}
.hrp-lead-form__sub{
    font-size:.95rem;
    color:#4a5568;
    margin:0 0 18px;
}
.hrp-lead-form__row{
    margin-bottom:12px;
}
.hrp-lead-form input[type="text"],
.hrp-lead-form input[type="tel"],
.hrp-lead-form input[type="email"],
.hrp-lead-form select,
.hrp-lead-form textarea{
    width:100%;
    padding:13px 14px;
    border:1.5px solid #e2e8f0;
    border-radius:8px;
    font-size:1rem;
    font-family:inherit;
    background:#f8fafc;
    color:#1a202c;
    transition:border-color .15s ease,background .15s ease;
    box-sizing:border-box;
}
.hrp-lead-form input:focus,
.hrp-lead-form select:focus,
.hrp-lead-form textarea:focus{
    outline:none;
    border-color:#0B3D91;
    background:#fff;
    box-shadow:0 0 0 3px rgba(11,61,145,.12);
}
.hrp-lead-form textarea{
    min-height:90px;
    resize:vertical;
}
.hrp-lead-form__hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
}
.hrp-lead-form__submit{
    width:100%;
    background:#D7263D;
    color:#fff;
    border:none;
    padding:15px 20px;
    border-radius:8px;
    font-size:1.05rem;
    font-weight:700;
    font-family:inherit;
    cursor:pointer;
    letter-spacing:.2px;
    transition:transform .12s ease,background .15s ease,box-shadow .15s ease;
    box-shadow:0 6px 18px rgba(215,38,61,.32);
}
.hrp-lead-form__submit:hover{
    background:#b51e30;
    transform:translateY(-1px);
    box-shadow:0 8px 22px rgba(215,38,61,.4);
}
.hrp-lead-form__submit:active{transform:translateY(0)}
.hrp-lead-form__submit:disabled{
    opacity:.7;
    cursor:wait;
}
.hrp-lead-form__msg{
    margin-top:14px;
    padding:12px 14px;
    border-radius:8px;
    font-size:.95rem;
    display:none;
}
.hrp-lead-form__msg.is-success{
    display:block;
    background:#e6f7ed;
    color:#15803d;
    border:1px solid #86efac;
}
.hrp-lead-form__msg.is-error{
    display:block;
    background:#fef2f2;
    color:#b91c1c;
    border:1px solid #fca5a5;
}
.hrp-lead-form__trust{
    text-align:center;
    font-size:.82rem;
    color:#718096;
    margin-top:10px;
}

/* ----- CTA Block ----- */
.hrp-cta-block{
    background:linear-gradient(135deg,#0B3D91 0%,#072a66 100%);
    color:#fff;
    padding:38px 28px;
    border-radius:14px;
    text-align:center;
    margin:32px 0;
}
.hrp-cta-block__title{
    font-family:"Plus Jakarta Sans",Inter,sans-serif;
    font-size:clamp(1.4rem,3vw,1.9rem);
    font-weight:700;
    margin:0 0 8px;
    line-height:1.2;
}
.hrp-cta-block__sub{
    font-size:1.02rem;
    opacity:.92;
    margin:0 0 20px;
}
.hrp-cta-block .hrp-call-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#D7263D;
    color:#fff;
    padding:14px 28px;
    border-radius:50px;
    font-weight:700;
    text-decoration:none;
    font-size:1.05rem;
    box-shadow:0 8px 22px rgba(215,38,61,.4);
    transition:transform .15s ease,background .15s ease;
}
.hrp-cta-block .hrp-call-btn:hover{
    background:#b51e30;
    transform:translateY(-2px);
}

/* ----- NAP Block ----- */
.hrp-nap{
    font-size:.98rem;
    line-height:1.6;
    color:#2d3748;
}
.hrp-nap strong{color:#0B3D91;font-size:1.1rem;display:block;margin-bottom:4px}
.hrp-nap a{color:#D7263D;text-decoration:none;font-weight:600}
.hrp-nap a:hover{text-decoration:underline}

/* ----- Hours / Rating ----- */
.hrp-hours{
    font-size:.98rem;
    line-height:1.7;
    color:#2d3748;
}
.hrp-rating{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-weight:600;
    color:#1a202c;
}
.hrp-rating .stars{color:#f59e0b;letter-spacing:1px}

/* ----- Click-to-call & phone link ----- */
a[href^="tel:"]{
    text-decoration:none;
}

/* ----- Mobile tweaks ----- */
@media (max-width:600px){
    .hrp-lead-form{padding:20px 18px}
    .hrp-cta-block{padding:30px 20px}
}
