/* Reusable opt-in layout. Currently loaded ONLY by the cruise page. */
.travel-search-page{background:#f4f7f9;color:#17324a}
.travel-search-page .site-header{height:76px;background:rgba(235,246,250,.94)}
.travel-search-page .header-inner{width:min(1160px,calc(100% - 48px))}
.travel-search-page .ra-skip{z-index:120}
.ro-search-hero{margin-top:76px;min-height:168px;position:relative;isolation:isolate;display:flex;align-items:center;background:#103e60;color:#fff}
.ro-search-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.ro-search-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,25,44,.65),rgba(3,25,44,.19) 80%)}
.ro-search-hero .container{padding-block:30px;width:min(1160px,calc(100% - 48px))}
.ro-search-hero h1{font-size:38px;letter-spacing:-.7px;line-height:1.12;color:white;margin:0 0 32px;text-shadow:0 2px 12px #0005}
.ro-search-hero p{font-size:16px;font-weight:600;color:white;margin:0;text-shadow:0 1px 8px #0006}
.ro-search-container{width:min(1320px,calc(100% - 48px));margin:18px auto 0;background:#fff;min-width:0}
.ro-search-breadcrumb{position:sticky;top:76px;z-index:65;display:flex;align-items:center;gap:24px;min-height:54px;padding:0 20px;background:#f7f9fb;border-bottom:1px solid #e2eaf0;box-shadow:0 4px 16px #082f5f06;font-size:15px}
.ro-search-breadcrumb a{display:inline-flex;align-items:center;gap:28px;min-height:44px;text-decoration:none;color:#286389}.ro-search-breadcrumb a[aria-current]{color:#17324a;font-weight:700}.ro-search-breadcrumb span{font-size:25px}.ro-search-breadcrumb .ro-search-guide-link{margin-left:auto;font-size:13px}
.ro-search-content{padding:22px 20px 28px}.ro-search-title{font-size:30px;font-weight:400;letter-spacing:-.5px;margin:0 0 16px;color:#202a31}
.ro-search-grid{display:grid;grid-template-columns:minmax(290px,31%) minmax(0,1fr);gap:20px;align-items:start}
.ro-search-sidebar{position:static;border:1px solid #dce5ed;border-radius:12px;padding:8px;box-shadow:0 3px 12px #17324a0a;background:white}
.ro-search-sidebar>summary{display:none}
.ro-search-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700}
.ro-search-tabs>*{min-height:48px;border:1px solid #dce5ed;border-radius:10px;display:flex;gap:12px;align-items:center;justify-content:center;padding:6px;text-decoration:none;background:#f8fafc;color:#17324a}.ro-search-tabs [aria-current]{background:#0868b8;color:white;border-color:#0868b8;box-shadow:0 3px 8px #0868b829}
.ro-search-form{background:#f5f7f9;border-radius:10px;padding:16px;display:grid;gap:13px}.ro-search-field{display:grid;gap:7px;min-width:0}.ro-search-field>label,.ro-search-field>span{font-size:14px;font-weight:700;line-height:1.3;color:#143953}.ro-search-control{position:relative;display:flex;align-items:center}.ro-search-control>svg{position:absolute;left:12px;width:18px;height:18px;color:#1476af;pointer-events:none}.ro-search-control select,.ro-search-control input{width:100%;min-width:0;min-height:46px;border:1px solid #ced9e2;border-radius:10px;background:#fff;padding:10px 10px 10px 38px;font:inherit;font-size:14px;color:#364b5b;box-shadow:0 1px 2px #17324a05}.ro-search-control input[type=date]{padding-left:10px;min-height:46px}.ro-search-control input[type=number]{appearance:textfield}.ro-search-control input:focus,.ro-search-control select:focus{outline:2px solid #1683c9;outline-offset:1px;border-color:#1683c9}
.ro-search-dates,.ro-search-travellers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ro-search-dates label,.ro-search-travellers label{font-size:12px;font-weight:500;color:#50687b}.ro-search-travellers select{padding-left:10px}.ro-search-children{display:grid;gap:10px}.ro-search-children:empty{display:none}
.ro-search-submit{min-height:46px;border:0;border-radius:10px;background:#0868b8;color:white;font:inherit;font-weight:650;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:16px;width:100%;box-shadow:0 3px 8px #0868b825}.ro-search-submit:hover{background:#005a9f}.ro-search-submit svg{width:18px;height:18px}.ro-search-form .ro-search-help{font-size:12px;line-height:1.5;margin:0;color:#647886}.ro-search-more{border-top:1px solid #dce5ed;padding-top:10px}.ro-search-more summary{font-size:13px;font-weight:600;padding:5px 0;cursor:pointer}.ro-search-more[open]>div{padding-top:12px;display:grid;gap:13px}
.ro-search-error{font-size:13px;color:#a42525;line-height:1.5;margin:0}.ro-search-error[hidden]{display:none}
.ro-search-results{min-width:0;scroll-margin-top:144px}.ro-search-resultbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;background:#edf3f7;border:1px solid #dce5ed;border-radius:9px;margin-bottom:8px;color:#506579;font-size:13px}.ro-search-resultbar strong{font-weight:650}.ro-search-resultbar a{color:#0868b8;white-space:nowrap;text-decoration:none;font-size:12px}
.ro-search-results iframe{display:block;width:100%;max-width:100%;min-width:0;min-height:400px;border:0;background:white;scroll-margin-top:144px}
.ro-search-results .cc-status{font-size:13px;padding:12px;background:#f4f8fb;color:#526b80;margin:0}.ro-search-results .cc-status[hidden]{display:none}
.ro-search-results .cc-fallback,.ro-search-results .cc-affiliate{font-size:12px;color:#647886;line-height:1.5;margin:9px 0}.ro-search-results .cc-fallback a{color:#0868b8}.ro-search-results .cc-affiliate a{margin-left:8px}
.ro-search-editorial{border-top:1px solid #dce5ed;margin-top:36px;padding-top:8px}.ro-search-editorial .ra-section{margin-block:32px}.ro-search-editorial h2{font-size:26px}.ro-search-editorial .ra-grid{gap:16px}.ro-search-editorial .ra-card{border-radius:10px;background:#f8fafb}.ro-search-editorial .ra-card p{font-size:15px}.ro-search-editorial .ra-jumplinks{font-size:14px}.ro-search-editorial .ra-section{scroll-margin-top:144px}.ro-search-editorial .ra-date{padding-top:12px}
.travel-search-page .site-footer{margin-block:24px}
@media(min-width:981px) and (max-height:850px){.ro-search-sidebar{position:static}}
@media(max-width:980px){.ro-search-grid{grid-template-columns:1fr}.ro-search-sidebar{position:static;max-width:none}.ro-search-form{grid-template-columns:1fr 1fr}.ro-search-form>.ro-search-submit,.ro-search-form>.ro-search-error,.ro-search-form>.ro-search-help,.ro-search-form>.ro-search-more{grid-column:1/-1}.ro-search-breadcrumb{position:static}.ro-search-results{scroll-margin-top:90px}.ro-search-results iframe{scroll-margin-top:90px}}
@media(max-width:680px){.travel-search-page .site-header{height:64px}.travel-search-page .header-inner{width:calc(100% - 32px)}.ro-search-hero{margin-top:64px;min-height:156px}.ro-search-hero .container{width:calc(100% - 32px);padding-block:25px}.ro-search-hero h1{font-size:29px;margin-bottom:22px}.ro-search-hero p{font-size:14px;line-height:1.5}.ro-search-container{width:calc(100% - 16px);margin-top:10px}.ro-search-breadcrumb{padding:0 12px;gap:16px;font-size:12px;min-height:48px;flex-wrap:wrap}.ro-search-breadcrumb a{gap:13px;min-height:40px}.ro-search-breadcrumb .ro-search-guide-link{display:none}.ro-search-content{padding:18px 12px}.ro-search-title{font-size:27px}.ro-search-grid{gap:14px}.ro-search-sidebar{padding:6px}.ro-search-sidebar>summary{display:list-item;cursor:pointer;padding:12px;font-weight:650;font-size:14px;color:#17324a}.ro-search-sidebar[open]>summary{border-bottom:1px solid #e0e8ef;margin-bottom:8px}.ro-search-form{grid-template-columns:1fr;padding:12px}.ro-search-tabs{font-size:12px}.ro-search-control select,.ro-search-control input{font-size:16px}.ro-search-dates input{font-size:14px;padding-inline:5px}.ro-search-resultbar{align-items:flex-start;font-size:12px;flex-wrap:wrap;gap:4px}.ro-search-resultbar a{min-height:28px;display:inline-flex;align-items:center}.ro-search-editorial .ra-section{scroll-margin-top:80px}.ro-search-results iframe{scroll-margin-top:80px}.ro-search-grid .ro-search-results{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:380px){.ro-search-dates{grid-template-columns:1fr}.ro-search-dates input{font-size:16px;padding-inline:10px}}
