/* Moise oXo — editorial finish. Photography, sections and interaction geometry
   stay in the base stylesheet; this layer owns type, materials and spacing. */
:root {
  --editorial-paper: #f5f3ef;
  --editorial-ink: #171b20;
  --editorial-muted: #62666c;
  --editorial-blue: #075bdf;
  --editorial-hairline: rgba(30, 40, 52, .13);
  --editorial-serif: Georgia, "Times New Roman", serif;
  --editorial-ease: cubic-bezier(.2, .75, .25, 1);
}

html body {
  color: var(--editorial-ink);
  background-color: var(--editorial-paper);
  -webkit-font-smoothing: antialiased;
}

::selection { background: #c9dcf9; color: #12253d; }

html body .title,
html body .apple-panel-copy h1 {
  font-weight: 620;
  letter-spacing: -.055em;
  text-wrap: balance;
}

html body .title {
  font-size: clamp(36px, 4.3vw, 64px);
  line-height: 1.06;
}

html body .sub {
  line-height: 1.65;
  letter-spacing: -.018em;
}

html body .editorial-accent {
  color: inherit;
  font-family: var(--editorial-serif);
  font-weight: 400;
  letter-spacing: -.055em;
}

html body .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .16em;
  color: var(--editorial-blue);
}

html body .eyebrow::before {
  content: "";
  position: static;
  display: block;
  width: 24px;
  height: 1px;
  background: currentColor;
  opacity: .55;
  transform: none;
  filter: none;
}

/* A quiet signature above the full-bleed photographic opening. */
.signature-meta {
  position: absolute;
  z-index: 4;
  top: calc(88px + env(safe-area-inset-top, 0px));
  left: max(32px, calc((100% - 1240px) / 2));
  right: max(32px, calc((100% - 1240px) / 2));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  color: #3b3a37;
  pointer-events: none;
}

.signature-meta .signature-name {
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -.06em;
}

.signature-meta .signature-location {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .14em;
  text-align: right;
}

html body .apple-panel-hero .apple-panel-copy {
  padding-bottom: clamp(40px, 6vh, 72px);
}

html body .apple-panel-hero::after {
  inset: 30% 0 0 !important;
  background: linear-gradient(180deg, transparent 0%, rgba(245,243,239,.26) 18%, rgba(245,243,239,.85) 34%, rgba(245,243,239,.96) 68%, var(--editorial-paper) 100%) !important;
}

html body .apple-panel-hero .apple-panel-copy h1 {
  width: min(100%, 920px);
  max-width: 920px;
  margin: 0 auto 20px;
  font-size: clamp(52px, 6.15vw, 90px);
  line-height: .99;
  font-weight: 650;
}

html body .apple-panel-hero .apple-panel-copy .sub {
  width: min(100%, 700px);
  max-width: 700px;
  margin: 0 auto 26px;
  color: #474a4f;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.5;
}

html body .apple-panel-hero .hero-choice-actions {
  width: min(100%, 570px);
  gap: 10px;
}

html body .apple-panel-hero .hero-choice-button {
  min-height: 48px;
  border: 1px solid rgba(23, 45, 74, .24) !important;
  background: rgba(255, 255, 255, .36) !important;
  color: #27374a !important;
  font-size: 14px;
  font-weight: 500;
}

html body .apple-panel-hero .hero-choice-button.is-primary {
  background: var(--editorial-blue) !important;
  border-color: var(--editorial-blue) !important;
  color: white !important;
  box-shadow: 0 5px 18px rgba(7, 91, 223, .14) !important;
}

html body .apple-panel:not(.apple-panel-hero) .apple-panel-copy .title {
  max-width: 850px;
  margin-inline: auto;
  font-size: clamp(40px, 5.1vw, 74px);
  line-height: 1.03;
}

html body .apple-panel:not(.apple-panel-hero) .apple-panel-copy .sub {
  max-width: 660px;
  margin-inline: auto;
  font-size: 17px;
  line-height: 1.6;
}

/* The familiar light/dark sequence, with quieter surfaces and clearer type. */
html body :is(#galerie, #testimoniale, #servicii, #programare, #locatii, #cursuri-online) {
  background: var(--editorial-paper);
}

html body :is(#galerie, #servicii, #programare, #locatii, #cursuri-online) {
  padding-top: clamp(82px, 8.4vw, 132px);
  padding-bottom: clamp(76px, 7.8vw, 118px);
}

html body :is(#servicii, #programare, #locatii, #cursuri-online) > .wrap > .sub {
  max-width: 680px;
  margin: 22px auto 44px;
  color: var(--editorial-muted);
  font-size: 17px;
}

html body #galerie .gallery-copy {
  max-width: 900px;
  margin-bottom: clamp(38px, 5vw, 70px);
}

html body #galerie .gallery-copy .sub {
  margin-top: 18px;
  color: var(--editorial-muted);
}

html body #servicii .grid,
html body #seminarii .grid {
  gap: 22px;
  align-items: stretch;
}

html body #servicii .card,
html body #servicii .card:hover,
html body #locatii .card,
html body #locatii .card:hover,
html body #programare .contact-lines > div {
  border: 1px solid var(--editorial-hairline) !important;
  background: linear-gradient(145deg, #fff 0%, #faf9f6 100%) !important;
  box-shadow: 0 8px 24px rgba(33, 42, 52, .045) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html body #servicii .card,
html body #locatii .card {
  padding: 32px;
  text-align: left;
}

html body #servicii .card > h3,
html body #locatii .card > h3 {
  font-size: 25px;
  line-height: 1.16;
  font-weight: 600;
  letter-spacing: -.04em;
}

html body #servicii .card > .price {
  margin-top: 18px;
  color: var(--editorial-blue);
  font-size: 20px;
  font-weight: 550;
  letter-spacing: -.035em;
}

html body #servicii .card > p,
html body #locatii .card > p {
  color: var(--editorial-muted);
  font-size: 15px;
  line-height: 1.7;
}

html body #servicii .card > .btn {
  margin-top: auto;
  align-self: flex-start;
}

html body .btn.action {
  font-weight: 500;
  letter-spacing: -.018em;
}

html body :is(#servicii, #locatii, #programare, #seminarii) .btn {
  min-height: 46px;
  padding: 12px 22px;
  border-color: rgba(7, 91, 223, .38) !important;
  box-shadow: none;
  font-size: 14px;
}

html body #programare > .wrap > .actions {
  gap: 12px;
  margin-bottom: 42px;
}

html body #programare > .wrap > .actions .btn.action {
  background: var(--editorial-blue) !important;
  border-color: var(--editorial-blue) !important;
  color: white !important;
}

html body #despre .about-text-only > div {
  border: 1px solid rgba(220, 232, 248, .2) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .18) !important;
}

html body #despre .about-text-only .title {
  max-width: 880px;
  margin: 0 auto 28px;
  font-size: clamp(30px, 3.4vw, 49px);
  line-height: 1.14;
  font-weight: 500;
}

html body #despre .editorial-accent,
html body .premium-section .editorial-accent {
  color: #cadffb;
}

html body :is(#despre, .premium-section, .individual-course) .eyebrow,
html.checkout-vip-mode body .eyebrow { color: #b5d4ff !important; }

html body #despre .about-copy {
  max-width: 680px;
  margin-inline: auto;
  font-size: 16px;
  line-height: 1.7;
}

html body #despre .stat b {
  font-weight: 450;
  letter-spacing: -.065em;
}

html body #testimoniale .google-review-summary {
  border: 1px solid var(--editorial-hairline) !important;
  background: rgba(255,255,255,.64) !important;
  box-shadow: 0 10px 32px rgba(33,42,52,.05) !important;
}

html body #testimoniale .google-review-score {
  font-weight: 450;
  letter-spacing: -.075em;
}

html body #recenzii-seminarii > .wrap > .sub,
html body .premium-section > .wrap > .sub {
  max-width: 700px;
  margin-inline: auto;
  line-height: 1.65;
}

html body .premium-section .card > .vip-card-title {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 550;
  letter-spacing: -.045em;
}

html body footer {
  border-top: 1px solid var(--editorial-hairline);
  background: #eeece7;
  padding: 36px 0;
}

html body footer .footer-social b { font-size: 23px; letter-spacing: -.055em; }
html body footer .legal { color: #666a70; font-size: 12px; line-height: 1.7; }

/* Same reservation flow; typography and materials match the main site. */
html body .checkout { background: var(--editorial-paper); }
html body .paybox {
  border: 1px solid var(--editorial-hairline);
  background: rgba(255,255,255,.85);
  box-shadow: 0 18px 64px rgba(20,37,58,.075);
}
html body .paybox .package-name { letter-spacing: -.055em; font-weight: 600; line-height: 1.08; }
html body .paybox .package-detail { line-height: 1.7; }
html body .checkout .checkout-call { background: var(--editorial-blue); color: #fff; border-color: var(--editorial-blue); }
html.checkout-vip-mode body .checkout { background: #020304; }
html.checkout-vip-mode body .paybox {
  border-color: rgba(207,225,255,.22);
  background: linear-gradient(145deg,rgba(34,43,58,.8),rgba(8,13,21,.92));
  box-shadow: 0 24px 68px rgba(0,0,0,.2);
}
html.checkout-vip-mode body .back-link { color: #b5d4ff; }
html body .apple-panel:nth-of-type(3) .apple-panel-copy .btn.action {
  color: #c3ddff !important;
  border-color: rgba(181,212,255,.65) !important;
  background: rgba(13,24,40,.65) !important;
}

@media (hover: hover) and (pointer: fine) {
  html body #servicii .card:hover,
  html body #locatii .card:hover { border-color: rgba(7,91,223,.32) !important; }
  html body .apple-panel-hero .hero-choice-button:hover { background: rgba(255,255,255,.8) !important; }
  html body .apple-panel-hero .hero-choice-button.is-primary:hover { background: #054bc0 !important; }
}

@media (max-width: 820px) {
  .signature-meta { top: calc(78px + env(safe-area-inset-top, 0px)); left: 22px; right: 22px; }
  .signature-meta .signature-name { font-size: 15px; }
  .signature-meta .signature-location { font-size: 8px; letter-spacing: .12em; }

  html body .title { font-size: clamp(32px, 8.5vw, 46px); line-height: 1.08; }
  html body .site-main-container .title:not(#despre .title) {
    font-size: clamp(32px, 8.5vw, 46px) !important;
    line-height: 1.08 !important;
  }
  html body .eyebrow { font-size: 10px; margin-bottom: 15px; }
  html body .apple-panel-hero .apple-panel-copy { padding-inline: 20px; padding-bottom: 32px; }
  html body .apple-panel-hero .apple-panel-copy h1 {
    max-width: 370px;
    margin-bottom: 16px !important;
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.03 !important;
  }
  html body .apple-panel-hero .apple-panel-copy .sub {
    width: min(100%, 345px) !important;
    margin-bottom: 22px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  html body .apple-panel-hero .hero-choice-actions { width: min(100%, 370px) !important; gap: 6px !important; }
  html body .apple-panel-hero .hero-choice-button { padding-inline: 6px !important; font-size: clamp(10.5px, 3.1vw, 13px) !important; }
  html body .apple-panel:not(.apple-panel-hero) .apple-panel-copy .title {
    font-size: clamp(32px, 8.5vw, 42px) !important;
    margin-bottom: 15px !important;
  }
  html body .apple-panel:not(.apple-panel-hero) .apple-panel-copy .sub {
    width: min(100%, 350px) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  html body :is(#servicii, #programare, #locatii, #cursuri-online) > .wrap > .sub {
    margin-top: 20px;
    margin-bottom: 32px;
    font-size: 15px;
    line-height: 1.65;
  }
  html body #servicii .grid,
  html body #seminarii .grid { gap: 18px; }
  html body #servicii .card,
  html body #locatii .card { padding: 26px 24px; }
  html body #servicii .card > h3,
  html body #locatii .card > h3 { font-size: 24px; }
  html body #despre .about-text-only > div { padding: 38px 22px 32px !important; }
  html body #despre .about-text-only .title {
    margin: 0 auto 24px !important;
    font-size: clamp(27px, 7.3vw, 36px) !important;
    line-height: 1.17 !important;
  }
  html body #despre .about-text-only .about-copy {
    margin-block: 12px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
  html body .premium-section .title { font-size: clamp(36px, 10vw, 46px); }
  html body .paybox { padding: 32px 24px; }
  html body .paybox .package-name { font-size: clamp(30px, 8vw, 40px); }
}

@media (prefers-reduced-motion: reduce) {
  html body .navlinks-track { animation: none !important; }
  html body .title,
  html body .btn,
  html body .editorial-accent { transition: none !important; }
}

/* A floating glass navigation surface, sized around the existing link rail. */
html body .nav-shell.editorial-nav,
html body .nav-shell.editorial-nav.nav-shell-at-top:not(.nav-shell-premium) {
  top: calc(14px + env(safe-area-inset-top, 0px)) !important;
  left: 50% !important;
  width: min(1240px, calc(100% - 48px)) !important;
  min-height: 56px !important;
  padding: 0 !important;
  overflow: hidden;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 22px !important;
  background: rgba(249,248,246,.82) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 5px 24px rgba(24,34,50,.065) !important;
}

html body .nav-shell.editorial-nav.nav-shell-premium {
  border-color: rgba(210,226,251,.2) !important;
  background: rgba(16,22,31,.84) !important;
  box-shadow: inset 0 1px 0 rgba(231,241,255,.08), 0 8px 28px rgba(0,0,0,.16) !important;
}

html body .nav-shell.editorial-nav::before,
html body .nav-shell.editorial-nav::after,
html body .nav-shell.editorial-nav.nav-shell-at-top:not(.nav-shell-premium)::after {
  display: none !important;
  content: none !important;
}

html body .nav-shell.editorial-nav nav {
  width: 100% !important;
  min-height: 56px !important;
  padding: 0 20px;
  gap: 24px;
}

html body .editorial-nav .navlinks a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -.018em;
  color: #50555d;
  transition: color 180ms ease;
}

html body .editorial-nav .navlinks a.is-current { color: #075bdf; }
html body .editorial-nav.nav-shell-premium .navlinks a { color: #d7dfe9; }
html body .editorial-nav.nav-shell-premium .navlinks a.is-current { color: #94c5ff; }
/* One anchor offset: the base stylesheet also sets root scroll-padding. */
html.editorial-page { scroll-padding-top: 0; }
html body :is(section[id], #curs-individual) { scroll-margin-top: 90px; }

.nav-reading-progress {
  position: absolute;
  z-index: 3;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #5c94e4;
  opacity: .65;
  transform: scaleX(var(--reading-progress, 0));
  transform-origin: left center;
  pointer-events: none;
}

/* A consistent action language, including the reservation page. */
html body a.btn { gap: 10px; }
.action-arrow {
  display: inline-block;
  flex: 0 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  transition: transform 240ms var(--editorial-ease);
}

html body #seminarii {
  background: linear-gradient(180deg, var(--editorial-paper), var(--editorial-paper) calc(100% - var(--galaxy-transition-span) - var(--signup-background-fade)), #fff calc(100% - var(--galaxy-transition-span)));
}

html body #seminarii .grid .card,
html body #seminarii .grid .card:hover,
html body #seminarii .wide-card {
  padding: 32px;
  border: 1px solid var(--editorial-hairline) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,248,252,.92)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 10px 32px rgba(28,46,72,.055) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html body #seminarii .grid .card > h3 { font-size: 26px; font-weight: 600; letter-spacing: -.045em; }
html body #seminarii .grid .card > p { color: var(--editorial-muted); font-size: 15px; line-height: 1.7; }
html body #seminarii .wide-card > h3 { font-size: 32px; font-weight: 550; letter-spacing: -.05em; }
html body #seminarii .wide-card > p { max-width: 650px; color: var(--editorial-muted); line-height: 1.65; }

html body .signup-form input {
  min-height: 52px;
  border: 1px solid rgba(35,59,88,.2);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: inset 0 2px 4px rgba(28,46,72,.03);
  font: inherit;
  font-size: 16px;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
html body .signup-form input:focus {
  outline: none;
  border-color: #518bea;
  box-shadow: 0 0 0 4px rgba(40,113,222,.12);
}
html body .signup-form .btn { min-height: 52px; }
html body #signup-status { color: #465d79; font-size: 13px; line-height: 1.5; }

html body #testimoniale .quotes-group .quote {
  border: 1px solid var(--editorial-hairline) !important;
  background: linear-gradient(150deg, #fff, #f9f8f5) !important;
  box-shadow: 0 10px 28px rgba(33,42,52,.055) !important;
}
html body #testimoniale .quote > p { font-size: 16px; line-height: 1.65; letter-spacing: -.025em; }
html body #testimoniale .quote > cite { font-size: 12px; color: #657082; font-style: normal; }

html body #recenzii-seminarii { background: var(--editorial-paper); }
html body #recenzii-seminarii .seminar-review-board {
  border: 1px solid var(--editorial-hairline) !important;
  background: rgba(255,255,255,.58) !important;
  box-shadow: 0 12px 40px rgba(30,40,54,.05) !important;
}

html body .premium-section .title,
html body .individual-course .title {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(42px, 5.3vw, 78px);
  line-height: 1.02;
}
html body .premium-section .card,
html body .premium-section .card:hover,
html body .individual-course .wide-card,
html body .individual-course .wide-card:hover {
  border: 1px solid rgba(207,225,255,.26) !important;
  background: linear-gradient(145deg,rgba(28,36,49,.88),rgba(9,14,22,.95)) !important;
  box-shadow: inset 0 1px 0 rgba(236,244,255,.09),0 18px 54px rgba(0,0,0,.18) !important;
}
html body .premium-section .card > p,
html body .individual-course .wide-card > p { color: #d0d9e7; font-size: 16px; line-height: 1.7; }
html body .premium-section .card .btn.action,
html body .individual-course .wide-card .btn.action,
html.checkout-vip-mode body .checkout-call {
  background: #e8eff9 !important;
  border-color: #e8eff9 !important;
  color: #17283e !important;
  box-shadow: 0 4px 18px rgba(153,192,248,.07) !important;
}

@media (hover: hover) and (pointer: fine) {
  a.btn:hover .action-arrow { transform: translate(2px,-2px); }
  html body .editorial-nav .navlinks a:hover { color: #075bdf; }
  html body .editorial-nav.nav-shell-premium .navlinks a:hover { color: #fff; }
}

@media (max-width: 820px) {
  html body .nav-shell.editorial-nav,
  html body .nav-shell.editorial-nav.nav-shell-at-top:not(.nav-shell-premium) {
    top: calc(10px + env(safe-area-inset-top, 0px)) !important;
    width: calc(100% - 20px) !important;
    min-height: 52px !important;
    border-radius: 19px !important;
  }
  html body .nav-shell.editorial-nav nav { min-height: 52px !important; padding: 0 13px; gap: 14px; }
  html body .editorial-nav .navlinks a { font-size: 12px; }
  html body :is(section[id], #curs-individual) { scroll-margin-top: calc(82px + env(safe-area-inset-top, 0px)); }
  html body #seminarii .grid .card,
  html body #seminarii .wide-card { padding: 26px 24px; }
  html body #seminarii .grid .card > h3 { font-size: 24px; }
  html body .premium-section .title,
  html body .individual-course .title { font-size: clamp(36px,10vw,46px); }
  html body .site-main-container .premium-section .title:not(#despre .title),
  html body .site-main-container .individual-course .title:not(#despre .title) {
    font-size: clamp(36px,10vw,46px) !important;
    line-height: 1.05 !important;
  }
  html body .premium-section .card > p,
  html body .individual-course .wide-card > p { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .action-arrow { transition: none; }
}

@supports not (backdrop-filter: blur(1px)) {
  html body .nav-shell.editorial-nav { background: #f5f3ef !important; }
  html body .nav-shell.editorial-nav.nav-shell-premium { background: #141a24 !important; }
}

@media (prefers-reduced-transparency: reduce) {
  html body .nav-shell.editorial-nav { background: #f5f3ef !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  html body .nav-shell.editorial-nav.nav-shell-premium { background: #141a24 !important; }
}
