/* ====== Variabile & Reset ====== */
:root{
  --bg: #0b0e13;
  --card: #11161f;
  --muted: #98a2b3;
  --text: #e6e8ec;
  --accent: #44ff98;
  --accent-2: #8b5cf6;
  --primary: #08c5a8;
  --shadow: 0 10px 30px rgba(0,0,0,.25);
  --radius: 18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 800px at 10% -10%, rgba(68,210,255,.08), transparent) var(--bg);
  color:var(--text);
  line-height:1.6;
}

/* ====== Layout ====== */
.wrap{width:min(1100px,90%); margin-inline:auto}
.grid-2{display:grid; grid-template-columns: 1.1fr .9fr; gap:40px}
.row{display:flex; gap:16px; flex-wrap:wrap}
.row.between{justify-content:space-between}
.center-v{align-items:center}

.section{padding:80px 0}
.lead{color:var(--muted)}
.muted{color:var(--muted); font-size:14px}

/* ====== Header ====== */
.site-header{
  position:sticky; top:0; z-index:50; backdrop-filter:saturate(180%) blur(10px);
  background: linear-gradient(180deg, rgba(11,14,19,.95), rgba(11,14,19,.7));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.logo{font-weight:800; font-size:22px; letter-spacing:.5px; color:#fff; text-decoration:none}
.logo span{color:var(--accent)}

.main-nav{position:relative}
.main-nav ul{display:flex; gap:20px; list-style:none; margin:0; padding:0}
.nav-link{color:var(--text); text-decoration:none; padding:12px 14px; border-radius:12px; position:relative; overflow:hidden}
.nav-link::after{
  content:""; position:absolute; inset:auto 0 0 0; height:2px; background:linear-gradient(90deg, var(--accent), var(--accent-2));
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.nav-link:hover::after{transform:scaleX(1)}

/* Mobile nav */
.nav-toggle{display:none; background:transparent; border:0; width:44px; height:44px; border-radius:999px; position:relative}
.nav-toggle .burger, .nav-toggle .burger::before, .nav-toggle .burger::after{
  content:""; position:absolute; left:10px; right:10px; height:2px; background:#fff; transition:transform .3s ease, top .3s ease, opacity .3s ease;
}
.nav-toggle .burger{top:21px}
.nav-toggle .burger::before{top:-8px}
.nav-toggle .burger::after{top:8px}

@media (max-width:900px){
  .grid-2{grid-template-columns: 1fr}
  .main-nav ul{position:absolute; right:0; top:64px; background:var(--card); border-radius:16px; padding:10px; display:none; flex-direction:column; width:max(240px, 50vw); box-shadow:var(--shadow)}
  .main-nav ul.open{display:flex}
  .nav-toggle{display:inline-block}
}

/* ====== Hero ====== */
.hero{min-height:86vh; display:flex; align-items:center; position:relative}
.hero h1{font-size: clamp(28px, 4vw, 46px); line-height:1.2; margin:0 0 12px}
.accent{background:linear-gradient(90deg, var(--accent), var(--accent-2)); -webkit-background-clip:text; background-clip:text; color:transparent}
.hero-card{background:linear-gradient(180deg, #121824, #0c1017); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:12px; box-shadow:var(--shadow)}
.hero-card img{width:100%; height:auto; border-radius:14px}
.cta-row{display:flex; gap:12px; margin:18px 0 12px}
.bullets{margin:14px 0 0 18px; color:var(--muted)}

/* ====== Buttons + Animations ====== */
.btn{
  --btn-bg: var(--primary);
  --btn-text: #041016;
  display:inline-block; padding:12px 18px; border-radius:14px; font-weight:700; text-decoration:none;
  color:var(--btn-text); background:var(--btn-bg); border:1px solid transparent; position:relative; overflow:hidden; transform:translateZ(0);
  transition: transform .18s ease, filter .2s ease, box-shadow .2s ease;
  will-change: transform;
}
.btn:hover{transform: translateY(-2px); box-shadow: 0 10px 24px rgba(8,197,168,.25)}
.btn:active{transform: translateY(0) scale(.98)}
.btn.ghost{--btn-bg: transparent; --btn-text: var(--text); border-color: rgba(255,255,255,.14)}
.btn.small{padding:10px 14px; font-weight:600}
/* Ripple */
.btn::before{
  content:""; position:absolute; left:50%; top:50%; width:0; height:0; border-radius:50%; background:rgba(255,255,255,.35); transform:translate(-50%,-50%); transition:width .45s ease, height .45s ease; pointer-events:none;
}
.btn:focus-visible::before,.btn:hover::before{width:220%; height:220%}

/* Scroll down chevron */
.scroll-down{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); text-decoration:none; font-size:28px; opacity:.7; transition:opacity .2s}
.scroll-down:hover{opacity:1}

/* ====== Cards ====== */
.cards{display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; margin-top:24px}
.card{background:var(--card); border:1px solid rgba(255,255,255,.08); padding:22px; border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,.35)}
.specs{color:var(--muted); margin:10px 0 16px 16px}
@media (max-width:900px){.cards{grid-template-columns:1fr}}

/* ====== Carousel Portofoliu ====== */
.carousel{position:relative; margin-top:18px}
.c-track{
  display:flex; gap:16px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:6px; scrollbar-width:none; -ms-overflow-style:none;
}
.c-track::-webkit-scrollbar{display:none}
.p-card{
  min-width: 290px; max-width: 320px; flex:0 0 auto; scroll-snap-align:start;
  background:var(--card); border:1px solid rgba(255,255,255,.08); border-radius:16px; box-shadow:var(--shadow);
  overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;
}
.p-card:hover{transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.35)}
.p-card img{width:100%; height:190px; object-fit:cover; display:block}
.p-meta{padding:12px 14px}
.p-meta h3{margin:0 0 6px}
.c-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  border:0; width:44px; height:44px; border-radius:50%; backdrop-filter: blur(6px);
  background: rgba(17,22,31,.7); color:#fff; cursor:pointer; transition: transform .2s ease, opacity .2s ease;
  display:flex; align-items:center; justify-content:center;
}
.c-arrow:hover{transform: translateY(-50%) scale(1.05)}
.c-arrow.left {
  left: -50px; /* era -6px, mutat mai în lateral */
}

.c-arrow.right {
  right: -50px; /* era -6px, mutat mai în lateral */
}
@media (max-width:900px){
  .c-arrow{display:none}
}


/* ====== Upload ====== */
.upload-box{
  border:2px dashed rgba(255,255,255,.25); border-radius:16px; padding:28px; text-align:center; background:rgba(255,255,255,.03);
  cursor:pointer; transition:background .2s, border-color .2s;
}
.upload-box:hover{background:rgba(255,255,255,.06); border-color: rgba(255,255,255,.4)}
.upload-box input[type=file]{width:100%; opacity:0; height:120px; cursor:pointer}
.preview-grid{display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:12px; margin-top:16px}
.preview-grid img{width:100%; height:160px; object-fit:cover; border-radius:12px; border:1px solid rgba(255,255,255,.1)}

/* ====== Form ====== */
.form{max-width:720px}
.form .row{flex-direction:column; margin-bottom:12px}
.form label{font-weight:600}
.form input, .form textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.15);
  background: #0f141d; color:var(--text); outline:none; transition:border-color .2s, box-shadow .2s;
}
.form input:focus, .form textarea:focus{border-color: var(--accent); box-shadow: 0 0 0 4px rgba(68,210,255,.15)}
.form-actions{display:flex; gap:12px; align-items:center; margin-top:8px}
.form-msg{color:var(--accent); min-height:24px}
.form input[type="file"]{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.15);
  background:#0f141d;
  color:var(--text);
}

/* ====== Contact & Map ====== */
.contact-list{list-style:none; padding:0; margin:0 0 18px 0}
.contact-list li{margin:6px 0}
.hours{margin-top:16px; color:var(--muted)}
.map-wrap{display:flex; flex-direction:column; gap:8px}
.map{width:100%; height:340px; border-radius:16px; border:1px solid rgba(255,255,255,.1)}
.map-note{color:var(--muted); font-size:14px}

/* ====== Footer ====== */
.site-footer{border-top:1px solid rgba(255,255,255,.08); padding:22px 0; background:rgba(0,0,0,.25)}
.to-top{color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.2); padding:8px 12px; border-radius:12px; transition:transform .2s}
.to-top:hover{transform: translateY(-2px)}

/* ====== Scroll reveal ====== */
.reveal{opacity:0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1; transform: none}
/* ====== Misc ====== */
.hidden {
  display: none;
}

/* Lista de fișiere cu status */
.file-list{list-style:none; padding:0; margin:12px 0 0; display:grid; gap:8px}
.file-chip{
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; color:var(--text);
}
.file-name{flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.file-size{color:var(--muted); font-size:12px}
.badge{font-size:12px; padding:4px 8px; border-radius:999px; border:1px solid rgba(255,255,255,.15)}
.badge.ok{border-color:rgba(8,197,168,.35)}
.icon{
  width:16px; height:16px; border-radius:50%; display:inline-block; position:relative; flex:0 0 16px;
}

/* spinner */
.spinner{border:2px solid rgba(255,255,255,.25); border-top-color:#fff; border-radius:50%;
  width:16px; height:16px; animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* checkmark */
.check{background:var(--primary); position:relative}
.check::after{
  content:""; position:absolute; left:4px; top:2px; width:6px; height:10px;
  border-right:2px solid #041016; border-bottom:2px solid #041016; transform:rotate(45deg);
}

/* stare eroare (dacă vrei ulterior) */
.error{background:#b91c1c}

.uploadcare--widget__button_type_open {
    background: var(--primary);
    color: #fff;
}