/* Search / Results UI styles extracted from search.html */
/* RedTours Theme vars */
:root{
  --rt-red: #ea4335;     /* primary red */
  --rt-red-dark: #d94339;   /* hover/active red */
  --rt-red-rgb: 234,67,57;  /* for rgba(...) uses */
}

/* --- Mobile toolbar & bottom sheet --- */
/* Toolbar appears only after first search on mobile (when JS moves it into #results) */
.rt-mobile-toolbar{ display:none; }
@media (max_width: 880px){
}
@media (max-width: 880px){
  .rt-mobile-toolbar{ display:none; }
  /* When widget is hidden after first search, reveal toolbar placed right after it */
  #widget.rt-hidden-mobile + .rt-mobile-toolbar{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    margin: 10px 0 8px; position:static; z-index:1; background:transparent;
  }
  #results .rt-mobile-toolbar{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    margin: 10px 0 8px; position:static; z-index:1; background:transparent;
  }
  .rt-mobile-toolbar .rt-chip{
    flex:1; text-align:left; border:1px solid #e5e7eb; background:#fff; border-radius:12px;
    padding:10px 12px; cursor:pointer; display:flex; flex-direction:column; gap:4px;
    min-height:60px; /* lock height to align with icon buttons */
  }
  .rt-chip-title{ font-size:15px; font-weight:700; color:#111827; line-height:1.2; }
  .rt-chip-sub{ font-size:13px; color:#94a3b8; line-height:1.2; }
  .rt-toolbar-icons{ display:flex; align-items:center; gap:10px; }
  /* Make toolbar icon buttons visually equal to the search chip by size and fill */
  .rt-icon-btn{ position:relative; width:60px; height:60px; border-radius:12px; border:1px solid #e5e7eb; background:#fff; color:#0f172a; display:inline-flex; align-items:center; justify-content:center; box-shadow:none; }
  .rt-icon-btn i{ font-size:22px; color:#0f172a; }
  .rt-icon-btn:active{ transform:scale(.98); }
  .rt-icon-btn:hover{ background:#fff; }
  .rt-icon-btn .rt-dot{ display:none; }
  .rt-icon-btn .rt-dot{ position:absolute; top:6px; right:6px; width:10px; height:10px; background:var(--rt-red); border-radius:999px; box-shadow:0 2px 6px rgba(var(--rt-red-rgb), .45); }
}

/* Bottom sheet */
.rt-sheet{ display:none; }
@media (max-width: 880px){
  .rt-sheet{ position:fixed; inset:0; z-index:100; display:none; }
  .rt-sheet.is-open{ display:block; }
  .rt-sheet-scrim{ position:absolute; inset:0; background:rgba(2,6,23,.4); opacity:0; transition:opacity .2s ease; }
  .rt-sheet.is-open .rt-sheet-scrim{ opacity:1; }
  .rt-sheet-panel{
    position:absolute; left:0; right:0; bottom:0; background:#fff; border-top-left-radius:16px; border-top-right-radius:16px;
    box-shadow:0 -12px 30px rgba(2,6,23,.25); transform:translateY(100%); transition: transform .28s cubic-bezier(.22,1,.36,1);
    /* Use dynamic viewport to respect mobile browser UI */
    max-height:85dvh; display:flex; flex-direction:column; overflow:hidden;
  }
  .rt-sheet.is-open .rt-sheet-panel{ transform:translateY(0); }
  /* Balanced header paddings to center title and close icon */
  .rt-sheet-header{ position:relative; padding:14px 12px; display:flex; align-items:center; justify-content:center; border-bottom:none; }
  /* Hide the handle/drag indicator since the sheet is not scrollable */
  .rt-sheet-drag{ display:none; }
  .rt-sheet-title{ font-weight:800; font-size:16px; color:#0f172a; line-height:1; }
  .rt-sheet-close{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border:none; background:transparent; }
  /* Make the close icon dark and optically centered */
  .rt-sheet-close i{ font-size:20px; color:#0f172a; position:relative; top:1px; }
  /* Add bottom safe-area padding by default; JS may add keyboard padding on top */
  .rt-sheet-body{ padding:12px; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); overflow:auto; -webkit-overflow-scrolling:touch; }
  /* Make the widget fill body when placed inside sheet */
  .rt-sheet-body .redtours-wrapper{ margin:0; }
  /* Sort panel inside sheet */
  .rt-sort-panel{ display:block; padding:6px 2px 8px; }
  .rt-sort-title{ font-weight:800; font-size:14px; color:#0f172a; margin:6px 0 8px; }
  .rt-sort-item{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #e5e7eb; border-radius: 12px; margin-bottom:8px; cursor:pointer; }
  .rt-sort-item input{ width:16px; height:16px; accent-color: var(--rt-red); }
  .rt-sort-item span{ font-size:14px; color:#0f172a; }
  .rt-sort-item:hover{ background:#f8fafc; }
  /* Highlight selected sort option with corporate red border */
  .rt-sort-item:has(input:checked){ border-color: var(--rt-red); background: rgba(var(--rt-red-rgb), .04); }
}
body {
  margin: 0;
  padding: 24px;
  background: #F9FAFC;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif
}
.container{max-width:1280px;margin:0 auto}
h1{font-size:20px;margin:0 0 16px}
.results{margin-top:20px;background:transparent;border:none;border-radius:0;padding:0}
.results h2{margin:0 0 12px;font-size:18px}
.results-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
.filters{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#F8FAFC;align-self:start}
.filters h3{margin:0 0 14px;font-size:16px;color:#374151;font-weight:800}
.filters .group{margin-bottom:16px}
.filters label{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:14px}
/* Number inputs (Ночей, Цена) */
.filters input[type="number"]{width:100%;box-sizing:border-box;border:1px solid #e5e7eb;border-radius: 12px;padding:8px 12px;background:#fff;font-size:14px;color:#111827;height:44px}
.filters input[type="number"]::placeholder{color:#9ca3af}
.filters .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* RedTours async-select fields placed inside sidebar */
.filters .redtours-field{margin:0}
.filters .redtours-label{font-size:14px;color:#334155;font-weight:600;margin-bottom:6px}
/* Ensure headings rendered with .muted (legacy) look identical to redtours-label */
.filters .group > .muted:first-child{font-size:14px !important;color:#334155 !important;font-weight:600 !important;margin-bottom:6px !important}
.filters .redtours-input, .filters .redtours-display{height:44px;border-radius: 12px;background:#fff}
.filters .redtours-popover{min-width:100%}
/* Ensure sidebar popovers don't overflow their container */
.filters .redtours-popover{min-width:100%; width:100%; box-sizing:border-box}
.filters small{color:#6b7280}
.error{background:rgba(var(--rt-red-rgb),.08);color:var(--rt-red-dark);border:1px solid rgba(var(--rt-red-rgb),.3);padding:10px;border-radius: 12px;margin-bottom:12px}
.tour-list{display:flex;flex-direction:column;gap:16px}
.tour-thumb{position:relative;border-radius:12px;overflow:hidden;background:#e5e7eb}
.tour-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.25) 100%);opacity:.6;transition:opacity .25s}
.tour-item:hover .tour-thumb::after{opacity:.4}
.tour-thumb img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .35s ease}
.tour-item:hover .tour-thumb img{transform:scale(1.04)}
/* --- Hotel carousel --- */
.rt-carousel{ position:absolute; inset:0; display:block; }
.rt-carousel .rtc-track{ position:absolute; inset:0; display:flex; width:100%; height:100%; transition: transform .42s cubic-bezier(.22,1,.36,1); will-change: transform; }
.rt-carousel .rtc-slide{ flex:0 0 100%; width:100%; height:100%; position:relative; overflow:hidden; }
.rt-carousel .rtc-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Arrows (desktop only) */
.rt-carousel .rtc-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:40px; height:40px; border-radius:999px; border:none; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.85); color:#0f172a; cursor:pointer; box-shadow:0 4px 10px rgba(2,6,23,.15); transition: background .2s ease, opacity .2s ease; }
.rt-carousel .rtc-arrow:hover{ background:#fff; }
.rt-carousel .rtc-arrow:disabled{ opacity:.4; cursor:default; }
.rt-carousel .rtc-prev{ left:10px; }
.rt-carousel .rtc-next{ right:10px; }
/* Dots indicator (max 4 visible, animated) */
.rt-carousel .rtc-dots{ position:absolute; left:50%; bottom:10px; transform:translateX(-50%); z-index:3; overflow:hidden; pointer-events:none; }
.rt-carousel .rtc-dots-strip{ display:inline-flex; align-items:center; gap:8px; transition: transform .26s cubic-bezier(.22,1,.36,1); will-change: transform; }
.rt-carousel .rtc-dot{ width:8px; height:8px; border-radius:999px; background:#fff; opacity:var(--o, .6); transform:scale(var(--s, .7)); transition: transform .26s cubic-bezier(.22,1,.36,1), opacity .26s cubic-bezier(.22,1,.36,1); box-shadow:0 1px 3px rgba(0,0,0,.25); }
.rt-carousel .rtc-dot.is-active{ opacity:1; transform:scale(1); }
/* Mobile: hide arrows, allow swipe (JS); keep dots readable */
@media (max-width: 1024px){
  .rt-carousel .rtc-arrow{ display:none; }
}
/* keep image proportions large and consistent */
.tour-thumb{aspect-ratio:16/10;}
/* Inline price stack */
.price-stack {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px
}
/* Desktop (default): badge above price; implement as vertical line */
.price-line{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.price-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #E8FAF1;
  /* mint-50 */
  color: #0F766E;
  /* teal-700 */
  /* border:1px solid #CFFAEA; mint-200 */
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 12px
}
.price-badge i{color:#0EA5E9}
.price-main{font-size:28px;line-height:1;font-weight:800;color:#0f172a}
.price-op-inline {
  font-size: 14px;
  color: #65738B;
  /* text-decoration: line-through */
}
.price-inline-controls{display:flex;align-items:center;gap:10px;margin-top:6px}
.card-footer-controls{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.tour-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: flex-start
}
.tour-item .title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #111827
}

.tour-item .title .muted {
  font-weight: 600;
  color: #64748b
}
.tour-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tour-location{font-size:13px;color:#475569;margin-top:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font-size:11px;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px}
/* details-row is redefined in Redesign Styles later */
/* removed description UI */
.btn-secondary{display:none}
.collapse{display:none}
.muted{color:#6b7280}
/* Remove dim overlay on results during loading to keep UI fully interactive */
.loading{opacity:1}
/* Global safeguard so RedTours popovers respect container width */
.redtours-popover{ box-sizing: border-box; }
/* Mobile calendar hint is hidden by default (JS shows it only on mobile when needed) */
.rt-mobile-hint{ display:none; }
/* invalid visual state for inputs and displays */
.redtours-input.invalid, .redtours-display.invalid{border-color:var(--rt-red) !important; box-shadow:0 0 0 3px rgba(var(--rt-red-rgb),.15) !important}
.hidden{display:none}
/* Horizontal loading bar — redesigned (inspired by screenshot 1, RedTours red) */
.progress-row{display:flex;align-items:center;margin:10px 0 16px}
.progress{
  position:relative;
  flex:1;
  height:42px; /* thicker, pleasant bar */
  background:rgba(var(--rt-red-rgb), .12); /* soft red track from primary */
  border-radius: 12px;
  overflow:hidden;
}
.progress .bar{
  position:absolute;inset:0 auto 0 0; /* left-to-right fill */
  height:100%; width:0%;
  background:var(--rt-red); /* corporate red */
  transition: width .55s cubic-bezier(.22,1,.36,1);
}
/* Subtle diagonal stripes over the red fill */
.progress .bar::before{
  content:""; position:absolute; inset:0;
  /* Crisp diagonal bands using non-repeating gradient with fixed tile size */
  background-image: linear-gradient(135deg,
    rgba(255,255,255,.18) 25%,
    rgba(255,255,255,0) 25%,
    rgba(255,255,255,0) 50%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.18) 75%,
    rgba(255,255,255,0) 75%,
    rgba(255,255,255,0) 100%);
  background-size: 28px 28px;
  animation: rt-stripes 1.25s linear infinite;
}
@keyframes rt-stripes{ 100% { background-position: 28px 0; } }
/* Centered text on a translucent pill to keep contrast on any background */
.progress .progress-info{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  pointer-events:none; user-select:none;
  background: rgba(255,255,255,.85);
  color:#1f2937; font-size:14px; font-weight:700; text-align:center;
  border-radius: 12px; padding:8px 12px; white-space:nowrap;
}
.progress .progress-info strong{ font-weight:800; }
/* Sort row moved under the loader, aligned to the right */
.sort-row{display:flex;align-items:center;gap:8px;margin:8px 0 6px;justify-content:flex-end}
.sort-row label{font-size:12px;color:#64748b}
/* Improve chevron spacing for sort select */
#sortSelect{
  border:1px solid #e5e7eb;border-radius: 12px;
  padding:6px 28px 6px 10px; /* extra right padding for chevron spacing */
  background:#fff;color:#111827;font-size:13px;
  -webkit-appearance:none;appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:14px 14px;
}
@media (max-width: 880px){
  /* Hide default sort controls on mobile – replaced by compact toolbar */
  .sort-row{display:none}
  /* In mobile we keep the label centered within the bar */
  .results-grid{grid-template-columns:1fr}
  .tour-item{grid-template-columns:1fr}
  .tour-thumb{aspect-ratio:16/9}
    .price-side {
      justify-content: flex-start;
      align-items: flex-start;
      border-left: none;
      border-top: 1px solid #e5e7eb;
      padding-left: 0;
      margin-top: 8px;
      padding-top: 12px;
      align-self: auto
    }
}
/* image skeleton placeholder */
.skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%);background-size:400% 100%;animation:skeleton-loading 1.1s ease-in-out infinite;z-index:1}
.tour-thumb img{position:relative;z-index:0}
@keyframes skeleton-loading{0%{background-position:100% 0}100%{background-position:-100% 0}}
/* fallback cover when no image */
.thumb-fallback{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#f1f5f9; color:#64748b; z-index:2; }
.thumb-fallback .tf-inner{ display:flex; flex-direction:column; align-items:center; gap:6px; font-weight:500; font-size:16px; }
.thumb-fallback svg{ color:#94a3b8; }
/* grouping & expand styles */
.hotel-group{display:flex;flex-direction:column;gap:8px}
/* Minimal offers list (superseded by redesigned styles below) */

/* Redesigned offer card layout inspired by screenshot 2 */
.offer-main-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Badge styling */
.offer-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #06b6d4;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 16px;
  width: fit-content;
}

.offer-badge i {
  font-size: 14px;
}

/* Room title - bold heading */
.offer-room-title {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin-top: 4px;
}

/* Info lines (date, meal, operators) */
.offer-info-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #64748b;
  line-height: 1.4;
}

.offer-info-line i {
  font-size: 14px;
  color: #94a3b8;
  flex-shrink: 0;
}

.offer-date-line {
  font-size: 14px;
  font-weight: 400;
  color: #64748b;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.offer-date-line i {
  color: #94a3b8;
}

.offer-details-line {
  display: flex;
  flex-direction: column; /* each detail on its own line */
  align-items: flex-start;
  gap: 6px;
  font-size: 13px;
  color: #64748b;
}

.offer-details-line .detail-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.offer-details-line .detail-item.room-type {
  white-space: normal;
  word-wrap: break-word;
  margin-right: 32px;
}

.offer-details-line i {
  font-size: 14px;
  color: #94a3b8;
  width: 14px;
  text-align: center;
}

.op-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 3px;
  background: #f1f5f9;
  border: 1px solid #e5e7eb;
  margin-right: 6px;
}

/* Price styling - minimalistic design */
.offer-price-col {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
  border-left: none !important; /* no divider */
  padding-left: 0 !important;
}

/* Place CTA below the price stack at the right side */
.offer-row .offer-action {
  grid-column: 3; /* button in rightmost column */
  grid-row: 1 / span 2;
  justify-self: end;
  align-self: center;
  border-left: none; /* ensure no separator */
  padding-left: 0;
  margin-top: 0;
}

.offer-price-operator {
  font-size: 12px;
  color: #94a3b8;
  text-decoration: line-through;
  font-weight: 400;
}

.offer-price-our {
  font-size: 20px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1;
}

.offer-savings-text {
  font-size: 12px;
  color: #0F766E;
  font-weight: 600;
  margin-top: 4px;
  background: #E8FAF1;
  padding: 6px 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.offer-btn {
  background: var(--rt-red);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 14px; /* match show-prices-btn */
  border-radius: 12px; /* match show-prices-btn */
  margin-left: 20px;
  color: #fff;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.offer-btn:hover {
  background: var(--rt-red);
  filter: none
}
@media (max-width: 720px){
  .offer-row{grid-template-columns:1fr;gap:8px}
  .offer-action{display:flex;gap:10px;align-items:center;justify-self:flex-start}
}
.group-header{cursor:pointer}

/* --- Redesign Styles --- */

/* General Card Style */
.tour-item,
.hotel-expand {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  transition: box-shadow .2s ease;
}
.tour-item:hover {
  transform: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.tour-item {
  display: grid;
  padding: 16px;
  gap: 20px;
  grid-template-columns: 280px 1fr auto; /* slightly wider image to grow card height */
  align-items: flex-start;
  background: #fff; /* keep card surface pure white regardless of page background */
}
.tour-thumb {
  border-radius: 12px;
  aspect-ratio: 4/3;
  align-self: flex-start;
}

/* Main Card Content */
.tour-content {
  align-self: flex-start; /* Align content to top to avoid extra gaps */
}
.tour-item .title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.tour-item .title .muted {
  color: #f59e0b; /* Yellow for stars */
  font-weight: 700;
  font-size: 16px;
}
.tour-location {
  font-size: 14px;
  color: #49546A;
  font-weight: 400;
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.loc-badges{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  flex-wrap:wrap;
}
/* Береговая линия и другие плашки */
.loc-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid #e2e8f0;
  font-size:12px;
  font-weight:500;
  line-height:1;
  color:#334155;
  background:#f8fafc;
}
.loc-badge i{ color:inherit; font-size:14px; }
.loc-badge svg{ width:14px; height:14px; color:inherit; }
/* Shoreline variants */
.loc-badge.shore-1{ background:#ecfdf5; color:#047857; border-color:#a7f3d0; }
.loc-badge.shore-2{ background:#f0fdfa; color:#0f766e; border-color:#99f6e4; }
.loc-badge.shore-3{ background:#f7fee7; color:#4d7c0f; border-color:#d9f99d; }
/* Distance variants */
.loc-badge.dist{ background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.loc-badge.dist.centre{ background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }
.tour-rating {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  background-color: rgba(255, 255, 255, 0.6);
  color: #1e293b;
  padding: 5px 9px;
  border-radius: 12px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.tour-rating i {
  color: #334155; /* slate-700 */
  font-size: 16px;
}
.details-row {
  font-size: 13px;
  color: #475569;
  margin-top: 12px;
  gap: 6px;
}
.meta { display: none; } /* Hide redundant date */
.tags { margin-top: 12px; }

/* Main Card Price */
.price-side {
  min-width: 180px;
  padding: 0;
  border-left: none;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* right align content */
  justify-content: space-between; /* fill column height */
  align-self: stretch; /* full grid cell height */
}
.price-side .price-stack{ align-items:flex-end; margin-top:0; }
/* Right-align vertical stack by default on desktop */
.price-side .price-stack .price-line{ width:100%; align-items:flex-end; }
.price-op{
  font-size: 13px;
  color: #94a3b8; /* slate-400 */
  /* text-decoration: line-through; */
  margin-bottom: 4px;
}
.price-chip {
  background: none;
  color: #1e293b;
  font-size: 22px;
  font-weight: 700;
  padding: 0;
  line-height: 1;
}
.price-chip.primary{
  background: var(--rt-red);
  color: #fff;
  padding: 12px 20px;
  border-radius: 12px;
  cursor: pointer;
  transition: background-color .2s;
}
.price-chip.primary:hover{ background:var(--rt-red); }
.price-side .muted {
  font-size: 13px;
  color: #64748b;
  margin-top: 6px;
  margin-left: 0 !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
/* Desktop: original small pill button */
.show-prices-btn {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 0px solid rgba(var(--rt-red-rgb), .3);
  background: rgba(var(--rt-red-rgb), .08);
  color: var(--rt-red-dark);
  cursor: pointer;
  font-weight: 600;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .1s ease;
}
.show-prices-btn i { color: inherit; }
.show-prices-btn:hover {
  background: var(--rt-red);
  border-color: var(--rt-red);
  color: #fff;
  box-shadow: 0 6px 14px rgba(var(--rt-red-rgb), 0.25);
  transform: translateY(-1px);
}
.show-prices-btn.open { background:var(--rt-red); border-color:var(--rt-red); color:#fff; }

/* CTA row spans the whole card, only on mobile */
.tour-item .card-cta-row{ display:none; }

/* Footer row alignment: place operator price on the same baseline as CTA and center count text */
.card-footer-controls{display:flex;align-items:center;gap:12px;margin-top:12px;justify-content:flex-end;align-self:flex-end}
.card-footer-controls .price-op-inline {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-right: 8px
}
.card-footer-controls .muted{display:inline-flex;align-items:center}
/* Force full-width CTA layout when placed inside .card-cta-row (mobile only rules below) */
.details-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* Align items to the left */
  font-size: 13px;
  color: #475569;
  margin-top: 12px;
  gap: 8px;
}
.details-row > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.details-row .dot::before {
  display: none; /* No more dots needed */
}
.details-row i {
  font-size: 18px;
  color: #94a3b8;
  width: 20px;
  text-align: center;
}

/* "Other Tours" Section */
.hotel-group {
  gap: 12px; /* Space between main card and other offers */
}
.hotel-expand {
  border: 1px solid #e2e8f0;
  padding: 8px;
  background: #f8fafc;
  border-radius: 12px;
}
.hotel-expand .expand-title {
  font-size: 15px;
  font-weight: 600;
  color: #334155;
  padding: 8px 12px;
  margin-bottom: 4px;
}

/* "Other Tours" List */
.offer-list {
  border: none;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.offer-loadmore{
  margin-top: 8px;
  display:flex;
  justify-content:center;
}
.offer-loadmore-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  min-width:220px;
  border-radius:12px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#111827;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(2,6,23,.06);
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .1s ease;
}
.offer-loadmore-btn:hover{
  background:#f8fafc;
  box-shadow:0 6px 14px rgba(2,6,23,.10);
}
.offer-loadmore-btn:active{ transform: translateY(1px); }
@media (max-width:720px){
  .offer-loadmore-btn{ width:100%; }
}
.offer-row {
  display: grid;
  grid-template-columns: 2fr 1fr auto; /* info | price | CTA */
  padding: 16px 16px 16px 16px;
  background: #fff;
  border-radius: 12px;
  transition: background-color .2s;
  border: 1px solid #e2e8f0;
}
.offer-row:hover {
  background: #f8fafc;
}
/* generic vertical separator utility */
.sep { border-left: 1px solid #e5e7eb; padding-left: 20px; }
.offer-dates {
  font-size: 15px;
  font-weight: 500;
}
.offer-details .line {
  font-size: 13px;
}
.op-logo {
  display: none; /* Hide for minimalism */
}
.offer-price {
  font-size: 16px;
  font-weight: 600;
  text-align: right;
}
.offer-subprice {
  font-size: 11px;
  color: #16a34a; /* Green for discount */
  text-align: right;
}

/* Legacy only-child styling replaced by .price-chip.primary */

/* --- Flatpickr Calendar — RedTours Skin (to match screenshot 1) --- */
/* Ensure our overrides load after upstream css */
.flatpickr-calendar {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px !important; /* match project rounding (slightly larger) */
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  padding: 12px; /* internal padding from edges */
  margin-top: 8px; /* расстояние между input и календарем */
  box-sizing: content-box !important;
  padding: 8px !important;  /* слева/справа/снизу */
  overflow: visible !important;
}

.flatpickr-months,
.flatpickr-weekdays,
.flatpickr-days,
.dayContainer {
  background: #fff;
}

/* Space between month title and weekdays */
.flatpickr-months { margin-bottom: 8px; }
.flatpickr-weekdays { margin-bottom: 10px; }

/* Compact, rounded square days with spacing */
.flatpickr-day {
  border-radius: 12px;
  margin: 3px;
  border: 1px solid transparent;
}

/* Friendlier month header (милый стиль) */
.flatpickr-months .flatpickr-month {
  height: auto;
  position: relative; /* prepare for top offset */
  padding-top: 8px; /* space from top edge (slightly reduced) */
}
.flatpickr-current-month {
  top: 6px !important; /* slightly higher to align with arrow */
  margin-top: 0; /* reset to avoid layout glitches */
  font-size: 18px; /* slightly smaller for balance */
  font-weight: 800; /* heavy weight */
  color: #111827; /* slate-900 */
  line-height: 1.25;
  letter-spacing: 0; /* avoid visual squish */
}
.flatpickr-current-month .cur-month {
  font-weight: 800;
  margin-right: 8px; /* gap between month and year */
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper {
  display: inline-block;
  vertical-align: baseline;
}
.flatpickr-current-month .numInputWrapper input.cur-year {
  font-weight: 800;
  color: #111827;
  border: none;
  background: transparent;
  width: auto;
  padding: 0 2px;
}
.flatpickr-current-month .numInputWrapper span.arrowUp,
.flatpickr-current-month .numInputWrapper span.arrowDown { display: none; }

/* Today — white with red outline */
.flatpickr-day.today {
  background: #fff;
  border-color: var(--rt-red);
  color: inherit;
}

/* Hover */
.flatpickr-calendar .flatpickr-day:hover,
.flatpickr-calendar .flatpickr-day.prevMonthDay:hover,
.flatpickr-calendar .flatpickr-day.nextMonthDay:hover {
  background: rgba(var(--rt-red-rgb), .10) !important;
  border-color: rgba(var(--rt-red-rgb), .10) !important;
}

/* Selected range endpoints */
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange {
  background: var(--rt-red) !important; /* accent */
  border-color: var(--rt-red) !important;
  color: #fff !important;
  border-radius: 12px; /* avoid pill-circle ends */
  box-shadow: none !important;
}

/* Keep red on interaction states */
.flatpickr-calendar .flatpickr-day.selected:hover,
.flatpickr-calendar .flatpickr-day.startRange:hover,
.flatpickr-calendar .flatpickr-day.endRange:hover,
.flatpickr-calendar .flatpickr-day.selected:focus,
.flatpickr-calendar .flatpickr-day.startRange:focus,
.flatpickr-calendar .flatpickr-day.endRange:focus {
  background: var(--rt-red) !important;
  border-color: var(--rt-red) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Today + selected must remain red, not outlined */
.flatpickr-calendar .flatpickr-day.today.selected,
.flatpickr-calendar .flatpickr-day.today.startRange,
.flatpickr-calendar .flatpickr-day.today.endRange {
  background: var(--rt-red) !important;
  border-color: var(--rt-red) !important;
  color: #fff !important;
}

/* Middle of range — soft red, remove default pill bars */
.flatpickr-calendar .flatpickr-day.inRange {
  background: rgba(var(--rt-red-rgb), .16) !important;
  border-color: rgba(var(--rt-red-rgb), .16) !important;
  color: inherit !important;
  box-shadow: none !important; /* remove long pill effect */
}

/* Keep each day as a rounded square even inside range */
.flatpickr-day.inRange:not(.startRange):not(.endRange) {
  border-radius: 12px;
}

/* Remove any row-like stripes from certain themes */
.flatpickr-weekwrapper,
.flatpickr-weekdays .flatpickr-weekdaycontainer,
.flatpickr-days .dayContainer {
  background: #fff !important;
}

/* Navigation arrows — black */
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  fill: #111827 !important;
}

/* Nudge arrows slightly lower for baseline alignment */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  transform: translateY(14px);
}

/* --- Mobile responsive enhancements (layout, filters, controls) --- */
/* Toggle row for filters on small screens */
.filters-toggle-row { display: none; margin: 8px 0 12px; }
.filters-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #111827;
  font-weight: 600;
  cursor: pointer;
}
.filters-toggle i { color: #64748b; }

@media (max-width: 880px){
  body{ padding:16px; }
  .container{ max-width:100%; }
  .results{ padding:0; border:none; background:transparent; }
  /* Show widget initially on mobile; it will be hidden after first search via class */
  #widget{ display:block; }
  #widget.rt-hidden-mobile{ display:none !important; }
  .price-main{ font-size:24px; }
  /* Hide legacy filters toggle row; use toolbar filter icon instead */
  .filters-toggle-row{ display:none !important; }
  .filters{ display:none; }
  .filters.is-open{ display:block; }
}

/* Force-desktop overrides: when the module is embedded in a narrow column but parent is desktop */
[data-rt-force-desktop="1"] .rt-mobile-toolbar{ display:none !important; }
[data-rt-force-desktop="1"] .rt-sheet{ display:none !important; }
[data-rt-force-desktop="1"] #widget{ display:block !important; }
[data-rt-force-desktop="1"] #widget.rt-hidden-mobile{ display:block !important; }
[data-rt-force-desktop="1"] .results-grid{ grid-template-columns:320px 1fr !important; }
[data-rt-force-desktop="1"] .sort-row{ display:flex !important; }
[data-rt-force-desktop="1"] .filters{ display:block !important; }
[data-rt-force-desktop="1"] .filters-toggle-row{ display:none !important; }
/* Keep desktop bar structure even in a narrow iframe */
[data-rt-force-desktop="1"] .redtours-bar{ grid-template-columns:repeat(5, minmax(160px, 1fr)) auto !important; }
[data-rt-force-desktop="1"] .redtours-subgrid{ grid-template-columns:repeat(4, minmax(160px, 1fr)) !important; }
[data-rt-force-desktop="1"] .redtours-button{ grid-column:auto !important; width:auto !important; justify-self:end !important; }

@media (max-width: 720px){
  /* Make CTA buttons full-width in offers list */
  .offer-btn{ width:100%; }
  .offer-action{ width:100%; justify-content:stretch; }
}

@media (max-width: 720px){
  body{ padding:12px; }
  .price-main{ font-size:22px; }
  .show-prices-btn{ width:100%; justify-content:center; }
  /* Ensure calendar and popovers fit viewport/field width on mobile */
  .flatpickr-calendar {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    /* центр */
    width: auto !important;
    /* ширина по контенту (1 месяц) */
    max-width: calc(100vw - 24px) !important;
    /* влезаем в экран с полями */
    box-sizing: border-box !important;
  }
  .redtours-popover{ min-width:100% !important; width:100% !important; left:0 !important; right:0 !important; box-sizing:border-box !important; }
  /* Hide 2nd filter row (Курорты, Отели, Звездность, Питание) under the search bar on mobile */
  .redtours-wrapper .redtours-collapsible{ display:none !important; }
  /* Hint text inside mobile calendar (toggled via JS when one date is picked) */
  .rt-mobile-hint{ display:none; align-items:center; gap:6px; font-size:12px; color:#64748b; margin-top:8px; }
  .rt-mobile-hint i{ color:#94a3b8; }
}

/* Stronger mobile overrides placed at the end to win the cascade over redesign styles */
@media (max-width: 1024px){
  .results-grid{ grid-template-columns:1fr; }
  .tour-item{ display:flex !important; flex-direction:column !important; grid-template-columns:unset !important; gap:12px; }
  .tour-thumb{ aspect-ratio:16/9; }
  .price-side{
    border-left:none; padding-left:0; text-align:left;
    align-items:flex-start; align-self:auto; margin-top:8px; padding-top:12px;
    border-top:1px solid #e5e7eb;
    min-width:0; width:100%;
  }
  .tour-content{ width:100%; }
  .price-side .price-stack{ align-items:flex-start; }
  /* Make badge + main price in one row on mobile, centers perfectly */
  .price-line{ flex-direction:row; align-items:center; gap:10px; flex-wrap: nowrap; }
  .price-side .price-stack .price-line{ justify-content:flex-start; align-items:center; }
  /* Because card padding is removed on mobile, provide inner spacing for CTA */
  .tour-item .card-cta-row{ display:block; padding: 0 16px 16px 16px; width:100%; box-sizing:border-box; align-self:stretch; }
  /* Hide desktop footer controls to avoid duplicate CTA */
  .price-side .card-footer-controls{ display:none !important; }
  .tour-item .title{ word-break:break-word; }
  .tour-item > .tour-thumb,
  .tour-item > .tour-content,
  .tour-item > .price-side{ width:100%; }
  /* Offers list also stacks at this breakpoint to avoid truncation */
  .offer-row{ grid-template-columns:1fr !important; }
  .offer-price-col{ text-align:left; align-items:flex-start; }
  .offer-row .offer-action{ grid-column:1 !important; grid-row:auto !important; justify-self:stretch !important; width:100%; }
  /* Mobile red wide CTA */
  .tour-item .card-cta-row .show-prices-btn{
    display:flex; width:100% !important; max-width:100%; justify-content:center; text-align:center;
    padding:14px 16px; border-radius:12px; background:var(--rt-red); color:#fff; border:none;
    font-weight:700; font-size:16px; box-shadow:none;
  }
  .tour-item .card-cta-row .show-prices-btn:hover{ background:var(--rt-red); }
}

/* Sidebar Apply button (Применить) */
.filters-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--rt-red);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background .2s ease, transform .1s ease;
  margin-top: 6px;
  width: 100%;
  justify-content: center;
}
.filters-apply-btn:hover{ background:var(--rt-red); filter:none; }
.filters-apply-btn:active{ transform:translateY(1px); }

/* Sidebar Reset button (Сбросить) */
.filters-reset-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: #374151; /* slate-700 */
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .1s ease;
  width: 100%;
  justify-content: center;
  margin: 6px 0 4px; /* above Apply */
}
.filters-reset-btn:hover{ background:#f8fafc; border-color:#d1d5db; }
.filters-reset-btn:active{ transform:translateY(1px); }

/* Range sliders for Nights / Price */
.filters .range-wrap{ margin-top:12px; }
/* New compact boundary labels placed closer to the track */
.filters .range-bounds{ display:grid; grid-template-columns:1fr 1fr; gap:10px; align-items:center; margin-top:4px; font-size:13px; color:#6b7280; }
.filters .range-bounds .start{ text-align:left; }
.filters .range-bounds .end{ text-align:right; }

/* Hide default track and draw our own base + fill */
.filters input[type=range]{
  -webkit-appearance:none; appearance:none; height:19px; background:transparent; outline:none;
}
.filters input[type=range]::-webkit-slider-runnable-track{ height:0; background:transparent; }
.filters input[type=range]::-moz-range-track{ height:0; background:transparent; border:none; }

/* Knobs: white circle with red border (smaller 12px) */
.filters input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:14px; height:14px; border-radius:50%; background:#fff; cursor:pointer; border:2px solid var(--rt-red); margin-top:-7px; /* precise optical centering */
}
.filters input[type=range]::-moz-range-thumb{ width:14px; height:14px; border-radius:50%; background:#fff; cursor:pointer; border:2px solid var(--rt-red); }

/* Two-handle layout with custom track */
.filters .double-range{ position:relative; height:22px; }
/* Solid red line across the whole track, no side padding */
.filters .double-range .track{ position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); height:2px; background:var(--rt-red); border-radius:999px; }
/* We don't need a separate selected-fill for this style */
.filters .double-range .fill{ display:none; }
.filters .double-range input[type=range]{ position:absolute; inset:0; width:100%; pointer-events:none; }
.filters .double-range input[type=range]::-webkit-slider-thumb{ pointer-events:auto; }
.filters .double-range input[type=range]::-moz-range-thumb{ pointer-events:auto; }

@media (max-width: 720px){
  .offer-row{ grid-template-columns:1fr !important; gap:8px; padding:12px; }
  .offer-date-line{ white-space:normal; }
  .offer-price-col{ text-align:left; align-items:flex-start; min-width:0; }
  .offer-row .offer-action{ grid-column:1 !important; grid-row:auto !important; }
}

/* Pagination */
.pagination{
  display:flex;align-items:center;gap:12px;justify-content:center;margin:28px 0 8px;
}
.page-btn{border:1px solid #e5e7eb;background:#fff;color:#111827;border-radius:14px;padding:12px 16px;font-weight:700;cursor:pointer;min-width:48px;height:48px;font-size:15px}
.page-btn:hover{background:#f8fafc}
.page-btn.is-active{background:var(--rt-red);border-color:var(--rt-red);color:#fff;cursor:default}
.page-btn.is-disabled{opacity:.5;cursor:not-allowed}
.page-dots{color:#94a3b8;padding:0 4px}

@media (max-width:560px){
  .pagination{ gap:6px; }
  .page-btn{ padding:8px 10px; }
}
/* Disable interactions while loading next page / sorting */
.pagination.is-loading{ opacity:.6; pointer-events:none; }

/* Skeleton (shimmer) — base primitives */
.skel-content{ display:flex; flex-direction:column; gap:10px; }
/* Each skeleton box needs positioning and clipping for the shimmer layer */
.skel-box{ background:#e5e7eb; border-radius:12px; position:relative; overflow:hidden; }
.skel-line{ height:14px; background:#e5e7eb; border-radius: 12px; position:relative; overflow:hidden; }
.skel-w-70{ width:70%; }
.skel-w-60{ width:60%; }
.skel-w-40{ width:40%; }
.skel-w-90{ width:90%; }
.skel-line::after, .skel-box::after{
  content:""; position:absolute; inset:0; transform:translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  animation: skel-shimmer 1.1s infinite;
}
@keyframes skel-shimmer{ 100% { transform: translateX(100%); } }

/* Skeleton — Desktop layout */
@media (min-width: 1025px){
  .skel-card{ display:grid; grid-template-columns:280px 1fr auto; padding:16px; }
  .skel-thumb{ height:210px; }
  .skel-price{ min-width:210px; display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
}

/* Skeleton — Mobile layout */
@media (max-width: 1024px){
  .skel-card{ display:flex; flex-direction:column; padding:0; overflow:hidden; }
  .skel-card .skel-thumb{ width:100% !important; height:auto !important; aspect-ratio: 4 / 3 !important; margin:0 !important; border-radius:12px 12px 0 0; }
  .skel-card .skel-content{ padding:12px 16px 0 16px !important; }
  .skel-card .skel-price{ align-items:flex-start !important; width:100% !important; min-width:0 !important; border-top:none !important; padding:12px 16px 8px 16px !important; display:flex; flex-direction:column; gap:10px; }
}

@media (max-width: 560px){
  .price-main{ font-size:22px; }
}

/* Extra-strong stacking rules for small screens */
@media (max-width: 880px){
  .offer-row{ display:flex !important; flex-wrap:wrap !important; grid-template-columns:unset !important; gap:12px !important; }
  .offer-main-info{ width:100%; }
  .offer-price-col{ flex:1; min-width:0; align-items:flex-start !important; text-align:left !important; }
  .offer-row .offer-action{ flex:0 0 auto; align-self:flex-end; width:auto !important; }
  .offer-btn{ white-space:nowrap; padding-left:24px; padding-right:24px; width:auto !important; }
  .offer-badge{ font-size:11px; padding:4px 10px; }
  .offer-room-title{ font-size:15px; }
}

/* Empty state for zero search results */
.empty-state{
  display:flex;
  align-items:center;
  gap:20px;
  border:1px solid #e5e7eb;
  background:#F8FAFC;
  border-radius: 12px;
  padding:24px;
  color:#334155;
}
.empty-state .illustration{ flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
.empty-state .text{ display:flex; flex-direction:column; gap:6px; }
.empty-state h3{ margin:0; font-size:18px; font-weight:800; color:#111827; }
.empty-state p{ margin:0; font-size:14px; color:#64748b; }
@media (max-width: 560px){
  .empty-state{ flex-direction:column; text-align:center; padding:18px; }
}

/* --- Mobile-only UX fixes --- */
/* 1) Prevent iOS auto-zoom on inputs by using >=16px font-size */
@media (max-width: 880px){
  /* All interactive fields in Search and Filters */
  input[type="text"],
  input[type="number"],
  input[type="tel"],
  input[type="email"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  select,
  textarea,
  .redtours-input,
  .redtours-display{
    font-size:16px !important;
  }
  /* Explicitly bump sidebar numeric inputs */
  .filters input[type="number"]{ font-size:16px !important; }
}

/* 2) Stretch hotel photos to card edges on mobile */
@media (max-width: 1024px){
  /* Remove inner padding so the image can be truly edge-to-edge */
  .tour-item{ padding:0 !important; overflow:hidden; }
  /* Make the image block fill the card width and stick to top corners */
  .tour-item > .tour-thumb{
    margin:0 !important;
    align-self:stretch !important;
    width:100% !important;
    aspect-ratio: 4 / 3 !important; /* slightly taller image */
    border-radius:12px 12px 0 0; /* match card rounding on top */
    background:transparent !important; /* avoid grey strip under image */
  }
  /* Kill overlay gradient on mobile to avoid visible edge line */
  .tour-item > .tour-thumb::after{ display:none !important; }
  /* Make image element truly flush and fill the container */
    .tour-item>.tour-thumb img, .rt-carousel .rtc-slide img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      display: block !important;
    }
  /* Restore padding for content blocks only */
  .tour-item > .tour-content,
  .tour-item > .price-side{
    padding:0px 16px 0px 16px;
  }
  /* Remove divider line under the image and add bottom padding */
  .tour-item > .price-side,
  .tour-item .price-side{
    border-top:none !important;
    padding-bottom:8px;
  }
}
