/*
Theme Name: Elite Panda
Theme URI: https://ep.wedefinenet.com/
Description: Custom theme for Elite Panda Premium Stay, Karaikal. Child theme of Twenty Twenty-Five.
Author: WeDefineNet
Template: twentytwentyfive
Version: 1.0.4
Requires at least: 6.5
Text Domain: elitepanda
*/

:root {
	--ep-black: #0a0d0b;
	--ep-g950: #08201a;
	--ep-g900: #0d3025;
	--ep-g800: #134431;
	--ep-g700: #1d5a40;
	--ep-leaf: #8fb045;
	--ep-gold: #c9a24c;
	--ep-gold-2: #e6cf95;
	--ep-gold-3: #f4ead0;
	--ep-cream: #f8f4ea;
	--ep-paper: #fffdf8;
	--ep-ink: #18201b;
	--ep-muted: #5b655e;
	--ep-line: rgba(24, 32, 27, .1);
	--ep-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--ep-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ep-radius: 22px;
	--ep-shadow: 0 18px 50px -24px rgba(8, 32, 26, .35);
	--ep-max: 1200px;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { background: var(--ep-paper); color: var(--ep-ink); font-family: var(--ep-sans); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.ep-main, .ep-main > .entry-content { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.ep-main .entry-content > * { margin-block: 0 !important; max-width: none !important; }

.ep-section h1, .ep-section h2, .ep-section h3, .ep-section h4,
.ep-footer h3 { font-family: var(--ep-serif); font-weight: 600; letter-spacing: -.01em; line-height: 1.08; color: inherit; margin: 0; }
.ep-section p, .ep-section ul { margin: 0; }
.ep-section a:not(.wp-element-button) { color: inherit; }
.ep-section img { display: block; max-width: 100%; height: auto; }

.ep-wrap { width: 100%; max-width: var(--ep-max); margin-inline: auto !important; padding-inline: 24px; box-sizing: border-box; }
.ep-section { position: relative; padding-block: clamp(64px, 9vw, 112px); overflow: hidden; }
.ep-section--cream { background: var(--ep-cream); }
.ep-section--dark { background: var(--ep-g950); color: var(--ep-cream); }

.ep-eyebrow { display: inline-flex; align-items: center; gap: 12px; font: 700 12.5px/1 var(--ep-sans) !important; letter-spacing: .22em; text-transform: uppercase; color: var(--ep-gold) !important; margin-bottom: 18px !important; }
.ep-eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.ep-head { max-width: 720px; margin-bottom: clamp(36px, 5vw, 56px) !important; }
.ep-head--center { text-align: center; margin-inline: auto !important; }
.ep-head--center .ep-eyebrow::after { content: ""; width: 34px; height: 1px; background: currentColor; }
.ep-head h2 { font-size: clamp(34px, 4.6vw, 54px); }
.ep-head p { margin-top: 16px !important; font-size: 17.5px; line-height: 1.7; color: var(--ep-muted); }
.ep-section--dark .ep-head p { color: rgba(248, 244, 234, .72); }

/* Buttons */
.ep-section .wp-block-buttons, .ep-header .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.ep-section .wp-block-button, .ep-header .wp-block-button { margin: 0; }
.ep-section .wp-block-button__link, .ep-header .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 999px;
	font: 700 15px/1 var(--ep-sans); letter-spacing: .01em; text-decoration: none;
	background: linear-gradient(135deg, var(--ep-gold-2), var(--ep-gold)); color: var(--ep-g950); border: 1px solid transparent;
	box-shadow: 0 10px 28px -12px rgba(201, 162, 76, .7); transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ep-section .wp-block-button__link:hover, .ep-header .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 16px 34px -14px rgba(201, 162, 76, .85); }
.ep-section .is-style-outline .wp-block-button__link { background: transparent; color: inherit; border-color: currentColor; box-shadow: none; }
.ep-section .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .08); }
.ep-section--cream .is-style-outline .wp-block-button__link, .ep-section:not(.ep-section--dark):not(.ep-hero):not(.ep-meals) .is-style-outline .wp-block-button__link { color: var(--ep-g900); }
.ep-btn-wa .wp-block-button__link::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ic-wa) center/contain no-repeat; mask: var(--ic-wa) center/contain no-repeat; }
.ep-btn-call .wp-block-button__link::before { content: ""; width: 17px; height: 17px; background: currentColor; -webkit-mask: var(--ic-phone) center/contain no-repeat; mask: var(--ic-phone) center/contain no-repeat; }

/* ---------- Header ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; margin: 0 !important; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
/* Blur lives on a pseudo-element: backdrop-filter on the header itself would trap the fixed mobile menu inside it. */
.ep-header { position: relative; border-bottom: 1px solid rgba(230, 207, 149, .14); transition: box-shadow .3s ease; }
.ep-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(8, 32, 26, .92); backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); transition: background .3s ease; }
.ep-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6); }
.ep-header.is-scrolled::before { background: rgba(8, 32, 26, .98); }
.ep-header__inner { display: flex !important; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; }
.ep-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ep-cream); flex-shrink: 0; }
.ep-brand img { width: 52px; height: 52px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(230, 207, 149, .5); }
.ep-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.ep-brand__text strong { font: 700 22px/1 var(--ep-serif); letter-spacing: .06em; text-transform: uppercase; color: var(--ep-gold-2); }
.ep-brand__text small { font: 600 10.5px/1.4 var(--ep-sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(248, 244, 234, .7); margin-top: 4px; }
.ep-header .wp-block-navigation { margin-left: auto; font: 600 14.5px/1 var(--ep-sans); color: rgba(248, 244, 234, .86); gap: 28px; }
.ep-header .wp-block-navigation a { text-decoration: none; transition: color .2s; }
.ep-header .wp-block-navigation a:hover { color: var(--ep-gold-2); }
.ep-header .wp-block-navigation__responsive-container-open { color: var(--ep-gold-2); }
.ep-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--ep-g950) !important; color: var(--ep-cream) !important; padding: 28px 24px; }
.ep-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 22px; font: 600 26px/1.2 var(--ep-serif); }
.ep-header .wp-block-navigation__responsive-container-close { color: var(--ep-gold-2); }
.ep-header .wp-block-button__link { padding: 12px 22px; font-size: 14px; }
@media (max-width: 1080px) { .ep-header .ep-header__cta { display: none; } }
@media (max-width: 600px) {
	.ep-header__inner { min-height: 66px; gap: 12px; }
	.ep-brand img { width: 44px; height: 44px; }
	.ep-brand__text strong { font-size: 19px; }
	.ep-brand__text small { font-size: 9.5px; letter-spacing: .14em; }
}

/* ---------- Hero ---------- */
.ep-hero {
	color: var(--ep-cream);
	background:
		radial-gradient(900px 500px at 85% 15%, rgba(201, 162, 76, .18), transparent 60%),
		radial-gradient(700px 600px at 0% 100%, rgba(143, 176, 69, .12), transparent 60%),
		linear-gradient(160deg, var(--ep-g950) 0%, var(--ep-g900) 55%, var(--ep-g800) 100%);
	padding-block: clamp(56px, 8vw, 104px) clamp(64px, 9vw, 120px);
}
.ep-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .07;
	background-image: radial-gradient(var(--ep-gold-2) 1px, transparent 1px); background-size: 26px 26px; }
.ep-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(40px, 6vw, 80px); position: relative; z-index: 1; }
.ep-hero h1 { font-size: clamp(44px, 6.4vw, 82px); line-height: 1.02; color: var(--ep-paper); }
.ep-hero h1 em { font-style: italic; color: var(--ep-gold-2); }
.ep-hero__lead { font-size: clamp(16.5px, 1.6vw, 19px); line-height: 1.7; color: rgba(248, 244, 234, .78); margin-top: 22px !important; max-width: 560px; }
.ep-hero .wp-block-buttons { margin-top: 34px !important; }
.ep-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 18px 44px; margin-top: 48px !important; padding-top: 30px; border-top: 1px solid rgba(230, 207, 149, .18); }
.ep-stat strong, .ep-stat .ep-stat__num { display: block; font: 600 clamp(30px, 3.4vw, 40px)/1 var(--ep-serif); color: var(--ep-gold-2); }
.ep-stat__label { font-size: 13.5px !important; color: rgba(248, 244, 234, .66); margin-top: 8px !important; }
.ep-hero__media { position: relative; justify-self: end; width: min(100%, 480px); }
.ep-hero__media::before { content: ""; position: absolute; inset: -14px -14px 14px 14px; border: 1px solid rgba(230, 207, 149, .55); border-radius: 260px 260px 28px 28px; }
.ep-hero__img { margin: 0 !important; position: relative; }
.ep-hero__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 260px 260px 28px 28px; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7); }
.ep-hero__badge { position: absolute; left: -36px; bottom: 44px; display: flex; align-items: center; gap: 14px; padding: 14px 20px 14px 14px; border-radius: 18px; background: var(--ep-paper); color: var(--ep-ink); box-shadow: var(--ep-shadow); z-index: 2; }
.ep-hero__badge::before { content: ""; width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0; background: var(--ep-g900) url("/wp-content/uploads/2026/11/logo.png") center/cover; box-shadow: 0 0 0 2px var(--ep-gold-2); }
.ep-hero__badge p { font-size: 13px; line-height: 1.35; color: var(--ep-muted); }
.ep-hero__badge p strong { display: block; font: 700 15.5px/1.2 var(--ep-sans); color: var(--ep-g900); }
@media (max-width: 900px) {
	.ep-hero__grid { grid-template-columns: 1fr; }
	.ep-hero__media { justify-self: center; width: min(88%, 420px); margin-top: 8px; }
	.ep-hero__badge { left: -12px; bottom: 28px; }
}
@media (max-width: 520px) {
	.ep-stats { grid-template-columns: repeat(3, 1fr); gap: 14px; }
	.ep-stat__label { font-size: 12px !important; }
	.ep-hero .wp-block-button, .ep-hero .wp-block-button__link { width: 100%; justify-content: center; }
}

/* ---------- Stays ---------- */
.ep-stays { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.ep-stay { background: #fff; border-radius: var(--ep-radius); overflow: hidden; box-shadow: var(--ep-shadow); border: 1px solid var(--ep-line); display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease; }
.ep-stay:hover { transform: translateY(-4px); box-shadow: 0 28px 60px -28px rgba(8, 32, 26, .45); }
.ep-stay .wp-block-image { margin: 0; position: relative; }
.ep-stay .wp-block-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ep-stay__body { padding: 30px 32px 32px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.ep-tag { align-self: flex-start; font: 700 11.5px/1 var(--ep-sans) !important; letter-spacing: .14em; text-transform: uppercase; padding: 8px 12px; border-radius: 999px; background: var(--ep-gold-3); color: #7a5d1d; }
.ep-tag--new { background: #e6f0d4; color: #3f5e14; }
.ep-stay h3 { font-size: 34px; color: var(--ep-g900); }
.ep-stay__desc { color: var(--ep-muted); line-height: 1.65; }
.ep-checks { list-style: none; padding: 0 !important; display: grid; gap: 10px; }
.ep-checks li { position: relative; padding-left: 30px; line-height: 1.5; }
.ep-checks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--ep-g900) var(--ic-check-gold) center/12px no-repeat; }
.ep-addr { font-size: 14px; color: var(--ep-muted); padding-left: 26px; position: relative; line-height: 1.55; }
.ep-addr::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; background: var(--ep-gold); -webkit-mask: var(--ic-pin) center/contain no-repeat; mask: var(--ic-pin) center/contain no-repeat; }
.ep-stay__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: auto !important; padding-top: 18px; border-top: 1px dashed var(--ep-line); }
.ep-price { font-size: 13px; color: var(--ep-muted); line-height: 1.2; }
.ep-price strong { display: block; font: 600 38px/1 var(--ep-serif); color: var(--ep-g900); margin-bottom: 4px; }
.ep-note { text-align: center; margin-top: 28px !important; font-size: 14px; color: var(--ep-muted); }
@media (max-width: 860px) { .ep-stays { grid-template-columns: 1fr; } .ep-stay__body { padding: 24px; } .ep-stay h3 { font-size: 30px; } }

/* ---------- Icon cards ---------- */
.ep-ic::before { content: ""; display: block; width: 52px; height: 52px; border-radius: 16px; flex-shrink: 0;
	background: var(--ep-gold-2); -webkit-mask: var(--ic) center/26px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: var(--ic) center/26px no-repeat exclude, linear-gradient(#000 0 0); }
.ep-amenities { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ep-amenity { background: #fff; border: 1px solid var(--ep-line); border-radius: 20px; padding: 26px 24px; display: flex; flex-direction: column; gap: 10px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s; }
.ep-amenity:hover { transform: translateY(-3px); box-shadow: var(--ep-shadow); border-color: rgba(201, 162, 76, .45); }
.ep-amenity::before { background: var(--ep-g900); -webkit-mask: none; mask: none; position: relative; }
.ep-amenity { position: relative; }
.ep-amenity::after { content: ""; position: absolute; top: 39px; left: 37px; width: 26px; height: 26px; background: var(--ep-gold-2); -webkit-mask: var(--ic) center/contain no-repeat; mask: var(--ic) center/contain no-repeat; }
.ep-amenity h3 { font: 700 16.5px/1.3 var(--ep-sans) !important; letter-spacing: 0; color: var(--ep-g900); margin-top: 6px !important; }
.ep-amenity p { font-size: 14.5px; line-height: 1.6; color: var(--ep-muted); }
@media (max-width: 1000px) { .ep-amenities { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) {
	.ep-amenities { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.ep-amenity { padding: 20px 16px; }
	.ep-amenity::before { width: 44px; height: 44px; border-radius: 13px; }
	.ep-amenity::after { top: 31px; left: 27px; width: 22px; height: 22px; }
	.ep-amenity h3 { font-size: 15px !important; }
	.ep-amenity p { font-size: 13.5px; }
}

/* ---------- About ---------- */
.ep-about { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(40px, 6vw, 88px); align-items: center; }
.ep-about__media { position: relative; padding: 0 0 60px 0; }
.ep-about__media .wp-block-image { margin: 0; }
.ep-about__media .wp-block-image img { border-radius: var(--ep-radius); object-fit: cover; }
.ep-about__main img { width: 82%; aspect-ratio: 4 / 5; }
.ep-about__sub { position: absolute !important; right: 0; bottom: 0; width: 46%; }
.ep-about__sub img { aspect-ratio: 1; border: 8px solid var(--ep-paper); box-shadow: var(--ep-shadow); }
.ep-about__seal { position: absolute !important; left: -10px; top: -10px; width: 92px; height: 92px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 4px var(--ep-paper), var(--ep-shadow); }
.ep-about__seal img { width: 100%; height: 100%; border-radius: 50% !important; }
.ep-about__text p { font-size: 17px; line-height: 1.75; color: var(--ep-muted); }
.ep-about__text p + p { margin-top: 14px !important; }
.ep-about__text h2 { font-size: clamp(34px, 4.6vw, 54px); margin-bottom: 20px !important; color: var(--ep-g900); }
.ep-sig { font: italic 600 22px/1.3 var(--ep-serif) !important; color: var(--ep-g800) !important; margin-top: 18px !important; }
.ep-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 26px; margin-top: 34px !important; }
.ep-feature { display: grid; grid-template-columns: 48px 1fr; column-gap: 14px; align-items: start; position: relative; }
.ep-feature::before { content: ""; grid-row: span 2; width: 48px; height: 48px; border-radius: 14px; background: var(--ep-gold-3); }
.ep-feature::after { content: ""; position: absolute; left: 12px; top: 12px; width: 24px; height: 24px; background: var(--ep-g800); -webkit-mask: var(--ic) center/contain no-repeat; mask: var(--ic) center/contain no-repeat; }
.ep-feature h3 { font: 700 15.5px/1.3 var(--ep-sans) !important; color: var(--ep-g900); letter-spacing: 0; align-self: end; }
.ep-feature p { font-size: 14px !important; line-height: 1.5 !important; color: var(--ep-muted); margin-top: 3px !important; }
@media (max-width: 900px) { .ep-about { grid-template-columns: 1fr; } .ep-about__media { max-width: 520px; } }
@media (max-width: 520px) { .ep-features { grid-template-columns: 1fr; } }

/* ---------- Meal house ---------- */
.ep-meals {
	background:
		radial-gradient(700px 420px at 100% 0%, rgba(201, 162, 76, .16), transparent 60%),
		linear-gradient(180deg, var(--ep-black), var(--ep-g950));
	color: var(--ep-cream);
}
.ep-meals__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.ep-meals h2 { font-size: clamp(34px, 4.6vw, 56px); color: var(--ep-paper); }
.ep-meals h2 em { font-style: italic; color: var(--ep-gold-2); }
.ep-meals__lead { margin-top: 18px !important; font-size: 17px; line-height: 1.7; color: rgba(248, 244, 234, .74); max-width: 560px; }
.ep-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px !important; }
.ep-pills p { font: 600 13.5px/1 var(--ep-sans); padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(230, 207, 149, .35); color: var(--ep-gold-2); }
.ep-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 34px !important; }
.ep-plan { background: rgba(255, 255, 255, .04); border: 1px solid rgba(230, 207, 149, .2); border-radius: 18px; padding: 22px 20px; display: flex; flex-direction: column; gap: 8px; position: relative; }
.ep-plan::before { width: 44px; height: 44px; border-radius: 12px; background: rgba(230, 207, 149, .14); -webkit-mask: none; mask: none; }
.ep-plan::after { content: ""; position: absolute; left: 31px; top: 33px; width: 22px; height: 22px; background: var(--ep-gold-2); -webkit-mask: var(--ic) center/contain no-repeat; mask: var(--ic) center/contain no-repeat; }
.ep-plan h3 { font: 700 16px/1.3 var(--ep-sans) !important; color: var(--ep-paper); margin-top: 6px !important; letter-spacing: 0; }
.ep-plan p { font-size: 14px; line-height: 1.55; color: rgba(248, 244, 234, .66); }
.ep-meals .wp-block-buttons { margin-top: 34px !important; }
.ep-meals__media { position: relative; }
.ep-meals__media .wp-block-image { margin: 0; }
.ep-meals__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--ep-radius); border: 1px solid rgba(230, 207, 149, .35); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8); }
@media (max-width: 900px) { .ep-meals__grid { grid-template-columns: 1fr; } .ep-meals__media { max-width: 460px; } }
@media (max-width: 600px) { .ep-plans { grid-template-columns: 1fr; } .ep-plan { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; } .ep-plan::after { left: 31px; top: 33px; } .ep-plan h3 { margin-top: 0 !important; } .ep-plan p { flex-basis: 100%; } }

/* ---------- Gallery ---------- */
.ep-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 14px; }
.ep-gallery .wp-block-image { margin: 0 !important; overflow: hidden; border-radius: 18px; position: relative; }
.ep-gallery .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ep-gallery .wp-block-image:hover img { transform: scale(1.05); }
.ep-gallery .wp-block-image figcaption { position: absolute; left: 12px; bottom: 12px; margin: 0; padding: 7px 12px; border-radius: 999px; background: rgba(8, 32, 26, .78); color: var(--ep-cream); font: 600 12.5px/1 var(--ep-sans); backdrop-filter: blur(6px); }
.ep-gallery > :nth-child(1) { grid-column: span 2; grid-row: span 2; }
.ep-gallery > :nth-child(6), .ep-gallery > :nth-child(7) { grid-column: span 2; }
@media (max-width: 900px) { .ep-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; } .ep-gallery > :nth-child(6), .ep-gallery > :nth-child(7) { grid-column: span 1; } }
@media (max-width: 520px) { .ep-gallery { grid-auto-rows: 150px; gap: 10px; } }

/* ---------- Reviews ---------- */
.ep-reviews-top { display: flex; align-items: end; justify-content: space-between; gap: 32px; flex-wrap: wrap; margin-bottom: clamp(36px, 5vw, 52px) !important; }
.ep-reviews-top .ep-head { margin-bottom: 0 !important; }
.ep-score { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid var(--ep-line); border-radius: 20px; padding: 18px 24px; box-shadow: var(--ep-shadow); }
.ep-score__num { font: 600 54px/1 var(--ep-serif) !important; color: var(--ep-g900); }
.ep-score__meta { font-size: 13.5px; color: var(--ep-muted); line-height: 1.5; }
.ep-stars { color: var(--ep-gold) !important; letter-spacing: 3px; font-size: 18px !important; line-height: 1 !important; }
.ep-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ep-review { background: #fff; border: 1px solid var(--ep-line); border-radius: 20px; padding: 28px 26px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.ep-review::before { content: "\201C"; position: absolute; right: 22px; top: 6px; font: 700 84px/1 var(--ep-serif); color: var(--ep-gold-3); }
.ep-review__text { font-size: 15.5px; line-height: 1.7; color: var(--ep-ink); position: relative; }
.ep-review__name { margin-top: auto !important; padding-top: 14px; border-top: 1px solid var(--ep-line); font: 700 14.5px/1.3 var(--ep-sans) !important; color: var(--ep-g900); }
.ep-review__name span { display: block; font-weight: 500; font-size: 12.5px; color: var(--ep-muted); margin-top: 2px; }
.ep-reviews-cta { justify-content: center; margin-top: 36px !important; }
@media (max-width: 1000px) { .ep-reviews { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ep-reviews { grid-template-columns: 1fr; } }

/* ---------- Good to know ---------- */
.ep-know { display: grid; grid-template-columns: 1.15fr .85fr; gap: 28px; align-items: stretch; }
.ep-rules { background: #fff; border: 1px solid var(--ep-line); border-radius: var(--ep-radius); padding: clamp(28px, 4vw, 44px); }
.ep-rules h2, .ep-careers h3 { font-size: clamp(30px, 3.6vw, 40px); color: var(--ep-g900); }
.ep-rules .ep-checks { margin-top: 24px !important; gap: 14px; }
.ep-careers { border-radius: var(--ep-radius); padding: clamp(28px, 4vw, 44px); background: linear-gradient(150deg, var(--ep-g900), var(--ep-g700)); color: var(--ep-cream); display: flex; flex-direction: column; gap: 14px; position: relative; overflow: hidden; }
.ep-careers::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgba(230, 207, 149, .25); box-shadow: 0 0 0 30px rgba(230, 207, 149, .05); }
.ep-careers h3 { color: var(--ep-paper); }
.ep-careers p { color: rgba(248, 244, 234, .76); line-height: 1.65; }
.ep-careers .wp-block-buttons { margin-top: auto !important; padding-top: 10px; }
.ep-careers .ep-eyebrow { margin-bottom: 0 !important; }
@media (max-width: 860px) { .ep-know { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.ep-contact { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 4vw, 48px); align-items: stretch; }
.ep-contact__info { display: grid; gap: 12px; align-content: start; }
.ep-info { display: grid; grid-template-columns: 46px 1fr; column-gap: 16px; padding: 18px 20px; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(230, 207, 149, .16); position: relative; }
.ep-info::before { content: ""; grid-row: span 2; width: 46px; height: 46px; border-radius: 13px; background: rgba(230, 207, 149, .14); }
.ep-info::after { content: ""; position: absolute; left: 32px; top: 30px; width: 22px; height: 22px; background: var(--ep-gold-2); -webkit-mask: var(--ic) center/contain no-repeat; mask: var(--ic) center/contain no-repeat; }
.ep-info h3 { font: 700 15px/1.3 var(--ep-sans) !important; letter-spacing: 0; color: var(--ep-gold-2); align-self: end; }
.ep-info p { font-size: 14.5px; line-height: 1.55; color: rgba(248, 244, 234, .8); margin-top: 3px !important; }
.ep-info a { text-decoration: none; border-bottom: 1px solid rgba(230, 207, 149, .35); }
.ep-info a:hover { color: var(--ep-gold-2); }
.ep-contact .wp-block-buttons { margin-top: 10px !important; }
.ep-map { border-radius: var(--ep-radius); overflow: hidden; min-height: 420px; border: 1px solid rgba(230, 207, 149, .25); background: var(--ep-g900); }
.ep-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; filter: saturate(.9) contrast(1.02); }
@media (max-width: 900px) { .ep-contact { grid-template-columns: 1fr; } .ep-map, .ep-map iframe { min-height: 320px; } }

/* ---------- Footer ---------- */
footer.wp-block-template-part { margin: 0 !important; }
.ep-footer { background: var(--ep-black); color: rgba(248, 244, 234, .72); padding: 64px 0 96px; font-size: 14.5px; }
.ep-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 40px; }
.ep-footer .ep-brand { margin-bottom: 18px; }
.ep-footer p { margin: 0; line-height: 1.7; }
.ep-footer h3 { font-size: 22px; color: var(--ep-gold-2); margin-bottom: 14px; }
.ep-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ep-footer a { color: inherit; text-decoration: none; transition: color .2s; }
.ep-footer a:hover { color: var(--ep-gold-2); }
.ep-social { display: flex; gap: 10px; margin-top: 20px; }
.ep-social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(230, 207, 149, .3); color: var(--ep-gold-2); }
.ep-social a:hover { background: var(--ep-gold); color: var(--ep-black); }
.ep-social svg { width: 18px; height: 18px; }
.ep-footer__bottom { margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(248, 244, 234, .1); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; color: rgba(248, 244, 234, .5); }
@media (max-width: 860px) { .ep-footer__grid { grid-template-columns: 1fr 1fr; } .ep-footer__grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 520px) { .ep-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Floating actions ---------- */
.ep-float { position: fixed; right: 18px; bottom: 18px; z-index: 90; display: flex; align-items: center; gap: 10px; }
.ep-float a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 54px; border-radius: 999px; text-decoration: none; font: 700 14.5px/1 var(--ep-sans); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .45); transition: transform .2s ease; }
.ep-float a:hover { transform: translateY(-2px); }
.ep-float svg { width: 24px; height: 24px; }
.ep-float__call { width: 54px; background: linear-gradient(135deg, var(--ep-gold-2), var(--ep-gold)); color: var(--ep-g950); }
.ep-float__call svg { width: 21px; height: 21px; }
.ep-float__wa { padding: 0 20px 0 16px; background: #25d366; color: #fff; }
@media (max-width: 520px) { .ep-float__wa span { display: none; } .ep-float__wa { width: 54px; padding: 0; } }

/* ---------- Motion ---------- */
.ep-js .ep-reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.ep-js .ep-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ep-js .ep-reveal { opacity: 1; transform: none; transition: none; }
	* { transition-duration: .01ms !important; }
}

/* ---------- Icons (generated) ---------- */
:root {
	--ic-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--ic-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
	--ic-check-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6cf95' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--ic-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21 5.46 0 9.91-4.45 9.91-9.91C21.95 6.45 17.5 2 12.04 2Zm5.8 14.11c-.24.68-1.42 1.3-1.96 1.38-.5.08-1.13.11-1.82-.11-.42-.13-.96-.31-1.65-.61-2.9-1.25-4.8-4.18-4.94-4.37-.14-.19-1.18-1.57-1.18-3s.75-2.13 1.02-2.42c.27-.29.58-.36.78-.36h.56c.18 0 .42-.07.66.5.24.58.82 2.01.89 2.16.07.14.12.31.02.5-.1.19-.14.31-.29.48-.14.17-.3.38-.43.51-.14.14-.29.3-.13.58.17.29.74 1.22 1.59 1.98 1.09.97 2.01 1.27 2.3 1.42.29.14.46.12.63-.07.17-.19.72-.84.92-1.13.19-.29.38-.24.65-.14.27.1 1.7.8 1.99.95.29.14.48.22.55.34.07.12.07.7-.17 1.38Z'/%3E%3C/svg%3E");
}
.ic-ac { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20M12 2v20M20 16l-4-4 4-4M4 8l4 4-4 4M16 4l-4 4-4-4M8 20l4-4 4 4'/%3E%3C/svg%3E"); }
.ic-bath { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4 8 6M17 19v2M2 12h20M7 19v2M9 5 7.6 3.6A2.1 2.1 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5'/%3E%3C/svg%3E"); }
.ic-wifi { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13a10 10 0 0 1 14 0M8.5 16.5a5 5 0 0 1 7 0M2 8.8a15 15 0 0 1 20 0M12 20h.01'/%3E%3C/svg%3E"); }
.ic-cctv { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16.8 12h3.6a1 1 0 0 1 .9 1.4l-2 4.1a1 1 0 0 1-1.7.1l-2.1-3M17.1 9.1a1 1 0 0 1 .4 1.3l-3.1 6.2a1 1 0 0 1-1.3.4L3.6 12.3a2.9 2.9 0 0 1-1.3-3.9l1.4-2.8a2.9 2.9 0 0 1 3.9-1.3zM2 19h3.8a2 2 0 0 0 1.8-1.1L9 15M2 21v-4M7 9h.01'/%3E%3C/svg%3E"); }
.ic-bed { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4v16M2 8h18a2 2 0 0 1 2 2v10M2 17h20M6 8v9'/%3E%3C/svg%3E"); }
.ic-food { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3zm0 0v7'/%3E%3C/svg%3E"); }
.ic-wash { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='2' width='18' height='20' rx='2'/%3E%3Ccircle cx='12' cy='13' r='5'/%3E%3Cpath d='M7 6h.01M10 6h.01M10 13a2 2 0 0 0 4 0'/%3E%3C/svg%3E"); }
.ic-clean { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5a2 2 0 0 0-1.4-1.4l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
.ic-fridge { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2zM5 10h14M15 6v2M15 13v3'/%3E%3C/svg%3E"); }
.ic-water { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5S12.5 5.5 12 3c-.5 2.5-2 4.9-4 6.5S5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E"); }
.ic-sofa { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0zM4 18v2M20 18v2M12 4v9'/%3E%3C/svg%3E"); }
.ic-park { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M9 17V7h4a3 3 0 0 1 0 6H9'/%3E%3C/svg%3E"); }
.ic-users { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
.ic-shield { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.ic-pin { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.ic-cap { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.4 10.9a1 1 0 0 0 0-1.8l-8.6-3.9a2 2 0 0 0-1.7 0L2.6 9.1a1 1 0 0 0 0 1.8l8.6 3.9a2 2 0 0 0 1.7 0zM22 10v6M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E"); }
.ic-cal { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E"); }
.ic-week { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.ic-sun { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v8M4.9 10.9l1.4 1.4M2 18h2M20 18h2M19.1 10.9l-1.4 1.4M22 22H2M8 6l4-4 4 4M16 18a4 4 0 0 0-8 0'/%3E%3C/svg%3E"); }
.ic-phone { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.ic-mail { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-9 5.7a2 2 0 0 1-2 0L2 7'/%3E%3C/svg%3E"); }
.ic-clock { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.ic-truck { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2M15 18H9M19 18h2a1 1 0 0 0 1-1v-3.7a1 1 0 0 0-.2-.6l-3.5-4.3a1 1 0 0 0-.8-.4H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E"); }
