.marketing-preview { background:linear-gradient(150deg,#f1f7ff,#f8fafc 55%,#eef8f5); scroll-margin-top:90px; }
.marketing-preview [hidden] { display:none !important; }
.marketing-preview .guide-heading p:last-child { margin:20px 0 0; }
.mp-toolbar { display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:12px; padding:18px; border:1px solid #dbe6f2; border-radius:20px; background:#fff; box-shadow:var(--card-shadow); }
.mp-region,.mp-locked { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.mp-region label,.mp-label { font-weight:700; font-size:13px; color:var(--heading); }
.mp-region select { width:100%; min-height:48px; padding:10px; border:1px solid #b5cce5; border-radius:10px; font:inherit; font-size:16px; background:#fff; color:var(--heading); }
.mp-region>span:last-child { font-size:12px; }
.mp-locked { padding:14px; border:1px dashed #c9d6e4; border-radius:12px; background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 12px,#f2f5f9 12px,#f2f5f9 24px); color:#56697d; transition:transform .2s,border-color .2s; }
.mp-locked>span { font-size:12px; }
.mp-locked strong { font-size:13px; font-weight:500; }
.mp-locked small { align-self:flex-start; padding:3px 7px; border-radius:6px; background:#eee7fc; color:#6232a5; font-size:10px; font-weight:700; }
.mp-locked:hover { transform:translateY(-3px); border-color:var(--blue); }
.mp-calendar-note,.mp-small { font-size:13px; line-height:1.7; color:#536a80; }
.mp-calendar-note { margin:18px 0 30px; }
.mp-calendar-title { margin:30px 0 22px; font-size:clamp(24px,3vw,32px); }
.mp-holidays,.mp-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.mp-holiday,.mp-destination { overflow:hidden; border-radius:22px; border:1px solid #dce5ef; background:#fff; box-shadow:0 10px 30px #15315a08; }
.mp-holiday { transition:transform .2s,box-shadow .2s; }
.mp-holiday.is-selected { border-color:var(--blue); box-shadow:0 0 0 2px var(--blue),0 14px 35px #075adb12; }
.mp-holiday img { width:100%; height:155px; object-fit:cover; }
.mp-holiday-body { padding:22px; }
.mp-holiday h3 { font-size:21px; }
.mp-holiday p { margin:12px 0; font-size:14px; }
.mp-holiday .mp-period-dates { font-size:13px; font-weight:700; color:var(--blue); }
.mp-holiday button { margin-top:6px; padding:11px 16px; font-size:13px; }
.mp-results { margin-top:42px; padding-top:36px; border-top:1px solid #d1dfee; scroll-margin-top:90px; }
.mp-results-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.mp-results-heading h2 { font-size:clamp(24px,3vw,32px); }
.mp-results-heading p { margin:10px 0; }
.mp-live-label { display:inline-flex; align-items:center; gap:8px; border:1px solid #b5dccd; border-radius:99px; padding:7px 13px; color:#096143; background:#edfaf4; font-size:12px; font-weight:700; }
.mp-live-label::before { content:''; width:7px; height:7px; border-radius:50%; background:#159766; }
.mp-destination img { width:100%; height:175px; object-fit:cover; }
.mp-destination-body { padding:22px; display:flex; flex-direction:column; height:calc(100% - 175px); }
.mp-theme { color:#6232a5; font-size:11px; text-transform:uppercase; letter-spacing:1px; font-weight:700; margin:0 0 8px; }
.mp-destination h3 { font-size:24px; }
.mp-destination .mp-description { font-size:14px; margin:14px 0 22px; flex:1; }
.mp-fare { margin-top:auto; padding:18px 0; border-top:1px solid #e0e9f2; }
.mp-price { font-size:32px; line-height:1.2; color:var(--blue); font-weight:800; }
.mp-price span { display:block; margin-bottom:6px; font-size:12px; color:#536a80; font-weight:500; }
.mp-fare dl { display:grid; grid-template-columns:auto 1fr; gap:5px 10px; margin:18px 0 0; font-size:12px; }
.mp-fare dt { color:#536a80; }
.mp-fare dd { margin:0; color:var(--heading); font-weight:600; overflow-wrap:anywhere; }
.mp-no-fare { font-weight:600; color:#536a80; }
.mp-destination .btn { white-space:normal; text-align:center; justify-content:center; font-size:13px; padding:12px; }
.mp-small { margin:22px 0; }
.mp-upgrade { padding:28px; background:linear-gradient(115deg,#e7f0ff,#eee8fb); border-radius:18px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.mp-upgrade h3 { font-size:21px; }.mp-upgrade p { margin:10px 0 0; max-width:610px; font-size:14px; }
.marketing-preview :is(button,a,select):focus-visible { outline:3px solid #e29d18; outline-offset:4px; }
@media(max-width:1000px) { .mp-toolbar { grid-template-columns:repeat(4,minmax(0,1fr)); }.mp-region { grid-column:1/-1; }.mp-holidays,.mp-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .marketing-preview { padding:42px 0; }.mp-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; }.mp-holidays,.mp-destinations { grid-template-columns:1fr; }.mp-holiday img { height:165px; }.mp-upgrade { flex-direction:column; align-items:stretch; padding:22px; }.mp-upgrade .btn { justify-content:center; }.mp-locked { padding:10px; } }
@media(prefers-reduced-motion:no-preference) { .mp-holiday:hover { transform:translateY(-4px); }.mp-destination { animation:guide-enter .4s both; }.mp-destination:nth-child(2) { animation-delay:70ms; }.mp-destination:nth-child(3) { animation-delay:140ms; } }
@media(prefers-reduced-motion:reduce) { .mp-holiday,.mp-locked { transition:none; }.mp-locked:hover { transform:none; } }
