/* Italy VIP Tours – Mobile Scroll v1.1.2 */
.ivt-ms-wrap{position:relative;margin:8px 0 24px}
.elementor .elementor-widget-container{overflow:visible}
.ivt-ms-filters{display:flex;gap:8px;flex-wrap:nowrap;overflow:auto;padding:4px 4px 10px}
.ivt-ms-filters::-webkit-scrollbar{height:6px}
.ivt-ms-filter{background:#eee;border:none;border-radius:999px;padding:8px 12px;font-weight:700;color:#333;white-space:nowrap;cursor:pointer;text-transform:none}
.ivt-ms-filter.is-active{background:#19b66d;color:#fff}

.ivt-ms-track{display:flex !important;flex-direction:row !important;gap:14px;overflow-x:auto !important;overflow-y:hidden;scroll-snap-type:x mandatory;padding:6px 6px 12px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.ivt-ms-track::-webkit-scrollbar{height:8px}
.ivt-ms-track::-webkit-scrollbar-thumb{background:#cfcfcf;border-radius:8px}

/* Card with full-cover image */
.ivt-ms-card{flex:0 0 88%;max-width:88%;position:relative;border-radius:16px;overflow:hidden;color:#fff;scroll-snap-align:start;box-shadow:0 6px 20px rgba(0,0,0,.35);min-height:440px;background:transparent}
.ivt-ms-media-wrap{position:absolute;inset:0}
.ivt-ms-media{display:block;position:absolute;inset:0}
.ivt-ms-img{width:100%;height:100%;object-fit:cover;display:block}
/* gradient at bottom for readability */
.ivt-ms-media:after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:40%;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.7) 100%);
  pointer-events:none
}

.ivt-ms-badge{position:absolute;left:12px;top:12px;background:#27ae60;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;z-index:3}
.ivt-ms-info-btn{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:50%;border:none;background:#19b66d;color:#fff;font-weight:900;z-index:3;box-shadow:0 4px 10px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}
.ivt-ms-info-btn:focus{outline:2px solid #fff;outline-offset:2px}

.ivt-ms-body{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 16px}
.ivt-ms-title{margin:0 0 8px;font-size:18px;line-height:1.2}
.ivt-ms-title a{color:#fff !important;text-decoration:none}
.ivt-ms-time{font-size:13px;opacity:.95;margin-bottom:8px}
.ivt-ms-price{font-weight:800;margin:6px 0 12px}
.ivt-ms-btn{display:block;width:100%;text-align:center;background:#e50914;color:#fff;text-decoration:none;padding:12px 16px;border-radius:12px;font-weight:800;transition:transform .15s ease}
.ivt-ms-btn:active{transform:scale(.98)}

/* Info panel: half-card, not covering CTA */
.ivt-ms-desc-panel{position:absolute;left:0;right:0;bottom:74px;background:rgba(10,10,10,.96);color:#eee;padding:14px 44px 14px 14px;border-top-left-radius:14px;border-top-right-radius:14px;transform:translateY(110%);transition:transform .2s ease;z-index:4;max-height:45%;overflow:auto}
.ivt-ms-card.show-info .ivt-ms-desc-panel{transform:translateY(0)}
.ivt-ms-desc-content{font-size:14px;line-height:1.35}
.ivt-ms-close{position:absolute;right:10px;top:8px;width:32px;height:32px;border-radius:50%;border:none;background:#444;color:#fff;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center}

@media (min-width:992px){
  .ivt-ms-track.ivt-grid-desktop{display:grid !important;grid-template-columns:repeat(4,1fr);gap:18px;overflow:visible;padding:0}
  .ivt-ms-track.ivt-grid-desktop .ivt-ms-card{flex:unset;max-width:unset;scroll-snap-align:auto;min-height:420px}
}
@media (prefers-reduced-motion: reduce){
  .ivt-ms-track{scroll-behavior:auto}
}

/* Modal bottom sheet */
.ivt-ms-modal{position:fixed;inset:0;display:none;z-index:9999}
.ivt-ms-modal.is-open{display:block}
.ivt-ms-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.ivt-ms-modal__sheet{position:absolute;left:0;right:0;bottom:0;background:rgba(15,15,15,.98);color:#eee;border-top-left-radius:18px;border-top-right-radius:18px;max-height:60vh;min-height:40vh;box-shadow:0 -8px 28px rgba(0,0,0,.45);padding:16px 16px 18px;overflow:auto}
.ivt-ms-modal__close{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:none;background:#444;color:#fff;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ivt-ms-modal__content{font-size:15px;line-height:1.45;padding-right:26px}
/* Hide old in-card panel if any remains */
.ivt-ms-desc-panel{display:none !important}

/* v1.1.2 fixes */
.ivt-ms-body{background:transparent !important}
/* Modal can snap to card rect via CSS vars set by JS */
.ivt-ms-modal.is-open.use-card-rect .ivt-ms-modal__sheet{
  left: var(--ivt-left, 0) !important;
  right: auto !important;
  width: var(--ivt-width, auto) !important;
  max-height: var(--ivt-height, 60vh) !important;
  bottom: var(--ivt-bottom, 0) !important;
  border-radius: var(--ivt-radius, 18px) !important;
}
/* Backdrop slightly lighter */
.ivt-ms-modal__backdrop{background:rgba(0,0,0,.45)}

/* ensure no solid bar behind content */
.ivt-ms-card, .ivt-ms-body{background:transparent !important}

/* v1.1.2 – remove any grey bars, force full-cover image */
.ivt-ms-card,
.ivt-ms-card *,
.ivt-ms-body,
.ivt-ms-price{ background: transparent !important; }
/* ensure image stretches under entire card, including CTA area */
.ivt-ms-media-wrap{ position:absolute; inset:0 !important; }
.ivt-ms-media{ position:absolute; inset:0 !important; }
.ivt-ms-img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
/* single gradient from middle to bottom for readability */
.ivt-ms-card::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; top:45%;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 100%);
  pointer-events:none;
}
/* keep title/time/price readable over image */
.ivt-ms-title a, .ivt-ms-time, .ivt-ms-price{ color:#fff !important; }
/* ensure CTA sits over image with no container bg */
.ivt-ms-btn{ position:relative; z-index:2; }
/* remove any theme box backgrounds */
.ivt-ms-card .elementor-widget, .ivt-ms-card .woocommerce, .ivt-ms-card .price{ background:transparent !important; }
/* fix possible parent providing bg */
.ivt-ms-track, .ivt-ms-wrap{ background:transparent !important; }

/* v1.1.2 – text above overlay, bigger badge, red CTA, proper info button */
.ivt-ms-card{position:relative}
/* move gradient to ::after beneath content */
.ivt-ms-card::after{z-index:1}
/* put all UI on top */
.ivt-ms-body, .ivt-ms-title, .ivt-ms-time, .ivt-ms-price, .ivt-ms-btn{ position:relative; z-index:2; }
.ivt-ms-title a, .ivt-ms-time, .ivt-ms-price{ color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.35) }
/* CTA button solid red regardless of theme */
.ivt-ms-btn{ background:#e50914 !important; border:none !important; color:#fff !important; box-shadow:0 6px 18px rgba(229,9,20,.35); font-weight:800; }
/* Green info button — circular, centered "i" */
.ivt-ms-info-btn{ background:#19b66d !important; color:#fff !important; width:36px; height:36px; border-radius:999px; display:flex; align-items:center; justify-content:center; font-weight:900; box-shadow:0 6px 16px rgba(0,0,0,.35); z-index:3; }
/* Category badge larger with decoration */
.ivt-ms-badge{ background:#27ae60 !important; color:#fff !important; padding:8px 14px; font-size:13px; border-radius:999px; font-weight:800; letter-spacing:.2px; z-index:3; box-shadow:0 4px 14px rgba(0,0,0,.3); }
/* Make sure nothing paints a grey bar */
.ivt-ms-body, .ivt-ms-card, .ivt-ms-price{ background:transparent !important }

/* v1.1.3 – anchor content to bottom and show product title */
.ivt-ms-card{position:relative}
.ivt-ms-body{position:absolute !important; left:0; right:0; bottom:0 !important; padding:14px 16px 16px !important; display:flex; flex-direction:column; gap:6px; background:transparent !important; z-index:2}
.ivt-ms-title{display:block !important; margin:0 0 2px !important; font-size:18px !important; line-height:1.2 !important}
.ivt-ms-title a{color:#fff !important; text-decoration:none !important; text-shadow:0 1px 2px rgba(0,0,0,.35)}
.ivt-ms-time{order:2; color:#fff !important; opacity:.95}
.ivt-ms-price{order:3; color:#fff !important; font-weight:800}
.ivt-ms-btn{order:4; margin-top:8px !important; background:#e50914 !important; color:#fff !important; border:none !important; box-shadow:0 6px 18px rgba(229,9,20,.35)}
/* ensure overlay gradient stays behind */
.ivt-ms-card::after{z-index:1}
/* keep badge and info button on top corners */
.ivt-ms-badge, .ivt-ms-info-btn{position:absolute; z-index:3}

/* v1.1.5 – force content zone at bottom, restore title visibility */
.ivt-ms-card{ position:relative; --ivt-bottom-zone: 52%; }
.ivt-ms-media:after{ z-index:1; }
/* Bottom overlay zone */
.ivt-ms-body{
  position:absolute !important;
  left:0; right:0; bottom:0 !important;
  min-height: var(--ivt-bottom-zone);
  display:flex; flex-direction:column;
  justify-content:flex-end;
  padding:14px 16px 16px !important;
  gap:6px;
  background:transparent !important;
  z-index:2;
}
/* Ensure each line shows */
.ivt-ms-title{ display:block !important; margin:0 0 4px !important; font-size:20px !important; font-weight:800 !important; line-height:1.15 !important; }
.ivt-ms-title a{ color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.45); }
.ivt-ms-time{ color:#fff !important; opacity:.95; }
.ivt-ms-price{ color:#fff !important; font-weight:800; }
.ivt-ms-btn{ margin-top:8px !important; background:#e50914 !important; color:#fff !important; border:none !important; box-shadow:0 6px 18px rgba(229,9,20,.35); z-index:2; }
/* Never let parent backgrounds cover the text */
.ivt-ms-card, .ivt-ms-body, .ivt-ms-price{ background:transparent !important; }

/* v1.1.6 – hard anchor content to the bottom and ensure visibility */
.ivt-ms-card{position:relative}
.ivt-ms-media-wrap{position:absolute; inset:0 !important}
.ivt-ms-media{position:absolute; inset:0 !important}
.ivt-ms-img{width:100% !important; height:100% !important; object-fit:cover !important; display:block}
/* Gradient stays behind text */
.ivt-ms-card::after{z-index:1}
/* Bottom content area */
.ivt-ms-body{
  position:absolute !important;
  left:0; right:0; bottom:0 !important;
  display:flex; flex-direction:column; gap:6px;
  padding:14px 16px 16px !important;
  min-height:48%;
  justify-content:flex-end;
  background:transparent !important;
  z-index:2;
}
.ivt-ms-title{margin:0 0 4px !important; display:block !important}
.ivt-ms-title a{color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.45)}
.ivt-ms-time, .ivt-ms-price{color:#fff !important}
.ivt-ms-btn{margin-top:8px !important; background:#e50914 !important; color:#fff !important; border:none !important; box-shadow:0 6px 18px rgba(229,9,20,.35); z-index:2}
/* kill any background painters */
.ivt-ms-card, .ivt-ms-body, .ivt-ms-price{background:transparent !important}
