/*
Theme Name: Fuente del Chopo · Hello Child
Template: hello-elementor
Version: 2026.10.25
Description: Tema hijo de Hello Elementor para Fuente del Chopo. En este archivo va todo el CSS que Elementor no hace con sus controles y las fuentes, alojadas en la carpeta fuentes/ del tema. Los estilos de cada elemento están en su panel de Elementor; los colores y tipografías, en Ajustes del sitio. Generado por elementor_v2/herramientas/html_a_elementor.py (25-10-2026).
Text Domain: hello-theme-child-fuente-del-chopo
*/

/* ==== Fuentes (archivos en la carpeta fuentes/ de este tema) ==== */
/* Figtree variable (ejes: wght) */
@font-face { font-family: 'Figtree'; src: url('fuentes/figtree-variable.woff2') format('woff2'); font-weight: 300 900; font-style: normal; font-display: swap; }
/* Fraunces variable (ejes: opsz, wght, SOFT) */
@font-face { font-family: 'Fraunces'; src: url('fuentes/fraunces-variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('fuentes/fraunces-italic-variable.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; }

/* ==== Fuente del Chopo · CSS del sitio: solo lo que Elementor no hace con sus controles ====
   Ninguna regla lleva una propiedad que fije un control del panel: los estilos de cada widget están en su panel;
   los colores y tipografías, en Ajustes del sitio. */
:root { --ancho: 1240px; --gutter: clamp(20px, 4vw, 48px); --radio: 18px; --sombra: 0 24px 60px -30px rgba(45, 48, 28, .45); --ease: cubic-bezier(.2, .7, .1, 1); }
*, .elementor ::before, .elementor ::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body { margin: 0px; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
.elementor .menu-open { overflow: hidden; }
.elementor img, .elementor svg { display: block; max-width: 100%; }
.elementor img { height: auto; }
.elementor a { color: inherit; }
.elementor p { margin: 0px 0px 1em; }
.elementor h1, .elementor h2 { font-variation-settings: "opsz" 144, "SOFT" 50; }
.elementor h3 { font-family: var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; font-weight: 400; line-height: 1.05; letter-spacing: -0.01em; font-variation-settings: "opsz" 144, "SOFT" 50; }
.elementor h4 { font-variation-settings: "opsz" 144, "SOFT" 50; }
.elementor :focus-visible { outline: 2px solid var(--e-global-color-secondary); outline-offset: 3px; border-radius: 4px; }
.elementor .visually-hidden { width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; position: absolute !important; }
.elementor .eyebrow { display: inline-flex; align-items: center; gap: 0.6em; }
.elementor .eyebrow::before { content: ""; width: 28px; height: 1px; background: currentcolor; }
.elementor .btn { --bg: var(--e-global-color-primary); --fg: #fff; cursor: pointer; transition: transform .4s var(--ease), background .3s, color .3s, border-color .3s; }
.elementor .btn svg { width: 18px; height: 18px; transition: transform .4s var(--ease); }
.elementor .btn:hover { transform: translateY(-2px); }
.elementor .btn:hover svg { transform: translateX(4px); }
.elementor .btn--claro { --bg: #fff; --fg: var(--e-global-color-primary); }
.elementor .btn--borde { --bg: transparent; --fg: currentColor; }
.elementor .btn--amapola { --bg: var(--e-global-color-accent); }
.elementor .section-head__title em { font-style: italic; color: var(--e-global-color-secondary); }
@media (prefers-reduced-motion: reduce) {
*, .elementor ::before, .elementor ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important; }
}
.elementor .logo { display: inline-flex; align-items: center; text-decoration: none; color: inherit; }
.elementor .logo img { display: block; width: auto; height: var(--logo-h, 64px); filter: var(--logo-filter, none); transition: height .4s var(--ease), filter .4s; }
.elementor .header { position: fixed; inset: 0px 0px auto; z-index: 50; color: rgb(255, 255, 255); transition: background 0.4s, color 0.4s, box-shadow 0.4s, padding 0.4s; --logo-h: 92px; --logo-filter: brightness(0) invert(1) drop-shadow(0 1px 10px rgba(0,0,0,.25)); }
.elementor .header::before { content: ""; position: absolute; inset: 0px 0px -40px; background: linear-gradient(rgba(20, 22, 10, 0.45), transparent); pointer-events: none; transition: opacity 0.4s; width: auto; height: auto; }
.elementor .header.elementor-sticky--effects { background: rgba(255, 255, 255, 0.92); color: var(--e-global-color-primary); padding: 8px 0px; box-shadow: 0 1px 0 var(--e-global-color-linea); backdrop-filter: saturate(1.4) blur(14px); --logo-h: 66px; --logo-filter: none; }
.elementor .header.elementor-sticky--effects::before { opacity: 0; }
.elementor .header__inner { position: relative; }
.elementor .header .btn { white-space: nowrap; }
.elementor .header:not(.elementor-sticky--effects) .btn { --bg: #fff; --fg: var(--e-global-color-primary); }
.elementor .hero { position: relative; color: rgb(255, 255, 255); }
.elementor .hero::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(rgba(20, 20, 10, 0.15) 0%, rgba(20, 20, 10, 0) 35%, rgba(20, 18, 8, 0.65) 100%), linear-gradient(90deg, rgba(20, 18, 8, 0.45), transparent 60%); width: auto; height: auto; }
.elementor .hero__content { position: relative; z-index: 1; }
.elementor .hero__title em { font-style: italic; font-weight: 300; color: var(--e-global-color-trigo); }
.elementor .hero__aside { position: absolute; right: 0px; bottom: clamp(48px, 9vh, 110px); }
.elementor .seal-logo img { display: block; width: auto; }
.elementor .seals__row .seal-logo + .seal-logo { padding-left: 18px; border-left: 1px solid var(--e-global-color-linea); }
.elementor .video-btn { place-items: center; cursor: pointer; backdrop-filter: blur(6px); transition: background 0.3s; }
.elementor .video-btn:hover { background: rgba(255, 255, 255, 0.2); }
@keyframes cue { 
  100% { top: 100%; }
}
@media (max-width: 860px) {
.elementor .hero__aside { position: static; }
}
@media (max-width: 420px) {
.elementor .seals__row .seal-logo + .seal-logo { padding-left: 12px; }
}
.elementor .family__title small { font: 600 .8rem/1 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: 0.14em; color: var(--e-global-color-tierra); vertical-align: middle; margin-right: 14px; }
.elementor .more svg { width: 14px; height: 14px; transition: transform .4s var(--ease); }
.elementor .more:hover svg { transform: translateX(4px); }
.elementor .crop { position: relative; aspect-ratio: 3 / 4.15; color: rgb(255, 255, 255); text-decoration: none; isolation: isolate; }
.elementor .cards--4 .crop { aspect-ratio: 3 / 4.4; }
.elementor .crop__media { position: absolute; inset: 0px; z-index: -2; }
.elementor .crop__media > *, .elementor .crop__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .crop__media img { transition: transform 1.4s var(--ease); }
.elementor .crop::after { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(rgba(20, 18, 8, 0.32), rgba(20, 18, 8, 0) 24%, rgba(20, 18, 8, 0) 34%, rgba(20, 18, 8, 0.55) 60%, rgba(20, 18, 8, 0.9)); pointer-events: none; width: auto; height: auto; }
.elementor .crop--luz::after { background: linear-gradient(rgba(20, 18, 8, 0.4), rgba(20, 18, 8, 0.1) 24%, rgba(20, 18, 8, 0.45) 42%, rgba(20, 18, 8, 0.8) 62%, rgba(20, 18, 8, 0.94)); }
.elementor .crop:hover .crop__media img { transform: scale(1.06); }
.elementor .crop__top { position: absolute; top: 20px; left: 22px; right: 18px; }
.elementor .crop__cat { white-space: nowrap; backdrop-filter: blur(8px); }
.elementor .crop__body { position: absolute; left: 24px; right: 22px; bottom: 22px; text-shadow: rgba(0, 0, 0, 0.35) 0px 1px 14px; }
.elementor .crop__latin { display: block; }
.elementor .crop__arrow { place-items: center; transition: transform .5s var(--ease); }
.elementor .crop:hover .crop__arrow { transform: translateX(4px); }
.elementor .crop__media--left img { object-position: 18% 50%; }
.elementor .crop__media--duo { position: absolute; }
.elementor .crop__media--duo img { position: absolute; inset: 0px; }
.elementor .crop__media--duo img + img { animation: duo 12s var(--ease) infinite; }
@keyframes duo { 
  0%, 38% { opacity: 0; }
  50%, 88% { opacity: 1; }
  100% { opacity: 0; }
}
@media (max-width: 1023px) {
.elementor .cards:not(.cards--4) > .crop:last-child { aspect-ratio: 16 / 10; }
}
@media (max-width: 699px) {
.elementor .cards, .elementor .cards--4 { grid-auto-columns: min(78vw, 320px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; scroll-padding-inline: var(--gutter); }
.elementor .cards::-webkit-scrollbar { display: none; }
.elementor .crop, .elementor .cards--4 .crop { grid-column: auto; aspect-ratio: 3 / 4.3; scroll-snap-align: start; }
.elementor .cards:not(.cards--4) > .crop:last-child { aspect-ratio: 3 / 4.3; scroll-snap-align: start; }
}
.elementor .rotation, .elementor .rotation__grid { position: relative; }
.elementor .rotation__grid::before { content: ""; position: absolute; top: 120px; left: 10%; right: 10%; border-top: 1px dashed var(--e-global-color-tierraclara); z-index: 0; width: auto; height: auto; }
.elementor .step { position: relative; z-index: 1; text-align: center; }
.elementor .step__img { max-width: 100%; overflow: hidden; }
.elementor .step__img > *, .elementor .step__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.elementor .step__img img { transition: transform 1.2s var(--ease); }
.elementor .step:hover .step__img img { transform: scale(1.08); }
@media (max-width: 860px) {
.elementor .rotation__grid::before { display: none; }
}
.elementor .eco__media { position: relative; }
.elementor .eco__photo { position: absolute; inset: 0px; }
.elementor .eco__photo > *, .elementor .eco__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .eco__thumb { aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; border: 6px solid rgb(255, 255, 255); box-shadow: var(--sombra); }
.elementor .eco__thumb > *, .elementor .eco__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.elementor .eco__body { color: var(--e-global-color-crema); }
.elementor .eco__title em { font-style: italic; color: rgb(240, 138, 110); }
.elementor .eco__list ul { list-style: none; padding: 0px; margin: 0px; display: grid; gap: 14px; }
.elementor .eco__list li { display: flex; gap: 14px; align-items: baseline; border-top: 1px solid rgba(244, 239, 227, 0.15); padding-top: 14px; }
.elementor .eco__list b { font: 300 1.3rem/1 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-ocre); min-width: 2.2ch; }
.elementor .allies__grid { grid-template-columns: 75.97fr 75.03fr 131.48fr; grid-template-areas: "pa pb pc" "ta tb tb"; }
.elementor .ally-photo { position: relative; border-radius: var(--radio); overflow: hidden; background: var(--e-global-color-hueso); }
.elementor .ally-photo > *, .elementor .ally-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.elementor .ally-photo--mariquita { grid-area: pa; aspect-ratio: 550 / 724; }
.elementor .ally-photo--amapolas { grid-area: pb; aspect-ratio: 550 / 733; }
.elementor .ally-photo--monte { grid-area: pc; aspect-ratio: 969 / 737; }
.elementor .ally-photo--mariquita::after { content: ""; position: absolute; left: 68.7%; top: 65.9%; width: 17%; aspect-ratio: 1 / 1; transform: translate(-50%, -50%); border-radius: 50%; border: 2px solid rgb(255, 255, 255); box-shadow: rgba(20, 18, 8, 0.18) 0px 0px 0px 999px, rgba(0, 0, 0, 0.35) 0px 4px 18px; pointer-events: none; }
.elementor .ally-photo--mariquita::before { content: "Mariquita"; position: absolute; z-index: 1; left: 68.7%; top: calc(52.9%); transform: translate(-50%, -100%); padding: 6px 10px; border-radius: 999px; background: rgb(255, 255, 255); color: var(--e-global-color-accent); font: 600 .66rem/1 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap; }
.elementor .ally--plagas { grid-area: ta; }
.elementor .ally--lindes { grid-area: tb; }
@media (max-width: 860px) {
.elementor .allies__grid { grid-template-columns: 75.03fr 131.48fr; grid-template-areas: "pa pa" "ta ta" "pb pc" "tb tb"; }
}
.elementor .contact { position: relative; isolation: isolate; color: rgb(255, 255, 255); }
.elementor .contact__bg { position: absolute; inset: 0px; z-index: -2; }
.elementor .contact__bg > *, .elementor .contact__bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .contact::before { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(90deg, rgba(25, 22, 10, 0.84), rgba(25, 22, 10, 0.4)); width: auto; height: auto; }
.elementor .contact__title em { font-style: italic; color: var(--e-global-color-trigo); }
.elementor .contact-card { color: var(--e-global-color-text); }
.elementor .contact-card__label { display: flex; align-items: center; gap: 10px; }
.elementor .contact-card__mail { white-space: nowrap; }
.elementor .contact-card__mail a { text-decoration: none; background: linear-gradient(currentcolor, currentcolor) 0px 100% / 0px 1px no-repeat; transition: background-size .5s var(--ease); }
.elementor .contact-card__mail a:hover { background-size: 100% 1px; }
.elementor .contact-card__place strong { color: var(--e-global-color-text); font-weight: 600; }
.elementor .footer { color: var(--e-global-color-primary); }
.elementor .footer__brand .logo { --logo-h: 112px; }
.elementor .footer__seals .seal-logo img { width: auto; }
.elementor .footer__links ul { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 10px; }
.elementor .footer__links li { color: var(--e-global-color-textosuave); }
.elementor .footer__links a { color: var(--e-global-color-primary); text-decoration: none; }
.elementor .footer__links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.elementor .footer__big { font: 300 min(12vw, 10.9rem)/.9 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; letter-spacing: -0.04em; color: var(--e-global-color-primary); white-space: nowrap; font-variation-settings: "opsz" 144, "SOFT" 100; }
.elementor .footer__big em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .footer__big img { width: auto; height: 1.12em; }
.elementor .footer__bottom { font-size: 0.85rem; color: var(--e-global-color-textosuave); }
.elementor .footer__legal ul { display: flex; flex-wrap: wrap; gap: 22px; list-style: none; margin: 0px; padding: 0px; }
.elementor .footer__legal a { text-decoration: none; }
.elementor .footer__legal a:hover { text-decoration: underline; text-underline-offset: 4px; }
.elementor .family--banda { position: relative; color: var(--banda-fg, var(--e-global-color-primary)); box-shadow: 0 0 0 100vmax var(--banda-bg, #fff); clip-path: inset(0px -100vmax); transition: background-color 0.5s, box-shadow 0.5s, color 0.5s; }
.elementor .family--banda .family__title small { color: var(--banda-acento, var(--e-global-color-tierra)); }
.elementor .crops { --claro-fg: var(--e-global-color-primary); --claro-linea: rgba(45,48,28,.28); --oscuro-fg: var(--e-global-color-crema); --oscuro-linea: rgba(244,239,227,.3); }
.elementor .crops.fondos--tierras .family--cereales { --banda-bg: #EFE3C8; --banda-fg: var(--claro-fg); --banda-linea: var(--claro-linea); --banda-acento: var(--e-global-color-tierra); }
.elementor .crops.fondos--tierras .family--legumbres { --banda-bg: var(--e-global-color-primary); --banda-fg: var(--oscuro-fg); --banda-linea: var(--oscuro-linea); --banda-acento: var(--e-global-color-ocre); }
.elementor .crops.fondos--tierras .family--otros { --banda-bg: #73381F; --banda-fg: var(--oscuro-fg); --banda-linea: var(--oscuro-linea); --banda-acento: var(--e-global-color-trigo); }
.elementor .page-hero { position: relative; isolation: isolate; color: rgb(255, 255, 255); }
.elementor .page-hero__bg { position: absolute; inset: 0px; z-index: -2; }
.elementor .page-hero__bg > *, .elementor .page-hero__bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .page-hero::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: linear-gradient(rgba(20, 20, 10, 0.5) 0%, rgba(20, 20, 10, 0.08) 32%, rgba(20, 18, 8, 0.72) 100%), linear-gradient(90deg, rgba(20, 18, 8, 0.5), transparent 68%); width: auto; height: auto; }
.elementor .breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.55em; list-style: none; margin: 0px; padding: 0px; }
.elementor .breadcrumbs li + li::before { content: "/"; margin-right: 0.55em; opacity: 0.55; }
.elementor .breadcrumbs a { text-decoration: none; }
.elementor .breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.elementor .page-hero__title em { font-style: italic; color: var(--e-global-color-trigo); }
.elementor .jump a { display: inline-flex; align-items: center; gap: 0.5em; transition: background 0.3s, border-color 0.3s; }
.elementor .jump a:hover { background: var(--e-global-color-hueso); border-color: var(--e-global-color-tierraclara); }
.elementor .jump a small { font: italic 400 .95rem/1 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-tierra); }
.elementor .product { scroll-margin-top: 110px; }
.elementor .product:nth-child(2n) > .product__media { order: 2; }
.elementor .product__media { position: relative; }
.elementor .product__photo { border-radius: var(--radio); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: var(--sombra); background: var(--e-global-color-hueso); }
.elementor .product__photo > *, .elementor .product__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .product__photo--ancha { aspect-ratio: 4 / 3; }
.elementor .product__photo--ancha img { object-position: 22% 50%; }
.elementor .product__inset { aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; border: 8px solid rgb(255, 255, 255); box-shadow: var(--sombra); }
.elementor .product__inset > *, .elementor .product__inset img { display: block; width: 100%; height: 100%; object-fit: cover; }
.elementor .product__title em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .product__latin { display: block; }
.elementor .chips ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0px; padding: 0px; }
.elementor .chips li { padding: 9px 14px; border-radius: 999px; background: var(--e-global-color-hueso); border: 1px solid var(--e-global-color-linea); font: 500 .88rem/1.1 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--e-global-color-primary); }
.elementor .btn--suave { --bg: var(--e-global-color-hueso); --fg: var(--e-global-color-primary); }
@media (max-width: 860px) {
.elementor .product:nth-child(2n) > .product__media { order: 0; }
.elementor .product__inset { border-width: 6px; }
}
.elementor .use { transition: background 0.4s; }
.elementor .use:hover { background: var(--e-global-color-hueso); }
.elementor .fact__value small { font-size: 0.45em; color: var(--e-global-color-secondary); margin-left: 4px; letter-spacing: 0px; }
.elementor .compare__col--encina { color: var(--e-global-color-crema); }
.elementor .compare__title em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .compare__col--encina .compare__title em { color: var(--e-global-color-trigo); }
.elementor .compare__list ul { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 12px; }
.elementor .compare__list li { position: relative; padding: 12px 0px 0px 30px; border-top: 1px solid var(--e-global-color-linea); }
.elementor .compare__col--encina .compare__list li { border-top-color: rgba(244, 239, 227, 0.16); }
.elementor .compare__list li::before { content: ""; position: absolute; left: 2px; top: 19px; width: 12px; height: 7px; border-left: 1.5px solid var(--e-global-color-verde); border-bottom: 1.5px solid var(--e-global-color-verde); transform: rotate(-45deg); }
.elementor .compare__col--encina .compare__list li::before { border-color: var(--e-global-color-trigo); }
.elementor .eco__thumb--mariquita img { object-position: 70% 70%; }
.elementor .film { position: relative; isolation: isolate; color: rgb(255, 255, 255); }
.elementor .film::before { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(rgba(20, 18, 8, 0.15), rgba(20, 18, 8, 0.75)), linear-gradient(90deg, rgba(20, 18, 8, 0.55), transparent 70%); width: auto; height: auto; }
.elementor .film__title em { font-style: italic; color: var(--e-global-color-trigo); }
.elementor .cert__seals .seal-logo img { width: auto; }
.elementor .cert__title em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .table-wrap { overflow-x: auto; }
.elementor .compare-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 0.98rem; }
.elementor .compare-table th, .elementor .compare-table td { text-align: left; vertical-align: top; padding: 18px 22px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--e-global-color-linea); background: none; }
.elementor .compare-table tr:last-child th, .elementor .compare-table tr:last-child td { border-bottom: 0px; }
.elementor .compare-table thead th { background: var(--e-global-color-hueso); font: 600 .74rem/1.2 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--e-global-color-secondary); }
.elementor .compare-table tbody th { width: 22%; font: 400 1.15rem/1.3 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-primary); }
.elementor .compare-table td { color: var(--e-global-color-textosuave); }
.elementor .crosslink { position: relative; isolation: isolate; color: rgb(255, 255, 255); text-decoration: none; }
.elementor .crosslink__media { position: absolute; inset: 0px; z-index: -2; }
.elementor .crosslink__media > *, .elementor .crosslink__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1.4s var(--ease); }
.elementor .crosslink::after { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(rgba(20, 18, 8, 0.1) 20%, rgba(20, 18, 8, 0.85)); width: auto; height: auto; }
.elementor .crosslink:hover .crosslink__media img { transform: scale(1.05); }
.elementor .crosslink__title em { font-style: italic; color: var(--e-global-color-trigo); }
.elementor .faq__title em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .faq details p { color: var(--e-global-color-textosuave); max-width: 62ch; padding-bottom: 24px; margin: 0px; }
.elementor .cta-band { position: relative; color: var(--e-global-color-crema); }
.elementor .cta-band__tree { position: absolute; right: max(var(--gutter), (100% - var(--ancho)) / 2); bottom: -10px; width: auto; height: 90%; opacity: 0.1; pointer-events: none; }
.elementor .cta-band__tree > *, .elementor .cta-band__tree img { height: 100%; width: auto; max-width: none; }
.elementor .cta-band__grid { position: relative; }
.elementor .cta-band__title em { font-style: italic; color: var(--e-global-color-trigo); }
.elementor .ask__title em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .ask__list ol { list-style: none; counter-reset: ask 0; margin: 0px; padding: 0px; display: grid; gap: 0px; }
.elementor .ask__list li { counter-increment: ask 1; display: grid; grid-template-columns: 44px 1fr; gap: 6px 10px; padding: 18px 0px; border-top: 1px solid var(--e-global-color-linea); }
.elementor .ask__list li:last-child { border-bottom: 1px solid var(--e-global-color-linea); }
.elementor .ask__list li::before { content: counter(ask, decimal-leading-zero); grid-row: span 2; font: 300 1.3rem/1.2 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-tierra); }
.elementor .ask__list strong { font: 400 1.25rem/1.3 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-primary); }
.elementor .ask__list span { color: var(--e-global-color-textosuave); font-size: 0.95rem; }
.elementor .route__photo { border-radius: var(--radio); overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--sombra); }
.elementor .route__photo > *, .elementor .route__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .route__title em { font-style: italic; color: var(--e-global-color-secondary); }
.elementor .route__list ul { list-style: none; margin: 26px 0px 30px; padding: 0px; display: grid; gap: 12px; }
.elementor .route__list li { display: flex; gap: 14px; align-items: baseline; padding-top: 12px; border-top: 1px solid var(--e-global-color-linea); color: var(--e-global-color-text); }
.elementor .route__list b { font: 300 1.15rem/1 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-tierra); min-width: 5.5ch; }
.elementor .page-hero--legal::before { background: radial-gradient(at 85% 110%, rgba(153, 105, 56, 0.35), transparent 60%); }
.elementor .page-hero__tree { position: absolute; right: max(var(--gutter), (100% - var(--ancho)) / 2); bottom: -14px; z-index: -1; height: 88%; width: auto; opacity: 0.1; pointer-events: none; }
.elementor .page-hero__tree > *, .elementor .page-hero__tree img { height: 100%; width: auto; max-width: none; }
.elementor .legal__toc { position: sticky; top: 110px; }
.elementor .legal__toc-title { font: 600 .74rem/1 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--e-global-color-secondary); }
.elementor .legal__toc ol { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 8px; counter-reset: toc 0; }
.elementor .legal__toc li { counter-increment: toc 1; display: grid; grid-template-columns: 26px 1fr; font-size: 0.9rem; line-height: 1.35; }
.elementor .legal__toc li::before { content: counter(toc, decimal-leading-zero); font: 300 .95rem/1.35 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-tierra); }
.elementor .legal__toc a { text-decoration: none; color: var(--e-global-color-textosuave); }
.elementor .legal__toc a:hover { color: var(--e-global-color-primary); text-decoration: underline; text-underline-offset: 3px; }
.elementor .legal__body { max-width: 72ch; color: var(--e-global-color-textosuave); }
.elementor .legal__title { scroll-margin-top: 110px; }
.elementor .legal__title small { margin-right: 14px; font: 300 1.1rem/1 var(--e-global-typography-primary-font-family), Georgia, 'Times New Roman', serif; color: var(--e-global-color-tierra); }
.elementor .legal__body h3 { font: 600 1rem/1.4 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--e-global-color-primary); }
.elementor .legal__body ul { padding-left: 1.2em; }
.elementor .legal__body li { margin-bottom: 0.45em; }
.elementor .legal__body li::marker { color: var(--e-global-color-tierra); }
.elementor .legal__body a { color: var(--e-global-color-primary); text-underline-offset: 3px; overflow-wrap: anywhere; }
.elementor .legal__body strong { color: var(--e-global-color-primary); font-weight: 600; }
.elementor .legal-table { width: 100%; border-collapse: collapse; margin: 6px 0px 1.4em; font-size: 0.95rem; }
.elementor .legal-table th, .elementor .legal-table td { text-align: left; vertical-align: top; padding: 12px 14px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--e-global-color-linea); background: none; }
.elementor .legal-table th { width: 32%; font-weight: 600; color: var(--e-global-color-primary); }
.elementor .legal-table thead th { width: auto; background: var(--e-global-color-hueso); font: 600 .72rem/1.2 var(--e-global-typography-text-font-family), system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: 0.14em; text-transform: uppercase; color: var(--e-global-color-secondary); }
.elementor .legal-scroll { overflow-x: auto; }
.elementor .legal-scroll .legal-table { min-width: 560px; }
.elementor .pendiente { background: rgb(251, 231, 166); color: var(--e-global-color-primary); padding: 1px 6px; border-radius: 4px; font-weight: 600; }
@media (max-width: 960px) {
.elementor .legal__toc { position: static; }
.elementor .legal-table th { width: 40%; }
}
/* ==== Piezas de widgets sin control en el panel ==== */
/* Último párrafo de un Editor de texto: sin margen debajo (el espacio hasta el siguiente bloque lo da el
   margen del widget). Gana al «Espaciado de párrafos» solo en el último párrafo. */
.elementor .elementor-widget-text-editor.elementor-widget-text-editor > :last-child,
.elementor .elementor-widget-text-editor.elementor-widget-text-editor > .elementor-widget-container > :last-child { margin-block-end: 0; }/* Menú (Elementor Pro): los enlaces toman el color de la cabecera, que cambia al bajar,
   y el subrayado crece al pasar el ratón (el menú no tiene ese efecto en el panel) */
.elementor .nav__menu .elementor-nav-menu--main .elementor-item { position: relative; color: inherit; padding: 8px 0; white-space: nowrap; }
.elementor .nav__menu .elementor-nav-menu--main .elementor-item::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: currentColor; opacity: 1; transition: right .4s var(--ease); }
.elementor .nav__menu .elementor-nav-menu--main .elementor-item:hover::after,
.elementor .nav__menu .elementor-nav-menu--main .elementor-item-active::after { right: 0; }
.elementor .header .elementor-menu-toggle { color: inherit; background: transparent; }
.elementor .header .elementor-menu-toggle svg { fill: currentColor; }
.elementor .nav__menu .elementor-nav-menu--dropdown { box-shadow: 0 20px 40px -24px rgba(45,48,28,.5); }
.elementor .nav__menu .elementor-nav-menu--dropdown .elementor-item { padding: 16px var(--gutter); }/* Cabecera fija (Elementor Pro): al bajar, el botón pasa a fondo oscuro y el logo encoge */
.elementor .header.elementor-sticky--effects .elementor-widget-button .elementor-button { background-color: var(--e-global-color-primary); color: #fff; fill: #fff; border-color: var(--e-global-color-primary); }
.elementor .header + .elementor-sticky__spacer { display: none; }
@media (max-width: 1199px) { .elementor .header { --logo-h: 62px; }
.elementor .header.elementor-sticky--effects { --logo-h: 48px; } }/* Tarjetas con dos fotos: el Carrusel de imágenes ocupa toda la tarjeta (no tiene control de alto) */
.elementor .crop__media--duo :is(.elementor-image-carousel-wrapper, .swiper, .swiper-wrapper, .swiper-slide, .swiper-slide-inner) { height: 100%; margin: 0; }
.elementor .crop__media--duo img.swiper-slide-image { width: 100%; height: 100%; object-fit: cover; }/* Botón de pausa (widget Icono): sin el hueco de línea que deja Elementor bajo el icono, para que sea un círculo */
.elementor .video-btn .elementor-icon-wrapper { display: flex; }/* Vídeos de fondo por debajo del velo y del texto */
.elementor .hero > .elementor-background-video-container { z-index: 0; }
.elementor .film > .elementor-background-video-container { z-index: -2; }/* Preguntas frecuentes (Acordeón): líneas entre preguntas y el + en un círculo, que el widget no tiene */
.elementor .faq__list .elementor-accordion-item { border: 0; border-top: 1px solid var(--e-global-color-linea); }
.elementor .faq__list .elementor-accordion-item:last-child { border-bottom: 1px solid var(--e-global-color-linea); }
.elementor .faq__list .elementor-tab-title { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 20px; border: 0; }
.elementor .faq__list .elementor-tab-title a { color: inherit; text-decoration: none; }
.elementor .faq__list .elementor-accordion-icon { float: none; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--e-global-color-linea); background: #fff; font-size: 12px; }
.elementor .faq__list .elementor-accordion-icon svg { width: 12px; height: 12px; }
.elementor .faq__list .elementor-tab-content { border: 0; max-width: 62ch; }
.elementor .faq__list .elementor-tab-content p { margin: 0; }
/* Contenedores «en caja» con posición: lo absoluto de dentro se coloca respecto a la caja centrada */
.elementor .header__inner > .e-con-inner { position: relative; }
.elementor .hero__content > .e-con-inner { position: relative; }
.elementor .cta-band__grid > .e-con-inner { position: relative; }
