:root{
  --vevio-navy:#0b1e3f;
  --vevio-navy-2:#0a1730;
  --vevio-orange:#f26c1f;
  --vevio-orange-2:#ff7a2e;
  --vevio-ink:#0b1220;
  --vevio-muted:#6b7589;
}
*{box-sizing:border-box}
html,body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#0b1220;background:#fafafa}
.text-vevio{color:var(--vevio-orange)!important}
.bg-vevio{background:var(--vevio-orange)!important}
.bg-navy{background:var(--vevio-navy)!important}

/* Nav */
.vevio-nav{background:#fff;border-bottom:1px solid #eef0f4;padding:.85rem 0;box-shadow:0 1px 0 rgba(11,30,63,.04)}
.vevio-logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:9px;
  background:linear-gradient(135deg,var(--vevio-orange),var(--vevio-orange-2));
  color:#fff;font-size:1.15rem;box-shadow:0 6px 18px rgba(242,108,31,.35)
}
.vevio-logo-text{font-weight:900;font-size:1.6rem;letter-spacing:-.02em;color:var(--vevio-navy)}
.vevio-nav .nav-link{font-weight:600;color:#0b1220;padding:.5rem .9rem;border-radius:8px}
.vevio-nav .nav-link:hover{color:var(--vevio-orange);background:#fff5ed}

.btn-vevio{background:var(--vevio-orange);border:0;color:#fff;font-weight:700;padding:.65rem 1.25rem;border-radius:10px;box-shadow:0 8px 22px rgba(242,108,31,.3);transition:.2s}
.btn-vevio:hover{background:var(--vevio-orange-2);color:#fff;transform:translateY(-1px);box-shadow:0 12px 28px rgba(242,108,31,.4)}
.btn-outline-vevio{border:2px solid var(--vevio-orange);color:var(--vevio-orange);background:transparent;font-weight:700;border-radius:10px;padding:.55rem 1.15rem}
.btn-outline-vevio:hover{background:var(--vevio-orange);color:#fff}

/* HERO */
.vevio-hero{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,var(--vevio-navy-2) 0%,var(--vevio-navy) 60%);
  padding:5rem 0 6rem;
}
.vevio-hero::before{
  content:"";position:absolute;inset:0;
  background:url('../img/hero-banner.png') right center/cover no-repeat;
  -webkit-mask-image:linear-gradient(105deg,transparent 45%, #000 60%);
          mask-image:linear-gradient(105deg,transparent 45%, #000 60%);
  opacity:.95;
}
.vevio-hero .container{position:relative;z-index:2}
.vevio-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:900;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase}
.vevio-hero h1 .accent{color:var(--vevio-orange);display:block}
.vevio-hero .lead{font-size:1.15rem;max-width:520px;color:#cfd8e8}
.hero-divider{width:60px;height:3px;background:var(--vevio-orange);border:0;margin:1.25rem 0;opacity:1;border-radius:2px}
.hero-features{display:flex;gap:0;margin-top:2rem;flex-wrap:wrap}
.hero-feature{padding:0 1.5rem;border-right:1px solid rgba(255,255,255,.15);text-align:center;min-width:130px}
.hero-feature:first-child{padding-left:0}
.hero-feature:last-child{border-right:0}
.hero-feature i{font-size:1.75rem;color:var(--vevio-orange);display:block;margin-bottom:.4rem}
.hero-feature span{display:block;font-size:.85rem;color:#cfd8e8;font-weight:500;line-height:1.3}
.hero-corner{position:absolute;right:0;bottom:0;width:160px;height:120px;background:var(--vevio-orange);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:1}

/* Search bar */
.search-bar{background:#fff;border-radius:16px;padding:1rem;margin-top:-3rem;position:relative;z-index:5;box-shadow:0 20px 50px rgba(11,30,63,.15)}
.search-bar .form-control,.search-bar .form-select{border:1px solid #e6eaf0;height:48px;border-radius:10px}

/* Cards */
.section{padding:4.5rem 0}
.section-title{font-weight:800;letter-spacing:-.02em;color:var(--vevio-navy)}
.section-kicker{color:var(--vevio-orange);font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem}
.prop-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #eef0f4;transition:.25s;height:100%;display:flex;flex-direction:column}
.prop-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(11,30,63,.12);border-color:#dfe4ec}
.prop-img{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#0b1e3f,#1a3868);overflow:hidden}
.prop-img img{width:100%;height:100%;object-fit:cover}
.prop-img .placeholder-ic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:3rem}
.prop-badge{position:absolute;top:12px;left:12px;background:var(--vevio-orange);color:#fff;font-weight:700;font-size:.75rem;padding:.35rem .7rem;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}
.prop-badge.kiado{background:#0b1e3f}
.prop-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.prop-price{color:var(--vevio-orange);font-weight:800;font-size:1.35rem}
.prop-title{font-weight:700;color:var(--vevio-navy);margin:.35rem 0;font-size:1.05rem;line-height:1.3}
.prop-meta{color:var(--vevio-muted);font-size:.85rem}
.prop-stats{display:flex;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid #eef0f4;color:#475065;font-size:.85rem}
.prop-stats span{display:flex;align-items:center;gap:.35rem}

/* Service cards */
.service-card{background:#fff;border:1px solid #eef0f4;border-radius:16px;padding:2rem;height:100%;transition:.25s}
.service-card:hover{border-color:var(--vevio-orange);transform:translateY(-3px);box-shadow:0 16px 32px rgba(11,30,63,.08)}
.service-icon{width:56px;height:56px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#fff5ed;color:var(--vevio-orange);font-size:1.6rem;margin-bottom:1rem}

/* CTA */
.vevio-cta{background:linear-gradient(135deg,var(--vevio-navy) 0%,var(--vevio-navy-2) 100%);color:#fff;border-radius:20px;padding:3rem;position:relative;overflow:hidden}
.vevio-cta::after{content:"";position:absolute;right:-40px;bottom:-40px;width:200px;height:200px;background:var(--vevio-orange);opacity:.15;border-radius:50%}

/* Footer */
.vevio-footer{background:var(--vevio-navy-2);color:#fff}
.vevio-footer a{color:#cfd8e8;text-decoration:none}
.vevio-footer a:hover{color:var(--vevio-orange)}

/* Detail page */
.detail-hero{background:linear-gradient(135deg,var(--vevio-navy),var(--vevio-navy-2));color:#fff;padding:3rem 0}
.detail-img{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#1a3868,#0b1e3f);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:6rem}
.detail-img img{width:100%;height:100%;object-fit:cover}
.spec-list{list-style:none;padding:0;margin:0}
.spec-list li{padding:.75rem 0;border-bottom:1px solid #eef0f4;display:flex;justify-content:space-between}
.spec-list li:last-child{border-bottom:0}
.spec-list .label{color:var(--vevio-muted);font-weight:500}
.spec-list .val{font-weight:700;color:var(--vevio-navy)}

/* Admin */
.admin-shell{min-height:100vh;background:#f4f6fa}
.admin-sidebar{background:var(--vevio-navy);color:#fff;min-height:100vh;padding:1.5rem 1rem}
.admin-sidebar a{color:#cfd8e8;display:block;padding:.6rem .9rem;border-radius:8px;text-decoration:none;font-weight:500;margin-bottom:.25rem}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(242,108,31,.18);color:#fff}
.admin-card{background:#fff;border-radius:14px;padding:1.5rem;border:1px solid #eef0f4}
.stat-card{background:#fff;border-radius:14px;padding:1.5rem;border:1px solid #eef0f4}
.stat-card .stat-val{font-size:2rem;font-weight:800;color:var(--vevio-navy)}
.stat-card .stat-lbl{color:var(--vevio-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* Forms */
.form-control:focus,.form-select:focus{border-color:var(--vevio-orange);box-shadow:0 0 0 .2rem rgba(242,108,31,.15)}
@media (max-width:768px){
  .vevio-hero{padding:3rem 0 4rem}
  .vevio-hero::before{opacity:.25;-webkit-mask-image:none;mask-image:none}
  .hero-feature{padding:0 .9rem;min-width:100px}
}

/* === Kiemelt kártya (v6) === */
.prop-card{position:relative}
.prop-card--featured{
  border:2px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,#f7c948 0%,#f26c1f 50%,#c2185b 100%) border-box;
  box-shadow:0 14px 30px rgba(242,108,31,.18), 0 4px 10px rgba(11,30,63,.06);
}
.prop-card--featured:hover{
  box-shadow:0 28px 56px rgba(242,108,31,.28), 0 8px 18px rgba(11,30,63,.10);
  transform:translateY(-6px);
}
.prop-card--featured-apt{
  background:
    linear-gradient(#fffef9,#fff) padding-box,
    linear-gradient(135deg,#ffd86b 0%,#f7c948 35%,#f26c1f 100%) border-box;
  box-shadow:0 18px 40px rgba(247,201,72,.35), 0 4px 14px rgba(242,108,31,.18);
}
.prop-card--featured .prop-price{
  background:linear-gradient(90deg,#f26c1f,#c2185b);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.prop-ribbon{
  position:absolute;z-index:3;top:14px;right:-6px;
  background:linear-gradient(135deg,#f26c1f,#c2185b);
  color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.12em;
  padding:.45rem .8rem;border-radius:4px 0 0 4px;
  box-shadow:0 6px 14px rgba(194,24,91,.35);
  text-shadow:0 1px 2px rgba(0,0,0,.2);
}
.prop-ribbon::after{
  content:"";position:absolute;right:0;bottom:-6px;
  border-top:6px solid #7a1238;border-right:6px solid transparent;
}
.prop-crown{
  position:absolute;z-index:3;top:12px;right:12px;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 30%, #ffe27a, #f7c948 60%, #c98a1a);
  color:#7a4b00;font-size:1.05rem;
  box-shadow:0 6px 14px rgba(247,201,72,.55), inset 0 1px 0 rgba(255,255,255,.6);
  animation:vevio-pulse 2.4s ease-in-out infinite;
}
@keyframes vevio-pulse{
  0%,100%{box-shadow:0 6px 14px rgba(247,201,72,.55), 0 0 0 0 rgba(247,201,72,.55)}
  50%{box-shadow:0 6px 14px rgba(247,201,72,.55), 0 0 0 10px rgba(247,201,72,0)}
}
.prop-card--featured .prop-img::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(247,201,72,.12), rgba(0,0,0,0) 35%);
}

/* iCal subscribe panel */
.ical-box{
  background:#fff;border:1px dashed #f26c1f;border-radius:12px;
  padding:1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;
}
.ical-box input{flex:1;min-width:220px;font-family:monospace;font-size:.85rem}
