/* Jeedah Interiors — visual enhancement layer. Existing layout/content remains authoritative. */
:root {
    --jeedah-copper: #F4511E;
    --jeedah-copper-deep: #E94714;
    --jeedah-copper-soft: #F77A52;
    --jeedah-ink: #171513;
    --jeedah-cream: #fbf8f3;
    --jeedah-radius: 18px;
    --jeedah-shadow: 0 22px 55px rgba(38, 26, 18, .13);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

/* Refined brand accent — warmer, quieter, more premium than bright orange. */
:where(body) {
    --primary-orange: var(--jeedah-copper) !important;
    --accent-orange: var(--jeedah-copper) !important;
    --accent-red: var(--jeedah-copper-deep) !important;
}

::selection { background: rgba(184,111,60,.2); color: var(--jeedah-ink); }

/* Premium typography rhythm without changing copy. */
:where(h1,h2,h3,.hero-main-title,.narrative-display-title,.mission-large-statement,.feedback-section-title) {
    letter-spacing: -.025em;
    text-wrap: balance;
}
:where(p,.hero-subprose,.narrative-body-text,.service-row-prose,.p-card-desc) {
    line-height: 1.8;
    text-wrap: pretty;
}

/* Curved editorial image treatment. Logos/icons stay untouched. */
:where(.service-image-pane,.project-thumb,.about-image,.service-image,.portfolio-image,.contact-image,.image-wrap,.image-wrapper,.gallery-item,.gallery-card,.slide,.carousel-slide) {
    border-radius: var(--jeedah-radius);
    overflow: hidden;
}
/* The homepage composite frames contain an overlapping stats badge. Keep their
   overflow visible so the original responsive layout is never clipped. */
.composite-frame-main, .composite-frame-secondary {
    overflow: visible !important;
}
.composite-frame-main > img, .composite-frame-secondary > img {
    border-radius: var(--jeedah-radius);
}
:where(.composite-frame-main,.composite-frame-secondary,.service-image-pane,.project-thumb,.gallery-item,.gallery-card) {
    box-shadow: var(--jeedah-shadow);
}
:where(.hero-overlay-image img,.composite-frame-main img,.composite-frame-secondary img,.service-image-pane img,.project-thumb img,.gallery-item img,.gallery-card img,.portfolio-grid img,.project-grid img) {
    border-radius: inherit;
}

/* Smooth image reveal/hover finish. */
:where(.composite-frame-main,.composite-frame-secondary,.service-image-pane,.project-thumb,.gallery-item,.gallery-card) img {
    transition: transform .9s cubic-bezier(.16,1,.3,1), filter .6s ease;
    will-change: transform;
}
:where(.composite-frame-main,.composite-frame-secondary,.service-image-pane,.project-thumb,.gallery-item,.gallery-card):hover img {
    transform: scale(1.035);
    filter: saturate(1.04) contrast(1.02);
}

/* Buttons: polished copper gradient and controlled lift. */
:where(.hero-action-pill,.btn-dark-arrow,.form-submit-block-btn,.submit-btn,.filter-btn.active,.cta-button,.primary-btn) {
    transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .3s ease, color .3s ease;
}
:where(.hero-action-pill,.form-submit-block-btn,.cta-button,.primary-btn) {
    background: linear-gradient(135deg, var(--jeedah-copper-deep), var(--jeedah-copper)) !important;
    box-shadow: 0 12px 30px rgba(143,79,40,.22);
}
:where(.hero-action-pill,.btn-dark-arrow,.form-submit-block-btn,.submit-btn,.cta-button,.primary-btn):hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(143,79,40,.27);
}

/* Navbar micro-polish. */
.navbar { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.nav-links a { position: relative; }
.nav-links a::after {
    content: ""; position: absolute; left: 50%; bottom: -7px; width: 0; height: 2px;
    background: linear-gradient(90deg, var(--jeedah-copper-deep), var(--jeedah-copper-soft));
    transform: translateX(-50%); transition: width .3s ease;
}
.nav-links a:hover::after,.nav-links a.active::after { width: 72%; }

/* Hero slideshow enhancement. */
.hero-banner { overflow: hidden; isolation: isolate; }
.hero-overlay-image { position: absolute; inset: 0; border-radius: 0; }
.hero-overlay-image .hero-slide {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    opacity: 0; transform: scale(1.045); transition: opacity 1.2s ease, transform 7s ease;
}
.hero-overlay-image .hero-slide.is-active { opacity: 1; transform: scale(1); }
.hero-overlay-image::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(14,12,10,.68) 0%, rgba(14,12,10,.35) 47%, rgba(14,12,10,.12) 100%);
    pointer-events: none;
}
.hero-content-bound { position: relative; z-index: 2; }
.hero-slider-dots {
    position: absolute; z-index: 3; right: clamp(22px,5vw,70px); bottom: clamp(22px,4vw,48px);
    display: flex; gap: 9px;
}
.hero-slider-dot {
    width: 8px; height: 8px; border: 0; border-radius: 99px; background: rgba(255,255,255,.48);
    padding: 0; cursor: pointer; transition: width .3s ease, background .3s ease;
}
.hero-slider-dot.is-active { width: 28px; background: #fff; }

/* Section/card refinement. */
:where(.pillar-card,.feedback-inner-container,.contact-form-panel,.service-card,.process-card,.project-card) {
    transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease, border-color .4s ease;
}
:where(.pillar-card,.service-card,.process-card,.project-card):hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 50px rgba(30,22,16,.10);
}

/* Public customer review wall. */
.public-reviews-wrap { margin-top: clamp(48px,6vw,88px); }
.public-reviews-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.public-reviews-eyebrow { display:block; font-size:11px; font-weight:700; letter-spacing:.2em; color: #F4511E; margin-bottom:10px; }
.public-reviews-title { margin:0; font-family:'Playfair Display',serif; font-size:clamp(30px,4vw,48px); color:var(--jeedah-ink); }
.public-reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-review-card {
    background:rgba(255,255,255,.82); border:1px solid rgba(143,79,40,.12); border-radius:16px;
    padding:24px; box-shadow:0 14px 34px rgba(42,31,23,.07); position:relative; overflow:hidden;
}
.public-review-card::before { content:'“'; position:absolute; right:18px; top:-15px; font-family:'Playfair Display',serif; font-size:92px; color:rgba(184,111,60,.09); line-height:1; }
.public-review-stars { display:flex; gap:4px; color: #F4511E; font-size:13px; margin-bottom:16px; }
.public-review-message { margin:0 0 20px; color:#4b4540; line-height:1.75; font-size:14px; position:relative; z-index:1; }
.public-review-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid rgba(40,32,25,.08); padding-top:14px; }
.public-review-name { font-size:12px; font-weight:700; color:#231f1b; letter-spacing:.04em; }
.public-review-date { font-size:11px; color:#91877f; }
.public-reviews-empty { grid-column:1/-1; padding:26px; text-align:center; border:1px dashed rgba(143,79,40,.22); border-radius:14px; color:#766c65; }
.review-status { margin-top:14px; min-height:20px; font-size:13px; color:#655a52; }
.review-status.success { color:#4f6b4e; }
.review-status.error { color:#9a4337; }


/* Responsive safety: visual effects must never widen the original page layout. */
html, body { max-width: 100%; overflow-x: clip; }

/* Preserve the original overlapping experience badge while giving it a refined curve. */
.floating-stats-badge {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(143,79,40,.10);
    box-shadow: 0 16px 38px rgba(38,26,18,.12);
}

@supports not (overflow: clip) {
    html, body { overflow-x: hidden; }
}

/* AOS feels less abrupt on image-heavy pages. */
[data-aos] { will-change: transform, opacity; }

@media (max-width: 900px) {
    .public-reviews-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    :root { --jeedah-radius: 13px; }
    .public-reviews-head { align-items:flex-start; flex-direction:column; }
    .public-reviews-grid { grid-template-columns:1fr; }
    .public-review-card { padding:20px; }
    .floating-stats-badge { border-radius: 13px; }
    .hero-slider-dots { right:18px; bottom:18px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
/* Hero contrast for photographic slides. */
.hero-main-title { color: #F4511E !important; text-shadow: 0 10px 35px rgba(0,0,0,.24); }
.hero-subprose { color: rgba(255,255,255,.92) !important; text-align: left !important; }

/* ===== Cross-page premium image treatment =====
   Safe visual-only enhancements: no width/position/grid overrides. */
:where(
  .about-hero-left-img,
  .profile-img-frame,
  .banner-image-container,
  .pillar-img-box,
  .carousel-container,
  .feature-img-box,
  .intake-media-column,
  .info-showcase-img,
  .simple-gallery,
  .pixora-img
) {
  border-radius: var(--jeedah-radius);
}

:where(
  .about-hero-left-img img,
  .profile-img-frame img,
  .banner-image-container img,
  .hero-center-img,
  .pillar-img-box img,
  .carousel-slide img,
  .project-thumb img,
  .simple-gallery img,
  .pixora-img,
  .hero-wide-img,
  .feature-img-box img,
  .intake-side-img,
  .info-showcase-img img
) {
  border-radius: var(--jeedah-radius) !important;
  transition: transform .8s cubic-bezier(.16,1,.3,1), filter .5s ease, box-shadow .5s ease;
}

:where(
  .about-hero-left-img,
  .profile-img-frame,
  .banner-image-container,
  .pillar-img-box,
  .project-thumb,
  .feature-img-box,
  .info-showcase-img
) {
  overflow: hidden;
  box-shadow: 0 18px 46px rgba(38,26,18,.11);
}

:where(
  .about-hero-left-img,
  .profile-img-frame,
  .banner-image-container,
  .pillar-img-box,
  .project-thumb,
  .feature-img-box,
  .info-showcase-img
):hover img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}

/* Founder / team portraits receive a more refined editorial portrait finish. */
.profile-img-frame {
  border: 1px solid rgba(143,79,40,.10);
  background: var(--jeedah-cream);
}
.profile-img-frame img {
  display: block;
}
.profile-card {
  transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;
}
.profile-card:hover {
  transform: translateY(-6px);
}

/* Keep large standalone imagery curved without clipping surrounding content. */
.hero-center-img,
.hero-wide-img,
.intake-side-img {
  box-shadow: 0 22px 55px rgba(38,26,18,.12);
}

/* Gallery/modal imagery should also feel finished. */
.carousel-slide,
.simple-gallery img,
.pixora-window,
.pixora-img {
  border-radius: var(--jeedah-radius);
}
.carousel-slide { overflow: hidden; }
.simple-gallery img { overflow: hidden; }

@media (max-width: 620px) {
  :where(
    .about-hero-left-img img,
    .profile-img-frame img,
    .banner-image-container img,
    .hero-center-img,
    .pillar-img-box img,
    .carousel-slide img,
    .project-thumb img,
    .simple-gallery img,
    .pixora-img,
    .hero-wide-img,
    .feature-img-box img,
    .intake-side-img,
    .info-showcase-img img
  ) {
    border-radius: 13px !important;
  }
}


/* Brand-color refinement requested for homepage CTA only. */
.hero-action-pill {
    background: #F4511E !important;
    background-color: #F4511E !important;
    color: #ffffff !important;
    box-shadow: 0 12px 30px rgba(244, 81, 30, .22);
}
.hero-action-pill:hover {
    background: #E94714 !important;
    background-color: #E94714 !important;
}
