/* Shared visual system for programhotelier.ro. Fonts and imagery are hosted locally. */
:root {
  --ink:#183f35;
  --text:#344b43;
  --muted:#53665b;
  --bg:#fcfbf7;
  --soft:#f0f2eb;
  --line:#dce2d8;
  --accent:#235e4a;
  --lime:#d8edaa;
  --ok:#236640;
  --err:#b42318;
  --r:18px;
  color-scheme:light;
}
* {
  box-sizing:border-box;
}
html {
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px/1.7 "Onest",system-ui,sans-serif;
}
h1,h2,h3 {
  font-family:"Alata","Onest",sans-serif;
  font-weight:400;
  color:var(--ink);
  line-height:1.15;
  margin:0 0 .6em;
  letter-spacing:-.035em;
}
h1 {
  font-size:clamp(2.8rem,4.6vw,4.4rem);
}
h2 {
  font-size:clamp(2rem,3.3vw,3.1rem);
}
h3 {
  font-size:1.25rem;
  letter-spacing:-.02em;
}
em {
  font-family:Georgia,serif;
  font-weight:400;
}
p {
  margin:0 0 1.15em;
}
ul {
  padding-left:1.2em;
}
li {
  margin:.3em 0;
}
a {
  color:var(--accent);
  text-underline-offset:4px;
}
a:hover {
  text-decoration-thickness:2px;
}
button,input,select,textarea {
  font:inherit;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
button,a,input,textarea,select,summary {
  -webkit-tap-highlight-color:transparent;
}
:focus-visible {
  outline:3px solid #739b39;
  outline-offset:5px;
}
::selection {
  background:var(--lime);
  color:var(--ink);
}
[hidden] {
  display:none!important;
}
.wrap {
  width:min(1240px,100% - 80px);
  margin-inline:auto;
}
.eyebrow {
  display:block;
  font-size:11px;
  font-weight:650;
  letter-spacing:.16em;
  color:var(--accent);
  margin-bottom:22px;
}
.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  z-index:100;
  transform:translateY(-150%);
  background:var(--ink);
  color:#fff;
  padding:12px 20px;
  border-radius:8px;
}
.skip-link:focus {
  transform:none;
}
.topbar {
  background:var(--ink);
  color:#dbe4d8;
  font-size:11px;
}
.topbar .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:33px;
  gap:20px;
}
.topbar a {
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  letter-spacing:.05em;
}
.topbar a span {
  margin-left:10px;
}
.top {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(252,251,247,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.top>.wrap {
  display:flex;
  align-items:center;
  gap:34px;
  min-height:88px;
}
.logo {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ink);
  text-decoration:none;
  white-space:nowrap;
}
.brand-mark {
  width:40px;
  height:44px;
  background:var(--ink);
  color:var(--lime);
  display:grid;
  place-items:center;
  border-radius:11px 11px 3px 11px;
  font:32px/1 Georgia,serif;
  letter-spacing:-.08em;
  padding-bottom:4px;
}
.brand-name {
  font-size:19px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.05em;
}
.brand-name strong {
  font-weight:650;
}
.brand-name small {
  display:block;
  letter-spacing:.12em;
  font-size:9px;
  margin-top:5px;
  color:var(--muted);
}
.nav {
  display:flex;
  gap:28px;
  margin-left:auto;
}
.nav a {
  font-size:13px;
  text-decoration:none;
  color:var(--text);
}
.nav a:hover {
  color:var(--accent);
  text-decoration:underline;
}
.btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  background:var(--ink);
  color:#fff;
  padding:15px 24px;
  border:1px solid var(--ink);
  border-radius:7px;
  font-size:14px;
  font-weight:550;
  text-decoration:none;
  cursor:pointer;
  transition:background .18s,transform .18s;
}
.btn:hover {
  background:#2c5b47;
  transform:translateY(-2px);
}
.btn[disabled] {
  opacity:.6;
  cursor:wait;
  transform:none;
}
.btn span {
  font-size:20px;
  line-height:1;
}
.top .btn {
  padding:12px 20px;
  font-size:12px;
  white-space:nowrap;
}
.menu-toggle {
  display:none;
}
.mobile-nav {
  padding:10px 24px 22px;
  border-top:1px solid var(--line);
}
.mobile-nav a {
  display:block;
  padding:10px 0;
  text-decoration:none;
  color:var(--ink);
}
.hero {
  padding:76px 0 62px;
  overflow:hidden;
}
.hero-grid {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:52px;
  align-items:center;
}
.hero .eyebrow {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:10px;
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px #e8eddc;
}
.hero h1 {
  margin-bottom:26px;
  line-height:1.12;
}
.hero h1 em {
  color:#60805c;
}
.hero .lead {
  font-size:17px;
  max-width:27em;
  color:var(--muted);
  line-height:1.75;
}
.cta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:24px;
  margin:28px 0 15px;
}
.text-link {
  font-size:12px;
  font-weight:550;
  text-decoration:none;
  color:var(--ink);
}
.text-link span {
  margin-left:10px;
}
.hero-trust {
  font-size:11px;
  color:var(--muted);
}
.offer-link {
  display:inline-flex;
  gap:12px;
  align-items:center;
  font-size:11px;
  color:var(--muted);
  text-decoration:none;
  margin-top:18px;
}
.offer-link>span:first-child {
  background:var(--lime);
  color:var(--ink);
  padding:4px 9px;
  border-radius:4px;
  font-weight:700;
}
.hero-visual {
  position:relative;
  background:#e8eddf;
  border:1px solid #d9e1cf;
  border-radius:140px 16px 16px 16px;
  padding:64px 26px 24px;
  min-width:0;
}
.visual-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:9px;
  letter-spacing:.12em;
  color:#536650;
  margin:0 0 18px 25px;
}
.visual-caption>span:last-child {
  font-size:24px;
}
.browser-frame {
  position:relative;
  width:calc(100% + 50px);
  margin-left:-40px;
  border:5px solid var(--ink);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 40px -20px #17382b55;
  transform:rotate(-2deg);
}
.browser-frame img {
  width:100%;
}
.browser-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#f9faf5;
  color:#607066;
  gap:10px;
  padding:8px 10px;
  font-size:9px;
}
.window-dots {
  font-size:8px;
  letter-spacing:2px;
  color:#abb6a6;
}
.visual-bottom {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:36px;
}
.mini-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:var(--lime);
  font-size:16px;
  flex-shrink:0;
}
.visual-bottom strong {
  display:block;
  font-size:13px;
  color:var(--ink);
}
.visual-bottom div>span {
  display:block;
  font-size:10px;
  color:#506447;
}
.visual-index {
  margin-left:auto;
  font-size:10px;
  white-space:nowrap;
}
.visual-note {
  font-size:9px;
  color:#506447;
  margin:19px 0 0;
  text-align:right;
}
.property-strip {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.property-strip .wrap {
  min-height:86px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
}
.property-strip span {
  font-size:13px;
  color:#53685b;
}
.property-strip span:first-child {
  font-size:9px;
  letter-spacing:.13em;
  color:var(--muted);
  max-width:120px;
}
.sec {
  padding:100px 0;
}
.sec--soft {
  background:var(--soft);
}
.sec .intro {
  max-width:650px;
  color:var(--muted);
  font-size:16px;
}
.grid {
  display:grid;
  gap:0;
  margin-top:44px;
}
.grid--3 {
  grid-template-columns:repeat(3,1fr);
}
.card {
  position:relative;
  padding:28px 32px 30px 0;
  text-decoration:none;
  border-top:1px solid var(--line);
  margin-right:30px;
  transition:background .2s;
}
.card:hover .card-arrow {
  transform:translate(3px,-3px);
}
.card h3 {
  font-size:19px;
}
.card p {
  font-size:14px;
  color:var(--muted);
  max-width:29em;
  margin-bottom:0;
}
.card-icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f4f5ed;
}
.card-icon svg {
  width:23px;
  height:23px;
}
.card-arrow {
  position:absolute;
  right:3px;
  top:31px;
  color:var(--accent);
  transition:transform .2s;
}
.split {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:80px;
  align-items:center;
}
.split>div:first-child>p {
  font-size:14px;
  color:var(--muted);
}
.split>div:first-child>p:last-child {
  margin-bottom:0;
}
.split--rev {
  grid-template-columns:1.1fr 1fr;
}
.split--rev .feature-visual {
  order:-1;
}
.feature-visual {
  background:#e6ebdd;
  border:1px solid #d8dfcf;
  border-radius:16px;
  padding:34px 20px;
  min-width:0;
  overflow:hidden;
}
.shot {
  border-radius:8px;
  border:1px solid #d5dacf;
  background:#fff;
  box-shadow:0 12px 26px -14px #183f3544;
  width:100%;
}
.split h2 {
  font-size:clamp(2rem,2.8vw,2.75rem);
}
#receptie .feature-visual {
  background:#eee8da;
}
#menaj .feature-visual {
  background:#dfe9e3;
}
#oaspeti .feature-visual {
  background:var(--ink);
  padding:38px;
  max-height:650px;
  display:flex;
  justify-content:center;
}
#oaspeti .shot {
  width:min(100%,235px);
  height:auto;
  object-fit:contain;
  border:0;
  border-radius:18px;
}
#restaurant .feature-visual {
  padding:0;
}
#restaurant .shot {
  border:0;
  border-radius:16px;
  aspect-ratio:1.1;
  object-fit:cover;
}
#canale {
  background:var(--ink);
  color:#ccd8ca;
}
#canale h2 {
  color:#fafcf2;
}
#canale .eyebrow {
  color:var(--lime);
}
#canale .intro {
  color:#c9d6c5;
  max-width:860px;
  font-size:14px;
}
#canale .wrap>p:last-child {
  max-width:860px;
  font-size:14px;
  color:#abbda8;
}
.channel-names {
  display:flex;
  gap:50px;
  margin:34px 0;
  font-size:24px;
  color:#fff;
  font-weight:600;
  letter-spacing:-.035em;
}
#aplicatie .feature-visual {
  display:flex;
  justify-content:center;
  background:#e5e6d6;
  max-height:650px;
  padding:35px;
}
#aplicatie .shot {
  width:min(100%,250px);
  object-fit:contain;
  border-radius:24px;
}
#pentru-cine {
  padding-top:60px;
  padding-bottom:65px;
  border-bottom:1px solid var(--line);
}
#pentru-cine h2 {
  font-size:30px;
}
.chips {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  list-style:none;
  padding:0;
  margin:24px 0 0;
}
.chips li {
  background:transparent;
  border:1px solid #ccd6c6;
  border-radius:5px;
  padding:9px 15px;
  margin:0;
  font-size:12px;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
}
.badge {
  display:inline-block;
  background:var(--lime);
  color:var(--ink);
  padding:8px 14px;
  font-size:11px;
  border-radius:5px;
  white-space:nowrap;
}
.prices {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:46px 0 26px;
}
.price {
  position:relative;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:12px;
  padding:32px;
  display:flex;
  flex-direction:column;
}
.price h3 {
  font-size:21px;
}
.price>.note {
  min-height:46px;
  font-size:14px;
}
.price>p:not(.note) {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  font-size:12px;
  color:var(--muted);
  padding:12px 0 26px;
  border-bottom:1px solid var(--line);
  margin-bottom:0;
}
.price .amount {
  font:48px/1.2 "Alata",sans-serif;
  letter-spacing:-.05em;
  color:var(--ink);
}
.price .was {
  font-size:15px;
  text-decoration:line-through;
  color:var(--muted);
}
.price ul {
  list-style:none;
  padding:0;
  margin:25px 0 32px;
  font-size:14px;
}
.price li {
  position:relative;
  padding-left:23px;
  margin-bottom:12px;
}
.price li::before {
  content:"✓";
  position:absolute;
  left:0;
  color:var(--accent);
}
.price .btn {
  margin-top:auto;
  width:100%;
  font-size:12px;
  background:transparent;
  color:var(--ink);
  border-color:#b9c9b0;
}
.price .btn:hover {
  background:var(--soft);
}
.price--top {
  background:var(--ink);
  border-color:var(--ink);
  color:#ecf3e8;
}
.price--top h3,.price--top .amount {
  color:#fff;
}
.price--top .note,.price--top>p:not(.note),.price--top .was {
  color:#c0cfbd;
}
.price--top>p:not(.note) {
  border-color:#456151;
}
.price--top li::before {
  color:var(--lime);
}
.price--top .btn {
  background:var(--lime);
  border-color:var(--lime);
  color:var(--ink);
}
.price--top .btn:hover {
  background:#e5f4c5;
}
.price-label {
  position:absolute;
  top:-13px;
  left:24px;
  right:24px;
  padding:5px 8px;
  font-size:8px;
  font-weight:650;
  letter-spacing:.12em;
  text-align:center;
  border-radius:4px;
  color:var(--ink);
  background:var(--lime);
}
.note {
  font-size:14px;
  color:var(--muted);
}
#preturi>.wrap>.note {
  max-width:950px;
}
.steps {
  counter-reset:s;
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  margin:40px 0 0;
}
.steps li {
  counter-increment:s;
  border-top:1px solid var(--line);
  padding-top:25px;
  margin:0;
  font-size:14px;
  color:var(--muted);
}
.steps li::before {
  content:"0" counter(s);
  display:block;
  font:32px "Alata",sans-serif;
  color:#77906b;
  margin-bottom:28px;
}
.steps strong {
  display:block;
  font-size:17px;
  color:var(--ink);
  font-weight:500;
  margin-bottom:12px;
}
#intrebari>.wrap {
  max-width:850px;
}
.faq {
  border-bottom:1px solid #d4ddce;
  padding:20px 0;
}
.faq summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
  font-size:15px;
  color:var(--ink);
  list-style:none;
}
.faq summary::-webkit-details-marker {
  display:none;
}
.faq summary::after {
  content:"+";
  flex-shrink:0;
  color:var(--accent);
  font-size:23px;
  font-weight:400;
}
.faq[open] summary::after {
  content:"−";
}
.faq p {
  margin:12px 42px 0 0;
  color:var(--muted);
  font-size:14px;
}
.demo {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:100px;
  align-items:start;
}
#demo {
  background:#e8eddf;
}
.demo>div {
  padding-top:24px;
}
.demo h2 {
  font-size:clamp(2.3rem,4vw,3.7rem);
}
.demo h2 em {
  color:#69875b;
}
.demo .intro {
  font-size:15px;
  max-width:320px;
}
.demo>div>p:not(.intro) {
  margin-top:40px;
  font-size:14px;
}
.contacts {
  list-style:none;
  padding:0;
}
.contacts li {
  font-size:14px;
  border-bottom:1px solid #cdd8c6;
  padding:12px 0;
  max-width:320px;
  color:var(--muted);
}
.contacts a {
  float:right;
  color:var(--ink);
  font-weight:500;
  text-decoration:none;
}
.contacts a:hover {
  text-decoration:underline;
}
.form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  background:var(--bg);
  border:1px solid #d8e0d0;
  border-radius:14px;
  padding:34px;
}
.form-heading,.field-wide,.form>.note,.form>.btn,.form-msg,.form>noscript {
  grid-column:1/-1;
}
.form-heading h3 {
  font-size:24px;
  margin-bottom:8px;
}
.form-heading p {
  font-size:14px;
  color:var(--muted);
  margin:0 0 10px;
}
.form label {
  display:grid;
  gap:7px;
  font-size:14px;
  font-weight:550;
  color:var(--ink);
}
.form label:has(input[name="phone"]) {
  grid-column:1/-1;
}
.form input,.form select,.form textarea {
  font:13px "Onest",sans-serif;
  padding:12px;
  border:1px solid #d6ddcf;
  border-radius:6px;
  background:#fff;
  color:var(--text);
  width:100%;
  min-width:0;
}
.form input::placeholder,.form textarea::placeholder {
  color:#7b867c;
}
.form textarea {
  min-height:95px;
  resize:vertical;
  line-height:1.6;
}
.form input:focus,.form select:focus,.form textarea:focus {
  outline:2px solid #8ca66a;
  outline-offset:2px;
  border-color:var(--accent);
}
.form>.note {
  font-size:14px;
  line-height:1.65;
  margin:0;
}
.form-msg {
  margin:0;
  font-size:14px;
}
.form-msg:empty {
  display:none;
}
.form-msg.ok {
  color:var(--ok);
}
.form-msg.err {
  color:var(--err);
}
.foot {
  background:var(--ink);
  color:#c0cebc;
  padding:54px 0 28px;
  font-size:12px;
  line-height:1.8;
}
.foot a {
  color:#e6eddf;
}
.footer-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding-bottom:35px;
  margin-bottom:28px;
  border-bottom:1px solid #3c5847;
}
.footer-heading .footer-brand {
  font-size:25px;
  letter-spacing:-.04em;
  text-decoration:none;
  color:#fff;
}
.footer-brand span {
  display:block;
  font-size:9px;
  letter-spacing:.1em;
  color:#c0cebc;
}
.footer-heading p {
  font-size:16px;
  line-height:1.5;
  margin:0;
}
.back-top {
  font-size:11px;
  text-decoration:none;
}
.foot p {
  margin-bottom:10px;
}
.foot>.wrap>p:first-of-type {
  max-width:920px;
}
.subpage .top .wrap {
  justify-content:space-between;
}
.subpage .logo {
  font:inherit;
}
.subpage .logo>.brand-mark {
  color:var(--lime);
}
.legal-page>.wrap {
  max-width:800px;
}
.legal-page h1 {
  font-size:clamp(2.5rem,5vw,4rem);
}
.legal-page h2 {
  font-size:24px;
  margin-top:38px;
}
.legal-page p {
  font-size:15px;
}
.error-code {
  display:block;
  font:clamp(6rem,18vw,12rem)/1 "Alata",sans-serif;
  color:#6a845c;
  margin-bottom:24px;
}
.legal-page:has(.error-code) {
  min-height:80vh;
}
@media(min-width:1500px) {
  .hero {
    padding:100px 0 85px;
  }
  .hero-grid {
    gap:70px;
  }
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 48px);
  }
  .nav {
    gap:20px;
  }
  .top>.wrap {
    gap:20px;
  }
  .hero-grid {
    gap:30px;
  }
  .hero h1 {
    font-size:52px;
  }
  .hero .cta {
    gap:18px;
  }
  .hero .cta .btn {
    padding:14px 18px;
  }
  .hero-visual {
    padding:55px 20px 22px;
  }
  .browser-frame {
    width:calc(100% + 30px);
    margin-left:-22px;
  }
  .visual-caption {
    font-size:8px;
    margin-left:18px;
  }
  .visual-index {
    display:none;
  }
  .split {
    gap:44px;
  }
  .price {
    padding:26px;
  }
  .demo {
    gap:48px;
  }
  .section-heading {
    align-items:start;
  }
  .section-heading .badge {
    margin-top:8px;
  }
  .property-strip .wrap {
    gap:20px;
  }
  .property-strip span {
    font-size:11px;
  }
}
@media(max-width:850px) {
  .nav {
    display:none;
  }
  .nav-cta {
    margin-left:auto;
  }
  .menu-toggle {
    width:40px;
    height:40px;
    border:1px solid var(--line);
    border-radius:6px;
    background:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
  }
  .menu-toggle span {
    width:17px;
    height:1px;
    background:var(--ink);
  }
  .menu-toggle[aria-expanded="true"] span:first-child {
    transform:translateY(3.5px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:last-child {
    transform:translateY(-3.5px) rotate(-45deg);
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:48px;
  }
  .hero h1 {
    font-size:64px;
  }
  .hero-copy {
    max-width:620px;
  }
  .hero-visual {
    max-width:680px;
    width:100%;
    padding:50px 36px 25px;
  }
  .browser-frame {
    width:100%;
    margin-left:0;
  }
  .hero .lead {
    max-width:470px;
  }
  .hero .cta {
    gap:26px;
  }
  .property-strip .wrap {
    flex-wrap:wrap;
    justify-content:center;
    padding:22px 0;
    gap:12px 24px;
  }
  .property-strip span:first-child {
    flex-basis:100%;
    max-width:none;
    text-align:center;
  }
  .grid--3 {
    grid-template-columns:repeat(2,1fr);
  }
  .split,.split--rev {
    grid-template-columns:1fr;
    gap:32px;
  }
  .split--rev .feature-visual {
    order:0;
  }
  .split>div:first-child>p {
    max-width:680px;
  }
  .feature-visual {
    padding:35px;
  }
  .sec {
    padding:72px 0;
  }
  .prices {
    gap:12px;
  }
  .price {
    padding:22px 18px;
  }
  .price h3 {
    font-size:18px;
  }
  .price .amount {
    font-size:40px;
  }
  .price-label {
    left:8px;
    right:8px;
    font-size:7px;
  }
  .steps {
    grid-template-columns:repeat(2,1fr);
    gap:36px;
  }
  .demo {
    grid-template-columns:1fr;
    gap:30px;
  }
  .demo>div {
    padding-top:0;
  }
  .demo .intro {
    max-width:500px;
  }
  .form {
    max-width:650px;
    width:100%;
  }
  .contacts {
    display:flex;
    flex-wrap:wrap;
    gap:8px 30px;
  }
  .contacts li {
    width:280px;
    max-width:100%;
  }
  .demo>div>p:not(.intro) {
    margin-top:25px;
  }
  .section-heading {
    display:block;
  }
  .section-heading .badge {
    margin:0 0 22px;
  }
  .footer-heading {
    flex-wrap:wrap;
  }
  .footer-heading p {
    font-size:13px;
  }
}
@media(max-width:600px) {
  html {
    scroll-padding-top:90px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .topbar .wrap {
    min-height:32px;
  }
  .topbar .wrap>span {
    font-size:8px;
    letter-spacing:-.01em;
  }
  .topbar a {
    font-size:10px;
  }
  .topbar a span {
    display:none;
  }
  .top>.wrap {
    min-height:74px;
    gap:12px;
  }
  .brand-name {
    font-size:16px;
  }
  .brand-mark {
    width:33px;
    height:37px;
    font-size:28px;
  }
  .brand-name small {
    font-size:8px;
  }
  .logo {
    gap:8px;
  }
  .top .btn {
    font-size:10px;
    padding:10px 12px;
    gap:8px;
  }
  .top .btn span {
    font-size:16px;
  }
  .menu-toggle {
    width:34px;
    height:36px;
    flex-shrink:0;
  }
  .hero {
    padding:46px 0 40px;
  }
  .hero h1 {
    font-size:clamp(40px,10.5vw,60px);
  }
  .hero .eyebrow {
    font-size:9px;
    margin-bottom:24px;
  }
  .hero .lead {
    font-size:15px;
  }
  .hero .cta {
    gap:20px;
  }
  .cta .btn {
    font-size:12px;
  }
  .text-link {
    font-size:11px;
  }
  .hero-trust {
    font-size:10px;
  }
  .offer-link {
    margin-top:10px;
    font-size:10px;
  }
  .hero-grid {
    gap:34px;
  }
  .hero-visual {
    border-radius:80px 12px 12px 12px;
    padding:33px 18px 18px;
  }
  .visual-caption {
    font-size:7px;
    margin:0 0 10px 18px;
    letter-spacing:.08em;
  }
  .visual-caption>span:last-child {
    font-size:19px;
  }
  .browser-frame {
    border-width:3px;
    border-radius:8px;
  }
  .browser-bar {
    font-size:7px;
    padding:6px;
  }
  .window-dots {
    font-size:6px;
  }
  .visual-bottom {
    margin-top:23px;
    gap:10px;
  }
  .visual-bottom strong {
    font-size:11px;
  }
  .visual-bottom div>span {
    font-size:9px;
  }
  .mini-icon {
    width:31px;
    height:31px;
  }
  .visual-note {
    font-size:8px;
    margin-top:14px;
  }
  .property-strip .wrap {
    gap:10px 18px;
  }
  .property-strip span {
    font-size:10px;
  }
  .sec {
    padding:58px 0;
  }
  .eyebrow {
    font-size:9px;
    margin-bottom:17px;
  }
  h2 {
    font-size:32px;
  }
  .sec .intro {
    font-size:14px;
  }
  .grid {
    margin-top:30px;
  }
  .card {
    padding:22px 15px 24px 0;
    margin-right:14px;
  }
  .card:nth-child(even) {
    margin-right:0;
  }
  .card h3 {
    font-size:17px;
    line-height:1.3;
  }
  .card p {
    font-size:14px;
    line-height:1.7;
  }
  .card-icon {
    width:36px;
    height:36px;
    margin-bottom:16px;
  }
  .card-icon svg {
    width:20px;
    height:20px;
  }
  .card-arrow {
    top:27px;
    font-size:13px;
  }
  .split h2 {
    font-size:32px;
  }
  .split>div:first-child>p {
    font-size:14px;
  }
  .feature-visual {
    padding:22px 14px;
    border-radius:12px;
  }
  .shot {
    border-radius:5px;
  }
  #aplicatie .feature-visual,#oaspeti .feature-visual {
    padding:25px;
  }
  #aplicatie .shot {
    max-width:210px;
  }
  #oaspeti .shot {
    max-width:200px;
  }
  .channel-names {
    gap:22px;
    font-size:19px;
    flex-wrap:wrap;
    margin:27px 0;
  }
  #canale .intro {
    font-size:14px;
  }
  #canale .wrap>p:last-child {
    font-size:14px;
  }
  #pentru-cine h2 {
    font-size:28px;
  }
  .chips li {
    font-size:11px;
    padding:7px 10px;
  }
  .prices {
    grid-template-columns:1fr;
    gap:26px;
    margin-top:25px;
  }
  .price {
    padding:28px;
  }
  .price h3 {
    font-size:23px;
  }
  .price>.note {
    min-height:0;
    font-size:14px;
  }
  .price .amount {
    font-size:48px;
  }
  .price ul {
    font-size:14px;
    margin:20px 0 26px;
  }
  .price-label {
    left:24px;
    right:24px;
    font-size:8px;
  }
  .badge {
    font-size:10px;
  }
  .steps {
    gap:28px 24px;
  }
  .steps li {
    font-size:14px;
  }
  .steps li::before {
    font-size:27px;
    margin-bottom:18px;
  }
  .steps strong {
    font-size:16px;
  }
  .faq summary {
    font-size:14px;
  }
  .faq p {
    font-size:14px;
    margin-right:18px;
  }
  .demo h2 {
    font-size:40px;
  }
  .form {
    padding:24px 20px;
    gap:16px;
  }
  .form input,.form select,.form textarea {
    font-size:16px;
    padding:11px 10px;
  }
  .form label {
    font-size:14px;
  }
  .form-heading h3 {
    font-size:22px;
  }
  .form-heading p {
    font-size:14px;
  }
  .form .btn {
    font-size:13px;
  }
  .footer-heading {
    gap:20px;
    align-items:start;
  }
  .footer-heading .footer-brand {
    font-size:22px;
  }
  .footer-heading p {
    font-size:12px;
  }
  .back-top {
    flex-basis:100%;
  }
  .foot {
    font-size:10px;
    padding-top:35px;
  }
  .foot>.wrap>p {
    line-height:2;
  }
  .subpage .logo {
    font-size:17px;
  }
  .subpage .top .btn {
    font-size:10px;
  }
  .legal-page p {
    font-size:14px;
  }
}
@media(max-width:370px) {
  .topbar .wrap>span {
    max-width:165px;
    font-size:8px;
  }
  .brand-name {
    font-size:14px;
  }
  .top>.wrap {
    gap:8px;
  }
  .nav-cta {
    gap:0!important;
  }
  .nav-cta span {
    display:none;
  }
  .hero .cta {
    gap:14px;
  }
  .hero .cta .btn {
    padding:12px;
  }
  .form {
    grid-template-columns:1fr;
  }
  .form label {
    grid-column:1/-1;
  }
  .channel-names {
    font-size:17px;
    gap:18px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

/* Product captures, selected offer and field-level feedback. */
.screenshot-link { position:relative; display:block; color:var(--ink); cursor:zoom-in; border-radius:8px; }
.screenshot-link img { width:100%; }
.zoom-hint { position:absolute; right:12px; bottom:12px; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:5px; padding:6px 11px; font-size:11px; box-shadow:0 2px 12px #183f3526; }
.screenshot-link:hover .zoom-hint,.screenshot-link:focus-visible .zoom-hint { background:var(--lime); }
#oaspeti .screenshot-link { width:min(100%,235px); }
#aplicatie .screenshot-link { width:min(100%,250px); }
#oaspeti .screenshot-link .shot,#aplicatie .screenshot-link .shot { width:100%; max-width:none; }
.image-dialog { width:min(1480px,calc(100% - 40px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--line); border-radius:12px; background:var(--bg); color:var(--ink); }
.image-dialog::backdrop { background:rgb(10 28 23 / 80%); }
.image-dialog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 20px; border-bottom:1px solid var(--line); }
.image-dialog-toolbar p { font-size:14px; margin:0; }
.image-dialog-toolbar button { display:flex; align-items:center; gap:14px; flex-shrink:0; min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--ink); cursor:pointer; font-size:13px; }
.image-dialog-toolbar button span { font-size:24px; }
.image-dialog-body { overflow:auto; padding:20px; max-height:calc(100dvh - 130px); }
.image-dialog-body img { width:auto; height:auto; max-height:calc(100dvh - 170px); margin:auto; object-fit:contain; }
body:has(.image-dialog[open]) { overflow:hidden; }
.required-note { grid-column:1/-1; order:-1; font-size:12px; color:var(--muted); margin:0; }
.field-error { font-size:12px; font-weight:400; color:var(--err); }
.form [aria-invalid="true"] { border-color:var(--err); background:#fff8f6; }
.form-heading { order:-2; }
.form select[name="plan"] { background:#f0f4e8; }
@media(max-width:600px) {
  .grid--3 { grid-template-columns:1fr; }
  .card { padding:22px 28px 24px 56px; margin-right:0; }
  .card-icon { position:absolute; left:0; top:24px; }
  .card p { max-width:none; }
  .menu-toggle { width:44px; height:44px; }
  .top>.wrap { gap:8px; }
  .top .nav-cta { min-height:44px; }
  .hero-trust,.offer-link,.text-link { font-size:12px; }
  .image-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
  .image-dialog-toolbar { padding:10px; gap:10px; }
  .image-dialog-toolbar p { font-size:12px; }
  .image-dialog-body { padding:10px; }
  .zoom-hint { right:8px; bottom:8px; font-size:10px; padding:5px 8px; }
  #aplicatie .screenshot-link { max-width:210px; }
  #oaspeti .screenshot-link { max-width:200px; }
}

.form label:has(select[name="rooms"]),.form label:has(select[name="restaurant"]) { grid-template-rows:1fr auto; }
.image-dialog-toolbar p { flex:1; }
.image-dialog-body.is-zoomed img { max-width:none; max-height:none; }
@media(max-width:600px) {
  .image-dialog-toolbar { flex-wrap:wrap; justify-content:space-between; }
  .image-dialog-toolbar p { flex-basis:100%; }
  .image-dialog-body { max-height:calc(100dvh - 185px); }
}

/* User-controlled product preview: no automatic rotation. */
.preview-tabs { display:flex; gap:4px; padding:5px; margin:0 0 20px; border:1px solid #cad5c0; background:#f4f6ed; border-radius:8px; }
.preview-tabs button { flex:1; min-width:0; min-height:44px; padding:8px 12px; border:0; border-radius:5px; background:transparent; color:var(--ink); font-size:12px; cursor:pointer; transition:background .15s,color .15s; }
.preview-tabs button:hover { background:#dfe8d1; }
.preview-tabs button[aria-selected="true"] { background:var(--ink); color:#fff; box-shadow:0 2px 5px #183f3520; }
#preview-panel .screenshot-link { aspect-ratio:1600 / 842; background:#0c1014; }
#preview-panel img { width:100%; height:100%; object-fit:contain; }
.visual-bottom>div { min-height:48px; }
.visual-bottom div>span { font-size:12px; }
.visual-note { font-size:11px; }
@media(max-width:600px) {
  .preview-tabs { gap:2px; padding:4px; margin-bottom:20px; }
  .preview-tabs button { padding:8px 5px; font-size:11px; }
  .visual-bottom div>span { font-size:11px; }
  .visual-caption { font-size:8px; }
}

@media(min-width:851px) {
  .hero { padding:60px 0 54px; }
  .hero-visual { padding-top:40px; }
  .visual-caption { line-height:1.2; }
  .visual-bottom { margin-top:26px; }
  .visual-note { margin-top:12px; }
}

/* Module navigation and progressive disclosure. */
.module-nav { position:sticky; top:88px; z-index:15; border-block:1px solid var(--line); background:rgba(252,251,247,.97); backdrop-filter:blur(12px); }
.module-nav .wrap { display:flex; align-items:center; gap:30px; min-height:58px; }
.module-nav .wrap>span { font-size:9px; letter-spacing:.14em; color:var(--muted); margin-right:auto; }
.module-nav a { position:relative; display:flex; align-items:center; min-height:58px; white-space:nowrap; text-decoration:none; font-size:12px; color:var(--muted); }
.module-nav a:hover,.module-nav a[aria-current="location"] { color:var(--ink); }
.module-nav a[aria-current="location"]::after { position:absolute; content:""; height:3px; background:var(--accent); bottom:0; inset-inline:0; }
.feature-detail { border-top:1px solid #d2dbca; }
.feature-detail:last-child { border-bottom:1px solid #d2dbca; }
.feature-detail summary { display:flex; justify-content:space-between; gap:18px; align-items:center; min-height:58px; padding:13px 0; font-size:14px; font-weight:500; color:var(--ink); list-style:none; cursor:pointer; }
.feature-detail summary::-webkit-details-marker { display:none; }
.feature-detail summary::after { content:"+"; font-size:21px; font-weight:400; flex-shrink:0; }
.feature-detail[open] summary::after { content:"−"; }
.feature-detail p { color:var(--muted); font-size:14px; line-height:1.8; padding-bottom:6px; }
.feature-detail+p { margin-top:20px; }
.split .feature-visual { align-self:center; }

/* Guided package selection; all prices remain visible below. */
.plan-guide { display:grid; grid-template-columns:1fr 1fr; gap:28px 48px; margin:36px 0 48px; padding:32px; border:1px solid #cad6c0; border-radius:12px; background:#e4ecd9; }
.guide-heading .eyebrow { margin-bottom:13px; }
.guide-heading h3 { font-size:27px; max-width:340px; margin-bottom:15px; }
.guide-heading p { font-size:14px; color:var(--muted); max-width:370px; margin:0; }
.guide-fields { display:grid; grid-template-columns:1fr; gap:8px; align-content:start; }
.guide-fields label { font-size:12px; font-weight:600; color:var(--ink); }
.guide-fields select { min-width:0; width:100%; min-height:48px; border:1px solid #a8b99a; border-radius:6px; background:var(--bg); color:var(--ink); font-size:14px; padding:10px 12px; }
.guide-fields select+label { margin-top:8px; }
.guide-result { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:40px; row-gap:12px; padding-top:26px; border-top:1px solid #c1d0b6; }
.guide-result .eyebrow { font-size:9px; margin-bottom:9px; }
.guide-result h4 { font:24px/1.3 "Alata",sans-serif; color:var(--ink); margin:0 0 10px; }
.guide-result p { font-size:13px; color:var(--muted); margin:0; max-width:560px; }
.guide-result .btn { font-size:12px; padding:14px 20px; gap:18px; }
.guide-reset { justify-self:start; grid-column:1/-1; background:transparent; border:0; color:var(--accent); text-decoration:underline; text-underline-offset:3px; font-size:12px; padding:9px 0; cursor:pointer; }
.price.is-suggested { outline:3px solid #4d713d; outline-offset:5px; }
.form .submit-label { font-size:14px; line-height:1.5; }
.form[aria-busy="true"] .submit-icon { display:inline-block; width:17px; height:17px; border:2px solid #ffffff55; border-top-color:#fff; border-radius:50%; font-size:0; animation:form-spin .8s linear infinite; }
@keyframes form-spin { to { transform:rotate(360deg); } }
.form-msg.ok,.form-msg.err { padding:14px; border:1px solid currentColor; border-radius:6px; font-size:13px; }
.form-msg.ok { background:#eef5e7; }
.form-msg.err { background:#fff5f1; }
.footer-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; padding:5px 0 35px; margin-bottom:28px; border-bottom:1px solid #3c5847; }
.footer-nav h2 { color:#fff; font:15px/1.5 "Onest",sans-serif; letter-spacing:0; margin-bottom:16px; }
.footer-nav a { display:block; width:fit-content; font-size:12px; text-decoration:none; padding:6px 0; color:#c0cebc; }
.footer-nav a:hover { color:var(--lime); text-decoration:underline; }
@media(min-width:851px) { html { scroll-padding-top:166px; } }
@media(max-width:1100px) { .module-nav .wrap { gap:22px; } .module-nav .wrap>span { display:none; } }
@media(max-width:850px) {
  .module-nav { position:static; }
  .module-nav .wrap { overflow-x:auto; gap:25px; scrollbar-width:thin; }
  .module-nav a { min-height:52px; }
  .guide-result { grid-template-columns:1fr; }
  .guide-result .btn { justify-self:start; }
}
@media(max-width:600px) {
  .plan-guide { grid-template-columns:1fr; padding:24px 20px; gap:24px; }
  .guide-heading h3 { font-size:25px; }
  .guide-heading p { font-size:14px; }
  .guide-fields select { font-size:16px; }
  .guide-result .btn { width:100%; font-size:12px; padding-inline:12px; gap:12px; }
  .guide-result h4 { font-size:22px; }
  .guide-reset { min-height:44px; }
  .feature-detail summary { font-size:14px; min-height:56px; }
  .footer-nav { grid-template-columns:1fr 1fr; gap:26px 20px; }
  .footer-nav>div:last-child { grid-column:1/-1; }
  .footer-nav a { min-height:44px; font-size:13px; }
  .footer-nav h2 { font-size:14px; }
}
@media print {
  .topbar,.top,.module-nav,.preview-tabs,.zoom-hint,.plan-guide,.cta,.offer-link,.skip-link,.back-top,#demo,.image-dialog,.footer-nav { display:none!important; }
  body { background:white; color:#111; font-size:11pt; }
  .wrap { width:100%; }
  .sec,.hero { padding:24px 0; }
  .hero-grid,.split { gap:24px; }
  .feature-detail>p { display:block!important; }
  .price,.card,.feature-visual { break-inside:avoid; }
  .browser-frame { transform:none; }
  .foot { background:white; color:#333; border-top:1px solid #aaa; padding-top:15px; }
  .foot a,.footer-heading .footer-brand,.footer-brand span { color:#333; }
}
