/*
Theme Name: Curvy & Curly 3
Author: Ash
Description: Pastel green, cream, white and black redesign for Curvy & Curly. Single-page theme, fully editable via the WordPress Customizer — photos, rates, virtual menu, what to expect, reviews and contact details.
Version: 3.0
Requires PHP: 7.4
*/

:root{
  --plum:#1E1E1C; --plum-2:#2C2C2A; --pastel:#DCE8D6; --pastel-line:#C7D7C1; --cream:#F7F3EC; --cream-2:#FCFAF6;
  --sage:#48634E; --rose-soft:#EAF1E6; --rose-line:#D3E0CD;
  --ink:#22221F; --ink-soft:#5C5C56; --ink-faint:#98988F; --line:#E7E3D8;
  --serif:'Cormorant Garamond',serif; --sans:'Karla',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.7;}
img{display:block;width:100%;height:auto;}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;}
.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--sage);font-weight:600;display:inline-block;}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;}
.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:.3px;cursor:pointer;border:none;}
.btn-gold{background:var(--sage);color:#fff;}
.btn-ghost{border:1px solid #7A9480;color:#33473A;background:transparent;}
.btn-plum{background:var(--plum);color:#F4F1EA;}

/* nav */
.site-nav{position:sticky;top:0;z-index:20;background:rgba(247,243,236,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px;}
.logo{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.5px;color:var(--ink);text-decoration:none;}
.logo span{color:var(--sage);}
.nav-links{display:flex;gap:26px;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;}
.nav-links a{color:var(--ink-soft);text-decoration:none;}
.nav-links a:hover{color:var(--sage);}
.site-nav .btn{padding:9px 18px;font-size:13px;}
.nav-toggle{display:none;background:none;border:none;font-size:24px;color:var(--ink);cursor:pointer;}

/* hero */
.hero{background:var(--pastel);color:#26332A;padding:80px 0;}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
.hero h1{font-size:52px;color:#1E1E1C;margin:16px 0 18px;}
.hero h1 em{color:var(--sage);}
.hero p.lead{color:#54685A;font-size:16px;max-width:400px;margin-bottom:30px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
.hero-photo{border-radius:18px 90px 18px 18px;overflow:hidden;border:1px solid #B9CDB4;}
.hero-photo img{max-height:540px;object-fit:cover;object-position:top;}
.hero-note{margin-top:14px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#7C947F;text-align:right;}

/* about */
.about{padding:90px 0;}
.about-grid{display:grid;grid-template-columns:340px 1fr;gap:60px;align-items:center;}
.about-photo{border-radius:170px 170px 16px 16px;overflow:hidden;}
.about h2{font-size:36px;margin:12px 0 16px;}
.about p{color:var(--ink-soft);font-size:15px;max-width:520px;}
.about .rules{display:flex;gap:22px;margin-top:26px;flex-wrap:wrap;}
.rule{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ink-soft);}
.rule b{color:var(--sage);font-size:16px;}

/* rates */
.rates{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:90px 0;}
.sec-head{text-align:center;margin-bottom:44px;}
.sec-head h2{font-size:36px;margin-top:10px;}
.rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rate-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;display:flex;flex-direction:column;}
.rate-card h3{font-size:24px;}
.rate-card .sub{font-size:13px;color:var(--ink-faint);margin:4px 0 20px;}
.row{display:flex;justify-content:space-between;font-size:14.5px;padding:9px 0;border-bottom:1px dashed var(--line);}
.row:last-of-type{border-bottom:none;}
.row .p{font-weight:600;}
.rate-card .btn{margin-top:22px;text-align:center;}
.rate-card .btn:first-of-type{margin-top:auto;}
.featured{background:var(--plum);color:#F4F1EA;border:none;position:relative;}
.featured h3{color:#F4F1EA;}
.featured .sub{color:#B9B9B2;}
.featured .row{border-color:#3B3B38;}
.featured .row span:first-child{color:#B9B9B2;}
.featured .row .p{color:#BFD5BC;}
.flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--pastel);color:#1E1E1C;font-size:11px;font-weight:600;letter-spacing:1.5px;padding:5px 16px;border-radius:999px;}
.rates-note{text-align:center;font-size:12.5px;color:#6B8370;margin-top:26px;letter-spacing:.5px;}

/* what to expect */
.expect{padding:90px 0;background:var(--cream);}
.expect-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px;position:relative;}
.step .num{font-family:var(--serif);font-size:34px;color:var(--sage);line-height:1;margin-bottom:10px;}
.step h3{font-size:20px;margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--ink-soft);}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.choice{background:var(--cream-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.choice h4{font-family:var(--serif);font-size:16px;color:var(--sage);margin-bottom:4px;}
.choice p{font-size:12.5px;}
.bounds{background:var(--plum);color:#F4F1EA;border-radius:16px;padding:30px;display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center;}
.bounds h3{font-size:22px;color:#F4F1EA;}
.bounds .b-sub{font-size:12.5px;color:#B9B9B2;margin-top:6px;}
.bounds ul{list-style:none;display:grid;gap:10px;}
.bounds li{font-size:13.5px;color:#E9E7E0;padding-left:22px;position:relative;}
.bounds li::before{content:"—";position:absolute;left:0;color:#9DBA9F;}
.expect-close{text-align:center;font-family:var(--serif);font-style:italic;font-size:19px;color:#2E2E2A;max-width:640px;margin:36px auto 0;line-height:1.6;}

/* gallery */
.gallery{padding:90px 0 70px;}
.gal-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;}
.gal-col{display:grid;gap:16px;}
.gal-item{border-radius:16px;overflow:hidden;position:relative;}
.gal-item img{height:100%;object-fit:cover;}
.gal-tall{grid-row:span 2;}

/* virtual */
.virtual{background:var(--rose-soft);border-top:1px solid var(--rose-line);padding:90px 0;}
.virt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.virt-card{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;}
.virt-card h3{font-size:20px;font-family:var(--serif);}
.virt-card p{font-size:13px;color:var(--ink-soft);margin:6px 0 18px;}
.virt-price{margin-top:auto;display:flex;align-items:center;justify-content:space-between;}
.virt-price .amount{font-size:22px;font-family:var(--serif);font-weight:600;color:var(--sage);}
.virt-price .amount small{font-size:13px;color:var(--ink-faint);}
.virt-price .order{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);text-decoration:none;border-bottom:1px solid var(--rose-line);padding-bottom:2px;}
.virt-note{text-align:center;font-size:12.5px;color:#6B8370;margin-top:26px;letter-spacing:.5px;}

/* reviews */
.reviews{padding:90px 0;}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rev-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;}
.stars{color:var(--sage);letter-spacing:3px;font-size:14px;}
.rev-card blockquote{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.6;margin:12px 0 14px;color:#2E2E2A;}
.rev-card cite{font-style:normal;font-size:11.5px;letter-spacing:1.5px;color:var(--ink-faint);text-transform:uppercase;}

/* review form */
.rev-form{max-width:560px;margin:50px auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;}
.rev-form h3{font-size:22px;margin-bottom:6px;text-align:center;}
.rev-form .rf-sub{font-size:13px;color:var(--ink-soft);text-align:center;margin-bottom:20px;}
.rev-form label{display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 6px;}
.rev-form input[type=text],.rev-form select,.rev-form textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:14px;background:var(--cream-2);}
.rev-form textarea{min-height:110px;resize:vertical;}
.rev-form .btn{width:100%;margin-top:20px;}
.rev-msg{max-width:560px;margin:24px auto 0;text-align:center;font-size:14px;color:var(--sage);background:var(--rose-soft);border:1px solid var(--rose-line);border-radius:10px;padding:12px;}

/* contact */
.contact{background:var(--pastel);color:#26332A;text-align:center;padding:80px 0 60px;}
.contact h2{font-size:42px;color:#1E1E1C;}
.contact p{color:#54685A;font-size:15px;margin:10px 0 30px;}
.contact .hero-cta{justify-content:center;}
.socials{display:flex;gap:22px;justify-content:center;margin-top:38px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;}
.socials a{color:#6F8A73;text-decoration:none;}
.socials a:hover{color:#1E1E1C;}
.site-footer{background:var(--pastel);text-align:center;font-size:11px;letter-spacing:1.5px;color:#7C947F;padding:0 0 34px;text-transform:uppercase;}

/* floating whatsapp */
.float-wa{position:fixed;bottom:26px;right:26px;background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);text-decoration:none;z-index:30;}
.float-wa svg{width:30px;height:30px;fill:#fff;}

@media(max-width:820px){
  .hero-grid,.about-grid,.expect-grid,.choice-grid{grid-template-columns:1fr;}
  .rate-grid,.virt-grid,.rev-grid{grid-template-columns:1fr;}
  .gal-grid{grid-template-columns:1fr;}
  .bounds{grid-template-columns:1fr;}
  .hero h1{font-size:38px;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:20px 32px;gap:16px;border-bottom:1px solid var(--line);}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
}
