/* ══ GALLERY ══ */
.gallery-main-swiper { border-radius:14px; overflow:hidden; }
.gallery-main-swiper .swiper-slide img { width:100%; height:300px; object-fit:cover; display:block; }
@media(min-width:640px)  { .gallery-main-swiper .swiper-slide img { height:390px; } }
@media(min-width:1024px) { .gallery-main-swiper .swiper-slide img { height:460px; } }
.gallery-thumb-swiper .swiper-slide { border-radius:8px; overflow:hidden; cursor:pointer; opacity:.6; transition:opacity .2s; border:2px solid transparent; }
.gallery-thumb-swiper .swiper-slide-thumb-active { opacity:1; border-color:var(--green, #1a6b2f); }
.gallery-thumb-swiper .swiper-slide img { width:100%; height:64px; object-fit:cover; display:block; }
.img-counter { position:absolute; bottom:12px; right:12px; background:rgba(0,0,0,.5); color:#fff; font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; z-index:10; pointer-events:none; }
.gallery-main-swiper .swiper-button-next,
.gallery-main-swiper .swiper-button-prev { color:#fff !important; background:rgba(0,0,0,.38); width:36px !important; height:36px !important; border-radius:50%; }
.gallery-main-swiper .swiper-button-next::after,
.gallery-main-swiper .swiper-button-prev::after { font-size:12px !important; font-weight:900; }

/* ══ SECTION HEADING ══ */
.sec-heading { font-size:16px; font-weight:800; color:#111827; padding-bottom:10px; border-bottom:2px solid #e8f5ec; margin-bottom:14px; }

/* ══ TITLE BLOCK ══ */
.tag-hot { background:#dc2626; color:#fff; font-size:10px; font-weight:800; padding:2px 8px; border-radius:4px; }
.tag-moi { background:#1a6b2f; color:#fff; font-size:10px; font-weight:800; padding:2px 8px; border-radius:4px; }
.info-stat { display:flex; flex-direction:column; align-items:center; padding:8px 6px; text-align:center; }
.info-stat+.info-stat { border-left:1px solid #e5e7eb; }

/* ══ DETAIL TABLE ══ */
.dtable tr td { padding:8px 4px; font-size:13px; border-bottom:1px solid #f3f4f6; vertical-align:top; }
.dtable tr:last-child td { border-bottom:none; }
.dtable td:first-child { color:#6b7280; width:50%; }
.dtable td:last-child { font-weight:600; color:#111827; }

/* ══ BUTTONS ══ */
.btn-green { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px; background:#1a6b2f; color:#fff; border-radius:10px; font-weight:700; font-size:14px; transition:background .2s; cursor:pointer; border:none; }
.btn-green:hover { background:#145524; color: #fff; }
.btn-border { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:11px; border:1.5px solid #1a6b2f; color:#1a6b2f; border-radius:10px; font-weight:600; font-size:14px; background:#fff; transition:background .2s; cursor:pointer; }
.btn-border:hover { background:#e8f5ec; }

/* ══ SIDEBAR ══ */
.sidebar-card { background:#fff; border-radius:14px; border:1px solid #e5e7eb; overflow:hidden; }
.agent-avatar { width:54px; height:54px; border-radius:50%; object-fit:cover; border:2px solid #e8f5ec; flex-shrink:0; }
.online-dot { display:inline-block; width:8px; height:8px; background:#22c55e; border-radius:50%; margin-right:4px; }
.sim-card { display:flex; gap:10px; padding:10px; border-radius:10px; border:1px solid #f0f0f0; background:#fff; cursor:pointer; transition:box-shadow .2s; }
.sim-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.09); }
.sim-card img { width:82px; height:64px; object-fit:cover; border-radius:8px; flex-shrink:0; }

/* ══ SIMILAR SWIPER (mobile) ══ */
.proj-card { border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.07); transition:transform .2s; }
.proj-card:hover { transform:translateY(-3px); }
.proj-card img { width:100%; height:160px; object-fit:cover; display:block; }
.proj-swiper .swiper-pagination-bullet { background:#9ca3af; }
.proj-swiper .swiper-pagination-bullet-active { background:#1a6b2f; }

/* ══ MOBILE STICKY CTA ══ */
.mobile-cta { position:fixed; bottom:0; left:0; right:0; z-index:90; background:#fff; border-top:1px solid #e5e7eb; padding:10px 16px 14px; display:flex; gap:10px; }
@media(min-width:1024px) { .mobile-cta { display:none; } }

/* ══ FADE ANIMATION ══ */
.fade-up { opacity:0; transform:translateY(20px); transition:opacity .45s ease, transform .45s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ══ OTHER ══ */
.content-area p { margin-bottom: 12px; }
.content-area img { max-width: 100%; height: auto; border-radius: 8px; margin: 12px 0; }
.content-area ul { list-style-type: disc; padding-left: 20px; margin-bottom: 12px; }
