/* ==========================================================================
   MalluCanada — Design tokens
   Palette drawn from the brand mark: Canadian flag red + white, kathakali
   mask green, marigold-garland gold, and the deep brown of the snake boat.
   Signature element: the "ticket stub" card — a perforated-edge date stub
   that ties every card back to the site's job, selling tickets.
   ========================================================================== */
:root{
	--mc-red:        #C81F2B;
	--mc-red-dark:   #9B1620;
	--mc-green:      #1F6F54;
	--mc-green-dark: #123F2E;
	--mc-gold:       #E3A335;
	--mc-gold-dark:  #B87E1E;
	--mc-brown:      #3A2318;
	--mc-cream:      #FFFFFF;
	--mc-cream-2:    #F3EBDA;
	--mc-ink:        #241610;
	--mc-ink-70:     rgba(36,22,16,.7);
	--mc-ink-50:     rgba(36,22,16,.5);
	--mc-line:       rgba(36,22,16,.12);
	--mc-white:      #ffffff;

	--font-display: 'Fraunces', ui-serif, Georgia, serif;
	--font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-mono:    'Space Grotesk', ui-monospace, monospace;

	--mc-radius-sm: 10px;
	--mc-radius:    16px;
	--mc-radius-lg: 26px;
	--mc-shadow-sm: 0 2px 10px rgba(58,35,24,.06);
	--mc-shadow:    0 12px 32px rgba(58,35,24,.12);
	--mc-shadow-lg: 0 24px 60px rgba(58,35,24,.18);
	--mc-container: 1240px;
	--mc-header-h: 86px;
}

/* ---------- Reset & base ---------- */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
	html{ scroll-behavior:auto; }
	*, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
body{
	margin:0;
	background:var(--mc-cream);
	color:var(--mc-ink);
	font-family:var(--font-body);
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.15; margin:0 0 .5em; color:var(--mc-ink); }
p{ margin:0 0 1em; }
:focus-visible{ outline:3px solid var(--mc-gold); outline-offset:2px; border-radius:4px; }
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.mc-skip-link{ position:absolute; left:-999px; top:0; background:var(--mc-ink); color:#fff; padding:12px 18px; z-index:9999; border-radius:0 0 8px 0; }
.mc-skip-link:focus{ left:0; }

.mc-container{ max-width:var(--mc-container); margin:0 auto; padding:0 20px; }

/* ---------- Buttons ---------- */
.mc-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	background:var(--mc-red); color:#fff; font-weight:700; font-size:15px;
	padding:13px 24px; border-radius:999px; border:2px solid var(--mc-red);
	transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
	white-space:nowrap;
}
.mc-btn:hover{ background:var(--mc-red-dark); border-color:var(--mc-red-dark); transform:translateY(-1px); color:#fff; }
.mc-btn--sm{ padding:9px 16px; font-size:13px; }
.mc-btn--block{ display:flex; width:100%; }
.mc-btn--gold{ background:var(--mc-gold); border-color:var(--mc-gold); color:var(--mc-ink); }
.mc-btn--gold:hover{ background:var(--mc-gold-dark); border-color:var(--mc-gold-dark); color:var(--mc-ink); }
.mc-btn--outline{ background:transparent; color:var(--mc-ink); border-color:var(--mc-line); }
.mc-btn--outline:hover{ background:var(--mc-ink); border-color:var(--mc-ink); color:#fff; }
.mc-btn--outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.mc-btn--outline-light:hover{ background:#fff; color:var(--mc-ink); border-color:#fff; }
.mc-btn--ghost{ background:transparent; color:var(--mc-ink); border-color:transparent; }

.mc-link-arrow{ font-weight:700; font-size:14px; color:var(--mc-green); white-space:nowrap; }
.mc-link-arrow:hover{ color:var(--mc-green-dark); }

.mc-icon-btn{
	width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
	background:transparent; border:1px solid var(--mc-line); border-radius:999px; color:var(--mc-ink);
}
.mc-icon-btn svg{ fill:currentColor; }
.mc-icon-btn:hover{ background:var(--mc-cream-2); }

.mc-eyebrow{
	display:inline-block; font-family:var(--font-mono); font-weight:600; font-size:12px;
	letter-spacing:.14em; text-transform:uppercase; color:var(--mc-green); margin-bottom:10px;
}
.mc-eyebrow--light{ color:var(--mc-gold); }

/* ---------- Chips ---------- */
.mc-chip{
	display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border-radius:999px;
	background:#fff; border:1px solid var(--mc-line); font-size:13px; font-weight:600; color:var(--mc-ink-70);
	transition:all .15s ease;
}
.mc-chip:hover{ border-color:var(--mc-green); color:var(--mc-green); }
.mc-chip--filter.is-active{ background:var(--mc-ink); border-color:var(--mc-ink); color:#fff; }

/* ==========================================================================
   Header
   ========================================================================== */
.mc-header{
	position:sticky; top:0; z-index:200; background:rgba(255,255,255,.92);
	backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--mc-line);
}
/* Logged-in users: keep the sticky header below the WordPress admin toolbar
   (32px on desktop, 46px on tablets; on phones ≤600px the toolbar scrolls away). */
.admin-bar .mc-header{ top:32px; }
@media (max-width:782px){ .admin-bar .mc-header{ top:46px; } }
@media (max-width:600px){ .admin-bar .mc-header{ top:0; } }
.mc-header__row{ display:flex; align-items:center; justify-content:space-between; height:var(--mc-header-h); gap:20px; }
.mc-logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.mc-logo img{ height:60px; width:60px; object-fit:contain; }
.mc-logo__text{ font-family:var(--font-display); font-size:27px; font-weight:500; color:var(--mc-ink); }
.mc-logo__text strong{ color:var(--mc-red); font-weight:700; }
.mc-logo__text--light{ color:#fff; }
.mc-logo__text--light strong{ color:var(--mc-gold); }

.mc-nav{ flex:1; display:flex; justify-content:center; }
.mc-nav__list{ display:flex; align-items:center; gap:28px; }
.mc-nav__list a{ font-size:14.5px; font-weight:600; color:var(--mc-ink-70); position:relative; padding:6px 0; }
.mc-nav__list a:hover{ color:var(--mc-ink); }
.mc-nav__list a::after{
	content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--mc-red);
	transition:width .2s ease;
}
.mc-nav__list a:hover::after{ width:100%; }

.mc-header__actions{ display:flex; align-items:center; gap:10px; }
.mc-menu-toggle{ display:none; }

.mc-header-search{ max-height:0; overflow:hidden; transition:max-height .25s ease; border-top:0 solid transparent; }
.mc-header-search.is-open{ max-height:110px; border-top:1px solid var(--mc-line); }
.mc-header-search .mc-container{ padding-top:16px; padding-bottom:16px; }

.mc-search-form{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--mc-line); border-radius:999px; padding:6px 8px 6px 18px; box-shadow:var(--mc-shadow-sm); }
.mc-search-form__icon{ fill:var(--mc-ink-50); flex-shrink:0; }
.mc-search-form__input{ flex:1; min-width:0; border:0; background:transparent; font-size:15px; padding:10px 0; font-family:var(--font-body); color:var(--mc-ink); }
.mc-search-form__input:focus{ outline:0; }
.mc-search-form .mc-btn{ flex-shrink:0; }

.mc-mobile-menu{
	position:fixed; top:0; right:0; bottom:0; width:min(340px, 86vw);
	background:var(--mc-ink); color:#fff;
	z-index:100001; /* above the WordPress admin toolbar (99999) for logged-in users */
	display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain;
	padding:0 22px max(22px, env(safe-area-inset-bottom));
	box-shadow:-18px 0 40px rgba(0,0,0,.25);
	transform:translateX(100%); visibility:hidden;
	transition:transform .3s ease, visibility 0s linear .3s; /* hidden drawer can't be tabbed into */
}
.mc-mobile-menu.is-open{ transform:translateX(0); visibility:visible; transition:transform .3s ease; }
.mc-mobile-menu__head{
	position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between;
	min-height:var(--mc-header-h); padding-top:env(safe-area-inset-top);
	margin:0 -22px 6px; padding-left:22px; padding-right:14px;
	background:var(--mc-ink); border-bottom:1px solid rgba(255,255,255,.12);
}
.mc-mobile-menu__title{ font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--mc-gold); }
.mc-mobile-menu__close{
	width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff;
}
.mc-mobile-menu__close svg{ fill:currentColor; }
.mc-mobile-menu__close:hover{ background:rgba(255,255,255,.16); }

/* Menu links — works for an assigned menu and for the fallback menu */
.mc-mobile-menu nav ul{ display:flex; flex-direction:column; gap:0; margin:0 0 18px; padding:0; list-style:none; }
.mc-mobile-menu nav li{ margin:0; }
.mc-mobile-menu nav a{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	min-height:52px; padding:12px 4px; font-size:17px; font-weight:600; line-height:1.3;
	color:rgba(255,255,255,.92); border-bottom:1px solid rgba(255,255,255,.1);
}
.mc-mobile-menu nav a::after{ content:"›"; position:static; width:auto; height:auto; background:none; font-size:20px; color:rgba(255,255,255,.35); transition:transform .2s ease, color .2s ease; }
.mc-mobile-menu nav a:hover, .mc-mobile-menu nav a:focus-visible{ color:#fff; }
.mc-mobile-menu nav a:hover::after{ color:var(--mc-gold); transform:translateX(3px); }
.mc-mobile-menu nav .current-menu-item > a, .mc-mobile-menu nav .current_page_item > a{ color:var(--mc-gold); }
.mc-mobile-menu nav .sub-menu{ margin:0 0 6px 14px; }
.mc-mobile-menu nav .sub-menu a{ min-height:44px; font-size:15px; font-weight:500; color:rgba(255,255,255,.75); }

.mc-mobile-menu__actions{ display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:8px; }
.mc-mobile-menu .mc-btn--ghost{ color:#fff; border-color:rgba(255,255,255,.3); background:transparent; }
.mc-mobile-menu .mc-btn--ghost:hover{ background:#fff; color:var(--mc-ink); border-color:#fff; }
body.mc-menu-open{ overflow:hidden; } /* stop the page scrolling behind the open drawer */
.mc-mobile-menu__backdrop{ position:fixed; inset:0; background:rgba(20,10,6,.5); z-index:100000; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.mc-mobile-menu__backdrop.is-open{ opacity:1; pointer-events:auto; }

@media (max-width:960px){
	.mc-nav{ display:none; }
	.mc-menu-toggle{ display:inline-flex; }
	.mc-hide-mobile{ display:none; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.mc-hero{
	position:relative; padding:76px 0 64px; overflow:hidden;
	background:
		radial-gradient(ellipse at 15% 20%, rgba(200,31,43,.10), transparent 55%),
		radial-gradient(ellipse at 85% 0%, rgba(227,163,53,.16), transparent 50%),
		var(--mc-cream);
}
.mc-hero__bg{ position:absolute; inset:0; pointer-events:none; opacity:.5;
	background-image: radial-gradient(circle, var(--mc-line) 1px, transparent 1px);
	background-size:26px 26px; mask-image:linear-gradient(to bottom, black, transparent 85%);
}
.mc-hero__inner{ position:relative; max-width:760px; }
.mc-hero__title{
	font-size:clamp(28px,4.4vw,48px); letter-spacing:-.01em; margin-bottom:.35em;
	color:var(--mc-ink);
	text-shadow:
		1px 1px 0 #ded3c2,
		2px 2px 0 #d3c7b3,
		3px 3px 0 #c8bba4,
		4px 4px 0 #bdae95,
		5px 6px 10px rgba(58,35,24,.28);
}
.mc-hero__subtitle{ font-size:18px; color:var(--mc-ink-70); max-width:560px; margin-bottom:28px; }
.mc-hero__search{ max-width:600px; margin-bottom:22px; }
.mc-hero__search--page{ max-width:640px; margin-top:22px; margin-bottom:0; }
.mc-city-chips{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.mc-city-chips__label{ font-size:13px; font-weight:600; color:var(--mc-ink-50); margin-right:2px; }
.mc-hero__wave{ position:absolute; left:0; right:0; bottom:-2px; width:100%; height:70px; fill:var(--mc-cream-2); }

/* ==========================================================================
   Sections
   ========================================================================== */
.mc-section{ padding:64px 0; }
.mc-section--tint{ background:var(--mc-cream-2); }
.mc-section--dark{ background:var(--mc-brown); background-image:radial-gradient(ellipse at 80% 0%, rgba(227,163,53,.18), transparent 55%); }
.mc-section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:28px; flex-wrap:wrap; }
.mc-section__title{ font-size:clamp(24px,3vw,34px); margin:0; }
.mc-section__title--light{ color:#fff; }

/* ==========================================================================
   Featured carousel
   ========================================================================== */
.mc-carousel{ position:relative; }
.mc-carousel__track{ display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; scrollbar-width:none; }
.mc-carousel__track::-webkit-scrollbar{ display:none; }
.mc-carousel__slide{ scroll-snap-align:start; flex:0 0 auto; width:340px; }
.mc-carousel__nav{ display:flex; gap:10px; justify-content:flex-end; margin-top:14px; }
.mc-carousel__btn{
	width:42px; height:42px; border-radius:50%; border:1px solid var(--mc-line); background:#fff; font-size:20px;
	display:flex; align-items:center; justify-content:center; color:var(--mc-ink);
}
.mc-carousel__btn:hover{ background:var(--mc-ink); color:#fff; border-color:var(--mc-ink); }

/* ==========================================================================
   Category grid
   ========================================================================== */
.mc-category-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.mc-category-tile{
	background:#fff; border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:24px 18px;
	display:flex; flex-direction:column; align-items:flex-start; gap:10px; transition:all .18s ease;
}
.mc-category-tile:hover{ border-color:var(--mc-green); transform:translateY(-3px); box-shadow:var(--mc-shadow-sm); }
.mc-category-tile__icon{ width:48px; height:48px; border-radius:50%; background:var(--mc-cream-2); display:flex; align-items:center; justify-content:center; color:var(--mc-green); }
.mc-category-tile__icon svg{ fill:currentColor; }
.mc-category-tile__label{ font-weight:700; font-size:15px; }
.mc-category-tile__count{ font-family:var(--font-mono); font-size:12px; color:var(--mc-ink-50); }

/* ==========================================================================
   City grid (on dark section)
   ========================================================================== */
.mc-city-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.mc-city-tile{
	background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:var(--mc-radius-sm);
	padding:20px; display:flex; flex-direction:column; gap:6px; color:#fff;
}
.mc-city-tile:hover{ background:rgba(227,163,53,.16); border-color:var(--mc-gold); }
.mc-city-tile__name{ font-family:var(--font-display); font-size:19px; font-weight:600; }
.mc-city-tile__count{ font-family:var(--font-mono); font-size:12px; color:rgba(255,255,255,.6); }

/* ==========================================================================
   Organizer CTA
   ========================================================================== */
.mc-organizer-cta{
	background:linear-gradient(120deg,var(--mc-green-dark),var(--mc-green) 70%);
	color:#fff; padding:70px 0; position:relative; overflow:hidden;
}
.mc-organizer-cta::after{
	content:""; position:absolute; right:-60px; bottom:-90px; width:340px; height:340px; border-radius:50%;
	background:radial-gradient(circle, rgba(227,163,53,.35), transparent 70%);
}
.mc-organizer-cta__inner{ display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; position:relative; }
.mc-organizer-cta__inner h2{ color:#fff; font-size:clamp(24px,3.4vw,36px); max-width:520px; }
.mc-organizer-cta__inner p{ max-width:460px; color:rgba(255,255,255,.85); }
.mc-organizer-cta__actions{ display:flex; gap:14px; flex-wrap:wrap; }
.mc-organizer-cta__stats{ display:flex; gap:26px; }
.mc-organizer-cta__stats li{ text-align:center; }
.mc-organizer-cta__stats strong{ display:block; font-family:var(--font-display); font-size:30px; color:var(--mc-gold); }
.mc-organizer-cta__stats span{ font-size:12px; color:rgba(255,255,255,.75); max-width:100px; display:block; }

/* ==========================================================================
   Newsletter
   ========================================================================== */
.mc-newsletter__inner{ display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.mc-newsletter__inner > div{ max-width:480px; }
.mc-newsletter-form{ display:flex; gap:10px; flex-wrap:wrap; position:relative; }
.mc-newsletter-form input[type=email]{
	flex:1; min-width:220px; padding:14px 18px; border-radius:999px; border:1px solid var(--mc-line);
	font-family:var(--font-body); font-size:15px; background:#fff;
}
.mc-newsletter-form__msg{ position:absolute; top:100%; left:4px; margin-top:8px; font-size:13px; color:var(--mc-green-dark); }

/* ==========================================================================
   Footer
   ========================================================================== */
.mc-footer{ background:var(--mc-ink); color:rgba(255,255,255,.72); padding-top:64px; }
.mc-footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:36px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1); }
.mc-footer__tagline{ font-size:14px; line-height:1.7; max-width:320px; }
.mc-footer__brand .mc-logo{ margin-bottom:16px; }
.mc-social{ display:flex; gap:10px; margin-top:16px; }
.mc-social a{
	width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.2); display:flex;
	align-items:center; justify-content:center; font-size:11px; font-weight:700; letter-spacing:.02em;
}
.mc-social a:hover{ background:var(--mc-gold); color:var(--mc-ink); border-color:var(--mc-gold); }
.mc-footer__col h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
.mc-footer__col ul{ display:flex; flex-direction:column; gap:10px; }
.mc-footer__col a{ font-size:14px; }
.mc-footer__col a:hover{ color:#fff; }
.mc-footer .mc-newsletter-form{ margin-top:14px; margin-bottom:8px; }
.mc-footer .mc-newsletter-form input[type=email]{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:#fff; }
.mc-footer .mc-newsletter-form input[type=email]::placeholder{ color:rgba(255,255,255,.4); }
.mc-footer-widget__title{ color:#fff; font-size:13px; margin-top:18px; }
.mc-footer__bottom{ display:flex; align-items:center; justify-content:space-between; padding:24px 0; font-size:13px; flex-wrap:wrap; gap:10px; }
.mc-footer__nav{ display:flex; gap:20px; }
.mc-footer__nav a:hover{ color:#fff; }

/* ==========================================================================
   Page header (Discover Events, taxonomy pages, generic pages, 404)
   ========================================================================== */
.mc-page-header{ padding:48px 0 36px; background:var(--mc-cream-2); }
.mc-page-header__title{ font-size:clamp(28px,4vw,42px); margin:10px 0 6px; }
.mc-page-header__sub{ color:var(--mc-ink-70); max-width:640px; margin:0; }

.mc-breadcrumbs ol{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; list-style:none; padding:0; margin:0; }
.mc-breadcrumbs li{ font-size:12.5px; color:var(--mc-ink-50); }
.mc-breadcrumbs li:not(:last-child)::after{ content:"/"; margin-left:6px; color:var(--mc-ink-50); }
.mc-breadcrumbs a{ color:var(--mc-ink-50); font-weight:600; }
.mc-breadcrumbs a:hover{ color:var(--mc-green); }

/* ==========================================================================
   Misc: 404, prose pages, post previews
   ========================================================================== */
.mc-prose-wrap{ max-width:820px; }
.mc-post-preview{ padding:26px 0; border-bottom:1px solid var(--mc-line); }
.mc-post-preview h2{ font-size:22px; }
.mc-pagination{ display:flex; gap:8px; justify-content:center; margin-top:36px; flex-wrap:wrap; }
.mc-pagination__link{ min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--mc-line); border-radius:999px; font-size:13px; font-weight:700; padding:0 12px; background:#fff; }
.mc-pagination__link.current{ background:var(--mc-ink); color:#fff; border-color:var(--mc-ink); }
.mc-404{ text-align:center; padding:100px 0; }
.mc-404__inner{ max-width:520px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:18px; }
.mc-404__inner h1{ font-size:30px; }


/* ==========================================================================
   Responsive (theme layout — event-card/grid/ticket rules live in the
   MalluCanada Events plugin's events.css)
   ========================================================================== */
@media (max-width:1100px){
	.mc-category-grid{ grid-template-columns:repeat(3,1fr); }
	.mc-city-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px){
	:root{ --mc-header-h:72px; }
	.mc-logo img{ height:48px; width:48px; }
	.mc-logo__text{ font-size:22px; }
	.mc-category-grid{ grid-template-columns:repeat(2,1fr); }
	.mc-city-grid{ grid-template-columns:1fr 1fr; }
	.mc-hero{ padding:44px 0 56px; }
	.mc-section{ padding:44px 0; }
	.mc-organizer-cta__inner{ flex-direction:column; align-items:flex-start; }
	.mc-organizer-cta__stats{ width:100%; justify-content:space-between; }
	.mc-newsletter__inner{ flex-direction:column; align-items:flex-start; }
	.mc-newsletter-form{ width:100%; }
	.mc-newsletter-form input[type=email]{ width:100%; }
	.mc-footer__top{ grid-template-columns:1fr 1fr; }
	.mc-footer__bottom{ flex-direction:column; text-align:center; }
}
@media (max-width:480px){
	.mc-footer__top{ grid-template-columns:1fr; }
	.mc-organizer-cta__stats{ flex-wrap:wrap; gap:16px; }
}

/* Shown on the homepage when the Events plugin isn't active */
.mc-plugin-missing{ background:#fff; border:1px dashed var(--mc-line); border-radius:var(--mc-radius); padding:28px; text-align:center; color:var(--mc-ink-70); }

/* ==========================================================================
   Advertising Corner
   Ads are never cropped: media sits "contain"-fitted inside a fixed-shape
   frame (--mc-ad-ratio) on a dark matte, so posters with text stay legible.
   ========================================================================== */
.mc-ad-corner .mc-section__head{ margin-bottom:22px; }
.mc-ads{ position:relative; --mc-ad-ratio:16 / 9; }
.mc-ads__label{
	position:absolute; top:12px; left:12px; z-index:3; pointer-events:none;
	font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
	background:rgba(255,255,255,.92); color:var(--mc-ink-70); padding:4px 9px; border-radius:999px;
}
.mc-ad{ margin:0; display:flex; flex-direction:column; height:100%; }
.mc-ad__frame{
	position:relative; aspect-ratio:var(--mc-ad-ratio); width:100%; overflow:hidden;
	background:var(--mc-brown);
	background-image:radial-gradient(ellipse at 80% 0%, rgba(227,163,53,.18), transparent 60%);
	border-radius:var(--mc-radius-lg); box-shadow:var(--mc-shadow);
}
.mc-ad__link{ position:absolute; inset:0; display:block; }
.mc-ad__media{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.mc-ad__media--image,
.mc-ad__media--video{ object-fit:contain; }
.mc-ad__link:hover .mc-ad__media--image{ transform:scale(1.015); }
.mc-ad__media--image{ transition:transform .4s ease; }
/* Video ads: ▶ button when autoplay is refused, sound toggle, and a fallback when the phone can't decode the file */
.mc-ad__play{
	position:absolute; left:50%; top:50%; z-index:2; transform:translate(-50%,-50%);
	width:68px; height:68px; border-radius:999px; border:2px solid rgba(255,255,255,.85);
	background:rgba(20,10,6,.62); color:#fff; display:none; align-items:center; justify-content:center;
	box-shadow:0 8px 24px rgba(0,0,0,.35); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.mc-ad__play svg{ fill:currentColor; margin-left:4px; }
.mc-ad__frame.needs-tap .mc-ad__play{ display:inline-flex; }
.mc-ad__play:hover{ background:var(--mc-red); border-color:var(--mc-red); }
.mc-ad__sound{
	position:absolute; right:10px; bottom:10px; z-index:2; width:38px; height:38px; border-radius:999px;
	border:1px solid rgba(255,255,255,.5); background:rgba(20,10,6,.6); color:#fff;
	display:none; align-items:center; justify-content:center;
}
.mc-ad__sound svg{ fill:currentColor; }
.mc-ad__sound .mc-ad__sound-on, .mc-ad__frame.has-sound .mc-ad__sound .mc-ad__sound-off{ display:none; }
.mc-ad__frame.has-sound .mc-ad__sound .mc-ad__sound-on{ display:block; }
.mc-ad__frame.is-playing .mc-ad__sound{ display:inline-flex; }
.mc-ad__frame.no-audio .mc-ad__sound{ display:none; }
.mc-ad__fallback{ position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; text-align:center; padding:16px; color:rgba(255,255,255,.85); font-size:14px; font-weight:600; }
.mc-ad__fallback[hidden]{ display:none; }
.mc-ad__fallback-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.mc-ad__frame.has-error .mc-ad__media--video,
.mc-ad__frame.has-error .mc-ad__link{ visibility:hidden; }
@media (pointer:coarse){ .mc-ad__sound{ width:42px; height:42px; } }

.mc-ad__caption{
	display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
	padding:14px 4px 0; font-size:14.5px; color:var(--mc-ink-70);
}
.mc-ad__caption-text{ font-weight:600; color:var(--mc-ink); }
.mc-ad__cta{ margin-left:auto; }

/* Rotating showcase */
/* No radius here: the frames are already rounded, and a rounded viewport would clip the caption's first letter. */
.mc-ads__viewport{ overflow:hidden; }
.mc-ads__viewport{ transition:height .35s ease; }
.mc-ads__track{ display:flex; align-items:flex-start; transition:transform .55s cubic-bezier(.22,.7,.2,1); }
.mc-ads__slide{ flex:0 0 100%; min-width:0; }
/* The viewport clips overflow, so a frame shadow would show as a grey band behind the caption. */
.mc-ads--carousel .mc-ad__frame{ box-shadow:none; }
.mc-ads--carousel:not(.is-ready) .mc-ads__slide:not(:first-child){ visibility:hidden; }
.mc-ads__controls{ display:flex; align-items:center; justify-content:center; gap:10px; margin-top:16px; }
.mc-ads__btn{
	width:34px; height:34px; border-radius:999px; border:1px solid var(--mc-line); background:#fff;
	color:var(--mc-ink); font-size:18px; line-height:1; display:inline-flex; align-items:center; justify-content:center;
}
.mc-ads__btn:hover{ border-color:var(--mc-ink); }
.mc-ads__pause{ font-size:11px; letter-spacing:-1px; }
.mc-ads__dots{ display:flex; gap:0; padding:0 2px; }
/* The button is a generous tap target; the visible dot is its ::before. */
.mc-ads__dot{ padding:10px 4px; border:0; background:none; line-height:0; }
.mc-ads__dot::before{ content:''; display:block; width:9px; height:9px; border-radius:999px; background:var(--mc-ink-50); opacity:.35; transition:all .25s ease; }
.mc-ads__dot.is-active::before{ width:26px; background:var(--mc-red); opacity:1; }
.mc-ads--carousel:not(.is-ready) .mc-ads__controls{ display:none; }

/* Grid / stack */
.mc-ads__list{ display:grid; gap:24px; }
.mc-ads--grid .mc-ads__list{ grid-template-columns:repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.mc-ads--grid .mc-ads__label,
.mc-ads--stack .mc-ads__label{ position:static; display:inline-block; margin-bottom:10px; background:var(--mc-cream-2); }
.mc-ads--stack .mc-ads__list{ gap:18px; }
.mc-ads--stack .mc-ad__frame,
.mc-ads--widget .mc-ad__frame{ border-radius:var(--mc-radius); box-shadow:var(--mc-shadow-sm); }

/* Above-footer banner strip */
.mc-ad-strip{ padding:28px 0; background:var(--mc-cream-2); border-top:1px solid var(--mc-line); }
.mc-ad-strip .mc-ad__frame{ border-radius:var(--mc-radius); }
.mc-ad-strip .mc-ad__frame{ box-shadow:var(--mc-shadow-sm); }
.mc-ad-strip .mc-ads__label{ top:8px; left:8px; font-size:9.5px; padding:3px 7px; }
.mc-ad-strip .mc-ads__controls{ margin-top:10px; }
.mc-ad-strip .mc-ad__caption{ padding-top:10px; font-size:13.5px; }

/* Footer widget columns are dark */
.mc-footer .mc-ads__btn{ background:transparent; color:#fff; border-color:rgba(255,255,255,.3); }
.mc-footer .mc-ad__caption, .mc-footer .mc-ad__caption-text{ color:rgba(255,255,255,.85); }

/* Top of the homepage — a compact billboard directly under the header */
.mc-ad-corner--top{ padding:22px 0 26px; background:var(--mc-cream); border-bottom:1px solid var(--mc-line); }
.mc-ad-corner--top .mc-section__head{ margin-bottom:14px; }
.mc-ad-corner--top .mc-section__head > div{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 14px; }
.mc-ad-corner--top .mc-eyebrow{ margin:0; order:2; }
.mc-ad-corner--top .mc-section__title{ font-size:clamp(18px, 2.2vw, 22px); }
.mc-ad-corner--top .mc-ads__controls{ margin-top:10px; }
/* Keep the hero/search on the first screen: cap the billboard's height on large screens (ads are letterboxed, never cropped). */
.mc-ad-corner--top .mc-ad__frame{ max-height:min(44vh, 400px); }

/* Tablets */
@media (max-width:1024px){
	.mc-ad__caption{ font-size:14px; }
}

/* Phones */
@media (max-width:720px){
	/* Very wide shapes get unreadably thin on phones — give them more height there. */
	.mc-ads--shape-21x9, .mc-ads--shape-3x1{ --mc-ad-ratio:16 / 9 !important; }
	.mc-ads--shape-8x1{ --mc-ad-ratio:4 / 1 !important; }
	.mc-ad__frame{ border-radius:var(--mc-radius); }
	.mc-ad-corner .mc-section__head{ margin-bottom:12px; }
	.mc-ad-corner--top{ padding:14px 0 16px; }
	.mc-ad-corner--top .mc-section__head{ margin-bottom:10px; }
	.mc-ad-corner--top .mc-section__title{ font-size:17px; }
	.mc-ad-corner--top .mc-eyebrow{ font-size:10.5px; }
	.mc-ads__label{ top:8px; left:8px; font-size:9.5px; padding:3px 7px; letter-spacing:.12em; }
	.mc-ad__caption{ padding-top:10px; gap:8px 12px; font-size:13.5px; line-height:1.4; }
	.mc-ad__cta{ margin-left:0; padding:8px 14px; font-size:12.5px; }
	.mc-ads__controls{ margin-top:8px; gap:6px; }
	.mc-ads--grid .mc-ads__list{ gap:18px; }
	.mc-ad-strip{ padding:16px 0; }
}
/* Touch screens: 40px tap targets for the arrows/pause (swipe also works) */
@media (pointer:coarse){
	.mc-ads__btn{ width:40px; height:40px; font-size:20px; }
	.mc-ads__pause{ font-size:12px; }
}
/* Hero / Discover search box on phones */
@media (max-width:480px){
	.mc-search-form{ padding:5px 5px 5px 14px; gap:8px; }
	.mc-search-form .mc-btn{ padding:10px 16px; font-size:14px; }
	.mc-search-form__input{ font-size:16px; } /* 16px stops iOS zooming in on focus */
}
/* Small phones (≤ 380px wide) */
@media (max-width:380px){
	.mc-ad-corner--top .mc-eyebrow{ display:none; }
	.mc-ads__controls{ gap:2px; }
	.mc-ad__caption-text{ flex:1 0 100%; }
}
@media (prefers-reduced-motion: reduce){
	.mc-ads__track, .mc-ads__viewport{ transition:none; }
	.mc-ad__link:hover .mc-ad__media--image{ transform:none; }
}

/* ==========================================================================
   Advertising tab on the Organizer Dashboard (MalluCanada Events plugin)
   ========================================================================== */
.mc-ads-dash__nav{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.mc-ads-dash__nav a{ padding:8px 16px; border-radius:999px; border:1px solid var(--mc-line); background:#fff; font-size:13.5px; font-weight:700; color:var(--mc-ink-70); }
.mc-ads-dash__nav a:hover{ border-color:var(--mc-green); color:var(--mc-green); }
.mc-ads-dash__nav a.is-active{ background:var(--mc-ink); border-color:var(--mc-ink); color:#fff; }
.mc-ads-dash__nav .mc-ads-dash__nav-ext{ margin-left:auto; border-color:transparent; background:transparent; color:var(--mc-green); }
.mc-ads-dash__head-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.mc-ads-dash__ad{ display:flex; align-items:center; gap:14px; min-width:240px; }
.mc-ads-dash__ad > span:last-child{ display:flex; flex-direction:column; gap:2px; }
.mc-ads-dash__thumb{ position:relative; flex:0 0 96px; width:96px; height:54px; border-radius:8px; overflow:hidden; background:var(--mc-brown); display:flex; align-items:center; justify-content:center; color:var(--mc-gold); }
.mc-ads-dash__thumb img{ width:100%; height:100%; object-fit:contain; }
.mc-ads-dash__play{ position:absolute; right:5px; bottom:4px; font-size:10px; background:rgba(0,0,0,.6); color:#fff; border-radius:999px; padding:2px 6px; }
.mc-ads-dash__foot{ margin-top:14px; }
.mc-ads-dash__foot a{ color:var(--mc-green-dark); font-weight:700; margin-left:6px; }
.mc-dash-grid.mc-ads-dash__editor-grid{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:start; }
.mc-ads-dash__side{ position:sticky; top:calc(var(--mc-header-h) + 16px); }
.mc-ads-dash__side .mc-ads{ margin-bottom:10px; }
.mc-ads-dash__side .mc-ad__frame{ border-radius:var(--mc-radius); box-shadow:none; }
.mc-ads-dash__facts{ margin-top:16px; }
.mc-ads-dash__facts a{ font-size:13px; font-weight:700; }
.mc-form__label{ display:block; font-size:12.5px; font-weight:700; color:var(--mc-ink-70); margin-bottom:8px; }
.mc-ads-dash__types{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mc-ads-dash__type{ position:relative; display:flex; align-items:center; gap:8px; padding:12px 14px; border:1.5px solid var(--mc-line); border-radius:var(--mc-radius-sm); font-size:13.5px; font-weight:600; cursor:pointer; background:#fff; }
.mc-ads-dash__type:has(input:checked){ border-color:var(--mc-green); background:rgba(31,111,84,.06); }
.mc-ads-dash__upload{ font-size:13px; color:var(--mc-ink-70); display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:4px; }
.mc-ads-dash__upload input[type=file]{ font-size:13px; max-width:100%; min-width:0; }
.mc-ad-editor input, .mc-ad-editor select{ max-width:100%; min-width:0; }
.mc-ads-dash__grid3{ grid-template-columns:1fr 1fr 110px; }
.mc-ad-editor .mc-ad-media-field{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.mc-ad-editor .mc-ad-media-field__preview{ flex:1 0 100%; margin-bottom:4px; }
.mc-ad-editor .mc-ad-media-field__pick{ padding:8px 14px; border-radius:999px; border:1px solid var(--mc-line); background:#fff; font-weight:700; font-size:13px; }
.mc-ad-editor .mc-ad-media-field__clear{ background:none; border:0; color:var(--mc-red); font-weight:700; font-size:13px; }
@media (max-width:900px){
	.mc-dash-grid.mc-ads-dash__editor-grid{ grid-template-columns:minmax(0,1fr); }
	.mc-ad-editor .mc-form__actions{ flex-wrap:wrap; }
	.mc-ad-editor .mc-form__actions .mc-btn{ flex:1 1 auto; }
	.mc-ads-dash__side{ position:static; }
	.mc-ads-dash__types{ grid-template-columns:1fr; }
	.mc-ads-dash__grid3{ grid-template-columns:1fr 1fr; }
	.mc-ads-dash__nav .mc-ads-dash__nav-ext{ margin-left:0; }
}

.mc-ads-dash__vidwarn{ color:var(--mc-red-dark) !important; font-weight:600; margin-top:4px; }

/* ==========================================================================
   Host accounts — log in / host sign-up / find my tickets
   ========================================================================== */
.mc-acc{ padding:48px 0 72px; background:var(--mc-cream-2); background-image:radial-gradient(ellipse at 15% 0%, rgba(227,163,53,.16), transparent 55%), radial-gradient(ellipse at 90% 100%, rgba(31,111,84,.10), transparent 55%); min-height:60vh; }

/* Auth (logged out) */
.mc-auth{ max-width:480px; margin:0 auto; }
.mc-auth__brand{ text-align:center; margin-bottom:22px; }
.mc-auth__title{ font-size:clamp(26px,4vw,34px); margin:8px 0 8px; }
.mc-auth__sub{ color:var(--mc-ink-70); margin:0 auto; max-width:400px; font-size:15px; }
.mc-auth__tabs{ display:grid; grid-template-columns:1fr 1fr; background:rgba(36,22,16,.06); border-radius:999px; padding:5px; margin-bottom:16px; }
.mc-auth__tabs a{ text-align:center; padding:10px 12px; border-radius:999px; font-weight:700; font-size:14.5px; color:var(--mc-ink-70); }
.mc-auth__tabs a.is-active{ background:#fff; color:var(--mc-ink); box-shadow:var(--mc-shadow-sm); }
.mc-auth__card{ background:#fff; border:1px solid var(--mc-line); border-radius:var(--mc-radius-lg); padding:28px; box-shadow:var(--mc-shadow); }
.mc-auth__lead{ color:var(--mc-ink-70); font-size:14.5px; margin:0 0 18px; }
.mc-auth__switch{ text-align:center; margin:18px 0 0; font-size:14.5px; color:var(--mc-ink-70); }
.mc-auth__switch a, .mc-acc-row a, .mc-acc-check a, .mc-acc-notice a, .mc-acc-field__hint a{ color:var(--mc-green-dark); font-weight:700; text-decoration:underline; text-underline-offset:2px; }

/* Form controls (theme-owned so they work even without the Events plugin) */
.mc-acc-form{ display:flex; flex-direction:column; gap:16px; }
.mc-acc-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.mc-acc-field__label{ font-size:13px; font-weight:700; color:var(--mc-ink-70); }
.mc-acc-field input, .mc-acc-field select, .mc-acc-pass input{
	width:100%; min-width:0; font:inherit; font-size:16px; /* 16px stops iOS zoom */ color:var(--mc-ink);
	padding:12px 14px; border:1.5px solid var(--mc-line); border-radius:12px; background:#fff;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.mc-acc-field input:focus, .mc-acc-field select:focus, .mc-acc-pass input:focus{ outline:0; border-color:var(--mc-green); box-shadow:0 0 0 4px rgba(31,111,84,.12); }
.mc-acc-field__hint{ font-size:12.5px; color:var(--mc-ink-50); }
.mc-acc-pass{ position:relative; display:block; }
.mc-acc-pass input{ padding-right:72px; }
.mc-acc-pass__toggle{ position:absolute; right:6px; top:50%; transform:translateY(-50%); border:0; background:var(--mc-cream-2); color:var(--mc-ink-70); font-weight:700; font-size:12.5px; padding:7px 11px; border-radius:999px; }
.mc-acc-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:14px; }
.mc-acc-check{ display:flex; align-items:flex-start; gap:9px; font-size:14px; color:var(--mc-ink-70); line-height:1.45; cursor:pointer; }
.mc-acc-check input{ width:18px; height:18px; margin:1px 0 0; accent-color:var(--mc-green); flex-shrink:0; }
.mc-acc-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mc-acc-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.mc-acc-form .mc-btn[disabled]{ opacity:.65; cursor:progress; }

/* Notices */
.mc-acc-notice{ padding:12px 16px; border-radius:12px; font-size:14px; line-height:1.5; margin-bottom:16px; }
.mc-acc-notice--ok{ background:rgba(31,111,84,.1); color:var(--mc-green-dark); border:1px solid rgba(31,111,84,.25); }
.mc-acc-notice--error{ background:rgba(200,31,43,.08); color:var(--mc-red-dark); border:1px solid rgba(200,31,43,.25); }
.mc-acc-notice--warn{ background:rgba(227,163,53,.14); color:#6b4a10; border:1px solid rgba(227,163,53,.4); display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.mc-acc-inline{ margin:0; }

/* Account (logged in) */
.mc-account{ max-width:900px; margin:0 auto; }
.mc-account__head{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; background:#fff; border:1px solid var(--mc-line); border-radius:var(--mc-radius-lg); padding:22px; margin-bottom:18px; box-shadow:var(--mc-shadow-sm); }
.mc-account__avatar{ width:58px; height:58px; border-radius:999px; background:var(--mc-red); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:22px; flex-shrink:0; }
.mc-account__who{ flex:1; min-width:180px; }
.mc-account__who h1{ font-size:24px; margin:0 0 2px; }
.mc-account__who p{ margin:0; color:var(--mc-ink-70); font-size:14px; overflow-wrap:anywhere; }
.mc-account__badge{ display:inline-block; margin-left:6px; padding:2px 9px; border-radius:999px; font-size:11px; font-weight:700; background:rgba(227,163,53,.18); color:#7a5512; vertical-align:middle; }
.mc-account__badge--ok{ background:rgba(31,111,84,.12); color:var(--mc-green-dark); }
.mc-account__head-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.mc-account__tabs{ display:flex; gap:6px; border-bottom:1px solid var(--mc-line); margin:6px 0 22px; overflow-x:auto; }
.mc-account__tabs a{ padding:11px 16px; font-weight:700; font-size:14.5px; color:var(--mc-ink-70); border-bottom:3px solid transparent; margin-bottom:-1px; white-space:nowrap; }
.mc-account__tabs a.is-active{ color:var(--mc-red); border-bottom-color:var(--mc-red); }
.mc-account__panel{ background:#fff; border:1px solid var(--mc-line); border-radius:var(--mc-radius-lg); padding:26px; max-width:620px; }
.mc-account__panel .mc-btn{ align-self:flex-start; }
.mc-account__h2{ font-size:18px; margin:6px 0 12px; }

/* Host sign-up / profile */
.mc-auth--wide{ max-width:620px; }
.mc-auth__foot{ text-align:center; margin:18px 0 0; font-size:14px; color:var(--mc-ink-70); }
.mc-auth__foot a{ color:var(--mc-green-dark); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.mc-acc-fieldset{ border:0; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; min-width:0; }
.mc-acc-fieldset + .mc-acc-fieldset{ border-top:1px solid var(--mc-line); padding-top:18px; }
.mc-acc-fieldset legend{ float:left; width:100%; padding:0; margin:0 0 2px; font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--mc-ink); }
.mc-acc-fieldset legend + *{ clear:both; }
.mc-acc-field textarea{ width:100%; min-width:0; font:inherit; font-size:16px; color:var(--mc-ink); padding:12px 14px; border:1.5px solid var(--mc-line); border-radius:12px; background:#fff; resize:vertical; min-height:84px; }
.mc-acc-field textarea:focus{ outline:0; border-color:var(--mc-green); box-shadow:0 0 0 4px rgba(31,111,84,.12); }
.mc-acc-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.mc-account__panel{ max-width:680px; }

/* Host status banner */
.mc-host-status{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:16px 18px; border-radius:var(--mc-radius); margin-bottom:16px; border:1px solid; }
.mc-host-status > div:not(.mc-host-status__actions){ flex:1; min-width:200px; }
.mc-host-status strong{ display:block; font-size:15.5px; }
.mc-host-status p{ margin:3px 0 0; font-size:14px; line-height:1.5; opacity:.9; }
.mc-host-status__icon{ width:38px; height:38px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; flex-shrink:0; background:#fff; }
.mc-host-status__actions{ display:flex; gap:8px; flex-wrap:wrap; }
.mc-host-status--ok{ background:rgba(31,111,84,.09); border-color:rgba(31,111,84,.25); color:var(--mc-green-dark); }
.mc-host-status--wait{ background:rgba(227,163,53,.13); border-color:rgba(227,163,53,.4); color:#6b4a10; }
.mc-host-status--off{ background:rgba(200,31,43,.07); border-color:rgba(200,31,43,.25); color:var(--mc-red-dark); }

/* Header account button: initials when logged in */
.mc-account-btn__initial{ font-family:var(--font-display); font-weight:700; font-size:14px; }
.mc-account-btn.is-logged-in{ background:var(--mc-red); border-color:var(--mc-red); color:#fff; }

@media (max-width:720px){
	.mc-acc{ padding:24px 0 48px; }
	.mc-auth__card{ padding:20px; border-radius:var(--mc-radius); }
	.mc-acc-grid2{ grid-template-columns:1fr; gap:16px; }
	.mc-account__head{ padding:16px; }
	.mc-account__head-actions{ width:100%; }
	.mc-account__head-actions .mc-btn{ flex:1; }
	.mc-account__panel{ padding:18px; }
	.mc-host-status__actions{ width:100%; }
	.mc-host-status__actions .mc-btn, .mc-acc-actions .mc-btn{ flex:1; }
}

.mc-mobile-menu__logout{ display:block; text-align:center; padding:10px; font-size:14px; font-weight:600; color:rgba(255,255,255,.75); text-decoration:underline; text-underline-offset:3px; }
.mc-mobile-menu__logout:hover{ color:#fff; }

/* Confirm password — live match indicator */
.mc-acc-match{ display:block; min-height:1.2em; font-weight:600; }
.mc-acc-match.is-ok{ color:var(--mc-green,#1f6f54); }
.mc-acc-match.is-bad{ color:var(--mc-red,#c81f2b); }

/* ============================================================
   About Us page
   ============================================================ */
.mc-about-hero{ position:relative; background:var(--mc-green-dark); background-image:radial-gradient(ellipse at 75% -10%, rgba(227,163,53,.22), transparent 55%); color:#fff; padding:72px 0 86px; text-align:center; }
.mc-about-hero__inner{ max-width:780px; }
.mc-about-hero__title{ color:#fff; font-size:clamp(30px,4.6vw,52px); line-height:1.08; margin:10px 0 0; }
.mc-about-hero__intro{ margin:18px auto 0; max-width:620px; font-size:clamp(16px,1.6vw,18px); line-height:1.6; color:rgba(255,255,255,.88); }
.mc-about-hero__wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:70px; fill:var(--mc-cream); }

.mc-about-mission{ max-width:760px; }
.mc-about-mission__body{ font-size:17px; line-height:1.75; color:var(--mc-ink-70); }
.mc-about-mission__body p{ margin:0 0 16px; }

.mc-about-values{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mc-about-value{ background:#fff; border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:26px 22px; }
.mc-about-value__icon{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px; background:rgba(31,111,84,.1); color:var(--mc-green); margin-bottom:14px; }
.mc-about-value__title{ font-size:18px; margin:0 0 8px; }
.mc-about-value__text{ font-size:14.5px; line-height:1.6; color:var(--mc-ink-70); margin:0; }

.mc-about-team{ display:flex; flex-wrap:wrap; justify-content:center; gap:24px; }
.mc-about-team__card{ display:flex; gap:22px; align-items:center; background:#fff; border:1px solid var(--mc-line); border-radius:var(--mc-radius-lg); padding:28px 32px; max-width:620px; box-shadow:0 18px 40px rgba(36,22,16,.08); }
.mc-about-team--multi .mc-about-team__card{ flex:1 1 430px; max-width:580px; }
.mc-about-team__photo{ width:110px; height:110px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.mc-about-team__avatar{ width:96px; height:96px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--mc-green-dark); color:#fff; font-family:var(--font-head,serif); font-size:40px; font-weight:700; }
.mc-about-team__name{ font-size:20px; font-weight:700; margin:0; }
.mc-about-team__role{ color:var(--mc-green); font-weight:700; font-size:13.5px; margin:2px 0 10px; }
.mc-about-team__bio{ color:var(--mc-ink-70); font-size:15px; line-height:1.6; margin:0 0 12px; }
.mc-about-team__links{ display:flex; gap:10px; }
.mc-about-team__links a{ width:36px; height:36px; border-radius:50%; border:1px solid var(--mc-line); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--mc-ink); text-decoration:none; }
.mc-about-team__links a:hover{ background:var(--mc-ink); color:#fff; border-color:var(--mc-ink); }

.mc-about-cta{ margin-top:0; }

@media (max-width:900px){
	.mc-about-values{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
	.mc-about-values{ grid-template-columns:1fr; }
	.mc-about-team__card{ flex-direction:column; text-align:center; padding:26px 22px; }
	.mc-about-team__links{ justify-content:center; }
}

/* ============================================================
 * Contact page
 * ============================================================ */
.mc-contact-hero .mc-about-hero__intro { max-width: 680px; }

.mc-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.mc-contact-grid--cards-only { grid-template-columns: 1fr; max-width: 820px; }

.mc-contact-cards { display: flex; flex-direction: column; gap: 16px; }

.mc-contact-card {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: var(--mc-white);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius);
	padding: 20px 22px;
	box-shadow: var(--mc-shadow-sm);
	transition: transform .18s ease, box-shadow .18s ease;
}
.mc-contact-card:hover { transform: translateY(-2px); box-shadow: var(--mc-shadow); }
.mc-contact-card__icon {
	flex: none;
	width: 46px; height: 46px;
	display: grid; place-items: center;
	border-radius: 12px;
	background: rgba(31,111,84,.1);
	color: var(--mc-green);
}
.mc-contact-card__icon svg { fill: currentColor; }
.mc-contact-card__title { margin: 2px 0 4px; font-size: 1.02rem; color: var(--mc-ink); }
.mc-contact-card__value {
	display: inline-block;
	font-weight: 600;
	color: var(--mc-green-dark);
	text-decoration: none;
	word-break: break-word;
}
a.mc-contact-card__value:hover { color: var(--mc-red); text-decoration: underline; }
.mc-contact-card__note { margin: 6px 0 0; font-size: .9rem; color: var(--mc-ink-70); line-height: 1.5; }

.mc-contact-social { margin-top: 24px; }
.mc-contact-social__label {
	display: block;
	font-size: .8rem; letter-spacing: .08em; text-transform: uppercase;
	color: var(--mc-ink-50); margin-bottom: 10px;
}
.mc-contact-social__links { display: flex; gap: 10px; }
.mc-contact-social__links a {
	width: 40px; height: 40px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--mc-cream-2);
	color: var(--mc-green-dark);
	font-size: 1.05rem; text-decoration: none;
	transition: background .18s ease, color .18s ease;
}
.mc-contact-social__links a:hover { background: var(--mc-green); color: #fff; }

/* Contact form */
.mc-contact-form-wrap {
	background: var(--mc-white);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius-lg);
	padding: 34px;
	box-shadow: var(--mc-shadow);
}
.mc-contact-form__title { margin: 0 0 6px; font-size: 1.4rem; }
.mc-contact-form__lead { margin: 0 0 22px; color: var(--mc-ink-70); }
.mc-contact-form { display: flex; flex-direction: column; gap: 16px; }
.mc-contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mc-field { display: flex; flex-direction: column; gap: 6px; }
.mc-field__label { font-size: .9rem; font-weight: 600; color: var(--mc-ink); }
.mc-field__req { color: var(--mc-red); }
.mc-field input,
.mc-field textarea {
	width: 100%;
	font: inherit;
	color: var(--mc-ink);
	background: var(--mc-cream);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius-sm);
	padding: 11px 13px;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.mc-field input:focus,
.mc-field textarea:focus {
	outline: none;
	background: #fff;
	border-color: var(--mc-green);
	box-shadow: 0 0 0 3px rgba(31,111,84,.14);
}
.mc-field textarea { resize: vertical; min-height: 130px; }
.mc-contact-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mc-contact-form__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.mc-contact-form__msg { margin: 0; font-size: .92rem; font-weight: 500; color: var(--mc-green-dark); }

@media (max-width: 900px) {
	.mc-contact-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 520px) {
	.mc-contact-form-wrap { padding: 24px 20px; }
	.mc-contact-form__row { grid-template-columns: 1fr; }
}

/* ============================================================
 * Footer legal links + legal/prose pages (Privacy Policy)
 * ============================================================ */
.mc-footer__legal { display:flex; gap:20px; flex-wrap:wrap; }
.mc-footer__legal a:hover { color:#fff; }

.mc-legal-hero { padding: 60px 0 76px; }
.mc-legal-hero .mc-about-hero__title { margin: 0; }
.mc-legal { max-width: 820px; }
.mc-legal__updated { color: var(--mc-ink-50); font-size: .9rem; margin: 0 0 22px; }

.mc-prose { color: var(--mc-ink-70); line-height: 1.7; }
.mc-prose h2 { color: var(--mc-ink); font-size: 1.3rem; margin: 34px 0 10px; }
.mc-prose h3 { color: var(--mc-ink); font-size: 1.08rem; margin: 24px 0 8px; }
.mc-prose p { margin: 0 0 14px; }
.mc-prose ul { margin: 0 0 16px; padding-left: 22px; list-style: disc; }
.mc-prose li { margin: 0 0 8px; }
.mc-prose a { color: var(--mc-green-dark); text-decoration: underline; }
.mc-prose a:hover { color: var(--mc-red); }
.mc-prose em { color: var(--mc-ink-50); }
