/* preview.css — shared styling for all *-preview.html paywall pages.
   This is the approved Paris-preview look, extracted verbatim so every city
   preview renders identically. The hero background image is set per-file
   (inline style on .dxb-img-bg) by the build script. */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=DM+Sans:wght@300;400;500&display=swap');
:root{--ink:#1a1410;--parchment:#f7f3ec;--sand:#e8dfc8;--gold:#c8972a;--gold-light:#f0d88a;--gold-dark:#a67820;--teal:#1e6b6b;--muted:#7a6e62;--card-bg:#fffdf8;--border:rgba(200,151,42,0.25);--border-soft:rgba(0,0,0,0.09);--r-sm:8px;--r-lg:16px;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',-apple-system,sans-serif;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--parchment);color:var(--ink);-webkit-font-smoothing:antialiased;padding-bottom:200px;}
.dp-hero{position:relative;height:520px;background:#050d18;overflow:hidden;}
.dp-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,20,50,.15) 0%,rgba(10,40,80,.20) 40%,rgba(2,10,30,.68) 100%);z-index:2;}
.dxb-img-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.dp-hero-inner{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem 2rem 5rem;max-width:900px;margin:0 auto;width:100%;}
.dp-breadcrumb{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:.5rem;}
.dp-hero-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.2rem);color:#fff;line-height:1.1;margin-bottom:.4rem;}
.dp-hero-sub{font-size:14px;color:rgba(255,255,255,.75);margin-bottom:.9rem;line-height:1.5;}
.dp-hero-pills{display:flex;flex-wrap:wrap;gap:6px;}
.dp-hero-pill{font-size:11px;padding:3px 11px;border-radius:20px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.2);}
.dp-body{max-width:900px;margin:0 auto;padding:0 1.25rem 4rem;}
.dp-summary-bar{display:flex;align-items:center;background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);padding:1.25rem 1.75rem;margin:1.25rem 0;gap:0;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.dp-sum-item{flex:1;text-align:center;}.dp-sum-val{font-family:var(--font-display);font-size:1.35rem;color:var(--ink);line-height:1;}
.dp-sum-label{font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:.03em;}
.dp-sum-divider{width:1px;height:40px;background:var(--border);flex-shrink:0;}
.dp-rec-strip{display:flex;align-items:center;gap:10px;background:rgba(200,151,42,.08);border:1px solid rgba(200,151,42,.25);border-radius:var(--r-sm);padding:.6rem 1rem;margin-bottom:1rem;font-size:12.5px;color:var(--ink);}
.dp-rec-strip strong{color:var(--gold-dark);}
.dp-tabs{display:flex;gap:4px;background:var(--sand);border-radius:var(--r-sm);padding:4px;margin-bottom:1.25rem;}
.dp-tab{flex:1;font-family:var(--font-body);font-size:13px;font-weight:500;padding:9px 6px;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s;text-align:center;}
.dp-tab.active{background:var(--card-bg);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.1);}
.dp-tab-content{display:none;}.dp-tab-content.active{display:block;}
.dp-days{display:flex;flex-direction:column;gap:1.25rem;}
.dp-day{background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;}
.dp-day-header{display:flex;align-items:center;gap:12px;padding:1rem 1.4rem;user-select:none;background:linear-gradient(to right,rgba(200,151,42,.06),transparent);}
.dp-day-header.clickable{cursor:pointer;}
.dp-day-num{width:36px;height:36px;border-radius:50%;background:var(--gold);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dp-day-title{font-family:var(--font-display);font-size:1rem;color:var(--ink);flex:1;line-height:1.3;}
.dp-day-date{font-size:11.5px;color:var(--muted);margin-top:1px;}
.dp-chevron{font-size:15px;color:var(--muted);margin-left:4px;transition:transform .2s;}
.dp-chevron.open{transform:rotate(180deg);}
.dp-day-body{display:none;padding:0 1.25rem 1rem;}.dp-day-body.open{display:block;}
.dp-timeline{position:relative;padding-left:48px;}
.dp-timeline::before{content:'';position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--gold),var(--sand));border-radius:2px;}
.dp-tl-item{position:relative;padding:.75rem 0 .75rem 1rem;}
.dp-tl-node{position:absolute;left:-38px;top:12px;width:16px;height:16px;border-radius:50%;border:2px solid var(--gold);background:var(--card-bg);display:flex;align-items:center;justify-content:center;font-size:9px;z-index:1;}
.dp-tl-node.food{border-color:#e67e22;background:#fff8f0;}.dp-tl-node.transport{border-color:#2980b9;background:#f0f6ff;}
.dp-tl-node.culture{border-color:#8e44ad;background:#f9f0ff;}.dp-tl-node.adventure{border-color:#27ae60;background:#f0fff4;}
.dp-tl-time{font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.06em;margin-bottom:3px;}
.dp-tl-time.food-time{color:#e67e22;}
.dp-tl-name{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:3px;}
.dp-tl-desc{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:5px;}
.dp-tl-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;}
.dp-tl-price{font-size:12px;font-weight:600;color:var(--teal);background:rgba(30,107,107,.1);padding:2px 9px;border-radius:12px;}
.dp-tl-emoji{font-size:18px;margin-right:6px;vertical-align:middle;}
.dp-tl-city{font-size:11px;color:var(--muted);font-weight:400;margin-left:5px;}
.dp-tl-pass{font-size:11px;color:#1e6b2e;background:rgba(30,107,46,.1);padding:2px 8px;border-radius:12px;border:1px solid rgba(30,107,46,.2);}
.dp-tl-cat{font-size:11px;color:var(--muted);background:var(--parchment);padding:2px 7px;border-radius:10px;border:1px solid var(--border-soft);}
.dp-tl-duration{font-size:11px;color:var(--muted);background:var(--sand);padding:2px 7px;border-radius:10px;}
.dp-travel-connector{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:.4rem 0 .4rem 1rem;}
.dp-travel-route-label{font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;opacity:.75;}
.dp-travel-pill{display:inline-flex;align-items:center;gap:6px;background:var(--sand);border:1px dashed rgba(200,151,42,.45);border-radius:20px;padding:4px 13px;font-size:11px;color:var(--muted);}
.dp-cost-grid{display:flex;flex-direction:column;gap:1rem;}
.dp-cost-card{background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;}
.dp-cost-head{display:flex;align-items:center;gap:10px;padding:1rem 1.4rem;background:linear-gradient(to right,rgba(200,151,42,.06),transparent);border-bottom:1px solid var(--border);}
.dp-cost-head-icon{font-size:20px;}.dp-cost-head-title{font-family:var(--font-display);font-size:1rem;color:var(--ink);flex:1;}
.dp-cost-head-total{font-family:var(--font-display);font-size:1.1rem;color:var(--gold-dark);font-weight:600;}
.dp-cost-rows{padding:.75rem 1.4rem;filter:blur(4px);pointer-events:none;user-select:none;}
.dp-cost-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-soft);font-size:13px;}
.dp-cost-row:last-child{border-bottom:none;}.dp-cost-row-label{color:var(--muted);}.dp-cost-row-val{color:var(--ink);font-weight:500;}
.dp-grand-total{background:linear-gradient(135deg,#050d18,#0a2040);border-radius:var(--r-lg);padding:1.4rem 1.75rem;display:flex;justify-content:space-between;align-items:center;}
.dp-grand-label{font-size:13px;color:rgba(255,255,255,.7);}.dp-grand-title{font-family:var(--font-display);font-size:1rem;color:#fff;}
.dp-grand-amount{font-family:var(--font-display);font-size:1.8rem;color:var(--gold-light);}.dp-grand-sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px;text-align:right;}
.dp-tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.dp-tip-card{background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);padding:1.25rem;}
.dp-tip-icon{font-size:24px;margin-bottom:.6rem;}.dp-tip-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:.3rem;}
.dp-tip-text{font-size:12.5px;color:var(--muted);line-height:1.6;}
.dp-tip-text.locked{filter:blur(4px);pointer-events:none;user-select:none;}
.sw-section{margin-bottom:2rem;}
.sw-section-hdr{display:flex;align-items:center;gap:12px;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);}
.sw-section-hdr h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:#1a3a4a;}
.sw-section-hdr h3 em{font-style:italic;color:#2c5f7a;}
.sw-badge{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:3px 10px;border-radius:3px;}
.sw-badge.inc{background:#e6f2f8;color:#2c5f7a;border:1px solid #c0dde8;}
.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;}
.sw-card{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 16px rgba(28,58,74,.1);display:flex;flex-direction:column;}
.sw-banner{height:9px;background:linear-gradient(90deg,#c0392b,#e74c3c);}
.sw-body{padding:1.4rem 1.5rem 1.2rem;flex:1;display:flex;flex-direction:column;}
.sw-num{font-family:'Cormorant Garamond',serif;font-size:.85rem;font-style:italic;color:#c8a96e;margin-bottom:.3rem;}
.sw-title{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;color:#1a3a4a;line-height:1.15;margin-bottom:.5rem;}
.sw-detail-blur{filter:blur(4px);pointer-events:none;user-select:none;}
.sw-region{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#e74c3c;margin-bottom:.55rem;}
.sw-desc{font-family:'Barlow',sans-serif;font-size:.87rem;line-height:1.65;color:#5a7080;margin-bottom:1rem;}
.sw-price-block{background:#f5f9fb;border:1px solid #d0e5ee;border-radius:3px;padding:.85rem .95rem;}
.sw-price-label{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#2c5f7a;margin-bottom:.5rem;}
.sw-price-row{display:flex;justify-content:space-between;font-size:.84rem;padding:.22rem 0;border-bottom:1px solid #d0e5ee;}
.sw-price-row:last-child{border-bottom:none;}
.sw-price-type{color:#6a8896;}.sw-price-val{font-weight:600;color:#2c5f7a;}
.sw-tag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:#d0e5ee;color:#2c5f7a;padding:.2rem .6rem;border-radius:2px;margin-bottom:.7rem;}
.sw-dur{display:inline-flex;align-items:center;gap:.35rem;font-family:'Barlow Condensed',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.1em;color:#2c5f7a;background:#e6f2f8;border:1px solid #c0dde8;border-radius:999px;padding:.22rem .7rem;margin-bottom:.85rem;width:fit-content;}
.sw-dur svg{width:13px;height:13px;flex-shrink:0;}
.sw-card-footer{margin-top:auto;}
.sw-link{display:inline-flex;align-items:center;gap:.4rem;font-family:'Barlow Condensed',sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#2c5f7a;text-decoration:none;border-bottom:1px solid #d0e5ee;padding-bottom:2px;margin-top:.6rem;width:fit-content;}
.sw-link:hover{color:#c8a96e;border-color:#c8a96e;}.sw-link svg{width:11px;height:11px;}
.sw-day-badge{display:inline-flex;align-items:center;gap:5px;font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:#c8a96e;color:#fff;padding:3px 9px;border-radius:3px;margin-bottom:.6rem;}
.sw-durrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:.85rem;}
.sw-durrow .sw-dur{margin-bottom:0;}
.sw-hours{display:inline-flex;align-items:center;gap:.3rem;font-family:'Barlow Condensed',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.05em;color:#5b86a0;background:#f1f6f9;border:1px solid #d9e6ee;border-radius:999px;padding:.22rem .7rem;white-space:nowrap;}
.sw-numrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:.3rem;}
.sw-numrow .sw-num{margin-bottom:0;}
.sw-rec{flex:0 0 auto;display:block;height:25px;width:auto;}
.pv-day-locked{filter:blur(4px) brightness(.85);pointer-events:none;user-select:none;}
.pv-day-wrap{position:relative;}
.pv-lock-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;z-index:20;pointer-events:none;}
.pv-map-note{display:flex;align-items:center;gap:8px;background:rgba(200,151,42,.08);border:1px solid rgba(200,151,42,.25);border-radius:8px;padding:.7rem 1rem;margin-top:1rem;font-size:12.5px;color:var(--ink);}
#pv-banner{position:fixed;bottom:0;left:0;right:0;z-index:99999;background:linear-gradient(to top,rgba(6,6,14,1) 0%,rgba(6,6,14,.93) 55%,transparent 100%);padding:2.25rem 1.5rem 1.8rem;text-align:center;}
#pv-banner-inner{display:inline-flex;flex-direction:column;align-items:center;gap:.85rem;}
.pv-lock-icon{font-size:2rem;filter:drop-shadow(0 0 10px rgba(200,151,42,.55));}
.pv-headline{font-size:1.1rem;font-weight:700;color:#f5f0e8;letter-spacing:.01em;}
.pv-sub{font-size:12.5px;color:rgba(245,240,232,.5);}
.pv-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#c8972a,#e6b83a);color:#160e00;font-size:14px;font-weight:700;padding:12px 30px;border-radius:50px;border:none;cursor:pointer;box-shadow:0 4px 22px rgba(200,151,42,.5);text-decoration:none;transition:transform .14s,box-shadow .14s;}
.pv-btn:hover{transform:translateY(-2px);box-shadow:0 7px 30px rgba(200,151,42,.65);}
.pv-fine{font-size:11px;color:rgba(245,240,232,.35);}
/* Preview nav matches the index page: greeting + Contact only, no Save Itinerary */
#tpa-save-btn{display:none!important;}
@media(max-width:680px){.dp-tips-grid{grid-template-columns:1fr;}.dp-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;}.dp-tab{font-size:12px;padding:8px 4px;}.sw-grid{grid-template-columns:1fr;}.dp-body{padding-left:1rem;padding-right:1rem;}.dp-hero-inner{padding:1.5rem 1.25rem 3.5rem;}.dp-summary-bar{flex-wrap:wrap;padding:1rem;gap:.5rem 0;}.dp-sum-item{flex:1 1 40%;}.dp-sum-divider{display:none;}.dp-sum-val{font-size:1.15rem;}.dp-timeline{padding-left:34px;}.dp-day-header{padding:.85rem 1rem;gap:8px;}.dp-grand-total{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.2rem 1.25rem;}.dp-map-attr-cards{grid-template-columns:1fr 1fr;}}
