
/* ==========================================================
   PET FAREWELL - ARTICLE / SERVICE DETAIL
   Desktop 2 cột theo phong cách trang mẫu DNC Media
   ========================================================== */
.detail-hero{
  position:relative;
  overflow:hidden;
  padding:58px 0 48px;
  border-bottom:1px solid rgba(35,77,58,.08);
  background:
    radial-gradient(circle at 85% 18%,rgba(183,122,52,.10),transparent 22%),
    radial-gradient(circle at 12% 78%,rgba(49,95,72,.09),transparent 25%),
    linear-gradient(135deg,#fffdf8 0%,#f6f1e8 52%,#edf5f0 100%);
}
.detail-hero-inner{max-width:1180px}
.detail-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:13px;
  color:#a46f36;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
}
.detail-kicker::before{content:"";width:34px;height:2px;background:#b77a34}
.detail-hero h1{
  max-width:980px;
  margin:0;
  color:#22352c;
  font-size:clamp(34px,4vw,54px);
  line-height:1.11;
  letter-spacing:-.03em;
}
.detail-hero p{
  max-width:900px;
  margin:16px 0 0;
  color:#667169;
  font-size:16px;
  line-height:1.7;
}
.detail-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
  color:#869087;
  font-size:12px;
}
.detail-breadcrumb a{color:#4d6c5a}
.detail-breadcrumb strong{font-weight:700;color:#778079}

.detail-page{
  background:
    radial-gradient(circle at 100% 25%,rgba(49,95,72,.055),transparent 23%),
    linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 345px;
  gap:34px;
  align-items:start;
  max-width:1280px;
}
.detail-main{
  min-width:0;
  padding:0;
}
.detail-featured-wrap{
  margin:0 0 24px;
  overflow:hidden;
  border-radius:18px;
  background:#f5f5f2;
  border:1px solid #ece7dc;
  box-shadow:0 18px 48px rgba(42,61,51,.08);
}
.detail-featured{
  display:block;
  width:100%;
  max-height:560px;
  object-fit:cover;
}

/* TOC mặc định ẩn */
.article-toc{
  margin:0 0 28px;
  border:1px solid #dfddd5;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(39,59,49,.05);
}
.article-toc summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  min-height:58px;
  padding:0 18px;
  border-left:4px solid #315f48;
  color:#234334;
  font-weight:900;
}
.article-toc summary::-webkit-details-marker{display:none}
.article-toc summary::after{
  content:"+";
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  margin-left:auto;
  border-radius:8px;
  color:#315f48;
  border:1px solid #d9e2dc;
  background:#f7faf8;
  font-size:19px;
  transition:.25s ease;
}
.article-toc[open] summary::after{
  content:"−";
  transform:rotate(180deg);
}
.toc-title{font-size:15px}
.toc-toggle-text{
  display:flex;
  align-items:center;
  gap:3px;
  margin-left:auto;
  color:#9a774d;
  font-size:11px;
}
.toc-toggle-text i{display:none;font-style:normal}
.article-toc[open] .toc-toggle-text b{display:none}
.article-toc[open] .toc-toggle-text i{display:block}
.article-toc-body{
  padding:8px 20px 18px;
  border-top:1px solid #efebe3;
  background:linear-gradient(180deg,#fff,#fdfbf7);
}
.article-toc ol{
  margin:5px 0 0;
  padding-left:21px;
}
.article-toc li{
  margin:9px 0;
  color:#66766c;
  line-height:1.55;
}
.article-toc li.toc-h3{
  margin-left:18px;
  font-size:14px;
}
.article-toc a{color:#3f5d4c}
.article-toc a:hover{color:#a66f35;text-decoration:underline}

/* Nội dung */
.detail-content{
  color:#333d37;
  font-size:16px;
  line-height:1.82;
}
.detail-content h2,
.detail-content h3{
  scroll-margin-top:110px;
  color:#203b2e;
  line-height:1.28;
}
.detail-content h2{
  margin:34px 0 14px;
  font-size:29px;
  letter-spacing:-.02em;
}
.detail-content h3{
  margin:27px 0 12px;
  font-size:22px;
}
.detail-content p{margin:0 0 17px}
.detail-content ul,
.detail-content ol{margin:0 0 20px;padding-left:24px}
.detail-content li{margin:7px 0}
.detail-content img{
  display:block;
  max-width:100%;
  height:auto;
  margin:23px auto;
  border-radius:12px;
}
.detail-content table{
  width:100%;
  border-collapse:collapse;
  margin:22px 0;
  overflow:hidden;
  border-radius:10px;
}
.detail-content th,
.detail-content td{
  padding:11px 12px;
  border:1px solid #e4e1d9;
}
.detail-content th{background:#edf4ef;color:#274a38}
.detail-content blockquote{
  margin:22px 0;
  padding:17px 20px;
  border-left:4px solid #b77a34;
  border-radius:0 10px 10px 0;
  background:#fbf6ed;
  color:#5e5b52;
}

/* Sidebar */
.detail-sidebar{
  position:sticky;
  top:108px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.related-box,
.sidebar-contact-card{
  border:1px solid #e5e0d6;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 42px rgba(34,55,44,.07);
  overflow:hidden;
}
.related-box{padding:20px}
.related-box-head{
  padding-bottom:13px;
  margin-bottom:6px;
  border-bottom:1px solid #eee9df;
}
.related-box-head small,
.sidebar-contact-card>small,
.detail-feedback small{
  color:#a46f36;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}
.related-box-head h2{
  margin:4px 0 0;
  font-size:22px;
  color:#263c31;
}
.related-list{display:flex;flex-direction:column}
.related-item{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid #eeeae2;
  color:#253b30;
}
.related-item:last-child{border-bottom:0}
.related-thumb{
  display:block;
  width:92px;
  height:66px;
  overflow:hidden;
  border-radius:9px;
  background:#f2f2ef;
}
.related-thumb img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.related-copy strong{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13px;
  line-height:1.42;
}
.related-copy small{
  display:block;
  margin-top:7px;
  color:#929891;
  font-size:10px;
}
.related-item:hover .related-thumb img{transform:scale(1.06)}
.related-item:hover strong{color:#a66f35}
.related-more{
  display:flex;
  justify-content:center;
  margin-top:12px;
  padding:10px;
  border-radius:9px;
  background:#f3f7f4;
  color:#315f48;
  font-size:12px;
  font-weight:850;
}
.related-empty{font-size:13px;color:#7f887f}

.sidebar-contact-card{
  padding:21px;
  background:
    radial-gradient(circle at 90% 10%,rgba(183,122,52,.14),transparent 27%),
    linear-gradient(145deg,#1d4937,#2f684c);
  color:#fff;
}
.sidebar-contact-card>small{color:#e6bd80}
.sidebar-contact-card h3{margin:6px 0 8px;font-size:24px;color:#fff}
.sidebar-contact-card p{margin:0 0 15px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.6}
.sidebar-contact-card .btn{
  width:100%;
  justify-content:center;
  background:#d7b070;
  border-color:#d7b070;
  color:#173d2f;
}

/* Rating + share cuối bài */
.detail-feedback{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:38px;
  padding-top:26px;
  border-top:1px solid #e5e0d7;
}
.detail-rating,
.detail-share{
  border:1px solid #e5e0d7;
  border-radius:14px;
  background:#fff;
  padding:19px;
  box-shadow:0 10px 28px rgba(34,55,44,.045);
}
.detail-rating h3{margin:5px 0 13px;font-size:18px;color:#2b4035}
.rating-stars{display:flex;gap:5px}
.rating-stars button{
  border:0;
  background:transparent;
  color:#d8d8d4;
  font-size:29px;
  line-height:1;
  cursor:pointer;
  padding:2px;
  transition:.2s ease;
}
.rating-stars button:hover,
.rating-stars button.active{color:#e4ad43;transform:translateY(-2px)}
.rating-note{margin-top:8px;color:#8b918b;font-size:11px}
.detail-share>small{display:block;margin-bottom:11px}
.share-buttons{display:flex;flex-wrap:wrap;gap:8px}
.share-buttons a,
.share-buttons button{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #dfe2dd;
  border-radius:9px;
  background:#fff;
  color:#315f48;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.share-buttons a:hover,
.share-buttons button:hover{
  border-color:#a9c0b1;
  background:#f1f6f3;
}
.share-facebook{color:#315b9e!important}
.share-zalo{color:#0877d1!important}
.share-x{color:#1d1d1d!important}

.detail-service-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:34px;
  padding:22px;
  border-radius:16px;
  background:
    radial-gradient(circle at 85% 20%,rgba(183,122,52,.16),transparent 24%),
    linear-gradient(135deg,#edf5ef,#fbf7ed);
  border:1px solid #dfe6df;
}
.detail-service-cta small{display:block;color:#a46f36;font-size:10px;font-weight:900;letter-spacing:.13em}
.detail-service-cta strong{display:block;margin:4px 0;color:#284536;font-size:20px}
.detail-service-cta span{display:block;color:#727e76;font-size:13px}

@media(max-width:980px){
  .detail-layout{grid-template-columns:1fr}
  .detail-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .detail-hero{padding:38px 0 32px}
  .detail-hero h1{font-size:31px}
  .detail-hero p{font-size:14px}
  .detail-page{padding-top:28px}
  .detail-layout{gap:24px}
  .detail-sidebar{grid-template-columns:1fr}
  .detail-feedback{grid-template-columns:1fr}
  .detail-service-cta{align-items:flex-start;flex-direction:column}
  .detail-content{font-size:15px;line-height:1.75}
  .detail-content h2{font-size:24px}
  .detail-content h3{font-size:20px}
  .related-item{grid-template-columns:104px minmax(0,1fr)}
  .related-thumb{width:104px;height:73px}
}
