/* =============================================
   ICONIC Design Studio — Listing & detail pages
   Written in the existing theme's idiom: same
   palette (#b07242 / #111 / #161616), same type
   scale, same radii and transitions.
   ============================================= */

/* ── Inner-page hero ── */
.listing-hero {
  background: #161616;
  padding: 190px 0 4.5rem;
  position: relative;
}
@media (max-width: 991.98px) {
  .listing-hero { padding: 120px 0 3rem; }
}
.listing-hero .section-title { margin-bottom: 0; }
.listing-hero .svc-icon { font-size: 2rem; margin-bottom: 1rem; }
.listing-hero .gold-divider { width: 48px; }

/* ── Detail body ── */
.detail-body { background: #111; padding: 5rem 0 7rem; }
.rich-text p { color: #888; font-size: .92rem; line-height: 1.85; margin-bottom: 1.25rem; }
.rich-text h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  color: #fff; margin: 2.5rem 0 1rem;
}
.rich-text h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem; color: #fff; margin: 2rem 0 .75rem;
}
.rich-text ul, .rich-text ol { color: #888; font-size: .92rem; line-height: 1.9; padding-inline-start: 1.25rem; margin-bottom: 1.25rem; }
.rich-text a { color: #b07242; text-decoration: none; border-bottom: 1px solid rgba(176,114,66,.4); }
.rich-text a:hover { border-bottom-color: #b07242; }
.rich-text blockquote {
  border-inline-start: 2px solid #b07242;
  padding-inline-start: 1.5rem; margin: 2rem 0;
  font-family: 'Playfair Display', serif; font-style: italic;
  color: #bbb; font-size: 1.05rem; line-height: 1.8;
}
.rich-text img { max-width: 100%; height: auto; border-radius: 10px; margin: 1.5rem 0; }

.detail-figure { margin: 0; }
.detail-figure img { width: 100%; border-radius: 10px; display: block; }
.detail-figure figcaption {
  font-size: .7rem; letter-spacing: 1.5px; text-transform: uppercase;
  color: #666; margin-top: .6rem;
}

/* ── Sidebar ── */
.sidebar-card {
  background: #161616; border: 1px solid #232323;
  border-radius: 12px; padding: 2rem 1.75rem; margin-bottom: 1.5rem;
}
.sidebar-card-accent { border-color: rgba(176,114,66,.35); }
.sidebar-card .footer-nav a { display: flex; align-items: center; gap: 10px; text-transform: none; font-size: .8rem; letter-spacing: .5px; }
.sidebar-card .footer-nav a i { color: #b07242; width: 16px; }
.sidebar-hours { font-size: .72rem; color: #555; letter-spacing: 1px; margin: 1rem 0 0; line-height: 1.7; }
.feature-list { list-style: none; padding: 0; margin: 0; }
.feature-list li {
  display: flex; align-items: flex-start; gap: 10px;
  color: #888; font-size: .85rem; line-height: 1.7; margin-bottom: .8rem;
}
.feature-list li i { color: #b07242; font-size: .8rem !important; margin-top: .35rem; }

/* ── Card grid (projects & blog) ── */
.card-grid { background: #111; padding: 5rem 0 7rem; }
.entry-card {
  display: block; text-decoration: none; height: 100%;
  background: #161616; border: 1px solid #232323; border-radius: 12px;
  overflow: hidden; transition: border-color .35s ease, transform .35s ease;
}
.entry-card:hover { border-color: #b07242; transform: translateY(-6px); }
.entry-card-media { position: relative; aspect-ratio: 3/2; overflow: hidden; }
.entry-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.entry-card:hover .entry-card-media img { transform: scale(1.04); }
.entry-card-body { padding: 1.75rem 1.5rem; }
.entry-card-eyebrow {
  font-size: .62rem; letter-spacing: 2.5px; text-transform: uppercase;
  color: #b07242; margin-bottom: .6rem; display: block;
}
.entry-card-title {
  font-family: 'Playfair Display', serif; font-size: 1.2rem;
  color: #fff; margin: 0 0 .6rem; line-height: 1.35;
}
.entry-card-excerpt { color: #777; font-size: .84rem; line-height: 1.8; margin: 0; }
.entry-card-meta {
  display: flex; flex-wrap: wrap; gap: 14px; margin-top: 1rem;
  font-size: .62rem; letter-spacing: 2px; text-transform: uppercase; color: #555;
}

/* ── Blog article ── */
.article-hero { background: #161616; padding: 190px 0 3.5rem; }
@media (max-width: 991.98px) { .article-hero { padding: 120px 0 2.5rem; } }
.article-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 700; color: #fff; line-height: 1.2; margin: 1rem 0;
}
.article-meta {
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center;
  font-size: .66rem; letter-spacing: 2px; text-transform: uppercase; color: #666;
}
.article-meta a { color: #b07242; text-decoration: none; }
.article-featured { margin-top: -2rem; }
.article-featured img { width: 100%; border-radius: 12px; display: block; }
.tag-pill {
  display: inline-block; border: 1px solid #2a2a2a; border-radius: 50px;
  padding: 6px 16px; font-size: .62rem; letter-spacing: 2px; text-transform: uppercase;
  color: #888; text-decoration: none; margin: 0 .4rem .5rem 0;
  transition: border-color .3s ease, color .3s ease;
}
.tag-pill:hover, .tag-pill.is-active { border-color: #b07242; color: #b07242; }

/* ── Empty state ── */
.empty-state { text-align: center; padding: 4rem 1rem; }
.empty-state i { font-size: 2.4rem !important; color: #2a2a2a; margin-bottom: 1rem; display: block; }
