/* Handyman Problem Fixer — unified interior-page and article design
   Scoped to public Divi body templates; homepage hero and navigation unaffected. */
:root{--hpf-card-radius:20px;--hpf-card-border:#e5e7e4;--hpf-card-shadow:0 12px 36px rgba(20,32,41,.085);--hpf-page-warm:#f7f7f4;--hpf-deep:#172028;--hpf-orange:#a95e3f}

/* Shared blog listing cards: Repair Guides, related articles, categories and search */
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post{
 box-sizing:border-box;
 background:#fff !important;
 border:1px solid var(--hpf-card-border) !important;
 border-radius:var(--hpf-card-radius) !important;
 overflow:hidden;
 box-shadow:var(--hpf-card-shadow);
 transition:transform .2s ease,box-shadow .2s ease;
 display:flex;
 flex-direction:column;
 min-width:0;
 min-height:450px;
 padding-bottom:22px;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post:hover{
 transform:translateY(-2px);
 box-shadow:0 16px 38px rgba(20,32,41,.13);
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .et_pb_image_container,
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post > a.entry-featured-image-url{
 display:block;
 flex:0 0 auto;
 overflow:hidden;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .entry-featured-image-url img{
 display:block;
 width:100% !important;
 height:204px !important;
 object-fit:cover;
 object-position:center;
 border:0;
 border-radius:0;
 transition:transform .2s ease;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post:hover .entry-featured-image-url img{
 transform:scale(1.025);
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .entry-title{
 font-family:Manrope,"DM Sans",sans-serif !important;
 font-size:19px;
 line-height:1.38;
 font-weight:800;
 color:var(--hpf-deep);
 margin-top:12px;
 margin-bottom:11px;
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 overflow:hidden;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .entry-title a{
 color:var(--hpf-deep);
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .entry-title a:hover{
 color:var(--hpf-orange);
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .post-meta{
 font-size:12px !important;
 line-height:1.6;
 color:#758089;
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:2;
 overflow:hidden;
 max-height:3.2em;
 margin-bottom:13px;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .post-content{
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 margin-top:auto;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .post-content-inner{
 font-family:"DM Sans",Arial,sans-serif;
 font-size:14px;
 line-height:1.65;
 color:#52616a;
 margin-bottom:18px;
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 overflow:hidden;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post a.more-link{
 display:inline-flex;
 align-items:center;
 align-self:flex-start;
 margin-top:auto;
 padding:9px 14px;
 border:1px solid #e2c8ba;
 border-radius:9px;
 background:#fbf5f1;
 color:#975139 !important;
 text-transform:none;
 font-family:"DM Sans",Arial,sans-serif;
 font-size:13px;
 font-weight:800;
 line-height:1.3;
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post a.more-link:hover{
 background:#f3e7df;
 color:#753a27 !important;
}

/* Divi masonry article cards: keep its own three-column structure */
.page-id-301 #main-content .hpf-modern-postgrid .et_pb_post,
.single-post #main-content .et_pb_blog_grid .et_pb_post{
 min-height:475px;
}

/* Search and archive listings: consistent responsive grid, instead of stacked uneven boxes */
body:is(.archive,.search) #main-content .et_pb_posts .et_pb_ajax_pagination_container{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:24px;
 align-items:stretch;
}
body:is(.archive,.search) #main-content .et_pb_posts .et_pb_ajax_pagination_container > article.et_pb_post{
 margin:0;
 padding:0 20px 22px;
 min-height:440px;
}
body:is(.archive,.search) #main-content .et_pb_posts article.et_pb_post > a.entry-featured-image-url{
 margin:0 -20px 18px;
}
body:is(.archive,.search) #main-content .et_pb_posts .et_pb_ajax_pagination_container > :is(.pagination,.wp-pagenavi){
 grid-column:1/-1;
}
body:is(.archive,.search) #main-content .et_pb_heading .et_pb_module_heading{
 color:var(--hpf-deep) !important;
 font-family:Manrope,"DM Sans",sans-serif;
 font-size:clamp(30px,4vw,44px);
 font-weight:800;
 letter-spacing:-.035em;
 margin-bottom:16px;
}
body:is(.archive,.search) #main-content .et_pb_search .et_pb_s{
 border-radius:10px;
 background:#fff !important;
 border-color:var(--hpf-card-border) !important;
}

/* Full articles: one spacious rounded reading surface */
body.single-post #main-content .et-l--body{
 background:var(--hpf-page-warm);
}
body.single-post #main-content .et_pb_section_0_tb_body{
 background:transparent !important;
 padding:42px 0 53px;
}
body.single-post #main-content .et_pb_section_0_tb_body .et_pb_row_0_tb_body{
 box-sizing:border-box;
 width:calc(100% - 40px) !important;
 max-width:1040px !important;
 padding:clamp(22px,3.5vw,48px) clamp(20px,4vw,55px) !important;
 margin:auto;
 background:#fff;
 border:1px solid var(--hpf-card-border);
 border-radius:var(--hpf-card-radius);
 box-shadow:var(--hpf-card-shadow);
 overflow:hidden;
}
body.single-post #main-content .et_pb_post_title .entry-title{
 color:var(--hpf-deep) !important;
 font-family:Manrope,"DM Sans",sans-serif !important;
 font-size:clamp(29px,3.5vw,47px);
 font-weight:800;
 line-height:1.2;
 letter-spacing:-.035em;
 margin:4px 0 15px;
}
body.single-post #main-content .et_pb_title_meta_container{
 color:#74808b;
 font-size:12px;
 line-height:1.7;
 max-width:860px;
 margin-left:auto;
 margin-right:auto;
}
body.single-post #main-content .et_pb_title_meta_container a{
 color:#996046;
}
body.single-post #main-content .et_pb_section_0_tb_body .et_pb_image_0_tb_body{
 max-width:820px;
 margin:22px auto 30px;
}
body.single-post #main-content .et_pb_section_0_tb_body .et_pb_image_0_tb_body .et_pb_image_wrap{
 display:block;
 width:100%;
 overflow:hidden;
 border-radius:16px;
 background:#edf0ed;
}
body.single-post #main-content .et_pb_section_0_tb_body .et_pb_image_0_tb_body img{
 display:block;
 max-height:410px;
 width:100%;
 object-fit:cover;
 border-radius:16px;
}
body.single-post #main-content .et_pb_post_content{
 width:100%;
 max-width:850px;
 margin-left:auto;
 margin-right:auto;
 font-family:"DM Sans",Arial,sans-serif;
 line-height:1.8;
 color:#35424b;
 overflow-wrap:break-word;
}
body.single-post #main-content .et_pb_post_content :is(p,ul,ol){
 font-size:16px;
 line-height:1.83;
}
body.single-post #main-content .et_pb_post_content :is(h2,h3,h4){
 color:var(--hpf-deep);
 font-family:Manrope,"DM Sans",sans-serif;
 line-height:1.34;
 font-weight:800;
 margin-top:29px;
 margin-bottom:13px;
 letter-spacing:-.018em;
}
body.single-post #main-content .et_pb_post_content img{
 max-width:100%;
 height:auto;
 border-radius:13px;
}
body.single-post #main-content .et_pb_post_content :is(iframe,video,.lyte-wrapper,.wp-block-embed,.wp-block-image){
 max-width:100%;
 border-radius:13px;
}
body.single-post #main-content .et_pb_post_content :is(.lyte-wrapper,.wp-block-embed){
 overflow:hidden;
}
body.single-post #main-content .et_pb_post_content blockquote{
 background:#faf6f2;
 border-left:4px solid var(--hpf-orange);
 border-radius:0 12px 12px 0;
 margin:26px 0;
 padding:18px 22px;
}
body.single-post #main-content .et_pb_post_content :is(.wp-block-separator,hr){
 border-color:#e5e7e4;
 margin:25px auto;
}
body.single-post #main-content .et_pb_post_content table{
 max-width:100%;
 border-collapse:separate;
 border-spacing:0;
 border:1px solid var(--hpf-card-border);
 border-radius:10px;
 overflow:hidden;
}
body.single-post #main-content .et_pb_post_content :is(pre,code){
 overflow-wrap:anywhere;
}

/* Old oversized author blurb was a duplicate distraction beneath every article */
body.single-post #main-content .et_pb_section_1_tb_body:has(.et_pb_blurb_0_tb_body){
 display:none;
}

/* Related posts: same rounded cards as the repair library */
body.single-post #main-content .et_pb_section_2_tb_body{
 background:var(--hpf-page-warm);
 padding-top:18px;
}
body.single-post #main-content .et_pb_section_2_tb_body .et_pb_module_heading{
 color:var(--hpf-deep);
 font-family:Manrope,"DM Sans",sans-serif;
 font-size:clamp(25px,3vw,36px);
 font-weight:800;
 margin-bottom:20px;
}

/* Standalone non-Builder pages such as Privacy Policy and legacy video guides */
body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content{
 background:var(--hpf-page-warm);
}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content .container{
 max-width:1060px;
 padding-top:46px;
 padding-bottom:54px;
}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content .container:before{display:none}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #left-area{
 float:none;
 width:100%;
 padding-right:0;
}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #sidebar{display:none}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content .entry-content{
 background:#fff;
 border-radius:var(--hpf-card-radius);
 border:1px solid var(--hpf-card-border);
 box-shadow:var(--hpf-card-shadow);
 padding:clamp(20px,4vw,50px);
 color:#35424b;
 line-height:1.8;
}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content .entry-content :is(img,iframe,.wp-block-embed){
 max-width:100%;
 border-radius:13px;
}
body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content .entry-content :is(h1,h2,h3){
 color:var(--hpf-deep);
 font-family:Manrope,"DM Sans",sans-serif;
}

/* Divi-based interior pages: media, forms, buttons and FAQ */
body.page:not(.home) #main-content .et_pb_video,
body.page:not(.home) #main-content .et_pb_image{
 border-radius:16px;
 overflow:hidden;
}
body.page:not(.home) #main-content .et_pb_video_overlay,
body.page:not(.home) #main-content .et_pb_video_box,
body.page:not(.home) #main-content .et_pb_video iframe{
 border-radius:16px;
 overflow:hidden;
}
body.page:not(.home) #main-content :is(.et_pb_search .et_pb_s,.et_pb_contact_field input,.et_pb_contact_field textarea){
 border:1px solid var(--hpf-card-border) !important;
 border-radius:10px;
 background:#fff;
}
body.page:not(.home) #main-content :is(.et_pb_search .et_pb_searchsubmit,.et_pb_button,.wpforms-submit){
 border-radius:9px;
}
.page-id-214 #main-content .et_pb_section_1{
 background:var(--hpf-page-warm) !important;
}
.page-id-214 #main-content .et_pb_section_1 .et_pb_row_1{
 background:#fff;
 border:1px solid var(--hpf-card-border);
 border-radius:var(--hpf-card-radius);
 padding:clamp(20px,3vw,40px) !important;
 box-shadow:var(--hpf-card-shadow);
}
.page-id-214 #main-content .et_pb_section_1 .et_pb_text_inner h2{
 color:var(--hpf-deep);
}
body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) .pagination{
 margin-top:15px;
}
body:not(.home) #main-content a:focus-visible{
 outline:3px solid var(--hpf-orange);
 outline-offset:3px;
}
@media(max-width:980px){
 body:is(.archive,.search) #main-content .et_pb_posts .et_pb_ajax_pagination_container{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px;
 }
}
@media(max-width:650px){
 body:is(.archive,.search) #main-content .et_pb_posts .et_pb_ajax_pagination_container{
  grid-template-columns:minmax(0,1fr);
  gap:18px;
 }
 body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post{
  min-height:0;
 }
 body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post .entry-featured-image-url img{
  height:185px !important;
 }
 body.single-post #main-content .et_pb_section_0_tb_body{padding:20px 0 26px}
 body.single-post #main-content .et_pb_section_0_tb_body .et_pb_row_0_tb_body{
  width:calc(100% - 22px) !important;
  border-radius:15px;
  padding:21px 17px !important;
 }
 body.single-post #main-content .et_pb_section_0_tb_body .et_pb_image_0_tb_body img{
  max-height:290px;
 }
 body.single-post #main-content .et_pb_post_content :is(p,ul,ol){
  font-size:15px;
 }
 body.page:not(.home):not(.et_pb_pagebuilder_layout) #main-content .container{
  padding:24px 0;
 }
 .page-id-214 #main-content .et_pb_section_1 .et_pb_row_1{
  border-radius:15px;
 }
}
@media(prefers-reduced-motion:reduce){
 body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post{
  transition:none;
 }
 body:not(.home) #main-content :is(.et_pb_blog_grid,.et_pb_posts) article.et_pb_post:hover{
  transform:none;
 }
}
