/*
Theme Name: RR Travel
Theme URI: https://rrtravel.mk
Author: RR Travel
Author URI: https://rrtravel.mk
Description: A self-contained travel-agency WordPress theme with a built-in Tour booking engine, secure Stripe checkout, automatic customer accounts with printable invoices, a discount popup, and on-page SEO — no third-party travel APIs required. Fully responsive (mobile, tablet, desktop).
Version: 2.8.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: rr-travel
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* =========================================================
   0. BRAND / DESIGN TOKENS  —  "Adriatic Teal & Sunset Coral"
   ========================================================= */
:root{
  --rr-primary:      #0B5D6B; /* deep Adriatic teal */
  --rr-primary-dark: #073A43;
  --rr-primary-light:#4A9BAA;
  --rr-accent:       #FF6B35; /* sunset coral — CTAs */
  --rr-accent-dark:  #E8551F;
  --rr-gold:         #F2B84B; /* warm highlight */
  --rr-bg:           #F7FAFB;
  --rr-white:        #FFFFFF;
  --rr-dark:         #0E2B30;
  --rr-gray-700:     #45575B;
  --rr-gray-400:     #93A5A8;
  --rr-gray-100:     #E7EFEF;
  --rr-success:      #2E9E5B;
  --rr-radius:       14px;
  --rr-radius-sm:    8px;
  --rr-shadow:       0 10px 30px rgba(11,93,107,.12);
  --rr-shadow-sm:    0 4px 12px rgba(11,93,107,.08);
  --rr-font:         'Poppins', 'Segoe UI', system-ui, sans-serif;
  --rr-font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;
  --rr-container:    1200px;
}

/* =========================================================
   1. RESET & BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;}
body{
  margin:0;
  font-family:var(--rr-font-body);
  color:var(--rr-dark);
  background:var(--rr-bg);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
  max-width:100%;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--rr-primary);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--rr-accent);}
h1,h2,h3,h4,h5,h6{font-family:var(--rr-font);font-weight:600;color:var(--rr-dark);line-height:1.25;margin:0 0 .5em;}
h1{font-size:2.6rem;}
h2{font-size:2rem;}
h3{font-size:1.4rem;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}
button, input, select, textarea{font-family:inherit;font-size:1rem;}
.rr-container{max-width:var(--rr-container);margin:0 auto;padding:0 20px;}
.rr-section{padding:64px 0;}
.rr-section--tight{padding:36px 0;}
.rr-section--dark{background:var(--rr-primary-dark);color:var(--rr-white);}
.rr-section--dark h2, .rr-section--dark h3{color:var(--rr-white);}
.rr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--rr-accent);color:var(--rr-white);
  padding:14px 28px;border:none;border-radius:999px;
  font-weight:600;font-size:1rem;cursor:pointer;
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
  box-shadow:var(--rr-shadow-sm);
}
.rr-btn:hover{background:var(--rr-accent-dark);color:#fff;transform:translateY(-2px);}
.rr-btn--outline{background:transparent;border:2px solid var(--rr-white);color:var(--rr-white);}
.rr-btn--outline:hover{background:var(--rr-white);color:var(--rr-primary);}
.rr-btn--primary{background:var(--rr-primary);}
.rr-btn--primary:hover{background:var(--rr-primary-dark);}
.rr-tag{
  display:inline-block;background:var(--rr-gold);color:var(--rr-dark);
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:4px 12px;border-radius:999px;
}
.rr-badge-airline{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--rr-gray-100);color:var(--rr-primary-dark);
  font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;
}

/* =========================================================
   2. HEADER / NAVIGATION
   ========================================================= */
.rr-header{
  position:sticky;top:0;z-index:999;
  background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.rr-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;max-width:var(--rr-container);margin:0 auto;
}
.rr-logo{display:flex;align-items:center;height:44px;}
.rr-logo a{display:flex;align-items:center;gap:10px;font-family:var(--rr-font);font-weight:700;font-size:1.4rem;color:var(--rr-primary-dark);text-decoration:none;height:100%;}
.rr-logo span{color:var(--rr-accent);}
.rr-logo img, .rr-logo .custom-logo{max-height:44px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block;}
.rr-nav ul{display:flex;gap:28px;align-items:center;}
.rr-nav a{font-weight:600;color:var(--rr-dark);font-size:.96rem;}
.rr-nav a:hover{color:var(--rr-accent);}
.rr-header__cta{display:flex;align-items:center;gap:14px;}
.rr-header__phone{font-weight:600;color:var(--rr-primary-dark);font-size:.92rem;}
.rr-menu-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;width:40px;height:40px;padding:0;flex-shrink:0;}
.rr-menu-toggle span{display:block;width:22px;height:2px;background:var(--rr-primary-dark);margin:3px 0;border-radius:2px;}

/* =========================================================
   3. HERO + FLIGHT/TOUR SEARCH WIDGET
   ========================================================= */
.rr-hero{
  position:relative;color:var(--rr-white);
  background:linear-gradient(160deg, var(--rr-primary-dark), var(--rr-primary) 60%, var(--rr-primary-light));
  padding:90px 0 130px;overflow:hidden;
}
.rr-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(242,184,75,.25), transparent 55%);
}
.rr-hero__content{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto;}
.rr-hero__content h1{color:var(--rr-white);font-size:clamp(2rem,4vw,3rem);}
.rr-hero__content p{color:rgba(255,255,255,.85);font-size:1.15rem;}

.rr-search{
  position:relative;z-index:3;
  max-width:1000px;margin:-70px auto 0;
  background:var(--rr-white);border-radius:var(--rr-radius);
  box-shadow:var(--rr-shadow);padding:10px;
}
.rr-search__tabs{display:flex;gap:6px;padding:8px 8px 0;}
.rr-search__tab{
  border:none;background:transparent;padding:10px 20px;border-radius:999px 999px 0 0;
  font-weight:600;color:var(--rr-gray-700);cursor:pointer;
}
.rr-search__tab.is-active{background:var(--rr-bg);color:var(--rr-primary-dark);}
.rr-search__form{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;padding:16px;}
.rr-field{display:flex;flex-direction:column;gap:4px;}
.rr-field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--rr-gray-700);}
.rr-field input, .rr-field select, .rr-field textarea{
  font-family:inherit;resize:vertical;
  border:1.5px solid var(--rr-gray-100);border-radius:var(--rr-radius-sm);
  padding:12px 12px;background:var(--rr-bg);color:var(--rr-dark);
}
.rr-field input:focus, .rr-field select:focus{outline:none;border-color:var(--rr-primary-light);}
.rr-search__submit{align-self:end;}
.rr-search__submit .rr-btn{width:100%;height:100%;padding:14px 24px;}

/* =========================================================
   4. TOUR / DESTINATION CARDS
   ========================================================= */
.rr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px;}
.rr-card{
  background:var(--rr-white);border-radius:var(--rr-radius);overflow:hidden;
  box-shadow:var(--rr-shadow-sm);transition:transform .2s ease, box-shadow .2s ease;
}
.rr-card:hover{transform:translateY(-6px);box-shadow:var(--rr-shadow);}
.rr-card__img{position:relative;aspect-ratio:4/3;overflow:hidden;}
.rr-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.rr-card:hover .rr-card__img img{transform:scale(1.06);}
.rr-card__price{
  position:absolute;top:14px;right:14px;background:var(--rr-white);
  color:var(--rr-primary-dark);font-weight:700;padding:6px 14px;border-radius:999px;
  box-shadow:var(--rr-shadow-sm);font-size:.9rem;display:flex;align-items:center;gap:6px;
}
.rr-card__price-original{color:var(--rr-gray-400);font-weight:500;font-size:.8rem;}
.rr-card__price--total{background:var(--rr-accent);color:var(--rr-white);}
.rr-card__body{padding:20px;}
.rr-card__meta{display:flex;gap:10px;align-items:center;color:var(--rr-gray-700);font-size:.85rem;margin-bottom:8px;}
.rr-card__title{font-size:1.15rem;margin-bottom:6px;}
.rr-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;}

/* =========================================================
   5. SECTION HEAD / WHY US / PARTNERS
   ========================================================= */
.rr-section-head{text-align:center;max-width:640px;margin:0 auto 10px;}
.rr-section-head .rr-tag{margin-bottom:10px;}
.rr-why{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px;}
.rr-why__item{text-align:center;padding:26px 16px;background:var(--rr-white);border-radius:var(--rr-radius);box-shadow:var(--rr-shadow-sm);}
.rr-why__icon{
  width:56px;height:56px;border-radius:50%;background:var(--rr-bg);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
  color:var(--rr-accent);font-size:1.6rem;
}
.rr-partners{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;align-items:center;margin-top:30px;}
.rr-partners__logo{
  background:var(--rr-white);padding:14px 22px;border-radius:var(--rr-radius-sm);
  box-shadow:var(--rr-shadow-sm);font-weight:700;color:var(--rr-primary-dark);
  filter:grayscale(0);opacity:.85;
}

/* =========================================================
   6. SINGLE TOUR PAGE
   ========================================================= */
.rr-tour-hero{position:relative;border-radius:var(--rr-radius);overflow:hidden;margin-bottom:30px;}
.rr-tour-hero img{width:100%;max-height:460px;object-fit:cover;}
.rr-tour-layout{display:grid;grid-template-columns:2fr 1fr;gap:36px;}
.rr-tour-facts{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;}
.rr-tour-fact{background:var(--rr-white);padding:12px 18px;border-radius:var(--rr-radius-sm);box-shadow:var(--rr-shadow-sm);font-size:.9rem;}
.rr-booking-box{
  background:var(--rr-white);border-radius:var(--rr-radius);box-shadow:var(--rr-shadow);
  padding:24px;position:sticky;top:100px;height:fit-content;
}
.rr-booking-box h3{margin-bottom:14px;}
.rr-booking-box .rr-field{margin-bottom:14px;}
.rr-price-line{display:flex;justify-content:space-between;font-size:.92rem;color:var(--rr-gray-700);padding:6px 0;border-bottom:1px dashed var(--rr-gray-100);}
.rr-price-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.2rem;margin:14px 0;color:var(--rr-primary-dark);}

/* =========================================================
   7. CONTACT / FOOTER
   ========================================================= */
.rr-footer{background:var(--rr-dark);color:rgba(255,255,255,.8);padding:60px 0 20px;}
.rr-footer h4{color:var(--rr-white);font-size:1rem;margin-bottom:16px;}
.rr-footer a{color:rgba(255,255,255,.75);}
.rr-footer a:hover{color:var(--rr-gold);}
.rr-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;}
.rr-footer__bottom{
  margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;font-size:.85rem;flex-wrap:wrap;gap:10px;
}
.rr-social{display:flex;gap:12px;}
.rr-social a{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
}

/* =========================================================
   8. FORMS / GENERIC UI
   ========================================================= */
.rr-alert{padding:14px 18px;border-radius:var(--rr-radius-sm);margin-bottom:18px;font-size:.92rem;}
.rr-alert--info{background:#E6F4F1;color:var(--rr-primary-dark);}
.rr-alert--error{background:#FCE7E2;color:#B8371F;}
.rr-alert--success{background:#E6F6EC;color:var(--rr-success);}
.rr-skeleton{background:linear-gradient(90deg,var(--rr-gray-100) 25%,#f0f4f4 37%,var(--rr-gray-100) 63%);background-size:400% 100%;animation:rr-shimmer 1.4s ease infinite;border-radius:var(--rr-radius-sm);}
@keyframes rr-shimmer{0%{background-position:100% 50%;}100%{background-position:0 50%;}}

/* =========================================================
   9. RESPONSIVE — TABLET
   ========================================================= */
@media (max-width: 960px){
  .rr-tour-layout{grid-template-columns:1fr;}
  .rr-booking-box{position:static;}
}

@media (max-width: 880px){
  .rr-grid{grid-template-columns:repeat(2,1fr);}
  .rr-why{grid-template-columns:repeat(2,1fr);}
  .rr-search__form{grid-template-columns:repeat(3,1fr);}
  .rr-footer__grid{grid-template-columns:1fr 1fr;}
}

/* =========================================================
   9b. RESPONSIVE NAV — triggers on tablet too, not just phone
   ========================================================= */
@media (max-width: 900px){
  .rr-nav{
    position:fixed;top:0;left:0;width:100%;height:100%;max-width:100vw;
    background:var(--rr-white);z-index:998;
    padding:90px 24px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateX(100%);transition:transform .25s ease;
    visibility:hidden;
  }
  .rr-nav.is-open{transform:translateX(0);visibility:visible;}
  .rr-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .rr-nav ul li{width:100%;border-bottom:1px solid var(--rr-gray-100);}
  .rr-nav ul li a{display:block;padding:16px 4px;font-size:1.05rem;}
  .rr-header__phone, .rr-lang-select{display:none;}
  .rr-menu-toggle{display:flex;align-items:center;justify-content:center;}
  .rr-header__cta{gap:10px;}
  body.rr-nav-open{overflow:hidden;}
}

/* =========================================================
   10. RESPONSIVE — MOBILE
   ========================================================= */
@media (max-width: 680px){
  h1{font-size:1.9rem;}
  h2{font-size:1.5rem;}
  .rr-hero{padding:56px 0 100px;}
  .rr-search{margin-top:-50px;padding:8px;}
  .rr-search__form{grid-template-columns:1fr;padding:12px;}
  .rr-grid{grid-template-columns:1fr;}
  .rr-why{grid-template-columns:1fr;}
  .rr-footer__grid{grid-template-columns:1fr;}
  .rr-footer__bottom{flex-direction:column;text-align:center;}
}

/* =========================================================
   27. TOUR CARD SLIDESHOW
   ========================================================= */
.rr-card-slideshow{position:relative;overflow:hidden;}
.rr-card-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;}
.rr-card-slide.is-active{opacity:1;position:relative;}
.rr-card-slideshow__arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.85);
  color:var(--rr-primary-dark);font-size:1.1rem;cursor:pointer;opacity:0;transition:opacity .2s ease;
  display:flex;align-items:center;justify-content:center;
}
.rr-card-slideshow:hover .rr-card-slideshow__arrow{opacity:1;}
.rr-card-slideshow__arrow--prev{left:10px;}
.rr-card-slideshow__arrow--next{right:10px;}
.rr-card-slideshow__dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px;z-index:3;}
.rr-card-slideshow__dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);}
.rr-card-slideshow__dot.is-active{background:var(--rr-white);}

/* =========================================================
   28. TOUR GALLERY + LIGHTBOX (single tour page)
   ========================================================= */
.rr-tour-gallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(90px, 1fr));gap:8px;margin-top:10px;}
.rr-tour-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;transition:opacity .2s ease;}
.rr-tour-gallery img:hover{opacity:.85;}
.rr-lightbox{
  position:fixed;inset:0;background:rgba(7,15,17,.94);z-index:99999;
  display:flex;align-items:center;justify-content:center;padding:40px;
}
.rr-lightbox[hidden]{display:none;}
.rr-lightbox img{max-width:100%;max-height:100%;border-radius:8px;object-fit:contain;}
.rr-lightbox__close, .rr-lightbox__arrow{
  position:absolute;background:rgba(255,255,255,.1);border:none;color:var(--rr-white);
  cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.rr-lightbox__close{top:20px;right:20px;width:44px;height:44px;font-size:1.6rem;}
.rr-lightbox__arrow{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:1.8rem;}
.rr-lightbox__arrow--prev{left:20px;}
.rr-lightbox__arrow--next{right:20px;}

/* =========================================================
   29. TOUR AMENITY BADGES
   ========================================================= */
.rr-amenity-badge{
  display:inline-flex;align-items:center;gap:6px;background:var(--rr-white);
  border:1px solid var(--rr-gray-100);border-radius:999px;padding:6px 14px;font-size:.85rem;
  color:var(--rr-gray-700);
}
.rr-offers-slider{
  position:relative;max-width:var(--rr-container);margin:50px auto 0;padding:0 20px;
}
.rr-offers-slider__track{position:relative;height:340px;border-radius:var(--rr-radius);overflow:hidden;box-shadow:var(--rr-shadow);}
.rr-offers-slider__slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  background-color:var(--rr-primary-dark);display:flex;align-items:flex-end;
  opacity:0;visibility:hidden;transition:opacity .5s ease;
}
.rr-offers-slider__slide.is-active{opacity:1;visibility:visible;}
.rr-offers-slider__overlay{
  background:linear-gradient(0deg, rgba(7,58,67,.92), rgba(7,58,67,.1));
  color:var(--rr-white);padding:34px 40px;width:100%;
}
.rr-offers-slider__overlay h3{color:var(--rr-white);font-size:1.6rem;margin:8px 0;}
.rr-offers-slider__overlay p{color:rgba(255,255,255,.85);max-width:520px;}
.rr-offers-slider__nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;}
.rr-offers-slider__arrow{
  background:var(--rr-white);border:none;width:38px;height:38px;border-radius:50%;
  box-shadow:var(--rr-shadow-sm);font-size:1.3rem;cursor:pointer;color:var(--rr-primary-dark);
}
.rr-offers-slider__arrow:hover{background:var(--rr-accent);color:var(--rr-white);}
.rr-offers-slider__dots{display:flex;gap:8px;}
.rr-offers-slider__dot{width:9px;height:9px;border-radius:50%;background:var(--rr-gray-400);border:none;cursor:pointer;padding:0;}
.rr-offers-slider__dot.is-active{background:var(--rr-accent);width:22px;border-radius:5px;transition:width .2s ease;}

/* =========================================================
   18. BOOKING MODE TABS (pay vs. request call-back)
   ========================================================= */
.rr-booking-tabs{display:flex;gap:6px;margin-bottom:16px;background:var(--rr-bg);border-radius:999px;padding:4px;}
.rr-booking-tab{
  flex:1;border:none;background:transparent;padding:10px 14px;border-radius:999px;
  font-weight:600;font-size:.85rem;cursor:pointer;color:var(--rr-gray-700);
}
.rr-booking-tab.is-active{background:var(--rr-white);color:var(--rr-primary-dark);box-shadow:var(--rr-shadow-sm);}
.rr-booking-pay-fields[hidden]{display:none;}

/* =========================================================
   19. RELATED TOURS
   ========================================================= */
.rr-related-tours{margin-top:50px;}
.rr-related-tours h3{margin-bottom:20px;}

/* =========================================================
   20. COOKIE NOTICE
   ========================================================= */
.rr-cookie-notice{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:9998;
  background:var(--rr-dark);color:rgba(255,255,255,.9);
  padding:16px 20px;border-radius:var(--rr-radius-sm);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;max-width:900px;margin:0 auto;box-shadow:var(--rr-shadow);
}
.rr-cookie-notice p{margin:0;font-size:.88rem;}
.rr-cookie-notice[hidden]{display:none;}

/* =========================================================
   21. SKIP LINK (ACCESSIBILITY)
   ========================================================= */
.rr-skip-link{
  position:absolute;left:-9999px;top:auto;background:var(--rr-primary-dark);color:var(--rr-white);
  padding:12px 20px;z-index:100000;border-radius:0 0 8px 0;
}
.rr-skip-link:focus{left:0;top:0;}

/* =========================================================
   22. OTP LOGIN TABS
   ========================================================= */
.rr-login-tabs{display:flex;gap:6px;margin-bottom:6px;}
.rr-login-tabs button{
  flex:1;border:none;background:var(--rr-bg);padding:10px;border-radius:8px 8px 0 0;
  font-weight:600;font-size:.85rem;cursor:pointer;color:var(--rr-gray-700);
}
.rr-login-tabs button.is-active{background:var(--rr-white);color:var(--rr-primary-dark);}
.rr-otp-step[hidden]{display:none;}

/* =========================================================
   26. SEARCH WIDGET — TRANSPORT / HOTEL-ONLY ROWS
   ========================================================= */
.rr-search__row-full{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:6px;}
.rr-search__transport{display:flex;align-items:center;gap:16px;font-size:.9rem;}
.rr-search__transport-label{font-weight:600;color:var(--rr-gray-700);}
.rr-search__transport label, .rr-search__hotel-only{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem;color:var(--rr-dark);}
.rr-search__hotel-fields{display:grid;grid-template-columns:1fr 2fr;gap:14px;background:var(--rr-bg);border-radius:var(--rr-radius-sm);padding:14px;}
.rr-search__hotel-fields textarea{
  border:1.5px solid var(--rr-gray-100);border-radius:var(--rr-radius-sm);padding:10px 12px;
  background:var(--rr-white);font-family:inherit;resize:vertical;
}
@media (max-width: 680px){
  .rr-search__hotel-fields{grid-template-columns:1fr;}
}
.rr-hero__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.rr-hero--image::before, .rr-hero--video::before{
  content:"";position:absolute;inset:0;z-index:1;
}
.rr-hero--overlay-light::before{background:rgba(7,58,67,.35);}
.rr-hero--overlay-medium::before{background:rgba(7,58,67,.55);}
.rr-hero--overlay-dark::before{background:rgba(7,58,67,.78);}
.rr-hero__content{position:relative;z-index:2;}

/* =========================================================
   25. BUILT-IN LANGUAGE SELECTOR
   ========================================================= */
.rr-lang-select select{
  background:var(--rr-white);border:1.5px solid var(--rr-gray-100);border-radius:8px;
  padding:8px 10px;font-size:.85rem;font-weight:600;color:var(--rr-dark);cursor:pointer;
}
.rr-lang-select select:focus{outline:none;border-color:var(--rr-primary-light);}

/* WPML / Polylang switcher (used instead of .rr-lang-select when either plugin is active) */
.rr-lang-switcher{display:flex;gap:8px;align-items:center;}
.rr-lang-switcher a{
  font-size:.78rem;font-weight:700;color:var(--rr-gray-700);
  padding:4px 8px;border-radius:6px;
}
.rr-lang-switcher a.is-active{background:var(--rr-bg);color:var(--rr-primary-dark);}

@media (max-width: 680px){
  .rr-offers-slider__track{height:420px;}
  .rr-offers-slider__overlay{padding:24px;}
}
.rr-archive-layout{display:grid;grid-template-columns:2.4fr 1fr;gap:36px;align-items:start;}
.rr-archive-layout .rr-grid{grid-template-columns:repeat(2,1fr);}
.rr-archive-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px;}
.rr-tour-sidebar-inline{margin-top:30px;}
.rr-sidebar-widget{background:var(--rr-white);border-radius:var(--rr-radius);box-shadow:var(--rr-shadow-sm);overflow:hidden;}

/* =========================================================
   12. PROMO WIDGET (photo / video + text + button)
   ========================================================= */
.rr-promo-widget{display:flex;flex-direction:column;}
.rr-promo-widget__media{aspect-ratio:4/3;overflow:hidden;background:var(--rr-gray-100);}
.rr-promo-widget__media img{width:100%;height:100%;object-fit:cover;}
.rr-promo-widget__media--video{aspect-ratio:16/9;}
.rr-promo-widget__media--video iframe{width:100%;height:100%;border:0;display:block;}
.rr-promo-widget__body{padding:20px;}
.rr-promo-widget__body h4{margin-bottom:8px;}
.rr-promo-widget__body p{color:var(--rr-gray-700);font-size:.92rem;}

/* =========================================================
   13. DISCOUNT POPUP
   ========================================================= */
.rr-popup-overlay{
  position:fixed;inset:0;background:rgba(14,43,48,.6);
  display:flex;align-items:center;justify-content:center;z-index:9999;
  padding:20px;opacity:0;transition:opacity .25s ease;
}
.rr-popup-overlay.is-visible{opacity:1;}
.rr-popup-overlay[hidden]{display:none;}
.rr-popup{
  position:relative;background:var(--rr-white);border-radius:var(--rr-radius);
  max-width:420px;width:100%;padding:34px 30px;text-align:center;
  box-shadow:var(--rr-shadow);transform:translateY(10px);transition:transform .25s ease;
}
.rr-popup-overlay.is-visible .rr-popup{transform:translateY(0);}
.rr-popup__icon{font-size:2.2rem;margin-bottom:6px;}
.rr-popup__close{
  position:absolute;top:12px;right:14px;background:none;border:none;
  font-size:1.6rem;line-height:1;cursor:pointer;color:var(--rr-gray-400);
}
.rr-popup__close:hover{color:var(--rr-dark);}
.rr-popup form input[type="email"]{
  width:100%;border:1.5px solid var(--rr-gray-100);border-radius:var(--rr-radius-sm);
  padding:12px 14px;background:var(--rr-bg);
}
.rr-popup__code{margin-top:16px;}
.rr-popup__code-value{
  display:inline-block;background:var(--rr-bg);border:2px dashed var(--rr-primary-light);
  padding:10px 22px;border-radius:var(--rr-radius-sm);font-weight:700;
  letter-spacing:.05em;color:var(--rr-primary-dark);margin-top:6px;
}

/* =========================================================
   14. LOGIN FORM / MY ACCOUNT DASHBOARD
   ========================================================= */
.rr-account-login{max-width:420px;margin:0 auto;text-align:center;}
.rr-login-form{text-align:left;background:var(--rr-white);padding:26px;border-radius:var(--rr-radius);box-shadow:var(--rr-shadow-sm);margin-top:20px;}
.rr-login-form .rr-field{margin-bottom:16px;}
.rr-login-form input{width:100%;border:1.5px solid var(--rr-gray-100);border-radius:var(--rr-radius-sm);padding:12px;background:var(--rr-bg);}
.rr-login-form button{width:100%;}
.rr-account-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:30px;}
.rr-orders-table-wrap{overflow-x:auto;background:var(--rr-white);border-radius:var(--rr-radius);box-shadow:var(--rr-shadow-sm);}
.rr-orders-table{width:100%;border-collapse:collapse;}
.rr-orders-table th, .rr-orders-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--rr-gray-100);font-size:.92rem;}
.rr-orders-table th{background:var(--rr-bg);font-family:var(--rr-font);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--rr-gray-700);}
.rr-status{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:capitalize;}
.rr-status--paid{background:#E6F6EC;color:var(--rr-success);}
.rr-status--pending{background:#FFF3E0;color:#B8641F;}
.rr-status--inquiry{background:#FFF3E0;color:#B8641F;}
.rr-status--cancelled{background:#FCE7E2;color:#B8371F;}

/* =========================================================
   15. INVOICE (PRINTABLE)
   ========================================================= */
.rr-invoice-actions{display:flex;gap:14px;justify-content:flex-end;margin-bottom:20px;}
.rr-invoice{background:var(--rr-white);border-radius:var(--rr-radius);box-shadow:var(--rr-shadow-sm);padding:44px;max-width:800px;margin:0 auto;}
.rr-invoice__header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--rr-gray-100);padding-bottom:24px;margin-bottom:24px;}
.rr-invoice__meta{text-align:right;}
.rr-invoice__parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px;}
.rr-invoice__parties h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--rr-gray-700);margin-bottom:6px;}
.rr-invoice__items{width:100%;border-collapse:collapse;margin-bottom:20px;}
.rr-invoice__items th, .rr-invoice__items td{padding:12px 6px;text-align:left;border-bottom:1px solid var(--rr-gray-100);}
.rr-invoice__items th:last-child, .rr-invoice__items td:last-child{text-align:right;}
.rr-invoice__items tfoot th{font-size:1.15rem;color:var(--rr-primary-dark);border-top:2px solid var(--rr-dark);border-bottom:none;}
.rr-invoice__footer-note{text-align:center;color:var(--rr-gray-700);margin-top:20px;font-style:italic;}

@media print{
  .rr-header, .rr-footer, .no-print, .rr-popup-overlay{display:none !important;}
  body{background:#fff;}
  .rr-invoice{box-shadow:none;padding:0;}
}

/* =========================================================
   16. RESPONSIVE ADDITIONS
   ========================================================= */
@media (max-width: 960px){
  .rr-archive-layout{grid-template-columns:1fr;}
  .rr-archive-sidebar{position:static;}
  .rr-invoice__parties{grid-template-columns:1fr;}
}
@media (max-width: 680px){
  .rr-archive-layout .rr-grid{grid-template-columns:1fr;}
  .rr-invoice{padding:24px;}
  .rr-invoice__header{flex-direction:column;}
  .rr-invoice__meta{text-align:left;}
  .rr-account-header{flex-direction:column;align-items:flex-start;}
  .rr-orders-table thead{display:none;}
  .rr-orders-table tr{display:block;margin-bottom:14px;border-bottom:2px solid var(--rr-gray-100);}
  .rr-orders-table td{display:flex;justify-content:space-between;border-bottom:none;padding:8px 16px;}
  .rr-orders-table td::before{content:attr(data-label);font-weight:700;color:var(--rr-gray-700);}
}
