/* =========================================================
   BLOG DETAILS — TEXT COLOR FIX
   ========================================================= */

/* Main article body */
.blog__details__text,
.blog__details__text p,
.blog__details__text li,
.blog__details__text span,
.blog__details__text div {
  color: #101828; /* deep readable black */
}

/* Headings inside blog content */
.blog__details__text h1,
.blog__details__text h2,
.blog__details__text h3,
.blog__details__text h4,
.blog__details__text h5,
.blog__details__text h6 {
  color: #0f172a;
  font-weight: 800;
}

/* Links inside article */
.blog__details__text a {
  color: #ca0a00; /* brand accent */
  font-weight: 600;
}
.blog__details__text a:hover {
  text-decoration: underline;
}

/* Lists spacing (premium readability) */
.blog__details__text ul,
.blog__details__text ol {
  padding-left: 1.2rem;
}
.blog__details__text li {
  margin-bottom: 0.6rem;
}


/* =========================================================
   LISTING DETAILS — WORLD CLASS UI
   Load AFTER style.css and override.css
   ========================================================= */

/* Page spacing tokens (match what we used in listing page) */
:root{
  --tv-header-h: 86px;
  --tv-page-gap: 18px;
  --tv-radius: 18px;
  --tv-border: rgba(16,24,40,.10);
  --tv-shadow: 0 18px 48px rgba(16,24,40,.12);
  --tv-shadow-soft: 0 10px 24px rgba(16,24,40,.10);
}

/* Ensure content never hides under sticky header */
.listing-hero{
  padding-top: calc(var(--tv-header-h) + 18px);
}

/* Premium hero layout */
.listing-hero{
  position: relative;
  padding-bottom: 26px;
}
.listing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.60) 0%,
    rgba(0,0,0,.35) 55%,
    rgba(0,0,0,.70) 100%
  );
}
.listing-hero .container{
  position: relative;
  z-index: 2;
}

/* Hero title + address */
.listing__hero__text h2{
  font-weight: 900;
  letter-spacing: -0.6px;
  font-size: clamp(28px, 4vw, 48px);
}
.listing__hero__text p{
  color: rgba(255,255,255,.88);
  margin-top: 6px;
}

/* Hero badge logo */
.listing__hero__icon{
  border-radius: 16px !important;
}

/* Hero buttons */
.listing__hero__btns button,
.listing__hero__btns a{
  border-radius: 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  transform: translateY(0);
}
.listing__hero__btns button:hover,
.listing__hero__btns a:hover{
  transform: translateY(-2px);
}

/* Main section spacing */
.listing-details.spad{
  padding-top: 32px !important;
}

/* Convert sections into premium cards */
.listing__details__about,
.listing__details__gallery,
.listing__details__amenities,
.trust-indicators{
  background: #fff;
  border: 1px solid var(--tv-border);
  border-radius: var(--tv-radius);
  box-shadow: var(--tv-shadow-soft);
  padding: 22px;
  margin-bottom: 18px;
}

/* Section titles */
.listing__details__text h4{
  font-weight: 900;
  letter-spacing: -0.3px;
  margin-bottom: 12px;
}

/* Overview typography */
.listing__details__about p{
  color: #475467;
  font-size: 16px;
  line-height: 1.75;
}

/* Gallery large image */
.listing__details__gallery__item__large{
  border-radius: var(--tv-radius);
  max-height: 440px;
  width: 100%;
  object-fit: cover;
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

/* Gallery thumbs */
.listing__details__gallery__slider img{
  border-radius: 12px;
  border: 2px solid transparent;
}
.listing__details__gallery__slider img:hover{
  border-color: rgba(202,10,0,.55);
}

/* Amenities cards */
.listing__details__amenities__item{
  background: #f8fafc !important;
  border: 1px solid rgba(16,24,40,.08);
  border-radius: 14px !important;
  padding: 16px !important;
  box-shadow: none !important;
}
.listing__details__amenities__item h6{
  font-weight: 800;
  color: #101828;
}

/* Sidebar becomes sticky and premium */
.listing__sidebar{
  position: sticky;
  top: calc(var(--tv-header-h) + var(--tv-page-gap));
}
.listing__sidebar__contact,
.listing__sidebar__working__hours{
  border-radius: var(--tv-radius) !important;
  overflow: hidden;
  border: 1px solid var(--tv-border);
  box-shadow: var(--tv-shadow-soft);
}

/* Sidebar contact padding */
.listing__sidebar__contact__text{
  padding: 18px !important;
}
.listing__sidebar__contact__text h4{
  font-weight: 900;
}
.listing__sidebar__contact__text ul li{
  color: #344054;
}

/* Social buttons – premium */
.listing__sidebar__contact__social a{
  border-radius: 12px !important;
  transition: transform .16s ease;
}
.listing__sidebar__contact__social a:hover{
  transform: translateY(-2px);
}

/* Trust indicator cards – remove inline feel */
.platform-endorsements .endorsement-card{
  border: 1px solid rgba(16,24,40,.08);
  border-radius: 14px;
  box-shadow: none !important;
}
.platform-endorsements h5{
  font-weight: 900;
}

/* Testimonials */
.testimonial-card{
  padding-bottom: 18px !important;
}
.testimonial-text{
  border: 1px solid rgba(16,24,40,.08);
}

/* Mobile spacing */
@media (max-width: 991px){
  .listing__hero__btns{
    justify-content: flex-start !important;
    margin-top: 14px;
    flex-wrap: wrap;
  }
  .listing__sidebar{
    position: static;
    top: auto;
  }
}
