.error-name, .error-email, .error-phone, .error-email-valid, .error-phone-valid {
    color: red;
    float: left;
    margin-bottom: 10px;
    display: none;
}

#loading_bottom_1, #loading_bottom_2, #loading_bottom_3 {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -50px 0px 0px -50px;
}

#contactForm {
    position: relative;
}




/* ===================================
   RUSTOMJEE CLIFF TOWER — LUXURY CSS v2
   =================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Open+Sans:wght@300;400;600;700&display=swap');

:root {
  --navy:        #0a1628;
  --navy-mid:    #0d1f3c;
  --navy-light:  #132645;
  --ice:         #b8d4e8;
  --ice-bg:      #ddeef7;
  --ice-light:   #e8f4fb;
  --ice-pale:    #f2f8fd;
  --ice-deep:    #a4c8e0;
  --primary-color: #212529;
  --white-color: #fff;
  --black-color: #212529;
  --silver:      #c8d8e4;
  --silver-dark: #7a9bb0;
  --text-light:  #4A4545;
  --gold:        #c9a96e;
  --gold-light:  #e2c99a;
  --gold-dark:   #a8813d;
  --white:       #ffffff;
  --dark-text:   #0f2035;
  --mid-text:    #2a4a65;
  --muted-text:  #5d7e96;
  --transition:  all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --shadow-soft: 0 20px 60px rgba(10,22,40,0.08);
  --shadow-card: 0 8px 40px rgba(10,22,40,0.14);
  --section-vertical-padding: clamp(2.25rem, 5vw, 4.5rem);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:'Open Sans', sans-serif; background:var(--navy); color:var(--white); overflow-x:hidden; font-weight:300; letter-spacing:0.02em; }

h1,h2,h3,h4,h5,h6 { font-family:'Playfair Display',serif; font-weight:400; }

.section-label { font-family:'Jost',sans-serif; font-weight:300; font-size:0.6rem; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:0.9rem; text-align:center; }
.section-label.dark { color:var(--gold-dark); }
.section-title { font-family:'Playfair Display',serif; font-weight:300; font-size:clamp(2.2rem,5vw,3.8rem); line-height:1.08; letter-spacing:0.04em; text-align:center; }
.section-title.dark { color:var(--dark-text); }
.section-divider { width:50px; height:1px; background:var(--gold); margin:1.4rem auto; }
.section-divider.center { margin:1.4rem auto; }

/* Generic block title centering (some templates use block-title/blocktitle) */
.block-title, .blocktitle { text-align:center; display:block; margin-left:auto; margin-right:auto; }
.section-divider.dark { background:var(--gold-dark); }

/* NAVBAR */
#mainNav { background:transparent; padding:1.5rem 0; transition:var(--transition); z-index:9999; }
#mainNav.scrolled { background:rgba(10,22,40,0.97); backdrop-filter:blur(20px); padding:0.8rem 0; box-shadow:0 2px 40px rgba(0,0,0,0.4); }
.navbar-brand-text { font-family:'Playfair Display',serif; font-weight:500; font-size:1.2rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--white) !important; line-height:1.1; }
.navbar-brand-sub { font-family:'Jost',sans-serif; font-size:0.52rem; letter-spacing:0.35em; color:var(--gold); display:block; text-transform:uppercase; }
.nav-link { font-family:'Jost',sans-serif; font-weight:300; font-size:0.68rem; letter-spacing:0.28em; text-transform:uppercase; color:rgba(255,255,255,0.85) !important; padding:0.5rem 1rem !important; transition:color 0.3s; }
.nav-link:hover { color:var(--gold) !important; }
.navbar-toggler { border-color:rgba(200,216,228,0.3); }
.navbar-toggler-icon { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(200,216,228,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='1.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.btn-enquire-nav { font-family:'Jost',sans-serif; font-weight:400; font-size:0.63rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--navy) !important; background:var(--gold); border:none; padding:0.6rem 1.5rem !important; transition:all 0.3s; border-radius:0; }
.btn-enquire-nav:hover { background:var(--gold-light); transform:translateY(-1px); }

/* BUTTONS */
.btn-luxury-primary { font-family:'Jost',sans-serif; font-weight:400; font-size:0.63rem; letter-spacing:0.35em; text-transform:uppercase; background:var(--gold); color:var(--navy); border:none; padding:1rem 2.5rem; text-decoration:none; transition:all 0.4s; display:inline-block; border-radius:0; cursor:pointer; }
.btn-luxury-primary:hover { background:var(--gold-light); color:var(--navy); transform:translateY(-2px); box-shadow:0 10px 40px rgba(201,169,110,0.3); }
.btn-luxury-primary.dark-btn { background:var(--navy); color:var(--white); }
.btn-luxury-primary.dark-btn:hover { background:var(--gold-dark); color:var(--white); }
.btn-luxury-outline { font-family:'Jost',sans-serif; font-weight:300; font-size:0.63rem; letter-spacing:0.35em; text-transform:uppercase; background:transparent; color:var(--white); border:1px solid rgba(255,255,255,0.4); padding:1rem 2.5rem; text-decoration:none; transition:all 0.4s; display:inline-block; border-radius:0; cursor:pointer; }
.btn-luxury-outline:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.btn-luxury-outline.dark-ol { color:var(--dark-text); border-color:rgba(10,22,40,0.2); }
.btn-luxury-outline.dark-ol:hover { border-color:var(--gold-dark); color:var(--gold-dark); }
.btn-small { font-family:'Jost',sans-serif; font-weight:300; font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; background:transparent; color:var(--gold); border:1px solid rgba(201,169,110,0.35); padding:0.65rem 1.5rem; text-decoration:none; transition:all 0.3s; display:inline-block; border-radius:0; cursor:pointer; }
.btn-small:hover { background:var(--gold); color:var(--navy); }
.btn-small.dark { color:var(--gold-dark); border-color:rgba(168,129,61,0.35); }
.btn-small.dark:hover { background:var(--gold-dark); color:var(--white); }

/* HERO */
#hero { height:200vh; min-height:800px; }
#heroCarousel { height:100vh; min-height:800px; }
.hero-slide { height:100vh; min-height:800px; position:relative; overflow:hidden; }
.slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.18); transition:transform 8s ease; }
.carousel-item.active .slide-bg { transform:scale(1.08); }
.slide-1 .slide-bg { background:linear-gradient(135deg,rgba(10,22,40,0.35) 0%,rgba(13,31,60,0.2) 50%,rgba(10,22,40,0.45) 100%),linear-gradient(180deg,#0a1628 0%,#1a3a5c 30%,#2d5f8a 60%,#1a3a5c 80%,#0a1628 100%); }
.slide-2 .slide-bg { background:linear-gradient(160deg,#0d1f3c 0%,#1e4d7b 35%,#2a6496 55%,#1e4d7b 75%,#0d1f3c 100%); }
.slide-3 .slide-bg { background:linear-gradient(200deg,#0a1628 0%,#152d52 40%,#1a4066 65%,#0f2540 85%,#0a1628 100%); }
.slide-bg::after { content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(184,212,232,0.03) 60px,rgba(184,212,232,0.03) 61px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(184,212,232,0.02) 80px,rgba(184,212,232,0.02) 81px); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(10,22,40,0.4) 0%,rgba(10,22,40,0.1) 40%,rgba(10,22,40,0.3) 70%,rgba(10,22,40,0.88) 100%); }
.hero-content { position:relative; z-index:2; text-align:center; padding:0 1rem; }
.hero-eyebrow { font-size:0.63rem; letter-spacing:0.5em; color:var(--gold); text-transform:uppercase; margin-bottom:1.5rem; opacity:0; animation:fadeInUp 1s 0.3s forwards; }
.hero-title { font-family:'Playfair Display',serif; font-weight:300; font-size:clamp(3.5rem,9vw,7rem); line-height:0.92; letter-spacing:0.12em; color:var(--white); text-transform:uppercase; opacity:0; animation:fadeInUp 1.2s 0.5s forwards; }
.hero-subtitle { font-family:'Playfair Display',serif; font-style:italic; font-weight:300; font-size:clamp(1rem,2.5vw,1.5rem); letter-spacing:0.2em; color:var(--ice-light); margin:1rem 0 0.5rem; opacity:0; animation:fadeInUp 1s 0.8s forwards; }
.hero-divider { width:60px; height:1px; background:var(--gold); margin:1.5rem auto; opacity:0; animation:fadeInUp 1s 0.9s forwards; }
.hero-rera { font-size:0.6rem; letter-spacing:0.3em; color:var(--silver-dark); text-transform:uppercase; margin-bottom:2.5rem; opacity:0; animation:fadeInUp 1s 1s forwards; }
.hero-ctas { opacity:0; animation:fadeInUp 1s 1.2s forwards; display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.hero-stats { position:absolute; bottom:3.5rem; left:0; right:0; z-index:3; display:flex; justify-content:center; opacity:0; animation:fadeIn 1s 1.8s forwards; }
.hero-stat-item { padding:1rem 2.5rem; border-right:1px solid rgba(184,212,232,0.15); text-align:center; backdrop-filter:blur(10px); background:rgba(10,22,40,0.35); }
.hero-stat-item:last-child { border-right:none; }
.hero-stat-num { font-family:'Playfair Display',serif; font-size:1.7rem; font-weight:400; color:var(--gold-light); display:block; }
.hero-stat-label { font-size:0.53rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--silver-dark); display:block; margin-top:0.1rem; }
.carousel-control-prev,.carousel-control-next { width:60px; opacity:0.6; transition:opacity 0.3s; }
.carousel-control-prev:hover,.carousel-control-next:hover { opacity:1; }
.carousel-indicators { bottom:1rem; }
.carousel-indicators [data-bs-target] { width:28px; height:1px; background:var(--silver); border:none; border-radius:0; opacity:0.4; transition:all 0.3s; }
.carousel-indicators [data-bs-target].active { width:55px; background:var(--gold); opacity:1; }

/* OVERVIEW — ICE LIGHT */
#overview { background:var(--ice-pale); padding:var(--section-vertical-padding) 0; }

/* HERO responsiveness: reduce large fixed min-heights on smaller screens */
#hero { height:80vh; min-height:520px; }
#heroCarousel { height:80vh; min-height:520px; }
.hero-slide { height:80vh; min-height:520px; }

/* === User tweaks: tighten vertical spacing and very large hero === */
section .container { padding:3rem 0 !important; }
/* Restore hero to standard size: 100vh with sensible minimums */
section .container { padding:3rem 0 !important; }
#hero, #heroCarousel, .hero-slide { height:100vh !important; min-height:520px !important; }
@media (max-width:992px) {
  #hero, #heroCarousel, .hero-slide { height:85vh !important; min-height:440px !important; }
}
@media (max-width:576px) {
  #hero, #heroCarousel, .hero-slide { height:72vh !important; min-height:360px !important; }
  :root { --section-vertical-padding: 1.6rem; }
  /* ensure hero content doesn't overflow on very small devices */
  .hero-content { padding:0 0.75rem; }
}

/* Background / large image caps for responsive layouts (user requested 400px) */
.highlight-img-frame { height:520px; }
.gallery-item-1 .gallery-img { min-height:490px; }
@media (max-width:992px) {
  .highlight-img-frame { height:400px; }
  .gallery-item-1 .gallery-img { min-height:400px; }
  .loc-map-col iframe { height:400px; }
}
@media (max-width:576px) {
  .highlight-img-frame { height:360px; }
  .gallery-item-1 .gallery-img { min-height:320px; }
  .loc-map-col iframe { height:320px; }
}
.overview-intro { color:var(--muted-text); font-size:0.88rem; line-height:1.95; }
.overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:2px; margin-top:3rem; background:var(--ice-deep); border:2px solid var(--ice-deep); }
.overview-card { background:var(--white); padding:2.2rem 1.8rem; transition:all 0.4s; position:relative; overflow:hidden; }
.overview-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--gold); transition:width 0.5s; }
.overview-card:hover { background:var(--ice-light); }
.overview-card:hover::after { width:100%; }
.overview-icon-wrap { width:42px; height:42px; background:var(--ice-bg); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; font-size:1.2rem; }
.overview-lbl { font-size:0.57rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--silver-dark); margin-bottom:0.4rem; display:block; }
.overview-val { font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:500; color:var(--dark-text); line-height:1.3; }
.overview-sub { font-size:0.7rem; color:var(--muted-text); margin-top:0.25rem; }

/* OVERVIEW SLIDER */
.overview-slider-wrap { position:relative; overflow:hidden; margin-top:2rem; }
.overview-slider { display:flex; width:200%; transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.overview-slide { min-width:100%; padding:0 0; box-sizing:border-box; }
.overview-controls { position:absolute; right:2rem; bottom:0.8rem; display:flex; align-items:center; gap:0.6rem; z-index:4; }
.ov-prev, .ov-next { background:transparent; border:1px solid rgba(10,22,40,0.08); color:var(--dark-text); width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:1.25rem; border-radius:0; background:var(--white); box-shadow:var(--shadow-soft); }
.ov-prev:hover, .ov-next:hover { background:var(--gold); color:var(--navy); border-color:var(--gold); }
.ov-dots { display:flex; gap:0.5rem; align-items:center; }
.ov-dot { width:34px; height:4px; background:rgba(10,22,40,0.06); border:none; cursor:pointer; transition:all 0.35s; }
.ov-dot.active { width:54px; background:var(--gold); }

/* ensure overview-grid inside slide keeps original look but without outer border doupling */
.overview-slider .overview-grid { background:transparent; border:none; gap:1rem; }
.overview-slider .overview-card { margin:0.4rem; }

@media (max-width:992px) {
  .overview-slider { width:200%; }
  .overview-slider .overview-grid { grid-template-columns:repeat(2,1fr); }
  .overview-controls { right:1.2rem; bottom:1rem; }
}
@media (max-width:768px) {
  /* Stack overview columns vertically and center */
  #overview .row { flex-direction:column; align-items:center; }
  #overview .col-lg-6 { width:100% !important; max-width:500px; }
  .overview-intro { text-align:center; margin:1.5rem 0; }
  .overview-slider .overview-grid { grid-template-columns:repeat(2,1fr); max-width:100%; }
}
@media (max-width:576px) {
  .overview-slider .overview-grid { grid-template-columns:1fr; }
  .ov-prev, .ov-next { width:36px; height:36px; font-size:1.05rem; }
  #overview .col-lg-6 { width:100% !important; }
  .overview-card { padding:1.5rem 1rem !important; }
}

/* PRICING — NAVY */
#pricing { background:var(--navy); padding:var(--section-vertical-padding) 0; position:relative; overflow:hidden; }
.pricing-bg-art { position:absolute; top:0; right:0; width:35%; height:100%; background:repeating-linear-gradient(-45deg,transparent,transparent 40px,rgba(184,212,232,0.018) 40px,rgba(184,212,232,0.018) 41px); pointer-events:none; }
.pricing-card { border:1px solid rgba(184,212,232,0.1); background:var(--navy-mid); padding:3rem 2.8rem; position:relative; transition:all 0.5s; height:100%; }
.pricing-card::before { content:''; position:absolute; top:0; left:0; width:0; height:2px; background:linear-gradient(to right,var(--gold),var(--gold-light)); transition:width 0.6s; }
.pricing-card:hover { border-color:rgba(201,169,110,0.3); transform:translateY(-5px); box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.pricing-card:hover::before { width:100%; }
.pricing-card.featured { background:linear-gradient(135deg,var(--navy-light),var(--navy-mid)); border-color:rgba(201,169,110,0.2); }
.pricing-badge { font-size:0.58rem; letter-spacing:0.35em; text-transform:uppercase; background:var(--gold); color:var(--navy); padding:0.28rem 0.9rem; display:inline-block; margin-bottom:1.5rem; }
.pricing-type { font-family:'Playfair Display',serif; font-size:2.2rem; font-weight:400; color:var(--white); margin-bottom:0.3rem; }
.pricing-carpet { font-size:0.68rem; letter-spacing:0.2em; color:var(--silver-dark); text-transform:uppercase; margin-bottom:1.8rem; }
.pricing-price { font-family:'Playfair Display',serif; font-size:3.2rem; font-weight:300; color:var(--gold-light); line-height:1; }
.pricing-price-label { font-size:0.62rem; letter-spacing:0.22em; color:var(--silver-dark); margin-top:0.35rem; text-transform:uppercase; }
.pricing-features { list-style:none; margin:2rem 0; padding:0; }
.pricing-features li { padding:0.65rem 0; border-bottom:1px solid rgba(184,212,232,0.07); font-size:0.78rem; color:rgba(255,255,255,0.8); display:flex; align-items:center; gap:0.8rem; }
.pricing-features li::before { content:''; width:14px; height:1px; background:var(--gold); flex-shrink:0; }
.btn-pricing { font-family:'Jost',sans-serif; font-weight:400; font-size:0.62rem; letter-spacing:0.35em; text-transform:uppercase; width:100%; padding:1rem; border:1px solid rgba(201,169,110,0.4); background:transparent; color:var(--gold); transition:all 0.4s; border-radius:0; cursor:pointer; }
.btn-pricing:hover { background:var(--gold); color:var(--navy); }
.payment-band { text-align:center; margin-top:3rem; padding:2rem; border:1px solid rgba(201,169,110,0.15); background:rgba(201,169,110,0.03); display:flex; gap:3rem; justify-content:center; flex-wrap:wrap; }
.payment-band-item .lbl { font-size:0.58rem; letter-spacing:0.4em; color:var(--gold); text-transform:uppercase; }
.payment-band-item .val { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--white); margin-top:0.2rem; }

/* FLOOR PLANS — ICE LIGHT */
#floorplans { background:var(--ice-light); padding:var(--section-vertical-padding) 0; }
.fp-card { background:var(--white); border:1px solid rgba(164,200,224,0.35); overflow:hidden; transition:all 0.45s; box-shadow:var(--shadow-soft); height:100%; }
.fp-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-card); border-color:rgba(201,169,110,0.3); }
.fp-preview { background:linear-gradient(135deg,var(--ice-bg),var(--ice-light)); height:260px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; cursor:pointer; }
.fp-preview::before { content:''; position:absolute; inset:12px; border:1px solid rgba(164,200,224,0.4); }
.fp-zoom { position:absolute; top:1rem; right:1rem; width:34px; height:34px; background:rgba(201,169,110,0.12); border:1px solid rgba(201,169,110,0.4); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s; font-size:0.8rem; color:var(--gold-dark); }
.fp-preview:hover .fp-zoom { opacity:1; }
.fp-body { padding:1.8rem; }
.fp-name { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--dark-text); margin-bottom:0.25rem; }
.fp-floors { font-size:0.62rem; letter-spacing:0.3em; color:var(--gold-dark); text-transform:uppercase; margin-bottom:1rem; }
.fp-spec-row { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.fp-spec { font-size:0.72rem; color:var(--muted-text); }
.fp-spec strong { display:block; color:var(--dark-text); font-weight:500; font-size:0.95rem; margin-bottom:0.1rem; }
.fp-desc { font-size:0.73rem; color:var(--muted-text); line-height:1.8; margin-bottom:1.2rem; }

/* UNIT PLANS — WHITE */
#unitplans { background:var(--white); padding:var(--section-vertical-padding) 0; }
.unit-tabs { display:flex; gap:0; border-bottom:2px solid var(--ice-bg); margin-bottom:3rem; flex-wrap:wrap; }
.unit-tab-btn { font-family:'Jost',sans-serif; font-weight:300; font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; padding:0.9rem 2rem; background:transparent; border:none; cursor:pointer; color:var(--muted-text); border-bottom:2px solid transparent; margin-bottom:-2px; transition:all 0.3s; }
.unit-tab-btn.active { color:var(--gold-dark); border-bottom-color:var(--gold); }
.unit-tab-btn:hover { color:var(--dark-text); }
.unit-tab-pane { display:none; animation:fadeIn 0.4s ease; }
.unit-tab-pane.active { display:block; }
.unit-showcase { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--ice-bg); overflow:hidden; box-shadow:var(--shadow-soft); }
.unit-plan-visual { background:linear-gradient(135deg,var(--ice-pale),var(--ice-light)); min-height:520px; display:flex; align-items:center; justify-content:center; position:relative; padding:2rem; }
.unit-plan-visual::after { content:''; position:absolute; inset:16px; border:1px solid rgba(164,200,224,0.3); pointer-events:none; }
.unit-info { padding:3.5rem 3rem; }
.unit-badge { font-family:'Playfair Display',serif; font-size:4.5rem; font-weight:300; color:var(--dark-text); line-height:1; margin-bottom:0.1rem; }
.unit-badge-label { font-size:0.6rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--silver-dark); margin-bottom:1.5rem; display:block; }
.unit-areas { display:flex; gap:2rem; flex-wrap:wrap; padding:1.5rem 0; border-top:1px solid var(--ice-bg); border-bottom:1px solid var(--ice-bg); margin-bottom:2rem; }
.unit-area-item { text-align:center; }
.unit-area-num { font-family:'Playfair Display',serif; font-size:1.6rem; color:var(--gold-dark); display:block; }
.unit-area-unit { font-size:0.57rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--muted-text); }
.unit-room-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; margin-bottom:2rem; }
.unit-room { padding:0.8rem 1rem; background:var(--ice-pale); border-left:2px solid var(--ice-deep); transition:all 0.25s; }
.unit-room:hover { border-left-color:var(--gold); background:var(--ice-light); }
.unit-room-name { font-size:0.58rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--silver-dark); margin-bottom:0.2rem; }
.unit-room-dim { font-family:'Playfair Display',serif; font-size:1rem; color:var(--dark-text); }
.unit-extras { font-size:0.73rem; color:var(--muted-text); line-height:1.85; margin-bottom:1.8rem; }

/* AMENITIES — NAVY WITH SLIDER */
#amenities { background:var(--navy-mid); padding:var(--section-vertical-padding) 0; position:relative; overflow:hidden; }
.amenity-slider-wrap { position:relative; overflow:hidden; margin-bottom:4rem; }
.amenity-slider { display:flex; transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.amenity-slide { min-width:100%; position:relative; height:460px; overflow:hidden; }
.amenity-slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.am-slide-1 .amenity-slide-bg { background:linear-gradient(120deg,#0a1628 0%,#1a4066 50%,#2a6496 100%); }
.am-slide-2 .amenity-slide-bg { background:linear-gradient(120deg,#0d1f3c 0%,#1e4d7b 50%,#3070a0 100%); }
.am-slide-3 .amenity-slide-bg { background:linear-gradient(120deg,#07101e 0%,#122338 50%,#1a3a5c 100%); }
.am-slide-4 .amenity-slide-bg { background:linear-gradient(120deg,#0d1f3c 0%,#1a3a5c 50%,#28608a 100%); }
.am-slide-5 .amenity-slide-bg { background:linear-gradient(120deg,#0a1628 0%,#152d52 50%,#1e4d7b 100%); }
.amenity-slide-bg::after { content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(184,212,232,0.03) 40px,rgba(184,212,232,0.03) 41px),repeating-linear-gradient(90deg,transparent,transparent 55px,rgba(184,212,232,0.02) 55px,rgba(184,212,232,0.02) 56px); }
.amenity-slide-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(10,22,40,0.8) 0%,rgba(10,22,40,0.25) 65%,transparent 100%); }
.amenity-slide-content { position:relative; z-index:2; padding:3.5rem 4rem; height:100%; display:flex; flex-direction:column; justify-content:flex-end; }
.amenity-slide-eyebrow { font-size:0.58rem; letter-spacing:0.45em; text-transform:uppercase; color:var(--gold); margin-bottom:0.7rem; }
.amenity-slide-icon { font-size:2.8rem; margin-bottom:0.8rem; }
.amenity-slide-title { font-family:'Playfair Display',serif; font-size:2.8rem; font-weight:300; color:var(--white); margin-bottom:0.5rem; letter-spacing:0.04em; }
.amenity-slide-desc { font-size:0.8rem; color:rgba(255,255,255,0.72); line-height:1.85; max-width:380px; }
.amenity-slide-num { position:absolute; top:3rem; right:4rem; font-family:'Playfair Display',serif; font-size:5rem; font-weight:300; color:rgba(184,212,232,0.06); line-height:1; z-index:1; }
.amenity-slider-controls { position:absolute; bottom:2rem; right:3rem; z-index:5; display:flex; gap:0.5rem; }
.am-ctrl { width:38px; height:38px; border:1px solid rgba(255,255,255,0.25); background:rgba(10,22,40,0.4); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s; color:var(--white); font-size:0.85rem; }
.am-ctrl:hover { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.amenity-dots { position:absolute; bottom:2.4rem; left:4rem; z-index:5; display:flex; gap:0.5rem; align-items:center; }
.am-dot { width:24px; height:2px; background:rgba(255,255,255,0.28); transition:all 0.35s; cursor:pointer; border:none; background-color:rgba(255,255,255,0.28); }
.am-dot.active { width:48px; background-color:var(--gold); }
.amenity-cards { display:grid; grid-template-columns:repeat(6,1fr); gap:2px; background:rgba(184,212,232,0.07); }
.amenity-card { background:var(--navy-mid); padding:2rem 1.2rem; text-align:center; transition:all 0.4s; cursor:default; position:relative; overflow:hidden; }
.amenity-card::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:0; height:2px; background:var(--gold); transition:width 0.4s; }
.amenity-card:hover { background:var(--navy-light); }
.amenity-card:hover::before { width:80%; }
.amenity-icon { font-size:1.5rem; margin-bottom:0.85rem; }
.amenity-name { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--silver); line-height:1.5; }

/* HIGHLIGHTS — ICE PALE */
#highlights { background:var(--ice-pale); padding:var(--section-vertical-padding) 0; }
.highlight-intro { color:var(--muted-text); font-size:0.85rem; line-height:1.95; margin-bottom:2.5rem; }
.highlight-item { padding:1.8rem 0; border-bottom:1px solid rgba(164,200,224,0.4); display:flex; align-items:flex-start; gap:2rem; transition:all 0.35s; }
.highlight-item:hover { padding-left:0.8rem; }
.highlight-num { font-family:'Playfair Display',serif; font-size:2rem; font-weight:300; color:rgba(201,169,110,0.4); min-width:48px; line-height:1.2; }
.highlight-text { font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:500; color:var(--dark-text); line-height:1.35; }
.highlight-sub { font-size:0.73rem; color:var(--muted-text); margin-top:0.3rem; line-height:1.7; }
.highlight-img-frame { position:relative; width:100%; height:520px; overflow:hidden; }
.highlight-img-frame::before { content:''; position:absolute; top:-18px; right:-18px; bottom:18px; left:18px; border:1px solid rgba(164,200,224,0.35); z-index:0; pointer-events:none; }
.highlight-img-inner { position:absolute; inset:0; background:linear-gradient(135deg,var(--ice-bg) 0%,var(--ice-light) 50%,var(--ice-bg) 100%); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.highlight-img-badge { position:absolute; bottom:2rem; left:2rem; background:var(--navy); padding:1rem 1.8rem; z-index:2; }
.highlight-img-badge .val { font-family:'Playfair Display',serif; font-size:2rem; color:var(--gold-light); display:block; }
.highlight-img-badge .lbl { font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--silver-dark); }

/* GALLERY — DARK */
#gallery { background:var(--navy-light); padding:var(--section-vertical-padding) 0; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:4px; margin-top:3rem; }
.gallery-item { overflow:hidden; cursor:pointer; position:relative; }
.gallery-item-1 { grid-column:span 7; grid-row:span 2; }
.gallery-item-2 { grid-column:span 5; }
.gallery-item-3 { grid-column:span 5; }
.gallery-item-4 { grid-column:span 4; }
.gallery-item-5 { grid-column:span 4; }
.gallery-item-6 { grid-column:span 4; }
.gallery-img { width:100%; height:100%; min-height:220px; background:var(--navy-mid); transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.gallery-item-1 .gallery-img { min-height:490px; }
.gallery-img-1 { background:linear-gradient(135deg,#0d1f3c 0%,#2d5f8a 50%,#1a3a5c 100%); }
.gallery-img-2 { background:linear-gradient(200deg,#1a3a5c 0%,#0d1f3c 100%); }
.gallery-img-3 { background:linear-gradient(160deg,#132645 0%,#2a5577 100%); }
.gallery-img-4 { background:linear-gradient(135deg,#0a1628 0%,#1e4d7b 100%); }
.gallery-img-5 { background:linear-gradient(170deg,#152d52 0%,#0d1f3c 100%); }
.gallery-img-6 { background:linear-gradient(145deg,#0d1f3c 0%,#1a3a5c 100%); }
.gallery-img::before { content:attr(data-label); position:absolute; bottom:1rem; left:1rem; font-size:0.52rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--silver-dark); z-index:2; }
.gallery-overlay { position:absolute; inset:0; background:rgba(10,22,40,0.55); opacity:0; transition:opacity 0.4s; display:flex; align-items:center; justify-content:center; }
.gallery-item:hover .gallery-overlay { opacity:1; }
.gallery-item:hover .gallery-img { transform:scale(1.04); }
.gallery-plus { width:44px; height:44px; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.2rem; }

/* LOCATION — ICE PALE */
#location { background:var(--ice-pale); padding:var(--section-vertical-padding) 0; }
.location-layout { display:grid; grid-template-columns:2fr 1fr; gap:0; border:1px solid var(--ice-bg); overflow:hidden; box-shadow:var(--shadow-soft); margin-top:3rem; }
.loc-map-col { position:relative; }
.loc-map-col iframe { width:100%; height:520px; filter:saturate(0.45) brightness(0.92); border:none; display:block; }
.loc-map-badge { position:absolute; top:1rem; left:1rem; background:var(--navy); padding:0.65rem 1.2rem; font-size:0.57rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); z-index:2; }
.loc-side { background:var(--white); border-left:1px solid var(--ice-bg); display:flex; flex-direction:column; }
.loc-img { height:240px; background:linear-gradient(135deg,var(--ice-bg) 0%,var(--ice-light) 40%,var(--ice-deep) 100%); position:relative; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.loc-img-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(10,22,40,0.6)); padding:1.5rem 1.2rem 0.8rem; font-size:0.55rem; letter-spacing:0.35em; text-transform:uppercase; color:rgba(255,255,255,0.7); text-align:center; }
.loc-distances { padding:1.8rem; flex:1; }
.loc-distances .section-label { font-size:0.57rem; }
.dist-item { display:flex; justify-content:space-between; align-items:center; padding:0.65rem 0; border-bottom:1px solid var(--ice-bg); }
.dist-place { font-size:0.76rem; color:var(--mid-text); display:flex; align-items:center; gap:0.5rem; }
.dist-km { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--gold-dark); }
.loc-cta-block { padding:1.5rem 1.8rem; background:var(--ice-pale); border-top:1px solid var(--ice-bg); }

/* POSSESSION */
#possession { background:linear-gradient(135deg,var(--navy-light) 0%,var(--navy-mid) 50%,var(--navy) 100%); padding:5rem 0; text-align:center; position:relative; overflow:hidden; }
#possession::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,transparent,transparent 50px,rgba(201,169,110,0.018) 50px,rgba(201,169,110,0.018) 51px); }
.possession-content { position:relative; z-index:2; }
.possession-label-text { font-size:0.63rem; letter-spacing:0.5em; text-transform:uppercase; color:var(--silver-dark); margin-bottom:1rem; display:block; }
.possession-year { font-family:'Playfair Display',serif; font-size:clamp(4.5rem,13vw,9.5rem); font-weight:300; line-height:1; background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; letter-spacing:0.12em; }
.possession-note { font-size:0.72rem; color:var(--silver-dark); margin-top:0.5rem; letter-spacing:0.15em; }
.possession-badges { display:inline-flex; flex-wrap:wrap; justify-content:center; margin-top:2.5rem; border:1px solid rgba(201,169,110,0.15); }
.possession-badge { padding:1rem 2.5rem; text-align:center; border-right:1px solid rgba(201,169,110,0.15); font-size:0.6rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--silver-dark); }
.possession-badge:last-child { border-right:none; }
.possession-badge strong { color:var(--gold-light); display:block; font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:400; margin-top:0.2rem; }

/* CONTACT — WHITE */
#contact { background:var(--white); padding:var(--section-vertical-padding) 0; }
.contact-intro { color:var(--muted-text); font-size:0.85rem; line-height:1.9; margin-bottom:2rem; }
.contact-info-item { padding:1.4rem 0; border-bottom:1px solid var(--ice-bg); }
.contact-info-label { font-size:0.58rem; letter-spacing:0.4em; color:var(--gold-dark); text-transform:uppercase; margin-bottom:0.35rem; display:block; }
.contact-info-value { font-size:0.88rem; color:var(--mid-text); line-height:1.6; }
.luxury-form { background:var(--ice-pale); border:1px solid var(--ice-bg); padding:3rem; }
.luxury-form .form-label { font-size:0.58rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--muted-text); margin-bottom:0.45rem; }
.luxury-form .form-control, .luxury-form .form-select { background:var(--white); border:1px solid var(--ice-bg); border-radius:0; color:var(--dark-text); padding:0.85rem 1.2rem; font-size:0.85rem; transition:border-color 0.3s; font-family:'Jost',sans-serif; font-weight:300; }
.luxury-form .form-control:focus, .luxury-form .form-select:focus { background:var(--white); border-color:rgba(201,169,110,0.5); color:var(--dark-text); box-shadow:none; outline:none; }
.luxury-form .form-control::placeholder { color:var(--silver-dark); opacity:0.7; }
.luxury-form .form-select option { background:var(--white); color:var(--dark-text); }
.btn-submit-luxury { font-family:'Jost',sans-serif; font-weight:400; font-size:0.63rem; letter-spacing:0.35em; text-transform:uppercase; background:var(--navy); color:var(--white); border:none; padding:1.1rem 3rem; width:100%; transition:all 0.4s; border-radius:0; cursor:pointer; }
.btn-submit-luxury:hover { background:var(--gold-dark); transform:translateY(-1px); }
.form-success { display:none; padding:1rem 1.5rem; margin-top:1rem; font-size:0.8rem; background:rgba(164,200,224,0.15); border:1px solid rgba(164,200,224,0.4); color:var(--mid-text); }
.form-error { display:none; padding:1rem 1.5rem; margin-top:1rem; font-size:0.8rem; background:rgba(220,100,100,0.06); border:1px solid rgba(220,100,100,0.2); color:#c06060; }
.form-success.show, .form-error.show { display:block; }

/* SCROLL TO TOP BUTTON */
.scroll-to-top { position:fixed; bottom:2rem; right:2rem; width:48px; height:48px; border:1px solid rgba(201,169,110,0.5); background:rgba(10,22,40,0.85); backdrop-filter:blur(10px); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.3rem; opacity:0; visibility:hidden; transform:translateY(10px); transition:all 0.4s ease; z-index:9998; }
.scroll-to-top.visible { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-to-top:hover { background:var(--gold); color:var(--navy); border-color:var(--gold); transform:translateY(-3px); box-shadow:0 10px 30px rgba(201,169,110,0.3); }

/* FOOTER */
footer { background:#050d1a; padding:5rem 0 2rem; border-top:1px solid rgba(184,212,232,0.07); }
.footer-brand { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:300; letter-spacing:0.3em; text-transform:uppercase; color:var(--white); }
.footer-rera { font-size:0.58rem; letter-spacing:0.25em; color:var(--silver-dark); text-transform:uppercase; margin-top:0.3rem; }
.footer-link { display:block; font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--silver-dark); text-decoration:none; padding:0.4rem 0; transition:color 0.3s; }
.footer-link:hover { color:var(--gold); }
.social-icon { width:36px; height:36px; border:1px solid rgba(184,212,232,0.15); display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:var(--silver-dark); font-size:0.85rem; transition:all 0.3s; margin-right:0.4rem; }
.social-icon:hover { border-color:var(--gold); color:var(--gold); }
.footer-disclaimer { font-size:0.59rem; color:rgba(140,160,180,0.45); line-height:1.75; margin-top:2rem; border-top:1px solid rgba(184,212,232,0.06); padding-top:2rem; }
.footer-bottom { border-top:1px solid rgba(184,212,232,0.06); display:flex; justify-content:space-between; align-items:center; font-size:0.58rem; color:rgba(140,160,180,0.38); letter-spacing:0.18em; flex-wrap:wrap; gap:0.5rem; }

/* ANIMATIONS */
@keyframes fadeInUp { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.reveal { opacity:0; transform:translateY(35px); transition:opacity 0.85s ease, transform 0.85s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.12s; }
.reveal-delay-2 { transition-delay:0.24s; }
.reveal-delay-3 { transition-delay:0.36s; }
.reveal-delay-4 { transition-delay:0.48s; }

/* MEDIA QUERIES */
@media (max-width:1200px) { .amenity-cards { grid-template-columns:repeat(4,1fr); } }
@media (max-width:992px) {
  .unit-showcase { grid-template-columns:1fr; }
  .unit-plan-visual { min-height:280px; }
  .amenity-cards { grid-template-columns:repeat(3,1fr); }
  .location-layout { grid-template-columns:1fr; }
  .loc-side { border-left:none; border-top:1px solid var(--ice-bg); }
  .loc-img { height:180px; }
  .loc-map-col iframe { height:360px; }
  .hero-stats { display:none; }
  .highlight-img-frame { height:350px; margin-bottom:2rem; }
}
@media (max-width:768px) {
  .gallery-grid { grid-template-columns:1fr 1fr; gap:3px; }
  .gallery-item-1,.gallery-item-2,.gallery-item-3 { grid-column:span 2; }
  .gallery-item-4,.gallery-item-5,.gallery-item-6 { grid-column:span 2; }
  .gallery-item-1 .gallery-img { min-height:280px; }
  .overview-grid { grid-template-columns:repeat(2,1fr); }
  .amenity-cards { grid-template-columns:repeat(2,1fr); }
  .luxury-form { padding:2rem; }
  .amenity-slide-content { padding:2rem; }
  .amenity-slide { height:360px; }
  .unit-room-grid { grid-template-columns:1fr 1fr; }
  .possession-badges { flex-direction:column; }
  .possession-badge { border-right:none; border-bottom:1px solid rgba(201,169,110,0.15); }
}
@media (max-width:576px) {
  .overview-grid { grid-template-columns:1fr; }
  .amenity-cards { grid-template-columns:repeat(2,1fr); }
  .unit-room-grid { grid-template-columns:1fr; }
}

/* === Responsive tweaks requested by user === */
/* Make main logo slightly smaller and more compact */
.navbar-brand-text { font-size:1.0rem; }
.navbar-brand-sub { font-size:0.48rem; letter-spacing:0.28em; }
@media (max-width:992px) {
  .navbar-brand-text { font-size:0.95rem; }
  .navbar-brand-sub { font-size:0.44rem; }
}
@media (max-width:576px) {
  .navbar-brand-text { font-size:0.9rem; }
  .navbar-brand-sub { font-size:0.4rem; }
}

/* Reduce hero text sizes for better balance */
.hero-eyebrow { font-size:0.55rem; }
.hero-title { font-size:clamp(2.2rem,6.5vw,4.2rem); line-height:0.98; }
.hero-subtitle { font-size:clamp(0.9rem,2vw,1.1rem); }

/* Center contact section content and ensure form is centered */
#contact .row { justify-content:center; align-items:flex-start; }
#contact .col-lg-5 { text-align:center; }
#contact .col-lg-7 { display:flex; justify-content:center; }
.luxury-form { margin-left:auto; margin-right:auto; }

/* Center buttons and make them intrinsic width (not full-width) */
.hero-ctas .btn-luxury-primary, .hero-ctas .btn-luxury-outline { display:inline-block; }
.pricing-card .btn-pricing { width:auto; display:inline-block; margin:1rem auto 0; }
.luxury-form .btn-submit-luxury { width:auto; display:inline-block; margin:1rem auto 0; }

/* Ensure small screens keep readable sizes */
@media (max-width:768px) {
  .hero-title { font-size:clamp(2rem,8.5vw,3.6rem); }
  .hero-eyebrow { font-size:0.5rem; }
  .pricing-card .btn-pricing, .luxury-form .btn-submit-luxury { width:100%; display:block; }
}

/* Center block titles, section headings and divider on desktop */
@media (min-width:992px) {
  .block-title, .blocktitle, .section-title, .section-label, .section-divider { text-align:center !important; margin-left:auto; margin-right:auto; }
  .section-divider { margin-top:1.4rem; margin-bottom:1.4rem; }
}

/* ensure download brochure button aligns center when visible */
#floorplans .text-lg-end { text-align:center !important; }
#floorplans .btn-luxury-outline.dark-ol { display:inline-block; margin:auto; }


/* previous responsive centering rules removed per user request – restore original alignment */
/* any additional layout tweaks for small screens should be added explicitly as needed */

/* note: general content will follow default Bootstrap/section rules and will not be forced centered */

/* paragraphs inside any section should be centered */
section p { text-align:center; }

/* ensure all buttons inside sections are centered by default */
section .btn-luxury-primary,
section .btn-luxury-outline,
section .btn-small,
section .btn-pricing,
section .btn-submit-luxury {
  display:block;
  margin:1rem auto;
}

/* Image positioning for inserted section images */
.section-main-img, .fp-image, .unit-main-img, .amenity-slide-bg img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.slide-bg svg, .amenity-slide-bg svg { position:absolute; z-index:1; }
.hero-overlay { z-index:1; }
.fp-preview svg { position:relative; z-index:2; }
.fp-zoom { z-index:3; }
.unit-plan-visual svg { position:relative; z-index:2; }
.unit-plan-visual .unit-main-img { z-index:0; }
.gallery-img-el { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:block; }
.gallery-img > svg, .gallery-img > div[style] { position:relative; z-index:2; }

/* Highlights & Location main images */
.highlight-img-inner .highlight-main-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:block; }
.highlight-img-inner svg { position:relative; z-index:1; }
.loc-img .loc-main-img { width:100%; height:100%; object-fit:cover; display:block; position:relative; z-index:0; }
.loc-img svg { position:relative; z-index:1; }
.highlight-img-badge { z-index:2; position:relative; }



/* Custom CAPTCHA Section */
.captcha-section {
    background: linear-gradient(135deg, #f8fafc 0%, #f0f9ff 100%);
    border-radius: 15px;
    padding: 30px;
    margin: 30px 0;
    border: 2px solid #e2e8f0;
    position: relative;
}

.captcha-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--secondary-color);
}

.captcha-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.captcha-title {
    font-size: 1.3rem;
    color: var(--primary-color);
    font-weight: 600;
}

.captcha-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    background: var(--white-color);
    padding: 20px;
    border-radius: 10px;
    border: 2px solid #e2e8f0;
}

.captcha-code {
    font-family: 'Courier New', monospace;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 10px;
    padding: 15px;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: 8px;
    color: var(--primary-color);
    user-select: none;
    text-align: center;
    flex-grow: 1;
    margin-right: 20px;
    border: 1px dashed #cbd5e1;
}

.captcha-refresh-btn {
    background: var(--gradient-primary);
    color: var(--black-color);
    border: none;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(12, 74, 110, 0.2);
}

.captcha-refresh-btn:hover {
    transform: rotate(180deg);
    box-shadow: 0 8px 20px rgba(12, 74, 110, 0.3);
}

.captcha-input-container {
    margin-bottom: 15px;
}

.captcha-input {
    width: 100%;
    padding: 18px 20px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 5px;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s;
    background-color: var(--white-color);
}

.captcha-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(12, 74, 110, 0.1);
}

.captcha-message {
    font-size: 0.9rem;
    margin-top: 10px;
    padding: 12px 15px;
    border-radius: 8px;
    display: none;
    align-items: center;
    gap: 10px;
}

.captcha-success {
    background-color: #d1fae5;
    color: #065f46;
    display: flex;
}

.captcha-error {
    background-color: #fee2e2;
    color: #991b1b;
    display: flex;
}
