/*
Theme Name: Taragalte Glamping
Theme URI: https://taragalteparkcamp.com
Author: Taragalte
Author URI: https://taragalteparkcamp.com
Description: Quiet luxury in the desert — a block theme for the Taragalte glamping camp in the Drâa Valley, Morocco. Restrained editorial quiet-luxury design (cream, ink, moss), Playfair Display + Inter Tight (Google Fonts), and a fully custom request-to-book engine (availability, seasonal/occupancy pricing, deposits, weather, WhatsApp). No WooCommerce. Translation-ready (en/fr/ar/es, RTL).
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
Version: 1.1.0
License: GPL-2.0-or-later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: taragalte-glamping
Tags: block-patterns, full-site-editing, custom-colors, custom-menu, translation-ready, editor-style, wide-blocks, rtl-language-support

Copyright © 2026 Taragalte Park Camp. GPL v2 or later.
*/

/*
 * Design CSS for the Taragalte block theme.
 *
 * Global styles are compiled from src/styles/main.css via Vite + Tailwind CSS v4
 * into assets/css/taragalte.css. This file carries the theme header and the
 * fallback styles that render when the compiled build is absent. Palette and
 * font colours reference theme.json preset slugs — never hardcoded hex here.
 */

/* === reset === */
.wp-site-blocks > * + * { margin-block-start: 0; }
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { height: auto; }

/* === section spacing === */
.tg-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.tg-section--flush-top { padding-top: 0; }

/* === labels / eyebrows === */
.tg-eyebrow {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 1rem;
}

/* === header === */
.tg-site-header {
	background: var(--wp--preset--color--cream-100);
	border-bottom: 1px solid rgba(26, 25, 23, 0.14);
	position: sticky;
	top: 0;
	z-index: 50;
}
.tg-header-inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-block: 1rem;
	padding-inline: var(--wp--style--root--padding-left);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.tg-site-header .tg-brand-name {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(1.5rem, 2.2vw, 1.75rem);
	line-height: 1.1;
	letter-spacing: -0.01em;
	margin: 0;
}
.tg-brand-sub {
	margin: 0;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brown-500);
	align-self: center;
}
.tg-weather {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--wp--preset--color--brown-500);
	margin: 0.1rem 0 0;
	line-height: 1;
}
.tg-weather-icon { color: var(--wp--preset--color--gold-500); flex: 0 0 auto; }
.tg-weather-temp {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	font-variant-numeric: tabular-nums;
}
.tg-header-cta .wp-block-button__link { padding-block: 0.7rem; }

/* === buttons === */
.wp-block-button.is-style-secondary .wp-block-button__link {
	background: var(--wp--preset--color--palm-500);
	color: var(--wp--preset--color--cream-50);
	border-color: var(--wp--preset--color--palm-500);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--terracotta-700);
	border: 1px solid var(--wp--preset--color--terracotta-600);
}
.wp-block-button.is-style-outline-light .wp-block-button__link {
	background: rgba(252, 249, 243, 0.06);
	color: var(--wp--preset--color--cream-50);
	border: 1px solid rgba(252, 249, 243, 0.5);
}
.wp-block-button.is-style-chamfer .wp-block-button__link { border-radius: 0; }

/* === images === */
.wp-block-image.is-style-rounded-sm img { border-radius: 0; }
.is-style-rounded-sm { border-radius: 0; }

/* === group surfaces === */
.wp-block-group.is-style-night {
	background: var(--wp--preset--color--brown-900);
	color: var(--wp--preset--color--cream-100);
	padding: var(--wp--preset--spacing--60);
}
.wp-block-group.is-style-sand {
	background: var(--wp--preset--color--cream-200);
	padding: var(--wp--preset--spacing--60);
}

/* === home CTA band === */
.tg-home-cta {
	background: var(--wp--preset--color--cream-200);
	border-top: 1px solid var(--wp--preset--color--cream-300);
	padding-inline: var(--wp--style--root--padding-left);
	padding-block: var(--wp--preset--spacing--70);
}

/* === footer === */
.tg-site-footer { background: var(--wp--preset--color--brown-900); color: var(--wp--preset--color--cream-100); }
.tg-social-row { padding-top: 1.5rem; padding-bottom: 0.5rem; }
.tg-social-row .wp-block-social-links { gap: 1rem; }
.tg-site-footer .wp-block-social-links .wp-social-link,
.tg-site-footer .wp-block-social-links .wp-social-link a { color: var(--wp--preset--color--cream-200); background: transparent; }
.tg-site-footer .wp-block-social-links .wp-social-link:hover,
.tg-site-footer .wp-block-social-links .wp-social-link:hover a { color: var(--wp--preset--color--cream-50); background: transparent; }
.tg-site-footer .wp-block-social-links .wp-social-link svg { fill: currentColor; }
.tg-site-footer .alignwide { padding-block: var(--wp--preset--spacing--70); }
.tg-site-footer .wp-block-columns { margin-block: 0; }
.tg-site-footer a { color: var(--wp--preset--color--cream-200); }
.tg-site-footer a:hover { color: var(--wp--preset--color--gold-300); }
.tg-site-footer .wp-block-navigation .wp-block-navigation-item a { color: var(--wp--preset--color--cream-200); }
.tg-site-footer .wp-block-navigation .wp-block-navigation-item a:hover { color: var(--wp--preset--color--gold-300); }
.tg-footer-base {
	border-top: 1px solid rgba(252, 249, 243, 0.14);
	padding-block: 1.25rem var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--sand-400);
}

/* === page hero === */
.tg-page-hero { background: var(--wp--preset--color--cream-100); border-bottom: 1px solid var(--wp--preset--color--cream-300); }
.tg-page-hero .alignwide { padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60); }

/* === stays archive === */
.tg-stays-intro { background: var(--wp--preset--color--cream-100); border-bottom: 1px solid var(--wp--preset--color--cream-300); }
.tg-stays-intro .alignwide { padding-block: var(--wp--preset--spacing--70); }
.tg-stays-grid { padding-block: var(--wp--preset--spacing--70); }

.tg-site-grid { display: grid; grid-template-columns: repeat(var(--tg-cols, 3), 1fr); gap: var(--wp--preset--spacing--50); }
.wp-block-query .tg-card-grid { max-width: none; }
.wp-block-group.alignwide .tg-experiences,
.wp-block-group.alignwide .tg-stats,
.wp-block-group.alignwide .tg-testimonials { max-width: none; }
.tg-section > .tg-experiences,
.tg-section > .tg-testimonials { max-width: none; }
.tg-site-grid, .wp-block-query .tg-card-grid { grid-row-gap: var(--wp--preset--spacing--60); }
.tg-stay-card {
	background: transparent;
	border: 1px solid rgba(26, 25, 23, 0.14);
	border-radius: 0;
	overflow: hidden;
}
.tg-card-media { display: block; overflow: hidden; aspect-ratio: 4/3; background: var(--wp--preset--color--cream-200); }
.tg-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--wp--custom--ease); }
.tg-stay-card:hover .tg-card-media img { transform: scale(1.04); }
.tg-card-media--empty { aspect-ratio: 4/3; }
.tg-card-body { padding: 1.5rem; }
.tg-card-type { display: flex; align-items: center; gap: 0.45rem; font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--terracotta-600); margin-bottom: 0.5rem; }

/* stay type icon + badge */
.tg-card-title { margin: 0 0 0.5rem; }

/* === blog cards === */
.tg-blog-card { background: transparent; border: 1px solid rgba(26, 25, 23, 0.14); border-radius: 0; overflow: hidden; }
.tg-blog-card:hover .tg-card-media img { transform: scale(1.04); }
.tg-blog-card .wp-block-post-date { margin-bottom: 0.5rem; }
.tg-card-title a { color: var(--wp--preset--color--brown-700); }
.tg-card-title a:hover { color: var(--wp--preset--color--terracotta-600); }
.tg-card-price { display: block; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--brown-500); margin-bottom: 0.75rem; }
.tg-card-amenities { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem; color: var(--wp--preset--color--accent-2); margin: 0 0 0.85rem; padding-bottom: 0.85rem; border-bottom: 1px solid rgba(26, 25, 23, 0.1); }
.tg-card-amenity { display: inline-flex; align-items: center; line-height: 0; }
.tg-card-amenity-icon { width: 18px; height: 18px; flex: 0 0 auto; }
.tg-card-excerpt { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--brown-500); margin-bottom: 1rem; }
.tg-card-cta { font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--terracotta-600); }
.tg-card-cta:hover { color: var(--wp--preset--color--terracotta-700); }

/* === experiences === */
.tg-experiences { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--wp--preset--spacing--50); }
.tg-experience { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.75rem 0; border: 0; border-top: 1px solid rgba(26, 25, 23, 0.14); background: transparent; }
.tg-experience-media { display: block; overflow: hidden; aspect-ratio: 4/3; margin: 0 0 1.25rem; text-decoration: none; }
.tg-experience-media img { width: 100%; height: 100%; object-fit: cover; }
.tg-experience-index { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--2-xl); line-height: 1; color: var(--wp--preset--color--terracotta-600); }
.tg-experience-title { margin: 0; }
.tg-experience-title a { color: var(--wp--preset--color--brown-700); }
.tg-experience-title a:hover { color: var(--wp--preset--color--terracotta-600); }
.tg-experience-desc { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--brown-500); margin: 0; }
.tg-experience-more { margin-top: 0.25rem; font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--terracotta-600); text-decoration: none; display: inline-flex; align-items: center; gap: 0.4rem; }
.tg-experience-more:hover { color: var(--wp--preset--color--terracotta-700); }
.tg-experience-more-arrow { transition: transform .3s var(--wp--custom--ease); }
.tg-experience-more:hover .tg-experience-more-arrow { transform: translateX(3px); }

/* === stats === */
.tg-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--wp--preset--spacing--50); text-align: center; }
.tg-stat { padding: var(--wp--preset--spacing--40); border-left: 1px solid var(--wp--preset--color--cream-300); }
.tg-stat:first-child { border-left: 0; }
.tg-stat-value { display: block; font-size: var(--wp--preset--font-size--4-xl); color: var(--wp--preset--color--terracotta-600); line-height: 1; }
.tg-stat-label { display: block; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--brown-500); margin-top: 0.75rem; }

/* === testimonials === */
.tg-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--50); }
.tg-testimonial { margin: 0; padding: 0; border-top: 2px solid var(--wp--preset--color--cream-300); padding-top: 1.25rem; }
.tg-testimonial-quote { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); line-height: 1.4; margin: 0 0 0.75rem; }
.tg-testimonial-name { font-style: normal; font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--terracotta-600); }

/* === faq accordion === */
.tg-faq { border-top: 1px solid var(--wp--preset--color--cream-300); }
.tg-faq-item { border-bottom: 1px solid var(--wp--preset--color--cream-300); }
.tg-faq-q { cursor: pointer; padding: 1.25rem 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); list-style: none; }
.tg-faq-q::-webkit-details-marker { display: none; }
.tg-faq-q::after { content: "+"; float: right; color: var(--wp--preset--color--terracotta-600); }
.tg-faq-item[open] .tg-faq-q::after { content: "–"; }
.tg-faq-a { color: var(--wp--preset--color--brown-500); padding-bottom: 1.25rem; max-width: 60ch; }

/* === price summary === */
.tg-price-summary { background: var(--wp--preset--color--cream-50); border: 1px solid var(--wp--preset--color--cream-300); border-radius: 4px; padding: var(--wp--preset--spacing--40); }
.tg-ps-label { font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--brown-500); }
.tg-ps-price { display: block; font-size: var(--wp--preset--font-size--3-xl); color: var(--wp--preset--color--terracotta-600); line-height: 1; margin: 0.35rem 0; }
.tg-ps-unit { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--brown-500); }
.tg-ps-row { display: flex; justify-content: space-between; border-top: 1px solid var(--wp--preset--color--cream-200); margin-top: 1rem; padding-top: 0.75rem; font-size: var(--wp--preset--font-size--sm); }

/* === booking form === */
.tg-book-rail { background: var(--wp--preset--color--cream-100); border: 1px solid var(--wp--preset--color--cream-300); border-radius: 4px; padding: var(--wp--preset--spacing--40); position: sticky; top: 6rem; }
.tg-booking-form, .tg-avail-search { display: grid; gap: 1rem; }
.tg-bf-grid, .tg-bf-contact { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.tg-bf-field { display: flex; flex-direction: column; gap: 0.35rem; font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--brown-500); }
.tg-bf-field input, .tg-bf-field select, .tg-bf-field textarea, .tg-avail-field input, .tg-avail-search select {
	border: 1px solid var(--wp--preset--color--cream-300); background: var(--wp--preset--color--cream-50); color: var(--wp--preset--color--brown-700); border-radius: 3px; padding: 0.7rem 0.8rem; font-family: inherit; font-size: 0.95rem; text-transform: none; letter-spacing: 0; width: 100%; box-sizing: border-box; min-width: 0;
}
.tg-bf-field input:focus, .tg-bf-field select:focus, .tg-bf-notes textarea:focus { outline: 2px solid var(--wp--preset--color--terracotta-600); outline-offset: 1px; }
.tg-bf-field.tg-bf-notes, .tg-bf-notes { grid-column: 1 / -1; }
.tg-bf-extras { border: 0; padding: 0; margin: 0.5rem 0 0; display: grid; gap: 0.5rem; }
.tg-bf-extras legend { font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--brown-500); margin-bottom: 0.5rem; }
.tg-bf-extra em { font-style: normal; color: var(--wp--preset--color--terracotta-600); }
.tg-hp { position: absolute !important; left: -9999px; } 
.tg-bf-quote { background: var(--wp--preset--color--cream-100); border: 1px solid var(--wp--preset--color--cream-300); border-radius: 4px; padding: 1rem; }
.tg-quote-lines { list-style: none; margin: 0 0 0.75rem; padding: 0; font-size: var(--wp--preset--font-size--sm); }
.tg-quote-lines li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.3rem 0; border-bottom: 1px solid var(--wp--preset--color--cream-200); }
.tg-quote-total { display: flex; justify-content: space-between; font-weight: 600; }
.tg-quote-meta { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--brown-500); margin: 0.5rem 0 0; }
.tg-bf-error { color: var(--wp--preset--color--terracotta-700); font-size: var(--wp--preset--font-size--sm); }
.tg-bf-submit { width: 100%; }
.tg-bf-success { padding: 1rem; text-align: center; }
.tg-bf-success-title { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); margin-bottom: 0.5rem; }
.tg-bf-success-ref { letter-spacing: 0.2em; color: var(--wp--preset--color--terracotta-600); }

/* === availability search === */
.tg-avail-search { grid-template-columns: repeat(3, minmax(0,1fr)) auto; align-items: end; gap: 1rem; }
.tg-avail-field { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--cream-200); }
.tg-avail-field input, .tg-avail-search select {
	min-width: 0; width: 100%; box-sizing: border-box;
	min-height: 48px; font-size: 16px; /* 16px prevents iOS auto-zoom on focus */
	background: rgba(252,249,243,0.08); border: 1px solid rgba(252,249,243,0.3); color: var(--wp--preset--color--cream-50);
}
.tg-avail-field input[type="date"] {
	-webkit-appearance: none; appearance: none;
	color-scheme: dark; /* native calendar icon + text render light on the dark field */
	padding-right: 2.6rem; /* keep the native calendar icon visible inside, never clipped */
}
/* Force the date-picker indicator white on WebKit/Blink */
.tg-avail-field input[type="date"]::-webkit-calendar-picker-indicator {
	filter: invert(1) brightness(1.6);
	opacity: 0.9;
	cursor: pointer;
}
.tg-avail-submit { min-height: 48px; border: 1px solid var(--wp--preset--color--gold-500); }

/* === camp menu === */
.tg-menu { margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--cream-300); }
.tg-menu-item { margin-top: var(--wp--preset--spacing--50); }
.tg-menu-item h4 { margin: 0; font-size: var(--wp--preset--font-size--lg); }
.tg-menu-item > p { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--terracotta-600); }
.tg-menu-desc { margin: 0.3rem 0 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--brown-500); }

/* === campground === */
.tg-camp-card { background: transparent; border: 1px solid rgba(26, 25, 23, 0.14); border-radius: 0; padding: var(--wp--preset--spacing--50); }
.tg-camp-card > h3 { margin-bottom: 1rem; }
.tg-camp-price { gap: 1rem; padding-block: 0.6rem; border-bottom: 1px solid var(--wp--preset--color--cream-200); font-size: var(--wp--preset--font-size--sm); }
.tg-camp-price p { margin: 0; }
.tg-camp-price p:last-child { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--md); color: var(--wp--preset--color--terracotta-600); white-space: nowrap; }
.tg-camp-note { margin: 1rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--wp--preset--color--cream-300); font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--brown-700); }
.tg-camp-img { overflow: hidden; border-radius: 0; }
.tg-camp-img img { object-fit: cover; transition: transform 600ms var(--wp--custom--ease); }
.tg-camp-img:hover img { transform: scale(1.04); }

/* === preset size var aliases ===
 * Core WordPress hyphenates numeric-leading font-size slugs (3xl -> --3-xl)
 * when defining the :root custom property but references the un-hyphenated
 * form (var(--wp--preset--font-size--3xl)) in generated element rules. Map
 * the aliases so heading sizing works on all environments (Gutenberg + core).
 */
:root {
	--wp--preset--font-size--2xl: var(--wp--preset--font-size--2-xl);
	--wp--preset--font-size--3xl: var(--wp--preset--font-size--3-xl);
	--wp--preset--font-size--4xl: var(--wp--preset--font-size--4-xl);
	--wp--preset--font-size--5xl: var(--wp--preset--font-size--5-xl);
}

/* === core post templates === */
.wp-block-post-title { font-size: var(--wp--preset--font-size--3xl); line-height: 1.15; }
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-date, .wp-block-post-author-name { font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--terracotta-600); margin-bottom: 1rem; }

/* === responsive === */
@media (max-width: 782px) {
	.tg-header-inner { flex-wrap: nowrap; gap: 0.75rem 1rem; }
	.tg-header-inner .tg-brand { flex: 1 1 auto; min-width: 0; flex-direction: column; align-items: flex-start; gap: 0.15rem; }
	.tg-site-header .tg-brand-name { font-size: 1.35rem; line-height: 1.05; }
	.tg-brand-sub { display: none; }
	.tg-weather { margin: 0.15rem 0 0; }
	.tg-header-cta { order: 2; align-self: center; }
	.tg-header-cta .wp-block-button__link { padding: 0.45rem 0.9rem; font-size: 0.8rem; line-height: 1.2; white-space: nowrap; }
	.tg-nav { order: 3; width: auto; margin-left: auto; align-self: center; }
	.tg-home-cta { padding-block: var(--wp--preset--spacing--50); }
	.tg-site-footer .alignwide { padding-block: var(--wp--preset--spacing--50); }
	.tg-site-grid, .tg-experiences, .tg-testimonials, .tg-stats { grid-template-columns: 1fr; }
	.tg-stats { grid-template-columns: repeat(2, 1fr); }
	.tg-stat:nth-child(3) { border-left: 0; }
	.tg-bf-grid, .tg-bf-contact { grid-template-columns: 1fr; }
	.tg-book-rail { position: static; } /* stacked on phones; sticky is only useful side-by-side on desktop */
	.tg-booking-form .tg-bf-field input, .tg-booking-form .tg-bf-field select, .tg-booking-form .tg-bf-field textarea { min-height: 48px; font-size: 16px; } /* tappable + no iOS focus-zoom */
	.tg-stays-intro .alignwide { padding-block: var(--wp--preset--spacing--50); }
}

/* === availability search responsive === */
/* Tablet: two columns — dates side by side, then guests + button. */
@media (min-width: 640px) and (max-width: 1024px) {
	.tg-avail-search { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}
/* Phone: every control full-width in a single stacked column. */
@media (max-width: 639px) {
	.tg-avail-search { grid-template-columns: 1fr; gap: 1rem; }
}

/* === WhatsApp FAB === */
.tg-wa-fab {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 90;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--palm-500);
	color: var(--wp--preset--color--cream-50);
	box-shadow: var(--wp--preset--shadow--lift);
	transition: transform .4s var(--wp--custom--ease), background .4s var(--wp--custom--ease);
}
.tg-wa-fab:hover { background: var(--wp--preset--color--palm-600); transform: translateY(-3px); color: var(--wp--preset--color--cream-50); }
html[dir="rtl"] .tg-wa-fab { right: auto; left: 1.25rem; }

/* === RTL === */
html[dir="rtl"] body, html[dir="rtl"] .tg-header-inner,
html[dir="rtl"] .tg-brand-name, html[dir="rtl"] .tg-card-price, html[dir="rtl"] .tg-stat-value {
	font-family: var(--wp--preset--font-family--arabic), sans-serif;
}

/* === motion === */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* === sticky split (home) === */
.tg-split { display: grid; grid-template-columns: minmax(0, 46vw) minmax(0, 54vw); align-items: stretch; min-height: 100vh; }
.tg-split-pane { min-width: 0; }
.tg-split-left { position: relative; overflow: hidden; }
.tg-split-left.has-global-padding { padding: 0; }
.tg-split-left.is-sticky { position: sticky; top: 0; height: 100vh; }
.tg-split-left .wp-block-cover { min-height: 100vh !important; }
.tg-split-cap { margin: 0; }
.tg-split-right { background: var(--wp--preset--color--cream-100); border-left: 1px solid rgba(26, 25, 23, 0.14); }
.tg-split-right > * + * { margin-block-start: 0; }
.tg-split-section { padding-block: clamp(4rem, 9vh, 7rem); padding-inline: clamp(1.75rem, 5vw, 4.5rem); border-bottom: 1px solid rgba(26, 25, 23, 0.12); }
.tg-split-section:last-child { border-bottom: 0; }
.tg-split-right .wp-block-columns, .tg-split-right .alignwide { max-width: none; }
/* keep dynamic grids usable in the narrower pane */
.tg-split-right .tg-site-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); }
.tg-split-right .tg-experiences { grid-template-columns: 1fr; }
.tg-split-right .tg-stats { grid-template-columns: repeat(2, 1fr); }
.tg-split-right .tg-testimonials { grid-template-columns: 1fr; row-gap: var(--wp--preset--spacing--50); }
.tg-split-right .tg-home-cta { border-top: 1px solid rgba(26, 25, 23, 0.12); }

@media (max-width: 900px) {
	.tg-split { grid-template-columns: 1fr; }
	.tg-split-left.is-sticky { position: relative; height: auto; }
	.tg-split-left .wp-block-cover { min-height: 60vw !important; }
	.tg-split-right { border-left: 0; }
	.tg-split-section { padding-block: clamp(3rem, 8vw, 4.5rem); padding-inline: var(--wp--style--root--padding-left); }
	.tg-split-right .tg-site-grid, .tg-split-right .tg-experiences, .tg-split-right .tg-stats, .tg-split-right .tg-testimonials { grid-template-columns: 1fr; }
}

/* === single stay === */
.tg-stay-hero .wp-block-post-terms { margin-bottom: 1rem; }
.tg-stay-eyebrow { text-transform: uppercase; letter-spacing: 0.2em; }
.tg-stay-hero .wp-block-post-terms a { color: var(--wp--preset--color--gold-300); text-decoration: none; }
.tg-hero-meta { margin-top: 1.25rem; opacity: 0.85; letter-spacing: 0.14em; text-transform: uppercase; }
.tg-stay-layout { padding-block: var(--wp--preset--spacing--80) 0; }
.tg-at-glance { border-top: 1px solid rgba(26, 25, 23, 0.14); padding-top: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--60); }
.tg-at-glance .tg-amenities { display: flex; flex-wrap: wrap; gap: 1.1rem 1.6rem; margin-top: 1.25rem; }
.tg-at-glance .tg-card-amenity { display: inline-flex; align-items: center; gap: 0.4rem; }
.tg-amenity-label { font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--brown-500); }
.tg-book-rail { background: transparent; border: 1px solid rgba(26, 25, 23, 0.14); border-radius: 0; padding: var(--wp--preset--spacing--40); position: sticky; top: 6rem; }
.tg-rail-note { border-top: 1px solid rgba(26, 25, 23, 0.12); margin-top: 1rem; padding-top: 1rem; }
.tg-rail-note p { margin: 0; }
.tg-rail-note a { text-decoration: none; font-weight: 500; }
.tg-stay-more { border-top: 1px solid rgba(26, 25, 23, 0.14); padding-block: var(--wp--preset--spacing--80); margin-top: var(--wp--preset--spacing--80); }
.tg-stay-more .tg-site-grid { grid-row-gap: var(--wp--preset--spacing--60); }

@media (max-width: 782px) {
	.tg-book-rail { position: static; }
	.tg-at-glance .tg-amenities { gap: 0.9rem 1.4rem; }
	.tg-stay-more { padding-block: var(--wp--preset--spacing--60); margin-top: var(--wp--preset--spacing--60); }
}
