/* DOBRO HUB — isolated clean single-post template; not for archives/pages. */
body.dhclean-single {overflow-x:clip}
body.dhclean-single :is(#content,.site-content,.site-content-inner,.content-wrapper,.page-content){
  padding-top:0!important;
  margin-top:0!important;
}
body.dhclean-single .dhclean-main{
  --dh-ink:#25314e;
  position:relative;
  display:block;
  width:100vw;
  max-width:none!important;
  margin:0 0 0 calc(50% - 50vw)!important;
  padding:0!important;
  background:#f8f7fa;
  overflow:clip;
}
body.dhclean-single .dhclean-main .dhclean-article,
body.dhclean-single .dhclean-main .dhclean-content{
  width:100%;max-width:none!important;margin:0!important;padding:0!important;
  background:transparent!important;border:none!important;float:none!important;
}
body.dhclean-single .dhclean-main .dhclean-article:before,
body.dhclean-single .dhclean-main .dhclean-article:after{
  display:none!important;
}
body.dhclean-single .dhclean-main .dhclean-simple-title{
  max-width:1160px;margin:0 auto!important;padding:64px 24px 52px;
}
body.dhclean-single .dhclean-main .dhclean-simple-title h1{
  margin:0!important;color:var(--dh-ink);font:800 clamp(32px,4vw,56px)/1.12 Inter,system-ui,sans-serif;
  letter-spacing:-.04em;
}
body.dhclean-single .dhclean-main .dhclean-intro-label{
  color:#75699d;letter-spacing:.16em;font:800 11px/1.6 ui-monospace,monospace;margin-bottom:16px;
}
body.dhclean-single .dhclean-main .dhclean-content > :first-child{margin-top:0!important}
@media(max-width:767px){
  body.dhclean-single .dhclean-main .dhclean-simple-title{padding:42px 18px 30px}
}

/* v1.1: escape theme wrappers even when header opens a boxed site container. */
body.dhclean-single:has(#dh-halloween26) :is(#content,.site-content,.site-content-inner,.content-area,.content-wrapper,.site-container,.container,.ast-container){
  overflow:visible!important;
}
body.dhclean-single:has(#dh-halloween26) #dhclean-main {
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:visible!important;
}
body.dhclean-single:has(#dh-halloween26) :is(.dhclean-content,.dhclean-article){
  position:relative;
  max-width:none!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}
body.dhclean-single:has(#dh-halloween26) .dhclean-content :is(
  .elementor,.elementor-section,.elementor-container,.elementor-column,
  .elementor-widget-wrap,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner
):has(#dh-halloween26){
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  overflow-x:visible!important;
}
body.dhclean-single:has(#dh-halloween26) .dhclean-simple-title{display:none!important;}
body.dhclean-single:has(#dh-halloween26) .dhclean-content > #dh-halloween26{width:100vw!important;}

/* v1.2 — ChatGPT image prompts article #img26. Hide title generated by
   clean single template and eliminate its former white top area. Only for
   one authored Elementor design. Does not style the main site menu. */
body.dhclean-single:has(#img26) .dhclean-simple-title,
body.dhclean-single:has(#img26) .dhclean-intro-label {
  display:none!important;
}
body.dhclean-single:has(#img26) #dhclean-main,
body.dhclean-single:has(#img26) .dhclean-content,
body.dhclean-single:has(#img26) .dhclean-article {
  margin-top:0!important;
  padding-top:0!important;
  background:transparent!important;
}
body.dhclean-single:has(#img26) :is(
  #content,.site-content,.site-content-inner,.content-area,.content-wrapper,
  .site-container,.container,.ast-container,.inside-article
):has(#img26) {
  margin-top:0!important;
  padding-top:0!important;
  max-width:none!important;
  overflow:visible!important;
}
body.dhclean-single:has(#img26) :is(
  .elementor,.elementor-section,.elementor-container,.elementor-column,
  .elementor-widget-wrap,.elementor-widget,.elementor-widget-container,
  .e-con,.e-con-inner
):has(#img26) {
  max-width:none!important;
  margin-top:0!important;
  padding-top:0!important;
  padding-left:0!important;
  padding-right:0!important;
  min-width:0!important;
}
body.dhclean-single:has(#img26) #img26 {
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}
@media(max-width:767px){
  body.dhclean-single:has(#img26) #img26 { width:100vw!important; }
}

/* v1.3: programming courses article, own first screen #dhlearn26. */
body.dhclean-single:has(#dhlearn26) .dhclean-simple-title,
body.dhclean-single:has(#dhlearn26) .dhclean-intro-label {display:none!important;}
body.dhclean-single:has(#dhlearn26) :is(#dhclean-main,.dhclean-content,.dhclean-article) {
  margin-top:0!important;padding-top:0!important;
}

/* v1.4 — Free ChatGPT guide. Do not insert WP title over a custom hero. */
body.dhclean-single:has(#dhfree26) :is(.dhclean-simple-title,.dhclean-intro-label){display:none!important}
body.dhclean-single:has(#dhfree26) :is(#dhclean-main,.dhclean-content,.dhclean-article){padding:0!important;margin:0!important;background:transparent!important}
body.dhclean-single:has(#dhfree26) .dhclean-content :is(.elementor,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner):has(#dhfree26){padding:0!important;margin:0!important;max-width:none!important;min-width:0!important;overflow:visible!important}
body.dhclean-single:has(#dhfree26) #dhfree26{max-width:none!important;width:100vw!important;left:50%!important;transform:translateX(-50%)!important;margin:0!important}

/* v1.5: Only the ChatGPT Free Guide. Remove any legacy title region. */
body.dhclean-single:has(#dhfree26) .dhclean-simple-title{display:none!important}
