/*
 * anabel-portada – Sistema de diseño de la portada «Anabel García»
 * Se carga solo en páginas con el campo _anabel_portada = 1 (ver mu-plugins/anabel-portada.php).
 * Colores: chocolate, crema y terracota. Tipografías: Cormorant Garamond (titulares, autoalojada) + sans del sistema (texto).
 * Los ajustes hechos en Elementor (colores, márgenes, anchos) tienen prioridad sobre estos valores por defecto.
 */
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 300 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;
}

body.anabel-portada {
	--ap-choco: #4b2f28;
	--ap-choco-dark: #3a2520;
	--ap-text: #3d2c26;
	--ap-muted: #6f5f57;
	--ap-cream: #eee7df;
	--ap-cream-2: #f5f0ea;
	--ap-ivory: #fbf8f5;
	--ap-terra: #a85a3f;
	--ap-terra-dark: #8e4730;
	--ap-line: #ddd2c7;
	--ap-white: #fff;
	--ap-serif: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;
	--ap-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ap-max: 1200px;
	--ap-gap: 12px;
	--ap-radius: 2px;
	--ap-focus: 0 0 0 3px rgba(168, 90, 63, .35);
}
@media (min-width: 1025px) {
	body.anabel-portada { --ap-gap: 20px; }
}

/* ---------- Base dentro de los bloques ---------- */
body.anabel-portada .ap-block,
body.anabel-portada .ap-block p { font-family: var(--ap-sans); color: var(--ap-text); }
body.anabel-portada .ap-block p:last-child { margin-bottom: 0; }
body.anabel-portada .ap-block a:focus-visible,
body.anabel-portada .ap-block button:focus-visible,
body.anabel-portada .ap-block input:focus-visible { outline: none; box-shadow: var(--ap-focus); }

/* Titulares */
body.anabel-portada .ap-block .elementor-heading-title,
body.anabel-portada .ap-h2 {
	font-family: var(--ap-serif);
	font-weight: 500;
	color: var(--ap-choco-dark);
	letter-spacing: 0;
	line-height: 1.1;
	text-transform: none;
}
body.anabel-portada .ap-h1 .elementor-heading-title { font-size: 38px; line-height: 1.02; }
body.anabel-portada .ap-h2 .elementor-heading-title,
body.anabel-portada .ap-h2 { font-size: 30px; margin: 0; }
body.anabel-portada .ap-eyebrow .elementor-heading-title {
	font-family: var(--ap-sans);
	font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ap-choco);
}
body.anabel-portada .ap-lead,
body.anabel-portada .ap-lead p { font-size: 16px; line-height: 1.45; color: var(--ap-text); }
@media (min-width: 768px) {
	body.anabel-portada .ap-h1 .elementor-heading-title { font-size: 52px; }
	body.anabel-portada .ap-h2 .elementor-heading-title, body.anabel-portada .ap-h2 { font-size: 36px; }
}
@media (min-width: 1025px) {
	body.anabel-portada .ap-h1 .elementor-heading-title { font-size: 76px; }
	body.anabel-portada .ap-h2 .elementor-heading-title, body.anabel-portada .ap-h2 { font-size: 44px; }
	body.anabel-portada .ap-eyebrow .elementor-heading-title { font-size: 14px; }
	body.anabel-portada .ap-lead, body.anabel-portada .ap-lead p { font-size: 19px; }
}

/* ---------- Botones ---------- */
body.anabel-portada .ap-btn,
body.anabel-portada .ap-block .elementor-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 12px 24px;
	font-family: var(--ap-sans); font-size: 16px; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; text-decoration: none;
	border-radius: var(--ap-radius); border: 1.5px solid var(--ap-choco);
	background: var(--ap-choco); color: var(--ap-white);
	transition: background-color .2s, color .2s, border-color .2s;
}
body.anabel-portada .ap-block .elementor-button:hover,
body.anabel-portada .ap-block .elementor-button:focus { background: var(--ap-choco-dark); border-color: var(--ap-choco-dark); color: var(--ap-white); }
body.anabel-portada .ap-btn--outline,
body.anabel-portada .ap-btn-outline .elementor-button { background: var(--ap-white); color: var(--ap-choco); }
body.anabel-portada .ap-btn--outline:hover,
body.anabel-portada .ap-btn-outline .elementor-button:hover { background: var(--ap-choco); color: var(--ap-white); }
body.anabel-portada .ap-btn-terra .elementor-button { background: var(--ap-terra); border-color: var(--ap-terra); }
body.anabel-portada .ap-btn-terra .elementor-button:hover { background: var(--ap-terra-dark); border-color: var(--ap-terra-dark); }
/* Enlace «Ver todo» */
body.anabel-portada .ap-btn-link .elementor-button {
	min-height: 44px; padding: 8px 0; background: transparent; border: 0; color: var(--ap-choco-dark); font-size: 15px;
}
body.anabel-portada .ap-btn-link .elementor-button:hover { background: transparent; color: var(--ap-terra); text-decoration: underline; text-underline-offset: 4px; }

/* ---------- 0 · Buscador (móvil) ---------- */
body.anabel-portada .ap-search { position: relative; display: flex; align-items: center; margin: 0; }
body.anabel-portada .ap-search__icon { position: absolute; left: 14px; color: var(--ap-choco-dark); pointer-events: none; }
body.anabel-portada .ap-search__input {
	width: 100%; height: 52px; margin: 0; padding: 0 16px 0 48px;
	font-family: var(--ap-sans); font-size: 16px; color: var(--ap-text);
	background: var(--ap-cream-2); border: 1px solid #cfc2b6; border-radius: var(--ap-radius); box-shadow: none;
}
body.anabel-portada .ap-search__input::placeholder { color: #75655c; opacity: 1; }
body.anabel-portada .ap-search__btn { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }

/* ---------- 1 · Hero ---------- */
body.anabel-portada .ap-hero { background-color: var(--ap-cream); overflow: hidden; }
body.anabel-portada .ap-hero .ap-hero__text { gap: 14px; }
body.anabel-portada .ap-cover,
body.anabel-portada .ap-cover > .elementor-widget-container { height: 100%; width: 100%; }
body.anabel-portada .ap-cover img {
	display: block; width: 100% !important; height: 100% !important; max-width: none;
	object-fit: cover; object-position: 100% 50%;
}
body.anabel-portada .ap-hero .ap-cover { position: absolute; inset: 0; }
body.anabel-portada .ap-hero .ap-hero__media { position: relative; }
@media (max-width: 767px) {
	body.anabel-portada .ap-hero .ap-hero__text .elementor-button { display: none; }
	body.anabel-portada .ap-eyebrow .elementor-heading-title { font-size: 11px; letter-spacing: .03em; }
	body.anabel-portada .ap-news__panel input.tnp-email { padding: 0 10px; }
}

/* ---------- 2 · Franja de confianza ---------- */
body.anabel-portada .ap-trust { background: var(--ap-cream-2); }
body.anabel-portada .ap-trust .elementor-heading-title {
	font-family: var(--ap-sans); font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--ap-choco-dark); text-align: center;
}
@media (min-width: 1025px) {
	body.anabel-portada .ap-trust .elementor-heading-title { font-size: 17px; letter-spacing: .02em; }
}

/* ---------- Cabecera de sección ---------- */
body.anabel-portada .ap-section__head { margin-bottom: 4px; }
body.anabel-portada .ap-section__head .elementor-widget-heading { flex: 1 1 auto; min-width: 0; }

/* ---------- 3 / 6 · Carruseles de producto ---------- */
body.anabel-portada .ap-block .elementor-widget-shortcode { width: 100%; min-width: 0; max-width: 100%; }
body.anabel-portada .ap-carousel { position: relative; width: 100%; min-width: 0; }
body.anabel-portada .ap-carousel__track {
	display: grid; grid-auto-flow: column;
	grid-auto-columns: calc((100% - var(--ap-gap)) / 2.15);
	gap: var(--ap-gap);
	position: relative; width: 100%; margin: 0; padding: 2px 0 6px; list-style: none;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
body.anabel-portada .ap-carousel__track::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
	body.anabel-portada .ap-carousel__track { grid-auto-columns: calc((100% - 2 * var(--ap-gap)) / 3); }
}
@media (min-width: 1025px) {
	body.anabel-portada .ap-carousel__track { grid-auto-columns: calc((100% - 3 * var(--ap-gap)) / 4); }
}
body.anabel-portada .ap-card {
	position: relative; scroll-snap-align: start; display: flex; flex-direction: column; margin: 0;
	background: var(--ap-white); border: 1px solid #e3d9cf;
}
body.anabel-portada .ap-card__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; }
body.anabel-portada .ap-card__img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease; }
body.anabel-portada .ap-card:hover .ap-card__img { transform: scale(1.03); }
body.anabel-portada .ap-card__badge {
	position: absolute; top: 8px; left: 8px; padding: 3px 8px;
	font-family: var(--ap-sans); font-size: 12px; font-weight: 700; color: #fff; background: var(--ap-terra); border-radius: var(--ap-radius);
}
body.anabel-portada .ap-card__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 10px 10px 12px; }
body.anabel-portada .ap-card__title { margin: 0; font-family: var(--ap-sans); font-size: 15px; font-weight: 700; line-height: 1.3; }
body.anabel-portada .ap-card__title a {
	color: var(--ap-choco-dark); text-decoration: none;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em;
}
body.anabel-portada .ap-card__title a:hover { color: var(--ap-terra); }
body.anabel-portada .ap-card__price { font-family: var(--ap-sans); font-size: 15px; color: var(--ap-text); }
body.anabel-portada .ap-card__price del { color: var(--ap-muted); font-size: 13px; margin-right: 4px; opacity: 1; }
body.anabel-portada .ap-card__price ins { color: var(--ap-terra); font-weight: 700; text-decoration: none; background: none; }
body.anabel-portada .ap-card__btn { margin-top: auto; width: 100%; min-height: 44px; padding: 10px 8px; font-size: 15px; }
body.anabel-portada .ap-carousel__nav {
	display: none; position: absolute; top: calc(50% - 60px); z-index: 2;
	width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center;
	font: 400 30px/1 var(--ap-serif); color: var(--ap-choco-dark);
	background: rgba(255, 255, 255, .95); border: 1px solid var(--ap-line); border-radius: 50%; cursor: pointer;
	box-shadow: 0 2px 10px rgba(58, 37, 32, .12);
}
body.anabel-portada .ap-carousel__nav:hover { background: var(--ap-choco); color: #fff; border-color: var(--ap-choco); }
body.anabel-portada .ap-carousel__nav--prev { left: -18px; }
body.anabel-portada .ap-carousel__nav--next { right: -18px; }
@media (min-width: 1025px) and (hover: hover) {
	body.anabel-portada .ap-carousel__nav:not([hidden]) { display: inline-flex; }
}

/* ---------- 4 · Categorías ---------- */
body.anabel-portada .ap-cat { text-decoration: none; overflow: hidden; background: var(--ap-choco); }
body.anabel-portada .ap-cat .ap-cat__img,
body.anabel-portada .ap-cat .ap-cat__img .elementor-widget-container { width: 100%; }
body.anabel-portada .ap-cat .ap-cat__img img {
	display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 22%;
	transition: transform .5s ease;
}
body.anabel-portada .ap-cat:hover .ap-cat__img img { transform: scale(1.04); }
body.anabel-portada .ap-cat .ap-cat__label { width: 100%; background: var(--ap-choco); }
body.anabel-portada .ap-cat .ap-cat__label .elementor-heading-title {
	padding: 17px 8px; font-family: var(--ap-sans); font-size: 16px; font-weight: 700; line-height: 1.2; color: #fff; text-align: center;
}
body.anabel-portada .ap-cat:hover .ap-cat__label,
body.anabel-portada .ap-cat:focus-visible .ap-cat__label { background: var(--ap-terra); }
@media (min-width: 1025px) {
	body.anabel-portada .ap-cat .ap-cat__img img { aspect-ratio: 1 / 1; object-position: 50% 50%; }
	body.anabel-portada .ap-cat .ap-cat__label .elementor-heading-title { font-size: 17px; padding: 19px 8px; }
}

/* ---------- 5 / 7 · Bloques destacados (calzado cómodo, outlet) ---------- */
body.anabel-portada .ap-feature { background: var(--ap-cream); overflow: hidden; }
body.anabel-portada .ap-feature--outlet { background: var(--ap-cream-2); }
body.anabel-portada .ap-feature__text { gap: 14px; }
body.anabel-portada .ap-feature .ap-feature__media { position: relative; min-height: 240px; }
body.anabel-portada .ap-feature .ap-cover { position: absolute; inset: 0; }
body.anabel-portada .ap-comodo .ap-cover img { object-position: 50% 80%; }
body.anabel-portada .ap-feature--outlet .ap-cover img { object-position: 0% 100%; transform: scale(1.12); transform-origin: 0% 100%; }
body.anabel-portada .ap-outlet-title .elementor-heading-title { text-transform: uppercase; letter-spacing: .01em; }
body.anabel-portada .ap-outlet-sub .elementor-heading-title { font-family: var(--ap-sans); font-size: 20px; font-weight: 700; color: var(--ap-text); }
@media (min-width: 1025px) {
	body.anabel-portada .ap-outlet-sub .elementor-heading-title { font-size: 24px; }
}

/* ---------- 9 · Newsletter ---------- */
body.anabel-portada .ap-news { overflow: hidden; }
body.anabel-portada .ap-news .ap-news__media { position: relative; min-height: 260px; }
body.anabel-portada .ap-news .ap-cover { position: absolute; inset: 0; }
body.anabel-portada .ap-news .ap-cover img { object-position: 50% 70%; }
body.anabel-portada .ap-news__panel { background: var(--ap-terra); gap: 14px; }
body.anabel-portada .ap-news__panel .elementor-heading-title { color: #fff; text-transform: uppercase; font-size: 25px; line-height: 1.12; }
@media (min-width: 768px) { body.anabel-portada .ap-news__panel .elementor-heading-title { font-size: 32px; } }
body.anabel-portada .ap-news__panel .ap-lead,
body.anabel-portada .ap-news__panel .ap-lead p { color: #fff; font-size: 15px; }
body.anabel-portada .ap-news__panel .ap-legal,
body.anabel-portada .ap-news__panel .ap-legal p { color: #fbeee8; font-size: 12px; line-height: 1.4; }
body.anabel-portada .ap-news__panel .ap-legal a { color: #fff; text-decoration: underline; }
@media (min-width: 1025px) {
	body.anabel-portada .ap-news__panel .elementor-heading-title { font-size: 44px; }
	body.anabel-portada .ap-news__panel .ap-lead, body.anabel-portada .ap-news__panel .ap-lead p { font-size: 18px; }
}
/* Formulario del plugin Newsletter */
body.anabel-portada .ap-news__panel .tnp-subscription,
body.anabel-portada .ap-news__panel form.tnp-form { max-width: none; margin: 0; padding: 0; }
body.anabel-portada .ap-news__panel .tnp-field { margin: 0 0 12px; }
body.anabel-portada .ap-news__panel .tnp-field label { display: none; }
body.anabel-portada .ap-news__panel .tnp-field-privacy { display: flex; gap: 8px; align-items: flex-start; }
body.anabel-portada .ap-news__panel .tnp-field-privacy label { display: block; color: #fff; font-family: var(--ap-sans); font-size: 12px; font-weight: 400; line-height: 1.4; }
body.anabel-portada .ap-news__panel .tnp-field-privacy input[type="checkbox"] { margin: 2px 0 0; flex: 0 0 auto; width: 16px; height: 16px; accent-color: var(--ap-choco); }
body.anabel-portada .ap-news__panel .tnp-field-privacy a { color: #fff; text-decoration: underline; }
body.anabel-portada .ap-news__panel input.tnp-email,
body.anabel-portada .ap-news__panel .tnp-field input[type="email"] {
	width: 100%; height: 50px; margin: 0; padding: 0 14px; font-family: var(--ap-sans); font-size: 16px; color: var(--ap-text);
	background: #fff; border: 1px solid #fff; border-radius: var(--ap-radius); box-shadow: none;
}
body.anabel-portada .ap-news__panel input.tnp-submit,
body.anabel-portada .ap-news__panel .tnp-field-button input[type="submit"] {
	width: 100%; height: 50px; margin: 0; padding: 0 12px; cursor: pointer;
	font-family: var(--ap-sans); font-size: 16px; font-weight: 700; color: var(--ap-choco-dark);
	background: #fff; border: 1.5px solid var(--ap-choco-dark); border-radius: var(--ap-radius);
}
body.anabel-portada .ap-news__panel input.tnp-submit:hover,
body.anabel-portada .ap-news__panel .tnp-field-button input[type="submit"]:hover { background: var(--ap-choco); color: #fff; border-color: var(--ap-choco); }

/* Elementor: sin márgenes heredados de los widgets dentro de los bloques */
body.anabel-portada .ap-block .elementor-widget:not(:last-child) { margin-block-end: 0; }
body.anabel-portada .ap-block .elementor-widget-text-editor p { margin: 0; }

@media (prefers-reduced-motion: reduce) {
	body.anabel-portada .ap-carousel__track { scroll-behavior: auto; }
	body.anabel-portada .ap-card__img, body.anabel-portada .ap-cat .ap-cat__img img { transition: none; }
}
