/* ============================================================ *
 * Wild Femme Yoga — inner pages (Inner, Contact, Events)
 * ============================================================ */

/* ---------- INNER HERO ---------- */
.wfy-inner-hero { padding-top: clamp(170px, 20vw, 240px); }
.wfy-inner-hero h1 { margin-bottom: 16px; }
.wfy-inner-hero__lede {
    font-size: 21px;
    color: var(--wfy-ink-soft);
    line-height: 1.7;
    max-width: 720px;
}

/* ---------- INNER CTA (shared bottom band) ---------- */
.wfy-inner-cta {
    text-align: center;
    position: relative;
    overflow: hidden;
}
.wfy-inner-cta--dual .wfy-inner-cta__row {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 28px;
}
@media (max-width: 480px) {
    .wfy-inner-cta--dual .wfy-inner-cta__row { flex-direction: column; align-items: stretch; }
    .wfy-inner-cta--dual .wfy-inner-cta__row .wfy-btn { width: 100%; }
}

/* ============================================================ *
 * EXPERIENCE PAGE — pull quotes inside the manifesto prose
 * ============================================================ */
.wfy-experience-body__pull {
    margin: 1.8em 0;
    padding: 1.4em 0;
    border-top: 1px solid rgba(26, 11, 46, 0.15);
    border-bottom: 1px solid rgba(26, 11, 46, 0.15);
    text-align: center;
}
.wfy-experience-body__pull .wfy-ritual {
    display: block;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.35;
    color: var(--wfy-plum-deep);
}
.wfy-experience-body__pull em {
    background: linear-gradient(110deg, var(--wfy-purple) 0%, var(--wfy-violet) 50%, var(--wfy-gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.wfy-experience-body__h2 {
    font-size: clamp(36px, 4.5vw, 56px);
    text-align: center;
    margin: 2.2em 0 1em;
}
.wfy-experience-body__h2 em { color: var(--wfy-purple); font-style: italic; }

/* ============================================================ *
 * FOR STUDIOS — promise grid, booking + form
 * ============================================================ */
.wfy-studios-promises h2 {
    text-align: center;
    font-size: clamp(36px, 4.5vw, 56px);
    margin-bottom: clamp(48px, 6vw, 72px);
}
.wfy-studios-promises h2 em { color: var(--wfy-purple); font-style: italic; }

.wfy-studios-promise-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    max-width: 980px;
    margin: 0 auto;
}
.wfy-studios-promise {
    background: var(--wfy-white);
    border-radius: var(--wfy-radius-lg);
    padding: 38px 32px;
    border: 1px solid rgba(26, 11, 46, 0.06);
    box-shadow: var(--wfy-shadow-sm);
    transition: transform 0.4s var(--wfy-ease), box-shadow 0.4s var(--wfy-ease);
}
.wfy-studios-promise:hover { transform: translateY(-4px); box-shadow: var(--wfy-shadow-md); }
.wfy-studios-promise__num {
    font-family: var(--wfy-font-display);
    font-style: italic;
    font-size: 48px;
    color: var(--wfy-purple);
    line-height: 1;
    margin-bottom: 18px;
}
.wfy-studios-promise h3 { margin-bottom: 10px; font-size: clamp(22px, 2vw, 28px); }
.wfy-studios-promise p { font-size: 16px; color: var(--wfy-ink-soft); margin: 0; line-height: 1.6; }
.wfy-studios-promises__formats { text-align: center; max-width: 640px; margin: clamp(48px, 6vw, 72px) auto 0; }
.wfy-studios-promises__formats .wfy-ritual { font-size: 20px; color: var(--wfy-plum-deep); }

@media (max-width: 767px) {
    .wfy-studios-promise-grid { grid-template-columns: 1fr; gap: 20px; }
    .wfy-studios-promise { padding: 28px 24px; }
}

.wfy-studios-explained__rule {
    border: 0;
    height: 1px;
    background: var(--wfy-purple);
    width: 60px;
    margin: 3em auto;
    opacity: 0.5;
}

.wfy-studios-book__header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(48px, 6vw, 72px);
}
.wfy-studios-book__header h2 em { font-style: italic; color: var(--wfy-violet); }
.wfy-studios-book__header p { font-size: 18px; color: rgba(255, 255, 255, 0.78); margin-top: 14px; }

.wfy-studios-book__grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 36px;
    align-items: stretch;
}
.wfy-studios-book__calendar {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(199, 125, 255, 0.25);
    border-radius: var(--wfy-radius-lg);
    padding: 40px 32px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.wfy-studios-book__icon {
    color: var(--wfy-gold);
    margin-bottom: 18px;
}
.wfy-studios-book__calendar h3 { color: var(--wfy-cream); font-size: clamp(24px, 2.4vw, 32px); margin-bottom: 12px; font-style: italic; }
.wfy-studios-book__calendar p { color: rgba(255, 255, 255, 0.78); font-size: 15px; line-height: 1.6; margin-bottom: 24px; }

.wfy-studios-book__form {
    background: var(--wfy-cream);
    border-radius: var(--wfy-radius-lg);
    padding: 40px 36px;
    color: var(--wfy-ink);
}
.wfy-studios-book__form h3 {
    font-size: clamp(24px, 2.4vw, 32px);
    margin-bottom: 22px;
    font-style: italic;
}
.wfy-studios-book__form label {
    display: block;
    margin-bottom: 18px;
}
.wfy-studios-book__form label > span {
    display: block;
    font-family: var(--wfy-font-eyebrow);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--wfy-plum-deep);
    margin-bottom: 8px;
}
.wfy-studios-book__form input,
.wfy-studios-book__form textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid rgba(26, 11, 46, 0.18);
    border-radius: var(--wfy-radius-sm);
    background: var(--wfy-white);
    font-family: var(--wfy-font-body);
    font-size: 16px;
    color: var(--wfy-ink);
    transition: border-color 0.25s var(--wfy-ease), box-shadow 0.25s var(--wfy-ease);
}
.wfy-studios-book__form input:focus,
.wfy-studios-book__form textarea:focus {
    outline: none;
    border-color: var(--wfy-purple);
    box-shadow: 0 0 0 3px rgba(157, 78, 221, 0.15);
}
.wfy-studios-book__form textarea { resize: vertical; min-height: 130px; }

@media (max-width: 1023px) {
    .wfy-studios-book__grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 480px) {
    .wfy-studios-book__form { padding: 28px 22px; }
    .wfy-studios-book__calendar { padding: 32px 24px; }
}

/* ============================================================ *
 * POLARITY PAGE
 * ============================================================ */
.wfy-polarity-hero h1 em { background: linear-gradient(110deg, var(--wfy-purple) 0%, var(--wfy-violet) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-style: italic; }

.wfy-polarity-body__pull {
    margin: 1.8em 0 !important;
    padding: 1.4em 0;
    border-top: 1px solid rgba(26, 11, 46, 0.15);
    border-bottom: 1px solid rgba(26, 11, 46, 0.15);
    text-align: center;
}
.wfy-polarity-body__pull .wfy-ritual {
    display: block;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.35;
    color: var(--wfy-plum-deep);
}

.wfy-polarity-studio__header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(48px, 6vw, 72px);
}
.wfy-polarity-studio__header h2 em { color: var(--wfy-violet); font-style: italic; }

.wfy-polarity-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.wfy-polarity-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(199, 125, 255, 0.22);
    border-radius: var(--wfy-radius-lg);
    padding: 44px 32px;
    transition: transform 0.4s var(--wfy-ease), background 0.4s var(--wfy-ease), border-color 0.4s var(--wfy-ease);
}
.wfy-polarity-card:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.07);
    border-color: var(--wfy-violet);
    box-shadow: 0 24px 60px rgba(199, 125, 255, 0.18);
}
.wfy-polarity-card__num {
    font-family: var(--wfy-font-display);
    font-style: italic;
    font-size: 56px;
    color: var(--wfy-gold);
    line-height: 1;
    margin-bottom: 22px;
}
.wfy-polarity-card h3 { color: var(--wfy-cream); font-size: clamp(22px, 2vw, 28px); margin-bottom: 12px; }
.wfy-polarity-card p { color: rgba(255, 255, 255, 0.78); font-size: 16px; line-height: 1.6; margin: 0; }

@media (max-width: 1023px) { .wfy-polarity-cards { grid-template-columns: 1fr; gap: 18px; } }
@media (min-width: 768px) and (max-width: 1023px) { .wfy-polarity-cards { grid-template-columns: 1fr 1fr; } .wfy-polarity-card:nth-child(3) { grid-column: span 2; } }

.wfy-polarity-cta { text-align: center; }
.wfy-polarity-cta h2 {
    max-width: 820px;
    margin: 0 auto 24px;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.25;
}
.wfy-polarity-cta h2 em { font-style: italic; color: var(--wfy-purple); }
.wfy-polarity-cta__sign {
    font-size: clamp(20px, 2vw, 26px);
    color: var(--wfy-purple);
    margin: 28px 0 32px;
}
.wfy-polarity-cta__row { display: flex; justify-content: center; }
@media (max-width: 480px) {
    .wfy-polarity-cta__row .wfy-btn { width: 100%; }
}
.wfy-inner-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse at 30% 50%, rgba(199, 125, 255, 0.18), transparent 60%),
      radial-gradient(ellipse at 80% 50%, rgba(244, 196, 48, 0.08), transparent 60%);
    pointer-events: none;
}
.wfy-inner-cta h2 em { font-style: italic; color: var(--wfy-violet); }
.wfy-inner-cta p {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.78);
    margin: 16px auto 28px;
    max-width: 540px;
}

/* ---------- CONTACT ---------- */
.wfy-contact-hero { padding-top: clamp(140px, 18vw, 220px); }
.wfy-contact-hero h1 { margin-bottom: 18px; }

.wfy-contact__grid {
    display: grid;
    grid-template-columns: 0.9fr 1.3fr;
    gap: 80px;
    align-items: start;
}
.wfy-contact__info h2 em { font-style: italic; color: var(--wfy-purple); }
.wfy-contact__info p {
    font-size: 16px;
    color: var(--wfy-ink-soft);
}
.wfy-contact__info strong {
    display: block;
    font-family: var(--wfy-font-eyebrow);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--wfy-purple);
    margin-bottom: 4px;
}

.wfy-contact__form {
    background: var(--wfy-white);
    padding: 48px 44px;
    border-radius: var(--wfy-radius-lg);
    box-shadow: var(--wfy-shadow-md);
}
.wfy-contact__form label {
    display: block;
    margin-bottom: 22px;
}
.wfy-contact__form label > span {
    display: block;
    font-family: var(--wfy-font-eyebrow);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--wfy-plum-deep);
    margin-bottom: 8px;
}
.wfy-contact__form input,
.wfy-contact__form select,
.wfy-contact__form textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid rgba(26, 11, 46, 0.18);
    border-radius: var(--wfy-radius-sm);
    background: var(--wfy-cream);
    font-family: var(--wfy-font-body);
    font-size: 16px;
    color: var(--wfy-ink);
    transition: border-color 0.25s var(--wfy-ease), box-shadow 0.25s var(--wfy-ease);
}
.wfy-contact__form input:focus,
.wfy-contact__form select:focus,
.wfy-contact__form textarea:focus {
    outline: none;
    border-color: var(--wfy-purple);
    box-shadow: 0 0 0 3px rgba(157, 78, 221, 0.15);
}
.wfy-contact__form textarea { resize: vertical; min-height: 140px; }

.wfy-form-msg {
    padding: 16px 20px;
    border-radius: var(--wfy-radius-sm);
    font-size: 15px;
    margin-bottom: 24px;
}
.wfy-form-msg--success {
    background: rgba(157, 78, 221, 0.08);
    color: var(--wfy-plum-deep);
    border-left: 3px solid var(--wfy-purple);
}
.wfy-form-msg--error {
    background: rgba(244, 196, 48, 0.12);
    color: var(--wfy-plum-deep);
    border-left: 3px solid var(--wfy-gold);
}

@media (max-width: 1023px) {
    .wfy-contact__grid { grid-template-columns: 1fr; gap: 48px; }
    .wfy-contact__form { padding: 32px 28px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
    /* Tablet: keep info + form side-by-side, narrower info column */
    .wfy-contact__grid { grid-template-columns: 0.8fr 1.2fr; gap: 40px; }
    .wfy-contact__form { padding: 40px 36px; }
}
@media (max-width: 480px) {
    .wfy-contact__form { padding: 28px 22px; border-radius: 12px; }
    .wfy-contact__form input,
    .wfy-contact__form select,
    .wfy-contact__form textarea {
        font-size: 16px; /* prevent iOS zoom on focus */
    }
}

/* ---------- EVENTS PAGE ---------- */
.wfy-events-hero { padding-top: clamp(140px, 18vw, 220px); }
.wfy-events-hero__copy {
    max-width: 760px;
}
.wfy-events-hero__lede {
    font-size: 20px;
    color: var(--wfy-ink-soft);
    line-height: 1.7;
    margin-bottom: 32px;
}
.wfy-events-embed__frame {
    background: var(--wfy-white);
    border-radius: var(--wfy-radius-lg);
    padding: 8px;
    box-shadow: var(--wfy-shadow-md);
    overflow: hidden;
}

/* ============================================================ *
 * 404 — "you've wandered off the path"
 * ============================================================ */
.wfy-404 {
    min-height: 80vh;
    min-height: 80svh;
    padding-top: clamp(160px, 22vw, 240px) !important;
    padding-bottom: clamp(120px, 16vw, 200px) !important;
    display: flex;
    align-items: center;
    color: var(--wfy-cream);
    overflow: hidden;
    isolation: isolate;
    text-align: center;
}
.wfy-404__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.wfy-404__aurora {
    position: absolute;
    inset: -10%;
    filter: blur(8px);
}
.wfy-404__aurora--a {
    background: radial-gradient(ellipse 50% 50% at 30% 40%, rgba(157, 78, 221, 0.55) 0%, transparent 65%);
    animation: wfyAuroraDrift 18s ease-in-out infinite;
}
.wfy-404__aurora--b {
    background: radial-gradient(ellipse 50% 50% at 70% 60%, rgba(199, 125, 255, 0.4) 0%, transparent 65%);
    animation: wfyAuroraDrift 22s ease-in-out -6s infinite reverse;
}
.wfy-404__rings { position: absolute; inset: 0; width: 100%; height: 100%; }

.wfy-404__inner {
    max-width: 720px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.wfy-404__inner h1 {
    color: var(--wfy-cream);
    font-size: clamp(48px, 7vw, 96px);
    line-height: 1.05;
    margin: 16px 0 24px;
}
.wfy-404__inner h1 em {
    font-style: italic;
    background: linear-gradient(110deg, var(--wfy-pink-pale) 0%, var(--wfy-violet) 50%, var(--wfy-gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.wfy-404__lede {
    font-size: clamp(22px, 2.4vw, 30px);
    margin-bottom: 18px;
}
.wfy-404__lede .wfy-ritual { color: var(--wfy-violet); }
.wfy-404__body {
    font-size: 18px;
    color: rgba(255, 230, 242, 0.78);
    margin-bottom: 36px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}
.wfy-404__paths {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-bottom: 56px;
}
.wfy-404__quiet {
    font-size: clamp(15px, 1.4vw, 18px);
    color: rgba(255, 230, 242, 0.5);
    font-style: italic;
}
@media (max-width: 480px) {
    .wfy-404__paths .wfy-btn { width: 100%; max-width: 320px; }
}

/* Mobile mute on aurora — same iOS jitter rule as the homepage hero */
@media (max-width: 767px) {
    .wfy-404__aurora { animation: none !important; filter: none; inset: 0; }
}

/* ---------- SINGLE POST ---------- */
.wfy-single__meta {
    font-family: var(--wfy-font-eyebrow);
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--wfy-mute);
    margin-bottom: 0;
}
.wfy-single__hero {
    height: clamp(280px, 40vw, 480px);
    overflow: hidden;
}
.wfy-single__hero img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================ *
 * Inner pages — small mobile tightening
 * ============================================================ */
@media (max-width: 480px) {
    .wfy-inner-hero,
    .wfy-events-hero,
    .wfy-contact-hero { padding-top: clamp(100px, 22vw, 140px); }
    .wfy-events-hero__lede,
    .wfy-inner-hero__lede { font-size: 17px; }
    .wfy-events-hero__copy .wfy-btn,
    .wfy-inner-cta .wfy-btn { width: 100%; }
}
