/* polish.css — Premium overlay refinements
   Loaded AFTER pages.css/mobile.css. Only adds; doesn't override structural styles. */

/* ─── Hero photo: subtle gold halo + lift on grid hover ──────────────── */
.hero-photo {
  box-shadow:
    0 36px 90px -28px rgba(0,0,0,.55),
    0 0 0 1px rgba(201,162,75,.10);
  transition: transform .9s cubic-bezier(.16,1,.3,1), box-shadow .9s ease;
}
.hero-grid:hover .hero-photo {
  transform: translateY(-3px);
  box-shadow:
    0 44px 100px -28px rgba(0,0,0,.6),
    0 0 0 1px rgba(201,162,75,.22),
    0 0 60px -10px rgba(201,162,75,.12);
}

/* ─── Stats bar: extra breathing room + serif refinement ─────────────── */
.statsbar { padding-block: clamp(40px, 5.5vw, 72px); }
.statsbar-in { gap: clamp(28px, 5vw, 80px); }
.statsbar-cell .num,
.statsbar-cell strong,
.statsbar-cell [class*="-n"] {
  letter-spacing: -0.01em;
}
.statsbar-cell {
  position: relative;
  padding-block: 6px;
}
/* delicate gold underline under each stat number */
.statsbar-cell::after {
  content: "";
  position: absolute;
  left: 50%; bottom: -2px;
  transform: translateX(-50%);
  width: 32px; height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--gold-bright,#C9A24B), transparent);
  opacity: .55;
}

/* ─── Service tabs: vertical gold rail on hover/active ───────────────── */
.svc-tab { transition: background .25s ease, border-color .25s ease, padding-left .35s ease; }
.svc-tab::before {
  content: "";
  position: absolute;
  left: 0; top: 14%; bottom: 14%;
  width: 2px;
  background: linear-gradient(180deg, transparent, var(--gold-bright,#C9A24B), transparent);
  opacity: 0;
  transition: opacity .35s ease;
  border-radius: 2px;
}
.svc-tab:hover::before,
.svc-tab.on::before { opacity: 1; }
.svc-tab:hover { padding-left: calc(var(--svc-tab-padding-left, 18px) + 4px); }
/* image inside .svc-detail gets a soft gold inner frame */
.svc-detail-img {
  position: relative;
  box-shadow:
    0 30px 60px -30px rgba(0,0,0,.35),
    0 0 0 1px rgba(201,162,75,.08);
  transition: box-shadow .6s ease, transform .6s ease;
}
.svc-detail-img:hover {
  transform: translateY(-2px);
  box-shadow:
    0 40px 80px -30px rgba(0,0,0,.45),
    0 0 0 1px rgba(201,162,75,.22);
}

/* ─── Promise cards: corner ornament reveals on hover ────────────────── */
.promise-card { position: relative; }
.promise-card::before {
  content: "";
  position: absolute;
  top: 14px; left: 14px;
  width: 22px; height: 22px;
  border-top: 1.5px solid rgba(231,214,174,.45);
  border-left: 1.5px solid rgba(231,214,174,.45);
  opacity: 0;
  transition: opacity .5s ease, transform .5s cubic-bezier(.16,1,.3,1);
  transform: translate(-4px,-4px);
}
.promise-card:hover::before {
  opacity: 1;
  transform: translate(0,0);
}

/* ─── Gold buttons: subtle shine sweep on hover ──────────────────────── */
.btn-gold { position: relative; overflow: hidden; isolation: isolate; }
.btn-gold::before {
  content: "";
  position: absolute;
  top: 0; left: -120%;
  width: 70%; height: 100%;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.32) 50%, transparent 80%);
  transform: skewX(-22deg);
  transition: left .95s cubic-bezier(.4,0,.2,1);
  z-index: -1;
  pointer-events: none;
}
.btn-gold:hover::before { left: 140%; }

/* ─── Service tab arrow: gentle slide-in on hover ────────────────────── */
.svc-tab .svc-tab-arr {
  transition: transform .35s cubic-bezier(.16,1,.3,1), opacity .35s ease;
  opacity: .55;
}
.svc-tab:hover .svc-tab-arr,
.svc-tab.on .svc-tab-arr {
  transform: translateX(4px);
  opacity: 1;
}

/* ─── Section eyebrow: tiny ornament before text ─────────────────────── */
.eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before {
  content: "";
  width: 24px; height: 1px;
  background: currentColor;
  opacity: .55;
}

/* ─── Section transitions: subtle gold parting line ──────────────────── */
.section.what + .section.services,
.section.services + .section.promise,
.section.promise + .section.booking {
  position: relative;
}
.section.what + .section.services::before,
.section.services + .section.promise::before,
.section.promise + .section.booking::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  width: 56px; height: 56px;
  border-radius: 50%;
  background: radial-gradient(circle at center,
    rgba(201,162,75,.22) 0%,
    rgba(201,162,75,.06) 40%,
    transparent 70%);
  pointer-events: none;
  z-index: 2;
}

/* ─── Back-to-top floating button ─────────────────────────────────────── */
#back-to-top {
  position: fixed;
  right: clamp(16px, 3vw, 28px);
  bottom: clamp(16px, 3vw, 28px);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(231,214,174,.5);
  background: linear-gradient(135deg,#E9D49A 0%,#C9A24B 35%,#9C7530 65%,#A9802F 100%);
  color: #2a1f08;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 14px 30px -10px rgba(135,99,38,.55),
    0 0 0 1px rgba(0,0,0,.04);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.9);
  transition: opacity .35s ease, transform .35s cubic-bezier(.16,1,.3,1),
              box-shadow .3s ease, visibility 0s linear .35s;
  z-index: 9999;
  padding: 0;
}
#back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  transition: opacity .35s ease, transform .35s cubic-bezier(.16,1,.3,1),
              box-shadow .3s ease, visibility 0s linear 0s;
}
#back-to-top:hover {
  box-shadow:
    0 20px 38px -10px rgba(135,99,38,.7),
    0 0 0 1px rgba(0,0,0,.06);
  transform: translateY(-2px) scale(1);
}
#back-to-top:active { transform: translateY(0) scale(.95); }
#back-to-top:focus-visible {
  outline: 2px solid #C9A24B;
  outline-offset: 3px;
}
#back-to-top svg { display: block; }

/* Pe mobil — așezat DEASUPRA bnav-ului (bara fixă de jos cu 4 butoane) */
@media (max-width: 720px) {
  #back-to-top {
    width: 42px;
    height: 42px;
    right: 14px;
    bottom: calc(var(--bnav-h, 68px) + var(--safe-b, 0px) + 14px);
  }
}
