/*
Theme Name: Lotus Haven
Theme URI: https://lotushaven.lk
Author: Lotus Haven
Description: Complete hotel theme for Lotus Haven, Anuradhapura. Rooms, online booking with availability check, e-mail notifications and WhatsApp Business integration.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: lotus-haven
*/
:root{--pond:#12332d;--pond2:#1c4a41;--petal:#f0c9d6;--lotus:#b83a6e;--lotus-d:#9b2d5b;--brass:#a8792f;--stone:#e9e6df;--paper:#fbfaf7;--ink:#1d2a27;--muted:#65726e;--r:6px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--lotus-d)}
h1,h2,h3,h4{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.15;color:var(--pond);margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}h3{font-size:1.45rem}
p{margin:0 0 1em}
.wrap{width:min(1160px,92%);margin-inline:auto}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.screen-reader-text{position:absolute;left:-9999px}
/* buttons */
.btn{display:inline-block;padding:.8em 1.6em;border-radius:var(--r);background:var(--lotus);color:#fff;text-decoration:none;font-weight:600;border:2px solid var(--lotus);cursor:pointer;font:inherit;font-weight:600;transition:background .2s}
.btn:hover{background:var(--lotus-d);border-color:var(--lotus-d)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-line{background:transparent;color:var(--pond);border-color:var(--pond)}
.btn-line:hover{background:var(--pond);color:#fff;border-color:var(--pond)}
.btn-sm{padding:.5em 1.1em;font-size:.95rem}
.btn-wa{background:#1a7f4b;border-color:#1a7f4b}.btn-wa:hover{background:#12683c;border-color:#12683c}
/* header */
.site-header{background:var(--pond);color:#fff;position:sticky;top:0;z-index:50}
.header-in{display:flex;align-items:center;gap:1.5rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--petal);text-decoration:none;font-family:'Marcellus',serif;font-size:1.55rem;margin-right:auto}
.primary-nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.primary-nav a{color:#e6efec;text-decoration:none;font-size:.98rem}
.primary-nav a:hover{color:var(--petal)}
.nav-toggle{display:none;background:none;border:1px solid #ffffff55;color:#fff;padding:.4em .9em;border-radius:var(--r);font:inherit}
/* hero */
.hero{position:relative;background:var(--pond) center/cover no-repeat;color:#fff;overflow:hidden;padding:clamp(4rem,10vw,8rem) 0 7rem}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#12332dcc,#12332de6)}
.ripples{position:absolute;right:-8%;top:50%;width:min(760px,90vw);aspect-ratio:1;transform:translateY(-50%);pointer-events:none}
.ripples i{position:absolute;inset:0;border:1px solid #f0c9d633;border-radius:50%}
.ripples i:nth-child(2){inset:12%}.ripples i:nth-child(3){inset:24%}.ripples i:nth-child(4){inset:36%}
.ripples svg{position:absolute;inset:44%;width:12%;height:12%;color:var(--petal)}
.hero .wrap{position:relative;max-width:1160px}
.hero h1{color:#fff;max-width:13ch;margin-bottom:.3em}
.hero p.lead{font-size:1.2rem;max-width:36rem;color:#d3e2de}
.hero .loc{color:var(--petal);margin-bottom:1rem}
.bookbar{position:relative;margin-top:-4.2rem;z-index:5}
.bookbar form{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:1rem;align-items:end;background:#fff;padding:1.3rem 1.5rem;border-radius:var(--r);box-shadow:0 18px 40px #12332d33;border-top:4px solid var(--brass)}
/* sections */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.alt{background:var(--stone)}
.section-head{max-width:40rem;margin-bottom:2.5rem}
.section-head p{color:var(--muted)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.about-panel{background:var(--pond);color:#d3e2de;padding:2.5rem;border-radius:var(--r);border-left:6px solid var(--brass)}
.about-panel h3{color:var(--petal)}
.about-panel ul{margin:0;padding-left:1.1rem}
.grid{display:grid;gap:1.6rem}
.grid.rooms{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.room-card{background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;border:1px solid #0000001a}
.room-img{aspect-ratio:4/3;background:linear-gradient(135deg,var(--pond2),var(--pond));display:grid;place-items:center;color:var(--petal);overflow:hidden}
.room-img img{width:100%;height:100%;object-fit:cover}
.room-body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.room-body h3{margin:0}
.room-meta{font-size:.92rem;color:var(--muted)}
.room-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.8rem}
.price{font-family:'Marcellus',serif;font-size:1.25rem;color:var(--pond)}.price small{font-family:'Hanken Grotesk',sans-serif;font-size:.8rem;color:var(--muted)}
.amen{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem 2rem}
.amen div{padding-left:1.1rem;border-left:3px solid var(--petal)}
.amen strong{display:block;color:var(--pond)}
.sights{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;border-top:1px solid #12332d33}
.sights article{padding:1.4rem 1.4rem 1.4rem 0;border-bottom:1px solid #12332d33}
.sights h3{font-size:1.25rem;margin-bottom:.2em}.sights p{margin:0;color:var(--muted);font-size:.97rem}
.cta{background:var(--pond);color:#d3e2de;text-align:center;padding:4.5rem 0}
.cta h2{color:#fff}.cta .btn+.btn{margin-left:.6rem}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem}
.contact iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:var(--r)}
.contact dt{font-weight:700;color:var(--pond)}.contact dd{margin:0 0 1rem}
/* page */
.page-head{background:var(--pond);color:#fff;padding:3.2rem 0}.page-head h1{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem);margin:0}.page-head p{color:#cfe0db;margin:.4rem 0 0}
.content{padding:3rem 0}.content .entry{max-width:46rem}
.room-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:start;padding:3rem 0}
.room-hero{aspect-ratio:16/9;margin-bottom:1.5rem}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;color:var(--muted);margin-bottom:1.4rem}
.facts b{color:var(--pond)}
.amenlist{columns:2;padding-left:1.1rem}
.sticky{position:sticky;top:92px}
/* booking form */
.lh-form{background:#fff;padding:1.6rem;border-radius:var(--r);border:1px solid #0000001f;border-top:4px solid var(--lotus)}
.lh-form h3{margin-bottom:1rem}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.lh-form label,.bookbar label{display:block;font-size:.88rem;font-weight:600;color:var(--pond);margin-bottom:.9rem}
.bookbar label{margin:0}
.lh-form input,.lh-form select,.lh-form textarea,.bookbar input,.bookbar select{display:block;width:100%;margin-top:.25rem;padding:.65em .75em;border:1px solid #1d2a2755;border-radius:var(--r);font:inherit;background:#fff;color:var(--ink)}
.lh-form .hp{position:absolute;left:-9999px}
.lh-summary{background:var(--stone);padding:.8rem 1rem;border-radius:var(--r);margin-bottom:1rem;color:var(--pond)}
.lh-form .btn{width:100%}
.lh-result{margin-top:1rem;padding:1.1rem 1.2rem;border-radius:var(--r)}
.lh-result.ok{background:#e4f3ea;border:1px solid #1a7f4b}.lh-result.err{background:#fbe6ea;border:1px solid var(--lotus)}
.lh-result h4{margin:0 0 .3rem;color:var(--pond)}.lh-result .btn{width:auto;margin-top:.4rem}
.note{font-size:.85rem;color:var(--muted);margin:.8rem 0 0}
/* footer */
.site-footer{background:#0b211d;color:#a9bdb8;padding:3.5rem 0 1.5rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem}
.site-footer h4{color:var(--petal);font-size:1.15rem}.site-footer a{color:#d3e2de}
.site-footer ul{list-style:none;padding:0;margin:0}
.copy{border-top:1px solid #ffffff1f;padding-top:1.2rem;font-size:.88rem}
.wa-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;background:#1a7f4b;color:#fff;text-decoration:none;font-weight:600;padding:.75em 1.2em;border-radius:99px;box-shadow:0 8px 24px #0004}
.wa-float:hover{background:#12683c;color:#fff}
@media(max-width:900px){
 .bookbar form{grid-template-columns:1fr 1fr}.bookbar .btn{grid-column:1/-1}
 .split,.contact,.room-layout,.fgrid{grid-template-columns:1fr;gap:2rem}.sticky{position:static}
 .nav-toggle{display:block}.header-in{flex-wrap:wrap}
 .primary-nav{display:none;order:5;width:100%}.primary-nav.open{display:block}
 .primary-nav ul{flex-direction:column;gap:.2rem;padding-bottom:1rem}
 .header-in>.btn{margin-left:auto}.brand{margin-right:0}
}
@media(max-width:520px){.f2,.bookbar form{grid-template-columns:1fr}.amenlist{columns:1}}
@media(prefers-reduced-motion:no-preference){.ripples i{animation:rip 9s ease-in-out infinite}.ripples i:nth-child(2){animation-delay:.6s}.ripples i:nth-child(3){animation-delay:1.2s}.ripples i:nth-child(4){animation-delay:1.8s}}
@keyframes rip{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.5}}

.btn-bk{background:#003b95;border-color:#003b95}.btn-bk:hover{background:#002a6b;border-color:#002a6b}
.hero .btn+.btn,.cta .btn+.btn{margin-left:.6rem}
.rev-top{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:2rem}
.score{background:#003b95;color:#fff;font-weight:700;font-size:1.7rem;padding:.35em .6em;border-radius:8px 8px 8px 0}
.revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem}
.rev{margin:0;background:#fff;padding:1.3rem;border-radius:var(--r);border-left:4px solid #003b95;border-top:1px solid #0000001a}
.rev p{margin:0 0 .8rem}.rev footer{font-size:.88rem;color:var(--muted)}
.rev-score{float:right;background:#003b95;color:#fff;font-weight:700;padding:.1em .5em;border-radius:6px}
@media(max-width:520px){.hero .btn+.btn,.cta .btn+.btn{margin:.6rem 0 0}}
