body.single-post {
  --lp-primary: #0b7f33;
  --lp-secondary: #c22718;
  --lp-ink: #111;
  --lp-muted: #55655b;
  --lp-soft: #f4fbf5;
}
body.single-post #main-content {
  background:
    radial-gradient(
      920px 300px at 86% 0,
      rgba(194, 39, 24, 0.08),
      transparent 54%
    ),
    linear-gradient(180deg, #fbfbfa 0, #fff 42%);
  overflow-x: hidden;
}
body.single-post #main-content .articolo-blog,
body.single-post[class*="postid-"] #main-content .articolo-blog {
  padding: 0 0 72px !important;
  background: transparent !important;
}

.single-post #main-content .post-blog {
  width: min(80vw, 1576px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.single-post #main-content .info-blog,
body.single-post[class*="postid-"] #main-content .info-blog {
  position: relative !important;
  isolation: isolate;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(80vw, 1576px) !important;
  max-width: 1576px !important;
  min-height: 440px !important;
  padding: 72px 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 36px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.single-post #main-content .info-blog:before,
body.single-post[class*="postid-"] #main-content .info-blog:before {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  transform: none !important;
  filter: saturate(0.95) contrast(1.04) !important;
}
.single-post #main-content .info-blog .et_pb_post_title,
.single-post #main-content .et_pb_post_title {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 46px 54px !important;
  overflow: hidden;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 251, 249, 0.86)
    ) !important;
  backdrop-filter: blur(10px);
  box-shadow:
    0 30px 74px rgba(8, 18, 10, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}
.single-post #main-content .et_pb_post_title:before {
  content: "SDR BLOG";
  display: inline-flex;
  margin: 0 0 20px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(13, 141, 59, 0.12) !important;
  color: var(--lp-primary) !important;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1;
}
.single-post #main-content .info-blog h1.entry-title,
.single-post #main-content .et_pb_post_title .entry-title {
  max-width: 100% !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
  color: #101610 !important;
  font-size: clamp(34px, 3.2vw, 50px) !important;
  line-height: 1.08 !important;
  font-weight: 560 !important;
  letter-spacing: -0.035em !important;
  text-shadow: none !important;
  text-wrap: balance;
}
.single-post #main-content .post-blog {
  max-width: 1576px !important;
  overflow: hidden;
  border: 1px solid rgba(13, 141, 59, 0.1) !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 22px 54px rgba(16, 38, 64, 0.085) !important;
  padding: 46px 48px 54px !important;
}
.single-post
  #main-content
  .post-blog
  :is(.et_pb_section, .et_pb_row, .et_pb_column, .et_pb_module) {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.single-post #main-content .post-blog .et_pb_section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
}
.single-post
  #main-content
  .post-blog
  .et_pb_text_inner
  > :is(p, h2, h3, h4, ul, ol) {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.single-post #main-content .post-blog .et_pb_text_inner > p:has(img) {
  max-width: 100% !important;
  margin-bottom: 34px !important;
}
.single-post #main-content .post-blog .et_pb_text_inner > p:has(img) + p {
  color: #26352b !important;
  font-size: 20px !important;
  line-height: 1.72 !important;
}
.single-post #main-content .post-blog img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 420px;
  height: min(30vw, 420px) !important;
  object-fit: cover;
  border-radius: 22px !important;
  box-shadow: 0 18px 40px rgba(16, 38, 64, 0.11) !important;
}
.single-post #main-content .post-blog :is(p, li) {
  color: var(--lp-muted) !important;
  font-size: 18px;
  line-height: 1.74;
}
.single-post #main-content .post-blog p {
  margin: 0 0 18px !important;
}
.single-post #main-content .post-blog p:empty,
.single-post #main-content .post-blog p:has(> br:only-child),
.single-post #main-content .post-blog p.sdr-empty-paragraph {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.single-post #main-content .post-blog :is(h2, h3, h4) {
  color: var(--lp-ink) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
}
.single-post #main-content .post-blog h2 {
  margin-top: 46px !important;
  margin-bottom: 16px !important;
  font-size: clamp(30px, 3vw, 44px) !important;
}
.single-post #main-content .post-blog h3 {
  margin-top: 34px !important;
  margin-bottom: 14px !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
}
@media (max-width: 980px) {
  body.single-post,
  .single-post #page-container,
  .single-post #et-main-area,
  .single-post #main-content,
  .single-post #main-content .et_builder_inner_content {
    overflow-x: hidden !important;
  }
  .single-post #main-content .articolo-blog,
  body.single-post[class*="postid-"] #main-content .articolo-blog {
    padding: 0 0 48px !important;
  }
  .single-post #main-content .info-blog,
  body.single-post[class*="postid-"] #main-content .info-blog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-height: 340px !important;
    padding: 44px 0 !important;
    margin-bottom: 28px !important;
  }
  .single-post #main-content .info-blog .et_pb_post_title,
  .single-post #main-content .et_pb_post_title {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 24px !important;
    border-radius: 22px !important;
  }
  .single-post #main-content .info-blog h1.entry-title,
  .single-post #main-content .et_pb_post_title .entry-title {
    font-size: clamp(30px, 8.2vw, 42px) !important;
    line-height: 1.08 !important;
  }
  .single-post #main-content .post-blog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 26px 20px 32px !important;
    border-radius: 24px !important;
  }
  .single-post
    #main-content
    .post-blog
    .et_pb_text_inner
    > :is(p, h2, h3, h4, ul, ol) {
    max-width: 100%;
  }
  .single-post #main-content .post-blog .et_pb_text_inner > p:has(img) {
    margin-bottom: 24px !important;
  }
  .single-post #main-content .post-blog .et_pb_text_inner > p:has(img) + p {
    font-size: 17px !important;
    line-height: 1.7 !important;
  }
  .single-post #main-content .post-blog :is(p, li) {
    font-size: 16px;
    line-height: 1.68;
  }
  .single-post #main-content .post-blog img {
    max-height: 320px;
    height: auto !important;
    border-radius: 18px !important;
  }
}

/* SDR commercial-category related posts rail — 2026-05-06 */
.single-post #main-content .post-blog .sdr-related-category{
  clear:both!important;
  margin:54px 0 0!important;
  padding:34px!important;
  border:1px solid rgba(13,141,59,.11)!important;
  border-radius:28px!important;
  background:
    radial-gradient(520px 180px at 100% 0, rgba(13,141,59,.08), transparent 58%),
    linear-gradient(180deg,#fbfbfa,#fff)!important;
  box-shadow:0 18px 44px rgba(16,38,64,.07)!important;
  overflow:visible!important;
}
.single-post #main-content .post-blog .sdr-related-category__head{
  max-width:760px!important;
  margin:0 0 24px!important;
}
.single-post #main-content .post-blog .sdr-related-category__kicker{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:rgba(13,141,59,.1)!important;
  color:var(--lp-primary)!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.single-post #main-content .post-blog .sdr-related-category h2{
  margin:0 0 10px!important;
  color:#101610!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.single-post #main-content .post-blog .sdr-related-category__head > p:last-child{
  margin:0!important;
  color:#55655b!important;
  font-size:17px!important;
  line-height:1.65!important;
}
.single-post #main-content .post-blog .sdr-related-category__rail{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(280px,1fr)!important;
  gap:20px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:2px 2px 16px!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
}
.single-post #main-content .post-blog .sdr-related-category__card{
  min-width:0!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  border:1px solid rgba(17,17,17,.08)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(17,17,17,.07)!important;
}
.single-post #main-content .post-blog .sdr-related-category__media{
  display:block!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,rgba(13,141,59,.13),rgba(194,39,24,.08))!important;
}
.single-post #main-content .post-blog .sdr-related-category__media img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:0!important;
  box-shadow:none!important;
  transition:transform .25s ease!important;
}
.single-post #main-content .post-blog .sdr-related-category__card:hover .sdr-related-category__media img{
  transform:scale(1.035)!important;
}
.single-post #main-content .post-blog .sdr-related-category__placeholder{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  color:rgba(13,141,59,.38)!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.single-post #main-content .post-blog .sdr-related-category__body{
  padding:20px 20px 22px!important;
}
.single-post #main-content .post-blog .sdr-related-category__label{
  margin:0 0 10px!important;
  color:var(--lp-secondary)!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.single-post #main-content .post-blog .sdr-related-category__body h3{
  margin:0 0 10px!important;
  font-size:clamp(20px,1.8vw,25px)!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
.single-post #main-content .post-blog .sdr-related-category__body h3 a{
  color:#101610!important;
  text-decoration:none!important;
}
.single-post #main-content .post-blog .sdr-related-category__body h3 a:hover{
  color:var(--lp-primary)!important;
}
.single-post #main-content .post-blog .sdr-related-category__body > p:last-child{
  margin:0!important;
  color:#607168!important;
  font-size:15px!important;
  line-height:1.58!important;
}
@media (min-width:981px){
  .single-post #main-content .post-blog .sdr-related-category__rail{
    grid-auto-columns:calc((100% - 40px) / 3)!important;
  }
}
@media (max-width:980px){
  .single-post #main-content .post-blog .sdr-related-category{
    margin-top:36px!important;
    padding:24px 18px!important;
    border-radius:24px!important;
  }
  .single-post #main-content .post-blog .sdr-related-category__rail{
    grid-auto-columns:minmax(246px,82vw)!important;
    gap:14px!important;
    margin-left:-2px!important;
    margin-right:-2px!important;
  }
}

/* SDR single-post article template polish — 2026-05-21
 * Scope: blog article detail pages only. Aligns hero/content rhythm with the
 * current SDR visual system without touching Divi structure, DB, post content,
 * forms, VikRent, chat/WhatsApp widgets or production.
 */
body.single-post #main-content .articolo-blog,
body.single-post[class*="postid-"] #main-content .articolo-blog{
  padding-bottom:clamp(64px,6.5vw,92px)!important;
}
body.single-post #main-content .articolo-blog::before,
body.single-post[class*="postid-"] #main-content .articolo-blog::before{
  height:clamp(390px,40vw,520px)!important;
  min-height:390px!important;
  background-position:center center!important;
  filter:saturate(.96) contrast(1.05)!important;
}
body.single-post #main-content .articolo-blog::after,
body.single-post[class*="postid-"] #main-content .articolo-blog::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:clamp(390px,40vw,520px)!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(560px 240px at 16% 18%,rgba(197,58,26,.18),transparent 58%),
    linear-gradient(90deg,rgba(7,45,24,.26),rgba(7,45,24,.08) 52%,rgba(7,45,24,.30))!important;
}
.single-post #main-content .info-blog,
body.single-post[class*="postid-"] #main-content .info-blog{
  min-height:clamp(390px,40vw,520px)!important;
  padding:clamp(58px,7vw,94px) 0 clamp(54px,6vw,82px)!important;
  margin-bottom:clamp(34px,4vw,54px)!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
.single-post #main-content .info-blog .et_pb_column{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
}
.single-post #main-content .info-blog .et_pb_post_title,
.single-post #main-content .et_pb_post_title{
  width:min(760px,72%)!important;
  max-width:760px!important;
  margin:0!important;
  padding:36px 40px 38px!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.93)!important;
  background-image:none!important;
  box-shadow:0 28px 72px rgba(7,45,24,.22), inset 0 1px 0 rgba(255,255,255,.92)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  backdrop-filter:blur(14px)!important;
}
.single-post #main-content .et_pb_post_title .et_pb_title_container{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
.single-post #main-content .et_pb_post_title::before{
  content:"SDR BLOG"!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:32px!important;
  margin:0 0 18px!important;
  padding:8px 13px!important;
  border:1px solid rgba(197,58,26,.20)!important;
  border-radius:999px!important;
  background:#fff7ef!important;
  color:#7f2a16!important;
  box-shadow:0 8px 18px rgba(82,36,16,.055)!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  line-height:1!important;
}
.single-post #main-content .et_pb_post_title::after{
  content:"Guida SDR · Roma e provincia"!important;
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:18px 0 0!important;
  padding-top:16px!important;
  border-top:1px solid rgba(13,91,42,.12)!important;
  color:#64746a!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:650!important;
  letter-spacing:.01em!important;
}
.single-post #main-content .info-blog h1.entry-title,
.single-post #main-content .et_pb_post_title .entry-title{
  max-width:720px!important;
  color:#102719!important;
  font-size:clamp(34px,3vw,48px)!important;
  line-height:1.06!important;
  font-weight:650!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
}
.single-post #main-content .post-blog{
  background:
    radial-gradient(420px 220px at 100% 0%,rgba(11,123,53,.05),transparent 64%),
    linear-gradient(180deg,#ffffff 0%,#fbfffc 100%)!important;
  border-color:rgba(13,91,42,.14)!important;
  box-shadow:0 22px 58px rgba(13,35,22,.10), inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.single-post #main-content .post-blog .et_pb_text_inner > p:first-child:has(img){
  display:none!important;
}
.single-post #main-content .post-blog .et_pb_text_inner > p:first-child:has(img) + p,
.single-post #main-content .post-blog .et_pb_text_inner > p:first-child:not(:has(img)){
  margin:0 0 28px!important;
  padding:24px 26px!important;
  border:1px solid rgba(13,91,42,.12)!important;
  border-radius:24px!important;
  background:#f8fff9!important;
  color:#26352b!important;
  font-size:20px!important;
  line-height:1.62!important;
  box-shadow:0 12px 26px rgba(13,35,22,.055)!important;
}
.single-post #main-content .post-blog :is(h2,h3,h4){
  position:relative!important;
  color:#102719!important;
  letter-spacing:-.035em!important;
}
.single-post #main-content .post-blog h3{
  margin-top:42px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(13,91,42,.10)!important;
  font-size:clamp(24px,2.1vw,34px)!important;
}
.single-post #main-content .post-blog h3::before{
  content:""!important;
  position:absolute!important;
  top:-1px!important;
  left:0!important;
  width:70px!important;
  height:3px!important;
  border-radius:999px!important;
  background:#c53a1a!important;
}
.single-post #main-content .post-blog a{
  color:#0b7b35!important;
  font-weight:700!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}

@media(max-width:980px){
  body.single-post #main-content .articolo-blog::before,
  body.single-post[class*="postid-"] #main-content .articolo-blog::before,
  body.single-post #main-content .articolo-blog::after,
  body.single-post[class*="postid-"] #main-content .articolo-blog::after{
    height:340px!important;
    min-height:340px!important;
  }
  .single-post #main-content .info-blog,
  body.single-post[class*="postid-"] #main-content .info-blog{
    min-height:340px!important;
    padding:38px 0 42px!important;
    margin-bottom:28px!important;
  }
  .single-post #main-content .info-blog .et_pb_post_title,
  .single-post #main-content .et_pb_post_title{
    width:100%!important;
    max-width:100%!important;
    padding:28px 24px 30px!important;
    border-radius:24px!important;
  }
  .single-post #main-content .info-blog h1.entry-title,
  .single-post #main-content .et_pb_post_title .entry-title{
    font-size:clamp(29px,8vw,40px)!important;
    line-height:1.08!important;
  }
  .single-post #main-content .et_pb_post_title::after{
    font-size:13px!important;
  }
  .single-post #main-content .post-blog .et_pb_text_inner > p:first-child:has(img) + p,
  .single-post #main-content .post-blog .et_pb_text_inner > p:first-child:not(:has(img)){
    padding:20px 18px!important;
    border-radius:20px!important;
    font-size:17px!important;
    line-height:1.62!important;
  }
}

@media(max-width:480px){
  .single-post #main-content .et_pb_post_title::before{
    font-size:11px!important;
  }
  .single-post #main-content .et_pb_post_title::after{
    width:100%!important;
  }
}

/* SDR single-post body single-shell correction — 2026-05-21
 * Claudio follow-up: avoid the body/content card-within-card perception.
 * The Divi row .post-blog becomes structural; the inner text wrapper owns the only visible article surface.
 */
.single-post #main-content .post-blog{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  overflow:visible!important;
}
.single-post #main-content .post-blog > .et_pb_column,
.single-post #main-content .post-blog > .et_pb_column > .et_pb_module,
.single-post #main-content .post-blog .et_pb_text{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.single-post #main-content .post-blog .et_pb_text_inner{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:46px 48px 54px!important;
  border:1px solid rgba(20,37,27,.11)!important;
  border-radius:30px!important;
  background:
    radial-gradient(360px 220px at 100% 0%,rgba(8,117,54,.043),transparent 64%),
    linear-gradient(180deg,#ffffff 0%,#f7fbf7 100%)!important;
  box-shadow:0 16px 38px rgba(13,35,22,.075)!important;
  overflow:hidden!important;
}
.single-post #main-content .post-blog .et_pb_text_inner > p:first-child:has(img) + p,
.single-post #main-content .post-blog .et_pb_text_inner > p:first-child:not(:has(img)){
  padding:0 0 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:980px){
  .single-post #main-content .post-blog .et_pb_text_inner{
    padding:28px 20px 34px!important;
    border-radius:24px!important;
  }
}

/* SDR single-post hero full-width card + no left badge — 2026-05-21
 * Claudio follow-up: hero card must align to the same content width as the article body.
 * Remove the decorative left/eyebrow pill; keep the title container structural.
 */
.single-post #main-content .info-blog .et_pb_column{
  width:100%!important;
  max-width:100%!important;
}
.single-post #main-content .info-blog .et_pb_post_title,
.single-post #main-content .et_pb_post_title{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
}
.single-post #main-content .et_pb_post_title::before{
  content:none!important;
  display:none!important;
}
.single-post #main-content .et_pb_post_title .et_pb_title_container{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* SDR single-post hero left overlay dot fix — 2026-05-21
 * Remove residual rounded pseudo-overlay on the left side of the hero.
 */
body.single-post #main-content .articolo-blog::after,
body.single-post[class*="postid-"] #main-content .articolo-blog::after{
  left:0!important;
  right:0!important;
  width:auto!important;
  max-width:none!important;
  border-radius:0!important;
}

/* SDR single-post hero grey divider removal — 2026-05-21
 * Remove the thin grey divider under the title/meta line in the hero card.
 */
.single-post #main-content .et_pb_post_title::after{
  border-top:0!important;
  padding-top:0!important;
}


/* SDR single-post hero background seam fix — 2026-05-21
 * Keep the photographic hero layer as tall as the overlay/hero area so no grey seam appears below the hero image.
 */
html body.single.single-post #page-container #et-main-area #main-content .articolo-blog::before{
  height:clamp(390px,40vw,520px)!important;
  min-height:390px!important;
}
@media(max-width:980px){
  html body.single.single-post #page-container #et-main-area #main-content .articolo-blog::before{
    height:340px!important;
    min-height:340px!important;
  }
}
