/* ==========================================================================
   VeraJet — flight planner, aircraft guide, empty legs.
   Tokens (colours, rules, easing) come from main.css.
   ========================================================================== */

/* Planner ---------------------------------------------------------------- */
.planner{
  display:grid; grid-template-columns:minmax(260px, 0.8fr) 1.6fr;
  gap:clamp(40px, 5vw, 88px); align-items:start;
  margin-inline:var(--inset-x);
}
.planner > *{min-width:0;}
.planner-form{display:flex; flex-direction:column; gap:28px; position:relative;}
.planner-field{display:flex; flex-direction:column;}
.planner-field label{
  font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--ink-mute); margin-bottom:12px;
}
.planner-field select,
.planner-field input{
  font-family:inherit; font-size:1rem; font-weight:400; color:var(--ink);
  background:transparent; border:0; border-bottom:1px solid var(--rule); border-radius:0;
  padding:10px 28px 10px 0; width:100%; min-height:44px;
  -webkit-appearance:none; appearance:none;
  transition:border-color .35s var(--ease);
}
.planner-field select{
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-mute) 50%),
                   linear-gradient(135deg,var(--ink-mute) 50%,transparent 50%);
  background-position:calc(100% - 12px) 20px, calc(100% - 7px) 20px;
  background-size:5px 5px, 5px 5px; background-repeat:no-repeat;
  text-overflow:ellipsis;
}
.planner-field select:focus, .planner-field input:focus{border-bottom-color:var(--gold); outline:none;}
.planner-pax input{max-width:140px;}
.planner-swap{
  align-self:flex-start; margin:-10px 0 -10px -4px;
  width:40px; height:40px; display:grid; place-items:center;
  background:none; border:1px solid var(--rule); border-radius:50%;
  color:var(--gold-deep); cursor:pointer;
  transition:border-color .3s var(--ease), transform .5s var(--ease);
}
.planner-swap svg{width:20px; height:20px;}
.planner-swap:hover{border-color:var(--gold); transform:rotate(180deg);}

.planner-result{
  background:var(--paper); border:1px solid var(--rule-soft);
  padding:clamp(28px, 3.4vw, 48px);
}
#main > section.section:nth-of-type(even) .planner-result{background:var(--bone);}
.planner-route{display:flex; align-items:center; gap:18px;}
.planner-code{
  font-family:'Cormorant Garamond', Garamond, Georgia, serif;
  font-size:clamp(2.4rem, 5vw, 3.6rem); line-height:1; letter-spacing:0.04em; color:var(--ink);
}
.planner-line{
  flex:1; position:relative; height:40px; display:grid; place-items:center;
}
.planner-line::before{
  content:""; position:absolute; left:0; right:0; top:50%;
  border-top:1px dashed rgba(168,128,44,.55);
}
.planner-plane{position:relative; width:38px; height:38px; background:inherit; padding:0 6px;}
.planner-result .planner-plane{background:var(--paper);}
#main > section.section:nth-of-type(even) .planner-plane{background:var(--bone);}
.planner-distance{margin:14px 0 0; font-size:0.86rem; color:var(--ink-soft); letter-spacing:0.02em;}
.planner-hint{
  margin:14px 0 0; font-size:0.84rem; line-height:1.7; color:var(--ink-soft);
  border-left:2px solid var(--gold); padding-left:14px;
}
.planner.is-same .planner-table, .planner.is-same .planner-actions .btn{opacity:.35; pointer-events:none;}

.planner-table{width:100%; border-collapse:collapse; margin-top:30px; font-size:0.92rem;}
.planner-table th, .planner-table td{
  text-align:left; padding:15px 10px 15px 0; border-bottom:1px solid var(--rule);
  font-weight:400; vertical-align:middle;
}
.planner-table thead th{
  font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-mute);
  padding-top:0;
}
.planner-table tbody th{color:var(--ink); font-weight:500;}
.planner-table td{color:var(--ink-soft); white-space:nowrap;}
.planner-table td:last-child{padding-right:0;}
.planner-table tr.is-small th, .planner-table tr.is-small td{color:var(--ink-mute); opacity:.55;}
.planner-best{
  display:none; margin-left:10px; vertical-align:2px;
  font-size:0.56rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:500;
  color:var(--paper); background:var(--gold-deep); padding:4px 7px 3px;
}
.planner-table tr.is-best th{color:var(--gold-deep);}
.planner-table tr.is-best .planner-best{display:inline-block;}
.planner-table tr.is-best td{color:var(--ink);}

.planner-actions{margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px;}
.planner-small{flex:1 1 260px; margin:0; font-size:0.74rem; line-height:1.7; color:var(--ink-mute);}

/* Aircraft guide ----------------------------------------------------------- */
.fleet{
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-top:1px solid var(--rule); margin-inline:var(--inset-x);
}
.fleet-card{padding:40px 34px 44px; border-bottom:1px solid var(--rule); border-right:1px solid var(--rule);}
.fleet-card:nth-child(3n){border-right:0; padding-right:0;}
.fleet-card:nth-child(3n+1){padding-left:0;}
.fleet-art{display:block; width:100%; max-width:240px; height:auto; margin:0 0 26px;}
.fleet-card h3{font-size:1.45rem; line-height:1.2; font-weight:500; margin-bottom:12px;}
.fleet-card > p{color:var(--ink-soft); font-size:0.93rem; line-height:1.8; margin-bottom:22px;}
.fleet-facts{margin:0; display:grid; gap:10px;}
.fleet-facts div{display:flex; gap:14px; align-items:baseline; font-size:0.86rem;}
.fleet-facts dt{
  flex:0 0 92px; font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-mute);
}
.fleet-facts dd{margin:0; color:var(--ink);}

/* Empty legs --------------------------------------------------------------- */
.legs{display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(20px, 2.4vw, 34px); margin-inline:var(--inset-x);}
.leg{background:var(--paper); border:1px solid var(--rule-soft); padding:30px 30px 28px; display:flex; flex-direction:column; gap:10px;}
#main > section.section:nth-of-type(even) .leg{background:var(--bone);}
.leg-date{margin:0; font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep);}
.leg-route{font-size:1.5rem; line-height:1.25; font-weight:500; margin:0;}
.leg-arrow{color:var(--gold-deep);}
.leg-meta{margin:0; color:var(--ink-soft); font-size:0.9rem;}
.leg-note{margin:0; color:var(--ink-soft); font-size:0.86rem; line-height:1.7; flex:1;}
.leg .arrow-link{align-self:flex-start; margin-top:8px;}

/* Responsive --------------------------------------------------------------- */
@media (max-width:980px){
  .planner{grid-template-columns:1fr; margin-inline:0;}
  .fleet{grid-template-columns:repeat(2, 1fr); margin-inline:0;}
  .fleet-card, .fleet-card:nth-child(3n), .fleet-card:nth-child(3n+1){padding:36px 28px 40px; border-right:1px solid var(--rule);}
  .fleet-card:nth-child(2n){border-right:0; padding-right:0;}
  .fleet-card:nth-child(2n+1){padding-left:0;}
  .legs{grid-template-columns:1fr 1fr; margin-inline:0;}
}
@media (max-width:620px){
  .planner-result{padding:26px 20px;}
  .planner-table{font-size:0.84rem;}
  .planner-table th, .planner-table td{padding:13px 8px 13px 0;}
  .planner-table thead th:nth-child(2), .planner-table td:nth-child(2){display:none;}
  .planner-best{display:none !important;}
  .planner-table tr.is-best th::after{content:" ★"; color:var(--gold-deep);}
  .fleet{grid-template-columns:1fr;}
  .fleet-card, .fleet-card:nth-child(n){padding:32px 0 34px; border-right:0;}
  .legs{grid-template-columns:1fr;}
}
