.rv2-booking-flow,.rv2-booking-confirmation,.rv2-my-bookings{max-width:1120px;margin:0 auto;padding:34px 18px;color:#10233f}.rv2-booking-flow{background:#f5f8fb}.rv2-booking-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#071a2f,#12466f);color:#fff;border-radius:12px;padding:34px;margin-bottom:20px;box-shadow:0 18px 42px rgba(7,26,47,.18)}.rv2-booking-hero:after{content:"";position:absolute;inset:auto -60px -120px auto;width:220px;height:220px;background:#f47b20;opacity:.16;border-radius:50%}.rv2-booking-hero span{text-transform:uppercase;font-size:12px;font-weight:850;color:#ffb26f;letter-spacing:0}.rv2-booking-hero h1{margin:8px 0;font-size:clamp(30px,5vw,54px);line-height:1.05}.rv2-booking-hero p{max-width:720px;color:#dce8f2}.rv2-booking-hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.rv2-booking-hero-meta strong{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 12px;font-size:13px}.rv2-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none;padding:0;margin:0 0 18px}.rv2-progress li{background:#fff;border:1px solid #e0e8f1;border-radius:10px;padding:11px;text-align:center;font-weight:800;font-size:13px;color:#30455f}.rv2-booking-form section,.rv2-booking-card{background:#fff;border:1px solid #e0e8f1;border-radius:12px;padding:20px;margin:16px 0;box-shadow:0 14px 34px rgba(16,35,63,.07)}.rv2-step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.rv2-step-head>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#f47b20;color:#fff;font-weight:900}.rv2-step-head h2{margin:0;font-size:22px}.rv2-step-head p{margin:3px 0 0;color:#64748b}.rv2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rv2-form-grid label,.rv2-booking-form label{display:flex;flex-direction:column;gap:6px;font-weight:750}.rv2-form-grid input,.rv2-form-grid select,.rv2-form-grid textarea{width:100%;border:1px solid #cfd7e3;border-radius:9px;padding:12px 13px;font:inherit;background:#fff}.rv2-wide{grid-column:1/-1}.rv2-stepper{align-items:flex-start}.rv2-stepper>div{display:inline-grid;grid-template-columns:44px 72px 44px;align-items:center;width:auto;max-width:160px}.rv2-stepper input{width:72px!important;min-width:0;text-align:center;border-radius:0!important;padding:0!important;height:44px;line-height:44px;-moz-appearance:textfield}.rv2-stepper input::-webkit-outer-spin-button,.rv2-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rv2-step-minus,.rv2-step-plus{width:44px;min-width:44px;height:44px;border:1px solid #cfd7e3;background:#f8fafc;font-size:22px;font-weight:900;color:#10233f;cursor:pointer;touch-action:manipulation}.rv2-step-minus{border-radius:9px 0 0 9px}.rv2-step-plus{border-radius:0 9px 9px 0}.rv2-location-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px}.rv2-location-pair>span{align-self:center;color:#64748b;font-weight:800;text-transform:uppercase;font-size:12px}.rv2-location-readonly{border:1px solid #dbe5ef;background:#f8fafc;border-radius:12px;padding:16px}.rv2-location-readonly span,.rv2-review-grid span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.rv2-location-readonly strong{display:block;margin-top:5px;font-size:18px}.rv2-field-note{align-self:end;color:#64748b;margin:0;font-size:13px}.rv2-derived-adults{margin-top:7px;color:#516174;font-size:13px;font-weight:700}.rv2-live-price{margin-top:16px;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:14px;color:#10233f}.rv2-live-price strong{display:block;margin-bottom:4px}.rv2-live-price span{font-size:18px;font-weight:850}.rv2-live-price small{display:block;margin-top:4px;color:#7c4a03;font-weight:650}.rv2-review-panel{border:1px solid #dbe5ef;background:#f8fafc;border-radius:12px;padding:16px;margin-bottom:14px}.rv2-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rv2-review-grid>div{background:#fff;border:1px solid #e5edf5;border-radius:10px;padding:12px}.rv2-review-grid strong{display:block;margin-top:4px}.rv2-booking-submit,.rv2-final-checkout,.rv2-review-back,.rv2-doc-links a{border:0;border-radius:9px;background:#e45f23;color:#fff;padding:13px 18px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;margin-top:10px;cursor:pointer}.rv2-final-checkout{background:#0f3f66}.rv2-review-back{background:#eef3f8;color:#10233f;margin-left:8px}.rv2-booking-submit,.rv2-final-checkout{font-size:17px}.rv2-booking-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:10px;padding:12px 14px;margin:12px 0}.rv2-doc-links{display:flex;gap:10px;flex-wrap:wrap}.rv2-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.rv2-book-link{background:#e45f23;color:#fff!important;padding:10px 13px;border-radius:8px;text-decoration:none;box-shadow:0 8px 18px rgba(228,95,35,.22)}@media(max-width:760px){.rv2-progress,.rv2-form-grid,.rv2-review-grid,.rv2-location-pair{grid-template-columns:1fr}.rv2-location-pair>span{display:none}.rv2-booking-flow,.rv2-booking-confirmation,.rv2-my-bookings{padding:22px 14px}.rv2-booking-hero{padding:26px 18px}.rv2-booking-submit,.rv2-final-checkout,.rv2-review-back{width:100%;margin-left:0}.rv2-booking-hero-meta{display:grid}.rv2-progress li{text-align:left}}
.rv2-hotel-search,.rv2-hotel-page,.rv2-hotel-booking{max-width:1180px;margin:0 auto;padding:28px 18px;color:#13233a}.rv2-hotel-search-form{background:#fff;border:1px solid #dce6ef;border-radius:10px;padding:16px;box-shadow:0 10px 28px rgba(17,35,58,.08)}.rv2-hotel-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.rv2-hotel-search-grid label{display:flex;flex-direction:column;gap:5px;font-weight:750}.rv2-hotel-search-grid input,.rv2-hotel-search-grid select{min-height:42px;border:1px solid #cfd9e3;border-radius:8px;padding:8px 10px;font:inherit;background:#fff}.rv2-hotel-search-grid button,.rv2-hotel-book{min-height:42px;border:0;border-radius:8px;background:#e45f23;color:#fff!important;padding:10px 14px;text-decoration:none;font-weight:850;text-align:center}.rv2-hotel-results{display:grid;gap:16px;margin-top:18px}.rv2-hotel-card{display:grid;grid-template-columns:280px 1fr;gap:16px;border:1px solid #dce6ef;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(17,35,58,.08)}.rv2-hotel-card-media img,.rv2-hotel-card-media .rv2-hotel-img-fallback{width:100%;height:100%;min-height:210px;object-fit:cover;display:grid;place-items:center;background:#153d63;color:#fff;font-weight:900}.rv2-hotel-card-body{padding:16px;display:grid;gap:6px}.rv2-hotel-card h3{font-size:24px;margin:0}.rv2-hotel-card h3 a{color:#10233f;text-decoration:none}.rv2-hotel-card strong{font-size:20px;color:#10233f}.rv2-hotel-card small{color:#64748b}.rv2-hotel-pill{display:inline-flex;width:max-content;border:1px solid #d9e3ed;background:#f6fafc;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;color:#163b5c}.rv2-hotel-amenity-line{color:#475569}.rv2-hotel-gallery{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:170px;gap:8px;margin:16px 0}.rv2-hotel-gallery figure{margin:0;overflow:hidden;border-radius:8px;background:#eef3f8}.rv2-hotel-gallery figure.is-main{grid-row:span 2}.rv2-hotel-gallery img{width:100%;height:100%;object-fit:cover;display:block}.rv2-hotel-gallery-empty{grid-template-columns:1fr;min-height:280px;background:#153d63;color:#fff;border-radius:10px;place-items:center;font-size:28px;font-weight:900}.rv2-hotel-photo-count{position:absolute;right:12px;bottom:12px;background:rgba(16,35,63,.9);color:#fff;border-radius:999px;padding:7px 10px;font-weight:800}.rv2-hotel-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.rv2-hotel-main>div,.rv2-hotel-main aside,.rv2-room-option,.rv2-hotel-review-summary{background:#fff;border:1px solid #dce6ef;border-radius:10px;padding:18px;box-shadow:0 10px 24px rgba(17,35,58,.06)}.rv2-hotel-main h1{font-size:36px;line-height:1.12;margin:6px 0}.rv2-hotel-location{font-weight:700;color:#52657a}.rv2-hotel-rooms{margin-top:22px}.rv2-room-option{display:grid;grid-template-columns:240px 1fr;gap:16px;margin:14px 0}.rv2-room-image{min-height:160px;border-radius:8px;background:#eef3f8;display:grid;place-items:center;color:#536579;font-weight:850;overflow:hidden}.rv2-room-image img{width:100%;height:100%;object-fit:cover}.rv2-rate-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-top:1px solid #e4edf4;padding:12px 0}.rv2-rate-row em{color:#8a1f1f}.rv2-hotel-review{display:grid;grid-template-columns:1fr 420px;gap:18px;align-items:start}.rv2-hotel-review dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.rv2-hotel-review dl div{border:1px solid #e4edf4;border-radius:8px;padding:10px}.rv2-hotel-review dt{color:#64748b;font-size:12px;font-weight:850;text-transform:uppercase}.rv2-hotel-review dd{margin:4px 0 0;font-weight:850}.rv2-hotel-total{background:#f8fafc}.rv2-empty{background:#fff;border:1px solid #dce6ef;border-radius:10px;padding:16px}@media(max-width:900px){.rv2-hotel-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rv2-hotel-card,.rv2-hotel-main,.rv2-room-option,.rv2-hotel-review{grid-template-columns:1fr}.rv2-hotel-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.rv2-hotel-gallery figure.is-main{grid-column:1/-1;grid-row:span 1;min-height:230px}.rv2-rate-row{grid-template-columns:1fr}.rv2-hotel-book{display:block}}@media(max-width:560px){.rv2-hotel-search,.rv2-hotel-page,.rv2-hotel-booking{padding:18px 12px}.rv2-hotel-search-grid,.rv2-hotel-review dl{grid-template-columns:1fr}.rv2-hotel-card-media img,.rv2-hotel-card-media .rv2-hotel-img-fallback{min-height:190px}.rv2-hotel-main h1{font-size:30px}.rv2-hotel-gallery{display:block}.rv2-hotel-gallery figure{height:220px;margin-bottom:8px}.rv2-hotel-gallery figure:not(.is-main){display:none}}
.rv2-payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rv2-payment-options label{border:1px solid #dbe5ef;border-radius:12px;background:#fff;padding:14px;display:grid!important;grid-template-columns:auto 1fr;gap:4px 9px;cursor:pointer}.rv2-payment-options input{grid-row:1/span 2;margin-top:4px}.rv2-payment-options strong{font-size:16px}.rv2-payment-options span{color:#64748b;font-size:13px}.rv2-payment-preview{margin-top:12px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:12px;padding:13px}.rv2-payment-preview strong,.rv2-payment-preview span{display:block}.rv2-payment-preview span{color:#166534;margin-top:3px;font-weight:700}@media(max-width:760px){.rv2-payment-options{grid-template-columns:1fr}}
.rv2-pax-warning{margin-top:12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:10px;padding:11px 13px;font-weight:850}.rv2-pax-warning:empty{display:none}.rv2-room-guidance{margin-top:12px;border:1px solid #bfdbfe;background:#eff6ff;color:#123c69;border-radius:10px;padding:11px 13px;font-weight:800}.rv2-booking-submit:disabled,.rv2-final-checkout:disabled{opacity:.55;cursor:not-allowed}

.rv2-car-search,.rv2-car-detail{max-width:1180px;margin:0 auto;padding:30px 18px;color:#13231d}.rv2-search-panel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;background:#fff;border:1px solid #dbe5df;border-radius:10px;padding:16px;box-shadow:0 14px 34px rgba(16,35,63,.07)}.rv2-search-panel label,.rv2-car-detail aside label{display:flex;flex-direction:column;gap:6px;font-weight:800}.rv2-search-panel input,.rv2-search-panel select,.rv2-car-detail aside input,.rv2-car-detail aside select,.rv2-car-detail aside textarea{min-height:42px;border:1px solid #cfd9e3;border-radius:8px;padding:9px 10px;font:inherit;background:#fff}.rv2-search-panel button,.rv2-car-detail aside button,.rv2-car-book{min-height:42px;border:0;border-radius:8px;background:#f47b20;color:#fff!important;padding:10px 14px;text-decoration:none;font-weight:900;text-align:center}.rv2-car-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.rv2-car-card{background:#fff;border:1px solid #dbe5df;border-radius:10px;overflow:hidden;box-shadow:0 14px 34px rgba(16,35,63,.08);display:grid;grid-template-rows:auto 1fr}.rv2-car-media{display:block;background:#eef4f1;min-height:220px}.rv2-car-media img{width:100%;height:220px;object-fit:cover;display:block}.rv2-car-media span{display:grid;place-items:center;height:220px;background:#0e314f;color:#fff;font-weight:900}.rv2-car-body{padding:18px;display:grid;gap:8px}.rv2-card-kicker{color:#f47b20;text-transform:uppercase;font-size:12px;font-weight:900}.rv2-car-body h3{margin:0;font-size:24px;line-height:1.25}.rv2-car-body h3 a{color:#13231d;text-decoration:none}.rv2-car-specs{display:flex;gap:8px;flex-wrap:wrap}.rv2-car-specs span,.rv2-car-rating{border:1px solid #dbe5df;background:#f8fbf9;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850;color:#475b52}.rv2-car-route{margin:2px 0;color:#5c6c65}.rv2-car-price{font-size:22px;color:#10233f}.rv2-car-body small{color:#64748b;font-weight:700}.rv2-car-book{width:max-content;margin-top:6px}.rv2-car-hero{display:grid;grid-template-columns:minmax(320px,48%) 1fr;gap:28px;align-items:center;background:#0e314f;color:#fff;border-radius:12px;overflow:hidden;margin-bottom:24px}.rv2-car-hero img{width:100%;height:360px;object-fit:cover;display:block}.rv2-car-hero>div{padding:28px}.rv2-car-hero p:first-child{color:#ffb26f;text-transform:uppercase;font-weight:900}.rv2-car-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:8px 0}.rv2-car-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.rv2-car-grid>div,.rv2-car-grid aside{background:#fff;border:1px solid #dbe5df;border-radius:10px;padding:20px;box-shadow:0 12px 28px rgba(16,35,63,.06)}.rv2-price-box{border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:14px;margin:12px 0;display:grid;gap:4px}.rv2-price-box strong{font-size:24px}.rv2-price-box small{color:#7c4a03;font-weight:800}.rv2-car-reviews{margin-top:24px;border-top:1px solid #dbe5df;padding-top:18px}.rv2-car-reviews article{border:1px solid #e2e8f0;border-radius:9px;padding:12px;margin-top:10px;background:#fbfdfc}.rv2-car-reviews article span{float:right;color:#f47b20;font-weight:900}.rv2-partner-docs{border:1px solid #dbe5df;background:#fbfdfc;border-radius:12px;padding:14px}.rv2-partner-docs h3{margin:0 0 6px}.rv2-partner-docs p{margin:0 0 12px;color:#64748b;font-weight:700}@media(max-width:980px){.rv2-search-panel,.rv2-car-results,.rv2-car-hero,.rv2-car-grid{grid-template-columns:1fr}.rv2-car-hero img{height:260px}.rv2-car-book{width:100%}}
.rv2-car-empty{grid-column:1/-1;background:#fff;border:1px solid #dbe5df;border-radius:12px;padding:26px;box-shadow:0 14px 34px rgba(16,35,63,.07)}.rv2-car-empty h2{margin:0 0 8px;color:#10233f}.rv2-car-empty p{margin:0 0 14px;color:#64748b}.rv2-car-available{display:inline-flex;width:max-content;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.rv2-partner-registration{max-width:1120px;margin:0 auto;padding:34px 18px}.rv2-partner-registration>h1{font-size:clamp(36px,5vw,60px);line-height:1.05;margin:0 0 10px;color:#13231d}.rv2-partner-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.rv2-partner-options a{display:flex;align-items:center;justify-content:center;min-height:48px;background:#fff;color:#10233f;border:1px solid #dbe5df;border-radius:10px;text-decoration:none;font-weight:900}.rv2-partner-options a:hover{background:#f47b20;color:#fff}@media(max-width:900px){.rv2-partner-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.rv2-partner-options{grid-template-columns:1fr}}

.rv2-hotel-empty{background:#fff;border:1px solid #dbe5df;border-radius:12px;padding:26px;margin-top:18px;box-shadow:0 14px 34px rgba(16,35,63,.07)}.rv2-hotel-empty h2{margin:0 0 8px;color:#10233f}.rv2-hotel-empty p{margin:0 0 14px;color:#64748b}.rv2-hotel-available{display:inline-flex;width:max-content;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;margin:4px 0}.rv2-hotel-card-body{display:grid;gap:8px}.rv2-hotel-card-body .rv2-hotel-book{width:max-content;margin-top:4px}@media(max-width:640px){.rv2-hotel-card-body .rv2-hotel-book{width:100%}}

.rv2-activity-empty,
.rv2-guide-empty {
  grid-column: 1 / -1;
  padding: 32px;
  border: 1px solid rgba(13, 36, 48, 0.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(13, 36, 48, 0.06);
}

.rv2-activity-empty h3,
.rv2-guide-empty h3 {
  margin: 0 0 8px;
}

.rv2-activity-empty a,
.rv2-guide-empty a {
  display: inline-flex;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 8px;
  background: #ff781f;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.rv2-service-available {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(255, 120, 31, 0.1);
  color: #d95d0b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.rv2-card-fallback {
  display: grid;
  min-height: 220px;
  place-items: center;
  background: linear-gradient(135deg, #0d2430, #27606f);
  color: #fff;
  font-size: 22px;
  font-weight: 800;
}

.rv2-muted {
  color: #64756f;
  font-size: 14px;
}
.rv2-car-ids{display:flex;gap:8px;flex-wrap:wrap}.rv2-car-ids span{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.rv2-driver-chip{display:flex;align-items:center;gap:10px;border:1px solid #dbe5df;background:#fbfdfc;border-radius:8px;padding:8px 10px;width:max-content;max-width:100%}.rv2-driver-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}.rv2-driver-chip span{font-size:12px;font-weight:900;color:#475569}@media(max-width:640px){.rv2-driver-chip,.rv2-car-ids{width:100%}.rv2-driver-chip{justify-content:flex-start}.rv2-car-ids span{flex:1 1 auto;text-align:center}}


.rv2-car-card-balanced{height:100%;grid-template-rows:auto 1fr}.rv2-car-card-balanced .rv2-car-body{grid-template-rows:auto auto auto auto 1fr auto;min-height:330px}.rv2-car-card-balanced .rv2-car-body h3{min-height:60px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rv2-car-card-balanced .rv2-car-book{align-self:end}.rv2-car-rate-list{display:grid;gap:8px;margin:8px 0 4px}.rv2-car-rate-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe5df;background:#f8fbf9;border-radius:8px;padding:10px 12px}.rv2-car-rate-row span{font-size:13px;line-height:1.25;color:#475b52;font-weight:850}.rv2-car-rate-row strong{white-space:nowrap;color:#10233f;font-size:18px}.rv2-car-ids{margin-top:-2px}.rv2-car-ids span{background:#eef6ff;border-color:#cfe2f3;color:#15324a}.rv2-driver-chip:empty{display:none}@media(max-width:640px){.rv2-car-card-balanced .rv2-car-body{min-height:0}.rv2-car-card-balanced .rv2-car-body h3{min-height:0}.rv2-car-rate-row{align-items:flex-start;flex-direction:column}.rv2-car-rate-row strong{font-size:20px}}



.rv2-car-card .rv2-car-media{height:230px;min-height:230px;aspect-ratio:16/10;overflow:hidden}.rv2-car-card .rv2-car-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.rv2-car-card .rv2-car-media span{height:100%;min-height:230px}.rv2-car-results{align-items:stretch}.rv2-car-gallery{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px;margin:-8px 0 24px}.rv2-car-gallery-main,.rv2-car-gallery-strip a{display:block;overflow:hidden;border-radius:10px;background:#eef4f1;border:1px solid #dbe5df}.rv2-car-gallery-main{height:430px}.rv2-car-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.rv2-car-gallery-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rv2-car-gallery-strip a{height:132px}.rv2-car-gallery-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease}.rv2-car-gallery-strip a:hover img{transform:scale(1.04)}@media(max-width:980px){.rv2-car-card .rv2-car-media{height:220px;min-height:220px}.rv2-car-gallery{grid-template-columns:1fr}.rv2-car-gallery-main{height:300px}.rv2-car-gallery-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.rv2-car-gallery-strip a{height:110px}}@media(max-width:560px){.rv2-car-gallery-main{height:240px}.rv2-car-gallery-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.rv2-car-gallery-strip a{height:96px}}


.rv2-car-results{align-items:stretch}.rv2-car-results>.rv2-car-card{height:100%;display:grid;grid-template-rows:230px 1fr}.rv2-car-results>.rv2-car-card>.rv2-car-media{height:230px;min-height:230px;aspect-ratio:auto}.rv2-car-results>.rv2-car-card>.rv2-car-media img,.rv2-car-results>.rv2-car-card>.rv2-car-media span{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;display:block}.rv2-car-results>.rv2-car-card>.rv2-car-media span{display:grid;place-items:center}.rv2-car-results>.rv2-car-card>.rv2-car-body{display:flex;flex-direction:column;min-height:330px;height:100%}.rv2-car-results>.rv2-car-card .rv2-card-kicker{min-height:15px}.rv2-car-results>.rv2-car-card h3{min-height:60px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rv2-car-results>.rv2-car-card .rv2-car-specs{min-height:32px}.rv2-car-results>.rv2-car-card .rv2-car-route{min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rv2-car-results>.rv2-car-card .rv2-car-rate-list{min-height:116px}.rv2-car-results>.rv2-car-card .rv2-car-book{margin-top:auto;align-self:flex-start}@media(max-width:980px){.rv2-car-results>.rv2-car-card{grid-template-rows:220px 1fr}.rv2-car-results>.rv2-car-card>.rv2-car-media{height:220px;min-height:220px}.rv2-car-results>.rv2-car-card>.rv2-car-body{min-height:0}.rv2-car-results>.rv2-car-card .rv2-car-book{align-self:stretch}}@media(max-width:560px){.rv2-car-results>.rv2-car-card h3,.rv2-car-results>.rv2-car-card .rv2-car-route,.rv2-car-results>.rv2-car-card .rv2-car-rate-list,.rv2-car-results>.rv2-car-card .rv2-car-specs{min-height:0}}

.rv2-hotel-book-secondary{background:#0f3f66!important}.rv2-hotel-review-summary .rv2-hotel-total{background:#f0fdf4;border-color:#bbf7d0}.rv2-hotel-review-summary dl div{min-width:0}.rv2-payment-options{margin:0 0 16px}.rv2-booking-card h3{margin:18px 0 10px}.rv2-rate-row .rv2-hotel-book-secondary{margin-left:0}


/* Rayvia live fix 2026-09-20: single hotel sidebar search form polish. */
body.single-rayvia_hotel .rv2-hotel-main {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 400px) !important;
	gap: 26px !important;
}

body.single-rayvia_hotel .rv2-hotel-main aside {
	position: sticky !important;
	top: 92px !important;
	align-self: start !important;
	padding: 16px !important;
	border-radius: 12px !important;
}

body.single-rayvia_hotel .rv2-hotel-main aside .rv2-hotel-search {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.single-rayvia_hotel .rv2-hotel-search-form {
	padding: 14px !important;
	border-radius: 10px !important;
	border-color: #d8e4ee !important;
	box-shadow: 0 14px 34px rgba(15, 23, 42, .08) !important;
}

body.single-rayvia_hotel .rv2-hotel-search-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 10px !important;
	align-items: stretch !important;
}

body.single-rayvia_hotel .rv2-hotel-search-grid label,
body.single-rayvia_hotel .rv2-hotel-search-grid .rv2-field {
	display: grid !important;
	min-width: 0 !important;
	gap: 5px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

body.single-rayvia_hotel .rv2-hotel-search-grid label span,
body.single-rayvia_hotel .rv2-hotel-search-grid .rv2-field > span {
	display: block !important;
	min-height: 0 !important;
	color: #24384f !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: normal !important;
}

body.single-rayvia_hotel .rv2-hotel-search-grid input,
body.single-rayvia_hotel .rv2-hotel-search-grid select {
	width: 100% !important;
	min-width: 0 !important;
	min-height: 42px !important;
	padding: 9px 10px !important;
	border: 1px solid #cfd9e3 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #101828 !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
}

body.single-rayvia_hotel .rv2-hotel-search-grid input:focus,
body.single_rayvia_hotel .rv2-hotel-search-grid select:focus,
body.single-rayvia_hotel .rv2-hotel-search-grid select:focus {
	border-color: #0f766e !important;
	box-shadow: 0 0 0 3px rgba(15, 118, 110, .14) !important;
	outline: 0 !important;
}

body.single-rayvia_hotel .rv2-context-note {
	margin: 2px 0 0 !important;
	color: #667085 !important;
	font-size: 11px !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
}

body.single-rayvia_hotel .rv2-hotel-search-grid button {
	width: 100% !important;
	min-height: 46px !important;
	margin-top: 2px !important;
	border-radius: 8px !important;
	background: #f47b20 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	box-shadow: 0 12px 24px rgba(244, 123, 32, .2) !important;
}

body.single-rayvia_hotel .rv2-hotel-search .rv2-empty {
	margin: 12px 0 0 !important;
	padding: 13px !important;
	border: 1px solid #e1e8f0 !important;
	border-radius: 10px !important;
	background: #f8fbff !important;
	color: #344054 !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

@media (max-width: 980px) {
	body.single-rayvia_hotel .rv2-hotel-main {
		grid-template-columns: 1fr !important;
	}

	body.single-rayvia_hotel .rv2-hotel-main aside {
		position: static !important;
	}
}

@media (max-width: 560px) {
	body.single-rayvia_hotel .rv2-hotel-main aside {
		padding: 12px !important;
	}

	body.single-rayvia_hotel .rv2-hotel-search-form {
		padding: 12px !important;
	}
}
/* Rayvia live fix 2026-09-20: room booking panel separation. */
.rv2-room-option--bookable {
	grid-template-columns: 280px minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: stretch !important;
}

.rv2-room-option--bookable .rv2-room-image {
	min-height: 260px !important;
}

.rv2-room-body {
	display: grid !important;
	gap: 12px !important;
	min-width: 0 !important;
}

.rv2-room-heading {
	display: flex !important;
	gap: 14px !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
}

.rv2-room-heading h3 {
	margin: 0 0 6px !important;
	font-size: 24px !important;
	line-height: 1.2 !important;
}

.rv2-room-heading p {
	margin: 0 !important;
	color: #475569 !important;
	line-height: 1.55 !important;
}

.rv2-room-heading > span,
.rv2-room-rule {
	border: 1px solid #dbe7f0 !important;
	background: #f8fbff !important;
	color: #17324d !important;
	font-weight: 850 !important;
}

.rv2-room-heading > span {
	flex: 0 0 auto !important;
	border-radius: 999px !important;
	padding: 7px 10px !important;
	font-size: 12px !important;
	white-space: nowrap !important;
}

.rv2-room-rule {
	margin: 0 !important;
	border-radius: 8px !important;
	padding: 9px 11px !important;
	font-size: 13px !important;
}

.rv2-room-book-panel {
	border: 1px solid #dce6ef !important;
	border-radius: 10px !important;
	background: #fff !important;
	padding: 14px !important;
	box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
}

.rv2-room-plan-head {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 12px !important;
}

.rv2-room-plan-head strong,
.rv2-room-plan-head span,
.rv2-room-plan-head b,
.rv2-room-plan-head em {
	display: block !important;
}

.rv2-room-plan-head strong {
	color: #10233f !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
}

.rv2-room-plan-head span {
	margin-top: 3px !important;
	color: #64748b !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}

.rv2-room-plan-head b {
	color: #0f5132 !important;
	font-size: 20px !important;
	white-space: nowrap !important;
}

.rv2-price-stack {
	display: grid !important;
	gap: 3px !important;
	justify-items: end !important;
	text-align: right !important;
}

.rv2-price-stack small {
	color: #64748b !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.rv2-room-rate-note {
	margin: -4px 0 12px !important;
	color: #40556f !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.rv2-room-plan-head em {
	color: #8a1f1f !important;
	font-size: 13px !important;
	font-style: normal !important;
	font-weight: 800 !important;
	text-align: right !important;
}

.rv2-room-mini-booking {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
	align-items: end !important;
}

.rv2-room-mini-booking label {
	display: grid !important;
	gap: 5px !important;
	min-width: 0 !important;
	font-weight: 850 !important;
}

.rv2-room-mini-booking label span {
	color: #24384f !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

.rv2-room-mini-booking input,
.rv2-room-mini-booking select {
	width: 100% !important;
	min-width: 0 !important;
	min-height: 42px !important;
	border: 1px solid #cfd9e3 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #101828 !important;
	font: inherit !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	padding: 9px 10px !important;
}

.rv2-room-mini-booking small {
	color: #64748b !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.rv2-room-mini-booking button {
	min-height: 44px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #e45f23 !important;
	color: #fff !important;
	font-weight: 950 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	padding: 10px 14px !important;
	cursor: pointer !important;
	box-shadow: 0 12px 24px rgba(228, 95, 35, .2) !important;
}

@media (max-width: 980px) {
	.rv2-room-option--bookable {
		grid-template-columns: 1fr !important;
	}

	.rv2-room-option--bookable .rv2-room-image {
		min-height: 220px !important;
	}

	.rv2-room-mini-booking {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 560px) {
	.rv2-room-heading,
	.rv2-room-plan-head {
		display: grid !important;
		justify-content: stretch !important;
	}

	.rv2-room-heading > span,
	.rv2-room-plan-head b,
	.rv2-room-plan-head em,
	.rv2-price-stack {
		width: max-content !important;
		max-width: 100% !important;
		text-align: left !important;
	}

	.rv2-room-mini-booking {
		grid-template-columns: 1fr !important;
	}

	.rv2-room-mini-booking button {
		width: 100% !important;
	}
}



/* Rayvia live fix 2026-09-21: single hotel room-only booking flow. */
body.single-rayvia_hotel .rv2-hotel-main {
	display: block !important;
}

body.single-rayvia_hotel .rv2-hotel-main > div {
	max-width: none !important;
}

body.single-rayvia_hotel .rv2-hotel-main aside {
	display: none !important;
}

body.single-rayvia_hotel .rv2-hotel-rooms > h2 {
	margin-top: 0 !important;
}

/* Rayvia live fix 2026-09-21: hotel review payment layout polish. */
.rv2-hotel-booking .rv2-hotel-review {
	grid-template-columns: minmax(0, 1fr) minmax(420px, 520px) !important;
	gap: 26px !important;
}

.rv2-hotel-booking .rv2-booking-card {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px 18px !important;
	align-content: start !important;
}

.rv2-hotel-booking .rv2-booking-card h3,
.rv2-hotel-booking .rv2-payment-options,
.rv2-hotel-booking .rv2-booking-card button,
.rv2-hotel-booking .rv2-booking-card > input[type="hidden"],
.rv2-hotel-booking .rv2-booking-card > input[name="_wpnonce"],
.rv2-hotel-booking .rv2-booking-card > input[name="_wp_http_referer"] {
	grid-column: 1 / -1 !important;
}

.rv2-hotel-booking .rv2-booking-card h3 {
	margin: 4px 0 2px !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
}

.rv2-hotel-booking .rv2-payment-options {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 10px !important;
	margin: 2px 0 10px !important;
}

.rv2-hotel-booking .rv2-payment-options label {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	grid-template-areas: "radio title" "radio desc" !important;
	align-items: center !important;
	gap: 3px 12px !important;
	min-height: 72px !important;
	padding: 14px 16px !important;
	border-radius: 10px !important;
	border: 1px solid #d8e4ee !important;
	background: #fff !important;
}

.rv2-hotel-booking .rv2-payment-options label:has(input:checked) {
	border-color: #f47b20 !important;
	background: #fff7ed !important;
	box-shadow: 0 0 0 3px rgba(244, 123, 32, .12) !important;
}

.rv2-hotel-booking .rv2-payment-options input {
	grid-area: radio !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
}

.rv2-hotel-booking .rv2-payment-options strong {
	grid-area: title !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
	white-space: normal !important;
}

.rv2-hotel-booking .rv2-payment-options span {
	grid-area: desc !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	white-space: normal !important;
}

.rv2-hotel-booking .rv2-booking-card > label {
	display: grid !important;
	gap: 7px !important;
	font-weight: 850 !important;
	min-width: 0 !important;
}

.rv2-hotel-booking .rv2-booking-card > label:first-of-type {
	grid-column: 1 / -1 !important;
}

.rv2-hotel-booking .rv2-booking-card input[type="text"],
.rv2-hotel-booking .rv2-booking-card input[type="tel"],
.rv2-hotel-booking .rv2-booking-card input[type="email"] {
	width: 100% !important;
	min-height: 48px !important;
	border: 1px solid #cfd9e3 !important;
	border-radius: 10px !important;
	padding: 10px 12px !important;
	font: inherit !important;
	font-size: 15px !important;
	box-sizing: border-box !important;
}

.rv2-hotel-booking .rv2-booking-card button[type="submit"] {
	width: 100% !important;
	min-height: 54px !important;
	margin-top: 4px !important;
	border-radius: 10px !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
}

@media (max-width: 980px) {
	.rv2-hotel-booking .rv2-hotel-review,
	.rv2-hotel-booking .rv2-booking-card {
		grid-template-columns: 1fr !important;
	}
}
/* Rayvia live fix 2026-09-21: richer hotel detail/gallery layout. */
.rv2-hotel-page { padding-bottom: 32px; }
.rv2-hotel-page .rv2-hotel-gallery { grid-template-columns: minmax(0, 1.45fr) minmax(180px, .7fr) minmax(180px, .7fr) !important; grid-auto-rows: 190px !important; gap: 10px !important; margin: 8px 0 26px !important; }
.rv2-hotel-page .rv2-hotel-gallery figure { border-radius: 10px !important; box-shadow: 0 16px 36px rgba(15, 35, 58, .08) !important; }
.rv2-hotel-page .rv2-hotel-gallery figure.is-main { grid-row: span 2 !important; }
.rv2-hotel-info { padding: 24px !important; }
.rv2-hotel-detail-grid { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important; gap: 18px !important; align-items: start !important; }
.rv2-hotel-detail-grid section { border: 1px solid #e1e8f0 !important; border-radius: 10px !important; padding: 16px !important; background: #fbfdff !important; }
.rv2-hotel-detail-grid section:first-child { grid-row: span 2 !important; }
.rv2-hotel-detail-grid h2 { margin: 0 0 10px !important; font-size: 22px !important; }
.rv2-amenity-grid, .rv2-room-amenities { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.rv2-amenity-grid span, .rv2-room-amenities span { display: inline-flex !important; align-items: center !important; gap: 6px !important; border: 1px solid #cfe3d7 !important; background: #f1fbf5 !important; color: #174826 !important; border-radius: 999px !important; padding: 7px 10px !important; font-size: 13px !important; font-weight: 850 !important; }
.rv2-amenity-grid span:before, .rv2-room-amenities span:before { content: "\2713"; color: #15803d; font-weight: 950; }
.rv2-room-option--bookable { grid-template-columns: 330px minmax(0, 1fr) !important; }
.rv2-room-gallery { display: grid !important; grid-template-columns: 1fr 1fr !important; grid-template-rows: 165px 88px !important; gap: 8px !important; min-height: 260px !important; }
.rv2-room-gallery figure, .rv2-room-image-empty { margin: 0 !important; border-radius: 10px !important; overflow: hidden !important; background: #eef3f8 !important; border: 1px solid #dce6ef !important; }
.rv2-room-gallery figure.is-main { grid-column: 1 / -1 !important; }
.rv2-room-gallery img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.rv2-room-image-empty { min-height: 260px !important; display: grid !important; place-items: center !important; color: #536579 !important; font-weight: 850 !important; }
@media(max-width: 900px){ .rv2-hotel-detail-grid,.rv2-room-option--bookable{grid-template-columns:1fr!important}.rv2-hotel-detail-grid section:first-child{grid-row:auto!important}.rv2-hotel-page .rv2-hotel-gallery{grid-template-columns:1fr 1fr!important;grid-auto-rows:145px!important}.rv2-hotel-page .rv2-hotel-gallery figure.is-main{grid-column:1/-1!important;grid-row:auto!important;min-height:260px!important} }
@media(max-width: 560px){ .rv2-hotel-info{padding:16px!important}.rv2-hotel-page .rv2-hotel-gallery{display:block!important}.rv2-hotel-page .rv2-hotel-gallery figure{height:230px!important;margin-bottom:8px!important}.rv2-room-gallery{grid-template-rows:190px 86px!important}.rv2-amenity-grid span,.rv2-room-amenities span{font-size:12px!important} }
/* Rayvia tour booking polish 2026-10-07 */
.rv2-booking-flow{max-width:none;background:#f4f7fb;padding:34px 18px 52px}.rv2-booking-flow .rv2-booking-form{max-width:1120px;margin:0 auto}.rv2-booking-flow .rv2-step-card{border-radius:14px}.rv2-booking-flow .rv2-form-grid input:focus,.rv2-booking-flow .rv2-form-grid select:focus,.rv2-booking-flow .rv2-form-grid textarea:focus{outline:3px solid rgba(244,123,32,.16);border-color:#f47b20}.rv2-payment-options label:has(input:checked),.rv2-payment-options label.is-selected{border-color:#f47b20;background:#fff7ed;box-shadow:0 12px 28px rgba(244,123,32,.12)}.rv2-payment-options input{accent-color:#f47b20}.rv2-traveller-details{margin-top:18px;padding-top:16px;border-top:1px solid #e3ebf4}.rv2-traveller-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.rv2-traveller-head h3{margin:0;color:#10233f;font-size:20px}.rv2-traveller-head p{margin:0;color:#64748b;font-size:13px;line-height:1.45}.rv2-traveller-list{display:grid;gap:12px}.rv2-traveller-row{display:grid;grid-template-columns:1.4fr .55fr .75fr .85fr;gap:10px;align-items:end;padding:12px;border:1px solid #e0e8f1;border-radius:12px;background:#fbfdff}.rv2-traveller-row label{display:grid;gap:5px;font-weight:800}.rv2-traveller-row span{color:#475569;font-size:12px;text-transform:uppercase}.rv2-traveller-row input,.rv2-traveller-row select{width:100%;min-height:42px;border:1px solid #cfd7e3;border-radius:9px;background:#fff;padding:9px 10px;font:inherit}.rv2-payment-preview strong{font-size:17px;color:#14532d}.rv2-live-price span{font-size:22px}.rv2-final-checkout:not([hidden]){box-shadow:0 14px 30px rgba(15,63,102,.22)}.rv2-booking-submit:not([hidden]){box-shadow:0 14px 30px rgba(228,95,35,.22)}@media(max-width:860px){.rv2-traveller-head{display:block}.rv2-traveller-row{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rv2-traveller-row{grid-template-columns:1fr}.rv2-payment-options label{grid-template-columns:24px 1fr}.rv2-booking-flow{padding:22px 12px 42px}}
