/* Shared visual system, loaded after the section styles on both pages. */
:root {
  --font-display: var(--font-serif);
  --type-section: clamp(38px, 4.4vw, 62px);
  --type-body: 15px;
  --type-control: 13px;
  --type-label: 10px;
  --surface-tint: radial-gradient(ellipse at 18% 16%, #67676719, #97afbb40 100%);
  --surface-shadow: inset 1px 2px 2px #ffffffc9, inset -1px -2px 3px #d8eaf1a6, 0 12px 28px -20px #263c3066;
}
/* Stationary ambient colour avoids repainting huge blurred moving layers behind lenses. */
.aurora-blob { animation: none; will-change: auto; }
html .glass.surface {
  background-color: #fffaf04d;
  background-image: var(--surface-noise), var(--surface-tint);
  background-size: 32px 32px, auto;
  box-shadow: var(--surface-shadow);
  -webkit-backdrop-filter: blur(3px) saturate(120%);
  backdrop-filter: blur(3px) saturate(120%);
  will-change: auto;
}
html.surface-refraction .glass.surface.surface-visible {
  -webkit-backdrop-filter: var(--surface-lens) blur(2px) saturate(120%);
  backdrop-filter: var(--surface-lens) blur(2px) saturate(120%);
}
html .glass.surface:not(.surface-visible) { backdrop-filter: none; -webkit-backdrop-filter: none; }
.bento-glass.surface::before, .bento-rail.surface::before { background-image: none; }
.bento-card.surface > .bento-glass { display: none; }
/* Clear media does not need a second lens behind its opaque image or map. */
.contact-map.glass { backdrop-filter: none; -webkit-backdrop-filter: none; background-image: none; }
#services-title, #despre #about-heading, #reviews-heading, #contact-heading,
.price-section .display {
  font: 500 var(--type-section)/1.1 var(--font-serif);
  letter-spacing: -.035em; color: var(--green); text-shadow: none;
  -webkit-text-stroke: 0; text-transform: none;
}
.prices-hero .display { font: 500 clamp(56px, 7vw, 96px)/1.05 var(--font-serif); letter-spacing: -.04em; color: var(--green); }
.bento-copy { text-shadow: none; }
.bento-copy h1 em { font-family: var(--font-serif); font-style: italic; font-weight: 400; font-size: .9em; letter-spacing: -.04em; text-shadow: none; }
.bento-description { font-family: var(--font-body); font-size: clamp(13px,1.2vw,17px); line-height: 1.65; }
.bento-invite.surface { color:var(--green); }
.bento-invite > span:first-child { font:500 14px/1.5 var(--font-body); }
.bento-rail a { font-family: var(--font-body); font-size: 13px; text-shadow: none; }
.services-intro, .services-description, #despre .about-bento-story,
#recenzii .review-card p, #contact .contact-booking > p:not(.label) {
  font: 400 var(--type-body)/1.75 var(--font-body);
}
.services-picker a, .services-link, .prices-nav a { font: 500 var(--type-control)/1.4 var(--font-body); }
.services-picker a { min-height: 36px; }
#despre .label, #contact .label, #recenzii > .label, .services-eyebrow, .prices-hero .label {
  font: 600 var(--type-label)/1.5 var(--font-body); letter-spacing: .18em;
}
.price-group h3 { font: 500 24px/1.2 var(--font-serif); color: var(--green); letter-spacing: -.02em; margin-bottom: 14px; }
.price-group { border-radius: 30px; }
.price-row { font-size: var(--type-control); gap: 12px; }
.price-row .p { font-size: var(--type-control); font-variant-numeric: tabular-nums; }
.price-row .n { min-width: 0; }
html { overflow-x: clip; }
.price-row .dots { border: 0; }
:where(a, button):focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.footer-bento .mero-book { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:40px; color:#fff; background:radial-gradient(ellipse at 0% 0%,#b780f7,transparent 65%),radial-gradient(ellipse at 0% 100%,#005cff,transparent 72%),linear-gradient(110deg,#6558d9,#060f64 90%); box-shadow:inset 0 1px 0 #ffffff50; }
.footer-bento .mero-label { font:600 11px/1.3 var(--font-body); white-space:nowrap; }
@media(max-width:760px) {
  .nav-toggle { margin-left:auto; }
  .services-picker { gap: 8px; padding: 18px; }
  .services-picker a { min-height: 40px; }
  .price-group { padding: 24px 20px; }
  .price-row { flex-wrap: wrap; }
  .price-row .n { flex: 1 1 50%; }
  .price-row .p { white-space: normal; margin-left: auto; text-align: right; }
  .price-row .dots { display: none; }
}
