/* Shared templates and booking logic; only the layout changes on narrow screens. */
.bet-site-menu-toggle {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  body.bet-site-design {
    min-width:0;
  }
  body.bet-site-design>header.bet-site-header {
    width:100%;
    margin:0 auto 16px;
    border-width:0 0 1px;
  }
  #bet-site-menu {
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:8px;
  }
  #bet-site-menu .bet-site-logo {
    justify-self:center;
    min-width:0;
  }
  #bet-site-menu .bet-site-logo img {
    max-width:100%;
  }
  #bet-site-menu.menu-ready .bet-site-menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#263b35;
    cursor:pointer;
  }
  #bet-site-menu .bet-site-tools {
    margin:0;
    gap:6px;
  }
  #bet-site-menu .bet-site-cart {
    min-height:44px;
    min-width:38px;
    justify-content:center;
  }
  #bet-site-menu .bet-site-languages summary {
    min-height:44px;
    display:flex;
    align-items:center;
    padding:0 5px;
    font-size:11px;
  }
  #bet-site-menu .bet-site-languages>div {
    top:44px;
  }
  #bet-site-menu .bet-site-links {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid #dce3e3;
  }
  #bet-site-menu.menu-ready:not(.menu-open) .bet-site-links {
    display:none;
  }
  #bet-site-menu .bet-site-links a {
    display:flex;
    align-items:center;
    border-radius:8px;
  }
  #bet-site-menu .bet-site-links a[aria-current=page] {
    background:#e8f5ef;
  }
  .bet-home-page,.bet-bikes-landing,.bet-route-detail,.bet-routes-landing {
    width:calc(100% - 32px);
  }
  .bet-bike-detail-grid,.bet-route-detail-grid {
    display:flex;
    flex-direction:column;
    gap:24px;
  }
  .bet-bike-detail-grid>div:first-child,.bet-route-detail-grid>[data-route-content] {
    display:contents;
  }
  .bet-bike-gallery,.bet-route-gallery {
    order:0;
    height:auto;
    aspect-ratio:4/3;
  }
  .bet-bike-thumbnails,.bet-route-thumbnails {
    order:1;
    margin:0;
  }
  .bet-bike-detail-summary {
    order:2;
    min-width:0;
  }
  .bet-route-summary {
    order:-1;
    min-width:0;
  }
  .bet-bike-information,.bet-route-tabs,.bet-route-panel {
    order:3;
  }
  .bet-bike-detail-summary h1,.bet-route-summary h1 {
    font-size:25px;
    line-height:1.25;
  }
  .bet-bike-detail .bet-bike-information {
    margin-top:0;
  }
  .bet-bike-tabs,.bet-route-tabs {
    flex-wrap:wrap;
  }
  .bet-bike-tabs button,.bet-route-tabs button {
    min-height:44px;
    font-size:12px;
  }
  .bet-inline-booking {
    padding:16px;
    font-size:14px;
  }
  .bet-inline-booking strong,.bet-inline-step h3 {
    font-size:15px;
  }
  .bet-inline-booking small {
    font-size:12px;
  }
  .bet-inline-booking input:not([type=checkbox]),.bet-inline-booking select {
    font-size:16px;
    height:48px;
    padding:10px;
  }
  .bet-inline-booking .bet-inline-primary {
    min-height:48px;
    font-size:14px;
  }
  .bet-inline-booking .bet-inline-step>a {
    font-size:12px;
  }
  .bet-route-bike-card-info strong {
    font-size:16px;
  }
  .bet-route-bike-card-info small {
    font-size:12px;
  }
  .bet-route-bike-card-info button,.bet-route-bike-picker>button,.bet-route-bike-selected button,.bet-route-bike-filters button {
    min-height:44px;
    font-size:13px;
  }
  .bet-route-bike-selected strong {
    font-size:14px;
  }
  .bet-route-bike-filters {
    flex-wrap:wrap;
  }
  .bet-route-bike-filters button {
    flex:1 1 80px;
  }
  .bet-route-related article {
    display:block;
  }
  .bet-route-related-link {
    display:inline-flex;
    align-items:center;
    font-size:13px;
  }
  .bet-home-availability input,.bet-bikes-dates input,.bet-routes-search input {
    font-size:16px;
    height:48px;
  }
  .bet-home-availability,.bet-bikes-dates,.bet-routes-search form {
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .bet-booking-widget label:has(.bet-booking-step):after {
    display:none;
  }
  .bet-booking-widget .bet-booking-step {
    min-height:0;
    font-size:12px;
  }
  .bet-booking-widget .bet-booking-submit .bet-booking-step {
    margin-bottom:10px;
  }
  .bet-checkout-design #cart #cart-form input:not([type=checkbox]):not([type=radio]),.bet-checkout-design #cart #cart-form select,.bet-checkout-design #cart #cart-form textarea {
    font-size:16px;
    min-height:48px;
  }
  .bet-checkout-design #cart #cart-summary {
    min-width:0;
  }
  .bet-checkout-design #cart #cart-summary #cart-total .text {
    white-space:normal;
    font-size:17px;
  }
  .bet-checkout-design #cart #cart-summary #cart-total .price {
    font-size:18px;
  }
  .bet-checkout-design #cart #checkout-next,.bet-checkout-design #cart #checkout-back {
    min-height:48px;
  }
  .checkout-review {
    font-size:13px;
  }
  .checkout-review-item small {
    font-size:12px;
  }
  .bet-footer-brand address {
    font-size:11px;
  }
  footer.bet-site-footer nav a {
    min-height:32px;
    display:flex;
    align-items:center;
  }
}
@media (max-width:600px) {
  .bet-home-hero {
    min-height:320px;
    padding:24px 18px;
    background-position:60% center;
  }
  .bet-home-hero h1 {
    font-size:30px;
  }
  .bet-home-actions {
    flex-wrap:wrap;
    gap:10px;
  }
  .bet-home-actions a {
    min-height:44px;
    font-size:11px;
  }
  .bet-home-benefits {
    gap:8px;
    width:100%;
    justify-content:space-between;
  }
  .bet-home-benefits small {
    font-size:10px;
  }
  .bet-home-page h2 {
    font-size:23px;
    line-height:1.3;
  }
  .bet-home-bike-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  .bet-home-bike-card {
    padding:18px;
  }
  .bet-home-bike-card img {
    aspect-ratio:4/3;
    max-height:280px;
  }
  .bet-home-bike-card h3 {
    font-size:18px;
  }
  .bet-home-bike-card p {
    font-size:14px;
  }
  .bet-home-bike-card>.bet-home-link {
    min-height:44px;
    display:flex;
    align-items:center;
    font-size:13px;
  }
  .bet-home-service-grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .bet-home-service-grid>a {
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    column-gap:14px;
    text-align:left;
    padding:0;
  }
  .bet-home-service-grid .bet-home-service-icon {
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    margin:0;
  }
  .bet-home-service-grid h3,.bet-home-service-grid p {
    grid-column:2;
    margin:0;
  }
  .bet-home-service-grid h3 {
    font-size:13px;
    margin-bottom:5px;
  }
  .bet-home-van {
    max-width:100%;
    width:330px;
    margin:24px auto;
  }
  .bet-home-section {
    margin-bottom:36px;
  }
  .bet-home-jersey {
    gap:18px;
    margin:36px 0;
  }
  .bet-home-jersey .bet-home-link {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    margin-top:8px;
  }
  .bet-home-tenerife {
    min-height:280px;
    padding:22px;
    background-position:60% center;
  }
  .bet-bike-families {
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px;
    gap:8px;
  }
  .bet-bike-families a {
    flex:0 0 auto;
    padding:10px;
    min-height:44px;
    font-size:12px;
  }
  .bet-bike-model-grid {
    grid-template-columns:1fr;
    margin:0;
  }
  .bet-bike-model-photo {
    height:240px;
  }
  .bet-bike-model-card {
    padding:18px;
  }
  .bet-bike-model-card h3 {
    font-size:18px;
  }
  .bet-bike-category-grid {
    grid-template-columns:1fr;
    margin:0;
    gap:18px;
  }
  .bet-bikes-help {
    flex-direction:column;
    gap:18px;
    padding:20px;
    text-align:center;
  }
  .bet-bikes-help .bet-bikes-button {
    width:100%;
    min-width:0;
  }
  .bet-bikes-benefits {
    grid-template-columns:1fr;
    gap:22px;
    margin:36px 0;
  }
  .bet-route-includes-price {
    display:flex;
    flex-wrap:nowrap;
  }
  .bet-route-detail-stats {
    gap:8px;
  }
  .bet-route-detail-stats strong {
    font-size:11px;
  }
  .bet-route-detail-stats small {
    font-size:10px;
  }
  .bet-inline-date-fields,.bet-inline-measurements {
    gap:10px;
  }
  .bet-home-availability {
    grid-template-columns:1fr;
  }
  .bet-home-availability>div,.bet-home-availability .bet-booking-submit {
    grid-column:1;
  }
}
.bet-footer-mobile-links,.bet-mobile-secure {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  body.bet-site-design>header.bet-site-header {
    background:#000;
    border:0;
    margin-bottom:16px;
  }
  #bet-site-menu {
    grid-template-columns:44px minmax(0,1fr) 44px;
    min-height:58px;
    padding:4px 16px;
  }
  #bet-site-menu .bet-site-logo {
    position:relative;
    width:120px;
    height:44px;
    overflow:hidden;
  }
  #bet-site-menu .bet-site-logo img {
    position:absolute;
    width:120px;
    height:auto;
    top:-24px;
    left:0;
  }
  #bet-site-menu a:link,#bet-site-menu a:visited,#bet-site-menu.menu-ready .bet-site-menu-toggle {
    color:#fff;
  }
  #bet-site-menu .bet-site-links {
    border-top-color:#333;
  }
  #bet-site-menu .bet-site-links a[aria-current=page] {
    background:#14372e;
    color:var(--bet-brand-green,#23b99a);
  }
  #bet-site-menu .bet-site-cart svg {
    width:26px;
    height:26px;
  }
  #bet-site-menu .bet-site-languages {
    display:none;
  }
  #bet-site-menu.menu-open .bet-site-languages {
    display:block;
    color:#fff;
  }
  #bet-site-menu.menu-open .bet-site-tools {
    grid-column:1/-1;
    grid-row:3;
    justify-content:space-between;
  }
  #bet-site-menu .bet-site-languages>div a {
    color:#263b35;
  }
  #bet-site-menu #header-cart {
    color:white;
  }
  #bet-site-menu #header-cart.has-items {
    color:#ff6169;
  }
  body.bet-checkout-design>header.bet-site-header {
    background:white;
  }
  .bet-checkout-design #bet-site-menu {
    grid-template-columns:1fr 1fr;
  }
  .bet-checkout-design #bet-site-menu .bet-site-logo {
    justify-self:start;
    overflow:visible;
  }
  .bet-checkout-design #bet-site-menu .bet-site-logo img {
    position:static;
  }
  .bet-checkout-design #bet-site-menu .bet-site-menu-toggle,.bet-checkout-design #bet-site-menu .bet-site-tools,.bet-checkout-design #bet-site-menu .bet-site-links {
    display:none;
  }
  .bet-mobile-secure {
    display:flex;
    justify-self:end;
    gap:6px;
    align-items:center;
    color:var(--bet-brand-green,#23b99a);
  }
  .bet-mobile-secure strong,.bet-mobile-secure small {
    display:block;
    font-family:Inter,Arial,sans-serif;
    text-transform:uppercase;
  }
  .bet-mobile-secure strong {
    font-size:10px;
    color:#263b35;
  }
  .bet-mobile-secure small {
    font-size:7px;
    color:#738078;
  }
  .bet-footer-columns {
    grid-template-columns:1.4fr 1fr 1fr .7fr;
  }
  .bet-footer-brand {
    grid-column:auto;
    grid-row:auto;
    align-self:center;
  }
  .bet-footer-brand address {
    display:none;
  }
  footer.bet-site-footer .bet-footer-note {
    white-space:nowrap;
  }
  .bet-footer-columns>nav:not(.bet-footer-social) {
    display:none;
  }
  .bet-footer-mobile-links {
    display:contents;
  }
  footer.bet-site-footer .bet-footer-mobile-links a {
    font-size:9px;
    line-height:1.4;
    text-transform:uppercase;
    min-height:24px;
  }
  .bet-footer-social {
    grid-column:auto;
    flex-direction:column!important;
    align-items:center!important;
  }
  footer.bet-site-footer .bet-footer-social h2 {
    margin:0;
    font-size:9px;
  }
  .bet-footer-social svg {
    width:21px;
    height:21px;
  }
  .bet-footer-bottom nav[aria-label=Idiomas] {
    display:none;
  }
}
/* Native date controls need enough room even in the compact desktop sidebar. */
.bet-inline-date-fields {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
}
.bet-inline-date-fields>label {
  min-width:0;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-logo img {
    transform:translateY(-28%);
  }
  .bet-footer-bottom nav:first-of-type {
    display:none;
  }
}
@media (max-width:360px) {
  .checkout-steps strong {
    font-size:11px;
  }
  .bet-inline-measurements {
    grid-template-columns:1fr;
  }
  .bet-inline-measurements>label:first-child {
    grid-column:auto;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {

}
.bet-home-mobile-copy {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-desktop-copy {
    display:none;
  }
  .bet-home-mobile-copy {
    display:block;
  }
  .bet-home-intro {
    padding:18px 0 8px;
  }
  .bet-home-heading {
    display:block;
  }
  .bet-home-heading>.bet-home-link {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin:0 0 10px;
  }
}
/* Mobile lists keep one complete card centered; controls indicate more cards. */
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-bike-grid,.bet-home-route-grid {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:100%;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    padding:2px 2px 12px;
    margin:12px -2px 0;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--bet-brand-green,#23b99a) #edf2ee;
  }
  .bet-home-bike-grid>article,.bet-home-route-grid>article {
    scroll-snap-align:start;
    min-width:0;
  }
  .bet-home-bike-grid:focus-visible,.bet-home-route-grid:focus-visible {
    outline:2px solid var(--bet-brand-green,#23b99a);
    outline-offset:3px;
    border-radius:12px;
  }
  .bet-home-bike-card {
    padding:14px;
  }
  .bet-home-bike-card img {
    aspect-ratio:4/3;
    max-height:220px;
  }
  .bet-home-bike-card h3 {
    font-size:17px;
  }
  .bet-home-bike-card p {
    font-size:13px;
    margin-bottom:10px;
  }
  .bet-home-route-grid h3 {
    font-size:15px;
  }
  .bet-home-route-grid p {
    font-size:13px;
  }
  .bet-home-route-grid>article>.bet-home-link {
    display:flex;
    align-items:center;
    min-height:44px;
    font-size:12px;
  }
  .bet-home-service-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 14px;
  }
  .bet-home-service-grid>a,.bet-home-service-grid>a:first-child {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:0;
    border:0;
    gap:6px;
  }
  .bet-home-service-grid img.bet-home-service-icon {
    width:40px;
    height:40px;
    margin:0;
    object-fit:contain;
  }
  .bet-home-service-grid h3 {
    font-size:12px;
    margin:0;
    line-height:1.4;
  }
  .bet-home-service-grid p {
    font-size:12px;
    line-height:1.4;
    margin:0;
  }
  .bet-home-van {
    width:230px;
    margin:12px auto 18px;
  }
  .bet-home-section {
    margin:14px 0 26px;
  }
  .bet-home-jersey {
    margin:26px 0;
    gap:14px;
  }
  .bet-home-jersey .bet-home-link {
    margin-top:4px;
  }
  .bet-home-tenerife {
    min-height:250px;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-hero-controls .bet-home-benefits {
    display:none;
  }
}
.bet-home-carousel-controls {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-carousel-controls {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin:4px 0 12px;
  }
  .bet-home-carousel-controls button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:none;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    color:var(--bet-brand-green,#23b99a);
  }
  .bet-home-carousel-controls .bet-home-carousel-arrow {
    width:44px;
    border:1px solid #c5d7cd;
    border-radius:50%;
    font:400 30px/1 Inter,Arial,sans-serif;
    background:white;
  }
  .bet-home-carousel-controls .bet-home-carousel-arrow:disabled {
    color:#a4b3aa;
    border-color:#e0e7e2;
    cursor:default;
  }
  .bet-home-carousel-controls .bet-home-carousel-dot {
    width:32px;
  }
  .bet-home-carousel-dot:before {
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#cfdbd4;
  }
  .bet-home-carousel-dot[aria-pressed=true]:before {
    background:var(--bet-brand-green,#23b99a);
    width:10px;
    height:10px;
  }
  .bet-home-carousel-controls button:focus-visible {
    outline:2px solid var(--bet-brand-green,#23b99a);
    outline-offset:3px;
  }
}
/* Keep navigation available and avoid repeating it in the mobile footer. */
.bet-footer-mobile-contact {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  html {
    scroll-padding-top:76px;
  }
  body.bet-site-design>header.bet-site-header {
    position:sticky;
    top:0;
    z-index:100;
    box-shadow:0 2px 8px #0002;
  }
  #bet-site-menu.menu-open {
    max-height:calc(100dvh - 8px);
    overflow-y:auto;
  }
  .bet-footer-mobile-links {
    display:none;
  }
  .bet-footer-columns {
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
  .bet-footer-social {
    grid-row:1;
    flex-direction:row!important;
  }
  footer.bet-site-footer .bet-footer-social h2 {
    display:none;
  }
  .bet-footer-social a {
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
  }
  .bet-footer-mobile-contact {
    grid-column:1/-1;
  }
  footer.bet-site-footer .bet-footer-mobile-contact a {
    display:flex;
    align-items:center;
  }
  .bet-footer-bottom {
    font-size:9px;
  }
  footer.bet-site-footer .bet-footer-bottom a {
    font-size:10px;
    min-height:32px;
  }
}
/* Date labels share the input box, saving a separate label row. */
.bet-date-box {
  display:block;
  position:relative;
  margin-top:0;
}
.bet-date-box .bet-date-caption {
  position:absolute;
  top:50%;
  left:12px;
  transform:translateY(-50%);
  font:500 11px/14px Inter,Arial,sans-serif;
  color:#62776d;
  pointer-events:none;
  z-index:1;
}
.bet-booking-widget .bet-date-box input[type=date],.bet-bikes-dates .bet-date-box input[type=date],.bet-inline-booking .bet-date-box input[type=date] {
  height:44px;
  margin-top:0;
  padding:10px 8px 10px 52px;
  font-size:13px;
  line-height:20px;
}
.bet-inline-date-fields label:has(.bet-date-box) {
  margin:6px 0;
}
.bet-booking-widget .bet-booking-submit .bet-booking-step {
  margin-bottom:8px;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-booking-widget .bet-date-box input[type=date],.bet-bikes-dates .bet-date-box input[type=date],.bet-inline-booking .bet-date-box input[type=date] {
    font-size:16px;
  }
}
form.bet-home-availability,form.bet-bikes-dates,form.bet-services-dates,form.bet-tenerife-dates,.bet-routes-search.bet-booking-connected {
  padding-top:12px;
  padding-bottom:12px;
}
.bet-inline-booking:has(.bet-inline-progress[hidden]) {
  padding-top:14px;
  padding-bottom:14px;
}
/* Availability is the main message of the reservation strip. */
.bet-home-availability>div:first-child,.bet-bikes-dates>div:first-child,.bet-routes-search>div:first-child,.bet-services-dates>div:first-child,.bet-tenerife-dates>div:first-child {
  min-width:0;
}
.bet-home-availability strong,.bet-bikes-dates strong,.bet-routes-search strong,.bet-services-dates strong,.bet-tenerife-dates strong,.bet-inline-dates>strong {
  font:650 15px/1.25 Inter,Arial,sans-serif;
  color:#263d36;
}
.bet-home-availability small,.bet-bikes-dates small,.bet-routes-search small,.bet-services-dates small,.bet-tenerife-dates small,.bet-inline-dates>small {
  font-size:12px;
  line-height:1.3;
  color:#50665c;
  margin-top:2px;
  max-width:300px;
}
/* Give the banner search message enough room to stay on one line on desktop. */
@media (min-width:1001px) {
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates) {
    grid-template-columns:max-content minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);
    column-gap:20px;
  }
  .bet-routes-search.bet-booking-connected {
    grid-template-columns:max-content minmax(0,1fr);
  }
  :is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>small {
    max-width:none;
    white-space:nowrap;
  }
}
@media (min-width:1025px), (min-width:761px) and (orientation:landscape) and (max-width:1000px) {
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates) {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>div:first-child {
    grid-column:1/-1;
  }
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates) .bet-booking-submit {
    grid-column:auto;
  }
  .bet-routes-search.bet-booking-connected {
    grid-template-columns:1fr;
    gap:12px;
  }
  :is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>small {
    max-width:none;
    white-space:nowrap;
  }
}
/* Tighten banner copy without changing the image or heading sizes. */
:is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) p {
  line-height:1.25;
  margin-top:3px;
  margin-bottom:3px;
}
.bet-bikes-catalog .bet-bikes-hero p {
  line-height:1.25;
}
:is(.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) h1 {
  margin-bottom:8px;
}
.bet-home-hero h1 {
  margin-bottom:12px;
}
.bet-inline-route .bet-date-box .bet-date-caption {
  top:5px;
  transform:none;
  font-size:10px;
  line-height:12px;
}
.bet-inline-route .bet-date-box input[type=date] {
  height:48px;
  padding:18px 10px 5px;
}
/* Keep the banner reservation message together above its controls. */
:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>strong {
  display:inline;
  font:650 15px/1.3 Inter,Arial,sans-serif;
  color:var(--bet-brand-green,#23b99a);
}
:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>small {
  display:inline;
  font:400 12px/1.3 Inter,Arial,sans-serif;
  max-width:none;
}
form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates),.bet-routes-search.bet-booking-connected {
  border:1px solid #dce3e3;
  background:#f5f6f5;
  border-radius:12px;
}
@media (min-width:1025px), (min-width:761px) and (orientation:landscape) {
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates) {
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:10px;
  }
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>div:first-child {
    grid-column:1/-1;
  }
  .bet-routes-search.bet-booking-connected {
    grid-template-columns:1fr;
    gap:10px;
  }
}
#booking #booking-date .bet-date-box {
  display:inline-block;
  width:220px;
  max-width:calc(100% - 24px);
  margin:6px;
}
#booking #booking-date .bet-date-box input {
  box-sizing:border-box;
  display:block;
  width:100%;
  height:44px;
  margin:0;
  padding:10px 12px 10px 52px;
  border:1px solid #dce3e3;
  border-radius:12px;
  background:white;
  color:#263d36;
  font:13px/20px Inter,Arial,sans-serif;
  text-align:left;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  #booking #booking-date .bet-date-box input {
    font-size:16px;
  }
}
/* Slightly larger reservation copy, with the same compact spacing. */
:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>strong {
  font-size:16px;
}
:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>small {
  font-size:13px;
}
.bet-date-box .bet-date-caption {
  font-size:12px;
}
@media (min-width:1025px), (min-width:761px) and (orientation:landscape) {
  .bet-booking-widget .bet-date-box input[type=date],.bet-bikes-dates .bet-date-box input[type=date],.bet-inline-booking .bet-date-box input[type=date],#booking #booking-date .bet-date-box input {
    font-size:14px;
  }
}
.bet-inline-booking .bet-inline-dates>.bet-inline-primary {
  font-size:13px;
}
/* Align all banner search actions with the date controls. */
.bet-booking-widget .bet-booking-submit button {
  height:44px;
  min-height:44px;
}
@media (min-width:1025px), (min-width:761px) and (orientation:landscape) {
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>.bet-booking-submit {
    grid-column:3;
    grid-row:2;
  }
}
/* Make the native calendar control easier to see and activate. */
.bet-date-box input[type=date]::-webkit-calendar-picker-indicator {
  width:20px;
  height:20px;
  padding:4px;
  margin:0;
  opacity:.85;
  cursor:pointer;
}
.bet-date-box input[type=date]:hover::-webkit-calendar-picker-indicator {
  opacity:1;
}
.bet-date-box:focus-within {
  border-radius:12px;
  box-shadow:0 0 0 2px #16846d33;
}
/* Separate the availability heading from its supporting sentence. */
:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>strong {
  display:block;
  color:#263d36;
}
:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates,.bet-routes-search)>div:first-child>small {
  display:block;
  margin:3px 0 0;
  color:#62736c;
  white-space:normal;
}
.bet-inline-booking .bet-inline-dates>strong {
  color:#263d36;
}
/* Keep desktop reservation copy beside the controls to avoid an empty top row. */
@media (min-width:1001px) {
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates) {
    grid-template-columns:minmax(300px,1.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(180px,1.15fr);
    align-items:center;
    gap:20px;
  }
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>div:first-child {
    grid-column:1;
    grid-row:1;
  }
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>.bet-booking-submit {
    grid-column:4;
    grid-row:1;
  }
}
/* Let the rounded reservation strip overlap the rounded banner edge. */
.bet-bikes-hero:has(+ .bet-booking-widget),.bet-home-hero:has(+ .bet-booking-widget),.bet-services-hero:has(+ .bet-booking-widget),.bet-tenerife-hero:has(+ .bet-booking-widget),.bet-routes-hero:has(+ .bet-booking-connected) {
  border-bottom-left-radius:12px;
  border-bottom-right-radius:12px;
}
:is(.bet-home-hero,.bet-bikes-hero,.bet-services-hero,.bet-tenerife-hero)+.bet-booking-widget,.bet-routes-hero+.bet-booking-connected {
  position:relative;
  z-index:1;
  margin-top:-12px;
  border-top-left-radius:12px;
  border-top-right-radius:12px;
}
/* Keep the route instructions beside the compact three-step search. */
@media (min-width:1001px) {
  .bet-routes-search.bet-booking-connected {
    grid-template-columns:minmax(280px,1fr) minmax(0,2fr);
    align-items:center;
    column-gap:24px;
  }
}
@media (min-width:1025px), (min-width:761px) and (orientation:landscape) {
  .bet-routes-search.bet-booking-connected .bet-booking-step {
    font-size:13px;
    line-height:1.3;
    min-height:34px;
    margin-bottom:6px;
  }
  .bet-routes-search.bet-booking-connected .bet-booking-submit .bet-booking-step {
    margin-bottom:6px;
  }
  .bet-routes-search.bet-booking-connected input[type=date] {
    margin-top:0;
  }
}
/* Route landing search now uses the same compact controls as other banners. */
.bet-routes-search.bet-booking-connected .bet-booking-widget {
  align-items:center;
}
.bet-routes-search.bet-booking-connected .bet-booking-widget label:after {
  display:none;
}
/* A readable prompt replaces the browser's empty date abbreviations. */
.bet-date-box.bet-date-empty:not(:focus-within)::after {
  content:attr(data-empty-label);
  position:absolute;
  right:40px;
  top:50%;
  transform:translateY(-50%);
  color:#62736c;
  font:400 14px/20px Inter,Arial,sans-serif;
  pointer-events:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bet-date-box.bet-date-empty:not(:focus-within) input[type=date]::-webkit-datetime-edit {
  color:transparent;
}
.bet-inline-route .bet-date-box.bet-date-empty:not(:focus-within)::after {
  top:29px;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-date-box.bet-date-empty:not(:focus-within)::after {
    font-size:16px;
  }
}
/* Mobile banners and form controls share readable text and generous touch targets. */
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) {
    box-sizing:border-box;
    min-height:clamp(310px,85vw,370px);
    height:auto;
    padding:26px 18px 32px;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero)>div {
    min-width:0;
    max-width:100%;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) h1 {
    font-size:clamp(27px,7.5vw,32px);
    line-height:1.15;
    overflow-wrap:break-word;
    margin-bottom:12px;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) p {
    font-size:15px;
    line-height:1.45;
    max-width:100%;
  }
  .bet-home-actions {
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
  }
  .bet-home-actions a,.bet-bikes-hero .bet-bikes-button,.bet-routes-hero .bet-routes-button,.bet-services-hero .bet-services-button,.bet-tenerife-hero .bet-tenerife-button {
    box-sizing:border-box;
    min-height:48px;
    max-width:100%;
    padding:12px 16px;
    font-size:13px;
    line-height:1.35;
    white-space:normal;
    text-align:center;
  }
  .bet-booking-widget .bet-date-box input[type=date],.bet-inline-booking .bet-date-box input[type=date],.bet-bikes-dates .bet-date-box input[type=date],#booking #booking-date .bet-date-box input {
    box-sizing:border-box;
    height:52px;
    min-height:52px;
    font-size:16px;
  }
  .bet-booking-widget .bet-booking-submit button {
    min-height:52px;
    height:auto;
    font-size:15px;
    padding:12px 16px;
  }
  .bet-inline-booking .bet-extra-group select,.bet-inline-booking select,.bet-inline-booking input:not([type=checkbox]):not([type=radio]) {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
    height:50px;
    font-size:16px;
  }
  .bet-inline-booking .bet-inline-toggle {
    min-height:48px;
    box-sizing:border-box;
    padding:12px 0;
    font-size:14px;
  }
  .bet-inline-booking label,.bet-inline-step p {
    font-size:14px;
    line-height:1.45;
  }
  .bet-checkout-design #cart #booking-cart select,.bet-checkout-design #cart #cart-form select,.bet-checkout-design #cart #cart-form input:not([type=checkbox]):not([type=radio]) {
    box-sizing:border-box;
    min-height:50px;
    font-size:16px;
    max-width:100%;
  }
  .bet-checkout-design #cart #booking-cart .checkout-extra-row select,.bet-checkout-design #cart #cart-form #cart-form-client #client-document select#documenttype,.bet-checkout-design #cart #cart-form #cart-form-client #client-document input#documentnumber {
    font-size:16px;
    height:50px;
  }
}
@media (max-width:360px) {
  .bet-home-actions a {
    flex:1 1 100%;
  }
}
/* On phones, lead with the page title and booking controls instead of a photo banner. */
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero,.bet-home-tenerife) {
    min-height:0;
    height:auto;
    padding:8px 0 24px;
    background:none!important;
    border-radius:0;
    overflow:visible;
    color:#263d36;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero,.bet-home-tenerife)::before {
    display:none;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero,.bet-home-tenerife)>div {
    color:#263d36;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) h1,.bet-home-tenerife h2 {
    color:#263d36;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero,.bet-home-tenerife) p {
    color:#50665c;
  }
  .bet-bikes-hero .bet-bikes-eyebrow,.bet-routes-hero .bet-routes-eyebrow,.bet-services-hero .bet-services-eyebrow,.bet-tenerife-hero .bet-tenerife-eyebrow {
    color:#50665c;
  }
  :is(.bet-home-hero,.bet-bikes-hero,.bet-services-hero,.bet-tenerife-hero)+.bet-booking-widget,.bet-routes-hero+.bet-booking-connected {
    margin-top:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates),.bet-routes-search.bet-booking-connected .bet-booking-widget {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>label,form:is(.bet-home-availability,.bet-bikes-dates,.bet-services-dates,.bet-tenerife-dates)>.bet-booking-submit,.bet-routes-search.bet-booking-connected .bet-booking-widget>label,.bet-routes-search.bet-booking-connected .bet-booking-widget>.bet-booking-submit {
    grid-column:1/-1;
    min-width:0;
  }
}
/* Small section photos add context on phones without restoring tall banners. */
.bet-mobile-section-photo {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) {
    display:block;
  }
  .bet-mobile-section-photo {
    display:block;
    box-sizing:border-box;
    width:100%;
    height:124px;
    max-width:100%;
    object-fit:cover;
    object-position:center;
    border-radius:12px;
    margin:0 0 18px;
  }
}
@media (max-width:360px) {
  .bet-mobile-section-photo {
    height:108px;
  }
}
/* Route booking is the primary action; keep it wide enough for touch and text. */
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    align-items:stretch;
  }
  .bet-route-actions .bet-routes-button {
    order:0;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:12px 16px;
    font-size:13px;
    line-height:1.4;
    text-align:center;
    white-space:normal;
  }
  .bet-route-actions .bet-route-gpx {
    order:1;
    box-sizing:border-box;
    width:100%;
    min-height:44px;
    padding:10px 16px;
    font-size:13px;
    line-height:1.4;
    text-align:center;
  }
  .bet-routes-hero .bet-routes-button {
    width:100%;
    margin-top:18px;
  }
  .bet-route-related-link {
    box-sizing:border-box;
    justify-content:center;
    min-height:48px;
    width:100%;
    padding:12px 16px;
    white-space:normal;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-actions .bet-route-gpx {
    display:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-carousel-controls {
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    column-gap:8px;
    row-gap:0;
    width:100%;
  }
  .bet-home-carousel-dots {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
  }
  .bet-home-carousel-position {
    grid-column:1/-1;
    grid-row:2;
    text-align:center;
    font:12px/1.4 Inter,Arial,sans-serif;
    color:#62736c;
    margin:2px 0 0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-related>[data-related-carousel] {
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    align-items:stretch;
    padding-bottom:2px;
  }
  .bet-route-related>[data-related-carousel]::-webkit-scrollbar {
    display:none;
  }
  .bet-route-related>[data-related-carousel]>article {
    box-sizing:border-box;
    display:block;
    flex:0 0 100%;
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    grid-row:auto;
  }
  .bet-route-related>.bet-home-carousel-controls {
    row-gap:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-related>[data-related-carousel] {
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    align-items:stretch;
    padding-bottom:2px;
  }
  .bet-bike-related>[data-related-carousel]::-webkit-scrollbar {
    display:none;
  }
  .bet-bike-related>[data-related-carousel]>article {
    box-sizing:border-box;
    flex:0 0 100%;
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}
.bet-route-related>.bet-home-carousel-controls,.bet-bike-related>.bet-home-carousel-controls {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-related>.bet-home-carousel-controls,.bet-bike-related>.bet-home-carousel-controls {
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    column-gap:8px;
    row-gap:0;
  }
  .bet-home-carousel-controls>.bet-home-carousel-arrow:first-child {
    grid-column:1;
    grid-row:1;
  }
  .bet-home-carousel-controls>.bet-home-carousel-dots {
    grid-column:2;
    grid-row:1;
  }
  .bet-home-carousel-controls>.bet-home-carousel-arrow:nth-child(3) {
    grid-column:3;
    grid-row:1;
  }
}
/* Route dates have their own calendar because native mobile pickers ignore step highlighting. */
.bet-inline-route .bet-route-native-date,.bet-inline-route .bet-route-native-caption {
  display:none!important;
}
.bet-inline-route .bet-date-box:has(.bet-route-date-trigger)::after {
  display:none;
}
.bet-inline-route .bet-route-date-trigger {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  width:100%;
  min-height:54px;
  padding:9px 14px;
  border:1px solid #dce3e3;
  border-radius:12px;
  background:#fff;
  color:#263d36;
  text-align:left;
  font:16px/1.3 Inter,Arial,sans-serif;
  cursor:pointer;
}
.bet-route-date-trigger small {
  font-size:12px;
  color:#62736c;
}
.bet-route-date-trigger strong {
  font-size:16px;
}
.bet-route-calendar {
  margin-top:10px;
  padding:12px;
  border:1px solid #dce3e3;
  border-radius:12px;
  background:#fff;
}
.bet-route-calendar[hidden] {
  display:none;
}
.bet-route-calendar-heading {
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 40px;
  align-items:center;
  gap:8px;
  text-align:center;
  margin-bottom:8px;
}
.bet-route-calendar-heading strong {
  font:600 14px/1.4 Inter,Arial,sans-serif;
  text-transform:capitalize;
}
.bet-route-calendar-heading button {
  min-height:40px;
  border:1px solid #dce3e3;
  border-radius:8px;
  background:#fff;
  color:#16846d;
  font-size:25px;
  cursor:pointer;
}
.bet-route-calendar-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
}
.bet-route-calendar-weekday {
  text-align:center;
  font:12px/1.4 Inter,Arial,sans-serif;
  color:#62736c;
  padding:5px 0;
}
.bet-route-calendar-grid button {
  min-width:0;
  min-height:38px;
  padding:0;
  border:1px solid #a6d9ca;
  border-radius:8px;
  background:#e9f7f2;
  color:#126b59;
  font:600 14px/1.4 Inter,Arial,sans-serif;
  cursor:pointer;
}
.bet-route-calendar-grid button[aria-pressed=true]:not(:disabled) {
  background:#16846d;
  color:white;
  border-color:var(--bet-brand-green,#23b99a);
}
.bet-route-calendar-grid button:disabled {
  background:#f6f7f6;
  border-color:transparent;
  color:#a3aca7;
  font-weight:400;
  cursor:default;
}
.bet-inline-booking .bet-route-calendar-note {
  font-size:12px;
  margin:10px 0 0;
  color:#62736c;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-advice,.bet-route-advice {
    display:none;
  }
}
.bet-route-tab-short {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-tabs.bet-route-tabs {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
    flex-wrap:nowrap;
  }
  .bet-bike-tabs.bet-route-tabs button {
    box-sizing:border-box;
    min-width:0;
    min-height:48px;
    padding:12px 3px;
    font-size:12px;
    white-space:nowrap;
    text-align:center;
  }
  .bet-route-tabs .bet-route-tab-full {
    display:none;
  }
  .bet-route-tabs .bet-route-tab-short {
    display:inline;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  #bet-reservation-widget {
    scroll-margin-top:0;
  }
  .bet-inline-route {
    overflow-anchor:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-inline-booking .bet-inline-step h3 {
    font-size:17px;
    line-height:1.4;
    margin-bottom:14px;
  }
  .bet-inline-booking .bet-inline-step h4,.bet-inline-booking .bet-extra-store-heading {
    font-size:16px;
    line-height:1.4;
    margin-top:20px;
  }
  .bet-inline-booking [data-reservation-extras] .bet-inline-toggle,.bet-inline-booking [data-reservation-routes] .bet-inline-toggle,.bet-inline-booking [data-delivery-option] {
    font-size:15px;
    line-height:1.45;
  }
  .bet-inline-booking [data-reservation-extras] .bet-inline-toggle small,.bet-inline-booking [data-reservation-routes] .bet-inline-toggle small,.bet-inline-booking [data-delivery-option] small,.bet-inline-booking .bet-inline-summary>small {
    font-size:14px;
    line-height:1.45;
  }
  .bet-inline-booking .bet-inline-summary-row {
    font-size:15px;
    line-height:1.5;
    padding:9px 0;
  }
  .bet-inline-booking .bet-inline-summary-row strong {
    font-size:16px;
    line-height:1.5;
  }
  .bet-inline-booking .bet-inline-summary-total,.bet-inline-booking .bet-inline-summary-total strong {
    font-size:18px;
  }
  .bet-inline-booking [data-add-cart] {
    font-size:16px;
    min-height:50px;
  }
}
.bet-home-carousel-controls .bet-home-carousel-dot[hidden] {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-tenerife-card-grid[data-related-carousel],.bet-tenerife-food-grid[data-related-carousel] {
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    align-items:stretch;
    margin-left:0;
    margin-right:0;
    margin-bottom:8px;
    padding-bottom:2px;
  }
  .bet-tenerife-card-grid[data-related-carousel]::-webkit-scrollbar,.bet-tenerife-food-grid[data-related-carousel]::-webkit-scrollbar {
    display:none;
  }
  .bet-tenerife-card-grid[data-related-carousel]>article,.bet-tenerife-food-grid[data-related-carousel]>article {
    box-sizing:border-box;
    flex:0 0 100%;
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  #bet-site-menu .bet-site-links .bet-agency-access {
    display:none;
  }
  #bet-site-menu .bet-site-links {
    grid-row:2;
    padding:12px 0;
  }
  #bet-site-menu.menu-open .bet-site-tools {
    display:contents;
  }
  #bet-site-menu.menu-open .bet-site-cart {
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-self:center;
  }
  #bet-site-menu.menu-open .bet-site-languages {
    grid-column:1/-1;
    grid-row:3;
    justify-self:start;
    margin:0 0 8px;
  }
  #bet-site-menu.menu-open .bet-site-languages summary {
    font-size:14px;
    padding:0 12px;
    border:1px solid #333;
    border-radius:8px;
    min-height:44px;
  }
  #bet-site-menu .bet-site-menu-toggle[aria-expanded=true] svg {
    display:none;
  }
  #bet-site-menu .bet-site-menu-toggle[aria-expanded=true]::before {
    content:"×";
    font:30px/1 Inter,Arial,sans-serif;
  }
}
.bet-footer-blog {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-blog {
    display:block;
    margin-top:8px;
  }
  footer.bet-site-footer .bet-footer-blog a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:13px;
    color:var(--bet-brand-green,#23b99a);
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  #bet-site-menu.menu-open .bet-site-links {
    gap:8px;
    padding:14px 0;
  }
  #bet-site-menu.menu-open .bet-site-links a {
    min-height:58px;
    padding:14px 12px;
    font-size:18px;
    line-height:1.4;
  }
}
footer.bet-site-footer .bet-footer-blog-link {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  footer.bet-site-footer {
    padding:24px 18px 18px;
  }
  .bet-footer-columns {
    grid-template-columns:minmax(0,1fr) 88px;
  }
  footer.bet-site-footer .bet-footer-note {
    white-space:normal;
  }
  .bet-footer-social {
    align-self:center;
  }
  .bet-footer-social a {
    width:40px;
    min-width:40px;
    height:44px;
    min-height:44px;
  }
  .bet-footer-mobile-contact {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }
  footer.bet-site-footer .bet-footer-mobile-contact a {
    overflow-wrap:anywhere;
  }
  .bet-footer-bottom {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
    gap:12px;
    margin-top:18px;
    padding-top:16px;
  }
  .bet-footer-copyright {
    font:11px/1.6 Inter,Arial,sans-serif;
    color:#b9c3c0;
  }
  footer.bet-site-footer .bet-footer-bottom nav:last-child {
    display:flex;
    flex-wrap:wrap;
    gap:0 16px;
    justify-content:flex-start;
    align-items:center;
    width:100%;
  }
  footer.bet-site-footer .bet-footer-bottom a,footer.bet-site-footer .bet-footer-blog-link {
    display:inline-flex;
    align-items:center;
    min-height:36px;
    font-size:12px;
    line-height:1.4;
    margin:0;
  }
  .bet-footer-bottom nav a+a:before {
    display:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-logo img {
    transform:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-family-section>[data-related-carousel] {
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    align-items:stretch;
    margin-left:0;
    margin-right:0;
    padding-bottom:2px;
  }
  .bet-bike-family-section>[data-related-carousel]::-webkit-scrollbar {
    display:none;
  }
  .bet-bike-family-section>[data-related-carousel]>article {
    box-sizing:border-box;
    flex:0 0 100%;
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-copyright {
    font-size:14px;
    line-height:1.6;
  }
}
.bet-swipe-hint {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-family-heading p.bet-swipe-hint {
    display:block;
    text-align:center;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
    color:#16846d;
    margin:10px 0 12px;
  }
  .bet-bike-family-carousel>[data-related-carousel]>article {
    flex-basis:calc(100% - 36px);
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-carousel-position,.bet-booking-results .bet-results-position {
    font-size:14px;
    font-weight:650;
    color:#263d36;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-family-section>p.bet-swipe-hint {
    display:block;
    text-align:center;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
    color:#16846d;
    margin:6px 0 16px;
  }
  .bet-bike-family-carousel>.bet-home-carousel-controls {
    margin-bottom:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-breadcrumbs,.bet-route-breadcrumbs {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0 6px;
    font-size:13px;
    line-height:1.6;
    margin:10px 0 18px;
    overflow-wrap:anywhere;
  }
  .bet-bike-breadcrumbs a,.bet-route-breadcrumbs a {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:3px 2px;
    position:relative;
    color:#16846d;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .bet-bike-family-section {
    scroll-margin-top:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-columns {
    grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr);
    column-gap:16px;
    row-gap:6px;
    align-items:start;
  }
  .bet-footer-brand {
    grid-row:1/3;
  }
  .bet-footer-mobile-contact {
    grid-column:2;
    grid-row:1;
    align-items:flex-end;
    text-align:right;
    min-width:0;
  }
  footer.bet-site-footer .bet-footer-mobile-contact a {
    justify-content:flex-end;
    max-width:100%;
    font-size:13px;
    line-height:1.5;
    min-height:36px;
  }
  footer.bet-site-footer .bet-footer-whatsapp {
    color:var(--bet-brand-green,#23b99a);
    font-weight:600;
  }
  .bet-footer-social {
    grid-column:2;
    grid-row:2;
    justify-content:flex-end!important;
    align-self:start;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-breadcrumbs {
    flex-wrap:nowrap;
    white-space:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    max-width:100%;
    min-width:0;
    gap:0 7px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .bet-route-breadcrumbs::-webkit-scrollbar {
    display:none;
  }
  .bet-route-breadcrumbs>a,.bet-route-breadcrumbs>span {
    flex:0 0 auto;
    white-space:nowrap;
    overflow-wrap:normal;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-columns {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .bet-footer-logo {
    max-width:100%;
    height:auto;
    aspect-ratio:2.7;
    margin-bottom:8px;
  }
  .bet-footer-logo img {
    width:100%;
    height:auto;
    left:0;
    top:50%;
    transform:translateY(-50%);
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-bike-picker>[data-bike-cards] {
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    align-items:stretch;
    padding:4px 0 8px;
    min-width:0;
  }
  .bet-route-bike-picker>[data-bike-cards]::-webkit-scrollbar {
    display:none;
  }
  .bet-route-bike-picker>[data-bike-cards]>.bet-route-bike-card {
    display:flex;
    flex-direction:column;
    flex:0 0 calc(100% - 26px);
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .bet-route-bike-picker>[data-bike-cards]>.bet-route-bike-card:only-child {
    flex-basis:100%;
  }
  .bet-route-bike-picker>[data-bike-cards]>.bet-route-bike-card>img {
    width:100%;
    height:170px;
    object-fit:contain;
    margin:0;
  }
  .bet-route-bike-picker .bet-route-bike-card-info {
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1;
    padding:14px;
  }
  .bet-route-bike-picker .bet-route-bike-card-info h4 {
    font-size:17px;
    line-height:1.4;
    margin:0;
  }
  .bet-route-bike-picker .bet-route-bike-card-info strong {
    font-size:20px;
  }
  .bet-route-bike-picker .bet-route-bike-card-info small {
    font-size:14px;
    line-height:1.5;
  }
  .bet-route-bike-picker .bet-route-bike-card-info button {
    margin-top:auto;
    width:100%;
    min-height:48px;
    font-size:15px;
  }
  .bet-route-bike-picker>.bet-home-carousel-controls {
    margin:8px 0 16px;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-columns {
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  }
  footer.bet-site-footer .bet-footer-note {
    font-size:14px;
    font-weight:500;
    line-height:1.5;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-bottom {
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .bet-footer-copyright {
    width:100%;
    text-align:center;
  }
  footer.bet-site-footer .bet-footer-bottom nav:last-child {
    justify-content:center;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-company {
    display:inline;
  }
  .bet-footer-company-separator {
    display:inline;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-columns {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    justify-items:center;
    text-align:center;
  }
  .bet-footer-brand {
    grid-column:1;
    grid-row:1;
    width:100%;
  }
  .bet-footer-logo {
    width:180px;
    margin:0 auto 8px;
  }
  .bet-footer-mobile-contact {
    grid-column:1;
    grid-row:2;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:4px 20px;
    text-align:center;
  }
  footer.bet-site-footer .bet-footer-mobile-contact a {
    justify-content:center;
  }
  .bet-footer-social {
    grid-column:1;
    grid-row:3;
    justify-content:center!important;
    gap:10px!important;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  body.bet-checkout-design>header.bet-site-header {
    background:#000;
    border:0;
  }
  .bet-checkout-design #bet-site-menu {
    grid-template-columns:64px minmax(0,1fr) 64px;
    min-height:58px;
    padding:4px 16px;
    gap:8px;
  }
  .bet-checkout-design #bet-site-menu .bet-site-logo {
    grid-column:2;
    grid-row:1;
    justify-self:center;
    position:relative;
    width:120px;
    height:44px;
    overflow:hidden;
  }
  .bet-checkout-design #bet-site-menu .bet-site-logo img {
    position:absolute;
    width:120px;
    height:auto;
    top:-24px;
    left:0;
  }
  .bet-checkout-design .bet-mobile-secure {
    grid-column:3;
    grid-row:1;
    justify-self:center;
    flex-direction:column;
    gap:1px;
    text-align:center;
  }
  .bet-checkout-design .bet-mobile-secure svg {
    width:18px;
    height:20px;
  }
  .bet-checkout-design .bet-mobile-secure strong {
    color:#fff;
    font-size:8px;
    line-height:1.4;
  }
  .bet-checkout-design .bet-mobile-secure small {
    display:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-footer-company {
    display:block;
    margin-top:3px;
    white-space:normal;
  }
  .bet-footer-company-separator {
    display:none;
  }
}
.bet-route-reserve-cta {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-summary .bet-route-reserve-cta {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    margin:18px 0 0;
    border-radius:12px;
    background:#16846d;
    color:#fff;
    font:600 16px/1.4 Inter,Arial,sans-serif;
    text-decoration:none;
  }
  .bet-inline-route .bet-route-own-choice {
    display:block;
    background:none;
    border:0;
    padding:12px 0;
    margin:12px 0 0;
    font-size:14px;
    color:#16846d;
    text-decoration:underline;
    text-underline-offset:3px;
    box-shadow:none;
  }
  .bet-inline-route .bet-route-own-choice small {
    display:none;
  }
  .bet-route-summary>.bet-route-own-bike {
    display:none;
  }
}
/* Mobile section headers: one final rule per property, shared spacing token. */
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  body.bet-site-design {
    --bet-mobile-section-gap:36px;
  }
  .bet-bikes-hero>div>a.bet-bikes-button,.bet-routes-hero>div>a.bet-routes-button,.bet-services-hero>div>a.bet-services-button,.bet-tenerife-hero>div>a.bet-tenerife-button {
    display:none;
  }
  .bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero {
    min-height:0;
    padding-bottom:0;
  }
  .bet-bikes-hero>div>p:last-of-type,.bet-routes-hero>div>p:last-of-type,.bet-services-hero>div>p:last-of-type,.bet-tenerife-hero>div>p:last-of-type {
    margin-bottom:0;
  }
  body.bet-site-design :is(.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) {
    margin-bottom:var(--bet-mobile-section-gap,36px);
  }
  body.bet-site-design :is(.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero)>div {
    width:100%;
    max-width:none;
  }
  body.bet-site-design :is(.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) p {
    width:100%;
    max-width:none;
    text-align:left;
  }
  body.bet-site-design :is(.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero) h1 {
    width:100%;
    max-width:none;
    text-align:left;
    text-wrap:balance;
  }
  .bet-section-copy-break {
    display:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  #bet-site-menu .bet-site-links {
    grid-template-columns:minmax(0,1fr);
    gap:6px;
  }
  #bet-site-menu .bet-site-links a {
    width:100%;
    box-sizing:border-box;
    min-height:52px;
    padding:12px 16px;
    font-size:18px;
    line-height:1.4;
  }
}
.bet-home-routes-mobile-label {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-hero .bet-home-actions {
    display:none;
  }
  .bet-home-routes-desktop-label {
    display:none;
  }
  .bet-home-routes-mobile-label {
    display:inline;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-page .bet-home-primary-section-link:link,.bet-home-page .bet-home-primary-section-link:visited {
    font-size:16px;
    font-weight:600;
    line-height:1.4;
    min-height:48px;
    padding:12px 18px;
    color:var(--bet-brand-green,#23b99a);
    margin-top:12px;
    margin-bottom:18px;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-page .bet-home-tenerife {
    display:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-page .bet-home-primary-section-link:link,.bet-home-page .bet-home-primary-section-link:visited {
    display:flex;
    width:fit-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    gap:4px;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-home-page .bet-home-hero {
    padding-bottom:8px;
    margin-bottom:0;
  }
  .bet-home-page .bet-home-hero-controls {
    display:none;
  }
  .bet-home-page .bet-home-availability {
    margin-top:12px;
    margin-bottom:12px;
  }
  .bet-home-page .bet-home-intro {
    padding:8px 0;
  }
  .bet-home-page .bet-home-intro .bet-home-mobile-copy {
    margin:0;
    line-height:1.5;
  }
  .bet-home-page .bet-home-intro+.bet-home-section {
    margin-top:12px;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-category-grid .bet-bike-category-card:link,.bet-bike-category-grid .bet-bike-category-card:visited {
    aspect-ratio:auto;
    min-height:270px;
  }
  .bet-bike-category-grid .bet-bike-category-card>div {
    box-sizing:border-box;
    padding:16px;
  }
  .bet-bike-category-grid .bet-bike-category-card h3 {
    font-size:24px;
    margin-bottom:6px;
  }
  .bet-bike-category-grid .bet-bike-category-card p {
    max-width:100%;
    font-size:14px;
    line-height:1.4;
  }
  .bet-bike-category-grid .bet-bike-category-card p:not(.bet-bike-category-tag) {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .bet-bike-category-grid .bet-bike-category-card .bet-bikes-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    font-size:15px;
    padding:10px 16px;
    box-sizing:border-box;
    margin-top:12px;
  }
  .bet-bike-category-grid .bet-bike-category-advice:link,.bet-bike-category-grid .bet-bike-category-advice:visited {
    display:none;
  }
  .bet-bike-category-grid {
    gap:16px;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bikes-landing>.bet-bikes-benefits {
    display:none;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-families {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    overflow:visible;
    padding-bottom:0;
  }
  .bet-bike-families a {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    gap:8px;
    justify-content:space-between;
  }
  .bet-bike-families a>svg {
    display:none;
  }
  .bet-bike-families a>span:first-of-type {
    min-width:0;
  }
  .bet-bike-families strong {
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .bet-bike-families small {
    max-width:none;
    font-size:12px;
    white-space:normal;
    line-height:1.4;
  }
  .bet-bike-families a>span:last-child {
    flex-shrink:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-families {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
  }
  .bet-bike-families a {
    flex:1 1 calc(50% - 8px);
    width:auto;
    min-height:44px;
    padding:10px 14px;
    border-radius:999px;
    justify-content:center;
    text-align:center;
  }
  .bet-bike-families small,.bet-bike-families a>span:last-child {
    display:none;
  }
  .bet-bike-families strong {
    line-height:1.4;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-families a:link,.bet-bike-families a:visited {
    background:#e2f5ee;
    border:1.5px solid #23a98b;
    color:#126c58;
    min-height:48px;
  }
  .bet-bike-families strong {
    font-size:15px;
    font-weight:650;
  }
  .bet-bike-families a:hover,.bet-bike-families a:focus-visible {
    background:#cceee2;
    border-color:#16846d;
    outline:2px solid #16846d;
    outline-offset:2px;
  }
}
.bet-bike-family-section[hidden] {
  display:none;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-families.bet-family-selector-ready {
    margin-bottom:16px;
  }
  .bet-bike-families a[aria-current=true] {
    background:#16846d;
    border-color:#16846d;
    color:#fff;
  }
  .bet-family-selector-panel .bet-bike-family-heading h2,.bet-family-selector-panel .bet-bike-family-heading p:first-of-type {
    display:none;
  }
  .bet-family-selector-panel {
    margin-top:0;
  }
  .bet-family-selector-panel .bet-bike-family-heading {
    margin-bottom:18px;
    max-width:100%;
    text-align:left;
  }
  .bet-family-selector-panel .bet-bike-family-heading p {
    max-width:none;
    margin:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-family-selector-panel .bet-bike-family-heading p {
    font-size:17px;
    line-height:1.5;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-inline-route .bet-route-bike-filters {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    width:100%;
    box-sizing:border-box;
  }
  .bet-inline-route .bet-route-bike-filters button {
    flex:1 1 auto;
    min-width:0;
    min-height:48px;
    padding:10px 12px;
    border-radius:999px;
    background:#e2f5ee;
    border:1.5px solid #23a98b;
    color:#126c58;
    font-size:15px;
    font-weight:650;
    line-height:1.4;
  }
  .bet-inline-route .bet-route-bike-filters button[aria-pressed=true] {
    background:#16846d;
    border-color:#16846d;
    color:#fff;
  }
  .bet-inline-route .bet-route-bike-filters button:disabled {
    opacity:.45;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-bike-families a:link,.bet-bike-families a:visited,.bet-inline-route .bet-route-bike-filters button {
    border-radius:12px;
    background:#fff;
    border:1.5px solid #bdd2c8;
    color:#263d36;
  }
  .bet-bike-families a[aria-current=true],.bet-inline-route .bet-route-bike-filters button[aria-pressed=true] {
    background:#16846d;
    border-color:var(--bet-brand-green,#23b99a);
    color:#fff;
  }
}
@media (min-width:761px) and (max-width:1024px) and (orientation:portrait) {
  .bet-home-bike-grid>article,.bet-home-route-grid>article {
    flex-basis:calc((100% - 16px)/2);
  }
  .bet-bike-family-carousel>[data-related-carousel]>article {
    flex-basis:calc((100% - 14px)/2);
  }
  .bet-route-related>[data-related-carousel]>article,.bet-bike-related>[data-related-carousel]>article {
    flex-basis:calc((100% - 14px)/2);
  }
  .bet-bike-category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bet-bike-families a {
    flex:1 1 calc(25% - 8px);
  }
  .bet-inline-route .bet-route-bike-picker>[data-bike-cards]>.bet-route-bike-card {
    flex-basis:calc((100% - 14px)/2);
  }
}
@media (min-width:761px) and (max-width:1024px) and (orientation:portrait) {
  .bet-home-bike-grid,.bet-home-route-grid {
    grid-auto-columns:calc((100% - 14px)/2);
  }
}
/* Translated headings wrap naturally within their containers. */
body.bet-site-design :is(.bet-home-hero,.bet-bikes-hero,.bet-routes-hero,.bet-services-hero,.bet-tenerife-hero,.bet-bike-detail-summary,.bet-route-summary) h1 {
  max-width:100%;
  min-width:0;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
  text-wrap:balance;
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  footer.bet-site-footer .bet-footer-company {
    display:block;
    margin-top:3px;
  }
  footer.bet-site-footer .bet-footer-company-separator {
    display:none;
  }
  .bet-booking-widget>div:first-child,.bet-inline-booking strong {
    min-width:0;
    overflow-wrap:break-word;
  }
  .bet-inline-booking button {
    white-space:normal;
    line-height:1.4;
  }
}
/* Open the mobile language choices beside the left-aligned selector. */
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  #bet-site-menu.menu-open .bet-site-languages>div {
    top:auto;
    bottom:0;
    left:calc(100% + 10px);
    right:auto;
    width:190px;
    min-width:0;
    max-width:calc(100vw - 130px);
  }
  #bet-site-menu.menu-open .bet-site-languages summary:before {
    border-top:3px solid transparent;
    border-bottom:3px solid transparent;
    border-right:0;
    border-left:4px solid currentColor;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  body.bet-site-design:has(.bet-route-detail)>header.bet-site-header {
    margin-bottom:8px;
  }
  .bet-route-detail {
    margin-top:0;
  }
  .bet-route-detail>.bet-route-breadcrumbs {
    margin:0 0 8px;
  }
  .bet-route-detail>.bet-route-breadcrumbs a {
    box-sizing:border-box;
    min-height:44px;
    padding:2px;
  }
}
/* Keep related-route metrics readable when two cards share a tablet row. */
@media (max-width:1100px) {
  .bet-route-related h3 {
    min-height:2.8em;
  }
  .bet-route-related .bet-route-detail-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 12px;
    margin-top:14px;
  }
  .bet-route-related .bet-route-detail-stats>div {
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:center;
    column-gap:8px;
    min-width:0;
  }
  .bet-route-related .bet-route-detail-stats svg {
    width:22px;
    height:22px;
    margin:0;
  }
  .bet-route-related .bet-route-detail-stats span {
    min-width:0;
    overflow-wrap:break-word;
  }
  .bet-route-related .bet-route-detail-stats strong {
    font-size:13px;
    line-height:1.4;
    font-weight:600;
  }
  .bet-route-related .bet-route-detail-stats small {
    font-size:12px;
    line-height:1.4;
  }
}
/* Keep the date value visibly separate from its inline label. */
.bet-booking-widget .bet-date-box input[type=date],
.bet-bikes-dates .bet-date-box input[type=date],
.bet-inline-booking:not(.bet-inline-route) .bet-date-box input[type=date],
#booking #booking-date .bet-date-box input {
  padding-left:66px;
}
.bet-date-box.bet-date-empty:not(:focus-within)::after {
  left:66px;
}
.bet-inline-route .bet-date-box.bet-date-empty:not(:focus-within)::after {
  left:10px;
}
/* Align adjustment inputs even when their labels wrap. */
.bet-inline-measurements>label {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
}
.bet-inline-measurements label>div {
  margin-top:5px;
}
.bet-inline-measurements label>div>input {
  margin-top:0;
}
.bet-inline-measurements label>div>span {
  top:50%;
  transform:translateY(-50%);
}
.bet-route-related .bet-route-related-intro {
  display:none;
}
@media (min-width:761px) and (max-width:1100px) {
  .bet-route-related .bet-route-related-intro {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    font-size:14px;
    line-height:1.5;
    color:#62736c;
    margin:8px 0 14px;
  }
}
@media (min-width:761px) and (max-width:1100px) {
  .bet-route-related h3 {
    text-align:center;
  }
  .bet-route-related .bet-route-related-intro {
    text-align:left;
  }
}
@media (min-width:761px) and (max-width:1100px) {
  .bet-route-related h3 {
    min-height:0;
    margin-bottom:4px;
  }
  .bet-route-related .bet-route-related-intro {
    margin-top:0;
  }
}
@media (max-width:760px), (max-width:1024px) and (orientation:portrait) {
  .bet-route-actions a.bet-route-gpx {
    display:block;
  }
}

/* Keep all four bicycle information labels readable on narrow screens. */
@media (max-width:600px) {
  .bet-site-design .bet-bike-tabs:not(.bet-route-tabs) {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 8px;
  }
  .bet-site-design .bet-bike-tabs:not(.bet-route-tabs) button {
    min-width:0;
    width:auto;
    height:auto;
    min-height:44px;
    padding:12px 6px;
    white-space:normal;
    overflow-wrap:break-word;
  }
}
