/*
Theme Name: Las Palmas
Theme URI: https://laspalmas.localsites.rambletype.com/
Description: Child theme of Twenty Twenty-Five for Las Palmas Mexican Restaurant, Stafford, Virginia.
Author: Rambletype
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: las-palmas
*/

:root {
	--lp-noche: var(--wp--preset--color--accent-6);   /* deep lagoon */
	--lp-crema: var(--wp--preset--color--base);
	--lp-ink: var(--wp--preset--color--contrast);
	--lp-chile: var(--wp--preset--color--accent-1);   /* coral */
	--lp-gold: var(--wp--preset--color--accent-2);    /* mango */
	--lp-agave: var(--wp--preset--color--accent-3);   /* palm green */
	--lp-adobe: var(--wp--preset--color--accent-4);
	--lp-arena: var(--wp--preset--color--accent-5);   /* warm sand */
	--lp-humo: var(--wp--preset--color--accent-7);    /* seafoam */
	--lp-turq: #5C7420;          /* palm-green text tone */
	--lp-lima: var(--wp--preset--color--accent-8);
	--lp-morado: var(--wp--preset--color--accent-9);
	--lp-sun: #FCEB9A;
	--lp-hibisco: var(--wp--preset--color--accent-9);
	--lp-deep: #0B2014;
	--lp-line: color-mix(in srgb, currentColor 18%, transparent);
	--lp-ease: cubic-bezier(.2, .7, .2, 1);
	--lp-frond: url("assets/images/palm-frond.svg");
	--lp-picado: url("assets/images/papel-picado.svg");
	--lp-zig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M0 8 L5 2 L10 8 L15 2 L20 8' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--lp-gold); color: var(--lp-noche); }

.lp-main { margin-top: 0 !important; }
.lp-main > .wp-block-post-content { margin-top: 0; }
.lp-content > * + * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Utility text ---------- */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 0.75rem !important;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--lp-chile);
	margin-bottom: 0.25rem;
}
.has-accent-6-background-color .is-style-eyebrow,
.has-accent-3-background-color .is-style-eyebrow,
.lp-dark .is-style-eyebrow { color: var(--lp-gold); }

.lp-italic, em.lp-italic { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-weight: 500; }
.lp-lede { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.75; }

/* Zigzag separator — a nod to the printed menu's stitched borders */
.wp-block-separator.is-style-zigzag {
	border: 0 !important;
	height: 10px;
	width: 120px;
	max-width: 120px;
	margin-left: auto;
	margin-right: auto;
	opacity: 1;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M0 8 L5 2 L10 8 L15 2 L20 8' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") repeat-x left center / 20px 10px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M0 8 L5 2 L10 8 L15 2 L20 8' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") repeat-x left center / 20px 10px;
}
.wp-block-separator.is-style-zigzag.alignleft-ish { margin-left: 0; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .25s var(--lp-ease), color .25s var(--lp-ease), border-color .25s var(--lp-ease); }
.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent;
	color: currentColor;
	border: 1px solid color-mix(in srgb, currentColor 55%, transparent);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover {
	background: var(--lp-gold);
	border-color: var(--lp-gold);
	color: var(--lp-noche);
}
.has-accent-6-background-color .wp-block-button:not(.is-style-ghost) .wp-block-button__link:hover,
.lp-dark .wp-block-button:not(.is-style-ghost) .wp-block-button__link:hover {
	background: var(--lp-gold);
	color: var(--lp-noche);
}

/* ---------- Header ---------- */
.lp-header { position: relative; z-index: 50; }
.lp-header a { text-decoration: none; }
.lp-topbar {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	color: var(--lp-humo);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	padding-top: .55rem;
	padding-bottom: .55rem;
}
.lp-topbar p { margin: 0; }
.lp-topbar a:hover { color: var(--lp-gold); }
.lp-mainbar { padding-top: 1rem; padding-bottom: 1rem; }
.lp-brand { gap: .9rem !important; }
.lp-brand__seal { margin: 0 !important; flex-shrink: 0; }
.lp-brand__seal img { display: block; transition: transform .6s var(--lp-ease); }
.lp-brand:hover .lp-brand__seal img { transform: rotate(-8deg); }
.lp-brand__text { gap: .2rem !important; }
.lp-brand .wp-block-site-title { margin: 0; font-size: 2rem; letter-spacing: 0; }
.lp-brand .wp-block-site-title a { color: var(--lp-crema); }
.lp-brand__tag {
	margin: 0 !important;
	font-size: .625rem;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--lp-gold);
	font-weight: 600;
}
.lp-header__actions { gap: clamp(.75rem, 2.2vw, 2rem) !important; }
.lp-nav .wp-block-navigation__container { gap: clamp(1rem, 2vw, 2rem) !important; }
.lp-nav .wp-block-navigation-item__content { padding: .4rem 0; position: relative; }
.lp-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: var(--lp-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--lp-ease);
}
.lp-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.lp-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.lp-nav .wp-block-navigation__submenu-container {
	background: var(--lp-noche) !important;
	border: 1px solid rgba(217, 164, 65, .25) !important;
	padding: .6rem 0 !important;
	min-width: 250px !important;
	box-shadow: 0 24px 50px rgba(0, 0, 0, .35);
}
.lp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .5rem 1.25rem !important;
	letter-spacing: .1em;
	font-size: .75rem;
	color: var(--lp-humo);
}
.lp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--lp-gold); }
.lp-header__cta .wp-block-button__link { padding: .7rem 1.4rem; }

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 2rem clamp(20px, 5vw, 48px);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.9rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: .85rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lp-humo);
	padding: .3rem 0 !important;
}

@media (max-width: 781px) {
	.lp-topbar__right span, .lp-topbar p:first-child { display: none; }
	.lp-topbar .alignwide { justify-content: center !important; }
	.lp-brand .wp-block-site-title { font-size: 1.6rem; }
	.lp-brand__seal img { width: 44px !important; height: 44px !important; }
	.lp-header__cta { display: none; }
}

/* ---------- Title band ---------- */
.lp-titleband {
	position: relative;
	overflow: hidden;
	padding-top: clamp(64px, 9vw, 128px);
	padding-bottom: clamp(56px, 8vw, 104px);
	background-image:
		radial-gradient(ellipse 60% 70% at 50% 120%, rgba(180, 68, 46, .28), transparent 70%),
		radial-gradient(ellipse 40% 50% at 85% -10%, rgba(217, 164, 65, .14), transparent 70%);
}
.lp-titleband::before {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 10px;
	background: var(--lp-gold);
	opacity: .5;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M0 8 L5 2 L10 8 L15 2 L20 8' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") repeat-x left center / 20px 10px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M0 8 L5 2 L10 8 L15 2 L20 8' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") repeat-x left center / 20px 10px;
}
.lp-titleband .wp-block-post-title {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: .98;
	margin-top: .35rem;
}
.lp-titleband__lede {
	max-width: 640px;
	margin: 1.25rem auto 0 !important;
	color: var(--lp-humo);
	font-size: 1.1rem;
}
.lp-titleband__lede .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Menu category nav ---------- */
.lp-menunav {
	position: sticky;
	top: 0;
	z-index: 40;
	background: color-mix(in srgb, var(--lp-crema) 94%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid color-mix(in srgb, var(--lp-ink) 10%, transparent);
}
.admin-bar .lp-menunav { top: 32px; }
@media (max-width: 782px) { .admin-bar .lp-menunav { top: 46px; } }
.lp-menunav__inner {
	display: flex;
	gap: .35rem;
	overflow-x: auto;
	scrollbar-width: none;
	padding: .8rem 0;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size);
	justify-content: safe center;
}
.lp-menunav__inner::-webkit-scrollbar { display: none; }
.lp-menunav__inner a {
	flex: 0 0 auto;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	padding: .55rem .9rem;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--lp-adobe);
	transition: color .2s, border-color .2s, background .2s;
}
.lp-menunav__inner a:hover { color: var(--lp-ink); border-color: color-mix(in srgb, var(--lp-ink) 20%, transparent); }
.lp-menunav__inner a[aria-current="page"] { background: var(--lp-ink); color: var(--lp-crema); }
.lp-menunav__all { color: var(--lp-chile) !important; }

/* ---------- Menu sections & items ---------- */
.lp-menu { padding-bottom: var(--wp--preset--spacing--60); }
.lp-section {
	padding-top: var(--wp--preset--spacing--70);
	scroll-margin-top: 80px;
}
.lp-section + .lp-section { border-top: 0; }
.lp-section__head { text-align: center; margin-bottom: var(--wp--preset--spacing--50) !important; }
.lp-section__head h2 {
	font-size: clamp(2.4rem, 5vw, 3.75rem);
	font-weight: 400;
	margin: .2rem 0 0;
}
.lp-section__head .lp-section__note {
	max-width: 620px;
	margin: 1rem auto 0;
	color: var(--lp-adobe);
	font-size: .98rem;
}
.lp-section__head .wp-block-separator { margin-top: 1.25rem !important; color: var(--lp-chile); }
.lp-pricebadge {
	display: inline-flex !important;
	align-items: baseline;
	gap: .4rem;
	margin: 1rem auto 0 !important;
	padding: .35rem 1rem;
	border: 1px solid color-mix(in srgb, var(--lp-chile) 45%, transparent);
	border-radius: 999px;
	font-size: .8rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--lp-chile);
}

.lp-items {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(32px, 6vw, 88px);
	row-gap: 0;
}
.lp-items > * { margin: 0 !important; }
.lp-items--single { grid-template-columns: minmax(0, 1fr); max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 781px) { .lp-items { grid-template-columns: minmax(0, 1fr); } }

.lp-item {
	padding: 1.15rem 0 1.25rem;
	border-bottom: 1px solid color-mix(in srgb, var(--lp-ink) 11%, transparent);
	break-inside: avoid;
}
.lp-item__head {
	display: flex !important;
	align-items: baseline !important;
	gap: .75rem !important;
	flex-wrap: nowrap !important;
}
.lp-item__head > * { margin: 0 !important; }
.lp-item__name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.3rem, 2vw, 1.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	flex: 0 1 auto;
}
.lp-item__head::after {
	content: "";
	order: 2;
	flex: 1 1 24px;
	min-width: 24px;
	border-bottom: 1px dotted color-mix(in srgb, var(--lp-ink) 35%, transparent);
	transform: translateY(-.3em);
}
.lp-item__price {
	order: 3;
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.35rem !important;
	font-weight: 600;
	color: var(--lp-chile);
	font-variant-numeric: lining-nums;
}
.lp-item__desc {
	margin: .4rem 0 0 !important;
	color: color-mix(in srgb, var(--lp-ink) 78%, var(--lp-crema));
	font-size: .95rem;
	line-height: 1.65;
	max-width: 52ch;
}
.lp-item__options {
	margin: .55rem 0 0 !important;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lp-chile);
}
.lp-item__options span { white-space: nowrap; }
.lp-item__options span + span::before { content: "·"; margin: 0 .55rem; color: var(--lp-humo); }
.lp-item__tag {
	display: inline-block;
	margin-left: .4rem;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	vertical-align: middle;
	color: var(--lp-agave);
	border: 1px solid currentColor;
	padding: .1rem .4rem;
	border-radius: 2px;
}

/* Featured "signature" item */
.lp-item--feature {
	grid-column: 1 / -1;
	background: var(--lp-noche);
	color: var(--lp-crema);
	padding: clamp(24px, 4vw, 40px) clamp(24px, 4vw, 48px) !important;
	margin: 1.5rem 0 !important;
	border: 0;
	position: relative;
}
.lp-item--feature .lp-item__desc { color: var(--lp-humo); max-width: 70ch; }
.lp-item--feature .lp-item__price, .lp-item--feature .lp-item__options { color: var(--lp-gold); }
.lp-item--feature .lp-item__head::after { border-color: rgba(246, 240, 230, .3); }
.lp-item--feature .lp-item__name { font-size: clamp(1.6rem, 3vw, 2.2rem) !important; }
.lp-item--feature::before {
	content: "Signature";
	display: block;
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--lp-gold);
	margin-bottom: .6rem;
}

/* Simple list (combos, kids, sides) */
.lp-list {
	list-style: none;
	padding: 0 !important;
	margin: 0 auto !important;
	max-width: 760px;
	counter-reset: lp;
}
.lp-list li {
	display: flex;
	gap: 1rem;
	align-items: baseline;
	padding: .8rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--lp-ink) 11%, transparent);
	font-size: 1rem;
}
.lp-list li strong {
	flex: 0 0 2.6rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--lp-chile);
	line-height: 1;
}
.lp-list li em { margin-left: auto; font-style: normal; font-family: var(--wp--preset--font-family--serif); font-weight: 600; font-size: 1.2rem; color: var(--lp-chile); white-space: nowrap; }

.lp-sides {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: clamp(24px, 4vw, 56px);
	max-width: 980px;
	margin: 0 auto !important;
}
.lp-sides > * { margin: 0 !important; }
.lp-sides .lp-item { padding: .7rem 0; }
.lp-sides .lp-item__name { font-size: 1.15rem !important; }
.lp-sides .lp-item__price { font-size: 1.15rem !important; }
@media (max-width: 781px) { .lp-sides { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .lp-sides { grid-template-columns: minmax(0, 1fr); } }

/* Photo rows on menu pages */
.lp-photos {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(10px, 1.5vw, 20px) !important;
	margin-top: var(--wp--preset--spacing--60) !important;
}
.lp-photos > * { margin: 0 !important; }
.lp-photos figure { position: relative; overflow: hidden; }
.lp-photos img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; transition: transform 1.2s var(--lp-ease); }
.lp-photos figure:hover img { transform: scale(1.04); }
.lp-photos figcaption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	margin: 0 !important;
	padding: 2.5rem 1rem .8rem;
	background: linear-gradient(transparent, rgba(12, 12, 11, .82));
	color: var(--lp-crema) !important;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.15rem !important;
	text-align: left !important;
}
@media (max-width: 600px) {
	.lp-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-photos > *:nth-child(3) { display: none; }
}

/* Aguachile bowl grid */
.lp-bowls {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 3vw, 40px) !important;
}
.lp-bowls > * { margin: 0 !important; text-align: center; }
.lp-bowls figure { margin: 0 0 1rem !important; }
.lp-bowls img { width: 100%; height: auto; filter: drop-shadow(0 22px 30px rgba(0, 0, 0, .55)); transition: transform .8s var(--lp-ease); }
.lp-bowls > *:hover img { transform: translateY(-6px) rotate(-2deg); }
.lp-bowls h3 { font-size: 1.6rem !important; font-weight: 500 !important; margin: 0 !important; }
.lp-bowls p { margin: .35rem 0 0 !important; font-size: .9rem; color: var(--lp-humo); }
@media (max-width: 781px) { .lp-bowls { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem !important; } }

/* ---------- Home ---------- */
.lp-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(48px, 7vw, 104px) !important;
	padding-bottom: clamp(56px, 8vw, 120px) !important;
	background-image:
		radial-gradient(circle at 74% 52%, rgba(180, 68, 46, .34), transparent 34%),
		radial-gradient(circle at 74% 52%, rgba(217, 164, 65, .12), transparent 52%);
}
.lp-hero .wp-block-columns { align-items: center !important; }
.lp-hero h1 {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: .95;
	letter-spacing: -0.02em;
	margin-top: .6rem;
}
.lp-hero h1 em { color: var(--lp-gold); font-weight: 400; }
.lp-hero .lp-lede { color: var(--lp-humo); max-width: 34rem; }
.lp-hero__plate { position: relative; margin: 0 !important; }
.lp-hero__plate img {
	width: 100%;
	height: auto;
	transform: rotate(-12deg);
	filter: drop-shadow(0 40px 60px rgba(0, 0, 0, .6));
	animation: lp-float 9s ease-in-out infinite;
}
.lp-hero__ring {
	position: absolute;
	inset: 6% 6%;
	border: 1px solid rgba(217, 164, 65, .35);
	border-radius: 50%;
	pointer-events: none;
}
@keyframes lp-float {
	0%, 100% { transform: rotate(-12deg) translateY(0); }
	50% { transform: rotate(-10deg) translateY(-10px); }
}
@media (prefers-reduced-motion: reduce) {
	.lp-hero__plate img { animation: none; }
	html { scroll-behavior: auto; }
}
@media (max-width: 781px) {
	.lp-hero .wp-block-columns { flex-direction: column-reverse; }
	.lp-hero__plate { max-width: 360px; margin: 0 auto !important; }
}

.lp-strip {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}
.lp-strip p { margin: 0; }
.lp-strip a { text-decoration: none; }
.lp-strip .wp-block-group { row-gap: .4rem !important; }

.lp-intro__plate img { filter: drop-shadow(0 30px 40px rgba(22, 19, 15, .22)); }

.lp-cards {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px) !important;
}
.lp-cards > * { margin: 0 !important; }
@media (max-width: 900px) { .lp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .lp-cards { grid-template-columns: minmax(0, 1fr); } }
.lp-card { position: relative; }
.lp-card figure { margin: 0 0 1.1rem !important; overflow: hidden; }
.lp-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; transition: transform 1.2s var(--lp-ease); }
.lp-card:hover img { transform: scale(1.05); }
.lp-card h3 { font-size: 1.65rem !important; font-weight: 500 !important; margin: 0 !important; }
.lp-card p { margin: .45rem 0 0 !important; font-size: .95rem; }
.lp-card .lp-card__meta {
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--lp-chile);
	margin-top: .8rem !important;
}
.lp-card a { text-decoration: none; }
.lp-card a::after { content: ""; position: absolute; inset: 0; }
.lp-card h3 a:hover { color: inherit; }

.lp-guac h2 em { color: var(--lp-gold); }
.lp-guac__price {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.6rem;
	color: var(--lp-gold);
	line-height: 1;
}

.lp-panel { padding: clamp(28px, 4vw, 52px) !important; height: 100%; }
.lp-panel h3 { font-size: clamp(1.8rem, 3vw, 2.4rem) !important; font-weight: 500 !important; }

.lp-map iframe {
	width: 100%;
	min-height: 380px;
	border: 0;
	filter: grayscale(.85) contrast(1.05) sepia(.15);
	display: block;
}
.lp-dark a:not(.wp-block-button__link) { color: inherit; }
.lp-dark a:not(.wp-block-button__link):hover { color: var(--lp-gold); }
.lp-details p { margin: 0 0 .25rem; }
.lp-details .is-style-eyebrow { margin-top: 1.6rem; margin-bottom: .45rem; }

/* Generic image treatments */
.lp-frame img { box-shadow: 18px 18px 0 var(--lp-arena); }
.lp-frame--gold img { box-shadow: 18px 18px 0 rgba(217, 164, 65, .35); }

/* Story page */
.lp-values {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 56px) !important;
}
.lp-values > * { margin: 0 !important; }
.lp-values h3 { font-size: 1.75rem !important; font-weight: 500 !important; margin-top: .4rem !important; }
.lp-values .lp-num {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 3rem;
	color: var(--lp-gold);
	line-height: 1;
	margin: 0;
}
@media (max-width: 781px) { .lp-values { grid-template-columns: minmax(0, 1fr); } }

/* Menu landing cards */
.lp-menucards .lp-card h3 { font-size: 1.85rem !important; }

/* ---------- Footer ---------- */
.lp-footer { font-size: .92rem; }
.lp-footer p { line-height: 1.8; }
.lp-footer a { text-decoration: none; color: var(--lp-crema); }
.lp-footer a:hover { color: var(--lp-gold); }
.lp-footer__seal { margin: 0 0 1rem !important; }
.lp-footer__brand { font-style: italic; font-size: 2.6rem !important; font-weight: 400 !important; margin: 0 0 .5rem !important; }
.lp-footer .is-style-eyebrow { margin-bottom: .8rem; }
.lp-family {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: .82rem;
}
.lp-family p { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; align-items: baseline; }
.lp-family__label { color: var(--lp-gold); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; font-size: .68rem; }
.lp-legal { margin-top: 1.25rem !important; font-size: .75rem; opacity: .75; }
.lp-legal p { margin: 0; }

/* ---------- Consumer advisory ---------- */
.lp-advisory {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--60);
	color: var(--lp-adobe);
}
.lp-advisory p { max-width: 720px; margin-left: auto; margin-right: auto; }

/* ---------- Gravity Forms ---------- */
.gform_wrapper.gravity-theme,
.gform-theme--framework {
	--gf-color-primary: var(--wp--preset--color--accent-1);
	--gf-color-primary-darker: var(--wp--preset--color--contrast);
	--gf-ctrl-border-color: color-mix(in srgb, var(--wp--preset--color--contrast) 22%, transparent);
	--gf-ctrl-radius: 0;
	--gf-ctrl-label-color-primary: var(--wp--preset--color--contrast);
	--gf-font-family-base: var(--wp--preset--font-family--manrope);
	--gf-ctrl-btn-radius: 0;
	--gf-ctrl-btn-font-weight: 700;
	--gf-ctrl-btn-text-transform: uppercase;
	--gf-ctrl-btn-letter-spacing: .14em;
	--gf-ctrl-btn-padding-x: 1.75rem;
	--gf-ctrl-size-md: 3rem;
}
.lp-formcard {
	background: var(--wp--preset--color--white);
	padding: clamp(24px, 4vw, 52px) !important;
	box-shadow: 0 30px 60px -30px rgba(22, 19, 15, .25);
}
.lp-formcard .gform_wrapper .gform_title { display: none; }

/* ---------- Section rhythm & helpers ---------- */
.lp-band { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.lp-mt { margin-top: var(--wp--preset--spacing--50) !important; }
.lp-band h2 em, .lp-quote h2 em, .lp-section__head h2 em { font-weight: 400; }
.lp-band:not(.lp-dark) h2 em { color: var(--lp-chile); }
.lp-dark h2 em { color: var(--lp-gold); }
.lp-band > .wp-block-columns { gap: clamp(32px, 6vw, 96px); }
.lp-cutout { text-align: center; }
.lp-bowls--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--wp--preset--spacing--60) !important; }
.lp-bowls--light img { filter: drop-shadow(0 26px 30px rgba(22, 19, 15, .28)); }
.lp-bowls--light p, .lp-section .lp-bowls p { color: var(--lp-adobe); }
.lp-dark .lp-bowls p { color: var(--lp-humo); }
.lp-section .lp-bowls { margin-top: var(--wp--preset--spacing--60) !important; }
.lp-section .lp-bowls h3 { font-size: 1.4rem !important; }
@media (max-width: 781px) { .lp-bowls--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .lp-bowls--3 h3 { font-size: 1.05rem !important; } }
.lp-photos--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lp-photos--2 > *:nth-child(3) { display: block; }
.lp-quote h2 { font-size: var(--wp--preset--font-size--xx-large); font-weight: 400; font-style: italic; }
.lp-section--note { padding-top: var(--wp--preset--spacing--50); color: var(--lp-adobe); }
.lp-family-cards h3 a { text-decoration: none; }
.lp-family-cards h3 a::after { content: " ↗"; font-size: .7em; color: var(--lp-chile); }
.lp-aguachile .lp-section__head { margin-bottom: var(--wp--preset--spacing--60) !important; }
.lp-strip .wp-block-group p:not(:last-child)::after { content: none; }
.lp-intro__plate { margin: 0 !important; }
.lp-menu-intro { padding-bottom: 0; }
.lp-menu-intro .lp-lede { max-width: 660px; margin-left: auto; margin-right: auto; color: var(--lp-adobe); }
.lp-menucards { margin-top: var(--wp--preset--spacing--60) !important; margin-bottom: var(--wp--preset--spacing--60) !important; }
.lp-guac.lp-panel h2 { margin-top: .3rem; }
.lp-guac .lp-guac__price { margin-top: 1rem; }
.lp-panel .wp-block-buttons { margin-top: 1.5rem; }
.lp-visit .lp-details { margin-top: 1.5rem !important; }
.lp-dark .lp-section__note { color: var(--lp-humo) !important; }
.lp-dark .lp-pricebadge { color: var(--lp-gold); border-color: rgba(217, 164, 65, .5); }
.lp-dark .wp-block-separator.is-style-zigzag { color: var(--lp-gold) !important; }
.lp-bowls { align-items: end; }

/* Gravity Forms Orbital overrides (form styles are injected per-form with ID specificity) */
.lp-formcard .gform_wrapper.gform-theme--framework {
	--gf-color-primary: #B4442E !important;
	--gf-color-primary-rgb: 180, 68, 46 !important;
	--gf-color-primary-darker: #16130F !important;
	--gf-color-primary-lighter: #D9A441 !important;
	--gf-color-in-ctrl-primary: #B4442E !important;
	--gf-ctrl-border-color: rgba(22, 19, 15, .22) !important;
	--gf-radius: 0 !important;
	--gf-ctrl-radius: 0 !important;
	--gf-ctrl-btn-radius: 0 !important;
	--gf-font-family-base: Manrope, "Helvetica Neue", Arial, sans-serif !important;
	--gf-ctrl-label-color-primary: #16130F !important;
}
.lp-formcard .gform_wrapper .gform_footer input[type="submit"],
.lp-formcard .gform_wrapper .gform_footer .gform_button {
	background: #B4442E !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-size: .8125rem !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	padding: .95rem 1.75rem !important;
	min-height: 0 !important;
	transition: background .25s;
}
.lp-formcard .gform_wrapper .gform_footer input[type="submit"]:hover { background: #16130F !important; }
.lp-formcard .gform_wrapper .gfield_label { font-weight: 600 !important; letter-spacing: .02em; }
.lp-list li strong { flex-basis: 3.4rem; white-space: nowrap; }
.lp-map { background: #1B1D18; min-height: 380px; }

/* =====================================================================
   TROPICAL / FESTIVE LAYER
   ===================================================================== */

/* Script accents — echo the hand-lettered "Las Palmas" and "Fiesta" of the printed menu */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--script) !important;
	font-size: clamp(1.5rem, 2.2vw, 1.9rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.1;
	color: var(--lp-chile);
	margin-bottom: 0 !important;
}
.lp-details .is-style-eyebrow,
.lp-footer .is-style-eyebrow,
.lp-family-cards .is-style-eyebrow {
	font-family: var(--wp--preset--font-family--manrope) !important;
	font-size: .7rem !important;
	font-weight: 800 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
}
.lp-family-cards .is-style-eyebrow { color: var(--lp-turq); }

h1 em, h2 em, h3 em { font-style: italic; }
.lp-band:not(.lp-dark) h2 em { color: var(--lp-chile); }

/* Pill buttons */
.wp-block-button__link { border-radius: 999px !important; }
.wp-block-button:not(.is-style-ghost) .wp-block-button__link { box-shadow: 0 10px 24px -12px rgba(181, 18, 27, .75); }

/* Tri-colour zigzag (coral · mango · turquoise) */
.wp-block-separator.is-style-zigzag,
.lp-section__head .wp-block-separator,
.lp-dark .wp-block-separator.is-style-zigzag {
	background: linear-gradient(90deg, var(--lp-chile) 0 33%, #E9B92C 33% 66%, var(--lp-lima) 66%) !important;
	-webkit-mask: var(--lp-zig) repeat-x left center / 20px 10px;
	mask: var(--lp-zig) repeat-x left center / 20px 10px;
	width: 140px;
	max-width: 140px;
}

/* ---------- Header with hanging papel picado ---------- */
.lp-header { position: relative; z-index: 60; }
.lp-topbar { background: var(--lp-deep); border-bottom: 0; color: var(--lp-humo); }
.lp-mainbar { padding-bottom: 1.4rem; }
.lp-header::after {
	content: "";
	position: absolute;
	left: 0; right: 0;
	bottom: -44px;
	height: 56px;
	background: var(--lp-picado) repeat-x 0 0 / 270px 56px;
	pointer-events: none;
	filter: drop-shadow(0 6px 6px rgba(0, 0, 0, .18));
}
.lp-brand .wp-block-site-title { font-size: 2.6rem; }
.lp-brand .wp-block-site-title a { color: #fff; }
.lp-brand__tag { color: var(--lp-gold); letter-spacing: .3em; margin-top: .15rem !important; }
.lp-nav .wp-block-navigation__submenu-container { background: var(--lp-noche) !important; border-color: rgba(245, 207, 69, .35) !important; border-radius: 6px; }
@media (max-width: 781px) {
	.lp-brand .wp-block-site-title { font-size: 2.1rem; }
	.lp-header::after { bottom: -38px; height: 48px; background-size: 232px 48px; }
}

/* ---------- Palm fronds framing the dark bands ---------- */
.lp-titleband, .lp-hero, .lp-guac.lp-band, .lp-quote, .lp-footer, .lp-aguachile, .lp-visit { position: relative; overflow: hidden; isolation: isolate; }
.lp-titleband::before, .lp-titleband::after,
.lp-hero::before, .lp-hero::after,
.lp-guac.lp-band::before, .lp-guac.lp-band::after,
.lp-quote::before, .lp-quote::after,
.lp-footer::before, .lp-aguachile::before, .lp-visit::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: clamp(260px, 34vw, 520px);
	aspect-ratio: 640 / 620;
	background: #2A5B33;
	opacity: .55;
	-webkit-mask: var(--lp-frond) no-repeat center / contain;
	mask: var(--lp-frond) no-repeat center / contain;
	pointer-events: none;
	inset: auto;
	height: auto;
}
/* left frond reaches in from bottom-left, right frond from top-right */
.lp-titleband::before, .lp-hero::before, .lp-guac.lp-band::before, .lp-quote::before, .lp-footer::before {
	left: -6%; bottom: -18%; transform: rotate(8deg);
}
.lp-titleband::after, .lp-hero::after, .lp-guac.lp-band::after, .lp-quote::after {
	right: -8%; top: -10%; transform: scale(-1, 1) rotate(28deg);
}
.lp-aguachile::before { right: -10%; bottom: -14%; transform: scale(-1, 1) rotate(-6deg); opacity: .4; }
.lp-visit::before { left: -8%; top: -12%; transform: rotate(40deg); opacity: .35; }
.lp-footer::before { opacity: .3; }
.lp-hero::before { opacity: .5; width: clamp(300px, 38vw, 600px); }
.lp-hero::after { opacity: .45; width: clamp(320px, 40vw, 640px); right: -12%; top: -14%; }
.lp-guac.lp-band::before, .lp-guac.lp-band::after { background: #6A8A2E; opacity: .5; }

/* Title band: lagoon, sunset glow, tri-colour zigzag hem */
.lp-titleband {
	padding-top: clamp(96px, 11vw, 150px) !important;
	background-color: var(--lp-noche) !important;
	background-image:
		radial-gradient(ellipse 50% 85% at 50% 125%, rgba(255, 225, 77, .30), transparent 70%),
		radial-gradient(ellipse 70% 60% at 50% 120%, rgba(181, 18, 27, .30), transparent 75%),
		linear-gradient(180deg, #12301F 0%, #173D27 100%) !important;
}
.lp-titleband .wp-block-post-title { font-weight: 300; }
.lp-titleband .is-style-eyebrow { color: var(--lp-gold); font-size: clamp(1.7rem, 2.6vw, 2.2rem) !important; }
.lp-titleband__lede { color: var(--lp-humo); }

/* Hero: sunset disc behind the plate */
.lp-hero {
	padding-top: clamp(96px, 10vw, 150px) !important;
	background-image:
		linear-gradient(180deg, #12301F 0%, #163A25 60%, #1A442A 100%) !important;
}
.lp-hero__visual { position: relative; isolation: isolate; }
.lp-hero__ring {
	position: absolute;
	z-index: -1;
	inset: 4% 2% 6% 6%;
	border: 0;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 40%, #FFF6D2 0%, #FCEB9A 34%, #FFE14D 70%, rgba(255, 225, 77, 0) 71%);
	box-shadow: 0 0 140px 24px rgba(255, 225, 77, .18);
}
.lp-hero__ring::after {
	content: "";
	position: absolute;
	inset: -7%;
	border-radius: 50%;
	border: 1px dashed rgba(252, 235, 154, .45);
	animation: lp-spin 80s linear infinite;
}
@keyframes lp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lp-hero__ring::after { animation: none; } }
.lp-hero h1 { font-weight: 300; }
.lp-hero h1 em { color: var(--lp-gold); font-weight: 300; }
.lp-hero .is-style-eyebrow { color: var(--lp-gold); font-size: clamp(1.7rem, 2.4vw, 2.1rem) !important; }
.lp-hero .lp-lede { color: var(--lp-humo); }

/* Strip: mango band with palm glyph separators */
.lp-strip { background: var(--lp-gold) !important; }
.lp-strip p { display: inline-flex; align-items: center; gap: .6rem; }
.lp-strip p::before {
	content: "";
	width: 18px; height: 18px;
	background: var(--lp-ink);
	-webkit-mask: url("assets/images/palm-seal.svg") no-repeat center / contain;
	mask: url("assets/images/palm-seal.svg") no-repeat center / contain;
	opacity: .8;
}

/* Arched frames — a nod to hacienda doorways and coastal arcades */
.lp-card figure, .lp-card img { border-radius: 200px 200px 6px 6px / 150px 150px 6px 6px; }
.lp-card img { aspect-ratio: 4 / 3.4; }
.lp-photos figure, .lp-photos img { border-radius: 6px; }
.lp-photos figcaption { font-family: var(--wp--preset--font-family--script) !important; font-style: normal !important; font-size: 1.6rem !important; }
.lp-frame img { border-radius: 220px 220px 8px 8px / 170px 170px 8px 8px; box-shadow: 16px 16px 0 var(--lp-gold); }
.lp-card h3 { font-size: 1.55rem !important; }
.lp-card .lp-card__meta { color: var(--lp-turq); }

/* Menu items */
.lp-item__name { font-weight: 500 !important; }
.lp-item__head::after { border-bottom-style: dotted; border-color: color-mix(in srgb, var(--lp-lima) 70%, transparent); }
.lp-item__price { font-weight: 500; }
.lp-item--feature {
	background: linear-gradient(135deg, #12301F, #1A442A) !important;
	border-radius: 10px;
	overflow: hidden;
	isolation: isolate;
}
.lp-item--feature::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -60px; top: -70px;
	width: 300px; aspect-ratio: 640 / 620;
	background: #2A5B33;
	opacity: .55;
	-webkit-mask: var(--lp-frond) no-repeat center / contain;
	mask: var(--lp-frond) no-repeat center / contain;
	transform: scale(-1, 1) rotate(20deg);
}
.lp-item--feature::before {
	content: "¡Especialidad!";
	font-family: var(--wp--preset--font-family--script);
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lp-gold);
	margin-bottom: .2rem;
}
.lp-pricebadge { border-color: var(--lp-turq); color: var(--lp-agave); background: color-mix(in srgb, var(--lp-turq) 10%, transparent); }
.lp-dark .lp-pricebadge { color: var(--lp-gold); background: rgba(242, 169, 59, .08); }
.lp-list li strong { color: var(--lp-turq); }
.lp-item__options span + span::before { color: var(--lp-turq); }
.lp-item__tag { color: var(--lp-agave); }

/* Menu category nav: sand with coral active pill */
.lp-menunav { background: color-mix(in srgb, var(--lp-arena) 92%, transparent); }
.lp-menunav__inner a[aria-current="page"] { background: var(--lp-chile); color: #fff; }
.lp-menunav__all { color: var(--lp-agave) !important; }

/* Alternate sections on menu pages get a warm sand wash */
.lp-menu > .lp-section:nth-child(even of .lp-section) {
	position: relative;
}
.lp-menu > .lp-section:nth-child(even of .lp-section)::before {
	content: "";
	position: absolute;
	inset: 0 calc(50% - 50vw);
	z-index: -1;
	background: var(--lp-arena);
	opacity: .55;
}
.lp-menu { isolation: isolate; overflow-x: clip; }
.lp-menu > .lp-section { padding-bottom: var(--wp--preset--spacing--40); }

/* Guacamole band */
.lp-guac h2 em { color: var(--lp-gold); }
.lp-guac .is-style-eyebrow { color: var(--lp-gold); }
.lp-guac__price { color: var(--lp-gold); }
.lp-guac.lp-panel { border-radius: 10px; }

/* Panels */
.lp-panel { border-radius: 10px; }
.lp-panel.has-accent-5-background-color { background: var(--lp-arena) !important; }

/* Quote band */
.lp-quote h2 { font-weight: 300; }

/* Visit */
.lp-map { border-radius: 10px; overflow: hidden; }

/* Footer: deep lagoon with picado hem on top */
.lp-footer {
	background: var(--lp-deep) !important;
	padding-top: calc(var(--wp--preset--spacing--70) + 40px) !important;
}
.lp-footer::after {
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 56px;
	background: var(--lp-picado) repeat-x 0 0 / 270px 56px;
	pointer-events: none;
}
.lp-footer__brand { font-family: var(--wp--preset--font-family--script) !important; font-style: normal !important; font-size: 3.2rem !important; color: #fff; }
.lp-footer .is-style-eyebrow { color: var(--lp-gold); }
.lp-family__label { color: var(--lp-gold); }

/* Forms */
.lp-formcard { border-radius: 12px; border-top: 6px solid var(--lp-turq); }
.lp-formcard .gform_wrapper .gform_footer input[type="submit"],
.lp-formcard .gform_wrapper .gform_footer .gform_button { border-radius: 999px !important; }
.lp-formcard .gform_wrapper.gform-theme--framework { --gf-ctrl-radius: 6px !important; }

/* Bowls float a touch on hover */
.lp-dark .lp-bowls h3 { color: #fff; }
.lp-hero__plate { width: 86%; margin-left: auto !important; margin-right: 4% !important; }
.lp-hero__ring { inset: -4% -6% auto auto; width: 62%; aspect-ratio: 1; }
.lp-hero__ring::after { inset: -12%; }
@media (max-width: 781px) { .lp-hero__ring { width: 70%; inset: -6% -4% auto auto; } .lp-hero__plate { width: 100%; margin: 0 auto !important; } }
.lp-intro { background: radial-gradient(circle at 24% 50%, rgba(242, 169, 59, .28), transparent 34%), radial-gradient(circle at 24% 50%, rgba(43, 165, 155, .10), transparent 52%); }

.lp-menunav { margin-top: 0 !important; }
.lp-main--menu > * { margin-block: 0; }
.lp-menu > .lp-bowls--3 + .lp-section { margin-top: var(--wp--preset--spacing--50) !important; }


/* =====================================================================
   LOGO-MATCHED COLOUR PASS — red script, lime palms, sun yellow, purple tagline
   ===================================================================== */
::selection { background: var(--lp-sun); color: var(--lp-ink); }

/* Script eyebrows take the tagline purple on light grounds, sun-gold on dark */
.is-style-eyebrow { color: var(--lp-morado); }
.lp-dark .is-style-eyebrow,
.has-accent-6-background-color .is-style-eyebrow,
.has-accent-3-background-color .is-style-eyebrow,
.lp-titleband .is-style-eyebrow,
.lp-hero .is-style-eyebrow { color: var(--wp--preset--color--accent-2) !important; }
.lp-band:not(.lp-dark) h2 em { color: var(--lp-chile); }
.lp-dark h2 em, .lp-hero h1 em, .lp-guac h2 em { color: var(--wp--preset--color--accent-2); }

/* Buttons: logo red; hover to sun on dark, ink on light */
.wp-block-button:not(.is-style-ghost) .wp-block-button__link { background: linear-gradient(180deg, #D0202A, #B5121B); }
.wp-block-button:not(.is-style-ghost) .wp-block-button__link:hover { background: var(--lp-ink); color: #fff; }
.lp-dark .wp-block-button:not(.is-style-ghost) .wp-block-button__link:hover,
.has-accent-6-background-color .wp-block-button:not(.is-style-ghost) .wp-block-button__link:hover { background: var(--wp--preset--color--accent-2); color: var(--lp-ink); }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--wp--preset--color--accent-2); border-color: var(--wp--preset--color--accent-2); color: var(--lp-ink); }

/* Header: the logo hangs like a sign over the papel picado */
.lp-mainbar { padding-top: .6rem; padding-bottom: .6rem; }
.lp-brand { position: relative; z-index: 3; margin-bottom: -58px !important; }
.lp-brand__logo { margin: 0 !important; }
.lp-brand__logo img { width: 132px !important; height: auto; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .35)); transition: transform .6s var(--lp-ease); }
.lp-brand__logo a:hover img { transform: rotate(-3deg) scale(1.03); }
.lp-header__actions { align-self: flex-start; padding-top: 1.1rem; }
.lp-header::after { z-index: 1; }
@media (max-width: 781px) {
	.lp-brand { margin-bottom: -40px !important; }
	.lp-brand__logo img { width: 92px !important; }
	.lp-header__actions { padding-top: .6rem; }
}

/* Footer logo */
.lp-footer__logo { margin: 0 0 1.2rem !important; }
.lp-footer__logo img { filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .3)); }
.lp-footer .is-style-eyebrow { color: var(--wp--preset--color--accent-2) !important; }
.lp-family__label { color: var(--wp--preset--color--accent-2); }

/* Accents */
.lp-strip { background: linear-gradient(90deg, #F5CF45, #FCE27A 50%, #F5CF45) !important; }
.lp-pricebadge { border-color: var(--lp-lima); color: var(--wp--preset--color--accent-3); background: color-mix(in srgb, var(--lp-lima) 14%, transparent); }
.lp-dark .lp-pricebadge { color: var(--wp--preset--color--accent-2); border-color: rgba(245, 207, 69, .5); background: rgba(245, 207, 69, .08); }
.lp-card .lp-card__meta { color: var(--wp--preset--color--accent-3); }
.lp-list li strong { color: var(--lp-chile); }
.lp-item__options span + span::before { color: var(--lp-lima); }
.lp-menunav__all { color: var(--lp-morado) !important; }
.lp-frame img { box-shadow: 16px 16px 0 #F5CF45; }
.lp-formcard { border-top-color: var(--lp-lima); }
.lp-family-cards .is-style-eyebrow { color: var(--wp--preset--color--accent-3); }
.lp-item--feature::before { color: var(--wp--preset--color--accent-2); }
.lp-values .lp-num { color: var(--lp-chile); }
.lp-intro { background: radial-gradient(circle at 24% 50%, rgba(255, 225, 77, .32), transparent 34%), radial-gradient(circle at 24% 50%, rgba(155, 174, 58, .12), transparent 52%); }
.lp-dark .lp-bowls p, .lp-titleband__lede, .lp-hero .lp-lede { color: var(--wp--preset--color--accent-7); }
.lp-formcard .gform_wrapper.gform-theme--framework { --gf-color-primary: #B5121B !important; --gf-color-primary-rgb: 181, 18, 27 !important; --gf-color-primary-lighter: #F5CF45 !important; --gf-color-in-ctrl-primary: #B5121B !important; }
.lp-formcard .gform_wrapper .gform_footer input[type="submit"] { background: #B5121B !important; }
.lp-mainbar, .lp-mainbar > .alignwide { position: relative; z-index: 5; }
.lp-brand { position: relative !important; z-index: 6 !important; margin-bottom: -104px !important; }
.lp-brand__logo img { width: 176px !important; }
.lp-header::after { z-index: 2; }
.lp-hero { padding-top: clamp(130px, 12vw, 170px) !important; }
.lp-titleband { padding-top: clamp(140px, 13vw, 180px) !important; }
@media (max-width: 781px) {
	.lp-brand { margin-bottom: -64px !important; }
	.lp-brand__logo img { width: 112px !important; }
	.lp-hero, .lp-titleband { padding-top: 120px !important; }
}
.lp-header::after { z-index: -1 !important; }
@media (max-width: 781px) {
	.lp-brand { margin-bottom: 0 !important; }
	.lp-brand__logo img { width: 92px !important; }
	.lp-mainbar { padding-bottom: .9rem; }
	.lp-header__actions { align-self: center; padding-top: 0; }
	.lp-hero, .lp-titleband { padding-top: 84px !important; }
}

/* Logo sits entirely within the menu bar; papel picado hangs below it */
.lp-brand { margin-bottom: 0 !important; }
.lp-brand__logo img { width: 118px !important; }
.lp-mainbar { padding-top: .75rem; padding-bottom: 1rem; }
.lp-header__actions { align-self: center; padding-top: 0; }
.lp-hero, .lp-titleband { padding-top: clamp(96px, 10vw, 140px) !important; }
@media (max-width: 781px) {
	.lp-brand__logo img { width: 92px !important; }
	.lp-hero, .lp-titleband { padding-top: 84px !important; }
}

/* Larger menu text */
.lp-nav { font-size: .95rem !important; letter-spacing: .1em !important; }
.lp-nav .wp-block-navigation__container { gap: clamp(1.1rem, 2.2vw, 2.25rem) !important; }
.lp-header__cta .wp-block-button__link { font-size: .875rem; padding: .8rem 1.6rem; }

/* =====================================================================
   LIGHT HEADER — cream bar so the full-colour logo reads at its best
   ===================================================================== */
.lp-header { background: var(--lp-crema) !important; color: var(--lp-ink); box-shadow: 0 1px 0 rgba(31, 27, 34, .06); }
.lp-mainbar { background: var(--lp-crema); padding-top: .8rem; padding-bottom: 1.1rem; }
.lp-brand__logo img { filter: none; }
.lp-nav, .lp-nav .wp-block-navigation-item__content { color: var(--lp-ink) !important; }
.lp-nav .wp-block-navigation-item__content:hover { color: var(--lp-chile) !important; }
.lp-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { background: var(--lp-chile); height: 2px; }
.lp-nav .wp-block-navigation__submenu-container {
	background: var(--lp-crema) !important;
	border: 1px solid rgba(31, 27, 34, .1) !important;
	box-shadow: 0 24px 50px -20px rgba(31, 27, 34, .3);
}
.lp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--lp-ink) !important; }
.lp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--lp-chile) !important; background: var(--lp-arena); }
.lp-nav .wp-block-navigation__responsive-container-open svg,
.lp-nav .wp-block-navigation__responsive-container-close svg { fill: var(--lp-ink); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--lp-adobe) !important; }
.lp-header__cta .wp-block-button__link { color: #fff !important; }
.lp-header__cta .wp-block-button__link:hover { background: var(--lp-ink) !important; color: #fff !important; }
/* topbar stays jungle green as a slim frame above the cream bar */
.lp-topbar { background: var(--lp-noche); color: var(--wp--preset--color--accent-7); }
.lp-topbar a:hover { color: var(--wp--preset--color--accent-2); }

/* Papel picado straddles the cream/green seam */
.lp-mainbar { background: transparent !important; padding-top: .35rem !important; padding-bottom: 34px !important; }
.lp-header::after { bottom: -30px !important; height: 56px !important; z-index: 1 !important; }
.lp-mainbar, .lp-mainbar > .alignwide { z-index: 5; }
@media (max-width: 781px) {
	.lp-mainbar { padding-bottom: 28px !important; }
	.lp-header::after { bottom: -26px !important; height: 48px !important; }
}
.lp-mainbar { padding-top: 0 !important; }
.lp-brand__logo img { margin-top: -2px; }


/* Subtle palm-frond texture in the cream header.
   Anchored to the header's content box (not the viewport) so it always clears the logo,
   and faded out toward the bottom so nothing reaches the papel picado. */
.lp-mainbar { overflow: hidden; padding-top: .9rem !important; padding-bottom: 38px !important; }
.lp-mainbar > .alignwide { position: relative; z-index: 5; isolation: isolate; }
.lp-mainbar > .alignwide::before,
.lp-mainbar > .alignwide::after {
	content: "";
	position: absolute;
	z-index: -1;
	aspect-ratio: 640 / 620;
	background: #E8DAB8;
	opacity: .5;
	pointer-events: none;
	-webkit-mask: var(--lp-frond) no-repeat center / contain, linear-gradient(180deg, #000 45%, transparent 78%);
	-webkit-mask-composite: source-in;
	mask: var(--lp-frond) no-repeat center / contain, linear-gradient(180deg, #000 45%, transparent 78%);
	mask-composite: intersect;
}
/* left frond starts just past the logo (logo is 118px wide) */
.lp-mainbar > .alignwide::before { left: 150px; top: -70px; width: 250px; transform: rotate(-14deg); }
/* right frond tucks in behind the Reserve button */
.lp-mainbar > .alignwide::after { right: -70px; top: -80px; width: 260px; transform: scale(-1, 1) rotate(6deg); }
@media (max-width: 1100px) { .lp-mainbar > .alignwide::before { display: none; } }
@media (max-width: 781px) {
	.lp-mainbar { padding-top: .7rem !important; padding-bottom: 30px !important; }
	.lp-mainbar > .alignwide::after { width: 200px; right: -70px; top: -60px; }
}

/* Mainbar butts directly against the green top bar (no flow-layout block gap) */
.lp-header > .lp-mainbar { margin-block-start: 0 !important; padding-top: 2.25rem !important; }
@media (max-width: 781px) { .lp-header > .lp-mainbar { padding-top: 1.5rem !important; } }
