/* =========================================================
   MariaCheck · Tema México editorial
   Paleta: verde, blanco y rojo. Más limpio, humano y menos "template AI".
   Se carga al final para sobreescribir estilos antiguos negro/oro.
   ========================================================= */

:root {
	--c-bg: #f7f4ed;
	--c-bg-2: #fffdf8;
	--c-surface: #ffffff;
	--c-surface-2: #f1f6f2;
	--c-line: rgba(13, 68, 49, .13);
	--c-line-strong: rgba(13, 68, 49, .22);
	--c-text: #16251d;
	--c-text-soft: #52645a;
	--c-text-muted: #7a8981;

	/* Compatibilidad con estilos existentes: "gold" ahora representa verde. */
	--c-gold: #0b6b45;
	--c-gold-2: #159a63;
	--c-gold-deep: #074c34;
	--c-ruby: #c51f32;
	--c-ruby-2: #e24855;
	--c-success: #0b6b45;
	--c-danger: #c51f32;

	--font-display: 'Fraunces', Georgia, serif;
	--font-body: 'Source Sans 3', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	--shadow-sm: 0 2px 10px rgba(13, 68, 49, .08);
	--shadow: 0 16px 42px rgba(13, 68, 49, .10);
	--shadow-lg: 0 24px 70px rgba(13, 68, 49, .14);
	--shadow-gold: 0 14px 34px rgba(11, 107, 69, .22);

	--g-gold: linear-gradient(135deg, #0b6b45 0%, #12895b 55%, #0f5b3d 100%);
	--g-ruby: linear-gradient(135deg, #c51f32 0%, #e24855 100%);
	--g-dark: linear-gradient(180deg, #fffdf8 0%, #f7f4ed 100%);
	--g-mesh:
		radial-gradient(900px 520px at 12% -10%, rgba(11,107,69,.13), transparent 62%),
		radial-gradient(850px 480px at 96% 6%, rgba(197,31,50,.10), transparent 58%),
		radial-gradient(900px 560px at 50% 110%, rgba(255,255,255,.75), transparent 68%),
		linear-gradient(180deg, #fffdf8 0%, #f7f4ed 100%);
}

html { background: var(--c-bg); }
body {
	background: var(--c-bg);
	background-image: var(--g-mesh);
	color: var(--c-text);
	font-weight: 430;
	letter-spacing: 0;
}

a { color: var(--c-gold); }
a:hover { color: var(--c-ruby); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 650;
	letter-spacing: -.025em;
	color: var(--c-text);
}

h1 { line-height: .98; }
h2 { line-height: 1.05; }
.muted { color: var(--c-text-soft); }
.small { color: inherit; }

/* Header limpio */
.site-header,
.site-header.is-scrolled {
	background: rgba(255,253,248,.88);
	border-bottom: 1px solid var(--c-line);
	box-shadow: 0 10px 30px rgba(13, 68, 49, .07);
}
.site-header--minimal { background: transparent; box-shadow: none; border-bottom: 0; }
.site-brand__logo { filter: drop-shadow(0 3px 10px rgba(11,107,69,.18)); }
.site-brand__text strong { color: var(--c-text); }
.site-brand__text small { color: var(--c-ruby); letter-spacing: .22em; }
.site-nav a { color: var(--c-text-soft); font-weight: 600; }
.site-nav a:hover,
.site-nav a.is-active { color: var(--c-gold); }
.site-nav a::after { background: linear-gradient(90deg, var(--c-gold), #fff, var(--c-ruby)); }
.site-nav__toggle { color: var(--c-text); background: #fff; border-color: var(--c-line-strong); }

@media (max-width: 880px) {
	.site-nav {
		background: rgba(255,253,248,.98);
		border-bottom: 1px solid var(--c-line);
		box-shadow: 0 20px 40px rgba(13, 68, 49, .12);
	}
	.site-nav a.is-active { background: rgba(11,107,69,.08); color: var(--c-gold); }
}

/* Botones menos brillosos, más editorial */
.btn { border-radius: 14px; letter-spacing: 0; font-weight: 700; }
.btn:hover { transform: translateY(-1px); }
.btn-primary {
	background: linear-gradient(135deg, var(--c-gold), #13895d);
	color: #fff;
	box-shadow: 0 14px 30px rgba(11,107,69,.24);
}
.btn-primary:hover { color: #fff; box-shadow: 0 16px 38px rgba(11,107,69,.30); }
.btn-outline {
	background: rgba(255,255,255,.64);
	color: var(--c-gold);
	border-color: rgba(11,107,69,.24);
}
.btn-outline:hover { border-color: var(--c-ruby); color: var(--c-ruby); background: #fff; }
.btn-ghost { color: var(--c-text-soft); }
.btn-ghost:hover { color: var(--c-gold); background: rgba(11,107,69,.08); }
.btn-danger { background: var(--c-ruby); color: #fff; }
.btn-success { background: var(--c-gold); color: #fff; }
.btn-google { background:#fff; color:#253028; border-color: rgba(13,68,49,.16); box-shadow: 0 10px 24px rgba(13,68,49,.08); }
.btn-google:hover { background:#fffdf8; color:#253028; box-shadow: 0 14px 30px rgba(13,68,49,.12); }

/* Tarjetas y superficies */
.surface-card,
.glass-card,
.feature,
.step-card,
.testimonial,
.solicitud-summary,
.auth-card,
.stats-bar,
.profile-aside,
.lookup-box {
	background: rgba(255,255,255,.86);
	border: 1px solid var(--c-line);
	box-shadow: var(--shadow);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.surface-card { background: rgba(255,255,255,.90); }
.glass-card { background: rgba(255,255,255,.68); }
.section--alt { background: linear-gradient(180deg, transparent, rgba(11,107,69,.045) 18%, rgba(197,31,50,.035) 72%, transparent); }
.section__eyebrow { color: var(--c-ruby); letter-spacing: .18em; }

/* Inputs */
label { color: var(--c-text-soft); font-weight: 700; }
.input,
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="date"], input[type="time"], input[type="password"], select, textarea {
	background: #fff;
	border-color: rgba(13,68,49,.18);
	color: var(--c-text);
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.input:focus, input:focus, select:focus, textarea:focus {
	border-color: var(--c-gold);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(11,107,69,.13);
}
::placeholder { color: #9aa69f; }
select option { background:#fff; color:var(--c-text); }

/* Badges y alertas */
.badge { background:#f4f8f4; color:var(--c-text-soft); border-color: rgba(13,68,49,.14); }
.badge--gold { background: rgba(11,107,69,.10); color: var(--c-gold); border-color: rgba(11,107,69,.24); }
.badge--success, .badge--ok { background: rgba(11,107,69,.12); color: var(--c-gold-deep); border-color: rgba(11,107,69,.26); }
.badge--danger, .badge--busy { background: rgba(197,31,50,.11); color: var(--c-ruby); border-color: rgba(197,31,50,.26); }
.alert { background:#fff; border-color: var(--c-line-strong); color: var(--c-text); }
.alert-success { background: rgba(11,107,69,.09); color: var(--c-gold-deep); border-color: rgba(11,107,69,.24); }
.alert-danger { background: rgba(197,31,50,.09); color:#8d1423; border-color: rgba(197,31,50,.24); }
.alert-info { background: rgba(11,107,69,.08); color: var(--c-gold-deep); border-color: rgba(11,107,69,.18); }

/* Hero público clásico */
.hero,
.page-header {
	background:
		radial-gradient(720px 420px at 18% 10%, rgba(11,107,69,.16), transparent 60%),
		radial-gradient(620px 420px at 88% 72%, rgba(197,31,50,.12), transparent 58%),
		linear-gradient(180deg, #fffdf8 0%, #f7f4ed 100%);
	border-bottom: 1px solid var(--c-line);
}
.hero::before { opacity: .12; filter: grayscale(1); }
.hero__eyebrow { background: rgba(11,107,69,.09); color: var(--c-gold); border-color: rgba(11,107,69,.20); }
.hero__title em { background: linear-gradient(90deg, var(--c-gold), var(--c-ruby)); -webkit-background-clip:text; background-clip:text; }
.hero__lead,
.hero__highlight { color: var(--c-text-soft); }
.hero__highlight i { color: var(--c-ruby); }
.hero__card-main { background:#fff; color:var(--c-text); border-color:var(--c-line); }
.hero__card-main .icon-circle,
.step-card::before,
.testimonial__avatar,
.profile-avatar,
.hero-login__avatar,
.dash__avatar,
.mariachi-card__pic,
.musico-head__pic { background: linear-gradient(135deg, var(--c-gold), #fff, var(--c-ruby)); color: var(--c-text); box-shadow: var(--shadow); }
.hero__card-bg { background: linear-gradient(135deg, rgba(197,31,50,.18), rgba(197,31,50,.05)); box-shadow:none; }
.hero__card-bg-2 { background: linear-gradient(135deg, rgba(11,107,69,.18), rgba(11,107,69,.05)); border-color: rgba(11,107,69,.18); }

/* Home nuevo */
.hero-home { padding: clamp(4rem, 8vw, 6.5rem) 0 4rem; }
.hero-home__bg {
	background:
		linear-gradient(120deg, rgba(11,107,69,.12), transparent 32%),
		radial-gradient(780px 480px at 82% 18%, rgba(197,31,50,.12), transparent 58%),
		linear-gradient(180deg, #fffdf8 0%, #f7f4ed 100%);
}
.hero-home__text .eyebrow { color: var(--c-ruby); letter-spacing:.11em; }
.hero-home__text h1 { font-family: var(--font-display); color: var(--c-text); font-weight: 650; }
.hero-home__text h1 span { color: var(--c-gold); }
.hero-home__text p,
.hero-home__bullets { color: var(--c-text-soft); }
.hero-home__bullets li { background: rgba(255,255,255,.70); border:1px solid var(--c-line); border-radius: 999px; padding:.45rem .8rem; }
.hero-home__bullets li i { color: var(--c-ruby); }
.hero-home__art img { filter: drop-shadow(0 18px 30px rgba(11,107,69,.18)); }

.carousel__track::-webkit-scrollbar-thumb { background: rgba(11,107,69,.24); }
.carousel__btn { background:#fff; color:var(--c-gold); border:1px solid var(--c-line); box-shadow: var(--shadow-sm); }
.carousel__btn:hover { background:#f2faf5; color:var(--c-ruby); }
.m-card { background:#fff; border:1px solid var(--c-line); box-shadow: var(--shadow-sm); }
.m-card:hover { box-shadow: var(--shadow-lg); }
.m-card__pic { background:#edf5ef; }
.m-card__pic span { color: var(--c-gold); font-family: var(--font-display); }
.m-card__status { background: rgba(255,255,255,.92); color: var(--c-text); border:1px solid rgba(13,68,49,.14); }
.m-card__status--ok i { color: var(--c-gold); }
.m-card__status--busy i { color: var(--c-ruby); }
.m-card__verified { background: var(--c-gold); color: #fff; }
.m-card__meta { color: var(--c-text-soft); }
.how-card { background:#fff; border:1px solid var(--c-line); box-shadow: var(--shadow-sm); }
.how-card__num { background: var(--c-ruby); color: #fff; }
.how-card > i { color: var(--c-gold); }
.section--cta .cta-banner,
.cta-banner {
	background:
		linear-gradient(90deg, rgba(11,107,69,.10), rgba(255,255,255,.88), rgba(197,31,50,.10));
	border: 1px solid rgba(13,68,49,.16);
	box-shadow: var(--shadow);
	color: var(--c-text);
}
.cta-banner h2 { color: var(--c-text); }
.cta-banner p { color: var(--c-text-soft); }
.cta-banner .btn { background: var(--g-gold); color:#fff; }

/* Auth / gate */
.is-gate { background: var(--c-bg); }
.gate__bg {
	background:
		radial-gradient(circle at 18% 18%, rgba(11,107,69,.14), transparent 44%),
		radial-gradient(circle at 82% 70%, rgba(197,31,50,.12), transparent 48%),
		linear-gradient(180deg, #fffdf8, #f7f4ed);
	filter: blur(18px);
}
.gate__brand img { filter: drop-shadow(0 8px 18px rgba(11,107,69,.18)); }
.gate__brand h1 span { color: var(--c-gold); }
.gate__brand p { color: var(--c-text-soft); }
.gate__card { background: rgba(255,255,255,.92); box-shadow: var(--shadow-lg); border:1px solid var(--c-line); }
.gate__tabs { background: rgba(11,107,69,.08); }
.gate__tab { color: var(--c-text-soft); }
.gate__tab.is-active { background: var(--c-gold); color:#fff; box-shadow: 0 6px 18px rgba(11,107,69,.20); }
.gate__form label { color: var(--c-text-soft); }
.gate__foot { border-top-color: var(--c-line); }
.gate__legal a,
.site-footer--minimal a { color: var(--c-gold); }
.gate__alt { background:#fff; border-color: rgba(11,107,69,.24); }
.gate__alt:hover { background:#f2faf5; border-color: var(--c-gold); }
.gate__alt strong,
.gate__alt > i { color: var(--c-gold); }

/* Dashboards / perfiles */
.dash__hello-text small,
.dash__info dt,
.dash__stat small,
.dash__tile small,
.solicitud-row__meta,
.musico-head__stats small { color: var(--c-text-muted); }
.dash__stat,
.dash__tile,
.solicitud-row,
.rep-list li,
.addr-list li { background: rgba(255,255,255,.72); border-color: var(--c-line); }
.solicitud-row:hover,
.dash__tile:hover { background:#fff; border-color: rgba(11,107,69,.28); }
.solicitud-row__date { background: rgba(11,107,69,.08); border-color: rgba(11,107,69,.18); color: var(--c-gold); }
.dash__cta { background: linear-gradient(90deg, rgba(11,107,69,.10), rgba(197,31,50,.06)); border-color: rgba(11,107,69,.18); }
.dash__cta small { color: var(--c-ruby); }
.dash__cta p { color: var(--c-text-soft); }
.dash__cta-icon { background: var(--c-gold); color:#fff; box-shadow: var(--shadow-sm); }
.dash__block h3 i,
.empty-state i,
.rep-public li i,
.mariachi-card__meta i { color: var(--c-gold); }
.dash__stat strong,
.musico-head__stats strong { color: var(--c-gold); }
.tabs { background: rgba(255,255,255,.68); border-color: var(--c-line); }
.tabs .tab { color: var(--c-text-soft); }
.tabs .tab:hover { background: rgba(11,107,69,.08); color: var(--c-gold); }
.tabs .tab.is-active { background: var(--c-gold); color:#fff; box-shadow: 0 8px 18px rgba(11,107,69,.18); }
.check { color: var(--c-text-soft); }
.check input[type=checkbox], .check input[type=radio] { accent-color: var(--c-gold); }
#mariachi-map { background:#e9f2ec; border:1px solid var(--c-line); }
.dash__info dd { color: var(--c-text); }
.dash__info dd code { background: rgba(11,107,69,.08); color: var(--c-gold-deep); }

/* Listados públicos */
.mariachi-card { background:#fff; border-color: var(--c-line); box-shadow: var(--shadow-sm); }
.mariachi-card:hover { border-color: rgba(11,107,69,.28); box-shadow: var(--shadow); }
.mariachi-card h3,
.musico-head h1 { color: var(--c-text); }
.musico-gallery a { background:#edf5ef; border:1px solid var(--c-line); }
.musico-videos iframe,
.musico-videos video { background:#0d4431; }
.stars { color: var(--c-ruby); }
.stars .muted-star { color: rgba(13,68,49,.20); }
.review { border-top-color: var(--c-line); }
.review__date { color: var(--c-text-muted); }

/* Footer */
.site-footer {
	background: linear-gradient(180deg, transparent, rgba(11,107,69,.07) 42%);
	border-top-color: var(--c-line);
}
.site-footer__col h6 { color: var(--c-ruby); }
.site-footer__links a { color: var(--c-text-soft); }
.site-footer__links a:hover { color: var(--c-gold); }
.site-footer__bottom { border-top-color: var(--c-line); }
.site-footer__social a { color: var(--c-text-soft); border-color: var(--c-line-strong); background:#fff; }
.site-footer__social a:hover { color:#fff; border-color:var(--c-gold); background:var(--c-gold); }
.bottom-nav { background: rgba(255,253,248,.95); border-top-color: var(--c-line); }
.bottom-nav a { color: var(--c-text-muted); }
.bottom-nav a.is-active { color: var(--c-gold); }

/* Admin también adopta el tema */
.admin-body { background: var(--c-bg); color: var(--c-text); }
.admin-topbar { background:#fff; border-bottom-color: var(--c-line); }
.admin-sidebar { background:#fffdf8; border-right-color: var(--c-line); }
.admin-sidebar a { color: var(--c-text-soft); }
.admin-sidebar a:hover,
.admin-sidebar a.is-active { background: rgba(11,107,69,.09); color: var(--c-gold); }

::selection { background: var(--c-ruby); color:#fff; }
::-webkit-scrollbar-track { background: var(--c-bg); }
::-webkit-scrollbar-thumb { background: rgba(11,107,69,.28); }
::-webkit-scrollbar-thumb:hover { background: var(--c-gold); }

@media (max-width: 560px) {
	.container { padding-inline: 1rem; }
	.surface-card { padding: 1.1rem; }
	.btn { border-radius: 12px; }
}

/* =========================================================
   Assets oficiales adjuntos: logo + fondos MariaCheck
   ========================================================= */
body {
	background-color: #fffdf8;
	background-image:
		url('/assets/img/brand/bg-fiesta-2.png'),
		url('/assets/img/brand/bg-fiesta-1.png'),
		var(--g-mesh);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: right -320px top 120px, left -340px bottom -180px, center;
	background-size: 720px auto, 760px auto, cover;
	background-blend-mode: soft-light, soft-light, normal;
}

.site-brand { gap: .55rem; }
.site-brand__logo--horizontal {
	width: clamp(150px, 16vw, 210px);
	height: auto;
	max-height: 58px;
	object-fit: contain;
	filter: none;
}
.site-brand__logo--icon {
	width: 44px;
	height: 44px;
	object-fit: contain;
	filter: none;
}
.site-brand__text { display: flex; }
.site-brand__text strong { font-size: 1.15rem; }
.site-brand__text small { font-size: .62rem; }

.site-header__inner { padding-block: .7rem; }
.site-header--minimal .site-brand__logo--horizontal { width: clamp(160px, 20vw, 230px); }
.site-brand--footer .site-brand__logo--horizontal { width: 220px; max-height: 70px; }
.admin-brand img { width: 180px; height: auto; display: block; }
.admin-brand { display: inline-flex; align-items: center; }

@media (max-width: 560px) {
	.site-brand__logo--horizontal { width: 148px; }
	.site-brand__logo--icon { width: 38px; height: 38px; }
	.site-brand__text strong { font-size: 1rem; }
	.site-brand__text small { font-size: .55rem; letter-spacing: .18em; }
	.site-header__inner { padding-block: .55rem; }
}

/* Home con fondos oficiales */
.hero-home {
	min-height: min(760px, calc(100vh - 76px));
	display: grid;
	align-items: center;
	background: #fffdf8;
}
.hero-home__bg {
	background-image:
		linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.90) 42%, rgba(255,253,248,.52) 100%),
		linear-gradient(130deg, rgba(11,107,69,.18), transparent 38%),
		linear-gradient(320deg, rgba(197,31,50,.16), transparent 42%),
		url('/assets/img/brand/bg-fiesta-3.png');
	background-size: cover, cover, cover, cover;
	background-position: center, center, center, right center;
}
.hero-home__text .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: rgba(197,31,50,.08);
	border: 1px solid rgba(197,31,50,.18);
}
.hero-home__text h1 {
	max-width: 10ch;
	font-size: clamp(3rem, 7vw, 5.9rem);
	letter-spacing: -.055em;
}
.hero-home__text h1 span {
	color: var(--c-ruby);
}
.hero-home__text p {
	font-size: clamp(1.05rem, 1.7vw, 1.25rem);
	color: #42544a;
}
.hero-home__art {
	position: relative;
	min-height: 430px;
	align-items: center;
}
.hero-home__poster {
	width: min(520px, 100%);
	border-radius: 34px;
	box-shadow: 0 28px 80px rgba(13,68,49,.20);
	transform: rotate(2deg);
	border: 10px solid rgba(255,255,255,.72);
}
.hero-home__stamp {
	position: absolute;
	left: -26px;
	bottom: 22px;
	width: clamp(98px, 12vw, 148px) !important;
	height: auto;
	filter: drop-shadow(0 16px 28px rgba(197,31,50,.20));
}

@media (max-width: 880px) {
	body {
		background-size: 520px auto, 560px auto, cover;
		background-position: right -260px top 80px, left -270px bottom -120px, center;
	}
	.hero-home { min-height: auto; padding-top: 2.4rem; }
	.hero-home__bg {
		background-image:
			linear-gradient(180deg, rgba(255,253,248,.97), rgba(255,253,248,.82)),
			url('/assets/img/brand/bg-fiesta-3.png');
		background-position: center, center bottom;
	}
	.hero-home__inner { gap: 1.75rem; }
	.hero-home__text h1 { max-width: none; font-size: clamp(2.28rem, 10vw, 3.35rem); line-height: 1; }
	.hero-home__text p { font-size: 1.02rem; }
	.hero-home__bullets { gap: .55rem; margin-top: 1.2rem; }
	.hero-home__bullets li { font-size: .88rem; padding: .35rem .65rem; }
	.hero-home__art { min-height: auto; }
	.hero-home__poster { width: min(310px, 78%); transform: rotate(0); }
	.hero-home__stamp { left: 7%; bottom: -10px; width: 92px !important; }
}

@media (max-width: 520px) {
	.hero-home { padding-bottom: 2.6rem; }
	.hero-home__text .eyebrow { font-size: .68rem; letter-spacing: .12em; }
	.hero-home__text h1 { font-size: clamp(2.15rem, 9.6vw, 2.9rem); }
	.hero-home__cta .btn { width: 100%; }
	.hero-home__poster { width: min(260px, 72%); }
	.hero-home__stamp { width: 72px !important; }
}

/* Cards y secciones con identidad mexicana sobria */
.section__head h2 { letter-spacing: -.04em; }
.section__eyebrow i[style] { color: currentColor !important; }

.surface-card,
.m-card,
.how-card,
.cta-banner {
	border-radius: 24px;
}

.m-card {
	overflow: hidden;
	background: rgba(255,255,255,.94);
}
.m-card__pic {
	background:
		linear-gradient(135deg, rgba(11,107,69,.08), rgba(197,31,50,.08)),
		#f1f6f2;
}
.m-card__body h3 { font-family: var(--font-body); font-weight: 800; letter-spacing: -.02em; }
.m-card__verified { background: var(--c-ruby); }
.m-card__status--ok { color: var(--c-gold-deep); }
.m-card__status--busy { color: var(--c-ruby); }

.how-grid { gap: 1.4rem; }
.how-card {
	text-align: left;
	padding: 2rem;
	background:
		linear-gradient(160deg, #fff, rgba(255,255,255,.82)),
		linear-gradient(90deg, rgba(11,107,69,.08), rgba(197,31,50,.06));
}
.how-card__num {
	left: 2rem;
	top: -16px;
	transform: none;
}
.how-card > i { margin-top: 1rem; }

.cta-banner {
	background-image:
		linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.74)),
		url('/assets/img/brand/bg-fiesta-1.png');
	background-size: cover;
	background-position: center;
}

/* Login / admin / panel con fondo oficial más ligero */
.gate__bg {
	background-image:
		linear-gradient(180deg, rgba(255,253,248,.96), rgba(247,244,237,.90)),
		url('/assets/img/brand/bg-fiesta-2.png');
	background-size: cover;
	background-position: center;
	filter: none;
}
.gate__brand img:not(.site-brand__logo) {
	content: url('/assets/img/brand/logo-horizontal.png');
	width: min(260px, 82vw);
	height: auto;
	margin-inline: auto;
	filter: none;
}

/* Evita remanentes visuales oro/negro del tema anterior */
.stars { color: var(--c-ruby) !important; }
.empty-state i,
.dash__block h3 i,
.rep-public li i,
.mariachi-card__meta i,
.hero-home__bullets li i { color: var(--c-ruby); }
.btn-whatsapp { background: linear-gradient(135deg, #0b6b45, #159a63); }

/* =========================================================
   Home básico + accesos claros
   ========================================================= */
.hero-home--simple {
	min-height: clamp(420px, 62vh, 620px);
	padding: clamp(3rem, 7vw, 5rem) 0;
	background: #fffdf8;
}
.hero-home--simple .hero-home__bg {
	background-image:
		linear-gradient(180deg, rgba(255,253,248,.96), rgba(255,253,248,.88)),
		url('/assets/img/brand/bg-fiesta-4.png');
	background-size: cover;
	background-position: center;
	opacity: .9;
}
.hero-home__inner--simple {
	display: flex;
	justify-content: center;
	text-align: center;
}
.hero-home__text--simple {
	max-width: 760px;
	margin-inline: auto;
}
.hero-home__logo {
	width: min(360px, 82vw);
	height: auto;
	margin: 0 auto 1.2rem;
}
.hero-home__text--simple h1 {
	margin: .25rem 0 1.45rem;
	font-family: var(--font-body);
	font-size: clamp(1.35rem, 3vw, 2.15rem);
	font-weight: 600;
	letter-spacing: -.025em;
	color: #34463d;
}
.hero-home__cta--simple {
	justify-content: center;
	gap: .75rem;
}
.hero-home__cta--simple .btn {
	border-radius: 10px;
	box-shadow: none;
	padding-inline: 1.35rem;
}
.section--profiles {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}
.section__head--simple {
	text-align: left;
	max-width: none;
	margin-bottom: 1.5rem;
}
.section__head--simple h2 {
	font-family: var(--font-body);
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	font-weight: 800;
}
.carousel--profiles .carousel__track > * {
	flex-basis: 260px;
}

.access-menu__trigger {
	background: #fff;
	border-radius: 10px;
	padding: .55rem .85rem;
	font-weight: 800;
	color: var(--c-text);
}
.access-menu__trigger.is-active,
.access-menu__trigger:hover {
	border-color: rgba(11,107,69,.28);
	color: var(--c-gold);
}
.access-menu__dropdown {
	background: #fff;
	border-radius: 16px;
}
.access-menu__dropdown a::after { display: none; }
.access-menu__dropdown a i {
	width: 18px;
	color: var(--c-ruby);
}
.superadmin-trigger {
	cursor: inherit;
	user-select: none;
}

@media (max-width: 880px) {
	.access-menu { width: 100%; }
	.access-menu__trigger {
		width: 100%;
		justify-content: space-between;
		border-radius: 12px;
	}
	.access-menu__dropdown {
		position: static;
		min-width: 0;
		width: 100%;
		margin-top: .5rem;
		box-shadow: none;
		transform: none;
	}
	.hero-home__logo { width: min(300px, 78vw); }
}

@media (max-width: 520px) {
	.hero-home--simple { padding-top: 2.2rem; padding-bottom: 2.2rem; }
	.hero-home__text--simple h1 { font-size: clamp(1.45rem, 7vw, 2rem); }
	.hero-home__cta--simple .btn { width: 100%; }
	.section__head--simple { text-align: center; }
}
