/* Ekonichiwa v1.9.62 — presentation-only DP preview, both pages. */
.eko-home #packages .eko-featured-checkout {
 display:flex; align-items:center; justify-content:space-between; gap:8px;
 margin-top:auto; min-width:0; padding-top:2px;
}
.eko-home #packages .eko-featured-dp {
 display:flex; flex-direction:column; align-items:flex-start; gap:2px;
 min-width:0; flex:1 1 auto; color:#20252b;
}
.eko-home #packages .eko-featured-dp > span { font-size:10px; line-height:1.35; font-weight:400; color:#707780; }
.eko-home #packages .eko-featured-dp strong { color:#b42332; font-size:16px; line-height:1.25; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.eko-home #packages .eko-featured-dp strong:not(:first-child) { overflow-wrap:normal; }
.eko-home #packages .eko-featured-dp-idr { display:block; font-size:10px; line-height:1.4; color:#73777d; font-weight:400; white-space:nowrap; }
.eko-home #packages .eko-featured-checkout .eko-featured-book {
 flex:0 0 auto; align-self:center; width:auto !important; min-height:38px; margin:0;
 padding:9px 12px; font-size:11px; white-space:nowrap; border-radius:4px;
}
@media(max-width:370px) {
 .eko-home #packages .eko-featured-content { padding-left:11px; padding-right:11px; }
 .eko-home #packages .eko-featured-checkout { gap:6px; }
 .eko-home #packages .eko-featured-checkout .eko-featured-book { padding:9px 8px; font-size:10px; }
 .eko-home #packages .eko-featured-dp strong { font-size:14px; }
 .eko-home #packages .eko-featured-dp-idr { font-size:9px; }
}
.eko-booking .eko-step1-payment-preview { margin-top:18px; padding-top:17px; border-top:1px solid #eee9e5; }
.eko-booking .eko-step1-payment-preview[hidden] { display:none!important; }
.eko-booking .eko-step1-payment-preview h3 {
 margin:0 0 12px; font-size:14px; line-height:1.4; font-weight:650; color:#20252b;
}
.eko-booking .eko-step1-payment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.eko-booking .eko-step1-payment-option {
 display:flex; flex-direction:column; align-items:flex-start; gap:6px;
 min-width:0; padding:12px 11px; border-radius:8px; border:1px solid #ece7e3;
 background:#fff; color:#20252b;
}
.eko-booking .eko-step1-payment-option > span:first-child {
 font-size:12px; line-height:1.35; font-weight:600; color:#20252b;
}
.eko-booking .eko-step1-payment-option > strong {
 font-size:18px; line-height:1.3; font-weight:700; font-variant-numeric:tabular-nums;
 overflow-wrap:anywhere;
}
.eko-booking .eko-payment-idr { font-size:11px; line-height:1.4; color:#76777b; font-weight:400; }
.eko-booking .eko-payment-idr[hidden] { display:none!important; }
.eko-booking .eko-step1-payment-description { font-size:10px; line-height:1.4; color:#777b80; font-weight:400; }
.eko-booking .eko-step1-payment-note { margin:10px 0 0; font-size:11px; line-height:1.6; color:#777b80; }
@media(max-width:375px) {
 .eko-booking .eko-step1-payment-grid { gap:8px; }
 .eko-booking .eko-step1-payment-option { padding:10px 9px; gap:5px; }
 .eko-booking .eko-step1-payment-option > span:first-child { font-size:11px; }
 .eko-booking .eko-step1-payment-option > strong { font-size:16px; }
 .eko-booking .eko-payment-idr { font-size:10px; }
}

/* v1.9.64 — Active Step 1 payment choice, compact on small screens.
   Native radios remain keyboard accessible; last-stage choice is synchronized. */
.eko-booking .eko-step1-payment-option {
  position:relative; cursor:pointer; padding:12px 11px;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.eko-booking .eko-step1-payment-option > span:first-of-type {
  display:block; padding-right:18px;
  font-size:12px; line-height:1.35; font-weight:600; color:#20252b;
}
.eko-booking .eko-step1-payment-option input[type="radio"] {
  position:absolute; top:12px; right:10px; width:16px; height:16px;
  margin:0; accent-color:#b42332; cursor:pointer;
}
.eko-booking .eko-step1-payment-option:has(input:checked) {
  background:#fff8f8; border-color:#b42332;
  box-shadow:0 0 0 1px rgba(180,35,50,.11);
}
.eko-booking .eko-step1-payment-option:focus-within {
  outline:2px solid #b42332; outline-offset:2px;
}
.eko-booking .eko-step1-payment-option:has(input:disabled) {
  opacity:.57; cursor:not-allowed;
}
.eko-booking .eko-step1-payment-option:has(input:disabled) input { cursor:not-allowed; }
.eko-booking #eko-step1-dp-jpy { color:#b42332; }
.eko-booking .eko-step1-payment-grid[aria-invalid="true"] + .eko-field-error {
  margin:8px 0 0;
}
@media (max-width:375px) {
  .eko-booking .eko-step1-payment-option { padding:11px 9px; }
  .eko-booking .eko-step1-payment-option input[type="radio"] { top:11px; right:9px; width:15px; height:15px; }
  .eko-booking .eko-step1-payment-option > span:first-of-type { padding-right:15px; font-size:11px; }
}

/* v1.9.65 — Step 1 selection refinements only.
   The selected cards change BACKGROUND only; their normal 1 px gray borders
   retain the same color, width, shape and shadow as unselected cards.
   Booking totals, option values and checkout logic are unchanged. */
.eko-booking .eko-vehicle-grid .vehicle-card,
.eko-booking .eko-vehicle-grid .vehicle-card.active {
  border-color:#e1e3e7 !important;
  border-width:1px !important;
  border-style:solid !important;
  box-shadow:none !important;
}
.eko-booking .eko-vehicle-grid .vehicle-card:not(.active) {
  background-color:#fff !important;
}
.eko-booking .eko-vehicle-grid .vehicle-card.active {
  background-color:#fff0f1 !important;
}
.eko-booking .eko-step1-payment-option,
.eko-booking .eko-step1-payment-option:has(input:checked) {
  border-color:#ece7e3 !important;
  border-width:1px !important;
  border-style:solid !important;
  box-shadow:none !important;
}
.eko-booking .eko-step1-payment-option:has(input:checked) {
  background-color:#fff0f1 !important;
}
/* Do not show a mouse-click outline that resembles a red border.
   Preserve keyboard focus feedback for accessibility. */
.eko-booking .eko-step1-payment-option:focus-within { outline:none; }
.eko-booking .eko-step1-payment-option:has(input:focus-visible) {
  outline:2px solid #b42332;
  outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
  .eko-booking .eko-vehicle-grid .vehicle-card,
  .eko-booking .eko-step1-payment-option { transition:none !important; }
}
