/* Відгуки клієнтів: окрема сторінка, посилання на яку зʼявляється після першої публікації. */
.jt-reviews { padding: 52px 20px 80px; }
.jrv-wrap { max-width: 1120px; margin: 0 auto; }
.jrv-intro { max-width: 760px; margin: 0 auto 54px; text-align: center; }
.jrv-eyebrow { display: inline-block; color: var(--cta); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.jrv-intro h1 { margin: 14px 0 16px; font-size: clamp(34px, 5vw, 58px); }
.jrv-intro p { margin: 0; color: var(--muted); font-size: 18px; }
.jrv-public { margin-bottom: 64px; }
.jrv-sectionhead { margin-bottom: 25px; }
.jrv-sectionhead span { color: var(--cta); font-weight: 700; font-size: 13px; }
.jrv-sectionhead h2 { margin: 7px 0 0; font-size: clamp(27px, 3vw, 36px); }
.jrv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.jrv-card { display: flex; flex-direction: column; min-height: 290px; padding: 27px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 14px 35px rgba(23,50,77,.06); }
.jrv-quote { height: 39px; color: var(--accent); font: 700 68px/.8 Georgia, serif; }
.jrv-card blockquote { flex: 1; margin: 16px 0 24px; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.jrv-author { display: flex; align-items: center; gap: 11px; padding-top: 17px; border-top: 1px solid var(--line); }
.jrv-avatar { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--chipbg); color: var(--chipink); font-weight: 800; }
.jrv-author strong, .jrv-author a { display: block; }
.jrv-role { display: block; color: var(--muted); font-size: 13px; line-height: 1.35; }
.jrv-author a { margin-top: 2px; color: var(--cta); font-size: 13px; text-decoration: none; }
.jrv-author a:hover { text-decoration: underline; }
.jrv-submit { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; padding: clamp(24px, 5vw, 56px); border-radius: 30px; background: var(--brand); color: #fff; }
.jrv-submit-copy h2 { color: var(--accent); font-size: clamp(29px, 4vw, 43px); margin: 12px 0 18px; }
.jrv-submit-copy p { color: #dce6ef; font-size: 16px; }
.jrv-submit-copy .jrv-note { margin-top: 30px; padding: 15px 18px; border-left: 3px solid var(--accent); background: rgba(255,255,255,.07); font-size: 14px; }
.jrv-submit .jrv-eyebrow { color: #ffb27f; }
.jrv-form { display: grid; gap: 18px; padding: 27px; border-radius: var(--r); background: #fff; color: var(--ink); }
.jrv-form label:not(.jrv-consent) > span { display: block; margin-bottom: 7px; font-weight: 700; }
.jrv-form label b { color: var(--cta); }
.jrv-form input:not([type=checkbox]), .jrv-form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #cfd5dc; border-radius: 10px; background: #fff; color: var(--ink); font: inherit; }
.jrv-form textarea { resize: vertical; }
.jrv-form input:focus, .jrv-form textarea:focus { border-color: var(--cta); outline: 2px solid #fbd0b8; }
.jrv-form small { display: block; margin-top: 6px; color: var(--muted); }
.jrv-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; }
.jrv-consent input { margin-top: 3px; flex: none; }
.jrv-form button { min-height: 50px; padding: 12px 20px; border: 0; border-radius: 10px; color: #fff; background: var(--cta); font-size: 16px; font-weight: 800; cursor: pointer; }
.jrv-form button:hover { background: var(--ctaH); }
.jrv-form button:disabled { opacity: .6; cursor: wait; }
.jrv-form #jrv-status { margin: -4px 0 0; font-size: 14px; }
.jrv-form #jrv-status.ok { color: #187044; }
.jrv-form #jrv-status.err { color: #b42318; }
.jrv-form[hidden], .jrv-submit-copy[hidden], .jrv-thanks[hidden] { display: none; }
.jrv-submit.is-sent { grid-template-columns: 1fr; }
.jrv-thanks { max-width: 680px; margin: 0 auto; padding: 24px 0; text-align: center; scroll-margin-top: 180px; }
.jrv-thanks-icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #e9f8ef; color: #187044; font-size: 32px; font-weight: 800; }
.jrv-thanks h2 { margin: 24px 0 12px; color: #fff; font-size: clamp(30px, 4vw, 42px); }
.jrv-thanks p { margin: 0 0 24px; color: #dce6ef; font-size: 17px; }
.jrv-thanks a { display: inline-block; padding: 12px 20px; border-radius: 10px; background: #fff; color: var(--brand); font-weight: 700; text-decoration: none; }
.jrv-thanks a:hover { background: #ffedd5; }
.jrv-hp { position: absolute !important; left: -9999px; width: 1px !important; height: 1px !important; opacity: 0; }
@media (max-width: 800px) { .jrv-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .jrv-submit { grid-template-columns: 1fr; gap: 22px; } }
@media (max-width: 580px) { .jt-reviews { padding: 32px 16px 50px; } .jrv-intro { margin-bottom: 36px; text-align: left; } .jrv-intro p { font-size: 16px; } .jrv-grid { grid-template-columns: 1fr; } .jrv-card { min-height: 0; } .jrv-submit { padding: 22px; border-radius: 20px; } .jrv-form { padding: 20px; } }
