
 :root{--ink:#201d18;--gold:#b08d57;--gold-d:#8c6e43;--cream:#fbf8f2;--muted:#8a8273;--line:#e7e0d2;}
 *{margin:0;padding:0;box-sizing:border-box;}
 html{scroll-behavior:smooth;}
 body{font-family:"Jost",system-ui,sans-serif;color:var(--ink);background:#fff;font-weight:300;line-height:1.7;}
 h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:.01em;}
 img{display:block;max-width:100%;}
 a{color:inherit;}
 .kicker{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-d);}
 .btn{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:15px 34px;border:1px solid var(--gold);color:var(--gold-d);text-decoration:none;transition:.25s;}
 .btn:hover{background:var(--gold);color:#fff;}
 .btn-light{border-color:rgba(255,255,255,.7);color:#fff;}
 .btn-light:hover{background:#fff;color:var(--ink);}
 nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 44px;transition:.3s;}
 nav.solid{background:rgba(255,255,255,.97);box-shadow:0 1px 0 var(--line);padding:15px 44px;}
 .wordmark{font-family:"Cormorant Garamond",serif;font-size:22px;letter-spacing:.28em;color:#fff;text-decoration:none;font-weight:500;}
 nav.solid .wordmark{color:var(--ink);}
 .navlinks{display:flex;gap:28px;align-items:center;}
 .navlinks a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.9);text-decoration:none;transition:.2s;}
 nav.solid .navlinks a{color:var(--ink);}
 .navlinks a:hover,.navlinks a.active{color:var(--gold);}
 .navlinks .pill{border:1px solid rgba(255,255,255,.6);padding:9px 18px;color:#fff;}
 nav.solid .navlinks .pill{border-color:var(--gold);color:var(--gold-d);}
 .menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer;}
 nav.solid .menu-toggle{color:var(--ink);}
 .hero{position:relative;height:100vh;min-height:620px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;}
 .hero.inner{height:66vh;min-height:460px;}
 .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.9) saturate(1.03);animation:kb 20s ease-out infinite alternate;}
 @keyframes kb{from{transform:scale(1);}to{transform:scale(1.08);}}
 .hero::after{content:"";position:absolute;inset:0;background:
   radial-gradient(120% 90% at 50% 42%, rgba(18,15,11,.12) 0%, rgba(18,15,11,.42) 62%, rgba(18,15,11,.66) 100%),
   linear-gradient(180deg, rgba(18,15,11,.5) 0%, rgba(18,15,11,.24) 38%, rgba(18,15,11,.72) 100%);}
 .hero-inner{position:relative;z-index:2;padding:0 20px;max-width:920px;}
 .hero .kicker{color:var(--gold);text-shadow:0 1px 10px rgba(0,0,0,.45);}
 .hero h1{font-size:clamp(38px,6.4vw,74px);line-height:1.05;margin:18px 0 20px;font-weight:400;color:#fbf6ec;text-shadow:0 1px 2px rgba(0,0,0,.32),0 6px 44px rgba(0,0,0,.4);}
 .hero.inner h1{font-size:clamp(34px,5vw,60px);}
 .hero p.sub{font-size:18px;font-weight:300;color:rgba(251,246,236,.96);text-shadow:0 1px 20px rgba(0,0,0,.45);}
 .scrollcue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.85;}
 .scrollcue span{display:block;width:1px;height:40px;background:rgba(255,255,255,.6);margin:10px auto 0;}
 section{padding:110px 44px;}
 .wrap{max-width:1200px;margin:0 auto;}
 .center{text-align:center;}
 .lead-h{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:14px 0 0;font-weight:400;}
 .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
 .split.rev .txt{order:2;}
 .split p{color:#4a463f;margin-top:20px;max-width:48ch;}
 .split img{width:100%;height:100%;max-height:560px;object-fit:cover;box-shadow:0 30px 60px -40px rgba(32,29,24,.5);}
 .rule{width:58px;height:1px;background:var(--gold);margin:22px 0 0;}
 .center .rule{margin:22px auto 0;}
 .amen{background:var(--cream);}
 .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px;}
 .card figure{overflow:hidden;}
 .card img{width:100%;height:260px;object-fit:cover;transition:.6s;}
 .card:hover img{transform:scale(1.06);}
 .card h3{font-size:24px;margin:18px 0 6px;}
 .card p{color:var(--muted);font-size:15px;max-width:34ch;}
 .feature{position:relative;height:74vh;min-height:440px;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;}
 .feature::after{content:"";position:absolute;inset:0;background:rgba(20,18,14,.42);}
 .feature .q{position:relative;z-index:2;font-family:"Cormorant Garamond",serif;font-size:clamp(28px,4.5vw,52px);font-weight:400;max-width:22ch;line-height:1.2;}
 .residents{background:var(--ink);color:#f3ecdd;text-align:center;}
 .residents .kicker{color:var(--gold);}
 .residents h2{color:#fbf6ec;font-size:clamp(28px,3.6vw,44px);margin:14px 0 16px;font-weight:400;}
 .residents p{color:#cdbfa3;max-width:52ch;margin:0 auto 30px;}
 .loc li{padding:10px 0;border-bottom:1px solid var(--line);color:#4a463f;display:flex;justify-content:space-between;gap:16px;font-size:15px;list-style:none;}
 .loc li span:last-child{color:var(--muted);}
 .mapbox{margin-top:0;height:420px;border:0;width:100%;filter:grayscale(.2) contrast(.95);}
 .enquire{background:var(--cream);}
 .contact{margin-top:24px;font-size:16px;color:#4a463f;line-height:2;text-align:center;}
 .contact a{color:var(--gold-d);text-decoration:none;}
 form.enq{max-width:640px;margin:36px auto 0;display:grid;gap:16px;}
 form.enq input,form.enq textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;color:var(--ink);}
 form.enq .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
 .gal{columns:3;column-gap:14px;margin-top:10px;}
 .gal img{width:100%;margin:0 0 14px;cursor:pointer;transition:.3s;}
 .gal img:hover{opacity:.9;}
 .lb{position:fixed;inset:0;background:rgba(15,13,10,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:30px;}
 .lb.open{display:flex;}
 .lb img{max-width:92vw;max-height:90vh;box-shadow:0 20px 60px rgba(0,0,0,.6);}
 .lb .x{position:absolute;top:20px;right:30px;color:#fff;font-size:34px;cursor:pointer;line-height:1;}
 .towers{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:50px;}
 .tower{background:var(--cream);padding:38px;border-top:2px solid var(--gold);}
 .tower h3{font-size:28px;margin-bottom:8px;}
 .types{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px;}
 .type{border:1px solid var(--line);padding:26px 20px;text-align:center;}
 .type .n{font-family:"Cormorant Garamond",serif;font-size:30px;color:var(--gold-d);}
 .type .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
 .planwrap{margin-top:50px;text-align:center;}
 .planwrap img{width:100%;border:1px solid var(--line);}
 .planwrap .cap{color:var(--muted);font-size:13px;margin-top:10px;}
 footer{background:#1a1813;color:#a99f8c;text-align:center;padding:60px 44px;}
 footer .wordmark{color:#fff;font-size:20px;}
 footer .addr{margin:18px auto 0;max-width:42ch;font-size:13px;line-height:1.9;}
 footer .fnav{margin:20px 0 0;display:flex;gap:22px;justify-content:center;flex-wrap:wrap;}
 footer .fnav a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a99f8c;text-decoration:none;}
 footer .fnav a:hover{color:var(--gold);}
 footer .cr{margin-top:22px;font-size:11px;letter-spacing:.1em;color:#6f6657;}
 @media(max-width:860px){
   nav{padding:14px 18px;justify-content:flex-start;gap:12px;}
   .menu-toggle{display:flex;align-items:center;justify-content:center;order:-1;width:48px;height:48px;font-size:31px;line-height:1;border-radius:10px;margin-left:-6px;}
   nav.open .menu-toggle{color:#f3ecdd;}
   .wordmark{font-size:15px;letter-spacing:.14em;}
   .navlinks{display:none;position:fixed;inset:0;background:rgba(18,15,11,.985);flex-direction:column;justify-content:center;padding:86px 34px 44px;gap:2px;align-items:flex-start;overflow:auto;}
   nav.open .navlinks{display:flex;}
   nav.open .navlinks a,nav.solid.open .navlinks a{color:#f3ecdd;font-size:21px;letter-spacing:.10em;padding:16px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.08);}
   nav.open .navlinks .pill{border:1px solid var(--gold);color:var(--gold);margin-top:22px;padding:14px 30px;border-radius:999px;width:auto;font-size:15px;}
   section{padding:70px 20px;}
   .split,.grid,.towers,.types{grid-template-columns:1fr;gap:30px;}
   .split.rev .txt{order:0;} .gal{columns:2;} .feature{background-attachment:scroll;}
 }
/**
 * Park Facility Booking — front-end & dashboard styles.
 * Luxury theme tuned to The Park Chidlom brand: warm champagne gold,
 * charcoal ink, ivory canvas and an elegant serif display face.
 *
 * BRAND COLOR: the single source of truth is --pfb-gold below. Replace its
 * value with the exact brand hex to match the website 1:1. Everything else
 * (buttons, charts, highlights, focus rings) derives from it.
 *
 * Everything is scoped under .pfb so it never leaks into the theme.
 */

.pfb {
	/* --- Brand --- */
	--pfb-gold: #b08d57;        /* primary accent — swap to exact brand hex */
	--pfb-gold-dark: #8c6e43;
	--pfb-gold-soft: #f4ecdd;

	/* --- Neutrals --- */
	--pfb-ink: #201d18;         /* charcoal for headings */
	--pfb-text: #4a463f;
	--pfb-muted: #8a8273;
	--pfb-line: #e7e0d2;
	--pfb-cream: #fbf8f2;
	--pfb-bg: #ffffff;

	--pfb-radius: 4px;
	--pfb-radius-sm: 3px;
	--pfb-shadow: 0 1px 2px rgba(32, 29, 24, .05), 0 18px 40px -28px rgba(32, 29, 24, .35);
	--pfb-serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;

	color: var(--pfb-text);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	max-width: 760px;
	margin-inline: auto;
}

.pfb-admin {
	max-width: 1060px;
}

.pfb *,
.pfb *::before,
.pfb *::after {
	box-sizing: border-box;
}

/* Language switcher (EN / ไทย) */
.pfb-langbar {
	display: flex;
	justify-content: flex-end;
	gap: 4px;
	margin-bottom: 12px;
}

.pfb-lang {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none;
	color: var(--pfb-muted);
	border: 1px solid var(--pfb-line);
	border-radius: 999px;
	padding: 4px 12px;
	transition: all .15s;
}

.pfb-lang:hover {
	color: var(--pfb-gold-dark);
	border-color: #e6d6b8;
}

.pfb-lang.is-active {
	background: var(--pfb-ink);
	color: #fff;
	border-color: var(--pfb-ink);
}

/* ---------- Hero ---------- */
.pfb-hero {
	position: relative;
	background: linear-gradient(135deg, #26221b 0%, #332c22 100%);
	color: #f7f1e6;
	border-radius: var(--pfb-radius);
	padding: 44px 30px 38px;
	text-align: center;
	overflow: hidden;
}

.pfb-hero::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--pfb-gold);
	opacity: .9;
}

/* Brand logo at the top of the hero. The ivory plate guarantees the logo
   reads on the dark hero whatever its colours; remove background/padding
   below if your logo is already white/transparent. */
.pfb-hero-logo {
	display: block;
	max-height: 46px;
	width: auto;
	margin: 0 auto 18px;
	padding: 12px 22px;
	background: #fbf8f2;
	border-radius: 6px;
	box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .5);
	object-fit: contain;
}

/* Emoji becomes a refined gold-ringed badge rather than a large glyph. */
.pfb-hero-emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin: 0 auto 14px;
	border-radius: 50%;
	border: 1px solid var(--pfb-gold);
	background: rgba(177, 143, 90, .12);
	font-size: 24px;
	line-height: 1;
}

.pfb-hero-title {
	font-family: var(--pfb-serif);
	font-size: 38px;
	font-weight: 600;
	letter-spacing: .01em;
	margin: 0 0 8px;
	color: #fbf6ec;
}

.pfb-hero-sub {
	margin: 0 auto;
	max-width: 46ch;
	opacity: .82;
	font-size: 15px;
	letter-spacing: .01em;
}

.pfb-pill {
	display: inline-block;
	margin-top: 18px;
	padding: 7px 18px;
	border-radius: 999px;
	border: 1px solid rgba(177, 143, 90, .55);
	color: var(--pfb-gold);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Apartment pill shown on a light page when the in-card hero is disabled. */
.pfb-pill-solo {
	margin: 0 0 16px;
	color: var(--pfb-gold-dark);
	border-color: #e6d6b8;
	background: var(--pfb-gold-soft);
}

/* ---------- Cards ---------- */
.pfb-card {
	background: var(--pfb-bg);
	border: 1px solid var(--pfb-line);
	border-radius: var(--pfb-radius);
	padding: 24px;
	margin-top: 18px;
	box-shadow: var(--pfb-shadow);
}

.pfb-notice {
	background: var(--pfb-gold-soft);
	border-color: #e6d6b8;
	color: var(--pfb-ink);
	text-align: center;
}

.pfb-notice a {
	color: var(--pfb-gold-dark);
	font-weight: 600;
}

.pfb-empty {
	color: var(--pfb-muted);
	text-align: center;
	font-style: italic;
}

/* ---------- Fields ---------- */
.pfb-field {
	margin-bottom: 20px;
}

.pfb-field:last-child {
	margin-bottom: 0;
}

.pfb-field label {
	display: block;
	font-weight: 600;
	color: var(--pfb-ink);
	margin-bottom: 8px;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pfb-field select,
.pfb-field input[type="date"],
.pfb-field input[type="text"],
.pfb-field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--pfb-line);
	border-radius: var(--pfb-radius-sm);
	background: var(--pfb-bg);
	color: var(--pfb-ink);
	font-size: 15px;
	font-family: inherit;
	transition: border-color .15s, box-shadow .15s;
}

.pfb-field select:focus,
.pfb-field input:focus,
.pfb-field textarea:focus {
	outline: none;
	border-color: var(--pfb-gold);
	box-shadow: 0 0 0 3px rgba(177, 143, 90, .18);
}

.pfb-rule {
	margin: 10px 0 0;
	font-size: 12.5px;
	color: var(--pfb-muted);
	letter-spacing: .01em;
}

.pfb-muted {
	color: var(--pfb-muted);
	margin: 0;
}

/* ---------- Time slots ---------- */
.pfb-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 8px;
}

.pfb-slot {
	padding: 11px 6px;
	border: 1px solid var(--pfb-line);
	border-radius: var(--pfb-radius-sm);
	background: var(--pfb-cream);
	color: var(--pfb-ink);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
	transition: all .12s;
}

.pfb-slot:hover {
	border-color: var(--pfb-gold);
	color: var(--pfb-gold-dark);
}

.pfb-slot.is-selected {
	background: var(--pfb-gold);
	border-color: var(--pfb-gold);
	color: #fff;
}

/* ---------- Buttons ---------- */
.pfb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 22px;
	border: 1px solid var(--pfb-gold);
	border-radius: var(--pfb-radius-sm);
	background: var(--pfb-gold);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-family: inherit;
	cursor: pointer;
	text-decoration: none;
	transition: background .15s, border-color .15s, transform .05s;
}

.pfb-btn:hover {
	background: var(--pfb-gold-dark);
	border-color: var(--pfb-gold-dark);
	color: #fff;
}

.pfb-btn:active {
	transform: translateY(1px);
}

.pfb-btn:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.pfb-btn-block {
	width: 100%;
	margin-top: 4px;
	padding-block: 14px;
}

.pfb-btn-ghost {
	background: transparent;
	color: var(--pfb-gold-dark);
	border-color: var(--pfb-line);
	padding: 9px 16px;
}

.pfb-btn-ghost:hover {
	background: var(--pfb-gold-soft);
	color: var(--pfb-gold-dark);
	border-color: #e6d6b8;
}

/* ---------- Messages ---------- */
.pfb-message {
	margin-top: 16px;
	font-size: 14px;
	font-weight: 600;
}

.pfb-message.is-success {
	padding: 12px 15px;
	border-radius: var(--pfb-radius-sm);
	background: #eef4ee;
	color: #3f6b4a;
	border: 1px solid #cfe2d3;
}

.pfb-message.is-error {
	padding: 12px 15px;
	border-radius: var(--pfb-radius-sm);
	background: #faeeec;
	color: #9b4029;
	border: 1px solid #eccfc8;
}

/* ---------- Section titles ---------- */
.pfb-section-title {
	font-family: var(--pfb-serif);
	font-size: 27px;
	font-weight: 600;
	color: var(--pfb-ink);
	margin: 0 0 4px;
	letter-spacing: .01em;
}

.pfb-mt {
	margin-top: 34px;
}

.pfb-admin h3 {
	font-family: var(--pfb-serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--pfb-ink);
	margin: 0 0 6px;
}

.pfb-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 14px;
}

/* ---------- Booking rows ---------- */
.pfb-booking-row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 18px 20px;
}

.pfb-row-main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.pfb-row-icon {
	font-size: 22px;
	line-height: 1.2;
	flex: none;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--pfb-gold-soft);
}

.pfb-row-title {
	font-family: var(--pfb-serif);
	font-weight: 600;
	color: var(--pfb-ink);
	font-size: 20px;
	line-height: 1.25;
}

.pfb-row-meta {
	color: var(--pfb-muted);
	font-size: 14px;
	margin-top: 3px;
}

.pfb-row-note {
	color: var(--pfb-text);
	font-size: 13px;
	margin-top: 6px;
	font-style: italic;
}

.pfb-row-side {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	text-align: right;
}

/* ---------- Status pills ---------- */
.pfb-status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pfb-status-confirmed {
	background: #eef4ee;
	color: #3f6b4a;
}

.pfb-status-pending {
	background: var(--pfb-gold-soft);
	color: var(--pfb-gold-dark);
}

.pfb-status-cancelled {
	background: #f1eee9;
	color: #8a8273;
}

.pfb-status-rejected {
	background: #faeeec;
	color: #9b4029;
}

.pfb-status-completed {
	background: #eef1f4;
	color: #4a5a6b;
}

.pfb-locked {
	font-size: 17px;
	cursor: help;
	opacity: .75;
}

/* ---------- Modal ---------- */
.pfb-modal {
	position: fixed;
	inset: 0;
	background: rgba(32, 29, 24, .55);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	z-index: 100000;
}

.pfb-modal[hidden] {
	display: none;
}

.pfb-modal-box {
	background: #fff;
	border-radius: var(--pfb-radius);
	padding: 28px;
	width: 100%;
	max-width: 460px;
	box-shadow: 0 24px 60px -20px rgba(32, 29, 24, .5);
	max-height: 90vh;
	overflow-y: auto;
}

.pfb-modal-box .pfb-section-title {
	margin-bottom: 14px;
	font-size: 23px;
}

.pfb-modal-box textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--pfb-line);
	border-radius: var(--pfb-radius-sm);
	font-family: inherit;
	font-size: 15px;
	resize: vertical;
}

.pfb-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}

.pfb-file-label {
	display: inline-block;
	margin: 16px 0 6px;
	font-weight: 600;
	color: var(--pfb-ink);
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pfb-modal-box input[type="file"] {
	display: block;
	width: 100%;
	font-size: 14px;
}

/* ---------- Admin: stats tiles ---------- */
.pfb-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.pfb-stat {
	background: var(--pfb-cream);
	border: 1px solid var(--pfb-line);
	border-top: 2px solid var(--pfb-gold);
	border-radius: var(--pfb-radius-sm);
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.pfb-stat > span {
	font-size: 17px;
	line-height: 1;
}

.pfb-stat > strong {
	font-family: var(--pfb-serif);
	font-size: 36px;
	font-weight: 600;
	color: var(--pfb-ink);
	line-height: 1.05;
}

.pfb-stat > strong.pfb-stat-text {
	font-size: 21px;
	line-height: 1.2;
	margin-top: 2px;
}

.pfb-stat > em {
	font-style: normal;
	color: var(--pfb-muted);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pfb-stat-text {
	font-weight: 600;
	color: var(--pfb-ink);
	font-size: 15px;
}

/* ---------- Admin: charts ---------- */
.pfb-charts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 18px;
}

.pfb-charts > .pfb-card {
	margin-top: 0;
}

.pfb-vbars {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	height: 184px;
	padding-top: 8px;
}

.pfb-vbar {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
	min-width: 0;
}

.pfb-vbar-col {
	width: 68%;
	max-width: 32px;
	background: linear-gradient(180deg, var(--pfb-gold) 0%, var(--pfb-gold-dark) 100%);
	border-radius: 2px 2px 0 0;
	min-height: 4px;
	transition: height .3s ease;
}

.pfb-vbar-val {
	font-size: 12px;
	font-weight: 700;
	color: var(--pfb-ink);
	margin-top: 7px;
}

.pfb-vbar-label {
	font-size: 11px;
	color: var(--pfb-muted);
	margin-top: 2px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.pfb-hbars {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 4px;
}

.pfb-hbar {
	display: grid;
	grid-template-columns: 130px 1fr 32px;
	align-items: center;
	gap: 10px;
}

.pfb-hbar-label {
	font-size: 13px;
	color: var(--pfb-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pfb-hbar-track {
	background: var(--pfb-cream);
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
	border: 1px solid var(--pfb-line);
}

.pfb-hbar-fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--pfb-gold) 0%, var(--pfb-gold-dark) 100%);
	border-radius: 999px;
	transition: width .3s ease;
}

.pfb-hbar-val {
	font-size: 13px;
	font-weight: 700;
	color: var(--pfb-ink);
	text-align: right;
}

/* ---------- Admin: table ---------- */
.pfb-table-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.pfb-filters {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.pfb-filters select,
.pfb-filters input[type="text"] {
	padding: 9px 12px;
	border: 1px solid var(--pfb-line);
	border-radius: var(--pfb-radius-sm);
	font-size: 14px;
	font-family: inherit;
}

.pfb-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.pfb-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.pfb-table th,
.pfb-table td {
	text-align: left;
	padding: 12px 13px;
	border-bottom: 1px solid var(--pfb-line);
	white-space: nowrap;
}

.pfb-table th {
	font-weight: 600;
	color: var(--pfb-ink);
	background: var(--pfb-cream);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pfb-table tbody tr:hover {
	background: var(--pfb-gold-soft);
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
	.pfb-charts {
		grid-template-columns: 1fr;
	}

	.pfb-hero {
		padding: 34px 20px 30px;
	}

	.pfb-hero-title {
		font-size: 30px;
	}

	.pfb-card {
		padding: 20px;
	}

	.pfb-booking-row {
		flex-wrap: wrap;
	}

	.pfb-row-side {
		align-items: flex-start;
		text-align: left;
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
	}

	.pfb-hbar {
		grid-template-columns: 100px 1fr 28px;
	}
}

/* Enquiry form additions */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.enq .enq-select{width:100%;padding:14px 16px;border:1px solid rgba(32,29,24,.18);background:#fff;color:#201d18;font-family:inherit;font-size:15px;margin-bottom:14px;border-radius:2px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23b08d57' stroke-width='1.5' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 16px center;}
.enq-note{max-width:620px;margin:26px auto 0;padding:16px 20px;border-radius:3px;font-size:15px;line-height:1.5;}
.enq-ok{background:#f0f7ef;border:1px solid #cfe6cd;color:#2f5d3a;}
.enq-err{background:#fbf0ee;border:1px solid #e6cfca;color:#8a3b2c;}

/* Clear the WordPress admin toolbar (logged-in staff) */
body.admin-bar nav{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar nav{top:46px;}
  body.admin-bar nav.open .navlinks{top:46px;}
}

/* Homepage — Latest news & notices */
.newshome{background:var(--cream);padding:110px 20px;}
.news-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left;}
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.25s;overflow:hidden;}
.news-card:hover{box-shadow:0 24px 50px -30px rgba(32,29,24,.5);transform:translateY(-3px);}
.news-card-img{height:170px;background-size:cover;background-position:center;}
.news-card-b{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1;}
.news-card-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.news-tag{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-d);border:1px solid var(--line);border-radius:999px;padding:5px 12px;}
.news-tag-maintenance{background:#fbf5ea;}
.news-tag-cleaning{background:#eef5f4;}
.news-card-meta time{font-size:12px;color:var(--muted);}
.news-card-b h3{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:500;margin:0 0 10px;line-height:1.2;}
.news-card-b p{color:#4a463f;font-size:15px;line-height:1.6;margin:0 0 16px;}
.news-more{margin-top:auto;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);}
@media(max-width:900px){.news-grid{grid-template-columns:1fr;max-width:520px;}.newshome{padding:80px 20px;}}

/* Inline text link (e.g. "View the towers & floor plan →") */
.btn-text{display:inline-block;margin-left:18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.btn-text:hover{border-bottom-color:var(--gold);}
/* Offset anchor jumps so the fixed header doesn't cover the section heading */
#towers{scroll-margin-top:90px;}
@media(max-width:860px){.btn-text{margin-left:0;margin-top:14px;}}

/* Booking / plugin pages: keep the header in the solid dark style so the menu
   matches the rest of the site (instead of appearing white over the light page). */
body.pfb-app nav#nav{background:rgba(24,21,17,.97);box-shadow:0 1px 0 rgba(255,255,255,.05);}
body.pfb-app nav#nav .wordmark{color:#f3ecdd;}
body.pfb-app nav#nav .navlinks>a{color:#efe7d7;}
body.pfb-app nav#nav .navlinks>a:hover,body.pfb-app nav#nav .navlinks>a.active{color:#fff;}
body.pfb-app nav#nav .navlinks .pill{border-color:rgba(255,255,255,.55);color:#f3ecdd;}
body.pfb-app nav#nav .navlinks .pill:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
body.pfb-app nav#nav .menu-toggle{color:#f3ecdd;}

/* Resident-app pages: reserve space for the fixed header on every template
   (body.pfb-app is always present on plugin pages), so the booking menu can
   never overlap the logo regardless of how the page was built. The WP admin
   bar is handled separately by WordPress's own html offset. */
body.pfb-app{background:var(--cream);padding-top:110px;}
@media(max-width:860px){body.pfb-app{padding-top:82px;}}

/* Portal mode header: on resident-app pages the marketing menu is replaced by
   a slim bar — wordmark, a Resident Portal tag, and a single Main site link.
   The plugin's own pill nav is then the one and only menu, ending the
   double-menu clutter. */
nav#nav.portal{display:flex;align-items:center;gap:14px;}
nav#nav.portal .portal-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#c9a86a;border:1px solid rgba(201,168,106,.45);border-radius:999px;padding:5px 12px;white-space:nowrap;}
nav#nav.portal .portal-links{margin-left:auto;}
nav#nav.portal .portal-links a{color:#efe7d7;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;opacity:.85;}
nav#nav.portal .portal-links a:hover{opacity:1;color:#fff;}
@media(max-width:640px){nav#nav.portal .portal-tag{display:none;}}
