/* ==========================================================================
   Team Member Connect — Public styles
   Professional theme tuned for a financial-advisory brand
   (deep navy + warm gold accents, generous whitespace, refined type)
   ========================================================================== */

:root {
    --tmc-navy: #0f2540;
    --tmc-navy-dark: #0a1a2e;
    --tmc-navy-soft: #eef2f7;
    --tmc-gold: #b8863b;
    --tmc-gold-soft: #f7ecd9;
    --tmc-ink: #1b2430;
    --tmc-muted: #6b7684;
    --tmc-border: #dfe4ea;
    --tmc-border-soft: #eceff3;
    --tmc-surface: #ffffff;
    --tmc-bg: #f6f8fa;
    --tmc-success: #1f7a4d;
    --tmc-success-bg: #e9f6ee;
    --tmc-error: #c0392b;
    --tmc-error-bg: #fdecea;
    --tmc-radius-lg: 16px;
    --tmc-radius-md: 10px;
    --tmc-radius-sm: 8px;
    --tmc-shadow-sm: 0 2px 6px rgba(15, 37, 64, 0.06);
    --tmc-shadow-md: 0 12px 32px rgba(15, 37, 64, 0.12);
    --tmc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --tmc-transition: 160ms ease;
}

.tmc-connect-button,
.tmc-review-form-root,
.tmc-reviews-root,
.tmc-connect-card,
.tmc-manage-card,
.tmc-announcement-card {
    font-family: var(--tmc-font);
}

/* --------------------------------------------------------------------- */
/* Connect button + modal                                                */
/* --------------------------------------------------------------------- */

.tmc-connect-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.5rem;
    background: var(--tmc-navy);
    color: #fff;
    border: none;
    border-radius: var(--tmc-radius-sm);
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background var(--tmc-transition), transform var(--tmc-transition), box-shadow var(--tmc-transition);
    box-shadow: var(--tmc-shadow-sm);
}

.tmc-connect-button:hover {
    background: var(--tmc-navy-dark);
    transform: translateY(-1px);
    box-shadow: var(--tmc-shadow-md);
}

.tmc-connect-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    overflow-y: auto;
    justify-content: center;
    align-items: center;
}

.tmc-connect-modal.tmc-active {
    display: flex;
}

.tmc-connect-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 22, 40, 0.6);
    backdrop-filter: blur(2px);
}

.tmc-connect-card {
    position: relative;
    z-index: 1;
    width: min(600px, calc(100% - 40px));
    margin: 40px auto;
    background: var(--tmc-surface);
    border-radius: var(--tmc-radius-lg);
    padding: 32px;
    box-shadow: var(--tmc-shadow-md);
}

.tmc-connect-card h2 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: var(--tmc-navy);
    font-size: 1.4rem;
    font-weight: 700;
}

.tmc-connect-close {
    position: absolute;
    top: 18px;
    right: 18px;
    border: none;
    background: transparent;
    color: var(--tmc-muted);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    transition: color var(--tmc-transition);
}

.tmc-connect-close:hover {
    color: var(--tmc-ink);
}

.tmc-connect-form {
    display: grid;
    gap: 1.15rem;
}

/* --------------------------------------------------------------------- */
/* Shared field styles                                                   */
/* --------------------------------------------------------------------- */

.tmc-field label {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    margin-bottom: 0.4rem;
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--tmc-ink);
    letter-spacing: 0.01em;
}

.tmc-required {
    color: var(--tmc-gold);
    font-weight: 700;
}

.tmc-optional {
    color: var(--tmc-muted);
    font-weight: 500;
    font-size: 0.82rem;
}

.tmc-field input,
.tmc-field textarea,
.tmc-field select {
    width: 100%;
    padding: 0.8rem 0.9rem;
    border: 1.5px solid var(--tmc-border);
    border-radius: var(--tmc-radius-sm);
    font-size: 0.98rem;
    font-family: inherit;
    color: var(--tmc-ink);
    background: var(--tmc-surface);
    box-sizing: border-box;
    transition: border-color var(--tmc-transition), box-shadow var(--tmc-transition);
}

.tmc-field textarea {
    resize: vertical;
    line-height: 1.55;
}

.tmc-field input::placeholder,
.tmc-field textarea::placeholder {
    color: #a7adb6;
}

.tmc-field input:focus,
.tmc-field textarea:focus,
.tmc-field select:focus {
    outline: none;
    border-color: var(--tmc-navy);
    box-shadow: 0 0 0 3px rgba(15, 37, 64, 0.1);
}

/* Inline, per-field validation errors */
.tmc-field input.tmc-input-invalid,
.tmc-field textarea.tmc-input-invalid,
.tmc-field select.tmc-input-invalid {
    border-color: var(--tmc-error);
    box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.08);
}

.tmc-field-error {
    display: block;
    min-height: 0;
    margin-top: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--tmc-error);
}

.tmc-field-error:empty {
    display: none;
}

.tmc-field-error::before {
    content: "\26A0  ";
}

.tmc-field-hint {
    margin: 0.4rem 0 0;
    font-size: 0.8rem;
    color: var(--tmc-muted);
}

.tmc-review-form-root .tmc-button,
.tmc-connect-card .tmc-button,
.tmc-manage-card .tmc-button {
    box-shadow: none;
}

/* Hardening against theme/global button + file-input styles that can leak
   into the plugin's markup on some themes. */
.tmc-review-form-root input[type="file"].tmc-visually-hidden,
.tmc-review-form-root input[type="file"]#tmc-review-avatar {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.tmc-review-form-root .tmc-review-tab,
.tmc-review-form-root .tmc-avatar-upload-btn,
.tmc-review-form-root .tmc-avatar-remove-btn,
.tmc-review-form-root .tmc-submit {
    box-sizing: border-box;
    text-transform: none;
    letter-spacing: 0.01em;
}

.tmc-review-form-root .tmc-avatar-remove-btn {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0.15rem 0 !important;
}

.tmc-visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.tmc-email-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.tmc-email-wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.6rem;
    align-items: flex-start;
}

.tmc-email-input-group {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tmc-email-input-group label {
    margin-bottom: 0.35rem;
}

.tmc-email-input-group input {
    width: 100%;
}

.tmc-otp-button {
    background: var(--tmc-navy);
    color: #fff;
    border: none;
    border-radius: var(--tmc-radius-sm);
    padding: 0.8rem 1.1rem;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    align-self: flex-end;
    height: max-content;
    white-space: nowrap;
    margin-top: 1.6rem;
    transition: background var(--tmc-transition);
}

.tmc-otp-button:hover:not(:disabled) {
    background: var(--tmc-navy-dark);
}

.tmc-otp-button:disabled {
    background: #cfd6de;
    cursor: not-allowed;
}

.tmc-email-verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: var(--tmc-success-bg);
    color: var(--tmc-success);
    font-size: 0.88rem;
    font-weight: 600;
    white-space: nowrap;
    align-self: flex-end;
    margin-top: 1.6rem;
}

.tmc-email-verified-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: var(--tmc-success);
    color: #fff;
    font-size: 0.75rem;
    line-height: 1;
}

.tmc-otp-section {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.tmc-otp-section input {
    padding: 0.8rem;
    border: 1.5px solid var(--tmc-border);
    border-radius: var(--tmc-radius-sm);
    font-size: 1rem;
}

.tmc-verify-button {
    background: var(--tmc-gold);
    color: #fff;
    border: none;
    border-radius: var(--tmc-radius-sm);
    padding: 0.8rem 1.1rem;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    align-self: flex-end;
    height: max-content;
    transition: background var(--tmc-transition);
}

.tmc-verify-button:hover:not(:disabled) {
    background: #a1752f;
}

.tmc-verify-button:disabled {
    background: #cfd6de;
    cursor: not-allowed;
}

.tmc-otp-status {
    min-height: 1.4rem;
    font-size: 0.88rem;
    margin-top: 0.3rem;
    font-weight: 500;
}

.tmc-otp-status.tmc-success {
    color: var(--tmc-success);
}

.tmc-otp-status.tmc-error {
    color: var(--tmc-error);
}

.tmc-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.25rem;
}

.tmc-button {
    border: none;
    cursor: pointer;
    border-radius: var(--tmc-radius-sm);
    padding: 0.9rem 1.6rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background var(--tmc-transition), transform var(--tmc-transition), box-shadow var(--tmc-transition);
}

.tmc-submit {
    background: var(--tmc-navy);
    color: #fff;
    box-shadow: var(--tmc-shadow-sm);
}

.tmc-submit:hover:not(:disabled) {
    background: var(--tmc-navy-dark);
    transform: translateY(-1px);
}

.tmc-submit:disabled {
    background: #cfd6de;
    cursor: not-allowed;
    transform: none;
}

.tmc-close-button {
    background: var(--tmc-navy-soft);
    color: var(--tmc-ink);
}

.tmc-close-button:hover {
    background: #e1e7ee;
}

.tmc-form-status {
    min-height: 0;
    font-size: 0.92rem;
    font-weight: 600;
    margin-top: 0.25rem;
    padding: 0;
    border-radius: var(--tmc-radius-sm);
    transition: padding var(--tmc-transition);
}

.tmc-form-status:not(:empty) {
    padding: 0.7rem 0.9rem;
}

.tmc-success {
    color: var(--tmc-success);
    background: var(--tmc-success-bg);
}

.tmc-error {
    color: var(--tmc-error);
    background: var(--tmc-error-bg);
}

/* --------------------------------------------------------------------- */
/* Manage-request page                                                   */
/* --------------------------------------------------------------------- */

.tmc-manage-body {
    margin: 0;
    background: var(--tmc-bg);
    font-family: var(--tmc-font);
    color: var(--tmc-ink);
}

.tmc-manage-wrap {
    max-width: 760px;
    margin: 40px auto;
    padding: 0 20px 40px;
}

.tmc-manage-card {
    background: var(--tmc-surface);
    border: 1px solid var(--tmc-border-soft);
    border-radius: var(--tmc-radius-lg);
    padding: 32px;
    box-shadow: var(--tmc-shadow-md);
}

.tmc-manage-card h1,
.tmc-manage-section h2 {
    margin-top: 0;
    color: var(--tmc-navy);
}

.tmc-manage-section {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--tmc-border-soft);
}

.tmc-manage-details {
    margin: 0;
    padding-left: 18px;
    color: var(--tmc-ink);
}

.tmc-manage-details li + li {
    margin-top: 8px;
}

.tmc-manage-status {
    font-weight: 700;
    color: var(--tmc-navy);
}

.tmc-manage-form {
    display: grid;
    gap: 1rem;
}

/* --------------------------------------------------------------------- */
/* Review form                                                           */
/* --------------------------------------------------------------------- */

.tmc-review-form-root,
.tmc-reviews-root {
    max-width: 720px;
    margin: 0 auto 48px;
    font-family: var(--tmc-font);
}

.tmc-review-form-root {
    background: var(--tmc-surface);
    border: 1px solid var(--tmc-border-soft);
    border-radius: var(--tmc-radius-lg);
    padding: 36px;
    box-shadow: var(--tmc-shadow-sm);
}

.tmc-review-form-intro h2 {
    margin: 0 0 0.4rem;
    color: var(--tmc-navy);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.tmc-review-form-subtitle {
    margin: 0 0 1.6rem;
    color: var(--tmc-muted);
    font-size: 0.96rem;
    line-height: 1.5;
}

.tmc-review-tabs {
    display: inline-flex;
    gap: 4px;
    margin-bottom: 1.8rem;
    padding: 4px;
    background: var(--tmc-navy-soft);
    border-radius: 999px;
}

.tmc-review-tab {
    border: none;
    background: transparent;
    padding: 0.6rem 1.15rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--tmc-muted);
    cursor: pointer;
    border-radius: 999px;
    transition: background var(--tmc-transition), color var(--tmc-transition);
}

.tmc-review-tab:hover {
    color: var(--tmc-ink);
}

.tmc-review-tab.is-active {
    color: #fff !important;
    background: var(--tmc-navy) !important;
    box-shadow: var(--tmc-shadow-sm);
}

.tmc-review-panel[hidden] {
    display: none;
}

.tmc-review-form .tmc-field {
    margin-bottom: 1.3rem;
}

.tmc-review-form .tmc-field:last-of-type {
    margin-bottom: 0.5rem;
}

/* Profile photo upload */
.tmc-field-avatar {
    padding-bottom: 1.4rem;
    margin-bottom: 1.6rem !important;
    border-bottom: 1px solid var(--tmc-border-soft);
}

.tmc-avatar-upload {
    display: flex;
    align-items: center;
    gap: 1.1rem;
}

.tmc-avatar-preview {
    flex: 0 0 auto;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--tmc-navy-soft);
    border: 1.5px dashed var(--tmc-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa5b1;
    overflow: hidden;
}

.tmc-avatar-preview.has-image {
    border-style: solid;
    border-color: var(--tmc-border);
}

.tmc-avatar-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tmc-avatar-placeholder-icon {
    width: 30px;
    height: 30px;
}

.tmc-avatar-upload-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
}

.tmc-avatar-upload-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 1rem;
    background: var(--tmc-surface) !important;
    color: var(--tmc-navy) !important;
    border: 1.5px solid var(--tmc-navy) !important;
    border-radius: var(--tmc-radius-sm);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--tmc-transition), color var(--tmc-transition);
}

.tmc-avatar-upload-btn:hover {
    background: var(--tmc-navy) !important;
    color: #fff !important;
}

.tmc-avatar-remove-btn {
    border: none;
    background: transparent;
    color: var(--tmc-error);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0.15rem 0;
}

.tmc-avatar-remove-btn:hover {
    text-decoration: underline;
}

.tmc-avatar-upload-actions .tmc-field-hint {
    margin-top: 0.1rem;
}

.tmc-avatar-upload-actions .tmc-field-error {
    margin-top: 0.15rem;
}

/* Comment textarea + typing suggestions */
.tmc-textarea-wrap {
    position: relative;
}

.tmc-suggestions {
    position: absolute;
    z-index: 20;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    background: var(--tmc-surface);
    border: 1px solid var(--tmc-border);
    border-radius: var(--tmc-radius-md);
    box-shadow: var(--tmc-shadow-md);
    padding: 6px;
    max-height: 220px;
    overflow-y: auto;
}

.tmc-suggestion-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.55rem 0.7rem;
    border: none;
    background: transparent;
    border-radius: var(--tmc-radius-sm);
    font-size: 0.88rem;
    line-height: 1.4;
    color: var(--tmc-ink);
    cursor: pointer;
    transition: background var(--tmc-transition);
}

.tmc-suggestion-item:hover,
.tmc-suggestion-item.is-active {
    background: var(--tmc-gold-soft);
    color: var(--tmc-navy-dark);
}

.tmc-suggestion-item + .tmc-suggestion-item {
    margin-top: 2px;
}

/* --------------------------------------------------------------------- */
/* Review list / cards                                                   */
/* --------------------------------------------------------------------- */

.tmc-review-type-badge {
    display: inline-block;
    padding: 3px 11px;
    border-radius: 999px;
    background: var(--tmc-navy-soft);
    color: var(--tmc-navy);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.tmc-review-type-badge.tmc-review-type-video {
    background: var(--tmc-gold-soft);
    color: #8a5a1c;
}

.tmc-reviews-list {
    display: grid;
    gap: 18px;
}

.tmc-review-card {
    background: var(--tmc-surface);
    border: 1px solid var(--tmc-border-soft);
    border-radius: var(--tmc-radius-lg);
    padding: 22px 24px;
    box-shadow: var(--tmc-shadow-sm);
    transition: box-shadow var(--tmc-transition), transform var(--tmc-transition);
}

.tmc-review-card:hover {
    box-shadow: var(--tmc-shadow-md);
    transform: translateY(-1px);
}

.tmc-review-card-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.tmc-review-avatar-img,
.tmc-review-avatar-initial {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.tmc-review-avatar-img {
    object-fit: cover;
    border: 1px solid var(--tmc-border-soft);
}

.tmc-review-avatar-initial {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--tmc-navy);
    color: #fff;
    font-weight: 700;
    font-size: 1.05rem;
}

.tmc-review-card-heading {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.tmc-review-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tmc-review-name {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--tmc-ink);
}

.tmc-review-description {
    color: #3b4552;
    line-height: 1.65;
    font-size: 0.97rem;
}

.tmc-review-video video {
    width: 100%;
    max-width: 100%;
    margin-top: 4px;
    margin-bottom: 14px;
    border-radius: var(--tmc-radius-md);
}

.tmc-reviews-actions {
    margin-top: 26px;
    text-align: center;
}

.tmc-load-more {
    background: var(--tmc-navy-soft);
    color: var(--tmc-navy);
}

.tmc-load-more:hover {
    background: #e1e7ee;
}

.tmc-reviews-empty {
    color: var(--tmc-muted);
    text-align: center;
    padding: 24px 0;
}

.tmc-review-card-pending {
    border-style: dashed;
    border-color: #e3c98e;
}

.tmc-review-pending-badge {
    display: inline-block;
    padding: 3px 11px;
    border-radius: 999px;
    background: #fff6e0;
    color: #8a5a00;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* --------------------------------------------------------------------- */
/* Announcement popup                                                    */
/* --------------------------------------------------------------------- */

.tmc-announcement-card {
    width: min(560px, calc(100% - 40px));
    text-align: left;
}

.tmc-announcement-image {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    border-radius: var(--tmc-radius-md);
    margin-bottom: 1rem;
}

.tmc-announcement-content {
    color: var(--tmc-ink);
    margin-bottom: 1.2rem;
    line-height: 1.6;
}

.tmc-announcement-actions {
    text-align: right;
}

.tmc-announcement-actions .tmc-submit {
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

/* --------------------------------------------------------------------- */
/* Responsive                                                            */
/* --------------------------------------------------------------------- */

@media (max-width: 560px) {
    .tmc-review-form-root {
        padding: 24px;
        border-radius: var(--tmc-radius-md);
    }

    .tmc-connect-card,
    .tmc-manage-card {
        padding: 22px;
    }

    .tmc-avatar-upload {
        flex-direction: column;
        align-items: flex-start;
    }

    .tmc-otp-button,
    .tmc-verify-button,
    .tmc-email-verified-badge {
        align-self: stretch;
        margin-top: 0;
        text-align: center;
    }

    .tmc-email-wrapper {
        grid-template-columns: 1fr;
    }

    .tmc-otp-section {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------- */
/* Professional review editor + camera recording                        */
/* --------------------------------------------------------------------- */
.tmc-rich-editor {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--tmc-border-soft);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.tmc-rich-editor.is-focused {
    border-color: var(--tmc-navy);
    box-shadow: 0 0 0 3px rgba(20, 47, 87, .08);
}

.tmc-rich-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-height: 46px;
    padding: 6px 8px;
    gap: 3px;
    border-bottom: 1px solid var(--tmc-border-soft);
    background: #f8fafc;
}

.tmc-rich-toolbar button {
    min-width: 34px;
    height: 32px;
    padding: 0 8px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #344054;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.tmc-rich-toolbar button:hover {
    background: #e9eef5;
    color: var(--tmc-navy);
}

.tmc-rich-toolbar .tmc-toolbar-clear {
    margin-left: auto;
    color: #667085;
    font-weight: 500;
}

.tmc-toolbar-divider {
    width: 1px;
    height: 22px;
    margin: 0 5px;
    background: #dfe3e8;
}

.tmc-rich-content {
    min-height: 190px;
    max-height: 340px;
    overflow-y: auto;
    padding: 16px 18px;
    color: #172033;
    font-size: 15px;
    line-height: 1.7;
    outline: none;
}

.tmc-rich-content:empty::before {
    content: attr(data-placeholder);
    color: #98a2b3;
    pointer-events: none;
}

.tmc-rich-content p { margin: 0 0 .65em; }
.tmc-rich-content ul,
.tmc-rich-content ol { padding-left: 24px; margin: .4em 0 .8em; }
.tmc-rich-content:focus { outline: none; }

.tmc-editor-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 16px;
    border-top: 1px solid #eef1f5;
    color: #98a2b3;
    background: #fcfcfd;
    font-size: 12px;
}

.tmc-video-review-card {
    padding: 20px;
    border: 1px solid var(--tmc-border-soft);
    border-radius: 16px;
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%);
}

.tmc-video-review-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.tmc-video-review-head h3 {
    margin: 4px 0 4px;
    color: var(--tmc-navy);
    font-size: 1.08rem;
}

.tmc-video-review-head p {
    margin: 0;
    max-width: 560px;
    color: var(--tmc-muted);
    font-size: 13px;
    line-height: 1.5;
}

.tmc-eyebrow {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tmc-camera-status {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef2f6;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.tmc-camera-stage {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 310px;
    overflow: hidden;
    border-radius: 14px;
    background: #101828;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.tmc-camera-preview {
    display: block;
    width: 100%;
    max-height: 430px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #101828;
}

.tmc-camera-placeholder {
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 30px;
    color: #d0d5dd;
    text-align: center;
}

.tmc-camera-placeholder strong { color: #fff; font-size: 15px; }
.tmc-camera-placeholder span:last-child { max-width: 360px; font-size: 12px; line-height: 1.5; color: #98a2b3; }

.tmc-camera-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid #344054;
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
}

.tmc-recording-indicator {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(16,24,40,.82);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    backdrop-filter: blur(6px);
}

.tmc-recording-indicator span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff4d4f;
    box-shadow: 0 0 0 4px rgba(255,77,79,.14);
    animation: tmc-record-pulse 1.1s infinite;
}

@keyframes tmc-record-pulse { 50% { opacity: .35; transform: scale(.8); } }

.tmc-camera-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.tmc-button-primary { background: var(--tmc-navy) !important; color: #fff !important; }
.tmc-button-secondary { background: #fff !important; color: #344054 !important; border: 1px solid #d0d5dd !important; }
.tmc-button-secondary:hover { background: #f8fafc !important; }

.tmc-recording-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 9px;
    color: #98a2b3;
    font-size: 11px;
}

#tmc-recording-time { color: #475467; font-variant-numeric: tabular-nums; font-weight: 700; }

.tmc-video-caption { margin-top: 18px; }

@media (max-width: 560px) {
    .tmc-rich-toolbar .tmc-toolbar-clear { margin-left: 0; }
    .tmc-video-review-head { flex-direction: column; }
    .tmc-camera-stage { min-height: 230px; }
    .tmc-camera-actions .tmc-button { flex: 1 1 calc(50% - 8px); }
    .tmc-editor-footer { font-size: 11px; }
}

/* WordPress editor + AI review assistant */
.tmc-review-label-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.tmc-review-label-row label{margin-bottom:0}
.tmc-ai-generate-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #d8c39b;background:#fffaf1;color:#8a6424;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.18s ease;box-shadow:0 2px 7px rgba(15,37,64,.05)}
.tmc-ai-generate-button:hover{background:#f7ecd9;border-color:#c8a86c;transform:translateY(-1px)}
.tmc-ai-review-panel{margin:0 0 12px;border:1px solid #e4d7bd;border-radius:12px;background:linear-gradient(180deg,#fffdf9,#fffaf2);padding:16px;box-shadow:0 8px 24px rgba(15,37,64,.07)}
.tmc-ai-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.tmc-ai-review-head div{display:flex;flex-direction:column;gap:3px}.tmc-ai-review-head strong{font-size:14px;color:var(--tmc-navy)}.tmc-ai-review-head span{font-size:12px;color:var(--tmc-muted)}
.tmc-ai-close{border:0;background:transparent;font-size:22px;line-height:1;color:#7a8490;cursor:pointer;padding:0 2px}.tmc-ai-close:hover{color:var(--tmc-ink)}
.tmc-ai-review-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(120px,.8fr);gap:12px}.tmc-ai-review-grid label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:var(--tmc-ink)}
.tmc-ai-review-grid textarea,.tmc-ai-review-grid select{width:100%;box-sizing:border-box;border:1px solid var(--tmc-border);border-radius:8px;background:#fff;padding:10px 11px;font:inherit;color:var(--tmc-ink)}
.tmc-ai-review-grid textarea:focus,.tmc-ai-review-grid select:focus{outline:none;border-color:var(--tmc-gold);box-shadow:0 0 0 3px rgba(184,134,59,.12)}
.tmc-ai-generate-submit{margin-top:12px!important;display:inline-flex;align-items:center;gap:7px}.tmc-ai-status{display:block;margin-top:9px;font-size:12px;font-weight:600;color:var(--tmc-muted)}.tmc-ai-status.is-error{color:var(--tmc-error)}.tmc-ai-status.is-success{color:var(--tmc-success)}
.tmc-wp-editor-wrap{border-radius:10px;overflow:hidden;background:#fff}.tmc-wp-editor-wrap .wp-editor-wrap{margin:0}.tmc-wp-editor-wrap .wp-editor-container{border:1px solid var(--tmc-border);border-radius:10px;overflow:hidden}.tmc-wp-editor-wrap .mce-toolbar-grp,.tmc-wp-editor-wrap .quicktags-toolbar{background:#fafbfc;border-bottom:1px solid var(--tmc-border-soft)}.tmc-wp-editor-wrap .mce-content-body{font-family:var(--tmc-font);font-size:15px;line-height:1.65;color:var(--tmc-ink);padding:12px 14px}.tmc-wp-editor-wrap textarea.wp-editor-area{min-height:190px;border:0!important;padding:12px 14px!important;font-family:var(--tmc-font)!important;font-size:15px!important}
.tmc-wp-editor-wrap .wp-editor-tools{padding:0!important}.tmc-wp-editor-wrap .wp-switch-editor{font-size:12px!important}
@media(max-width:680px){.tmc-review-label-row{align-items:flex-start;flex-direction:column;gap:8px}.tmc-ai-review-grid{grid-template-columns:1fr}.tmc-ai-generate-button{width:100%;justify-content:center}}

/* Review profile photo: available only for written reviews. */
.tmc-review-profile-photo{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;padding:16px 18px;border:1px solid #e5e7eb;border-radius:14px;background:#fafbfc}
.tmc-review-profile-photo-copy{display:flex;flex-direction:column;gap:4px}.tmc-review-profile-photo-copy strong{font-size:14px;color:#111827}.tmc-review-profile-photo-copy span{font-size:12px;color:#6b7280}
.tmc-review-profile-photo-control{display:flex;align-items:center;gap:12px}.tmc-avatar-preview{width:58px;height:58px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eef2f7;border:1px solid #dbe1e8;flex:0 0 58px}.tmc-avatar-preview img{width:100%;height:100%;object-fit:cover}.tmc-avatar-placeholder{font-size:24px;line-height:1;color:#8792a2}.tmc-avatar-actions{display:flex;align-items:center;gap:10px}.tmc-avatar-upload-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:9px;background:#111827;color:#fff;cursor:pointer;font-size:13px;font-weight:600}.tmc-avatar-upload-btn:hover{opacity:.9}.tmc-avatar-remove-btn{font-size:12px;color:#6b7280;cursor:pointer}.tmc-review-profile-photo .tmc-field-error{display:block}
@media(max-width:680px){.tmc-review-profile-photo{align-items:flex-start;flex-direction:column}.tmc-review-profile-photo-control{width:100%}}

/* AI inline continuation suggestions */
.tmc-ai-autocomplete-panel{padding:14px 16px;background:#fffdf8;border-color:#ead9b9}
.tmc-ai-autocomplete-panel .tmc-ai-review-head{margin-bottom:10px}
.tmc-ai-suggestions{display:flex;flex-direction:column;gap:8px}
.tmc-ai-suggestion-item{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:11px 12px;cursor:pointer;color:#263238;transition:.16s ease;font:inherit}
.tmc-ai-suggestion-item:hover{border-color:#c9a96b;background:#fffaf0;box-shadow:0 3px 10px rgba(20,35,55,.06);transform:translateY(-1px)}
.tmc-ai-suggestion-item.is-used{opacity:.55;pointer-events:none}
.tmc-ai-suggestion-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f5ead5;color:#8a6424;font-size:13px;font-weight:800}
.tmc-ai-suggestion-text{font-size:13px;line-height:1.45;color:#344054}
.tmc-ai-suggestion-use{font-size:11px;font-weight:800;color:#8a6424;padding:5px 8px;border:1px solid #ddc79d;border-radius:999px;white-space:nowrap}
.tmc-ai-loading{display:flex;align-items:center;gap:9px;padding:12px;border:1px dashed #ddcda9;border-radius:10px;color:#667085;font-size:12px;background:#fff}
.tmc-ai-spinner{width:15px;height:15px;border:2px solid #e7dcc6;border-top-color:#9a7435;border-radius:50%;animation:tmc-ai-spin .8s linear infinite;flex:0 0 15px}
@keyframes tmc-ai-spin{to{transform:rotate(360deg)}}
.tmc-ai-generate-button.is-loading{opacity:.65;cursor:wait}
/* Keep the public review editor visual-only so the Code/Quicktags view cannot break the layout. */
.tmc-wp-editor-wrap .wp-editor-tabs{display:none!important}
.tmc-wp-editor-wrap .quicktags-toolbar{display:none!important}
.tmc-wp-editor-wrap .wp-editor-container{border-radius:10px}

/* ======================================================================
   Reviews page 1.7 — premium two-column experience
   ====================================================================== */
.tmc-reviews-page-shell{
    --tmc-review-gold:#c49a4a;
    --tmc-review-gold-dark:#a97927;
    max-width:1180px;
    margin:0 auto 54px;
    padding:0 20px;
    font-family:var(--tmc-font);
}
.tmc-reviews-page-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(340px,.92fr);gap:22px;align-items:start}
.tmc-reviews-page-form .tmc-review-form-root,.tmc-reviews-page-community .tmc-reviews-root{max-width:none;margin:0}
.tmc-reviews-page-form .tmc-review-form-root{padding:34px 32px;border:1px solid #dcc89f;border-radius:16px;box-shadow:0 12px 32px rgba(15,37,64,.07);background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)}
.tmc-review-form-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;line-height:1.1;letter-spacing:-.02em;color:var(--tmc-navy);margin-bottom:10px}
.tmc-review-form-intro h2::first-letter{color:var(--tmc-navy)}
.tmc-review-form-subtitle{font-size:14px;line-height:1.7;max-width:650px;margin-bottom:20px}
.tmc-reviews-page-form .tmc-review-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:0;gap:0;border:1px solid #dbe1e8;border-radius:8px;overflow:hidden;background:#fff;margin-bottom:24px}
.tmc-reviews-page-form .tmc-review-tab{min-height:52px;border-radius:0;padding:12px 18px;font-size:14px;color:var(--tmc-navy);background:#fff;display:flex;align-items:center;justify-content:center;gap:9px}
.tmc-reviews-page-form .tmc-review-tab.is-active{background:linear-gradient(135deg,#0b2a49,#104a77)!important;color:#fff!important;box-shadow:none}
.tmc-tab-icon{font-size:18px;color:var(--tmc-review-gold)}
.tmc-reviews-page-form .tmc-field>label,.tmc-review-label-row label{font-size:13px;font-weight:700;color:#14263d;margin-bottom:8px;display:block}
.tmc-reviews-page-form .tmc-field input[type=text]{height:48px;border:1px solid #d9e0e8;border-radius:7px;padding:0 15px;background:#fff;box-shadow:0 1px 2px rgba(15,37,64,.03)}
.tmc-review-profile-photo{border:1px solid #e2e6eb!important;border-radius:11px!important;background:#fbfcfd!important;padding:15px 16px!important;margin-bottom:22px!important}
.tmc-review-profile-photo-copy strong{font-size:13px!important;color:#17273c!important}.tmc-review-profile-photo-copy span{font-size:11px!important}
.tmc-avatar-preview{width:52px!important;height:52px!important;flex-basis:52px!important;background:#eef5fb!important;border-color:#d8e3ee!important}
.tmc-avatar-upload-btn{background:#fff!important;color:var(--tmc-navy)!important;border:1px solid var(--tmc-navy)!important;border-radius:7px!important;min-height:38px!important;font-size:12px!important}
.tmc-avatar-upload-btn:hover{background:var(--tmc-navy)!important;color:#fff!important}
.tmc-ai-generate-button{background:linear-gradient(135deg,#d3ad61,#b98b34)!important;color:#fff!important;border:0!important;border-radius:7px!important;min-height:42px!important;padding:0 16px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.03em!important;text-transform:uppercase;box-shadow:0 5px 14px rgba(185,139,52,.18)}
.tmc-ai-generate-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(185,139,52,.25)}
.tmc-wp-editor-wrap{border-radius:9px;overflow:hidden;border:1px solid #d9e0e8;background:#fff}
.tmc-wp-editor-wrap .wp-editor-container{border:0!important}.tmc-wp-editor-wrap .mce-toolbar-grp{background:#f8fafc!important;border-bottom:1px solid #e2e7ed!important}.tmc-wp-editor-wrap .mce-btn{background:transparent!important}.tmc-wp-editor-wrap .mce-btn:hover{background:#edf2f7!important}.tmc-wp-editor-wrap iframe{min-height:200px!important}
.tmc-editor-footer{font-size:11px;color:#8090a2;display:flex;justify-content:space-between;gap:12px;padding-top:9px}.tmc-editor-footer span:first-child::before{content:"✦ ";color:#377bc0}
.tmc-reviews-page-form .tmc-submit{background:linear-gradient(135deg,#c9a252,#b48734)!important;color:#fff!important;border:0!important;border-radius:7px!important;padding:12px 22px!important;font-weight:800!important;box-shadow:0 6px 14px rgba(180,135,52,.18)}
.tmc-reviews-page-form .tmc-submit::after{content:"  →"}
.tmc-review-form-root .tmc-form-status.tmc-success{border-radius:8px;background:#e9f7f1;color:#16744d;border:0;padding:13px 15px;margin-top:14px;font-size:12px}

.tmc-reviews-page-community{border:1px solid #dcc89f;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fffdf9 100%);padding:22px;box-shadow:0 12px 32px rgba(15,37,64,.07)}
.tmc-community-heading{margin:0 0 16px;padding:0 2px}.tmc-community-heading h2{margin:0 0 5px;font-family:Georgia,"Times New Roman",serif;color:var(--tmc-navy);font-size:29px;line-height:1.1}.tmc-community-heading h2::after{content:"";display:inline-block;width:34px;height:2px;background:var(--tmc-review-gold);margin-left:8px;vertical-align:middle}.tmc-community-heading p{margin:0;color:#7a8796;font-size:12px;line-height:1.5}
.tmc-reviews-page-community .tmc-reviews-list{gap:12px}.tmc-reviews-page-community .tmc-review-card{padding:15px;border:1px solid #dfe5eb;border-radius:11px;box-shadow:0 3px 10px rgba(15,37,64,.04)}.tmc-reviews-page-community .tmc-review-card:hover{transform:none;box-shadow:0 5px 16px rgba(15,37,64,.08)}
.tmc-reviews-page-community .tmc-review-card-header{gap:10px;margin-bottom:11px}.tmc-reviews-page-community .tmc-review-avatar-img,.tmc-reviews-page-community .tmc-review-avatar-initial{width:40px;height:40px}.tmc-reviews-page-community .tmc-review-avatar-initial{background:linear-gradient(135deg,#0d2d4f,#0b1f35);font-size:14px}
.tmc-review-card-heading{flex:1}.tmc-review-name-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tmc-review-date{font-size:10px;color:#8290a0;font-weight:500;white-space:nowrap}.tmc-reviews-page-community .tmc-review-name{font-size:13px;color:#17273c}.tmc-review-card-badges{gap:6px;margin-top:1px}.tmc-reviews-page-community .tmc-review-type-badge,.tmc-review-approved-badge,.tmc-review-sample-badge,.tmc-reviews-page-community .tmc-review-pending-badge{font-size:9px;padding:4px 7px;border-radius:4px;letter-spacing:0;text-transform:uppercase;line-height:1.15}.tmc-reviews-page-community .tmc-review-type-badge{background:#c39a4b;color:#fff}.tmc-reviews-page-community .tmc-review-type-badge.tmc-review-type-video{background:#2f7fc2;color:#fff}.tmc-review-approved-badge{display:inline-flex;align-items:center;background:#e2f3e9;color:#1b7652;font-weight:700}.tmc-review-sample-badge{display:inline-flex;align-items:center;background:#fff3d6;color:#956c1f;font-weight:700;border:1px solid #f0d89b}
.tmc-reviews-page-community .tmc-review-description{font-size:12px;line-height:1.55;color:#38495d}.tmc-reviews-page-community .tmc-review-description p{margin:0}
.tmc-demo-note{font-size:10px;line-height:1.45;color:#7c8793;background:#f8fafc;border:1px dashed #d6dde5;padding:8px 10px;border-radius:8px;margin-bottom:10px}
.tmc-demo-video{position:relative;aspect-ratio:16/9;border-radius:9px;overflow:hidden;margin:3px 0 12px;background:radial-gradient(circle at 50% 38%,#d9dde2 0 14%,transparent 15%),linear-gradient(135deg,#6f7881,#2d3339);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.tmc-demo-video-person{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center}.tmc-demo-video-person::before{content:"";width:76px;height:76px;border-radius:50%;background:linear-gradient(#3d4650,#12181e);position:absolute;top:22%;box-shadow:0 0 0 8px rgba(255,255,255,.08)}.tmc-demo-video-person::after{content:"";width:145px;height:100px;border-radius:70px 70px 0 0;background:linear-gradient(#3e4853,#151b21);position:absolute;bottom:0}.tmc-demo-play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:rgba(10,25,39,.42);color:#fff;font-size:19px;padding-left:4px}.tmc-demo-video-controls{position:absolute;z-index:4;left:0;right:0;bottom:0;height:30px;padding:0 8px;display:flex;align-items:center;gap:7px;color:#fff;font-size:9px;background:linear-gradient(transparent,rgba(0,0,0,.74))}.tmc-demo-progress{height:3px;flex:1;background:rgba(255,255,255,.55);border-radius:2px}
.tmc-community-quote{margin-top:12px;border:1px solid #eadfc9;border-radius:10px;background:#fffdfa;padding:15px 17px;display:flex;gap:10px;align-items:flex-start}.tmc-quote-mark{font-family:Georgia,serif;font-size:36px;line-height:.8;color:var(--tmc-review-gold)}.tmc-community-quote p{margin:0;color:#16314f;font:italic 13px/1.55 Georgia,"Times New Roman",serif;text-align:center}
.tmc-review-trust-strip{margin-top:22px;border:1px solid #eee4d1;border-radius:13px;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:17px 12px;box-shadow:0 5px 18px rgba(15,37,64,.035)}.tmc-review-trust-strip>div{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:3px 15px;border-right:1px solid #edf0f3}.tmc-review-trust-strip>div:last-child{border-right:0}.tmc-trust-icon{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4eee3;color:#b5893b;font-size:16px}.tmc-review-trust-strip strong{font-size:11px;color:#203146}.tmc-review-trust-strip small{font-size:9px;color:#8792a0}
.tmc-video-review-card{border:1px solid #e1e6ec!important;border-radius:12px!important;background:#fbfcfd!important}

@media(max-width:900px){.tmc-reviews-page-grid{grid-template-columns:1fr}.tmc-reviews-page-community{padding:20px}.tmc-review-trust-strip{grid-template-columns:1fr 1fr}.tmc-review-trust-strip>div:nth-child(2){border-right:0}.tmc-review-trust-strip>div:nth-child(-n+2){border-bottom:1px solid #edf0f3;padding-bottom:12px;margin-bottom:12px}}
@media(max-width:560px){.tmc-reviews-page-shell{padding:0 12px}.tmc-reviews-page-form .tmc-review-form-root{padding:24px 18px}.tmc-review-form-intro h2{font-size:27px}.tmc-reviews-page-form .tmc-review-tabs{grid-template-columns:1fr}.tmc-review-profile-photo{align-items:flex-start!important}.tmc-review-label-row{gap:10px}.tmc-review-trust-strip{grid-template-columns:1fr}.tmc-review-trust-strip>div{border-right:0!important;border-bottom:1px solid #edf0f3!important;padding:10px 8px!important;margin:0!important}.tmc-review-trust-strip>div:last-child{border-bottom:0!important}.tmc-community-heading h2{font-size:26px}}


/* ==========================================================================
   1.8 — Mobile-first video recording
   - `hidden` was being overridden by display rules (Retake / previews never
     really hid or showed, notably on iPhone) → force it inside the video UI.
   - Camera opens in a full-screen sheet so people always SEE the camera.
   ========================================================================== */
.tmc-video-review-card [hidden],
.tmc-camera-sheet[hidden],
.tmc-camera-sheet [hidden] { display: none !important; }

/* Launcher card (inline, inside the form) */
.tmc-video-launch .tmc-camera-stage { min-height: 190px; cursor: pointer; }
.tmc-video-review-card .tmc-camera-actions { margin-top: 14px; }
.tmc-video-review-card .tmc-open-camera { width: 100%; min-height: 52px; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.tmc-native-link {
    display: block; margin: 12px auto 0; padding: 8px 6px; border: 0 !important; background: none !important;
    box-shadow: none !important; color: #0b2a49; font-size: 13px; text-decoration: underline; cursor: pointer; text-transform: none; letter-spacing: 0;
}
.tmc-video-done video {
    display: block; width: 100%; max-height: 60vh; border-radius: 14px; background: #000; object-fit: contain;
}

/* Full-screen camera sheet (moved to <body> by JS) */
html.tmc-cam-open, html.tmc-cam-open body { overflow: hidden !important; }
.tmc-camera-sheet {
    position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2147483000;
    display: flex; align-items: center; justify-content: center;
    background: #000; color: #fff; font-family: inherit;
    overscroll-behavior: contain; -webkit-tap-highlight-color: transparent;
}
.tmc-camera-sheet * { box-sizing: border-box; }
.tmc-cam-frame { width: 100%; height: 100%; }
.tmc-cam-viewport { position: relative; width: 100%; height: 100%; overflow: hidden; background: #000; }
.tmc-cam-video {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block;
    object-fit: cover; background: #000; max-height: none; aspect-ratio: auto;
}
.tmc-cam-video.is-mirrored { transform: scaleX(-1); }
/* Review state: show the whole clip (not cropped) above the button bar so native video controls stay usable. */
.tmc-camera-sheet.is-review #tmc-recorded-preview {
    object-fit: contain; top: calc(64px + env(safe-area-inset-top, 0px));
    height: calc(100% - 172px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

.tmc-cam-topbar {
    position: absolute; top: 0; left: 0; right: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 14px 22px; background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,0));
    pointer-events: none;
}
.tmc-cam-topbar > * { pointer-events: auto; }
.tmc-camera-sheet .tmc-cam-round {
    width: 44px !important; height: 44px !important; min-height: 44px !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 50% !important; background: rgba(0,0,0,.5) !important; color: #fff !important;
    box-shadow: none !important; font-size: 19px !important; line-height: 1 !important; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; -webkit-appearance: none; appearance: none;
}
.tmc-camera-sheet .tmc-cam-round:disabled { opacity: .4; }
.tmc-camera-sheet .tmc-recording-indicator {
    position: static; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px;
    background: rgba(0,0,0,.55); color: #fff; font-size: 14px; font-weight: 700;
}
.tmc-camera-sheet #tmc-recording-time { color: #fff; font-variant-numeric: tabular-nums; font-weight: 700; }

.tmc-cam-controls {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; padding: 40px 18px calc(22px + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.65)); text-align: center;
}
.tmc-cam-hint { margin: 0 0 12px !important; color: #fff; font-size: 14px; font-weight: 600; text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.tmc-camera-sheet .tmc-cam-shutter {
    width: 76px !important; height: 76px !important; min-height: 76px !important; margin: 0 auto !important; padding: 0 !important;
    border: 4px solid #fff !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important;
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer; -webkit-appearance: none; appearance: none;
}
.tmc-cam-shutter span { display: block; width: 56px; height: 56px; border-radius: 50%; background: #ef4444; transition: width .16s, height .16s, border-radius .16s; }
.tmc-cam-shutter.is-recording span { width: 28px; height: 28px; border-radius: 7px; }

.tmc-cam-review { display: none; gap: 12px; max-width: 480px; margin: 0 auto; }
.tmc-camera-sheet.is-review .tmc-cam-live { display: none; }
.tmc-camera-sheet.is-review .tmc-cam-review { display: flex; }
.tmc-camera-sheet.has-message .tmc-cam-live { display: none; }
.tmc-camera-sheet .tmc-cam-btn {
    flex: 1 1 0; min-height: 52px !important; margin: 0 !important; padding: 0 18px !important; border: 1px solid rgba(255,255,255,.4) !important;
    border-radius: 12px !important; background: rgba(255,255,255,.14) !important; color: #fff !important; box-shadow: none !important;
    font-size: 15px !important; font-weight: 700 !important; letter-spacing: .02em; text-transform: none !important; cursor: pointer;
    -webkit-appearance: none; appearance: none;
}
.tmc-camera-sheet .tmc-cam-btn-primary { background: #d3ad61 !important; border-color: #d3ad61 !important; color: #0b2a49 !important; }

.tmc-cam-message {
    position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 12px; padding: 90px 28px 40px; background: rgba(6,20,36,.92); text-align: center;
}
.tmc-cam-message strong { font-size: 18px; color: #fff; }
.tmc-cam-message > span { max-width: 340px; font-size: 14px; line-height: 1.55; color: #cbd5e1; }
.tmc-cam-message .tmc-cam-btn { flex: 0 0 auto; width: 100%; max-width: 320px; }

/* Desktop / tablets: same recorder as a centred dialog instead of edge-to-edge */
@media (min-width: 769px) {
    .tmc-camera-sheet { background: rgba(6,20,36,.78); }
    .tmc-cam-frame { width: min(760px, 92vw); height: auto; aspect-ratio: 16 / 9; max-height: 88vh; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.5); }
    .tmc-camera-sheet.is-review #tmc-recorded-preview { top: 64px; height: calc(100% - 172px); }
}
@media (max-width: 560px) {
    .tmc-video-launch .tmc-camera-stage { min-height: 170px; }
}


/* ==========================================================================
   1.9 — [team_member_testimonials]  (video + written testimonials wall)
   ========================================================================== */
.tmc-testimonials { max-width: 1200px; margin: 0 auto; padding: 8px 0; box-sizing: border-box; }
.tmc-testimonials *, .tmc-testimonials *::before, .tmc-testimonials *::after { box-sizing: border-box; }
.tmc-testimonials [hidden] { display: none !important; }
.tmc-testimonials-section + .tmc-testimonials-section { margin-top: 60px; }
.tmc-testimonials-head { text-align: center; margin: 0 auto 30px; max-width: 640px; }
.tmc-testimonials-head h2 { margin: 0 0 8px; color: #0b2a49; font-size: clamp(24px, 3.2vw, 34px); line-height: 1.2; }
.tmc-testimonials-head h2::after { content: ""; display: block; width: 56px; height: 3px; margin: 13px auto 0; border-radius: 2px; background: #d3ad61; }
.tmc-testimonials-head p { margin: 12px 0 0; color: #5b6b7c; font-size: 15px; line-height: 1.6; }

.tmc-testimonials-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tmc-testimonials-text-grid { column-count: 3; column-gap: 22px; }

.tmc-testimonial-card {
    display: flex; flex-direction: column; overflow: hidden; margin: 0; background: #fff;
    border: 1px solid #e3e8ee; border-radius: 14px; box-shadow: 0 4px 16px rgba(15, 37, 64, .06);
    transition: box-shadow .2s ease, transform .2s ease;
}
.tmc-testimonial-card:hover { box-shadow: 0 10px 28px rgba(15, 37, 64, .11); transform: translateY(-2px); }
.tmc-testimonial-text { position: relative; padding: 22px 24px 22px; margin-bottom: 22px; break-inside: avoid; page-break-inside: avoid; }
.tmc-testimonial-quote { display: block; height: 34px; margin: 0 0 4px; color: #d3ad61; font-family: Georgia, serif; font-size: 68px; line-height: 1; pointer-events: none; }
.tmc-testimonial-content { position: relative; color: #2c3e52; font-size: 15px; line-height: 1.7; }
.tmc-testimonial-content p { margin: 0 0 .8em; }
.tmc-testimonial-content p:last-child { margin-bottom: 0; }
.tmc-testimonial-text .tmc-testimonial-content { margin-bottom: 20px; }

.tmc-testimonial-media { background: #0b1f35; }
.tmc-testimonial-media video { display: block; width: 100%; min-height: 190px; max-height: 460px; object-fit: contain; background: #0b1f35; }
.tmc-testimonial-video .tmc-testimonial-content { padding: 16px 20px 0; font-size: 14px; }

.tmc-testimonial-author { display: flex; align-items: center; gap: 12px; margin-top: auto; padding: 16px 20px 18px; }
.tmc-testimonial-text .tmc-testimonial-author { padding: 16px 0 0; border-top: 1px solid #edf0f3; }
.tmc-testimonial-avatar { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.tmc-testimonial-avatar-initial { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0d2d4f, #0b1f35); color: #fff; font-size: 17px; font-weight: 700; }
.tmc-testimonial-meta { display: flex; flex-direction: column; min-width: 0; }
.tmc-testimonial-meta strong { color: #0b2a49; font-size: 15px; line-height: 1.3; }
.tmc-testimonial-meta small { color: #8290a0; font-size: 12px; }

.tmc-testimonials-actions { display: flex; justify-content: center; margin-top: 28px; }
.tmc-testimonials .tmc-testimonials-more {
    min-height: 48px; padding: 0 30px; border: 0 !important; border-radius: 8px !important; background: #0b2a49 !important; color: #fff !important;
    box-shadow: none !important; font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; cursor: pointer;
    -webkit-appearance: none; appearance: none;
}
.tmc-testimonials .tmc-testimonials-more:hover { background: #104a77 !important; }
.tmc-testimonials .tmc-testimonials-more:disabled { opacity: .6; cursor: wait; }
.tmc-testimonials-empty { padding: 36px 16px; text-align: center; color: #5b6b7c; font-size: 15px; }

@media (max-width: 960px) {
    .tmc-testimonials-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tmc-testimonials-text-grid { column-count: 2; }
}
@media (max-width: 600px) {
    .tmc-testimonials-section + .tmc-testimonials-section { margin-top: 44px; }
    .tmc-testimonials-video-grid { grid-template-columns: 1fr; gap: 16px; }
    .tmc-testimonials-text-grid { column-count: 1; }
    .tmc-testimonial-text { margin-bottom: 16px; padding: 24px 20px 20px; }
    .tmc-testimonials { padding-left: 4px; padding-right: 4px; }
}
