/**
 * Ana Tagua — theme responsive (lila)
 * Palette: #450867 #947aa6 #C7B9D2 #E7DFEC #F9F7FA
 */

@font-face {
	font-family: 'gauntlet_classicregular';
	src: url('fonts/gauntletclassic_tb-webfont.eot');
	src: url('fonts/gauntletclassic_tb-webfont.eot?#iefix') format('embedded-opentype'),
		 url('fonts/gauntletclassic_tb-webfont.woff') format('woff'),
		 url('fonts/gauntletclassic_tb-webfont.ttf') format('truetype'),
		 url('fonts/gauntletclassic_tb-webfont.svg#gauntlet_classicregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'signika_negativelight';
	src: url('fonts/signikanegative-light-webfont.eot');
	src: url('fonts/signikanegative-light-webfont.eot?#iefix') format('embedded-opentype'),
		 url('fonts/signikanegative-light-webfont.woff') format('woff'),
		 url('fonts/signikanegative-light-webfont.ttf') format('truetype'),
		 url('fonts/signikanegative-light-webfont.svg#signika_negativelight') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'signika_negativeregular';
	src: url('fonts/signikanegative-regular-webfont.eot');
	src: url('fonts/signikanegative-regular-webfont.eot?#iefix') format('embedded-opentype'),
		 url('fonts/signikanegative-regular-webfont.woff') format('woff'),
		 url('fonts/signikanegative-regular-webfont.ttf') format('truetype'),
		 url('fonts/signikanegative-regular-webfont.svg#signika_negativeregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'signika_negativesemibold';
	src: url('fonts/signikanegative-semibold-webfont.eot');
	src: url('fonts/signikanegative-semibold-webfont.eot?#iefix') format('embedded-opentype'),
		 url('fonts/signikanegative-semibold-webfont.woff') format('woff'),
		 url('fonts/signikanegative-semibold-webfont.ttf') format('truetype'),
		 url('fonts/signikanegative-semibold-webfont.svg#signika_negativesemibold') format('svg');
	font-weight: normal;
	font-style: normal;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	color: #444;
	background: #E7DFEC;
	line-height: 1.55;
}

img { max-width: 100%; height: auto; display: block; }

a { color: #450867; text-decoration: underline; }
a:hover { color: #6b3a8c; text-decoration: none; }

p { margin: 0 0 1em; font-size: 1rem; line-height: 1.7; }
p + p { margin-top: 1.1em; }

h1, h2, h3 {
	font-family: 'gauntlet_classicregular', Georgia, serif;
	color: #947aa6;
	font-weight: normal;
	line-height: 1.25;
	margin: 0 0 0.6em;
}

h1 { font-size: 1.75rem; color: #222; }
h2 { font-size: clamp(1.6rem, 4vw, 2.1rem); }
h3 { font-size: 1.2rem; }

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.container {
	width: min(100% - 2rem, 1100px);
	margin-inline: auto;
}

#wrapper { min-height: 100vh; background: #E7DFEC; }

/* Header */
.site-header { background: #C7B9D2; }

.header-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	padding: 1rem 0;
}

.brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	min-width: 0;
	flex: 1 1 220px;
}

.site-title { display: inline-block; }
.site-title img { max-height: 52px; width: auto; }

.site-about {
	font-family: 'gauntlet_classicregular', Georgia, serif;
	font-size: 0.75rem;
	color: #450867;
	line-height: 1.35;
	max-width: 28rem;
}
.site-about .block-body { line-height: 1.4; }
.site-about span { font-family: 'signika_negativesemibold', sans-serif; }

.header-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem 0.9rem;
}

.lang-selector {
	font-family: 'gauntlet_classicregular', Georgia, serif;
	font-size: 0.8rem;
	text-transform: uppercase;
}
.lang-selector a { text-decoration: none; color: #947AA6; }
.lang-selector a.selected { color: #450867; }

.redes-sociales { margin: 0; }
.redes-sociales ul {
	display: flex;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.redes-sociales a {
	display: inline-block;
	width: 28px;
	height: 28px;
	background: url(../img/header-sprite.png) no-repeat;
	text-decoration: none;
	color: transparent;
}
.redes-sociales .linkedin { background-position: 0 -3px; }
.redes-sociales .linkedin:hover { background-position: 0 -29px; }
.redes-sociales .twitter { background-position: -45px -3px; }
.redes-sociales .twitter:hover { background-position: -45px -29px; }
.redes-sociales .facebook { background-position: -90px -4px; }
.redes-sociales .facebook:hover { background-position: -90px -30px; }

.nav-toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	border-radius: 8px;
	background: #450867;
	cursor: pointer;
}
.nav-toggle-bar {
	display: block;
	height: 2px;
	width: 100%;
	background: #fff;
	border-radius: 1px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.nav-open .nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-open .nav-toggle-bar:nth-child(2) { opacity: 0; }
.nav-open .nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Nav */
.site-nav {
	background: #450867;
	font-family: 'gauntlet_classicregular', Georgia, serif;
	font-size: 0.95rem;
}

.site-nav .menu {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.site-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Mobile: menú cerrado hasta hamburger */
.site-nav .menu > ul.sf-menu,
.site-nav ul.sf-menu {
	display: none !important;
	flex-direction: column;
	float: none !important;
	width: 100% !important;
}

.nav-open .site-nav .menu > ul.sf-menu,
.nav-open .site-nav ul.sf-menu {
	display: flex !important;
}

.site-nav .sf-menu > li {
	float: none !important;
	width: 100%;
	display: block;
}

.site-nav a {
	display: block;
	color: #c7bcd6;
	text-decoration: none;
	padding: 0.9rem 0.35rem;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.site-nav a:hover,
.site-nav a.selected { color: #fff; }

.site-nav .sf-menu ul {
	position: static !important;
	width: auto !important;
	top: auto !important;
	left: auto !important;
	background: #3a0656;
	display: block !important;
}
.site-nav .sf-menu ul a {
	padding-left: 1.1rem;
	font-size: 0.9rem;
}

/* Main grid */
.main-grid {
	display: grid;
	gap: 1.75rem;
	padding: 1.5rem 0 2rem;
}

.content { min-width: 0; }

.message {
	border: 2px dashed #c7b9d2;
	padding: 0.75rem 1rem;
	margin: 0 0 1rem;
	background: #F9F7FA;
}

.node { margin: 0 0 2rem; }
.node h2,
.node h3 { color: #947aa6 !important; }
.node .node-info,
.node .node-more-info {
	font-size: 0.85rem;
	color: #666;
	font-style: italic;
	display: block;
}
.node .node-body,
.node-body,
.node .node-excerpt {
	margin: 1rem 0;
	font-family: 'signika_negativelight', sans-serif;
	font-size: 0.95rem;
	color: #450867;
}
.node .node-body ul,
.node .node-body ol { margin: 0.75rem 0 0.75rem 1.25rem; }
.node .node-body ul li { list-style: disc; }
.node .node-body ol li { list-style: decimal; }

.contact-body {
	color: #450867;
	font-family: 'signika_negativelight', sans-serif;
	font-size: 0.95rem;
	margin: 0 0 1rem;
}

/* Sliders */
.nivoSlider,
ul.nivoSlider {
	width: 100% !important;
	max-width: 640px;
	height: auto !important;
	margin: 0 0 1.5rem !important;
	float: none !important;
	box-shadow: 0 4px 16px rgba(69, 8, 103, 0.18) !important;
}
.nivoSlider img { width: 100%; }

/* Forms */
form { margin: 0.75rem 0 0; }
form label {
	display: block;
	font-weight: bold;
	padding: 0.4rem 0;
	position: static;
}
form .text input,
form .password input,
form .textarea textarea {
	width: 100%;
	max-width: 100%;
	border: 1px solid #D1C7DB;
	border-radius: 6px;
	padding: 0.55rem 0.7rem;
	font: inherit;
	background: #fff;
}
form .text input { height: auto; min-height: 2.5rem; margin: 0 0 0.75rem; }
form .textarea textarea { min-height: 10rem; }
form .submit input {
	background: #450867;
	border: 0;
	border-radius: 8px;
	color: #fff;
	padding: 0.7rem 1.4rem;
	margin-top: 1rem;
	cursor: pointer;
	font-family: 'signika_negativesemibold', sans-serif;
}
form .submit input:hover { background: #5a1a7d; }
form .error-message { color: #b42318; }

/* Sidebar */
.sidebar {
	background: transparent;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

a.boton-cursos {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 260px;
	min-height: 3.2rem;
	padding: 0.85rem 1.2rem;
	background: #450867;
	color: #fff !important;
	text-decoration: none;
	border-radius: 999px;
	font-family: 'gauntlet_classicregular', Georgia, serif;
	font-size: 1.05rem;
	box-shadow: 0 4px 12px rgba(69, 8, 103, 0.25);
}
a.boton-cursos:hover { background: #5a1a7d; }

.block { margin: 0; font-size: 0.9rem; }
.block h3 { margin: 0 0 0.5rem; font-size: 1.1rem; }
.block ul { margin: 0; padding: 0; list-style: none; }
.block ul li { display: inline; margin: 0 0.5rem 0 0; }

/* Footer */
.site-footer {
	border-top: 1px solid #ccc;
	margin-top: 1rem;
	padding: 1.5rem 0 2rem;
	background: #F9F7FA;
	font-size: 0.85rem;
}

.footer-inner {
	display: grid;
	gap: 1.25rem;
}

.footer-info {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	align-items: center;
	font-family: 'signika_negativelight', sans-serif;
}
.footer-info a { color: #461964; text-decoration: none; }
.footer-info .mail {
	background: url(../img/icon-mail.png) left center no-repeat;
	padding-left: 1.4rem;
}
.footer-info .recomendar {
	background: url(../img/icon-recomendar.png) left center no-repeat;
	padding-left: 1.4rem;
}

.copyright {
	font-family: 'signika_negativelight', sans-serif;
	color: #947aa6;
	padding-left: 2.6rem;
	background: url(../img/iso_mydesign.png) left top no-repeat;
	background-size: 32px auto;
	min-height: 36px;
}
.copyright a { color: #947aa6; text-decoration: none; }

.sitios-recomendados h3 {
	margin: 0 0 0.4rem;
	font-family: 'signika_negativelight', sans-serif;
	font-size: 0.9rem;
	color: #947aa6;
	font-weight: normal;
}
.sitios-recomendados .menu { float: none; text-align: left; }
.sitios-recomendados a {
	font-family: 'signika_negativelight', sans-serif;
	font-size: 0.9rem;
	color: #947aa6;
	text-decoration: none;
}

/* Contact social sprites */
.redes-sociales-contacto {
	width: 100% !important;
	max-width: 640px;
	height: auto !important;
	margin: 0 0 1rem !important;
}
.redes-sociales-contacto ul { padding: 0; margin: 0; }
.redes-sociales-contacto ul li { list-style: none; margin: 0; padding: 0.4rem 0; }
.contacto-facebook, .contacto-twitter, .contacto-linkedin,
.contacto-facebook-en, .contacto-twitter-en, .contacto-linkedin-en {
	display: inline-block;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #C7B9D2;
	min-height: 24px;
	padding: 0 0 0.5rem 1.2rem !important;
}
.contacto-facebook, .contacto-twitter, .contacto-linkedin {
	background-image: url(../img/contacto-sprite.png);
}
.contacto-facebook-en, .contacto-twitter-en, .contacto-linkedin-en {
	background-image: url(../img/contacto-sprite-eng.png);
}
.contacto-facebook, .contacto-facebook-en { background-position: 0 -60px; }
.contacto-twitter, .contacto-twitter-en { background-position: 0 -30px; }
.contacto-linkedin, .contacto-linkedin-en { background-position: 0 0; }

.event-thumb { float: none; margin: 0 0 1rem; }

.clear { clear: both; }
.left { float: none; }
.right { float: none; }

#debug-kit-toolbar ul li.panel-tab { display: none; }
#debug-kit-toolbar ul li.icon { display: inline; }

/* Tablet+ */
@media (min-width: 768px) {
	.nav-toggle { display: none; }

	.site-title img { max-height: 64px; }

	.site-nav .menu > ul.sf-menu,
	.site-nav ul.sf-menu {
		display: flex !important;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.site-nav .sf-menu > li {
		float: left !important;
		width: auto;
		position: relative;
	}

	.site-nav a {
		border-bottom: 0;
		padding: 0.95rem 0.85rem;
	}

	.site-nav .sf-menu { line-height: 1; }
	.site-nav .sf-menu ul {
		position: absolute !important;
		top: -999em !important;
		left: 0;
		width: 12em !important;
		background: #f7f7f7;
		display: block !important;
	}
	.site-nav .sf-menu li:hover > ul,
	.site-nav .sf-menu li.sfHover > ul {
		left: 0;
		top: 2.6em !important;
		z-index: 99;
	}
	.site-nav li li a {
		background: #f7f7f7;
		color: #450867;
		border-bottom: 1px solid #ccc;
	}
	.site-nav li li a:hover { color: #6b3a8c; }

	.main-grid {
		grid-template-columns: minmax(0, 1.7fr) minmax(220px, 0.85fr);
		align-items: start;
		padding: 2rem 0 2.5rem;
		gap: 2rem;
	}

	a.boton-cursos { max-width: 100%; }

	.footer-inner {
		grid-template-columns: 1fr auto;
		align-items: start;
	}
	.footer-blocks { grid-column: 1 / -1; }
}

/* Desktop */
@media (min-width: 1024px) {
	.header-inner { padding: 1.25rem 0 0.5rem; }
	.site-about { font-size: 0.8rem; }
	.main-grid {
		grid-template-columns: minmax(0, 2fr) minmax(240px, 0.75fr);
	}
}
