*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
[hidden]:not([hidden=until-found i]) { display: none !important; }
html { scroll-padding-top: env(safe-area-inset-top, 0px); }
/* Primenit: one light look, 1200px column. Built from the design; the page bodies keep their inline styles. */
:root {
  --bej: #F8F9F5; --panza: #F0F2EC; --hartie: #FFFFFF; --linie: #E8EBE2;
  --indigo: #303530; --cerneala: #303530; --mustar: #E8EBE2; --ocru: #A6533C;
  --serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --sans: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: light;
}
body { margin: 0; background: var(--bej); color: var(--cerneala); font-family: var(--sans); font-size: 17px; line-height: 1.55; }
a { color: var(--indigo); }
a:hover { color: var(--ocru); }
h1, h2, h3 { text-wrap: balance; }
h1:focus { outline: none; }
:focus-visible { outline: 2px solid var(--inel, var(--indigo)); outline-offset: 3px; border-radius: 4px; }
:where(header, section, div, footer, aside, article, form, nav, li, details)[style*="background: #A6533C"],
:where(header, section, div, footer, aside, article, form, nav, li, details)[style*="background: #303530"] { --inel: var(--mustar); }
:where(header, section, div, footer, aside, article, form, nav, li, details)[style*="background: #F8F9F5"],
:where(header, section, div, footer, aside, article, form, nav, li, details)[style*="background: #FFFFFF"],
:where(header, section, div, footer, aside, article, form, nav, li, details)[style*="background: #F0F2EC"] { --inel: var(--indigo); }
h2[tabindex="-1"]:focus { outline: none; }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
input, select, textarea, button { font: inherit; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--inel, var(--indigo)); outline-offset: 1px; }
@media (min-width: 760px) {
  .site-header { position: sticky !important; top: env(safe-area-inset-top, 0px); }
  body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--bej); }
}
.site-nav > a[aria-current="page"]:not(.btn-rezerva),
.meniu[data-current] > summary { font-weight: 600; text-decoration: underline !important; text-decoration-color: var(--mustar) !important; text-decoration-thickness: 2px !important; text-underline-offset: 6px; }
.meniu a:hover, .meniu a[aria-current="page"] { background: var(--panza); }
.meniu a[aria-current="page"] { font-weight: 600; }
.meniu > div { max-width: calc(100vw - 32px); box-sizing: border-box; }
nav[aria-label="Rezidențial"] a:not([aria-current]):hover { background: var(--hartie) !important; }
.mobil-actiuni { display: none; }
/* Birouri: avantaje în jurul bulinei; sub 940px bulina sus, lista pe o coloană */
@media (max-width: 939px) {
  .hub-centru { position: static !important; margin-bottom: 36px; }
  .hub-sageti { display: none; }
  .hub-lista { grid-template-columns: minmax(0, 1fr) !important; grid-auto-rows: auto !important; gap: 28px !important; }
  .hub-lista > li { grid-column: auto !important; text-align: left !important; padding: 0 !important; }
  .hub-mic { display: inline-block !important; }
}
@media (max-width: 759px) {
  .site-header img { height: 64px !important; }
  .site-header a[aria-label] > span { font-size: 28px !important; margin-left: 6px !important; }
  .site-header > div { column-gap: 12px !important; }
  .mobil-actiuni { display: flex; align-items: center; gap: 8px; }
  .btn-rezerva-mobil { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px; background: var(--indigo); color: var(--bej); text-decoration: none; font-weight: 600; font-size: 15px; }
  .btn-rezerva-mobil:hover { color: var(--bej); background: #303530; }
  .buton-meniu { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px; border: 1.5px solid var(--indigo); border-radius: 10px; background: transparent; color: var(--indigo); font-weight: 600; font-size: 15px; cursor: pointer; }
  .buton-meniu[aria-expanded="true"] { background: var(--indigo); color: var(--bej); }
  .site-nav { display: none !important; width: 100%; flex-direction: column; align-items: stretch !important; gap: 0 !important; border-top: 1px solid var(--linie); padding-top: 8px; }
  .site-nav.deschis { display: flex !important; }
  .site-nav > .btn-rezerva { display: none !important; }
  .site-nav .meniu > summary { display: flex !important; justify-content: space-between; width: 100%; min-height: 48px !important; font-size: 16px; color: var(--indigo) !important; text-decoration: none !important; border-top: 1px solid var(--linie); }
  .site-nav > .meniu:first-child > summary { border-top: 0; }
  .site-nav .meniu[data-current] > summary { font-weight: 600; }
  .site-nav .meniu > summary svg { width: 14px; height: 14px; transition: transform 160ms ease; }
  .site-nav .meniu[open] > summary svg { transform: rotate(180deg); }
  .site-nav .meniu > div { position: static !important; min-width: 0 !important; max-width: none; box-shadow: none !important; border: 0 !important; background: transparent !important; padding: 0 0 8px !important; }
  .site-nav .meniu a { min-height: 44px; display: flex !important; align-items: center; padding-left: 16px !important; padding-right: 0 !important; }
  .site-nav > a:not(.btn-rezerva) { min-height: 48px; border-top: 1px solid var(--linie); }
}
.btn-rezerva:hover { background: #303530 !important; color: var(--bej) !important; }
.card-serviciu:hover { border-color: var(--indigo) !important; }
button[type="submit"]:hover { background: #303530 !important; }
a[data-focus^="sectiune-oferta"][style*="min-height: 64px"]:hover { box-shadow: 0 0 0 2px #E8EBE2 inset; }
[id^="sectiune-"] { scroll-margin-top: 16px; }
@media (min-width: 760px) { html { scroll-padding-top: calc(var(--antet, 150px) + 16px); } [id^="sectiune-"] { scroll-margin-top: 0; } }
/* the flower from the logo, very light, fixed between the header and the bottom of the screen */
.site { position: relative; }
.site > main, .site > footer { position: relative; z-index: 1; }
.site::before { content: ""; position: fixed; left: 0; right: 0; top: calc(var(--antet, 150px) + 28px); bottom: 28px; background: url(../img/stea-culori.svg) center / contain no-repeat; opacity: .085; pointer-events: none; z-index: 0; }
@media (max-width: 759px) { .site::before { top: calc(var(--antet, 92px) + 12px); bottom: 12px; } }
@media (max-width: 420px) { .banda-slogan { font-size: 11.5px !important; letter-spacing: 0.13em !important; padding: 8px 12px !important; } }

/* ---- WordPress ---- */
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--indigo); color: var(--bej); padding: 10px 16px; border-radius: 10px; font-weight: 600; text-decoration: none; }
.skip-link:focus { top: 12px; color: var(--bej); }
@media (min-width: 783px) { body.admin-bar .site-header { top: 32px; } }
@media (min-width: 760px) and (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
.camp-capcana { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.stare-ok { background: #EEF2E6 !important; border-left: 4px solid #5F773B; }
.stare-eroare { background: #F8EDE9 !important; border-left: 4px solid #A6533C; }
form[aria-busy="true"] button[type="submit"] { opacity: .6; cursor: progress; }
/* pages that are not part of the design (privacy policy and the like): readable text column */
.pagina-text { max-width: 820px; margin: 0 auto; padding: 64px 24px 96px; }
.pagina-text h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.05; margin: 0 0 28px; }
.pagina-text h2 { font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1.15; margin: 40px 0 12px; }
.pagina-text h3 { font-size: 20px; margin: 28px 0 8px; }
.pagina-text p, .pagina-text li { line-height: 1.7; }
.pagina-text a { color: var(--ocru); }
/* the booking calendar inside the form */
#calendar-rezervare .primenit-rez { font-size: 16px; }
