/* ========================================
   MODERN DARK GLOBAL STYLES - global.css
   ======================================== */

/* CSS RESET & BASE STYLES */
* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  /* ===== Dark Black palette with grey touches ===== */
  --primary-black:#0A0A0A;
  --dark-black:#000000;
  --light-black:#1A1A1A;
  --accent-black:#2A2A2A;
  --charcoal:#333333;
  --dark-grey:#4A4A4A;
  --medium-grey:#666666;
  --light-grey:#999999;
  --silver:#CCCCCC;              /* used in acasa.css */
  --deep-space:#050505;
  --midnight-black:#0F0F0F;      /* used in acasa.css */

  /* Neutrals */
  --white:#FFFFFF; --off-white:#F8F8F8; --black:#000000;

  /* Glass effects */
  --glass-white:rgba(255,255,255,.08);
  --glass-grey:rgba(153,153,153,.15);
  --glass-bg:rgba(255,255,255,.04);
  --glass-border:rgba(255,255,255,.10);
  --glass-blur:blur(20px);

  /* Typography */
  --font-primary:'Segoe UI','Roboto','Arial',sans-serif;
  --font-weight-light:300; --font-weight-normal:400; --font-weight-medium:500;
  --font-weight-bold:700; --font-weight-black:900;

  /* Spacing */
  --container-padding:20px; --section-padding:80px 0;

  /* Motion & radii */
  --transition-fast:.2s cubic-bezier(.4,0,.2,1);
  --transition-medium:.4s cubic-bezier(.4,0,.2,1);
  --transition-slow:.6s cubic-bezier(.4,0,.2,1);
  --transition-bounce:.5s cubic-bezier(.68,-.55,.265,1.55);
  --border-radius-small:8px; --border-radius-medium:16px;
  --border-radius-large:24px; --border-radius-xl:32px;

  /* Shadows */
  --shadow-light:0 4px 16px rgba(0,0,0,.12);
  --shadow-medium:0 8px 32px rgba(0,0,0,.18);
  --shadow-heavy:0 16px 64px rgba(0,0,0,.28);
  --shadow-white:0 0 20px rgba(255,255,255,.15);
  --shadow-glow:0 0 40px rgba(204,204,204,.25);
}

/* BASE TYPOGRAPHY */
html { font-size:16px; scroll-behavior:smooth; width:100%; height:100%; overflow-x:hidden; overflow-y:auto; }

body{
  font-family:var(--font-primary); font-weight:var(--font-weight-normal);
  line-height:1.6; color:var(--white);
  background:linear-gradient(135deg,var(--deep-space) 0%,var(--black) 50%,var(--midnight-black) 100%);
  background-attachment:fixed;
  position:relative; overflow-x:hidden; overflow-y:auto;
  padding-top:70px; min-height:100vh; width:100%;
}

/* Subtle background pattern */
body::before{
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(153,153,153,.06) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(204,204,204,.06) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(102,102,102,.04) 0%, transparent 50%);
}

/* Headings */
h1,h2,h3,h4,h5,h6{
  font-weight:var(--font-weight-bold); line-height:1.2; margin-bottom:1rem;
  background:linear-gradient(135deg,var(--white),var(--silver));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  text-shadow:0 0 30px rgba(255,255,255,.15);
}
h1{font-size:3rem; font-weight:var(--font-weight-black); letter-spacing:-.02em;}
h2{font-size:2.5rem;} h3{font-size:1.75rem; color:var(--white);}
p{margin-bottom:1rem; color:var(--light-grey);}
a{color:var(--medium-grey); text-decoration:none; transition:var(--transition-medium); position:relative;}
a:hover{color:var(--silver); text-shadow:0 0 10px rgba(204,204,204,.35);}

/* Images */
img{max-width:100%; height:auto; display:block;}

/* Utilities */
.container{max-width:1400px; margin:0 auto; padding:0 var(--container-padding);}
.text-center{text-align:center;} .text-left{text-align:left;} .text-right{text-align:right;}
.mb-1{margin-bottom:1rem;} .mb-2{margin-bottom:2rem;} .mb-3{margin-bottom:3rem;}
.mt-1{margin-top:1rem;} .mt-2{margin-top:2rem;} .mt-3{margin-top:3rem;}

/* Glass Card */
.glass-card{
  background:var(--glass-bg); -webkit-backdrop-filter:blur(5px); backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border); border-radius:var(--border-radius-large); box-shadow:var(--shadow-medium);
}

/* Buttons */
.btn{
  display:inline-block; padding:14px 28px; font-weight:var(--font-weight-medium);
  border:none; border-radius:var(--border-radius-medium); cursor:pointer;
  transition:var(--transition-medium); text-decoration:none; position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--charcoal),var(--medium-grey)); color:var(--white);
}
.btn::before{content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent); transition:var(--transition-slow);}
.btn:hover::before{left:100%;}
.btn:hover{transform:translateY(-2px); box-shadow:var(--shadow-white); background:linear-gradient(135deg,var(--medium-grey),var(--silver));}

.btn-primary{background:linear-gradient(135deg,var(--charcoal),var(--medium-grey)); color:var(--white); box-shadow:var(--shadow-medium);}
.btn-primary:hover{background:linear-gradient(135deg,var(--medium-grey),var(--silver)); transform:translateY(-3px); box-shadow:var(--shadow-glow);}
.btn-secondary{background:var(--glass-bg); color:var(--medium-grey); border:2px solid var(--medium-grey); -webkit-backdrop-filter:blur(5px); backdrop-filter:var(--glass-blur);}
.btn-secondary:hover{background:var(--medium-grey); color:var(--white); border-color:var(--silver); box-shadow:var(--shadow-white);}

/* CTA Button */
.cta-button{
  background:linear-gradient(135deg,var(--charcoal),var(--medium-grey),var(--silver));
  background-size:200% 200%; animation:gradientShift 3s ease infinite;
  color:var(--white); padding:18px 36px; font-size:1.1rem; font-weight:var(--font-weight-bold);
  border-radius:var(--border-radius-large); display:inline-block; transition:var(--transition-medium);
  text-transform:uppercase; letter-spacing:1.5px; position:relative; overflow:hidden; box-shadow:var(--shadow-medium);
}
.cta-button::before{content:''; position:absolute; inset:0; background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%); transform:translateX(-100%); transition:var(--transition-slow);}
.cta-button:hover::before{transform:translateX(100%);}
.cta-button:hover{transform:translateY(-4px) scale(1.05); box-shadow:var(--shadow-glow); color:var(--white);}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* MAIN CONTENT */
.main-content{min-height:calc(100vh - 70px); background:transparent; position:relative; z-index:1; width:100%; margin-bottom:0; padding-bottom:40px;}

/* Scrollbar */
::-webkit-scrollbar{width:12px;} ::-webkit-scrollbar-track{background:var(--deep-space);}
::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--charcoal),var(--medium-grey)); border-radius:6px; border:2px solid var(--deep-space);}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--medium-grey),var(--silver));}

/* Selection */
::selection{background:var(--medium-grey); color:var(--white);} ::-moz-selection{background:var(--medium-grey); color:var(--white);}

/* RESPONSIVE */
@media (max-width:1024px){
  .container{padding:0 20px;}
  h1{font-size:2.5rem;} h2{font-size:2rem;}
  .cta-button{padding:16px 32px; font-size:1rem;}
  body{padding-top:65px;}
  .main-content{min-height:calc(100vh - 65px);}
}
@media (max-width:768px){
  :root{--container-padding:15px; --section-padding:60px 0;}
  h1{font-size:2.2rem;} h2{font-size:1.8rem;} h3{font-size:1.5rem;}
  .cta-button{padding:14px 28px; font-size:.95rem; letter-spacing:1px;}
  body{padding-top:60px;}
  .main-content{min-height:calc(100vh - 60px); padding-bottom:30px;}
}
@media (max-width:480px){
  h1{font-size:2rem;} h2{font-size:1.6rem;}
  .container{padding:0 15px;}
  .cta-button{padding:12px 24px; font-size:.9rem;}
  body{padding-top:55px;}
  .main-content{min-height:calc(100vh - 55px); padding-bottom:20px;}
}

/* Z-INDEX MANAGEMENT */
.content-layer{z-index:1;} .background-layer{z-index:-1;}

/* Accessibility */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
}

/* High-contrast */
@media (prefers-contrast:high){
  :root{--white:#FFF; --black:#000; --light-grey:#FFF; --dark-grey:#000;}
}
/* Fixed WhatsApp Booking Button */
.whatsapp-book-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: transparent;
  color: var(--white);
  border: 2px solid var(--white);
  border-radius: 50px;
  padding: 12px 24px;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  font-size: 0.95rem;
  z-index: 5000;
  transition: all 0.3s ease;
}

.whatsapp-book-btn:hover {
  background: var(--white);
  color: var(--black);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  transform: translateY(-3px);
}
