/* =========================================================
   Tarot Palentino – hoja de estilos estática
   Reconstruida a partir de los estilos calculados de la web
   original (tema Hello Elementor + Elementor 3.32).
   Puntos de corte originales: tableta ≤1024px, móvil ≤767px.
   ========================================================= */

:root{
  --c-primary:#140F0F;     /* fondo general            */
  --c-secondary:#1B1413;   /* fondo de bloques          */
  --c-text:#BC6534;        /* puntos del carrusel       */
  --c-accent:#D47834;      /* botones / naranja         */
  --c-salmon:#FFAF9D;      /* texto base                */
  --c-white:#FFFFFF;
  --c-link:#CC3366;        /* enlaces (#c36)            */
  --c-link-hover:#333366;
  --c-yellow:#E9CF3D;      /* botones fijos móvil       */
  --c-yellow-hover:#C5B24B;
  --f-serif:"Libre Baskerville",Georgia,serif;
  --f-sans:"Lato",sans-serif;
}

/* ---------- Reset básico (equivalente a hello-elementor/reset.css) ---------- */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.15;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background-color:var(--c-primary);
  color:var(--c-salmon);
  font-family:var(--f-sans);
  font-size:16px;
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{margin:.5rem 0 1rem;font-weight:500;line-height:1.2;color:var(--c-white)}
h1{font-family:var(--f-serif);font-size:4em;line-height:1.3}
h2{font-family:var(--f-serif);font-size:3em;font-weight:400;line-height:1.3;letter-spacing:0}
h3{font-family:var(--f-serif);font-size:2em;font-weight:400}
p{margin:0 0 .9rem}
b,strong{font-weight:bolder}
a{background-color:transparent;color:var(--c-link);text-decoration:none}
a:hover,a:active{color:var(--c-link-hover)}
img{border-style:none;height:auto;max-width:100%;vertical-align:middle}
figure{margin:0}
ul{margin:0 0 .9rem}

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0}
.skip-link:focus{position:fixed;top:5px;left:5px;z-index:100000;width:auto;height:auto;clip:auto;padding:12px 24px;background:#f1f1f1;color:#21759b;font-size:14px;line-height:normal;text-decoration:none}

/* ---------- Utilidades de maquetación ---------- */
.wrap{max-width:1140px;margin-left:auto;margin-right:auto;position:relative;display:flex;flex-direction:column}  /* flex: evita el colapso de márgenes, como los contenedores de Elementor */
.row{display:flex;flex-wrap:nowrap;position:relative}
.col{position:relative;display:flex;flex-direction:column;min-height:1px}
.w{position:relative}                /* «widget» */
.w:not(:last-child){margin-bottom:20px}
.ta-c{text-align:center}
.ta-l{text-align:left}
.just{text-align:justify}
.white{color:var(--c-white)}

/* Etiqueta pequeña + línea separadora (p. ej. «Tarot en Palencia ———») */
.kicker{display:flex;align-items:center;flex-wrap:wrap}
.kicker .w{margin-bottom:0}
.wrap > .kicker,.c-text > .kicker{margin-bottom:0}
.services .kicker-text{line-height:1}
.kicker-text{font-family:var(--f-sans);font-size:1em;font-weight:400;line-height:1.6;color:var(--c-salmon);margin:0}
.divider{margin-left:20px;padding:15px 0 15px 20px;display:flex}
.divider span{display:block;width:128px;border-top:1px solid var(--c-salmon)}
.label{font-weight:400;line-height:1;margin:0;padding-top:10px;color:var(--c-salmon)}

/* Botón principal (estilo global del kit) */
.btn{
  display:inline-block;
  padding:15px 30px;
  background-color:var(--c-accent);
  color:var(--c-white);
  font-family:var(--f-sans);
  font-size:1em;
  font-weight:400;
  line-height:1.6;
  letter-spacing:1.3px;
  border-radius:0;
  transition:all .3s;
  text-align:center;
}
.btn:hover,.btn:focus{background-color:transparent;color:var(--c-accent);border:1px solid}
.btn-inner{display:flex;align-items:center;justify-content:center;gap:5px}
.btn svg{width:1em;height:1em;fill:currentColor;flex-shrink:0}
.btn-wrap{text-align:center}
@media (min-width:1025px){.btn-wrap{padding-top:40px}}
.spacer-26{height:26px}

.sec-title{color:var(--c-white);font-family:var(--f-serif);font-size:48px;font-weight:400;line-height:1.3;margin:0}

/* =========================================================
   1. CABECERA / HÉROE
   ========================================================= */
.hero{position:relative;margin-top:150px;padding:0 0 100px}
.hero .row-media{margin-top:20px}
.hero .row-media .c-l{flex:0 0 47.9%}
.hero .row-media .c-r{flex:0 0 52.1%;flex-direction:row;flex-wrap:wrap}
.carousel{position:relative;z-index:1;width:100%;margin:0 50px 20px 0;padding-bottom:36px}
.carousel-track{display:grid}
.carousel-slide{grid-area:1/1;margin:0;opacity:0;transition:opacity 1s ease;pointer-events:none}
.carousel-slide.is-active{opacity:1;pointer-events:auto}
.carousel-slide img{display:block;width:100%;height:auto}
.carousel-dots{position:absolute;left:0;right:0;bottom:5px;display:flex;justify-content:center;line-height:1}
.carousel-dots button{width:10px;height:10px;margin:0 6px;padding:0;border:0;border-radius:50%;background:var(--c-text);opacity:1;cursor:pointer}
.carousel-dots button[aria-current="true"]{opacity:1}
.hero .deco-rect{position:absolute;top:180px;left:402px;z-index:0;margin:0}
.hero .deco-rect img{display:block}

.hero .row-text{margin-top:-500px;min-height:500px;z-index:1;align-items:flex-start}
.hero .row-text .c-text{flex:0 0 46.491%;padding:25px}
.hero .row-text .c-empty{flex:0 0 52.842%}
.hero .logo-svg{text-align:center}
.hero .logo-svg img{width:100%;display:inline-block}
.hero .intro-short{text-align:center}

/* =========================================================
   2. TEXTO DE PRESENTACIÓN
   ========================================================= */
.intro{background:var(--c-secondary);padding:0 20px}
.intro .wrap{padding:50px 0}
.intro p{text-align:justify}

/* =========================================================
   3. CONTADORES
   ========================================================= */
.stats{background:var(--c-secondary);padding:50px 0}
.stats .row-counters{margin-top:50px}
.stats .row-counters .col{flex:0 0 33.333%}
.counter-box{padding:100px 50px;background:var(--c-primary);height:100%}
.counter-box.is-accent{background:var(--c-accent)}
.stats .row-counters .col:nth-child(1) .counter-box{margin-right:20px}
.stats .row-counters .col:nth-child(2) .counter-box{margin:0 10px}
.stats .row-counters .col:nth-child(3) .counter-box{margin-left:20px}
.counter-number{display:flex;justify-content:center;color:var(--c-white);font-size:64px;font-weight:400;line-height:1;margin-bottom:20px;text-align:center}
.counter-box .label{text-align:center}
.counter-box.is-accent .label{color:var(--c-white)}

/* =========================================================
   4. MIS SERVICIOS
   ========================================================= */
.services{background:var(--c-secondary);padding:50px 20px}
.services .sec-title{margin:20px 0 20px;position:relative;z-index:1}
.services .text p{text-align:justify}
.services .row-boxes{margin-top:30px}
.services .c-img{flex:0 0 50%}
.services .c-img .col-inner{margin-right:10px}
.services .c-b1{flex:0 0 25%}
.services .c-b1 .col-inner{margin-right:10px}
.services .c-b2{flex:0 0 25%}
.services .c-b2 .col-inner{margin-left:10px}
.services .photo{position:relative;z-index:1;text-align:center;margin-bottom:20px}
.services .photo img{width:69%}
.services .deco-square{position:absolute;top:254px;left:31px;z-index:0;margin:0}
.services .deco-square img{width:377px;height:377px;max-width:none;display:block}

.ibox{background:var(--c-primary);padding:40px 40px 40px 20px;transition:background-color .3s}
.ibox:hover{background:var(--c-accent)}
.ibox:not(:last-child){margin-bottom:20px}
.ibox-wrap{display:flex;align-items:flex-start}
.ibox-img{flex:0 0 20%;margin-right:15px}   /* hueco del icono (ver README: iconos no disponibles en el original) */
.ibox-content{flex:1 1 auto}
.ibox-title{margin:8px 0 16px;font-size:32px;line-height:1.2}
.ibox-desc{margin:0;color:var(--c-white)}

/* =========================================================
   5. MÁS SERVICIOS – PÉNDULO
   ========================================================= */
.more{background:var(--c-secondary);padding:50px 20px}
.more .eyebrow{height:20px}
.more .eyebrow p{margin:0;text-align:center}
.more .row-more{margin-top:50px}
.more .c-text{flex:0 0 33.333%}
.more .c-text .col-inner{margin-right:60px}
.more .c-b1{flex:0 0 33.333%}
.more .c-b1 .col-inner{margin:0 10px}
.more .c-b2{flex:0 0 33.333%}
.more .c-b2 .col-inner{margin-left:20px}
.sub-title{font-family:var(--f-serif);font-size:32px;font-weight:400;line-height:1;color:var(--c-white);margin:0}
.rich{color:var(--c-white)}
.rich p{text-align:justify}
@media (min-width:1025px){.pasted{padding-top:20px}}

/* Banner con efecto (Premium Addons «animation1») */
.banner{position:relative;overflow:hidden;margin:0}
.banner img{display:block;position:relative;width:calc(100% + 50px);max-width:calc(100% + 50px);transform:translate3d(-40px,0,0);transition:opacity .35s,filter .35s,transform .35s}
.banner:hover img,.banner:focus-within img{transform:translate3d(0,0,0);filter:brightness(30%)}
.banner figcaption{position:absolute;left:0;right:0;bottom:0;min-height:25%;padding:15px}
.banner-title{margin:10px;color:var(--c-white);font-size:30px;line-height:25.6px;text-align:left;transform:translate3d(0,40px,0);transition:transform .35s}
.banner-title.shadow{text-shadow:0 0 17px rgba(0,0,0,.3)}
.banner-title.mb22{margin-bottom:22px}
.banner-content{margin:10px;color:var(--c-salmon);text-align:left;opacity:0;transform:translate3d(0,40px,0);transition:opacity .2s,transform .35s}
.banner-content p{margin:0 0 .9rem}
.banner:hover .banner-title,.banner:focus-within .banner-title,
.banner:hover .banner-content,.banner:focus-within .banner-content{transform:translate3d(0,0,0)}
.banner:hover .banner-content,.banner:focus-within .banner-content{opacity:1}

/* =========================================================
   6. NUMEROLOGÍA
   ========================================================= */
.numerology{position:relative;padding:100px 0;background:var(--c-secondary) url(../img/medium-palencia.jpg) center/cover no-repeat}
.numerology::before{content:"";position:absolute;inset:0;background:var(--c-primary);opacity:.9}
.numerology .row{z-index:1}
.numerology .c-text{flex:0 0 50%;background:var(--c-primary);padding-left:50px;justify-content:center}
.numerology .c-img{flex:0 0 50%;background:var(--c-primary)}
.numerology .c-img img{width:100%;display:block}
.numerology .rich p{max-width:420px}
.numerology .rich .spacer{height:25.6px}

/* =========================================================
   8. TEXTO SEO
   ========================================================= */
.seo{padding:50px 0}
.seo .row-seo{margin-top:20px;z-index:1}
.seo .rich{padding-right:50px}
.seo .rich p{text-align:left}
.seo .rich h2{margin:8px 0 16px}

/* =========================================================
   9. PIE (aviso +18 y enlaces legales)
   ========================================================= */
.site-legal{padding:0 10px}
.site-legal .wrap{padding:10px 0;text-align:center}
.site-legal p{margin:0 0 .9rem}

/* =========================================================
   10. BARRA FIJA DE LLAMADA (solo móvil)
   ========================================================= */
.callbar{display:none}

/* =========================================================
   ANIMACIONES DE ENTRADA (equivalentes a Elementor)
   Solo se ocultan si hay JavaScript (clase .js en <html>)
   ========================================================= */
.js [data-anim]{opacity:0}
.js [data-anim].is-in{opacity:1;animation-duration:1.25s;animation-fill-mode:both}
.js [data-anim].is-in.slow{animation-duration:2s}
.js [data-anim="fadeInUp"].is-in{animation-name:fadeInUp}
.js [data-anim="fadeInLeft"].is-in{animation-name:fadeInLeft}
.js [data-anim="fadeInRight"].is-in{animation-name:fadeInRight}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}
@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}
@keyframes fadeInRight{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:none}}
@keyframes zoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .js [data-anim]{opacity:1!important;animation:none!important}
  .carousel-slide,.banner img,.banner-title,.banner-content{transition:none}
}

/* =========================================================
   PÁGINAS LEGALES (plantilla Hello Elementor por defecto)
   ========================================================= */
.site-header,.site-footer,.site-main{margin-left:auto;margin-right:auto;width:100%}
.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;padding-top:1rem;padding-bottom:1rem;position:relative}
.site-header .header-inner,.site-footer .footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;width:100%;max-width:1140px}
.site-branding{display:flex;flex-direction:column;align-items:stretch}
.site-title{font-size:2.5rem;font-weight:500;line-height:1.2;margin:0}
.site-title a{color:var(--c-link)}
.site-description{margin:0}
.site-header .site-description{margin-top:8px}
.site-main .page-header .entry-title{margin:8px 0 16px;font-size:4em;font-weight:500}
.page-content h2{margin:8px 0 16px}
.page-content ul{padding-left:40px;margin:0}
.page-content a{text-decoration:underline}
.site-footer{padding-top:1rem;padding-bottom:1rem}
.site-footer .footer-inner p{margin:0}
.site-main{max-width:1140px}

/* =========================================================
   TABLETA (≤1024px)
   ========================================================= */
@media (max-width:1024px){
  .wrap{max-width:1024px}
  h1{font-size:3em}
  h2{font-size:2em}
  h3{font-size:1.5em}
  .sec-title{font-size:32px}

  .hero{margin-top:100px;padding:50px 30px}
  .hero .row-media{margin-top:0}
  .hero .row-media .c-l{flex-basis:48%}
  .hero .row-media .c-r{flex-basis:52%}
  .carousel{margin-right:0}
  .hero .deco-rect{display:none}
  .hero .row-text{margin-top:-350px;min-height:350px}
  .hero .row-text .c-text{flex-basis:75%;padding:0}

  .intro{padding:0 30px}
  .intro .wrap{padding:50px 0 100px}
  .stats{padding:50px 30px}
  .counter-box{padding:50px 15px}
  .stats .row-counters .col:nth-child(1) .counter-box{margin-right:10px}
  .stats .row-counters .col:nth-child(2) .counter-box{margin:0}
  .stats .row-counters .col:nth-child(3) .counter-box{margin-left:10px}

  .services{padding:50px 30px 100px}
  .services .c-img{display:none}
  .services .c-b1,.services .c-b2{flex-basis:50%}
  .services .c-b1 .col-inner,.services .c-b2 .col-inner{margin:0}
  .services .c-b1 .ibox{margin-right:10px}
  .services .c-b2 .ibox{margin-left:10px}
  .ibox{padding:20px 10px}
  .ibox-img{margin-right:3px}
  .ibox-title{font-size:24px}

  .more{padding:50px 30px 100px}
  .more .row-more{flex-wrap:wrap}
  .more .c-text{flex-basis:100%;order:3}
  .more .c-text .col-inner{margin:0;padding-top:40px;text-align:center}
  .more .c-b1{flex-basis:50%;order:2}
  .more .c-b1 .col-inner{margin:0;padding-left:10px}
  .more .c-b2{flex-basis:50%;order:1}
  .more .c-b2 .col-inner{margin:0;padding-right:10px}
  .sub-title{font-size:24px;margin-bottom:-10px}
  .numerology .rich .spacer{height:16px}
  .more .c-text .sub-title{text-align:center}
  .more .pasted{padding:0 50px;margin-bottom:10px!important}

  .numerology{padding:100px 30px}
  .numerology .c-text{padding:20px}
  .numerology .rich p{max-width:none}


  .seo{padding:50px 30px}
  .seo .sec-title{text-align:center}
  .seo .row-seo{margin-top:0;padding-bottom:20px}
  .seo .rich{padding-bottom:30px;text-align:center}
  .seo .rich{padding:0 60px 30px}
  .seo .rich p{text-align:center}
}

/* =========================================================
   MÓVIL (≤767px)
   ========================================================= */
@media (max-width:767px){
  .wrap{max-width:767px}
  h1{font-size:2.5em}
  .row{flex-direction:column}
  .row > .col{flex-basis:auto!important;width:100%}
  .hide-mobile{display:none!important}

  .hero{margin-top:0;padding:60px 20px}
  .hero .row-text{margin-top:0;min-height:0}
  .hero .row-text .c-empty{display:none}
  .hero .kicker{padding-left:105px;padding-bottom:10px}
  .hero .btn{font-size:20px;line-height:1.6}

  .intro{padding:0 20px}
  .stats{padding:50px 20px}
  .counter-box{padding:50px 35px;margin:0 0 10px!important}
  .stats .row-counters .col:last-child .counter-box{margin-bottom:0!important}

  .services{padding:50px 20px 100px}
  .services .kicker{padding-left:60px}
  .services .sec-title{text-align:center}
  .services .c-img{display:flex;padding-bottom:20px;align-items:center}
  .services .c-img .col-inner{margin:0;width:100%}
  .services .photo{margin-bottom:20px}
  .services .photo img{width:100%}
  .services .deco-square{top:204px;left:-15px}
  .services .deco-square img{width:267px;height:267px}
  .services .c-b1 .col-inner,.services .c-b2 .col-inner{margin-top:20px}
  .services .c-b1 .ibox,.services .c-b2 .ibox{margin-left:0;margin-right:0}
  .ibox{padding:35px}
  .ibox-wrap{display:block;text-align:center}
  .ibox-img{display:block;width:20%;height:22px;margin:0 auto 3px}

  .more{padding:50px 20px 100px}
  .more .row-more{margin-top:0}
  .more .c-text{order:1}
  .more .c-text .col-inner{padding:0 0 30px}
  .more .c-b1{order:2}
  .more .c-b1 .col-inner{padding:0;margin-bottom:10px}
  .more .c-b2{order:3}
  .more .c-b2 .col-inner{padding:0;margin-top:10px}
  .more .btn,.numerology .btn{font-size:20px}

  .numerology{padding:100px 20px}
  .numerology .row{flex-direction:column-reverse}
  .numerology .c-text{text-align:center}
  .numerology .sub-title{text-align:center}

  .more .pasted{padding:0;margin-bottom:20px!important}
  .intro .wrap{padding:50px 0}

  .seo{padding:50px 20px}

  .site-legal .wrap{font-size:11px;line-height:1.4}

  /* Barra fija inferior con los dos botones de llamada */
  .callbar{
    display:grid;grid-template-columns:auto auto;justify-content:stretch;
    position:fixed;left:0;right:0;bottom:0;z-index:99;
    padding:10px;background:#000;
  }
  .callbar .w{margin:0}
  .callbar .w:last-child{text-align:center}
  .callbar a{
    display:inline-block;padding:15px 30px;border-radius:10px;
    background:var(--c-yellow);color:#000;fill:#000;
    font-size:13px;font-weight:400;line-height:1.6;letter-spacing:0;text-align:center;
    transition:background-color .3s;
  }
  .callbar a:hover,.callbar a:focus{background:var(--c-yellow-hover);color:#000}
  .callbar .btn-inner{gap:2px}
  .callbar svg{width:1em;height:1em;fill:#000}
  .js .callbar .w{animation:zoomIn 1.25s both}
  body.has-callbar{padding-bottom:71px}
}

/* Contenedores de páginas legales (rejilla del tema Hello) */
@media (max-width:575px){
  .site-header,.site-footer,.site-main{padding-left:10px;padding-right:10px}
}
@media (min-width:576px){.site-main{max-width:500px}}
@media (min-width:768px){.site-main{max-width:600px}}
@media (min-width:992px){.site-main{max-width:800px}}
@media (min-width:1200px){.site-main{max-width:1140px}}
