/* ==========================================================
   Free quote section - theme gold + brown
   ========================================================== */
.pnh-quote {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 110px 0;
    background: var(--thm-gray-bg, #f5f1e0);
}
.pnh-quote__bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-size: cover;
    background-position: center;
    opacity: 1;
}
.pnh-quote::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(20, 11, 6, .55), rgba(20, 11, 6, .35) 50%, rgba(20, 11, 6, .6));
}

.pnh-quote__card {
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 30px 80px rgba(78, 52, 46, .22);
}

/* ---------- Dark contact panel ---------- */
.pnh-quote__info {
    position: relative;
    height: 100%;
    padding: 52px 42px;
    color: rgba(255, 255, 255, .85);
    background: linear-gradient(160deg, #4e342e 0%, #2b1c18 100%);
    overflow: hidden;
}
.pnh-quote__info::before {
    content: "";
    position: absolute;
    right: -90px;
    top: -90px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--thm-primary-color-rgb), .35), transparent 70%);
}
.pnh-quote__info-pattern {
    position: absolute;
    inset: 0;
    opacity: .06;
    background-size: 320px;
    pointer-events: none;
}
.pnh-quote__info > * { position: relative; }
.pnh-quote__eyebrow {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--thm-primary-color);
}
.pnh-quote__info h3 {
    margin: 0 0 34px;
    font-size: 30px;
    line-height: 1.3;
    color: #fff;
}
.pnh-quote__list { list-style: none; margin: 0 0 34px; padding: 0; display: grid; gap: 22px; }
.pnh-quote__list li { display: flex; align-items: flex-start; gap: 16px; line-height: 1.5; }
.pnh-quote__list small {
    display: block;
    margin-bottom: 2px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}
.pnh-quote__list a { color: #fff; font-weight: 600; word-break: break-word; transition: color .3s ease; }
.pnh-quote__list a:hover { color: var(--thm-primary-color); }
.pnh-quote__ico {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--thm-primary-color);
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(var(--thm-primary-color-rgb), .35);
    transition: background .3s ease, color .3s ease, transform .4s ease;
}
.pnh-quote__list li:hover .pnh-quote__ico { background: var(--thm-primary-color); color: #1a0e05; transform: rotateY(180deg); }
.pnh-quote__wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 26px;
    border-radius: 50px;
    font-weight: 700;
    color: #fff;
    background: #25d366;
    box-shadow: 0 10px 26px rgba(37, 211, 102, .35);
    transition: transform .3s ease, box-shadow .3s ease;
}
.pnh-quote__wa i { font-size: 22px; }
.pnh-quote__wa:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 16px 32px rgba(37, 211, 102, .45); }

/* ---------- Form ---------- */
.pnh-quote__form-wrap { padding: 52px 52px 48px; }
.pnh-quote__lead { margin: 14px 0 0; color: var(--thm-body-font-color); }
.pnh-quote__form { margin-top: 30px; }
.pnh-quote__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.pnh-quote__field--full { grid-column: 1 / -1; }
.pnh-quote__field { position: relative; display: block; margin: 0; }
.pnh-quote__field i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
    color: var(--thm-body-font-color-3, #ab948e);
    pointer-events: none;
    transition: color .3s ease;
}
.pnh-quote__field--area i { top: 22px; transform: none; }
.pnh-quote__field input,
.pnh-quote__field textarea {
    display: block;
    width: 100%;
    height: 56px;
    padding: 0 20px 0 50px;
    border: 1.5px solid var(--thm-border-color-1, #ede9d8);
    border-radius: 16px;
    background: var(--thm-gray-bg-2, #f7f3e5);
    color: var(--thm-heading-font-color, #1a0e05);
    font-family: var(--thm-font);
    font-size: 16px;
    font-weight: 500;
    outline: none;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.pnh-quote__field textarea { height: 150px; padding: 16px 20px 16px 50px; resize: vertical; line-height: 1.6; }
.pnh-quote__field input::placeholder,
.pnh-quote__field textarea::placeholder { color: #a39287; }
.pnh-quote__field input:focus,
.pnh-quote__field textarea:focus {
    background: #fff;
    border-color: var(--thm-primary-color);
    box-shadow: 0 0 0 4px rgba(var(--thm-primary-color-rgb), .25);
}
.pnh-quote__field:focus-within i { color: #4e342e; }
.pnh-quote__field input.is-invalid,
.pnh-quote__field textarea.is-invalid { border-color: #c0392b; box-shadow: 0 0 0 4px rgba(192, 57, 43, .12); }

.pnh-quote__submit {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
    padding: 8px 8px 8px 32px;
    border: 0;
    border-radius: 50px;
    font-family: var(--thm-font-2, inherit);
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    background: #4e342e;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(78, 52, 46, .3);
    transition: transform .3s ease, background .3s ease, color .3s ease;
}
.pnh-quote__submit i {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a0e05;
    background: var(--thm-primary-color);
    transition: transform .3s ease;
}
.pnh-quote__submit:hover { transform: translateY(-3px); background: #2b1c18; }
.pnh-quote__submit:hover i { transform: translateX(4px); }
.pnh-quote__msg { min-height: 1.4em; margin: 16px 0 0; font-weight: 600; }
.pnh-quote__msg.is-ok { color: #2e6b35; }
.pnh-quote__msg.is-error { color: #c0392b; }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
    .pnh-quote__info { padding: 44px 32px; }
    .pnh-quote__info h3 { font-size: 26px; }
    .pnh-quote__form-wrap { padding: 44px 36px; }
}
@media (max-width: 991px) {
    .pnh-quote { padding: 80px 0; }
    .pnh-quote__info { padding: 40px 30px; }
    .pnh-quote__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .pnh-quote__list { grid-template-columns: 1fr; gap: 18px; }
    .pnh-quote__grid { grid-template-columns: 1fr; gap: 14px; }
    .pnh-quote__form-wrap { padding: 36px 24px; }
}
@media (max-width: 575px) {
    .pnh-quote { padding: 56px 0; }
    .pnh-quote__card { border-radius: 20px; }
    .pnh-quote__info { padding: 32px 22px; }
    .pnh-quote__info h3 { font-size: 23px; margin-bottom: 26px; }
    .pnh-quote__form-wrap { padding: 30px 20px; }
    .pnh-quote__submit { width: 100%; justify-content: space-between; }
    .pnh-quote__wa { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .pnh-quote * { transition: none !important; }
}

/* ---------- Textured background layer ---------- */
.pnh-quote::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .55;
    background: url("../images/pattern/thm-pattern1.png") repeat top left / 380px;
    mix-blend-mode: soft-light;
}
