/**
 * Tokens de marca Comunicum para el conector
 */

:root
{
	--conector-primary: #5B4FFF;
	--conector-primary-dark: #4A3FE8;
	--conector-accent: #7C3AED;
	--conector-accent-soft: #9D4FFF;
	--conector-text: #1A1A1A;
	--conector-text-muted: #6B7280;
	--conector-surface: #FFFFFF;
	--conector-surface-soft: #F8F8FF;
	--conector-border: rgba(91, 79, 255, 0.14);
	--conector-shadow: 0 18px 45px rgba(91, 79, 255, 0.12);
	--conector-radius: 1rem;
	--conector-radius-lg: 1.25rem;
	--conector-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

*,
*::before,
*::after
{
	box-sizing: border-box;
}

body.conector-public-body
{
	margin: 0;
	min-height: 100vh;
	font-family: var(--conector-font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--conector-text);
	background: linear-gradient(180deg, #f8f8ff 0%, #ffffff 40%, #f9f8ff 100%);
	-webkit-font-smoothing: antialiased;
}

.conector-public-header
{
position: sticky;
top: 0;
z-index: 100;
background: rgba(255, 255, 255, 0.92);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--conector-border);
}

.conector-public-header__inner
{
max-width: 1200px;
margin: 0 auto;
padding: 0.85rem clamp(1rem, 4vw, 1.75rem);
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
}

.conector-public-header__brand
{
display: inline-flex;
align-items: center;
gap: 0.75rem;
text-decoration: none;
color: inherit;
}

.conector-public-header__mark
{
width: 2.35rem;
height: 2.35rem;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 0.75rem;
font-weight: 800;
color: #fff;
background: linear-gradient(135deg, var(--conector-primary) 0%, var(--conector-accent) 100%);
box-shadow: 0 8px 18px rgba(91, 79, 255, 0.25);
}

.conector-public-header__brand-text
{
display: flex;
flex-direction: column;
line-height: 1.15;
}

.conector-public-header__brand-text strong
{
font-size: 0.98rem;
font-weight: 800;
color: var(--conector-text);
}

.conector-public-header__brand-text small
{
font-size: 0.72rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--conector-primary);
}

.conector-public-header__nav
{
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.5rem 1rem;
}

.conector-public-header__home-link
{
font-size: 0.82rem;
font-weight: 600;
text-decoration: none;
color: var(--conector-text-muted);
}

.conector-public-header__home-link:hover
{
color: var(--conector-primary);
}

.conector-public-header__menu
{
position: relative;
}

.conector-public-header__menu-trigger
{
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.45rem 0.7rem;
border: 1px solid var(--conector-border);
border-radius: 999px;
background: rgba(91, 79, 255, 0.06);
color: var(--conector-primary);
font-size: 0.86rem;
font-weight: 700;
cursor: pointer;
transition: background 0.2s ease, box-shadow 0.2s ease;
}

.conector-public-header__menu-trigger:hover,
.conector-public-header__menu.is-open .conector-public-header__menu-trigger
{
background: rgba(91, 79, 255, 0.12);
box-shadow: 0 8px 20px rgba(91, 79, 255, 0.12);
}

.conector-public-header__submenu
{
position: absolute;
top: calc(100% + 0.55rem);
right: 0;
min-width: 18rem;
padding: 1rem 1.05rem 1.1rem;
border-radius: 1rem;
border: 1px solid var(--conector-border);
background: #fff;
box-shadow: var(--conector-shadow);
opacity: 0;
visibility: hidden;
transform: translateY(8px);
transition:
	opacity 0.22s ease,
	transform 0.22s ease,
	visibility 0.22s ease;
z-index: 120;
display: flex;
flex-direction: column;
gap: 0.3rem;
}

.conector-public-header__menu:hover .conector-public-header__submenu,
.conector-public-header__menu:focus-within .conector-public-header__submenu,
.conector-public-header__menu.is-open .conector-public-header__submenu
{
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.conector-public-header__submenu-kicker
{
margin: 0 0 0.65rem;
padding: 0 0.45rem 0.2rem;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--conector-primary);
}

.conector-public-header__submenu a
{
display: block;
padding: 0.9rem 1rem;
border-radius: 0.8rem;
text-decoration: none;
color: inherit;
transition: background 0.2s ease, box-shadow 0.2s ease;
}

.conector-public-header__submenu a:hover,
.conector-public-header__submenu a[aria-current="page"]
{
background: rgba(91, 79, 255, 0.08);
box-shadow: inset 0 0 0 1px rgba(91, 79, 255, 0.1);
}

.conector-public-header__submenu a strong
{
display: block;
font-size: 0.9rem;
font-weight: 700;
color: var(--conector-text);
margin-bottom: 0.2rem;
}

.conector-public-header__submenu a span
{
display: block;
margin-top: 0;
font-size: 0.79rem;
line-height: 1.5;
color: var(--conector-text-muted);
}

.conector-public-footer
{
margin-top: 2rem;
padding: 1.5rem clamp(1rem, 4vw, 1.75rem) 2rem;
border-top: 1px solid var(--conector-border);
background: rgba(255, 255, 255, 0.75);
}

.conector-public-footer__inner
{
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
gap: 0.35rem 1.25rem;
justify-content: space-between;
font-size: 0.88rem;
color: var(--conector-text-muted);
}

.conector-public-footer a
{
color: var(--conector-primary);
font-weight: 600;
text-decoration: none;
}

.conector-public-footer a:hover
{
text-decoration: underline;
}

.conector-page-hero
{
max-width: 920px;
margin: 0 auto 2rem;
text-align: center;
}

.conector-page-hero__eyebrow
{
display: inline-block;
margin-bottom: 0.75rem;
padding: 0.28rem 0.7rem;
border-radius: 999px;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--conector-primary);
background: rgba(91, 79, 255, 0.08);
border: 1px solid var(--conector-border);
}

.conector-page-hero h1
{
margin: 0 0 0.75rem;
font-size: clamp(1.85rem, 4vw, 2.65rem);
font-weight: 800;
line-height: 1.12;
letter-spacing: -0.03em;
}

.conector-page-hero p
{
margin: 0;
font-size: 1.05rem;
line-height: 1.65;
color: var(--conector-text-muted);
}

@media (max-width: 768px)
{
.conector-public-header__inner
{
flex-direction: column;
align-items: flex-start;
}

.conector-public-header__nav
{
width: 100%;
}
}
