/* TP CONTACTO PREVIEW V1 START */

body.tp-contacto-preview .site-content,
body.tp-contacto-preview .content-area,
body.tp-contacto-preview .site-main,
body.tp-contacto-preview article,
body.tp-contacto-preview .inside-article,
body.tp-contacto-preview .entry-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.tp-contacto-preview .entry-header,
body.tp-contacto-preview .featured-image,
body.tp-contacto-preview .page-header-image-single,
body.tp-contacto-preview .post-image,
body.tp-contacto-preview #right-sidebar{
  display:none!important;
}

.tp-contact-page{
  --tp-blue:#102b4e;
  --tp-blue-2:#17436f;
  --tp-light:#eef5fb;
  --tp-cream:#fbfaf7;
  --tp-line:#d9e3ec;
  --tp-text:#25384b;
  --tp-muted:#617284;
  background:#fff;
  color:var(--tp-text);
}

.tp-contact-page *,
.tp-contact-page *::before,
.tp-contact-page *::after{
  box-sizing:border-box;
}

.tp-contact-shell{
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
}

.tp-contact-hero{
  padding:84px 0;
  background:
    radial-gradient(circle at 85% 20%,rgba(117,174,219,.24),transparent 28%),
    linear-gradient(135deg,var(--tp-blue),var(--tp-blue-2));
  color:#fff;
}

.tp-contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);
  gap:72px;
  align-items:center;
}

.tp-contact-kicker,
.tp-contact-eyebrow,
.tp-contact-direct-label{
  margin:0 0 16px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tp-contact-hero h1{
  max-width:780px;
  margin:0;
  color:#fff;
  font-size:clamp(42px,5vw,68px);
  line-height:1.03;
  letter-spacing:-.035em;
}

.tp-contact-lead{
  max-width:720px;
  margin:26px 0 0;
  color:rgba(255,255,255,.86);
  font-size:20px;
  line-height:1.65;
}

.tp-contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}

.tp-contact-button{
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border:1px solid transparent;
  border-radius:8px;
  font-weight:800;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease;
}

.tp-contact-button:hover{
  transform:translateY(-2px);
}

.tp-contact-button-primary{
  background:#fff;
  color:var(--tp-blue)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.tp-contact-button-secondary{
  border-color:rgba(255,255,255,.42);
  color:#fff!important;
  background:rgba(255,255,255,.08);
}

.tp-contact-direct{
  padding:32px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:18px;
  background:rgba(255,255,255,.1);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}

.tp-contact-direct a{
  display:block;
  margin-bottom:20px;
  color:#fff!important;
  font-size:22px;
  font-weight:800;
  overflow-wrap:anywhere;
}

.tp-contact-direct p:last-child{
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.7;
}

.tp-contact-section{
  padding:88px 0;
}

.tp-contact-reasons{
  background:var(--tp-cream);
}

.tp-contact-section h2,
.tp-contact-final h2{
  max-width:820px;
  margin:0;
  color:var(--tp-blue);
  font-size:clamp(32px,4vw,48px);
  line-height:1.12;
  letter-spacing:-.025em;
}

.tp-contact-eyebrow{
  color:#517da4;
}

.tp-contact-intro{
  max-width:720px;
  margin:20px 0 0;
  color:var(--tp-muted);
  font-size:18px;
  line-height:1.7;
}

.tp-contact-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:46px;
}

.tp-contact-card{
  padding:30px;
  border:1px solid var(--tp-line);
  border-radius:14px;
  background:#fff;
}

.tp-contact-card span{
  color:#7398b9;
  font-size:13px;
  font-weight:800;
}

.tp-contact-card h3{
  margin:14px 0 12px;
  color:var(--tp-blue);
  font-size:23px;
}

.tp-contact-card p{
  margin:0;
  color:var(--tp-muted);
  line-height:1.7;
}

.tp-contact-prepare{
  background:#fff;
}

.tp-contact-prepare-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);
  gap:72px;
  align-items:start;
}

.tp-contact-checklist{
  padding-left:30px;
  border-left:3px solid #7fa9c9;
}

.tp-contact-checklist p{
  margin:0 0 22px;
  color:var(--tp-muted);
  line-height:1.7;
}

.tp-contact-checklist p:last-child{
  margin-bottom:0;
}

.tp-contact-checklist strong{
  color:var(--tp-blue);
}

.tp-contact-paths{
  background:var(--tp-light);
}

.tp-contact-link-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:42px;
}

.tp-contact-link-grid a{
  display:block;
  min-height:180px;
  padding:28px;
  border:1px solid #d6e2ec;
  border-radius:14px;
  background:#fff;
  color:var(--tp-text)!important;
  text-decoration:none!important;
}

.tp-contact-link-grid strong{
  display:block;
  margin-bottom:12px;
  color:var(--tp-blue);
  font-size:21px;
}

.tp-contact-link-grid span{
  color:var(--tp-muted);
  line-height:1.65;
}

.tp-contact-final{
  padding:86px 0;
  background:var(--tp-blue);
  text-align:center;
}

.tp-contact-final .tp-contact-eyebrow,
.tp-contact-final h2{
  margin-left:auto;
  margin-right:auto;
  color:#fff;
}

.tp-contact-final h2{
  max-width:800px;
  margin-bottom:30px;
}

@media(max-width:820px){
  .tp-contact-hero-grid,
  .tp-contact-prepare-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  .tp-contact-link-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .tp-contact-shell{
    width:calc(100% - 24px);
  }

  .tp-contact-hero{
    padding:54px 0;
  }

  .tp-contact-hero h1{
    font-size:42px;
  }

  .tp-contact-lead{
    font-size:17px;
  }

  .tp-contact-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .tp-contact-button{
    width:100%;
  }

  .tp-contact-direct{
    padding:24px;
  }

  .tp-contact-section,
  .tp-contact-final{
    padding:64px 0;
  }

  .tp-contact-card-grid{
    grid-template-columns:1fr;
  }

  .tp-contact-card{
    padding:24px;
  }

  .tp-contact-checklist{
    padding-left:20px;
  }
}

/* TP CONTACTO PREVIEW V1 END */

/* TP CONTACTO PREVIEW V1.1 START */

/*
 * El reset inicial afecta también a los article internos.
 * Recuperamos el relleno de las tarjetas.
 */
body.tp-contacto-preview
article.tp-contact-card{
  display:block!important;
  width:100%!important;
  height:100%!important;

  margin:0!important;
  padding:30px!important;

  border:1px solid var(--tp-line)!important;
  border-radius:14px!important;

  background:#fff!important;
  box-sizing:border-box!important;
}

body.tp-contacto-preview
article.tp-contact-card h3{
  margin:14px 0 12px!important;
}

body.tp-contacto-preview
article.tp-contact-card p{
  margin:0!important;
}

/*
 * Neutralizar márgenes que WordPress o el tema puedan
 * introducir alrededor de los botones.
 */
body.tp-contacto-preview
.tp-contact-actions,
body.tp-contacto-preview
.tp-contact-actions > *,
body.tp-contacto-preview
.tp-contact-actions a{
  box-sizing:border-box!important;
}

body.tp-contacto-preview
.tp-contact-actions > *{
  margin:0!important;
}

body.tp-contacto-preview
.tp-contact-actions a{
  margin:0!important;
}

@media(max-width:620px){

  body.tp-contacto-preview
  .tp-contact-hero{
    padding:48px 0 52px!important;
  }

  body.tp-contacto-preview
  .tp-contact-hero-grid{
    gap:30px!important;
  }

  body.tp-contacto-preview
  .tp-contact-hero h1{
    font-size:40px!important;
    line-height:1.05!important;
  }

  body.tp-contacto-preview
  .tp-contact-actions{
    display:grid!important;
    grid-template-columns:1fr!important;

    width:100%!important;
    gap:10px!important;

    margin:28px 0 0!important;
    padding:0!important;
  }

  body.tp-contacto-preview
  .tp-contact-actions > p,
  body.tp-contacto-preview
  .tp-contact-actions > div{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body.tp-contacto-preview
  .tp-contact-actions .tp-contact-button{
    width:100%!important;
    min-height:56px!important;

    margin:0!important;
    padding:14px 16px!important;
  }

  body.tp-contacto-preview
  .tp-contact-direct{
    margin:0!important;
    padding:24px!important;
  }

  body.tp-contacto-preview
  article.tp-contact-card{
    padding:24px!important;
  }
}

/* TP CONTACTO PREVIEW V1.1 END */

/* TP CONTACTO HERO IMAGE V1.2 START */

body.tp-contacto-preview
.tp-contact-hero{
  position:relative!important;
  overflow:hidden!important;

  background:
    linear-gradient(
      90deg,
      rgba(6,35,68,.98) 0%,
      rgba(8,43,79,.96) 32%,
      rgba(12,57,98,.88) 55%,
      rgba(20,76,123,.66) 78%,
      rgba(30,91,143,.48) 100%
    ),
    url("https://tomasperanton.es/wp-content/uploads/2026/03/librosok3-hero.jpg")
    no-repeat
    center right /
    cover!important;
}

body.tp-contacto-preview
.tp-contact-hero-grid,
body.tp-contacto-preview
.tp-contact-hero-copy,
body.tp-contacto-preview
.tp-contact-direct{
  position:relative!important;
  z-index:2!important;
}

body.tp-contacto-preview
.tp-contact-direct{
  background:rgba(69,105,143,.68)!important;
  border-color:rgba(255,255,255,.28)!important;

  box-shadow:
    0 24px 60px
    rgba(0,0,0,.20)!important;

  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

body.tp-contacto-preview
.tp-contact-direct a{
  color:#fff!important;
}

@media(max-width:1100px){

  body.tp-contacto-preview
  .tp-contact-hero{
    background-position:66% center!important;
  }
}

@media(max-width:760px){

  body.tp-contacto-preview
  .tp-contact-hero{
    background:
      linear-gradient(
        180deg,
        rgba(5,34,67,.96) 0%,
        rgba(8,45,82,.92) 52%,
        rgba(12,57,98,.88) 100%
      ),
      url("https://tomasperanton.es/wp-content/uploads/2026/03/librosok3-hero.jpg")
      no-repeat
      70% center /
      cover!important;
  }

  body.tp-contacto-preview
  .tp-contact-direct{
    background:rgba(61,98,137,.76)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

/* TP CONTACTO HERO IMAGE V1.2 END */
