/*
Theme Name:        Guide
Author:            Hell Hellish
Description:       Template for Guide
Version:           2.0.0
*/

/* ==========================================================================
   01. ROOT / CUSTOM PROPERTIES
   ========================================================================== */
:root {
    --color-bg: #060c18;
    --color-bg-alt: #080f1e;
    --color-bg-card: #0e1a2e;
    --color-bg-panel: #0a1424;
    --color-text: #f5f0e8;
    --color-text-muted: #c8bfae;
    --color-text-dim: #8a9aba;
    --color-text-faint: #4a5a7a;
    --color-accent: #c9a260;
    --color-accent-hover: #e0bc80;
    --gold-rgb: 201,162,96;
    --font-body: 'Montserrat',sans-serif;
    --font-display: 'Playfair Display',serif;
    --section-py: 5rem;
    --container-max: 1280px;
    --container-px: 1.5rem;
    --navbar-h: 4rem;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-full: 50%;
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;
    --border-gold-soft: 1px solid rgba(var(--gold-rgb),0.15);
    --border-gold-mid: 1px solid rgba(var(--gold-rgb),0.28);
    --border-gold-strong: 1px solid rgba(var(--gold-rgb),0.55);
    --border-gold-faint: 1px solid rgba(var(--gold-rgb),0.1);
    --gold-gradient-r: linear-gradient(90deg,transparent,var(--color-accent) 60%,transparent);
    --shadow-modal: 0 24px 80px rgba(0,0,0,0.45);
    --shadow-deep: 0 24px 80px rgba(0,0,0,0.5);
    --shadow-img: 0 4px 12px rgba(0,0,0,0.4);
}

/* ==========================================================================
   02. BASE / RESET
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--color-bg)}
::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:3px}

/* ==========================================================================
   03. LAYOUT / CONTAINERS / SECTIONS
   ========================================================================== */
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px)}
section{padding:2rem 0}
.section-about{background:var(--color-bg)}
.section-reviews{background:var(--color-bg-alt)}
.section-blog{background:var(--color-bg)}

/* ==========================================================================
   04. HEADER / NAVIGATION
   ========================================================================== */
.navbar{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(6,12,24,0.92);backdrop-filter:blur(12px);border-bottom:var(--border-gold-soft)}
.navbar-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px);height:var(--navbar-h);display:flex;align-items:center;justify-content:space-between}
nav li,#mobileMenu li{list-style:none}
.logo{display:flex;align-items:center;gap:0.75rem}
.logo-text .title{font-family:var(--font-display);font-weight:600;font-size:0.875rem;letter-spacing:0.1em;color:var(--color-accent)}
.logo-text .subtitle{font-size:0.75rem;letter-spacing:0.2em;color:var(--color-text-dim)}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{font-size:0.75rem;font-weight:500;letter-spacing:0.15em;color:var(--color-text-muted);transition:color var(--transition-fast)}
.nav-links a:hover{color:var(--color-accent)}
.nav-links .btn-outline-gold:hover a{color:var(--color-text)}
.burger{display:none;flex-direction:column;gap:6px;padding:0.5rem}
.burger span{display:block;height:1px;background:var(--color-accent)}
.burger span:nth-child(1),.burger span:nth-child(2){width:24px}
.burger span:nth-child(3){width:16px}
.mobile-menu{display:none;padding:0 var(--container-px) 1.5rem;flex-direction:column;gap:1rem;background:rgba(6,12,24,0.98)}
.mobile-menu.open{display:flex}
.mobile-menu li{font-size:0.75rem;font-weight:500;letter-spacing:0.15em;padding:0.5rem 0;color:var(--color-text-muted);border-bottom:var(--border-gold-faint)}
.mobile-menu .btn-outline-gold{text-align:center;justify-content:center;margin-top:0.5rem}
header .btn-outline-gold{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:600;letter-spacing:0.15em;padding:0.5rem 1.25rem;border:1px solid var(--color-accent);color:var(--color-accent);background:transparent;transition:all var(--transition-fast)}
header .btn-outline-gold:hover{background:var(--color-accent);color:var(--color-bg)}

/* ==========================================================================
   05. BUTTONS
   ========================================================================== */
.btn-primary-gold{display:inline-flex;align-items:center;gap:0.75rem;font-size:0.875rem;font-weight:500;letter-spacing:0.12em;padding:0.875rem 2rem;background:rgba(var(--gold-rgb),0.15);border:1px solid var(--color-accent);color:var(--color-accent);transition:all var(--transition-base)}
.btn-primary-gold:hover{background:var(--color-accent);color:var(--color-bg)}
.car-content .btn-outline-gold{margin-top:2rem;width:fit-content;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:600;letter-spacing:0.15em;padding:0.5rem 1.25rem;border:1px solid var(--color-accent);color:var(--color-accent);background:transparent;transition:all var(--transition-fast)}
.car-content .btn-outline-gold:hover{background:var(--color-accent);color:var(--color-bg)}
.btn-outline-gold.modal-cta{margin-top:2rem;width:fit-content;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:600;letter-spacing:0.15em;padding:0.5rem 1.25rem;border:1px solid var(--color-accent);color:var(--color-accent);background:transparent;transition:all var(--transition-fast)}
.btn-outline-gold.modal-cta:hover{background:var(--color-accent);color:var(--color-bg)}
.btn-outline-gold.article-modal-cta{margin-top:2rem;width:fit-content;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:600;letter-spacing:0.15em;padding:0.5rem 1.25rem;border:1px solid var(--color-accent);color:var(--color-accent);background:transparent;transition:all var(--transition-fast)}
.btn-outline-gold.article-modal-cta:hover{background:var(--color-accent);color:var(--color-bg)}

/* ==========================================================================
   06. HERO BANNER
   ========================================================================== */
.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-overlay-1{position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,12,24,0.88) 0%,rgba(6,12,24,0.55) 55%,rgba(6,12,24,0.2) 100%)}
.hero-overlay-2{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,12,24,1) 0%,transparent 40%)}
.hero-content{position:relative;z-index:10;max-width:var(--container-max);margin:0 auto;padding:4rem var(--container-px) 0}
.hero-content .section-title{margin-bottom:1.5rem}
.hero-content h1{font-family:var(--font-display);font-weight:600;line-height:1.2;margin-bottom:1.5rem;font-size:clamp(2rem,4.5vw,3.5rem);color:var(--color-text)}
.hero-content h1 em{color:var(--color-accent);font-style:italic}
.hero-content p{font-weight:300;line-height:1.6;margin-bottom:2.5rem;color:var(--color-text-muted);font-size:0.9rem;max-width:24rem}
.hero-social-proof{margin-top:1.5rem;display:flex;align-items:center;gap:0.75rem}
.avatar-stack{display:flex}
.avatar-stack img{width:2rem;height:2rem;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-bg);margin-left:-0.5rem}
.avatar-stack img:first-child{margin-left:0}
.divider-vertical{width:1px;height:1.75rem;background:rgba(var(--gold-rgb),0.35)}
.hero-social-proof p{font-size:0.75rem;line-height:1.5;color:var(--color-text-muted);margin:0}
.hero-social-proof strong{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-accent)}

/* ==========================================================================
   07. ABOUT SECTION / FEATURES / ACCREDITATION
   ========================================================================== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:5rem}
.about-text .section-title{margin-bottom:1rem}
.about-avatar{float:left;margin:0 1.5rem 0.75rem 0;width:8rem;height:8rem;border-radius:var(--radius-full);overflow:hidden;border:2px solid var(--color-accent)}
.about-avatar img{width:100%;height:100%;object-fit:cover}
.about-text p{font-weight:300;line-height:1.6;margin-bottom:1.5rem;color:var(--color-text-muted);font-size:0.875rem}
.about-signature{clear:both;font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--color-accent)}
.accreditation{margin-top:1.25rem;display:flex;align-items:center;gap:1rem;max-width:28rem;padding:1rem;background:rgba(var(--gold-rgb),0.07);border:1px solid rgba(var(--gold-rgb),0.24);border-radius:var(--radius-sm)}
.accreditation-icon{flex:none;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:rgba(var(--gold-rgb),0.12);border:1px solid rgba(var(--gold-rgb),0.35)}
.accreditation-text .label{font-size:0.65rem;font-weight:600;letter-spacing:0.14em;color:var(--color-accent)}
.accreditation-text p{margin-top:0.25rem;font-size:0.75rem;line-height:1.5;color:var(--color-text-muted)}
.accreditation-text .reg-number{display:grid;margin-top:0.25rem;color:var(--color-text-dim)}
.accreditation-text .reg-number strong{font-weight:500;color:var(--color-text-muted)}
.features .gold-divider{justify-content:flex-start;margin-bottom:2rem}
.features .gold-divider::before{display:none}
.features .gold-divider::after{max-width:none;flex:1}
.feature-list{display:flex;flex-direction:column;gap:1.25rem}
.feature-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border-radius:var(--radius-sm);background:var(--color-bg-card);border:var(--border-gold-faint)}
.feature-icon{flex:none;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:rgba(var(--gold-rgb),0.08)}
.feature-item .title{font-weight:600;font-size:0.75rem;letter-spacing:0.15em;color:var(--color-accent);margin-bottom:0.25rem}
.feature-item .desc{font-weight:300;font-size:0.75rem;line-height:1.6;color:var(--color-text-dim)}

/* ==========================================================================
   08. CAR (AUTO) PANEL
   ========================================================================== */
.car-section{overflow:hidden;border-radius:var(--radius-md);background:var(--color-bg-panel);border:1px solid rgba(var(--gold-rgb),0.2)}
.car-grid{display:grid;grid-template-columns:1.15fr 0.85fr}
.car-image{position:relative;height:430px;overflow:hidden}
.car-image img{width:100%;height:100%;object-fit:cover;object-position:50% 78%;filter:saturate(0.86) contrast(1.04)}
.car-image .overlay{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to right,rgba(6,12,24,0.02),rgba(6,12,24,0.18))}
.car-image .caption{pointer-events:none;position:absolute;left:0;right:0;bottom:0;padding:3.5rem 1.25rem 1rem;font-size:0.6rem;font-weight:500;letter-spacing:0.14em;color:var(--color-text-muted);background:linear-gradient(to top,rgba(6,12,24,0.9),transparent)}
.car-content{display:flex;flex-direction:column;justify-content:center;padding:3rem 2.5rem}
.car-content .section-title{margin-bottom:0.75rem}
.car-content h2{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--color-text)}
.car-content .gold-line{margin:1.25rem 0;height:1px;width:5rem;background:var(--color-accent)}
.car-content p{font-size:0.875rem;font-weight:300;line-height:1.6;color:var(--color-text-muted)}
.car-features{margin-top:1.75rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.car-feature{display:flex;align-items:center;gap:0.75rem;font-size:0.75rem;color:var(--color-text-muted)}
.car-feature .check{flex:none;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:rgba(var(--gold-rgb),0.1);color:var(--color-accent)}

/* ==========================================================================
   09. CAROUSEL HEADER / CONTROLS / TRACKS
   ========================================================================== */
.carousel-header{position:relative;margin-bottom:2.5rem}
.carousel-controls{display:flex;justify-content:center;gap:0.75rem;margin-top:1.5rem}
.carousel-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);border:1px solid var(--color-accent);color:var(--color-accent);transition:all var(--transition-fast)}
.carousel-btn:hover{background:var(--color-accent);color:var(--color-bg)}
.carousel-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:0.5rem;scrollbar-width:none;overscroll-behavior-inline:contain}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track.grid-mode{display:grid;grid-template-columns:1fr;overflow:visible;gap:1rem}

/* ==========================================================================
   10. TOUR CARDS
   ========================================================================== */
.tour-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-sm);text-align:left;background:var(--color-bg-card);flex:none;scroll-snap-align:start;width:85%;cursor:pointer;transition:transform var(--transition-base)}
.tour-card.grid-mode{width:100%}
.tour-card:hover .tour-card-img img{transform:scale(1.05)}
.tour-card-img{position:relative;width:100%;aspect-ratio:3 / 2;flex:none;overflow:hidden}
.tour-card-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--transition-slow)}
/*.tour-card-img .overlay{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to top,rgba(6,12,24,0.9) 0%,rgba(6,12,24,0.3) 60%,transparent 100%)}*/
.tour-card-body{display:flex;flex:1;flex-direction:column;padding:1.25rem}
.tour-card-title{margin-bottom:0.25rem;font-size:0.75rem;font-weight:600;letter-spacing:0.1em;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tour-card-meta{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem}
.tour-card-meta .line{flex:1;height:1px;background:rgba(var(--gold-rgb),0.3)}
.tour-card-meta .duration{font-family:var(--font-display);font-style:italic;font-size:0.75rem;color:var(--color-accent)}
.tour-card-meta .dot{color:rgba(var(--gold-rgb),0.45)}
.tour-card-meta .people{display:flex;align-items:center;gap:0.25rem;font-size:0.65rem;color:var(--color-text-dim)}
.tour-card-desc{font-size:0.75rem;font-weight:300;line-height:1.6;color:var(--color-text-dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tour-card-footer{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid rgba(var(--gold-rgb),0.16)}
.tour-card-footer .price-label{font-size:0.58rem;letter-spacing:0.14em;color:var(--color-text-faint)}
.tour-card-footer .price{margin-top:0.125rem;font-family:var(--font-display);font-style:italic;font-size:0.875rem;color:var(--color-accent)}
.tour-card-footer .more{display:flex;align-items:center;gap:0.5rem;font-size:0.65rem;font-weight:600;letter-spacing:0.16em;color:var(--color-accent);padding-bottom:0.125rem}
.show-all-wrapper{margin-top:2rem;display:flex;align-items:center;justify-content:center;gap:1rem}
.show-all-line{height:1px;width:3rem;background:linear-gradient(to right,transparent,rgba(var(--gold-rgb),0.65))}
.show-all-line.right{background:linear-gradient(to left,transparent,rgba(var(--gold-rgb),0.65))}
.show-all-btn{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:600;letter-spacing:0.18em;color:var(--color-accent);transition:color var(--transition-fast)}
.show-all-btn:hover{color:var(--color-accent-hover)}
.show-all-btn svg{transition:transform var(--transition-fast)}
.show-all-btn[aria-expanded="true"] svg{transform:rotate(180deg)}

/* ==========================================================================
   11. MODAL (GENERIC) / TOUR MODAL
   ========================================================================== */
.modal-overlay{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;overflow-y:auto;padding:1rem;background:rgba(3,7,15,0.88);backdrop-filter:blur(8px)}
.modal-overlay.open{display:flex}
.modal-content{position:relative;margin:auto;max-height:calc(100vh - 2rem);width:100%;max-width:56rem;overflow-y:auto;border-radius:var(--radius-md);background:var(--color-bg-panel);border:var(--border-gold-mid);box-shadow:var(--shadow-modal)}
.modal-close{position:absolute;right:1rem;top:1rem;z-index:10;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:rgba(6,12,24,0.75);border:var(--border-gold-strong);color:var(--color-accent);transition:all var(--transition-fast)}
.modal-close:hover{background:var(--color-accent);color:var(--color-bg)}
.modal-body{padding:1.5rem}
.modal-body h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--color-text)}
.modal-body .gold-line{margin:1.25rem 0;height:1px;width:5rem;background:var(--color-accent)}
.modal-body .full-desc{font-size:0.875rem;font-weight:300;line-height:1.6;color:var(--color-text-muted)}
.tour-details-grid{margin-top:1.75rem;display:grid;gap:1rem;padding:1rem;border-radius:var(--radius-sm);background:rgba(var(--gold-rgb),0.06);border:1px solid rgba(var(--gold-rgb),0.16)}
.tour-detail-item{display:flex;align-items:center;gap:0.75rem;font-size:0.75rem;line-height:1.6;color:var(--color-text-muted)}
.tour-detail-item .icon{flex:none;color:var(--color-accent)}
.tour-detail-item.more-participants{align-items:flex-start;padding-top:1rem;border-top:1px solid rgba(var(--gold-rgb),0.14)}
.tour-detail-item.more-participants .title{font-size:0.75rem;font-weight:500;color:var(--color-text-muted)}
.tour-detail-item.more-participants .note{margin-top:0.25rem;font-size:0.68rem;line-height:1.6;color:var(--color-text-dim)}

/* Tour modal image + slider */
.tour-modal-image{position:relative;width:100%;height:14rem;overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0}
.tour-modal-image img{width:100%;height:100%;object-fit:cover;display:block}
.tour-modal-image .overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--color-bg-panel),rgba(10,20,36,0.05) 75%);pointer-events:none}

.tour-modal-slider{position:relative;width:100%;height:100%}
.tour-modal-slider[hidden]{display:none !important}
.tour-modal-slider-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain}
.tour-modal-slider-track::-webkit-scrollbar{display:none}
.tour-modal-slider-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;display:block}
.tour-modal-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(6,12,24,0.65);border:1px solid rgba(var(--gold-rgb),0.55);color:var(--color-accent);cursor:pointer;transition:background 0.2s ease,color 0.2s ease}
.tour-modal-slider-btn:hover{background:var(--color-accent);color:var(--color-bg)}
.tour-modal-slider-btn.prev{left:0.75rem}
.tour-modal-slider-btn.next{right:0.75rem}
.tour-modal-slider-dots{position:absolute;left:0;right:0;bottom:0.75rem;z-index:3;display:flex;justify-content:center;gap:0.4rem;pointer-events:none}
.tour-modal-slider-dot{width:0.4rem;height:0.4rem;border-radius:50%;background:rgba(245,240,232,0.45);border:none;padding:0;cursor:pointer;pointer-events:auto;transition:background 0.2s ease,transform 0.2s ease}
.tour-modal-slider-dot.active{background:var(--color-accent);transform:scale(1.3)}

/* ==========================================================================
   12. ACCORDION
   ========================================================================== */
.accordion{margin-top:1.5rem}
.accordion details{border-bottom:1px solid rgba(var(--gold-rgb),0.16)}
.accordion summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;font-size:0.875rem;font-weight:600;color:var(--color-text);cursor:pointer;list-style:none}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary svg{flex:none;transition:transform var(--transition-fast)}
.accordion details[open] summary svg{transform:rotate(180deg)}
.accordion .accordion-content{padding:0.5rem 0 1rem;display:grid;gap:1rem}
.accordion .accordion-content p,.accordion .accordion-content li{font-size:0.75rem;line-height:1.6;color:var(--color-text-muted);white-space:pre-wrap}
.accordion .accordion-content ul{list-style:none;display:grid;gap:0.5rem;padding-left:0.25rem}
.accordion .accordion-content li{display:flex;align-items:flex-start;gap:0.75rem}
.accordion .accordion-content li::before{content:'';margin-top:0.5rem;width:4px;height:4px;flex:none;border-radius:var(--radius-full);background:var(--color-accent)}

/* ==========================================================================
   13. REVIEW CARDS / PHOTOS
   ========================================================================== */
.review-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-sm);padding:1.5rem;background:var(--color-bg-card);border:var(--border-gold-faint);flex:none;scroll-snap-align:start;width:88%}
.review-card.grid-mode{width:100%}
.review-photos-preview{position:absolute;right:1.25rem;top:1.25rem;display:flex;border-radius:var(--radius-sm);transition:transform var(--transition-fast)}
.review-photos-preview:hover{transform:scale(1.05)}
.review-photos-preview img{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);object-fit:cover;box-shadow:var(--shadow-img);border:2px solid var(--color-bg-card);margin-left:-0.5rem}
.review-photos-preview img:first-child{margin-left:0}
.review-header{margin-bottom:1rem}
.review-header.has-photos{padding-right:6rem}
.review-name{font-size:0.875rem;font-weight:500;color:var(--color-text)}
.review-stars{display:flex;gap:0.125rem;margin-top:0.25rem}
.review-date{display:block;margin-top:0.25rem;font-size:0.65rem;color:var(--color-text-dim)}
.review-tour-link{margin-bottom:0.75rem;width:fit-content;text-align:left;font-size:0.75rem;font-weight:600;line-height:1.6;color:var(--color-accent);text-decoration:underline;text-decoration-color:rgba(var(--gold-rgb),0.4);text-underline-offset:4px;transition:color var(--transition-fast)}
.review-tour-link:hover{color:var(--color-accent-hover)}
.review-text{font-size:0.875rem;font-weight:300;line-height:1.6;color:var(--color-text-muted)}
.review-text.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.review-photos-expanded{margin-top:1rem}
.review-photos-expanded .label{margin-bottom:0.5rem;font-size:0.58rem;font-weight:600;letter-spacing:0.14em;color:var(--color-text-faint)}
.review-photos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem}
.review-photos-grid button{position:relative;aspect-ratio:1;width:100%;overflow:hidden;border-radius:var(--radius-sm);border:1px solid rgba(var(--gold-rgb),0.18);transition:transform var(--transition-fast)}
.review-photos-grid button:hover img{transform:scale(1.05)}
.review-photos-grid img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}
.review-expand-btn{margin-top:1rem;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.65rem;font-weight:600;letter-spacing:0.14em;color:var(--color-accent);transition:color var(--transition-fast)}
.review-expand-btn:hover{color:var(--color-accent-hover)}
.review-expand-btn svg{transition:transform var(--transition-fast)}
.review-expand-btn[aria-expanded="true"] svg{transform:rotate(180deg)}

/* ==========================================================================
   14. LIGHTBOX
   ========================================================================== */
.lightbox-overlay{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(3,7,15,0.94);backdrop-filter:blur(8px)}
.lightbox-overlay.open{display:flex}
.lightbox-content{position:relative;display:flex;align-items:center;justify-content:center;max-height:100%;max-width:56rem}
.lightbox-content img{max-height:85vh;max-width:100%;object-fit:contain;border-radius:var(--radius-sm);border:var(--border-gold-mid);box-shadow:var(--shadow-deep)}
.lightbox-close{position:absolute;right:0.75rem;top:0.75rem;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:rgba(6,12,24,0.82);border:var(--border-gold-strong);color:var(--color-accent);transition:all var(--transition-fast)}
.lightbox-close:hover{background:var(--color-accent);color:var(--color-bg)}

/* ==========================================================================
   15. BLOG / ARTICLE CARDS
   ========================================================================== */
.blog-intro{max-width:36rem;margin:0 auto 3rem;text-align:center;font-size:0.875rem;font-weight:300;line-height:1.6;color:var(--color-text-dim)}
.article-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-sm);text-align:left;background:var(--color-bg-panel);border:1px solid rgba(var(--gold-rgb),0.14);flex:none;scroll-snap-align:start;width:88%;transition:transform var(--transition-base);cursor:pointer}
.article-card.grid-mode{width:100%}
.article-card:hover{transform:translateY(-4px)}
.article-card:hover .article-card-img img{transform:scale(1.05)}
.article-card-img{position:relative;width:100%;aspect-ratio:3 / 2;flex:none;overflow:hidden}
.article-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
/*.article-card-img .overlay{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to top,rgba(6,12,24,0.72),transparent 65%)}*/
.article-card-img .category{position:absolute;bottom:1rem;left:1rem;font-size:0.6rem;font-weight:600;letter-spacing:0.16em;color:var(--color-accent-hover)}
.article-card-body{display:flex;flex:1;flex-direction:column;padding:1.5rem}
.article-card-meta{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;font-size:0.65rem;color:var(--color-text-faint)}
.article-card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-card-excerpt{margin-top:0.75rem;font-size:0.75rem;font-weight:300;line-height:1.6;color:var(--color-text-dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-card-footer{margin-top:auto;display:flex;align-items:center;gap:0.5rem;padding-top:1.25rem;font-size:0.65rem;font-weight:600;letter-spacing:0.14em;color:var(--color-accent)}

/* ==========================================================================
   16. ARTICLE MODAL
   ========================================================================== */
.article-modal .modal-content{max-width:48rem}
.article-modal-image{position:relative;height:14rem;overflow:hidden}
.article-modal-image img{width:100%;height:100%;object-fit:cover}
.article-modal-image .overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--color-bg-panel),rgba(10,20,36,0.05) 75%)}
.article-modal-body{padding:0 1.5rem 2rem}
.article-modal-category{font-size:0.65rem;font-weight:600;letter-spacing:0.16em;color:var(--color-accent)}
.article-modal-body h2{margin-top:0.75rem;font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--color-text)}
.article-modal-body .gold-line{margin:1.5rem 0;height:1px;width:5rem;background:var(--color-accent)}
.article-modal-content{display:grid;gap:1.25rem}
.article-modal-content p{font-size:0.875rem;font-weight:300;line-height:1.75;color:var(--color-text-muted)}
.article-modal-template--btns{display:flex;flex-wrap:wrap;justify-content:space-between}

/* ==========================================================================
   17. FOOTER
   ========================================================================== */
.footer{padding:2rem 0;background:var(--color-bg);border-top:1px solid rgba(var(--gold-rgb),0.2)}
.footer .gold-divider{margin-bottom:3rem}
.footer-grid{display:grid;gap:1.5rem;margin-bottom:3rem}
.footer-contact{display:flex;align-items:flex-start;gap:0.75rem;transition:color var(--transition-fast)}
.footer-contact:hover .footer-contact-value{color:var(--color-accent)}
.footer-contact-icon{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);background:rgba(var(--gold-rgb),0.08);border:1px solid rgba(var(--gold-rgb),0.2)}
.footer-contact-label{font-size:0.75rem;letter-spacing:0.1em;color:var(--color-text-faint)}
.footer-contact-value{margin-top:0.125rem;font-size:0.875rem;font-weight:500;color:var(--color-text-muted);transition:color var(--transition-fast)}
.footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;padding-top:2rem;border-top:var(--border-gold-faint)}
.footer-logo{display:flex;align-items:center;gap:0.75rem}
.footer-logo .title{font-family:var(--font-display);font-weight:600;font-size:0.875rem;letter-spacing:0.1em;color:var(--color-accent)}
.footer-logo .subtitle{font-size:0.75rem;letter-spacing:0.15em;color:var(--color-text-faint)}
.footer-copyright{font-size:0.75rem;color:var(--color-text-faint)}
.footer-contact-icon svg,.footer-logo svg{color:var(--color-accent)}
.footer-contact:hover .footer-contact-icon svg{color:var(--color-accent-hover)}

/* ==========================================================================
   18. UTILITIES / HELPERS / GOLD DIVIDER
   ========================================================================== */
.font-display{font-family:var(--font-display)}
.section-title{font-family:var(--font-body);font-weight:600;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--color-accent)}
.gold-divider{display:flex;align-items:center;gap:12px;justify-content:center}
.gold-divider::before,.gold-divider::after{content:'';flex:1;height:1px;background:var(--gold-gradient-r);max-width:120px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Grid-mode tracks */
#articlesTrack.grid-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;overflow:visible;overflow-x:visible;padding-bottom:0;scroll-snap-type:none}
#articlesTrack.grid-mode>.article-card{flex:initial;width:100%;min-width:0;max-width:none;scroll-snap-align:none}
#toursTrack.grid-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;overflow:visible;scroll-snap-type:none}
#toursTrack.grid-mode>.tour-card{flex:initial;width:100%;min-width:0;max-width:none;scroll-snap-align:none}
#reviewsTrack.grid-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;overflow:visible;scroll-snap-type:none}
#reviewsTrack.grid-mode>.review-card{flex:initial;width:100%;min-width:0;max-width:none;scroll-snap-align:none}

/* ==========================================================================
   19. RICH TEXT
   ========================================================================== */
.rich-text{max-width:52rem;margin:0 auto;font-size:1rem;font-weight:300;line-height:1.8;color:var(--color-text-muted);word-wrap:break-word}
.rich-text>*:first-child{margin-top:0}
.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6{font-family:var(--font-display);font-weight:600;line-height:1.3;color:var(--color-text);margin:2.5rem 0 1rem;letter-spacing:-0.01em}
.rich-text h1{font-size:2rem}
.rich-text h2{font-size:1.75rem}
.rich-text h3{font-size:1.35rem}
.rich-text h4{font-size:1.15rem}
.rich-text h5{font-size:1rem}
.rich-text h6{font-size:0.875rem;letter-spacing:0.1em;text-transform:uppercase}
.rich-text p{margin-bottom:1.5rem}
.rich-text p:last-child{margin-bottom:0}
.rich-text a{color:var(--color-accent);text-decoration:underline;text-decoration-color:rgba(var(--gold-rgb),0.4);text-underline-offset:3px;transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}
.rich-text a:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}
.rich-text ul,.rich-text ol{margin:0 0 1.5rem 1.25rem;padding:0}
.rich-text li{margin-bottom:0.5rem}
.rich-text li::marker{color:var(--color-accent)}
.rich-text ul ul,.rich-text ol ol,.rich-text ul ol,.rich-text ol ul{margin-top:0.5rem;margin-bottom:0.5rem}
.rich-text blockquote{margin:2rem 0;padding:1.25rem 1.75rem;background:var(--color-bg-card);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);font-style:italic;color:var(--color-text-muted)}
.rich-text blockquote p:last-child{margin-bottom:0}
.rich-text blockquote cite{display:block;margin-top:0.75rem;font-size:0.75rem;font-style:normal;letter-spacing:0.1em;color:var(--color-text-faint)}
.rich-text img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1.5rem 0}
.rich-text figure{margin:2rem 0}
.rich-text figure img{margin:0}
.rich-text figcaption{margin-top:0.5rem;font-size:0.75rem;color:var(--color-text-faint);text-align:center}
.rich-text table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:0.875rem}
.rich-text th,.rich-text td{padding:0.75rem 1rem;text-align:left;border-bottom:1px solid rgba(var(--gold-rgb),0.14);color:var(--color-text-muted)}
.rich-text th{color:var(--color-text);font-weight:600;border-bottom-color:rgba(var(--gold-rgb),0.3)}
.rich-text code{padding:0.15em 0.4em;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:0.875em;color:var(--color-accent);background:rgba(var(--gold-rgb),0.08);border-radius:3px}
.rich-text pre{margin:2rem 0;padding:1.25rem 1.5rem;overflow-x:auto;background:var(--color-bg-panel);border:1px solid rgba(var(--gold-rgb),0.16);border-radius:var(--radius-sm);font-size:0.875rem;line-height:1.6}
.rich-text pre code{padding:0;background:none;color:var(--color-text-muted)}
.rich-text hr{margin:2.5rem 0;border:0;height:1px;background:linear-gradient(to right,transparent,rgba(var(--gold-rgb),0.5),transparent)}
.rich-text .alignleft{float:left;margin:0.5rem 1.5rem 1rem 0}
.rich-text .alignright{float:right;margin:0.5rem 0 1rem 1.5rem}
.rich-text .aligncenter{display:block;margin-left:auto;margin-right:auto}
.rich-text .wp-caption,.rich-text .wp-caption-text{font-size:0.75rem;color:var(--color-text-faint)}

/* ==========================================================================
   20. SINGLE POST / TOUR PAGE
   ========================================================================== */
.site-main--single{padding:0 0 5rem;background:var(--color-bg)}
.post__hero{position:relative;display:flex;align-items:flex-end;width:100%;min-height:500px;overflow:hidden;margin-bottom:3rem}
.post__hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(0.92) contrast(1.04)}
.post__hero-overlay{position:relative;z-index:2;width:100%;padding:6rem 0 3rem;background:linear-gradient(to top,rgba(6,12,24,0.96) 0%,rgba(6,12,24,0.75) 45%,rgba(6,12,24,0.2) 100%)}
.post__hero-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px)}
.post__header{max-width:var(--container-max);margin:0 auto 3rem;padding:6rem var(--container-px) 0}
.post__title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.75rem,4vw,3rem);line-height:1.2;color:var(--color-text);margin:1.25rem 0 1.5rem;letter-spacing:-0.01em}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;font-size:0.7rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--color-text-dim)}
.breadcrumbs__link{color:var(--color-text-dim);transition:color var(--transition-fast)}
.breadcrumbs__link:hover{color:var(--color-accent)}
.breadcrumbs__separator{color:rgba(var(--gold-rgb),0.5)}
.post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1.5rem;font-size:0.75rem;color:var(--color-text-dim)}
.post__meta-item{display:inline-flex;align-items:center;gap:0.4rem}
.post__meta-label{color:var(--color-text-faint);letter-spacing:0.1em}
.post__meta-value{color:var(--color-text-muted)}
.post__meta-link{color:var(--color-accent);transition:color var(--transition-fast)}
.post__meta-link:hover{color:var(--color-accent-hover)}
.post__content{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px)}
.site-main--single .tour-cta .btn-primary-gold{margin-top:1rem}

.site-main--tour{padding-bottom:5rem}
.post--tour .post__meta--tour{gap:0.5rem 2rem}
.post--tour .post__meta--tour .post__meta-item{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:var(--color-text-muted)}
.post--tour .post__meta--tour .post__meta-item svg{color:var(--color-accent);flex:none}
.post--tour .post__content{max-width:var(--container-max);margin:0 auto;padding:3rem var(--container-px) 0}
.tour-intro.full-desc{max-width:52rem;margin:0 auto 2.5rem;font-size:1rem;font-weight:300;line-height:1.7;color:var(--color-text-muted)}
.tour-intro.full-desc p{margin-bottom:1rem}
.tour-intro.full-desc p:last-child{margin-bottom:0}
.tour-details-grid--single{max-width:52rem;margin:0 auto 2.5rem;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;padding:1.5rem;border-radius:var(--radius-sm);background:rgba(var(--gold-rgb),0.06);border:1px solid rgba(var(--gold-rgb),0.16)}
.tour-details-grid--single .tour-detail-item{font-size:0.85rem;color:var(--color-text-muted)}
.tour-details-grid--single .tour-detail-item.more-participants{grid-column:span 2}
.tour-content{max-width:52rem;margin:0 auto 2.5rem}
.accordion--single{max-width:52rem;margin:0 auto 2.5rem}
.tour-cta{max-width:52rem;margin:0 auto;padding-top:1rem;text-align:center}
.tour-cta .btn-primary-gold{padding:1rem 2.5rem}
.tour-reviews{margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(var(--gold-rgb),0.15);max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-px);padding-right:var(--container-px)}
.tour-reviews-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:52rem;margin:0 auto}
.tour-reviews-grid .review-card{width:100%;min-width:0;max-width:none;flex:initial;scroll-snap-align:none}
.modal-body .tour-reviews{padding-left:0;padding-right:0}

/* ==========================================================================
   21. ARCHIVE / BLOG LISTING
   ========================================================================== */
.site-main--archive{padding:7rem 0 5rem;background:var(--color-bg)}
.archive-header{text-align:center;margin-bottom:3.5rem}
.archive-header .section-title{display:inline-block;margin-bottom:1rem}
.archive-header__title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.2;color:var(--color-text);letter-spacing:-0.01em}
.archive-header__desc{margin:1rem auto 0;max-width:40rem;font-size:0.875rem;font-weight:300;line-height:1.6;color:var(--color-text-dim)}
.archive-header__divider{margin:1.5rem auto 0;height:1px;width:6rem;background:var(--color-accent);opacity:0.55}
.posts-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.post-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-panel);border:1px solid rgba(var(--gold-rgb),0.14);border-radius:var(--radius-sm);transition:transform var(--transition-base),border-color var(--transition-base)}
.post-card:hover{transform:translateY(-4px);border-color:rgba(var(--gold-rgb),0.35)}
.post-card__link{display:flex;flex-direction:column;height:100%;color:inherit}
.post-card__media{position:relative;flex:none;width:100%;aspect-ratio:3 / 2;overflow:hidden}
.post-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.post-card:hover .post-card__img{transform:scale(1.05)}
.post-card__img--placeholder{background:linear-gradient(135deg,var(--color-bg-card),var(--color-bg-alt))}
.post-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,12,24,0.72) 0%,rgba(6,12,24,0.15) 55%,transparent 100%);pointer-events:none}
.post-card__category{position:absolute;bottom:1rem;left:1rem;z-index:2;font-size:0.6rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-accent-hover)}
.post-card__body{display:flex;flex-direction:column;flex:1;padding:1.5rem}
.post-card__meta{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;font-size:0.65rem;color:var(--color-text-faint)}
.post-card__meta-sep{color:rgba(var(--gold-rgb),0.4)}
.post-card__title{display:-webkit-box;overflow:hidden;font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--color-text);margin-bottom:0.75rem;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.post-card__excerpt{display:-webkit-box;overflow:hidden;font-size:0.75rem;font-weight:300;line-height:1.6;color:var(--color-text-dim);margin-bottom:1.25rem;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.post-card__more{display:inline-flex;align-items:center;gap:0.5rem;margin-top:auto;padding-top:1.25rem;font-size:0.65rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-accent);border-top:1px solid rgba(var(--gold-rgb),0.16);transition:color var(--transition-fast)}
.post-card:hover .post-card__more{color:var(--color-accent-hover)}
.pagination{margin-top:3.5rem;display:flex;justify-content:center}
.pagination .page-numbers{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0;margin:0;list-style:none}
.pagination .page-numbers li{list-style:none}
.pagination .page-numbers a,.pagination .page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 0.75rem;background:transparent;border:1px solid rgba(var(--gold-rgb),0.2);border-radius:var(--radius-sm);font-size:0.75rem;font-weight:500;letter-spacing:0.08em;color:var(--color-text-muted);transition:all var(--transition-fast)}
.pagination .page-numbers a:hover{color:var(--color-accent);border-color:var(--color-accent)}
.pagination .page-numbers .current{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}
.posts-empty{text-align:center;font-size:0.9rem;font-weight:300;color:var(--color-text-dim);padding:3rem 0}

/* ==========================================================================
   22. PAGE TEMPLATE
   ========================================================================== */
.site-main--page{padding:7rem 0 5rem;background:var(--color-bg)}
.page__header{text-align:center;max-width:52rem;margin:0 auto 3rem}
.page__header .section-title{display:inline-block;margin-bottom:1rem}
.page__title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.2;color:var(--color-text);letter-spacing:-0.01em;margin:0}
.page__divider{margin:1.5rem auto 0;height:1px;width:6rem;background:var(--color-accent);opacity:0.55}
.page__links{max-width:52rem;margin:2.5rem auto 0;display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--color-text-dim)}
.page__links-label{letter-spacing:0.1em;color:var(--color-text-faint);margin-right:0.25rem}
.page__links a,.page__links>span:not(.page__links-label){display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 0.5rem;border:1px solid rgba(var(--gold-rgb),0.2);border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition-fast)}
.page__links a:hover{color:var(--color-accent);border-color:var(--color-accent)}
.page__edit-link{max-width:52rem;margin:2rem auto 0;font-size:0.75rem;text-align:center}
.page__edit-link a{color:var(--color-text-faint);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}
.page__edit-link a:hover{color:var(--color-accent)}

/* ==========================================================================
   23. MEDIA QUERIES
   --------------------------------------------------------------------------
   Order: max-width (descending) → min-width (ascending) → range
   ========================================================================== */

/* ---- max-width (descending) ---- */
@media (max-width:1020px){
.nav-links{display:none}
.burger{display:flex}
.car-features{grid-template-columns:1fr}
.car-content{padding:2rem 1.5rem}
.site-main--single{padding:0 0 2rem}
}

@media (max-width:900px){
.about-grid{grid-template-columns:1fr;gap:3rem}
.car-grid{grid-template-columns:1fr}
.car-image{height:20rem}
#articlesTrack.grid-mode,#toursTrack.grid-mode,#reviewsTrack.grid-mode{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:768px){
.article-modal-template--btns{justify-content:center}
.article-modal-template--btns .btn-outline-gold.article-modal-cta{width:100%;justify-content:center;margin-top:1rem}
}

@media (max-width:767px){
.post__hero{min-height:300px;margin-bottom:0}
.post__hero-overlay{padding:4rem 0 2rem}
.post__header{padding-top:5rem;margin-bottom:2rem}
.post__content{padding:0 5%}
.post__title{font-size:1.65rem}
.post__meta{font-size:0.7rem;gap:0.4rem 1rem}
.tour-details-grid--single{grid-template-columns:1fr;padding:1.25rem}
.tour-details-grid--single .tour-detail-item.more-participants{grid-column:span 1}
.post--tour .post__content{padding:2rem 5% 0}
.site-main--single .tour-cta .btn-primary-gold{width:90%;justify-content:center;padding:1rem}
}

@media (max-width:640px){
.site-main--archive{padding:5.5rem 0 3.5rem}
.archive-header{margin-bottom:2.5rem}
.post-card__body{padding:1.25rem}
.post-card__title{font-size:1.1rem}
.site-main--page{padding:5.5rem 0 3.5rem}
.page__header{margin-bottom:2rem}
}

@media (max-width:600px){
#articlesTrack.grid-mode,#toursTrack.grid-mode,#reviewsTrack.grid-mode{grid-template-columns:1fr}
}

@media (max-width:480px){
.hero-content h1{font-size:1.75rem}
.about-avatar{width:6rem;height:6rem}
.review-header.has-photos{padding-right:4rem}
.review-photos-preview img{width:2rem;height:2rem}
.rich-text{padding:0 5%;font-size:0.95rem}
.rich-text h1{font-size:1.6rem}
.rich-text h2{font-size:1.4rem}
.rich-text h3{font-size:1.2rem}
.rich-text .alignleft,.rich-text .alignright{float:none;margin:1.5rem auto;display:block}
}

/* ---- min-width (ascending) ---- */
@media (min-width:640px){
.carousel-controls{position:absolute;right:0;top:50%;transform:translateY(-50%);margin-top:0}
.carousel-track.grid-mode{grid-template-columns:1fr 1fr}
.tour-card{width:calc((100% - 1rem) / 2)}
.review-card{width:calc((100% - 1.5rem) / 2)}
.article-card{width:calc((100% - 1.5rem) / 2)}
.modal-overlay{padding:2rem}
.modal-body{padding:2rem}
.modal-body h2{font-size:1.875rem}
.tour-details-grid{grid-template-columns:1fr 1fr;gap:1rem 1.5rem}
.tour-detail-item.more-participants{grid-column:span 2}
.article-modal-image{height:18rem}
.article-modal-body{padding:0 2.5rem 2.5rem}
.article-modal-body h2{font-size:2.25rem}
.footer-grid{grid-template-columns:1fr 1fr}
.lightbox-overlay{padding:2rem}
.posts-grid{grid-template-columns:repeat(2,1fr)}
.tour-modal-image{height:18rem}
}

@media (min-width:768px){
.modal-body{padding:2.5rem}
.footer-bottom{flex-direction:row}
.tour-reviews-grid{grid-template-columns:1fr 1fr}
}

@media (min-width:1020px){
.carousel-track.grid-mode{grid-template-columns:repeat(4,1fr)}
.tour-card{width:calc((100% - 2rem) / 3)}
.review-card{width:calc((100% - 3rem) / 3)}
.article-card{width:calc((100% - 3rem) / 3)}
.footer-grid{grid-template-columns:repeat(5,1fr)}
.posts-grid{grid-template-columns:repeat(3,1fr)}
}

/* ---- range (min + max) ---- */
/* (No range queries were present in the source) */