/* ==========================================================================
 * Wild Femme Aura — app skin
 * Member, booking, checkout, studio and schedule pages keep the parent's
 * templates and layouts (parent inner/portal/schedule CSS still load).
 * This layer only aligns them with the new look: solid glass header
 * clearance, refined surfaces, inputs and buttons.
 * ======================================================================== */

.af-app .af-main { padding-top: 104px; }
@media (max-width: 640px) { .af-app .af-main { padding-top: 84px; } }

/* Sections */
.af-app .wfy-section--cream { background: var(--cream); }
.af-app .wfy-section--warm { background: linear-gradient(180deg, var(--cream), var(--mist)); }
.af-app .wfy-section--pink { background: radial-gradient(80% 60% at 50% 0%, var(--pink), var(--mist) 70%); }
.af-app .wfy-section--plum { background: radial-gradient(90% 70% at 80% 100%, var(--plum-2), var(--plum) 70%); }
.af-app .wfy-container { max-width: var(--wrap); padding-inline: var(--gut); }
.af-app .wfy-grain { display: none; }

/* Type */
.af-app h1, .af-app h2 { font-family: var(--f-display); font-weight: 300; letter-spacing: -.012em; }
.af-app .wfy-main h1 { font-size: clamp(42px, 5.4vw, 84px); line-height: 1.02; }
.af-app .wfy-main h2 { line-height: 1.06; }
.af-app .wfy-main h1 em, .af-app .wfy-main h2 em { color: var(--purple); }
.af-app .wfy-section--plum h1 em, .af-app .wfy-section--plum h2 em { color: var(--violet); }
.af-app .wfy-eyebrow { font-size: 11px; letter-spacing: .32em; color: var(--purple); }

/* Buttons — parent classes, new finish */
.af-app .wfy-btn { border-radius: 999px; letter-spacing: .2em; font-weight: 600; transition: transform .5s var(--ease), box-shadow .5s var(--ease), background .4s, color .4s, border-color .4s; }
.af-app .wfy-btn:hover { transform: translateY(-2px); }
.af-app .wfy-btn--gold:hover { box-shadow: 0 14px 40px -10px rgba(244,196,48,.6); }
.af-app .wfy-btn--plum:hover { box-shadow: 0 14px 40px -12px rgba(157,78,221,.6); background: var(--purple); }

/* Cards / panels used across portal + booking */
.af-app .wfy-portal-card, .af-app .wfy-book-card, .af-app .wfy-form-card, .af-app .wfy-portal-attach,
.af-app .wfy-auth, .af-app .wfy-auth__card, .af-app .wfy-confirm, .af-app .wfy-confirm__card, .af-app .wfy-studio__panel {
	border-radius: 26px;
	box-shadow: 0 34px 80px -44px rgba(43,21,71,.45);
	border: 1px solid rgba(26,11,46,.06);
}

/* Inputs */
.af-app .wfy-main input[type="text"], .af-app .wfy-main input[type="email"], .af-app .wfy-main input[type="password"],
.af-app .wfy-main input[type="tel"], .af-app .wfy-main input[type="number"], .af-app .wfy-main input[type="url"],
.af-app .wfy-main input[type="date"], .af-app .wfy-main input[type="datetime-local"], .af-app .wfy-main input[type="time"],
.af-app .wfy-main select, .af-app .wfy-main textarea {
	border-radius: 14px;
	transition: border-color .35s, box-shadow .35s, background .35s;
}
.af-app .wfy-main input:focus, .af-app .wfy-main select:focus, .af-app .wfy-main textarea:focus {
	outline: none; border-color: var(--violet) !important; box-shadow: 0 0 0 4px rgba(199,125,255,.18) !important;
}

/* Schedule — date rail + class cards */
.af-schedule .wfy-sched-strip { padding-top: clamp(60px, 7vw, 100px); }
.af-schedule .wfy-sched-pill { border-radius: 999px 999px 22px 22px; transition: transform .5s var(--ease), box-shadow .5s var(--ease), background .4s, color .4s; }
.af-schedule .wfy-sched-pill:hover { transform: translateY(-4px); }
.af-schedule .wfy-sched-pill.is-active { box-shadow: 0 18px 40px -16px rgba(157,78,221,.65); }
.af-schedule .wfy-sched-card { border-radius: 26px; overflow: hidden; background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 30px 70px -40px rgba(43,21,71,.45); transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.af-schedule .wfy-sched-card:hover { transform: translateY(-6px); box-shadow: 0 40px 90px -40px rgba(157,78,221,.55); }
.af-schedule .wfy-sched-card__media img { transition: transform 1.4s var(--ease); }
.af-schedule .wfy-sched-card:hover .wfy-sched-card__media img { transform: scale(1.05); }
.af-schedule .wfy-sched-card__title { font-family: var(--f-display); font-weight: 400; }
.af-schedule .wfy-sched-featured { background: radial-gradient(80% 60% at 50% 40%, var(--plum-2), var(--plum) 70%); }
.af-schedule .wfy-sched-featured .wfy-sched-card { background: rgba(255,255,255,.06); border-color: rgba(255,230,242,.16); }

/* Elevation: foil gold on parent buttons */
.af-app .wfy-btn--gold { background: linear-gradient(120deg, #F9DE85 0%, #F4C430 34%, #E5B82E 62%, #F7D877 100%); background-size: 180% 100%; background-position: 0 0; transition: transform .5s var(--ease), box-shadow .5s var(--ease), background-position .9s var(--ease); }
.af-app .wfy-btn--gold:hover { background-position: 100% 0; }
