/*
Theme Name: La Clé
Theme URI: https://laclegroup.com
Author: La Clé
Description: Custom WordPress theme for La Clé — Mykonos · Montenegro · Croatia. Converted from static HTML.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: la-cle
*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#f0ebe0;
  --dark-brown:#3a2a0a;
  --brown:#5c3d0e;
  --teal:#2e6b65;
  --text:#1a1209;
  --light-text:#6b5a3a;
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(0,0,0,0.35),transparent);transition:background 0.4s}
nav.scrolled{background:rgba(240,235,224,0.96);backdrop-filter:blur(12px);box-shadow:0 1px 20px rgba(58,42,10,0.08)}
nav.scrolled .nav-links a{color:var(--dark-brown)}
nav.scrolled .hamburger span{background:var(--dark-brown)}
.nav-logo{display:none}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{color:rgba(255,255,255,0.9);text-decoration:none;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;transition:opacity 0.2s}
.nav-links a:hover{opacity:0.6}
.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.hamburger span{display:block;width:26px;height:2px;background:white;border-radius:2px;transition:all 0.35s ease;transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* MOBILE DRAWER */
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:98}
.mobile-overlay.open{display:block}
.mobile-menu{position:fixed;top:0;right:-100%;width:min(320px,85vw);height:100vh;background:var(--dark-brown);z-index:99;display:flex;flex-direction:column;justify-content:center;padding:4rem 3rem;transition:right 0.45s cubic-bezier(0.77,0,0.175,1)}
.mobile-menu.open{right:0}
.mobile-menu-logo{margin-bottom:3rem}
.mobile-menu a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:1.6rem;font-family:'Cormorant Garamond',serif;font-weight:300;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,0.08);transition:color 0.2s,padding-left 0.2s;display:block}
.mobile-menu a:hover{color:white;padding-left:0.5rem}
.mobile-menu a:last-child{border-bottom:none}

/* HERO */
#hero{height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;overflow:hidden;animation:heroZoom 20s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,2,0.7) 0%,rgba(20,12,2,0.2) 50%,transparent 100%)}
.hero-content{position:relative;z-index:2;padding:0 6rem 8rem;animation:heroFadeUp 1.4s ease both}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.hero-tag{font-size:0.7rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-bottom:1rem}
.hero-title{font-family:'Caveat',cursive;font-size:clamp(5rem,12vw,10rem);color:white;line-height:0.9;letter-spacing:-2px;margin-bottom:1.5rem}
.hero-destinations{font-family:'Caveat',cursive;font-size:1.4rem;color:rgba(255,255,255,0.75);letter-spacing:3px}
.hero-scroll{position:absolute;bottom:3rem;right:4rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.6);font-size:0.65rem;letter-spacing:2px;text-transform:uppercase}
.scroll-line{width:1px;height:60px;background:rgba(255,255,255,0.4);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(0.6)}}

/* SECTIONS */
section{padding:8rem 6rem}
.section-label{font-family:'Caveat',cursive;font-size:2.5rem;color:var(--dark-brown);margin-bottom:4rem;text-align:center}

/* DESTINATIONS */
#destinations{background:var(--cream)}
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.dest-card{background:var(--dark-brown);border-radius:20px;padding:3.5rem 2.5rem;text-align:center;cursor:pointer;transition:transform 0.3s,box-shadow 0.3s}
.dest-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(58,42,10,0.25)}
.dest-card-tag{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:1rem}
.dest-card-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:white;font-weight:300;line-height:1.1}
.dest-card-arrow{margin-top:2rem;width:36px;height:36px;border:1px solid rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:auto;color:white;transition:background 0.2s}
.dest-card:hover .dest-card-arrow{background:rgba(255,255,255,0.1)}

/* ABOUT */
#about{background:#e8e0d0;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.about-text .section-label{text-align:left;margin-bottom:2rem}
.about-body{font-family:'Cormorant Garamond',serif;font-size:1.15rem;line-height:1.9;color:var(--brown)}
.about-body p+p{margin-top:1.2rem}
.about-body strong{color:var(--dark-brown);font-style:italic}
.about-visual{display:flex;justify-content:center;align-items:center}
.palm-illustration{width:380px;opacity:0.85;filter:drop-shadow(0 20px 40px rgba(58,42,10,0.15));animation:palmSway 8s ease-in-out infinite;transform-origin:bottom center}
@keyframes palmSway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1.5deg)}}

/* CONCIERGE */
#concierge{background:var(--dark-brown);padding:8rem 6rem}
.concierge-inner{max-width:900px;margin:0 auto;text-align:center}
.concierge-tag{font-size:0.7rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:1.2rem}
.concierge-title{font-family:'Caveat',cursive;font-size:3rem;color:white;margin-bottom:3rem}
.concierge-body{font-family:'Cormorant Garamond',serif;font-size:1.15rem;line-height:2;color:rgba(255,255,255,0.75);text-align:left}
.concierge-body p{margin-bottom:1.5rem}
.concierge-footer{border-top:1px solid rgba(255,255,255,0.1);padding-top:2.5rem;margin-top:1rem}
.concierge-footer p{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:rgba(255,255,255,0.6);margin-bottom:0.5rem}
.concierge-footer strong{font-family:'Caveat',cursive;font-size:2.2rem;color:white;display:block}

/* MEMBERSHIP */
#membership{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.membership-visual{background:var(--dark-brown);border-radius:24px;padding:5rem 4rem;text-align:center}
.membership-icon{font-size:5rem;margin-bottom:2rem;display:block}
.membership-visual-title{font-family:'Caveat',cursive;font-size:3rem;color:white;margin-bottom:1rem}
.membership-visual-sub{color:rgba(255,255,255,0.5);font-size:0.75rem;letter-spacing:2px;text-transform:uppercase}
.membership-text .section-label{text-align:left}
.membership-desc{font-family:'Cormorant Garamond',serif;font-size:1.2rem;line-height:1.8;color:var(--brown);margin-bottom:3rem}
.btn-primary{display:inline-block;background:var(--dark-brown);color:white;padding:1.1rem 3rem;border-radius:50px;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background 0.2s,transform 0.2s;font-family:'Jost',sans-serif}
.btn-primary:hover{background:var(--brown);transform:translateY(-2px)}

/* TEAM */
#team{background:#e8e0d0;text-align:center}
.team-grid{display:flex;justify-content:center;gap:6rem;margin-top:4rem}
.team-card{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.team-photo{width:180px;height:180px;border-radius:50%;border:3px solid var(--teal);object-fit:cover;overflow:hidden;background:#ccc;display:flex;align-items:center;justify-content:center;font-size:3rem}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--dark-brown);font-weight:500}
.team-role{font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--light-text)}

/* FOOTER */
footer{background:var(--cream);padding:6rem 6rem 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-bottom:5rem;border-bottom:1px solid rgba(58,42,10,0.1)}
.contact-item{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 0;border-bottom:1px solid rgba(58,42,10,0.08);text-decoration:none;color:var(--text);transition:color 0.2s}
.contact-item:hover{color:var(--brown)}
.contact-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.icon-wa{background:#25D366;color:white}
.icon-ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:white}
.icon-li{background:#0077B5;color:white;font-weight:bold;font-size:0.8rem}
.icon-em{background:#1a1209;color:white}
.contact-text{font-size:0.9rem}
.footer-bottom{padding:2.5rem 0;display:flex;justify-content:space-between;align-items:center}
.footer-logo img{height:48px;width:auto}
.footer-copy{font-size:0.7rem;letter-spacing:1px;color:var(--light-text)}

/* WHATSAPP FLOAT - mobile only */
.whatsapp-float{position:fixed;bottom:2rem;right:2rem;z-index:90;width:58px;height:58px;background:#25D366;border-radius:50%;display:none;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);text-decoration:none;font-size:1.6rem;transition:transform 0.2s;animation:waPulse 2.5s ease-in-out infinite}
@keyframes waPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.4)}50%{box-shadow:0 4px 30px rgba(37,211,102,0.7)}}
.whatsapp-float:hover{transform:scale(1.1)}

/* MODALS */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,12,2,0.75);backdrop-filter:blur(6px);z-index:200;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal-box{background:var(--cream);border-radius:24px;width:90%;max-width:520px;overflow:hidden;position:relative;box-shadow:0 40px 80px rgba(0,0,0,0.4);animation:modalIn 0.4s cubic-bezier(0.34,1.56,0.64,1) both}
@keyframes modalIn{from{opacity:0;transform:scale(0.88) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-close{position:absolute;top:1rem;right:1rem;z-index:10;background:rgba(0,0,0,0.35);border:none;color:white;width:36px;height:36px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.modal-close:hover{background:rgba(0,0,0,0.6)}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--dark-brown);font-weight:300;text-align:center;padding:1.8rem 1.8rem 0;letter-spacing:1px}
.villa-card{background:var(--dark-brown);border-radius:20px;margin:1.2rem;overflow:hidden}
.villa-img-wrap{position:relative;height:240px;background:#111;overflow:hidden}
.villa-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.villa-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1209,#3a2a0a);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.5rem}
.villa-placeholder span{font-size:3rem}
.villa-placeholder p{color:rgba(255,255,255,0.3);font-size:0.7rem;letter-spacing:2px;text-transform:uppercase}
.slider-arrows{position:absolute;bottom:1rem;left:0;right:0;display:flex;justify-content:space-between;padding:0 1rem}
.arrow-btn{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,0.45);border:1.5px solid rgba(255,255,255,0.6);color:white;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;backdrop-filter:blur(4px)}
.arrow-btn:hover{background:rgba(0,0,0,0.7)}
.slider-dots{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.35);cursor:pointer;transition:background 0.2s,transform 0.2s}
.dot.active{background:white;transform:scale(1.3)}
.villa-info{padding:1.4rem 1.8rem 1.8rem}
.villa-counter{font-size:0.65rem;letter-spacing:2px;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.3rem}
.villa-name{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:white;font-weight:500;margin-bottom:0.2rem}
.villa-location{font-size:0.8rem;color:rgba(255,255,255,0.5);letter-spacing:1px;margin-bottom:1.4rem}
.btn-inquire{display:block;background:#b8960c;color:white;text-align:center;padding:1rem 2rem;border-radius:50px;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;width:100%;font-family:'Jost',sans-serif;transition:background 0.2s,transform 0.2s}
.btn-inquire:hover{background:#9a7c08;transform:translateY(-1px)}

/* FORM */
.form-overlay{display:none;position:fixed;inset:0;background:rgba(20,12,2,0.8);backdrop-filter:blur(8px);z-index:300;align-items:center;justify-content:center}
.form-overlay.active{display:flex}
.form-box{background:var(--cream);border-radius:24px;width:90%;max-width:480px;padding:3rem 2.5rem;position:relative;box-shadow:0 40px 80px rgba(0,0,0,0.4);animation:modalIn 0.4s cubic-bezier(0.34,1.56,0.64,1) both}
.form-close{position:absolute;top:1rem;right:1rem;background:rgba(58,42,10,0.1);border:none;color:var(--dark-brown);width:36px;height:36px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.form-close:hover{background:rgba(58,42,10,0.2)}
.form-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--dark-brown);font-weight:400;margin-bottom:0.3rem}
.form-subtitle{font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--light-text);margin-bottom:2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1rem}
.form-group.half{margin-bottom:0}
.form-group label{font-size:0.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--light-text)}
.form-group input{background:white;border:1px solid rgba(58,42,10,0.15);border-radius:10px;padding:0.75rem 1rem;font-family:'Jost',sans-serif;font-size:0.9rem;color:var(--text);outline:none;transition:border-color 0.2s;width:100%}
.form-group input:focus{border-color:var(--dark-brown)}
.btn-submit{width:100%;background:var(--dark-brown);color:white;border:none;padding:1rem;border-radius:50px;font-family:'Jost',sans-serif;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;margin-top:0.5rem;transition:background 0.2s,transform 0.2s}
.btn-submit:hover{background:var(--brown);transform:translateY(-1px)}
.form-success{text-align:center;padding:2rem 0;display:none}
.form-success .success-icon{font-size:3rem;margin-bottom:1rem}
.form-success p{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--dark-brown)}
.form-success span{font-size:0.75rem;color:var(--light-text);display:block;margin-top:0.5rem}

/* FADE IN */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(min-width:901px){
  .whatsapp-float{display:none!important}
}
@media(max-width:900px){
  nav{padding:1.5rem 2rem}
  .nav-links{display:none}
  .nav-logo{display:flex}
  .hamburger{display:flex}
  .whatsapp-float{display:flex}
  section{padding:5rem 2rem}
  #concierge{padding:5rem 2rem}
  .hero-content{padding:0 2rem 6rem}
  .hero-title{font-size:clamp(4rem,18vw,6rem)}
  .dest-grid{grid-template-columns:1fr}
  #about,#membership{grid-template-columns:1fr;gap:3rem}
  .about-visual{display:none}
  .team-grid{flex-direction:column;gap:3rem}
  .contact-grid{grid-template-columns:1fr;gap:0}
  footer{padding:4rem 2rem 0}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
}
