/* Base de Bridge para el contenido (fase 4 de la migración).
   Bridge pone a cero márgenes y rellenos de todo (stylesheet.min.css: «a, …, p, ul {margin:0; padding:0}»)
   y el CSS propio de duapara (estilos-duapara.css) está escrito sobre esa base. Aquí, con la especificidad
   de una sola clase y antes de estilos-duapara.css, para que cualquier regla propia siga mandando.
   (Las separaciones de Kadence dependen de la clase single-content, que el mu-plugin quita.)
   Sobre .entry-content-wrap y no .entry-content: el contenido de la portada trae un </div> de más y sus
   últimas secciones quedan fuera de .entry-content (en Bridge daba igual, la base era para todo).
   Solo en páginas (:where(.page), sin sumar especificidad): los artículos tienen en Bridge su propio estilo de blog
   y se igualan en la fase 5; hasta entonces conservan las separaciones de Kadence. */

:where(.page) .entry-content-wrap :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li, figure, hr, table, pre, form, address, dl, dd, blockquote) { margin: 0; padding: 0; }
:where(.page) .entry-content-wrap :where(ul) { list-style-position: inside; }
:where(.page) .entry-content-wrap :where(ul ul, ol ol) { padding: 0 0 0 15px; } /* Bridge: .content ul ul */
:where(.page) .entry-content-wrap { box-sizing: content-box; } /* Bridge no usa border-box: los anchos del CSS propio no incluyen el relleno */
:where(.page) .entry-content-wrap :where(img) { display: inline; } /* Kadence: img {display:block} */
:where(.page) .entry-content { word-break: normal; } /* Kadence parte las palabras largas (break-word); Bridge no, y las columnas se ensanchan con ellas */

/* Alineación de imágenes de WordPress en Bridge (stylesheet.min.css). Kadence no deja margen abajo ni a los lados
   igual y además limpia los flotantes en las centradas. */
:where(.page) .alignleft { float: left; margin: 0 20px 20px 0; }
:where(.page) .alignright { float: right; margin: 0 0 20px 20px; }
:where(.page) .aligncenter { display: block; clear: none; margin: 10px auto; }

/* CSS personalizado de las opciones de Bridge (themes/bridge/css/custom_css.css), FreightDispMedium → Cormorant Garamond.
   («margin:0!mportant» del original es inválido y no se aplicaba: se omite.) */
:where(.page) .entry-content-wrap :where(h1) { padding: 0 0 15px 0; }
.simplePullQuote { font-family: 'Cormorant Garamond'!important; background-color: none!important; border: none!important; box-shadow: none!important; float: left!important; padding: 15px!important; }
.simplePullQuote p { font-family: 'Cormorant Garamond'!important; font-size: 25px; }

/* Ancho del contenido según los puntos de corte de Bridge (responsive.min.css, .container_inner).
   Por encima de 1200 px manda el ancho de Kadence (1100 útiles); la portada, a ancho completo, no cambia. */
@media only screen and (max-width: 1200px) { .content-container.site-container, .hero-container.site-container { max-width: 950px; padding-left: 0; padding-right: 0; } }
@media only screen and (max-width: 1000px) { .content-container.site-container, .hero-container.site-container { max-width: 768px; } }
@media only screen and (max-width: 768px)  { .content-container.site-container, .hero-container.site-container { max-width: 600px; } }
@media only screen and (max-width: 600px)  { .content-container.site-container, .hero-container.site-container { max-width: 420px; } }
@media only screen and (max-width: 480px)  { .content-container.site-container, .hero-container.site-container { max-width: 300px; } }
@media only screen and (max-width: 350px)  { .content-container.site-container, .hero-container.site-container { max-width: 95%; } }

/* Contact Form 7 en Bridge (stylesheet.min.css y después style_dynamic.css, en ese orden).
   Algunas tienen más especificidad que estilos-duapara.css (p. ej. el margen de 20 px de los párrafos del formulario). */
.wpcf7 form.wpcf7-form p { margin-bottom: 20px; }
input.wpcf7-form-control.wpcf7-date, input.wpcf7-form-control.wpcf7-number, input.wpcf7-form-control.wpcf7-text, select.wpcf7-form-control.wpcf7-select, textarea.wpcf7-form-control.wpcf7-textarea { width: 100%; }
input.wpcf7-form-control.wpcf7-date, input.wpcf7-form-control.wpcf7-number, input.wpcf7-form-control.wpcf7-quiz, input.wpcf7-form-control.wpcf7-text, select.wpcf7-form-control.wpcf7-select, textarea.wpcf7-form-control.wpcf7-textarea { display: block; margin: 5px 0 0; padding: 15px; border: 0; border-radius: 0; outline: 0; resize: none; font-size: 13px; line-height: 17px; background-color: #fff; color: #818181; font-family: Raleway; font-weight: 400; box-sizing: border-box; -webkit-appearance: none; }
input.wpcf7-form-control.wpcf7-quiz { margin-left: 15px; }
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox input[type=checkbox], span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-radio input[type=radio] { position: relative; top: 2px; }
span.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox input[type=checkbox] { margin-left: 5px; }
input.wpcf7-form-control.wpcf7-submit { position: relative; display: inline-block; width: auto; height: 39px; line-height: 36px; margin: 0; padding: 0 23px; font-size: 13px; font-weight: 700; font-family: Raleway, sans-serif; text-align: left; text-decoration: none; cursor: pointer; white-space: nowrap; outline: 0; font-style: normal; text-transform: uppercase; letter-spacing: 1px; border-radius: 4px; text-shadow: none; background-color: transparent; transition: all .1s linear; box-sizing: initial; }
input.wpcf7-form-control.wpcf7-submit[disabled] { color: #818181; border: 2px solid #818181; cursor: not-allowed; }
input.wpcf7-form-control.wpcf7-submit:not([disabled]) { border: 2px solid #303030; color: #303030; }
input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover { background-color: #1abc9c; border-color: #1abc9c; color: #fff; text-decoration: none; }
input.wpcf7-form-control.wpcf7-range { width: 100%; }
div.wpcf7-response-output { position: relative; padding: 17px 30px 17px 55px; color: #fff; margin-left: 0; margin-right: 0; font-weight: 500; font-size: 15px; text-transform: uppercase; letter-spacing: 1px; border: none; }
div.wpcf7-response-output:before { font-family: FontAwesome, sans-serif; width: 20px; height: 20px; display: inline-block; color: #fff; position: absolute; left: 25px; }
div.wpcf7-response-output.wpcf7-mail-sent-ok { background-color: #1abc9c; }
div.wpcf7-response-output.wpcf7-mail-sent-ok:before { content: "\f087"; }
div.wpcf7-response-output.wpcf7-validation-errors { background-color: #f1c40f; }
div.wpcf7-response-output.wpcf7-validation-errors:before { content: "\f12a"; }
input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover { border-color: #f4c80f; background-color: #f4c80f; }
input.wpcf7-form-control.wpcf7-submit:not([disabled]) { color: #dab102; border-color: #dab102; }
input.wpcf7-form-control.wpcf7-submit, input.wpcf7-form-control.wpcf7-submit:not([disabled]) { color: #000000; border-color: #000000; font-size: 15px; line-height: 35px; height: 35px; font-style: normal; font-weight: 500; border-radius: 3px; letter-spacing: 3px; text-transform: none; border-width: 2px; }
input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover { color: #ffffff; background-color: #f4c80f; }
/* CF7 6.x marca el estado en el form (sent, invalid…), no en el aviso: los colores de Bridge de arriba ya no casaban
   y el aviso salía blanco sobre blanco (también en pre). Verde si se envió; el amarillo de error de Bridge en el resto. */
.wpcf7 form .wpcf7-response-output { background-color: #f1c40f; }
.wpcf7 form .wpcf7-response-output:before { content: "\f12a"; }
.wpcf7 form.sent .wpcf7-response-output { background-color: #1abc9c; }
.wpcf7 form.sent .wpcf7-response-output:before { content: "\f087"; }

/* ===== Blog (fase 5): artículos, categorías, búsqueda y 404 con el marcado de Bridge (mu-plugin, sección 9). ===== */
:where(.single-post, .archive, .search, .error404) .site-main :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li, table, pre, form, address, dl, dd) { margin: 0; padding: 0; }
/* Imágenes del artículo: como en el núcleo de WordPress (margen abajo de 1em); Kadence (content.min.css, que se
   carga después) pone 0,5em arriba y quita el de abajo. */
.single-post .post_text_inner :where(figure) { margin: 0 0 1em; } /* sin sumar el elemento: las reglas propias (p. ej. .single .wp-block-embed-tiktok) mandan */
:where(.single-post, .archive, .search, .error404) .site-main :where(ul) { list-style-position: inside; }
:where(.single-post, .archive, .search, .error404) .site-main :where(ul ul, ol ol) { padding: 0 0 0 15px; }
:where(.single-post, .archive, .search, .error404) .site-main { box-sizing: content-box; }
:where(.single-post, .archive, .search, .error404) .site-main :where(img) { display: inline; }
:where(.single-post) .post_text_inner { word-break: normal; }
:where(.single-post) .alignleft { float: left; margin: 0 20px 20px 0; }
:where(.single-post) .alignright { float: right; margin: 0 0 20px 20px; }
:where(.single-post) .aligncenter { display: block; clear: none; margin: 10px auto; text-align: inherit; } /* Kadence centra el contenido; Bridge no */
#archive-container { display: block; list-style: none; }
/* /blog/ (plantilla propia del mu-plugin, sección 1): misma base entre cabecera y pie, con el peso de una clase
   (el id con :where, para que manden las reglas de la plantilla en estilos-duapara.css). */
.blog :where(#inner-wrap) :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li, table, pre, form, address, dl, dd, blockquote) { margin: 0; padding: 0; }
:where(.blog) #inner-wrap { box-sizing: content-box; }
.blog :where(#inner-wrap) :where(h1) { padding: 0 0 15px 0; } /* custom_css.css de Bridge */

/* stylesheet.min.css de Bridge */
.blog_holder article { display: inline-block; width: 100%; margin: 0 0 60px; }
.blog_holder.blog_single article { margin: 0; }
.single-post .blog_single p { margin-bottom: 22px; }
.single-post .blog_single p:last-child { margin-bottom: 0; }
.blog_single.blog_holder article .post_text .post_text_inner { padding-left: 0; padding-right: 0; padding-bottom: 0; background-color: transparent; }
.blog_holder article .post_content_holder { width: 100%; }
.blog_holder article .post_image, .blog_holder article .post_image img, .blog_holder article .post_image > a { position: relative; width: 100%; display: block; }
.blog_holder article .post_image img { height: auto; }
.blog_holder article .post_text .post_text_inner { padding: 23px 23px 35px; background-color: #fff; }
.blog_holder article .post_info a, .blog_holder article .post_text h2 .date { color: #bebebe; }
.blog_holder article .post_info { display: inline-block; width: 100%; margin: 0 0 18px; color: #bebebe; font-weight: 500; }
.blog_holder article .post_info a:hover { color: #1abc9c; }
.blog_holder article .post_info .dots { padding: 0 7px 0 4px; }
.blog_holder article .post_info .dots i { font-size: 3px; vertical-align: middle; }
.blog_holder article .post_more { margin: 30px 0 0; }
.blog_holder.blog_single article h2 { display: block; }
.page_not_found { text-align: center; margin: 0 0 83px; }
.page_not_found h2 { margin: 40px 0 20px; font-size: 32px; }
.page_not_found p { margin: 15px 0 35px; }
.separator { position: relative; display: block; height: 1px; background-color: #eaeaea; margin: 10px 0; }
.separator.transparent { background-color: transparent; }
.page_not_found .separator { margin-bottom: 30px; } /* medido en pre (no está en las hojas de Bridge que se copiaron) */
.error404 .content-area { margin-top: 0; margin-bottom: 0; } /* Kadence deja 5rem encima y debajo; en las páginas lo quita page_vertical_padding */
.error404 .page_not_found { margin-bottom: 27px; } /* pre: Bridge da al contenido una altura mínima que deja el pie 27 px bajo el botón */

/* Paginación de Bridge (.pagination ul li a/span) sobre el marcado de Kadence (nav.pagination .page-numbers). */
.archive .pagination, .search .pagination { display: block; width: 100%; text-align: center; margin: 0 0 50px; }
.archive .pagination .nav-links, .search .pagination .nav-links { display: inline-block; }
.archive .pagination .page-numbers, .search .pagination .page-numbers { position: relative; float: left; display: inline-block; width: 38px; min-width: 0; height: 38px; line-height: 38px; margin: 0 11px 0 0; padding: 0; text-align: center; color: #b4b4b4; font-size: 18px; text-decoration: none; text-transform: uppercase; white-space: nowrap; border: 2px solid #e5e5e5; border-radius: 4px; box-sizing: content-box; transition: all .3s ease-in-out; }
.archive .pagination a.page-numbers:hover, .archive .pagination .page-numbers.current, .search .pagination a.page-numbers:hover, .search .pagination .page-numbers.current { color: #303030; background-color: #e3e3e3; border-color: #e3e3e3; }

/* Final del artículo de Bridge: etiquetas, imprimir/likes y ficha del autor (stylesheet.min.css). */
.single_tags { margin: 26px 0 0; }
.single_tags a { letter-spacing: 1px; }
.single_tags h5 { display: inline-block; }
.icon_social_holder { width: 100%; display: inline-block; text-align: center; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; margin-bottom: 35px; margin-top: 35px; padding: 35px 0; }
.icon_social_holder > div { display: inline-block; margin: 0 25px; font-size: 12px; font-weight: 400; }
.icon_social_holder .qode_like { display: inline-block; margin: 0; }
.icon_social_holder .qode_icon_printer { display: block; font-size: 27px; margin-bottom: 10px; height: 31px; } /* alto del icono Linea de Bridge, medido en pre */
.icon_social_holder .qode-like { display: inline-block; }
.icon_social_holder .qode-like:before { content: "\f08a"; font-family: FontAwesome; display: block; font-size: 27px; line-height: 32px; height: 32px; margin-bottom: 10px; }
.author_description { display: block; position: relative; margin: 34px 0 0; background-color: #fff; padding: 23px; }
.author_description_inner { display: block; }
.author_description_inner .image { display: block; width: 75px; height: 75px; float: left; border-radius: 75px; overflow: hidden; }
.author_text_holder { padding: 0 0 0 100px; min-height: 100px; position: relative; }
.author_text_holder .author_name { display: block; margin: 0 0 4px; }
.blog_like { display: inline-block; }
.blog_like .qode-like { display: block; line-height: 14px; }
.blog_like .qode-like span { padding: 0 0 0 4px; }
@media only screen and (max-width: 480px) { /* responsive.min.css de Bridge */
  .single_tags { margin: 35px 0 0; }
  .author_description_inner .image { float: none; }
  .author_text_holder { padding: 10px 0 0; }
}
