/* GUADIGITAL Child 0.2 — sistema "Panal Digital" v0.3 (Divi 5).
   Fuente legible; el tema sirve main.min.css (herramientas/minificar.py). Solo clases .gd-*.
   1 tokens · 2 base y reset de Divi · 3 accesibilidad · 4 layout · 5 botones · 6 cabecera
   7 pie · 8 hero, malla y racimo · 9 tarjetas · 10 rosetón · 11 zonas · 12 componentes
   13 formulario · 14 blog · 15 FAB · 16 movimiento */

/* 1. Tokens (02-branding/paleta-y-tokens.md) */
:root{
	--gd-fondo-alt:#eef5ff;--gd-fondo-alt-2:#dce8f8;
	--gd-texto:#0b1f3a;--gd-texto-suave:#475a75;--gd-primario:#1450c8;--gd-primario-oscuro:#0e3a94;
	--gd-noche:#0b1f3a;--gd-tinta:#060e1c;--gd-cian:#0ea5e9;--gd-cian-claro:#7dd3fc;
	--gd-miel:#f5a81c;--gd-miel-claro:#ffd27a;--gd-miel-texto:#8a4b00;--gd-texto-osc-suave:#b4c4dc;
	--gd-borde:#c9d8ee;--gd-borde-campo:#5b6f8c;--gd-borde-osc:#2a4468;--gd-borde-campo-osc:#7c94b8;
	--gd-error:#b3261e;--gd-foco:var(--gd-primario);
	--gd-sombra:0 8px 24px rgba(11,31,58,.1);--gd-sombra-h:0 12px 32px rgba(11,31,58,.16);
	--gd-ease:cubic-bezier(.23,1,.32,1);--gd-hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
	--gd-sys:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--gd-ft:"Space Grotesk",var(--gd-sys);--gd-fx:"Inter",var(--gd-sys);
	--gd-malla:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49'%3E%3Cpath fill='%237DD3FC' fill-rule='evenodd' d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.34V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/svg%3E")
}
.gd-oscuro{--gd-texto:#fff;--gd-texto-suave:var(--gd-texto-osc-suave);--gd-primario:var(--gd-cian-claro);--gd-borde:var(--gd-borde-osc);--gd-borde-campo:var(--gd-borde-campo-osc);--gd-foco:var(--gd-miel);background:var(--gd-noche);color:#fff}
.gd-tinta{background:var(--gd-tinta)}
.gd-azul{background:var(--gd-primario-oscuro)}

/* 2. Base. Divi 5 fija color, tamaños y paddings en body, h1-h6 y p: se reajustan a los tokens. */
body{font-family:var(--gd-fx);font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.6;color:var(--gd-texto);background:#fff}
#main-content.gd-main{background:none;outline:0}
.gd-main,.gd-cab,.gd-pie{color:var(--gd-texto)}
:where(.gd-main,.gd-pie,.gd-cab) :is(h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd){margin:0;padding:0}
:where(.gd-main,.gd-pie) :is(h1,h2,h3,h4){font-family:var(--gd-ft);color:var(--gd-texto);font-weight:700;text-wrap:balance;margin-bottom:.5em}
.gd-main h1{font-size:clamp(2.5rem,1.6rem + 4.5vw,4.5rem);line-height:1.05;letter-spacing:-.02em}
.gd-main h2{font-size:clamp(2rem,1.4rem + 3vw,3.25rem);line-height:1.1;letter-spacing:-.015em}
.gd-main h3,.gd-main .gd-h3{font-size:clamp(1.375rem,1.2rem + 1vw,1.875rem);line-height:1.2}
.gd-main h4,.gd-main .gd-h4{font-size:clamp(1.125rem,1.05rem + .5vw,1.375rem);line-height:1.3}
:where(.gd-main) :is(p+p,p+ul,ul+p){margin-top:1em}
:where(.gd-main) a:not([class]){color:var(--gd-primario);text-decoration:underline;text-underline-offset:3px}
:where(.gd-main) a:not([class]):hover{color:var(--gd-primario-oscuro)}
:where(.gd-oscuro) a:not([class]):hover{color:#fff}
:where(.gd-main) :is(ul,ol){list-style:none}
.gd-main img{max-width:100%;height:auto}
::selection{background:var(--gd-miel);color:var(--gd-noche)}
.gd-pie-tema #main-footer{display:none}

/* 3. Accesibilidad */
.gd-skip-link{position:absolute;left:8px;top:-80px;z-index:100000;padding:12px 16px;background:var(--gd-miel);color:#0b1f3a;font-weight:700;border-radius:8px}
.gd-skip-link:focus{top:8px}
:focus-visible{outline:3px solid var(--gd-foco);outline-offset:2px}
.gd-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gd-pend{display:inline-block;margin:2px 4px;padding:1px 6px;border:1px dashed #8a4b00;border-radius:4px;background:#fff3cd;color:#5c3200;font:600 .75rem/1.4 var(--gd-fx)}

/* 4. Layout */
.gd-s{padding:clamp(64px,8vw,120px) 0;position:relative}
.gd-alt{background:var(--gd-fondo-alt)}
.gd-in{max-width:1120px;margin:0 auto;padding:0 20px}
.gd-g3{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin-top:32px}
.gd-split{display:grid;gap:40px;align-items:start}
@media(min-width:768px){.gd-in{padding:0 32px}}
@media(min-width:1024px){.gd-split{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px}}
.gd-eyebrow{font:500 .8125rem/1.4 var(--gd-ft);text-transform:uppercase;letter-spacing:.12em;color:var(--gd-primario);margin-bottom:12px}
.gd-lead{font-size:1.125rem;color:var(--gd-texto-suave);max-width:62ch}
.gd-dx,.gd-suave{font-size:.9375rem;color:var(--gd-texto-suave);margin-top:16px}
.gd-ctas{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:28px}
.gd-col{flex-direction:column;align-items:stretch}
.gd-hero-claro h1{font-size:clamp(2.25rem,1.5rem + 3.5vw,3.75rem)}
.gd-sin-precios .gd-precios{display:none!important}
@media(min-width:1000px){.gd-solo-movil{display:none!important}}
/* !important en .gd-sin-precios/.gd-solo-movil: utilidades que deben ganar a cualquier display del componente. */

/* 5. Botones */
.gd-btn,.gd-form .ff-btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border:2px solid transparent;border-radius:8px;font:600 1rem/1.2 var(--gd-fx);text-decoration:none;text-align:center;cursor:pointer}
.gd-btn svg,.gd-ico,.gd-hexi svg,.gd-fab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gd-btn--p{background:#1450c8;color:#fff}
.gd-btn--p:hover{background:#0e3a94;color:#fff}
.gd-btn--m{background:var(--gd-miel);color:#0b1f3a}
.gd-btn--m:hover{background:var(--gd-miel-claro)}
.gd-btn--s{border-color:var(--gd-primario);color:var(--gd-primario);background:transparent}
.gd-btn--s:hover{background:var(--gd-fondo-alt-2)}
.gd-oscuro .gd-btn--s{border-color:var(--gd-borde-campo-osc);color:#fff}
.gd-oscuro .gd-btn--s:hover{background:rgba(255,255,255,.08)}
.gd-btn--t{padding-inline:4px;color:var(--gd-primario);text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.gd-ctas .gd-btn--p,.gd-ctas .gd-btn--m{width:100%}}

/* 6. Cabecera */
.gd-cab{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:9995;background:rgba(255,255,255,.96);border-bottom:1px solid var(--gd-borde)}
.gd-cab__in{display:flex;align-items:center;gap:16px;max-width:1280px;min-height:68px;margin:0 auto;padding:0 20px}
.gd-logo{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:auto;font:700 1.125rem var(--gd-ft);letter-spacing:.02em;color:var(--gd-texto);text-decoration:none}
.gd-logo .gd-iso{width:40px;height:auto;flex:none}
:is(.gd-oscuro,.gd-foto--vacia) .gd-iso path[fill="#0B1F3A"]{fill:var(--gd-cian)}
:is(.gd-oscuro,.gd-foto--vacia) .gd-iso path[fill="#0E3A94"]{fill:var(--gd-cian-claro)}
:is(.gd-oscuro,.gd-foto--vacia) .gd-iso path[fill="#1450C8"]{fill:#fff}
.gd-menu{display:flex;list-style:none;margin:0;padding:0}
.gd-menu a{display:flex;align-items:center;min-height:44px;padding:0 10px;color:var(--gd-texto);font:500 1rem var(--gd-fx);text-decoration:none;border-bottom:3px solid transparent}
.gd-menu :is(a:hover,[aria-current],.current-menu-ancestor>a){border-bottom-color:var(--gd-miel)}
.gd-lang{display:flex;gap:4px}
.gd-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font:600 .9375rem var(--gd-ft);color:var(--gd-texto);text-decoration:none}
.gd-lang a[aria-current]{text-decoration:underline;text-decoration-color:var(--gd-miel);text-decoration-thickness:3px;text-underline-offset:6px}
.gd-cab__tel,.gd-menubtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;border:2px solid var(--gd-borde-campo);border-radius:8px;background:#fff;color:var(--gd-texto);font:600 .9375rem var(--gd-fx);cursor:pointer}
@media(min-width:1000px){
	.gd-menubtn,.gd-cab__tel,.gd-nav__extra{display:none}
	.gd-menu>li{position:relative}
	.gd-menu .sub-menu{position:absolute;left:0;top:100%;min-width:260px;padding:8px;list-style:none;background:#fff;border:1px solid var(--gd-borde);border-radius:8px;box-shadow:var(--gd-sombra);opacity:0;visibility:hidden}
	.gd-menu li:is(:hover,:focus-within)>.sub-menu{opacity:1;visibility:visible}
	.gd-menu .sub-menu a{border:0}
	.gd-menu .sub-menu a:hover{background:var(--gd-fondo-alt)}
}
@media(max-width:999px){
	.gd-lang--esc,.gd-cab__cta{display:none}
	.gd-nav{order:9;flex-basis:100%;padding:8px 0 20px}
	.gd-js .gd-nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 68px);overflow:auto;padding:8px 20px 24px;background:#fff;border-bottom:1px solid var(--gd-borde);box-shadow:var(--gd-sombra)}
	.gd-js.gd-menu-abierto .gd-nav{display:block}
	.gd-cab__in{flex-wrap:wrap}
	.gd-menu{flex-direction:column}
	.gd-menu a{min-height:48px;border:0;border-bottom:1px solid var(--gd-borde)}
	.gd-menu .sub-menu{list-style:none;margin:0;padding:0 0 0 16px}
	.gd-nav__extra{display:grid;gap:12px;margin-top:16px}
	.gd-nav__rap{display:flex;flex-wrap:wrap;gap:8px}
}

/* 7. Pie */
.gd-pie{padding:64px 0 24px;background:var(--gd-noche);color:var(--gd-texto-osc-suave)}
.gd-pie__in,.gd-pie__legal{max-width:1280px;margin:0 auto;padding:0 20px}
.gd-pie__in{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.gd-pie p,.gd-pie li{color:var(--gd-texto-osc-suave);font-size:.9375rem}
.gd-pie ul{list-style:none;margin:0;padding:0}
.gd-pie a,.gd-ck-btn{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;color:var(--gd-cian-claro);text-decoration:none}
.gd-pie a:hover,.gd-ck-btn:hover{text-decoration:underline}
.gd-pie .gd-logo{color:#fff}
.gd-pie__h{font:600 .8125rem var(--gd-ft);text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:8px}
.gd-pie__legal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;margin-top:40px;padding-top:16px;border-top:1px solid var(--gd-borde-osc)}
.gd-pie__legal ul{display:flex;flex-wrap:wrap;gap:0 20px}
.gd-ck-btn{padding:0;border:0;background:none;font:inherit;font-size:.9375rem;cursor:pointer}

/* 8. Hero, malla y racimo */
.gd-malla{isolation:isolate;overflow:hidden}
.gd-malla::before{content:"";position:absolute;inset:-60px;z-index:-1;pointer-events:none;background:var(--gd-malla) 0 0/56px 98px}
.gd-malla::before{opacity:.22;mask-image:linear-gradient(100deg,rgba(0,0,0,.55),#000 75%)}
.gd-racimo__svg{display:block;width:100%;height:auto;overflow:visible}
.gd-celda path,.gd-iso path{transform-box:fill-box;transform-origin:center}
.gd-racimo__svg .b{fill:var(--gd-borde-osc)}
.gd-racimo__svg .c .b{fill:var(--gd-primario-oscuro)}
.gd-racimo__svg .m .b{fill:var(--gd-miel)}
.gd-racimo__svg .h,.gd-racimo__svg .w{fill:var(--gd-miel);opacity:0}
.gd-racimo__svg .m :is(.h,.w){fill:var(--gd-miel-claro)}

/* 9. Tarjetas (rectangulares; el hexágono es el contenedor del icono) */
.gd-tarjeta{position:relative;padding:24px;border-radius:16px;background:var(--gd-fondo-alt-2);box-shadow:var(--gd-sombra);color:var(--gd-texto)}
.gd-clara{background:#fff;border:1px solid var(--gd-borde)}
.gd-oscuro .gd-tarjeta{background:var(--gd-tinta);border:1px solid var(--gd-borde-osc);box-shadow:none}
.gd-hexi{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;width:56px;height:64px;margin-bottom:16px;background:var(--gd-primario);clip-path:var(--gd-hex);color:#fff}
.gd-oscuro .gd-hexi{color:var(--gd-noche)}
.gd-hexi::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--gd-miel);opacity:0}
.gd-hexi svg{width:26px;height:26px}
.gd-sl{color:inherit;text-decoration:none}
.gd-sl::after{content:"";position:absolute;inset:0}
.gd-sl:hover{text-decoration:underline;text-underline-offset:4px}
.gd-tarjeta:has(.gd-sl:focus-visible){outline:3px solid var(--gd-foco);outline-offset:3px}
.gd-tarjeta .gd-sl:focus-visible{outline:0}
.gd-tarjeta:has(.gd-sl:hover,.gd-sl:focus-visible){box-shadow:var(--gd-sombra-h)}
.gd-tarjeta:has(.gd-sl:hover,.gd-sl:focus-visible) .gd-hexi{color:var(--gd-noche)}
.gd-tarjeta:has(.gd-sl:hover,.gd-sl:focus-visible) .gd-hexi::after{opacity:1}

/* 12. Componentes de página */
.gd-pasos{display:grid;gap:24px;counter-reset:p;margin-top:32px}
@media(min-width:600px){.gd-pasos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.gd-pasos--4{grid-template-columns:repeat(4,minmax(0,1fr))}.gd-pasos--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gd-pasos li{counter-increment:p;padding-top:16px;border-top:2px solid var(--gd-borde)}
.gd-pasos li::before{content:"0" counter(p);content:"0" counter(p)/"";display:block;font:700 2rem var(--gd-ft);color:var(--gd-primario)}
.gd-pasos p{color:var(--gd-texto-suave)}
.gd-prom__pts li,.gd-check li{position:relative;padding:6px 0 6px 28px}
.gd-prom__pts li::before,.gd-check li::before{content:"";position:absolute;left:2px;top:.8em;width:14px;height:16px;background:var(--gd-primario);clip-path:var(--gd-hex)}
.gd-foto{width:min(200px,60vw);aspect-ratio:.866;clip-path:var(--gd-hex);background:var(--gd-noche);display:flex;align-items:center;justify-content:center}
.gd-foto img{width:100%;height:100%;object-fit:cover}
.gd-foto--vacia .gd-iso{width:45%;height:auto}
.gd-foto--mini{width:72px;flex:none}
.gd-precio{font:700 2rem/1.1 var(--gd-ft);color:var(--gd-texto);margin:8px 0 16px}
.gd-precio small{font:500 .875rem var(--gd-fx);color:var(--gd-texto-suave)}
.gd-pack{display:flex;flex-direction:column}
.gd-pack .gd-btn{margin-top:auto}
.gd-pack ul{margin-bottom:24px}
.gd-mirada ul{margin-top:8px}
.gd-faq{max-width:820px;margin-top:24px}
.gd-faq details{border-bottom:1px solid var(--gd-borde)}
.gd-faq summary{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:48px;padding:12px 0;font:600 1.125rem var(--gd-ft);cursor:pointer;list-style:none}
.gd-faq summary::-webkit-details-marker{display:none}
.gd-faq summary::after{content:"+";font-size:1.5rem;color:var(--gd-primario)}
.gd-faq details[open] summary::after{content:"−"}
.gd-faq details p{padding-bottom:16px;max-width:68ch}
.gd-tabla{overflow-x:auto;margin:24px 0}
.gd-tabla table{width:100%;border-collapse:collapse;min-width:420px}
.gd-tabla :is(th,td){padding:12px;border-bottom:1px solid var(--gd-borde);text-align:left;vertical-align:top}
.gd-tabla caption{text-align:left;padding-bottom:8px;color:var(--gd-texto-suave)}
.gd-migas{margin-bottom:16px;font-size:.875rem}
.gd-migas ol{display:flex;flex-wrap:wrap;gap:4px}
.gd-migas li+li::before{content:"›";margin-right:4px;color:var(--gd-texto-suave)}
.gd-migas a{display:inline-flex;min-height:24px;align-items:center}
.gd-caso__img{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;margin:-24px -24px 20px;border-radius:16px 16px 0 0;background:var(--gd-noche)}
.gd-cr .gd-caso__img{margin:0;border-radius:16px}
.gd-caso__img svg{width:34%}

/* 15. WhatsApp flotante; sube sobre el banner de CookieYes visible */
.gd-fab{position:fixed;right:12px;bottom:12px;z-index:9990}
.gd-fab a{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px;border-radius:999px;background:#1b6b3a;color:#fff;font:600 1rem var(--gd-fx);text-decoration:none;box-shadow:var(--gd-sombra-h)}
.gd-fab a:hover{background:#145430;color:#fff}
.gd-fab svg{width:22px;height:22px}
body:has(.cky-consent-container:not(.cky-hide)) .gd-fab{bottom:108px}

/* 16. Movimiento: todo bajo no-preference; sin soporte de view(), estático */
@media(prefers-reduced-motion:no-preference){
	.gd-iso-intro .gd-iso path{animation:gd-in .35s cubic-bezier(.2,.7,.3,1) calc(var(--i,0)*30ms) backwards}
	.gd-iso-intro .gd-iso .gd-iso-miel{animation:gd-in .45s cubic-bezier(.34,1.56,.64,1) 210ms backwards}
	.gd-iso .gd-iso-miel{transition:transform .4s cubic-bezier(.3,.7,.3,1)}
	a:is(:hover,:focus-visible) .gd-iso-miel{transform:rotate(60deg)}
	.gd-racimo__svg .h,.gd-cell .o,.gd-hexi::after{transition:opacity .3s var(--gd-ease)}
	.gd-tarjeta,.gd-cell,.gd-fab{transition:transform .2s var(--gd-ease),box-shadow .2s,bottom .2s}
	@media(hover:hover) and (pointer:fine){.gd-tarjeta:has(.gd-sl:hover),.gd-cell:has(.gd-sl):hover{transform:translateY(-4px)}}
	@keyframes gd-in{from{opacity:0;transform:scale(.85)}}
	@keyframes gd-pulse{40%{transform:scale(1.15)}}
	@supports (animation-timeline:view()){
		.gd-malla::before{animation:gd-par linear both;animation-timeline:view();animation-range:cover}
		.gd-g3>*{animation:gd-rv linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
		@keyframes gd-par{from{transform:translate3d(0,24px,0)}to{transform:translate3d(0,-24px,0)}}
		@keyframes gd-rv{from{opacity:0;transform:translateY(16px)}}
	}
}
/*  justificado: anula animaciones de Divi y plugins con más especificidad (WCAG 2.3.3). */
@media(prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

