:root{
  --sal-white:#F3F5EC;
  --sand:#ECE1C8;
  --ochre:#C97A2B;
  --ochre-dark:#A6621E;
  --magenta:#A63D5C;
  --indigo:#1E3A5A;
  --indigo-dark:#132840;
  --cardon:#3F6B4A;
  --cardon-dark:#2C4D33;
  --ink:#2B2620;
  --line:rgba(43,38,32,0.14);
  --radius:14px;
  --shadow:0 10px 30px rgba(30,58,90,0.12);
  --display:'Big Shoulders Display',sans-serif;
  --body:'Manrope',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);background:var(--sal-white);color:var(--ink);-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--magenta);outline-offset:2px;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cardon-dark);display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--cardon);}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:0.95;letter-spacing:.01em;margin:0;}
h2{font-size:clamp(32px,4.5vw,52px);}
h3{font-size:22px;font-weight:700;}
p{line-height:1.6;}
.price{font-family:var(--mono);font-weight:600;}

.strata{display:flex;width:100%;height:10px;}
.strata span{flex:1;height:100%;}
.strata span:nth-child(1){background:var(--magenta);}
.strata span:nth-child(2){background:var(--ochre);}
.strata span:nth-child(3){background:#D9A441;}
.strata span:nth-child(4){background:var(--cardon);}
.strata span:nth-child(5){background:var(--indigo);}
.strata span:nth-child(6){background:#6B4A6B;}
.strata span:nth-child(7){background:var(--magenta);}

header.site{position:sticky;top:0;z-index:50;background:var(--indigo);color:var(--sal-white);}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo{font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:.02em;display:flex;align-items:baseline;gap:8px;color:#fff;text-decoration:none;}
.logo small{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;color:#D9A441;text-transform:uppercase;}
.logo-accent{color:#D9A441;}
nav.links{display:flex;gap:28px;align-items:center;}
nav.links a{font-size:14px;font-weight:600;text-decoration:none;color:#EAE3D2;opacity:.85;padding:6px 2px;border-bottom:2px solid transparent;}
nav.links a:hover{opacity:1;border-color:var(--ochre);}
.burger{display:none;background:none;border:none;color:#fff;font-size:26px;padding:4px 8px;}

.hero{position:relative;background:linear-gradient(180deg,var(--indigo) 0%,var(--indigo-dark) 100%);color:#fff;padding:56px 0 0;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(42px,6vw,74px);color:#fff;}
.hero h1 em{font-style:normal;color:#D9A441;}
.hero p.lead{font-size:18px;max-width:480px;color:#D9D0BB;margin-top:18px;}
.hero-cta-row{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.scene-wrap{position:relative;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:15px;text-decoration:none;transition:transform .15s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--cardon);color:#fff;}
.btn-primary:hover{background:var(--cardon-dark);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.btn-ghost:hover{border-color:#fff;}
.btn-dark{background:var(--indigo);color:#fff;}
.btn-dark:hover{background:var(--indigo-dark);}
.btn-small{padding:9px 16px;font-size:13px;border-radius:999px;}
.btn-outline{background:transparent;border:2px solid var(--ink);color:var(--ink);}

.search-widget{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin:36px 0 -70px;position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr 1fr .9fr auto;gap:16px;align-items:end;}
.field label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--indigo);margin-bottom:6px;font-weight:600;}
.field select,.field input{width:100%;padding:11px 12px;border-radius:8px;border:1.5px solid var(--line);font-family:var(--body);font-size:14px;color:var(--ink);background:var(--sal-white);}
.field select:focus,.field input:focus{border-color:var(--ochre);}
.stepper{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:8px;overflow:hidden;background:var(--sal-white);}
.stepper button{background:var(--sand);border:none;width:34px;height:38px;font-size:16px;font-weight:700;color:var(--indigo);}
.stepper span{flex:1;text-align:center;font-weight:700;font-family:var(--mono);}
.search-btn{background:var(--magenta);color:#fff;border:none;border-radius:8px;padding:0 22px;height:44px;font-weight:800;font-size:14px;white-space:nowrap;}
.search-btn:hover{background:#8B3350;}

section{padding:100px 0 64px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;flex-wrap:wrap;}
.section-head p{color:#5b5347;max-width:520px;}

.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.chip{padding:9px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:13px;font-weight:700;color:var(--ink);}
.chip.active{background:var(--indigo);color:#fff;border-color:var(--indigo);}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;border:1px solid var(--line);}
.card-scene{height:150px;position:relative;}
.type-tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);padding:4px 10px;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;}
.type-dot{width:8px;height:8px;border-radius:50%;}
.card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card-body .place{font-family:var(--mono);font-size:12px;color:var(--ochre-dark);text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.rating{display:flex;align-items:center;gap:6px;font-size:13px;color:#5b5347;}
.rating b{color:var(--ink);}
.tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{background:var(--sand);font-size:11px;padding:4px 9px;border-radius:6px;font-weight:600;color:#5b5347;}
.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px dashed var(--line);}
.card-foot .price{font-size:19px;color:var(--indigo);}
.card-foot .price small{display:block;font-family:var(--body);font-weight:500;font-size:11px;color:#8a8272;}

.exc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.exc-card{background:var(--indigo);color:#fff;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);}
.exc-scene{height:130px;}
.exc-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.exc-body .place{font-family:var(--mono);font-size:11px;color:#D9A441;text-transform:uppercase;letter-spacing:.06em;font-weight:700;}
.exc-body p{color:#C7C1AE;font-size:13.5px;margin:0;}
.exc-meta{display:flex;gap:14px;font-size:12px;color:#C7C1AE;font-family:var(--mono);}
.exc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px dashed rgba(255,255,255,.2);}

.transfer-highlight{background:linear-gradient(135deg,var(--magenta),#7C2E48);color:#fff;border-radius:var(--radius);padding:36px;margin-bottom:40px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;}
.transfer-highlight h2{color:#fff;}
.transfer-highlight p{color:#F0DCE1;}
.transfer-list{display:flex;flex-direction:column;gap:14px;}
.transfer-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;display:grid;grid-template-columns:auto 1fr auto auto auto;gap:20px;align-items:center;}
.t-icon{width:42px;height:42px;border-radius:10px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:20px;}
.t-route strong{display:block;font-size:15px;}
.t-route span{font-size:12.5px;color:#8a8272;}
.t-meta{font-family:var(--mono);font-size:12px;color:var(--indigo);text-align:center;}
.t-avail{font-size:12px;font-weight:700;color:var(--cardon);background:#E4EDE6;padding:5px 10px;border-radius:999px;white-space:nowrap;}
.t-price{text-align:right;}
.t-price .price{font-size:17px;color:var(--indigo);}

.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.how-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;}
.how-num{font-family:var(--display);font-size:44px;font-weight:900;color:var(--sand);position:absolute;top:14px;right:20px;}

.cta-band{background:var(--cardon);color:#fff;text-align:center;padding:70px 24px;margin-top:20px;}
.cta-band h2{color:#fff;}
.cta-band p{color:#FCEBDC;max-width:520px;margin:14px auto 26px;}

footer{background:var(--indigo-dark);color:#C7C1AE;padding:50px 0 26px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;margin-bottom:30px;}
footer h4{color:#fff;font-family:var(--body);font-size:14px;margin:0 0 12px;}
footer a{color:#C7C1AE;text-decoration:none;font-size:13.5px;line-height:2.1;display:block;}
footer a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;}
.pay-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pay-badge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#EAE3D2;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.03em;padding:4px 11px;border-radius:999px;white-space:nowrap;}
.pay-badge-img{background:#fff;border-radius:6px;padding:4px 8px;display:flex;align-items:center;height:22px;}
.pay-badge-img img{height:100%;width:auto;display:block;}

.overlay{position:fixed;inset:0;background:rgba(30,26,20,.55);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:30px 16px;overflow-y:auto;}
.overlay.open{display:flex;}
.modal{background:var(--sal-white);border-radius:18px;max-width:760px;width:100%;box-shadow:0 30px 60px rgba(0,0,0,.3);overflow:hidden;}
.modal-head{background:var(--indigo);color:#fff;padding:22px 28px;display:flex;justify-content:space-between;align-items:center;}
.modal-head h3{color:#fff;font-family:var(--display);font-size:24px;}
.modal-close{background:none;border:none;color:#fff;font-size:22px;}
.steps-strata{display:flex;height:6px;}
.steps-strata span{flex:1;background:var(--line);}
.steps-strata span.done{background:var(--ochre);}
.modal-body{padding:28px;max-height:64vh;overflow-y:auto;}
.step-label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ochre-dark);font-weight:700;margin-bottom:14px;}
.option-row{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.option-row input[type=radio],.option-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--ochre);}
.option-row .opt-info{flex:1;}
.option-row .opt-info strong{display:block;font-size:14.5px;}
.option-row .opt-info span{font-size:12.5px;color:#8a8272;}
.option-row .opt-price{font-family:var(--mono);font-weight:700;color:var(--indigo);}
.summary-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-top:6px;}
.summary-line{display:flex;justify-content:space-between;font-size:14px;padding:6px 0;}
.summary-line.total{border-top:1px dashed var(--line);margin-top:8px;padding-top:12px;font-weight:800;font-size:17px;color:var(--indigo);}
.pay-methods{display:flex;gap:10px;margin:14px 0 18px;flex-wrap:wrap;}
.pay-chip{border:1.5px solid var(--line);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;flex:1;text-align:center;}
.secure-note{display:flex;align-items:center;gap:8px;font-size:12px;color:#8a8272;margin-top:12px;}
.modal-foot{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;background:#fff;}
.confirm-box{text-align:center;padding:20px 0;}
.locator{font-family:var(--mono);font-size:26px;letter-spacing:.1em;background:var(--sand);padding:12px 22px;border-radius:10px;display:inline-block;margin:16px 0;font-weight:700;color:var(--indigo);}
.error-box{background:#FBE6E9;border:1px solid #E3A9B3;color:#7A2836;padding:12px 16px;border-radius:10px;font-size:13.5px;margin-bottom:14px;}

/* ---------- ADMIN ---------- */
.admin-head{background:var(--indigo);color:#fff;padding:20px 0;}
.admin-head .container{display:flex;justify-content:space-between;align-items:center;}
.admin-tabs{display:flex;gap:10px;margin:26px 0;flex-wrap:wrap;}
.admin-tab{padding:10px 18px;border-radius:8px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:13.5px;}
.admin-tab.active{background:var(--indigo);color:#fff;border-color:var(--indigo);}
.admin-panel-view{display:none;}
.admin-panel-view.active{display:block;}
table.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:30px;}
table.admin-table th{background:var(--sand);text-align:left;padding:12px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--mono);}
table.admin-table td{padding:12px 14px;font-size:13.5px;border-top:1px solid var(--line);}
table.admin-table td button{background:var(--magenta);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;}
.admin-form{background:#fff;border-radius:12px;padding:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:30px;}
.admin-form input,.admin-form select{padding:10px;border-radius:8px;border:1.5px solid var(--line);font-family:var(--body);}
.admin-form button{grid-column:span 3;justify-self:start;}
.admin-form h4{grid-column:span 3;margin:0;font-family:var(--display);font-size:20px;}
.login-box{max-width:380px;margin:80px auto;background:#fff;border-radius:16px;padding:32px;box-shadow:var(--shadow);}
.login-box input{width:100%;padding:12px;border-radius:8px;border:1.5px solid var(--line);margin-bottom:12px;font-family:var(--body);}
.login-box button{width:100%;}
.page-center{max-width:520px;margin:100px auto;text-align:center;padding:0 24px;}

@media (max-width:960px){
  .grid,.exc-grid,.how-grid{grid-template-columns:repeat(2,1fr);}
  .hero-grid{grid-template-columns:1fr;}
  .search-widget{grid-template-columns:1fr 1fr;margin-bottom:0;position:static;}
  .search-btn{grid-column:span 2;height:48px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .transfer-highlight{grid-template-columns:1fr;}
  .transfer-row{grid-template-columns:auto 1fr;row-gap:10px;}
  .t-meta,.t-avail,.t-price{grid-column:2;justify-self:start;}
  .admin-form{grid-template-columns:1fr 1fr;}
  .admin-form button, .admin-form h4{grid-column:span 2;}
}
@media (max-width:640px){
  nav.links{position:fixed;top:64px;left:0;right:0;background:var(--indigo);flex-direction:column;align-items:flex-start;padding:16px 24px;gap:16px;display:none;}
  nav.links.open{display:flex;}
  .burger{display:block;}
  .grid,.exc-grid,.how-grid{grid-template-columns:1fr;}
  .search-widget{grid-template-columns:1fr;}
  .search-btn{grid-column:span 1;}
  .foot-grid{grid-template-columns:1fr;}
  section{padding:70px 0 40px;}
  .admin-form{grid-template-columns:1fr;}
  .admin-form button,.admin-form h4{grid-column:span 1;}
}
