/* Magnify Coaching — [magnify_services] / [magnify_studios] front-end grids */
.mc-grid { --g:#C9A227; --gd:#a8861c; display:grid; gap:24px; max-width:1100px; margin:0 auto; }
.mc-grid-cols-1 { grid-template-columns:1fr; }
.mc-grid-cols-2 { grid-template-columns:repeat(2,1fr); }
.mc-grid-cols-3 { grid-template-columns:repeat(3,1fr); }
.mc-grid-cols-4 { grid-template-columns:repeat(4,1fr); }

.mc-grid-card { display:block; background:#fff; border:1px solid #ececec; border-radius:16px; overflow:hidden;
	box-shadow:0 8px 26px rgba(0,0,0,.06); color:inherit; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.mc-grid-link:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,.1); }
.mc-grid-img { aspect-ratio:4/3; background:#f4f1e7; }
.mc-grid-img img { width:100%; height:100%; object-fit:cover; display:block; }
.mc-grid-ph { display:block; width:100%; height:100%; background:linear-gradient(135deg,#f4f1e7,#ece6d2); }
.mc-grid-body { padding:16px 18px 20px; }
.mc-grid-cat { color:var(--gd); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.mc-grid-name { font-weight:700; font-size:18px; color:#1a1a1a; margin-top:4px; }
.mc-grid-price { color:var(--gd); font-weight:700; margin-top:8px; }
.mc-grid-addr { color:#666; font-size:14px; line-height:1.5; margin-top:6px; }
.mc-grid-empty { color:#888; }

@media (max-width:900px) { .mc-grid-cols-3, .mc-grid-cols-4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .mc-grid { grid-template-columns:1fr; } }

/* layout="cards" — dark, gold-outlined service cards with icon + description + rates */
.mc-svc-cards { --g:#C9A227; --gd:#a8861c; }
.mc-svc-card { display:flex; flex-direction:column; background:#1a171269; border:1px solid var(--gd);
	border-radius:14px; padding:26px 24px; color:#e9e2cf; box-shadow:none; }
.mc-svc-icon { margin-bottom:14px; }
.mc-svc-icon img { width:54px; height:54px; object-fit:contain; display:block; }
.mc-svc-icon-ph { display:inline-block; width:54px; height:54px; border-radius:10px; background:rgba(201,162,39,.14); }
.mc-svc-name { margin:0 0 8px; font-size:21px; font-weight:700; color:var(--g); line-height:1.2; }
.mc-svc-desc { margin:0 0 16px; font-size:15px; line-height:1.6; color:#cfc6b0; }
.mc-svc-rates-toggle { margin-top:auto; align-self:flex-start; background:none; border:0; padding:0; cursor:pointer;
	font:inherit; font-weight:600; color:var(--g); display:inline-flex; align-items:center; gap:6px; }
.mc-svc-rates-toggle:hover { color:#f0d77a; }
.mc-svc-caret { transition:transform .18s; display:inline-block; }
.mc-svc-open .mc-svc-caret { transform:rotate(90deg); }
.mc-svc-rates { margin-top:14px; border-top:1px solid rgba(201,162,39,.25); padding-top:12px; }
.mc-svc-rates ul { list-style:none; margin:0; padding:0; }
.mc-svc-rates li { display:flex; justify-content:space-between; gap:14px; padding:6px 0; font-size:14px; border-bottom:1px solid rgba(255,255,255,.06); }
.mc-svc-rates li:last-child { border-bottom:0; }
.mc-svc-rates li span { color:#bcb39c; }
.mc-svc-rates li b { color:#fff; }
.mc-svc-book { display:inline-block; margin-top:12px; color:#1a1712; background:var(--g); font-weight:700;
	padding:9px 16px; border-radius:8px; text-decoration:none; }
.mc-svc-book:hover { background:#e0b62f; color:#1a1712; }

/* ---- Single service page (/service-detail/, [magnify_service_detail]) ---- */
.mc-svcd-page { padding-bottom: 56px; background: var(--mc-ink-2); color: #ece7da; }
.mc-svcd-hero { position: relative; min-height: 340px; display: flex; align-items: flex-end; background-size: cover; background-position: center; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.mc-svcd-hero-noimg { background: radial-gradient(900px 500px at 50% -10%, rgba(216, 178, 60, .18), transparent 65%), linear-gradient(180deg, #2a2415, var(--mc-ink-2)); justify-content: center; text-align: center; padding-top: 50px; }
.mc-svcd-hero-inner { max-width: 960px; margin: 0 auto; width: 100%; padding: 0 24px 34px; }
.mc-svcd-hero-noimg .mc-svcd-hero-inner { text-align: center; }
.mc-svcd-monogram { width: 96px; height: 96px; border-radius: 50%; background: linear-gradient(135deg, var(--mc-gold), var(--mc-gold-dark)); display: flex; align-items: center; justify-content: center; font-family: "Oswald", sans-serif; font-size: 34px; font-weight: 600; color: var(--mc-ink); margin: 0 auto 18px; }
.mc-svcd-badge { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; background: rgba(216, 178, 60, .14); color: var(--mc-gold); border: 1px solid rgba(216, 178, 60, .4); margin-right: 8px; }
.mc-svcd-badge-plain { background: transparent; }
.mc-svcd-title { font-family: "Oswald", sans-serif; font-size: 40px; font-weight: 600; margin: 12px 0 10px; line-height: 1.1; color: #ece7da; }
.mc-svcd-cta { display: inline-block; font-family: "Oswald", sans-serif; font-weight: 600; font-size: 14px; padding: 12px 24px; border-radius: 8px; background: linear-gradient(178deg, #e2be45 0%, #cfa430 42%, #b7891c 100%); color: var(--mc-ink); text-decoration: none; margin-top: 16px; }
.mc-svcd-content { max-width: 960px; margin: 0 auto; padding: 48px 24px 0; }
.mc-svcd-section { margin-bottom: 44px; }
.mc-svcd-section h2 { font-family: "Oswald", sans-serif; font-size: 22px; font-weight: 600; margin: 0 0 18px; color: #ece7da; }
.mc-svcd-desc { color: var(--mc-muted); line-height: 1.6; }
.mc-svcd-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.mc-svcd-tier { position: relative; background: var(--mc-panel-2); border: 1px solid var(--mc-line); border-radius: 12px; padding: 18px; }
.mc-svcd-tier-best { border-color: var(--mc-gold); box-shadow: 0 0 0 1px var(--mc-gold), 0 8px 30px rgba(216, 178, 60, .12); }
.mc-svcd-tier-badge { position: absolute; top: -11px; right: 12px; background: var(--mc-gold); color: var(--mc-ink); font-size: 9px; font-weight: 700; letter-spacing: .04em; padding: 3px 8px; border-radius: 8px; }
.mc-svcd-tier-sess { font-size: 13px; color: var(--mc-muted); margin-bottom: 6px; }
.mc-svcd-tier-price { font-family: "Oswald", sans-serif; font-size: 24px; color: var(--mc-gold); font-weight: 500; }
.mc-svcd-people { display: flex; flex-wrap: wrap; gap: 22px; }
.mc-svcd-person { width: 110px; text-align: center; }
.mc-svcd-person img, .mc-svcd-person-ph { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 8px; }
.mc-svcd-person-ph { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--mc-gold), var(--mc-gold-dark)); font-family: "Oswald", sans-serif; font-weight: 600; color: var(--mc-ink); font-size: 20px; }
.mc-svcd-person-name { display: block; font-size: 13px; font-weight: 600; color: #ece7da; }
.mc-svcd-person-role { display: block; font-size: 11px; color: var(--mc-muted); margin-top: 2px; }
.mc-svcd-bottom-cta { text-align: center; padding-top: 24px; border-top: 1px solid var(--mc-line); }
@media (max-width: 640px) { .mc-svcd-title { font-size: 30px; } .mc-svcd-hero { min-height: 280px; } }

/* "View details" link on service cards. */
.mc-svc-details { display:inline-block; margin-top:12px; font-weight:600; color:#c9a227; text-decoration:none; }
.mc-svc-details:hover { text-decoration:underline; }
