/*
 Theme Name:   Astra Child
 Theme URI:    https://cerrajerosmedellinf.com/
 Description:  Tema hijo de Astra para personalizar el sitio de cerrajeros sin perder cambios al actualizar.
 Author:       Cerrajeros Medellin
 Template:     astra
 Version:      1.0.1
 Text Domain:  astra-child
*/

/* ============================================================
   Mejoras responsive - astra-child  (v1)
   ============================================================ */

/* --- Seguridad: evitar desbordes horizontales y imagenes gigantes --- */
html, body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }

/* --- Pagina de inicio: ocultar el titulo automatico "Inicio" --- */
.home .entry-header.ast-header-without-markup,
.home .entry-header .entry-title { display: none !important; }

/* ============================================================
   ENCABEZADO EN PC  (desde 922px)
   ============================================================ */
@media (min-width: 922px) {
  /* Contenedor mas ancho; marca a la izquierda, menu usa el resto */
  #masthead .ast-above-header-wrap .ast-container { max-width: 1400px !important; }
  #masthead .ast-above-header-wrap .ast-builder-grid-row {
    grid-template-columns: auto 1fr !important;
    column-gap: 32px !important;
  }
  #masthead .ast-above-header-wrap {
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    position: relative;
    z-index: 5;
  }

  /* Logo y titulo lado a lado */
  #masthead .site-branding.ast-site-identity {
    display: flex !important;
    align-items: center !important;
    gap: 16px;
    padding: 12px 0;
  }
  #masthead .site-branding .site-logo-img { display: block; line-height: 0; }
  #masthead .site-branding .custom-logo { max-height: 80px !important; width: auto !important; }
  #masthead .ast-site-title-wrap { max-width: 340px; }
  #masthead .site-title { margin: 0 !important; line-height: 1.25 !important; }
  #masthead .ast-site-identity .site-title a {
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #153243 !important;
    line-height: 1.3 !important;
    display: inline-block;
  }

  /* Menu: una sola fila, ajustado a su contenido, esquinas redondeadas */
  #masthead .site-header-above-section-right { justify-content: flex-end !important; }
  #primary-site-navigation-desktop { flex-grow: 0 !important; }
  #primary-site-navigation-desktop .main-header-menu {
    flex-wrap: nowrap !important;
    width: auto !important;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(21, 50, 67, .18);
  }
  #primary-site-navigation-desktop .main-header-menu > .menu-item > a {
    padding: 0 16px !important;
    line-height: 54px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    transition: background-color .2s ease;
  }
  #primary-site-navigation-desktop .main-header-menu > .menu-item:not(.current-menu-item) > a:hover {
    background-color: rgba(255, 255, 255, .12) !important;
  }
}

/* Laptops (1200-1365px): titulo y menu un poco mas compactos */
@media (min-width: 1200px) and (max-width: 1365px) {
  #masthead .site-branding .custom-logo { max-height: 70px !important; }
  #masthead .ast-site-title-wrap { max-width: 260px; }
  #masthead .ast-site-identity .site-title a { font-size: 15px !important; }
  #primary-site-navigation-desktop .main-header-menu > .menu-item > a {
    padding: 0 12px !important;
    font-size: 14px !important;
    line-height: 50px !important;
  }
}

/* Laptops pequenas / tablet horizontal (922-1199px): solo logo, menu compacto */
@media (min-width: 922px) and (max-width: 1199px) {
  #masthead .site-branding .custom-logo { max-height: 64px !important; }
  #masthead .ast-site-title-wrap { display: none !important; }
  #masthead .ast-above-header-wrap .ast-builder-grid-row { column-gap: 20px !important; }
  #primary-site-navigation-desktop .main-header-menu > .menu-item > a {
    padding: 0 10px !important;
    font-size: 14px !important;
    line-height: 48px !important;
  }
}

/* ============================================================
   MOVIL / TABLET  (hasta 921px)
   ============================================================ */
@media (max-width: 921px) {

  /* Titulo de pagina ("Inicio") mas equilibrado */
  .entry-title,
  .ast-single-post-title { font-size: 24px; }

  /* --- HERO del inicio: apilar imagen y texto (ya no lado a lado) --- */
  main .wp-block-group.is-layout-flex.is-nowrap:has(> .uagb-block-07933978) {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
  }
  main .wp-block-group.is-layout-flex.is-nowrap:has(> .uagb-block-07933978) > * {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  body .uagb-block-07933978 {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 24px !important;
    padding-bottom: 32px !important;
    min-height: 0 !important;
  }

  /* Titulo grande del hero: tamano legible y ajuste normal de palabras */
  body .uagb-block-425cc6b4 .uagb-ifb-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
    word-break: normal !important;
    overflow-wrap: break-word;
  }
  body .uagb-block-425cc6b4 .uagb-ifb-content { width: 100% !important; text-align: center; }

  /* El texto descriptivo del hero, centrado y comodo */
  body .uagb-block-07933978 .uagb-ifb-desc,
  body .uagb-block-07933978 p { font-size: 16px !important; line-height: 1.6 !important; }

  /* Imagen promocional del hero: centrada y de tamano comodo al apilar */
  main .wp-block-group.is-layout-flex.is-nowrap:has(> .uagb-block-07933978) > figure.wp-block-image {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 24px 16px 0 !important;
    box-sizing: border-box !important;
  }
  main .wp-block-group.is-layout-flex.is-nowrap:has(> .uagb-block-07933978) > figure.wp-block-image > a {
    display: block !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }
  main .wp-block-group.is-layout-flex.is-nowrap:has(> .uagb-block-07933978) > figure.wp-block-image img {
    width: 100% !important;
    max-width: 340px !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }
}

/* ============================================================
   ENTRADAS - diseno "caso de obra" (.cs)
   ============================================================ */
.cs {
  --bg:#fff; --bg-alt:#f1f6f7; --ink:#14303d; --body:#42525b; --teal:#1a6c7a; --teal-deep:#153243;
  --teal-soft:#e4eef0; --line:#dbe4e6; --maxw:1120px;
  font-family:"Barlow",system-ui,sans-serif; font-size:1.06rem; line-height:1.75; color:var(--body);
  -webkit-font-smoothing:antialiased; margin:0 !important; max-width:none !important; width:100% !important;
}
.cs *, .cs *::before, .cs *::after { box-sizing:border-box; }
.cs h1, .cs h2, .cs h3 { font-family:"Archivo",system-ui,sans-serif; line-height:1.08; letter-spacing:-.02em; color:var(--ink); text-transform:none; margin:0; }
.cs p { margin:0 0 1.1rem; }
.cs p strong { color:var(--ink); }
.cs img { max-width:100%; display:block; }
.cs figure { margin:0; }
.cs a { color:var(--teal); text-underline-offset:3px; }
.cs .wrap { width:min(92%,var(--maxw)); margin-inline:auto; }
.cs .eyebrow { font-family:"Archivo",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); display:inline-flex; align-items:center; gap:.6rem; }
.cs .eyebrow::before { content:""; width:26px; height:2px; background:var(--teal); }
.cs-hazard { height:4px; margin:0 !important; max-width:none !important; background:linear-gradient(90deg,#1a6c7a 0 32%,#153243 32% 40%,#dbe4e6 40% 100%); }

/* Portada */
.cs-hero { text-align:center; padding:clamp(2.8rem,8vh,5.2rem) 0 clamp(2.4rem,6vh,3.8rem); background:radial-gradient(60% 90% at 85% 0%,rgba(26,108,122,.08),transparent 60%),#fff; }
.cs-hero .crumbs { font-size:.9rem; color:#6a7b83; margin-bottom:1.1rem; }
.cs-hero .crumbs a { color:var(--teal); font-weight:600; text-decoration:none; }
.cs-hero h1 { font-weight:900; font-size:clamp(2rem,5.2vw,3.9rem); max-width:21ch; margin:1.1rem auto 1.2rem; }
.cs-hero h1 em { font-style:normal; color:var(--teal); }
.cs-hero .lead { font-size:clamp(1.06rem,2vw,1.24rem); max-width:62ch; margin:0 auto .5rem; }
.cs-ba { display:grid; grid-template-columns:1fr 1fr; gap:clamp(.8rem,2.5vw,1.4rem); margin-top:2.3rem; text-align:left; }
.cs-ba.single { grid-template-columns:1fr; max-width:860px; margin-inline:auto; }
.cs-ba figure { position:relative; border:1px solid var(--line); border-radius:6px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 10px 30px rgba(20,48,61,.08); background:var(--teal-soft); }
.cs-ba img { width:100%; height:100%; object-fit:cover; }
.cs-ba .tag { position:absolute; top:12px; left:12px; font-family:"Archivo",sans-serif; font-weight:800; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; padding:.34rem .72rem; border-radius:3px; background:#fff; color:var(--teal-deep); border:1px solid var(--line); }
.cs-ba .tag.after { background:var(--teal); color:#fff; border-color:var(--teal); }
.cs-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:1.3rem 2.4rem; font-size:.86rem; border-top:1px solid var(--line); padding-top:1.4rem; margin-top:2rem; }
.cs-meta b { display:block; color:var(--ink); font-family:"Archivo",sans-serif; font-size:1.1rem; }

/* Secciones */
.cs-block { padding:clamp(2.8rem,8vh,5rem) 0; background:#fff; }
.cs-block.alt { background:var(--bg-alt); border-block:1px solid var(--line); }
.cs .head { max-width:64ch; margin:0 auto 2.3rem; text-align:center; }
.cs .head .eyebrow { justify-content:center; }
.cs .head h2 { font-weight:800; font-size:clamp(1.65rem,3.9vw,2.6rem); margin:.8rem 0; }
.cs .head p { font-size:1.08rem; }
.cs .prose { max-width:70ch; margin-inline:auto; }

/* Texto + foto */
.cs-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem,4vw,3rem); align-items:center; }
.cs-split + .cs-split { margin-top:clamp(2.4rem,6vh,4rem); }
.cs-split.flip .media { order:-1; }
.cs-split h3 { font-weight:800; font-size:clamp(1.3rem,2.7vw,1.85rem); margin-bottom:.9rem; }
.cs .kicker { color:var(--teal); font-family:"Archivo",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; display:block; margin-bottom:.5rem; }
.cs-frame { position:relative; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--teal-soft); box-shadow:0 10px 30px rgba(20,48,61,.08); }
.cs-frame img { width:100%; height:100%; object-fit:cover; }
.cs-frame.tall { aspect-ratio:3/4; max-height:640px; }
.cs-frame.wide { aspect-ratio:4/3; }
.cs-split:hover .cs-frame { box-shadow:0 14px 36px rgba(20,48,61,.14); }
.cs .cap { font-size:.84rem; margin-top:.6rem; color:var(--body); }

/* Ficha tecnica */
.cs-spec { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:8px; overflow:hidden; margin:0; }
.cs-spec > div { background:#fff; padding:1.3rem 1.25rem; }
.cs-spec dt { color:var(--teal); font-family:"Archivo",sans-serif; font-weight:700; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 .4rem; }
.cs-spec dd { margin:0; font-family:"Archivo",sans-serif; font-weight:800; font-size:1.25rem; line-height:1.22; color:var(--ink); }
.cs-spec small { display:block; color:var(--body); font-family:"Barlow",sans-serif; font-weight:400; font-size:.86rem; margin-top:.3rem; }

/* Tarjetas (beneficios / servicios) */
.cs-cards { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.cs-cards li { margin:0; background:#fff; border:1px solid var(--line); border-left:4px solid var(--teal); border-radius:6px; padding:1.1rem 1.2rem; box-shadow:0 6px 18px rgba(20,48,61,.05); }
.cs-cards b { font-family:"Archivo",sans-serif; display:block; margin-bottom:.2rem; color:var(--ink); }
.cs-cards span { font-size:.95rem; }

/* Lista con checks */
.cs-check { list-style:none; padding:0; margin:.6rem 0 1.2rem; display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1.4rem; }
.cs-check li { position:relative; padding-left:1.85rem; margin:0; line-height:1.5; color:var(--ink); font-weight:500; }
.cs-check li::before { content:""; position:absolute; left:0; top:.12rem; width:1.25rem; height:1.25rem; border-radius:50%; background:var(--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a6c7a' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat; }

/* Pasos */
.cs-steps { max-width:900px; margin:0 auto; }
.cs-step { display:grid; grid-template-columns:auto 1fr; gap:clamp(1.1rem,4vw,2.3rem); padding:1.6rem 0; border-top:1px solid var(--line); }
.cs-step:last-child { border-bottom:1px solid var(--line); }
.cs-step .num { font-family:"Archivo",sans-serif; font-weight:900; font-size:clamp(2.2rem,6.5vw,3.6rem); line-height:1; color:transparent; -webkit-text-stroke:1.5px var(--teal); letter-spacing:-.04em; min-width:2ch; }
.cs-step h3 { font-weight:800; font-size:1.25rem; margin-bottom:.3rem; }
.cs-step p { margin:0; }

/* Resultado y galeria */
.cs-result { border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 16px 40px rgba(20,48,61,.12); max-width:960px; margin:0 auto; }
.cs-result img { width:100%; max-height:720px; object-fit:cover; }
.cs-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
.cs-gallery figure { position:relative; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--teal-soft); }
.cs-gallery img { width:100%; aspect-ratio:3/4; object-fit:cover; transition:transform .4s ease; }
.cs-gallery.wide img { aspect-ratio:4/3; }
.cs-gallery figure:hover img { transform:scale(1.04); }
.cs-gallery figcaption { position:absolute; left:0; right:0; bottom:0; padding:1.5rem .8rem .65rem; font-size:.82rem; line-height:1.35; color:#fff; background:linear-gradient(transparent,rgba(21,50,67,.88)); }

/* Video */
.cs-video { max-width:860px; margin:0 auto; }
.cs-video .ratio { position:relative; width:100%; aspect-ratio:16/9; border-radius:8px; overflow:hidden; box-shadow:0 16px 40px rgba(20,48,61,.12); background:#000; }
.cs-video.vertical { max-width:360px; }
.cs-video.vertical .ratio { aspect-ratio:9/16; }
.cs-video iframe { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:none !important; border:0; }

/* Nota */
.cs-note { max-width:860px; margin:1.8rem auto 0; background:var(--teal-soft); border-left:4px solid var(--teal); padding:1rem 1.25rem; border-radius:8px; color:var(--ink); }

/* Preguntas frecuentes */
.cs-faq { max-width:860px; margin:0 auto; border-top:1px solid var(--line); }
.cs-faq details { border-bottom:1px solid var(--line); }
.cs-faq summary { cursor:pointer; list-style:none; padding:1.1rem 0; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.cs-faq summary::-webkit-details-marker { display:none; }
.cs-faq summary h3 { font-weight:700; font-size:1.1rem; line-height:1.35; }
.cs-faq summary::after { content:"+"; color:var(--teal); font-size:1.6rem; line-height:1; transition:transform .2s; flex:none; }
.cs-faq details[open] summary::after { transform:rotate(45deg); }
.cs-faq details p { padding:0 0 1.1rem; max-width:70ch; margin:0; }

/* Te puede interesar */
.cs-related { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.cs-related li { margin:0; }
.cs-related a { display:flex; justify-content:space-between; align-items:center; gap:.8rem; height:100%; background:#fff; border:1px solid var(--line); border-radius:6px; padding:1rem 1.15rem; text-decoration:none; color:var(--ink); font-family:"Archivo",sans-serif; font-weight:700; transition:border-color .2s, transform .2s; }
.cs-related a::after { content:"\2192"; color:var(--teal); }
.cs-related a:hover { border-color:var(--teal); transform:translateY(-2px); }

/* Aparicion suave (solo si el JS esta activo) */
.cs-anim .cs .reveal { opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.cs-anim .cs .reveal.is-visible, .cs-show-all .cs .reveal { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .cs-anim .cs .reveal { opacity:1; transform:none; transition:none; } }

/* Entradas con diseno de caso de obra: ocultar la fila suelta de metadatos de Astra */
.single-post article:has(.cs-hero) .entry-header.ast-no-title { display:none; }

@media (max-width:760px) {
  .cs-split { grid-template-columns:1fr; }
  .cs-split.flip .media { order:0; }
  .cs-frame.tall { aspect-ratio:4/5; }
  .cs-ba { grid-template-columns:1fr; }
  .cs-gallery { grid-template-columns:1fr 1fr; gap:.55rem; }
  .cs-gallery figcaption { font-size:.74rem; padding:1.2rem .55rem .5rem; }
  .cs-check { grid-template-columns:1fr; }
  .cs-meta { gap:1rem 1.6rem; }
}

/* Texto original dentro del diseno: subtitulos y listas numeradas */
.cs .text h3, .cs .prose h3 { font-weight:800; font-size:clamp(1.15rem,2.2vw,1.4rem); margin:1.6rem 0 .6rem; }
.cs .text h3:first-child, .cs .prose h3:first-child { margin-top:0; }
.cs-ol { list-style:none; counter-reset:csol; padding:0; margin:.6rem 0 1.2rem; display:grid; gap:.6rem; }
.cs-ol li { counter-increment:csol; position:relative; margin:0; padding:.8rem 1rem .8rem 3.2rem; background:var(--bg-alt); border:1px solid var(--line); border-radius:8px; line-height:1.6; }
.cs-block.alt .cs-ol li { background:#fff; }
.cs-ol li::before { content:counter(csol); position:absolute; left:.9rem; top:.8rem; width:1.7rem; height:1.7rem; border-radius:6px; background:var(--teal); color:#fff; display:grid; place-items:center; font-family:"Archivo",sans-serif; font-weight:800; font-size:.85rem; }

/* ============================================================
   COBERTURA (pagina 1899): municipios, barrios, trabajos por zona, mapa
   ============================================================ */
.cs-groups { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.cs-group { background:#fff; border:1px solid var(--line); border-top:4px solid var(--teal); border-radius:8px; padding:1.4rem 1.3rem; }
.cs-group h3 { font-weight:800; font-size:1.25rem; margin-bottom:.25rem; }
.cs-group .sub { display:block; font-size:.9rem; margin-bottom:1rem; }
.cs-group ul { list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.cs-group li { margin:0; }
.cs-group a { display:flex; justify-content:space-between; align-items:center; gap:.6rem; padding:.7rem .9rem; border:1px solid var(--line); border-radius:6px; background:var(--bg-alt); text-decoration:none; color:var(--ink); font-family:"Archivo",sans-serif; font-weight:700; transition:border-color .2s; }
.cs-group a::after { content:"\2192"; color:var(--teal); }
.cs-group a:hover { border-color:var(--teal); }
.cs-group a small { display:block; font-family:"Barlow",sans-serif; font-weight:500; font-size:.82rem; color:var(--body); }
.cs-chips { list-style:none; padding:0; margin:1.6rem auto 0; display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center; max-width:900px; }
.cs-chips li { margin:0; padding:.45rem .95rem; border-radius:999px; background:#fff; border:1px solid var(--line); font-weight:600; color:var(--ink); font-size:.95rem; }
.cs-block.alt .cs-chips li { background:#fff; }
.cs-places { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.cs-places a { display:block; height:100%; text-decoration:none; color:inherit; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; transition:transform .2s, box-shadow .2s; }
.cs-places a:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(20,48,61,.12); }
.cs-places img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.cs-places .pl { display:block; padding:.85rem .95rem 1rem; }
.cs-places .zona { display:block; font-family:"Archivo",sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); }
.cs-places .que { display:block; font-family:"Archivo",sans-serif; font-weight:700; color:var(--ink); line-height:1.3; margin-top:.25rem; }
.cs-map { max-width:980px; margin:2.3rem auto 0; border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 16px 40px rgba(20,48,61,.12); aspect-ratio:16/9; background:var(--teal-soft); position:relative; }
.cs-map iframe { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:none !important; border:0; }
.cs-orig-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.cs-orig-cards article { background:#fff; border:1px solid var(--line); border-radius:8px; padding:1.3rem 1.25rem; }
.cs-orig-cards h3 { font-weight:800; font-size:1.18rem; margin-bottom:.5rem; }
.cs-orig-cards h3 a { color:var(--ink); text-decoration:none; }
.cs-orig-cards h3 a:hover { color:var(--teal); }
.cs-orig-cards p { margin:0; font-size:.98rem; }
@media (max-width:980px) { .cs-places { grid-template-columns:repeat(2,1fr); } .cs-groups, .cs-orig-cards { grid-template-columns:1fr; } }
@media (max-width:760px) { .cs-map { aspect-ratio:4/5; } .cs-places { gap:.6rem; } .cs-places .pl { padding:.65rem .7rem .8rem; } .cs-places .que { font-size:.9rem; } }

/* Nuestros Trabajos: titulos de tarjetas, enlaces de galeria y chips como enlaces */
.cs-places h3.que { font-size:1rem; margin:.25rem 0 0; letter-spacing:0; }
.cs-gallery a { display:block; }
.cs-chips a { color:var(--ink); text-decoration:none; }
.cs-chips li:has(a):hover { border-color:var(--teal); }

/* Quienes Somos: mision y vision en 2 columnas */
.cs-orig-cards.two { grid-template-columns:repeat(2,1fr); max-width:980px; margin-inline:auto; }
.cs-orig-cards h2.mv { font-weight:800; font-size:clamp(1.3rem,2.6vw,1.7rem); margin:0 0 .6rem; color:var(--teal-deep); }
.cs-orig-cards.two article { border-top:4px solid var(--teal); padding:1.6rem 1.5rem; }
@media (max-width:760px) { .cs-orig-cards.two { grid-template-columns:1fr; } }

/* Contacto (pagina 220) */
.cs-contact-hero { display:flex; flex-wrap:wrap; gap:.9rem; justify-content:center; margin:1.6rem 0 .4rem; }
.cs .cs-btn { display:inline-flex; align-items:center; justify-content:center; font-family:"Archivo",sans-serif; font-weight:700; font-size:1rem; padding:.95rem 1.5rem; border-radius:6px; text-decoration:none; transition:transform .2s, background-color .2s; }
.cs .cs-btn:hover { transform:translateY(-2px); }
.cs .cs-btn.wa { background:#25d366; color:#06331a; box-shadow:0 8px 22px rgba(37,211,102,.3); }
.cs .cs-btn.line { border:2px solid var(--teal); color:var(--teal); }
.cs .cs-btn.line:hover { background:var(--teal-soft); }
.cs-channels { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.cs-channels .ch { background:#fff; border:1px solid var(--line); border-top:4px solid var(--teal); border-radius:8px; padding:1.3rem 1.25rem; }
.cs-channels .k { display:block; font-family:"Archivo",sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); margin-bottom:.35rem; }
.cs-channels h3 { font-weight:800; font-size:1.15rem; margin-bottom:.5rem; }
.cs-channels p { margin:0 0 .6rem; font-size:.98rem; }
.cs-channels a { font-weight:600; }
.cs-form { max-width:760px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:8px; padding:clamp(1.2rem,3vw,2rem); box-shadow:0 16px 40px rgba(20,48,61,.08); }
.cs-form .srfm-form-container { --srfm-color-scheme-primary:#1a6c7a; --srfm-color-input-border-hover:rgba(26,108,122,.65); --srfm-btn-color-hover:#153243; }
@media (max-width:980px) { .cs-channels { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .cs-channels { grid-template-columns:1fr; } .cs-contact-hero .cs-btn { flex:1 1 100%; } }

/* Titulo del encabezado: nombre en Archivo + subtitulo en mayusculas espaciadas */
#masthead .site-title a { text-transform:none !important; text-decoration:none; }
#masthead .ast-site-title-wrap { max-width:390px; }
#masthead .site-title .st-main { display:block; font-family:"Archivo",system-ui,sans-serif; font-weight:800; font-size:20px; line-height:1.15; letter-spacing:-.015em; color:#14303d; transition:color .2s; }
#masthead .site-title .st-sub { display:block; margin-top:.35rem; font-family:"Barlow",system-ui,sans-serif; font-weight:600; font-size:11.5px; line-height:1.2; letter-spacing:.18em; text-transform:uppercase; color:#1a6c7a; }
#masthead .site-title a:hover .st-main { color:#1a6c7a; }
@media (min-width:1200px) and (max-width:1365px) {
  #masthead .ast-site-title-wrap { max-width:300px; }
  #masthead .site-title .st-main { font-size:17px; }
  #masthead .site-title .st-sub { font-size:10.5px; letter-spacing:.14em; }
}
