/* FerryEU searchable ferry-route directory */

.routes-index-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.routes-index-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,31,59,.92) 0%,rgba(6,43,79,.78) 48%,rgba(6,43,79,.30) 78%,rgba(6,43,79,.12) 100%)}
.routes-index-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:480px;padding:84px 0 102px;background:#062b4f;color:#fff}
.routes-index-hero::after{content:none}
.routes-index-hero-inner{position:relative;z-index:2;max-width:1050px}
.route-index-eyebrow{display:inline-block;margin-bottom:12px;color:#f2bd4b;font-size:.8rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.routes-index-hero h1{max-width:900px;margin:0;color:#fff;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;text-wrap:balance}
.routes-index-hero p{max-width:820px;margin:22px 0 0;color:#edf5fa;font-size:clamp(1.04rem,1.55vw,1.22rem);line-height:1.58}

.route-finder-section{padding:0 0 84px;background:#f4f8fb}
.route-finder-card{position:relative;z-index:4;margin-top:-46px;padding:30px;border:1px solid #d7e3eb;border-radius:22px;background:#fff;box-shadow:0 18px 46px rgba(6,43,79,.13)}
.route-finder-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:42px;align-items:end;margin-bottom:25px}
.route-finder-heading h2{margin:0;color:#062b4f;font-size:clamp(1.8rem,3.2vw,2.55rem);line-height:1.08;letter-spacing:-.03em}
.route-finder-heading p{margin:0;color:#607487;font-size:.98rem}
.route-text-search{margin-bottom:17px}
.route-text-search label,.route-filter-field label{display:block;margin:0 0 7px;color:#173a59;font-size:.8rem;font-weight:850;letter-spacing:.035em}
.route-search-input-wrap{position:relative}
.route-search-input-wrap img{position:absolute;left:15px;top:50%;width:21px;height:21px;transform:translateY(-50%);opacity:.72;pointer-events:none}
.route-search-input-wrap input,.route-filter-field select{width:100%;min-height:54px;border:1px solid #cddbe5;border-radius:11px;background:#fff;color:#173a59;font-size:.96rem;transition:border-color .15s ease,box-shadow .15s ease}
.route-search-input-wrap input{padding:12px 15px 12px 48px}
.route-filter-field select{padding:11px 42px 11px 13px;cursor:pointer}
.route-search-input-wrap input:hover,.route-filter-field select:hover{border-color:#99b9ce}
.route-search-input-wrap input:focus,.route-filter-field select:focus{border-color:#2484ba;box-shadow:0 0 0 3px rgba(36,132,186,.12);outline:0}
.route-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.route-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;padding-top:18px;border-top:1px solid #e4ebf0}
.route-filter-actions p{margin:0;color:#607487;font-size:.88rem}
.route-filter-actions strong{display:block;color:#062b4f;font-size:1rem}
.route-filter-actions span{display:block;margin-top:2px}
.route-clear-button{padding:9px 13px;border:1px solid #ccdce6;border-radius:9px;background:#fff;color:#0d5f8f;font-size:.86rem;font-weight:800;cursor:pointer}
.route-clear-button:hover{background:#edf6fb;border-color:#a9c8da}

.route-index-advisory{display:grid;grid-template-columns:28px 1fr;gap:13px;margin:25px 0 34px;padding:17px 20px;border:1px solid #ccdfeb;border-radius:14px;background:#eaf5fb}
.route-index-advisory img{margin-top:2px}
.route-index-advisory p{margin:0;color:#35566e;font-size:.92rem;line-height:1.5}
.route-index-advisory strong{color:#062b4f}
.route-index-advisory a{color:#0d5f8f;font-weight:800;text-underline-offset:3px}

.route-results-shell{scroll-margin-top:96px;padding:30px;border:1px solid #dce5eb;border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(6,43,79,.055)}
.route-results-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px}
.route-results-heading h2{margin:0;color:#062b4f;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.08}
.route-results-heading p{margin:0;color:#607487;font-size:.91rem}
.route-table-wrap{overflow-x:auto;border:1px solid #dce5eb;border-radius:14px}
.route-index-table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}
.route-index-table th{padding:13px 15px;background:#062b4f;color:#fff;text-align:left;font-size:.74rem;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.route-index-table td{padding:14px 15px;border-top:1px solid #e3eaf0;color:#405b70;vertical-align:middle;line-height:1.32}
.route-index-table tbody tr:first-child td{border-top:0}
.route-index-table tbody tr:hover td{background:#f8fbfd}
.route-name-cell{min-width:235px}
.route-name-cell>a{color:#062b4f;font-size:.98rem;font-weight:850;text-decoration:none}
.route-name-cell>a:hover{color:#0d5f8f;text-decoration:underline;text-underline-offset:3px}
.route-index-table td small{display:block;margin-top:3px;color:#7b8d9b;font-size:.75rem}
.operator-cell{min-width:185px;max-width:290px}
.route-view-cell{width:125px;text-align:right;white-space:nowrap}
.route-view-link{display:inline-flex;align-items:center;gap:6px;color:#0d5f8f;text-decoration:none;font-size:.83rem;font-weight:850}
.route-view-link img{width:17px;height:17px}
.route-view-link:hover{text-decoration:underline;text-underline-offset:3px}
.mobile-label{display:none}
.route-empty-state{max-width:760px;margin:18px auto 2px;padding:42px 28px;text-align:center;border:1px dashed #cbdbe5;border-radius:16px;background:#f8fbfd}
.route-empty-state>img{margin:0 auto 14px}
.route-empty-state h3{margin:0 0 8px;color:#062b4f;font-size:1.35rem}
.route-empty-state p{margin:0 auto 22px;max-width:630px;color:#607487}
.route-empty-state>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.route-index-final-cta{border-top:1px solid #dce9f0}

@media (max-width:1050px){
.route-finder-heading{grid-template-columns:1fr;gap:12px}.route-filter-grid{grid-template-columns:1fr 1fr}.route-filter-field:last-child{grid-column:1/-1}.route-results-shell{padding:24px}.operator-cell{max-width:none}
}
@media (max-width:760px){
.routes-index-hero{min-height:400px;padding:60px 0 82px}.route-finder-section{padding-bottom:60px}.route-finder-card{margin-top:-34px;padding:22px 18px;border-radius:17px}.route-filter-grid{grid-template-columns:1fr}.route-filter-field:last-child{grid-column:auto}.route-filter-actions{align-items:flex-start;flex-direction:column}.route-clear-button{width:100%}.route-index-advisory{margin:20px 0 26px}.route-results-shell{padding:20px 15px;border-radius:17px}.route-results-heading{align-items:flex-start;flex-direction:column;gap:5px}.route-table-wrap{overflow:visible;border:0}.route-index-table,.route-index-table tbody,.route-index-table tr,.route-index-table td{display:block;width:100%}.route-index-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.route-index-table tbody{display:grid;gap:12px}.route-index-table tr{overflow:hidden;border:1px solid #dce5eb;border-radius:13px;background:#fff}.route-index-table td{padding:8px 14px;border:0!important;background:#fff!important}.route-name-cell{min-width:0;padding-top:14px!important;padding-bottom:10px!important;border-bottom:1px solid #e7edf1!important}.route-name-cell>a{font-size:1.04rem}.route-index-table td small{display:inline;margin:0 0 0 5px}.mobile-label{display:inline-block;min-width:68px;margin-right:7px;color:#738696;font-size:.7rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.operator-cell{min-width:0}.route-view-cell{width:100%;padding:9px 14px 14px!important;text-align:left}.route-view-link{font-size:.88rem}.route-empty-state{padding:32px 18px}
}
@media (max-width:520px){.routes-index-hero h1{font-size:clamp(2.35rem,12vw,3.3rem)}.route-finder-heading h2{font-size:1.72rem}.route-index-advisory{grid-template-columns:1fr}.route-index-advisory img{margin:0}.route-empty-state>div{display:grid}.route-empty-state .button{width:100%}}

[data-route-row][hidden]{display:none!important}
