/* ═══════════════════════════════════════
   BASE.CSS — Reset, variables, tipografia
   Plugin: soria-casas-layout
   ═══════════════════════════════════════ */

/* ═══ FUENTES LOCALES (auto-alojadas) ═══ */

/* DM Sans — latin-ext */
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/dm-sans-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans — latin */
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/dm-sans-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Cormorant Garamond — latin-ext */
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/cormorant-garamond-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Cormorant Garamond — latin */
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/cormorant-garamond-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ═══ RESET ═══ */
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'DM Sans', sans-serif;
	color: #333;
	background: #fff;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

/* ═══ VARIABLES CSS ═══ */
:root {
	--azul: #4a8fcc;
	--azul-hover: #3a7fb8;
	--azul-light: rgba(74, 143, 204, 0.08);
	--beige: #fbf5e9;
	--beige-dark: #f0e8d5;
	--blanco: #ffffff;
	--gris-texto: #54585e;
	--negro: #333333;
	--borde: #e5e5e5;
	--sombra: 0 2px 16px rgba(0, 0, 0, 0.08);
	--radio: 12px;
	--radio-sm: 8px;
	--max-width: 1200px;
	--transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ═══ TIPOGRAFIA ═══ */
h1, h2, h3, h4 {
	font-family: 'Cormorant Garamond', serif;
	color: var(--negro);
	line-height: 1.15;
}

a {
	text-decoration: none;
	color: inherit;
	transition: color var(--transition);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ═══ UTILIDADES ═══ */
.scl-container {
	width: 100%;
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 24px;
}

/* ═══ SKIP TO CONTENT (accesibilidad) ═══ */
.scl-skip-link {
	position: absolute;
	top: -100%;
	left: 16px;
	background: var(--azul);
	color: #fff;
	padding: 8px 16px;
	border-radius: var(--radio-sm);
	font-size: 14px;
	font-weight: 600;
	z-index: 10000;
	transition: top 0.2s;
}

.scl-skip-link:focus {
	top: 8px;
}
