/* =============================================================
   ASOFT — ULTRA LUXURY MONOCHROME THEME
   Black & White • Editorial • Mobile-first
   ============================================================= */

:root{
    --lux-black:#0a0a0a;
    --lux-ink:#111111;
    --lux-graphite:#1a1a1a;
    --lux-charcoal:#222222;
    --lux-stone:#3a3a3a;
    --lux-mist:#9a9a9a;
    --lux-silver:#cfcfcf;
    --lux-pearl:#ececec;
    --lux-cream:#f6f5f2;
    --lux-white:#ffffff;
    --lux-gold:#c9a96a;          /* sadece çok ince accent */
    --lux-line:rgba(0,0,0,.08);
    --lux-line-dark:rgba(255,255,255,.12);
    --lux-shadow-sm:0 4px 14px rgba(0,0,0,.06);
    --lux-shadow:0 18px 60px -20px rgba(0,0,0,.25);
    --lux-shadow-xl:0 30px 80px -20px rgba(0,0,0,.45);
    --font-display:"Playfair Display","Cormorant Garamond",Georgia,serif;
    --font-body:"Inter","Helvetica Neue",Arial,sans-serif;
    --radius-sm:6px;
    --radius:14px;
    --radius-lg:24px;
    --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- BASE ---------- */
html{scroll-behavior:smooth}
body{
    font-family:var(--font-body);
    color:var(--lux-ink);
    background:var(--lux-cream);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    letter-spacing:.005em;
}
body.lux-dark{background:var(--lux-black);color:var(--lux-pearl)}

h1,h2,h3,h4,h5,.lux-display,.font-serif{
    font-family:var(--font-display)!important;
    font-weight:600;
    letter-spacing:-.01em;
    line-height:1.15;
}
h1{font-weight:700}
.lux-eyebrow{
    font-family:var(--font-body);
    font-size:11px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--lux-stone);
    font-weight:500;
}
.lux-eyebrow::before{
    content:"";display:inline-block;width:28px;height:1px;
    background:currentColor;vertical-align:middle;margin-right:14px;opacity:.6;
}

a{transition:color .25s var(--ease)}
::selection{background:var(--lux-black);color:var(--lux-white)}

/* ---------- TAILWIND COLOR OVERRIDES (monochrome wash) ---------- */
/* indigo / blue / purple / pink / red / green / amber / teal -> black/white scale */
.bg-indigo-50,.bg-blue-50,.bg-purple-50,.bg-pink-50,.bg-amber-50,.bg-green-50,.bg-red-50,.bg-teal-50,.bg-sky-50{background-color:var(--lux-cream)!important}
.bg-indigo-100,.bg-blue-100,.bg-purple-100,.bg-pink-100,.bg-amber-100,.bg-green-100,.bg-red-100,.bg-teal-100,.bg-sky-100{background-color:var(--lux-pearl)!important}
.bg-indigo-500,.bg-blue-500,.bg-purple-500,.bg-pink-500,.bg-teal-500,.bg-sky-500{background-color:var(--lux-ink)!important;color:#fff!important}
.bg-indigo-600,.bg-blue-600,.bg-purple-600,.bg-pink-600,.bg-teal-600,.bg-sky-600{background-color:var(--lux-black)!important;color:#fff!important}
.bg-indigo-700,.bg-blue-700,.bg-purple-700,.bg-pink-700{background-color:#000!important;color:#fff!important}
.hover\:bg-indigo-700:hover,.hover\:bg-blue-700:hover,.hover\:bg-purple-700:hover{background-color:var(--lux-stone)!important}

.text-indigo-300,.text-indigo-400,.text-indigo-500,.text-indigo-600,
.text-blue-400,.text-blue-500,.text-blue-600,
.text-purple-400,.text-purple-500,.text-purple-600,
.text-pink-400,.text-pink-500,.text-pink-600,
.text-teal-400,.text-teal-500,.text-sky-400,.text-sky-500{color:var(--lux-ink)!important}
body.lux-dark .text-indigo-300,
body.lux-dark .text-indigo-400,
body.lux-dark .text-blue-400{color:var(--lux-pearl)!important}

.from-indigo-500,.from-blue-500,.from-purple-500,.from-pink-500,.from-indigo-600,.from-purple-600{--tw-gradient-from:var(--lux-black)!important}
.to-indigo-500,.to-blue-500,.to-purple-500,.to-pink-500,.to-indigo-700,.to-purple-700{--tw-gradient-to:var(--lux-stone)!important}
.via-indigo-500,.via-purple-500,.via-blue-500,.via-pink-500,.via-indigo-900\/90{--tw-gradient-via:var(--lux-graphite)!important}

.ring-indigo-500,.ring-blue-500,.ring-purple-500,.focus\:ring-indigo-500:focus,.focus\:ring-blue-500:focus,.focus\:ring-primary-500:focus{--tw-ring-color:var(--lux-black)!important}
.border-indigo-500,.border-blue-500,.border-purple-500{border-color:var(--lux-black)!important}

/* primary scale (already monochrome but enforce) */
.bg-primary-500,.bg-primary-600,.bg-primary-700,.bg-primary-800,.bg-primary-900{background-color:var(--lux-black)!important;color:#fff!important}
.text-primary-500,.text-primary-600,.text-primary-700{color:var(--lux-ink)!important}
.hover\:text-primary-500:hover{color:var(--lux-gold)!important}

/* ---------- LAYOUT ---------- */
.container{max-width:1280px}
section{position:relative}

/* ---------- BUTTONS ---------- */
.lux-btn,
button.lux-btn,
a.lux-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
    padding:14px 28px;
    font-family:var(--font-body);
    font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
    background:var(--lux-black);color:var(--lux-white);
    border:1px solid var(--lux-black);
    border-radius:999px;
    transition:all .35s var(--ease);
    cursor:pointer;
    position:relative;overflow:hidden;
}
.lux-btn:hover{background:var(--lux-white);color:var(--lux-black);transform:translateY(-2px);box-shadow:var(--lux-shadow)}
.lux-btn--ghost{background:transparent;color:var(--lux-black)}
.lux-btn--ghost:hover{background:var(--lux-black);color:#fff}
.lux-btn--light{background:var(--lux-white);color:var(--lux-black);border-color:var(--lux-white)}
.lux-btn--light:hover{background:transparent;color:var(--lux-white)}

/* generic rounded-full coloured CTA that exists in markup */
button.bg-primary-700,button.bg-primary-800,button.bg-indigo-600,button.bg-indigo-700,
a.bg-primary-700,a.bg-primary-800,a.bg-indigo-600,a.bg-indigo-700{
    border-radius:999px!important;letter-spacing:.14em;text-transform:uppercase;font-size:12px!important;
}

/* ---------- CARDS ---------- */
.lux-card{
    background:var(--lux-white);
    border:1px solid var(--lux-line);
    border-radius:var(--radius);
    box-shadow:var(--lux-shadow-sm);
    transition:transform .5s var(--ease),box-shadow .5s var(--ease);
    overflow:hidden;
}
.lux-card:hover{transform:translateY(-6px);box-shadow:var(--lux-shadow-xl)}

/* upgrade tailwind cards */
.bg-white.rounded-lg.shadow,.bg-white.rounded-xl.shadow,.bg-white.shadow-lg,.bg-white.shadow-md,.bg-white.shadow-xl{
    border:1px solid var(--lux-line);
    box-shadow:var(--lux-shadow-sm)!important;
    transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.bg-white.rounded-lg.shadow:hover,.bg-white.shadow-lg:hover,.bg-white.shadow-xl:hover{
    box-shadow:var(--lux-shadow)!important;transform:translateY(-4px);
}

/* ---------- FORMS ---------- */
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=search],select,textarea{
    border:1px solid var(--lux-line);
    border-radius:var(--radius-sm);
    background:#fff;
    transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
input:focus,select:focus,textarea:focus{
    outline:none;
    border-color:var(--lux-black)!important;
    box-shadow:0 0 0 3px rgba(0,0,0,.08)!important;
}
.dark input,.dark select,.dark textarea,
body.lux-dark input,body.lux-dark select,body.lux-dark textarea{
    background:var(--lux-graphite);color:var(--lux-pearl);border-color:var(--lux-line-dark);
}

/* ---------- NAVIGATION (header) ---------- */
#main-nav{
    background:rgba(255,255,255,.06)!important;
    backdrop-filter:saturate(140%) blur(18px);
    -webkit-backdrop-filter:saturate(140%) blur(18px);
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    transition:background .4s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease);
}
#main-nav.lux-scrolled{
    background:rgba(10,10,10,.85)!important;
    border-bottom-color:rgba(255,255,255,.06)!important;
    box-shadow:0 10px 40px -20px rgba(0,0,0,.6);
    padding-top:.6rem;padding-bottom:.6rem;
}
#main-nav .menu-link{position:relative}
#main-nav .menu-link::after{
    content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;
    background:#fff;transform:scaleX(0);transform-origin:left;
    transition:transform .35s var(--ease);
}
#main-nav .menu-link:hover::after,
#main-nav .menu-link.font-bold::after{transform:scaleX(1)}

/* mobile menu refinements */
#mobile-menu-panel{background:rgba(10,10,10,.92)!important;backdrop-filter:blur(22px)}

/* ---------- HERO / SLIDERS ---------- */
.lux-hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.75) 100%);
    pointer-events:none;
}
.lux-hero h1,.lux-hero .lux-display{color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.4)}

/* ---------- SECTIONS ---------- */
.lux-section{padding:clamp(60px,9vw,140px) 0}
.lux-divider{
    width:60px;height:1px;background:var(--lux-black);margin:18px auto;
}
.lux-divider--light{background:#fff}

/* ---------- FOOTER ---------- */
footer.bg-gray-900{
    background:var(--lux-black)!important;
    border-top:1px solid rgba(255,255,255,.06);
    color:var(--lux-pearl);
}
footer h4{
    font-family:var(--font-body)!important;
    font-size:11px!important;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:#fff;
    font-weight:600!important;
    margin-bottom:1.4rem!important;
}
footer a{color:var(--lux-silver)}
footer a:hover{color:#fff!important}
footer input[type=email]{background:transparent!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff;border-radius:999px 0 0 999px!important;padding-left:18px!important}
footer button[type=submit]{background:#fff!important;color:#000!important;border-radius:0 999px 999px 0!important}
footer button[type=submit]:hover{background:var(--lux-pearl)!important}

/* floating widget — neutralize purple gradient */
.widget-container .main-button{background:var(--lux-black)!important;box-shadow:0 14px 40px rgba(0,0,0,.4)!important}
.widget-container .main-button:hover{background:var(--lux-stone)!important}
.widget-container .contact-item a{filter:grayscale(.15)}

/* ---------- MEMBER PANEL (uye/) ---------- */
body.lux-panel{
    background:var(--lux-cream)!important;
    color:var(--lux-ink)!important;
}
body.lux-panel .min-h-screen,
body.lux-panel .bg-gradient-to-br{
    background:var(--lux-cream)!important;
}
body.lux-panel aside{
    background:var(--lux-black)!important;
    border-right:1px solid rgba(255,255,255,.06)!important;
    color:var(--lux-pearl);
}
body.lux-panel aside a{color:var(--lux-silver)!important}
body.lux-panel aside a.bg-white\/10,
body.lux-panel aside a:hover{
    background:rgba(255,255,255,.06)!important;color:#fff!important;
}
body.lux-panel header.bg-black\/20{
    background:#fff!important;
    border-bottom:1px solid var(--lux-line)!important;
    color:var(--lux-ink)!important;
}
body.lux-panel header h1{color:var(--lux-ink)!important;font-family:var(--font-display)!important}
body.lux-panel header .text-indigo-300{color:var(--lux-ink)!important;font-weight:600}
body.lux-panel main{color:var(--lux-ink)}
body.lux-panel .bg-white\/5,body.lux-panel .bg-white\/10{background:#fff!important;color:var(--lux-ink)!important;border:1px solid var(--lux-line)}
body.lux-panel .text-white{color:var(--lux-ink)!important}
body.lux-panel .text-gray-200,body.lux-panel .text-gray-300,body.lux-panel .text-gray-400{color:var(--lux-stone)!important}
body.lux-panel .border-white\/10,body.lux-panel .border-white\/20{border-color:var(--lux-line)!important}

/* ---------- IMAGES ---------- */
img{max-width:100%}
.lux-img-zoom{overflow:hidden;border-radius:var(--radius)}
.lux-img-zoom img{transition:transform 1.2s var(--ease)}
.lux-img-zoom:hover img{transform:scale(1.06)}

/* ---------- ROOM / GALLERY CARDS (existing markup) ---------- */
.bg-white.rounded-lg.overflow-hidden img,
.bg-white.rounded-xl.overflow-hidden img{transition:transform 1s var(--ease)}
.bg-white.rounded-lg.overflow-hidden:hover img,
.bg-white.rounded-xl.overflow-hidden:hover img{transform:scale(1.05)}

/* ---------- BADGES / TAGS ---------- */
.bg-yellow-400,.bg-yellow-500,.bg-amber-400,.bg-amber-500{background:var(--lux-gold)!important;color:#fff!important}
.text-yellow-400,.text-yellow-500,.text-amber-400,.text-amber-500{color:var(--lux-gold)!important}

/* ---------- ANIMATIONS ---------- */
@keyframes luxFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
[data-lux-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-lux-reveal].is-visible{opacity:1;transform:none}

/* ---------- SCROLLBAR ---------- */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--lux-silver);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--lux-stone)}

/* ---------- UTILITIES ---------- */
.lux-glass{background:rgba(255,255,255,.6);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4)}
.lux-glass-dark{background:rgba(0,0,0,.45);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);color:#fff}
.lux-noise{position:relative}
.lux-noise::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .8 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* ---------- RESPONSIVE TYPOGRAPHY ---------- */
h1,.h1{font-size:clamp(2.2rem,5vw,4.4rem)}
h2,.h2{font-size:clamp(1.8rem,3.6vw,3rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
p{line-height:1.7}

/* ---------- MOBILE TWEAKS ---------- */
@media (max-width:768px){
    .lux-section{padding:60px 0}
    .lux-btn{padding:12px 22px;font-size:12px}
}

/* ---------- PRINT ---------- */
@media print{#main-nav,footer,.widget-container{display:none!important}}
