/* Royal Inn v2 grouped departures — scoped to the public package page. */
body:not(.admin-body):has(.ri-departures){background:#f7f8f5!important;color:#1a302a!important}
.ri-departures,.ri-departures *{box-sizing:border-box}
.ri-departures{--ri-green:#073e2f;--ri-green2:#0c5844;--ri-gold:#b18a34;--ri-line:#e9e5d9;--ri-cream:#f9f7f1;--ri-text:#1b3229;--ri-muted:#69766e;max-width:1520px;margin:0 auto;padding:36px 28px 90px;font-family:'DM Sans',Arial,sans-serif;color:var(--ri-text)}
.ri-departures h1,.ri-departures h2,.ri-departures h3,.ri-departures h4,.ri-departures p{margin-top:0}
.ri-departures-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:27px 28px 30px;background:linear-gradient(118deg,#fff 0%,#f7f4e9 100%);border:1px solid var(--ri-line);border-radius:23px;margin-bottom:18px;box-shadow:0 12px 25px #184f3b0a}
.ri-overline{color:var(--ri-gold);font-weight:800;font-size:11px;letter-spacing:.14em}
.ri-overline-dot{color:#b5b7a9;margin:0 5px}
.ri-departures-head h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(29px,3vw,43px);font-weight:400;letter-spacing:-.03em;line-height:1.13;color:var(--ri-green);margin:10px 0}
.ri-departures-head h1 em{font-weight:400;font-style:italic;color:#9b772a}
.ri-departures-head p{max-width:690px;font-size:14px;line-height:1.75;color:#63726a;margin:0}
.ri-hero-metrics{display:flex;gap:0;background:#fff;border:1px solid var(--ri-line);border-radius:17px;overflow:hidden;box-shadow:0 8px 18px #153d3108}
.ri-hero-metrics>div{min-width:132px;padding:17px 22px;display:flex;flex-direction:column;gap:4px;text-align:center}
.ri-hero-metrics>div+div{border-left:1px solid var(--ri-line)}
.ri-hero-metrics strong{color:var(--ri-green);font-size:28px;line-height:1;font-weight:900;letter-spacing:-.045em}
.ri-hero-metrics span{font-size:11px;font-weight:750;color:var(--ri-muted)}
.ri-control-wrap{background:#fff;border:1px solid #e1dfd7;border-radius:19px;box-shadow:0 8px 25px #122c2110;margin-bottom:19px;overflow:hidden}
.ri-control-header{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:14px 20px;background:#fbfaf6;border-bottom:1px solid var(--ri-line)}
.ri-control-header strong{font-size:14px;color:var(--ri-green);font-weight:900}
.ri-control-header>span{font-size:12px;color:var(--ri-muted)}
.ri-control-header small{margin-left:auto;border:1px solid #e5d3a6;border-radius:100px;padding:6px 12px;font-weight:800;color:#8a691a;background:#fff}
.ri-control-emoji{background:var(--ri-green);color:#ffce68;border-radius:7px;padding:4px 7px;margin-right:5px}
.ri-control-grid{display:grid;grid-template-columns:minmax(235px,2fr) repeat(4,minmax(122px,1fr));gap:13px;padding:18px 20px 12px}
.ri-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.ri-field>span,.ri-filter-label{color:#35594b;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:900}
.ri-field :is(input,select),.ri-filter-panel :is(input[type="number"],input[type="month"],select){min-width:0;width:100%;height:42px;border:1px solid #dfded5!important;background:#fff!important;color:var(--ri-green)!important;padding:9px 11px!important;border-radius:10px!important;box-shadow:none!important;outline:none;font-size:12px!important;font-weight:600!important}
.ri-field :is(input,select):focus,.ri-filter-panel :is(input,select):focus{border-color:var(--ri-gold)!important;box-shadow:0 0 0 3px #c6a4502c!important}
.ri-field input::placeholder{color:#96a29b}
.ri-sector-pills{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 20px 17px}
.ri-sector-pills>span{font-weight:800;font-size:11px;color:#879087;margin-right:2px}
.ri-sector-pill{border:1px solid #e3dfd2!important;background:#f8f8f4!important;color:#285747!important;border-radius:9px!important;padding:7px 11px!important;cursor:pointer;font-size:11px!important;font-weight:900!important;min-height:30px;line-height:1.3}
.ri-sector-pill:hover{border-color:#9dbea8!important}
.ri-sector-pill.active{background:var(--ri-green)!important;color:#ffe1a2!important;border-color:var(--ri-green)!important}
.ri-layout{display:grid;grid-template-columns:258px minmax(0,1fr);gap:17px;align-items:start}
.ri-filter-panel{background:#fff;border:1px solid #e5e0d2;border-radius:17px;padding:18px 16px;box-shadow:0 10px 30px #183f2c08}
.ri-filter-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--ri-line)}
.ri-filter-panel-head strong{font-size:16px;color:var(--ri-green)}
.ri-filter-panel-head button{border:0;background:transparent;color:#9b7a2f;cursor:pointer;font-weight:850;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.ri-filter-section{padding:18px 0 17px;border-bottom:1px solid var(--ri-line)}
.ri-filter-section h2{font-size:12px;color:var(--ri-green);margin:0 0 12px;font-weight:850}
.ri-filter-section h2 small{display:block;margin-top:4px;font-size:10px;color:var(--ri-muted);font-weight:600}
.ri-airline-choice{display:flex;align-items:center;gap:9px;min-height:36px;padding:5px 6px;cursor:pointer;color:#315549;font-size:12px;font-weight:750;border-radius:8px}
.ri-airline-choice:hover{background:#f7f8f4}
.ri-airline-choice input{appearance:radio!important;accent-color:#095640;width:14px!important;height:14px!important;margin:0!important;flex:0 0 auto}
.ri-airline-choice span{flex:1 1 auto;min-width:0}
.ri-airline-choice small{font-size:10px;border-radius:30px;padding:3px 7px;border:1px solid #e2d9bd;color:#94762b;background:#fff}
.ri-filter-panel input[type="number"]{margin-top:2px}
.ri-filter-section p{font-size:10px;line-height:1.5;color:#7b877d;margin:8px 0 0}
.ri-filter-label{display:block;margin-bottom:7px}
.ri-filter-note{background:linear-gradient(130deg,#073d2f,#0c5944);color:#fff;border-radius:13px;padding:17px;margin-top:20px;display:flex;flex-direction:column;gap:8px}
.ri-filter-note strong{color:#f9e9b6;font-size:14px}
.ri-filter-note span{font-size:11px;color:#d1e1d7;line-height:1.6}
.ri-filter-note a{color:#fff!important;font-size:12px;text-decoration:none;border-bottom:1px solid #d8c186;align-self:start;font-weight:850;padding-bottom:3px}
.ri-results{min-width:0}
.ri-results-head{background:#fff;border:1px solid #e3e1d5;border-left:3px solid var(--ri-gold);border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 19px;margin-bottom:13px;box-shadow:0 7px 20px #184a3009}
.ri-results-head>div{display:flex;align-items:center;gap:13px;min-width:0}
.ri-results-icon{width:43px;height:43px;border-radius:12px;background:#f3f0df;color:var(--ri-green);display:grid;place-items:center;font-size:20px;flex:0 0 auto}
.ri-results-head h2{color:var(--ri-green);font-size:17px;margin:0 0 3px;font-weight:900}
.ri-results-head p{font-size:11px;color:#7d887e;margin:0;line-height:1.4}
.ri-availability-note{font-size:10px;background:#edf6ef;border:1px solid #bcdcc6;color:#32764d;border-radius:100px;padding:8px 11px;white-space:nowrap;font-weight:850}
.ri-flight-list{display:grid;gap:14px}
.ri-flight{background:#fff;border:1px solid #d9e4d8;border-top:3px solid var(--ri-green);border-radius:17px;box-shadow:0 10px 27px #143c2a10;overflow:hidden;min-width:0}
.ri-flight-summary{display:grid;grid-template-columns:minmax(140px,170px) minmax(240px,1fr) minmax(110px,140px) minmax(160px,182px);align-items:stretch;min-height:157px}
.ri-flight-airline{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 10px;border-right:1px solid #edf0e9;background:#fafbf8;gap:6px}
.ri-airline-logo{width:66px;height:58px;border:1px solid #edf0e7;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:#fff;font-size:24px;color:var(--ri-green)}
.ri-airline-logo img{max-width:55px;max-height:46px;object-fit:contain}
.ri-flight-airline strong{font-size:12px;line-height:1.35;color:var(--ri-green);font-weight:900}
.ri-flight-code{font-size:10px;color:#9a7929;background:#f8f2e2;padding:4px 9px;border-radius:50px;font-weight:850}
.ri-flight-schedule{padding:17px 16px 13px;display:flex;flex-direction:column;gap:11px;min-width:0}
.ri-schedule-line{display:flex;align-items:center;gap:13px}
.ri-schedule-line>div{display:flex;flex-direction:column;gap:4px}
.ri-schedule-line small{font-size:9px;color:#88958d;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.ri-schedule-line strong{font-size:14px;color:var(--ri-green);font-weight:950;white-space:nowrap}
.ri-flight-path{flex:1;min-width:20px;max-width:80px;text-align:center;color:#b18a34;font-size:16px;position:relative}
.ri-flight-path:after{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px dashed #d0bd88;z-index:0;opacity:.6}
.ri-flight-path{isolation:isolate}
.ri-route-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ri-route-main strong{font-size:14px;color:#104b39;font-weight:950}
.ri-route-main span{font-size:10px;color:#69786e;background:#f3f7f3;padding:4px 8px;border-radius:5px;word-break:break-word}
.ri-flight-extra{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ri-flight-extra span{font-size:10px;color:#89938a}
.ri-flight-extra span+span{border-left:1px solid #ddd;padding-left:8px}
.ri-flight-facts{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px 8px;border-left:1px solid #edf0e9}
.ri-badge{border-radius:40px;padding:8px 10px;font-size:11px;text-align:center;font-weight:850;max-width:100%}
.ri-badge-seats{background:#e9f6ef;color:#207354}
.ri-badge-packages{border:1px solid #eadcb5;background:#fff9ee;color:#98742b}
.ri-flight-price{border-left:1px solid #ede5d2;background:#fdfaf2;padding:16px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}
.ri-flight-price small{font-size:10px;color:#7a8679;font-weight:750}
.ri-flight-price>div{display:flex;align-items:baseline;justify-content:center;gap:4px;color:var(--ri-green)}
.ri-flight-price>div span{font-size:10px;color:#bb8d34;font-weight:900}
.ri-flight-price>div strong{font-size:clamp(16px,1.7vw,23px);font-weight:950;letter-spacing:-.04em;white-space:nowrap}
.ri-toggle{margin-top:7px;width:100%;border:1px solid #083f30!important;border-radius:10px!important;padding:10px 8px!important;background:var(--ri-green)!important;color:#fff!important;font-size:11px!important;font-weight:850!important;cursor:pointer;transition:background .15s}
.ri-toggle:hover{background:#0b6a4e!important}
.ri-toggle[aria-expanded="true"]{background:#f6eee1!important;color:var(--ri-green)!important}
.ri-toggle span{font-size:16px;margin-left:3px;display:inline-block;transition:transform .2s}
.ri-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.ri-flight-details{border-top:1px solid #e3e7df;background:#f9fbf9;padding:18px}
.ri-flight-details[hidden],.ri-option[hidden],.ri-flight[hidden],.ri-no-results[hidden]{display:none!important}
.ri-flight-legs{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:17px}
.ri-flight-legs>div{background:#e8f0e9;border:1px solid #d8e4d9;border-radius:10px;padding:13px 16px;display:flex;flex-direction:column;gap:5px;min-width:0}
.ri-flight-legs small{font-size:10px;font-weight:900;color:#8a741f;letter-spacing:.09em}
.ri-flight-legs strong{font-size:13px;color:var(--ri-green);overflow-wrap:anywhere}
.ri-flight-legs span{font-size:11px;color:#6c7c71}
.ri-options-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:13px 0}
.ri-options-heading h3{font-size:15px;color:var(--ri-green);margin:0}
.ri-options-heading span{font-size:10px;color:#8a928a}
.ri-package-options{display:grid;gap:9px}
.ri-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(126px,190px) 130px;gap:15px;align-items:center;padding:15px;background:#fff;border:1px solid #e6e8df;border-radius:13px;min-width:0}
.ri-option-copy{min-width:0}
.ri-option-tier{font-size:10px;color:#9c812f;font-weight:900;letter-spacing:.02em}
.ri-option-copy h4{font-size:13px;color:#063f30;margin:5px 0 8px;line-height:1.45}
.ri-option-copy p{font-size:11px;color:#637169;margin:3px 0;line-height:1.4}
.ri-option-copy b{font-weight:850;color:#334a3f}
.ri-option-prices{display:flex;flex-direction:column;gap:5px;min-width:0}
.ri-option-prices small{font-size:10px;color:#8e978e}
.ri-option-prices strong{font-size:17px;font-weight:950;color:#0d5642}
.ri-option-prices span{font-size:10px;color:#8c9288;line-height:1.6}
.ri-option-actions{display:grid;gap:7px}
.ri-option-actions a{border:1px solid #d3d9cb;border-radius:9px;padding:10px 7px;text-decoration:none;text-align:center;font-size:10px;line-height:1.2;font-weight:900;transition:background .15s}
.ri-option-detail{color:var(--ri-green)!important;background:#fff}
.ri-option-book{color:#fff!important;background:var(--ri-green);border-color:var(--ri-green)!important}
.ri-option-actions a:hover{background:#d8e8d9;color:var(--ri-green)!important}
.ri-no-results{border:1px dashed #d4c8a4;padding:45px 20px;text-align:center;background:#fffdf8;border-radius:15px;font-weight:700;color:#446556}
.ri-no-results button,.ri-no-results a{background:none;border:0;color:#99782c!important;text-decoration:underline;cursor:pointer;font-weight:900}
.ri-departures :is(button,a,input,select):focus-visible{outline:3px solid #d0a84c!important;outline-offset:3px}
@media(max-width:1250px){.ri-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ri-field-search{grid-column:span 2}.ri-layout{grid-template-columns:225px minmax(0,1fr)}.ri-flight-summary{grid-template-columns:120px minmax(210px,1fr) 130px}.ri-flight-price{grid-column:3;grid-row:1}.ri-flight-facts{grid-column:1 / 3;grid-row:2;display:flex;flex-direction:row;justify-content:start;border-top:1px solid #edf0e9;border-left:0}.ri-flight-airline{grid-row:1}.ri-flight-schedule{grid-row:1}}
@media(max-width:920px){.ri-departures{padding:24px 16px 90px}.ri-departures-head{grid-template-columns:1fr;padding:22px}.ri-hero-metrics{justify-self:start}.ri-layout{grid-template-columns:1fr}.ri-filter-panel{order:2}.ri-results{order:1}.ri-filter-panel .ri-filter-section:first-of-type{display:flex;flex-wrap:wrap;gap:5px}.ri-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ri-field-search{grid-column:span 2}}
@media(max-width:680px){.ri-departures{padding:13px 11px 80px}.ri-departures-head{padding:19px 18px;border-radius:15px}.ri-departures-head h1{font-size:29px}.ri-departures-head p{font-size:12px}.ri-hero-metrics>div{min-width:120px;padding:13px 10px}.ri-control-header{padding:13px}.ri-control-header>span{display:none}.ri-control-header small{font-size:9px}.ri-control-grid{padding:14px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.ri-field-search{grid-column:span 2}.ri-field>span{font-size:9px}.ri-field :is(input,select){font-size:11px!important;padding:8px!important}.ri-sector-pills{padding:0 14px 13px}.ri-results-head{padding:12px;align-items:flex-start}.ri-availability-note{display:none}.ri-results-head h2{font-size:14px}.ri-results-head p{font-size:10px}.ri-flight-summary{grid-template-columns:90px minmax(0,1fr)}.ri-flight-airline{padding:12px 5px;grid-column:1;grid-row:1;border-bottom:1px solid #e5ebdf}.ri-airline-logo{width:51px;height:48px}.ri-airline-logo img{max-width:42px;max-height:39px}.ri-flight-airline strong{font-size:10px}.ri-flight-code{font-size:9px;padding:4px}.ri-flight-schedule{grid-column:2;grid-row:1;padding:13px 11px}.ri-schedule-line{gap:7px}.ri-schedule-line strong{font-size:12px}.ri-schedule-line small{font-size:8px}.ri-flight-path{font-size:12px}.ri-route-main strong{font-size:12px}.ri-route-main span{font-size:9px}.ri-flight-extra{font-size:9px}.ri-flight-facts{grid-column:1/2;grid-row:2;display:flex;flex-direction:column;gap:7px;align-items:center;padding:9px 4px}.ri-badge{font-size:9px;padding:6px 7px}.ri-flight-price{grid-column:2;grid-row:2;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:3px;padding:12px}.ri-flight-price>div strong{font-size:17px}.ri-flight-price>small:nth-of-type(2){display:none}.ri-toggle{margin-top:7px;flex-basis:100%;font-size:10px!important}.ri-flight-details{padding:11px}.ri-flight-legs{grid-template-columns:1fr}.ri-option{grid-template-columns:1fr 1fr;gap:11px;padding:12px}.ri-option-copy{grid-column:1/-1}.ri-option-prices{grid-column:1}.ri-option-prices strong{font-size:15px}.ri-option-actions{grid-column:2}.ri-results-head .ri-results-icon{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.ri-departures *{transition:none!important;animation:none!important}}
