/* ============================================================
   KULTURREISEN — Modern design system
   Brand-aligned tokens, typography, components, motion.
   Loaded after all theme CSS so it overrides where needed.
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');

/* ---------- Design tokens ---------- */
:root {
    /* Brand */
    --kr-red:        #af150d;
    --kr-red-dark:   #8b0f08;
    --kr-red-soft:   #d33b32;
    --kr-gold:       #fcb531;
    --kr-gold-dark:  #e09a16;
    --kr-gold-soft:  #ffd072;
    --kr-cream:      #f6f0e4;
    --kr-beige:      #a88972;
    --kr-slate:      #2c3e50;
    --kr-slate-dark: #1a252f;

    /* Neutrals */
    --kr-white:   #ffffff;
    --kr-50:      #fafaf7;
    --kr-100:     #f3f1ec;
    --kr-200:     #e8e4dc;
    --kr-300:     #d1ccc1;
    --kr-400:     #9c9689;
    --kr-500:     #6b6759;
    --kr-600:     #4a4738;
    --kr-700:     #2e2c22;

    /* Type */
    --kr-font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --kr-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;

    /* Shape */
    --kr-radius-sm: 6px;
    --kr-radius:    10px;
    --kr-radius-lg: 16px;
    --kr-radius-xl: 24px;

    /* Shadow */
    --kr-shadow-sm: 0 2px 6px rgba(20, 20, 20, 0.05);
    --kr-shadow:    0 6px 18px rgba(20, 20, 20, 0.08);
    --kr-shadow-lg: 0 18px 40px rgba(20, 20, 20, 0.12);
    --kr-shadow-red: 0 8px 22px rgba(175, 21, 13, 0.25);

    /* Motion */
    --kr-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --kr-transition: 200ms var(--kr-ease);
}

/* ---------- Base typography ---------- */
body, .body, p, li, td, input, select, textarea, button, .btn {
    font-family: var(--kr-font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    color: var(--kr-700);
    letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.18;
}
h1, .h1 { font-size: clamp(2rem, 2.5vw + 1rem, 3.4rem); }
h2, .h2 { font-size: clamp(1.65rem, 1.6vw + 1rem, 2.5rem); }
h3, .h3 { font-size: clamp(1.35rem, 1vw + 1rem, 1.85rem); }
h4, .h4 { font-size: 1.35rem; }

a { transition: color var(--kr-transition); }

/* ---------- Selection ---------- */
::selection { background: var(--kr-gold); color: var(--kr-slate-dark); }

/* ---------- Scrollbar (webkit) ---------- */
@media (min-width: 992px) {
    ::-webkit-scrollbar { width: 11px; height: 11px; }
    ::-webkit-scrollbar-track { background: var(--kr-100); }
    ::-webkit-scrollbar-thumb { background: var(--kr-300); border-radius: 6px; }
    ::-webkit-scrollbar-thumb:hover { background: var(--kr-beige); }
}

/* ---------- Header / Nav polish ---------- */
.iq-navbar,
.header-style-two,
.main-header {
    background: var(--kr-white) !important;
    box-shadow: 0 1px 0 rgba(0,0,0,0.05), 0 4px 18px rgba(20,20,20,0.04) !important;
    border-bottom: 0 !important;
}
#header-menu .nav-item > .nav-link {
    position: relative;
    color: var(--kr-slate) !important;
    font-weight: 600;
    font-size: 14.5px !important;
    padding: 22px 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    transition: color var(--kr-transition);
}
#header-menu .nav-item > .nav-link:hover { color: var(--kr-red) !important; }
#header-menu .nav-item > .nav-link::after {
    content: '';
    position: absolute;
    left: 14px; right: 14px; bottom: 14px;
    height: 2px;
    background: var(--kr-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--kr-transition);
}
#header-menu .nav-item:hover > .nav-link::after { transform: scaleX(1); }

/* ---------- Buttons ---------- */
.btn, button.btn, a.btn,
.theme-btn,
.theme-btn.btn-style-one,
.theme-btn.btn-style-two,
.theme-btn.btn-style-three {
    font-family: var(--kr-font-body) !important;
    font-weight: 600;
    letter-spacing: 0.4px;
    border-radius: var(--kr-radius) !important;
    transition: transform var(--kr-transition), box-shadow var(--kr-transition), background-color var(--kr-transition), color var(--kr-transition), border-color var(--kr-transition);
    border-width: 1.5px;
}

/* Primary (red) */
.btn-primary, .theme-btn.btn-style-one,
.theme-btn.btn-style-three {
    background: var(--kr-red) !important;
    border-color: var(--kr-red) !important;
    color: var(--kr-white) !important;
    box-shadow: var(--kr-shadow-red);
}
.btn-primary:hover, .theme-btn.btn-style-one:hover,
.theme-btn.btn-style-three:hover {
    background: var(--kr-red-dark) !important;
    border-color: var(--kr-red-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(175, 21, 13, 0.32);
}

/* Gold accent */
.btn-warning, .btn-gold {
    background: var(--kr-gold) !important;
    border-color: var(--kr-gold) !important;
    color: var(--kr-slate-dark) !important;
}
.btn-warning:hover, .btn-gold:hover {
    background: var(--kr-gold-dark) !important;
    border-color: var(--kr-gold-dark) !important;
    transform: translateY(-2px);
}

/* Outline */
.btn-outline-primary, .theme-btn.btn-style-two {
    background: transparent !important;
    color: var(--kr-slate-dark) !important;
}
.theme-btn.btn-style-two:hover {
    background: var(--kr-gold) !important;
    color: var(--kr-slate-dark) !important;
    border-color: var(--kr-gold) !important;
    transform: translateY(-1px);
}

/* ---------- Forms ---------- */
.form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="tel"], input[type="number"],
input[type="date"], select, textarea {
    border-radius: var(--kr-radius-sm) !important;
    border: 1.5px solid var(--kr-200) !important;
    padding: 11px 14px !important;
    font-size: 15px !important;
    background: var(--kr-white) !important;
    transition: border-color var(--kr-transition), box-shadow var(--kr-transition);
}
.form-control:focus, input:focus, select:focus, textarea:focus {
    border-color: var(--kr-gold) !important;
    box-shadow: 0 0 0 3px rgba(252, 181, 49, 0.18) !important;
    outline: none !important;
}
label, .form-label {
    font-weight: 600;
    color: var(--kr-slate);
    font-size: 14px;
    margin-bottom: 6px;
}

/* ---------- Cards ---------- */
.card, .destination-block, .trip-block, .news-block, .feature-block-two,
.team-block, .testimonial-block, .package-block, .blog-block {
    border-radius: var(--kr-radius-lg) !important;
    overflow: hidden;
    border: 1px solid var(--kr-200);
    background: var(--kr-white);
    box-shadow: var(--kr-shadow-sm);
    transition: transform var(--kr-transition), box-shadow var(--kr-transition);
}
.card:hover, .destination-block:hover, .trip-block:hover,
.feature-block-two:hover, .package-block:hover, .blog-block:hover {
    transform: translateY(-4px);
    box-shadow: var(--kr-shadow-lg);
}
.card-img-top { border-radius: 0; }

/* ---------- HERO SLIDER (modern, rewritten) ---------- */
header.main-header { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.kr-hero, .main-slider-two { margin: 0 !important; padding: 0 !important; }
/* Hide any leftover theme elements that conflict */
.kr-hero .auto-container,
.kr-hero .content-outer,
.kr-hero .content,
.kr-hero .info-box,
.kr-hero .mouse-btn-down { display: none !important; }

.kr-hero-slide {
    position: relative;
    min-height: 620px;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat;
    display: flex !important;
    align-items: stretch !important;
    padding: 0 !important;
    margin: 0 !important;
}
.kr-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(95deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.2) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.45) 100%);
    pointer-events: none;
    z-index: 1;
}
.kr-hero-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 90px 32px;
    display: flex;
    align-items: center;
    min-height: 620px;
}
.kr-hero-card {
    position: relative;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(8px);
    border-radius: 18px;
    padding: 42px 46px;
    width: 100%;
    max-width: 540px;
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.28);
    animation: krFadeUp 0.7s var(--kr-ease) both;
}
.kr-hero-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 46px;
    width: 64px;
    height: 4px;
    background: var(--kr-gold);
    border-radius: 0 0 4px 4px;
}
.kr-hero-eyebrow {
    display: inline-block;
    font-family: var(--kr-font-body);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--kr-red);
    text-transform: uppercase;
    margin-bottom: 16px;
}
.kr-hero-title {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: clamp(2.2rem, 2.6vw + 1rem, 3.4rem) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}
.kr-hero-desc {
    color: var(--kr-600) !important;
    font-size: 16.5px !important;
    line-height: 1.6 !important;
    margin: 0 0 28px !important;
    padding: 0 0 26px !important;
    border-bottom: 1px solid var(--kr-200);
}
.kr-hero-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    list-style: none !important;
}
.kr-hero-meta-row {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
.kr-hero-meta-icon {
    width: 46px !important;
    height: 46px !important;
    background: var(--kr-cream) !important;
    color: var(--kr-red) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
    border: 1px solid rgba(252, 181, 49, 0.3);
}
.kr-hero-meta-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px;
    min-width: 0;
}
.kr-hero-meta-label {
    font-size: 11.5px !important;
    color: var(--kr-500) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    font-weight: 600 !important;
}
.kr-hero-meta-value {
    font-family: var(--kr-font-body) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--kr-slate-dark) !important;
    line-height: 1.3 !important;
}
.kr-hero-meta-value small {
    display: inline-block;
    font-weight: 500;
    color: var(--kr-500);
    font-size: 12px;
    margin-left: 4px;
}
.kr-hero-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: var(--kr-red) !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    font-size: 13.5px !important;
    box-shadow: 0 10px 24px rgba(175, 21, 13, 0.3);
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.kr-hero-cta:hover {
    background: var(--kr-red-dark) !important;
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(175, 21, 13, 0.4);
}
.kr-hero-cta i { transition: transform 0.2s; }
.kr-hero-cta:hover i { transform: translateX(4px); }

/* Owl carousel — modern dots and arrows */
.kr-hero-carousel .owl-dots {
    position: absolute !important;
    bottom: 26px;
    left: 0; right: 0;
    text-align: center;
    z-index: 5;
}
.kr-hero-carousel .owl-dots .owl-dot { display: inline-block; margin: 0 4px; }
.kr-hero-carousel .owl-dots .owl-dot span {
    background: rgba(255, 255, 255, 0.45) !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    transition: background 0.2s, width 0.2s, border-radius 0.2s;
}
.kr-hero-carousel .owl-dots .owl-dot:hover span { background: rgba(255, 255, 255, 0.8) !important; }
.kr-hero-carousel .owl-dots .owl-dot.active span {
    background: var(--kr-gold) !important;
    width: 32px !important;
    border-radius: 6px !important;
}
.kr-hero-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 0; right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 24px;
    pointer-events: none;
    z-index: 5;
}
.kr-hero-carousel .owl-nav button {
    width: 48px !important;
    height: 48px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 18px !important;
    pointer-events: auto;
    transition: background 0.2s, border-color 0.2s, transform 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.kr-hero-carousel .owl-nav button:hover {
    background: var(--kr-red) !important;
    border-color: var(--kr-red) !important;
    transform: scale(1.05);
}
.kr-hero-carousel .owl-nav button span {
    font-size: 26px;
    line-height: 1;
    color: #fff !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .kr-hero-slide { min-height: 540px; }
    .kr-hero-container { padding: 50px 16px; min-height: 540px; }
    .kr-hero-card { padding: 28px 24px; max-width: 100%; border-radius: 14px; }
    .kr-hero-card::before { left: 24px; }
    .kr-hero-meta { gap: 14px !important; margin-bottom: 24px !important; }
    .kr-hero-meta-icon { width: 40px !important; height: 40px !important; }
    .kr-hero-carousel .owl-nav { display: none; }
}

/* ---------- Section spacing ---------- */
section { padding: 64px 0; }
@media (max-width: 767.98px) { section { padding: 40px 0; } }
.sec-title { margin-bottom: 32px; }
.sec-title .title,
.sec-title h2 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}
.sec-title .title::after,
.sec-title h2::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 56px; height: 3px;
    background: var(--kr-gold);
    border-radius: 2px;
}

/* ---------- Badges & pills ---------- */
.badge, .pill {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 5px 12px;
}
.badge-gold { background: var(--kr-gold); color: var(--kr-slate-dark); }
.badge-red  { background: var(--kr-red); color: var(--kr-white); }

/* ---------- Footer polish ---------- */
.footer-style-two {
    background: var(--kr-slate-dark) !important;
    color: rgba(255,255,255,0.78);
    padding-top: 60px;
}
.footer-style-two h4 span,
.footer-style-two h4 {
    font-family: var(--kr-font-display);
    color: var(--kr-gold) !important;
    margin-bottom: 18px;
    font-size: 20px;
    letter-spacing: 0.2px;
}
.footer-style-two .info-list li,
.footer-style-two .info-list a { color: rgba(255,255,255,0.78); font-size: 14.5px; }
.footer-style-two .info-list a:hover { color: var(--kr-gold) !important; }
.footer-style-two .social-icon-one li a,
.footer-style-two .social-icon-two li a {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    color: #fff;
    transition: background var(--kr-transition), transform var(--kr-transition);
}
.footer-style-two .social-icon-one li a:hover,
.footer-style-two .social-icon-two li a:hover {
    background: var(--kr-gold);
    color: var(--kr-slate-dark);
    transform: translateY(-2px);
}
.footer-bottom {
    background: rgba(0,0,0,0.25);
    margin-top: 40px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.footer-bottom .copyright a { color: rgba(255,255,255,0.6); font-size: 13px; }

/* ---------- Page wrapper container width tune ---------- */
.auto-container, .container {
    max-width: 1240px;
    padding-left: 20px;
    padding-right: 20px;
}

/* ---------- Tables ---------- */
table {
    border-collapse: separate;
    border-spacing: 0;
}
table.table { font-size: 14.5px; }
table.table thead th {
    background: var(--kr-50);
    color: var(--kr-slate);
    font-weight: 700;
    letter-spacing: 0.3px;
    border-bottom: 2px solid var(--kr-200);
    text-transform: uppercase;
    font-size: 12.5px;
}

/* ---------- Utility ---------- */
.text-gold  { color: var(--kr-gold) !important; }
.text-red   { color: var(--kr-red) !important; }
.text-cream { color: var(--kr-cream) !important; }
.bg-cream   { background: var(--kr-cream) !important; }
.bg-soft    { background: var(--kr-50) !important; }
.shadow-soft { box-shadow: var(--kr-shadow) !important; }
.rounded-xl { border-radius: var(--kr-radius-lg) !important; }

/* ---------- Fade-in on load ---------- */
@keyframes krFadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.main-slider-two .content,
.sec-title,
.destination-block,
.feature-block-two { animation: krFadeUp 0.6s var(--kr-ease) both; }

/* ---------- Mobile spacing tightener ---------- */
@media (max-width: 575.98px) {
    .auto-container, .container { padding-left: 14px; padding-right: 14px; }
    .main-slider-two .slide { min-height: 420px; }
    .main-slider-two .content { padding: 18px 18px !important; max-width: 100%; }
}

/* ---------- Sticky promo strip (used on home) ---------- */
.kr-trust-strip {
    background: var(--kr-cream);
    border-top: 1px solid var(--kr-200);
    border-bottom: 1px solid var(--kr-200);
    padding: 18px 0;
}
.kr-trust-strip .kr-trust-item {
    display: flex; align-items: center; gap: 12px;
    color: var(--kr-slate);
    font-weight: 600; font-size: 14px;
}
.kr-trust-strip .kr-trust-icon {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--kr-white);
    border-radius: 50%;
    color: var(--kr-red);
    box-shadow: var(--kr-shadow-sm);
    font-size: 18px;
}

/* ---------- Section: Regions strip on home ---------- */
.kr-regions-strip { padding: 56px 0; background: var(--kr-50); }
.kr-regions-strip .kr-region-card2 {
    display: flex; flex-direction: column;
    align-items: center; gap: 8px;
    padding: 22px 14px;
    background: var(--kr-white);
    border-radius: var(--kr-radius-lg);
    box-shadow: var(--kr-shadow-sm);
    color: var(--kr-slate-dark);
    text-decoration: none !important;
    transition: transform var(--kr-transition), box-shadow var(--kr-transition);
    text-align: center;
    height: 100%;
}
.kr-regions-strip .kr-region-card2:hover {
    transform: translateY(-4px);
    box-shadow: var(--kr-shadow-lg);
    color: var(--kr-red);
}
.kr-regions-strip .kr-region-card2 i {
    font-size: 28px;
    color: var(--kr-gold);
    background: var(--kr-cream);
    width: 64px; height: 64px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    margin-bottom: 8px;
}
.kr-regions-strip .kr-region-card2 .kr-region-name {
    font-family: var(--kr-font-display);
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}
.kr-regions-strip .kr-region-card2 .kr-region-count {
    font-size: 13px;
    color: var(--kr-500);
}

/* ---------- Modal polish ---------- */
.modal-content { border-radius: var(--kr-radius-lg); border: 0; box-shadow: var(--kr-shadow-lg); }
.modal-header { border-bottom-color: var(--kr-200); }
.modal-footer { border-top-color: var(--kr-200); }

/* ---------- Owl carousel dots ---------- */
.owl-theme .owl-dots .owl-dot span {
    background: var(--kr-300) !important;
    width: 9px; height: 9px;
    transition: background var(--kr-transition), width var(--kr-transition);
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background: var(--kr-red) !important;
    width: 22px;
    border-radius: 6px;
}

/* ---------- Breadcrumb tune ---------- */
.breadcrumb {
    background: transparent;
    padding: 0;
    font-size: 14px;
    color: var(--kr-500);
}
.breadcrumb a { color: var(--kr-red); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--kr-300); }

/* ---------- WhatsApp / phone floating accent (optional) ---------- */
.kr-fab {
    position: fixed; right: 18px; bottom: 18px;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 28px;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.4);
    z-index: 999;
    text-decoration: none !important;
    transition: transform var(--kr-transition);
}
.kr-fab:hover { transform: scale(1.08); color: #fff; }

/* ============================================================
   PAGE POLISH — covers country (reiseziel), trip detail (reise),
   forms (login, kontakt, registration), account. CSS only,
   no markup changes.
   ============================================================ */

/* ---------- Breadcrumb / read-more01 (used across pages) ---------- */
.read-more01 {
    color: var(--kr-500) !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
}
.read-more01 a, .read-more01 u {
    text-decoration: none !important;
    color: var(--kr-red) !important;
    font-weight: 600;
}
.read-more01 a:hover { color: var(--kr-red-dark) !important; }
.read-more01 .icon { color: var(--kr-gold); margin: 0 4px; }

/* ---------- Country page intro / hero ---------- */
.blog-detail .image {
    position: relative;
    border-radius: var(--kr-radius-lg);
    overflow: hidden;
    box-shadow: var(--kr-shadow);
}
.blog-detail .image img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    transition: transform 600ms var(--kr-ease);
}
.blog-detail .image:hover img { transform: scale(1.02); }
.blog-detail .image .date-box {
    position: absolute;
    bottom: 18px;
    left: 18px;
    background: rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(8px);
    border-radius: var(--kr-radius) !important;
    padding: 18px 22px !important;
    margin: 0 !important;
    box-shadow: var(--kr-shadow);
    width: auto !important;
    max-width: 78%;
    opacity: 1 !important;
}
.blog-detail .image .date-box h5,
.blog-detail .image .date-box h5 b {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.blog-detail .image .date-box h5 span {
    color: var(--kr-red) !important;
    font-size: 14px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase;
    display: block;
    margin-top: 4px;
    font-weight: 600;
}
.blog-detail .lower-content h5 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-top: 18px !important;
    margin-bottom: 12px !important;
}
.blog-detail .lower-content .text p {
    color: var(--kr-600);
    font-size: 15.5px;
    line-height: 1.7em !important;
}

/* ---------- Trip list cards (property-block-two) ---------- */
.property-block-two,
.property-block-two .inner-box {
    border-radius: var(--kr-radius-lg) !important;
    overflow: hidden;
}
.property-block-two .inner-box {
    background: var(--kr-white);
    border: 1px solid var(--kr-200);
    box-shadow: var(--kr-shadow-sm);
    transition: transform var(--kr-transition), box-shadow var(--kr-transition);
    margin-bottom: 22px;
}
.property-block-two:hover .inner-box {
    transform: translateY(-4px);
    box-shadow: var(--kr-shadow-lg);
    border-color: var(--kr-gold);
}
.property-block-two .image-box .image,
.property-block-two .image-box figure {
    margin: 0 !important;
    overflow: hidden;
    position: relative;
}
.property-block-two .image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 500ms var(--kr-ease);
    min-height: 220px;
}
.property-block-two:hover .image-box img { transform: scale(1.05); }
.property-block-two .lower-content { padding: 18px 22px !important; }
.property-block-two .lower-content h3 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
}
.property-block-two .lower-content h3 a { color: inherit !important; text-decoration: none; }
.property-block-two .lower-content h3 a:hover { color: var(--kr-red) !important; }
.property-block-two .price,
.property-block-two .lower-content .price {
    color: var(--kr-red) !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    letter-spacing: 0;
}
.property-block-two .property-info {
    padding-top: 10px;
    border-top: 1px solid var(--kr-200);
    margin-top: 10px;
}
.property-block-two .property-info li {
    color: var(--kr-500) !important;
    font-size: 13.5px !important;
    margin-right: 14px;
}
.property-block-two .property-info li i { color: var(--kr-gold) !important; }
.property-block-two .read-more,
.property-block-two .lower-content .theme-btn {
    background: var(--kr-red) !important;
    color: #fff !important;
    border-radius: var(--kr-radius) !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    padding: 9px 18px !important;
    text-transform: uppercase;
    font-size: 13px !important;
    border: 0 !important;
    transition: background var(--kr-transition), transform var(--kr-transition);
}
.property-block-two .read-more:hover,
.property-block-two .lower-content .theme-btn:hover {
    background: var(--kr-red-dark) !important;
    transform: translateY(-1px);
}

/* "Featured" / promo badges */
.featured, .iq-discount-tag, .promo-badge {
    background: var(--kr-red) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase;
    border: 0 !important;
}

/* ---------- Sidebar widgets ---------- */
.sidebar .sidebar-widget,
.info-side .info-widget,
.sidebar-page-container .sidebar-widget {
    background: var(--kr-white);
    border: 1px solid var(--kr-200);
    border-radius: var(--kr-radius-lg);
    padding: 20px 22px;
    box-shadow: var(--kr-shadow-sm);
    margin-bottom: 22px;
}
.sidebar .sidebar-widget .widget-title,
.sidebar .sidebar-widget h4,
.info-side h4 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--kr-gold);
}

/* ---------- Trip detail page (reise) ---------- */
.iq-fancy-box {
    border-radius: var(--kr-radius-lg) !important;
    border: 1px solid var(--kr-200) !important;
    background: var(--kr-white);
    padding: 22px 24px !important;
    box-shadow: var(--kr-shadow-sm);
}
.iq-fancy-box-content h3, .iq-fancy-box-content h4 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-weight: 600;
}
.nav-tabs {
    border-bottom: 2px solid var(--kr-200);
    gap: 6px;
}
.nav-tabs .nav-link {
    border: 0 !important;
    background: transparent !important;
    color: var(--kr-500) !important;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 12px 18px;
    border-radius: 8px 8px 0 0 !important;
    position: relative;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
    color: var(--kr-red) !important;
    background: var(--kr-cream) !important;
}
.nav-tabs .nav-link.active::after {
    content: '';
    position: absolute;
    left: 18px; right: 18px; bottom: -2px;
    height: 2px;
    background: var(--kr-red);
}

/* ---------- Pricing card / departures table ---------- */
.dates-list, .departures-list, .table-dates {
    border: 1px solid var(--kr-200);
    border-radius: var(--kr-radius);
    overflow: hidden;
}
.dates-list .row, .table-dates tr {
    border-bottom: 1px solid var(--kr-200);
}
.dates-list .row:last-child, .table-dates tr:last-child { border-bottom: 0; }
.dates-list .price, .table-dates .price {
    color: var(--kr-red);
    font-weight: 700;
    font-size: 17px;
}

/* ---------- Booking form area ---------- */
.booking-form, .registration-form, .contact-form, .login-form {
    background: var(--kr-white);
    border-radius: var(--kr-radius-lg);
    padding: 28px 28px;
    box-shadow: var(--kr-shadow);
    border: 1px solid var(--kr-200);
}
.booking-form h3, .registration-form h3, .contact-form h3, .login-form h3 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-weight: 600;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--kr-gold);
}

/* ---------- Form rows: spacing & layout ---------- */
.form-group, .form-row {
    margin-bottom: 18px;
}
.form-check {
    padding: 6px 0 6px 28px;
}
.form-check-input {
    width: 18px; height: 18px;
    border: 2px solid var(--kr-300) !important;
    border-radius: 4px !important;
    margin-top: 2px;
}
.form-check-input:checked {
    background-color: var(--kr-red) !important;
    border-color: var(--kr-red) !important;
}
.form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(252,181,49,0.18) !important;
    border-color: var(--kr-gold) !important;
}

/* ---------- Pagination ---------- */
.pagination .page-item .page-link {
    color: var(--kr-slate) !important;
    border: 1px solid var(--kr-200) !important;
    margin: 0 3px;
    border-radius: 8px !important;
    font-weight: 600;
    padding: 8px 14px;
    transition: background var(--kr-transition), color var(--kr-transition);
}
.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover {
    background: var(--kr-red) !important;
    color: #fff !important;
    border-color: var(--kr-red) !important;
}

/* ---------- Alerts ---------- */
.alert {
    border-radius: var(--kr-radius);
    border: 0;
    padding: 14px 18px;
    font-size: 14.5px;
}
.alert-success { background: rgba(46, 160, 67, 0.1); color: #1c7a30; }
.alert-danger  { background: rgba(175, 21, 13, 0.08); color: var(--kr-red-dark); }
.alert-warning { background: rgba(252, 181, 49, 0.15); color: #8b5e0a; }
.alert-info    { background: rgba(13, 110, 253, 0.08); color: #0a58ca; }

/* ---------- Login / auth pages ---------- */
.login-section, .registration-section {
    background: linear-gradient(135deg, var(--kr-cream) 0%, var(--kr-50) 100%);
    min-height: 60vh;
    padding: 80px 0;
}
.login-card, .register-card {
    max-width: 460px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--kr-radius-lg);
    padding: 36px 32px;
    box-shadow: var(--kr-shadow-lg);
}
.login-card h2, .register-card h2 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-weight: 600;
    text-align: center;
    margin-bottom: 8px;
}
.login-card p, .register-card p {
    text-align: center;
    color: var(--kr-500);
    margin-bottom: 24px;
}

/* ---------- Account dashboard ---------- */
.account-sidebar, .dashboard-sidebar {
    background: var(--kr-white);
    border: 1px solid var(--kr-200);
    border-radius: var(--kr-radius-lg);
    padding: 22px;
    box-shadow: var(--kr-shadow-sm);
}
.account-sidebar ul, .dashboard-sidebar ul {
    list-style: none;
    padding: 0; margin: 0;
}
.account-sidebar li a,
.dashboard-sidebar li a {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 14px;
    color: var(--kr-slate);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14.5px;
    transition: background var(--kr-transition), color var(--kr-transition);
}
.account-sidebar li a:hover,
.account-sidebar li a.active,
.dashboard-sidebar li a:hover,
.dashboard-sidebar li a.active {
    background: var(--kr-cream);
    color: var(--kr-red);
}

/* ---------- Contact page extras ---------- */
.contact-info-block {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 18px;
    background: var(--kr-white);
    border-radius: var(--kr-radius);
    border: 1px solid var(--kr-200);
    margin-bottom: 14px;
}
.contact-info-block .icon {
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--kr-cream);
    color: var(--kr-red);
    border-radius: 50%;
    font-size: 18px;
    flex-shrink: 0;
}
.contact-info-block h4 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}
.contact-info-block p { color: var(--kr-500); margin: 0; font-size: 14px; }

/* ---------- Hide old red separator strips ---------- */
.iq-about-us[style*="background-color:#b11d43"],
.iq-about-us[style*="background-color: #b11d43"] {
    background: transparent !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
}

/* ---------- Page-wrapper padding so content doesn't hug nav ---------- */
.sidebar-page-container,
.properties-page-section {
    padding-top: 28px;
    padding-bottom: 60px;
}

/* ---------- Old grid card harmonization (property-block / inner-box) ---------- */
.property-block .inner-box,
.feature-block-two .inner-box,
.team-block .inner-box,
.iq-blog-box {
    border-radius: var(--kr-radius-lg);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--kr-200);
    box-shadow: var(--kr-shadow-sm);
    transition: transform var(--kr-transition), box-shadow var(--kr-transition);
}
.property-block:hover .inner-box,
.feature-block-two:hover .inner-box,
.team-block:hover .inner-box,
.iq-blog-box:hover {
    transform: translateY(-4px);
    box-shadow: var(--kr-shadow-lg);
}
.property-block .upper-box {
    background: var(--kr-cream) !important;
    padding: 10px 14px !important;
}
.property-block .upper-box .price b { color: var(--kr-red) !important; }
.property-block .read-more {
    color: var(--kr-red) !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12.5px;
    letter-spacing: 0.6px;
}
.property-block .lower-content {
    background: var(--kr-white) !important;
    padding: 18px 20px !important;
}
.property-block .lower-content h3 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}
.property-block .lower-content h3 a {
    color: inherit !important;
    text-decoration: none;
}
.property-block .lower-content h3 a:hover { color: var(--kr-red) !important; }
.property-block .lower-content .text { color: var(--kr-500); font-size: 14px; line-height: 1.55; }
.property-block .property-info { border-top: 1px solid var(--kr-200); padding-top: 10px; margin-top: 12px; }
.property-block .property-info li { color: var(--kr-500); font-size: 13px; margin-right: 14px; }
.property-block .property-info li i { color: var(--kr-gold); }

/* ---------- Page title bar (used by some inner pages) ---------- */
.page-title, .breadcrumb-section {
    background: linear-gradient(135deg, var(--kr-slate-dark) 0%, #3a4651 100%);
    padding: 80px 0 60px;
    color: #fff;
}
.page-title h1, .breadcrumb-section h1 {
    color: #fff;
    font-family: var(--kr-font-display);
    font-weight: 600;
    margin-bottom: 8px;
}
.page-title .bread-crumb,
.breadcrumb-section .bread-crumb { color: rgba(255,255,255,0.7); }
.page-title .bread-crumb a,
.breadcrumb-section .bread-crumb a { color: var(--kr-gold); }

/* ---------- Modal forms ---------- */
.modal-content .modal-body { padding: 28px 28px; }
.modal-content .modal-header { padding: 18px 28px; }
.modal-content .modal-title {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-size: 22px;
    font-weight: 600;
}

/* ---------- Newsletter forms ---------- */
.newsletter-widget .form-control,
.subscribe-form input[type="email"] {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.15) !important;
    color: #fff !important;
}
.newsletter-widget .form-control::placeholder,
.subscribe-form input[type="email"]::placeholder {
    color: rgba(255,255,255,0.55) !important;
}

/* ---------- Print-friendlier ---------- */
@media print {
    .kr-fab, .kr-trust-strip, .clients-section, footer, header { display: none !important; }
}

/* ============================================================
   HOME — extra polish & new quote section
   ============================================================ */

/* Quote section (replaces broken partners carousel) */
.kr-quote-section {
    padding: 80px 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(252,181,49,0.05) 0%, transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(175,21,13,0.04) 0%, transparent 50%),
        var(--kr-cream);
    position: relative;
    overflow: hidden;
}
.kr-quote-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--kr-gold), transparent);
}
.kr-quote-section::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--kr-gold), transparent);
}
.kr-quote-mark {
    color: var(--kr-gold);
    font-size: 42px;
    margin-bottom: 18px;
    opacity: 0.7;
}
.kr-quote-text {
    font-family: var(--kr-font-display);
    font-size: clamp(1.3rem, 1vw + 1rem, 1.85rem);
    color: var(--kr-slate-dark);
    line-height: 1.5;
    font-style: italic;
    font-weight: 500;
    margin-bottom: 22px;
}
.kr-quote-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.kr-quote-meta strong {
    font-family: var(--kr-font-body);
    color: var(--kr-red);
    font-size: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
}
.kr-quote-meta span {
    font-size: 13.5px;
    color: var(--kr-500);
}

/* Hero overlay — make the slide caption pop more */
.main-slider-two .content {
    box-shadow: 0 24px 60px rgba(0,0,0,0.25) !important;
}
.main-slider-two .slide::before {
    background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.45) 60%, rgba(0,0,0,0.65) 100%) !important;
}

/* More space below trust strip / regions strip */
.kr-trust-strip { padding: 22px 0; }
.kr-regions-strip { padding: 70px 0; }
.kr-featured-section { padding: 80px 0 70px; }
.kr-why-section { padding: 80px 0; }

/* Destination grid: make the row gutter visually richer */
.kr-featured-section .row { row-gap: 32px !important; }

/* Card lift refinement */
.kr-dest-card {
    transition: transform 280ms var(--kr-ease), box-shadow 280ms var(--kr-ease), border-color 280ms var(--kr-ease) !important;
}
.kr-dest-card:hover { border-color: var(--kr-gold) !important; }

/* Region card on home — subtle border */
.kr-regions-strip .kr-region-card2 { border: 1px solid var(--kr-200); }
.kr-regions-strip .kr-region-card2:hover { border-color: var(--kr-gold); }

/* WHY card icon variation */
.kr-why-card .kr-why-icon {
    background: linear-gradient(135deg, var(--kr-cream) 0%, #fff3d6 100%);
    border: 1px solid var(--kr-gold-soft);
}

/* Back-to-top button — round, branded */
#back-to-top a.scroll-to-top {
    background: var(--kr-red) !important;
    width: 46px; height: 46px;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    box-shadow: var(--kr-shadow-red);
    transition: transform var(--kr-transition), background var(--kr-transition);
}
#back-to-top a.scroll-to-top:hover {
    background: var(--kr-red-dark) !important;
    transform: translateY(-3px);
}

/* Old empty/broken partners carousel — kill if it ever shows */
.clients-section .sponsors-carousel li img[src*="images/clients/"] {
    display: none;
}

/* Eyebrow consistency */
.kr-eyebrow {
    display: inline-block;
    font-family: var(--kr-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    color: var(--kr-red) !important;
    text-transform: uppercase !important;
    background: rgba(175,21,13,0.06);
    padding: 6px 16px !important;
    border-radius: 999px !important;
    margin-bottom: 14px !important;
}

/* Section divider (decorative gold line) */
.kr-divider {
    width: 60px; height: 3px;
    background: var(--kr-gold);
    border-radius: 2px;
    margin: 14px auto 24px;
}

/* CTA section refinements */
.kr-cta-section h2 { font-weight: 600; }
.kr-cta-section .kr-cta-btn i { transition: transform var(--kr-transition); }
.kr-cta-section .kr-cta-btn:hover i { transform: translateX(4px); }

/* Mobile spacing */
@media (max-width: 575.98px) {
    .kr-quote-section { padding: 50px 0; }
    .kr-featured-section { padding: 50px 0; }
    .kr-why-section { padding: 50px 0; }
    .kr-regions-strip { padding: 50px 0; }
    .kr-cta-section { padding: 60px 0; }
    .kr-cta-section .row { row-gap: 20px; }
    .kr-cta-section .text-lg-end { text-align: left !important; }
}

/* ============================================================
   INNER PAGES — country (reiseziel), trip (reise), themes,
   contact. Modern hero, cards, sidebar, sticky panels.
   ============================================================ */

/* ---------- Page hero (reusable on all inner pages) ---------- */
.kr-page-hero {
    position: relative;
    min-height: 380px;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat;
    border-radius: var(--kr-radius-lg);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    margin: 0 0 0 !important;
    box-shadow: var(--kr-shadow);
}
.kr-page-hero-noimg { background-color: var(--kr-cream); }
.kr-page-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.55) 70%, rgba(0,0,0,0.78) 100%);
    pointer-events: none;
    z-index: 1;
}
.kr-page-hero-container {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 38px 44px 36px;
    max-width: 1100px;
    margin: 0 auto;
}
.kr-page-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    font-size: 12.5px;
    color: rgba(255,255,255,0.75);
}
.kr-page-breadcrumb a {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color 0.15s;
    font-weight: 500;
}
.kr-page-breadcrumb a:hover { color: var(--kr-gold); }
.kr-page-breadcrumb i {
    font-size: 9px;
    color: rgba(255,255,255,0.45);
}
.kr-page-breadcrumb span { color: var(--kr-gold); font-weight: 600; }
.kr-page-hero-eyebrow {
    display: inline-block;
    background: var(--kr-gold);
    color: var(--kr-slate-dark);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
}
.kr-page-hero-title {
    font-family: var(--kr-font-display);
    color: #fff !important;
    font-size: clamp(2.4rem, 3vw + 1rem, 4rem);
    font-weight: 600;
    margin: 0 0 12px;
    line-height: 1.05;
    text-shadow: 0 4px 24px rgba(0,0,0,0.45);
}
.kr-page-hero-sub {
    color: rgba(255,255,255,0.92);
    font-size: 18px;
    font-weight: 500;
    margin: 0;
    max-width: 700px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.45);
}
@media (max-width: 767.98px) {
    .kr-page-hero { min-height: 320px; border-radius: var(--kr-radius); }
    .kr-page-hero-container { padding: 24px 22px; }
    .kr-page-hero-sub { font-size: 15px; }
}

/* ---------- Country intro section ---------- */
.kr-page-intro {
    background: var(--kr-white);
    border-radius: var(--kr-radius-lg);
    padding: 32px 36px;
    border: 1px solid var(--kr-200);
    box-shadow: var(--kr-shadow-sm);
}
.kr-intro-eyebrow {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--kr-red);
    text-transform: uppercase;
    letter-spacing: 2px;
    background: rgba(175,21,13,0.06);
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.kr-intro-text {
    color: var(--kr-600);
    font-size: 16px;
    line-height: 1.75;
}
.kr-intro-text p { margin-bottom: 14px; }
.kr-intro-text p:last-child { margin-bottom: 0; }
@media (max-width: 767.98px) {
    .kr-page-intro { padding: 22px 20px; }
    .kr-intro-text { font-size: 15px; }
}

/* ---------- Modern trip card (country page list) ---------- */
.kr-trip-card {
    display: flex;
    background: var(--kr-white);
    border: 1px solid var(--kr-200);
    border-radius: var(--kr-radius-lg);
    overflow: hidden;
    box-shadow: var(--kr-shadow-sm);
    transition: transform 250ms var(--kr-ease), box-shadow 250ms var(--kr-ease), border-color 250ms var(--kr-ease);
    margin-bottom: 22px;
    min-height: 280px;
}
.kr-trip-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--kr-shadow-lg);
    border-color: var(--kr-gold);
}

.kr-trip-media {
    position: relative;
    flex: 0 0 42%;
    overflow: hidden;
    background: var(--kr-100);
    display: block;
    text-decoration: none !important;
}
.kr-trip-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 500ms var(--kr-ease);
    min-height: 240px;
}
.kr-trip-card:hover .kr-trip-media img { transform: scale(1.06); }

.kr-trip-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    color: var(--kr-slate-dark);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 999px;
    box-shadow: var(--kr-shadow);
    z-index: 2;
}
.kr-trip-badge-deal {
    background: var(--kr-red);
    color: #fff;
    animation: kr-deal-pulse 1.6s ease-in-out infinite;
}
.kr-trip-badge-promo {
    top: auto;
    bottom: 14px;
    left: 14px;
    background: var(--kr-gold);
    color: var(--kr-slate-dark);
}
@keyframes kr-deal-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}

.kr-trip-body {
    flex: 1;
    padding: 22px 26px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.kr-trip-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.kr-trip-tag-days,
.kr-trip-tag-type {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.kr-trip-tag-days {
    background: var(--kr-cream);
    color: var(--kr-slate-dark);
}
.kr-trip-tag-days i { color: var(--kr-red); }
.kr-trip-tag-type {
    background: rgba(175,21,13,0.08);
    color: var(--kr-red);
}
.kr-trip-title {
    font-family: var(--kr-font-display);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 10px;
    color: var(--kr-slate-dark);
}
.kr-trip-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}
.kr-trip-title a:hover { color: var(--kr-red); }
.kr-trip-desc {
    color: var(--kr-500);
    font-size: 14.5px;
    line-height: 1.55;
    margin: 0 0 14px;
}
.kr-trip-meta {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}
.kr-trip-meta li {
    color: var(--kr-500);
    font-size: 13.5px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.kr-trip-meta li i { color: var(--kr-gold); }

.kr-trip-footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--kr-200);
    flex-wrap: wrap;
}
.kr-trip-price {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
.kr-trip-price-label {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--kr-500);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.kr-trip-price-old {
    color: var(--kr-400);
    font-weight: 500;
    font-size: 14px;
    text-decoration: line-through;
    margin-right: 4px;
}
.kr-trip-price-new {
    color: var(--kr-red);
    font-weight: 700;
    font-size: 22px;
    line-height: 1.1;
}
.kr-trip-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--kr-red);
    color: #fff !important;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 12.5px;
    box-shadow: 0 6px 14px rgba(175,21,13,0.25);
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
}
.kr-trip-cta i { transition: transform 0.2s; }
.kr-trip-cta:hover {
    background: var(--kr-red-dark);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(175,21,13,0.35);
}
.kr-trip-cta:hover i { transform: translateX(3px); }

@media (max-width: 767.98px) {
    .kr-trip-card { flex-direction: column; min-height: 0; }
    .kr-trip-media { flex: 0 0 auto; aspect-ratio: 4/3; }
    .kr-trip-media img { min-height: 0; }
    .kr-trip-body { padding: 18px 20px 20px; }
    .kr-trip-title { font-size: 19px; }
}

/* Hide the original property-block-two trip cards when our modern card is rendered */
.kr-trip-card + .deal-label-reiseziel { display: none; }

/* ---------- Touristic sites grid (kr-sights) ---------- */
.sidebar-widget.recent-properties {
    background: var(--kr-white) !important;
    border: 1px solid var(--kr-200) !important;
    border-radius: var(--kr-radius) !important;
    margin-bottom: 14px !important;
    overflow: hidden;
    transition: transform var(--kr-transition), box-shadow var(--kr-transition);
    box-shadow: var(--kr-shadow-sm);
}
.sidebar-widget.recent-properties:hover {
    transform: translateY(-3px);
    box-shadow: var(--kr-shadow);
    border-color: var(--kr-gold) !important;
}
.sidebar-widget.recent-properties .post-thumb img {
    border-radius: var(--kr-radius-sm);
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}
.sidebar-widget.recent-properties .post h3 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 8px 12px 4px !important;
}
.sidebar-widget.recent-properties .post h3.price {
    font-family: var(--kr-font-body) !important;
    color: var(--kr-red) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

/* ---------- Gallery grid ---------- */
.gallery-item .image-box {
    overflow: hidden;
    border-radius: var(--kr-radius);
    transition: transform var(--kr-transition), box-shadow var(--kr-transition);
}
.gallery-item .image-box:hover { transform: scale(1.02); box-shadow: var(--kr-shadow); }
.gallery-item .image-box figure {
    border: 0 !important;
    margin: 0;
    border-radius: var(--kr-radius);
    overflow: hidden;
}
.gallery-item .image-box img {
    border: 0 !important;
    width: 100% !important;
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
    transition: transform 500ms var(--kr-ease);
}
.gallery-item .image-box:hover img { transform: scale(1.06); }

/* ---------- Sticky right sidebar (country page) ---------- */
.sidebar-side {
    position: sticky;
    top: 90px;
    align-self: flex-start;
}
@media (max-width: 991.98px) {
    .sidebar-side { position: static; }
}

/* ---------- Section section-title for inner pages ---------- */
.sidebar-title2 h4 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--kr-gold);
    margin-bottom: 18px !important;
}
.sidebar-title2 h4 i { color: var(--kr-gold); margin-right: 8px; }

/* ---------- Button group polish (Presentation / Conseils) ---------- */
.btn-group .btn.btn-soft-gray {
    border: 1px solid var(--kr-200) !important;
    color: var(--kr-slate) !important;
    background: var(--kr-50) !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background var(--kr-transition), color var(--kr-transition), border-color var(--kr-transition);
}
.btn-group .btn.btn-soft-gray:hover {
    background: var(--kr-cream) !important;
    color: var(--kr-red) !important;
    border-color: var(--kr-gold) !important;
}
.btn-group .btn.btn-soft-gray i { color: var(--kr-gold); margin-right: 6px; }

/* Hide stray inline borders/colors that conflict with new design */
.blog-detail .image .date-box,
.col-md-8 .sidebar-title2 .text-uppercase[style*="color:#b11d43"] { display: revert; }

/* ---------- Container reset for hero (escape any leftover padding) ---------- */
.col-12.px-0 { padding-left: 0 !important; padding-right: 0 !important; }

/* ---------- Inner page back-to-top alignment ---------- */
.sidebar-page-container { padding-top: 24px; }

/* ============================================================
   THEME / TRAVEL-TYPE pages (reisethema, reisen-type)
   They use property-block-two too → already covered above.
   ============================================================ */

/* ============================================================
   CONTACT page polish
   ============================================================ */
.contact-section, .contact-page-section {
    padding: 50px 0;
}
.contact-section h2, .contact-page-section h2 {
    font-family: var(--kr-font-display);
    color: var(--kr-slate-dark);
    font-weight: 600;
    margin-bottom: 12px;
}
.contact-form-area, .contact-form {
    background: var(--kr-white);
    border: 1px solid var(--kr-200);
    border-radius: var(--kr-radius-lg);
    padding: 32px 32px;
    box-shadow: var(--kr-shadow-sm);
}

/* ============================================================
   TRIP DETAIL page (reise) — polish (CSS only, markup untouched)
   ============================================================ */
.iq-fancy-box {
    border-radius: var(--kr-radius-lg) !important;
    margin-bottom: 20px;
}
.iq-fancy-box h3, .iq-fancy-box h4 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-weight: 600 !important;
}
.iq-fancy-box h3 i, .iq-fancy-box h4 i { color: var(--kr-gold); margin-right: 8px; }

/* Trip detail price card */
.trip-detail-price, .booking-summary {
    background: linear-gradient(135deg, var(--kr-cream) 0%, var(--kr-white) 100%);
    border: 1px solid var(--kr-gold-soft);
    border-radius: var(--kr-radius-lg);
    padding: 24px;
    box-shadow: var(--kr-shadow-sm);
}

/* ============================================================
   Hide leftover deal-label overlays that came from old markup
   ============================================================ */
.deal-label-reiseziel, .deal-tooltip-reiseziel { display: none !important; }

/* ============================================================
   "Mouse btn down" scroll indicator — hide on inner pages
   ============================================================ */
.kr-page-hero ~ .mouse-btn-down,
section:not(.kr-hero) > .mouse-btn-down { display: none !important; }

/* ============================================================
   SIDEBAR — modern redesign + country list scroll cap
   ============================================================ */

/* ---------- Mobile destinations offcanvas: countries with scroll ---------- */
.kr-region-card {
    border: 1px solid var(--kr-200) !important;
    border-radius: var(--kr-radius) !important;
    overflow: hidden;
    box-shadow: var(--kr-shadow-sm);
    margin-bottom: 12px !important;
    background: var(--kr-white) !important;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.kr-region-card:hover { box-shadow: var(--kr-shadow); border-color: var(--kr-gold) !important; }
.kr-region-head {
    background: linear-gradient(180deg, var(--kr-white) 0%, var(--kr-cream) 100%) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--kr-200) !important;
    padding: 14px 16px !important;
    font-family: var(--kr-font-display) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--kr-slate-dark) !important;
    font-size: 16px !important;
}
.kr-region-head .kr-region-icon {
    color: var(--kr-red) !important;
    background: rgba(175,21,13,0.08);
    width: 32px; height: 32px;
    border-radius: 50%;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    font-size: 14px !important;
}
.kr-region-head .kr-region-count {
    background: var(--kr-cream);
    color: var(--kr-red) !important;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px !important;
    font-weight: 700 !important;
    border: 1px solid var(--kr-gold-soft);
}
.kr-region-head .kr-chevron {
    color: var(--kr-gold) !important;
    background: var(--kr-cream);
    width: 24px; height: 24px;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10px !important;
}

/* Cap country list height when expanded — solves "too long" */
.kr-region-card .collapse .kr-region-countries,
.kr-region-card .collapse.show .kr-region-countries {
    max-height: 400px !important;
    overflow-y: auto !important;
    overflow-x: hidden;
    padding: 10px 12px !important;
    background: var(--kr-50);
    /* custom branded scrollbar */
    scrollbar-width: thin;
    scrollbar-color: var(--kr-gold) var(--kr-100);
}
.kr-region-card .collapse .kr-region-countries::-webkit-scrollbar {
    width: 8px;
}
.kr-region-card .collapse .kr-region-countries::-webkit-scrollbar-track {
    background: var(--kr-100);
    border-radius: 4px;
}
.kr-region-card .collapse .kr-region-countries::-webkit-scrollbar-thumb {
    background: var(--kr-gold);
    border-radius: 4px;
}
.kr-region-card .collapse .kr-region-countries::-webkit-scrollbar-thumb:hover {
    background: var(--kr-gold-dark);
}

.kr-country-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 11px 14px !important;
    margin: 4px 0 !important;
    background: var(--kr-white) !important;
    border: 1px solid var(--kr-200) !important;
    border-radius: var(--kr-radius-sm) !important;
    color: var(--kr-slate) !important;
    text-decoration: none !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    transition: background 0.15s, border-color 0.15s, transform 0.15s, color 0.15s;
}
.kr-country-link:hover {
    background: var(--kr-cream) !important;
    border-color: var(--kr-gold) !important;
    color: var(--kr-red) !important;
    transform: translateX(3px);
}
.kr-country-link .kr-trips {
    background: var(--kr-cream);
    color: var(--kr-red);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid var(--kr-gold-soft);
}

/* ---------- Country-page RIGHT sidebar — full modernization ---------- */
.sidebar-side aside.sidebar,
.sidebar-side .sidebar-inner {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
.sidebar-side .sidebar-widget,
.sidebar-side .sidebar-widget.recent-properties,
.sidebar-side .sidebar-widget.categories-widget {
    background: var(--kr-white) !important;
    border: 1px solid var(--kr-200) !important;
    border-radius: var(--kr-radius-lg) !important;
    box-shadow: var(--kr-shadow-sm) !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
    overflow: hidden;
}

/* Contact (call / whatsapp) cards — kill the red background */
.sidebar-side .sidebar-widget article.post {
    background: linear-gradient(135deg, var(--kr-red) 0%, var(--kr-red-dark) 100%) !important;
    padding: 22px 22px !important;
    margin: 0 !important;
    position: relative;
    overflow: hidden;
    color: #fff !important;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.sidebar-side .sidebar-widget article.post:last-child { border-bottom: 0; }
.sidebar-side .sidebar-widget article.post::before {
    content: '';
    position: absolute;
    top: -40px; right: -40px;
    width: 140px; height: 140px;
    border-radius: 50%;
    background: rgba(252,181,49,0.12);
    pointer-events: none;
}
.sidebar-side .sidebar-widget article.post .post-thumb {
    width: 48px; height: 48px;
    background: rgba(255,255,255,0.16);
    border-radius: 50%;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    margin-bottom: 10px !important;
    position: relative;
    z-index: 1;
}
.sidebar-side .sidebar-widget article.post .post-thumb img {
    width: 24px !important; height: 24px !important;
    filter: brightness(0) invert(1);
    border: 0 !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
}
.sidebar-side .sidebar-widget article.post h3 {
    font-family: var(--kr-font-body) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    letter-spacing: 0.3px;
    position: relative; z-index: 1;
}
.sidebar-side .sidebar-widget article.post h3 a {
    color: #fff !important;
    text-decoration: none !important;
    transition: color 0.15s;
}
.sidebar-side .sidebar-widget article.post h3 a:hover { color: var(--kr-gold) !important; }
.sidebar-side .sidebar-widget article.post .price {
    color: rgba(255,255,255,0.85) !important;
    font-size: 12.5px !important;
    margin: 2px 0 !important;
    position: relative; z-index: 1;
}
.sidebar-side .sidebar-widget article.post .price b {
    font-weight: 600 !important;
    color: #fff !important;
}

/* "Why choose us" checklist */
.sidebar-side .sidebar-widget.categories-widget .sidebar-title {
    padding: 22px 24px !important;
    background: var(--kr-white) !important;
}
.sidebar-side .sidebar-widget.categories-widget .sidebar-title h5 {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-slate-dark) !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--kr-gold);
}
.sidebar-side .sidebar-widget.categories-widget .sidebar-title li {
    list-style: none !important;
    padding: 8px 0 !important;
    color: var(--kr-700) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.sidebar-side .sidebar-widget.categories-widget .sidebar-title li i {
    color: var(--kr-red) !important;
    background: var(--kr-cream);
    width: 22px; height: 22px;
    min-width: 22px;
    border-radius: 50%;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    font-size: 11px !important;
    margin-top: 2px;
}

/* Hide old red separator strips inside sidebar */
.sidebar-side .iq-about-us { display: none !important; }

/* Sticky behavior on desktop */
@media (min-width: 992px) {
    .sidebar-side {
        position: sticky !important;
        top: 100px !important;
        align-self: flex-start;
    }
}

/* ---------- Sidebar (left) — desktop destinations dropdown sub-sub scroll ---------- */
@media (min-width: 1200px) {
    #header-menu .kr-countries-panel {
        max-height: 70vh !important;
        overflow-y: auto !important;
        overflow-x: hidden;
        scrollbar-width: thin;
        scrollbar-color: var(--kr-gold) var(--kr-100);
    }
    #header-menu .kr-countries-panel::-webkit-scrollbar { width: 6px; }
    #header-menu .kr-countries-panel::-webkit-scrollbar-track { background: var(--kr-100); }
    #header-menu .kr-countries-panel::-webkit-scrollbar-thumb { background: var(--kr-gold); border-radius: 3px; }

    /* Cap the level-2 region list height too */
    #header-menu #Destinations.kr-submenu {
        max-height: 78vh !important;
        overflow-y: auto !important;
        overflow-x: visible !important; /* allow sub-sub to escape */
        scrollbar-width: thin;
        scrollbar-color: var(--kr-gold) var(--kr-100);
    }
    #header-menu #Destinations.kr-submenu::-webkit-scrollbar { width: 6px; }
    #header-menu #Destinations.kr-submenu::-webkit-scrollbar-track { background: var(--kr-100); }
    #header-menu #Destinations.kr-submenu::-webkit-scrollbar-thumb { background: var(--kr-gold); border-radius: 3px; }
}

/* ============================================================
   REISEZIELE TITLE — visible color in the offcanvas sidebar
   ============================================================ */
.sidebar-title3 {
    margin: 0 0 18px !important;
}
.sidebar-title3 h4 {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    width: 100% !important;
    font-family: var(--kr-font-display) !important;
    color: var(--kr-red) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    padding: 16px 0 12px !important;
    border-top: 0 !important;
    border-bottom: 2px solid var(--kr-gold) !important;
    position: relative;
}
.sidebar-title3 h4::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 26px;
    background: var(--kr-gold);
    border-radius: 3px;
    margin-right: 4px;
}
.sidebar-title3 h4 b {
    color: var(--kr-red) !important;
    font-weight: 600 !important;
}

/* ============================================================
   OFFCANVAS sidebar height cap — body never overflows the screen
   ============================================================ */
.offcanvas#right-panel-destinations,
.offcanvas#right-panel-themes,
.offcanvas#right-panel-travel,
.offcanvas#right-panel-about,
.offcanvas#right-panel-mobile {
    background: var(--kr-white) !important;
}
.offcanvas#right-panel-destinations .offcanvas-body,
.offcanvas#right-panel-themes .offcanvas-body,
.offcanvas#right-panel-travel .offcanvas-body,
.offcanvas#right-panel-about .offcanvas-body,
.offcanvas#right-panel-mobile .offcanvas-body {
    max-height: calc(100vh - 90px) !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: var(--kr-gold) var(--kr-100);
}
.offcanvas .offcanvas-body::-webkit-scrollbar { width: 8px; }
.offcanvas .offcanvas-body::-webkit-scrollbar-track { background: var(--kr-100); }
.offcanvas .offcanvas-body::-webkit-scrollbar-thumb { background: var(--kr-gold); border-radius: 4px; }
.offcanvas .offcanvas-body::-webkit-scrollbar-thumb:hover { background: var(--kr-gold-dark); }

/* Tighter region accordion list — total stack stays compact */
.offcanvas#right-panel-destinations .offcanvas-body > div.mb-2 {
    border: 0 !important;
}
.offcanvas#right-panel-destinations .kr-region-card { margin-bottom: 10px !important; }

/* ============================================================
   COUNTRY PAGE — destinations sidebar widget (cnontact_right_foot)
   ============================================================ */
.kr-sidebar-destinations {
    background: var(--kr-white) !important;
    border: 1px solid var(--kr-200) !important;
    border-radius: var(--kr-radius-lg) !important;
    box-shadow: var(--kr-shadow-sm) !important;
    overflow: hidden;
    padding: 0 !important;
    margin-bottom: 18px !important;
}
.kr-sidebar-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 22px 14px;
    background: linear-gradient(180deg, var(--kr-white) 0%, var(--kr-cream) 100%);
    border-bottom: 2px solid var(--kr-gold);
}
.kr-sidebar-head .kr-sidebar-bar {
    display: inline-block;
    width: 5px;
    height: 22px;
    background: var(--kr-gold);
    border-radius: 3px;
}
.kr-sidebar-head .kr-sidebar-title {
    font-family: var(--kr-font-display) !important;
    color: var(--kr-red) !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Scroll-capped destinations list */
.kr-sidebar-dest-scroll {
    max-height: 520px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 18px;
    scrollbar-width: thin;
    scrollbar-color: var(--kr-gold) var(--kr-100);
}
.kr-sidebar-dest-scroll::-webkit-scrollbar { width: 8px; }
.kr-sidebar-dest-scroll::-webkit-scrollbar-track { background: var(--kr-100); }
.kr-sidebar-dest-scroll::-webkit-scrollbar-thumb { background: var(--kr-gold); border-radius: 4px; }
.kr-sidebar-dest-scroll::-webkit-scrollbar-thumb:hover { background: var(--kr-gold-dark); }

.kr-sidebar-region { margin-bottom: 18px; }
.kr-sidebar-region:last-child { margin-bottom: 0; }
.kr-sidebar-region-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--kr-font-body);
    color: var(--kr-red);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--kr-gold-soft);
}
.kr-sidebar-region-title i {
    color: var(--kr-gold);
    font-size: 13px;
    width: 18px;
    text-align: center;
}
.kr-sidebar-countries {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.kr-sidebar-countries li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.kr-sidebar-countries li a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 6px 8px !important;
    color: var(--kr-700) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s, padding-left 0.15s;
}
.kr-sidebar-countries li a:hover {
    background: var(--kr-cream) !important;
    color: var(--kr-red) !important;
    padding-left: 14px !important;
}
.kr-sidebar-countries .kr-sidebar-country-count {
    background: var(--kr-cream);
    color: var(--kr-red);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--kr-gold-soft);
    min-width: 26px;
    text-align: center;
}

/* Share block */
.kr-sidebar-share {
    padding: 16px 22px 20px;
    border-top: 1px solid var(--kr-200);
    background: var(--kr-50);
}
.kr-sidebar-share-title {
    font-family: var(--kr-font-body) !important;
    color: var(--kr-slate-dark) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 10px !important;
}

/* Hide the original sidebar-title3 styling (only used here in flat layout) */
.kr-sidebar-destinations .sidebar-title3 { display: none !important; }

