/*
Theme Name: PHR Interim
Template: Divi
Version: 1.0.0
Description: Local staging presentation layer for the existing PHR site.
*/

/* Item 1: reading-comfort */

:root { --phr-ink:#29343d; --phr-link:#235e6e; --phr-slate:#485364; --phr-footer:#3e5d6f; --phr-surface:#f5f7f7; --phr-rule:#dce3e6; --phr-white:#fff; }
body { font-size:16px; line-height:1.65; color:var(--phr-ink); background:var(--phr-white); }
#main-content .entry-content .et_pb_text, #main-content .entry-content .et_pb_text p { font-size:16px!important; line-height:1.65!important; color:var(--phr-ink); text-align:left!important; }
#main-content .entry-content p { max-width:70ch; padding-bottom:0; margin-bottom:1.25em; overflow-wrap:break-word;hyphens:auto; }
#main-content .entry-content h1 { font-size:34px; line-height:1.2; color:var(--phr-ink); font-weight:600; margin-bottom:24px; text-align:left!important; }
#main-content .entry-content .et_pb_section { padding:44px 0; }
#main-content .entry-content .et_pb_row { padding-top:12px; padding-bottom:12px; }
.container, .et_pb_row { width:calc(100% - 64px); max-width:1120px; }
#main-content img { max-width:100%; height:auto; }
@media(max-width:767px){
 .container,.et_pb_row { width:calc(100% - 40px); }
 #main-content .entry-content .et_pb_section { padding:32px 0; }
 #main-content .entry-content h1 { font-size:min(24px,7.2vw); margin-bottom:20px; overflow-wrap:break-word;hyphens:auto; }
 #main-content .entry-content p { margin-bottom:1.2em; }
}

/* Item 2: link-visibility */

#main-content .entry-content a { color:var(--phr-link)!important; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
#main-content .entry-content a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--phr-link)!important; outline-offset:4px; border-radius:2px; }

/* Item 3: mobile-accessibility */

/* Viewport zoom restriction removed through the child theme hook. */
body { -webkit-text-size-adjust:100%; }

/* Item 4: header */

#main-header { background:var(--phr-slate); }
#logo { max-height:64px!important; width:auto; }
.et-fixed-header #logo { max-height:48px!important; }
#top-menu a { color:var(--phr-white)!important; font-size:14px; }
#top-menu .current-menu-item>a { text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:2px; }
#main-header a:focus-visible,#main-header [tabindex]:focus-visible { outline-color:var(--phr-white)!important; }
.mobile_menu_bar { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; cursor:pointer; }
.mobile_menu_bar:before { color:var(--phr-white)!important; position:static; }
#mobile_menu { border-top:3px solid var(--phr-link); padding:8px 0; background:var(--phr-white); }
#mobile_menu a { color:var(--phr-ink)!important; font-size:16px; line-height:1.5; padding:12px 20px; }
#main-header #mobile_menu a:focus-visible { outline-color:var(--phr-link)!important; outline-offset:-5px; }

/* Item 5: footer */

body #page-container .et-l--footer .et_pb_section { background:var(--phr-footer)!important; padding:40px 0!important; }
body #page-container .et-l--footer .et_pb_section .et_pb_row { padding:0!important; }
body #page-container .et-l--footer .et_pb_section .et_pb_text,body #page-container .et-l--footer .et_pb_section .et_pb_text_inner,body #page-container .et-l--footer .et_pb_section p { color:var(--phr-white)!important; font-size:15px!important; line-height:1.65!important; }
body #page-container .et-l--footer .et_pb_section h4 { color:var(--phr-white)!important; font-size:18px!important; line-height:1.4; font-weight:600; margin-bottom:10px; }
body #page-container .et-l--footer .et_pb_section a { color:var(--phr-white)!important; }
body #page-container .et-l--footer .et_pb_section a:focus-visible { outline-color:var(--phr-white)!important; }
@media(max-width:767px){body #page-container .et-l--footer .et_pb_section { padding:32px 0!important; }body #page-container .et-l--footer .et_pb_section .et_pb_column { margin-bottom:28px!important; }body #page-container .et-l--footer .et_pb_section .et_pb_column:last-child{margin-bottom:0!important;}}

/* Item 6: homepage-slider */

.home #main-content .entry-content .et_pb_section { background:var(--phr-surface)!important; padding:36px 0!important; }
.home #main-content .entry-content .et_pb_row { padding:0!important; background:transparent!important; }
.home .et_pb_code { width:100%!important; max-width:100%!important; margin:0!important; }
#n2-ss-2 .n2-ss-layer-row { background:var(--phr-slate)!important; }
#n2-ss-2 .n2-ss-item-content { color:var(--phr-white)!important; }
#n2-ss-2 .n2-bullet:focus-visible { outline:3px solid var(--phr-link)!important; outline-offset:4px; }
@media(max-width:980px){
 #n2-ss-2 {--phr-slide-image-height:clamp(210px,46vw,400px);}
 .home #main-content .entry-content .et_pb_section { padding:24px 0!important; }
 #n2-ss-2 .n2-ss-slider-1,#n2-ss-2 .n2-ss-slider-2,#n2-ss-2 .n2-ss-slider-3,#n2-ss-2 .n2-ss-slider-4,#n2-ss-2 .n2-ss-slide,#n2-ss-2 .n2-ss-layers-container { height:auto!important; min-height:0!important; }
 #n2-ss-2 .n2-ss-section-main-content { padding:var(--phr-slide-image-height) 0 0!important;display:block!important; min-height:0!important; height:auto!important; justify-content:flex-end!important; }
 #n2-ss-2 .n2-ss-slide-background-image { height:var(--phr-slide-image-height)!important; bottom:auto!important; }
 #n2-ss-2 .n2-ss-slide-background-image img { object-fit:cover!important; object-position:center!important; }
 #n2-ss-2 .n2-ss-section-main-content>.n2-ss-layer { width:100%!important; max-width:100%!important; align-self:stretch!important; }
 #n2-ss-2 .n2-ss-layer-row { padding:16px!important; }
 #n2-ss-2 .n2-ss-layer-row-inner { width:100%!important;margin:0!important; }
 #n2-ss-2 .n2-ss-layer-row-inner>.n2-ss-layer {margin:0!important;width:100%!important;}
 #n2-ss-2 .n2-ss-section-main-content>.n2-ss-layer {margin:0!important;}
 #n2-ss-2 .n2-ss-layer-col { padding:0!important; }
 #n2-ss-2 .n2-ss-item-content { font-size:16px!important; line-height:1.45!important; }
 #n2-ss-2 .n2-ss-layer:has(>.n2-ss-section-main-content) { height:auto!important; }
}

/* Item 7: attorney-index-biographies */

.page-id-7 .entry-content p { padding:0 0 24px!important; margin:0 0 24px!important; border-bottom:1px solid var(--phr-rule); }
.page-id-7 .entry-content p:empty { display:none; }
.page-id-7 .entry-content p>strong:first-child { display:block; font-size:20px; font-weight:700; line-height:1.4; margin-bottom:8px; }
.page-id-7 .entry-content strong+br { display:none; }
.phr-bio .entry-content .et_pb_text_inner { padding-left:0; max-width:1000px; }
.phr-bio .phr-bio-layout {display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start;}
.phr-bio .entry-content h1 { margin-left:0; }
.phr-bio .entry-content img.alignleft,.phr-bio .entry-content img.alignright { position:static; width:200px; max-width:200px; height:auto; float:none; margin:0; }
.phr-bio .entry-content p>strong:first-child { display:block; font-size:18px; font-weight:700; margin-bottom:6px; }
.phr-bio .entry-content strong+br { display:none; }
@media(max-width:767px){
 .phr-bio .phr-bio-layout {display:block;}
 .phr-bio .entry-content .et_pb_text_inner { padding-left:0; }
 .phr-bio .entry-content h1 { margin-left:0; }
 .phr-bio .entry-content img.alignleft,.phr-bio .entry-content img.alignright { position:static; display:block; width:180px; max-width:100%; margin:0 0 20px; }
}

/* Item 8: practices */

.page-id-13 .entry-content p:not(:first-of-type) { padding-bottom:20px!important; margin-bottom:20px; border-bottom:1px solid var(--phr-rule); }
.page-id-13 .entry-content p>strong:first-child { display:block; font-size:20px; line-height:1.4; margin-bottom:8px; }
.page-id-13 .entry-content strong+br { display:none; }

/* Item 9: resources */

.page-id-149 .entry-content a[href$=".pdf"] { font-weight:700; text-decoration-thickness:2px; }

/* Item 10: contact */

.page-id-17 #main-content .entry-content .et_pb_row { padding-top:10px; padding-bottom:20px; }
.page-id-17 .entry-content strong { font-size:17px; color:var(--phr-ink); }
.page-id-17 .entry-content iframe { width:100%; max-width:100%; }
@media(max-width:767px){.page-id-17 .entry-content .et_pb_column { margin-bottom:24px; }.page-id-17 .entry-content .et_pb_row { padding-bottom:0!important; }}

/* Footer theme-builder selectors require explicit module specificity. */
body #page-container .et-l.et-l--footer .et_pb_section .et_pb_module h4 {color:var(--phr-white)!important;font-size:18px!important;font-weight:600!important;line-height:1.4!important;}
body #page-container .et-l.et-l--footer .et_pb_section .et_pb_text,body #page-container .et-l.et-l--footer .et_pb_section .et_pb_text_inner,body #page-container .et-l.et-l--footer .et_pb_section .et_pb_text_inner p {color:var(--phr-white)!important;font-size:15px!important;line-height:1.65!important;}

/* Keyboard focus remains visible when it enters the embedded office map. */
#main-content iframe:focus,#main-content iframe:focus-within {outline:3px solid var(--phr-link)!important;outline-offset:-3px;}
.page-id-7 .entry-content a {white-space:nowrap;}

#main-content iframe.phr-map-focus {outline:3px solid var(--phr-link)!important;outline-offset:-3px;}

/* Retain the existing blue active-state cue and give focus a contrasting halo. */
:root {--phr-nav-active:#c0dce7;}
#top-menu .current-menu-item>a {color:var(--phr-nav-active)!important;text-decoration-color:var(--phr-nav-active);}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible {box-shadow:0 0 0 6px var(--phr-white);}
#main-header a:focus-visible,#main-header [tabindex]:focus-visible {box-shadow:0 0 0 6px var(--phr-slate);}
#main-header #mobile_menu a:focus-visible {box-shadow:0 0 0 6px var(--phr-white);}
body #page-container .et-l--footer a:focus-visible {box-shadow:0 0 0 6px var(--phr-footer);}
#main-content iframe.phr-map-focus {box-shadow:0 0 0 6px var(--phr-white);}

/* Prose measure and existing-label hierarchy. */
#main-content .entry-content p {max-width:min(70ch,600px);}
.page-id-13 .entry-content h2 {font-size:20px;line-height:1.4;font-weight:700;color:var(--phr-ink);margin:0 0 8px;padding:0;}
.page-id-149 .entry-content a[href$=".pdf"] {display:inline;margin:0;padding:0;line-height:inherit;}
@media(max-width:980px){
 .page-id-149 .entry-content img.alignright,.page-id-4 .entry-content img.alignright {float:none!important;display:block;max-width:100%;height:auto;margin:16px 0 24px!important;}
}
@media(min-width:981px){
 body #page-container .et-l.et-l--footer .et_pb_row {display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4.5fr) minmax(0,2.5fr);gap:40px;}
 body #page-container .et-l.et-l--footer .et_pb_row>.et_pb_column {width:auto!important;float:none;margin:0!important;}
 body #page-container .et-l.et-l--footer .et_pb_row:after {display:none;}
}

@media(max-width:767px){#n2-ss-2 .n2-ss-slide-backgrounds>.n2-ss-slide-background:first-child .n2-ss-slide-background-image img {object-position:right center!important;}}
/* Preserve the native dots while giving their controls practical hit areas. */
#n2-ss-2 .n2-bullet {width:32px!important;height:32px!important;box-sizing:border-box;padding:11px!important;background-clip:content-box!important;margin:0!important;}
#n2-ss-2 .n2-bullet:focus {outline:3px solid var(--phr-link)!important;outline-offset:1px;box-shadow:0 0 0 4px var(--phr-white);}
#top-menu a:hover,#top-menu a:focus {opacity:1!important;}
.page-id-149 .entry-content img {float:none!important;display:block;max-width:100%;height:auto;margin:0!important;}
.page-id-149 .entry-content a:has(>img) {display:block;width:fit-content;max-width:100%;margin:20px 0 0;}
@media(max-width:980px){.page-id-4 .entry-content img[style*="float"] {float:none!important;display:block;max-width:100%;height:auto;margin:16px 0 24px!important;}}
#main-header #mobile_menu,#main-header #mobile_menu li,#main-header #mobile_menu a,#main-header #mobile_menu a:hover,#main-header #mobile_menu a:focus {background:var(--phr-white)!important;color:var(--phr-ink)!important;opacity:1!important;}
/* Inline focus must not mask neighbouring words. */
#main-content .entry-content a:focus-visible {box-shadow:none;outline-width:2px!important;outline-offset:1px;}

.phr-resource-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;}
.phr-resource-photo {grid-column:2;grid-row:1;}
.phr-resource-copy {grid-column:1;grid-row:1;}
.page-id-149 .phr-resource-photo a:has(>img) {margin:0;}
.phr-download-row {margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--phr-rule);line-height:1.65;}
@media(max-width:980px){.phr-resource-layout {display:flex;flex-direction:column;gap:24px;}.phr-resource-photo {width:100%;}.phr-resource-copy {width:100%;}}
#n2-ss-2:focus-within {outline:3px solid var(--phr-link);outline-offset:4px;box-shadow:0 0 0 7px var(--phr-white);}
/* Caption intrinsic widths must also reflow at enlarged text sizes. */
#n2-ss-2 .n2-ss-item-content {overflow-wrap:break-word;hyphens:auto!important;white-space:normal!important;min-width:0!important;max-width:100%!important;}
#n2-ss-2 .n2-ss-layer-col,#n2-ss-2 .n2-ss-layer-row-inner {min-width:0!important;}
.phr-bio-copy,.phr-bio-copy * {text-align:left!important;}
.phr-bio-copy {max-width:min(70ch,600px);}
.phr-bio-copy h2.phr-bio-subheading {font-size:18px!important;font-weight:700;line-height:1.4;margin:28px 0 8px!important;padding:0!important;}
.phr-bio-copy .layoutArea .column {max-width:560px;}

/* The existing protected-page form remains usable in the extended route inventory (Divi renders it as .et_password_protected_form). */
.et_password_protected_form .et_submit_button {background:var(--phr-link)!important;color:var(--phr-white)!important;border:2px solid var(--phr-link)!important;min-height:44px;}
.et_password_protected_form .et_submit_button:after {display:none!important;}
.et_password_protected_form input[type="password"]:focus-visible,.et_password_protected_form .et_submit_button:focus-visible {outline:3px solid var(--phr-link)!important;outline-offset:3px;box-shadow:0 0 0 6px var(--phr-white);}

/* Draft biography (Divi builder rows: portrait column, copy column, full-width activities row) mirrors the biography layout. */
.page-id-1514 #main-content .entry-content .et_pb_text,.page-id-1514 #main-content .entry-content .et_pb_text * {text-align:left!important;}
.page-id-1514 #main-content .entry-content .et_pb_text p,.page-id-1514 #main-content .entry-content .et_pb_text p span,.page-id-1514 #main-content .entry-content .layoutArea .column,.page-id-1514 #main-content .entry-content .layoutArea .column span {font-size:16px!important;line-height:1.65!important;}
.page-id-1514 #main-content .entry-content .et_pb_text h1:empty {display:none;}
.page-id-1514 .et_pb_row_1 .et_pb_image img {width:200px;max-width:200px;height:auto;}
.page-id-1514 #main-content .entry-content h2.phr-bio-subheading {font-size:18px!important;font-weight:700;line-height:1.4;margin:28px 0 8px!important;padding:0!important;}
.page-id-1514 .et_pb_row_1 .et_pb_column_3_4,.page-id-1514 .et_pb_row_2 .et_pb_column {max-width:min(70ch,600px);}
@media(min-width:768px){
 .page-id-1514 .et_pb_row_1 {display:grid!important;grid-template-columns:200px minmax(0,1fr);column-gap:40px;row-gap:0;align-items:start;}
 .page-id-1514 .et_pb_row_1 .et_pb_column {width:auto!important;margin:0!important;}
 .page-id-1514 .et_pb_row_1 .et_pb_column_1_4 .et_pb_image {margin:0!important;}
 .page-id-1514 .et_pb_row_2 {padding-left:240px!important;}
}
@media(max-width:767px){.page-id-1514 .et_pb_row_1 .et_pb_image img {width:180px;max-width:100%;}}

/* Find Us: the restored office map sits inside a paragraph; do not narrow it to the prose measure. */
.page-id-101 #main-content .entry-content p:has(iframe) {max-width:none;}
