@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;1,400;1,600&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ── BANNER ── */
.kbr-banner {
    background: #0d1b2e;
    border-radius: 10px;
    overflow: hidden;
    font-family: 'DM Sans', sans-serif;
    margin-bottom: 2.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
}
@media (max-width: 700px) {
    .kbr-banner { grid-template-columns: 1fr; }
    .kbr-banner__right { border-left: none !important; border-top: 1px solid rgba(255,255,255,.07); }
}
.kbr-banner__left {
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.kbr-banner__heading { margin: 0; line-height: 1.1; }
.kbr-banner__heading-line1 {
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: 2.1rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -.01em;
}
.kbr-banner__heading-line2 {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.4rem;
    font-weight: 600;
    font-style: italic;
    color: #2dd4bf;
    letter-spacing: -.01em;
}
.kbr-banner__surgeon-name { color: #fff; font-size: 15px; font-weight: 500; margin-bottom: 4px; }
.kbr-banner__surgeon-role { color: #2dd4bf; font-size: 12px; letter-spacing: .04em; }
.kbr-banner__divider { width: 36px; height: 2px; background: #2dd4bf; border-radius: 2px; margin-top: 10px; }
.kbr-checklist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.kbr-checklist li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: rgba(255,255,255,.7); }
.kbr-checklist li::before { content: '✓'; color: #2dd4bf; font-weight: 700; font-size: 14px; flex-shrink: 0; }

.kbr-banner__right {
    background: #111f33;
    border-left: 1px solid rgba(255,255,255,.07);
    display: flex;
    flex-direction: column;
}
.kbr-carousel { flex: 1; overflow: hidden; position: relative; }
.kbr-carousel__track { display: flex; transition: transform .6s cubic-bezier(.25,.46,.45,.94); }
.kbr-carousel__slide {
    min-width: 100%;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    min-height: 260px;
}
.kbr-slide__top { display: flex; align-items: center; gap: 10px; margin-bottom: .75rem; flex-wrap: wrap; }
.kbr-slide__source-tag {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.55);
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
}
.kbr-slide__text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 16px;
    font-style: italic;
    line-height: 1.75;
    color: rgba(255,255,255,.82);
    margin: 0 0 1.25rem;
    flex: 1;
    quotes: none;
}
.kbr-slide__footer {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid rgba(255,255,255,.07);
    padding-top: 1rem;
    margin-top: auto;
}
.kbr-avatar {
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(45,212,191,.15);
    border: 1px solid rgba(45,212,191,.35);
    color: #2dd4bf;
    font-size: 13px;
    font-weight: 600;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.kbr-slide__author-name { font-size: 13px; font-weight: 500; color: #fff; }
.kbr-verified { font-size: 11px; color: #2dd4bf; display: flex; align-items: center; gap: 4px; margin-top: 2px; }
.kbr-verified::before { content: '✓'; font-weight: 700; }
.kbr-carousel__dots {
    display: flex; gap: 5px;
    padding: .9rem 2rem;
    border-top: 1px solid rgba(255,255,255,.06);
    flex-wrap: wrap;
}
.kbr-carousel__dots button {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    border: none; padding: 0; cursor: pointer;
    transition: background .3s, transform .2s;
}
.kbr-carousel__dots button.kbr-dot--active { background: #2dd4bf; transform: scale(1.3); }
.kbr-score-bar {
    grid-column: 1 / -1;
    background: #0a1628;
    border-top: 2px solid rgba(45,212,191,.15);
    padding: 1.5rem 2rem;
    display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap;
}
.kbr-score-bar__val { font-family: 'DM Sans', sans-serif; font-size: 3rem; font-weight: 700; color: #2dd4bf; line-height: 1; }
.kbr-score-bar__meta { font-size: 12px; color: rgba(255,255,255,.4); margin-top: 4px; }
.kbr-score-bar__right { margin-left: auto; font-size: 11px; color: rgba(255,255,255,.28); }
.kbr-no-reviews { color: rgba(255,255,255,.35); font-size: 13px; text-align: center; padding: 2rem; }

/* ── FORM ── */
.kbr-form-wrap {
    font-family: 'DM Sans', sans-serif;
    background: #111f33;
    border-radius: 10px;
    padding: 3rem 3.5rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 640px) {
    .kbr-form-wrap { padding: 2rem 1.25rem; }
}
.kbr-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}
.kbr-form-row .kbr-field { margin-bottom: 0; }
@media (max-width: 600px) {
    .kbr-form-row { grid-template-columns: 1fr; }
}

.kbr-gold-bar { width: 36px; height: 3px; background: #2dd4bf; border-radius: 2px; margin-bottom: 1rem; }

.kbr-form__heading {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 .2rem !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}
.kbr-form__heading span {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    font-weight: 600;
    font-style: italic;
    color: #2dd4bf;
}
.kbr-form__sub { font-size: 13px; color: rgba(255,255,255,.4); margin-bottom: 1.75rem; line-height: 1.6; }

#kbrFormMessages .kbr-msg-success {
    background: rgba(45,212,191,.1); border: 1px solid rgba(45,212,191,.35);
    color: #2dd4bf; border-radius: 6px; padding: 12px 16px; margin-bottom: 1rem; font-size: 14px;
}
#kbrFormMessages .kbr-msg-error {
    background: rgba(239,68,68,.1); border: 1px solid rgba(239,68,68,.3);
    color: #fca5a5; border-radius: 6px; padding: 12px 16px; margin-bottom: 1rem; font-size: 14px;
}

.kbr-field { margin-bottom: 1rem; }
.kbr-label {
    display: block; font-size: 11px; font-weight: 500;
    color: rgba(255,255,255,.5); letter-spacing: .07em;
    text-transform: uppercase; margin-bottom: 6px;
}
.kbr-req { color: #2dd4bf; text-decoration: none; font-style: normal; }

.kbr-form-wrap input[type="text"],
.kbr-form-wrap input[type="email"],
.kbr-form-wrap input[type="tel"],
.kbr-form-wrap textarea {
    width: 100%; background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12); border-radius: 6px;
    padding: 11px 14px; font-family: 'DM Sans', sans-serif;
    font-size: 14px; color: #fff; outline: none;
    transition: border-color .2s, box-shadow .2s;
    -webkit-appearance: none; box-shadow: none;
    box-sizing: border-box;
}
.kbr-form-wrap input::placeholder,
.kbr-form-wrap textarea::placeholder { color: rgba(255,255,255,.22); }
.kbr-form-wrap input:focus,
.kbr-form-wrap textarea:focus { border-color: #2dd4bf; box-shadow: 0 0 0 3px rgba(45,212,191,.1); }
.kbr-form-wrap textarea { resize: vertical; min-height: 120px; line-height: 1.6; }

.kbr-stars { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.kbr-star-btn {
    font-size: 34px !important; background: none !important; border: none !important;
    color: rgba(255,255,255,.18) !important; cursor: pointer !important;
    padding: 0 2px !important; line-height: 1 !important;
    transition: color .15s, transform .1s !important;
    -webkit-appearance: none !important;
}
.kbr-star-btn:hover,
.kbr-star-btn.kbr-star-btn--lit { color: #f0a500 !important; }
.kbr-star-btn:active { transform: scale(.88) !important; }
.kbr-star-label { font-size: 12px; color: rgba(255,255,255,.3); margin-left: 8px; min-width: 70px; }

.kbr-field-err { display: none; font-size: 12px; color: #fca5a5; margin-top: 4px; }
.kbr-field--invalid input,
.kbr-field--invalid textarea { border-color: rgba(239,68,68,.6) !important; }
.kbr-field--invalid .kbr-field-err { display: block; }

.kbr-submit {
    width: 100%; background: #2dd4bf; color: #0d1b2e;
    border: none; border-radius: 6px; padding: 14px;
    font-family: 'DM Sans', sans-serif; font-size: 15px;
    font-weight: 700; letter-spacing: .03em; cursor: pointer;
    margin-top: .75rem; transition: background .2s, transform .1s;
}
.kbr-submit:hover { background: #5eead4; }
.kbr-submit:active { transform: scale(.99); }
.kbr-submit:disabled { opacity: .5; cursor: not-allowed; }

.kbr-gdpr { font-size: 11px; color: rgba(255,255,255,.22); text-align: center; margin-top: .75rem; line-height: 1.6; }
.kbr-gdpr a { color: #2dd4bf; }
