/* DVM Blog Enhancement Styles — vatsalyamamta.in inspired */
:root{
  --dvm-purple:#9b59b6;
  --dvm-purple-dark:#7d3c98;
  --dvm-purple-light:#f4ecf7;
  --dvm-text:#2c2c2c;
  --dvm-muted:#6b6b6b;
  --dvm-border:#e7dcee;
  --dvm-card-radius:14px;
}

/* ===== POST CARDS — horizontal layout like vatsalyamamta.in ===== */
.elementor-posts-container .elementor-post{
  display:flex !important;
  flex-direction:row !important;
  border-radius:var(--dvm-card-radius) !important;
  overflow:hidden !important;
  border:1px solid var(--dvm-border) !important;
  box-shadow:0 2px 14px rgba(155,89,182,.08) !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
  background:#fff !important;
  margin-bottom:24px !important;
}
.elementor-posts-container .elementor-post:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 10px 28px rgba(155,89,182,.16) !important;
}

/* Thumbnail — left side, fixed width, FULL image no crop */
.elementor-post .elementor-post__thumbnail__link{
  flex:0 0 38% !important;
  max-width:38% !important;
  display:block !important;
  position:relative !important;
  overflow:visible !important;
  aspect-ratio:auto !important;
  height:auto !important;
}
.elementor-post .elementor-post__thumbnail{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
}
.elementor-post .elementor-post__thumbnail img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block !important;
  transition:transform .3s ease !important;
}
.elementor-post:hover .elementor-post__thumbnail img{
  transform:scale(1.06) !important;
}

/* Category badge overlay on thumbnail */
.elementor-post .elementor-post__badge{
  position:absolute !important;
  bottom:12px !important;
  right:12px !important;
  background:var(--dvm-purple) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  padding:5px 14px !important;
  border-radius:20px !important;
  z-index:2 !important;
  letter-spacing:.02em !important;
}

/* Text content — right side */
.elementor-post .elementor-post__text{
  flex:1 !important;
  padding:20px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}

/* Author byline */
.elementor-post .elementor-post__meta-data{
  order:-1 !important;
  margin-bottom:6px !important;
  font-size:13px !important;
  color:var(--dvm-muted) !important;
}
.elementor-post .elementor-post-author,
.elementor-post .elementor-post-date{
  color:var(--dvm-muted) !important;
}

/* Title */
.elementor-post .elementor-post__title{
  margin:0 0 10px !important;
  font-size:18px !important;
  line-height:1.35 !important;
}
.elementor-post .elementor-post__title a{
  color:var(--dvm-text) !important;
  font-weight:700 !important;
  text-decoration:none !important;
  transition:color .15s !important;
}
.elementor-post .elementor-post__title a:hover{
  color:var(--dvm-purple) !important;
}

/* Excerpt */
.elementor-post .elementor-post__excerpt{
  color:var(--dvm-muted) !important;
  font-size:14px !important;
  line-height:1.55 !important;
  margin-bottom:12px !important;
}
.elementor-post .elementor-post__excerpt p{margin:0 !important;}

/* Continue Reading button */
.elementor-post .elementor-post__read-more{
  display:inline-block !important;
  background:var(--dvm-purple) !important;
  color:#fff !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  padding:9px 22px !important;
  border-radius:8px !important;
  text-decoration:none !important;
  transition:background .15s ease !important;
  align-self:flex-start !important;
  margin-top:auto !important;
}
.elementor-post .elementor-post__read-more:hover{
  background:var(--dvm-purple-dark) !important;
}

/* Remove Elementor grid gap — we control spacing ourselves */
.elementor-posts-container.elementor-posts--skin-classic{
  display:block !important;
}
.elementor-posts-container .elementor-post.elementor-grid-item{
  width:100% !important;
}

/* ===== MOBILE POST CARDS — stack vertically ===== */
@media (max-width:768px){
  .elementor-posts-container .elementor-post{
    flex-direction:column !important;
    margin-bottom:20px !important;
  }
  .elementor-post .elementor-post__thumbnail__link{
    flex:none !important;
    max-width:100% !important;
    width:100% !important;
  }
  .elementor-post .elementor-post__thumbnail{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
  }
  .elementor-post .elementor-post__thumbnail__link{
    aspect-ratio:auto !important;
    height:auto !important;
    overflow:visible !important;
  }
  .elementor-post .elementor-post__thumbnail img{
    object-fit:contain !important;
    height:auto !important;
    aspect-ratio:auto !important;
  }
  .elementor-post .elementor-post__text{
    padding:16px !important;
  }
  .elementor-post .elementor-post__title{
    font-size:16px !important;
  }
}

/* ===== FLEX LAYOUT: content + sidebar (single posts) ===== */
.dvm-flex-layout{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:32px !important;
  align-items:flex-start !important;
  width:100% !important;
}
.dvm-flex-layout > .dvm-main-col{
  flex:1 1 640px !important;
  min-width:0 !important;
  max-width:100% !important;
}
.dvm-sidebar{
  flex:0 0 300px !important;
  max-width:300px !important;
  width:300px !important;
  position:sticky !important;
  top:20px !important;
}
@media (max-width:900px){
  .dvm-flex-layout{display:block !important;}
  .dvm-sidebar{max-width:100% !important;width:100% !important;flex:none !important;position:static !important;margin-top:32px !important;}
}

/* Hide Elementor's broken sidebar column (form+recent posts) on single posts */
.single-post .elementor-element-a915e02{
  display:none !important;
}
/* Make main content column full width after sidebar hidden */
.single-post .elementor-element-28ff8ad > .elementor-container > .elementor-column:not(.elementor-element-a915e02){
  width:100% !important;
}

/* ===== SIDEBAR WIDGETS ===== */
.dvm-widget{
  background:#fff;
  border:1px solid var(--dvm-border);
  border-radius:12px;
  padding:20px;
  margin-bottom:24px;
  box-shadow:0 2px 10px rgba(155,89,182,.06);
}

/* Fix Elementor sidebar empty white space */
.elementor-widget-wrap > .elementor-element:last-child{
  margin-bottom:0 !important;
}
.elementor-column.elementor-col-25,
.elementor-column.elementor-col-33,
.elementor-column.elementor-col-30{
  height:auto !important;
  min-height:0 !important;
  align-self:flex-start !important;
}
.elementor-row,
.elementor-container{
  align-items:flex-start !important;
}
.elementor-section.elementor-section-height-default > .elementor-container{
  align-items:flex-start !important;
}
.dvm-widget h3{
  margin:0 0 14px;
  font-size:17px;
  font-weight:700;
  color:var(--dvm-text);
  border-bottom:2px solid var(--dvm-purple);
  padding-bottom:8px;
}
.dvm-search-widget form{display:flex;gap:8px;}
.dvm-search-widget input[type=search]{
  flex:1;border:1px solid var(--dvm-border);border-radius:8px;padding:10px 12px;font-size:14px;
}
.dvm-search-widget input[type=submit]{
  background:var(--dvm-purple);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer;
}
.dvm-search-widget input[type=submit]:hover{background:var(--dvm-purple-dark);}
.dvm-cat-widget ul{list-style:none;margin:0;padding:0;}
.dvm-cat-widget li{border-bottom:1px solid var(--dvm-border);}
.dvm-cat-widget li:last-child{border-bottom:none;}
.dvm-cat-widget a{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 4px;color:var(--dvm-text);text-decoration:none;font-size:14.5px;
  transition:color .15s;
}
.dvm-cat-widget a:hover{color:var(--dvm-purple);}
.dvm-cat-widget em{
  background:var(--dvm-purple-light);color:var(--dvm-purple-dark);
  font-style:normal;font-size:12.5px;font-weight:700;padding:2px 9px;border-radius:20px;
}

/* ===== RECENT/POPULAR TABS WIDGET ===== */
.dvm-tabs-widget{
  background:#fff;
  border:1px solid var(--dvm-border);
  border-radius:12px;
  padding:18px;
  margin-bottom:24px;
  box-shadow:0 2px 10px rgba(155,89,182,.06);
}
.dvm-tabs-nav{
  display:flex;
  gap:4px;
  margin-bottom:14px;
  border-bottom:2px solid var(--dvm-border);
}
.dvm-tab-btn{
  flex:1;
  background:none;
  border:none;
  padding:8px 10px;
  font-size:14px;
  font-weight:700;
  color:var(--dvm-muted);
  cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  transition:color .15s;
}
.dvm-tab-btn.active{
  color:var(--dvm-purple);
  border-bottom-color:var(--dvm-purple);
}
.dvm-tab-content{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.dvm-tab-item{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
}
.dvm-tab-thumb{
  flex:0 0 60px;
  width:60px;
  height:60px;
  border-radius:8px;
  overflow:hidden;
  background:var(--dvm-purple-light);
}
.dvm-tab-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.dvm-tab-item span{
  font-size:13.5px;
  font-weight:600;
  color:var(--dvm-text);
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dvm-tab-item:hover span{
  color:var(--dvm-purple);
}

/* ===== AUTHOR BOX ===== */
.dvm-author-box{
  display:flex;gap:18px;align-items:flex-start;
  background:var(--dvm-purple-light);
  border:1px solid var(--dvm-border);
  border-radius:14px;padding:22px;margin:36px 0;
}
.dvm-author-avatar img{border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.1);}
.dvm-author-label{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--dvm-purple-dark);font-weight:700;}
.dvm-author-info h4{margin:4px 0 8px;font-size:19px;color:var(--dvm-text);}
.dvm-author-info p{margin:0;color:var(--dvm-muted);font-size:14.5px;line-height:1.6;}
@media (max-width:700px){
  .dvm-author-box{flex-direction:column;text-align:center;align-items:center;}
}

/* ===== RELATED POSTS — stylish cards ===== */
.dvm-related-posts{
  margin:40px 0;
  padding:30px;
  background:var(--dvm-purple-light);
  border-radius:16px;
}
.dvm-related-posts h3{
  font-size:22px;
  margin-bottom:20px;
  color:var(--dvm-purple-dark);
  font-weight:800;
}
.dvm-related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.dvm-related-card{
  display:block;
  text-decoration:none;
  border:none;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 3px 16px rgba(155,89,182,.1);
  transition:transform .2s ease, box-shadow .2s ease;
}
.dvm-related-card:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 28px rgba(155,89,182,.2);
}
.dvm-related-thumb{
  overflow:hidden;
}
.dvm-related-thumb img{
  width:100% !important;
  height:160px !important;
  object-fit:cover !important;
  display:block !important;
  transition:transform .3s ease;
}
.dvm-related-card:hover .dvm-related-thumb img{
  transform:scale(1.06);
}
.dvm-related-card span{
  display:block;
  padding:14px 16px;
  font-size:14.5px;
  font-weight:700;
  color:var(--dvm-text);
  line-height:1.4;
}
.dvm-related-card::after{
  content:'Read More \2192';
  display:block;
  padding:0 16px 14px;
  font-size:13px;
  font-weight:700;
  color:var(--dvm-purple);
}
@media (max-width:768px){
  .dvm-related-grid{grid-template-columns:1fr;}
  .dvm-related-posts{padding:20px;margin:24px 0;}
}

/* ===== SINGLE POST: hide Elementor sidebar, use DVM sidebar ===== */
.single-post .elementor-location-single .elementor-col-25,
.single-post .elementor-location-single .elementor-col-33{
  display:none !important;
}
.single-post .elementor-location-single .elementor-col-75,
.single-post .elementor-location-single .elementor-col-66{
  width:100% !important;
  max-width:100% !important;
}

/* ===== BLOG BANNER / BREADCRUMBS ===== */
.dvm-social{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.dvm-breadcrumb{
  text-align:center;
  margin-top:10px;
  margin-bottom:0;
  font-size:0;
  letter-spacing:.03em;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
}
.dvm-breadcrumb a{
  color:rgba(255,255,255,.9) !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:500;
  background:rgba(255,255,255,.15);
  padding:6px 16px;
  border-radius:20px 0 0 20px;
  transition:background .15s;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.dvm-breadcrumb a:hover{
  background:rgba(255,255,255,.28) !important;
}
.dvm-breadcrumb a::before{
  content:'\2302';
  font-size:16px;
}
.dvm-breadcrumb .dvm-bc-sep{
  color:rgba(255,255,255,.5);
  font-size:14px;
  background:rgba(255,255,255,.1);
  padding:6px 8px;
}
.dvm-breadcrumb .dvm-bc-current{
  color:#fff;
  font-weight:700;
  font-size:14px;
  background:rgba(255,255,255,.18);
  padding:6px 16px;
  border-radius:0 20px 20px 0;
}
@media (max-width:768px){
  .dvm-breadcrumb a, .dvm-breadcrumb .dvm-bc-sep, .dvm-breadcrumb .dvm-bc-current{
    font-size:12.5px;
    padding:5px 12px;
  }
  .dvm-breadcrumb .dvm-bc-current{
    max-width:140px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

/* Banner heading responsive on mobile (single posts + blog listing) */
@media (max-width:768px){
  .elementor-heading-title{
    font-size:26px !important;
    line-height:1.3 !important;
  }
}
@media (max-width:480px){
  .elementor-heading-title{
    font-size:22px !important;
  }
}

/* ===== FLOATING WhatsApp + Call ===== */
.dvm-float-actions{
  position:fixed;right:20px;bottom:20px;z-index:9999;
  display:flex;flex-direction:column;gap:12px;
}
.dvm-float-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:56px;height:56px;border-radius:50%;color:#fff;text-decoration:none;
  box-shadow:0 4px 14px rgba(0,0,0,.22);transition:transform .15s ease;
}
.dvm-float-btn:hover{transform:scale(1.08);}
.dvm-float-btn span{display:none;}
.dvm-float-whatsapp{background:#25D366;}
.dvm-float-call{background:var(--dvm-purple);}
@media (max-width:768px){
  .dvm-float-actions{
    left:0;right:0;bottom:0;flex-direction:row;gap:0;
    background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.12);
  }
  .dvm-float-btn{
    flex:1;width:auto;height:54px;border-radius:0;gap:8px;
  }
  .dvm-float-btn span{display:inline;font-size:14px;font-weight:700;}
  body{padding-bottom:54px;}
}
