/*
 * New Clients page (/new-clients-2/) — rides on the sienna design system
 * (base/beautify/components/editorial) like the homepage; this file only holds
 * what that system has no class for. Everything is scoped to .jid-newclients.
 */

/* ── Hero: homepage hero, single image, review summary card ────────── */
.jid-newclients .nc-hero .hero-bg img { animation: none; opacity: 1; }
.jid-newclients .nc-hero__sub {
    font-family: var(--font-heading);
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-gray-600);
    margin: 0 0 var(--space-lg);
    max-width: 560px;
}
.jid-newclients .nc-rating { text-align: center; }
.jid-newclients .nc-rating__word {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--color-dark);
    margin-bottom: 4px;
}
.jid-newclients .nc-rating .hero-review-stars { font-size: 1.6rem; margin-bottom: 6px; }
.jid-newclients .nc-rating .hero-review-count { color: var(--color-gray-600); font-size: .9375rem; }
.jid-newclients .nc-rating .hero-review-count a { color: var(--color-dark); text-decoration: underline; text-underline-offset: 3px; }
.jid-newclients .nc-rating .hero-review-google { justify-content: center; margin-top: var(--space-md); }

/* ── Reviews carousel (homepage carousel, full text) ───────────────── */
.jid-newclients .nc-reviews { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.jid-newclients .nc-reviews .reviews-track { align-items: flex-start; animation-duration: 70s; }
.jid-newclients .nc-reviews .review-card {
    flex: 0 0 320px;
    min-height: 0;
    box-shadow: 0 10px 28px -20px rgba(17, 35, 55, .35);
}
.jid-newclients .nc-reviews .review-text {
    -webkit-line-clamp: 6;
    font-size: .875rem;
    line-height: 1.6;
    flex: none;
}
.jid-newclients .nc-reviews .review-card.is-open .review-text { display: block; -webkit-line-clamp: unset; overflow: visible; }
.jid-newclients .nc-reviews .nc-more {
    align-self: flex-start;
    margin-top: var(--space-sm);
    padding: 0;
    background: none;
    border: 0;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--color-primary-dark);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.jid-newclients .nc-reviews .nc-more[hidden] { display: none; }
.jid-newclients .nc-reviews .reviews-carousel.is-paused .reviews-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
    .jid-newclients .nc-reviews .reviews-carousel { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
    .jid-newclients .nc-reviews .reviews-track { animation: none; }
}
@media (max-width: 600px) {
    .jid-newclients .nc-reviews .review-card { flex-basis: 270px; }
}

/* ── Form + how to book ────────────────────────────────────────────── */
.jid-newclients .nc-book__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-3xl);
    align-items: start;
}
.jid-newclients .nc-form-card {
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: 18px;
    padding: var(--space-xl);
    box-shadow: 0 18px 40px -26px rgba(17, 35, 55, .28);
}
.jid-newclients .nc-howto h2 {
    font-family: var(--font-heading);
    text-align: center;
    margin: 0 0 var(--space-lg);
}
.jid-newclients .nc-video {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 18px 40px -22px rgba(17, 35, 55, .45);
}
.jid-newclients .nc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.jid-newclients .nc-howto__cta { text-align: center; margin-top: var(--space-lg); }

/* Overwatch form, in the house look (same contract as the contact page). */
.jid-newclients .nc-form-card .ow-form { margin: 0; font-family: var(--font-sans); }
.jid-newclients .nc-form-card .ow-field { margin-bottom: var(--space-md); }
.jid-newclients .nc-form-card .ow-field > label,
.jid-newclients .nc-form-card .ow-field > legend {
    display: block;
    font-family: var(--font-sans);
    font-size: .8125rem;
    font-weight: 600;
    color: var(--color-gray-700);
    margin: 0 0 var(--space-xs);
    padding: 0;
}
.jid-newclients .nc-form-card .ow-required { color: var(--color-gray-400); font-weight: 400; font-size: .75rem; margin-left: 4px; }
.jid-newclients .nc-form-card .ow-form input[type="text"],
.jid-newclients .nc-form-card .ow-form input[type="email"],
.jid-newclients .nc-form-card .ow-form input[type="tel"] {
    width: 100%;
    padding: 12px 16px;
    font-family: var(--font-sans);
    font-size: .9375rem;
    line-height: 1.4;
    color: var(--color-dark);
    background: var(--color-white);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}
.jid-newclients .nc-form-card .ow-form input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(16, 181, 219, .15);
}
.jid-newclients .nc-form-card .ow-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.jid-newclients .nc-form-card .ow-choices { display: flex; flex-direction: column; gap: 8px; }
.jid-newclients .nc-form-card .ow-choice {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: .9375rem; font-weight: 400; color: var(--color-dark); line-height: 1.4; cursor: pointer;
}
.jid-newclients .nc-form-card .ow-choice input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--color-primary); flex: 0 0 auto; }
.jid-newclients .nc-form-card .cp-consent {
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    padding: 12px 14px;
}
.jid-newclients .nc-form-card .cp-consent > label { font-weight: 600; }
.jid-newclients .nc-form-card .cp-consent .ow-choice { font-size: .8125rem; color: var(--color-gray-600); line-height: 1.5; }
.jid-newclients .nc-form-card .ow-submit {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%;
    margin-top: var(--space-md);
    padding: 14px 28px;
    font-family: var(--font-heading);
    font-size: .9375rem;
    font-weight: 600;
    color: var(--color-white);
    background: var(--color-primary);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.jid-newclients .nc-form-card .ow-submit:hover { background: var(--color-primary-dark); transform: translateY(-1px); }
.jid-newclients .nc-form-card .ow-form-message { border-radius: var(--radius-md); font-size: .875rem; }
.jid-newclients .nc-form-card .ow-form-message--error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; padding: 12px 16px; margin-top: var(--space-md); }
.jid-newclients .nc-form-card .ow-form-message--success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; padding: 12px 16px; margin-top: var(--space-md); }
.jid-newclients .nc-form-card .ow-field-error { color: #991b1b; font-size: .8125rem; margin-top: 6px; }
@media (max-width: 560px) {
    .jid-newclients .nc-form-card .ow-name-fields { grid-template-columns: 1fr; }
}

/* ── Introductory offer (.cta-block supplies the look) ─────────────── */
.jid-newclients .nc-offer-sec { padding-top: 0; padding-bottom: 0; }
.jid-newclients .cta-block .nc-offer__price {
    font-family: var(--font-heading);
    font-size: clamp(2.75rem, 7vw, 4rem);
    font-weight: 600;
    line-height: 1;
    color: #fff;
    margin-bottom: 2rem;
}

/* ── Homepage text + image layout, reused ──────────────────────────── */
.jid-newclients .nc-flip .pilates-london-image { order: -1; }
.jid-newclients .pilates-london-text ul { margin: var(--space-md) 0 0; padding-left: 1.25rem; color: var(--color-gray-600); line-height: 1.8; }
.jid-newclients .pilates-london-text li::marker { color: var(--color-primary); }
.jid-newclients .pilates-london-text a { color: var(--color-primary-dark); text-underline-offset: 3px; }
.jid-newclients .pilates-london-text p + p { margin-top: var(--space-md); }
@media (max-width: 768px) { .jid-newclients .nc-flip .pilates-london-image { order: 0; } }

/* ── Studio cards: homepage location-card + a map ──────────────────── */
.jid-newclients .location-card .card-title a { color: inherit; text-decoration: none; }
.jid-newclients .location-card .card-title a:hover { color: var(--color-primary-dark); }
.jid-newclients .location-card address { font-style: normal; line-height: 1.7; margin-bottom: var(--space-md); }
.jid-newclients .nc-map { margin-top: auto; aspect-ratio: 16 / 10; border-radius: var(--radius-md); overflow: hidden; background: var(--color-gray-100); }
.jid-newclients .nc-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.jid-newclients .norfolk-strip__desc a { color: var(--color-primary-dark); font-weight: 600; text-underline-offset: 3px; }

/* ── Responsive ────────────────────────────────────────────────────── */
@media (max-width: 860px) {
    .jid-newclients .nc-book__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
    .jid-newclients .nc-form-card { padding: var(--space-lg); }
}
