
:root{
  /* JainVoyagers palette defaults */
  --dc-ink:#08162e;
  --dc-navy:#0C4476;
  --dc-accent:#0C4476;
  --dc-mist:#f6f8fb;
  --dc-card:#ffffff;
  --dc-line:rgba(11,18,32,.12);
  --dc-shadow:0 18px 60px rgba(11,18,32,.12);
  --dc-radius:22px;
  --dc-radius2:16px;
  --dc-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.dc-wrap{font-family:var(--dc-font); color:var(--dc-ink); background:linear-gradient(180deg,#fff, var(--dc-mist));}
.dc-container{max-width:1200px; margin:0 auto; padding:26px 18px 60px;}
.dc-hero{
  border-radius:calc(var(--dc-radius) + 6px);
  overflow:hidden;
  position:relative;
  min-height:360px;
  background:#0b1220;
  box-shadow:var(--dc-shadow);
}
.dc-hero__bg{position:absolute; inset:0; background-size:cover; background-position:center; filter:saturate(1.05) contrast(1.05);}
.dc-hero__overlay{position:absolute; inset:0; background:
  radial-gradient(820px 380px at 18% 28%, rgba(12,68,118,.55), transparent 62%),
  radial-gradient(760px 360px at 84% 32%, rgba(8,22,46,.55), transparent 62%),
  linear-gradient(180deg, rgba(8,22,46,.25), rgba(8,22,46,.86));
}
.dc-hero__content{position:relative; z-index:2; padding:34px 28px; display:grid; grid-template-columns: 1.35fr .65fr; gap:18px; align-items:end;}
@media (max-width: 900px){ .dc-hero__content{grid-template-columns:1fr; align-items:start;} .dc-hero{min-height:420px;} }

.dc-badge{display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); color:#fff; padding:8px 10px; border-radius:999px; backdrop-filter: blur(10px);
}
.dc-title{margin:14px 0 10px; color:#fff; font-weight:900; font-size:34px; line-height:1.12;}
.dc-sub{color:rgba(255,255,255,.88); margin:0; max-width:56ch; font-size:15px; line-height:1.55;}

.dc-hero__card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.65);
  border-radius:var(--dc-radius);
  padding:16px;
  backdrop-filter: blur(10px);
}
.dc-price{font-size:28px; font-weight:900; color:var(--dc-ink); margin:0;}
.dc-price small{font-size:12px; font-weight:700; opacity:.75;}
.dc-kpis{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px;}
.dc-kpi{background:#fff; border:1px solid var(--dc-line); border-radius:14px; padding:10px;}
.dc-kpi b{display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; opacity:.72;}
.dc-kpi span{display:block; margin-top:4px; font-weight:800;}

.dc-actions{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap;}
.dc-btn{appearance:none; border:0; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 12px; border-radius:14px; font-weight:800; font-size:14px;
}
.dc-btn--primary{background:var(--dc-accent); color:#fff; box-shadow:0 14px 28px rgba(214,40,40,.25);}
.dc-btn--ghost{background:rgba(11,18,32,.06); color:var(--dc-ink); border:1px solid rgba(11,18,32,.12);}
.dc-btn:focus{outline:3px solid rgba(214,40,40,.35); outline-offset:2px;}

.dc-shell{margin-top:18px; display:grid; grid-template-columns: 1fr; gap:14px;}
.dc-tabs{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(11,18,32,.10);
  border-radius:var(--dc-radius);
  box-shadow:0 10px 30px rgba(11,18,32,.08);
  overflow:hidden;
}
.dc-tabbar{display:flex; gap:8px; padding:12px; border-bottom:1px solid rgba(11,18,32,.10); overflow:auto; scroll-snap-type:x mandatory;}
.dc-tab{
  scroll-snap-align:start;
  white-space:nowrap;
  border:1px solid rgba(11,18,32,.12);
  background:#fff;
  padding:10px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
}
.dc-tab[aria-selected="true"]{background:linear-gradient(90deg, rgba(214,40,40,.14), rgba(12,68,118,.14)); border-color:rgba(214,40,40,.35);}

.dc-panels{padding:18px;}
.dc-panel{display:block;}
.dc-panel[hidden]{display:none;}

.dc-grid2{display:grid; grid-template-columns: 1.15fr .85fr; gap:14px;}
@media (max-width: 980px){ .dc-grid2{grid-template-columns:1fr;} }

.dc-card{
  background:var(--dc-card);
  border:1px solid rgba(11,18,32,.10);
  border-radius:var(--dc-radius2);
  padding:16px;
}
.dc-card h3{margin:0 0 10px; font-size:16px;}
.dc-card p{margin:0 0 10px; line-height:1.6; color:rgba(11,18,32,.86);}
.dc-list{margin:0; padding-left:18px; color:rgba(11,18,32,.86);}
.dc-list li{margin:6px 0;}

.dc-table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:16px; border:1px solid rgba(11,18,32,.10);}
.dc-table th,.dc-table td{padding:10px 10px; border-bottom:1px solid rgba(11,18,32,.10); font-size:14px; text-align:left;}
.dc-table th{background:rgba(11,18,32,.04); font-size:12px; letter-spacing:.12em; text-transform:uppercase;}
.dc-table tr:last-child td{border-bottom:0;}

.dc-gallery{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
@media (max-width: 900px){ .dc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));} }
.dc-gimg{border-radius:16px; overflow:hidden; border:1px solid rgba(11,18,32,.10); background:#fff; aspect-ratio: 4 / 3;}
.dc-gimg img{width:100%; height:100%; object-fit:cover; display:block;}

.dc-map{height:360px; border-radius:18px; overflow:hidden; border:1px solid rgba(11,18,32,.10);}
.dc-note{padding:14px; background:#fff; border:1px dashed rgba(8,22,46,.22); border-radius:16px; color:rgba(8,22,46,.75);}

/* Toast */
.dc-toast{position:fixed; left:50%; bottom:22px; transform:translateX(-50%) translateY(16px);
  background:rgba(8,22,46,.92); color:#fff; padding:10px 14px; border-radius:999px;
  box-shadow:0 18px 54px rgba(8,22,46,.22); font-size:13px; letter-spacing:.01em;
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; z-index:999999;
}
.dc-toast.is-on{opacity:1; transform:translateX(-50%) translateY(0);}

/* --- Print lead modal (locks print until filled) --- */
.dc-leadmodal{position:fixed; inset:0; z-index:999998; display:flex; align-items:center; justify-content:center; padding:18px;}
.dc-leadmodal__backdrop{position:absolute; inset:0; background:rgba(8,22,46,.55); backdrop-filter:saturate(1.1) blur(2px);}
.dc-leadmodal__card{position:relative; width:min(560px, 96vw); background:#fff; border-radius:22px; border:1px solid rgba(11,18,32,.14); box-shadow:0 24px 70px rgba(8,22,46,.28); overflow:hidden;}
.dc-leadmodal__head{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:linear-gradient(90deg, rgba(12,68,118,.10), rgba(8,22,46,.02)); border-bottom:1px solid rgba(11,18,32,.10);}
.dc-leadmodal__title{font-weight:900; color:var(--dc-ink);}
.dc-leadmodal__x{appearance:none; border:0; background:transparent; cursor:pointer; font-size:26px; line-height:1; color:rgba(8,22,46,.65); padding:4px 8px; border-radius:12px;}
.dc-leadmodal__x:hover{background:rgba(11,18,32,.06);}
.dc-leadmodal__body{padding:14px 16px 6px;}
.dc-leadmodal__hint{margin:0 0 12px; color:rgba(8,22,46,.72); font-size:13px;}
.dc-leadmodal__lbl{display:block; font-weight:800; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:rgba(8,22,46,.7); margin:10px 0 6px;}
.dc-leadmodal__lbl span{color:var(--dc-accent); margin-left:4px;}
.dc-leadmodal__in{width:100%; padding:12px 12px; border-radius:14px; border:1px solid rgba(11,18,32,.18); background:#fff; font-size:14px;}
.dc-leadmodal__in:focus{outline:3px solid rgba(12,68,118,.25); outline-offset:2px; border-color:rgba(12,68,118,.45);}
.dc-leadmodal__err{margin:12px 0 0; padding:10px 12px; border-radius:14px; background:rgba(214,40,40,.08); border:1px solid rgba(214,40,40,.22); color:rgba(214,40,40,.85); font-weight:800;}
.dc-leadmodal__foot{display:flex; gap:10px; justify-content:flex-end; padding:12px 16px 16px; border-top:1px solid rgba(11,18,32,.08);}
.dc-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
@media (max-width: 980px){ .dc-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width: 620px){ .dc-grid{grid-template-columns:1fr;} }
.dc-card{transition:transform .15s ease, box-shadow .15s ease;}
.dc-card:hover{transform:translateY(-2px); box-shadow:0 16px 40px rgba(11,18,32,.10);}
.dc-card__img{height:160px; border-radius:18px; background-size:cover; background-position:center; border:1px solid rgba(11,18,32,.10);}
.dc-card__body{padding:12px 2px 0;}
.dc-card__title{font-weight:900; font-size:16px; margin:0 0 6px; color:var(--dc-ink);}
.dc-card__price{font-weight:900; color:var(--dc-accent);}
.dc-card__meta{opacity:.75; font-weight:700; font-size:13px; margin-top:6px;}


/* =========================
   Upgraded tour feed grid
========================= */
.dc-feed{display:grid; gap:22px; align-items:stretch; margin:8px 0;}
.dc-feed--cols-1{grid-template-columns:1fr;}
.dc-feed--cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.dc-feed--cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.dc-feed--cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1100px){.dc-feed--cols-4,.dc-feed--cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:720px){.dc-feed--cols-4,.dc-feed--cols-3,.dc-feed--cols-2{grid-template-columns:1fr;}}

.dc-feed-card{
  background:#fff;
  border:1px solid rgba(8,22,46,.10);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 54px rgba(8,22,46,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;
  flex-direction:column;
  height:100%;
}
.dc-feed-card:hover{transform:translateY(-4px); box-shadow:0 24px 64px rgba(8,22,46,.14); border-color:rgba(12,68,118,.20);}
.dc-feed-card__media{position:relative; display:block; aspect-ratio:16/10; background:linear-gradient(135deg,var(--dc-navy),var(--dc-ink)); overflow:hidden;}
.dc-feed-card__media img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.01);}
.dc-feed-card__overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,22,46,.02),rgba(8,22,46,.28)); z-index:1;}
.dc-feed-card__badge{position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.92); color:var(--dc-navy); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; box-shadow:0 10px 24px rgba(8,22,46,.12);}
.dc-feed-card__body{padding:18px; display:flex; flex-direction:column; gap:14px; flex:1; background:linear-gradient(180deg,#fff,#fbfdff);}
.dc-feed-card__topline{display:flex; flex-wrap:wrap; gap:8px;}
.dc-feed-card__chip{display:inline-flex; align-items:center; padding:7px 10px; border-radius:999px; background:rgba(12,68,118,.08); color:var(--dc-ink); border:1px solid rgba(12,68,118,.12); font-size:11px; font-weight:800; line-height:1;}
.dc-feed-card__title{margin:0; font-size:22px; line-height:1.2; color:var(--dc-ink);}
.dc-feed-card__title a{color:inherit; text-decoration:none;}
.dc-feed-card__title a:hover{color:var(--dc-navy);}
.dc-feed-card__excerpt{margin:0; color:rgba(8,22,46,.74); line-height:1.65; font-size:14px;}
.dc-feed-card__facts{display:grid; gap:10px;}
.dc-feed-card__facts>div{display:flex; justify-content:space-between; gap:14px; padding:10px 12px; border-radius:16px; background:var(--dc-mist); border:1px solid rgba(8,22,46,.08);}
.dc-feed-card__facts strong{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(8,22,46,.62);}
.dc-feed-card__facts span{text-align:right; font-size:13px; font-weight:800; color:var(--dc-ink);}
.dc-feed-card__foot{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto;}
.dc-feed-card__price{display:flex; flex-direction:column; gap:4px;}
.dc-feed-card__price span{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(8,22,46,.58); font-weight:800;}
.dc-feed-card__price strong{font-size:24px; line-height:1; color:var(--dc-navy);}
.dc-feed-card__cta{display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:14px; background:linear-gradient(135deg,var(--dc-navy),#0a3a64); color:#fff; text-decoration:none; font-weight:900; box-shadow:0 16px 28px rgba(12,68,118,.20); white-space:nowrap;}
.dc-feed-card__cta:hover{filter:brightness(1.04);}
@media (max-width:720px){
  .dc-feed-card__foot{flex-direction:column; align-items:stretch;}
  .dc-feed-card__cta{width:100%;}
}
