/* Shuttle Bus V4.6 — live optional extras + subtle 3D-look passenger/suitcase icons. */
.sbs-site .sbs-v46-passengers {min-width:0}
.sbs-site .sbs-v46-pax-control {box-sizing:border-box;display:flex;align-items:center;gap:5px;min-height:51px;padding:0 5px 0 8px;background:#fffdf8;border:1px solid #d3c2a4;box-shadow:inset 0 2px 3px #142b3812}
.sbs-site .sbs-v46-passengers .sbs-v46-pax-control select {min-width:0;width:100%;box-sizing:border-box;margin:0;padding:11px 2px 11px 0!important;border:none!important;background:transparent!important;color:#172b39!important;font-size:12px;font-weight:700;box-shadow:none!important;appearance:auto;outline-offset:3px}
.sbs-site .sbs-v46-icon {display:inline-flex;flex:none;width:39px;height:39px;align-items:center;justify-content:center;perspective:250px;transform:translateZ(0);transition:transform .25s ease, filter .25s ease}
.sbs-site .sbs-v46-icon svg {width:100%;height:100%;filter:drop-shadow(1px 3px 2px #061a2c40)}
.sbs-site .sbs-v46-passengers:hover .sbs-v46-icon-person,.sbs-site .sbs-v46-extras-trigger:hover .sbs-v46-icon-bag {transform:rotateY(-13deg) translateY(-2px);filter:brightness(1.06)}
.sbs-site .sbs-v46-extras {position:relative;min-width:0;max-width:100%;box-sizing:border-box;align-self:end;z-index:12}
.sbs-site .sbs-v46-extras[open] {z-index:60}
.sbs-site .sbs-v46-extras::before {content:'Optional extras';display:block;color:#f9eacb;font-size:11px;font-weight:750;line-height:1.4;margin:0 0 8px}
.sbs-site .sbs-v46-extras-trigger {list-style:none;box-sizing:border-box;display:flex;gap:8px;align-items:center;min-height:51px;padding:4px 8px;border:1px solid #cba86f;color:#fff5e6;background:linear-gradient(125deg,#253c48,#122631);box-shadow:inset 0 0 0 1px #fff1ca16;cursor:pointer;user-select:none}
.sbs-site .sbs-v46-extras-trigger::-webkit-details-marker {display:none}
.sbs-site .sbs-v46-extras-trigger::marker {content:''}
.sbs-site .sbs-v46-icon-bag {width:41px;height:41px}
.sbs-site .sbs-v46-extras-caption {display:flex;flex-direction:column;min-width:0;gap:2px}
.sbs-site .sbs-v46-extras-caption strong {color:#ffe5ad!important;font-size:13px!important;line-height:1.1}
.sbs-site .sbs-v46-extras-caption small {color:#d4d9d6!important;font-size:10px!important;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}
.sbs-site .sbs-v46-chevron {color:#efc98e;font-size:20px;font-weight:700;margin-left:auto;transition:transform .2s}
.sbs-site .sbs-v46-extras[open] .sbs-v46-chevron {transform:rotate(180deg)}
.sbs-site .sbs-v46-extras.sbs-v46-has-items .sbs-v46-extras-trigger {border-color:#f1d191;background:linear-gradient(125deg,#314854,#172e3a)}
.sbs-site .sbs-v46-extras-panel {box-sizing:border-box;position:absolute;top:calc(100% + 6px);left:0;min-width:320px;width:min(445px,86vw);max-height:315px;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:#fffdf7;color:#152b3c;border:1px solid #d2b078;box-shadow:0 24px 48px #030d16aa;z-index:80}
.sbs-site .sbs-v46-extra-row {display:flex;justify-content:space-between;align-items:center;gap:13px;min-height:63px;padding:10px 8px;border-bottom:1px solid #e6dbc7;cursor:pointer}
.sbs-site .sbs-v46-extra-row:hover,.sbs-site .sbs-v46-extra-row:focus-within {background:#fcf4e5}
.sbs-site .sbs-v46-extra-info {display:flex;flex-direction:column;gap:4px;min-width:0;max-width:290px}
.sbs-site .sbs-v46-extra-info strong {color:#172b3b!important;font:750 13px/1.25 system-ui,sans-serif!important}
.sbs-site .sbs-v46-extra-info small {color:#536676!important;font:normal 10px/1.4 system-ui,sans-serif!important}
.sbs-site .sbs-v46-qty-wrap {display:flex;align-items:center;flex:none;gap:5px}
.sbs-site .sbs-v46-qty-select {box-sizing:border-box;min-width:62px;min-height:39px;padding:7px 6px;border:1px solid #b89a66!important;background:#fff!important;color:#182d3d!important;font:750 15px/1.25 system-ui,sans-serif!important;border-radius:2px;cursor:pointer}
.sbs-site .sbs-v46-extras-note,.sbs-site .sbs-v46-extras-wait {color:#526372!important;font:normal 11px/1.55 system-ui,sans-serif!important;margin:10px 6px 2px!important}
.sbs-site .sbs-v42-shell .sbs-v46-passengers>span:first-child {color:#f9eacb}
/* Large desktops: keep core route fields prominent with extras on a tidy second line. */
@media(min-width:1161px) {
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form,
  .sbs-site .sbs-v42-shell .sbs-v45-region-form {grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:13px 12px}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v42-direction {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v42-address {grid-column:span 5!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v42-service {grid-column:span 3!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v42-passengers {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v45-region-form .sbs-v42-address {grid-column:span 4!important}
  .sbs-site .sbs-v42-shell .sbs-v45-region-form .sbs-v42-service {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v45-region-form .sbs-v42-passengers {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v46-extras,
  .sbs-site .sbs-v42-shell .sbs-v45-region-form .sbs-v46-extras {grid-column:span 5!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v42-return,
  .sbs-site .sbs-v42-shell .sbs-v45-region-form .sbs-v42-return {grid-column:span 3!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form .sbs-v42-button,
  .sbs-site .sbs-v42-shell .sbs-v45-region-form .sbs-v42-button {grid-column:span 4!important}
  .sbs-site .sbs-v42-shell .sbs-v45-city-form .sbs-v46-extras {grid-column:span 3!important}
  .sbs-site .sbs-v42-shell .sbs-v45-city-form .sbs-v42-passengers {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v45-city-form .sbs-v42-return {grid-column:span 2!important}
}
/* Tablet: fields flow on a six-column grid without squeezing passenger or extras icons. */
@media(min-width:721px) and (max-width:1160px) {
  .sbs-site .sbs-v42-shell .sbs-v46-extras {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v46-passengers {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v42-return {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v42-button {grid-column:span 3!important}
}
/* Mobile: passenger and extras illustrated controls side by side. */
@media(max-width:720px) {
  .sbs-site .sbs-v42-shell .sbs-v46-passengers,.sbs-site .sbs-v42-shell .sbs-v46-extras {grid-column:span 1!important}
  .sbs-site .sbs-v46-icon-person {width:30px;height:30px}
  .sbs-site .sbs-v46-pax-control {padding-left:2px}
  .sbs-site .sbs-v46-icon-bag {width:32px;height:32px}
  .sbs-site .sbs-v46-extras-trigger {padding:4px 5px;gap:3px}
  .sbs-site .sbs-v46-extras-caption strong {font-size:12px!important}
  .sbs-site .sbs-v46-extras-caption small {font-size:9px!important}
  .sbs-site .sbs-v46-extras-panel {left:auto;right:0;width:min(370px,calc(100vw - 62px));min-width:0;max-height:300px}
  .sbs-site .sbs-v42-shell .sbs-v42-return {grid-column:1/-1!important}
  .sbs-site .sbs-v42-shell .sbs-v42-button {grid-column:1/-1!important}
}
@media(max-width:375px) {
  .sbs-site .sbs-v46-icon-person {width:25px;height:25px}
  .sbs-site .sbs-v46-icon-bag {width:29px;height:29px}
  .sbs-site .sbs-v46-pax-control select {font-size:11px!important}
  .sbs-site .sbs-v46-extras-caption small {font-size:9px!important}
}
@media(prefers-reduced-motion:reduce) {
  .sbs-site .sbs-v46-icon,.sbs-site .sbs-v46-chevron {transition:none!important}
  .sbs-site .sbs-v46-passengers:hover .sbs-v46-icon-person,.sbs-site .sbs-v46-extras-trigger:hover .sbs-v46-icon-bag {transform:none!important}
}
