/* ════════════════════════════════════════════════════════════
   LA VIE RENTAL STUDIO — CUSTOM CSS
   ════════════════════════════════════════════════════════════
   How to use in Squarespace:
   1. Copy the entire contents of this file
   2. Go to: Squarespace → Design → Custom CSS
   3. Paste at the bottom of any existing CSS

   All styles are scoped to .lv-rental so they won't conflict
   with Squarespace's own styles. Wrap every section's HTML
   in <div class="lv-rental">...</div>.
   ════════════════════════════════════════════════════════════ */

/* ───── FONTS ───── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&family=Great+Vibes&family=Pinyon+Script&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ───── COLOR TOKENS & CONTAINER ───── */
.lv-rental {
  --gold:#b8860b;
  --gold-light:#d4a843;
  --gold-dark:#8b6914;
  --cream:#2d1f2b;
  --text-light:#4a3548;
  --text-muted:#7a6078;
  --pink-bg:#fff0f3;
  --pink-light:#fff5f7;
  --card-bg:rgba(255,255,255,.55);
  --card-border:rgba(184,134,11,.2);

  position:relative;
  font-family:'Cormorant Garamond', serif;
  color:var(--cream);
  background:var(--pink-bg);
  overflow:hidden;
}

/* Scoped reset — only affects elements inside .lv-rental */
.lv-rental, .lv-rental *, .lv-rental *::before, .lv-rental *::after { box-sizing:border-box; }
.lv-rental * { margin:0; padding:0; }
.lv-rental img { display:block; max-width:100%; height:auto; }
.lv-rental a { text-decoration:none; color:var(--gold); transition:color .3s; }

/* Section IDs get scroll offset so the fixed nav doesn't cover them.
   Bump this higher if your fixed nav + Squarespace header combined is taller. */
.lv-rental section[id]{ scroll-margin-top:160px; }

/* ════════════════════════════════════════════════════════════
   FIXED TOP NAV (sticks at top of viewport across all sections)
   Paste the <nav> HTML into Squarespace's Settings → Advanced →
   Code Injection → Footer (NOT in a Code Block on the page —
   Squarespace section wrappers break position:fixed).
   ════════════════════════════════════════════════════════════ */
.lv-nav{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:99999 !important;
  background:rgba(255,240,243,.95);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(184,134,11,.18);
  box-shadow:0 2px 12px rgba(184,134,11,.08);
  font-family:'Cormorant Garamond', serif;
}
.lv-nav *, .lv-nav *::before, .lv-nav *::after { box-sizing:border-box; margin:0; padding:0; }
.lv-nav a { text-decoration:none; }

.lv-nav-inner{
  max-width:1280px;
  margin:0 auto;
  padding:14px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.lv-nav-btn{
  display:inline-block;
  color:#b8860b !important;
  background:transparent;
  border:1px solid #b8860b;
  padding:11px 22px;
  border-radius:6px;
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.12em;
  font-size:.72rem;
  font-family:'Montserrat', sans-serif !important;
  transition:all .3s;
  white-space:nowrap;
  cursor:pointer;
}
.lv-nav-btn:hover{
  background:#b8860b;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(184,134,11,.25);
}
.lv-nav-cta{
  display:inline-block;
  background:#b8860b;
  color:#fff !important;
  font-family:'Montserrat', sans-serif !important;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.12em;
  padding:11px 22px;
  border-radius:6px;
  text-transform:uppercase;
  white-space:nowrap;
  transition:all .3s;
  border:1px solid #b8860b;
  cursor:pointer;
}
.lv-nav-cta:hover{
  background:#8b6914;
  border-color:#8b6914;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(184,134,11,.3);
}

@media(max-width:900px){
  .lv-nav-inner{ padding:10px 16px; gap:8px; }
  .lv-nav-btn, .lv-nav-cta{ padding:9px 16px; font-size:.66rem; letter-spacing:.08em; }
}
@media(max-width:480px){
  .lv-nav-inner{ padding:8px 10px; gap:6px; }
  .lv-nav-btn, .lv-nav-cta{ padding:8px 12px; font-size:.6rem; letter-spacing:.06em; }
}

/* Background ambience */
.lv-rental::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(184,134,11,.04) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 50%, rgba(255,182,193,.08) 0%, transparent 50%);
  pointer-events:none;
  z-index:0;
}

/* ───── SHARED SECTION HEADERS ───── */
.lv-rental .section-inner{ max-width:1280px; margin:0 auto; }
.lv-rental .section-title{ text-align:center; margin-bottom:60px; position:relative; z-index:1; }
.lv-rental .section-title .title-script{ font-family:'Cinzel',serif !important; font-weight:500 !important; font-size:clamp(.7rem,1.4vw,.9rem); color:var(--gold) !important; display:block; margin-bottom:16px; letter-spacing:.32em; text-transform:uppercase; }
.lv-rental .section-title h2{ font-family:'Cinzel',serif !important; font-weight:500 !important; font-size:clamp(1.8rem,4vw,2.8rem); letter-spacing:.15em; text-transform:uppercase; color:var(--cream) !important; margin-bottom:12px; line-height:1.2; }
.lv-rental .section-title .title-line{ width:60px; height:1px; background:var(--gold); margin:14px auto 16px; }
.lv-rental .section-title p{ font-family:'Cormorant Garamond',serif; font-size:clamp(1rem,1.6vw,1.2rem); color:var(--text-muted); font-style:italic; max-width:620px; margin:0 auto; }

/* ════════════════════════════════════════════════════════════
   HERO SECTION
   ════════════════════════════════════════════════════════════ */
.lv-rental .hero{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; min-height:68vh; padding:8vh 20px 20px; text-align:center; overflow:hidden; z-index:1; }
/* Push hero down on mobile so the fixed wrapping nav doesn't cover the script overlay */
@media(max-width:900px){ .lv-rental .hero{ padding-top:110px; } }
@media(max-width:480px){ .lv-rental .hero{ padding-top:130px; } }
.lv-rental .hero::before{ content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(ellipse at center, rgba(184,134,11,.06) 0%, transparent 60%); animation:pulseGlow 8s ease-in-out infinite; }

.lv-rental .logo-container{ position:relative; z-index:1; margin-bottom:30px; }
.lv-rental .logo-script{ font-family:'Cormorant Garamond',serif !important; font-style:italic; font-weight:400 !important; font-size:clamp(1.2rem,2.2vw,1.7rem); color:var(--gold) !important; letter-spacing:.02em; line-height:1.2; margin-bottom:6px; opacity:0; animation:fadeIn 1.4s ease-out .3s forwards; }
.lv-rental .logo-main{ font-family:'Cinzel',serif; font-weight:600; font-size:clamp(3rem,9vw,7rem); letter-spacing:.04em; background:linear-gradient(135deg,var(--gold-dark) 0%,var(--gold) 30%,var(--gold-light) 50%,var(--gold) 70%,var(--gold-dark) 100%); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 5s linear infinite, fadeInDown 1.4s ease-out .5s forwards; line-height:1.1; text-transform:uppercase; opacity:0; }
.lv-rental .logo-sub{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:clamp(1.1rem,2vw,1.5rem); letter-spacing:.42em; color:var(--gold-dark); margin-top:18px; text-transform:uppercase; opacity:0; animation:fadeInUp 1.2s ease-out .9s forwards; }

.lv-rental .divider-ornament{ position:relative; z-index:1; display:flex; align-items:center; gap:20px; margin-bottom:30px; opacity:0; animation:fadeIn 1s ease-out .8s forwards; }
.lv-rental .divider-line{ width:80px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.lv-rental .divider-diamond{ width:8px; height:8px; background:var(--gold); transform:rotate(45deg); }

.lv-rental .hero-headline{ position:relative; z-index:1; opacity:0; animation:fadeInUp 1.2s ease-out 1s forwards; max-width:900px; }
.lv-rental .hero-headline h1{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:.04em; background:linear-gradient(180deg,#2d1f2b 0%,#4a3548 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1.2; }
.lv-rental .hero-headline h1 em{ font-style:italic; color:var(--gold); -webkit-text-fill-color:var(--gold); }

.lv-rental .hero-contact{ position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin-top:28px; }
.lv-rental .hero-address,
.lv-rental .hero-phone{ display:inline-flex; align-items:center; gap:10px; padding:10px 20px; background:rgba(255,255,255,.6); backdrop-filter:blur(6px); border:1px solid rgba(184,134,11,.28); border-radius:30px; text-decoration:none; font-family:'Montserrat',sans-serif; font-size:clamp(.72rem,1.2vw,.85rem); letter-spacing:.12em; text-transform:uppercase; color:var(--text-light); opacity:0; animation:fadeInUp 1s ease-out 1.4s forwards; transition:all .3s ease; }
.lv-rental .hero-phone{ animation-delay:1.5s; text-transform:none; letter-spacing:.06em; font-weight:500; }
.lv-rental .hero-address:hover,
.lv-rental .hero-phone:hover{ background:rgba(255,255,255,.9); border-color:var(--gold); color:var(--gold-dark); transform:translateY(-2px); box-shadow:0 6px 18px rgba(184,134,11,.16); }
.lv-rental .hero-address .address-pin,
.lv-rental .hero-phone .phone-icon{ width:18px; height:18px; flex:0 0 auto; color:var(--gold); }
.lv-rental .hero-address:hover .address-pin,
.lv-rental .hero-phone:hover .phone-icon{ color:var(--gold-dark); }
@media(max-width:600px){
  .lv-rental .hero-contact{ gap:8px; }
  .lv-rental .hero-address,
  .lv-rental .hero-phone{ padding:9px 16px; gap:8px; letter-spacing:.08em; }
  .lv-rental .hero-phone{ letter-spacing:.04em; }
  .lv-rental .hero-address .address-pin,
  .lv-rental .hero-phone .phone-icon{ width:16px; height:16px; }
}

.lv-rental .hero-socials{ position:relative; z-index:1; display:flex; justify-content:center; gap:14px; margin-top:18px; opacity:0; animation:fadeInUp 1s ease-out 1.5s forwards; }
.lv-rental .hero-social{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.6); backdrop-filter:blur(6px); border:1px solid rgba(184,134,11,.28); color:var(--gold); text-decoration:none; transition:all .3s ease; }
.lv-rental .hero-social:hover{ background:var(--gold); color:#fff; border-color:var(--gold); transform:translateY(-2px); box-shadow:0 6px 18px rgba(184,134,11,.22); }
.lv-rental .hero-social svg{ width:20px; height:20px; }

.lv-rental .hero-perks{ position:relative; z-index:1; margin-top:35px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; opacity:0; animation:fadeInUp 1s ease-out 1.6s forwards; max-width:800px; }
.lv-rental .perk-pill{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.7); border:1px solid rgba(184,134,11,.22); border-radius:24px; padding:10px 18px; font-family:'Montserrat',sans-serif; font-size:.78rem; color:var(--text-light); letter-spacing:.05em; }

.lv-rental .hero-cta{ position:relative; z-index:1; margin-top:40px; display:flex; gap:14px; flex-wrap:wrap; justify-content:center; opacity:0; animation:fadeInUp 1s ease-out 1.8s forwards; }
.lv-rental .btn-primary{ background:var(--gold); color:#fff; font-family:'Montserrat',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.15em; padding:14px 32px; border-radius:6px; text-transform:uppercase; transition:all .3s; border:1px solid var(--gold); cursor:pointer; display:inline-block; }
.lv-rental .btn-primary:hover{ background:var(--gold-dark); border-color:var(--gold-dark); color:#fff; transform:translateY(-2px); box-shadow:0 6px 20px rgba(184,134,11,.25); }
.lv-rental .btn-secondary{ background:transparent; color:var(--gold); font-family:'Montserrat',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.15em; padding:14px 32px; border-radius:6px; text-transform:uppercase; transition:all .3s; border:1px solid var(--gold); cursor:pointer; display:inline-block; }
.lv-rental .btn-secondary:hover{ background:var(--gold); color:#fff; }

.lv-rental .scroll-indicator{ position:relative; z-index:1; margin-top:50px; opacity:0; animation:fadeIn 1s ease-out 2.2s forwards; cursor:pointer; }
.lv-rental .scroll-indicator .arrow{ display:block; width:18px; height:18px; border-right:1px solid var(--gold); border-bottom:1px solid var(--gold); transform:rotate(45deg); animation:bounce 2s ease-in-out infinite; opacity:.5; margin:0 auto; }

/* ════════════════════════════════════════════════════════════
   REVIEWS SECTION (YouTube videos from past renters)
   Single video centers; grid grows to 2–3 columns as more are added.
   ════════════════════════════════════════════════════════════ */
.lv-rental .reviews{ position:relative; z-index:1; padding:80px 20px 60px; }
.lv-rental .review-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:28px; max-width:1180px; margin:0 auto; }
.lv-rental .review-card{ flex:0 1 320px; background:rgba(255,255,255,.55); border:1px solid rgba(184,134,11,.22); border-radius:14px; padding:14px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); box-shadow:0 6px 22px rgba(184,134,11,.08); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.lv-rental .review-card:hover{ transform:translateY(-3px); border-color:var(--gold); box-shadow:0 10px 28px rgba(184,134,11,.16); }
.lv-rental .review-video{ position:relative; aspect-ratio:9/16; width:100%; overflow:hidden; border-radius:10px; background:#000; }
.lv-rental .review-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
/* Optional landscape modifier for regular YouTube videos:
   add class="review-video landscape" to the inner div */
.lv-rental .review-video.landscape{ aspect-ratio:16/9; }
.lv-rental .review-card.landscape{ flex:1 1 480px; max-width:640px; }
@media(max-width:600px){
  .lv-rental .reviews{ padding:60px 16px 40px; }
  .lv-rental .review-grid{ gap:20px; }
  .lv-rental .review-card{ flex:0 1 100%; max-width:340px; padding:10px; }
}

/* ════════════════════════════════════════════════════════════
   PRICING SECTION
   ════════════════════════════════════════════════════════════ */
.lv-rental .pricing{ position:relative; z-index:1; padding:90px 24px; background:linear-gradient(180deg,rgba(255,245,247,.4),rgba(255,240,243,.55) 50%,rgba(255,245,247,.4)); }

.lv-rental .tier-grid{ display:grid; grid-template-columns:repeat(5, minmax(180px, 210px)); justify-content:center; gap:18px; align-items:stretch; max-width:1240px; margin:0 auto; }

.lv-rental .tier-card{ position:relative; background:rgba(255,255,255,.65); backdrop-filter:blur(6px); border:1px solid rgba(184,134,11,.22); border-radius:16px; padding:36px 18px 28px; display:flex; flex-direction:column; text-align:center; transition:all .4s; }
.lv-rental .tier-card:hover{ border-color:rgba(184,134,11,.5); box-shadow:0 10px 30px rgba(184,134,11,.14); transform:translateY(-4px); }

.lv-rental .tier-card .tier-label{ font-family:'Montserrat',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.22em; color:var(--gold); text-transform:uppercase; margin-bottom:18px; }
.lv-rental .tier-card .tier-duration{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.15rem; color:var(--text-muted); margin-bottom:6px; }
.lv-rental .tier-card .tier-price{ font-family:'Cinzel',serif; font-weight:600; font-size:clamp(1.9rem,3vw,2.4rem); background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1.1; margin-bottom:6px; }
.lv-rental .tier-card .tier-unit{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:.9rem; color:var(--text-muted); margin-bottom:22px; }
.lv-rental .tier-card .tier-divider{ width:36px; height:1px; background:var(--gold); opacity:.4; margin:0 auto 18px; }
.lv-rental .tier-card .tier-included{ font-family:'Cormorant Garamond',serif; font-size:.95rem; color:var(--text-light); line-height:1.6; margin-bottom:24px; flex:1; }
.lv-rental .tier-card .tier-cta{ display:inline-block; background:transparent; color:var(--gold); border:1px solid var(--gold); font-family:'Montserrat',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.14em; padding:11px 14px; border-radius:6px; text-transform:uppercase; transition:all .3s; cursor:pointer; }
.lv-rental .tier-card .tier-cta:hover{ background:var(--gold); color:#fff; }

.lv-rental .tier-card.featured{ background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,240,243,.6)); border:2px solid var(--gold); box-shadow:0 14px 40px rgba(184,134,11,.18); transform:translateY(-6px); }
.lv-rental .tier-card.featured:hover{ transform:translateY(-10px); box-shadow:0 18px 50px rgba(184,134,11,.22); }
.lv-rental .tier-card.featured .ribbon{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light)); background-size:200% auto; animation:shimmer 4s linear infinite; color:#fff; font-family:'Montserrat',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; padding:6px 16px; border-radius:20px; white-space:nowrap; box-shadow:0 4px 14px rgba(184,134,11,.3); }
.lv-rental .tier-card.featured .tier-cta{ background:var(--gold); color:#fff; border-color:var(--gold); }
.lv-rental .tier-card.featured .tier-cta:hover{ background:var(--gold-dark); border-color:var(--gold-dark); }

.lv-rental .halfday-wrap{ max-width:1100px; margin:36px auto 0; }
.lv-rental .halfday-card{ position:relative; background:linear-gradient(135deg, rgba(45,31,43,.95), rgba(74,53,72,.95)); border:1px solid rgba(212,168,67,.4); border-radius:18px; padding:42px 50px; display:flex; align-items:center; justify-content:space-between; gap:30px; overflow:hidden; }
.lv-rental .halfday-card::before{ content:''; position:absolute; inset:0; background:radial-gradient(ellipse at top right, rgba(212,168,67,.18), transparent 60%); pointer-events:none; }
.lv-rental .halfday-text{ position:relative; z-index:1; flex:1; }
.lv-rental .halfday-text .halfday-label{ font-family:'Montserrat',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.22em; color:var(--gold-light); text-transform:uppercase; margin-bottom:10px; }
.lv-rental .halfday-text h3{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:clamp(1.5rem,2.8vw,2rem); color:#fff; letter-spacing:.03em; margin-bottom:8px; }
.lv-rental .halfday-text h3 em{ font-style:italic; background:linear-gradient(135deg,var(--gold-light),var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.lv-rental .halfday-text p{ font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:rgba(255,255,255,.75); line-height:1.6; max-width:560px; }
.lv-rental .halfday-cta{ position:relative; z-index:1; display:inline-flex; align-items:center; background:var(--gold); color:#fff!important; font-family:'Montserrat',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.15em; padding:14px 28px; border-radius:6px; text-transform:uppercase; border:1px solid var(--gold); transition:all .3s; white-space:nowrap; }
.lv-rental .halfday-cta:hover{ background:var(--gold-dark); border-color:var(--gold-dark); transform:translateY(-2px); box-shadow:0 8px 22px rgba(184,134,11,.3); color:#fff!important; }

.lv-rental .included-note{ max-width:760px; margin:50px auto 0; padding:24px 30px; background:rgba(255,255,255,.5); border:1px solid rgba(184,134,11,.18); border-radius:14px; text-align:center; }
.lv-rental .included-note .included-title{ font-family:'Montserrat',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.22em; color:var(--gold); text-transform:uppercase; margin-bottom:10px; }
.lv-rental .included-note p{ font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--text-light); line-height:1.7; }
.lv-rental .included-note strong{ color:var(--gold-dark); }

/* ════════════════════════════════════════════════════════════
   TITLE-ONLY SECTIONS (Space, Portfolio, Contact — content added via Squarespace)
   ════════════════════════════════════════════════════════════ */
.lv-rental .space,
.lv-rental .portfolio,
.lv-rental .contact{ position:relative; z-index:1; padding:130px 24px 90px; }
.lv-rental .space{ background:linear-gradient(180deg, rgba(255,240,243,.3), rgba(255,245,247,.5), rgba(255,240,243,.3)); }
.lv-rental .portfolio{ background:linear-gradient(180deg, rgba(255,245,247,.4), rgba(255,240,243,.55), rgba(255,245,247,.4)); }
.lv-rental .contact{ background:linear-gradient(180deg, rgba(255,240,243,.45), rgba(255,245,247,.6) 50%, rgba(255,240,243,.45)); }

/* ════════════════════════════════════════════════════════════
   WHAT'S INCLUDED SECTION
   ════════════════════════════════════════════════════════════ */
.lv-rental .included{ position:relative; z-index:1; padding:130px 24px 90px; background:linear-gradient(180deg, rgba(255,245,247,.5), rgba(255,240,243,.65) 50%, rgba(255,245,247,.5)); }

.lv-rental .included-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  max-width:1100px;
  margin:0 auto;
}
.lv-rental .included-cat{
  background:rgba(255,255,255,.65);
  backdrop-filter:blur(6px);
  border:1px solid rgba(184,134,11,.22);
  border-radius:18px;
  padding:36px 30px 32px;
  transition:all .4s;
}
.lv-rental .included-cat:hover{
  border-color:rgba(184,134,11,.5);
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(184,134,11,.14);
}
.lv-rental .included-cat .cat-label{
  display:inline-block;
  font-family:'Montserrat', sans-serif;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.22em;
  color:var(--gold);
  background:rgba(184,134,11,.1);
  border:1px solid rgba(184,134,11,.25);
  border-radius:20px;
  padding:5px 14px;
  text-transform:uppercase;
  margin-bottom:18px;
}
.lv-rental .included-cat h3{
  font-family:'Cinzel', serif !important;
  font-weight:500;
  font-size:clamp(1.2rem, 2vw, 1.5rem);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--cream);
  margin-bottom:24px;
  line-height:1.2;
}
.lv-rental .included-cat ul{
  list-style:none;
  display:grid;
  gap:10px;
  padding-left:0;
}
.lv-rental .included-cat li{
  font-family:'Cormorant Garamond', serif;
  font-size:1.05rem;
  color:var(--text-light);
  padding-left:24px;
  position:relative;
  line-height:1.5;
}
.lv-rental .included-cat li::before{
  content:'\25C6';
  position:absolute;
  left:0;
  top:3px;
  color:var(--gold);
  font-size:.75rem;
}

.lv-rental .studios-split{ display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:1100px; margin:0 auto 60px; }

.lv-rental .studio-card{ position:relative; background:rgba(255,255,255,.7); backdrop-filter:blur(6px); border:1px solid rgba(184,134,11,.22); border-radius:18px; overflow:hidden; transition:all .4s; display:flex; flex-direction:column; }
.lv-rental .studio-card:hover{ border-color:rgba(184,134,11,.5); transform:translateY(-4px); box-shadow:0 14px 40px rgba(184,134,11,.14); }
.lv-rental .studio-card-img{ aspect-ratio:16/10; overflow:hidden; background:rgba(255,255,255,.4); }
.lv-rental .studio-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.lv-rental .studio-card:hover .studio-card-img img{ transform:scale(1.05); }

.lv-rental .studio-card-body{ padding:32px 28px 30px; }
.lv-rental .studio-card-badge{ display:inline-block; font-family:'Montserrat',sans-serif; font-size:.65rem; font-weight:600; letter-spacing:.18em; color:var(--gold); background:rgba(184,134,11,.1); border:1px solid rgba(184,134,11,.25); border-radius:20px; padding:5px 14px; text-transform:uppercase; margin-bottom:14px; }
.lv-rental .studio-card h3{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(1.4rem,2.2vw,1.7rem); color:var(--cream); margin-bottom:8px; letter-spacing:.02em; }
.lv-rental .studio-card .studio-tagline{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold); margin-bottom:18px; font-size:1.05rem; }
.lv-rental .studio-card p{ font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--text-light); line-height:1.7; margin-bottom:0; }

.lv-rental .equipment-title{ font-family:'Montserrat',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.18em; color:var(--text-muted); text-transform:uppercase; margin-top:22px; margin-bottom:12px; border-top:1px solid rgba(184,134,11,.15); padding-top:20px; }
.lv-rental .equipment-list{ list-style:none; display:grid; gap:8px; padding-left:0; }
.lv-rental .equipment-list li{ font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--text-light); padding-left:22px; position:relative; line-height:1.5; }
.lv-rental .equipment-list li::before{ content:'\25C6'; position:absolute; left:0; top:2px; color:var(--gold); font-size:.7rem; }

/* Gallery grid */
.lv-rental .space-gallery{ display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; max-width:1200px; margin:0 auto; }
.lv-rental .gallery-item{ position:relative; overflow:hidden; border-radius:12px; cursor:pointer; background:rgba(255,255,255,.4); border:1px solid rgba(184,134,11,.12); aspect-ratio:3/4; transition:all .4s; display:block; }
.lv-rental .gallery-item:hover{ border-color:rgba(184,134,11,.4); box-shadow:0 8px 24px rgba(184,134,11,.18); transform:translateY(-3px); }
.lv-rental .gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.lv-rental .gallery-item:hover img{ transform:scale(1.06); }
.lv-rental .gallery-item::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 60%, rgba(45,31,43,.5) 100%); opacity:0; transition:opacity .3s; pointer-events:none; }
.lv-rental .gallery-item:hover::after{ opacity:1; }

/* ════════════════════════════════════════════════════════════
   ANIMATIONS (must live at top level — applied via class)
   ════════════════════════════════════════════════════════════ */
@keyframes pulseGlow{ 0%,100%{ opacity:.5; transform:scale(1); } 50%{ opacity:1; transform:scale(1.05); } }
@keyframes shimmer{ 0%{ background-position:0% center; } 100%{ background-position:200% center; } }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes fadeInUp{ from{ opacity:0; transform:translateY(30px); } to{ opacity:1; transform:translateY(0); } }
@keyframes fadeInDown{ from{ opacity:0; transform:translateY(-20px); } to{ opacity:1; transform:translateY(0); } }
@keyframes bounce{ 0%,100%{ transform:rotate(45deg) translateY(0); opacity:.5; } 50%{ transform:rotate(45deg) translateY(8px); opacity:1; } }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .lv-rental .tier-grid{ grid-template-columns:repeat(3, minmax(180px, 220px)); max-width:760px; }
  .lv-rental .tier-card.featured{ transform:translateY(0); }
}
@media(max-width:900px){
  .lv-rental .studios-split{ grid-template-columns:1fr; gap:24px; max-width:520px; }
  .lv-rental .space-gallery{ grid-template-columns:repeat(3, 1fr); }
}
@media(max-width:700px){
  .lv-rental .hero{ min-height:62vh; padding:6vh 20px 16px; }
  .lv-rental .pricing{ padding:60px 18px; }
  .lv-rental .space{ padding:100px 18px 60px; }
  .lv-rental .portfolio{ padding:100px 18px 60px; }
  .lv-rental .contact{ padding:100px 18px 60px; }
  .lv-rental .included{ padding:100px 18px 60px; }
  .lv-rental .included-grid{ grid-template-columns:1fr; gap:16px; max-width:420px; }
  .lv-rental .included-cat{ padding:28px 24px 24px; }
  .lv-rental .space-gallery{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .lv-rental .studio-card-body{ padding:24px 22px 26px; }
  .lv-rental .tier-grid{ grid-template-columns:minmax(0, 320px); max-width:420px; gap:14px; }
  .lv-rental .tier-card{ padding:30px 22px 26px; }
  .lv-rental .halfday-card{ flex-direction:column; align-items:flex-start; padding:32px 26px; gap:22px; }
  .lv-rental .halfday-cta{ align-self:stretch; justify-content:center; }
  .lv-rental .included-note{ padding:20px 22px; }
}
@media(max-width:480px){
  .lv-rental .perk-pill{ font-size:.7rem; padding:8px 14px; }
  .lv-rental .hero-cta{ flex-direction:column; width:100%; max-width:280px; }
  .lv-rental .hero-cta .btn-primary,
  .lv-rental .hero-cta .btn-secondary{ width:100%; }
  .lv-rental .section-title{ margin-bottom:40px; }
}

/* ════════════════════════════════════════════════════════════
   NETLIFY-SPECIFIC ADDITIONS
   (Gallery grids for portfolio, contact form, footer, lightbox)
   ════════════════════════════════════════════════════════════ */

/* Portfolio gallery — 40 photos in a 5-column grid (responsive) */
.lv-rental .portfolio-gallery{ display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; max-width:1280px; margin:0 auto; }
@media(max-width:1100px){ .lv-rental .portfolio-gallery{ grid-template-columns:repeat(4, 1fr); } }
@media(max-width:800px){ .lv-rental .portfolio-gallery{ grid-template-columns:repeat(3, 1fr); gap:10px; } }
@media(max-width:520px){ .lv-rental .portfolio-gallery{ grid-template-columns:repeat(2, 1fr); gap:8px; } }

/* Contact form */
.lv-rental .contact-form{ max-width:640px; margin:0 auto; background:rgba(255,255,255,.55); backdrop-filter:blur(6px); border:1px solid rgba(184,134,11,.22); border-radius:18px; padding:42px 36px; }
.lv-rental .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lv-rental .form-field{ display:flex; flex-direction:column; margin-bottom:18px; }
.lv-rental .form-field span{ font-family:'Montserrat', sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.15em; color:var(--gold); text-transform:uppercase; margin-bottom:8px; }
.lv-rental .form-field input,
.lv-rental .form-field textarea{ font-family:'Cormorant Garamond', serif; font-size:1.05rem; color:var(--cream); background:rgba(255,255,255,.7); border:1px solid rgba(184,134,11,.25); border-radius:8px; padding:12px 14px; outline:none; transition:all .3s; width:100%; }
.lv-rental .form-field input:focus,
.lv-rental .form-field textarea:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,134,11,.12); background:#fff; }
.lv-rental .form-field textarea{ resize:vertical; min-height:120px; line-height:1.5; font-family:'Cormorant Garamond', serif; }
.lv-rental .form-submit{ display:block; margin:24px auto 0; background:var(--gold); color:#fff !important; font-family:'Montserrat', sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.15em; padding:14px 38px; border-radius:6px; text-transform:uppercase; transition:all .3s; border:1px solid var(--gold); cursor:pointer; }
.lv-rental .form-submit:hover{ background:var(--gold-dark); border-color:var(--gold-dark); transform:translateY(-2px); box-shadow:0 6px 20px rgba(184,134,11,.25); }
.lv-rental .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
.lv-rental .form-thanks{ display:none; max-width:640px; margin:0 auto; text-align:center; padding:32px 24px; background:rgba(232,245,236,.6); border:1px solid rgba(74,140,92,.3); border-radius:14px; font-family:'Cormorant Garamond', serif; font-size:1.15rem; color:var(--green, #4a8c5c); }
.lv-rental .form-thanks.show{ display:block; }
.lv-rental .form-thanks p{ margin:0; }
@media(max-width:600px){
  .lv-rental .contact-form{ padding:32px 22px; }
  .lv-rental .form-row{ grid-template-columns:1fr; gap:0; }
}

/* Footer */
.lv-rental .lv-footer{ text-align:center; padding:60px 20px 50px; border-top:1px solid rgba(184,134,11,.15); position:relative; z-index:1; background:rgba(255,240,243,.45); }
.lv-rental .footer-logo{ font-family:'Cinzel', serif; font-weight:600; font-size:1.1rem; letter-spacing:.25em; background:linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-light)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; text-transform:uppercase; margin-bottom:14px; }
.lv-rental .footer-divider{ display:flex; align-items:center; justify-content:center; gap:14px; margin:18px 0; }
.lv-rental .footer-divider .line{ width:50px; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); }
.lv-rental .footer-divider .diamond{ width:6px; height:6px; background:var(--gold); transform:rotate(45deg); }
.lv-rental .lv-footer p{ font-family:'Cormorant Garamond', serif; font-size:1rem; color:var(--text-muted); font-style:italic; margin:8px 0; }
.lv-rental .lv-footer .small{ font-family:'Montserrat', sans-serif; font-size:.7rem; letter-spacing:.18em; color:var(--text-muted); text-transform:uppercase; font-style:normal; margin-top:24px; }

/* ════════════════════════════════════════════════════════════
   LIGHTBOX
   ════════════════════════════════════════════════════════════ */
.lb-modal{ position:fixed; inset:0; background:rgba(45,31,43,.94); z-index:99998; display:none; align-items:center; justify-content:center; padding:30px; backdrop-filter:blur(10px); }
.lb-modal.active{ display:flex; }
.lb-img{ max-width:95vw; max-height:85vh; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.5); object-fit:contain; }
.lb-close{ position:absolute; top:24px; right:32px; background:transparent; border:1px solid rgba(255,255,255,.4); color:#fff; width:48px; height:48px; border-radius:50%; font-size:1.6rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .3s; line-height:1; padding:0; }
.lb-close:hover{ background:rgba(255,255,255,.15); border-color:#fff; transform:rotate(90deg); }
.lb-nav{ position:absolute; top:50%; transform:translateY(-50%); background:transparent; border:1px solid rgba(255,255,255,.4); color:#fff; width:54px; height:54px; border-radius:50%; font-size:1.5rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .3s; padding:0; }
.lb-nav:hover{ background:rgba(255,255,255,.15); border-color:#fff; }
.lb-prev{ left:30px; }
.lb-next{ right:30px; }
.lb-caption{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.7); font-family:'Montserrat', sans-serif; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; }
@media(max-width:600px){
  .lb-prev{ left:14px; width:44px; height:44px; font-size:1.2rem; }
  .lb-next{ right:14px; width:44px; height:44px; font-size:1.2rem; }
  .lb-close{ top:14px; right:14px; width:40px; height:40px; font-size:1.3rem; }
  .lb-img{ max-height:80vh; }
}

/* ════════════════════════════════════════════════════════════
   STANDALONE PAGE-LEVEL ADJUSTMENTS
   (only needed when site lives outside Squarespace)
   ════════════════════════════════════════════════════════════ */
html { scroll-behavior:smooth; }
body { margin:0; padding-top:62px; background:var(--pink-bg, #fff0f3); }

/* Tighten section[id] scroll offset for Netlify (no Squarespace header to clear) */
.lv-rental section[id]{ scroll-margin-top:78px !important; }

/* Reduce the title-only section top-padding since we no longer have Squarespace's 80px header pushing content down */
.lv-rental .space,
.lv-rental .portfolio,
.lv-rental .contact,
.lv-rental .included{ padding-top:80px !important; }
@media(max-width:700px){
  .lv-rental .space,
  .lv-rental .portfolio,
  .lv-rental .contact,
  .lv-rental .included{ padding-top:60px !important; }
}

/* ════════════════════════════════════════════════════════════
   MASONRY PORTFOLIO GALLERY (upgrade from uniform grid)
   ════════════════════════════════════════════════════════════ */

/* Override the inherited uniform-grid behavior for portfolio items */
.lv-rental .portfolio-gallery{
  column-count:4;
  column-gap:14px;
  max-width:1320px;
  margin:0 auto;
  display:block;
  grid-template-columns:none;
}
.lv-rental .portfolio-gallery .gallery-item{
  display:block;
  break-inside:avoid;
  margin:0 0 14px 0;
  position:relative;
  overflow:hidden;
  border-radius:6px;
  cursor:pointer;
  border:none;
  background:transparent;
  aspect-ratio:auto;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s;
}
.lv-rental .portfolio-gallery .gallery-item img{
  width:100%;
  height:auto;
  display:block;
  object-fit:initial;
  aspect-ratio:auto;
  transition:transform .9s cubic-bezier(.2,.8,.2,1), filter .5s;
  filter:brightness(.98) saturate(.95);
}
.lv-rental .portfolio-gallery .gallery-item:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(45,31,43,.25);
  z-index:2;
}
.lv-rental .portfolio-gallery .gallery-item:hover img{
  transform:scale(1.05);
  filter:brightness(1.04) saturate(1.05);
}
/* Subtle dark gradient overlay on hover for premium feel */
.lv-rental .portfolio-gallery .gallery-item::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(45,31,43,.55) 100%);
  opacity:0;
  transition:opacity .5s;
  pointer-events:none;
  border-radius:6px;
}
.lv-rental .portfolio-gallery .gallery-item:hover::after{ opacity:1; }

/* Scroll-triggered fade-in (powered by JS in lightbox.js) */
.lv-rental .portfolio-gallery .gallery-item{
  opacity:0;
  transform:translateY(24px);
}
.lv-rental .portfolio-gallery .gallery-item.in-view{
  opacity:1;
  transform:translateY(0);
}

/* Responsive masonry */
@media(max-width:1100px){
  .lv-rental .portfolio-gallery{ column-count:3; max-width:980px; }
}
@media(max-width:800px){
  .lv-rental .portfolio-gallery{ column-count:3; column-gap:10px; }
  .lv-rental .portfolio-gallery .gallery-item{ margin-bottom:10px; }
}
@media(max-width:520px){
  .lv-rental .portfolio-gallery{ column-count:2; column-gap:8px; }
  .lv-rental .portfolio-gallery .gallery-item{ margin-bottom:8px; }
}

/* ════════════════════════════════════════════════════════════
   SPACE SLIDESHOW (replaces .space-gallery grid)
   ════════════════════════════════════════════════════════════ */
.lv-rental .space-slideshow{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  overflow:hidden;
  background:rgba(255,240,243,.4);
  border:1px solid rgba(184,134,11,.15);
  border-radius:6px;
}
.lv-rental .space-slideshow .slideshow-track{
  display:flex;
  width:100%;
  transition:transform .8s cubic-bezier(.5,0,.1,1);
}
/* Override base .gallery-item styles inside the slideshow */
.lv-rental .space-slideshow .gallery-item.slide{
  flex:0 0 100%;
  width:100%;
  aspect-ratio:16/10;
  position:relative;
  overflow:hidden;
  border:none !important;
  border-radius:0 !important;
  background:rgba(255,240,243,.4);
  margin:0;
  transition:none;
  transform:none !important;
}
.lv-rental .space-slideshow .gallery-item.slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.lv-rental .space-slideshow .gallery-item.slide:hover{ transform:none !important; box-shadow:none !important; }
.lv-rental .space-slideshow .gallery-item.slide:hover img{ transform:none !important; }
.lv-rental .space-slideshow .gallery-item.slide::after{ display:none !important; }

/* Prev / Next arrow buttons */
.lv-rental .slide-prev,
.lv-rental .slide-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(45,31,43,.55);
  color:#fff;
  border:none;
  width:48px;
  height:48px;
  border-radius:50%;
  cursor:pointer;
  z-index:5;
  font-size:1.1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .3s;
  padding:0;
  line-height:1;
}
.lv-rental .slide-prev:hover,
.lv-rental .slide-next:hover{
  background:rgba(45,31,43,.85);
  transform:translateY(-50%) scale(1.08);
}
.lv-rental .slide-prev{ left:18px; }
.lv-rental .slide-next{ right:18px; }

/* Dot indicators */
.lv-rental .slide-dots{
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:5;
}
.lv-rental .slide-dots button{
  width:9px;
  height:9px;
  border-radius:50%;
  background:rgba(255,255,255,.5);
  border:none;
  cursor:pointer;
  padding:0;
  transition:all .35s ease;
}
.lv-rental .slide-dots button.active{
  background:var(--gold-light, #d4a843);
  width:24px;
  border-radius:5px;
}
.lv-rental .slide-dots button:hover{ background:rgba(255,255,255,.85); }

@media(max-width:700px){
  .lv-rental .space-slideshow .gallery-item.slide{ aspect-ratio:4/3; }
  .lv-rental .slide-prev, .lv-rental .slide-next{ width:40px; height:40px; font-size:1rem; }
  .lv-rental .slide-prev{ left:10px; }
  .lv-rental .slide-next{ right:10px; }
}

/* ════════════════════════════════════════════════════════════
   PORTFOLIO GALLERY: tighter spacing, no rounded corners
   ════════════════════════════════════════════════════════════ */
.lv-rental .portfolio-gallery{
  column-gap:7px !important;
}
.lv-rental .portfolio-gallery .gallery-item{
  margin:0 0 7px 0 !important;
  border-radius:0 !important;
}
.lv-rental .portfolio-gallery .gallery-item::after{
  border-radius:0 !important;
}
@media(max-width:800px){
  .lv-rental .portfolio-gallery{ column-gap:5px !important; }
  .lv-rental .portfolio-gallery .gallery-item{ margin-bottom:5px !important; }
}
@media(max-width:520px){
  .lv-rental .portfolio-gallery{ column-gap:4px !important; }
  .lv-rental .portfolio-gallery .gallery-item{ margin-bottom:4px !important; }
}
