/* Plantillas con la banda de marca (0.7.0): noticias, archivos, búsqueda, páginas, contacto,
 * recursos, catálogo y tienda. Mismos colores y medidas que la banda del directorio y la portada.
 * Solo se carga fuera de la portada y del directorio. Presencia en internet. */

body.da-brand {
    --wp-navy: #01444c;
    --wp-ink: #084850;
    --wp-blue: #1693a5;
    --wp-cyan: #26d0cc;
    --wp-muted: #4d6468;
    --wp-line: #dfeced;
    --wp-soft: #f2fafa;
    --wp-tint-1: #d0e0e2;
    --wp-tint-3: #b2cbcf;
    --wp-rule: linear-gradient(90deg, #27dbd7, #15acb9 34%, #67c2a4 62%, #168f92);
    --wp-button: linear-gradient(135deg, #189aae, #10828e);
    --wp-shadow: 0 2px 10px rgb(8 44 80 / 6%);
    /* Las tarjetas y la paginación de Actualidad (editorial-brand.css) leen estas variables, que allí
       solo existen dentro de su propio contenedor: aquí valen para noticias, archivos y búsqueda. */
    --dab-e-navy: var(--da-navy, #08505b);
    --dab-e-deep: var(--da-navy-deep, #043942);
    --dab-e-blue: var(--da-blue, #16b3c9);
    --dab-e-cyan: var(--da-cyan, #14b0a8);
    --dab-e-text: var(--da-text, #1e4c53);
    --dab-e-muted: var(--da-muted, #4d6468);
    --dab-e-line: var(--da-line, #e0ecee);
    --dab-e-bg: var(--da-bg, #f5f9fa);
}

/* ---------- Banda de marca ---------- */
.da-brand .dab-band {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 34px 24px 58px;
    background: var(--wp-navy);
    color: #fff;
}
.da-brand .dab-band--bleed { margin: 0 calc(50% - 50vw); padding-inline: max(24px, calc(50vw - 50%)); }
.da-brand .dab-band::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(880px 500px at 82% 0%, rgb(50 196 240 / 22%) 0%, rgb(8 134 242 / 8%) 46%, rgb(1 39 76 / 0%) 74%);
    pointer-events: none;
}
.da-brand .dab-band::after { content: ""; position: absolute; inset: auto 0 0 0; height: 6px; background: var(--wp-rule); }
.da-brand .dab-band-inner { max-width: 1260px; margin: 0 auto; }
.da-brand .dab-band--bleed .dab-band-inner { max-width: none; }
.da-brand .dab-band .dab-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0 0 28px;
    color: var(--wp-tint-3);
    font-size: 13px;
    line-height: 1.45;
}
.da-brand .dab-band .dab-crumbs a { display: inline-block; padding: 4px 0; color: var(--wp-tint-3); text-decoration: none; }
.da-brand .dab-band .dab-crumbs a:hover { color: #fff; text-decoration: underline; }
.da-brand .dab-band .dab-crumbs [aria-current] { max-width: 42ch; overflow: hidden; color: #fff; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.da-brand .dab-crumbs-sep { color: rgb(255 255 255 / 60%); }
/* Migas sobre fondo claro: panel, páginas del portal sin banda y vistas de reserva (carrito, cuenta…). */
.da-brand .dab-crumbs-bar { max-width: 1260px; margin: 0 auto; padding: 20px 24px 0; }
.da-brand .dab-crumbs--light { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; color: var(--wp-muted); font-size: 13px; line-height: 1.45; }
.da-brand .dab-crumbs--light a { display: inline-block; padding: 4px 0; color: var(--wp-blue); text-decoration: none; }
.da-brand .dab-crumbs--light a:hover { color: var(--wp-ink); text-decoration: underline; }
.da-brand .dab-crumbs--light [aria-current] { max-width: 42ch; overflow: hidden; color: var(--wp-ink); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.da-brand .dab-crumbs--light .dab-crumbs-sep { color: var(--wp-muted); }
.da-brand .dab-band .dab-band-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 22px;
    padding: 8px 16px 8px 11px;
    border: 1px solid rgb(50 196 240 / 32%);
    border-radius: 30px;
    background: rgb(50 196 240 / 10%);
    color: var(--wp-cyan);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.4;
    text-transform: uppercase;
}
.da-brand .dab-band .dab-band-eyebrow::before { content: ""; width: 24px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, #27dbd7, #67c2a4); }
.da-brand .dab-band .dab-band-title {
    max-width: 1000px;
    margin: 0 0 20px;
    padding: 0;
    color: #fff;
    font-size: clamp(34px, 4.4vw, 60px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.04em;
    overflow-wrap: break-word;
}
.da-brand .dab-band--article .dab-band-title { max-width: 900px; font-size: clamp(30px, 3.6vw, 50px); line-height: 1.1; }
.da-brand .dab-band-accent { color: var(--wp-cyan); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .da-brand .dab-band-accent { background: linear-gradient(98deg, #27dbd7, #15acb9 48%, #67c2a4); -webkit-background-clip: text; background-clip: text; color: transparent; }
}
@media (forced-colors: active) { .da-brand .dab-band-accent { background: none; color: inherit; } }
.da-brand .dab-band .dab-band-lead { max-width: 680px; margin: 0; padding: 0; color: var(--wp-tint-1); font-size: 18px; line-height: 1.6; }
.da-brand .dab-band-text { max-width: 760px; margin: 14px 0 0; color: #c3d8db; font-size: 16px; line-height: 1.7; }
.da-brand .dab-band-text p { margin: 0 0 10px; padding: 0; color: inherit; }
.da-brand .dab-band-text p:last-child { margin-bottom: 0; }
.da-brand .dab-band-text a, .da-brand .dab-band .dab-band-lead a { color: var(--wp-cyan); text-decoration: underline; }
.da-brand .dab-band-after { margin-top: 22px; }
.da-brand .dab-band .dab-band-count { margin: 0; padding: 0; color: var(--wp-tint-3); font-size: 14px; }
.da-brand .dab-band, .da-brand .dab-aside-cta { --da-focus: #26d0cc; }
.da-brand .dab-band a:focus-visible, .da-brand .dab-band button:focus-visible, .da-brand .dab-band input:focus-visible { outline-color: var(--wp-cyan) !important; }

/* Fecha y lectura de las noticias */
.da-brand .dab-band .dab-article-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 0; padding: 0; color: var(--wp-tint-1); font-size: 15px; }

/* Buscador dentro de la banda */
.da-brand .dab-band-search { max-width: 720px; }
.da-brand .dab-band-search label { display: block; margin: 0 0 8px; color: var(--wp-tint-1); font-size: 13px; font-weight: 600; }
.da-brand .dab-band-search-row { display: flex; gap: 8px; }
.da-brand .dab-band-search input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 52px;
    padding: 12px 16px;
    border: 0 !important;
    border-radius: 12px;
    background: #fff;
    color: var(--wp-ink);
    font-size: 16px;
}
.da-brand .dab-band-search button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 22px;
    border: 0;
    border-radius: 12px;
    background: var(--wp-button);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.da-brand .dab-band-search button:is(:hover, :focus-visible) { background: #147f90; }
.da-brand .dab-band-search .dab-icon { width: 18px; height: 18px; }

/* ---------- Páginas (texto, servicios, contacto, recursos) ---------- */
.da-brand .dab-band-page, .da-brand .dab-article-page, .da-brand .dab-archive-page, .da-brand .dab-search-page, .da-brand .dab-shop-main { display: block; background: #f5f9fa; }
.da-brand .dab-band-content { max-width: 1308px; margin: 0 auto; padding: 48px 24px 80px; }
.da-brand .dab-page-card {
    max-width: 880px;
    margin: 0 auto;
    padding: 44px 52px;
    border: 1px solid var(--wp-line);
    border-radius: 20px;
    background: #fff;
    color: #28585f;
    font-size: 16px;
    line-height: 1.8;
}
.da-brand .dab-page-card .et_pb_section { padding: 0 !important; background: transparent !important; }
.da-brand .dab-page-card .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; }
.da-brand .dab-page-card .et_pb_module { margin-bottom: 0; }
.da-brand .dab-page-card .et_pb_column { margin-bottom: 0 !important; }
.da-brand .dab-page-card h2 { margin: 28px 0 12px; padding: 0; font-size: 24px; }
.da-brand .dab-page-card h3 { margin: 22px 0 10px; padding: 0; font-size: 19px; }
.da-brand .dab-page-card :is(h2, h3):first-child { margin-top: 0; }
.da-brand .dab-page-card p { padding-bottom: 1em; }
.da-brand .dab-page-card :is(ul, ol) { margin: 0 0 1.2em; padding-left: 1.4em; list-style: disc; }
.da-brand .dab-page-card ol { list-style: decimal; }
.da-brand .dab-page-card--legal { font-size: 15.5px; }

/* ---------- Noticia ---------- */
.da-brand .dab-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 40px;
    max-width: 1308px;
    margin: 0 auto;
    padding: 44px 24px 56px;
    align-items: start;
}
.da-brand .dab-article { min-width: 0; padding: 40px 48px; border: 1px solid var(--wp-line); border-radius: 20px; background: #fff; }
.da-brand .dab-article-figure { margin: -8px -16px 30px; }
.da-brand .dab-article-photo { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: 14px; }
.da-brand .dab-article-body { max-width: 740px; color: #28585f; font-size: 17px; line-height: 1.78; overflow-wrap: break-word; }
.da-brand .dab-article-body p { padding-bottom: 1.1em; }
.da-brand .dab-article-body :is(h2, h3, h4) { margin: 1.5em 0 .55em; padding: 0; color: var(--wp-ink); line-height: 1.25; letter-spacing: -.02em; }
.da-brand .dab-article-body h2 { font-size: 26px; }
.da-brand .dab-article-body h3 { font-size: 21px; }
.da-brand .dab-article-body h4 { font-size: 18px; }
.da-brand .dab-article-body > :first-child { margin-top: 0; }
.da-brand .dab-article-body :is(ul, ol) { margin: 0 0 1.2em; padding-left: 1.4em; list-style: disc; }
.da-brand .dab-article-body ol { list-style: decimal; }
.da-brand .dab-article-body li { margin-bottom: .35em; }
.da-brand .dab-article-body a { color: var(--wp-blue); text-decoration: underline; text-underline-offset: 3px; }
.da-brand .dab-article-body img { height: auto; border-radius: 12px; }
.da-brand .dab-article-body :is(figure, .wp-caption) { max-width: 100%; margin: 1.4em 0; }
.da-brand .dab-article-body :is(figcaption, .wp-caption-text) { margin-top: 8px; color: var(--wp-muted); font-size: 14px; }
.da-brand .dab-article-body blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--wp-cyan); color: var(--wp-ink); font-size: 18px; }
.da-brand .dab-article-body table { display: block; max-width: 100%; margin: 1.4em 0; overflow-x: auto; border-collapse: collapse; font-size: 15px; }
.da-brand .dab-article-body :is(td, th) { padding: 8px 12px; border: 1px solid var(--wp-line); }
.da-brand .dab-article-body iframe { max-width: 100%; border: 0; border-radius: 12px; }
.da-brand .dab-article-body .alignleft { float: left; margin: 6px 24px 16px 0; }
.da-brand .dab-article-body .alignright { float: right; margin: 6px 0 16px 24px; }
.da-brand .dab-article-body .aligncenter { display: block; margin-inline: auto; }
.da-brand .dab-article-body::after { content: ""; display: table; clear: both; }
.da-brand .dab-article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 22px 0 0; border-top: 1px solid var(--wp-line); list-style: none; }
.da-brand .dab-article-tags a { display: inline-block; padding: 6px 12px; border-radius: 30px; background: var(--wp-soft); color: var(--wp-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.da-brand .dab-article-tags a:hover { background: #e6f5f7; }

.da-brand .dab-article-aside { position: sticky; top: 24px; display: grid; gap: 18px; }
.da-brand .dab-aside-card { padding: 24px; border: 1px solid var(--wp-line); border-radius: 18px; background: #fff; }
.da-brand .dab-aside-card .dab-aside-title { margin: 0 0 14px; padding: 0; color: var(--wp-ink); font-size: 19px; line-height: 1.25; letter-spacing: -.02em; }
.da-brand .dab-aside-list { margin: 0 0 16px; padding: 0; list-style: none; }
.da-brand .dab-aside-list li { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid var(--wp-line); }
.da-brand .dab-aside-list li:first-child { padding-top: 0; border-top: 0; }
.da-brand .dab-aside-list li[hidden] { display: none; } /* 0.9.2: el display: grid anulaba el atributo hidden */
.da-brand .dab-aside-list a { color: var(--wp-ink); font-size: 14.5px; font-weight: 600; line-height: 1.4; text-decoration: none; }
.da-brand .dab-aside-list a:hover { color: var(--wp-blue); text-decoration: underline; }
.da-brand .dab-aside-list time, .da-brand .dab-aside-list li > span { color: var(--wp-muted); font-size: 12.5px; }
.da-brand .dab-aside-more, .da-brand .dab-aside-link { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; color: var(--wp-blue); font-size: 14px; font-weight: 700; }
.da-brand .dab-aside-more .dab-icon, .da-brand .dab-aside-button .dab-icon { width: 17px; height: 17px; }
.da-brand .dab-aside-cta { border: 0; background: var(--wp-navy); color: var(--wp-tint-1); }
.da-brand .dab-aside-cta .dab-aside-title { color: #fff; }
.da-brand .dab-aside-cta p { margin: 0 0 18px; padding: 0; font-size: 14.5px; line-height: 1.6; }
.da-brand .dab-aside-eyebrow { margin: 0 0 10px !important; color: var(--wp-cyan); font-size: 11px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.da-brand .dab-aside-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-bottom: 14px;
    border-radius: 10px;
    background: var(--wp-button);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.da-brand .dab-aside-button:is(:hover, :focus-visible) { background: #147f90; color: #fff; }
.da-brand .dab-aside-cta .dab-aside-link { color: #fff; text-decoration: underline; }
.da-brand .dab-aside-cta :focus-visible { outline-color: var(--wp-cyan) !important; }
.da-brand .dab-article-more { max-width: 1308px; margin: 0 auto; padding: 0 24px 80px; }

/* Comentarios */
.da-brand .dab-comments { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--wp-line); }
.da-brand .dab-comments .dab-comments-title { margin: 0 0 18px; padding: 0; font-size: 22px; }
.da-brand .dab-comment-list { margin: 0 0 24px; padding: 0; list-style: none; }
.da-brand .dab-comment-list .comment { padding: 16px 0; border-bottom: 1px solid var(--wp-line); }
.da-brand .dab-comment-list .children { margin-left: 24px; list-style: none; }
.da-brand .dab-comment-list .avatar { float: left; margin-right: 12px; border-radius: 50%; }
.da-brand .dab-comment-form .comment-reply-title { margin: 0 0 10px; padding: 0; font-size: 18px; }
.da-brand .dab-comment-form p { padding-bottom: 14px; }
.da-brand .dab-comment-form label { display: block; margin-bottom: 6px; color: var(--wp-ink); font-size: 14px; font-weight: 600; }
.da-brand .dab-comment-form .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.da-brand .dab-comment-form input[type=checkbox] { width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; accent-color: var(--wp-blue); }
.da-brand .dab-comment-form :is(input[type=text], input[type=email], input[type=url], textarea) { width: 100%; padding: 12px 14px; border: 1px solid #658085; border-radius: 10px; background: #fff; font-size: 16px; }
.da-brand .dab-comment-form .comment-notes { color: var(--wp-muted); font-size: 14px; }
.da-brand .dab-comment-form input[type=submit] { min-height: 48px; padding: 0 24px; border: 0; border-radius: 10px; background: var(--wp-button); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
.da-brand .dab-comment-form input[type=submit]:is(:hover, :focus-visible) { background: #147f90; }

/* ---------- Archivos, búsqueda y accesos rápidos ---------- */
.da-brand .dab-archive-body, .da-brand .dab-search-body { max-width: 1308px; margin: 0 auto; padding: 36px 24px 80px; }
.da-brand .dab-chips ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
.da-brand .dab-chips a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid var(--wp-line);
    border-radius: 30px;
    background: #fff;
    color: var(--wp-ink);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.da-brand .dab-chips a:hover { border-color: var(--wp-blue); color: var(--wp-blue); }
.da-brand .dab-chips a[aria-current] { border-color: var(--wp-navy); background: var(--wp-navy); color: #fff; }
.da-brand .dab-chip-count { padding: 1px 8px; border-radius: 20px; background: var(--wp-soft); color: var(--wp-muted); font-size: 12px; font-weight: 700; }
.da-brand .dab-chips a[aria-current] .dab-chip-count { background: rgb(255 255 255 / 16%); color: #fff; }
.da-brand .dab-archive-grid { margin-bottom: 36px; }
.da-brand .dab-pagination { margin-top: 12px; }

.da-brand .dab-results { display: grid; gap: 14px; margin: 0 0 32px; padding: 0; list-style: none; }
.da-brand .dab-result { display: flex; gap: 20px; padding: 22px 24px; border: 1px solid var(--wp-line); border-radius: 16px; background: #fff; }
.da-brand .dab-result-media { flex: 0 0 96px; }
.da-brand .dab-result-media img { display: block; width: 96px; height: 96px; border-radius: 10px; object-fit: cover; }
.da-brand .dab-result-copy { min-width: 0; }
.da-brand .dab-result-type { margin: 0 0 6px; padding: 0; color: var(--wp-blue); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.da-brand .dab-result h2 { margin: 0 0 6px; padding: 0; font-size: 20px; line-height: 1.3; letter-spacing: -.02em; }
.da-brand .dab-result h2 a { color: var(--wp-ink); text-decoration: none; }
.da-brand .dab-result h2 a:hover { color: var(--wp-blue); text-decoration: underline; }
.da-brand .dab-result p:not(.dab-result-type) { margin: 0; padding: 0; color: var(--wp-muted); font-size: 15px; line-height: 1.6; }
.da-brand .dab-empty-links { margin: 12px 0 0; padding-left: 1.2em; list-style: disc; }
.da-brand .dab-empty-links a { color: var(--wp-blue); text-decoration: underline; }

/* ---------- Actualidad y catálogo: banda en su página ---------- */
.da-brand .dab-editorial-news > .dab-band { margin-bottom: 0; }
.da-brand .dab-band--catalog { margin-bottom: 40px; }
.da-brand .da-brand-catalog-content > .dab-band--catalog:first-child { margin-top: -48px; }

/* ---------- Tienda (categorías, etiquetas y fichas de producto) ---------- */
.da-brand .dab-shop-body { max-width: 1308px; margin: 0 auto; padding: 40px 24px 80px; }
.da-brand .dab-shop-body .woocommerce-result-count { margin: 0 0 18px; color: var(--wp-muted); font-size: 14px; }
.da-brand .dab-shop-body .woocommerce-ordering select { min-height: 44px; padding: 8px 12px; border: 1px solid #658085; border-radius: 10px; background: #fff; }
.da-brand .dab-shop-body ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; margin: 0 0 32px; padding: 0; clear: both; }
.da-brand .dab-shop-body ul.products::before, .da-brand .dab-shop-body ul.products::after { display: none; }
.da-brand .dab-shop-body ul.products li.product {
    float: none;
    width: auto !important;
    margin: 0 !important;
    padding: 18px;
    border: 1px solid var(--wp-line);
    border-radius: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
}
.da-brand .dab-shop-body ul.products li.product a img { aspect-ratio: 1; object-fit: contain; margin-bottom: 14px; border-radius: 10px; background: #fff; }
.da-brand .dab-shop-body ul.products li.product .woocommerce-loop-product__title,
.da-brand .dab-shop-body ul.products li.product .woocommerce-loop-category__title { padding: 0 0 12px; color: var(--wp-ink); font-size: 15.5px; font-weight: 700; line-height: 1.35; }
/* Botón de cada producto: el mismo que en el catálogo (Divi y WooCommerce ponen el suyo con !important) */
.da-brand .dab-shop-body ul.products li.product .button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin: auto 0 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--wp-button) !important;
    color: #fff !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center;
    white-space: normal;
}
.da-brand .dab-shop-body ul.products li.product .button:is(:hover, :focus-visible) { background: #147f90 !important; }
.da-brand .dab-shop-body ul.products li.product .button::after { display: none !important; }
.da-brand .dab-shop-body ul.products li.product .woocommerce-loop-product__title,
.da-brand .dab-shop-body ul.products li.product .woocommerce-loop-category__title { font-size: 15.5px !important; }
.da-brand .dab-shop-body ul.products li.product-category mark.count { background: none; color: var(--wp-muted); font-weight: 600; }
.da-brand .dab-shop-body .woocommerce-pagination ul { border: 0; }
.da-brand .dab-shop-body .woocommerce-pagination ul li { border: 0; }
.da-brand .dab-shop-body .woocommerce-pagination ul li :is(a, span) { min-width: 40px; padding: 10px; border-radius: 10px; }
.da-brand .dab-shop-body .woocommerce-pagination ul li span.current { background: var(--wp-navy); color: #fff; }

/* Ficha de producto */
.da-brand.single-product .dab-shop-body div.product { display: block; }
.da-brand.single-product .dab-shop-body div.product > .clearfix,
.da-brand.single-product .dab-shop-body div.product > div:first-child:not(.woocommerce-tabs) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.da-brand.single-product .dab-shop-body div.product .woocommerce-product-gallery,
.da-brand.single-product .dab-shop-body div.product .summary { float: none; width: auto; margin: 0; }
.da-brand.single-product .dab-shop-body .woocommerce-product-gallery { padding: 24px; border: 1px solid var(--wp-line); border-radius: 20px; background: #fff; }
.da-brand.single-product .dab-shop-body .woocommerce-tabs { margin-top: 40px; padding: 32px 36px; border: 1px solid var(--wp-line); border-radius: 20px; background: #fff; }
/* Con una sola pestaña (la descripción) sobran las pestañas; con más, se quedan para poder cambiar. */
body.da-brand.single-product .dab-shop-body div.product .woocommerce-tabs ul.tabs:has(> li:only-child) { display: none; }
.da-brand.single-product .dab-shop-body .woocommerce-tabs .panel { margin: 0; padding: 0; color: #28585f; font-size: 16px; line-height: 1.75; }
.da-brand.single-product .dab-shop-body .woocommerce-tabs .panel h2 { margin: 0 0 14px; padding: 0; font-size: 24px; }
.da-brand.single-product .dab-shop-body .related.products { margin-top: 48px; }
.da-brand.single-product .dab-shop-body .related.products > h2 { margin: 0 0 20px; padding: 0; font-size: 26px; }
.da-brand.single-product .dab-shop-body .product_meta { margin-top: 18px; color: var(--wp-muted); font-size: 13.5px; }

/* ---------- Móvil ---------- */
@media (max-width: 1024px) {
    .da-brand .dab-article-layout { grid-template-columns: minmax(0, 1fr); }
    .da-brand .dab-article-aside { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 860px) {
    .da-brand.single-product .dab-shop-body div.product > .clearfix,
    .da-brand.single-product .dab-shop-body div.product > div:first-child:not(.woocommerce-tabs) { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}
@media (max-width: 600px) {
    .da-brand .dab-band { padding: 22px 20px 32px; }
    .da-brand .dab-band--bleed { padding-inline: max(20px, calc(50vw - 50%)); }
    .da-brand .dab-band .dab-crumbs { margin-bottom: 18px; font-size: 12px; }
    .da-brand .dab-band .dab-crumbs [aria-current] { max-width: 24ch; }
    .da-brand .dab-crumbs-bar { padding: 14px 16px 0; }
    .da-brand .dab-crumbs--light { font-size: 12px; }
    .da-brand .dab-crumbs--light [aria-current] { max-width: 24ch; }
    .da-brand .dab-band .dab-band-eyebrow { margin-bottom: 16px; padding: 7px 13px 7px 9px; font-size: 10px; letter-spacing: .12em; }
    .da-brand .dab-band .dab-band-title { margin-bottom: 14px; font-size: 32px; line-height: 1.1; letter-spacing: -.035em; }
    .da-brand .dab-band--article .dab-band-title { font-size: 27px; }
    .da-brand .dab-band .dab-band-lead { font-size: 15.5px; line-height: 1.55; }
    .da-brand .dab-band-text { font-size: 14.5px; }
    .da-brand .dab-band-search-row { flex-direction: column; }
    .da-brand .dab-band-search button { justify-content: center; }
    .da-brand .dab-band-content { padding: 24px 16px 48px; }
    .da-brand .dab-page-card { padding: 24px 20px; border-radius: 14px; font-size: 15.5px; }
    .da-brand .dab-article-layout { gap: 18px; padding: 18px 12px 36px; }
    .da-brand .dab-article { padding: 22px 18px; border-radius: 14px; }
    .da-brand .dab-article-figure { margin: -4px -6px 20px; }
    .da-brand .dab-article-body { font-size: 16.5px; line-height: 1.72; }
    .da-brand .dab-article-body h2 { font-size: 22px; }
    .da-brand .dab-article-body :is(.alignleft, .alignright) { float: none; margin: 1em 0; }
    .da-brand .dab-article-more { padding: 0 12px 48px; }
    .da-brand .dab-archive-body, .da-brand .dab-search-body { padding: 22px 12px 48px; }
    .da-brand .dab-chips ul { gap: 8px; margin-bottom: 20px; }
    .da-brand .dab-chips a { min-height: 36px; padding: 6px 12px; font-size: 13px; }
    .da-brand .dab-result { gap: 14px; padding: 18px; }
    .da-brand .dab-result-media { flex-basis: 64px; }
    .da-brand .dab-result-media img { width: 64px; height: 64px; }
    .da-brand .dab-result h2 { font-size: 17.5px; }
    .da-brand .dab-shop-body { padding: 22px 12px 48px; }
    .da-brand .dab-shop-body ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .da-brand .dab-shop-body ul.products li.product { padding: 12px; }
    .da-brand.single-product .dab-shop-body .woocommerce-tabs { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) { .da-brand .dab-article-aside { position: static; } }

/* ---------- Ferias (0.9.0): calendario y ficha ---------- */
.da-brand .dab-archive-grid > .dab-fairs-heading { grid-column: 1 / -1; margin: 0; padding: 0; color: var(--wp-navy); font-size: 24px; line-height: 1.25; letter-spacing: -.02em; scroll-margin-top: 110px; }
.da-brand .dab-archive-grid > .dab-fairs-heading:not(:first-child) { margin-top: 18px; }
.da-brand .dab-editorial-meta .dab-editorial-category--past { color: #4d6468; }
.da-brand .dab-band .dab-fair-status { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 20px; background: rgb(50 196 240 / 18%); color: #e6f9f9; font-size: 13px; font-weight: 700; }
.da-brand .dab-band .dab-fair-status--past { background: rgb(255 255 255 / 12%); color: var(--wp-tint-1); }
@media (max-width: 520px) { .da-brand .dab-archive-grid > .dab-fairs-heading { font-size: 21px; } }

/* ---------- Texto solo para lectores de pantalla (0.9.3): «se abre en otra pestaña» en los enlaces de las noticias ---------- */
.da-brand .dab-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* ---------- «Publica tu clínica» sin Divi (0.9.3) ----------
 * Con Divi, sus listas (las ventajas de cada modalidad, «Qué incluyen las modalidades» y los pasos del pago) llevaban
 * 1em de aire debajo, que venía del módulo de texto de Divi (.et_pb_text ul). Sin ese módulo se mantiene igual. */
.da-brand .dab-band-content > #contratar.da-contract :is(.da-contract-features, .da-contract-details ul, .da-contract-payment ul) { padding-bottom: 1em; }

/* ---------- Contacto (0.9.3): el formulario con el lenguaje de «Publica tu clínica» ----------
 * Tarjeta blanca con cabecera (icono, «Escríbenos» y entradilla), campos de 48 px con la etiqueta encima, dos
 * columnas en pantallas anchas, casilla de aceptación como la de la contratación y botón azul grande. Solo cambia
 * el aspecto: el HTML del formulario (nombres, campos ocultos y la trampa para robots) es el del plugin. */
.da-brand .dab-form-head { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 24px; }
.da-brand .dab-form-icon { display: inline-grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--wp-blue); color: #fff; }
.da-brand .dab-form-icon .dab-icon { width: 20px; height: 20px; }
.da-brand .dab-form-card .dab-form-title { margin: 2px 0 4px; padding: 0; color: #0b2f33; font-size: 22px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.da-brand .dab-form-card .dab-form-lead { margin: 0; padding: 0; color: #42595c; font-size: 15px; line-height: 1.55; }
.da-brand .dab-form-card .da-contact { max-width: none; height: auto; margin: 0; padding: 0; border-radius: 0; background: none; }
/* El aviso de «Guardando…», «Mensaje guardado» o el error, debajo del botón, donde se mira al enviar. */
.da-brand .dab-form-card .da-contact-form { display: flex; flex-direction: column; }
.da-brand .dab-form-card .da-contact-feedback { order: 2; }
.da-brand .dab-form-card :is(.da-contact-feedback, .da-message) { margin: 16px 0 0; padding: 12px 16px; border-radius: 10px; background: #f0f9fb; color: #0b2f33; font-size: 15px; line-height: 1.5; }
/* Vacío no ocupa sitio, pero no se oculta con display: none: el lector de pantalla tiene que tenerlo ya para anunciar el aviso. */
.da-brand .dab-form-card .da-contact-feedback:empty { margin: 0; padding: 0; background: none; }
.da-brand .dab-form-card .da-message { margin: 0 0 18px; }
.da-brand .dab-form-card .da-contact-note { margin: 0 0 14px; padding: 0; color: #42595c; font-size: 14px; }
.da-brand .dab-form-card { container-type: inline-size; }
.da-brand .dab-form-card .da-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
/* Dos columnas solo si caben (la tarjeta, no la pantalla): en tableta la tarjeta es estrecha. */
@container (max-width: 520px) { .da-brand .dab-form-card .da-contact-fields { grid-template-columns: minmax(0, 1fr); } }
.da-brand .dab-form-card .da-contact-fields[disabled] { opacity: .75; }
.da-brand .dab-form-card .da-contact-fields > * { grid-column: 1 / -1; }
.da-brand .dab-form-card .da-contact-fields > .da-contact-field:has(> input:not([type="checkbox"])) { grid-column: auto; }
.da-brand .dab-form-card .da-contact-field { margin: 0 0 16px; padding: 0; font-size: 15px; }
.da-brand .dab-form-card .da-contact-field > br { display: none; }
.da-brand .dab-form-card .da-contact-field > label { display: block; margin: 0 0 6px; color: #0b2f33; font-size: 15px; font-weight: 600; line-height: 1.4; }
.da-brand .dab-form-card .da-contact-field > label > span { color: #42595c; font-size: 13px; font-weight: 400; }
.da-brand .dab-form-card .da-contact-form .da-contact-field :is(input:not([type="checkbox"]), textarea) { display: block; width: 100%; max-width: none; min-height: 48px; margin: 0; padding: 11px 14px; border: 1px solid #617b7f; border-radius: 9px; background: #fff; color: #0b2f33; font: inherit; font-size: 16px; line-height: 1.4; }
.da-brand .dab-form-card .da-contact-form .da-contact-field textarea { min-height: 140px; resize: vertical; }
.da-brand .dab-form-card .da-contact-form .da-contact-field :is(input:not([type="checkbox"]), textarea):focus { border-color: var(--wp-blue); outline: 3px solid var(--wp-blue); outline-offset: 0; }
.da-brand .dab-form-card .da-contact-field:has(> label > input[type="checkbox"]) { margin-top: 2px; }
/* La casilla a la izquierda y el texto con su enlace seguidos (con flex, el enlace se separaba del texto). Todo con
   :has(): en un navegador sin :has() la casilla se queda en su sitio de siempre, delante del texto. */
.da-brand .dab-form-card .da-contact-field > label:has(> input[type="checkbox"]) { display: block; position: relative; margin: 0; padding-left: 28px; color: #1e4c53; font-weight: 400; line-height: 1.5; }
.da-brand .dab-form-card .da-contact-field > label:has(> input[type="checkbox"]) > input[type="checkbox"] { position: absolute; top: 2px; left: 0; width: 18px; height: 18px; margin: 0; accent-color: var(--wp-blue); }
/* Plugin 0.19.3: el enlace a la política de privacidad va detrás de la etiqueta de la casilla, fuera de ella. Debajo, alineado
   con el texto de la etiqueta (sin esto caía debajo de la casilla, 28 px más a la izquierda). */
.da-brand .dab-form-card .da-contact-field:has(> label > input[type="checkbox"]) > a { display: inline-block; margin: 2px 0 0 28px; font-size: 14px; line-height: 1.5; }
.da-brand .dab-form-card .da-contact-form a { color: #127685; }
.da-brand .dab-form-card .da-form-privacy { margin: 0 0 16px; padding: 0; color: #42595c; font-size: 14px; line-height: 1.5; }
.da-brand .dab-form-card .da-contact-form button[type="submit"] { justify-self: start; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin: 0; padding: 14px 28px; border: 0; border-radius: 10px; background: var(--wp-blue); color: #fff; font: inherit; font-size: 17px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.da-brand .dab-form-card .da-contact-form button[type="submit"]:hover { background: #127685; color: #fff; }
.da-brand .dab-form-card .da-contact-form button[type="submit"]:focus-visible { outline: 3px solid var(--wp-blue); outline-offset: 3px; }
.da-brand .dab-form-card .da-contact-form button[type="submit"]:disabled { cursor: wait; opacity: .65; }
/* Suma de comprobación del plugin (0.19.2): en Contacto, como los demás campos de la tarjeta. El plugin no la envuelve
   en .da-contact-field y le pone márgenes en línea; aquí siguen el ritmo de 16 px de los campos. El ancho (7rem) es el
   suyo: la respuesta tiene una o dos cifras. Mientras espera a que se toque el formulario, el campo está desactivado. */
.da-brand .dab-form-card .da-contact-form .da-math-captcha { margin: 0 0 16px !important; padding: 0; font-size: 15px; }
.da-brand .dab-form-card .da-contact-form .da-math-captcha > label { display: block; margin: 0 0 6px; color: #0b2f33; font-size: 15px; font-weight: 600; line-height: 1.4; }
.da-brand .dab-form-card .da-contact-form .da-math-captcha > input[name="da_math_answer"] { min-height: 48px; margin: 0 !important; padding: 11px 14px; border: 1px solid #617b7f; border-radius: 9px; background: #fff; color: #0b2f33; font: inherit; font-size: 16px; line-height: 1.4; }
.da-brand .dab-form-card .da-contact-form .da-math-captcha > input[name="da_math_answer"]:focus { border-color: var(--wp-blue); outline: 3px solid var(--wp-blue); outline-offset: 0; }
.da-brand .dab-form-card .da-contact-form .da-math-captcha > small { margin: 6px 0 0; color: #42595c; font-size: 13px; line-height: 1.45; }
/* «Publica tu clínica» y «Otros servicios»: la pregunta, como las etiquetas de su formulario (contract.css del plugin). */
.da-brand .da-contract-form .da-math-captcha > label { display: block; margin: 0 0 6px; color: #0b2f33; font-size: 15px; font-weight: 600; line-height: 1.4; }
.da-brand .da-contract-form .da-math-captcha > input[name="da_math_answer"] { margin: 0 !important; }
.da-brand .da-contract-form .da-math-captcha > small { margin: 6px 0 0; color: #42595c; font-size: 13px; line-height: 1.45; }
.da-brand :is(.dab-form-card .da-contact-form, .da-contract-form) .da-math-captcha > input[name="da_math_answer"]:disabled { background: #f4f7f8; cursor: not-allowed; }
@media (max-width: 640px) {
    .da-brand .dab-form-head { gap: 12px; margin-bottom: 20px; }
    .da-brand .dab-form-icon { width: 38px; height: 38px; }
    .da-brand .dab-form-card .dab-form-title { font-size: 20px; }
    .da-brand .dab-form-card .da-contact-fields { grid-template-columns: minmax(0, 1fr); }
    .da-brand .dab-form-card .da-contact-form button[type="submit"] { justify-self: stretch; width: 100%; }
}
