/* Atlas Destination — visual hierarchy, not a new itinerary or eligibility engine.
   Keep native lists, source disclosures, route IDs and official fee logic intact. */
body.departure-page{background:#f6f8fb;color:#16253d}
.departure-page .departure-container{width:min(1160px,calc(100% - 64px))}
.departure-page .departure-back{margin:22px 0 16px;color:#51627a!important;font-weight:600;transition:color .15s ease}
.departure-page .departure-back:hover{color:#14263d!important}
.departure-page .departure-hero{
  min-height:285px;border-radius:21px;
  background:#182b46;box-shadow:0 22px 58px #15253c1b;
}
.departure-page .departure-hero::after{
  background:linear-gradient(90deg,#0f1c31ed 0%,#152740cf 35%,#16294559 70%,#1529411e 100%),
             linear-gradient(0deg,#10203b60 0%,transparent 64%);
}
.departure-page .departure-hero-content{max-width:700px;padding:43px 47px 66px}
.departure-page .departure-hero .departure-eyebrow{font-size:11px;letter-spacing:.12em;color:#e8ca93;font-weight:700}
.departure-page .departure-hero h1{font-size:clamp(36px,4.1vw,52px);line-height:1.09;letter-spacing:-.042em;margin:12px 0 13px}
.departure-page .departure-hero p{max-width:430px;font-size:14px;line-height:1.6;color:#f0f3f9}
.departure-page .departure-hero-note{display:none}
.departure-page .departure-photo-credit{right:13px;bottom:12px;max-width:45%;font-size:9px}
.departure-page .departure-summary{
  width:calc(100% - 40px);margin:-30px auto 0;padding:11px;
  border:1px solid #e2e7ee;border-radius:18px;
  box-shadow:0 18px 44px #172b4418,0 1px 0 #fff inset;
  background:#fff;
}
.departure-page .departure-summary-field+.departure-summary-field{border-color:#e8ecf2}
.departure-page .departure-summary-field .departure-choice{
  border-radius:12px;min-height:72px;padding:12px 15px;
  transition:background .16s ease,box-shadow .16s ease;
}
.departure-page .departure-summary-field .departure-choice:hover{background:#f6f8fb}
.departure-page .departure-summary-copy>span{color:#6c7890;font-size:11px}
.departure-page .departure-summary-copy>strong{color:#142640;font-size:14px;line-height:1.38}
.departure-page .departure-layout{padding:30px 0 50px}
.departure-page .departure-result-heading{border:0;padding:0;margin:0 0 26px}
.departure-page .departure-result-heading h2{
  font-size:clamp(23px,2.5vw,30px);line-height:1.2;
  font-weight:750;letter-spacing:-.035em;margin:0 0 7px;color:#142640;
}
.departure-page .departure-result-heading p{font-size:13px;line-height:1.55;color:#62738a;max-width:720px}
.departure-page #departureResult .route-layout{grid-template-columns:minmax(0,1fr) 302px;gap:30px;align-items:start}
.departure-page #departureRouteDetails{min-width:0}
.departure-page #departureRouteDetails .route-overview{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;padding:0;margin:0 0 32px;border:0;
}
.departure-page #departureRouteDetails .route-overview>div,
.departure-page #departureRouteDetails .route-overview>div:nth-child(n+4){
  display:flex;flex-direction:column;justify-content:center;min-width:0;
  min-height:88px;padding:15px 12px 15px 55px;border:1px solid #e7ebf1;
  border-radius:14px;background:#fff;box-shadow:0 3px 10px #15294107;
}
.departure-page #departureRouteDetails .route-overview dt{font-size:11px;line-height:1.35;color:#63748a}
.departure-page #departureRouteDetails .route-overview dd{margin:4px 0 0;font-size:13px;line-height:1.42;font-weight:700;overflow-wrap:anywhere;color:#1c3450}
.departure-page #departureRouteDetails .route-overview dt>.route-icon{left:12px;top:calc(50% - 17px);width:34px;height:34px;border-radius:10px}
.departure-page #departureRouteDetails .route-overview dt>.route-icon svg{width:19px;height:19px}
.departure-page #departureRouteDetails .route-section+.route-section{margin-top:30px;padding-top:30px;border-color:#e5eaf1}
.departure-page #departureRouteDetails .route-section>h3{
  display:flex;align-items:center;gap:10px;margin:0 0 16px;
  font-size:20px;font-weight:750;line-height:1.3;letter-spacing:-.025em;color:#152940;
}
.departure-page #departureRouteDetails #route-documents>h3::before,
.departure-page #departureRouteDetails #route-conditions>h3::before{
  content:"";display:block;flex:none;width:5px;height:23px;
  border-radius:5px;background:#b58d4f;
}
.departure-page #departureRouteDetails #route-conditions>h3::before{background:#637d90}
.departure-page #departureRouteDetails .route-document-list{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.departure-page #departureRouteDetails .route-item{
  display:flex;min-width:0;padding:17px!important;border:1px solid #e5eaf1!important;
  border-radius:15px;background:#fff;box-shadow:0 5px 18px #172b4409;
}
.departure-page #departureRouteDetails .route-document-label{display:flex;align-items:flex-start;gap:12px;width:100%}
.departure-page #departureRouteDetails .route-document-label>span{min-width:0}
.departure-page #departureRouteDetails .route-document-label .route-icon{width:38px;height:38px;border-radius:12px}
.departure-page #departureRouteDetails .route-document-label .route-icon svg{width:21px;height:21px}
.departure-page #departureRouteDetails .route-document-label strong{font-size:13px;font-weight:750;line-height:1.45;color:#172d49}
.departure-page #departureRouteDetails .route-document-detail{font-size:12px;line-height:1.6;color:#65768b;margin-top:5px}
.departure-page #departureRouteDetails .route-requirement{font-size:11px;line-height:1.5;color:#8c6838}
.departure-page #departureRouteDetails .route-more-documents{
  margin:14px 0 0;border:1px solid #e6e2d9;border-radius:14px;
  background:linear-gradient(125deg,#fcfaf6 0%,#fff 100%);overflow:hidden;
}
.departure-page #departureRouteDetails .route-more-documents>summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  cursor:pointer;min-height:54px;padding:12px 17px;list-style:none;
  color:#6f532f;font-size:13px;font-weight:700;
}
.departure-page #departureRouteDetails .route-more-documents>summary::-webkit-details-marker{display:none}
.departure-page #departureRouteDetails .route-more-documents>summary::after{content:"+";font-size:22px;font-weight:400;line-height:1}
.departure-page #departureRouteDetails .route-more-documents[open]>summary::after{content:"−"}
.departure-page #departureRouteDetails .route-more-documents>summary:focus-visible{outline:3px solid #b38a48;outline-offset:-4px;border-radius:12px}
.departure-page #departureRouteDetails .route-more-documents .route-document-list{padding:0 12px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.departure-page #departureRouteDetails .route-condition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.departure-page #departureRouteDetails .route-condition-list>li{
  display:flex;gap:11px;align-items:flex-start;min-width:0;
  padding:14px!important;margin:0;border:1px solid #e8edf2!important;
  border-radius:13px;background:#fff;
}
.departure-page #departureRouteDetails .route-condition-list .route-icon{
  width:31px;height:31px;border-radius:10px;box-shadow:none;
}
.departure-page #departureRouteDetails .route-condition-list .route-icon svg{width:18px;height:18px}
.departure-page #departureRouteDetails .route-condition-copy>strong{font-size:12px;line-height:1.5;color:#233951}
.departure-page #departureRouteDetails .route-condition-copy>span:not(.route-references){font-size:12px;line-height:1.55;color:#62748a}
.departure-page #departureResult .route-offer{
  position:sticky;top:20px;min-width:0;overflow:hidden;padding:23px;
  border:1px solid #dfdfdc;border-top:3px solid #b18a4c;
  border-radius:17px;background:linear-gradient(165deg,#fff 55%,#faf8f3 100%);
  box-shadow:0 17px 42px #182b4711;
}
.departure-page #departureResult .route-offer>h3{margin:0 0 15px;font-size:16px;font-weight:750;letter-spacing:-.02em;color:#1e2e43}
.departure-page #departureResult .route-price-breakdown{border-radius:12px;background:#fff;margin-bottom:19px}
.departure-page #departureResult .route-price-row{gap:10px;padding:14px 12px}
.departure-page #departureResult .route-price-name{font-size:12px;font-weight:650;line-height:1.4;flex-shrink:1;min-width:0}
.departure-page #departureResult .route-price-name .route-icon{width:28px;height:28px}
.departure-page #departureResult .route-price-row>strong{font-size:16px;white-space:nowrap}
.departure-page #departureResult .route-price-row--atlas{background:#f9f4eb}
.departure-page #departureResult .route-offer>.departure-primary{font-size:14px;min-height:52px}
.departure-page #departureResult .route-action-note{
  margin:12px 0 0;font-size:11px;line-height:1.55;color:#607086;text-align:center;
}
.departure-page #departureResult .route-price-limit{margin:0 0 17px;color:#68768a;line-height:1.55}
.departure-page #departureRouteDetails .route-editorial-sources{
  margin-top:23px!important;padding:0!important;
  border:1px solid #e7ebef!important;border-radius:12px;background:#fff;
}
.departure-page #departureRouteDetails .route-editorial-sources>summary{
  display:flex;justify-content:space-between;align-items:center;
  gap:10px;min-height:50px;list-style:none;cursor:pointer;
  padding:12px 17px;color:#617287;font-size:12px;font-weight:650;
}
.departure-page #departureRouteDetails .route-editorial-sources>summary::-webkit-details-marker{display:none}
.departure-page #departureRouteDetails .route-editorial-sources>summary::after{content:"+";font-size:19px;color:#8f7855}
.departure-page #departureRouteDetails .route-editorial-sources[open]>summary::after{content:"−"}
.departure-page #departureRouteDetails .route-editorial-sources>summary:focus-visible{outline:3px solid #b38a48;outline-offset:-4px;border-radius:10px}
.departure-page #departureRouteDetails .route-editorial-sources>ul{padding:0 17px 17px!important;gap:10px!important}
.departure-page #departureRouteDetails .route-editorial-sources li{align-items:flex-start;gap:5px}
.departure-page #departureRouteDetails .route-editorial-sources li a{min-width:0;overflow-wrap:anywhere}
@media (max-width:1080px){
 .departure-page #departureResult .route-layout{grid-template-columns:minmax(0,1fr) 284px;gap:22px}
 .departure-page #departureRouteDetails .route-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .departure-page #departureRouteDetails .route-document-list,
 .departure-page #departureRouteDetails .route-more-documents .route-document-list,
 .departure-page #departureRouteDetails .route-condition-list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
 .departure-page .departure-container{width:calc(100% - 30px)}
 .departure-page .departure-back{margin:16px 0 13px}
 .departure-page .departure-hero{min-height:225px;border-radius:17px}
 .departure-page .departure-hero-content{padding:34px 24px 53px;max-width:490px}
 .departure-page .departure-hero h1{font-size:clamp(32px,8vw,42px)}
 .departure-page .departure-hero p{font-size:12px;max-width:310px}
 .departure-page .departure-hero .departure-eyebrow{font-size:10px}
 .departure-page .departure-photo-credit{right:10px;bottom:9px}
 .departure-page .departure-summary{width:calc(100% - 14px);margin:-23px auto 0;padding:6px;border-radius:15px}
 .departure-page .departure-summary-field .departure-choice{min-height:68px;padding:10px}
 .departure-page .departure-summary-copy>strong{font-size:13px}
 .departure-page .departure-layout{padding:27px 0 44px}
 .departure-page .departure-result-heading{margin-bottom:22px}
 .departure-page #departureResult .route-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .departure-page #departureRouteDetails .route-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:24px}
 .departure-page #departureRouteDetails .route-overview>div,
 .departure-page #departureRouteDetails .route-overview>div:nth-child(n+4),
 .departure-page #departureRouteDetails .route-overview>div:last-child:nth-child(odd){
   min-height:81px;padding:12px 11px 12px 48px;
 }
 .departure-page #departureRouteDetails .route-overview dt>.route-icon{left:9px;top:calc(50% - 15px);width:30px;height:30px}
 .departure-page #departureRouteDetails .route-overview dt>.route-icon svg{width:17px;height:17px}
 .departure-page #departureRouteDetails .route-overview dd{font-size:12px}
 .departure-page #departureRouteDetails .route-section+.route-section{margin-top:22px;padding-top:23px}
 .departure-page #departureRouteDetails .route-section>h3{font-size:19px;margin-bottom:14px}
 .departure-page #departureRouteDetails .route-document-list{gap:10px}
 .departure-page #departureRouteDetails .route-item{padding:15px!important}
 .departure-page #departureRouteDetails .route-document-detail{font-size:12px}
 .departure-page #departureRouteDetails .route-more-documents .route-document-list{grid-template-columns:minmax(0,1fr)}
 /* Read the documents and conditions before the single action and fee box. */
 .departure-page #departureResult .route-offer{grid-row:auto;position:static;padding:20px}
 .departure-page #departureResult .route-offer>.departure-primary{font-size:14px}
 .departure-page #departureRouteDetails .route-condition-list{grid-template-columns:minmax(0,1fr)}
 .departure-page #departureRouteDetails .route-editorial-sources{margin-top:22px!important}
}
@media (max-width:380px){
 .departure-page .departure-container{width:calc(100% - 24px)}
 .departure-page .departure-hero-content{padding:31px 19px 49px}
 .departure-page .departure-summary-copy>strong{font-size:12px}
 .departure-page #departureRouteDetails .route-overview>div{padding-left:43px}
 .departure-page #departureRouteDetails .route-overview dt>.route-icon{left:7px}
 .departure-page #departureResult .route-price-row>strong{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
 .departure-page .departure-back,
 .departure-page .departure-summary-field .departure-choice{transition:none}
}

/* The published country sheet is a concise checklist, not a dashboard of
   equally weighted cards. Keep the full evidence and the application view. */
.departure-page #departureRouteDetails .route-language-note{
  margin:0 0 16px;padding:10px 14px;border-left:3px solid #b58d4f;
  border-radius:0 9px 9px 0;background:#fffaf1;color:#5d503d;
  font-size:12px;line-height:1.55;
}
.departure-page #departureRouteDetails .route-overview[data-count="2"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.departure-page #departureRouteDetails[data-route-view="information"] #route-documents>.route-document-list{
  display:block;overflow:hidden;border:1px solid #e5eaf1;border-radius:15px;
  background:#fff;box-shadow:0 5px 18px #172b4406;
}
.departure-page #departureRouteDetails[data-route-view="information"] #route-documents>.route-document-list>.route-item{
  display:flex;align-items:flex-start;min-height:65px;padding:13px 16px!important;
  border:0!important;border-radius:0;background:transparent;box-shadow:none;
}
.departure-page #departureRouteDetails[data-route-view="information"] #route-documents>.route-document-list>.route-item+.route-item{
  border-top:1px solid #edf0f3!important;
}
.departure-page #departureRouteDetails[data-route-view="information"] #route-conditions .route-condition-list{
  grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden;
  border:1px solid #e5eaf1;border-radius:15px;background:#fff;
}
.departure-page #departureRouteDetails[data-route-view="information"] #route-conditions .route-condition-list>li{
  padding:15px 17px!important;border:0!important;border-radius:0;background:transparent;
}
.departure-page #departureRouteDetails[data-route-view="information"] #route-conditions .route-condition-list>li+li{
  border-top:1px solid #edf0f3!important;
}
.departure-page #departureResult .route-price-row[data-confirmed="false"]>strong{
  color:#785b2f;
}
@media(max-width:760px){
  .departure-page #departureRouteDetails .route-language-note{font-size:11px}
  .departure-page #departureRouteDetails[data-route-view="information"] #route-documents>.route-document-list>.route-item{
    padding:13px 14px!important;
  }
}
