/* ===================================================================
   LULY MONTALVO — Sistema de diseño definitivo
   Prefijo lm- en TODO para evitar conflictos con Elementor/WordPress
   =================================================================== */

/* ── VARIABLES ─────────────────────────────────────────────── */
:root {
  --lm-crema:     #F8F3E8;
  --lm-crema-r:   #F3EEE9;
  --lm-blanco:    #FFFFFF;
  --lm-tinta:     #3A2E4D;
  --lm-suave:     #6B5E73;
  --lm-lavanda:   #B9A7D6;
  --lm-lav-s:     #CFC4DF;
  --lm-violeta:   #B9A7D6;
  --lm-vio-d:     #9E88C0;
  --lm-turquesa:  #A8D5D8;
  --lm-dorado:    #C9A86A;
  --lm-ff-d:      'Fraunces', serif;
  --lm-ff-b:      'Lato', sans-serif;
  --lm-max:       1240px;
  --lm-ease:      cubic-bezier(0.16, 1, 0.3, 1);
  --lm-sh-md:     0 8px 28px rgba(58,46,77,.13);
  --lm-sh-lg:     0 24px 60px rgba(58,46,77,.20);
  --lm-sh-xl:     0 40px 90px rgba(58,46,77,.26);
}

/* ── BASE TIPOGRAFÍA GLOBAL ─────────────────────────────────── */
body { font-family: var(--lm-ff-b); -webkit-font-smoothing: antialiased; }

h1,h2,h3,h4,h5,h6 {
  font-family: var(--lm-ff-d) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

/* Blog/posts content */
.entry-content h2 { font-size:clamp(21px,2.8vw,30px)!important; margin:2em 0 .7em; }
.entry-content h3 { font-size:clamp(18px,2.2vw,24px)!important; margin:1.6em 0 .6em; }
.entry-content p  { font-size:17px; line-height:1.8; margin-bottom:1.4em; }
.entry-content a  { color:var(--lm-vio-d); border-bottom:1px solid rgba(158,136,192,.3); }
.entry-content blockquote {
  border-left:3px solid var(--lm-dorado); padding:16px 22px; margin:2em 0;
  background:var(--lm-crema-r); border-radius:0 12px 12px 0; font-style:italic;
}
.entry-content img { border-radius:20px; margin:2em 0; box-shadow:var(--lm-sh-md); }

/* ── ADMIN BAR ──────────────────────────────────────────────── */
@media (min-width:783px) { body.admin-bar .lm-header { top:32px !important; } }
@media (max-width:782px) { body.admin-bar .lm-header { top:46px !important; } }

/* ── KEYFRAMES ──────────────────────────────────────────────── */
@keyframes lm-float  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes lm-blob   { 0%,100%{transform:scale(1)} 50%{transform:scale(1.1) translate(-10px,14px)} }
@keyframes lm-marq   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes lm-rise   { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
@keyframes lm-scalein{ from{opacity:0;transform:scale(.94)} to{opacity:1;transform:none} }
@keyframes lm-left   { from{opacity:0;transform:translateX(-28px)} to{opacity:1;transform:none} }
@keyframes lm-right  { from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:none} }

/* ── SCROLL REVEAL ──────────────────────────────────────────── */
.lm-reveal {
  opacity:0; transform:translateY(24px);
  transition:opacity .8s var(--lm-ease), transform .8s var(--lm-ease);
}
.lm-reveal.lm-left  { transform:translateX(-28px); }
.lm-reveal.lm-right { transform:translateX(28px); }
.lm-reveal.lm-scale { transform:scale(.94); }
.lm-reveal.on       { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce) {
  .lm-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ── UTILIDADES ─────────────────────────────────────────────── */
.lm-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--lm-ff-b); font-size:11.5px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--lm-vio-d);
}
.lm-eyebrow::before { content:''; width:20px; height:1.5px; background:var(--lm-dorado); flex-shrink:0; }
.lm-eyebrow.center  { justify-content:center; }
.lm-eyebrow.center::before { display:none; }
.lm-eyebrow.light   { color:var(--lm-lav-s); }

.lm-wave { display:block; width:100%; line-height:0; margin-bottom:-1px; }

.lm-rule {
  width:58px; height:2.5px;
  background:linear-gradient(90deg,var(--lm-dorado),var(--lm-violeta));
  border-radius:2px; margin:0 auto 26px;
}

/* ── BOTONES ────────────────────────────────────────────────── */
.lm-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--lm-ff-b); font-size:15px; font-weight:700; letter-spacing:.03em;
  padding:15px 32px; border-radius:100px; border:none; cursor:pointer;
  position:relative; overflow:hidden; text-decoration:none; white-space:nowrap;
  transition:transform .4s var(--lm-ease), box-shadow .4s var(--lm-ease), background .3s ease;
}
.lm-btn::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.26) 50%,transparent 70%);
  transform:translateX(-110%); transition:transform .5s ease;
}
.lm-btn:hover::after { transform:translateX(110%); }

.lm-btn.primary   { background:var(--lm-tinta); color:var(--lm-crema); box-shadow:0 6px 20px rgba(58,46,77,.28); }
.lm-btn.primary:hover { background:var(--lm-vio-d); transform:translateY(-3px); box-shadow:0 14px 32px rgba(58,46,77,.36); }
.lm-btn.violeta   { background:var(--lm-violeta); color:#fff; box-shadow:0 6px 20px rgba(185,167,214,.35); }
.lm-btn.violeta:hover { background:var(--lm-vio-d); transform:translateY(-3px); box-shadow:0 14px 32px rgba(185,167,214,.45); }
.lm-btn.ghost     { background:transparent; color:var(--lm-tinta); border:1.5px solid rgba(58,46,77,.28); }
.lm-btn.ghost:hover { background:var(--lm-tinta); color:var(--lm-crema); transform:translateY(-3px); }
.lm-btn.ghost-light { background:transparent; color:var(--lm-crema); border:1.5px solid rgba(248,243,232,.4); }
.lm-btn.ghost-light:hover { background:rgba(248,243,232,.12); transform:translateY(-3px); }
.lm-btn.lg  { padding:19px 44px; font-size:16px; }
.lm-btn.sm  { padding:10px 20px; font-size:13.5px; }
.lm-btn.block { width:100%; }

/* CF7 heredará estos estilos */

/* ===================================================================
   HEADER
=================================================================== */
.lm-header {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  padding:20px 0;
  transition:padding .4s var(--lm-ease), background .4s var(--lm-ease), box-shadow .4s var(--lm-ease);
}
.lm-header.scrolled {
  padding:12px 0;
  background:rgba(248,243,232,.9);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  box-shadow:0 2px 20px rgba(58,46,77,.10);
}
.lm-header__in {
  max-width:var(--lm-max); margin:0 auto;
  padding:0 clamp(20px,5vw,60px);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.lm-logo {
  font-family:var(--lm-ff-d) !important; font-size:21px; font-weight:600 !important;
  color:var(--lm-tinta) !important; letter-spacing:.01em; flex-shrink:0;
  text-decoration:none !important;
}
.lm-logo strong { color:var(--lm-violeta); }

.lm-nav { display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0; }
.lm-nav a {
  font-family:var(--lm-ff-b); font-size:14.5px; font-weight:600; color:var(--lm-tinta);
  position:relative; padding:4px 0; text-decoration:none;
  transition:color .25s ease;
}
.lm-nav a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:2px; background:var(--lm-dorado); border-radius:2px;
  transition:width .3s var(--lm-ease);
}
.lm-nav a:hover { color:var(--lm-vio-d); }
.lm-nav a:hover::after { width:100%; }

.lm-burger {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:40px; height:40px; background:none; border:none; padding:8px;
  border-radius:8px; cursor:pointer;
}
.lm-burger span {
  display:block; width:100%; height:2px; background:var(--lm-tinta);
  border-radius:2px; transition:.3s var(--lm-ease);
}
.lm-burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.lm-burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.lm-burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.lm-overlay { display:none; position:fixed; inset:0; background:rgba(58,46,77,.45); backdrop-filter:blur(3px); z-index:9998; }
.lm-overlay.open { display:block; }

/* ===================================================================
   HERO — Grid 100% CSS, Elementor no interfiere
=================================================================== */
.lm-hero-bg {
  background:var(--lm-crema);
  position:relative;
  overflow:hidden;
  min-height:100svh;
}
.lm-hero-bg::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 80% at 68% 40%, rgba(207,196,223,.28) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 20% 80%, rgba(168,213,216,.18) 0%, transparent 60%);
}
.lm-blob {
  position:absolute; border-radius:50%; pointer-events:none;
  animation:lm-blob 10s ease-in-out infinite;
}
.lm-blob.b1 {
  width:480px; height:480px; top:-90px; right:-70px; filter:blur(5px);
  background:radial-gradient(circle,rgba(207,196,223,.42) 0%,transparent 70%);
}
.lm-blob.b2 {
  width:320px; height:320px; bottom:-50px; left:8%; filter:blur(7px);
  background:radial-gradient(circle,rgba(168,213,216,.28) 0%,transparent 70%);
  animation-direction:reverse; animation-delay:-5s;
}

/* EL GRID DEL HERO — aquí estaba el problema */
.lm-hero-grid {
  position:relative; z-index:2;
  max-width:var(--lm-max); margin:0 auto;
  padding:150px clamp(20px,5vw,60px) 90px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  min-height:100svh;
  box-sizing:border-box;
}

.lm-hero-copy { animation:lm-rise 1s var(--lm-ease) both .1s; }
.lm-hero-copy .lm-eyebrow { margin-bottom:20px; }

.lm-h1 {
  font-family:var(--lm-ff-d) !important;
  font-size:clamp(34px,4.6vw,54px) !important;
  font-weight:600 !important;
  line-height:1.1 !important;
  color:var(--lm-tinta) !important;
  margin:0 0 20px !important;
}
.lm-h1 em {
  font-style:italic; font-weight:500;
  background:linear-gradient(135deg,var(--lm-violeta) 0%,var(--lm-lavanda) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.lm-hero-lead {
  font-family:var(--lm-ff-b);
  font-size:18px; line-height:1.72; color:var(--lm-suave); margin-bottom:32px;
}
.lm-hero-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:30px; }
.lm-hero-link {
  font-size:14.5px; font-weight:700; color:var(--lm-tinta);
  border-bottom:1.5px solid rgba(58,46,77,.3); padding-bottom:3px;
  text-decoration:none; transition:color .25s ease, border-color .25s ease;
}
.lm-hero-link:hover { color:var(--lm-vio-d); border-color:var(--lm-vio-d); }
.lm-hero-trust {
  display:flex; align-items:center; gap:10px;
  font-size:13px; font-style:italic; color:var(--lm-vio-d);
  border-top:1px solid rgba(185,167,214,.2); padding-top:18px;
}
.lm-hero-trust .star { color:var(--lm-dorado); font-style:normal; flex-shrink:0; }

/* Visual derecho */
.lm-hero-visual { position:relative; animation:lm-scalein 1.1s var(--lm-ease) both .2s; }
.lm-hero-frame {
  position:relative;
  border-radius:38px 38px 38px 8px;
  overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:var(--lm-sh-xl);
}
.lm-hero-frame img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block; transition:transform 8s ease;
}
.lm-hero-frame:hover img { transform:scale(1.04); }
.lm-hero-frame::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(58,46,77,.15) 0%,transparent 45%);
  pointer-events:none;
}

/* Tarjetas flotantes */
.lm-fc {
  position:absolute; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); border-radius:16px;
  padding:12px 16px; box-shadow:var(--lm-sh-lg);
  display:flex; align-items:center; gap:11px; z-index:3;
  animation:lm-float 5s ease-in-out infinite;
}
.lm-fc-icon {
  width:34px; height:34px; border-radius:50%; background:var(--lm-crema-r);
  display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0;
}
.lm-fc-txt { font-size:13px; font-weight:700; color:var(--lm-tinta); line-height:1.3; }
.lm-fc-txt small { display:block; font-weight:400; color:var(--lm-suave); font-size:11px; }
.lm-fc.a { top:8%; left:-11%; }
.lm-fc.b { bottom:10%; right:-9%; animation-delay:1.5s; }

/* ===================================================================
   MARQUEE
=================================================================== */
.lm-marquee {
  background:var(--lm-tinta); padding:17px 0; overflow:hidden; white-space:nowrap;
}
.lm-marquee-track {
  display:inline-flex; animation:lm-marq 24s linear infinite;
}
.lm-marquee:hover .lm-marquee-track { animation-play-state:paused; }
.lm-marquee-item {
  display:inline-flex; align-items:center; gap:22px; padding:0 22px;
  font-family:var(--lm-ff-b); font-size:12px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(248,243,232,.6);
}
.lm-marquee-sep { color:var(--lm-dorado); font-size:8px; }

/* ===================================================================
   MANIFIESTO
=================================================================== */
.lm-manifesto {
  background:var(--lm-crema-r);
  padding:95px clamp(20px,5vw,60px) 55px;
  text-align:center; position:relative; overflow:hidden;
}
.lm-manifesto::before {
  content:''; position:absolute; width:380px; height:380px; border-radius:50%;
  background:rgba(185,167,214,.08); top:-140px; right:-90px; pointer-events:none;
}
.lm-manifesto-in { max-width:700px; margin:0 auto; }
.lm-manifesto-in h2 { font-size:clamp(27px,3.6vw,40px) !important; margin:14px 0 24px !important; }
.lm-manifesto-in p { font-size:19px; line-height:1.85; color:var(--lm-suave); }
.lm-manifesto-in strong { color:var(--lm-tinta); font-weight:700; }

/* Stats */
.lm-stats { background:var(--lm-crema-r); padding:0 clamp(20px,5vw,60px) 85px; }
.lm-stats-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
  max-width:var(--lm-max); margin:0 auto;
}
.lm-stat {
  background:rgba(255,255,255,.58); border-radius:20px; padding:34px 22px;
  text-align:center; border:1px solid rgba(255,255,255,.85);
  transition:transform .4s var(--lm-ease), box-shadow .4s var(--lm-ease), background .3s ease;
}
.lm-stat:hover { transform:translateY(-7px) scale(1.02); box-shadow:var(--lm-sh-lg); background:var(--lm-blanco); }
.lm-stat-n {
  display:block; font-family:var(--lm-ff-d); font-size:48px; font-weight:600;
  line-height:1; margin-bottom:9px;
  background:linear-gradient(135deg,var(--lm-violeta) 0%,var(--lm-lavanda) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.lm-stat-l { font-size:14px; color:var(--lm-suave); line-height:1.5; }

/* ===================================================================
   SOBRE MÍ
=================================================================== */
.lm-about {
  background:var(--lm-crema); padding:105px clamp(20px,5vw,60px);
}
.lm-about-grid {
  display:grid; grid-template-columns:.88fr 1.12fr; gap:78px;
  align-items:center; max-width:var(--lm-max); margin:0 auto;
}
.lm-about-vis { position:relative; }
.lm-about-frame {
  border-radius:8px 38px 38px 38px; overflow:hidden;
  aspect-ratio:4/5; box-shadow:var(--lm-sh-xl);
}
.lm-about-frame img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.lm-about-badge {
  position:absolute; bottom:-18px; right:-14px;
  background:var(--lm-blanco); border-radius:16px; padding:13px 17px;
  box-shadow:var(--lm-sh-lg); display:flex; align-items:center; gap:11px;
  animation:lm-float 6s ease-in-out infinite .5s; max-width:190px;
}
.lm-about-badge-icon {
  width:36px; height:36px; border-radius:50%; background:var(--lm-crema-r);
  display:flex; align-items:center; justify-content:center;
  color:var(--lm-dorado); font-size:15px; flex-shrink:0;
}
.lm-about-badge-txt { font-size:12.5px; font-weight:700; color:var(--lm-tinta); line-height:1.3; }
.lm-about-badge-txt small { display:block; font-weight:400; color:var(--lm-suave); font-size:11px; }
.lm-about-txt h2 { font-size:clamp(25px,3vw,36px) !important; margin:13px 0 18px !important; }
.lm-about-txt p  { font-size:17px; line-height:1.8; margin-bottom:16px; }

/* ===================================================================
   SERVICIOS
=================================================================== */
.lm-services {
  background:var(--lm-tinta); padding:105px clamp(20px,5vw,60px);
  position:relative; overflow:hidden;
}
.lm-services::before,
.lm-services::after {
  content:''; position:absolute; border-radius:50%; pointer-events:none;
}
.lm-services::before { width:480px; height:480px; top:-190px; right:-140px; background:rgba(185,167,214,.1); }
.lm-services::after  { width:320px; height:320px; bottom:-110px; left:-70px; background:rgba(168,213,216,.08); }

.lm-svc-in { max-width:var(--lm-max); margin:0 auto; position:relative; z-index:1; }
.lm-svc-head { text-align:center; max-width:600px; margin:0 auto 58px; }
.lm-svc-head h2 { color:var(--lm-crema) !important; font-size:clamp(27px,3.6vw,42px) !important; margin:13px 0 13px !important; }
.lm-svc-head p  { color:rgba(207,196,223,.8); font-size:18px; }

.lm-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }

.lm-card {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);
  border-radius:20px; padding:38px 28px; display:flex; flex-direction:column;
  position:relative; overflow:hidden;
  transition:transform .4s var(--lm-ease), box-shadow .4s var(--lm-ease),
             background .3s ease, border-color .3s ease;
}
.lm-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--lm-dorado),var(--lm-violeta),transparent);
  opacity:0; transition:opacity .3s ease;
}
.lm-card:hover { transform:translateY(-10px); box-shadow:0 26px 52px rgba(0,0,0,.3); background:rgba(255,255,255,.09); border-color:rgba(185,167,214,.35); }
.lm-card:hover::before { opacity:1; }
.lm-card.featured {
  background:rgba(185,167,214,.18); border-color:rgba(185,167,214,.4);
  transform:translateY(-13px); box-shadow:0 28px 52px rgba(0,0,0,.25);
}
.lm-card.featured::before { opacity:1; }
.lm-card.featured:hover { transform:translateY(-20px); }

.lm-card-icon {
  width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  font-size:19px; color:var(--lm-dorado); margin-bottom:18px;
  transition:transform .4s var(--lm-ease), background .3s ease;
}
.lm-card:hover .lm-card-icon { transform:rotate(12deg) scale(1.1); background:rgba(201,168,106,.18); }
.lm-card-tag { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--lm-dorado); margin-bottom:8px; font-family:var(--lm-ff-b); }
.lm-card h3  { font-size:19px !important; color:var(--lm-crema) !important; margin-bottom:10px !important; line-height:1.3 !important; }
.lm-card p   { font-size:14.5px; color:rgba(207,196,223,.76); line-height:1.7; flex:1; margin-bottom:22px; }
.lm-card-cta { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--lm-lav-s); transition:color .25s ease, gap .3s var(--lm-ease); margin-top:auto; text-decoration:none; }
.lm-card-cta .arr { transition:transform .3s var(--lm-ease); }
.lm-card:hover .lm-card-cta { color:var(--lm-dorado); gap:13px; }
.lm-card:hover .lm-card-cta .arr { transform:translateX(4px); }
.lm-svc-cta { text-align:center; margin-top:50px; }

/* ===================================================================
   PROCESO
=================================================================== */
.lm-process { background:var(--lm-crema); padding:105px clamp(20px,5vw,60px); }
.lm-process-grid {
  display:grid; grid-template-columns:.84fr 1.16fr; gap:85px;
  align-items:center; max-width:var(--lm-max); margin:0 auto;
}
.lm-proc-frame {
  position:relative; border-radius:38px 8px 38px 38px;
  overflow:hidden; aspect-ratio:3/4; box-shadow:var(--lm-sh-xl);
}
.lm-proc-frame img { width:100%; height:100%; object-fit:cover; }
.lm-proc-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(58,46,77,.72) 0%,transparent 54%);
  display:flex; align-items:flex-end; padding:24px 22px;
}
.lm-proc-overlay p { font-family:var(--lm-ff-d); font-size:16.5px; font-style:italic; color:rgba(248,243,232,.9); line-height:1.4; }
.lm-proc-txt h2 { font-size:clamp(23px,2.8vw,34px) !important; margin:13px 0 36px !important; line-height:1.25 !important; }
.lm-step { display:flex; gap:19px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid rgba(185,167,214,.18); transition:transform .3s var(--lm-ease); }
.lm-step:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.lm-step:hover { transform:translateX(5px); }
.lm-step-n { font-family:var(--lm-ff-d); font-size:28px; font-weight:600; color:var(--lm-dorado); line-height:1; min-width:46px; flex-shrink:0; padding-top:2px; }
.lm-step h4 { font-size:16.5px !important; margin-bottom:5px !important; }
.lm-step p  { font-size:14.5px; line-height:1.65; margin:0; }

/* ===================================================================
   TESTIMONIOS
=================================================================== */
.lm-testimonials {
  background:var(--lm-crema-r); padding:105px clamp(20px,5vw,60px);
  position:relative; overflow:hidden;
}
.lm-testimonials::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 60% at 80% 50%,rgba(207,196,223,.22) 0%,transparent 70%); pointer-events:none;
}
.lm-test-in { max-width:var(--lm-max); margin:0 auto; position:relative; z-index:1; }
.lm-test-head { text-align:center; max-width:560px; margin:0 auto 50px; }
.lm-test-head h2 { font-size:clamp(25px,3.2vw,36px) !important; margin:13px 0 !important; }
.lm-t-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.lm-t {
  background:var(--lm-blanco); border-radius:20px; padding:30px 24px;
  box-shadow:0 2px 8px rgba(58,46,77,.07); border:1px solid rgba(185,167,214,.11);
  display:flex; flex-direction:column; gap:13px;
  transition:transform .4s var(--lm-ease), box-shadow .4s var(--lm-ease);
}
.lm-t:hover { transform:translateY(-7px); box-shadow:var(--lm-sh-lg); }
.lm-t-stars  { color:var(--lm-dorado); font-size:13px; letter-spacing:2px; }
.lm-t-quote  { font-size:36px; color:var(--lm-lav-s); font-family:var(--lm-ff-d); line-height:1; }
.lm-t-text   { font-size:15px; font-style:italic; line-height:1.72; flex:1; color:var(--lm-tinta); }
.lm-t-author { display:flex; align-items:center; gap:11px; padding-top:11px; border-top:1px solid rgba(185,167,214,.14); }
.lm-t-av   { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--lm-lav-s),var(--lm-turquesa)); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.lm-t-name { font-size:13.5px; font-weight:700; color:var(--lm-tinta); }
.lm-t-role { font-size:12px; color:var(--lm-vio-d); }

/* ===================================================================
   BLOG (home preview + loop real de WordPress)
=================================================================== */
.lm-blog { background:var(--lm-crema); padding:105px clamp(20px,5vw,60px); }
.lm-blog-in { max-width:var(--lm-max); margin:0 auto; }
.lm-blog-head { text-align:center; max-width:540px; margin:0 auto 48px; }
.lm-blog-head h2 { font-size:clamp(25px,3.2vw,36px) !important; margin:13px 0 11px !important; }
.lm-blog-head p  { font-size:17px; }
.lm-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

/* Tarjeta — aplica al HTML estático y al loop WP */
.lm-bc, .hentry, article.post {
  background:var(--lm-blanco); border-radius:20px; overflow:hidden;
  box-shadow:0 2px 8px rgba(58,46,77,.07); border:1px solid rgba(185,167,214,.10);
  display:flex; flex-direction:column;
  transition:transform .4s var(--lm-ease), box-shadow .4s var(--lm-ease);
}
.lm-bc:hover, .hentry:hover { transform:translateY(-8px); box-shadow:var(--lm-sh-lg); }
.lm-bc-img { aspect-ratio:3/2; overflow:hidden; background:var(--lm-crema-r); }
.lm-bc-img img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.lm-bc:hover .lm-bc-img img { transform:scale(1.06); }
.lm-bc-body { padding:20px 18px 22px; flex:1; display:flex; flex-direction:column; }
.lm-bc-cat  { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--lm-vio-d); margin-bottom:7px; font-family:var(--lm-ff-b); }
.lm-bc h3   { font-size:17px !important; margin-bottom:8px !important; line-height:1.35 !important; }
.lm-bc p    { font-size:14px; line-height:1.65; margin-bottom:13px; flex:1; }
.lm-bc-more { font-size:13.5px; font-weight:700; color:var(--lm-violeta); transition:color .25s ease; margin-top:auto; text-decoration:none; }
.lm-bc:hover .lm-bc-more { color:var(--lm-vio-d); }

/* Paginación WordPress */
.pagination,.nav-links { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:50px; flex-wrap:wrap; }
.pagination .page-numbers,.nav-links .page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%; font-size:14.5px; font-weight:600;
  color:var(--lm-tinta); border:1.5px solid rgba(185,167,214,.25); transition:.3s ease;
}
.pagination .page-numbers.current,.pagination .page-numbers:hover,
.nav-links .page-numbers.current,.nav-links .page-numbers:hover {
  background:var(--lm-violeta); color:#fff; border-color:var(--lm-violeta);
}

/* ===================================================================
   CTA FINAL
=================================================================== */
.lm-cta {
  background:var(--lm-tinta); padding:110px clamp(20px,5vw,60px);
  text-align:center; position:relative; overflow:hidden;
}
.lm-cta::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 70% at 15% 50%,rgba(185,167,214,.18) 0%,transparent 70%),
    radial-gradient(ellipse 40% 55% at 85% 60%,rgba(168,213,216,.12) 0%,transparent 70%);
}
.lm-cta-in { position:relative; z-index:1; max-width:660px; margin:0 auto; }
.lm-cta-in h2 { font-size:clamp(27px,3.8vw,44px) !important; color:var(--lm-crema) !important; line-height:1.18 !important; margin:15px 0 17px !important; }
.lm-cta-in p  { font-size:18px; color:rgba(207,196,223,.8); margin-bottom:36px; line-height:1.65; }
.lm-cta-btns  { display:flex; align-items:center; justify-content:center; gap:13px; flex-wrap:wrap; }

/* ===================================================================
   FOOTER
=================================================================== */
.lm-footer { background:var(--lm-tinta); color:var(--lm-lav-s); padding:76px clamp(20px,5vw,60px) 26px; }
.lm-footer-in { max-width:var(--lm-max); margin:0 auto; }
.lm-footer-top { display:grid; grid-template-columns:1.3fr .8fr .8fr 1.2fr; gap:42px; padding-bottom:46px; border-bottom:1px solid rgba(255,255,255,.08); }
.lm-footer-brand p { font-size:14px; line-height:1.7; max-width:265px; margin-top:11px; }
.lm-logo.inv { color:var(--lm-crema) !important; }
.lm-logo.inv strong { color:var(--lm-dorado) !important; }
.lm-fc-title { font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--lm-crema); margin-bottom:17px; font-family:var(--lm-ff-b); }
.lm-footer-col { display:flex; flex-direction:column; }
.lm-footer-col a { font-size:13.5px; color:var(--lm-lav-s); margin-bottom:10px; text-decoration:none; transition:color .25s ease, padding-left .25s ease; }
.lm-footer-col a:hover { color:var(--lm-dorado); padding-left:4px; }
.lm-nl-note { font-size:13px; line-height:1.65; margin-bottom:13px; }
.lm-nl-form { display:flex; }
.lm-nl-form input {
  flex:1; padding:11px 13px; border:1px solid rgba(255,255,255,.13); border-right:none;
  background:rgba(255,255,255,.05); color:var(--lm-crema); font-size:13.5px;
  font-family:var(--lm-ff-b); border-radius:100px 0 0 100px; outline:none;
}
.lm-nl-form input::placeholder { color:rgba(248,243,232,.4); }
.lm-nl-form button {
  background:var(--lm-dorado); color:var(--lm-tinta); border:none; padding:0 17px;
  border-radius:0 100px 100px 0; font-size:13px; font-weight:700; cursor:pointer;
  transition:background .25s ease;
}
.lm-nl-form button:hover { background:var(--lm-violeta); color:#fff; }
.lm-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:13px; padding-top:22px; font-size:12.5px; color:rgba(207,196,223,.5); }
.lm-socials { display:flex; gap:8px; }
.lm-socials a {
  width:33px; height:33px; border-radius:50%; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10); display:flex; align-items:center; justify-content:center;
  font-size:12.5px; color:var(--lm-lav-s); text-decoration:none;
  transition:background .3s ease, transform .3s var(--lm-ease);
}
.lm-socials a:hover { background:var(--lm-violeta); color:#fff; transform:translateY(-3px); }

/* ===================================================================
   RESPONSIVE
=================================================================== */
@media (max-width:1024px) {
  .lm-hero-grid { grid-template-columns:1fr; min-height:auto; padding-top:105px; padding-bottom:55px; }
  .lm-hero-visual { order:-1; max-width:340px; margin:0 auto; }
  .lm-fc { display:none; }
  .lm-about-grid, .lm-process-grid { grid-template-columns:1fr; gap:44px; }
  .lm-about-badge { right:0; bottom:-14px; }
  .lm-svc-grid, .lm-t-grid, .lm-blog-grid { grid-template-columns:1fr; }
  .lm-card.featured { transform:none; }
  .lm-card.featured:hover { transform:translateY(-10px); }
  .lm-proc-frame { max-width:360px; margin:0 auto; }
  .lm-stats-grid { grid-template-columns:1fr; }
  .lm-footer-top { grid-template-columns:1fr 1fr; gap:30px; }
  .lm-nav { display:none; }
  .lm-burger { display:flex; }
}
@media (max-width:640px) {
  .lm-form { padding:22px 15px; }
  .lm-form-row { grid-template-columns:1fr; }
  .lm-footer-top { grid-template-columns:1fr; }
  .lm-footer-bottom { flex-direction:column; align-items:flex-start; }
  .lm-h1 { font-size:clamp(29px,9vw,35px) !important; }
}

/* Menú móvil */
@media (max-width:1024px) {
  .lm-nav {
    display:flex; position:fixed; top:0; right:-100%;
    width:min(280px,82vw); height:100vh;
    background:var(--lm-crema); flex-direction:column;
    align-items:flex-start; justify-content:flex-start;
    padding:85px 26px 38px; gap:22px;
    box-shadow:-8px 0 36px rgba(58,46,77,.15);
    transition:right .4s var(--lm-ease); z-index:9999; overflow-y:auto;
  }
  .lm-nav.open { right:0; }
  .lm-nav a { font-size:19px; }
}
/* ===================================================================
   FIX: Waves SVG alineadas — eliminar gaps de Elementor
   =================================================================== */

/* Quitar padding del widget container en secciones con wave */
.elementor-widget-html .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0;
}
/* Pero restaurar line-height para el contenido que no es wave */
.elementor-widget-html .elementor-widget-container > *:not(.lm-wave) {
  line-height: 1.65;
}

/* La wave siempre al ras del borde inferior de su contenedor */
.lm-wave {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  bottom: 0 !important;
  /* -1px evita el pixel gap entre SVG y la siguiente sección */
  margin-bottom: -1px !important;
}

/* Quitar padding bottom en secciones que terminan con wave */
.elementor-top-section:has(.lm-wave) {
  padding-bottom: 0 !important;
}

/* Fallback sin :has() para navegadores más antiguos */
.elementor-section.elementor-section-full_width .elementor-column {
  padding-bottom: 0 !important;
}
/* Solo en columnas que contienen wave */
.elementor-widget-html:last-child {
  display: block;
  line-height: 0;
}

/* La sección completa: quitar cualquier gap entre secciones */
.elementor-top-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ===================================================================
   WIDGET POSTS DE ELEMENTOR PRO — estilos integrados con lm-*
=================================================================== */
.lm-posts-widget.elementor-posts-container {
  gap: 24px !important;
}

/* Tarjeta */
.lm-posts-widget .elementor-post {
  background: var(--lm-blanco) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(58,46,77,.07) !important;
  border: 1px solid rgba(185,167,214,.10) !important;
  transition: transform .4s cubic-bezier(0.16,1,0.3,1),
              box-shadow .4s cubic-bezier(0.16,1,0.3,1) !important;
}
.lm-posts-widget .elementor-post:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 60px rgba(58,46,77,.16) !important;
}

/* Imagen */
.lm-posts-widget .elementor-post__thumbnail__link {
  display: block;
  overflow: hidden;
}
.lm-posts-widget .elementor-post__thumbnail__link img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  transition: transform .65s ease !important;
  display: block;
}
.lm-posts-widget .elementor-post:hover .elementor-post__thumbnail__link img {
  transform: scale(1.06) !important;
}

/* Contenido de la tarjeta */
.lm-posts-widget .elementor-post__text {
  padding: 22px 20px 24px !important;
}

/* Categoría / meta */
.lm-posts-widget .elementor-post__meta-data {
  font-family: var(--lm-ff-b) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--lm-vio-d) !important;
  margin-bottom: 8px !important;
}

/* Título */
.lm-posts-widget .elementor-post__title {
  margin-bottom: 10px !important;
}
.lm-posts-widget .elementor-post__title a {
  font-family: var(--lm-ff-d) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--lm-tinta) !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  transition: color .25s ease !important;
}
.lm-posts-widget .elementor-post__title a:hover {
  color: var(--lm-vio-d) !important;
}

/* Excerpt */
.lm-posts-widget .elementor-post__excerpt p {
  font-family: var(--lm-ff-b) !important;
  font-size: 14px !important;
  color: var(--lm-suave) !important;
  line-height: 1.65 !important;
  margin-bottom: 14px !important;
}

/* Read more */
.lm-posts-widget .elementor-post__read-more {
  font-family: var(--lm-ff-b) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--lm-violeta) !important;
  text-decoration: none !important;
  transition: color .25s ease, gap .3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.lm-posts-widget .elementor-post:hover .elementor-post__read-more {
  color: var(--lm-vio-d) !important;
}

/* Sin paginación en home (solo 3 posts) */
.lm-posts-widget .elementor-pagination { display: none; }

/* Responsive posts */
@media (max-width: 1024px) {
  .lm-posts-widget .elementor-posts-container {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 640px) {
  .lm-posts-widget .elementor-posts-container {
    grid-template-columns: 1fr !important;
  }
  .lm-posts-widget .elementor-post__thumbnail__link img {
    height: 200px !important;
  }
}

/* ===================================================================
   CONTACTO — Página independiente y sección
   Reglas limpias, sin duplicados, sin overrides de columnas en desktop
=================================================================== */

/* ── Hero compacto de página interna ── */
.lm-page-hero {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  padding: 0;
}
.lm-page-hero .lm-eyebrow { margin-bottom: 16px; }
.lm-page-hero__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(34px, 4.5vw, 52px) !important;
  font-weight: 600 !important;
  color: var(--lm-tinta) !important;
  line-height: 1.12 !important;
  margin: 0 0 18px !important;
}
.lm-page-hero__sub {
  font-size: 18px;
  color: var(--lm-suave);
  line-height: 1.7;
}

/* ── Columna izquierda: Info ── */
.lm-contact-info { padding: 8px 0; }
.lm-contact-info .lm-eyebrow { margin-bottom: 16px; display: block; }

.lm-contact-info__block { margin-bottom: 30px; }
.lm-contact-info__block:last-child { margin-bottom: 0; }

.lm-contact-info__block h3 {
  font-family: var(--lm-ff-d) !important;
  font-size: 22px !important;
  color: var(--lm-tinta) !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
  line-height: 1.3 !important;
}
.lm-contact-info__block h4 {
  font-family: var(--lm-ff-b) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--lm-tinta) !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}
.lm-contact-info__block p {
  font-size: 16px;
  color: var(--lm-suave);
  line-height: 1.75;
  margin: 0;
}

/* Pasos numerados */
.lm-contact-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 13px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(185,167,214,.15);
}
.lm-contact-step:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.lm-contact-step__num {
  font-family: var(--lm-ff-d);
  font-size: 24px;
  font-weight: 600;
  color: var(--lm-dorado);
  line-height: 1;
  min-width: 38px;
  flex-shrink: 0;
  padding-top: 1px;
}
.lm-contact-step p {
  font-size: 15px;
  color: var(--lm-suave);
  line-height: 1.6;
  margin: 0;
}

/* Detalles de contacto */
.lm-contact-info__details { margin: 24px 0 20px; }
.lm-contact-row {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
  color: var(--lm-tinta);
}
.lm-contact-ico {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--lm-blanco);
  display: flex; align-items: center; justify-content: center;
  color: var(--lm-violeta); font-size: 14px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(58,46,77,.08);
}

/* Promesa */
.lm-contact-promise {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 20px;
  padding: 16px 18px;
  background: rgba(255,255,255,.6);
  border-radius: 14px;
  border-left: 3px solid var(--lm-dorado);
}
.lm-contact-promise > span {
  color: var(--lm-dorado);
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}
.lm-contact-promise > p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--lm-tinta);
  margin: 0;
  font-style: italic;
}

/* ── Columna derecha: CF7 con caja visual ── */
/* El widget shortcode de Elementor PRO */
.lm-cf7-col > .elementor-widget-container {
  background: var(--lm-blanco) !important;
  border-radius: 20px !important;
  padding: 44px 40px !important;
  box-shadow: 0 20px 56px rgba(58,46,77,.16) !important;
  margin: 0 !important;
}

/* CF7 — formulario */
.wpcf7 { width: 100%; }
.wpcf7 form.wpcf7-form { display: block; }
.wpcf7 p {
  margin: 0 0 15px 0 !important;
  padding: 0 !important;
}
.wpcf7 p:last-child { margin-bottom: 0 !important; }

/* Labels */
.wpcf7 label {
  display: block !important;
  font-family: var(--lm-ff-b) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--lm-tinta) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-bottom: 7px !important;
}

/* Inputs, textarea, select */
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.wpcf7 select {
  display: block !important;
  width: 100% !important;
  padding: 13px 15px !important;
  border: 1.5px solid rgba(185,167,214,.25) !important;
  border-radius: 11px !important;
  font-family: var(--lm-ff-b) !important;
  font-size: 15px !important;
  color: var(--lm-tinta) !important;
  background: var(--lm-crema) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .3s ease, box-shadow .3s ease, background .3s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--lm-violeta) !important;
  background: var(--lm-blanco) !important;
  box-shadow: 0 0 0 4px rgba(185,167,214,.14) !important;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(107,94,115,.4) !important;
  font-style: italic;
}
.wpcf7 textarea {
  resize: vertical !important;
  min-height: 120px !important;
}
.wpcf7 select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238E6FAE' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-color: var(--lm-crema) !important;
  padding-right: 38px !important;
  cursor: pointer !important;
}

/* Submit */
.wpcf7 input[type="submit"] {
  display: block !important;
  width: 100% !important;
  padding: 16px 32px !important;
  background: var(--lm-tinta) !important;
  color: var(--lm-crema) !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: var(--lm-ff-b) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  cursor: pointer !important;
  margin-top: 8px !important;
  box-shadow: 0 6px 20px rgba(58,46,77,.28) !important;
  transition: background .3s ease, transform .35s cubic-bezier(0.16,1,0.3,1), box-shadow .35s ease !important;
}
.wpcf7 input[type="submit"]:hover {
  background: var(--lm-vio-d) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 32px rgba(58,46,77,.36) !important;
}

/* Mensajes CF7 */
.wpcf7-response-output {
  margin: 14px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  font-family: var(--lm-ff-b) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  text-align: center !important;
}
.wpcf7-mail-sent-ok {
  background: rgba(201,216,168,.25) !important;
  color: #3d5c1e !important;
  border-left: 3px solid #7aaa3c !important;
}
.wpcf7-validation-errors,
.wpcf7-mail-sent-ng {
  background: rgba(201,168,106,.15) !important;
  color: var(--lm-tinta) !important;
  border-left: 3px solid var(--lm-dorado) !important;
}
.wpcf7-not-valid-tip {
  font-family: var(--lm-ff-b) !important;
  font-size: 12px !important;
  color: #c0392b !important;
  margin-top: 4px !important;
  display: block !important;
}
.wpcf7-not-valid {
  border-color: rgba(192,57,43,.45) !important;
}

/* ── Responsive contacto ── */
/* IMPORTANTE: NO tocar el ancho de columnas de Elementor en desktop */
@media (max-width: 1024px) {
  .lm-cf7-col > .elementor-widget-container {
    padding: 32px 24px !important;
  }
}
@media (max-width: 767px) {
  /* Solo en mobile colapsar a 1 columna — Elementor lo hace solo,
     pero reforzamos el espaciado */
  .lm-contact-info {
    margin-bottom: 40px;
  }
  .lm-cf7-col > .elementor-widget-container {
    padding: 26px 18px !important;
  }
  .lm-contact-promise {
    display: none; /* Simplificar en mobile */
  }
}

/* ===================================================================
   FOOTER PORTAL 22 — sección bio de Liliana encima del grid
=================================================================== */
.lm-footer-about {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lm-footer-about__text p { font-family: var(--lm-ff-b); }

/* ===================================================================
   PORTAL 22 — HOME CSS
   Todas las clases p22-* para el home. Sin grids inline. Responsive.
=================================================================== */

/* ── HERO ─────────────────────────────────────────────────────── */
.p22-hero {
  background: var(--lm-crema);
  position: relative;
  overflow: hidden;
}
.p22-hero__bg {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 65% 80% at 65% 45%, rgba(207,196,223,.28) 0%, transparent 70%),
    radial-gradient(ellipse 45% 55% at 15% 80%, rgba(168,213,216,.16) 0%, transparent 65%);
}
.p22-hero__grid {
  position: relative; z-index: 2;
  max-width: 1240px; margin: 0 auto;
  padding: 140px clamp(24px,5vw,60px) 70px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  box-sizing: border-box;
}
/* COPY */
.p22-hero__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(185,167,214,.12);
  border: 1px solid rgba(185,167,214,.25);
  border-radius: 100px; padding: 6px 16px; margin-bottom: 22px;
}
.p22-hero__badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lm-violeta); }
.p22-hero__badge-text {
  font-family: var(--lm-ff-b); font-size: 11.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--lm-vio-d);
}
.p22-hero__h1 {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(40px, 5.5vw, 66px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  line-height: 1.06 !important; margin: 0 0 8px !important;
}
.p22-hero__sub-name {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(18px, 2.4vw, 28px) !important;
  font-weight: 400 !important; font-style: italic !important;
  color: var(--lm-vio-d) !important; margin: 0 0 22px !important; line-height: 1.3 !important;
}
.p22-hero__lead {
  font-size: 18px; color: var(--lm-suave); line-height: 1.75; margin-bottom: 34px;
}
.p22-hero__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 30px; }
.p22-hero__link {
  font-size: 14.5px; font-weight: 700; color: var(--lm-tinta); text-decoration: none;
  border-bottom: 1.5px solid rgba(58,46,77,.3); padding-bottom: 3px;
  transition: color .25s ease, border-color .25s ease;
}
.p22-hero__link:hover { color: var(--lm-vio-d); border-color: var(--lm-vio-d); }
.p22-hero__trust {
  display: flex; align-items: center; gap: 10px;
  padding-top: 20px; border-top: 1px solid rgba(185,167,214,.2);
  font-size: 13px; font-style: italic; color: var(--lm-vio-d); margin: 0;
}
.p22-hero__trust-star { color: var(--lm-dorado); font-style: normal; flex-shrink: 0; }
/* VISUAL */
.p22-hero__visual { position: relative; }
.p22-hero__frame {
  border-radius: 38px 38px 38px 8px; overflow: hidden;
  aspect-ratio: 4/5; box-shadow: var(--lm-sh-xl);
}
.p22-hero__frame img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.p22-hero__fc {
  position: absolute; background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px); border-radius: 14px;
  padding: 12px 16px; box-shadow: var(--lm-sh-lg);
  display: flex; align-items: center; gap: 10px;
  animation: lm-float 5s ease-in-out infinite;
}
.p22-hero__fc--a { bottom: -14px; right: -10px; animation-delay: 1.5s; }
.p22-hero__fc--b { top: 9%; left: -10%; }
.p22-hero__fc-icon {
  width: 32px; height: 32px; border-radius: 50%; background: var(--lm-crema-r);
  display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0;
}
.p22-hero__fc-txt { font-size: 12.5px; font-weight: 700; color: var(--lm-tinta); line-height: 1.3; font-family: var(--lm-ff-b); }
.p22-hero__fc-txt small { display: block; font-weight: 400; color: var(--lm-suave); font-size: 10.5px; }

/* ── DISCIPLINAS ──────────────────────────────────────────────── */
.p22-disciplines {
  max-width: 1240px; margin: 0 auto;
  padding: 0 clamp(24px,5vw,60px);
}
.p22-disciplines__head { text-align: center; max-width: 580px; margin: 0 auto 56px; }
.p22-disciplines__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(28px,3.8vw,44px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  margin: 14px 0 14px !important; line-height: 1.18 !important;
}
.p22-disciplines__sub { font-size: 17px; color: rgba(207,196,223,.78); line-height: 1.65; margin: 0; }
.p22-disciplines__list { display: flex; flex-direction: column; gap: 14px; }

/* Card de disciplina — es un <a> */
.p22-disc-card {
  display: grid;
  grid-template-columns: 64px 1fr 148px;
  gap: 22px;
  align-items: center;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 26px 28px;
  text-decoration: none;
  position: relative; overflow: hidden;
  transition: transform .35s var(--lm-ease), background .3s ease, border-color .3s ease;
}
.p22-disc-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--lm-dorado), var(--lm-violeta), transparent);
  opacity: 0; transition: opacity .3s ease;
}
.p22-disc-card:hover { transform: translateX(6px); background: rgba(255,255,255,.09); border-color: rgba(185,167,214,.35); }
.p22-disc-card:hover::before { opacity: 1; }
.p22-disc-card--featured { background: rgba(185,167,214,.18); border-color: rgba(185,167,214,.4); }
.p22-disc-card--featured::before { opacity: 1; }
.p22-disc-card__icon {
  width: 58px; height: 58px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; flex-shrink: 0;
  transition: transform .35s var(--lm-ease);
}
.p22-disc-card:hover .p22-disc-card__icon { transform: rotate(10deg) scale(1.08); }
.p22-disc-card__icon--gold { background: rgba(201,168,106,.15); border: 1px solid rgba(201,168,106,.3); }
.p22-disc-card__icon--turq { background: rgba(168,213,216,.12); border: 1px solid rgba(168,213,216,.28); }
.p22-disc-card__icon--vio  { background: rgba(185,167,214,.2);  border: 1px solid rgba(185,167,214,.4); }
.p22-disc-card__icon--green{ background: rgba(201,216,168,.10); border: 1px solid rgba(201,216,168,.25); }
.p22-disc-card__icon--lav  { background: rgba(207,196,223,.10); border: 1px solid rgba(207,196,223,.22); }
.p22-disc-card__tag {
  font-size: 10.5px; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--lm-dorado); font-family: var(--lm-ff-b); margin-bottom: 7px;
}
.p22-disc-card__title {
  font-family: var(--lm-ff-d) !important;
  font-size: 19px !important; color: var(--lm-crema) !important;
  margin: 0 0 8px !important; font-weight: 600 !important; line-height: 1.28 !important;
}
.p22-disc-card__desc {
  font-size: 14px; color: rgba(207,196,223,.72); line-height: 1.65; margin: 0;
}
.p22-disc-card__cta {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(201,168,106,.14); border: 1px solid rgba(201,168,106,.32);
  border-radius: 100px; padding: 10px 18px;
  font-size: 13px; font-weight: 700; color: var(--lm-dorado);
  font-family: var(--lm-ff-b); white-space: nowrap; justify-self: end;
  transition: background .3s ease;
}
.p22-disc-card:hover .p22-disc-card__cta { background: rgba(201,168,106,.26); }
.p22-disc-card__arr { transition: transform .3s var(--lm-ease); }
.p22-disc-card:hover .p22-disc-card__arr { transform: translateX(4px); }

/* ── BIO ──────────────────────────────────────────────────────── */
.p22-bio-copy .lm-eyebrow { margin-bottom: 14px; display: block; }
.p22-bio-copy__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px,3.2vw,38px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 0 0 18px !important; line-height: 1.2 !important;
}
.p22-bio-copy__lead {
  font-size: 17px; color: var(--lm-suave); line-height: 1.8; margin-bottom: 24px;
}
.p22-bio-copy__creds { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.p22-bio-cred {
  display: flex; align-items: flex-start; gap: 13px;
  padding: 13px 17px; border-radius: 12px;
}
.p22-bio-cred--vio  { background: rgba(185,167,214,.08); border-left: 3px solid var(--lm-violeta); }
.p22-bio-cred--gold { background: rgba(201,168,106,.08); border-left: 3px solid var(--lm-dorado); }
.p22-bio-cred--turq { background: rgba(168,213,216,.08); border-left: 3px solid var(--lm-turquesa); }
.p22-bio-cred__icon { font-size: 18px; flex-shrink: 0; padding-top: 1px; }
.p22-bio-cred__label { font-size: 13px; font-weight: 700; color: var(--lm-tinta); font-family: var(--lm-ff-b); margin-bottom: 3px; }
.p22-bio-cred__text  { font-size: 12.5px; color: var(--lm-suave); line-height: 1.5; }
/* Foto */
.p22-bio-photo { position: relative; }
.p22-bio-photo__frame {
  border-radius: 38px 8px 38px 38px; overflow: hidden;
  aspect-ratio: 4/5; box-shadow: var(--lm-sh-xl);
}
.p22-bio-photo__frame img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.p22-bio-photo__badge {
  position: absolute; bottom: -16px; left: -12px;
  background: var(--lm-tinta); border-radius: 14px; padding: 13px 17px;
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
  animation: lm-float 6s ease-in-out infinite .8s;
  display: flex; flex-direction: column; gap: 3px;
}
.p22-bio-photo__badge-num {
  font-family: var(--lm-ff-d); font-size: 26px; font-weight: 600;
  color: var(--lm-dorado); line-height: 1;
}
.p22-bio-photo__badge-txt {
  font-family: var(--lm-ff-b); font-size: 11px; color: rgba(207,196,223,.85);
  font-weight: 700; text-transform: uppercase; letter-spacing: .1em; line-height: 1.3;
}

/* ── CARTAS EMBED ─────────────────────────────────────────────── */
.p22-cards-embed { max-width: 860px; margin: 0 auto; padding: 0 clamp(24px,5vw,60px); }
.p22-cards-embed__head { text-align: center; margin-bottom: 36px; }
.p22-cards-embed__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(24px,3.2vw,36px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 12px 0 10px !important;
}
.p22-cards-embed__sub { font-size: 16px; color: var(--lm-suave); line-height: 1.65; margin: 0; }
.p22-cards-embed__box {
  background: #2a1f3d; border-radius: 22px;
  padding: 36px 30px; box-shadow: 0 28px 65px rgba(58,46,77,.28);
  position: relative; overflow: hidden;
}
.p22-cards-embed__box-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 30% 30%, rgba(185,167,214,.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 70%, rgba(168,213,216,.08) 0%, transparent 60%);
}
.p22-cards-embed__box-inner { position: relative; z-index: 1; }
.p22-cards-embed__input {
  width: 100%; background: rgba(255,255,255,.07);
  border: 1px solid rgba(201,168,106,.3); border-radius: 11px;
  padding: 13px 16px; color: #F8F3E8; font-size: 15px;
  font-family: var(--lm-ff-b); outline: none; box-sizing: border-box;
  margin-bottom: 18px; transition: border-color .3s ease;
}
.p22-cards-embed__input:focus { border-color: rgba(201,168,106,.7); }
.p22-cards-embed__input::placeholder { color: rgba(207,196,223,.4); font-style: italic; }
.p22-cards-embed__controls { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.p22-cards-embed__ctrl-label { font-size: 13px; color: rgba(207,196,223,.7); font-family: var(--lm-ff-b); }
.p22-cards-embed__nbts { display: flex; gap: 7px; }
.p22-nbt {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(201,168,106,.3); background: transparent;
  color: rgba(201,168,106,.7); font-size: 13px; font-family: var(--lm-ff-b);
  cursor: pointer; transition: all .25s ease;
}
.p22-nbt--on {
  background: rgba(201,168,106,.2); border-color: rgba(201,168,106,.8); color: #C9A86A;
}
.p22-cards-embed__dots { display: flex; gap: 6px; justify-content: center; margin-bottom: 12px; min-height: 14px; }
.p22-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(201,168,106,.2); transition: background .4s ease;
}
.p22-dot--lit { background: #C9A86A; }
.p22-cards-embed__instr {
  font-size: 13px; font-style: italic; color: rgba(207,196,223,.6);
  font-family: var(--lm-ff-b); text-align: center; margin-bottom: 16px;
  transition: opacity .4s ease;
}
.p22-cards-embed__deck { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
/* Card individual */
.p22-card {
  width: 72px; height: 122px; border-radius: 9px; cursor: pointer;
  perspective: 600px; flex-shrink: 0; transition: transform .2s ease;
}
.p22-card:hover:not(.p22-card--flipped) { transform: translateY(-9px) scale(1.06); }
.p22-card__in {
  width: 100%; height: 100%; position: relative;
  transform-style: preserve-3d;
  transition: transform .72s cubic-bezier(.4,0,.2,1);
}
.p22-card--flipped .p22-card__in { transform: rotateY(180deg); }
.p22-card__bk, .p22-card__fr {
  position: absolute; inset: 0; border-radius: 9px;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.p22-card__bk {
  background: linear-gradient(145deg, #2a1f3d, #4a3560);
  border: 1.5px solid rgba(201,168,106,.4);
  font-size: 26px; color: rgba(201,168,106,.45);
}
.p22-card__fr {
  background: linear-gradient(160deg, #F3EEE9, #F8F3E8);
  border: 1.5px solid rgba(185,167,214,.5);
  transform: rotateY(180deg); padding: 8px; text-align: center; gap: 4px;
}
.p22-cf-num  { font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: #9E88C0; font-family: var(--lm-ff-b); font-weight: 700; }
.p22-cf-icon { font-size: 22px; line-height: 1; }
.p22-cf-name { font-size: 8px; font-weight: 700; color: #3A2E4D; font-family: var(--lm-ff-b); letter-spacing: .03em; line-height: 1.2; }
.p22-cf-kw   { font-size: 7.5px; color: #B9A7D6; font-family: var(--lm-ff-b); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
/* Resultado */
.p22-cards-embed__result {
  display: none; background: rgba(255,255,255,.06);
  border: 1px solid rgba(185,167,214,.2); border-radius: 14px;
  padding: 20px; text-align: center; margin-bottom: 14px;
}
.p22-cards-embed__result--show { display: block; }
.p22-cards-embed__result-label {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: rgba(201,168,106,.85); font-family: var(--lm-ff-b); font-weight: 700; margin-bottom: 10px;
}
.p22-cards-embed__result-msg { font-size: 14.5px; color: rgba(207,196,223,.85); font-family: var(--lm-ff-b); line-height: 1.7; font-style: italic; }
.p22-cards-embed__result-msg strong { color: #C9A86A; font-style: normal; }
.p22-cards-embed__result-msg em { color: rgba(207,196,223,.7); }
/* Footer del widget */
.p22-cards-embed__footer { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.p22-cards-embed__reset {
  display: none; background: transparent;
  border: 1px solid rgba(201,168,106,.4); border-radius: 100px;
  padding: 10px 24px; color: rgba(201,168,106,.8);
  font-family: var(--lm-ff-b); font-size: 13px; font-weight: 700;
  cursor: pointer; transition: all .3s ease;
}
.p22-cards-embed__reset--show { display: block; }
.p22-cards-embed__reset:hover { background: rgba(201,168,106,.12); border-color: rgba(201,168,106,.7); color: #C9A86A; }
.p22-cards-embed__more {
  font-size: 12.5px; color: rgba(207,196,223,.45); font-family: var(--lm-ff-b);
  text-decoration: none; border-bottom: 1px solid rgba(207,196,223,.18);
  padding-bottom: 2px; transition: color .25s ease;
}
.p22-cards-embed__more:hover { color: rgba(207,196,223,.8); }

/* ── BLOG ─────────────────────────────────────────────────────── */
.p22-blog-head__inner { text-align: center; max-width: 560px; margin: 0 auto 48px; }
.p22-blog-head__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px,3.4vw,38px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 12px 0 10px !important;
}
.p22-blog-head__sub { font-size: 16.5px; color: var(--lm-suave); line-height: 1.65; margin: 0; }

/* Estilos del widget Posts de Elementor PRO */
.p22-posts.elementor-posts-container { gap: 22px !important; }
.p22-posts .elementor-post {
  background: var(--lm-blanco) !important;
  border-radius: 18px !important; overflow: hidden !important;
  box-shadow: 0 3px 12px rgba(58,46,77,.07) !important;
  border: 1px solid rgba(185,167,214,.10) !important;
  display: flex !important; flex-direction: column !important;
  transition: transform .4s var(--lm-ease), box-shadow .4s ease !important;
}
.p22-posts .elementor-post:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 22px 55px rgba(58,46,77,.15) !important;
}
.p22-posts .elementor-post__thumbnail__link { display: block; overflow: hidden; }
.p22-posts .elementor-post__thumbnail__link img {
  width: 100% !important; height: 210px !important;
  object-fit: cover !important; display: block;
  transition: transform .6s ease !important;
}
.p22-posts .elementor-post:hover .elementor-post__thumbnail__link img { transform: scale(1.05) !important; }
.p22-posts .elementor-post__text { padding: 20px 18px 22px !important; flex: 1; display: flex; flex-direction: column; }
.p22-posts .elementor-post__meta-data {
  font-family: var(--lm-ff-b) !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: .13em !important;
  text-transform: uppercase !important; color: var(--lm-vio-d) !important;
  margin-bottom: 8px !important;
}
.p22-posts .elementor-post__title { margin-bottom: 9px !important; }
.p22-posts .elementor-post__title a {
  font-family: var(--lm-ff-d) !important; font-size: 17.5px !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  line-height: 1.3 !important; text-decoration: none !important;
  transition: color .25s ease !important;
}
.p22-posts .elementor-post__title a:hover { color: var(--lm-vio-d) !important; }
.p22-posts .elementor-post__excerpt p {
  font-family: var(--lm-ff-b) !important; font-size: 14px !important;
  color: var(--lm-suave) !important; line-height: 1.65 !important;
  margin-bottom: 14px !important;
}
.p22-posts .elementor-post__read-more {
  font-family: var(--lm-ff-b) !important; font-size: 13px !important;
  font-weight: 700 !important; color: var(--lm-violeta) !important;
  text-decoration: none !important; margin-top: auto !important;
  transition: color .25s ease !important;
}
.p22-posts .elementor-post:hover .elementor-post__read-more { color: var(--lm-vio-d) !important; }

/* ── CTA ──────────────────────────────────────────────────────── */
.p22-cta { max-width: 640px; margin: 0 auto; text-align: center; }
.p22-cta .lm-eyebrow { margin-bottom: 14px; display: block; }
.p22-cta__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(28px,4vw,46px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  line-height: 1.16 !important; margin: 0 0 16px !important;
}
.p22-cta__sub { font-size: 18px; color: rgba(207,196,223,.8); line-height: 1.65; margin-bottom: 34px; }
.p22-cta__btns { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Hero */
  .p22-hero__grid { grid-template-columns: 1fr; padding-top: 110px; padding-bottom: 60px; gap: 40px; }
  .p22-hero__visual { order: -1; max-width: 320px; margin: 0 auto; }
  .p22-hero__fc { display: none; }
  /* Disciplinas */
  .p22-disc-card { grid-template-columns: 56px 1fr; gap: 16px; padding: 22px 22px; }
  .p22-disc-card__cta { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 768px) {
  .p22-hero__lead { font-size: 16.5px; }
  .p22-hero__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .p22-bio-photo__badge { left: 0; }
  .p22-cards-embed { padding: 0 clamp(16px,4vw,30px); }
  .p22-cards-embed__box { padding: 26px 18px; }
}
@media (max-width: 640px) {
  .p22-hero__h1 { font-size: clamp(34px,9vw,44px) !important; }
  .p22-disc-card { grid-template-columns: 1fr; padding: 20px 18px; gap: 12px; }
  .p22-disc-card__icon { width: 48px; height: 48px; font-size: 20px; }
  .p22-card { width: 62px; height: 106px; }
}


/* ===================================================================
   TIRA TUS CARTAS — p22-cards-*
   Todas las reglas con clase raíz para fácil modificación
=================================================================== */

/* Hero */
.p22-cards-hero {
  position: relative;
  background: #3A2E4D;
  min-height: 52vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.p22-cards-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 60% 40%, rgba(185,167,214,.22) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 15% 80%, rgba(168,213,216,.12) 0%, transparent 60%);
  pointer-events: none;
}
.p22-cards-hero__inner {
  position: relative; z-index: 2;
  max-width: 660px; margin: 0 auto;
  padding: 150px clamp(20px,5vw,60px) 60px;
  text-align: center;
}
.p22-cards-hero__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(38px, 5.5vw, 64px) !important;
  font-weight: 600 !important;
  color: var(--lm-crema) !important;
  line-height: 1.08 !important;
  margin: 14px 0 18px !important;
}
.p22-cards-hero__sub {
  font-size: 18px;
  color: rgba(207,196,223,.8);
  line-height: 1.72;
  margin-bottom: 32px;
}
.p22-cards-hero__cta { margin-top: 8px; }

/* App principal: sidebar + mazo */
.p22-cards-app {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 40px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 70px clamp(20px,5vw,60px) 90px;
  align-items: flex-start;
}

/* Sidebar */
.p22-cards-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 90px;
}
.p22-cards-sidebar__block { display: flex; flex-direction: column; gap: 10px; }
.p22-cards-label {
  font-family: var(--lm-ff-b);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--lm-tinta);
}
.p22-cards-input {
  width: 100%;
  padding: 12px 15px;
  border: 1.5px solid rgba(185,167,214,.25);
  border-radius: 12px;
  font-family: var(--lm-ff-b);
  font-size: 15px;
  color: var(--lm-tinta);
  background: var(--lm-crema);
  outline: none;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.p22-cards-input:focus {
  border-color: var(--lm-violeta);
  box-shadow: 0 0 0 4px rgba(185,167,214,.13);
}
.p22-cards-input::placeholder { color: rgba(107,94,115,.4); font-style: italic; }

/* Botones de tirada */
.p22-spread-btns { display: flex; flex-direction: column; gap: 8px; }
.p22-spread-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1.5px solid rgba(185,167,214,.2);
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  transition: all .3s ease;
  text-align: left;
}
.p22-spread-btn:hover {
  border-color: rgba(185,167,214,.5);
  background: rgba(185,167,214,.06);
}
.p22-spread-btn.active {
  border-color: var(--lm-violeta);
  background: rgba(185,167,214,.12);
}
.p22-spread-btn__num {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(185,167,214,.15);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--lm-ff-d);
  font-size: 16px;
  font-weight: 600;
  color: var(--lm-violeta);
  flex-shrink: 0;
  transition: background .3s ease;
}
.p22-spread-btn.active .p22-spread-btn__num {
  background: var(--lm-violeta);
  color: #fff;
}
.p22-spread-btn__name {
  font-family: var(--lm-ff-b);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--lm-tinta);
  line-height: 1.3;
}
.p22-spread-desc {
  font-size: 13.5px;
  color: var(--lm-suave);
  font-style: italic;
  line-height: 1.6;
  padding: 10px 14px;
  background: rgba(185,167,214,.07);
  border-radius: 10px;
  border-left: 2px solid var(--lm-lavanda);
  margin: 0;
}

/* Botón barajar */
.p22-cards-shuffle-btn {
  width: 100%;
  padding: 16px;
  background: var(--lm-tinta);
  color: var(--lm-crema);
  border: none;
  border-radius: 100px;
  font-family: var(--lm-ff-b);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .03em;
  cursor: pointer;
  transition: background .3s ease, transform .35s cubic-bezier(0.16,1,0.3,1), box-shadow .35s ease;
  box-shadow: 0 6px 20px rgba(58,46,77,.28);
}
.p22-cards-shuffle-btn:hover {
  background: var(--lm-vio-d);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(58,46,77,.36);
}

/* Resultado en sidebar */
.p22-cards-result {
  background: var(--lm-blanco);
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 8px 28px rgba(58,46,77,.10);
  border: 1px solid rgba(185,167,214,.18);
}
.p22-cards-result__title {
  font-family: var(--lm-ff-b);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lm-vio-d);
  margin-bottom: 12px;
}
.p22-cards-result__msg {
  font-size: 14px;
  color: var(--lm-tinta);
  line-height: 1.72;
}
.p22-cards-result__msg strong { color: var(--lm-vio-d); }
.p22-cards-result__msg em { color: var(--lm-suave); font-style: italic; }
.p22-cards-result__reset {
  display: block;
  width: 100%;
  margin-top: 14px;
  padding: 10px;
  background: transparent;
  border: 1.5px solid rgba(185,167,214,.3);
  border-radius: 100px;
  font-family: var(--lm-ff-b);
  font-size: 13px;
  font-weight: 700;
  color: var(--lm-suave);
  cursor: pointer;
  transition: all .3s ease;
}
.p22-cards-result__reset:hover {
  border-color: var(--lm-violeta);
  color: var(--lm-vio-d);
}

/* CTA en sidebar */
.p22-cards-sidebar__cta {
  padding: 18px 20px;
  background: rgba(185,167,214,.08);
  border-radius: 14px;
  border: 1px solid rgba(185,167,214,.18);
  text-align: center;
}
.p22-cards-sidebar__cta p {
  font-size: 13.5px;
  color: var(--lm-suave);
  margin-bottom: 12px;
  line-height: 1.5;
}
.p22-cards-sidebar__cta .lm-btn { font-size: 13px !important; padding: 11px 20px !important; }

/* Área del mazo */
.p22-cards-deck-area { display: flex; flex-direction: column; gap: 20px; }
.p22-cards-progress { display: flex; gap: 6px; }
.p22-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(185,167,214,.2);
  transition: background .4s ease;
}
.p22-dot.lit { background: var(--lm-violeta); }
.p22-cards-instr {
  font-size: 13.5px;
  font-style: italic;
  color: var(--lm-suave);
  font-family: var(--lm-ff-b);
  transition: opacity .4s ease;
}

/* Mazo de cartas */
.p22-cards-deck {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Carta individual */
.p22-card {
  width: 82px;
  height: 140px;
  border-radius: 10px;
  cursor: pointer;
  perspective: 600px;
  flex-shrink: 0;
  transition: transform .2s ease;
}
.p22-card:hover:not(.flipped) { transform: translateY(-10px) scale(1.06); }
.p22-card__inner {
  width: 100%; height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform .75s cubic-bezier(.4,0,.2,1);
}
.p22-card.flipped .p22-card__inner { transform: rotateY(180deg); }
.p22-card__back,
.p22-card__front {
  position: absolute; inset: 0;
  border-radius: 10px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.p22-card__back {
  background: linear-gradient(145deg, #2a1f3d, #4a3560);
  border: 1.5px solid rgba(201,168,106,.4);
  overflow: hidden;
}
.p22-card__back-pattern {
  position: absolute; inset: 3px;
  border-radius: 8px;
  border: 1px solid rgba(201,168,106,.18);
  background: repeating-linear-gradient(
    45deg,
    rgba(201,168,106,.03) 0, rgba(201,168,106,.03) 1px,
    transparent 1px, transparent 8px
  );
}
.p22-card__back-sym {
  font-size: 28px;
  color: rgba(201,168,106,.45);
  position: relative; z-index: 1;
}
.p22-card__front {
  background: linear-gradient(160deg, var(--lm-crema-r), var(--lm-crema));
  border: 1.5px solid rgba(185,167,214,.5);
  transform: rotateY(180deg);
  padding: 10px 8px;
  text-align: center;
  gap: 5px;
}
.p22-card__num {
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--lm-vio-d);
  font-family: var(--lm-ff-b);
  font-weight: 700;
}
.p22-card__icon { font-size: 24px; line-height: 1; }
.p22-card__name {
  font-size: 9px;
  font-weight: 700;
  color: var(--lm-tinta);
  font-family: var(--lm-ff-b);
  letter-spacing: .04em;
  line-height: 1.2;
}
.p22-card__kw {
  font-size: 8px;
  color: var(--lm-violeta);
  font-family: var(--lm-ff-b);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Área de cartas volteadas con detalle */
.p22-cards-flipped-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}
.p22-card-detail {
  background: var(--lm-blanco);
  border-radius: 16px;
  padding: 20px 22px;
  border-left: 3px solid var(--lm-dorado);
  box-shadow: 0 4px 16px rgba(58,46,77,.08);
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
}
.p22-card-detail__pos {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lm-dorado);
  font-family: var(--lm-ff-b);
  grid-column: 1 / -1;
  margin-bottom: -6px;
}
.p22-card-detail__icon {
  font-size: 32px;
  line-height: 1;
  text-align: center;
  padding-top: 4px;
}
.p22-card-detail__name {
  font-family: var(--lm-ff-d);
  font-size: 16px;
  font-weight: 600;
  color: var(--lm-tinta);
  margin-bottom: 4px;
}
.p22-card-detail__kw {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lm-vio-d);
  font-family: var(--lm-ff-b);
  margin-bottom: 8px;
}
.p22-card-detail__msg {
  font-size: 14.5px;
  color: var(--lm-suave);
  line-height: 1.68;
  grid-column: 2;
}

/* Guía de uso */
.p22-cards-guide { background: var(--lm-crema-r); padding: 90px clamp(20px,5vw,60px); }
.p22-cards-guide__inner { max-width: 1240px; margin: 0 auto; }
.p22-cards-guide__head { text-align: center; max-width: 580px; margin: 0 auto 56px; }
.p22-cards-guide__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px,3.4vw,38px) !important;
  font-weight: 600 !important;
  color: var(--lm-tinta) !important;
  margin: 14px 0 14px !important;
}
.p22-cards-guide__sub {
  font-size: 17px;
  color: var(--lm-suave);
  line-height: 1.7;
}
.p22-cards-guide__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 22px;
}
.p22-cards-guide__item {
  background: var(--lm-blanco);
  border-radius: 18px;
  padding: 28px 22px;
  box-shadow: 0 4px 16px rgba(58,46,77,.07);
  border: 1px solid rgba(185,167,214,.12);
  transition: transform .4s cubic-bezier(0.16,1,0.3,1), box-shadow .4s ease;
}
.p22-cards-guide__item:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 48px rgba(58,46,77,.14);
}
.p22-cards-guide__icon {
  display: block;
  font-size: 26px;
  color: var(--lm-dorado);
  margin-bottom: 14px;
}
.p22-cards-guide__item h4 {
  font-family: var(--lm-ff-d) !important;
  font-size: 17px !important;
  color: var(--lm-tinta) !important;
  margin: 0 0 8px !important;
  font-weight: 600 !important;
}
.p22-cards-guide__item p {
  font-size: 14.5px;
  color: var(--lm-suave);
  line-height: 1.65;
  margin: 0;
}

/* CTA final */
.p22-cards-cta {
  max-width: 660px;
  margin: 0 auto;
  text-align: center;
}
.p22-cards-cta__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px,3.8vw,42px) !important;
  font-weight: 600 !important;
  color: var(--lm-crema) !important;
  line-height: 1.18 !important;
  margin: 14px 0 16px !important;
}
.p22-cards-cta__sub {
  font-size: 17.5px;
  color: rgba(207,196,223,.8);
  line-height: 1.65;
  margin-bottom: 34px;
}
.p22-cards-cta__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1024px) {
  .p22-cards-app { grid-template-columns: 1fr; }
  .p22-cards-sidebar { position: static; }
  .p22-cards-guide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .p22-cards-guide__grid { grid-template-columns: 1fr; }
  .p22-card-detail { grid-template-columns: 36px 1fr; }
}

/* ===================================================================
   PORTAL 22 — PÁGINA TAROT
   ================================================================= */
/* ===================================================================
   PORTAL 22 — PÁGINA TAROT
   Prefijo: tarot-
   Color violeta: #B9A7D6  |  Dorado: #C9A86A  |  Tinta: #3A2E4D
   Sin colores hardcoded fuera de variables cuando sea posible.
=================================================================== */

/* ── EYEBROW reutilizable ─────────────────────────────────────── */
.tarot-eyebrow {
  display: block;
  font-family: var(--lm-ff-b);
  font-size: 11px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--lm-violeta);   /* #B9A7D6 */
  margin-bottom: 14px;
}
.tarot-eyebrow--light { color: rgba(185,167,214,.75); }

/* ── HERO ─────────────────────────────────────────────────────── */
.tarot-hero {
  background: var(--lm-tinta);
  position: relative; overflow: hidden;
}
.tarot-hero__bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 70% at 70% 40%, rgba(185,167,214,.18) 0%, transparent 70%),
    radial-gradient(ellipse 45% 55% at 10% 80%, rgba(168,213,216,.10) 0%, transparent 60%);
}
/* Grid 2 columnas en CSS puro */
.tarot-hero__grid {
  position: relative; z-index: 2;
  max-width: 1240px; margin: 0 auto;
  padding: 140px clamp(24px,5vw,60px) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: flex-end;   /* imagen se apoya en el borde inferior */
  box-sizing: border-box;
}
/* Copy */
.tarot-hero__copy { padding-bottom: 80px; }
.tarot-hero__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(185,167,214,.12);
  border: 1px solid rgba(185,167,214,.28);
  border-radius: 100px; padding: 6px 16px; margin-bottom: 22px;
}
.tarot-hero__badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--lm-violeta); flex-shrink: 0;
}
.tarot-hero__badge-label {
  font-family: var(--lm-ff-b); font-size: 11.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--lm-violeta);
}
.tarot-hero__h1 {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(44px, 6vw, 72px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  line-height: 1.04 !important; margin: 0 0 18px !important;
}
.tarot-hero__lead {
  font-size: 18px; color: rgba(207,196,223,.82);
  line-height: 1.7; margin-bottom: 34px; max-width: 420px;
}
.tarot-hero__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tarot-hero__link {
  font-size: 14.5px; font-weight: 700;
  color: rgba(207,196,223,.65); text-decoration: none;
  border-bottom: 1.5px solid rgba(207,196,223,.3); padding-bottom: 3px;
  transition: color .25s ease;
}
.tarot-hero__link:hover { color: var(--lm-crema); }
/* Visual */
.tarot-hero__visual { position: relative; align-self: flex-end; }
.tarot-hero__frame {
  border-radius: 20px 20px 0 0;   /* Pegado al borde inferior */
  overflow: hidden;
  aspect-ratio: 3/4;
  box-shadow: 0 -20px 60px rgba(0,0,0,.3);
}
.tarot-hero__frame img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}
.tarot-hero__stat {
  position: absolute; top: -16px; left: -16px;
  background: var(--lm-dorado);
  border-radius: 14px; padding: 14px 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  display: flex; flex-direction: column; gap: 2px;
}
.tarot-hero__stat-num {
  font-family: var(--lm-ff-d); font-size: 32px;
  font-weight: 600; color: var(--lm-tinta); line-height: 1;
}
.tarot-hero__stat-label {
  font-family: var(--lm-ff-b); font-size: 11px;
  color: rgba(58,46,77,.75); font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; line-height: 1.3;
}

/* ── QUÉ ES (2 columnas Elementor) ───────────────────────────── */
/* Columna izquierda: texto */
.tarot-que-es .tarot-eyebrow { margin-bottom: 14px; }
.tarot-que-es__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 0 0 22px !important; line-height: 1.2 !important;
}
.tarot-que-es__p {
  font-size: 16.5px; color: var(--lm-suave);
  line-height: 1.8; margin-bottom: 16px;
}
.tarot-que-es__placeholder {
  display: flex; align-items: flex-start; gap: 11px;
  background: rgba(185,167,214,.08);
  border: 1.5px dashed rgba(185,167,214,.4);
  border-radius: 12px; padding: 15px 18px; margin-bottom: 24px;
}
.tarot-que-es__placeholder span { font-size: 18px; flex-shrink: 0; padding-top: 1px; }
.tarot-que-es__placeholder p {
  font-size: 14px; font-style: italic;
  color: var(--lm-suave); line-height: 1.65; margin: 0;
}
.tarot-que-es__checks {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.tarot-que-es__checks li {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--lm-ff-b); font-size: 14.5px;
  font-weight: 600; color: var(--lm-tinta);
}
.tarot-check {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  background: rgba(185,167,214,.14);
  border: 1px solid rgba(185,167,214,.35);
  display: flex; align-items: center; justify-content: center;
  color: var(--lm-violeta); font-size: 12px; font-style: normal;
}
/* Columna derecha: foto */
.tarot-que-es-foto { position: relative; }
.tarot-que-es-foto__frame {
  border-radius: 18px; overflow: hidden;
  aspect-ratio: 4/5; box-shadow: var(--lm-sh-xl);
  position: relative;
}
.tarot-que-es-foto__frame img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center; display: block;
  transition: transform 8s ease;
}
.tarot-que-es-foto__frame:hover img { transform: scale(1.04); }
.tarot-que-es-foto__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(58,46,77,.28) 0%, transparent 50%);
  pointer-events: none;
}
.tarot-que-es-foto__badge {
  position: absolute; bottom: -16px; right: -12px;
  background: var(--lm-blanco); border-radius: 14px;
  padding: 13px 17px; box-shadow: var(--lm-sh-lg);
  display: flex; align-items: center; gap: 10px;
  animation: lm-float 6s ease-in-out infinite;
}
.tarot-que-es-foto__badge-icon {
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(185,167,214,.12);
  display: flex; align-items: center; justify-content: center;
  color: var(--lm-violeta); font-size: 14px; flex-shrink: 0;
}
.tarot-que-es-foto__badge-title {
  display: block; font-family: var(--lm-ff-b);
  font-size: 12.5px; font-weight: 700; color: var(--lm-tinta); line-height: 1.2;
}
.tarot-que-es-foto__badge-sub {
  display: block; font-family: var(--lm-ff-b);
  font-size: 11px; color: var(--lm-suave);
}

/* ── ÁREAS (fondo tinta = contraste alto) ─────────────────────── */
.tarot-areas { overflow: hidden; }
.tarot-areas__head {
  text-align: center; max-width: 560px;
  margin: 0 auto 52px; padding: 0 clamp(24px,5vw,60px);
}
.tarot-areas__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(28px, 3.6vw, 40px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  margin: 0 !important;
}
.tarot-areas__grid {
  display: flex; flex-direction: column; gap: 14px;
  max-width: 1240px; margin: 0 auto;
  padding: 0 clamp(24px,5vw,60px);
}
.tarot-area {
  display: grid; grid-template-columns: 58px 1fr;
  gap: 20px; align-items: flex-start;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px; padding: 24px 26px;
  transition: transform .35s var(--lm-ease),
              background .3s ease, border-color .3s ease;
}
.tarot-area:hover {
  transform: translateX(6px);
  background: rgba(255,255,255,.09);
  border-color: rgba(185,167,214,.3);
}
.tarot-area__num {
  font-family: var(--lm-ff-d); font-size: 28px;
  font-weight: 600; color: var(--lm-dorado); line-height: 1; padding-top: 3px;
}
.tarot-area__title {
  font-family: var(--lm-ff-d) !important;
  font-size: 18px !important; color: var(--lm-crema) !important;
  margin: 0 0 8px !important; font-weight: 600 !important;
}
.tarot-area__desc {
  font-size: 14.5px; color: rgba(207,196,223,.72);
  line-height: 1.65; margin-bottom: 11px;
}
.tarot-area__edit {
  font-size: 13px; font-style: italic;
  color: rgba(201,168,106,.72);
  background: rgba(201,168,106,.07);
  border: 1.5px dashed rgba(201,168,106,.28);
  border-radius: 9px; padding: 9px 13px; line-height: 1.55;
}

/* ── SECCIÓN LIBRE (fondo crema rosado) ───────────────────────── */
.tarot-libre { overflow: hidden; }
.tarot-libre__head {
  text-align: center; max-width: 640px;
  margin: 0 auto 48px; padding: 0 clamp(24px,5vw,60px);
}
.tarot-libre__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 0 0 18px !important;
}
.tarot-libre__note {
  font-size: 15px; color: var(--lm-suave); line-height: 1.7;
  background: rgba(185,167,214,.07);
  border: 1.5px dashed rgba(185,167,214,.32);
  border-radius: 12px; padding: 15px 20px; font-style: italic;
}
.tarot-libre__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 22px; max-width: 1240px; margin: 0 auto;
  padding: 0 clamp(24px,5vw,60px);
}
.tarot-libre-block {
  background: var(--lm-blanco); border-radius: 18px; padding: 28px 24px;
  box-shadow: 0 4px 18px rgba(58,46,77,.07);
  border: 1.5px dashed rgba(185,167,214,.32);
  transition: transform .35s var(--lm-ease), box-shadow .35s ease, border-color .3s ease;
}
.tarot-libre-block:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(58,46,77,.12);
  border-color: var(--lm-violeta);
}
.tarot-libre-block__num {
  font-family: var(--lm-ff-d); font-size: 24px;
  font-weight: 600; color: var(--lm-violeta);
  margin-bottom: 10px; display: block;
}
.tarot-libre-block__title {
  font-family: var(--lm-ff-d) !important;
  font-size: 17px !important; color: var(--lm-tinta) !important;
  margin: 0 0 12px !important; font-weight: 600 !important;
}
.tarot-libre-block__txt {
  font-size: 14.5px; color: var(--lm-suave);
  line-height: 1.68; margin: 0; font-style: italic;
}

/* ── BLOG ─────────────────────────────────────────────────────── */
.tarot-blog-head__inner {
  text-align: center; max-width: 540px;
  margin: 0 auto 46px;
}
.tarot-blog-head__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px, 3.4vw, 38px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 0 0 11px !important;
}
.tarot-blog-head__sub {
  font-size: 16px; color: var(--lm-suave); line-height: 1.65; margin: 0;
}
/* Widget Posts — clase tarot-posts */
.tarot-posts.elementor-posts-container { gap: 22px !important; }
.tarot-posts .elementor-post {
  background: var(--lm-blanco) !important;
  border-radius: 18px !important; overflow: hidden !important;
  box-shadow: 0 3px 14px rgba(58,46,77,.08) !important;
  border: 1px solid rgba(185,167,214,.14) !important;
  display: flex !important; flex-direction: column !important;
  transition: transform .4s var(--lm-ease), box-shadow .4s ease !important;
}
.tarot-posts .elementor-post:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 22px 55px rgba(58,46,77,.15) !important;
}
.tarot-posts .elementor-post__thumbnail__link {
  display: block; overflow: hidden;
}
.tarot-posts .elementor-post__thumbnail__link img {
  width: 100% !important; height: 200px !important;
  object-fit: cover !important; display: block;
  transition: transform .65s ease !important;
}
.tarot-posts .elementor-post:hover .elementor-post__thumbnail__link img {
  transform: scale(1.05) !important;
}
.tarot-posts .elementor-post__text {
  padding: 20px 20px 24px !important;
  flex: 1; display: flex !important; flex-direction: column !important;
}
.tarot-posts .elementor-post__meta-data {
  font-family: var(--lm-ff-b) !important; font-size: 10.5px !important;
  font-weight: 700 !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; color: var(--lm-violeta) !important;
  margin-bottom: 8px !important;
}
.tarot-posts .elementor-post__title { margin-bottom: 9px !important; }
.tarot-posts .elementor-post__title a {
  font-family: var(--lm-ff-d) !important; font-size: 17px !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  line-height: 1.3 !important; text-decoration: none !important;
  transition: color .25s ease !important;
}
.tarot-posts .elementor-post__title a:hover { color: var(--lm-violeta) !important; }
.tarot-posts .elementor-post__excerpt p {
  font-family: var(--lm-ff-b) !important; font-size: 14px !important;
  color: var(--lm-suave) !important; line-height: 1.65 !important;
  margin-bottom: 14px !important;
}
.tarot-posts .elementor-post__read-more {
  font-family: var(--lm-ff-b) !important; font-size: 13px !important;
  font-weight: 700 !important; color: var(--lm-violeta) !important;
  text-decoration: none !important; margin-top: auto !important;
  transition: color .25s ease !important;
}
.tarot-posts .elementor-post:hover .elementor-post__read-more {
  color: var(--lm-vio-d) !important;
}

/* ── CTA FINAL ────────────────────────────────────────────────── */
.tarot-cta { max-width: 620px; margin: 0 auto; text-align: center; }
.tarot-cta__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  line-height: 1.16 !important; margin: 0 0 16px !important;
}
.tarot-cta__sub {
  font-size: 17.5px; color: rgba(207,196,223,.8);
  line-height: 1.65; margin-bottom: 34px;
}
.tarot-cta__btns {
  display: flex; align-items: center; justify-content: center;
  gap: 14px; flex-wrap: wrap;
}

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Hero: colapsa a 1 columna, imagen arriba */
  .tarot-hero__grid {
    grid-template-columns: 1fr;
    padding-top: 110px; padding-bottom: 0;
    gap: 40px; align-items: flex-end;
  }
  .tarot-hero__visual { order: -1; max-width: 380px; margin: 0 auto; }
  .tarot-hero__copy { padding-bottom: 60px; }
  .tarot-hero__frame { border-radius: 18px; aspect-ratio: 16/9; }
  .tarot-hero__stat { top: -12px; left: -10px; }
  .tarot-hero__lead { max-width: 100%; }
  /* Foto badge oculto en tablet */
  .tarot-que-es-foto__badge { display: none; }
  /* Libre: 2 columnas en tablet */
  .tarot-libre__grid { grid-template-columns: 1fr 1fr; }
  /* Áreas: ajuste padding */
  .tarot-area { grid-template-columns: 46px 1fr; gap: 16px; padding: 20px 20px; }
}
@media (max-width: 768px) {
  .tarot-hero__h1 { font-size: clamp(36px, 10vw, 48px) !important; }
  .tarot-hero__lead { font-size: 16.5px; }
  .tarot-hero__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .tarot-hero__frame { aspect-ratio: 4/3; }
}
@media (max-width: 640px) {
  .tarot-hero__h1 { font-size: clamp(34px, 9vw, 42px) !important; }
  .tarot-hero__stat { padding: 10px 14px; }
  .tarot-hero__stat-num { font-size: 24px; }
  .tarot-area { grid-template-columns: 1fr; gap: 8px; padding: 18px 16px; }
  .tarot-area__num { font-size: 22px; }
  .tarot-libre__grid { grid-template-columns: 1fr; }
  .tarot-libre-block { padding: 22px 18px; }
}


/* ===================================================================
   TAROT PAGE — variantes sobre fondo lavanda #B9A7D6
   Cuando el fondo cambia de tinta a lavanda, los textos
   y botones necesitan colores oscuros para contraste.
=================================================================== */

/* ── Botón primario (tinta sobre lavanda) ── */
.lm-btn.primary {
  background: var(--lm-tinta);
  color: var(--lm-crema);
  box-shadow: 0 6px 20px rgba(58,46,77,.35);
}
.lm-btn.primary:hover {
  background: #2a2039;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(58,46,77,.45);
}

/* ── Eyebrow sobre lavanda ── */
.tarot-eyebrow--dark {
  color: var(--lm-tinta) !important;
  opacity: .75;
}

/* ── Hero sobre lavanda ── */
.tarot-hero__h1--dark {
  color: var(--lm-tinta) !important;
}
.tarot-hero__lead--dark {
  color: rgba(58,46,77,.8) !important;
}
.tarot-hero__badge-label--dark {
  color: var(--lm-tinta) !important;
}
.tarot-hero__link--dark {
  color: rgba(58,46,77,.65) !important;
  border-bottom-color: rgba(58,46,77,.3) !important;
}
.tarot-hero__link--dark:hover {
  color: var(--lm-tinta) !important;
}
/* Badge del hero: fondo tinta para contraste sobre lavanda */
.tarot-hero__stat {
  background: var(--lm-tinta) !important;
}
.tarot-hero__stat-num  { color: var(--lm-dorado) !important; }
.tarot-hero__stat-label { color: rgba(207,196,223,.85) !important; }

/* Badge del hero (pill) */
.tarot-hero__badge {
  background: rgba(58,46,77,.12) !important;
  border-color: rgba(58,46,77,.25) !important;
}
.tarot-hero__badge-dot { background: var(--lm-tinta) !important; }

/* ── Áreas sobre lavanda ── */
.tarot-areas__title--dark {
  color: var(--lm-tinta) !important;
}
.tarot-area__title--dark {
  color: var(--lm-tinta) !important;
}
.tarot-area__desc--dark {
  color: rgba(58,46,77,.78) !important;
}
/* Cards de área sobre lavanda */
.tarot-area {
  border-color: rgba(58,46,77,.15) !important;
}
.tarot-area:hover {
  border-color: rgba(58,46,77,.3) !important;
}
/* Número dorado — contrasta bien con lavanda, mantener */
/* Edit placeholder sobre lavanda */
.tarot-area__edit {
  color: rgba(58,46,77,.65) !important;
  background: rgba(58,46,77,.06) !important;
  border-color: rgba(58,46,77,.22) !important;
}

/* ── CTA sobre lavanda ── */
.tarot-cta--light .tarot-cta__title--dark {
  color: var(--lm-tinta) !important;
}
.tarot-cta--light .tarot-cta__sub--dark {
  color: rgba(58,46,77,.8) !important;
}
.tarot-cta--light .tarot-eyebrow--dark {
  color: rgba(58,46,77,.65) !important;
}


/* ===================================================================
   SINGLE POST
   ================================================================= */
/* ===================================================================
   PORTAL 22 — SINGLE POST TEMPLATE
   Prefijo: post-
   Aplica a todas las entradas de blog automáticamente
   vía Theme Builder → Single → Asignar a: Todas las entradas
=================================================================== */

/* ── HERO DEL POST ────────────────────────────────────────────── */
.post-hero {
  position: relative;
  background: var(--lm-violeta);
  overflow: hidden;
  min-height: 52vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
/* Si hay imagen destacada, se pone como fondo via JS/CSS */
.post-hero__feat-img,
.post-hero .elementor-widget-theme-post-featured-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.post-hero .elementor-widget-theme-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.post-hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    to top,
    rgba(58,46,77,.88) 0%,
    rgba(58,46,77,.55) 45%,
    rgba(58,46,77,.20) 100%
  );
}
.post-hero__inner {
  position: relative; z-index: 2;
  max-width: 860px; margin: 0 auto;
  padding: 150px clamp(20px,5vw,60px) 56px;
  width: 100%; box-sizing: border-box;
}
/* Breadcrumb */
.post-hero__breadcrumb {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 18px; flex-wrap: wrap;
}
.post-hero__bc-link {
  font-family: var(--lm-ff-b); font-size: 13px; font-weight: 600;
  color: rgba(248,243,232,.65); text-decoration: none;
  transition: color .25s ease;
}
.post-hero__bc-link:hover { color: var(--lm-crema); }
.post-hero__bc-sep { color: rgba(248,243,232,.35); font-size: 12px; }
.post-hero__bc-current {
  font-family: var(--lm-ff-b); font-size: 13px;
  color: rgba(248,243,232,.45);
}
/* Meta */
.post-hero__meta {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px;
}
.post-hero__cat {
  display: inline-block;
  font-family: var(--lm-ff-b); font-size: 11px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--lm-violeta);
  background: rgba(185,167,214,.2);
  border: 1px solid rgba(185,167,214,.35);
  border-radius: 100px; padding: 4px 12px;
}
.post-hero__date {
  font-family: var(--lm-ff-b); font-size: 13px;
  color: rgba(248,243,232,.55);
}
.post-hero__sep { color: rgba(248,243,232,.3); }
/* Título en el hero */
.post-hero__title,
.post-hero .post-title-dynamic {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(28px,4.5vw,52px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  line-height: 1.12 !important; margin: 0 0 16px !important;
}
.post-hero__excerpt {
  font-size: 17px; color: rgba(248,243,232,.72);
  line-height: 1.65; margin: 0; max-width: 640px;
}

/* ── CONTENIDO + SIDEBAR ──────────────────────────────────────── */
/* Imagen destacada dentro del artículo */
.post-content__feat-img img,
.post-content__feat-img .elementor-widget-container img {
  width: 100% !important; height: 380px !important;
  object-fit: cover !important; border-radius: 16px !important;
  display: block !important; box-shadow: var(--lm-sh-lg) !important;
}
/* Meta bar debajo del título */
.post-content__info {
  display: flex; align-items: center; gap: 20px;
  flex-wrap: wrap; margin-bottom: 24px;
}
.post-content__info-item {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--lm-ff-b); font-size: 13px; font-weight: 600;
  color: var(--lm-suave);
}
.post-content__info-icon { color: var(--lm-violeta); font-size: 14px; }
/* Regla decorativa */
.post-content__rule {
  width: 100%; height: 1px;
  background: rgba(185,167,214,.22);
  margin: 0 0 36px;
}
/* Título dinámico del post */
.post-title-dynamic {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px,3.8vw,44px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  line-height: 1.15 !important; margin-bottom: 20px !important;
}
/* Cuerpo del post (theme-post-content) */
.post-body,
.post-body .elementor-widget-container,
.elementor-widget-theme-post-content .elementor-widget-container {
  font-family: var(--lm-ff-b) !important;
  font-size: 17px !important;
  color: var(--lm-suave) !important;
  line-height: 1.85 !important;
}
/* Tipografía del contenido del post */
.post-body h2,
.elementor-widget-theme-post-content h2 {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(22px,2.8vw,30px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 2em 0 .7em !important; line-height: 1.25 !important;
}
.post-body h3,
.elementor-widget-theme-post-content h3 {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(19px,2.2vw,24px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 1.6em 0 .6em !important;
}
.post-body p,
.elementor-widget-theme-post-content p {
  margin-bottom: 1.5em !important;
}
.post-body a,
.elementor-widget-theme-post-content a {
  color: var(--lm-violeta) !important;
  border-bottom: 1px solid rgba(185,167,214,.4) !important;
  text-decoration: none !important;
  transition: border-color .25s ease !important;
}
.post-body a:hover,
.elementor-widget-theme-post-content a:hover {
  border-color: var(--lm-violeta) !important;
}
.post-body blockquote,
.elementor-widget-theme-post-content blockquote {
  border-left: 3px solid var(--lm-dorado) !important;
  padding: 16px 22px !important; margin: 2em 0 !important;
  background: var(--lm-crema-r) !important;
  border-radius: 0 12px 12px 0 !important;
  font-style: italic !important; color: var(--lm-tinta) !important;
}
.post-body img,
.elementor-widget-theme-post-content img {
  border-radius: 14px !important;
  max-width: 100% !important; margin: 1.5em 0 !important;
  box-shadow: var(--lm-sh-md) !important;
}
.post-body ul, .post-body ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
  padding-left: 1.5em !important; margin-bottom: 1.5em !important;
}
.post-body li,
.elementor-widget-theme-post-content li {
  margin-bottom: .6em !important; line-height: 1.7 !important;
}
/* Tags */
.post-content__tags {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap; margin-top: 36px; padding-top: 24px;
  border-top: 1px solid rgba(185,167,214,.2);
}
.post-content__tags-label {
  font-family: var(--lm-ff-b); font-size: 12px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--lm-suave);
}
.post-content__tags-list { display: flex; gap: 8px; flex-wrap: wrap; }
.post-tag {
  display: inline-block;
  font-family: var(--lm-ff-b); font-size: 12px; font-weight: 600;
  color: var(--lm-violeta); background: rgba(185,167,214,.12);
  border: 1px solid rgba(185,167,214,.28);
  border-radius: 100px; padding: 4px 13px;
  text-decoration: none;
  transition: background .25s ease, color .25s ease;
}
.post-tag:hover { background: rgba(185,167,214,.25); color: var(--lm-vio-d); }
/* Tarjeta de autor */
.post-author-card {
  display: flex; gap: 18px; align-items: flex-start;
  margin-top: 40px; padding: 24px 22px;
  background: var(--lm-crema-r); border-radius: 16px;
  border-left: 3px solid var(--lm-violeta);
}
.post-author-card__avatar {
  width: 70px; height: 70px; border-radius: 50%;
  overflow: hidden; flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(58,46,77,.15);
}
.post-author-card__avatar img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; margin: 0 !important;
  border-radius: 0 !important; box-shadow: none !important;
}
.post-author-card__label {
  display: block; font-family: var(--lm-ff-b);
  font-size: 11px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--lm-violeta); margin-bottom: 4px;
}
.post-author-card__name {
  display: block; font-family: var(--lm-ff-d);
  font-size: 19px; font-weight: 600;
  color: var(--lm-tinta); margin-bottom: 8px;
}
.post-author-card__bio {
  font-size: 14px; color: var(--lm-suave);
  line-height: 1.65; margin-bottom: 10px;
}
.post-author-card__link {
  font-family: var(--lm-ff-b); font-size: 13.5px;
  font-weight: 700; color: var(--lm-violeta);
  text-decoration: none;
  transition: color .25s ease;
}
.post-author-card__link:hover { color: var(--lm-vio-d); }

/* ── SIDEBAR ──────────────────────────────────────────────────── */
.post-sidebar__cta {
  background: var(--lm-tinta); border-radius: 18px;
  padding: 28px 24px; text-align: center;
  position: sticky; top: 100px;
}
.post-sidebar__cta-eyebrow {
  display: block; font-family: var(--lm-ff-b);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgba(185,167,214,.7); margin-bottom: 10px;
}
.post-sidebar__cta-title {
  font-family: var(--lm-ff-d) !important;
  font-size: 20px !important; font-weight: 600 !important;
  color: var(--lm-crema) !important; margin: 0 0 12px !important;
  line-height: 1.28 !important;
}
.post-sidebar__cta-desc {
  font-size: 14px; color: rgba(207,196,223,.75);
  line-height: 1.6; margin-bottom: 20px;
}
.post-sidebar__cta .lm-btn.block { width: 100%; }
/* Nav de disciplinas en sidebar */
.post-sidebar__nav { margin-top: 28px; }
.post-sidebar__nav-title {
  display: block; font-family: var(--lm-ff-b);
  font-size: 11px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--lm-suave); margin-bottom: 14px;
}
.post-sidebar__nav-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.post-sidebar__nav-link {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--lm-ff-b); font-size: 14.5px;
  font-weight: 600; color: var(--lm-tinta);
  text-decoration: none; padding: 9px 12px;
  border-radius: 10px;
  transition: background .25s ease, color .25s ease;
}
.post-sidebar__nav-link:hover {
  background: rgba(185,167,214,.1);
  color: var(--lm-vio-d);
}
.post-sidebar__nav-link span { color: var(--lm-violeta); font-size: 14px; }

/* ── POSTS RELACIONADOS ───────────────────────────────────────── */
.post-related__head { text-align: center; margin-bottom: 42px; }
.post-related__eyebrow {
  display: block; font-family: var(--lm-ff-b);
  font-size: 11px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--lm-violeta); margin-bottom: 10px;
}
.post-related__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(24px,3.2vw,36px) !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  margin: 0 !important;
}
/* Cards de posts relacionados */
.post-related-grid.elementor-posts-container { gap: 20px !important; }
.post-related-grid .elementor-post {
  background: var(--lm-blanco) !important;
  border-radius: 16px !important; overflow: hidden !important;
  box-shadow: 0 3px 14px rgba(58,46,77,.08) !important;
  border: 1px solid rgba(185,167,214,.12) !important;
  display: flex !important; flex-direction: column !important;
  transition: transform .4s var(--lm-ease), box-shadow .4s ease !important;
}
.post-related-grid .elementor-post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 50px rgba(58,46,77,.14) !important;
}
.post-related-grid .elementor-post__thumbnail__link { display: block; overflow: hidden; }
.post-related-grid .elementor-post__thumbnail__link img {
  width: 100% !important; height: 185px !important;
  object-fit: cover !important; display: block;
  transition: transform .6s ease !important;
}
.post-related-grid .elementor-post:hover .elementor-post__thumbnail__link img {
  transform: scale(1.05) !important;
}
.post-related-grid .elementor-post__text {
  padding: 18px 18px 22px !important;
  flex: 1; display: flex !important; flex-direction: column !important;
}
.post-related-grid .elementor-post__meta-data {
  font-family: var(--lm-ff-b) !important; font-size: 10.5px !important;
  font-weight: 700 !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; color: var(--lm-violeta) !important;
  margin-bottom: 7px !important;
}
.post-related-grid .elementor-post__title a {
  font-family: var(--lm-ff-d) !important; font-size: 16.5px !important;
  font-weight: 600 !important; color: var(--lm-tinta) !important;
  line-height: 1.3 !important; text-decoration: none !important;
  transition: color .25s ease !important;
}
.post-related-grid .elementor-post__title a:hover { color: var(--lm-violeta) !important; }
.post-related-grid .elementor-post__excerpt p {
  font-family: var(--lm-ff-b) !important; font-size: 13.5px !important;
  color: var(--lm-suave) !important; line-height: 1.6 !important;
  margin-bottom: 12px !important;
}
.post-related-grid .elementor-post__read-more {
  font-family: var(--lm-ff-b) !important; font-size: 13px !important;
  font-weight: 700 !important; color: var(--lm-violeta) !important;
  text-decoration: none !important; margin-top: auto !important;
}

/* ── CTA FINAL ────────────────────────────────────────────────── */
.post-cta { max-width: 620px; margin: 0 auto; text-align: center; }
.post-cta__eyebrow {
  display: block; font-family: var(--lm-ff-b);
  font-size: 11px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: rgba(185,167,214,.7); margin-bottom: 14px;
}
.post-cta__title {
  font-family: var(--lm-ff-d) !important;
  font-size: clamp(26px,3.8vw,42px) !important;
  font-weight: 600 !important; color: var(--lm-crema) !important;
  line-height: 1.18 !important; margin: 0 0 16px !important;
}
.post-cta__sub {
  font-size: 17px; color: rgba(207,196,223,.8);
  line-height: 1.65; margin-bottom: 32px;
}
.post-cta__btns {
  display: flex; align-items: center; justify-content: center;
  gap: 14px; flex-wrap: wrap;
}

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Sidebar pasa debajo del contenido */
  .elementor-section .elementor-column[class*="post_col_s"] {
    width: 100% !important;
  }
  .post-sidebar__cta { position: static; }
  .post-author-card { flex-direction: column; gap: 14px; }
  .post-author-card__avatar { width: 56px; height: 56px; }
}
@media (max-width: 768px) {
  .post-hero__inner { padding-top: 120px; padding-bottom: 44px; }
  .post-hero__title { font-size: clamp(24px,7vw,36px) !important; }
  .post-content__feat-img img { height: 240px !important; }
  .post-content__info { gap: 12px; }
}
@media (max-width: 640px) {
  .post-hero__breadcrumb { display: none; }
  .post-hero__excerpt { display: none; }
  .post-related-grid .elementor-post__thumbnail__link img { height: 160px !important; }
}

/* ===================================================================
   PORTAL 22 — SISTEMA EDITORIAL GLOBAL V1
   single.php, archive.php, category.php, search.php, sidebar.php
=================================================================== */
.p22-container{width:min(1160px,calc(100% - 40px));margin-inline:auto}

/* SINGLE HERO */
.p22-single{background:var(--lm-crema);color:var(--lm-suave)}
.p22-single__hero{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#2b1c39,#3a2e4d)}
.p22-single__hero-media{position:absolute;inset:0;z-index:-3}
.p22-single__hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.p22-single__hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(22,13,31,.18) 0%,rgba(36,23,48,.58) 48%,rgba(26,16,36,.92) 100%)}
.p22-single__hero.no-image:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 18% 20%,rgba(185,167,214,.32),transparent 28%),radial-gradient(circle at 82% 30%,rgba(201,168,106,.16),transparent 25%),linear-gradient(135deg,#25172f,#3a2e4d)}
.p22-single__hero-inner{padding-top:150px;padding-bottom:64px;color:var(--lm-crema)}
.p22-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:22px;font-size:12px;color:rgba(248,243,232,.58)}
.p22-breadcrumb a{color:rgba(248,243,232,.78);text-decoration:none}.p22-breadcrumb a:hover{color:#fff}
.p22-single__meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px;color:rgba(248,243,232,.66);font-size:12px}
.p22-pill{display:inline-flex;padding:6px 12px;border:1px solid rgba(201,168,106,.42);border-radius:999px;color:var(--lm-crema)!important;background:rgba(201,168,106,.14);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important}
.p22-single__title{max-width:900px;margin:0 0 18px!important;color:#fff!important;font-size:clamp(38px,5.4vw,72px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
.p22-single__excerpt{max-width:760px;margin:0;color:rgba(248,243,232,.8);font-size:18px;line-height:1.7}

/* LAYOUT */
.p22-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:54px;align-items:start;padding-top:82px;padding-bottom:90px}
.p22-article{min-width:0;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.p22-article__content{font-size:17px;line-height:1.82;color:var(--lm-suave)}
.p22-article__content>p:first-child{font-size:19px;color:var(--lm-tinta)}
.p22-article__content h2{font-size:clamp(27px,3vw,38px)!important;margin:1.9em 0 .65em!important;color:var(--lm-tinta)!important}
.p22-article__content h3{font-size:clamp(22px,2.4vw,29px)!important;margin:1.6em 0 .55em!important;color:var(--lm-tinta)!important}
.p22-article__content p{margin:0 0 1.45em}
.p22-article__content blockquote{position:relative;margin:2.2em 0;padding:28px 30px 28px 34px;border:1px solid rgba(185,167,214,.25);border-left:4px solid var(--lm-dorado);border-radius:0 18px 18px 0;background:linear-gradient(135deg,#f3eee9,#fffdf9);color:var(--lm-tinta);font-family:var(--lm-ff-d);font-size:22px;line-height:1.55}
.p22-article__content img{max-width:100%;height:auto;border-radius:22px;box-shadow:var(--lm-sh-md)}
.p22-article__content ul,.p22-article__content ol{margin:0 0 1.5em;padding-left:1.4em}.p22-article__content li{margin-bottom:.7em}
.p22-article__tags{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid rgba(185,167,214,.24)}
.p22-article__tags strong{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lm-suave)}
.p22-article__tags a{padding:6px 12px;border:1px solid rgba(185,167,214,.3);border-radius:999px;background:rgba(185,167,214,.1);color:var(--lm-vio-d);font-size:12px;text-decoration:none}

/* AUTHOR */
.p22-author{display:flex;align-items:center;gap:20px;margin-top:42px;padding:26px;border:1px solid rgba(185,167,214,.2);border-radius:22px;background:#fffdf9;box-shadow:0 14px 35px rgba(58,46,77,.07)}
.p22-author__avatar{width:76px;height:76px;flex:0 0 76px;overflow:hidden;border-radius:50%}.p22-author__avatar img{width:100%;height:100%;object-fit:cover}
.p22-author__eyebrow{display:block;margin-bottom:4px;color:var(--lm-vio-d);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.p22-author h2{margin:0 0 6px!important;color:var(--lm-tinta)!important;font-size:22px!important}.p22-author p{margin:0;font-size:14px;line-height:1.6}

/* SIDEBAR */
.p22-sidebar{position:sticky;top:100px;display:grid;gap:20px}
.p22-sidebar__cta,.p22-sidebar__box{padding:25px;border-radius:22px}
.p22-sidebar__cta{color:var(--lm-crema);background:radial-gradient(circle at top right,rgba(201,168,106,.15),transparent 34%),linear-gradient(145deg,#49355b,#30213d);box-shadow:0 18px 44px rgba(58,46,77,.18)}
.p22-sidebar__cta>span,.p22-sidebar__label{display:block;margin-bottom:9px;color:var(--lm-dorado);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.p22-sidebar__cta h2{margin:0 0 12px!important;color:#fff!important;font-size:26px!important;line-height:1.1!important}.p22-sidebar__cta p{margin:0 0 20px;color:rgba(248,243,232,.74);font-size:13.5px;line-height:1.65}
.p22-sidebar__box{border:1px solid rgba(185,167,214,.18);background:#fffdf9;box-shadow:0 12px 32px rgba(58,46,77,.06)}
.p22-sidebar__box h2{margin:0 0 15px!important;color:var(--lm-tinta)!important;font-size:25px!important}.p22-sidebar__box p{font-size:13.5px;line-height:1.6}
.p22-sidebar__categories{list-style:none;margin:0;padding:0}.p22-sidebar__categories li+li{border-top:1px solid rgba(185,167,214,.13)}
.p22-sidebar__categories a{display:flex;align-items:center;justify-content:space-between;padding:11px 0;color:var(--lm-tinta);font-size:14px;font-weight:600;text-decoration:none}.p22-sidebar__categories a:hover{color:var(--lm-vio-d)}
.p22-sidebar__categories small{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:rgba(185,167,214,.13);color:var(--lm-vio-d)}
.p22-sidebar__note{margin:16px 0 0;padding:11px;border-radius:10px;background:var(--lm-crema-r);color:var(--lm-suave);font-size:11px!important}

/* RELATED + CARDS */
.p22-related{padding:85px 0;background:#f3eee9}.p22-related__head{text-align:center;margin-bottom:38px}.p22-related__head span,.p22-global-cta__inner>div>span,.p22-archive__eyebrow{display:block;margin-bottom:9px;color:var(--lm-vio-d);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.p22-related__head h2{margin:0!important;color:var(--lm-tinta)!important;font-size:clamp(32px,4vw,48px)!important}
.p22-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.p22-post-card{overflow:hidden!important;margin:0!important;padding:0!important;border:1px solid rgba(185,167,214,.16)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 13px 34px rgba(58,46,77,.07)!important;transition:transform .35s var(--lm-ease),box-shadow .35s ease!important}
.p22-post-card:hover{transform:translateY(-7px);box-shadow:0 24px 52px rgba(58,46,77,.14)!important}
.p22-post-card__image{display:block;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(145deg,#d8cce7,#8d72aa)}.p22-post-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.p22-post-card:hover .p22-post-card__image img{transform:scale(1.05)}
.p22-post-card__placeholder{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-size:38px}
.p22-post-card__body{padding:22px}.p22-post-card__meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--lm-vio-d);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.p22-post-card h2{margin:0 0 10px!important;font-size:25px!important;line-height:1.08!important}.p22-post-card h2 a{color:var(--lm-tinta);text-decoration:none}.p22-post-card p{margin:0 0 15px;font-size:13.5px;line-height:1.65}.p22-post-card__more{color:var(--lm-vio-d);font-size:12px;font-weight:700;text-decoration:none}

/* CTA */
.p22-global-cta{padding:85px 0;background:var(--lm-lavanda)}.p22-global-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:42px 48px;border:1px solid rgba(255,255,255,.44);border-radius:26px;background:rgba(255,255,255,.18);box-shadow:0 18px 45px rgba(58,46,77,.12)}.p22-global-cta h2{margin:0 0 9px!important;color:var(--lm-tinta)!important;font-size:38px!important}.p22-global-cta p{max-width:720px;margin:0;font-size:14px;line-height:1.65}

/* COMMENTS */
.p22-comments{padding:80px 0;background:var(--lm-crema)}.p22-comments__inner{max-width:860px}.p22-comments-box{padding:34px;border:1px solid rgba(185,167,214,.18);border-radius:24px;background:#fff}.p22-comments-box>h2,.comment-reply-title{color:var(--lm-tinta)!important;font-size:30px!important}.comment-list{padding:0;list-style:none}.comment-body{padding:18px 0;border-bottom:1px solid rgba(185,167,214,.18)}.comment-form textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%;padding:13px;border:1px solid rgba(185,167,214,.32);border-radius:12px;background:#fff}.comment-form .submit{padding:13px 22px;border:0;border-radius:999px;color:#fff;background:var(--lm-tinta);font-weight:700;cursor:pointer}

/* ARCHIVES */
.p22-archive{min-height:70vh;background:var(--lm-crema)}.p22-archive__hero{padding:160px 0 80px;background:radial-gradient(circle at 15% 25%,rgba(185,167,214,.25),transparent 28%),linear-gradient(135deg,#f8f3e8,#eee6f4)}.p22-archive__hero h1{margin:0 0 14px!important;color:var(--lm-tinta)!important;font-size:clamp(44px,6vw,78px)!important;line-height:.98!important}.p22-archive__description{max-width:680px;font-size:16px;line-height:1.7}.p22-archive__description p{margin:0}.p22-archive__content{padding-top:75px;padding-bottom:90px}.p22-pagination{margin-top:48px}.p22-pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.p22-pagination a,.p22-pagination span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid rgba(185,167,214,.25);border-radius:999px;color:var(--lm-tinta);text-decoration:none}.p22-pagination .current{color:#fff;background:var(--lm-tinta)}.p22-empty{padding:50px;text-align:center;border-radius:24px;background:#fff}

@media(max-width:1024px){.p22-single__layout{grid-template-columns:1fr;gap:40px}.p22-sidebar{position:static;grid-template-columns:1fr 1fr}.p22-sidebar__cta{grid-row:span 2}.p22-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.p22-container{width:min(100% - 30px,1160px)}.p22-single__hero{min-height:520px}.p22-single__hero-inner{padding-top:125px;padding-bottom:48px}.p22-single__title{font-size:42px!important}.p22-single__excerpt{font-size:15px}.p22-single__layout{padding-top:55px;padding-bottom:65px}.p22-article__content{font-size:16px}.p22-article__content>p:first-child{font-size:17px}.p22-author{align-items:flex-start}.p22-sidebar{grid-template-columns:1fr}.p22-sidebar__cta{grid-row:auto}.p22-card-grid{grid-template-columns:1fr}.p22-global-cta__inner{display:block;padding:32px 24px}.p22-global-cta .lm-btn{margin-top:22px}.p22-archive__hero{padding:125px 0 58px}.p22-comments-box{padding:24px 18px}}


/* ===================================================================
   PORTAL 22 — ÍNDICE AUTOMÁTICO DE ARTÍCULOS
=================================================================== */
.p22-toc{
  margin:0 0 40px;
  overflow:hidden;
  border:1px solid rgba(185,167,214,.25);
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf9,#f7f1fb);
  box-shadow:0 14px 34px rgba(58,46,77,.07);
}
.p22-toc[hidden]{display:none!important}
.p22-toc__toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  padding:20px 24px;
  border:0;
  color:var(--lm-tinta);
  background:transparent;
  font-family:var(--lm-ff-d);
  font-size:25px;
  font-weight:600;
  line-height:1.1;
  text-align:left;
  cursor:pointer;
}
.p22-toc__toggle:focus-visible{
  outline:3px solid rgba(169,139,199,.35);
  outline-offset:-3px;
}
.p22-toc__icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border:1px solid rgba(185,167,214,.3);
  border-radius:50%;
  color:var(--lm-vio-d);
  background:#fff;
  font-family:var(--lm-ff-b);
  font-size:20px;
  line-height:1;
}
.p22-toc__body{
  padding:0 24px 22px;
  border-top:1px solid rgba(185,167,214,.16);
}
.p22-toc__body[hidden]{display:none!important}
.p22-toc__list{
  display:grid;
  gap:0;
  margin:0;
  padding:10px 0 0;
  list-style:none;
  counter-reset:p22-toc;
}
.p22-toc__item{counter-increment:p22-toc}
.p22-toc__item a{
  position:relative;
  display:block;
  padding:11px 12px 11px 38px;
  border-radius:12px;
  color:var(--lm-tinta);
  font-size:14px;
  font-weight:600;
  line-height:1.45;
  text-decoration:none;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.p22-toc__item a:before{
  content:counter(p22-toc,decimal-leading-zero);
  position:absolute;
  left:10px;
  top:12px;
  color:var(--lm-dorado);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
}
.p22-toc__item a:hover,
.p22-toc__item a.is-active{
  color:var(--lm-vio-d);
  background:rgba(185,167,214,.13);
  transform:translateX(3px);
}
.p22-toc__item--sub a{
  margin-left:20px;
  padding-top:9px;
  padding-bottom:9px;
  color:var(--lm-suave);
  font-size:13px;
  font-weight:500;
}
.p22-toc__item--sub a:before{content:'↳';top:9px;font-size:13px}
.p22-scroll-heading{scroll-margin-top:120px}

@media(max-width:767px){
  .p22-toc{margin-bottom:30px;border-radius:18px}
  .p22-toc__toggle{padding:17px 18px;font-size:22px}
  .p22-toc__body{padding:0 14px 16px}
  .p22-toc__item a{padding-left:34px;font-size:13px}
  .p22-toc__item--sub a{margin-left:10px}
  .p22-scroll-heading{scroll-margin-top:90px}
}

/* ===================================================================
   PORTADAS EDITORIALES DE CATEGORÍAS — Portal 22 v15
=================================================================== */
.p22-category-page{background:#fbf7ef;color:#5d5562;overflow:hidden}
.p22-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.p22-section-kicker{display:inline-flex;align-items:center;gap:8px;color:#c9a86a;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.p22-section-kicker:before{content:'✦';font-size:10px}
.p22-category-hero{position:relative;isolation:isolate;padding:115px 0 125px;background:linear-gradient(135deg,#261834,#3a294b 58%,#281a36)}
.p22-category-hero:before{content:'';position:absolute;inset:-20%;z-index:-2;background:radial-gradient(circle at 18% 28%,rgba(185,167,214,.22),transparent 26%),radial-gradient(circle at 84% 22%,rgba(201,168,106,.17),transparent 25%);filter:blur(45px)}
.p22-category-hero:after{content:'';position:absolute;inset:0;z-index:-1;opacity:.13;background-image:radial-gradient(circle,rgba(255,255,255,.72) 1px,transparent 1.4px);background-size:54px 54px}
.p22-category-hero__grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:65px}
.p22-category-hero__eyebrow{color:#efd697;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.p22-category-hero h1{margin:14px 0 18px;color:#fff;font-size:clamp(64px,8vw,102px)!important;line-height:.88!important;letter-spacing:-.045em!important}
.p22-category-hero__subtitle{max-width:570px;margin:0;color:rgba(255,255,255,.8);font-size:18px;line-height:1.72}
.p22-category-hero__meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px;color:rgba(255,255,255,.62);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.p22-category-hero__meta a{color:#efd697;text-decoration:none;font-weight:700}
.p22-category-hero__media{overflow:hidden;margin:0;border-radius:30px;box-shadow:0 34px 82px rgba(0,0,0,.4)}
.p22-category-hero__media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.p22-category-wave{position:absolute;left:50%;bottom:-1px;width:100vw;height:70px;transform:translateX(-50%)}
.p22-category-wave path{fill:#fbf7ef}
.p22-category-intro{padding:90px 0}
.p22-category-intro__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:start}
.p22-category-intro h2,.p22-category-heading h2,.p22-category-newsletter h2,.p22-category-cta h2{margin:10px 0 18px;color:#3a2e4d;font-size:clamp(36px,4.5vw,54px)!important;line-height:1.02!important}
.p22-category-intro__text p{font-size:16px;line-height:1.8;margin:0 0 18px}
.p22-category-intro blockquote{margin:30px 0 0;padding:23px 26px;border-left:3px solid #c9a86a;border-radius:0 16px 16px 0;background:#fff;font-family:var(--lm-ff-d);font-size:23px;line-height:1.45;color:#3a2e4d;box-shadow:0 14px 34px rgba(58,46,77,.07)}
.p22-category-topics{padding:32px;border:1px solid rgba(58,46,77,.11);border-radius:25px;background:#fff;box-shadow:0 18px 45px rgba(58,46,77,.07)}
.p22-category-topics h2{font-size:34px!important}
.p22-category-topics ul{margin:22px 0 0;padding:0;list-style:none}
.p22-category-topics li{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(58,46,77,.09);color:#3a2e4d;font-weight:600}
.p22-category-topics li:last-child{border-bottom:0}
.p22-category-topics li span{font-family:var(--lm-ff-d);font-size:22px;color:#c9a86a}
.p22-category-featured{padding:84px 0;background:#f3eee9}
.p22-category-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}
.p22-category-heading h2{margin-bottom:0}
.p22-category-heading p{max-width:510px;margin:0;font-size:14px;line-height:1.7}
.p22-category-featured__card{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;min-height:430px;border:1px solid rgba(58,46,77,.11);border-radius:28px;background:#fff;box-shadow:0 22px 58px rgba(58,46,77,.09)}
.p22-category-featured__image{overflow:hidden;min-height:430px}
.p22-category-featured__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.p22-category-featured__card:hover img{transform:scale(1.035)}
.p22-category-featured__body{display:flex;flex-direction:column;justify-content:center;padding:48px 52px}
.p22-category-featured__label{color:#c9a86a;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.p22-category-featured__body h3{margin:13px 0 15px;font-size:clamp(32px,3.5vw,46px)!important;line-height:1.04!important}
.p22-category-featured__body h3 a{color:#3a2e4d;text-decoration:none}
.p22-category-featured__body p{font-size:15px;line-height:1.72}
.p22-category-featured__meta{display:flex;gap:15px;flex-wrap:wrap;margin:4px 0 24px;color:#8d8492;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.p22-category-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:13px 21px;border-radius:999px;color:#fff!important;background:linear-gradient(135deg,#6b507f,#3a2e4d);text-decoration:none!important;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 13px 30px rgba(58,46,77,.2);transition:.3s ease}
.p22-category-button:hover{transform:translateY(-3px)}
.p22-category-articles{padding:90px 0}
.p22-category-page .p22-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.p22-category-page .p22-pagination{margin-top:45px}
.p22-category-page .p22-pagination ul{display:flex;justify-content:center;gap:8px;list-style:none;margin:0;padding:0}
.p22-category-page .p22-pagination a,.p22-category-page .p22-pagination span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid rgba(58,46,77,.13);border-radius:999px;color:#3a2e4d;text-decoration:none;background:#fff}
.p22-category-page .p22-pagination .current{color:#fff;background:#3a2e4d}
.p22-category-newsletter{padding:76px 0;background:linear-gradient(135deg,#3b294b,#25182f)}
.p22-category-newsletter__box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:38px;padding:42px 46px;border:1px solid rgba(201,168,106,.24);border-radius:26px;background:rgba(255,255,255,.055)}
.p22-category-newsletter h2{color:#fff;font-size:42px!important;margin-bottom:9px}
.p22-category-newsletter p{margin:0;color:rgba(255,255,255,.7)}
.p22-category-newsletter form{display:flex;gap:9px}
.p22-category-newsletter input{min-width:280px;padding:13px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;background:rgba(255,255,255,.08);outline:none}
.p22-category-newsletter button{padding:13px 20px;border:0;border-radius:999px;color:#3a2e4d;background:linear-gradient(135deg,#efd697,#c9a86a);font-size:11px;font-weight:800;text-transform:uppercase;cursor:pointer}
.p22-category-cta{padding:72px 0;background:linear-gradient(135deg,#cabbe0,#b9a7d6)}
.p22-category-cta__box{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 42px;border:1px solid rgba(255,255,255,.46);border-radius:25px;background:rgba(255,255,255,.18)}
.p22-category-cta h2{font-size:38px!important;margin-bottom:8px}
.p22-category-cta p{margin:0;max-width:700px}
@media(max-width:1024px){.p22-category-hero__grid{gap:42px}.p22-category-intro__grid{gap:38px}.p22-category-featured__body{padding:38px}.p22-category-page .p22-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.p22-container{width:min(100% - 30px,1180px)}.p22-category-hero{padding:82px 0 100px}.p22-category-hero__grid,.p22-category-intro__grid,.p22-category-featured__card{grid-template-columns:1fr}.p22-category-hero h1{font-size:58px!important}.p22-category-hero__subtitle{font-size:15px}.p22-category-featured__image{min-height:250px}.p22-category-featured__body{padding:30px 25px}.p22-category-heading{display:block}.p22-category-heading p{margin-top:13px}.p22-category-page .p22-card-grid{grid-template-columns:1fr}.p22-category-newsletter__box{grid-template-columns:1fr;padding:32px 24px}.p22-category-newsletter form{display:grid}.p22-category-newsletter input{min-width:0;width:100%}.p22-category-cta__box{display:block;padding:30px 24px}.p22-category-cta .p22-category-button{margin-top:20px}}
