@font-face{font-family:Roboto;src:url('assets/Roboto-Regular.ttf') format('truetype');font-weight:400}
@font-face{font-family:Roboto;src:url('assets/Roboto-Medium.ttf') format('truetype');font-weight:500}
@font-face{font-family:Roboto;src:url('assets/Roboto-Bold.ttf') format('truetype');font-weight:700}
@font-face{font-family:Roboto;src:url('assets/Roboto-Black.ttf') format('truetype');font-weight:900}
:root{--ink:#17313b;--blue:#0099dd;--sky:#94d9f8;--orange:#ff5b00;--cream:#fff2ea;--muted:#65777e}
body,button,input,select{font-family:Roboto,Arial,sans-serif}
body{background:#fff}
.topbar{background:rgba(255,255,255,.97);border-bottom-color:rgba(0,153,221,.17)}
.brand{display:flex;align-items:center}
.brand img{display:block;width:104px;height:68px;object-fit:contain}
.brand-mark,.brand-copy{display:none}
.hero-image{background-image:url('assets/valday-main.jpg');background-position:center 44%;background-size:cover}
.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 44%)}
.hero-content{top:auto;bottom:36px}
.hero-content>.eyebrow,.hero-content>h1,.hero-content>.hero-lead{position:static;width:auto;height:auto;margin:0 0 18px;overflow:visible;clip:auto;white-space:normal;border:0}
.hero h1{font-family:Roboto,Arial,sans-serif;font-weight:900;line-height:.91;letter-spacing:-.055em;text-transform:uppercase}
.hero h1 em{color:var(--orange)}
.hero-facts strong,.departure time,.ship-specs dt{font-family:Roboto,Arial,sans-serif;font-weight:900}
.trip-head h2,.section-title h2,.schedule-band h2,.about h2,.service-grid h2,.hidden-info h2{font-family:Roboto,Arial,sans-serif;font-weight:900;line-height:.98;letter-spacing:-.045em;text-transform:uppercase}
.route-card h3,.ship-specs h3{font-family:Roboto,Arial,sans-serif;font-weight:900;text-transform:uppercase}
.news-grid h3,.footer-main .phone{font-family:Roboto,Arial,sans-serif;font-weight:700}
.azov{background-image:url('assets/azov.jpg')}
.staro{background-image:url('assets/starocherkasskaya.webp')}
.ust-donetsk{background-image:url('assets/ust-donetsk.jpg')}
.konstantinovsk{background-image:url('assets/konstantinovsk.jpg')}
.pukhl{background-image:url('assets/pukhlyakovskiy.jpg')}
.route-info a{color:var(--blue);font-weight:700}
.route-photo-card{min-height:330px;background-position:center;background-size:cover;position:relative;color:#fff;display:flex;align-items:flex-end}
.route-photo-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.06) 75%)}
.route-photo-card .route-info{position:relative;width:100%;z-index:1}
.route-photo-card .route-num,.route-photo-card p,.route-photo-card a{color:#fff}
.semika{background-image:url('assets/semikarakorsk.jpg')}
.roman{background-image:url('assets/romanovskaya.jpg')}
.ship-visual{background-image:url('assets/meteor-main.jpg');background-position:center;background-size:cover}
.ship-label{font-family:Roboto,Arial,sans-serif;font-weight:700}
.ship-label b{font-weight:900}
.ship-specs>a{color:#fff;border-bottom:1px solid #fff;padding-bottom:6px;font-weight:700}
.about-photo{background-image:url('assets/meteor-alt.jpg');background-position:center;background-size:cover}
.trip-card{margin-bottom:20px}
.trip-card+.routes{padding-top:48px}
.trip-form{grid-template-columns:1.1fr 40px 1.1fr .85fr 1fr}
.order-link{border:0;background:none;color:var(--ink);font-weight:700;cursor:pointer;padding:12px 0}
.nav-group>button span{display:inline-block;margin-left:5px;color:var(--muted);font-size:12px;transition:transform .2s}.nav-group:hover>button span,.nav-group:focus-within>button span{transform:rotate(180deg)}
.trip-head{display:block}.trip-head h2{margin-bottom:22px}
.trip-form select#date{cursor:pointer}
.search-button{background:var(--orange);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.search-button:not(:disabled):hover{background:#ff5b00;transform:translateY(-2px);box-shadow:0 12px 24px rgba(255,91,0,.28)}
.search-button:not(:disabled):active{transform:translateY(0);box-shadow:0 5px 12px rgba(255,91,0,.2)}
.search-button:focus-visible{outline:3px solid rgba(0,153,221,.38);outline-offset:3px}
.search-button:disabled{opacity:.45;cursor:not-allowed}
.search-button{position:relative;justify-content:center!important;text-align:center;padding-inline:48px}
.search-button>span{position:absolute;right:24px}
.modal-form{display:grid;gap:18px;margin-top:24px}.modal-form label{display:grid;gap:8px;color:var(--muted)}.modal-form input{width:100%;padding:15px;border:1px solid #ccd8dc;border-radius:12px;color:var(--ink)}.modal-form .buy-button{border:0;justify-content:center;cursor:pointer}
.calendar-field{position:relative;border:1px solid #dce4e5;border-radius:14px;padding:10px 14px;min-width:0}.calendar-field>span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:700}.calendar-field>button{width:100%;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:10px;padding:6px 0 0;text-align:left;cursor:pointer}.calendar-field>button strong{flex:1}.calendar-icon{color:var(--orange);font-size:20px}.calendar-popover{position:absolute;z-index:20;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:340px;padding:22px;background:#fff;border:1px solid #dae5ea;border-radius:22px;box-shadow:0 20px 60px rgba(6,44,59,.2)}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;text-align:center;margin-bottom:20px}.calendar-head button{height:42px;border:1px solid #e1e8eb;border-radius:11px;background:#fff;font-size:28px;color:var(--muted);cursor:pointer}.calendar-head strong{text-transform:capitalize}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-week{color:var(--muted);font-size:13px;margin-bottom:10px}.calendar-grid button,.calendar-grid span{height:38px;border:0;border-radius:10px;background:transparent;color:#b2bdc9}.calendar-grid button:not(:disabled){background:var(--cream);color:var(--orange);cursor:pointer}.calendar-grid button:not(:disabled):hover{background:#ffd9c7}.calendar-grid button.selected{background:#65ddb4;color:#123f35;font-weight:900}.calendar-popover[hidden]{display:none}
@media(max-width:680px){.calendar-field{width:100%}.calendar-popover{width:min(340px,calc(100vw - 36px));left:0;transform:none}}
.schedule-band{background:#0099dd}
.departures{box-shadow:0 28px 70px rgba(0,63,92,.22)}
.text-route{background:#dff5ff}
.text-route.orange{background:var(--cream)}
.service-grid{background:var(--orange)}
footer{background:#0099dd;color:#eaf8ff;position:relative;overflow:hidden}
footer:after{content:'≈≈≈';position:absolute;right:-30px;bottom:-75px;font-size:260px;font-weight:900;color:rgba(148,217,248,.2);letter-spacing:-80px;pointer-events:none}
.footer-main,.footer-bottom{position:relative;z-index:1}
.footer-brand{width:max-content}
.footer-brand img{width:150px;height:150px;object-fit:contain}
.high-contrast{--ink:#000;--blue:#003cff;--sky:#fff600;--orange:#e70000;--cream:#fff}
@media(max-width:680px){.brand img{width:82px;height:56px}.hero h1{font-size:50px}.hero-content{max-width:calc(100vw - 48px)}.hero-lead{max-width:100%;overflow-wrap:anywhere}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.hero-facts div{min-width:0;padding:12px 8px}.hero-facts strong{font-size:20px}.hero-facts span{font-size:9px}.footer-brand img{width:130px;height:130px}}
@media(max-width:680px){.hero-content{bottom:92px}.route-photo-card{min-height:300px}}
