/*
Theme Name: Upadesha Academy
Theme URI: https://upadesha.in
Author: Upadesha Academy
Author URI: https://upadesha.in
Description: A premium, culturally-rooted WordPress theme for Upadesha Academy — an experiential learning center in Bengaluru offering immersive courses, workshops, faculty-led sessions and team retreats grounded in Indian Knowledge Systems. Full Theme Customizer for branding, header, footer, contact info, social links, colours and typography; Gutenberg Block Editor for all content, including the homepage.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: upadesha
Tags: education, custom-colors, custom-logo, custom-menu, editor-style, featured-images, translation-ready, accessibility-ready, theme-options

Upadesha Academy — "Anubhava to Anubhuti" (from experience to realisation).
*/

/* Base resets & utility classes that are hard to express purely in theme.json */

*{ box-sizing:border-box; }
body{ margin:0; }
img{ max-width:100%; height:auto; }

.upadesha-skip-link{
	background:#5C140F;
	color:#FBF3E4;
	padding:.75em 1.25em;
	position:absolute;
	left:0;
	top:-100px;
	z-index:100000;
	transition:top .2s ease;
	text-decoration:none;
	border-radius:0 0 6px 0;
}
.upadesha-skip-link:focus{ top:0; }

*:focus-visible{
	outline:2px solid #D9A441;
	outline-offset:3px;
}

/* Signature arch/mandala divider used between homepage sections */
.upadesha-divider{
	display:flex;
	justify-content:center;
	align-items:center;
	margin:0;
	line-height:0;
}
.upadesha-divider svg{ width:120px; height:32px; }

/* Eyebrow labels set in the display accent face, tracked out, small */
.upadesha-eyebrow{
	font-family:"Yatra One", "Cormorant Garamond", serif;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:#B9792A;
	font-size:0.85rem;
}

/* Card hover lift — subtle, respects reduced motion */
.upadesha-card{
	transition:transform .35s ease, box-shadow .35s ease;
}
.upadesha-card:hover,
.upadesha-card:focus-within{
	transform:translateY(-6px);
	box-shadow:0 18px 40px -18px rgba(92,20,15,.35);
}

@media (prefers-reduced-motion: reduce){
	.upadesha-card,
	.upadesha-skip-link,
	.upadesha-reveal{
		transition:none !important;
	}
}

/* Scroll reveal (progressive enhancement, see assets/js/main.js) */
.upadesha-reveal{
	opacity:0;
	transform:translateY(24px);
	transition:opacity .7s ease, transform .7s ease;
}
.upadesha-reveal.is-visible{
	opacity:1;
	transform:translateY(0);
}

/* ==========================================================================
   MERGED FROM assets/css/style.css (kept as one file to avoid any risk of a
   second stylesheet failing to enqueue on some hosts/caching setups)
========================================================================= */
/**
 * Upadesha Academy — assets/css/style.css
 *
 * Supplementary, hand-written CSS for things the Global Styles engine
 * (theme.json) cannot express: responsive tweaks, decorative background
 * texture, the mobile navigation overlay, card/grid polish, the gallery
 * masonry, testimonial layout, and the contact form.
 *
 * Loaded after style.css (theme header) — see functions.php.
 *
 * @package Upadesha
 */

/* -----------------------------------------------------------------------
   1. Decorative texture — a faint repeating mandala-dot pattern used on
      cream section backgrounds. Pure CSS (no image request).
----------------------------------------------------------------------- */
.upadesha-textured{
	position:relative;
	background-image:
		radial-gradient(circle at 1px 1px, rgba(109,26,20,.06) 1px, transparent 0);
	background-size:22px 22px;
}

/* -----------------------------------------------------------------------
   2. Site header — sticky on scroll, subtle shadow once scrolled.
----------------------------------------------------------------------- */
.upadesha-site-header{
	position:sticky;
	top:0;
	z-index:999;
	transition:box-shadow .3s ease, padding .3s ease;
}
.upadesha-site-header.is-scrolled{
	box-shadow:0 4px 24px -8px rgba(43,27,18,.18);
}
.upadesha-tagline-strap{ margin:0; }

/* Mobile navigation overlay polish */
.wp-block-navigation__responsive-container.is-menu-open{
	background:#FBF3E4 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
	font-family:"Cormorant Garamond", serif;
	font-size:1.5rem;
}

/* -----------------------------------------------------------------------
   3. Card grids — equal-height content columns, image aspect ratio,
      gentle border in addition to the shadow-on-hover in style.css.
----------------------------------------------------------------------- */
.upadesha-card{
	border:1px solid rgba(43,27,18,.08);
	height:100%;
}
.upadesha-card img{
	transition:transform .5s ease;
}
.upadesha-card:hover img{
	transform:scale(1.04);
}
.upadesha-card .wp-block-post-featured-image{
	overflow:hidden;
}

/* Faculty portrait cards — circular framed photo, gold ring */
.upadesha-faculty-card .wp-block-post-featured-image img{
	border-radius:50%;
	aspect-ratio:1/1;
	object-fit:cover;
	border:3px solid var(--wp--preset--color--gold-500);
	padding:4px;
}

/* -----------------------------------------------------------------------
   4. Gallery — CSS column masonry, graceful on mobile.
----------------------------------------------------------------------- */
.upadesha-masonry{
	column-count:3;
	column-gap:1rem;
}
.upadesha-masonry > *{
	break-inside:avoid;
	margin-bottom:1rem;
	border-radius:6px;
	overflow:hidden;
}
@media (max-width:782px){
	.upadesha-masonry{ column-count:2; }
}
@media (max-width:480px){
	.upadesha-masonry{ column-count:1; }
}

/* -----------------------------------------------------------------------
   5. Testimonials — quote-card styling and star rating color.
----------------------------------------------------------------------- */
.upadesha-stars{
	color:var(--wp--preset--color--gold-500);
	letter-spacing:2px;
	font-size:1.1rem;
}
.upadesha-testimonial-card{
	border-left:3px solid var(--wp--preset--color--gold-500);
}

/* -----------------------------------------------------------------------
   6. Meta-details panel (workshops / retreats / events) — see
      blocks/meta-details.
----------------------------------------------------------------------- */
.upadesha-meta-details{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
	gap:1.25rem;
	background:var(--wp--preset--color--cream-50, #FFFCF6);
	border:1px solid rgba(43,27,18,.08);
	border-radius:6px;
	padding:1.5rem;
	margin:2rem 0;
	list-style:none;
}
.upadesha-meta-details dt{
	font-family:"Yatra One","Cormorant Garamond",serif;
	font-size:.72rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--wp--preset--color--gold-600, #B9792A);
	margin-bottom:.25rem;
}
.upadesha-meta-details dd{
	margin:0;
	font-weight:600;
	color:var(--wp--preset--color--maroon-900, #4A0F0B);
}

/* -----------------------------------------------------------------------
   7. Contact form.
----------------------------------------------------------------------- */
.upadesha-form{
	display:grid;
	gap:1.25rem;
	max-width:640px;
}
.upadesha-form .upadesha-field{ display:grid; gap:.4rem; }
.upadesha-form label{
	font-weight:600;
	font-size:.9rem;
	color:var(--wp--preset--color--maroon-900, #4A0F0B);
}
.upadesha-form input[type="text"],
.upadesha-form input[type="email"],
.upadesha-form input[type="tel"],
.upadesha-form select,
.upadesha-form textarea{
	font-family:inherit;
	font-size:1rem;
	padding:.75em .9em;
	border:1px solid rgba(43,27,18,.2);
	border-radius:4px;
	background:#fff;
	color:var(--wp--preset--color--ink-900, #2B1B12);
}
.upadesha-form input:focus-visible,
.upadesha-form select:focus-visible,
.upadesha-form textarea:focus-visible{
	outline:2px solid var(--wp--preset--color--gold-500, #D9A441);
	outline-offset:2px;
}
.upadesha-form button[type="submit"]{
	justify-self:start;
	cursor:pointer;
	border:0;
}
.upadesha-form-honeypot{
	position:absolute !important;
	left:-9999px !important;
	width:1px;height:1px;overflow:hidden;
}
.upadesha-form-notice{
	padding:1em 1.25em;
	border-radius:4px;
	font-size:.95rem;
}
.upadesha-form-notice.is-success{ background:#E8F3E6; color:#2B5230; }
.upadesha-form-notice.is-error{ background:#FBEAE8; color:#7A2318; }

/* -----------------------------------------------------------------------
   8. Responsive type scale nudges for very small screens.
----------------------------------------------------------------------- */
@media (max-width:480px){
	.wp-block-cover{ min-height:82vh !important; }
	.upadesha-masonry{ column-gap:.6rem; }
}

/* -----------------------------------------------------------------------
   9. Print — quiet, ink-friendly.
----------------------------------------------------------------------- */
@media print{
	.upadesha-site-header, .wp-block-template-part[data-type="footer"], nav{ display:none !important; }
}

/* =========================================================================
   10. Layout primitives (classic theme structural CSS)
   These replace what wp:group block inline styles used to provide in the
   earlier FSE templates — now that pages/singles are plain PHP templates,
   these utility classes do the same job consistently everywhere.
========================================================================= */
.upadesha-container{
	max-width:1200px;
	margin-inline:auto;
	padding-inline:1.5rem;
}
.upadesha-container.upadesha-narrow{ max-width:800px; }
.upadesha-section-pad{ padding-block:5rem; }
.upadesha-section-pad-sm{ padding-block:2.5rem; }
.upadesha-text-center{ text-align:center; }

.upadesha-page-title-wrap{ padding-block:3rem 1.5rem; }
.upadesha-page-title{
	font-family:var(--wp--preset--font-family--display);
	color:var(--wp--preset--color--maroon-900, #4A0F0B);
	font-size:var(--wp--preset--font-size--xx-large, 3rem);
	line-height:1.15;
	margin:0 0 .5rem;
}
.upadesha-page-title--light{ color:#FFFCF6; }
.upadesha-eyebrow--light{ color:#F0C868; }
.upadesha-lede{
	font-size:1.1rem;
	color:var(--wp--preset--color--ink-600, #5C4A3D);
	max-width:640px;
	margin:0 auto 1.5rem;
}
.upadesha-heading-center{
	text-align:center;
	font-family:var(--wp--preset--font-family--display);
	color:var(--wp--preset--color--maroon-900, #4A0F0B);
}
.upadesha-archive-description{
	color:var(--wp--preset--color--ink-600, #5C4A3D);
	max-width:640px;
	margin-top:.5rem;
}

.upadesha-page-content{
	max-width:800px;
	margin-inline:auto;
	padding-inline:1.5rem;
}
.upadesha-page-content > *:first-child{ margin-top:0; }
.upadesha-page-content p{ line-height:1.75; }

.upadesha-button-row{
	display:flex;
	gap:1rem;
	flex-wrap:wrap;
	margin-top:1.5rem;
}
.upadesha-button-row--center{ justify-content:center; }

.upadesha-empty-state{
	text-align:center;
	color:var(--wp--preset--color--ink-600, #5C4A3D);
	padding:2rem 0;
}

/* Grids reused across all listing patterns rendered in PHP (blog cards,
   related-item cards) — the Query Loop patterns handle their own grid via
   block attributes, this is only for plain-PHP loops. */
.upadesha-grid{ display:grid; gap:2rem; }
.upadesha-grid--3col{ grid-template-columns:repeat(3, 1fr); }
@media (max-width:900px){ .upadesha-grid--3col{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:600px){ .upadesha-grid--3col{ grid-template-columns:1fr; } }

.upadesha-card__media{ display:block; border-radius:6px 6px 0 0; overflow:hidden; aspect-ratio:4/3; }
.upadesha-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.upadesha-card__media-placeholder{
	display:block; width:100%; height:100%;
	background:linear-gradient(135deg, #E7D9BF, #F0C868);
}
.upadesha-card__body{ padding:1.25rem 1.5rem 1.5rem; }
.upadesha-card__eyebrow{
	font-size:.75rem; text-transform:uppercase; letter-spacing:.06em;
	color:var(--wp--preset--color--gold-600, #B9792A); margin:0 0 .4rem;
}
.upadesha-card__title{ margin:.2rem 0 .5rem; font-size:1.1rem; }
.upadesha-card__title a{ color:var(--wp--preset--color--maroon-900, #4A0F0B); }
.upadesha-card__excerpt{ font-size:.92rem; color:var(--wp--preset--color--ink-600, #5C4A3D); }
.upadesha-card__cta{ font-size:.85rem; color:var(--wp--preset--color--maroon-700, #6D1A14); margin-top:.5rem; }

.upadesha-pagination{ margin-top:3rem; display:flex; justify-content:center; gap:1rem; }
.upadesha-pagination .page-numbers{
	padding:.5em .9em; border-radius:4px; font-size:.9rem;
	color:var(--wp--preset--color--maroon-700, #6D1A14);
}
.upadesha-pagination .page-numbers.current{
	background:var(--wp--preset--color--maroon-700, #6D1A14); color:#fff;
}

/* Search results list */
.upadesha-search-item{ border-bottom:1px solid #E7D9BF; padding:1.25rem 0; }
.upadesha-search-item h3{ margin:0 0 .3rem; }
.upadesha-search-excerpt{ color:var(--wp--preset--color--ink-600, #5C4A3D); margin:0; }
.upadesha-404-search{ margin-top:2rem; }

/* =========================================================================
   11. Site header
========================================================================= */
.upadesha-topbar{
	background:var(--wp--preset--color--maroon-900, #4A0F0B);
	color:#F7E7C8;
	font-size:.82rem;
}
.upadesha-topbar__inner{
	max-width:1200px; margin-inline:auto; padding:.5rem 1.5rem;
	display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
}
.upadesha-topbar__contact a{ color:#F7E7C8; margin-right:1.25rem; text-decoration:none; }
.upadesha-topbar__contact a:hover{ color:var(--wp--preset--color--gold-500, #D9A441); }
.upadesha-topbar__social{ display:flex; gap:.75rem; list-style:none; margin:0; padding:0; }
.upadesha-topbar__social a{ color:#F7E7C8; }
.upadesha-topbar__social a:hover{ color:var(--wp--preset--color--gold-500, #D9A441); }

.upadesha-site-header{
	background:#FFFCF6;
	position:sticky; top:0; z-index:999;
	transition:box-shadow .3s ease;
	border-bottom:1px solid rgba(43,27,18,.06);
}
.upadesha-site-header.is-scrolled{ box-shadow:0 4px 24px -8px rgba(43,27,18,.18); }
.upadesha-site-header__inner{
	max-width:1200px; margin-inline:auto; padding:.85rem 1.5rem;
	display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.upadesha-header--centered .upadesha-site-header__inner{ flex-direction:column; text-align:center; }

.upadesha-branding{ display:flex; align-items:center; gap:.85rem; }
.upadesha-logo img{ display:block; height:56px; width:auto; }
.upadesha-site-title-group{ display:flex; flex-direction:column; gap:2px; }
.upadesha-site-title{
	font-family:var(--wp--preset--font-family--display);
	font-weight:700; font-size:1.4rem; margin:0; line-height:1.1;
}
.upadesha-site-title a{ color:var(--wp--preset--color--maroon-900, #4A0F0B); text-decoration:none; }
.upadesha-tagline-strap{
	font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
	color:var(--wp--preset--color--gold-600, #B9792A); margin:0;
}

.upadesha-primary-nav{ display:flex; align-items:center; gap:2rem; }
.upadesha-nav-menu{ display:flex; align-items:center; gap:1.75rem; list-style:none; margin:0; padding:0; }
.upadesha-nav-menu a{
	color:var(--wp--preset--color--ink-900, #2B1B12);
	text-decoration:none; font-size:.85rem; font-weight:500;
	letter-spacing:.03em; text-transform:uppercase;
}
.upadesha-nav-menu a:hover, .upadesha-nav-menu .current-menu-item > a{
	color:var(--wp--preset--color--maroon-700, #6D1A14);
}
.upadesha-nav-menu .sub-menu{
	list-style:none; margin:0; padding:.75rem 0; position:absolute;
	background:#fff; box-shadow:0 12px 30px -12px rgba(43,27,18,.25);
	border-radius:4px; min-width:200px; display:none;
}
.upadesha-nav-menu li{ position:relative; }
.upadesha-nav-menu li:hover > .sub-menu{ display:block; }
.upadesha-nav-menu .sub-menu a{ display:block; padding:.5rem 1.25rem; text-transform:none; }

.upadesha-nav-cta{
	background:var(--wp--preset--color--maroon-700, #6D1A14);
	color:#FFFCF6 !important; padding:.7em 1.5em; border-radius:2px;
	font-size:.8rem !important; text-transform:uppercase; letter-spacing:.06em;
}
.upadesha-nav-cta:hover{ background:var(--wp--preset--color--gold-500, #D9A441); color:var(--wp--preset--color--maroon-900, #4A0F0B) !important; }

.upadesha-menu-toggle{
	display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.5rem;
}
.upadesha-menu-toggle__bar{ width:24px; height:2px; background:var(--wp--preset--color--maroon-900, #4A0F0B); }

@media (max-width:880px){
	.upadesha-menu-toggle{ display:flex; }
	.upadesha-primary-nav{
		display:none; position:absolute; top:100%; left:0; right:0;
		background:#FBF3E4; flex-direction:column; align-items:flex-start;
		padding:1.5rem; box-shadow:0 12px 30px -12px rgba(43,27,18,.25);
	}
	.upadesha-primary-nav.is-open{ display:flex; }
	.upadesha-nav-menu{ flex-direction:column; align-items:flex-start; gap:1rem; width:100%; }
	.upadesha-nav-menu .sub-menu{ position:static; box-shadow:none; padding-left:1rem; }
	.upadesha-site-header{ position:relative; }
	.upadesha-site-header__inner{ position:relative; }
}

/* =========================================================================
   12. Hero cover (single Workshop/Retreat/Course header)
========================================================================= */
.upadesha-hero-cover{
	position:relative;
	min-height:52vh;
	display:flex; align-items:flex-end;
	background:linear-gradient(135deg, #6D1A14 0%, #B9792A 100%);
	background-size:cover; background-position:center;
	padding-bottom:3rem;
}
.upadesha-hero-cover__scrim{
	position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(74,15,11,.35) 0%, rgba(74,15,11,.75) 100%);
}
.upadesha-hero-cover__content{ position:relative; z-index:1; }

/* =========================================================================
   13. Callout box (retreat CTA, etc.)
========================================================================= */
.upadesha-callout-box{
	background:var(--wp--preset--color--cream-50, #FFFCF6);
	border-radius:6px; padding:2rem; margin-top:2rem;
}
.upadesha-callout-box h4{ margin-top:0; }

/* =========================================================================
   14. Faculty single profile
========================================================================= */
.upadesha-faculty-profile{
	display:grid; grid-template-columns:34% 1fr; gap:3rem; align-items:start;
}
@media (max-width:782px){ .upadesha-faculty-profile{ grid-template-columns:1fr; } }
.upadesha-faculty-profile__photo img{ border-radius:6px; width:100%; height:auto; }

/* =========================================================================
   15. Testimonial single fallback
========================================================================= */
.upadesha-testimonial-avatar img{ border-radius:50%; width:72px; height:72px; object-fit:cover; margin:0 auto 1.5rem; }
.upadesha-testimonial-quote{ font-family:var(--wp--preset--font-family--display); font-size:1.4rem; font-style:italic; border:0; margin:0; }
.upadesha-testimonial-author{ margin-top:1rem; color:var(--wp--preset--color--gold-600, #B9792A); }

/* =========================================================================
   16. Footer
========================================================================= */
.upadesha-site-footer{
	background:var(--wp--preset--color--maroon-900, #4A0F0B);
	color:#FBF3E4;
	padding-block:5rem 2.5rem;
}
.upadesha-site-footer__inner{ max-width:1200px; margin-inline:auto; padding-inline:1.5rem; }
.upadesha-footer-grid{
	display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:2.5rem; margin-bottom:3rem;
}
.upadesha-footer-col h4{ color:#F0C868; font-size:1.05rem; margin-top:0; }
.upadesha-footer-logo img{ height:52px; width:auto; margin-bottom:1rem; }
.upadesha-footer-sitename{ font-family:var(--wp--preset--font-family--display); font-size:1.3rem; color:#FFFCF6; }
.upadesha-footer-text{ font-size:.95rem; line-height:1.6; color:#FBF3E4; }
.upadesha-footer-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.upadesha-footer-menu a{ color:#FBF3E4; text-decoration:none; font-size:.92rem; }
.upadesha-footer-menu a:hover{ color:var(--wp--preset--color--gold-500, #D9A441); }
.upadesha-footer-address{ font-size:.92rem; line-height:1.6; }
.upadesha-footer-col a{ color:#FBF3E4; }
.upadesha-footer-col a:hover{ color:var(--wp--preset--color--gold-500, #D9A441); }
.upadesha-footer-social{ display:flex; gap:.75rem; list-style:none; margin:0; padding:0; }
.upadesha-footer-social a{ color:#FBF3E4; }
.upadesha-footer-social a:hover{ color:var(--wp--preset--color--gold-500, #D9A441); }

.upadesha-footer-bottom{
	border-top:1px solid rgba(251,243,228,.15);
	padding-top:1.5rem;
	display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem;
	font-size:.82rem; color:#FBF3E4;
}
.upadesha-footer-bottom p{ margin:0; }

/* Social icon list used by upadesha_social_links() helper */
.upadesha-social-icons{ display:flex; gap:.75rem; list-style:none; margin:0; padding:0; }
.upadesha-social-icons a{ display:inline-flex; }

/* Back to top button */
.upadesha-back-to-top{
	position:fixed; right:1.5rem; bottom:1.5rem; z-index:998;
	width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
	background:var(--wp--preset--color--maroon-700, #6D1A14); color:#fff;
	font-size:1.1rem; box-shadow:0 8px 24px -8px rgba(43,27,18,.4);
	opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease;
}
.upadesha-back-to-top.is-visible{ opacity:1; pointer-events:auto; }
.upadesha-back-to-top:hover{ background:var(--wp--preset--color--gold-500, #D9A441); color:var(--wp--preset--color--maroon-900, #4A0F0B); }

/* Map embed */
.upadesha-map-embed{ border-radius:6px; overflow:hidden; line-height:0; }

/* Widget area (blog sidebar, if populated) */
.upadesha-widget{ margin-bottom:2rem; }
.upadesha-widget-title{ font-family:var(--wp--preset--font-family--display); font-size:1.1rem; }

/* =========================================================================
   17. Remaining structural odds & ends (comments, single post, misc)
========================================================================= */
.upadesha-main{ display:block; }

.upadesha-single-post{ padding-bottom:1rem; }
.upadesha-post-thumbnail{ margin:1.5rem auto; border-radius:6px; overflow:hidden; max-width:1200px; }
.upadesha-post-thumbnail img{ width:100%; height:auto; display:block; }
.upadesha-post-tags{ margin-top:2rem; font-size:.9rem; color:var(--wp--preset--color--ink-600, #5C4A3D); }
.upadesha-post-tags a{ color:var(--wp--preset--color--maroon-700, #6D1A14); }

.upadesha-faculty-profile__body > *:first-child{ margin-top:0; }

.upadesha-footer-location{ opacity:.85; }

.upadesha-search-list{ max-width:800px; margin-inline:auto; padding-inline:1.5rem; }

.upadesha-comments{ max-width:800px; margin:3rem auto; padding-inline:1.5rem; }
.upadesha-comments-title{ font-family:var(--wp--preset--font-family--display); }
.upadesha-comment-list{ list-style:none; margin:0; padding:0; }
.upadesha-comment-list .comment-body{ padding:1.25rem 0; border-bottom:1px solid #E7D9BF; }
.upadesha-comments-closed{ color:var(--wp--preset--color--ink-600, #5C4A3D); font-style:italic; }

/* =========================================================================
   18. Visual treatments moved out of block "style" attributes and into
   plain CSS classes (see patterns/*.php). Gutenberg's block-native
   border/image-dimension supports require the saved HTML to exactly
   match what the block's save() function would regenerate; hand-authored
   pattern files are easy to get subtly wrong there (missing an
   auto-added class, a slightly different property, etc.), which the
   block editor then reports as "Block contains unexpected or invalid
   content." Handling these treatments here instead sidesteps that
   entirely — the block attributes stay simple, so there's nothing for
   the editor to mismatch.
========================================================================= */

/* Learning Categories grid cards (previously used style.border, which
   requires an exact has-border-color class match) */
.upadesha-category-card{
	border:1px solid #8C2A1E;
	border-radius:4px;
}

/* Cream outline buttons on dark/maroon backgrounds (hero, call-to-action) */
.upadesha-btn-outline-cream .wp-block-button__link{
	border:1px solid #FBF3E4;
}

/* Divider row used between list items (Upcoming Events) */
.upadesha-divider-row{
	border-bottom:1px solid #E7D9BF;
}

/* Team Retreats section photo — fills its column, cover-fit, no radius */
.upadesha-fill-image{ height:100%; margin:0; }
.upadesha-fill-image img{ width:100%; height:100%; object-fit:cover; display:block; }

/* About section circular portrait photo inside the gold ring */
.upadesha-round-image{ margin:0; }
.upadesha-round-image img{
	aspect-ratio:1;
	width:100%;
	height:auto;
	object-fit:cover;
	border-radius:50%;
	display:block;
}
