/* ==========================================================================
   ANSABIT, Servicios Informáticos Integrales — sitio estático
   Réplica del tema WordPress "Agency" (Themify) + custom_style.css,
   reducida a las reglas que usan las páginas. Sin buscador.
   ========================================================================== */

:root {
  --azul: #00abcc;
  --verde: #b1cc07;
  --verde-boton: #c0d636;
  --texto: #898989;
  --gris-menu: #a1a1a1;
}

/* ---------- Tipografía PT Sans Narrow (la del tema) ---------- */
@font-face {
  font-family: 'Conv_PT_Sans_Narrow';
  src: url('../fonts/PT_Sans_Narrow.woff') format('woff');
  font-weight: normal; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Conv_PT_Sans_Narrow_Bold';
  src: url('../fonts/PT_Sans_Narrow_Bold.woff') format('woff');
  font-weight: normal; font-style: normal; font-display: swap;
}

/* ---------- Reset ---------- */
html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object, a, abbr, acronym, b,
bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span, strong, sub, sup, tt, var,
legend, fieldset, figure { margin: 0; padding: 0; }
img, fieldset { border: 0; }
img { max-width: 100%; height: auto; box-sizing: border-box; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

/* ---------- Base ---------- */
body {
  font: .85em/150% Arial, "Times New Roman", Times, serif;
  color: var(--texto);
  overflow-wrap: break-word;
  background: #fff;
}
a { color: #997551; text-decoration: none; outline: none; }
a:hover { text-decoration: underline; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }
a:focus-visible, button:focus-visible { outline: 1px dotted currentColor; outline-offset: 2px; }
p { margin: 0 0 1.2em; padding: 0; }
blockquote { font: italic bold 110%/130% Arial, Times, serif; color: var(--azul); padding: 8px 0; }
ul, ol { margin: 1em 0 1.4em 24px; padding: 0; line-height: 140%; }
li { margin: 0 0 .5em; padding: 0; }
h1, h2, h3, h4, h5, h6 {
  line-height: 1.4em;
  margin: 20px 0 .4em;
  font-family: 'Conv_PT_Sans_Narrow_Bold', 'Arial Narrow', Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  color: #000;
}
h1 { font-size: 2em; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.6em; }
h4 { font-size: 1.4em; }
hr { height: 1px; border: 0; border-top: 1px solid #ccc; clear: both; }
hr.doble { border-top: 0; border-bottom: 4px double #eee; }

.clearfix::after, #body::after, #footer::after, #main-nav::after, #content::after {
  content: " "; display: block; clear: both; height: 0; visibility: hidden; font-size: 0;
}

/* ---------- Estructura ---------- */
.pagewidth { width: 978px; margin: 0 auto; }
#body { margin: 0 auto; max-width: 100%; padding: 0 0 20px; }
#content { width: 100%; padding: 60px 0 60px; }

/* Columnas (shortcodes de Themify) */
.col4-1, .col4-2, .col4-3, .col3-1, .col3-2, .col2-1 { margin-left: 3.2%; float: left; }
.col4-2, .col2-1 { width: 48.4%; }
.col3-1 { width: 31.2%; }
.col3-1.first, .col2-1.first { margin-left: 0; clear: left; }

/* ---------- Cabecera ---------- */
#headerwrap { border-bottom: 1px solid #bbb; width: 100%; }
#header { height: 165px; position: relative; padding-bottom: 5px; }
#header hgroup { position: absolute; bottom: 10px; width: 100%; }
#site-logo { margin: 0; padding: 0; line-height: 0; }
#site-logo a { display: inline-block; }

#main-nav-wrap { position: absolute; bottom: 17px; right: -13px; margin: 0; padding: 0; }
#main-nav { margin: 0; padding: 0; }
#main-nav li { margin: 0; padding: 0; list-style: none; float: left; position: relative; }
#main-nav a {
  display: block;
  margin: 0;
  padding: 6px 10px;
  color: var(--gris-menu);
  font: 120%/120% 'Conv_PT_Sans_Narrow', 'Arial Narrow', Arial, sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
#main-nav a:hover,
#main-nav .current-menu-item a { color: var(--azul); }
#menu-icon { display: none; }

/* ---------- Banda principal (antes slider de un solo elemento) ---------- */
#sliderwrap {
  position: relative;
  margin-bottom: -50px;
  padding: 0;
  background: #bad222 url('../img/fondo-slide.jpg');
  border-bottom: 1px solid #ccc;
}
#slider { overflow: hidden; font-size: 115%; }
.hero { display: flex; align-items: flex-start; }
.hero__image { flex: 0 0 auto; margin: 0 10px 0 0; line-height: 0; }
.hero__image img { vertical-align: bottom; }
.hero__content { overflow: hidden; min-width: 120px; padding: 100px 0 0; }
#slider h3, #slider h4 { padding: 0; margin: 0 0 5px; border: 0; color: #fff; font-style: normal; }
#slider h3 {
  font-family: 'Conv_PT_Sans_Narrow', 'Arial Narrow', Arial, sans-serif;
  font-size: 2.4em;
  line-height: 110%;
  letter-spacing: 1px;
}
#slider h4 {
  font-family: 'Conv_PT_Sans_Narrow_Bold', 'Arial Narrow', Arial, sans-serif;
  font-size: 2.8em;
  line-height: 1.4em;
  letter-spacing: 2px;
}

/* ---------- Contenido ---------- */
#content h2 {
  clear: both;
  margin: 0 0 25px;
  padding: 35px 0 10px;
  text-align: center;
  font-family: 'Conv_PT_Sans_Narrow', 'Arial Narrow', Arial, sans-serif;
  font-size: 26px;
  font-variant: small-caps;
  letter-spacing: 1px;
  color: var(--texto);
  border-bottom: 4px double #eee;
}
.page-content h1 { color: var(--azul); font-weight: bold; padding-top: 0; margin-top: 0; }
.page-content .col2-1 h1 { margin-top: -25px; }

h3.verde, h3.azul {
  margin-bottom: 0;
  font-family: 'Conv_PT_Sans_Narrow_Bold', 'Arial Narrow', Arial, sans-serif;
  font-size: 2em;
}
h3.verde { color: var(--verde); margin-top: 30px; }
h3.azul { color: var(--azul); margin-top: -8px; }
span.azul { color: var(--azul); font-weight: bold; }

img.alignleft, img.alignnone { margin-bottom: 15px; }
.alignleft { float: left; margin-right: 20px; }
.col3-1 img.alignleft { margin-right: 5px; }
.col3-1 .col-txt { margin-left: 98px; line-height: 1.2em; font-size: .98em; }
.col2-1 .col-txt { margin-left: 137px; line-height: 1.2em; font-size: .98em; }
.col2-1 .col-txt2 { margin-left: 120px; line-height: 1.2em; font-size: .98em; }
.partners img { margin-right: 4px; }

/* ---------- Pie ---------- */
#footerwrap {
  position: relative;
  padding: 10px 0;
  background: var(--azul);
  border-top: 1px solid #ccc;
}
#footer { clear: both; }
.back-top { clear: both; margin: 0 0 5px; }
.back-top a {
  display: block;
  width: 34px; height: 34px;
  margin: 15px auto 10px;
  border-radius: 10em;
  background: var(--verde-boton) url('../img/arrow-up.png') no-repeat center center;
  text-indent: -900em;
  overflow: hidden;
}
.back-top a:hover { background-color: #000; }
.footer-nav { margin: 40px 0 10px; padding: 0; text-align: center; }
.footer-nav li { display: inline; margin: 0 8px; padding: 0; list-style: none; }
.footer-nav a { color: #fff; font-size: 85%; line-height: 100%; vertical-align: middle; text-transform: uppercase; text-decoration: none; }
.footer-nav a:hover { text-decoration: underline; }
.footer-text { clear: left; font-size: 85%; text-align: center; }
#footerwrap .logo { display: block; margin: 0 auto; width: 235px; height: 135px; }
#footerwrap .pie-info {
  width: 425px; max-width: 100%;
  margin: 30px auto 0;
  color: #fff;
  font-family: 'Conv_PT_Sans_Narrow_Bold', 'Arial Narrow', Arial, sans-serif;
}
#footerwrap .pie-info span { display: inline-block; height: 40px; padding: 10px 30px 5px 55px; font-size: 1.5em; }
#footerwrap .pie-info .telefono { background: url('../img/tlf.gif') no-repeat 0 0; }
#footerwrap .pie-info .email { background: url('../img/email.gif') no-repeat 0 0; }
#footerwrap .pie-info a { color: #fff; }
.copy { margin: 20px auto; width: 250px; font-size: 85%; text-align: center; }

/* ---------- Visor de imagen (sustituye a prettyPhoto) ---------- */
.lb {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0, 0, 0, .8);
  cursor: zoom-out;
}
.lb[hidden] { display: none; }
.lb img { max-width: 92vw; max-height: 92vh; border: 10px solid #fff; border-radius: 4px; }

/* ==========================================================================
   Responsive (media-queries.css del tema)
   ========================================================================== */
@media screen and (max-width: 980px) {
  .pagewidth { max-width: 94%; }
  #content { padding: 7% 0 5%; }
}

@media screen and (max-width: 760px) {
  #header { height: auto; min-height: 165px; }
  #header hgroup { position: static; padding-top: 10px; }
  #site-logo img { max-width: 200px; }
  #main-nav-wrap { position: absolute; top: 20px; right: 0; bottom: auto; }
  #menu-icon {
    display: block;
    width: 36px; height: 32px;
    border: 0; border-radius: 5px;
    background: #eee url('../img/menu-icon.png') no-repeat center center;
    cursor: pointer;
    float: right;
    position: relative;
  }
  #main-nav {
    display: none;
    position: absolute; top: 36px; right: 0;
    width: 180px;
    z-index: 1000;
    padding: 10px 5px;
    background: #fff;
    border: 1px solid #999;
    border-radius: 5px;
    box-shadow: 1px 2px 0 rgba(0, 0, 0, .2);
  }
  #main-nav.is-open { display: block; }
  #main-nav li { float: none; clear: both; margin: 5px 0 5px 10px; }
  #main-nav a { display: inline; padding: 0; color: #666; font-size: 1.2em; }
  #main-nav a:hover { color: #000; }

  #slider { font-size: 100%; }
  .hero { flex-direction: column; }
  .hero__image { margin: 0 0 10px; }
  .hero__content { padding: 0 0 70px; }
  #sliderwrap { margin-bottom: 0; }
}

@media screen and (min-width: 761px) {
  #main-nav { display: block !important; }
}

@media screen and (max-width: 480px) {
  .col4-1, .col4-2, .col2-1, .col4-3, .col3-1, .col3-2 { margin-left: 0 !important; width: 100% !important; }
  .footer-nav { padding: 0; }
  #footerwrap .pie-info span { display: block; }
}
