/* ============================================================
 * Privato — header.css
 * Utility bar, sticky header, nav (desktop + dropdown + L3
 * flyout), burger, and mobile drawer.
 *
 * Ported verbatim from the inline <style> block of
 * HTML/Privato/home.html. `pc-*` class names and `--pc-*`
 * token references are preserved 1:1.
 * ============================================================ */

/* ===== TOP UTILITY BAR (desktop only) ===== */
.pc-utility {
	display: none;
	background: var(--pc-mocha-dk);
	color: var(--pc-white);
	font-size: 13px;
}

@media (min-width: 1024px) {
	.pc-utility { display: block; }
}

.pc-utility__inner {
	max-width: var(--pc-max);
	margin: 0 auto;
	padding: 8px 24px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
}

.pc-utility__right {
	display: flex;
	gap: 18px;
	align-items: center;
}

.pc-utility a:hover { opacity: .8; }

.pc-utility__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: var(--pc-white);
	transition: transform .2s ease, opacity .2s ease;
}

.pc-utility__icon:hover { transform: translateY(-1px); opacity: 1; }
.pc-utility__icon svg { width: 22px; height: 22px; display: block; }

.pc-utility__sep {
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, .35);
	display: inline-block;
	margin: 0 2px;
}

.pc-utility__lang {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	line-height: 1;
	color: var(--pc-white);
	transition: opacity .2s ease;
}

.pc-utility__lang:hover { opacity: 1; }

.pc-utility__lang svg {
	display: block;
	width: 18px;
	height: 12px;
	border-radius: 1px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
	flex-shrink: 0;
}

/* ===== HEADER ===== */
.pc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--pc-white);
	border-bottom: 1px solid var(--pc-line);
}

.pc-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	max-width: var(--pc-max);
	margin: 0 auto;
	gap: 16px;
}

.pc-logo img { width: 140px; height: auto; }

/* ===== PRIMARY NAV (desktop) ===== */
.pc-nav { display: none; font-size: 13px; font-weight: 400; }

@media (min-width: 1024px) {
	.pc-nav { display: flex; align-items: center; }
}

.pc-nav > ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.pc-nav > ul > li { position: relative; }

.pc-nav > ul > li > a,
.pc-nav > ul > li > .pc-nav__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 22px 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.pc-nav > ul > li > a:hover,
.pc-nav > ul > li > .pc-nav__toggle:hover { color: var(--pc-mocha-dk); }

/* Underline accent on hover/focus (uses ::before so ::after
 * stays free for chevron) */
.pc-nav > ul > li > a::before,
.pc-nav > ul > li > .pc-nav__toggle::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	height: 2px;
	background: var(--pc-mocha-dk);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}

.pc-nav > ul > li:hover > a::before,
.pc-nav > ul > li:focus-within > a::before,
.pc-nav > ul > li:hover > .pc-nav__toggle::before,
.pc-nav > ul > li:focus-within > .pc-nav__toggle::before { transform: scaleX(1); }

/* Chevron only on top-level has-sub items, placed AFTER the
 * label (Thai order) */
.pc-nav > ul > li.has-sub > a,
.pc-nav > ul > li.has-sub > .pc-nav__toggle { padding-right: 16px; }

.pc-nav > ul > li.has-sub > a::after,
.pc-nav > ul > li.has-sub > .pc-nav__toggle::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	opacity: .6;
	transition: transform .25s ease, opacity .2s ease;
}

.pc-nav > ul > li.has-sub:hover > a::after,
.pc-nav > ul > li.has-sub:focus-within > a::after,
.pc-nav > ul > li.has-sub:hover > .pc-nav__toggle::after,
.pc-nav > ul > li.has-sub:focus-within > .pc-nav__toggle::after {
	transform: translateY(-30%) rotate(225deg);
	opacity: 1;
}

/* Keep underline clear of the chevron on has-sub */
.pc-nav > ul > li.has-sub > a::before,
.pc-nav > ul > li.has-sub > .pc-nav__toggle::before { right: 16px; }

/* Desktop dropdown panel */
.pc-nav__sub {
	position: absolute;
	top: 100%;
	left: -16px;
	min-width: 240px;
	padding: 10px 0;
	margin: 0;
	list-style: none;
	background: var(--pc-white);
	border: 1px solid rgba(155, 121, 73, .14);
	border-radius: 4px;
	box-shadow: 0 18px 40px rgba(75, 55, 40, .14), 0 2px 6px rgba(75, 55, 40, .05);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
	z-index: 60;
}

.pc-nav > ul > li:hover > .pc-nav__sub,
.pc-nav > ul > li:focus-within > .pc-nav__sub {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.pc-nav__sub li { position: relative; }

.pc-nav__sub > li > a,
.pc-nav__sub > li > .pc-nav__sub-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 18px;
	width: 100%;
	border: 0;
	background: transparent;
	font-size: 13px;
	font-family: inherit;
	text-align: left;
	color: var(--pc-sub-1);
	white-space: nowrap;
	cursor: pointer;
	transition: background .2s, color .2s, padding-left .2s;
}

.pc-nav__sub a:hover,
.pc-nav__sub a:focus-visible,
.pc-nav__sub-toggle:hover {
	background: rgba(155, 121, 73, .08);
	color: var(--pc-mocha-dk);
	padding-left: 22px;
	opacity: 1;
}

.pc-nav__sub .has-sub > a::after {
	content: "\203A";
	color: var(--pc-mocha);
	font-size: 16px;
	line-height: 1;
	font-family: Georgia, serif;
}

.pc-nav__sub .has-sub > .pc-nav__sub-toggle::after {
	content: "\203A";
	color: var(--pc-mocha);
	font-size: 16px;
	line-height: 1;
	font-family: Georgia, serif;
}

/* Level-3 flyout (side panel) */
.pc-nav__sub .pc-nav__sub {
	top: -10px;
	left: 100%;
	transform: translateX(6px);
}

.pc-nav__sub li:hover > .pc-nav__sub,
.pc-nav__sub li:focus-within > .pc-nav__sub {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(0);
}

/* Level-3 items in Prata (editorial, matches mobile drawer) */
.pc-nav__sub .pc-nav__sub a {
	font-family: "Prata", Georgia, serif;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--pc-sub-2);
}

/* ===== HEADER CTA ===== */
.pc-header-cta {
	background: var(--pc-mocha-dk);
	color: var(--pc-white);
	padding: 8px 18px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	display: inline-flex;
	gap: 6px;
	align-items: center;
	transition: background .2s, transform .2s;
}

.pc-header-cta:hover {
	background: var(--pc-mocha-dk-hover);
	transform: translateY(-1px);
	opacity: 1;
}

/* ===== BURGER ===== */
.pc-burger {
	color: var(--pc-mocha-dk);
	padding: 6px 8px;
	line-height: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s ease, opacity .2s ease;
}

.pc-burger:hover { transform: scale(1.06); opacity: .85; }

.pc-burger__icon {
	position: relative;
	display: inline-block;
	width: 28px;
	height: 20px;
}

.pc-burger__icon span {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transform-origin: center;
	transition: transform .3s ease, opacity .2s ease, top .3s ease;
}

.pc-burger__icon span:nth-child(1) { top: 2px; }
.pc-burger__icon span:nth-child(2) { top: 9px; width: 72%; }
.pc-burger__icon span:nth-child(3) { top: 16px; width: 44%; }

.pc-burger:hover .pc-burger__icon span:nth-child(2),
.pc-burger:hover .pc-burger__icon span:nth-child(3) { width: 100%; }

.pc-burger[aria-expanded="true"] .pc-burger__icon span:nth-child(1) {
	top: 9px;
	transform: rotate(45deg);
}

.pc-burger[aria-expanded="true"] .pc-burger__icon span:nth-child(2) {
	opacity: 0;
	width: 72%;
}

.pc-burger[aria-expanded="true"] .pc-burger__icon span:nth-child(3) {
	top: 9px;
	width: 100%;
	transform: rotate(-45deg);
}

@media (min-width: 1024px) {
	.pc-burger { display: none; }
}

/* ===== MOBILE DRAWER MENU (premium slide-in, Prata head, accordion subs) ===== */
.pc-drawer {
	position: fixed;
	inset: 0;
	z-index: 100;
	visibility: hidden;
	pointer-events: none;
}

.pc-drawer[aria-hidden="false"] {
	visibility: visible;
	pointer-events: auto;
}

.pc-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(26, 22, 18, 0);
	-webkit-backdrop-filter: blur(0);
	backdrop-filter: blur(0);
	transition: background .35s ease, backdrop-filter .35s ease, -webkit-backdrop-filter .35s ease;
}

.pc-drawer[aria-hidden="false"] .pc-drawer__backdrop {
	background: rgba(26, 22, 18, .45);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.pc-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(88vw, 360px);
	background: linear-gradient(180deg, var(--pc-peach-b) 0%, var(--pc-ivory) 100%);
	transform: translateX(-102%);
	transition: transform .42s cubic-bezier(.4, 0, .2, 1);
	display: flex;
	flex-direction: column;
	box-shadow: 4px 0 32px rgba(75, 55, 40, .18);
	overflow: hidden;
}

.pc-drawer[aria-hidden="false"] .pc-drawer__panel { transform: translateX(0); }

.pc-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	flex-shrink: 0;
	border-bottom: 1px solid rgba(155, 121, 73, .18);
}

.pc-drawer__brand {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.pc-drawer__brand img { width: 120px; height: auto; display: block; }

.pc-drawer__close {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(155, 121, 73, .08);
	color: var(--pc-mocha-dk);
	font-size: 28px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s, transform .2s;
}

.pc-drawer__close:hover {
	background: rgba(155, 121, 73, .18);
	transform: rotate(90deg);
	opacity: 1;
}

/* Active page indicator — left rule accent */
.pc-drawer__nav a[aria-current="page"] {
	color: var(--pc-mocha-dk);
	font-weight: 500;
	background: rgba(155, 121, 73, .08);
	box-shadow: inset 3px 0 0 var(--pc-mocha-dk);
}

/* Social row in drawer footer */
.pc-drawer__social {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
}

.pc-drawer__social a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(155, 121, 73, .08);
	color: var(--pc-mocha-dk);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .25s, transform .2s, color .2s;
}

.pc-drawer__social a:hover {
	background: var(--pc-mocha-dk);
	color: var(--pc-white);
	transform: translateY(-2px);
	opacity: 1;
}

.pc-drawer__social svg { width: 16px; height: 16px; display: block; }

.pc-drawer__nav {
	flex: 1;
	overflow-y: auto;
	padding: 6px 0 12px;
	-webkit-overflow-scrolling: touch;
}

.pc-drawer__nav ul { list-style: none; padding: 0; margin: 0; }

.pc-drawer__nav > ul > li { border-bottom: 1px solid rgba(155, 121, 73, .10); }

.pc-drawer__nav > ul > li > a,
.pc-drawer__nav > ul > li > .pc-drawer__branch > a,
.pc-drawer__nav > ul > li > .pc-drawer__branch > .pc-drawer__toggle,
.pc-drawer__nav > ul > li > .pc-drawer__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 15px 22px;
	font-size: 15px;
	font-weight: 400;
	color: var(--pc-sub-1);
	letter-spacing: .2px;
	font-family: "Noto Sans Thai", "Sarabun", inherit;
	text-align: left;
	background: none;
	border: 0;
	cursor: pointer;
	transition: background .2s, color .2s, padding-left .2s;
}

.pc-drawer__branch {
	display: flex;
	align-items: stretch;
	width: 100%;
}

.pc-drawer__branch > a {
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: none;
}

.pc-drawer__branch > .pc-drawer__branch-toggle {
	flex: 0 0 54px;
	width: 54px;
	justify-content: center;
	padding-left: 0;
}

.pc-drawer__nav a:hover,
.pc-drawer__toggle:hover {
	background: rgba(155, 121, 73, .06);
	color: var(--pc-mocha-dk);
	opacity: 1;
}

.pc-drawer__chevron {
	font-family: Georgia, serif;
	font-size: 20px;
	line-height: 1;
	color: var(--pc-mocha);
	transition: transform .3s ease;
	flex-shrink: 0;
}

.pc-drawer__toggle[aria-expanded="true"] .pc-drawer__chevron { transform: rotate(90deg); }

.pc-drawer__sub {
	max-height: 0;
	overflow: hidden;
	background: rgba(155, 121, 73, .04);
	transition: max-height .4s ease;
}

.pc-drawer__toggle[aria-expanded="true"] + .pc-drawer__sub,
.pc-drawer__item.is-open > .pc-drawer__sub { max-height: 1200px; }

.pc-drawer__sub a,
.pc-drawer__sub .pc-drawer__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 12px 22px 12px 36px;
	font-size: 14px;
	font-weight: 400;
	color: var(--pc-sub-2);
	letter-spacing: .1px;
	font-family: "Noto Sans Thai", "Sarabun", inherit;
	text-align: left;
	background: none;
	border: 0;
	cursor: pointer;
	transition: background .2s, color .2s;
}

.pc-drawer__sub .pc-drawer__branch > a {
	width: auto;
	padding-right: 12px;
}

.pc-drawer__sub .pc-drawer__branch > .pc-drawer__branch-toggle {
	width: 54px;
	padding-right: 22px;
}

.pc-drawer__sub a:hover,
.pc-drawer__sub .pc-drawer__toggle:hover {
	background: rgba(155, 121, 73, .08);
	color: var(--pc-mocha-dk);
	opacity: 1;
}

.pc-drawer__sub .pc-drawer__sub a {
	padding: 10px 22px 10px 52px;
	font-size: 13px;
	color: var(--pc-sub-3);
	font-family: "Prata", Georgia, serif;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.pc-drawer__foot {
	flex-shrink: 0;
	padding: 16px 20px 20px;
	border-top: 1px solid rgba(155, 121, 73, .18);
	background: rgba(255, 251, 246, .85);
}

.pc-drawer__cta-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}

.pc-drawer__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	transition: background .2s, transform .2s, opacity .2s;
}

.pc-drawer__cta--primary { background: var(--pc-mocha-dk); color: var(--pc-white); }
.pc-drawer__cta--primary:hover {
	background: var(--pc-mocha-dk-hover);
	transform: translateY(-1px);
	opacity: 1;
}

.pc-drawer__cta--line { background: var(--pc-green); color: var(--pc-white); }
.pc-drawer__cta--line:hover {
	background: #05a046;
	transform: translateY(-1px);
	opacity: 1;
}

.pc-drawer__lang {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	font-size: 11px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--pc-muted);
	font-weight: 500;
}

.pc-drawer__lang a {
	color: var(--pc-muted);
	transition: color .2s;
}

.pc-drawer__lang a:hover {
	color: var(--pc-mocha-dk);
	opacity: 1;
}

.pc-drawer__lang span {
	color: rgba(155, 121, 73, .4);
	font-size: 6px;
}

/* Drawer-specific reduced motion — keep panel reveal instant
 * when the user prefers reduced motion. */
@media (prefers-reduced-motion: reduce) {
	.pc-drawer__panel,
	.pc-drawer__sub,
	.pc-drawer__chevron { transition: none !important; }
}
