/* Directory of doctors · D1E grid and P1 doctor page, over the Directories Pro markup as it is.
   Loaded only on /directory-medicos/ pages. */
@font-face {font-family:"CMA Institucional";src:url("../capas-locais/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-display:swap}

:root {
    --cxd-navy:#171f45;--cxd-azul:#243cb0;--cxd-cobre:#f2c28c;--cxd-ferrugem:#c8622b;--cxd-marfim:#fbf6ea;--cxd-tinta:#192947;
    --cxd-fonte:"CMA Institucional",Arial,sans-serif;
}

/* ── Directory page (82): use the screen width instead of the theme's 1110px column ── */
body.page-id-82 .site-inner {max-width:min(1600px, calc(100% - 2 * clamp(16px, 3vw, 56px)))!important;width:100%!important;margin-inline:auto!important;padding-inline:0!important}
body.page-id-82 .entry-content > .w1110 {width:100%!important;max-width:none!important;margin-inline:0!important}
body.page-id-82 .entry-content > .w1110 > .bk1 {max-width:none!important;margin-inline:0!important;padding-inline:0!important}
body.page-id-82 .entry-content > .w1110 > .bk1 > .b1-inner {padding-inline:clamp(16px, 2vw, 32px)!important}
body.page-id-82 .drts-location-map-container > .drts-map-container {width:100%!important;max-width:none!important}

/* ── Grid (D1E): as many 270px+ columns as fit, 4:5 portraits, a navy band of equal height with the name ── */
.drts-view-entities-masonry .dw:has(> .drts-view-entity-container) {
    display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:28px 24px;columns:auto;column-count:auto;margin:0!important;width:auto!important;
}
.drts-view-entities-masonry .dw > .drts-view-entity-container {margin:0!important;padding:0!important;break-inside:auto;height:100%}
.drts-view-entity-container > .dw-panel__content, .drts-view-entity-container .drts-display--summary[data-content-name="medicos_dir_ltg"] {height:100%}
.drts-display--summary[data-content-name="medicos_dir_ltg"] {
    display:flex;flex-direction:column;border:0!important;border-radius:0;background:var(--cxd-navy);overflow:hidden;
    & > .drts-display-element-columns-1, & > .drts-display-element-columns-1 > .drts-row {display:flex;flex-direction:column;flex:1;margin:0}
    & .directory-listing-aside {flex:none;width:100%;max-width:100%;position:relative}
    & .directory-listing-photo {height:auto!important;aspect-ratio:4/5;background-size:cover!important;background-position:50% 22%!important;cursor:pointer}
    & .directory-listing-photo.drts-display-element-with-background-no-image {background:var(--cxd-azul)!important;display:grid;place-items:center}
    & .directory-listing-photo.drts-display-element-with-background-no-image::before {content:none!important;display:none}
    & .directory-listing-photo[data-iniciais]::after {content:attr(data-iniciais);font:800 clamp(56px,6vw,88px)/1 var(--cxd-fonte);letter-spacing:-.05em;color:var(--cxd-cobre)}
    & .directory-listing-buttons {position:absolute;left:12px;bottom:10px;margin:0}
    & .directory-listing-main {flex:1;width:100%;max-width:100%;padding:18px 20px 22px;color:var(--cxd-marfim)}
    & .directory-listing-title {margin:0 0 10px}
    & .directory-listing-title a {color:#fff;text-decoration:none;border:0!important;font:800 clamp(23px,2.1vw,30px)/1.02 var(--cxd-fonte);letter-spacing:-.035em;text-wrap:balance}
    & .directory-listing-title a:hover {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
    & .cx-prefixo {color:var(--cxd-cobre)}
    & .drts-entity-fieldlist .drts-bs-list-group-item {background:none;border:0;padding:2px 0!important;color:rgba(251,246,234,.82)}
    & .drts-entity-field-label-type-icon {display:none}
    & .drts-entity-field-value {font:500 13px/1.4 var(--cxd-fonte)}
    & .drts-entity-field-value a {color:var(--cxd-marfim);font-weight:650;text-decoration:none;border:0!important}
}

/* ── Doctor page (P1): navy title band with a very large name, portrait beside the contact band and CV ── */
body.wp-child-theme-cma.single-medicos_dir_ltg {
    /* Beats the editorial plugin's light title band (body.wp-child-theme-cma:not(.home) .site-container > .parallax). */
    &:not(.home) .site-container > .parallax.parallax {background:var(--cxd-navy)!important;border:0;padding:clamp(40px,6vw,96px) 0 clamp(34px,4vw,60px)}
    & article.medicos_dir_ltg {background:none}
    & .drts-display-element-header::before, & .drts-display-element-header::after {display:none!important}
    & .drts-display-element-header > span {background:none!important;padding:0!important}
    & .ptitle {max-width:1180px;text-align:left}
    & .ptitle h1.entry-title {margin:0;max-width:13ch;color:var(--cxd-marfim);text-align:left;text-transform:none;font:800 clamp(46px,7.4vw,108px)/.9 var(--cxd-fonte);letter-spacing:-.055em;text-wrap:balance}
    & .ptitle h1.entry-title::before {content:attr(data-cx-sobre);display:block;margin-bottom:18px;color:var(--cxd-cobre);font:700 13px/1.2 var(--cxd-fonte);letter-spacing:.14em;text-transform:uppercase}
    & .ptitle h1 .cx-prefixo {display:block;color:var(--cxd-cobre);font-size:.5em;letter-spacing:-.03em}
    & .cx-hero-cidade {margin:18px 0 0;color:var(--cxd-cobre);font:700 14px/1.2 var(--cxd-fonte);letter-spacing:.12em;text-transform:uppercase}

    & .site-inner .content > article.medicos_dir_ltg {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40%);gap:0 clamp(28px,4vw,56px);align-items:start;margin-top:clamp(28px,3.5vw,52px)}
    & article.medicos_dir_ltg > .entry-header {grid-column:2;grid-row:1;position:sticky;top:110px}
    & article.medicos_dir_ltg > .entry-content {grid-column:1;grid-row:1}
    & .entry-thumb {margin:0}
    & .entry-thumb img {display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%}
    & .entry-date {display:none}
    /* The portrait already shows the only photo; a gallery with more photos stays. */
    &.cx-foto-unica:not(.cx-sem-foto) .directory-listing-photos {display:none}
    &.cx-sem-foto .site-inner .content > article.medicos_dir_ltg {grid-template-columns:minmax(0,1fr)}

    & .directory-listing-info {margin-bottom:14px}
    & .directory-listing-labels .drts-bs-badge {background:var(--cxd-ferrugem)!important;color:#fff;border-radius:0;font:700 12px/1 var(--cxd-fonte);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px}
    & .directory-listing-terms {display:none}
    & .directory-listing-buttons {margin:0 0 22px}
    & .directory-listing-buttons .drts-bs-btn {border-radius:0;font:650 14px/1 var(--cxd-fonte);padding:10px 14px}

    & .directory-listing-contact-info-container {background:var(--cxd-cobre);padding:22px 24px 18px;margin-bottom:clamp(30px,3.5vw,48px)}
    & .directory-listing-contact-info-container > .drts-display-element-header {margin:0 0 8px;color:var(--cxd-ferrugem);font:700 12px/1.2 var(--cxd-fonte);letter-spacing:.14em;text-transform:uppercase;border:0}
    & .directory-listing-contact-info-container > .drts-display-element-header span {background:none;padding:0}
    & .directory-listing-contact-info .drts-bs-list-group-item {background:none;border-color:rgba(23,31,69,.18);color:var(--cxd-navy)}
    & .directory-listing-contact-info .drts-entity-field-value {font:650 clamp(16px,1.4vw,19px)/1.3 var(--cxd-fonte);overflow-wrap:anywhere}
    & .directory-listing-contact-info .drts-entity-field-value a {color:var(--cxd-navy)!important;border:0!important;text-decoration:none}
    & .directory-listing-contact-info [data-name="entity_field_field_phone"] a {font-size:clamp(20px,1.9vw,26px);font-weight:800;letter-spacing:-.02em}

    & .directory-listing-detailed-info-container > .drts-display-element-header, & .directory-listing-opening-hours > .drts-display-element-header {margin:0 0 14px;padding:0 0 12px;border:0;border-bottom:2px solid var(--cxd-navy);color:var(--cxd-navy);font:800 clamp(26px,2.6vw,36px)/1.05 var(--cxd-fonte);letter-spacing:-.035em}
    & .directory-listing-detailed-info-container > .drts-display-element-header span, & .directory-listing-opening-hours > .drts-display-element-header span {background:none;padding:0}
    & .directory-listing-detailed-info-container {margin-bottom:clamp(30px,3.5vw,48px)}
    & .directory-listing-description {font:400 clamp(17px,1.4vw,19px)/1.5 var(--cxd-fonte);color:var(--cxd-tinta)}
    & ol.cx-cv {list-style:none;margin:0;padding:0;counter-reset:cv}
    & ol.cx-cv li {counter-increment:cv;display:grid;grid-template-columns:3.2rem 1fr;gap:12px;align-items:baseline;margin:0;padding:14px 0;border-bottom:1px solid rgba(23,31,69,.22)}
    & ol.cx-cv li::before {content:counter(cv,decimal-leading-zero);color:var(--cxd-ferrugem);font:800 26px/1 var(--cxd-fonte);letter-spacing:-.03em}

    & .drts-directory-opening-hours {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;border:0}
    & .drts-directory-opening-hours .drts-bs-list-group-item {padding:10px 8px 12px!important;border:0;background:var(--cxd-navy);color:var(--cxd-marfim);min-height:92px}
    & .drts-directory-opening-hours .drts-entity-field {display:flex;flex-direction:column;justify-content:space-between;height:100%;gap:10px}
    & .drts-directory-opening-hours .drts-entity-field-label {color:var(--cxd-marfim)!important;font:800 15px/1.1 var(--cxd-fonte)}
    & .drts-directory-opening-hours .drts-entity-field-value {text-align:left!important;font:600 12px/1.2 var(--cxd-fonte);color:rgba(251,246,234,.82)}
    & .drts-directory-opening-hours .cx-hoje {background:var(--cxd-ferrugem)}
    & .drts-directory-opening-hours .cx-hoje .drts-entity-field-value {color:#fff}
}

/* ── Phones ── */
@media (max-width:700px) {
    /* The directory page nests two padded theme blocks; on phones they eat a third of the width. */
    body.page-id-82 :is(.bk1, .b1-inner) {padding-left:0!important;padding-right:0!important;border:0!important}
    .drts-view-entities-masonry .dw:has(> .drts-view-entity-container) {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
    .drts-display--summary[data-content-name="medicos_dir_ltg"] {
        & .directory-listing-main {padding:12px 10px 14px}
        & .directory-listing-title a {font-size:18px}
        & .drts-entity-field-value {font-size:12px}
        & .directory-listing-photo.drts-display-element-with-background-no-image::before {content:none!important;display:none}
    & .directory-listing-photo[data-iniciais]::after {font-size:44px}
    }
    body.wp-child-theme-cma.single-medicos_dir_ltg {
        & .site-inner .content > article.medicos_dir_ltg {grid-template-columns:minmax(0,1fr)}
        & article.medicos_dir_ltg > .entry-header {grid-column:1;grid-row:1;position:static;margin-bottom:24px}
        & article.medicos_dir_ltg > .entry-content {grid-row:2}
        & .ptitle h1.entry-title {font-size:clamp(40px,12vw,56px)}
        & .drts-directory-opening-hours {grid-template-columns:repeat(4,minmax(0,1fr))}
    }
}

/* ── Two offices in one listing: each address on its own line, set apart (grid card and doctor page) ── */
.drts-location-address {display:block}
.drts-location-address + br {display:none}
.drts-location-address + br + .drts-location-address {margin-top:7px}
