/* Sr. Amado, capa de diseño sobre el tema Divi (2026-10-09).
   Tipografía: Newsreader (títulos, serif con carácter) y Figtree (texto y botones), autoalojadas.
   Escala fluida, interlineado por rol, medida de línea cómoda y objetivos táctiles de 48 px.
   Se carga al final del <head>; usa !important solo donde Divi lo usa en sus reglas por módulo. */

:root {
  --f-titulo: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --f-cuerpo: "Figtree", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --tinta: #10182e;
  --texto: #2a3350;
  --suave: #4f5a75;
  --marca: #1a2b52;
  --cab-alto: 60px;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { font-family: var(--f-cuerpo) !important; font-size: 1.0625rem; line-height: 1.65; color: var(--texto); font-weight: 400; font-optical-sizing: auto; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #f5c518; color: var(--tinta); }

/* Texto corrido */
body .et_pb_text_inner, body .et_pb_text_inner p, body .et_pb_text_inner li,
body .et_pb_post_content p, body .et_pb_post_content li,
body .et_pb_blurb_description, body .df_ab_blurb_description,
body .woocommerce-product-details__short-description, body .woocommerce-Tabs-panel p {
  font-family: var(--f-cuerpo) !important; font-size: 1.0625rem !important; line-height: 1.65 !important; font-weight: 400 !important;
}
body .et_pb_text_inner p, body .et_pb_post_content p { text-wrap: pretty; margin-bottom: 1em; }
body .et_pb_text_inner strong, body .et_pb_post_content strong { font-weight: 700; }
body .et_pb_text_inner a, body .et_pb_post_content a { text-decoration-thickness: 1px; text-underline-offset: .18em; }

/* Títulos: serif con tracking ajustado y escala fluida */
body h1, body h2, body h3, body h4, body h5, body h6,
body .woocommerce-loop-product__title, body .product_title, body .et_pb_module_header,
body .df_ab_blurb_title, body .author_name, body .entry-title, body .df-heading {
  font-family: var(--f-titulo) !important; font-weight: 600 !important; color: var(--tinta);
  text-wrap: balance; overflow-wrap: break-word; hyphens: manual; font-optical-sizing: auto;
}
body h1, body h1.df-heading, body .product_title { font-size: clamp(2.125rem, 1.35rem + 3.7vw, 3.75rem) !important; line-height: 1.08 !important; letter-spacing: -.02em !important; }
body h2, body .et_pb_text_inner h2 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem) !important; line-height: 1.14 !important; letter-spacing: -.015em !important; }
body h3, body .df_ab_blurb_title, body .et_pb_text_inner h3 { font-size: clamp(1.375rem, 1.1rem + 1.2vw, 1.875rem) !important; line-height: 1.2 !important; letter-spacing: -.01em !important; }
body h4, body .author_name { font-size: 1.1875rem !important; line-height: 1.3 !important; letter-spacing: -.005em !important; }
body .et_pb_text_inner h1 + p, body .et_pb_text_inner h2 + p { margin-top: .6em; }

/* Titular animado del inicio (módulo DiviFlash): el tema fija 64 px y PT Serif en cada <span> */
body .df_adh_heading_0 h1, body .df_adh_heading_0 h2 { font-size: clamp(2.125rem, 1.35rem + 3.7vw, 3.75rem) !important; line-height: 1.08 !important; letter-spacing: -.02em !important; }
body .df_adh_heading_0 h1 span, body .df_adh_heading_0 h2 span, body .df_adh_heading_0 span.prefix, body .df_adh_heading_0 span.suffix {
  font-family: var(--f-titulo) !important; font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; font-weight: 600 !important; }
body .df_adh_heading_0 span.suffix { font-weight: 700 !important; }

/* Etiquetas tipo píldora ("Más de 30 años de experiencia"): chicas, en negrita */
body.home .et_pb_text_0 .et_pb_text_inner p, body .et_pb_text_0_tb_body .et_pb_text_inner p { font-size: .9375rem !important; font-weight: 700 !important; letter-spacing: .01em; line-height: 1.3 !important; margin: 0 !important; }

/* Etiqueta tipo píldora ("Más de 30 años de experiencia") y texto menudo: nada por debajo de 14 px */
body .et_pb_text_inner p[style*="font-size"], body small, body .woocommerce-breadcrumb, body .product_meta, body .post-meta, body .et_pb_post .post-meta { font-size: .9375rem !important; }
body .et_pb_text_inner p strong:only-child { letter-spacing: .01em; }

/* Botones: 48 px de alto mínimo, Figtree 700. Los de Divi conservan su maquetación (el ícono va con ::after) */
body .et_pb_button, body .df_button_left, body .df_button_right, body .single_add_to_cart_button, body .woocommerce a.button, body a.button {
  font-family: var(--f-cuerpo) !important; font-weight: 700 !important; font-size: 1rem !important; letter-spacing: .005em; line-height: 1.2 !important; text-align: center;
}
body .et_pb_button, body .df_button_left, body .df_button_right { padding-top: .8rem !important; padding-bottom: .8rem !important; min-height: 3rem; box-sizing: border-box; }
body .kk-comprar a.single_add_to_cart_button, body .woocommerce a.button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 3rem; }
body :focus-visible { outline: 3px solid #f5c518; outline-offset: 3px; border-radius: 4px; }

/* Tienda: títulos de tarjeta, precios y tarjetas */
body ul.products li.product .woocommerce-loop-product__title { font-size: 1.1875rem !important; line-height: 1.25 !important; letter-spacing: -.005em !important; padding: .5rem .25rem 0 !important; text-wrap: balance; hyphens: auto; }
body ul.products li.product .price, body .summary .price, body .price {
  font-family: var(--f-cuerpo) !important; font-size: 1.125rem !important; font-weight: 700 !important; color: var(--marca) !important; font-variant-numeric: tabular-nums; line-height: 1.3 !important;
}
body .price del, body .price del .amount { font-weight: 500 !important; color: var(--suave) !important; font-size: 1rem !important; opacity: 1; }
body .price ins { text-decoration: none; }
body ul.products li.product a { display: block; }
body ul.products li.product a:focus-visible { outline-offset: 4px; }
body .onsale { font-family: var(--f-cuerpo) !important; font-weight: 700 !important; font-size: .9375rem !important; }

/* Ficha de producto y botón de WhatsApp */
body .kk-comprar { margin: 1.25rem 0 1.5rem; }
body .kk-comprar table.variations { width: 100%; margin-bottom: .75rem; }
body .kk-comprar table.variations th, body .kk-comprar table.variations td { display: block; padding: 0; text-align: left; }
body .kk-comprar table.variations label { font-weight: 700; font-size: 1rem; color: var(--tinta); display: block; margin-bottom: .35rem; }
body .kk-comprar select { width: 100%; min-height: 3rem; font: 500 1.0625rem var(--f-cuerpo); color: var(--tinta); padding: .5rem .75rem; border: 1.5px solid #9aa6bf; border-radius: 10px; background-color: #fff; }
body .kk-comprar .kk-precio { font-weight: 700; font-size: 1.25rem; color: var(--marca); min-height: 1.6em; margin: .25rem 0 .75rem; font-variant-numeric: tabular-nums; }
body .kk-comprar a.single_add_to_cart_button { width: 100%; background: #128c4a !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; padding: .9rem 1.25rem !important; font-size: 1.0625rem !important; }
body .kk-comprar a.single_add_to_cart_button:hover { background: #0e7339 !important; }
body .kk-comprar a.single_add_to_cart_button::after { content: " →"; margin-left: .35em; }
body .product_meta { margin-top: 1rem; color: var(--suave); }

/* Notas del blog: medida de línea de 65 caracteres */
body .et_pb_post_content > *, body .single .et_pb_post_content p { max-width: 68ch; margin-left: auto; margin-right: auto; }
body .et_pb_post_content p, body .et_pb_post_content li { font-size: 1.125rem !important; line-height: 1.7 !important; }
body .et_pb_post_content h2, body .et_pb_post_content h3 { margin-top: 1.6em; }
body .et_pb_blog_grid .entry-title, body .et_pb_post h2.entry-title { font-size: 1.375rem !important; line-height: 1.22 !important; }
body .et_pb_post .post-content, body .et_pb_post .post-content p { font-size: 1rem !important; line-height: 1.6 !important; }
body .et_pb_post .more-link, body a.more-link { display: inline-flex; align-items: center; min-height: 3rem; font-weight: 700; }

/* Testimonios y cifras */
body.home .et_pb_section_2 .et_parallax_bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,18,40,.78) 0%, rgba(10,18,40,.5) 45%, rgba(10,18,40,.08) 100%); }
body.home .et_pb_section_2 .et_pb_text_inner p { color: rgba(255,255,255,.94) !important; text-shadow: 0 1px 14px rgba(8,14,32,.6); }
body.home .et_pb_section_2 .et_pb_text_inner h2, body.home .et_pb_section_2 .et_pb_text_inner h3 { text-shadow: 0 2px 18px rgba(8,14,32,.6); }
body .et_pb_number_counter .percent p { font-family: var(--f-titulo) !important; font-variant-numeric: lining-nums tabular-nums; }
body .et_pb_number_counter h3, body .et_pb_number_counter h3.title { font-family: var(--f-cuerpo) !important; font-size: 1rem !important; font-weight: 600 !important; letter-spacing: .01em !important; line-height: 1.3 !important; color: var(--suave) !important; }
body .df_tc_content, body .df_tc_content p, body .df_tc_inner_wrapper p { font-family: var(--f-titulo) !important; font-style: italic; font-size: 1.1875rem !important; line-height: 1.55 !important; font-weight: 400 !important; }
body .df_tc_author_info h4, body .df_tc_author_info .author_name { font-family: var(--f-cuerpo) !important; font-size: 1rem !important; font-weight: 700 !important; letter-spacing: 0 !important; }
body .et_pb_number_counter .percent, body .et_pb_number_counter .percent-value, body .et_pb_counter_amount_number { font-family: var(--f-titulo) !important; font-variant-numeric: lining-nums tabular-nums; }

/* Pie de página */
body .et-l--footer .et_pb_text_inner, body .et-l--footer .et_pb_text_inner p, body .et-l--footer li, body .et-l--footer a { font-size: 1rem !important; line-height: 1.6 !important; }
body .et-l--footer a { text-underline-offset: .2em; }

/* Cabecera para celular y tablet: el tema la oculta por debajo de 981 px, sin logo, sin menú y sin llamada a la acción */
.kk-cab { display: none; }
@media (max-width: 980px) {
  .kk-cab { display: flex; position: sticky; top: 0; z-index: 99998; align-items: center; justify-content: space-between; gap: .75rem; min-height: var(--cab-alto); padding: .5rem 1rem; padding-left: max(1rem, env(safe-area-inset-left)); padding-right: max(1rem, env(safe-area-inset-right)); background: rgba(255,255,255,.96); -webkit-backdrop-filter: saturate(1.4) blur(8px); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid #e3e8f2; box-shadow: 0 2px 10px rgba(16,24,46,.06); }
  .kk-cab__marca { display: block; line-height: 0; }
  .kk-cab__marca img { display: block; height: 40px; width: auto; }
  .kk-cab__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem 1.1rem; border-radius: 999px; background: #f5c518; color: var(--tinta); font: 700 1rem/1 var(--f-cuerpo); text-decoration: none; white-space: nowrap; }
  .kk-cab__cta:active { transform: scale(.98); }
  .kk-cab__cta:focus-visible { outline-color: var(--marca); }
}

/* Celular */
@media (max-width: 767px) {
  body .et_pb_row { width: 100%; padding-left: 1rem; padding-right: 1rem; box-sizing: border-box; }
  body .et_pb_section { scroll-margin-top: calc(var(--cab-alto) + 8px); }
  body h1, body h1.df-heading { margin-bottom: .5em; }
  body .et_pb_text_inner p { margin-bottom: .9em; }
  body ul.products { column-gap: 1rem !important; row-gap: 1.75rem; }
  body ul.products li.product { margin-bottom: 0 !important; }
  body ul.products li.product .price { display: block; margin-top: .35rem; }
  body .et_pb_button, body .df_button_left, body .df_button_right { padding-left: 1.4rem !important; padding-right: 1.4rem !important; }
  body .kk-comprar { margin-top: 1rem; }
}
@media (max-width: 400px) {
  body ul.products li.product .woocommerce-loop-product__title { font-size: 1.0625rem !important; }
}

/* Notas del blog en celular: el tema dejaba solo 240 px de ancho para el texto (fila con 40 px de relleno
   y 20 px de margen a cada lado) y el título de 36 px ocupaba cinco renglones */
@media (max-width: 767px) {
  body.single-post [class*="et_pb_row_"][class*="_tb_body"] { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 1.25rem !important; padding-right: 1.25rem !important; box-sizing: border-box; }
  body.single-post h1 { font-size: clamp(1.75rem, 1.1rem + 2.9vw, 2.5rem) !important; line-height: 1.12 !important; }
  body.single-post .et_pb_post_content p, body.single-post .et_pb_post_content li { max-width: 100%; }
}

/* Ficha de producto: el SKU "N/D" y las categorías y etiquetas (que llevaban a archivos que ya no existen) sobran */
body .product_meta { display: none !important; }

/* Módulos DiviFlash (blurbs, testimonios, tarjetas del blog, botones): fijan su propia fuente con !important
   y selectores largos, así que acá se sube la especificidad para unificar las dos familias. */
html:root:root:root body .df_button_left, html:root:root:root body .df_button_right, html:root:root:root body .tc_job_title,
html:root:root:root body .badge_text_1, html:root:root:root body .df_ab_blurb_sub_title, html:root:root:root body .df-post-date-wrap,
html:root:root:root body .df-post-read-more, html:root:root:root body .df-post-read-more .btn-text,
html:root:root:root body .df_tc_author_info h4.author_name, html:root:root:root body .df_tc_author_info .author_name {
  font-family: var(--f-cuerpo) !important; }
html:root:root:root body .df_ab_blurb_title, html:root:root:root body .df-post-title, html:root:root:root body .df-post-title a,
html:root:root:root body .df-post-title h2, html:root:root:root body .df-post-title h3 {
  font-family: var(--f-titulo) !important; font-weight: 600 !important; letter-spacing: -.01em !important; text-wrap: balance; }
html:root:root:root body .df-post-title a { font-size: 1.375rem !important; line-height: 1.22 !important; }
html:root:root:root body .df_ab_blurb_sub_title { font-size: 1rem !important; font-weight: 500 !important; line-height: 1.45 !important; }
html:root:root:root body .tc_job_title { font-size: .9375rem !important; color: var(--suave) !important; }
html:root:root:root body .df-post-date-wrap { font-size: .9375rem !important; color: var(--suave); }
html:root:root:root body .badge_text_1 { font-size: .9375rem !important; font-weight: 700 !important; letter-spacing: .01em; }
html:root:root:root body .df-post-read-more { display: inline-flex !important; align-items: center; min-height: 3rem; font-weight: 700 !important; font-size: 1rem !important; }
html:root:root:root body .df_button_left, html:root:root:root body .df_button_right { font-size: 1rem !important; font-weight: 700 !important; }

/* Crédito del pie ("Diseñado por siwol.com.ar"): zona táctil de 44 px sin cambiar su aspecto */
body .et-l--footer a[href*="siwol.com.ar"] { display: inline-block; padding: .65rem .15rem; margin: -.65rem 0; }
html:root:root:root body .df_ab_blurb_description, html:root:root:root body .df_ab_blurb_description p, html:root:root:root body .df-item-wrap p,
html:root:root:root body b, html:root:root:root body strong, html:root:root:root body em, html:root:root:root body i:not([class*="fa"]):not([class*="icon"]) { font-family: var(--f-cuerpo) !important; }
html:root:root:root body .df-item-wrap p { font-size: 1rem !important; line-height: 1.6 !important; }
html:root:root:root body .df_tc_content em, html:root:root:root body .df_tc_content i { font-family: var(--f-titulo) !important; }

/* Tienda: el precio y su monto heredan el azul de marca; el widget lateral "Productos" repite la grilla y en celular se oculta */
body .price .amount, body .price bdi, body .price ins .amount, body .price ins bdi, body .woocommerce-Price-amount { color: inherit !important; font-family: var(--f-cuerpo) !important; }
html:root:root:root body .product_list_widget a, html:root:root:root body .product_list_widget .product-title, html:root:root:root body .product_list_widget bdi, html:root:root:root body span.onsale, html:root:root:root body .widget_products .woocommerce-Price-amount { font-family: var(--f-cuerpo) !important; }
body .product_list_widget .product-title { font-weight: 600; font-size: 1rem !important; line-height: 1.3 !important; color: var(--tinta); }
@media (max-width: 767px) { body .et_pb_sidebar_0_tb_body { display: none !important; } }
html:root:root:root:root body .woocommerce span.onsale, html:root:root:root:root body ul.products li.product span.onsale, html:root:root:root:root body span.onsale { font-family: var(--f-cuerpo) !important; font-size: .9375rem !important; font-weight: 700 !important; }
html:root:root:root body .price .amount, html:root:root:root body .price bdi, html:root:root:root body .price ins .amount, html:root:root:root body .price ins bdi { color: var(--marca) !important; }
html:root:root:root body .price del .amount, html:root:root:root body .price del bdi { color: var(--suave) !important; }

/* ===== Blog (2026-10-09, segunda vuelta) ===== */

/* Encabezado de cada nota: el tema monta la tarjeta del título y la fila de la fecha con márgenes negativos
   (-270 px y -100 px) pensados para un título corto en 36 px. Con la tipografía nueva el título ocupa más y la fecha
   quedaba encima de la última línea. Título más contenido y la fecha fluye debajo, sin superponerse. */
body.single-post h1, body.single-post h1.entry-title, body.single-post .et_pb_post_title h1 {
  font-size: clamp(1.75rem, 1.15rem + 2.2vw, 2.75rem) !important; line-height: 1.12 !important; letter-spacing: -.015em !important; }
body.single-post .et_pb_row_2_tb_body { margin-top: 0 !important; padding-top: .25rem; padding-bottom: .75rem; }
body.single-post .et_pb_row_1_tb_body { padding-bottom: .75rem; }
body.single-post .et_pb_post_title_1_tb_body { margin-bottom: .5rem !important; }
body.single-post .et_pb_blurb_1_tb_body { display: none !important; }   /* ícono de comentarios sin texto */
body.single-post .et_pb_blurb_0_tb_body { margin-bottom: 0 !important; }
body.single-post .et_pb_blurb_0_tb_body .et_pb_blurb_description, body.single-post .et_pb_blurb_0_tb_body .et_pb_module_header { font-size: .9375rem !important; color: var(--suave); }

/* Los íconos de DiviFlash (calendario, flecha) llevan su propia fuente: no se pisan */
html:root:root:root body .df-post-date-wrap .et-pb-icon, html:root:root:root body .df-post-read-more .et-pb-icon { font-family: ETmodules, FontAwesome !important; }

/* Listado del blog: título de página sobre azul de marca (el tema traía una foto de oficina) y llamada a WhatsApp al pie */
body.page-id-924 .et_pb_section_0 { background-image: linear-gradient(135deg, #1a2b52 0%, #0f1b38 100%) !important; background-color: #1a2b52 !important; padding: clamp(2.5rem, 6vw, 5rem) 0 !important; }
body.page-id-924 .et_pb_section_0 h1 { color: #fff !important; margin-bottom: .35em; }
body.page-id-924 .et_pb_section_0 .kk-blog-bajada { color: rgba(255,255,255,.88) !important; font-size: 1.125rem !important; margin: 0 !important; }
body.page-id-924 .et_pb_section_0 .et_pb_text_inner { text-align: left; }
.kk-cta-blog { background: linear-gradient(135deg, #1a2b52 0%, #0f1b38 100%); color: #fff; padding: clamp(2.25rem, 5vw, 4rem) 1.25rem; text-align: center; }
.kk-cta-blog__in { max-width: 40rem; margin: 0 auto; }
.kk-cta-blog h2 { font-family: var(--f-titulo) !important; color: #fff !important; font-size: clamp(1.625rem, 1.2rem + 1.8vw, 2.25rem) !important; line-height: 1.15 !important; margin: 0 0 .5rem !important; }
.kk-cta-blog p { color: rgba(255,255,255,.9); font-size: 1.0625rem; line-height: 1.55; margin: 0 0 1.25rem; }
.kk-cta-blog__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.6rem; border-radius: 999px; background: #f5c518; color: var(--tinta) !important; font: 700 1.0625rem/1.2 var(--f-cuerpo); text-decoration: none !important; }
.kk-cta-blog__btn:hover { background: #ffd43b; }

/* Tarjetas del listado: altura pareja y el botón siempre al pie */
body .df-post-inner-wrap { display: flex; flex-direction: column; height: 100%; }
body .df-post-inner-wrap .df-post-button-wrap { margin-top: auto; padding-top: .5rem; }
body .df-post-inner-wrap .df-post-title-wrap { margin-top: .35rem; }
body .df-post-inner-wrap .df-post-content-wrap { margin-top: .25rem; }
body.single-post .et_pb_row_2_tb_body .et_pb_column { margin-top: 0 !important; }
body.single-post .et_pb_row_2_tb_body { padding-top: .75rem; }
body.single-post .et_pb_row_3_tb_body { padding-top: .75rem; }
body.page-id-924 #page-container .et_pb_section.et_pb_section_0 { background-image: linear-gradient(135deg, #1a2b52 0%, #0f1b38 100%) !important; background-color: #1a2b52 !important; }
body .df-posts-wrap.layout-grid { align-items: stretch !important; }
body .df-posts-wrap.layout-grid .df-post-item { display: flex !important; flex-direction: column; align-self: stretch; }
body .df-posts-wrap.layout-grid .df-post-outer-wrap { display: flex !important; flex: 1 1 auto; flex-direction: column; }
body .df-posts-wrap.layout-grid .df-post-inner-wrap { flex: 1 1 auto; height: auto; }
html:root:root:root body .df-posts-wrap.layout-grid .df-post-item { align-self: stretch !important; height: auto !important; min-height: 0 !important; }
