/* =====================================================
   PTY Maritime Training Center — Blocksy Child v1.0.3
   Diseño base para academia marítima moderna
===================================================== */

:root{
  --pty-navy:#061B44;
  --pty-blue:#0B2C6B;
  --pty-blue-2:#0F4AB3;
  --pty-red:#E53935;
  --pty-light:#F5F7FB;
  --pty-soft:#EEF4FF;
  --pty-text:#10213F;
  --pty-muted:#5F6B7A;
  --pty-border:rgba(6,27,68,.12);
  --pty-shadow:0 18px 45px rgba(6,27,68,.10);
  --pty-radius:20px;
}

html{scroll-behavior:smooth;}

body{
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  background:#fff !important;
  color:var(--pty-text) !important;
  line-height:1.7;
}

body p,
body li,
body label,
body input,
body textarea,
body select,
body button{
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

p,li{color:var(--pty-muted);font-size:1.05rem;}

h1,h2,h3,h4,h5,h6,
.entry-title,
.page-title,
.wp-block-heading{
  font-family:'Outfit',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--pty-text);
  letter-spacing:-.035em;
  line-height:1.08;
}

h1{font-size:clamp(2.8rem,6vw,5.2rem);font-weight:900;}
h2{font-size:clamp(2rem,4vw,3.35rem);font-weight:850;}
h3{font-size:clamp(1.3rem,2.2vw,1.85rem);font-weight:800;}

a{transition:.22s ease;}

/* Layout Blocksy */
.ct-container,
.ct-container-full{
  --theme-container-width:1280px;
}

.site-main,
[data-vertical-spacing*='top']{
  padding-top:0;
}

/* Header */
#header,
.ct-header,
.site-header{
  background:#fff;
  box-shadow:0 4px 18px rgba(6,27,68,.08);
}

.site-logo-container img,
.custom-logo{
  max-height:76px;
  width:auto;
}

nav[class*='menu'] a,
.ct-header a{
  font-family:'DM Sans',sans-serif !important;
  font-weight:700;
}

/* Botones */
.wp-block-button__link,
.ct-button,
.button,
.btn,
.read-more,
input[type='submit'],
button[type='submit']{
  background:var(--pty-red) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:14px !important;
  padding:15px 30px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.wp-block-button__link:hover,
.ct-button:hover,
.button:hover,
.btn:hover,
.read-more:hover,
input[type='submit']:hover,
button[type='submit']:hover{
  transform:translateY(-2px);
  filter:brightness(.96);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.pty-button-light{
  background:#fff !important;
  color:var(--pty-blue) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.16) !important;
}

/* Secciones reutilizables */
.pty-section{
  padding:clamp(64px,8vw,105px) 24px;
}

.pty-section-light{background:var(--pty-light);}
.pty-section-white{background:#fff;}
.pty-section-blue{background:linear-gradient(135deg,var(--pty-navy),var(--pty-blue));color:#fff;}

.pty-section-blue h1,
.pty-section-blue h2,
.pty-section-blue h3,
.pty-section-blue p,
.pty-section-blue li{color:#fff !important;}

.pty-container{
  width:min(1180px,100%);
  margin:0 auto;
}

.pty-kicker{
  color:var(--pty-red);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.pty-section-title{
  max-width:760px;
  margin-bottom:44px;
}

.pty-section-title p{font-size:1.12rem;}

/* Hero para construir con Cover/Group */
.pty-hero{
  min-height:680px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:var(--pty-navy);
  color:#fff;
}

.pty-hero:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,27,68,.92),rgba(6,27,68,.62),rgba(6,27,68,.18));
  z-index:1;
}

.pty-hero > *{position:relative;z-index:2;}

.pty-hero .pty-container{padding:100px 24px;}

.pty-hero h1{
  color:#fff !important;
  max-width:760px;
  margin-bottom:22px;
}

.pty-hero p{
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(1.08rem,2vw,1.28rem);
  max-width:680px;
}

.pty-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}

/* Feature grid: Formación de calidad */
.pty-features-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:34px;
}

.pty-feature{
  text-align:left;
  min-width:0;
}

.pty-feature-icon{
  width:78px;
  height:78px;
  border-radius:50%;
  background:var(--pty-blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:800;
  margin-bottom:24px;
}

.pty-feature h3{
  margin:0 0 14px;
  color:var(--pty-text);
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}

.pty-feature p{
  margin:0;
  color:var(--pty-muted);
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}

/* Cursos */
.pty-courses-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.pty-course-card{
  background:#fff;
  border:1px solid var(--pty-border);
  border-radius:var(--pty-radius);
  overflow:hidden;
  box-shadow:var(--pty-shadow);
  transition:.25s ease;
}

.pty-course-card:hover{transform:translateY(-6px);}

.pty-course-image{
  display:block;
  aspect-ratio:16/10;
  background:var(--pty-soft);
  overflow:hidden;
}

.pty-course-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pty-course-placeholder{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--pty-blue);
  font-weight:800;
}

.pty-course-body{padding:26px;}

.pty-course-body h3{font-size:1.35rem;margin:0 0 12px;}
.pty-course-body h3 a{color:var(--pty-text);text-decoration:none;}
.pty-course-body p{font-size:1rem;margin-bottom:18px;}

.pty-link{
  color:var(--pty-blue-2);
  font-weight:800;
  text-decoration:none;
}
.pty-link:hover{color:var(--pty-red);}

/* CTA con imagen */
.pty-cta{
  background:linear-gradient(135deg,var(--pty-navy),var(--pty-blue));
  color:#fff;
  padding:70px 24px;
}

.pty-cta-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:54px;
  align-items:center;
}

.pty-cta h2,
.pty-cta p{color:#fff !important;}

.pty-cta p{font-size:1.12rem;color:rgba(255,255,255,.9) !important;}

.pty-cta img{
  max-width:420px;
  width:100%;
  display:block;
  margin:auto;
}

/* Galería */
.wp-block-gallery,
.gallery{gap:18px !important;}

.wp-block-gallery img,
.gallery img{
  border-radius:14px;
  box-shadow:0 10px 26px rgba(6,27,68,.10);
  object-fit:cover;
}

/* Formularios */
.wpcf7,
form.wpcf7-form{
  background:var(--pty-light);
  border-radius:18px;
  padding:32px;
}

.wpcf7 p,
.wpcf7 label{color:var(--pty-text) !important;}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select,
input,
textarea,
select{
  border-radius:12px !important;
  border:1px solid var(--pty-border) !important;
  padding:14px 16px !important;
  background:#fff !important;
  color:var(--pty-text) !important;
  box-shadow:none !important;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus,
input:focus,
textarea:focus,
select:focus{
  outline:none !important;
  border-color:var(--pty-blue-2) !important;
  box-shadow:0 0 0 4px rgba(15,74,179,.12) !important;
}

input.wpcf7-form-control.wpcf7-submit{
  display:block;
  margin:20px auto 0 !important;
  background:var(--pty-blue) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:14px 38px !important;
  font-weight:800 !important;
}

/* Contact cards */
.pty-contact-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:start;
}

.pty-contact-card{
  background:#fff;
  border:1px solid var(--pty-border);
  border-radius:18px;
  padding:24px;
  box-shadow:0 12px 34px rgba(6,27,68,.08);
  margin-bottom:16px;
}

.pty-contact-card h3{font-size:1.2rem;margin:0 0 8px;}
.pty-contact-card p{margin:0;}

/* Footer */
footer,
.site-footer{
  background:var(--pty-navy) !important;
  color:#fff !important;
}

footer *,
.site-footer *{color:#fff !important;}

/* Utilidades */
.pty-no-radius,
.pty-no-radius img{border-radius:0 !important;}
.pty-center{text-align:center;}
.pty-text-white{color:#fff !important;}
.pty-text-muted{color:var(--pty-muted) !important;}

/* Responsive */
@media(max-width:1024px){
  .pty-features-grid{grid-template-columns:repeat(2,1fr);}
  .pty-courses-grid{grid-template-columns:repeat(2,1fr);}
  .pty-cta-inner,
  .pty-contact-grid{grid-template-columns:1fr;}
}

@media(max-width:768px){
  h1{font-size:2.6rem;}
  h2{font-size:2.1rem;}
  p,li{font-size:1rem;}

  .pty-section{padding:56px 20px;}
  .pty-hero{min-height:600px;}
  .pty-hero .pty-container{padding:80px 20px;}
  .pty-hero:before{background:rgba(6,27,68,.72);}
  .pty-hero-actions{gap:10px;}

  .pty-features-grid,
  .pty-courses-grid{grid-template-columns:1fr;}
  .pty-feature{text-align:center;}
  .pty-feature-icon{margin-left:auto;margin-right:auto;}

  .pty-cta{padding:52px 20px;text-align:center;}
  .wpcf7,form.wpcf7-form{padding:24px;}
}


/* =====================================================
   Hero shortcode v1.0.1
===================================================== */
.pty-hero-shortcode{
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  isolation:isolate;
}

.pty-hero-shortcode:before{
  background:linear-gradient(90deg,rgba(6,27,68,.94) 0%,rgba(6,27,68,.78) 42%,rgba(6,27,68,.28) 100%);
}

.pty-hero-content{
  max-width:760px;
}

.pty-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:15px 30px;
  border-radius:14px;
  font-family:'DM Sans',sans-serif !important;
  font-weight:800;
  text-decoration:none !important;
  line-height:1.1;
}

.pty-btn-red{
  background:var(--pty-red) !important;
  color:#fff !important;
}

.pty-btn-white{
  background:#fff !important;
  color:var(--pty-blue) !important;
}

.pty-btn:hover{
  transform:translateY(-2px);
  filter:brightness(.97);
}

@media(max-width:768px){
  .pty-hero-shortcode{
    background-position:center center;
  }

  .pty-hero-shortcode:before{
    background:rgba(6,27,68,.78);
  }

  .pty-btn{
    width:100%;
  }
}


/* =====================================================
   PTY Maritime Training Center — Ajustes v1.0.2
   Header, títulos, hero y espaciados del homepage
===================================================== */

/* Ocultar títulos nativos de páginas y posts en el frontend */
body.page .entry-header,
body.page .page-header,
body.page .hero-section,
body.page h1.page-title,
body.page .entry-title,
body.page [class*="page-title"],
body.page [class*="entry-header"]{
  display:none !important;
}

/* Eliminar espacio superior generado por Blocksy antes del primer bloque */
.site-main,
#main,
#primary,
.entry-content,
.ct-container-full,
.ct-container{
  margin-top:0 !important;
}

body.home .entry-content,
body.front-page .entry-content,
body.page .entry-content{
  padding-top:0 !important;
}

/* Header más fuerte y consistente */
#header,
.ct-header,
.site-header{
  background:#fff !important;
  box-shadow:0 8px 28px rgba(6,27,68,.08) !important;
}

.site-branding .site-title,
.site-branding .site-description,
.ct-header-text,
.site-logo-container + .site-title,
.site-logo-container + .site-description{
  display:none !important;
}

.site-logo-container img,
.custom-logo{
  max-height:92px !important;
  width:auto !important;
}

.ct-header [data-id="menu"] > ul > li > a,
.ct-header nav a,
.main-navigation a,
.menu li a{
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
  color:var(--pty-text) !important;
}

.ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header nav a:hover,
.main-navigation a:hover,
.menu li a:hover{
  color:var(--pty-red) !important;
}

/* Hero shortcode: subirlo, hacerlo más ancho y con mejor presencia */
.pty-hero,
.pty-hero-shortcode{
  margin-top:0 !important;
  margin-bottom:86px !important;
  min-height:650px !important;
  border-radius:0 !important;
}

.pty-hero-shortcode{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

.pty-hero .pty-container{
  width:min(1280px,100%) !important;
  padding:96px 6vw !important;
}

.pty-hero-content{
  max-width:780px !important;
}

.pty-hero h1{
  font-size:clamp(3.2rem,6vw,5.8rem) !important;
  line-height:.98 !important;
  color:#fff !important;
  margin-bottom:26px !important;
  letter-spacing:-.055em !important;
}

.pty-hero p{
  color:rgba(255,255,255,.94) !important;
  font-size:clamp(1.12rem,1.8vw,1.34rem) !important;
  line-height:1.7 !important;
}

.pty-hero .pty-kicker{
  color:#fff !important;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px !important;
}

.pty-hero .pty-kicker:before{
  content:"";
  width:36px;
  height:3px;
  background:var(--pty-red);
  display:inline-block;
  border-radius:99px;
}

.pty-hero-actions{
  margin-top:34px !important;
  gap:16px !important;
}

.pty-btn,
.pty-hero .wp-block-button__link,
.pty-hero a{
  border-radius:14px !important;
  padding:16px 32px !important;
  font-size:1rem !important;
}

/* Secciones del home: aire sin separación exagerada */
.pty-section{
  padding-top:82px !important;
  padding-bottom:82px !important;
}

.pty-hero + .pty-section,
.pty-hero-shortcode + .pty-section,
.pty-hero + section,
.pty-hero-shortcode + section{
  padding-top:0 !important;
}

/* Formación de calidad: más limpio, sin palabras cortadas */
.pty-section-title{
  max-width:860px !important;
  margin:0 auto 58px !important;
  text-align:center;
}

.pty-section-title .pty-kicker{
  color:var(--pty-blue) !important;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
}

.pty-section-title .pty-kicker:before,
.pty-section-title .pty-kicker:after{
  content:"";
  width:42px;
  height:3px;
  background:var(--pty-red);
  border-radius:99px;
  display:inline-block;
}

.pty-section-title h2{
  margin-top:10px !important;
  margin-bottom:16px !important;
}

.pty-features-grid{
  gap:52px !important;
  align-items:start !important;
}

.pty-feature{
  text-align:left !important;
  padding:0 8px !important;
}

.pty-feature-icon{
  width:84px !important;
  height:84px !important;
  margin-bottom:28px !important;
  background:linear-gradient(135deg,var(--pty-navy),var(--pty-blue-2)) !important;
  box-shadow:0 12px 26px rgba(6,27,68,.16) !important;
}

.pty-feature h3{
  margin:0 0 18px !important;
  line-height:1.2 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.pty-feature p{
  margin:0 !important;
  line-height:1.78 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Si los bloques antiguos siguen usando clases del theme, evitar recortes de palabras */
.feature-item h3,
.feature-item p,
.service-item h3,
.service-item p,
.gutentor-module h3,
.gutentor-module p{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  line-height:1.35 !important;
}

.feature-item h3,
.service-item h3,
.gutentor-module h3{
  margin-bottom:18px !important;
}

/* CTA: botón blanco con presencia real */
.pty-cta .pty-btn-white,
.pty-cta .wp-block-button__link,
.pty-cta a[class*="button"]{
  background:#fff !important;
  color:var(--pty-blue) !important;
  border-radius:999px !important;
  box-shadow:0 16px 36px rgba(0,0,0,.22) !important;
  font-weight:900 !important;
}

.pty-cta .pty-btn-white:hover,
.pty-cta .wp-block-button__link:hover,
.pty-cta a[class*="button"]:hover{
  background:#f7fbff !important;
  transform:translateY(-2px);
}

/* Contacto: tipografía uniforme y tarjetas más comprensibles */
.pty-contact-grid{
  gap:42px !important;
}

.wpcf7,
form.wpcf7-form{
  background:var(--pty-light) !important;
  border-radius:20px !important;
  padding:36px !important;
  box-shadow:none !important;
}

.wpcf7 p,
.wpcf7 label,
.wpcf7 span,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select{
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select{
  font-size:1rem !important;
  color:var(--pty-text) !important;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder{
  color:#6f7785 !important;
  opacity:1 !important;
}

.pty-contact-card{
  padding:34px !important;
  border-radius:20px !important;
}

.pty-contact-card h3{
  margin-bottom:12px !important;
  font-size:1.25rem !important;
}

.pty-contact-card p{
  line-height:1.75 !important;
}

/* Imágenes: solo redondear donde aporta */
.entry-content img,
.wp-block-image img,
.wp-block-gallery img,
.gallery img{
  border-radius:14px;
}

.pty-hero img,
.site-logo-container img,
.custom-logo{
  border-radius:0 !important;
}

@media(max-width:1024px){
  .site-logo-container img,
  .custom-logo{max-height:78px !important;}
  .ct-header [data-id="menu"] > ul > li > a,
  .ct-header nav a,
  .main-navigation a,
  .menu li a{font-size:15px !important;}
  .pty-features-grid{gap:38px !important;}
}

@media(max-width:768px){
  .site-logo-container img,
  .custom-logo{max-height:62px !important;}

  .pty-hero,
  .pty-hero-shortcode{
    min-height:620px !important;
    margin-bottom:58px !important;
  }

  .pty-hero .pty-container{
    padding:72px 24px !important;
  }

  .pty-hero h1{
    font-size:clamp(2.65rem,12vw,3.65rem) !important;
  }

  .pty-hero-actions{
    flex-direction:column;
  }

  .pty-btn,
  .pty-hero .wp-block-button__link,
  .pty-hero a{
    width:100%;
  }

  .pty-section-title{
    margin-bottom:40px !important;
  }

  .pty-feature{
    text-align:center !important;
    max-width:430px;
    margin-left:auto;
    margin-right:auto;
  }

  .pty-feature-icon{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .wpcf7,
  form.wpcf7-form{
    padding:26px !important;
  }
}


/* =====================================================
   PTY Maritime Training Center — Ajustes v1.0.3
   Corrección de espacios, logo, contacto y formulario
===================================================== */

/* Ocultar completamente el hero/título nativo de Blocksy, incluyendo el contenedor vacío */
body.page [data-hero],
body.page .ct-page-title,
body.page .page-title-container,
body.page .entry-header,
body.page .hero-section,
body.page header.entry-header,
body.page .ct-title-label,
body.page h1.page-title,
body.page h1.entry-title{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* Quitar el espacio superior e inferior que Blocksy puede dejar antes/después del contenido */
body.home .site-main,
body.home #main,
body.home #primary,
body.home .ct-main,
body.home .ct-content,
body.home .ct-container,
body.home .ct-container-full,
body.home article,
body.home .entry-content,
body.front-page .site-main,
body.front-page #main,
body.front-page #primary,
body.front-page .ct-main,
body.front-page .ct-content,
body.front-page .ct-container,
body.front-page .ct-container-full,
body.front-page article,
body.front-page .entry-content{
  margin-top:0 !important;
  padding-top:0 !important;
}

body.home .entry-content > *:first-child,
body.front-page .entry-content > *:first-child{
  margin-top:0 !important;
}

/* El hero debe subir debajo del header sin espacio muerto */
body.home .pty-hero-shortcode,
body.front-page .pty-hero-shortcode,
body.home .pty-hero,
body.front-page .pty-hero{
  margin-top:0 !important;
}

/* Separación inferior moderada del hero antes del resto del home */
body.home .pty-hero-shortcode,
body.front-page .pty-hero-shortcode{
  margin-bottom:72px !important;
}

/* Ajuste del header: menos espacio muerto y logo visible */
#header,
.ct-header,
.site-header{
  min-height:auto !important;
}

#header [data-row],
.ct-header [data-row],
.ct-header [data-row] > div{
  min-height:94px !important;
}

#header .site-logo-container,
.ct-header .site-logo-container,
.site-logo-container{
  --logo-max-height:96px !important;
  --logo-shrink-height:72px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}

#header .site-logo-container img,
.ct-header .site-logo-container img,
.site-logo-container img,
.custom-logo{
  width:auto !important;
  height:auto !important;
  max-height:96px !important;
  max-width:112px !important;
  object-fit:contain !important;
  transform:scale(1.22);
  transform-origin:left center;
}

/* Menú con presencia, sin agrandar de más */
.ct-header [data-id="menu"] > ul > li > a,
.ct-header nav a,
.main-navigation a,
.menu li a{
  font-size:16px !important;
  font-weight:850 !important;
  letter-spacing:.018em !important;
}

/* Bloques después del hero: que respiren, pero sin huecos exagerados */
body.home .pty-hero-shortcode + .pty-section,
body.front-page .pty-hero-shortcode + .pty-section,
body.home .pty-hero-shortcode + section,
body.front-page .pty-hero-shortcode + section{
  padding-top:0 !important;
}

body.home .pty-section:last-child,
body.front-page .pty-section:last-child,
body.home .entry-content > *:last-child,
body.front-page .entry-content > *:last-child{
  margin-bottom:0 !important;
  padding-bottom:70px !important;
}

/* Formación de calidad: evitar títulos partidos y mejorar lectura */
.pty-features-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:48px !important;
}

.pty-feature h3,
.feature-item h3,
.service-item h3{
  font-size:clamp(1.32rem,1.6vw,1.72rem) !important;
  line-height:1.18 !important;
  margin-bottom:16px !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.pty-feature p,
.feature-item p,
.service-item p{
  font-size:1.02rem !important;
  line-height:1.72 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Contact Form 7: forzar estilo aunque el plugin/theme tenga reglas más específicas */
.entry-content .wpcf7,
.entry-content form.wpcf7-form,
form.wpcf7-form.init,
form.wpcf7-form.sent,
form.wpcf7-form.invalid{
  background:var(--pty-light) !important;
  border-radius:22px !important;
  padding:38px !important;
  box-shadow:0 12px 36px rgba(6,27,68,.06) !important;
}

.entry-content .wpcf7 p,
.entry-content .wpcf7 label,
.entry-content .wpcf7 span,
.entry-content .wpcf7-form p,
.entry-content .wpcf7-form label{
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--pty-text) !important;
  font-size:1rem !important;
  line-height:1.5 !important;
}

.entry-content .wpcf7 input[type="text"],
.entry-content .wpcf7 input[type="email"],
.entry-content .wpcf7 input[type="tel"],
.entry-content .wpcf7 textarea,
.entry-content .wpcf7 select,
.wpcf7-form-control:not(.wpcf7-submit){
  width:100% !important;
  min-height:52px !important;
  border-radius:14px !important;
  border:1px solid rgba(6,27,68,.14) !important;
  padding:14px 18px !important;
  background:#fff !important;
  color:var(--pty-text) !important;
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-size:1rem !important;
  box-shadow:none !important;
}

.entry-content .wpcf7 textarea,
.wpcf7 textarea.wpcf7-form-control{
  min-height:190px !important;
  resize:vertical !important;
}

.entry-content .wpcf7 input::placeholder,
.entry-content .wpcf7 textarea::placeholder{
  color:#6F7785 !important;
  opacity:1 !important;
}

.entry-content .wpcf7 input[type="submit"],
input.wpcf7-form-control.wpcf7-submit{
  display:block !important;
  min-width:230px !important;
  margin:22px auto 0 !important;
  background:var(--pty-blue) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:15px 38px !important;
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-weight:800 !important;
  font-size:1rem !important;
}

/* Contacto antiguo/Gutentor: normalizar tarjetas y textos aunque no usen clases PTY */
.entry-content .gutentor-module .gutentor-title,
.entry-content .gutentor-module h3,
.entry-content .gutentor-element h3,
.entry-content .gutentor-single-item h3,
.entry-content .wp-block-column h3{
  font-family:'Outfit',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--pty-text) !important;
  font-size:clamp(1.22rem,1.6vw,1.55rem) !important;
  line-height:1.2 !important;
  margin-bottom:10px !important;
}

.entry-content .gutentor-module p,
.entry-content .gutentor-element p,
.entry-content .gutentor-single-item p,
.entry-content .wp-block-column p{
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--pty-muted) !important;
  font-size:1.02rem !important;
  line-height:1.65 !important;
}

/* Las tarjetas de ubicación/correo del diseño original */
.entry-content .gutentor-single-item,
.entry-content .gutentor-module,
.entry-content .wp-block-column > .wp-block-group{
  border-radius:18px;
}

/* Evitar exceso de padding al final del home */
body.home .site-main,
body.front-page .site-main{
  padding-bottom:0 !important;
}

@media(max-width:1024px){
  #header .site-logo-container img,
  .ct-header .site-logo-container img,
  .site-logo-container img,
  .custom-logo{
    max-height:82px !important;
    max-width:96px !important;
    transform:scale(1.15);
  }

  #header [data-row],
  .ct-header [data-row],
  .ct-header [data-row] > div{
    min-height:86px !important;
  }
}

@media(max-width:768px){
  body.home .pty-hero-shortcode,
  body.front-page .pty-hero-shortcode{
    margin-bottom:48px !important;
  }

  #header .site-logo-container img,
  .ct-header .site-logo-container img,
  .site-logo-container img,
  .custom-logo{
    max-height:68px !important;
    max-width:82px !important;
    transform:none;
  }

  #header [data-row],
  .ct-header [data-row],
  .ct-header [data-row] > div{
    min-height:74px !important;
  }

  .pty-features-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .entry-content .wpcf7,
  .entry-content form.wpcf7-form,
  form.wpcf7-form.init,
  form.wpcf7-form.sent,
  form.wpcf7-form.invalid{
    padding:26px !important;
  }
}
