:root{
  --bg:#0D0B08; --bg-soft:#13100C; --card:#181410; --card-border:#2C2418;
  --ember:#C8502A; --ember-bright:#F07E4A; --ember-glow:rgba(240,126,74,.35);
  --jade:#4A6B57; --jade-bright:#7FB89A;
  --brass:#8A6D3B; --brass-bright:#D4A955; --gold-grad:linear-gradient(135deg,#F4D06F,#C49232);
  --ink:#F2EBDC; --ink-dim:#BDB49F; --ink-mute:#8B8471;
  --radius:6px; --max:1200px;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:'Karla',sans-serif; font-size:16px; line-height:1.6; overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Libre Caslon Display',serif; font-weight:400; margin:0; color:var(--ink);}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2px solid var(--ember-bright); outline-offset:3px;}
::selection{background:rgba(200,80,42,.4);}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important; transition-duration:.001ms !important;}}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

/* ===== ambient background ===== */
.bg-aurora{position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60% 45% at 18% 8%, rgba(200,80,42,.10), transparent 60%),
    radial-gradient(55% 40% at 82% 22%, rgba(138,109,59,.08), transparent 60%),
    radial-gradient(70% 55% at 50% 105%, rgba(74,107,87,.10), transparent 65%),
    var(--bg);
}
#emberCanvas{position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.55;}

/* ===== header ===== */
header{position:sticky; top:0; z-index:40; border-bottom:1px solid transparent; transition:background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);}
header.scrolled{background:rgba(13,11,8,.86); backdrop-filter:blur(14px); border-color:var(--card-border); box-shadow:0 8px 32px rgba(0,0,0,.45);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:var(--max); margin:0 auto;}
.brand{display:flex; align-items:center; gap:11px;}
.brand-mark-img{width:44px; height:44px; flex:none; object-fit:contain; border-radius:6px; filter:drop-shadow(0 2px 10px rgba(200,80,42,.35)); transition:transform .35s var(--ease);}
.brand:hover .brand-mark-img{transform:scale(1.07) rotate(-3deg);}
.brand-text{display:flex; flex-direction:column; line-height:1.12;}
.brand-name{font-family:'Libre Caslon Display',serif; font-size:1.3rem; letter-spacing:.01em;}
.brand-name em{font-style:normal; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.brand-sub{font-size:.6rem; font-weight:700; letter-spacing:.34em; text-transform:uppercase; color:var(--ink-mute); margin-top:1px;}
nav.links{display:flex; gap:24px; align-items:center;}
nav.links a{position:relative; font-size:.92rem; color:var(--ink-dim); padding:6px 2px; transition:color .25s;}
nav.links a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-grad); transition:width .3s var(--ease);}
nav.links a:hover{color:var(--ink);}
nav.links a:hover::after{width:100%;}
nav.links a.nav-cat{display:flex; flex-direction:column; align-items:center; gap:3px; padding:2px 4px;}
nav.links a.nav-cat img{width:26px; height:26px; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); transition:transform .3s var(--ease);}
nav.links a.nav-cat:hover img{transform:translateY(-2px) scale(1.1);}
nav.links a.nav-cat span{font-size:.72rem; letter-spacing:.02em;}
.nav-toggle{display:none; background:none; border:1px solid var(--card-border); color:var(--ink); width:40px; height:36px; border-radius:var(--radius); align-items:center; justify-content:center;}
.nav-toggle svg{width:18px; height:18px;}
@media (max-width:900px){
  nav.links{position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:flex-start; gap:0; background:rgba(19,16,12,.97); backdrop-filter:blur(14px); border-bottom:1px solid var(--card-border); max-height:0; overflow:hidden; transition:max-height .3s var(--ease);}
  nav.links.open{max-height:460px;}
  nav.links a{width:100%; padding:14px 28px; border-bottom:1px solid var(--card-border);}
  .nav-toggle{display:flex;}
}

/* ===== hero ===== */
.hero-band{position:relative; overflow:hidden; padding:84px 0 56px; border-bottom:1px solid var(--card-border);}
.hero-band-bg{position:absolute; inset:0; z-index:0;
  background-image:url('img/bg-landscape.jpg'); background-size:cover; background-position:center 30%;}
.hero-band-bg::after{content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(13,11,8,.62) 0%, rgba(13,11,8,.45) 42%, rgba(13,11,8,.94) 88%, var(--bg) 100%);}
.hero{position:relative; z-index:1; display:grid; grid-template-columns:.92fr 1.08fr; gap:54px; align-items:center;}
.hero-logo-col{display:flex; justify-content:center;}
.hero-logo{width:min(100%, 460px); height:auto; border-radius:14px;
  box-shadow:0 34px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(212,169,85,.28), 0 0 70px rgba(200,80,42,.18);
  animation:fadeUp .9s var(--ease) both, floatY 7s 1s ease-in-out infinite;}
@keyframes floatY{0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}}
.hero-badge{display:inline-flex; align-items:center; gap:9px; font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brass-bright); border:1px solid rgba(138,109,59,.45); border-radius:100px; padding:7px 16px; background:rgba(13,11,8,.55); backdrop-filter:blur(4px); animation:fadeUp .8s .12s var(--ease) both;}
.hero-badge .dot{width:7px; height:7px; border-radius:50%; background:var(--ember-bright); box-shadow:0 0 0 0 var(--ember-glow); animation:pulse 2.2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(240,126,74,.5);} 70%{box-shadow:0 0 0 9px rgba(240,126,74,0);} 100%{box-shadow:0 0 0 0 rgba(240,126,74,0);}}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.3rem); line-height:1.1; max-width:15ch; margin-top:22px; animation:fadeUp .8s .2s var(--ease) both; text-shadow:0 2px 24px rgba(0,0,0,.55);}
.hero h1 .grad{background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero p.lead{margin-top:20px; font-size:1.06rem; color:var(--ink-dim); max-width:46ch; animation:fadeUp .8s .28s var(--ease) both;}
.hero-ctas{margin-top:32px; display:flex; gap:16px; flex-wrap:wrap; animation:fadeUp .8s .36s var(--ease) both;}
@keyframes fadeUp{from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:none;}}

.trust-chips{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; animation:fadeUp .8s .46s var(--ease) both;}
.chip{font-size:.78rem; color:var(--ink-dim); border:1px solid var(--card-border); border-radius:100px; padding:6px 13px; background:rgba(13,11,8,.6); backdrop-filter:blur(4px);}
.chip b{color:var(--brass-bright); font-weight:700;}

/* feature ikonsor a hero alatt */
.feature-row{position:relative; z-index:1; display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:54px;}
.feature{display:flex; align-items:center; gap:11px; padding:10px 18px 10px 10px; border:1px solid var(--card-border); border-radius:100px; background:rgba(24,20,16,.72); backdrop-filter:blur(6px); transition:transform .3s var(--ease), border-color .3s;}
.feature:hover{transform:translateY(-4px); border-color:rgba(212,169,85,.55);}
.feature img{width:44px; height:44px; object-fit:contain; border-radius:50%;}
.feature span{font-size:.88rem; font-weight:600; color:var(--ink-dim); padding-right:6px;}
@media (max-width:900px){
  .hero{grid-template-columns:1fr; gap:36px; text-align:center;}
  .hero-logo{width:min(78%, 360px);}
  .hero h1{max-width:none;}
  .hero p.lead{margin-left:auto; margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .trust-chips{justify-content:center;}
  .feature-row{gap:10px;}
  .feature span{font-size:.8rem;}
  .feature img{width:38px; height:38px;}
}
@media (max-width:700px){
  .hero-band{padding:56px 0 40px;}
  .hero-band-bg{background-image:url('img/bg-landscape-mobile.jpg');}
  .hero-band-bg::after{background:linear-gradient(180deg, rgba(13,11,8,.7) 0%, rgba(13,11,8,.55) 45%, rgba(13,11,8,.96) 90%, var(--bg) 100%);}
}

/* ===== buttons ===== */
.btn{position:relative; display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:var(--radius); font-size:.92rem; font-weight:700; border:1px solid transparent; overflow:hidden; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s;}
.btn::after{content:''; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); transform:skewX(-20deg); transition:left .55s var(--ease);}
.btn:hover::after{left:130%;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn-primary{background:linear-gradient(135deg, var(--ember) 0%, #A63E1F 100%); color:#FFF3E6; box-shadow:0 10px 28px rgba(200,80,42,.3);}
.btn-primary:hover{box-shadow:0 14px 36px rgba(200,80,42,.45);}
.btn-ghost{border-color:var(--brass); color:var(--ink); background:rgba(138,109,59,.06);}
.btn-ghost:hover{background:rgba(138,109,59,.16); box-shadow:0 10px 26px rgba(138,109,59,.2);}

/* ===== sections ===== */
section.category{padding:74px 0;}
section.category + section.category{border-top:1px solid var(--card-border);}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.6rem,2.6vw,2.1rem); position:relative; padding-bottom:14px;}
.section-head h2::after{content:''; position:absolute; left:0; bottom:0; width:56px; height:2px; background:var(--gold-grad); border-radius:2px;}
.section-head p{color:var(--ink-dim); max-width:52ch; margin-top:10px;}
.section-tag{font-size:.8rem; color:var(--brass-bright); border:1px solid var(--brass); border-radius:100px; padding:5px 14px; white-space:nowrap;}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(34px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:none;}

/* ===== cards ===== */
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.grid{grid-template-columns:1fr;}}

.card{position:relative; background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; cursor:pointer;
  transition:transform .35s var(--ease), border-color .35s, box-shadow .35s var(--ease); will-change:transform;}
.card::before{content:''; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0; transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(240,126,74,.14), transparent 45%);}
.card:hover::before{opacity:1;}
.card:hover{border-color:rgba(212,169,85,.65); box-shadow:0 22px 48px rgba(0,0,0,.5), 0 0 0 1px rgba(212,169,85,.25); transform:translateY(-8px);}
.card-thumb{position:relative; aspect-ratio:4/3; overflow:hidden; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center;}
.card-thumb .icon{width:52px; height:52px; opacity:.92; z-index:2; color:var(--ink); transition:transform .45s var(--ease);}
.card-thumb .cat-icon{width:88px; height:88px; object-fit:contain; z-index:2; filter:drop-shadow(0 6px 18px rgba(0,0,0,.6)); transition:transform .45s var(--ease);}
.card:hover .card-thumb .cat-icon{transform:scale(1.12);}
.card-thumb::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(13,11,8,.65)); opacity:.9;}
.card-thumb .corner{position:absolute; width:16px; height:16px; z-index:3; border-color:rgba(242,235,220,.55); transition:all .35s var(--ease);}
.card:hover .card-thumb .corner{border-color:var(--brass-bright);}
.corner.tl{top:8px; left:8px; border-top:2px solid; border-left:2px solid;}
.corner.tr{top:8px; right:8px; border-top:2px solid; border-right:2px solid;}
.corner.bl{bottom:8px; left:8px; border-bottom:2px solid; border-left:2px solid;}
.corner.br{bottom:8px; right:8px; border-bottom:2px solid; border-right:2px solid;}
.not-for-sale-badge{position:absolute; top:10px; right:10px; z-index:4; background:rgba(13,11,8,.85); border:1px solid var(--jade-bright); color:var(--jade-bright); font-size:.72rem; font-weight:700; padding:4px 9px; border-radius:2px;}
.card-body{padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1;}
.card-body h3{font-size:1.1rem;}
.card-body .tag-line{color:var(--ink-mute); font-size:.86rem;}
.card-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:12px;}
.price{font-family:'Libre Caslon Display',serif; color:var(--ember-bright); font-size:1.05rem;}
.price.na{color:var(--jade-bright); font-family:'Karla',sans-serif; font-size:.85rem; font-weight:700;}
.open-hint{font-size:.8rem; color:var(--ink-mute); display:inline-flex; align-items:center; gap:6px; transition:gap .3s var(--ease), color .3s;}
.card:hover .open-hint{gap:11px; color:var(--brass-bright);}

/* stagger for cards inside a revealed grid */
.grid.reveal .card{opacity:0; transform:translateY(30px);}
.grid.reveal.in .card{animation:fadeUp .65s var(--ease) both;}
.grid.reveal.in .card:nth-child(1){animation-delay:.05s;}
.grid.reveal.in .card:nth-child(2){animation-delay:.14s;}
.grid.reveal.in .card:nth-child(3){animation-delay:.23s;}
.grid.reveal.in .card:nth-child(4){animation-delay:.32s;}
.grid.reveal.in .card:nth-child(5){animation-delay:.41s;}
.grid.reveal.in .card:nth-child(6){animation-delay:.5s;}

section.exclusive{position:relative; background:var(--bg-soft); border-top:1px solid var(--card-border); border-bottom:1px solid var(--card-border); padding:74px 0;}
section.exclusive .card{background:#1C1712;}

.empty-note{color:var(--ink-mute); font-size:.92rem; padding:18px 0;}

@media (max-width:620px){
  .brand-sub{display:none;}
  .brand-mark-img{width:38px; height:38px;}
}

/* ===== form pages ===== */
.auth-page, .request-page{max-width:480px; margin:70px auto 100px; padding:0 24px;}
.auth-box, .request-box{background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); padding:34px; animation:fadeUp .6s var(--ease) both;}
.auth-box h1, .request-box h1{font-size:1.7rem; margin-bottom:8px;}
.auth-box p.sub, .request-box p.sub{color:var(--ink-dim); margin-bottom:24px; font-size:.92rem;}
form label{display:block; font-size:.85rem; color:var(--ink-dim); margin:16px 0 6px;}
form label:first-of-type{margin-top:0;}
form input, form textarea, form select{width:100%; background:var(--bg-soft); border:1px solid var(--card-border); border-radius:var(--radius); color:var(--ink); padding:11px 12px; font-family:inherit; font-size:.95rem; transition:border-color .25s, box-shadow .25s;}
form input:focus, form textarea:focus, form select:focus{outline:none; border-color:var(--brass); box-shadow:0 0 0 3px rgba(138,109,59,.18);}
form textarea{min-height:100px; resize:vertical;}
form .btn{margin-top:22px; width:100%; justify-content:center;}
.form-error{background:rgba(200,80,42,.15); border:1px solid var(--ember); color:var(--ember-bright); padding:10px 14px; border-radius:var(--radius); font-size:.88rem; margin-bottom:16px;}
.form-success{background:rgba(74,107,87,.18); border:1px solid var(--jade); color:var(--jade-bright); padding:10px 14px; border-radius:var(--radius); font-size:.88rem; margin-bottom:16px;}
.auth-box .switch, .request-box .switch{margin-top:18px; font-size:.88rem; color:var(--ink-mute); text-align:center;}
.auth-box .switch a, .request-box .switch a{color:var(--brass-bright);}

/* ===== tables/badges ===== */
.status-badge{display:inline-block; font-size:.78rem; font-weight:700; padding:3px 10px; border-radius:2px;}
.status-new{background:rgba(200,80,42,.18); color:var(--ember-bright);}
.status-in_progress{background:rgba(138,109,59,.22); color:var(--brass-bright);}
.status-done{background:rgba(74,107,87,.22); color:var(--jade-bright);}
table.simple{width:100%; border-collapse:collapse; margin-top:8px;}
table.simple th, table.simple td{padding:12px 10px; border-bottom:1px solid var(--card-border); text-align:left; font-size:.9rem;}
table.simple th{color:var(--ink-mute); font-weight:600; font-size:.8rem;}
table.simple tbody tr{transition:background .2s;}
table.simple tbody tr:hover{background:rgba(138,109,59,.05);}
.td-details{max-width:260px; color:var(--ink-dim);}
.td-ref{font-family:monospace; font-size:.8rem; color:var(--ink-mute);}
.row-link{color:var(--brass-bright); font-size:.88rem;}
.row-link:hover{text-decoration:underline;}

/* ===== footer ===== */
footer{position:relative; border-top:1px solid var(--card-border); padding:38px 0; background:linear-gradient(180deg, transparent, rgba(24,20,16,.55));}
.foot-row{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;}
footer p{color:var(--ink-mute); font-size:.85rem; margin:0;}
footer .brand-name em{background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.foot-brand{display:flex; align-items:center; gap:10px;}
.foot-brand svg{width:30px; height:30px; flex:none;}

/* ===== modal ===== */
.modal-overlay{position:fixed; inset:0; background:rgba(8,7,5,.8); backdrop-filter:blur(7px); display:none; align-items:center; justify-content:center; padding:24px; z-index:100; opacity:0; transition:opacity .3s var(--ease);}
.modal-overlay.open{display:flex; opacity:1;}
.modal{background:var(--card); border:1px solid rgba(212,169,85,.5); border-radius:8px; max-width:860px; width:100%; max-height:88vh; overflow-y:auto; position:relative;
  box-shadow:0 40px 110px rgba(0,0,0,.65), 0 0 0 1px rgba(200,80,42,.12); transform:translateY(26px) scale(.97); transition:transform .35s var(--ease);}
.modal-overlay.open .modal{transform:none;}
.modal::-webkit-scrollbar{width:9px;}
.modal::-webkit-scrollbar-thumb{background:var(--card-border); border-radius:6px;}
.modal-close{position:absolute; top:14px; right:14px; z-index:5; background:rgba(13,11,8,.75); border:1px solid var(--card-border); width:38px; height:38px; border-radius:50%; color:var(--ink); display:flex; align-items:center; justify-content:center; transition:transform .3s var(--ease), border-color .3s;}
.modal-close:hover{transform:rotate(90deg); border-color:var(--brass-bright);}
.modal-media{position:relative; aspect-ratio:16/9; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; overflow:hidden; background-size:cover; background-position:center;}
.modal-media .icon-big{width:76px; height:76px; opacity:.85; animation:floatY 5s ease-in-out infinite;}
.modal-body{padding:24px 28px 30px;}
.modal-badge{display:inline-block; font-size:.78rem; font-weight:700; padding:3px 10px; border-radius:2px; margin-bottom:12px;}
.modal-badge.sale{background:rgba(200,80,42,.18); color:var(--ember-bright);}
.modal-badge.exclusive{background:rgba(74,107,87,.22); color:var(--jade-bright);}
.modal-body h3{font-size:1.5rem; margin-bottom:10px;}
.modal-body .modal-desc{color:var(--ink-dim); max-width:64ch;}
.modal-purchase{margin-top:22px; padding-top:20px; border-top:1px solid var(--card-border); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.modal-price{font-family:'Libre Caslon Display',serif; font-size:1.7rem; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.modal-price .unit{font-family:'Karla',sans-serif; font-size:.88rem; color:var(--ink-mute); margin-left:4px; -webkit-text-fill-color:var(--ink-mute);}
.pay-buttons{display:flex; gap:10px; flex-wrap:wrap;}
.pay-btn{display:flex; align-items:center; gap:8px; padding:11px 16px; border-radius:var(--radius); border:1px solid var(--card-border); background:var(--bg-soft); color:var(--ink); font-weight:600; font-size:.88rem; transition:transform .25s var(--ease), border-color .25s, box-shadow .25s;}
.pay-btn:hover{border-color:var(--brass-bright); transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.4);}
.pay-btn:disabled{opacity:.5; cursor:wait; transform:none;}
.pay-btn svg{width:18px; height:18px;}
.pay-status{margin-top:14px; font-size:.88rem; color:var(--ink-dim); display:none;}
.pay-status.show{display:block; animation:fadeUp .35s var(--ease) both;}
.pay-status.err{color:var(--ember-bright);}
.download-row{margin-top:14px; display:none; align-items:center; gap:14px; flex-wrap:wrap;}
.download-row.show{display:flex; animation:fadeUp .4s var(--ease) both;}
.dl-note{font-size:.8rem; color:var(--ink-mute);}
.manual-block{margin-top:22px; padding-top:20px; border-top:1px solid var(--card-border); font-size:.9rem; color:var(--ink-dim); animation:fadeUp .35s var(--ease) both;}
.manual-block p{margin:0 0 12px;}
.manual-row{display:flex; gap:10px; flex-wrap:wrap;}
.manual-row input{flex:1; min-width:200px; background:var(--bg-soft); border:1px solid var(--card-border); border-radius:var(--radius); color:var(--ink); padding:10px 12px; font-family:inherit; font-size:.9rem;}
.manual-row .btn{margin-top:0; width:auto;}
.manual-note{margin-top:10px; font-size:.82rem; color:var(--brass-bright);}
.exclusive-note{margin-top:22px; padding-top:20px; border-top:1px solid var(--card-border); color:var(--jade-bright); font-size:.9rem;}
.spinner{width:14px; height:14px; border-radius:50%; border:2px solid rgba(242,235,220,.25); border-top-color:var(--brass-bright); display:inline-block; animation:spin .7s linear infinite; margin-right:8px; vertical-align:-2px;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ===== admin ===== */
.admin-body{max-width:var(--max); margin:0 auto; padding:40px 28px 90px;}
.admin-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; flex-wrap:wrap; gap:14px;}
.admin-top h1{font-size:1.6rem;}
.admin-nav{display:flex; gap:20px;}
.admin-nav a{color:var(--ink-dim); font-size:.92rem; transition:color .25s;}
.admin-nav a:hover{color:var(--ink);}
.admin-card{background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); padding:24px; animation:fadeUp .5s var(--ease) both;}
.stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px;}
@media (max-width:700px){.stat-row{grid-template-columns:1fr 1fr;}}
.stat-box{background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); padding:20px; transition:transform .3s var(--ease), border-color .3s;}
.stat-box:hover{transform:translateY(-4px); border-color:rgba(212,169,85,.5);}
.stat-box .num{font-family:'Libre Caslon Display',serif; font-size:1.8rem; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat-box .label{color:var(--ink-mute); font-size:.85rem; margin-top:4px;}
.row-actions{display:flex; gap:10px; align-items:center;}
.row-actions a, .row-actions button{font-size:.82rem; color:var(--brass-bright); background:none; border:none; padding:0;}
.row-actions .danger{color:var(--ember-bright);}
.checkbox-row{display:flex; align-items:center; gap:8px; margin-top:16px;}
.checkbox-row input{width:auto;}
.checkbox-row label{margin:0 !important;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 24px;}
@media (max-width:700px){.form-grid{grid-template-columns:1fr;}}
.status-form{display:flex; gap:8px; align-items:center;}
.status-form select{background:var(--bg-soft); border:1px solid var(--card-border); color:var(--ink); border-radius:var(--radius); padding:5px 8px; font-size:.82rem;}
.status-form .btn{margin-top:0; width:auto;}
code{background:var(--bg-soft); border:1px solid var(--card-border); padding:1px 6px; border-radius:2px; font-size:.85em;}

/* ---------------- Stats band (homepage) ---------------- */
.stats-band{margin:64px 0 8px; padding:26px 0; border-top:1px solid rgba(212,169,85,.14); border-bottom:1px solid rgba(212,169,85,.14); background:linear-gradient(180deg, rgba(212,169,85,.05), transparent);}
.stats-inner{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 44px;}
.stat-pill{display:flex; flex-direction:column; align-items:center; min-width:110px;}
.stat-pill-num{font-family:'Libre Caslon Display',serif; font-size:2.3rem; line-height:1; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat-pill-label{color:var(--ink-mute); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin-top:6px;}
.stat-pill-link{min-width:0;}
@media (max-width:700px){.stats-inner{gap:18px 26px;} .stat-pill-num{font-size:1.8rem;} .stat-pill-link{width:100%;} .stat-pill-link .btn{width:100%;}}

/* ---------------- Partner leaderboard ---------------- */
.partners-body{padding:48px 0 80px;}
.leaderboard-wrap{overflow-x:auto; border:1px solid var(--card-border); border-radius:var(--radius); background:var(--card); box-shadow:var(--shadow, 0 10px 40px rgba(0,0,0,.35));}
table.leaderboard{width:100%; border-collapse:collapse; min-width:560px;}
.leaderboard th{text-align:left; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); padding:14px 18px; border-bottom:1px solid var(--card-border);}
.leaderboard td{padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.04); font-size:.95rem;}
.leaderboard tbody tr:last-child td{border-bottom:none;}
.leaderboard tbody tr{transition:background .25s var(--ease);}
.leaderboard tbody tr:hover{background:rgba(212,169,85,.06);}
.leaderboard .rank-cell{font-size:1.15rem; width:64px; white-space:nowrap; font-family:'Libre Caslon Display',serif; color:var(--brass-bright);}
.leaderboard .name-cell{font-weight:600; letter-spacing:.02em;}
.leaderboard .muted{color:var(--ink-mute);}
.leaderboard tr.is-me{background:rgba(212,169,85,.1); box-shadow:inset 3px 0 0 var(--brass-bright);}
.your-rank-card{margin-bottom:20px; border-color:rgba(212,169,85,.4); color:var(--ink); }
.your-rank-card strong{color:var(--brass-bright); font-size:1.1em;}
@keyframes medalPop{from{transform:scale(0) rotate(-20deg); opacity:0;} to{transform:scale(1) rotate(0); opacity:1;}}
.rank-cell span.medal{display:inline-block; animation:medalPop .5s var(--ease) both;}

/* ---------------- Gallery strip + lightbox ---------------- */
.modal-media-wrap{position:relative;}
.modal-main-img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block;}
.g-strip{display:flex;gap:8px;overflow-x:auto;padding:10px 14px 4px;scrollbar-width:thin;}
.g-strip-item{position:relative;flex:0 0 auto;width:72px;height:52px;border:1px solid var(--card-border);border-radius:6px;overflow:hidden;padding:0;background:var(--bg-soft);cursor:zoom-in;transition:border-color .2s, transform .2s;}
.g-strip-item:hover{border-color:var(--brass-bright);transform:translateY(-2px);}
.g-strip-item img,.g-strip-item video{width:100%;height:100%;object-fit:cover;display:block;}
.g-vid-badge{position:absolute;right:4px;bottom:2px;font-size:.6rem;background:rgba(0,0,0,.65);color:#fff;border-radius:3px;padding:0 4px;}
.gallery-count-badge{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.65);border:1px solid rgba(212,169,85,.5);color:var(--brass-bright);font-size:.7rem;padding:2px 8px;border-radius:20px;backdrop-filter:blur(4px);}
.lb-overlay{position:fixed;inset:0;background:rgba(5,3,2,.94);z-index:1000;display:none;align-items:center;justify-content:center;}
.lb-overlay.open{display:flex;}
#lightboxStage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.lb-close{position:absolute;top:14px;right:20px;font-size:2rem;background:none;border:none;color:var(--ink);cursor:pointer;z-index:2;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:3rem;background:rgba(0,0,0,.4);border:1px solid var(--card-border);color:var(--ink);width:56px;height:56px;border-radius:50%;cursor:pointer;z-index:2;transition:background .2s;}
.lb-nav:hover{background:rgba(212,169,85,.25);}
.lb-prev{left:18px;} .lb-next{right:18px;}
.lb-counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:var(--ink-mute);font-size:.85rem;letter-spacing:.08em;}
@media (max-width:700px){.lb-nav{width:42px;height:42px;font-size:2rem;} .lb-prev{left:6px;} .lb-next{right:6px;}}

/* ---------------- Revolut payment block ---------------- */
.revolut-block{border:1px solid rgba(212,169,85,.35);border-radius:var(--radius);padding:16px 18px;margin-top:12px;background:rgba(212,169,85,.05);}
.revolut-block p{margin:0 0 8px;font-size:.9rem;}
.revolut-code-row{display:flex;gap:8px;align-items:center;margin:8px 0 4px;}
.revolut-code{font-size:1.15rem;letter-spacing:.12em;color:var(--brass-bright);background:var(--bg-soft);border:1px dashed rgba(212,169,85,.5);padding:6px 14px;border-radius:6px;user-select:all;}
.pay-btn-revolut{background:linear-gradient(135deg,#0d3c6e,#1976d2);border-color:#1976d2;}
.pay-btn-revolut:hover{box-shadow:0 8px 24px rgba(25,118,210,.35);}

/* ---------------- Admin alerts + pending rows ---------------- */
.admin-alert-link{position:relative;}
.admin-alert-link .alert-count{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;background:#c62828;color:#fff;border-radius:9px;font-size:.68rem;font-weight:700;margin-left:4px;animation:pulseBadge 1.6s ease infinite;}
.admin-alert-link.has-alert{color:#ffb4a2 !important;}
@keyframes pulseBadge{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(198,40,40,.5);}50%{transform:scale(1.12);box-shadow:0 0 0 6px rgba(198,40,40,0);}}
tr.row-pending{background:rgba(230,81,0,.07);}
tr.row-pending td{border-bottom-color:rgba(230,81,0,.15);}
.status-badge.blink{animation:blinkSoft 1.6s ease infinite;}
@keyframes blinkSoft{0%,100%{opacity:1;}50%{opacity:.45;}}
.status-badge.status-pending{background:rgba(230,81,0,.15);color:#ffb74d;border:1px solid rgba(230,81,0,.4);}
.status-badge.status-rejected{background:rgba(198,40,40,.12);color:#ef9a9a;border:1px solid rgba(198,40,40,.4);}

/* ---------------- Support chat (Messenger-style) ---------------- */
.chat-wrap{background:var(--card-bg, rgba(23,19,16,.7)); border:1px solid var(--card-border, rgba(185,150,86,.25)); border-radius:4px; padding:18px; margin-top:16px;}
.chat-head{display:flex; justify-content:space-between; align-items:center; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--card-border, rgba(185,150,86,.2));}
.chat-head .chat-sub{color:var(--ink-mute, #9a8f80); font-weight:400;}
.chat-original{margin:12px 0 0; padding:10px 14px; background:rgba(185,150,86,.08); border-left:3px solid var(--brass-bright, #b99656); font-size:.9rem; color:var(--ink-dim, #cfc4b4); border-radius:2px;}
.chat-thread{max-height:480px; overflow-y:auto; padding:16px 4px; display:flex; flex-direction:column; gap:12px;}
.chat-empty{text-align:center; color:var(--ink-mute, #9a8f80); font-size:.9rem;}
.chat-msg{display:flex; max-width:82%;}
.chat-msg.from-user{align-self:flex-end;}
.chat-msg.from-admin{align-self:flex-start;}
.chat-bubble{padding:10px 14px; border-radius:12px; position:relative;}
.from-user .chat-bubble{background:linear-gradient(135deg, #7a4a12, #5c3708); border:1px solid rgba(255,183,77,.35); border-bottom-right-radius:3px;}
.from-admin .chat-bubble{background:rgba(185,150,86,.12); border:1px solid rgba(185,150,86,.4); border-bottom-left-radius:3px;}
.chat-meta{font-size:.7rem; color:var(--ink-mute, #b3a794); margin-bottom:4px;}
.from-user .chat-meta{color:#ffcf99;}
.chat-text{font-size:.93rem; line-height:1.45; color:var(--ink, #efe6d8); word-break:break-word;}
.chat-attachments{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
.chat-attachments img{width:130px; height:100px; object-fit:cover; border-radius:6px; border:1px solid rgba(255,255,255,.15); transition:transform .15s ease; cursor:zoom-in;}
.chat-attachments img:hover{transform:scale(1.04);}
.chat-composer{margin-top:14px; padding-top:14px; border-top:1px solid var(--card-border, rgba(185,150,86,.2));}
.chat-composer textarea{width:100%; background:rgba(0,0,0,.25); border:1px solid var(--card-border, rgba(185,150,86,.3)); color:var(--ink, #efe6d8); border-radius:8px; padding:10px 12px; font:inherit; resize:vertical;}
.chat-composer-row{display:flex; justify-content:space-between; align-items:center; margin-top:10px; gap:10px;}
.chat-file-label{position:relative; overflow:hidden; cursor:pointer; color:var(--brass-bright, #d8b56a); font-size:.88rem;}
.chat-file-label input[type=file]{position:absolute; inset:0; opacity:0; cursor:pointer;}
.chat-file-label span{pointer-events:none;}
.chat-file-label:hover span{text-decoration:underline;}
.list .alert-count, td .alert-count, a .alert-count{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;background:#c62828;color:#fff;border-radius:9px;font-size:.68rem;font-weight:700;margin-left:4px;animation:pulseBadge 1.6s ease infinite;}

/* Chat szerző név a buborék felett (Messenger-stílus) */
.chat-author{font-size:.78rem; font-weight:700; color:var(--brass-bright, #d8b56a); margin:0 6px 2px;}
.from-user .chat-author{text-align:right; color:#e8c983;}
.chat-author-tag{display:inline-block; font-size:.66rem; font-weight:700; padding:1px 7px; margin-left:4px; border-radius:8px; background:rgba(103,58,183,.25); color:#ce93d8; border:1px solid rgba(156,77,204,.45); vertical-align:1px;}
