@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&display=swap");

/* =====================================================================
   DESIGN SYSTEM - indigo, glass, motion  (loaded after veenus.css)
   indigo-950 #1e1b4b · indigo-900 #312e81 · indigo-600 #4f46e5 · indigo-500 #6366f1
   indigo-400 #818cf8 · indigo-100 #e0e7ff · violet-600 #7c3aed
   ===================================================================== */
:root{--brand:#1e1b4b;--brand-2:#312e81;--primary:#4f46e5;--primary-2:#6366f1;--violet:#7c3aed;--light:#818cf8;--tint:#e0e7ff;
  --ink:#1e1b4b;--muted:#475569;--soft:#f5f7ff;--line:#e0e7ff;--radius:22px;--ease:cubic-bezier(.2,.7,.2,1);
  --grad:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);--serif:"Playfair Display",Georgia,serif}
html{scroll-behavior:smooth}
body{font-size:18px;line-height:1.75;color:var(--muted);-webkit-font-smoothing:antialiased;background:#fff}
p{font-size:18px;line-height:1.85;color:var(--muted)}
h1,h2,h3,h4,h5,h6{color:var(--ink)}
h2,h3,.price h2,.slider-content h2,.breadcrumb-title h2{font-family:var(--serif);letter-spacing:-.015em}
h2{font-size:clamp(36px,4.4vw,60px);line-height:1.12;font-weight:700}
h3{font-size:clamp(24px,2.4vw,32px)}
h4{font-size:clamp(21px,2vw,27px)}
::selection{background:var(--primary-2);color:#fff}
.pt-120{padding-top:140px}.pb-120{padding-bottom:140px}

/* scroll progress */
.ui-progress{position:fixed;top:0;left:0;height:4px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);z-index:10001}

/* buttons: big, gradient, shine */
.btn,.ss-btn,.top-btn,.btn.ss-btn{position:relative;overflow:hidden;border-radius:14px !important;font-size:17px !important;font-weight:600 !important;letter-spacing:.04em;
  padding:22px 46px !important;background:var(--grad) !important;color:#fff !important;border:0 !important;
  box-shadow:0 14px 30px -10px rgba(79,70,229,.65);transition:transform .25s var(--ease),box-shadow .25s !important}
.btn::before{display:none !important}
.btn::after,.top-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s var(--ease)}
.btn:hover::after,.top-btn:hover::after{transform:translateX(130%)}
.btn:hover,.ss-btn:hover,.top-btn:hover{color:#fff !important;transform:translateY(-3px);box-shadow:0 22px 40px -12px rgba(79,70,229,.75)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.ss-btn.active{background:rgba(255,255,255,.08) !important;border:2px solid rgba(255,255,255,.7) !important;backdrop-filter:blur(8px);box-shadow:none}
.btn.ss-btn.active:hover{background:#fff !important;color:var(--brand) !important}
.top-btn{padding:18px 22px !important}
.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:ripple .7s ease-out;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* header */
.header-top{background:#0f0d33 !important}
.header-cta li,.header-cta span,.header-cta strong{font-size:15px}
.header-three .menu-area{background:transparent;transition:background .35s,box-shadow .35s}
.sticky-menu{background:rgba(30,27,75,.82) !important;backdrop-filter:blur(16px) saturate(160%);box-shadow:0 10px 40px -12px rgba(0,0,0,.5)}
.main-menu nav>ul>li>a{font-size:16px !important;font-weight:600;letter-spacing:.02em;position:relative}
.main-menu nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--light);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.main-menu nav>ul>li>a:hover{color:#fff !important}
.main-menu nav>ul>li>a:hover::after{transform:scaleX(1)}
.veenus-logo img{height:72px;transition:height .3s}
.sticky-menu .veenus-logo img{height:54px}

/* hero */
.slider-area{position:relative;background:var(--brand)}
.single-slider.hero-slide{position:relative;min-height:100vh;display:flex !important;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.slick-active .hero-bg{animation:kenburns 9s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-1.2%,-1.2%)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,51,.78) 0%,rgba(30,27,75,.38) 42%,rgba(15,13,51,.9) 100%),radial-gradient(70% 60% at 75% 25%,rgba(99,102,241,.35),transparent 70%)}
.hero-slide .container{position:relative;z-index:2}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);color:#fff;font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px}
.hero-eyebrow i{color:var(--light)}
.slider-content h2{font-size:clamp(44px,7vw,100px) !important;line-height:1.04 !important;font-weight:700;color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.35)}
.slider-content p{font-size:clamp(18px,1.7vw,23px) !important;color:rgba(255,255,255,.9) !important;max-width:720px;margin:26px auto 0}
.w{display:inline-block;opacity:0;transform:translateY(60px) rotate(3deg)}
.slick-active .w{animation:wordIn 1s var(--ease) forwards;animation-delay:calc(var(--i)*90ms + 250ms)}
@keyframes wordIn{to{opacity:1;transform:none}}
.slider-btn{margin-top:46px}
.slider-area .slick-dots{position:absolute;bottom:150px;left:0;right:0;display:flex;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;z-index:5}
.slider-area .slick-dots li button{width:12px;height:12px;padding:0;border:0;border-radius:99px;font-size:0;background:rgba(255,255,255,.4);transition:width .4s var(--ease),background .3s}
.slider-area .slick-dots li.slick-active button{width:46px;background:#fff}
.slider-area .slick-prev,.slider-area .slick-next{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);color:#fff;transition:background .3s}
.slider-area .slick-prev:hover,.slider-area .slick-next:hover{background:var(--primary) !important}
.hero-offer{position:absolute;right:5%;bottom:190px;z-index:6;padding:26px 32px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(18px);color:#fff;text-align:center;animation:floaty 5s ease-in-out infinite}
.hero-offer small{display:block;font-size:13px;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.hero-offer b{display:block;font-family:var(--serif);font-size:56px;line-height:1.1;color:#fff}
.hero-offer span{font-size:15px;opacity:.9}
@keyframes floaty{50%{transform:translateY(-14px)}}
.scroll-cue{position:absolute;left:50%;bottom:34px;width:28px;height:48px;border:2px solid rgba(255,255,255,.6);border-radius:20px;transform:translateX(-50%);z-index:6}
.scroll-cue::after{content:"";position:absolute;left:50%;top:9px;width:4px;height:9px;margin-left:-2px;border-radius:4px;background:#fff;animation:cue 1.6s infinite}
@keyframes cue{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(18px)}}
@media (max-width:991px){.hero-offer{display:none}.slider-area .slick-dots{bottom:120px}}

/* glass booking bar */
.booking-area{position:relative;z-index:10}
.booking-area .container{max-width:1400px}
.booking-area .contact-form{background:rgba(255,255,255,.9) !important;backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:34px 38px 22px !important;margin-top:-92px !important;box-shadow:0 40px 90px -30px rgba(30,27,75,.55) !important}
.booking-area .contact-field label{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}
.booking-area input,.booking-area select{height:60px;font-size:17px}

/* form controls */
.contact-field input,.contact-field select,.contact-field textarea,.enq-panel input,.enq-panel select,.enq-panel textarea,.booking-area input,.booking-area select{
  border:1.5px solid var(--line) !important;border-radius:14px !important;background:#fff;font-size:17px !important;color:var(--ink);transition:border-color .25s,box-shadow .25s}
.contact-field input,.contact-field select{height:60px;padding:0 18px}
.contact-field textarea{padding:16px 18px}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:0;border-color:var(--primary-2) !important;box-shadow:0 0 0 5px rgba(99,102,241,.18)}
.contact-field label,.enq-panel label{font-size:15px;font-weight:600;color:var(--ink)}
.contact-bg02,.contact-bg{border-radius:28px;box-shadow:0 30px 70px -30px rgba(30,27,75,.4)}

/* section titles */
.section-title h5,.about-title h5,.feature-title h5{display:inline-flex;align-items:center;gap:12px;color:var(--primary) !important;font-size:15px !important;font-weight:700;letter-spacing:.2em;text-transform:uppercase !important;margin-bottom:16px}
.section-title h5::before,.about-title h5::before,.feature-title h5::before{content:"";width:34px;height:2px;background:var(--grad);border-radius:2px}
.section-title.text-center h5::after{content:"";width:34px;height:2px;background:var(--grad);border-radius:2px}
.section-title p{max-width:740px;margin:20px auto 0}

/* cards */
.single-services,.services-08-item,.single-post2,.dish,.pricing-box{position:relative;border-radius:var(--radius) !important;overflow:hidden;border:1px solid var(--line);background:#fff;
  box-shadow:0 24px 50px -28px rgba(30,27,75,.35) !important;transition:box-shadow .4s,translate .4s var(--ease),transform .25s ease-out}
.single-services{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}
.single-services:hover,.services-08-item:hover,.single-post2:hover,.dish:hover{translate:0 -10px;box-shadow:0 40px 70px -28px rgba(79,70,229,.45) !important}
.services-thumb,.blog-thumb2,.dish a{overflow:hidden;display:block}
.services-thumb img,.blog-thumb2 img,.dish img{transition:transform 1.1s var(--ease)}
.single-services:hover .services-thumb img,.single-post2:hover .blog-thumb2 img,.dish:hover img{transform:scale(1.12)}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(99,102,241,.16),transparent 45%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:0}
.spot:hover::before{opacity:1}
.services-content h4 a{font-size:27px}
.services-content p{font-size:17px}
.single-services .day-book li:last-child{background:var(--grad) !important}
.single-services .day-book li:last-child a{color:#fff !important;font-weight:700;letter-spacing:.04em}
.single-services .day-book li{font-size:19px}
.single-services .day-book li:first-child{background:var(--brand) !important}
.room-icons li{color:var(--primary)}
.services-08-content h3,.services-08-content h3 a{font-size:25px}
.services-08-content p{font-size:17px}
.blog-content2 h4{font-size:24px}
.dish h4{font-size:20px;font-weight:600;font-family:var(--serif)}
.green li::before,.about-content ul.green li::before{color:var(--primary) !important}
.s-about-img img,.feature-img img{border-radius:var(--radius)}
.price h2{font-size:38px}
.price span{font-size:26px;color:var(--primary);font-weight:700}
.room-features li{font-size:17px}
.room-features li i{color:var(--primary)}

/* dark amenities */
.amen-dark{position:relative;background:radial-gradient(60% 80% at 15% 10%,rgba(99,102,241,.35),transparent 60%),radial-gradient(50% 70% at 90% 90%,rgba(124,58,237,.3),transparent 60%),#1e1b4b !important}
.amen-dark .section-title h2,.amen-dark .section-title p{color:#fff}
.amen-dark .section-title h5{color:var(--light) !important}
.amen-dark .services-08-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);box-shadow:none !important}
.amen-dark .services-08-content h3,.amen-dark .services-08-content h3 a{color:#fff}
.amen-dark .services-08-content p{color:rgba(255,255,255,.75)}
.amen-dark .services-icon2 img{filter:brightness(0) invert(1)}
.amen-dark .services-08-thumb img{filter:brightness(0) invert(1)}
.amen-dark .services-08-item:hover{background:rgba(99,102,241,.2);box-shadow:0 30px 60px -30px rgba(99,102,241,.7) !important}
.amen-dark .animations-02{opacity:.08}

/* stats */
.stats-strip{background:var(--grad);position:relative;overflow:hidden}
.stats-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 120% at 0% 0%,rgba(255,255,255,.18),transparent 60%),radial-gradient(40% 120% at 100% 100%,rgba(30,27,75,.5),transparent 60%)}
.stat{position:relative;text-align:center;padding:60px 10px;color:#fff}
.stat b{display:block;font-family:var(--serif);font-size:clamp(48px,6vw,84px);line-height:1;font-weight:700;color:#fff}
.stat span{display:block;margin-top:12px;font-size:16px;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
@media (min-width:768px){.stat+.stat::before{content:"";position:absolute;left:0;top:25%;height:50%;width:1px;background:rgba(255,255,255,.25)}}

/* marquee */
.marquee{overflow:hidden;background:#fff;padding:46px 0;border-block:1px solid var(--line)}
.marquee-track{display:flex;width:max-content;animation:marq 45s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{display:inline-flex;align-items:center;gap:46px;padding-right:46px;font-family:var(--serif);font-size:clamp(42px,5.5vw,84px);font-weight:700;color:transparent;-webkit-text-stroke:1.5px var(--primary-2);white-space:nowrap;transition:color .3s}
.marquee-track span:hover{color:var(--primary-2)}
.marquee-track i{font-style:normal;font-size:.5em;color:var(--primary-2);-webkit-text-stroke:0}
@keyframes marq{to{transform:translateX(-50%)}}

/* testimonial + footer + misc */
.testimonial-area{background-color:var(--brand)}
.footer-top{background:linear-gradient(160deg,#1e1b4b 0%,#312e81 55%,#1e1b4b 100%) !important}
.footer-widget h2,.f-widget-title h2{font-size:24px;font-family:var(--serif)}
.footer-link li a,.f-contact span,.f-contact a{font-size:17px}
.footer-link li a:hover{color:var(--light) !important;padding-left:6px}
.f-contact i{background:var(--grad) !important;color:#fff !important}
.copyright-wrap{background:#0f0d33 !important}
.copyright-wrap a{color:var(--light)}
.breadcrumb-area{position:relative;min-height:420px;isolation:isolate}
.breadcrumb-area::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,51,.85),rgba(49,46,129,.6));z-index:-1}
.breadcrumb-title h2{font-size:clamp(42px,5.5vw,76px);color:#fff}
#scrollUp{background:var(--grad) !important;color:#fff !important;border-radius:16px;bottom:96px !important;right:22px !important;width:54px;height:54px;line-height:54px;text-align:center}
.gallery-image img{border-radius:16px;transition:transform .8s var(--ease)}
.gallery-image:hover img{transform:scale(1.05)}
.my-masonry .button-group button{font-size:16px;font-weight:600}
.my-masonry .button-group button.active,.button-group button:hover{color:var(--primary) !important;border-color:var(--primary) !important}
.service-detail-contact{background:var(--grad) !important;border-radius:var(--radius)}
.service-detail-contact a{color:#fff !important}
.about-area5 .sidebar-widget{border-radius:var(--radius)}

/* drawer polish */
.enq-panel{border-radius:28px 0 0 28px}
.enq-panel h3{font-family:var(--serif);font-size:36px}
.enq-room{background:var(--tint);color:var(--primary);border-radius:14px;font-size:17px}
.enq-close{color:var(--ink)}
.phone-field select{background:#fff}

/* scroll reveal (only when JS is on) */
.js .reveal{opacity:0;translate:0 44px;transition:opacity 1s var(--ease) calc(var(--d,0)*100ms),translate 1s var(--ease) calc(var(--d,0)*100ms),box-shadow .4s,transform .25s ease-out}
.js .reveal.in{opacity:1;translate:0 0}
.js .reveal.in:hover{translate:0 -10px;transition-delay:0s}
.js .reveal-left{translate:-60px 0}.js .reveal-right{translate:60px 0}
.js .img-reveal img{clip-path:inset(0 0 100% 0 round 22px);transform:scale(1.15);transition:clip-path 1.3s var(--ease),transform 1.6s var(--ease)}
.js .img-reveal.in img{clip-path:inset(0 round 22px);transform:none}
[data-parallax]{will-change:transform;transform:translate3d(0,var(--py,0px),0)}

@media (max-width:767px){body,p{font-size:17px}.btn,.ss-btn,.top-btn{padding:20px 32px !important}.pt-120{padding-top:90px}.pb-120{padding-bottom:90px}.veenus-logo img{height:56px}
  .booking-area .contact-form{margin-top:-60px !important;padding:28px 22px 18px !important;border-radius:22px}.stat{padding:36px 10px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}.js .reveal,.js .img-reveal img{opacity:1 !important;translate:none !important;clip-path:none !important;transform:none !important}.w{opacity:1;transform:none}}

/* template overrides found while testing */
.slider-content .hero-eyebrow{display:inline-flex !important;width:auto !important;max-width:100%}
.slider-area .slick-dots{top:auto !important;height:auto !important;width:auto !important;transform:none !important;right:0 !important;left:0 !important;bottom:150px !important}

.slider-content h2 .w{color:#fff !important}

.hero-offer{right:3%;padding:22px 28px}

.slider-content .hero-eyebrow{color:#fff !important}
@media (max-width:575px){.hero-eyebrow{font-size:12.5px;letter-spacing:.08em;padding:9px 16px}}

/* ---- fixes: eyebrow readability, hero vs booking-bar overlap, about images ---- */
.slider-content > span.hero-eyebrow{font-size:14px;font-weight:600;letter-spacing:.12em;line-height:1.3;color:#fff !important;text-shadow:0 1px 8px rgba(0,0,0,.45);
  background:rgba(15,13,51,.5);border:1px solid rgba(255,255,255,.35);padding:10px 22px;margin-bottom:26px;display:inline-flex !important}
/* keep hero buttons/text clear of the booking card that overlaps the hero bottom */
.single-slider.hero-slide{padding:150px 0 190px}
.slider-area .slick-dots{bottom:128px !important}
.hero-offer{bottom:210px}
/* about section: one big photo + one smaller inset photo, no overlap */
.s-about-img{position:relative;padding-bottom:70px;padding-right:40px}
.s-about-img>img{margin-bottom:0 !important;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.s-about-img .about-icon{position:absolute;right:0;bottom:0;width:46%;border:8px solid #fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(30,27,75,.5);background:#fff}
.s-about-img .about-icon img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0;border-radius:0}
@media (max-width:991px){.single-slider.hero-slide{padding:130px 0 150px}.s-about-img{padding-right:0;padding-bottom:50px}.s-about-img .about-icon{right:10px}}
.top-btn{white-space:nowrap}
.main-menu nav>ul>li>a{white-space:nowrap}
@media (min-width:1200px) and (max-width:1499px){
  .main-menu nav>ul>li{margin:0 7px !important}
  .main-menu nav>ul>li>a{font-size:15px !important}
  .veenus-logo img{height:60px}
  .top-btn{padding:16px 14px !important;font-size:15px !important}
}
@media (min-width:1200px){.header-area .container{max-width:1400px}}

/* about photos: clean two-photo collage, nothing overlaps */
.s-about-img{display:grid !important;grid-template-columns:1.65fr 1fr;gap:20px;align-items:end;padding:0 !important}
.s-about-img>img{aspect-ratio:4/5 !important;height:auto;width:100%;border-radius:22px}
.s-about-img .about-icon{position:static !important;width:100% !important;border:0 !important;border-radius:22px;box-shadow:none !important;background:none;margin-bottom:0;transform:none !important}
.s-about-img .about-icon img{aspect-ratio:3/4 !important;border-radius:22px !important;width:100%}
@media (max-width:575px){.s-about-img{grid-template-columns:1fr 1fr;gap:12px}}

/* ---- card hover: remove the template's white overlay, modern glow instead ---- */
.services-08-item::before,.services-08-item:hover::before{content:none !important;display:none !important;background:none !important}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(129,140,248,.22),transparent 45%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:0}
.spot:hover::after{opacity:1}
.services-08-item .services-08-thumb img{transition:transform .55s var(--ease)}
.services-08-item:hover .services-08-thumb img{transform:translateY(-6px) scale(1.1) rotate(-3deg)}
.services-08-item .services-icon2{transition:transform .8s var(--ease),opacity .4s}
.services-08-item:hover .services-icon2{transform:scale(1.12) rotate(4deg);opacity:.09}
.services-08-content a i{display:inline-block;transition:transform .3s var(--ease)}
.services-08-content a:hover i,.services-08-item:hover .services-08-content a i{transform:translateX(7px)}

/* light cards */
.services-08-item:hover{background:linear-gradient(180deg,#fff 0%,#eef2ff 100%);border-color:#a5b4fc;box-shadow:0 36px 70px -30px rgba(79,70,229,.5),inset 0 3px 0 var(--primary) !important}
.services-08-item:hover h3,.services-08-item:hover h3 a{color:var(--primary)}
.services-08-item:hover p{color:var(--muted)}

/* dark amenity cards - always readable (white text, never a white background) */
.amen-dark .services-08-item,.amen-dark .services-08-item:hover{color:#fff}
.amen-dark .services-08-item:hover{background:linear-gradient(145deg,rgba(99,102,241,.38),rgba(124,58,237,.26));border-color:rgba(165,180,252,.65);
  box-shadow:0 30px 70px -26px rgba(99,102,241,.85),0 0 0 1px rgba(165,180,252,.25) inset !important}
.amen-dark .services-08-item:hover h3,.amen-dark .services-08-item:hover h3 a{color:#fff}
.amen-dark .services-08-item:hover p{color:rgba(255,255,255,.92)}
.amen-dark .services-08-item:hover .services-icon2{opacity:.12}
.services-08-content h3{overflow-wrap:normal;word-break:normal}
@media (max-width:1399px){.services-08-content h3,.services-08-content h3 a{font-size:22px}.services-08-item{padding-left:24px;padding-right:24px}}

/* ---- size tune-down: still large, but not oversized ---- */
body,p{font-size:17px}
h2{font-size:clamp(32px,3.6vw,50px)}
h3{font-size:clamp(22px,2vw,28px)}
h4{font-size:clamp(20px,1.8vw,24px)}
.btn,.ss-btn,.top-btn,.btn.ss-btn{padding:18px 36px !important;font-size:16px !important}
.top-btn{padding:16px 20px !important}
.booking-area .bar-grid .btn-cell .btn{padding:0 24px !important}
.slider-content h2{font-size:clamp(40px,5.6vw,84px) !important}
.slider-content p{font-size:clamp(17px,1.5vw,21px) !important}
.services-content h4 a{font-size:24px}
.services-content p,.services-08-content p{font-size:16px}
.services-08-content h3,.services-08-content h3 a{font-size:22px}
.blog-content2 h4{font-size:22px}
.dish h4{font-size:18px}
.section-title h5,.about-title h5,.feature-title h5{font-size:14px !important}
.main-menu nav>ul>li>a{font-size:15px !important}
/* button groups sit on one row */
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-row .btn{margin:0 !important;padding:16px 24px !important;font-size:15px !important;letter-spacing:.03em;white-space:nowrap}
@media (min-width:576px){.btn-row{flex-wrap:nowrap}}
@media (max-width:767px){body,p{font-size:16px}.btn,.ss-btn,.top-btn{padding:16px 28px !important}}

/* ---- buttons: compact ---- */
.btn,.ss-btn,.top-btn,.btn.ss-btn{padding:13px 26px !important;font-size:15px !important;border-radius:10px !important;letter-spacing:.03em;line-height:1.2 !important}
.top-btn{padding:12px 18px !important;font-size:14px !important}
.booking-area .bar-grid .btn-cell .btn{height:52px;padding:0 20px !important;font-size:15px !important}
.booking-area input,.booking-area select,.contact-field input,.contact-field select{height:52px}
.btn-row .btn{padding:12px 20px !important;font-size:14px !important}
.slider-btn{margin-top:34px}
.slider-btn .btn{padding:14px 30px !important}
.single-services .day-book li{font-size:16px}
.single-services .day-book li:last-child a{font-size:15px}
@media (max-width:767px){.btn,.ss-btn,.top-btn{padding:12px 22px !important}}

/* ---- dining gallery: compact cards ---- */
.dish img{height:150px}
.dish h4{font-size:16px;padding:12px 8px}
.dish{box-shadow:0 14px 30px -20px rgba(30,27,75,.3) !important}

.contact-field input::placeholder,.contact-field textarea::placeholder{color:#94a3b8;opacity:1}

/* booking cards (home quick booking, contact, reserve, room sidebar): real padding + white background */
.booking .contact-bg02,.booking .contact-bg{background:#fff;padding:48px 44px;border-radius:28px;text-align:left;border:1px solid var(--line)}
.booking .contact-bg{padding:32px 28px}
@media (max-width:575px){.booking .contact-bg02{padding:32px 22px}}

/* ---- slim + modern pass ---- */
.pt-120{padding-top:96px}.pb-120{padding-bottom:96px}
.pt-113{padding-top:90px}.pb-150{padding-bottom:100px}.pb-90{padding-bottom:70px}.pt-90{padding-top:70px}
section.booking.pt-120.pb-120{padding-top:60px;padding-bottom:60px}
.booking .contact-bg02{padding:30px 34px;border-radius:22px;box-shadow:0 18px 40px -26px rgba(30,27,75,.35)}
.booking .contact-bg02 .section-title h2{font-size:34px;margin:0}
.booking .contact-bg02 .section-title h5{margin-bottom:8px}
.booking .contact-bg02 .mt-30{margin-top:18px !important}
.booking .contact-bg{padding:24px 22px;border-radius:22px;box-shadow:0 18px 40px -26px rgba(30,27,75,.35)}
.booking-img img{max-height:340px;width:auto;margin-left:auto;display:block}
.section-title.mb-50{margin-bottom:36px !important}
.section-title p{margin-top:12px;font-size:16px}
.services-content{padding:24px 26px}
.services-08-item{padding-top:30px;padding-bottom:26px}
.stat{padding:40px 10px}
.marquee{padding:30px 0}
.breadcrumb-area{min-height:300px}
@media (max-width:575px){.booking .contact-bg02{padding:24px 20px}}

/* ---- logo: bigger + vertically centred in the menu bar ---- */
.header-area .logo,.header-area .sticky-menu .logo{width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;line-height:1 !important;display:flex;align-items:center}
.header-area .logo a.veenus-logo{display:flex;align-items:center;margin:0;line-height:1}
.header-area .second-menu .row{align-items:center}
.header-area .second-menu{padding:10px 0}
.veenus-logo img{height:88px !important;width:auto !important;display:block}
.sticky-menu .veenus-logo img{height:66px !important}
.main-menu,.main-menu nav,.main-menu nav>ul{margin:0 !important}
.main-menu nav>ul>li>a{padding-top:0 !important;padding-bottom:0 !important;line-height:1.4 !important}
.top-btn{margin-top:0 !important;margin-bottom:0 !important}
@media (min-width:1200px) and (max-width:1499px){.veenus-logo img{height:74px !important}.sticky-menu .veenus-logo img{height:60px !important}}
@media (max-width:991px){.veenus-logo img{height:64px !important}.sticky-menu .veenus-logo img{height:54px !important}}
@media (min-width:1200px){
  .header-area .second-menu .col-xl-3{flex:0 0 25%;max-width:25%}
  .header-area .second-menu .col-xl-7{flex:0 0 61%;max-width:61%}
  .header-area .second-menu .col-xl-2{flex:0 0 14%;max-width:14%}
}
@media (min-width:1200px) and (max-width:1499px){.veenus-logo img{height:86px !important}.sticky-menu .veenus-logo img{height:68px !important}}
@media (min-width:1500px){.veenus-logo img{height:100px !important}.sticky-menu .veenus-logo img{height:72px !important}}

/* hero eyebrow pill: smaller */
.slider-content > span.hero-eyebrow{font-size:12px;letter-spacing:.1em;padding:7px 16px;gap:8px;margin-bottom:20px}
.hero-eyebrow i{font-size:11px}
@media (max-width:575px){.slider-content > span.hero-eyebrow{font-size:11px;padding:6px 14px}}

/* ---- header overlays the hero (no white gap) + smaller logo ---- */
.header-area.header-three{position:absolute;top:0;left:0;width:100%;z-index:1000}
.header-area #header-sticky{margin-bottom:0 !important;padding-top:0 !important}
.header-area .second-menu{padding:12px 0}
.breadcrumb-area{padding-top:150px}
.veenus-logo img{height:64px !important}
.sticky-menu .veenus-logo img{height:52px !important}
@media (min-width:1500px){.veenus-logo img{height:74px !important}.sticky-menu .veenus-logo img{height:56px !important}}
@media (min-width:1200px) and (max-width:1499px){.veenus-logo img{height:66px !important}.sticky-menu .veenus-logo img{height:52px !important}}
@media (max-width:991px){.veenus-logo img{height:52px !important}.sticky-menu .veenus-logo img{height:46px !important}}

/* ---- amenities: 5 slim cards per row, equal height ---- */
.amen-dark .row.justify-content-center{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:0}
.amen-dark .row.justify-content-center>[class*="col"]{width:auto;max-width:none;flex:none;padding:0}
.amen-dark .services-08-item{height:100%;margin:0 !important;padding:24px 20px 22px !important;display:flex;flex-direction:column}
.amen-dark .services-08-thumb img{height:44px;margin-bottom:14px}
.amen-dark .services-08-content h3,.amen-dark .services-08-content h3 a{font-size:19px;line-height:1.25;margin-bottom:8px}
.amen-dark .services-08-content p{font-size:14.5px;line-height:1.55;margin:0}
.amen-dark .services-icon2{right:-14px;top:-6px;transform-origin:center}
.amen-dark .services-icon2 img{height:90px}
@media (max-width:1199px){.amen-dark .row.justify-content-center{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.amen-dark .row.justify-content-center{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:480px){.amen-dark .row.justify-content-center{grid-template-columns:1fr}}

/* ---- room cards: real gap, smaller, new hover (no blue offset block) ---- */
#services .container{max-width:1140px}
#services .row{margin-left:-14px;margin-right:-14px}
#services .row>[class*="col"]{padding-left:14px;padding-right:14px}
.single-services{margin:0 0 28px !important}
.single-services::before{display:none !important}
.single-services .services-thumb img{width:100%;aspect-ratio:16/10;object-fit:cover}
.services-content{padding:20px 26px 24px !important}
.single-services .day-book{margin-top:-52px;margin-bottom:20px}
.single-services .day-book li{padding:15px 0}
.services-content h4{margin-bottom:10px}
.services-content h4 a{font-size:22px}
.services-content p{font-size:15.5px;line-height:1.65}
.single-services .icon{margin-top:16px}
.room-icons ul{gap:4px 20px}
.room-icons li{font-size:15px;transition:transform .35s var(--ease),color .3s}

/* hover: gradient ring + image sweep + icons hop */
.single-services::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;z-index:4;opacity:0;transition:opacity .4s;
  background:linear-gradient(135deg,#6366f1,#a855f7,#38bdf8);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.single-services:hover::after{opacity:1}
.single-services .services-thumb{position:relative}
.single-services .services-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s var(--ease);pointer-events:none}
.single-services:hover .services-thumb::after{transform:translateX(120%)}
.single-services:hover .room-icons li{transform:translateY(-4px);color:var(--violet)}
.single-services:hover .room-icons li:nth-child(2){transition-delay:.04s}
.single-services:hover .room-icons li:nth-child(3){transition-delay:.08s}
.single-services:hover .room-icons li:nth-child(4){transition-delay:.12s}
.single-services:hover .room-icons li:nth-child(5){transition-delay:.16s}
.single-services:hover .room-icons li:nth-child(6){transition-delay:.2s}
.single-services:hover .room-icons li:nth-child(7){transition-delay:.24s}
.single-services:hover .services-content h4 a{color:var(--primary)}
.single-services:hover .day-book li:last-child{filter:brightness(1.12)}
@media (max-width:767px){#services .container{max-width:100%}}

/* ---- gallery: modern masonry ---- */
.g-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 40px}
.g-filters button{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;transition:all .3s var(--ease)}
.g-filters button em{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--tint);color:var(--primary);transition:inherit}
.g-filters button:hover{border-color:var(--primary-2);color:var(--primary);transform:translateY(-2px)}
.g-filters button.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 12px 26px -10px rgba(79,70,229,.7)}
.g-filters button.active em{background:rgba(255,255,255,.22);color:#fff}
.gallery-modern .g-grid{margin:0 -10px}
.gallery-modern .grid-item{width:33.3333%;padding:10px;box-sizing:border-box;float:left}
.g-card{position:relative;display:block;overflow:hidden;border-radius:22px;background:var(--tint);box-shadow:0 20px 40px -26px rgba(30,27,75,.5)}
.g-card img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.1s var(--ease)}
/* varied heights give the masonry rhythm */
.gallery-modern .grid-item:nth-child(5n+1) .g-card img{aspect-ratio:4/5}
.gallery-modern .grid-item:nth-child(5n+4) .g-card img{aspect-ratio:1/1}
.g-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(30,27,75,.88) 100%);opacity:0;transition:opacity .45s}
.g-card:hover::after{opacity:1}
.g-card:hover img{transform:scale(1.1)}
.g-cap{position:absolute;left:22px;right:70px;bottom:20px;z-index:2;color:#fff;transform:translateY(16px);opacity:0;transition:all .5s var(--ease)}
.g-cap small{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a5b4fc;margin-bottom:2px}
.g-cap b{display:block;font-family:var(--serif);font-size:21px;line-height:1.25;font-weight:600}
.g-zoom{position:absolute;right:18px;bottom:18px;z-index:2;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:16px;transform:scale(.6);opacity:0;transition:all .5s var(--ease)}
.g-card:hover .g-cap{transform:none;opacity:1}
.g-card:hover .g-zoom{transform:none;opacity:1}
.g-card:hover{box-shadow:0 34px 60px -26px rgba(79,70,229,.6)}
@media (min-width:1500px){.gallery-modern .container{max-width:1400px}}
@media (max-width:991px){.gallery-modern .grid-item{width:50%}}
@media (max-width:575px){.gallery-modern .grid-item{width:100%}.g-filters button{padding:9px 16px;font-size:14px}}
@media (hover:none){.g-card::after{opacity:.75}.g-cap,.g-zoom{opacity:1;transform:none}}
.gallery-modern .grid-item{margin:0 !important}
.g-filters button::before{display:none !important}
.g-filters button,.g-filters button.active{border-bottom-width:1.5px}
.g-filters button.active{border-color:transparent;font-weight:600}
/* isotope needs a hair of slack, otherwise 3 x 33.333% does not fit by a fraction of a pixel */
.gallery-modern .grid-item{width:33.2% !important}
@media (max-width:991px){.gallery-modern .grid-item{width:49.8% !important}}
@media (max-width:575px){.gallery-modern .grid-item{width:99.8% !important}}

/* ---- mobile: no sideways scrolling ---- */
html,body{overflow-x:clip}
.enq-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.contact-field,.enq-row>*{min-width:0}
.contact-field input[type="date"]{min-width:0;max-width:100%}
@media (max-width:480px){.enq-row{grid-template-columns:1fr !important}}
