/*!
Theme Name: glampingway
Author: Glampingway
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: glampingway
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


main {
	display: block;
}
h1 {
	font-size: 2rem;
	margin: 0.67em 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1rem;
}
a {
	background-color: transparent;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
b,
strong {
	font-weight: bolder;
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1rem;
}
small {
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5rem;
}
img {
	border-style: none;
}
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input {
	overflow: visible;
}
button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details {
	display: block;
}
summary {
	display: list-item;
}
template {
	display: none;
}
[hidden] {
	display: none;
}
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# CSS Custom Properties (Variables)
--------------------------------------------------------------*/
:root {
	/* Brand Colors */
	--color-primary: #20c997;
	--color-primary-dark: #1ba87f;

	/* Text Colors */
	--color-text: #131313;
	--color-text-light: #666;
	--color-text-dark: #1a1a1a;
	--color-heading: #2c3e50;

	/* Base Colors */
	--color-white: #fff;

	/* Background Colors */
	--color-bg-light: #f9f9f9;
	--color-bg-lighter: #F4FCFF;
	--color-bg-blue: #E8F5FF;
	--color-bg-section: #f8f9fa;

	/* Border Colors */
	--color-border: #e5e5e5;
	--color-border-dark: #ccc;

	/* Status Colors */
	--color-info: #4169e1;

	/* Border Radius */
	--radius-sm: 6px;
	--radius-md: 8px;
	--radius-lg: 12px;
	--radius-xl: 14px;
	--radius-full: 50%;

	/* Shadows */
	--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
	--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
	--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.2);
	--shadow-primary: 0 4px 12px rgba(32, 201, 151, 0.3);

	/* Transitions */
	--transition-fast: all 0.2s ease;
	--transition-base: all 0.3s ease;

	/* Spacing */
	--section-padding: 4rem 2rem;
	--container-max-width: 1400px;
}

.mobile-only{
	display: none !important;
}


.centered{
	text-align: center;
}

/*--------------------------------------------------------------
# Utility Classes
--------------------------------------------------------------*/

/* Shadow Utilities */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }

/* Transition Utilities */
.transition-fast { transition: var(--transition-fast); }
.transition-base { transition: var(--transition-base); }

/* Border Radius Utilities */
.radius-sm { border-radius: var(--radius-sm); }
.radius-md { border-radius: var(--radius-md); }
.radius-lg { border-radius: var(--radius-lg); }
.radius-full { border-radius: var(--radius-full); }

/* Card Hover Effects */
.card-hover-lift {
	transition: var(--transition-base);
}
.card-hover-lift:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

/* Button Base Styles */
.btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--radius-md);
	transition: var(--transition-fast);
	cursor: pointer;
	border: none;
}

.btn-primary {
	background: var(--color-primary);
	color: var(--color-white);
}

.btn-primary:hover {
	background: var(--color-primary-dark);
	transform: translateY(-2px);
	box-shadow: var(--shadow-primary);
	color: var(--color-white);
}

/* Card Overlay Gradient */
.card-overlay-gradient {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4));
	color: var(--color-white);
}

/* Grid Utilities */
.grid-auto-280 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
}

/* Section Utilities */
.section-padding {
	padding: var(--section-padding);
	max-width: var(--container-max-width);
	margin: 0 auto;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--color-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5rem;
}

dfn,
cite,
rem,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5rem;
}

address {
	margin: 0 0 1.5rem;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6rem;
	max-width: 100%;
	overflow: auto;
	padding: 1.6rem;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted var(--color-text-light);
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: var(--color-white);
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5rem;
}

ul,
ol {
	margin: 0 0 1.5rem 3rem;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5rem;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5rem 1.5rem;
}

embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1rem 0;
}

table {
	margin: 0 0 1.5rem;
	width: 100%;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6rem 1rem 0.4rem;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--color-text-light);
	border: 1px solid var(--color-border-dark);
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid var(--color-border-dark);
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.container{
	max-width: 1400px;
	margin: auto;
	padding: 0 20px;
}

.intro-text-section{
	max-width: 1000px;
	margin: auto;
	padding: 30px 20px;
	text-align: center;
}
.intro-text-section p:last-child{
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Header
--------------------------------------------- */
.site-header {
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	z-index: 1000;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.header-wrapper {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 70px;
}

/* Logo/Branding
--------------------------------------------- */
.site-branding {
	flex-shrink: 0;
}

.site-logo-link {
	display: block;
	line-height: 0;
}

.site-logo {
	max-height: 50px;
	width: auto;
	display: block;
	margin: auto;
}

.site-title-link {
	text-decoration: none;
	color: #333;
	font-weight: 600;
	font-size: 1.2rem;
}

.site-title-link:hover {
	color: var(--color-primary);
}

/* Navigation
--------------------------------------------- */
.main-navigation {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 30px;
	width: 100%;
}

.main-navigation li {
	position: relative;
	margin: 0;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	color: #333;
	font-weight: 500;
	font-size: 0.95rem;
	padding: 10px 0;
	transition: color 0.3s ease;
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--color-primary);
}

/* Submenu styles */
.main-navigation ul ul {
	position: absolute;
	display: flex;
    flex-flow: column;
	gap: 0;
	top: 100%;
	left: -10px;
	min-width: 36px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: var(--transition-base);
	z-index: 99999;
}

.main-navigation ul ul li {
	display: block;
	margin: auto !important;
}

.main-navigation ul ul a {
	padding: 4px;
	white-space: nowrap;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.main-navigation ul ul ul {
	left: 100%;
	top: -10px;
}

/* Mobile Menu Toggle */
.menu-toggle {
	display: none;
	background: none;
	border: none;
	padding: 10px;
	cursor: pointer;
	position: relative;
	width: 40px;
	height: 40px;
}

.menu-toggle-icon {
	display: block;
	width: 24px;
	height: 2px;
	background: #333;
	position: relative;
	transition: background 0.3s ease;
}

.menu-toggle-icon::before,
.menu-toggle-icon::after {
	content: '';
	position: absolute;
	width: 24px;
	height: 2px;
	background: #333;
	transition: transform 0.3s ease;
}

.menu-toggle-icon::before {
	top: -7px;
}

.menu-toggle-icon::after {
	bottom: -7px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon {
	background: transparent;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon::before {
	transform: rotate(45deg);
	top: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon::after {
	transform: rotate(-45deg);
	bottom: 0;
}

/* Language Switcher (Last Menu Item)
--------------------------------------------- */
.main-navigation ul {
	position: relative;
}
.main-navigation ul > li:first-child{
	margin-left: auto;
}

.main-navigation ul > li:last-child {
	margin-left: auto;
}

.main-navigation ul > li:last-child .lang-item-parent {
	position: relative;
}

.main-navigation ul > li:last-child .lang-item img {
	height: 16px;
	width: 24px;
	vertical-align: middle;
}

/* Mobile Responsive
--------------------------------------------- */


.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5rem;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-summary {
	margin: 1.5rem 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5rem;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5rem;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5rem;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5rem;
	display: grid;
	grid-gap: 1.5rem;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	float: left;
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}

.alignright {
	float: right;
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;
}

/*--------------------------------------------------------------
# Glamping Custom Styles
--------------------------------------------------------------*/

/* Archive Layout
--------------------------------------------- */
.glamping-archive__header {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--color-border);
}

.glamping-archive__header .breadcrumb {
	font-size: 0.875rem;
	margin-bottom: 1rem;
	color: var(--color-text-light);
}

.glamping-archive__header .breadcrumb a {
	color: var(--color-info);
	text-decoration: none;
}

.glamping-archive__header .breadcrumb a:hover {
	text-decoration: underline;
}

.glamping-archive__header .breadcrumb .current {
	color: var(--color-text);
}

.glamping-archive__header .page-title {
	font-size: 2rem;
	margin: 0.5rem 0;
}

.glamping-archive__header .location-name {
	color: var(--color-info);
}

.glamping-archive__header .archive-description {
	color: var(--color-text-light);
	font-size: 1.125rem;
}

/* Child Locations Section
--------------------------------------------- */
.child-locations {
	padding: 2rem;
	background: var(--color-bg-light);
	border-radius: var(--radius-md);
}

.child-locations__title {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

.child-locations__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1rem;
}

.location-card {
	display: block;
	padding: 1.5rem;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: var(--transition-fast);
}

.location-card:hover {
	border-color: var(--color-info);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

.location-card__title {
	margin: 0 0 0.5rem;
	font-size: 1.125rem;
	color: var(--color-text);
}

.location-card__count {
	color: var(--color-text-light);
	font-size: 0.875rem;
}

/* Archive Content Layout
--------------------------------------------- */
.glamping-archive__content {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 2rem;
	margin-top: 2rem;
}



.glamping-archive__toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-border);
}

.results-count {
	font-size: 0.875rem;
	color: var(--color-text-light);
}

.results-count strong {
	color: var(--color-text);
	font-weight: 600;
}

/* Glamping Grid
--------------------------------------------- */

/* Updated Glamping Grid (3 columns)
--------------------------------------------- */
.glamping-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}





.glamping-grid.loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Glamping Card
--------------------------------------------- */
.glamping-card__image {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
}

.glamping-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.glamping-card__content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1rem;
}

.glamping-card__location .icon-location {
	flex-shrink: 0;
	fill: green;
}

.glamping-card__meta-row-container{
	display: flex;
    justify-content: space-between;
	align-items: center;
    margin-bottom: 10px;
}

.glamping-card__meta-row{
	flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.glamping-card__guests{
	display: flex;
	align-items: center;
	gap: 5px;
	font-weight: 500;
    color: var(--color-text-light);
	font-size: 0.75rem;
}

.glamping-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #f0f0f0;
}

.rating-stars {
	display: flex;
	gap: 2px;
	color: #ffa500;
}

.rating-number {
	font-weight: 600;
	color: var(--color-text);
}

.glamping-card__price {
	text-align: right;
}

.amenity-more {
	padding: 0.3rem 0.7rem;
	font-size: 0.75rem;
	color: var(--color-info);
	font-weight: 600;
}

.glamping-card__footer {
	margin-top: auto;
}

.button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75em 1.5rem;
	border-radius: var(--radius-sm);
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
	border: none;
	font-size: 0.9375rem;
	background: var(--color-primary);
	color: var(--color-text-dark);
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}  

 

.icon-external {
	width: 14px;
	height: 14px;
}

/* Filters Sidebar
--------------------------------------------- */
.glamping-filters {
	position: sticky;
	top: 20px;
	padding: 1.2rem;
	background: var(--color-white);
	border: 1px solid #bab9b9;
	border-radius: var(--radius-xl);
    margin-top: 3rem;
}

.glamping-filters__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-border);
}

.glamping-filters__title {
	margin: 0;
	font-size: 1.125rem;
}

.glamping-filters__clear {
	background: none;
	border: none;
	color: var(--color-info);
	font-size: 0.875rem;
	cursor: pointer;
	padding: 0;
}

.glamping-filters__clear:hover {
	text-decoration: underline;
}

.glamping-filter {
	margin-bottom: 1rem;
}

.glamping-filter:last-child {
	margin-bottom: 0;
}

.glamping-filter__title {
	margin: 0 0 10px;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-text);
}

.glamping-filter__select {
	position: relative;
	width: 100%;
	padding: 0.5rem 1rem;
	border: 1px solid #bab9b9;
	border-radius: 10px;
	background: var(--color-white);
	font-size: 0.9375rem;
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%);
    background-position: calc(100% - 20px) calc(1rem + 2px), calc(100% - 15px) calc(1rem + 2px), calc(100% - 2.5rem) 0.5rem;
    background-size: 5px 5px, 5px 5px, 1px 1.5rem;
    background-repeat: no-repeat;
}

/* Rating Buttons
--------------------------------------------- */
.rating-buttons {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.rating-button {
	display: block;
	cursor: pointer;
}

.rating-button input[type="radio"] {
	position: absolute;
	opacity: 0;
}

.rating-button__content {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.8rem;
	border: 1px solid #bab9b9;
	border-radius: 6px;
	background: var(--color-white);
	transition: var(--transition-fast);
}

.rating-button:hover .rating-button__content,
.rating-button.active .rating-button__content {
	border-color: var(--color-info);
	background: #f0f5ff;
}

.rating-button.active .rating-button__content {
	border-width: 2px;
}

.rating-button .rating-stars {
	color: #ffa500;
}

.rating-label {
	font-size: 0.875rem;
	color: var(--color-text);
}

/* Price Buttons
--------------------------------------------- */
.price-buttons {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.price-button {
	display: block;
	cursor: pointer;
}

.price-button input[type="radio"] {
	position: absolute;
	opacity: 0;
}

.price-button__content {
	display: block;
	padding: 0.6rem 0.8rem;
	border: 1px solid var(--color-border);
	border-radius: 4px;
	background: var(--color-white);
	transition: var(--transition-fast);
	text-align: center;
	font-size: 0.875rem;
}

.price-button:hover .price-button__content,
.price-button.active .price-button__content {
	border-color: var(--color-info);
	background: #f0f5ff;
}

.price-button.active .price-button__content {
	border-width: 2px;
	font-weight: 600;
}

/* Amenity Checkboxes
--------------------------------------------- */
.amenity-checkboxes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75em 1rem;
	/* max-height: 400px;
	overflow-y: auto; */
	/* padding-right: 0.5rem; */
}

.amenity-checkbox {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 0.875rem;
	color: var(--color-text);
	line-height: 1;
	overflow: hidden;
}

.amenity-checkbox input[type="checkbox"] {
	margin: 0 0.5rem 0 0;
	cursor: pointer;
}

.amenity-checkbox__label {
	flex: 1;
	min-width: 0;
	word-wrap: break-word;
	letter-spacing: -0.3px;
	line-height: 1.1;
}

.amenity-checkbox__count {
	color: #999;
	margin-left: 0.5rem;
	white-space: nowrap;
}

/* Disabled state */
.amenity-checkbox--disabled {
	color: #ccc;
	cursor: not-allowed;
}

.amenity-checkbox--disabled input[type="checkbox"] {
	cursor: not-allowed;
	opacity: 0.5;
}

.amenity-checkbox--disabled .amenity-checkbox__label {
	color: #ccc;
}

.amenity-checkbox--disabled .amenity-checkbox__count {
	color: #ddd;
}

/* Type Dropdown
--------------------------------------------- */
.glamping-dropdown {
	position: relative;
}

.glamping-dropdown__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0.5rem 1rem;
	border: 1px solid #bab9b9;
	border-radius: 6px;
	background: var(--color-white);
	font-size: 0.9375rem;
	cursor: pointer;
	transition: var(--transition-fast);
	text-align: left;
	color: var(--color-text);
	min-height: 37px;
}

.glamping-dropdown__toggle:hover,
.glamping-dropdown__toggle.active {
	border-color: var(--color-info);
	background: var(--color-bg-light);
}

.glamping-dropdown__label {
	flex: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.glamping-dropdown__arrow {
	flex-shrink: 0;
	margin-left: 0.5rem;
	transition: transform 0.2s ease;
}

.glamping-dropdown__toggle.active .glamping-dropdown__arrow {
	transform: rotate(180deg);
}

.glamping-dropdown__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 0.5rem;
	background: var(--color-white);
	border: 1px solid #bab9b9;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	z-index: 100;
	max-height: 300px;
	overflow-y: auto;
}

.type-checkboxes {
	padding: 0.75em;
}

.type-checkbox {
	display: flex;
	align-items: center;
	padding: 0.5rem;
	cursor: pointer;
	font-size: 0.875rem;
	color: var(--color-text);
	border-radius: 4px;
	transition: background 0.2s ease;
}

.type-checkbox:hover {
	background: var(--color-bg-light);
}

.type-checkbox input[type="checkbox"] {
	margin: 0 0.5rem 0 0;
	cursor: pointer;
}

/* .type-checkbox__label {
	flex: 1;
} */

.type-checkbox__count {
	color: #999;
	margin-left: 0.5rem;
	white-space: nowrap;
}

/* Style Filter Dropdown Checkboxes
--------------------------------------------- */
.style-checkboxes {
	padding: 0.75em;
}

.style-checkbox {
	display: flex;
	align-items: center;
	padding: 0.5rem;
	cursor: pointer;
	font-size: 0.875rem;
	color: var(--color-text);
	border-radius: 4px;
	transition: background 0.2s ease;
}

.style-checkbox:hover {
	background: var(--color-bg-light);
}

.style-checkbox input[type="checkbox"] {
	margin: 0 0.5rem 0 0;
	cursor: pointer;
}

/* .style-checkbox__label {
	flex: 1;
} */

.style-checkbox__count {
	color: #999;
	margin-left: 0.5rem;
	white-space: nowrap;
}

/* Loading State
--------------------------------------------- */
.glamping-filters__loading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem;
	background: #f0f5ff;
	border-radius: 4px;
	margin-top: 1rem;
	font-size: 0.875rem;
	color: var(--color-info);
}

.spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid var(--color-border);
	border-top-color: var(--color-info);
	border-radius: var(--radius-full);
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Results Header (Mobile Filter Button + Results Count)
--------------------------------------------- */
.glamping-results-header {
	margin-bottom: 1.5rem;
}
.glamping-results .glamping-results-header{
	padding-top: 0 !important;
	display: flex;
	align-items: center;
	gap: 1rem;
}


/* Results Info Container (Results Count + Sort)
--------------------------------------------- */
.glamping-results-info {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex: 1;
	justify-content: space-between;
}

.glamping-results-count {
	font-size: 0.9375rem;
	color: var(--color-text);
}

/* Sort Dropdown
--------------------------------------------- */
.glamping-sort-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.glamping-sort-label {
	font-size: 0.875rem;
	color: var(--color-text);
	margin: 0;
	white-space: nowrap;
}

.glamping-sort-select {
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	font-size: 0.875rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background-color: var(--color-white);
	color: var(--color-text);
	cursor: pointer;
	transition: var(--transition-fast);
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
}

.glamping-sort-select:hover {
	border-color: var(--color-primary);
}

.glamping-sort-select:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(32, 201, 151, 0.1);
}



/* Mobile Filter Button & Modal
--------------------------------------------- */
.mobile-filter-button {
	display: none; /* Hidden on desktop */
}

/* Mobile Filter Modal */
.mobile-filter-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
}

.mobile-filter-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
}

.mobile-filter-content {
	position: relative;
	width: 100%;
	height: 100%;
	background: var(--color-white);
	display: flex;
	flex-direction: column;
	z-index: 10000;
}

.mobile-filter-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--color-border);
	flex-shrink: 0;
}

.mobile-filter-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-text-dark);
}

.mobile-filter-close {
	background: none;
	border: none;
	padding: 0.5rem;
	cursor: pointer;
	color: var(--color-text);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition-fast);
}

.mobile-filter-close:hover {
	color: var(--color-text-dark);
}

.mobile-filter-body {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 1rem;
}

.mobile-filter-body .glamping-filters__footer{
	display: none;
}

.mobile-filter-body .glamping-filters {
	position: static;
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
}

.mobile-filter-footer {
	display: flex;
	gap: 0.75rem;
	padding: 12px;
	border-top: 1px solid var(--color-border);
	flex-shrink: 0;
	background: var(--color-white);
}

.mobile-filter-btn {
	flex: 1;
	padding: 0.875rem 1.5rem;
	border: none;
	border-radius: var(--radius-md);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition-fast);
	text-align: center;
}

.mobile-filter-btn--primary {
	background: var(--color-primary);
	color: var(--color-white);
}

.mobile-filter-btn--primary:hover {
	background: var(--color-primary-dark);
	box-shadow: var(--shadow-md);
}

.mobile-filter-btn--secondary {
	background: var(--color-white);
	color: var(--color-text);
	border: 1px solid var(--color-border);
}

.mobile-filter-btn--secondary:hover {
	background: var(--color-bg-light);
	border-color: var(--color-border-dark);
}

/* Mobile Responsive (≤768px) */


/* No Results
--------------------------------------------- */
.no-results {
	grid-column: 1 / -1;
	padding: 3rem;
	text-align: center;
	background: var(--color-bg-light);
	border-radius: var(--radius-md);
}

.no-results h2 {
	margin-top: 0;
	color: var(--color-text);
}

.no-results p {
	color: var(--color-text-light);
}

/* Pagination
--------------------------------------------- */
.glamping-pagination {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
}

/* Icons
--------------------------------------------- */
.icon {
	display: inline-block;
	vertical-align: middle;
}

.icon-star {
	width: 20px;
	height: 20px;
}

/*--------------------------------------------------------------
# Homepage Styles
--------------------------------------------------------------*/

/* Homepage Layout
--------------------------------------------- */
.homepage {
	padding: 0;
	max-width: 100%;
}

/* Hero Section
--------------------------------------------- */
.hero-section {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	padding: 3rem 1rem;
	overflow: hidden;
	color: var(--color-white);
	background: var(--color-primary-dark);
}


.hero-background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1;
}

.hero-content {
	max-width: 1200px;
	width: 100%;
	text-align: center;
	z-index: 2;
}

/* Breadcrumb in hero section */
.hero-breadcrumb {
	position: absolute;
    top: 20px;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.9);
	text-align: left;
}

.breadcrumb-link {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	transition: var(--transition-fast);
}

.breadcrumb-link:hover {
	color: var(--color-white);
	text-decoration: underline;
}

.breadcrumb-current {
	color: var(--color-white);
	font-weight: 600;
}

.breadcrumb-separator {
	margin: 0 0.2rem;
}

.hero-title {
	margin: 0 0 2rem;
	font-size: clamp(2rem, 1.2484rem + 1.5639vw, 3.125rem);
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-search {
	max-width: 600px;
	margin: 0 auto;
}

.hero-subtitle {
	font-size: 1.2rem;
	color: rgba(255, 255, 255, 0.95);
	margin: 1rem 0 1.5rem;
	font-weight: 400;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}


/* Ajax Search Lite plugin styles */
div.asl_w .probox .promagnifier .innericon{
	display: flex !important;
	align-items: center;
	gap: 10px;
}

div.asl_w .probox .promagnifier .innericon:before{
	display: block;
	position: relative;
	content: 'Search';
	font-weight: 500;
}

/* Continent Section
--------------------------------------------- */
.continent-section-wrapper{
	background: #F5FEFC;
}   

.continent-section .container,
.slider-section.sibling-cities-section .container{
	max-width: 1500px;
}

.continent-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.continent-title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	color: var(--color-text);
}


/* Country Grid
--------------------------------------------- */
.country-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
}









/* Country Card
--------------------------------------------- */
.country-card {
	display: block;
	position: relative;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: var(--transition-base);
	text-decoration: none;
	aspect-ratio: 4 / 3;
}

.country-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.country-card-image {
	width: 100%;
	height: 100%;
	position: relative;
	background-color: var(--color-border);
}

.country-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.country-card-overlay {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	padding: 0.2rem 0.8rem;
	background: rgba(0,0,0,.6);
	color: var(--color-white);
	gap: 0.75em;
}

.country-flag {
	font-size: 2rem;
	line-height: 1;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.country-name {
	font-size: 1.5rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	line-height: 1.2;
}

/* Location Grid Section (Reusable Component)
--------------------------------------------- */
.location-grid-section {
	background: var(--color-bg-blue);
}

.location-grid-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
	gap: 1.5rem;
	flex-wrap: wrap;
}


/* Continent Arrow (for scrolling if needed)
--------------------------------------------- */
.continent-arrow {
	display: none;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
}

.scroll-arrow {
	width: 50px;
	height: 50px;
	border-radius: var(--radius-full);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--color-border);
	font-size: 2rem;
	color: var(--color-text);
	cursor: pointer;
	transition: var(--transition-fast);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.scroll-arrow:hover {
	background: var(--color-white);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Responsive adjustments
--------------------------------------------- */


/* Popular Terms Section (Amenities & Styles)
--------------------------------------------- */
.popular-terms-section {
	padding: 4rem 2rem;
	max-width: 1400px;
	margin: 0 auto;
	background: var(--color-bg-section);
}

.popular-terms-header {
	text-align: center;
	margin-bottom: 3rem;
}

.popular-terms-header .section-title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: var(--color-heading);
	margin: 0;
}

.popular-terms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

.term-card {
	position: relative;
	display: block;
	border-radius: var(--radius-lg);
	overflow: hidden;
	text-decoration: none;
	transition: var(--transition-base);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.term-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.term-card-image {
	position: relative;
	width: 100%;
	padding-top: 66.67%; /* 3:2 aspect ratio */
	background-size: cover;
	background-position: center;
	background-color: var(--color-border);
}

.term-card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.5rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4));
	color: var(--color-white);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.term-name {
	font-size: 1.5rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	line-height: 1.2;
}

.term-count {
	font-size: 0.875rem;
	font-weight: 400;
	opacity: 0.9;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}



/*--------------------------------------------------------------
# Location Hub Page Styles
--------------------------------------------------------------*/

/* Hero Section
--------------------------------------------- */
.location-hub__hero {
	background: linear-gradient(135deg, #1a5f3f 0%, #2d8659 100%);
	padding: 4rem 2rem;
	text-align: center;
	color: var(--color-white);
	position: relative;
	overflow: hidden;
}

.location-hub__hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
	opacity: 0.3;
}

.location-hub__hero-content {
	max-width: 800px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.location-hub__title {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	line-height: 1.2;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.location-hub__hero-text {
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0 0 2rem;
	color: rgba(255, 255, 255, 0.95);
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.location-hub__cta {
	display: inline-block;
	padding: 0.875em 2rem;
	background: #34d399;
	color: var(--color-white);
	text-decoration: none;
	border-radius: var(--radius-md);
	font-weight: 600;
	font-size: 1rem;
	transition: var(--transition-fast);
	box-shadow: 0 4px 12px rgba(52, 211, 153, 0.3);
	border: none;
	cursor: pointer;
}

.location-hub__cta:hover {
	background: #10b981;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(52, 211, 153, 0.4);
	color: var(--color-white);
}

/* Section Layout
--------------------------------------------- */
.location-hub__section {
	padding: 4rem 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.location-hub__section-title {
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	color: var(--color-text-dark);
	text-align: center;
}

.location-hub__section-subtitle {
	font-size: 1.125rem;
	color: var(--color-text-light);
	text-align: center;
	margin: 0 0 2rem;
}

/* Location Cards Grid
--------------------------------------------- */
.location-hub__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.location-hub__card {
	display: block;
	text-decoration: none;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: var(--transition-base);
	height: 240px;
	position: relative;
}

.location-hub__card:hover {
	transform: translateY(-8px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.location-hub__card-image {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-color: var(--color-border);
	position: relative;
}

.location-hub__card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.5rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 60%, transparent 100%);
	color: var(--color-white);
	display: flex;
	align-items: center;
	gap: 0.75em;
}

.location-hub__card-overlay--city {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
}

.location-hub__card-flag {
	font-size: 2rem;
	line-height: 1;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.location-hub__card-name {
	font-size: 1.5rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	line-height: 1.2;
}

.location-hub__card-name--large {
	font-size: 1.75rem;
}

.location-hub__card-text {
	display: flex;
	flex-direction: column;
	gap: 0.25em;
}

.location-hub__card-count {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.9);
	font-weight: 400;
}

/* About Section
--------------------------------------------- */
.location-hub__about {
	padding: 4rem 2rem;
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
}

.location-hub__about-title {
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--color-text-dark);
}

.location-hub__about-text {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--color-text);
}

.location-hub__about-text p {
	margin: 0 0 1rem;
}

.location-hub__about-text p:last-child {
	margin-bottom: 0;
}

.location-hub__about-image {
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.location-hub__about-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* FAQs Section
--------------------------------------------- */
.location-hub__faqs {
	padding: 4rem 2rem;
	max-width: 900px;
	margin: 0 auto;
	background: #f9fafb;
}

.location-hub__faqs-title {
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 2rem;
	color: var(--color-text-dark);
	text-align: center;
}

.location-hub__faqs-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.location-hub__faq-item {
	background: var(--color-white);
	padding: 1.5rem;
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.location-hub__faq-question {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0 0 0.75em;
	color: var(--color-text-dark);
}

.location-hub__faq-answer {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--color-text);
}

.location-hub__faq-answer p {
	margin: 0 0 0.75em;
}

.location-hub__faq-answer p:last-child {
	margin-bottom: 0;
}

/* Responsive Design
--------------------------------------------- */


/*--------------------------------------------------------------
# Location Hub & City Pages - Updated Design
--------------------------------------------------------------*/

/* Breadcrumb Navigation
--------------------------------------------- */
.glamping-breadcrumb {
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	color: var(--color-text-light);
	text-align: left;
}

.glamping-breadcrumb .breadcrumb-link {
	color: var(--color-text-light);
	text-decoration: none;
	transition: color 0.2s ease;
}

.glamping-breadcrumb .breadcrumb-link:hover {
	color: var(--color-text);
	text-decoration: underline;
}

.glamping-breadcrumb .breadcrumb-current {
	color: var(--color-text);
}

/* Results Header
--------------------------------------------- */
.glamping-results-header {
	margin-bottom: 0.5rem;
	padding-top:  1rem;
}

.location-hub-type-region .glamping-results-header,
.location-hub-type-country .glamping-results-header{
	padding-top:  2.5rem;
}

.glamping-results-title {
	margin: 0 0 0.1rem;
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	line-height: 1.2;
	color: var(--color-text-dark);
	font-weight: 600;
}

.glamping-results-subtitle {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--color-text-light);
	font-weight: 500;
}

/* Results Count
--------------------------------------------- */
.glamping-results-count {
	font-size: 0.9375rem;
	color: var(--color-text);
}

/* Archive Layout (2-column: filters + results)
--------------------------------------------- */
.glamping-archive-layout {
	display: grid;
	grid-template-columns: 330px 1fr;
	gap: 2rem;
	align-items: start;
	margin-bottom: 2rem;
}





/* Filters Sidebar
--------------------------------------------- */
.glamping-filters-sidebar {
	position: sticky;
	top: 2.4rem;
}

/* Updated Price Options with Counts
--------------------------------------------- */
.price-options {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.price-option {
	display: flex;
	border: 1px solid #bab9b9;
	font-size: 0.9375rem;
    padding: 0.4rem 1.5rem;
    border-radius: 6px;
	color: black;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition-fast);
}

.price-option:hover {
	background: var(--color-bg-light);
}

.price-option.active {
	background: var(--color-primary);
	border-color: var(--color-primary);
}

.price-option input[type="radio"] {
	position: absolute;
	opacity: 0;
}

.price-option__label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 1;
}

.price-option .icon-indicator {
	width: 8px;
	height: 8px;
	opacity: 0;
	color: var(--color-primary);
	transition: opacity 0.2s ease;
}

.price-option.active .icon-indicator {
	opacity: 1;
}

.price-option__count {
	font-size: 0.875rem;
	color: #999;
	margin-left: 0.5rem;
}

/* Filters Footer (Clear All Button)
--------------------------------------------- */
.glamping-filters__footer {
	margin-top: 1.5rem;
	text-align: center;
}

.glamping-filters__footer .glamping-filters__clear {
	width: 100%;
	padding: 0.75em;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	color: var(--color-text);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition-fast);
}

.glamping-filters__footer .glamping-filters__clear:hover {
	background: var(--color-bg-light);
	border-color: #ccc;
	text-decoration: none;
}

/* Updated Glamping Card
--------------------------------------------- */
.glamping-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--color-white);
	border: 1px solid #bab9b9;
	border-radius: var(--radius-xl);
	overflow: hidden;
	transition: var(--transition-fast);
}

.glamping-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

/* Wishlist Button
--------------------------------------------- */
.glamping-card__wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.95);
	border: none;
	border-radius: var(--radius-full);
	cursor: pointer;
	transition: var(--transition-fast);
	backdrop-filter: blur(4px);
	padding: 12px;
}

.glamping-card__wishlist:hover {
	background: var(--color-white);
	transform: scale(1.1);
}

.glamping-card__wishlist .icon-heart {
	width: 20px;
	height: 20px;
	color: var(--color-text-light);
	stroke-width: 2;
	color: #e74c3c;
}

.glamping-card__wishlist.active .icon-heart {
	fill: #e74c3c;
	color: #e74c3c;
}

/* Title Row (Title + Price Side by Side)
--------------------------------------------- */
.glamping-card__title-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 0.6rem;
}


.glamping-card__title {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.3;
	color: var(--color-text-dark);
	font-weight: 500;
	flex: 1;
}

.glamping-card__price {
	text-align: right;
	white-space: nowrap;
	flex-shrink: 0;
}

.price-amount {
	display: block;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--color-text);
	font-size: 1.1rem;
	color: var(--color-text-dark);
	background: #c4ffc4;
	border: 1px solid green;
	border-radius: 15px;
    padding: 4px 13px;
}

.price-label {
	display: block;
	font-size: 0.75rem;
	color: #999;
	font-weight: 500;
	color: var(--color-text-light);
}

/* Type & Style Badges (Below Title)
--------------------------------------------- */
.glamping-card__type,
.glamping-card__style {
    padding: 5px 9px;
    background: #D8ECFF;
    border-radius: var(--radius-xl);
    font-size: 0.8rem;
    font-weight: 600;
}
.glamping-card__type{
    background: #FFFED8;
}

/* Location
--------------------------------------------- */
.glamping-card__location {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--color-text-light);
	font-size: 0.8125rem;
	font-weight: 500;
}

/* Rating
--------------------------------------------- */
.glamping-card__rating {
	display: flex;
	align-items: flex-end;
	gap: 0.25em;
	margin-bottom: 10px;
}

.rating-stars {
	display: flex;
	gap: 2px;
	color: #ffa500;
}

.rating-number {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-text);
	margin-left: 0.25em;
}

.rating-count {
	font-size: 0.875rem;
	margin-left: 0.25em;
}

/* Description
--------------------------------------------- */
.glamping-card__description {
	margin-bottom: 10px;
	font-size: 0.875rem;
	line-height: 1.5;
}

/* Amenities (Inline Badges)
--------------------------------------------- */
.glamping-card__amenities {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem;
	margin-bottom: 1.5rem;
}

.amenity-badge {
    padding: 0.2rem 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    font-size: 0.75rem;
    white-space: nowrap;
    font-weight: 500;
	color: black;
}

/* Green View Details Button
--------------------------------------------- */
.glamping-card__footer .button-primary {
	width: 100%;
	background: var(--color-primary);
	color: black;
	justify-content: center;
	font-size: 0.9375rem;
	padding: 0.4rem 1.5rem;
	border-radius: var(--radius-xl);
}

.glamping-card__footer .button-primary:hover {
	background: #1ba87d;
	color: var(--color-white);
}

/* Icon Adjustments
--------------------------------------------- */
.icon-external {
	display: none;
}

/*--------------------------------------------------------------
# Location Hub Page - Hero & Updated Sections
--------------------------------------------------------------*/

/* Hero Section
--------------------------------------------- */
/* Location Intro Section
--------------------------------------------- */
.location-intro {
	max-width: 1200px;
	margin: 0 auto 3rem;
	padding: 0 2rem;
}

.location-intro-content {
	text-align: center;
	color: var(--color-text);
	line-height: 1.8;
}

.location-intro-content p {
	margin: 0 0 1rem;
	font-size: 1rem;
}

/* Child Locations Section
--------------------------------------------- */

.child-locations > p {
	color: var(--color-text-light);
	margin: 0 0 2rem;
	font-size: 0.9375rem;
}

.location-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

.location-card {
	position: relative;
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: var(--transition-base);
	height: 240px;
}

.location-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.location-card a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.location-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.location-card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.5rem 1rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 60%, transparent 100%);
	display: flex;
	align-items: center;
	gap: 0.75em;
}

.location-flag {
	font-size: 2.5rem;
	line-height: 1;
	flex-shrink: 0;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.location-info {
	flex: 1;
	min-width: 0;
}

.location-card h3 {
	margin: 0 0 0.25em;
	color: var(--color-white);
	font-size: 1.5rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	line-height: 1.2;
}

.location-count {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.875rem;
	font-weight: 400;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Popular Amenities & Styles Section
--------------------------------------------- */
.popular-types,
.popular-amenities,
.popular-styles {
	padding: 2rem 0;
	background: var(--color-bg-lighter);
}


.popular-types > p,
.popular-amenities > p,
.popular-styles > p {
	color: var(--color-text-light);
	margin: 0 0 2rem;
	font-size: 0.9375rem;
}

.filter-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
}

.filter-card {
	position: relative;
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: var(--transition-base);
	height: 180px;
}

.filter-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.filter-card a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.filter-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.filter-grid-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, .7);
    border-radius: var(--radius-xl);
    padding: 6px 12px;
    color: white;
}
.filter-grid-content h3{
	font-size: 26px;
    font-weight: 600;
    line-height: 1;
}
.filter-grid-content .filter-count{
	margin: 0;
}

/* Backward compatibility - kept for old CSS references */
.popular-amenities-styles {
	padding: 2rem 0;
	background: var(--color-bg-lighter);
}
.amenity-style-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1.5rem;
	margin-bottom: 3rem;
}
.amenity-style-grid-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, .7);
    border-radius: var(--radius-xl);
    padding: 6px 12px;
    color: white;
}

/* Browse by Price Section
--------------------------------------------- */
.price-ranges {
	padding-top: 2rem;
	margin-bottom: 4rem;
}

.price-range-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2.5rem;
}

.price-range-card {
	background: #EFFFFD;
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: var(--transition-base);
	border: 1px solid var(--color-border);
}

.price-range-card:nth-child(2) {
	background: #F9F6E8;
}

.price-range-card:nth-child(3) {
	background: #FCE1E1;
}

.price-range-card:hover {
	background: var(--color-white);
	border-color: var(--color-primary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.price-range-card a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2rem 1.5rem;
	text-decoration: none;
	color: inherit;
	min-height: 140px;
}

.price-range-card h3 {
	font-size: 1.5rem;
}

.price-range-card p {
	margin: 0;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.price-range-card p::after {
	content: '→';
	font-size: 1.25rem;
	color: var(--color-primary);
}

/* Popular Glampings Section
--------------------------------------------- */
.popular-glampings {
	padding: 4rem 0;
	background: var(--color-bg-lighter);
}


.popular-glampings-subtitle {
	color: var(--color-text-light);
	margin: 0 0 2rem;
	font-size: 0.9375rem;
}

.location-hub-type-region .popular-glampings .container {
	max-width: 1500px;
}
.location-hub-type-region .popular-glampings .container > h2{
	padding: 0 3rem;
}

.popular-glampings .slider-wrapper {
	--slides-visible: 4;
}

.glamping-grid--featured {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
}

/* Responsive Design
--------------------------------------------- */




/* About and FAQ Sections
--------------------------------------------- */
.location-about,
.location-faq {
	padding: 3rem 2rem;
}
.location-about{	
	background: #F3F6F9;
}
.location-about-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
	max-width: 1360px;
	margin: 0 auto;
}

.location-about-text {
	padding-right: 2rem;
}
.location-about-text p,
.location-about-text > div {
	margin-bottom: 20px;
}
.location-about-text > div:last-child{
	margin-bottom: 0;
}

.location-about-text p {
	font-size: 1rem;
	color: #555;
}

.location-about-text h3 {
	font-size: 1.5rem;
	margin-top: 2rem;
	margin-bottom: 1rem;
	color: var(--color-heading);
	font-weight: 600;
}

.location-about-text h4 {
	font-size: 1.2rem;
	margin-top: 1.5rem;
	margin-bottom: 0.75em;
	color: var(--color-heading);
	font-weight: 600;
}

.location-about-text ul,
.location-about-text ol {
	margin-left: 2rem;
	margin-bottom: 1.5rem;
}

.location-about-text ul {
	list-style: disc;
}

.location-about-text ol {
	list-style: decimal;
}

.location-about-text li {
	margin-bottom: 0.5rem;
	line-height: 1.7;
}

.location-about-image {
	position: relative;
}

.location-about-image img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-md);
	display: block;
}

/* Content Section
--------------------------------------------- */
.page-content-section {
	padding: 3rem 2rem;
}

.page-content-section-wrapper {
	max-width: 1200px;
	margin: 0 auto;
}

.page-content-section-wrapper p {
	font-size: 1rem;
	line-height: 1.8;
	color: #555;
	margin-bottom: 1.5rem;
}

.page-content-section-wrapper h2 {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	color: var(--color-heading);
	font-weight: 700;
}

.page-content-section-wrapper h3 {
	font-size: 1.5rem;
	margin-top: 2rem;
	margin-bottom: 1rem;
	color: var(--color-heading);
	font-weight: 600;
}

.page-content-section-wrapper h4 {
	font-size: 1.2rem;
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
	color: var(--color-heading);
	font-weight: 600;
}

.page-content-section-wrapper ul,
.page-content-section-wrapper ol {
	margin-left: 2rem;
	margin-bottom: 1.5rem;
}

.page-content-section-wrapper ul {
	list-style: disc;
}

.page-content-section-wrapper ol {
	list-style: decimal;
}

.page-content-section-wrapper li {
	margin-bottom: 0.5rem;
	line-height: 1.7;
}

.page-content-section-wrapper img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md);
	margin: 1.5rem 0;
}

.page-content-section-wrapper a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: var(--transition-fast);
}

.page-content-section-wrapper a:hover {
	color: var(--color-primary-dark);
}

/* FAQ Section */
.location-faq-content {
	max-width: 900px;
	margin: 0 auto;
}

.location-faq h2 {
	text-align: center;
}

.location-faq-content p {
	font-size: 1.1rem;
	margin-bottom: 1.5rem;
	color: #555;
}

.location-faq-content h3 {
	font-size: 1.5rem;
	line-height: 1.2;
	margin-top: 2rem;
	margin-bottom: 1rem;
	font-weight: 600;
}


.location-faq-content h4 {
	font-size: 1.2rem;
	margin-top: 1.5rem;
	margin-bottom: 0.75em;
	color: var(--color-heading);
	font-weight: 600;
}

.location-faq-content ul,
.location-faq-content ol {
	margin-left: 2rem;
	margin-bottom: 1.5rem;
}

.location-faq-content ul {
	list-style: disc;
}

.location-faq-content ol {
	list-style: decimal;
}

.location-faq-content li {
	margin-bottom: 0.5rem;
	line-height: 1.7;
}

.location-faq-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md);
	margin: 1.5rem 0;
}

.location-faq-content a {
	color: var(--color-primary);
	text-decoration: underline;
}

.location-faq-content a:hover {
	color: #1ba87d;
}

/* Responsive */



/*--------------------------------------------------------------
# Continent Pages
--------------------------------------------------------------*/
/* Continent page layout */
.continent-intro {
	padding: 3rem 2rem;
}

.continent-countries {
	padding: 3rem 2rem;
	background-color: var(--color-bg-blue);
}

.continent-countries .country-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

/* Country count badge on continent pages */
.country-count {
	display: block;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.95);
	font-weight: 400;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* No countries message */
.no-countries {
	text-align: center;
	font-size: 1.1rem;
	color: var(--color-text-light);
	padding: 3rem 2rem;
}

/* Responsive for continent pages */


/* Popular Cities Worldwide Section */
.popular-cities-header {
	text-align: center;
	margin-bottom: 3rem;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.popular-cities-title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: var(--color-text-dark);
	margin: 0 0 0.5rem;
	line-height: 1.2;
}

.popular-cities-subtitle {
	color: var(--color-text-light);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}

/* Reuse existing location-grid styles */
.popular-cities-worldwide .location-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}



/* Sibling Cities Carousel Section */
.sibling-cities-section {
	padding: 2rem 0;
	background-color: var(--color-bg-lighter);
}

.sibling-cities-title {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1rem;
	text-align: center;
	color: #333;
}

.sibling-cities-carousel-wrapper {
	position: relative;
	padding: 0 3rem;
}

.sibling-cities-carousel {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none; 
	-ms-overflow-style: none;
}

.sibling-cities-carousel::-webkit-scrollbar {
	display: none; 
}

.sibling-city-card {
	flex: 0 0 280px;
	min-width: 280px;
	position: relative;
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background-color: var(--color-white);
}

.sibling-city-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.sibling-city-card a {
	display: block;
	position: relative;
	text-decoration: none;
	color: inherit;
}

.sibling-city-card img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}

.sibling-city-info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
	color: var(--color-white);
}

.sibling-city-info h3 {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 600;
}

/* Carousel Navigation Buttons */
.carousel-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255, 255, 255, 0.9);
	border: 1px solid #ddd;
	border-radius: var(--radius-full);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
	font-size: 1.2rem;
	color: #333;
}

.carousel-nav:hover {
	background-color: var(--color-white);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.carousel-nav:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.carousel-prev {
	left: 0;
}

.carousel-next {
	right: 0;
}


/* ==========================================================================
   YouTube Videos Section
   ========================================================================== */

.youtube-videos-section {
	padding: 3rem 0;
	background: var(--color-white);
}


/* Grid layout for 1-2 videos */
.youtube-videos-grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.youtube-videos-count-1 {
	grid-template-columns: 1fr;
	max-width: 800px;
}

.youtube-video-item {
	position: relative;
	width: 100%;
}

.youtube-video-embed {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	border-radius: var(--radius-md);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.youtube-video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: var(--radius-md);
}

/* Slider layout for 3+ videos */
.youtube-videos-slider-wrapper {
	position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0 3rem;
}

.youtube-videos-slider {
	overflow: hidden;
	width: 100%;
	border-radius: var(--radius-md);
}

.youtube-videos-track {
	display: flex;
	transition: transform 0.4s ease-in-out;
	gap: 1rem;
}

.youtube-video-slide {
	flex: 0 0 calc(33.333% - 0.8rem); /* Show 3 videos at a time */
	min-width: 0;
}

/* Slider arrows */

.slider-arrow-prev {
	left: 0;
}
.slider-arrow-next {
	right: 0;
}


/* Responsive */




/* ==================================================
   REUSABLE COMPONENTS (New Unified System)
   ================================================== */

/* Unified Card Component
--------------------------------------------- */
.card {
	display: block;
	position: relative;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	text-decoration: none;
	aspect-ratio: 4 / 2.5;
	background-color: var(--color-border);
}

.card a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.card-overlay {
	position: absolute;
	bottom: 4px;
	left: 0;
	right: 0;
	padding: 3px 8px;
	background: rgba(0, 0, 0, 0.6);
	color: var(--color-white);
}

.card-content {
	display: flex;
	flex-direction: column;
	gap: 0.25em;
}

.card-content-top{
	display: flex;
	flex-direction: row;
	gap: 0.25em;
}

.card-flag {
	font-size: 2rem;
	line-height: 1;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.card-title {
	font-size: 1.3rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	line-height: 1.2;
	margin: 0;
	color: var(--color-white);
}

.card-count {
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
	display: block;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 400;
}

/* Card Grid Layout
--------------------------------------------- */
.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
}

/* Grid Section Component
--------------------------------------------- */
.grid-section {
	padding: 3rem 0;
}

.grid-section.child-locations-regions,
.grid-section.child-locations-cities {
	background: var(--color-bg-blue);
}

.grid-section.popular-glampings{
	background: var(--color-bg-lighter);
}

.grid-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.grid-header-content {
	flex: 1;
	min-width: 0;
}

.section-title {
	margin: 0 0 1rem;
	font-size: 30px;
	font-weight: 700;
	color: var(--color-text-dark);
	line-height: 1.2;
}

.section-title a {
	color: var(--color-primary);
}  

 

.grid-subtitle {
	margin: 0;
	font-size: 1rem;
	color: var(--color-text-light);
	line-height: 1.5;
}


/* Slider Section Component
--------------------------------------------- */
.slider-section {
	padding: 1.8rem 0;
}

.slider-header {
	padding: 0 3rem;
	text-align: left;
}



.slider-subtitle {
	margin: 0;
	font-size: 1rem;
	color: var(--color-text-light);
	line-height: 1.5;
}

/* Slider Wrapper (Controls the number of visible slides)
--------------------------------------------- */
.slider-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
}


.slider-container {
	flex: 1;
	overflow: hidden;
	position: relative;
}

/* Keen Slider specific styles */
.keen-slider {
	display: flex;
}

.keen-slider__slide {
	min-height: 0;
	min-width: 0;
}

/* Legacy class support (for backward compatibility) */
.slider-track {
	/* Deprecated - Keen Slider doesn't use this */
}

.slide-item {
	/* Deprecated - Use keen-slider__slide instead */
}

/* Slider Navigation Arrows
--------------------------------------------- */
.slider-arrow {	
	position: absolute;
	padding: 0;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.9);
	border: 2px solid #ddd;
	border-radius: var(--radius-full);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1;
	color: #333;
	transition: var(--transition-base);
	z-index: 10;
}

.slider-arrow:hover:not(:disabled) {
	background: var(--color-white);
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.slider-arrow:disabled {
	display: none;
	opacity: 0.3;
	cursor: not-allowed;
}

.slider-arrow span {
	margin-top: -5px;
}

/* Responsive Breakpoints for Components
--------------------------------------------- */

.continent-section .card-grid,
.continent-countries .card-grid,
.child-locations-regions .card-grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}

/* Continent Section Slider Styling */
.continent-section .slider-wrapper {
	--slides-visible: 4;
}

.continent-section .slider-header-content {
	flex: 1;
}



.continent-section .card-flag,
.continent-countries .card-flag,
.child-locations-regions .card-flag {
	font-size: 1.75rem;
	margin-bottom: 0;
}

.continent-section .card-title,
.continent-countries .card-title,
.child-locations-regions .card-title {
	font-size: 1.375rem;
	flex: 1;
}

/* Child Locations (Cities) - 6 Column Layout with Stacked Layout and Count in Overlay
--------------------------------------------- */



.child-locations-cities .card-content {
	gap: 0;
}

.child-locations-cities .card-flag {
	font-size: 2rem;
	line-height: 1;
}

.child-locations-cities .card-title {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
}

/* Popular Glamping Spots (Cities) - 3 Column Layout
--------------------------------------------- */
.grid-section.popular-glampings .card-grid {
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* Sibling Cities Slider - 3 slides visible, no flags, no count */
.sibling-cities-section .slider-wrapper {
	--slides-visible: 3;
}

.sibling-cities-section .card-flag {
	display: none;
}

.sibling-cities-section .card-content {
	flex-direction: column;
	align-items: flex-start;
}

/* Popular Glamping Spots in Continent */
.popular-glampings-continent {
	padding: 3rem 0;
	background: var(--color-bg-lighter);
}

.popular-glampings-continent .container{
	max-width: 1500px;
}


 

.country-glampings-section {
	margin-bottom: 3rem;
}

.country-glampings-section:last-child {
	margin-bottom: 0;
}

.country-glampings-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}  

 

.country-glampings-header .section-title{
	margin: 0;
	font-size: clamp(1.4rem, 3vw, 1.7rem);
	font-weight: 600;
}

.country-see-all-button {
	background: var(--color-primary);
	color: var(--color-white);
	padding: 0.75em 1.75em;
	border-radius: var(--radius-md);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
	transition: var(--transition-base);
	white-space: nowrap;
	border: none;
	cursor: pointer;
	display: inline-block;
}

.country-see-all-button:hover {
	background: #1ab386;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(32, 201, 151, 0.3);
}

.popular-glampings-continent .slider-wrapper {
	--slides-visible: 4;
}

/* Responsive - Mobile */


/* ===================================================================
   Blog Styles
   =================================================================== */

/* Latest Stories Section (Homepage) */
.latest-stories-section {
	padding: 3rem 0;
}

.latest-stories-header {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.latest-stories-grid {
	max-width: 1200px;
	margin: 0 auto 1rem auto;
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

/* Blog Card (used in grid and archive) */
.blog-card {
	padding: 10px;
	background: var(--color-white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
}

.blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.blog-card-image {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.blog-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--radius-lg);
	transition: transform 0.3s ease;
}

.blog-card:hover .blog-card-image img {
	transform: scale(1.05);
}

.blog-card-content {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}


.blog-card-title {
	font-size: 1.25rem;
	line-height: 1.4;
}

.blog-card-title a {
	color: var(--color-text-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.blog-card-title a:hover {
	color: var(--color-primary);
}

.blog-card-meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	color: var(--color-text-light);
}

.blog-card-author {
	font-weight: 500;
	color: var(--color-text-light);
	text-decoration: none;
	transition: color 0.3s ease;
}

.blog-card-author:hover {
	color: var(--color-primary);
}

.blog-card-date {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.blog-card-excerpt {
	color: #555;
	line-height: 1.6;
	margin-bottom: 1.25rem;
	flex: 1;
}

.blog-card-readmore {
	color: var(--color-primary);
	font-weight: 600;
	text-decoration: none;
	align-self: flex-start;
	transition: color 0.2s ease;
}

.blog-card-readmore:hover {
	color: #1aa179;
}

/* Blog Archive Page */
.blog-archive-main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 0;
}

.blog-archive-header {
	text-align: center;
	margin-bottom: 3rem;
}

.blog-archive-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	margin: 0;
	color: var(--color-text-dark);
}

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
	margin-bottom: 3rem;
}

.blog-pagination {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 3rem;
}

.blog-pagination a,
.blog-pagination span {
	padding: 0.5rem 1rem;
	border-radius: var(--radius-sm);
	text-decoration: none;
	font-weight: 600;
	transition: var(--transition-fast);
}

.blog-pagination a {
	background: #f0f0f0;
	color: #333;
}

.blog-pagination a:hover {
	background: var(--color-primary);
	color: var(--color-white);
}

.blog-pagination .current {
	background: var(--color-primary);
	color: var(--color-white);
}

/* Single Blog Post */
.single-post-main {
	background: var(--color-white);
}

.blog-post-article {
	margin: 0;
}

.post-hero-image {
	display: flex;
    align-items: center;
	width: 100%;
	max-height: 500px;
	overflow: hidden;
	max-width: 1102px;
    margin: 0 auto;
}

.post-hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-container {
	max-width: 1150px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.post-content-wrapper {
	padding: 3rem 0;
}

.post-header {
	max-width: 800px;
	margin: 0 auto 1rem;
	text-align: center;
}



.post-title {
	font-size: clamp(2rem, 1.5385rem + 0.9615vw, 2.5rem);
	font-weight: 700;
	margin: 0 0 1.5rem;
	color: var(--color-text-dark);
	line-height: 1.2;
}

.post-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.post-author-meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.post-author-meta img {
	border-radius: var(--radius-full);
}

.author-name {
	font-weight: 600;
	color: #333;
}

.post-date {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--color-text-light);
	font-size: 0.9375rem;
}

.post-date svg {
	flex-shrink: 0;
}

.post-social-share {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
}

.share-button {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-full);
	transition: transform 0.2s ease, background-color 0.2s ease;
	text-decoration: none;
}

.share-button:hover {
	transform: translateY(-2px);
}

.share-twitter {
	background: #1da1f2;
	color: var(--color-white);
}

.share-twitter:hover {
	background: #0d8ecf;
}

.share-facebook {
	background: #1877f2;
	color: var(--color-white);
}

.share-facebook:hover {
	background: #0a65d9;
}

.share-email {
	background: var(--color-text-light);
	color: var(--color-white);
}

.share-email:hover {
	background: #555;
}

.share-whatsapp {
	background: #25d366;
	color: var(--color-white);
}

.share-whatsapp:hover {
	background: #1ebe57;
}

.post-layout {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 3rem;
	margin: 0 auto;
	align-items: start;
}

.post-sidebar {
	position: sticky;
	top: 71px;
}

/* Hide auto-inserted TOC in content, show only in sidebar */
.entry-content #ez-toc-container,
.entry-content .ez-toc-container-legacy {
	display: none !important;
}

/* Ensure sidebar TOC is visible and styled */
.post-sidebar #ez-toc-container {
	display: block;
	width: 100%;
}

.post-content-area {
	min-width: 0;
}

/* Table of Contents */
.table-of-contents {
	background: var(--color-bg-light);
	border-radius: var(--radius-md);
	padding: 1.5rem;
}

.toc-nav {
	font-size: 0.9375rem;
}

.toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.toc-item {
	margin-bottom: 0.75rem;
}

.toc-item:last-child {
	margin-bottom: 0;
}

.toc-level-3 {
	padding-left: 1.25rem;
	font-size: 0.875rem;
}

.toc-link {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	color: #333;
	text-decoration: none;
	transition: color 0.2s ease;
}

.toc-link:hover {
	color: var(--color-primary);
}

.toc-number {
	font-weight: 700;
	color: var(--color-primary);
	flex-shrink: 0;
}

.toc-text {
	flex: 1;
}

/* Post Content */
.entry-content {
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #333;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	color: var(--color-text-dark);
	font-weight: 700;
}

.entry-content h2 {
	font-size: 1.875rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #e0e0e0;
}

.entry-content h3 {
	font-size: 1.5rem;
}

.entry-content p {
	margin-bottom: 1.5rem;
}

.wp-block-image{
    margin: 1.5rem 0;
}

.entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md);
}
.wp-block-image :where(figcaption){
    margin: 6px 0 0 0;
    text-align: center;
}

.entry-content ul,
.entry-content ol {
	margin: 1.5rem 0;
	padding-left: 2rem;
}

.entry-content li {
	margin-bottom: 0.75rem;
}

.entry-content a {
	color: var(--color-primary);
	text-decoration: underline;
}

.entry-content a:hover {
	color: #1aa179;
}

/* Author Bio Section */
.author-bio-section {
	max-width: 1100px;
	margin: 3rem auto;
	padding: 0 1.5rem;
}

.author-bio-header {
	border-left: 4px solid #F39C12;
	padding-left: 1rem;
	margin-bottom: 1.5rem;
}

.author-bio-header h2 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
	color: var(--color-text-dark);
}

.author-bio-box {
	display: flex;
	gap: 2rem;
	padding: 2rem;
	background: var(--color-bg-light);
	border: 1px solid #e0e0e0;
	border-radius: var(--radius-md);
}

.author-bio-avatar {
	flex-shrink: 0;
}

.author-bio-avatar img {
	border-radius: var(--radius-full);
	width: 100px;
	height: 100px;
}

.author-bio-content {
	flex: 1;
}

.author-bio-name {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--color-text-dark);
}

.author-bio-description {
	color: #555;
	line-height: 1.6;
	margin-bottom: 1.25rem;
}

.author-bio-description p:last-child {
	margin-bottom: 0;
}

.author-social-links {
	display: flex;
	gap: 0.75rem;
}

.author-social-link {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-full);
	background: #ddd;
	color: #333;
	transition: var(--transition-fast);
	text-decoration: none;
}

.author-social-link:hover {
	background: var(--color-primary);
	color: var(--color-white);
	transform: translateY(-2px);
}

/* Related Posts Section */
.related-posts-section {
	max-width: 1100px;
	margin: 3rem auto 4rem;
	padding: 0 1.5rem;
}

.related-posts-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0 0 2rem;
	color: var(--color-text-dark);
	letter-spacing: 0.5px;
}

.related-posts-title svg {
	flex-shrink: 0;
}

.related-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.related-post-card {
	background: var(--color-white);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.related-post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.related-post-thumbnail {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.related-post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.related-post-card:hover .related-post-thumbnail img {
	transform: scale(1.05);
}

.related-post-content {
	padding: 1.25rem;
}

.related-post-title {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
	line-height: 1.4;
}

.related-post-title a {
	color: var(--color-text-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.related-post-title a:hover {
	color: var(--color-primary);
}

.related-post-meta {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.875rem;
	color: var(--color-text-light);
}

.related-post-meta svg {
	flex-shrink: 0;
}

/* Comments Section */
.post-comments-wrapper {
	max-width: 1100px;
	margin: 0 auto 4rem;
	padding: 0 1.5rem;
}

/* Responsive Breakpoints */

/* Mobile (≤768px) */


/* ======================================================================
   Google Reviews Section
   ====================================================================== */

.google-reviews-section {
	padding: 3rem 0;
	background: var(--color-white);
}

.reviews-widgets {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}

/* Responsive breakpoints */


div.asl_w .probox .promagnifier{
    display: none !important;
}
#ajaxsearchlite1 .probox, div.asl_w .probox{
	padding: 16px 6px 16px 16px !important;
	height: unset !important;
  	border-radius: 50px !important;
	display: flex;
	align-items: center;
}  
  #ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input{
  	font-size: 15px !important;
  }
  #ajaxsearchlite1 .probox .proinput, div.asl_w .probox .proinput{
	margin: 0;
	padding: 0;
  }
  div.asl_w .probox .promagnifier{
	  width: unset !important;
	  padding: 12px 24px !important;
	  background: var(--color-primary) !important;
	  color: var(--color-white);
	  border: none !important;
	  border-radius: 50px !important;
	  font-weight: 600;
	  transition: background 0.2s ease;
  }
  
  div.asl_w .probox .promagnifier .innericon svg {
	position: relative;
	fill:  var(--color-white) !important;
	top: 2px;
  }

  

.post-comments-wrapper .comment-reply-title{
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
}
.post-comments-wrapper textarea{
	border-radius: 3px;
	min-height: 150px;
    resize: vertical;
	font-size: 14px;
	padding: 6px 12px;
	color: #333;
    border: 1px solid #ddd;
}

.pagination, .page-numbers {
	text-align: center; 
	margin-top: 40px;
	margin-bottom: 20px;
}

.pagination a, .pagination span {
	display: inline-block;
	padding: 8px 12px;
	margin: 0 2px;
	border: 1px solid #ccc;
	color: #333;
	text-decoration: none;
	border-radius: 4px;
}

.pagination .current {
	background-color: var(--color-primary); 
}

.pagination a:hover, .pagination a:focus {
	background-color: #eee;
}

/* ========================================
   Author Archive Page
   ======================================== */

.author-archive-main {
	background: var(--color-white);
}

.author-archive-header {
	padding: 2rem;
	background: var(--color-bg-lighter);
	border-bottom: 1px solid var(--color-border);
}

.author-archive-container {
	max-width: 900px;
	margin: 0 auto;
}

.author-archive-container-top {
	display: flex;
	gap: 2rem;
	align-items: center;
	margin-bottom: 1rem;
}

.author-archive-avatar {
	flex-shrink: 0;
}

.author-archive-avatar img {
	border-radius: 50%;
	width: 100px;
	height: 100px;
	object-fit: cover;
}

.author-archive-info {
	flex: 1;
}

.author-archive-name {
	font-size: clamp(2rem, 4vw, 2.5rem);
	font-weight: 700;
	color: var(--color-heading);
	margin: 0 0 0.5rem 0;
	line-height: 1.2;
}

.author-archive-role {
	font-size: 1.125rem;
	color: var(--color-text-light);
	margin: 0;
	font-weight: 500;
}

.author-archive-bio {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--color-text);
}

.author-archive-bio p {
	margin: 0 0 1rem 0;
}

.author-archive-bio p:last-child {
	margin-bottom: 0;
}

.author-archive-posts {
	padding: 4rem 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.author-posts-container {
	width: 100%;
}

.author-posts-container .section-title{
	text-align: center;
}

.author-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-top: 2rem;
}

/* Author Bio Name Link */
.author-bio-name a {
	color: var(--color-heading);
	text-decoration: none;
	transition: color 0.3s ease;
}

.author-bio-name a:hover {
	color: var(--color-primary);
}

/* Post Header Author Link */
.post-author-meta .author-name {
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.3s ease;
}

.post-author-meta .author-name:hover {
	color: var(--color-primary);
}



/*--------------------------------------------------------------
# Wishlist Functionality
--------------------------------------------------------------*/

/* Header wishlist icon */
.header-wishlist {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}


.wishlist-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	color: var(--color-text);
	text-decoration: none;
	transition: var(--transition-fast);
}

.wishlist-link:hover .wishlist-icon {
	stroke: #e74c3c;
	transform: scale(1.1);
}

.wishlist-icon {
	transition: var(--transition-fast);
}

.wishlist-count {
	position: absolute;
	top: 0;
	right: 0;
	background: #e74c3c;
	color: var(--color-white);
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1;
	padding: 0.25rem 0.4rem;
	border-radius: 50%;
	min-width: 1.125rem;
	height: 1.125rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Glamping card wishlist button */
.glamping-card__wishlist {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	background: var(--color-white);
	border: none;
	border-radius: 50%;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-fast);
	z-index: 10;
}

.glamping-card__wishlist:hover {
	background: var(--color-white);
	box-shadow: var(--shadow-md);
	transform: scale(1.05);
}

.glamping-card__wishlist .icon-heart {
	stroke: #e74c3c;
	fill: none;
	transition: var(--transition-fast);
}

.glamping-card__wishlist.is-active .icon-heart {
	fill: #e74c3c;
	stroke: #e74c3c;
}

/* Wishlist Page */
.wishlist-page {
	min-height: 60vh;
}

/* Wishlist Hero */
.wishlist-hero {
	background: linear-gradient(135deg, var(--color-bg-blue) 0%, var(--color-bg-lighter) 100%);
	padding: 4rem 2rem 3rem;
	text-align: center;
}

.wishlist-hero-content {
	max-width: 800px;
	margin: 0 auto;
}

.wishlist-title {
	font-size: clamp(2rem, 5vw, 3rem);
	color: var(--color-heading);
	margin: 0 0 0.5rem;
}

.wishlist-subtitle {
	font-size: clamp(1rem, 2.5vw, 1.25rem);
	color: var(--color-text-light);
	margin: 0;
}

/* Wishlist Content */
.wishlist-content {
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding: 3rem 2rem;
}

.wishlist-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	gap: 1rem;
}

.wishlist-count {
	font-size: 14px;
	color: var(--color-text);
	font-weight: 600;
	margin: 0;
}

.clear-wishlist-btn {
	background: #ef4444;
	color: white;
	border: 1px solid var(--color-border);
	padding: 0.625rem 1.25rem;
	border-radius: var(--radius-md);
	font-size: 0.9375rem;
	cursor: pointer;
	margin: auto;
	transition: var(--transition-fast);
}

.clear-wishlist-btn:hover {
	background: #ef4444;
	color: var(--color-white);
	border-color: #ef4444;
}

/* Loading State */
.wishlist-loading {
	text-align: center;
	padding: 4rem 2rem;
	color: var(--color-text-light);
}

/* Empty State */
.wishlist-empty {
	text-align: center;
	padding: 4rem 2rem;
}

.wishlist-empty-content {
	max-width: 500px;
	margin: 0 auto;
}

.wishlist-empty-icon {
	color: var(--color-border-dark);
	margin-bottom: 1.5rem;
}

.wishlist-empty h2 {
	font-size: 1.75rem;
	color: var(--color-heading);
	margin: 0 0 0.75rem;
}

.wishlist-empty p {
	font-size: 1rem;
	color: var(--color-text-light);
	margin: 0 0 2rem;
	line-height: 1.6;
}

.btn-primary {
	display: inline-block;
	background: var(--color-primary);
	color: var(--color-white);
	padding: 0.875rem 2rem;
	border-radius: var(--radius-md);
	text-decoration: none;
	font-weight: 600;
	transition: var(--transition-fast);
}

.btn-primary:hover {
	background: var(--color-primary-dark);
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}

/* Wishlist Grid */
#wishlist-grid.glamping-grid {
	display: block; /* Changed from grid to block to allow country sections */
}

/* Wishlist Country Sections */
.wishlist-country-section {
	margin-bottom: 3rem;
}

.wishlist-country-section:last-child {
	margin-bottom: 0;
}

.wishlist-country-title {
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	color: var(--color-heading);
	margin: 0 0 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--color-primary);
	position: relative;
}

.wishlist-country-title::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 60px;
	height: 2px;
	background: var(--color-primary);
	opacity: 0.3;
}

.wishlist-country-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
	gap: 2rem !important;
	width: 100%;
}

/* Ensure glamping cards display correctly in grid */
.wishlist-country-grid > .glamping-card,
.wishlist-country-grid > article {
	margin: 0;
	width: auto;
	display: flex;
}

.ez-toc-open-icon{
	display: none !important;
}


/*--------------------------------------------------------------
# Grid Load More
--------------------------------------------------------------*/

/* Hide items initially when limit is set */
.card.grid-item-hidden {
	display: none;
}

/* Load More button wrapper */
.grid-load-more-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
	margin-bottom: 1rem;
}

/* Load More button */
.grid-load-more-button {
	background: var(--color-primary);
	color: var(--color-white);
	border: none;
	border-radius: var(--radius-md);
	padding: 0.875rem 2.5rem;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition-fast);
	box-shadow: var(--shadow-sm);
}

.grid-load-more-button:hover {
	background: var(--color-primary-dark);
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}

.grid-load-more-button:active {
	transform: translateY(0);
}

.fluentform{
	max-width: 900px;
	margin: auto;
}

/* Responsive */

@media (min-width: 1600px) {
.hero-section {
		min-height: 400px;
	}
}

@media (min-width: 1280px) {
.child-locations-cities .card-grid {
		grid-template-columns: repeat(6, 1fr);
		gap: 0.8rem;
	}
}

@media screen and (max-width: 1200px) {
.glamping-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 1024px) {
.glamping-archive-layout {
		grid-template-columns: 250px 1fr;
		gap: 1rem;
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	.location-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.filter-grid,
	.amenity-style-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.glamping-grid--featured {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 968px) {
.card-grid {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 1.25em;
	}

	.section-title {
		font-size: clamp(1.5rem, 3vw, 1.875rem);
	}

	.card-title {
		font-size: 1.25rem;
	}

	.card-flag {
		font-size: 1.75rem;
	}

	.slider-wrapper {
		gap: 0.75em;
	}
	.sibling-cities-section {
		padding: 4rem 0;
	}

	.sibling-cities-carousel-wrapper {
		padding: 0 2.5rem;
	}

	.sibling-city-card {
		flex: 0 0 240px;
		min-width: 240px;
	}

	.sibling-city-card img {
		height: 180px;
	}
	.popular-cities-header {
		margin-bottom: 2rem;
	}

	.popular-cities-worldwide .location-grid {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 1.25em;
	}
	.latest-stories-grid,
	.blog-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.post-layout {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.post-sidebar{
		display: none;
	}

	.table-of-contents {
		max-width: 100%;
	}

	.related-posts-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.author-bio-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.continent-section .slider-wrapper {
		--slides-visible: 3;
	}

	.continent-section .card-flag,
	.continent-countries .card-flag,
	.child-locations-regions .card-flag {
		font-size: 1.5rem;
	}

	.continent-section .card-title,
	.continent-countries .card-title,
	.child-locations-regions .card-title {
		font-size: 1.25rem;
	}

	.grid-section.popular-glampings .card-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25em;
	}

	.child-locations-cities .card-flag {
		font-size: 1.75rem;
	}

	.child-locations-cities .card-count {
		font-size: 0.8125rem;
	}

	.sibling-cities-section .slider-wrapper {
		--slides-visible: 2;
	}

	.popular-glampings .slider-wrapper,
	.popular-glampings-continent .slider-wrapper {
		--slides-visible: 3;
	}
	.location-about-wrapper {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.location-about-text {
		padding-right: 0;
	}

	.location-about-image {
		order: -1;
	}
	.glamping-results-info {
		gap: 1rem;
	}

	.glamping-sort-label {
		font-size: 0.8125rem;
	}

	.glamping-sort-select {
		font-size: 0.8125rem;
		padding: 0.4rem 1.75rem 0.4rem 0.65rem;
	}
	.wishlist-hero {
		padding: 3rem 1.5rem 2rem;
	}

	.wishlist-content {
		padding: 2rem 1.5rem;
	}

	.wishlist-country-grid {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
		gap: 1.5rem !important;
	}

	.author-posts-grid {
		gap: 1.5rem;
	}
	.ez-toc-open-icon{
		display: grid !important;
		top: 66%;
		z-index: 0 !important;
	}
}

@media (min-width: 768px) {
	.site-header{		
		position: sticky;
		top: 0;
	}
.button:hover{
		transform: translateY(-2px);
		background: #1b9672;
		color: white;
	}

.glamping-card__title-row {
		min-height: 81px;
	}

.section-title {
		margin: 0 0 1.5rem;
	}
    .section-title a:hover {
		color: #1b9672;
		transition: color 0.2s ease;
	}

.slider-wrapper {
		padding: 0 3rem;
	}

.continent-section .slider-header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 1.5rem;
		flex-wrap: wrap;
	}

	.continent-section-wrapper{
		padding: 1rem 0;
	}

/* .child-locations-cities .card-grid {
		grid-template-columns: repeat(3, 1fr);
	} */

.popular-glampings-continent .container > .section-title {
		padding: 0 3rem;
		margin: 0 0 2rem;
	}

.country-glampings-header {
		padding: 0 3rem;
		gap: 1rem;
	}

.post-header {
		position: relative;
		margin-top: -200px;
        background: white;
        padding: 30px 20px;
		border-radius: 10px;
	}
	.post-header-info{
		display: flex;
    	justify-content: space-evenly;
		align-items: center;
	}
	.post-meta{
		margin-bottom: 0 !important;
	}

.header-wishlist {
		margin-left: 10px;
	}
}

@media (max-width: 768px) {
.mobile-only{
		display: inline-flex !important;
	}
	.desktop-only{
		display: none !important;
	}

.header-wrapper {
		flex-wrap: wrap;
		position: relative;
	}

	.site-branding {
		position: absolute;
        left: 0;
        right: 0;
	}

	.main-navigation {
		order: 2;
		width: 100%;
		justify-content: flex-start;
	}

	.menu-toggle {
		display: block;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		padding: 0;
	}

	.main-navigation ul {
		display: none;
		position: absolute;
        left: 0;
        top: 60px;
		flex-direction: column;
		width: 100%;
		gap: 0;
		background: var(--color-bg-light);
		padding: 15px 0;
		margin-top: 10px;
		border-top: 1px solid var(--color-border);
		z-index: 3;
	}

	.main-navigation.toggled ul {
		display: flex;
	}

	.main-navigation.toggled .pll-parent-menu-item{
		display: flex;
        flex-flow: row;
        justify-content: center;
        align-items: center;
        margin-top: 20px;
	}

	.main-navigation.toggled .pll-parent-menu-item > a{
		display: none;
	}

	.main-navigation.toggled .pll-parent-menu-item .sub-menu{
		position: static;
		opacity: 1;
		min-width: unset;
		width: unset;
		visibility: visible;
		background: none;
		padding: 0;
		box-shadow: none;
		border: none;
		margin: 0;
		flex-flow: row;
	}

	.main-navigation.toggled .pll-parent-menu-item .sub-menu li{
		margin: 0 20px 0 0 !important;
	}

	.main-navigation.toggled .pll-parent-menu-item .sub-menu li a{
		padding: 0;
	}

	.main-navigation li {
		width: 100%;
	}

	.main-navigation ul > li:last-child {
		margin-left: 0;
	}

	.main-navigation a {
		padding: 12px 20px;
	}

	.main-navigation ul ul a {
		padding-left: 40px;
		font-size: 0.9rem;
	}

	.main-navigation ul ul ul a {
		padding-left: 60px;
	}

.glamping-archive__content {
		grid-template-columns: 1fr;
	}

	.glamping-archive__sidebar {
		order: 2;
	}

	.glamping-archive__main {
		order: 1;
	}

.glamping-grid {
		grid-template-columns: 1fr;
	}

.glamping-results .glamping-results-header{
		position: sticky;
		top: 70px;
		background: white;
		padding: 16px 0 !important;
		margin-bottom: 0;
		z-index: 1;
	}

.glamping-results-count {
		font-size: 0.875rem;
	}

	.glamping-sort-label {
		display: none; /* Hide "Sort by:" label on mobile */
	}

/* Show mobile filter button */
	.mobile-filter-button {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding: 7px 15px;
		background: #FFDE59;
		border: none;
		border-radius: 25px;
		font-size: 0.9375rem;
		font-weight: 600;
		color: var(--color-text-dark);
		cursor: pointer;
		transition: var(--transition-fast);
		flex-shrink: 0;
	}

	.mobile-filter-button:hover {
		background: var(--color-bg-light);
	}

	.mobile-filter-icon {
		flex-shrink: 0;
		width: 18px;
		height: 18px;
	}

	.mobile-filter-text {
		white-space: nowrap;
	}

	.mobile-filter-count {
		background: var(--color-primary);
		color: var(--color-white);
		padding: 0.125rem 0.5rem;
		border-radius: 10px;
		font-size: 0.8125rem;
		font-weight: 600;
	}

	/* Hide desktop sidebar on mobile */
	.glamping-filters-sidebar {
		display: none;
	}

	/* Adjust filter body padding for mobile */
	.mobile-filter-body .glamping-filters__footer {
		margin-top: 1.5rem;
	}

	/* Results count on same line */
	.glamping-results-count {
		flex: 1;
		text-align: right;
		font-size: 0.9375rem;
	}

.country-grid {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 1.5rem;
	}

.continent-title {
		font-size: 1.75rem;
	}

.hero-title {
		font-size: 1.75rem;
		margin-bottom: 1rem;
	}

	.hero-subtitle {
		font-size: 1rem;
		margin: 0.75em 0 1.25em;
	}

	.country-name {
		font-size: 1.25rem;
	}

	.country-flag {
		font-size: 1.5rem;
	}

	.country-count {
		font-size: 0.85rem;
	}

.popular-terms-section {
		padding: 3rem 1.5rem;
	}

	.popular-terms-grid {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 1rem;
	}

	.term-name {
		font-size: 1.25rem;
	}

	.term-card-overlay {
		padding: 1rem;
	}

.location-hub__hero {
		padding: 3rem 1.5rem;
	}

	.location-hub__title {
		font-size: 1.75rem;
	}

	.location-hub__hero-text {
		font-size: 1rem;
	}

	.location-hub__section {
		padding: 3rem 1.5rem;
	}

	.location-hub__section-title {
		font-size: 1.5rem;
	}

	.location-hub__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.location-hub__about {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 3rem 1.5rem;
	}

	.location-hub__about-title {
		font-size: 1.5rem;
	}

	.location-hub__faqs {
		padding: 3rem 1.5rem;
	}

	.location-hub__faqs-title {
		font-size: 1.5rem;
	}

	.location-hub__card-name {
		font-size: 1.25rem;
	}

	.location-hub__card-name--large {
		font-size: 1.5rem;
	}

.glamping-archive-layout {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.glamping-filters-sidebar {
		order: 2;
	}

	.glamping-results {
		order: 1;
	}

.location-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.filter-grid,
	.amenity-style-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.price-range-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.glamping-grid--featured {
		grid-template-columns: 1fr;
	}

	.location-card {
		height: 200px;
	}

	.filter-card {
		height: 150px;
	}

.location-faq-content h3 {
		font-size: 1.2rem;
	}

.location-faq {
		padding: 0;
	}
	.location-about{
		padding: 2.5rem 20px;
	}

	.page-content-section {
		padding: 2.5rem 20px;
	}

	.location-about-text p,
	.location-faq-content p,
	.page-content-section-wrapper p {
		font-size: 1rem;
	}

.continent-intro {
		padding: 2rem 1.5rem;
	}

	.continent-countries {
		padding: 2rem 1.5rem;
	}

	.continent-countries .country-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.country-count {
		font-size: 0.85rem;
	}

	.popular-cities-title {
		font-size: 1.75rem;
	}

	.popular-cities-subtitle {
		font-size: 0.95rem;
	}

.popular-cities-title {
		font-size: 1.75rem;
	}

	.popular-cities-subtitle {
		font-size: 0.95rem;
	}

	.popular-cities-worldwide .location-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

.sibling-cities-section {
		padding: 3rem 0;
	}

	.sibling-cities-title {
		font-size: 1.75rem;
		margin-bottom: 1.5rem;
	}

	.sibling-cities-carousel-wrapper {
		padding: 0 2rem;
	}

	.sibling-city-card {
		flex: 0 0 220px;
		min-width: 220px;
	}

	.sibling-city-card img {
		height: 160px;
	}

	.carousel-nav {
		width: 36px;
		height: 36px;
		font-size: 1rem;
	}

.slider-arrow-prev {
		left: -20px;
	}
	.slider-arrow-next {
		right: -20px;
	}

.youtube-videos-section {
		padding: 2rem 0;
	}


	.youtube-videos-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.youtube-videos-slider-wrapper {
		padding: 0 50px;
	}

	.youtube-video-slide {
		flex: 0 0 100%; /* Show 1 video at a time on mobile */
	}

	.youtube-videos-track {
		gap: 0;
	}

.slider-header{
		padding: 0;
	}
	.slider-section .button{
		position: absolute;
		bottom: 0;
	}

.continent-section .card-grid,
	.continent-countries .card-grid,
	.child-locations-regions .card-grid,
	.grid-section.popular-glampings .card-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: .5rem;
	}

	.child-locations-cities .card-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.continent-section .slider-wrapper {
		--slides-visible: 1;
	}

	.continent-section .card-flag,
	.continent-countries .card-flag,
	.child-locations-regions .card-flag {
		font-size: 1.25rem;
	}

	.continent-section .card-title,
	.continent-countries .card-title,
	.child-locations-regions .card-title {
		font-size: 1rem;
	}

	.child-locations-cities .card-flag {
		font-size: 1.5rem;
	}
	.child-locations-cities .card-title {
		font-size: 18px;
	}

	.child-locations-cities .card-count {
		font-size: 0.75rem;
	}

	.sibling-cities-section .slider-wrapper {
		--slides-visible: 1;
	}

	.popular-glampings .slider-wrapper,
	.popular-glampings-continent .slider-wrapper {
		--slides-visible: 1;
	}

	.popular-glampings-continent {
		padding: 2rem 0;
	}

	.country-glampings-section {
		margin-bottom: 2rem;
	}

.blog-card-content {
		padding: 1rem;
	}



.google-reviews-section {
		padding: 2rem 0;
	}

div.asl_w .probox .promagnifier{
		padding: 8px 16px !important;
		font-size: 14px;
	  }
	  div.asl_w .probox .promagnifier .innericon{
		gap: 6px;
	  }

.author-archive-header {
		padding: 3rem 1.5rem 2rem;
	}

	.author-archive-container-top {
		flex-direction: column;
		text-align: center;
		gap: 1rem;
	}

	.author-archive-posts {
		padding: 3rem 1.5rem;
	}

	.author-posts-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.author-archive-name {
		font-size: 1.75rem;
	}

	.author-archive-role {
		font-size: 1rem;
	}

.wishlist-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.wishlist-hero {
		padding: 2.5rem 1rem 1.5rem;
	}

	.wishlist-content {
		padding: 1.5rem 1rem;
	}

	.clear-wishlist-btn {
		width: 100%;
	}

	.wishlist-country-section {
		margin-bottom: 2.5rem;
	}

	.wishlist-country-title {
		font-size: 1.5rem;
		margin-bottom: 1.25rem;
	}

	.wishlist-country-grid {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}
	.latest-stories-section {
		padding: 2.5rem 0;
	}

	.latest-stories-grid,
	.blog-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding: 0 1rem;
	}

	.blog-archive-main {
		padding: 3rem 0;
	}

	.post-container {
		padding: 0 1rem;
	}

	.post-content-wrapper {
		padding: 2rem 0;
	}

	.post-header {
		margin-bottom: 1.5rem;
	}

	.post-title {
		font-size: 1.75rem;
	}

	.post-meta {
		gap: 1rem;
	}

	.post-social-share {
		gap: 0.5rem;
	}

	.share-button {
		width: 36px;
		height: 36px;
	}

	.entry-content {
		font-size: 1rem;
	}

	.entry-content h2 {
		font-size: 1.5rem;
	}

	.entry-content h3 {
		font-size: 1.25rem;
	}

	.related-posts-grid {
		grid-template-columns: 1fr;
	}

	.author-bio-section,
	.related-posts-section,
	.post-comments-wrapper {
		padding: 0 1rem;
	}

	.author-bio-box {
		padding: 1.5rem;
	}

	.author-bio-name {
		font-size: 1.25rem;
	}
	.grid-load-more-wrapper {
		margin-top: 1.5rem;
	}

	.grid-load-more-button {
		padding: 0.75rem 2rem;
		font-size: 0.9375rem;
		width: 100%;
		max-width: 300px;
	}
	.card-grid {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.grid-section {
		padding: 1.5rem 0;
	}
	.slider-section{
		position: relative;
        padding: 2.5rem 0 3.7rem 0;
	}

	.grid-header {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
	}

	.card-flag {
		font-size: 1.5rem;
	}

	.slider-wrapper {
		gap: 0.5rem;
	}
}

@media screen and (max-width: 480px) {
.country-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

.continent-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

.youtube-videos-slider-wrapper {
		padding: 0 40px;
	}
}
