/* Shared readability defaults. Keep the browser's root size and zoom preferences. */
:root{--reading-body:1.125rem;--reading-control:1rem;--reading-caption:.875rem;--bs-body-font-size:var(--reading-body);--bs-body-line-height:1.65}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--reading-body)!important;line-height:1.65}
input,select,textarea,button{font-family:inherit}
.form-control,.form-select,.input-group-text{font-size:var(--reading-control);line-height:1.5}
.form-control-sm,.form-select-sm{font-size:var(--reading-control);min-height:38px}
.btn{--bs-btn-font-size:1rem;line-height:1.5}
.btn-sm{--bs-btn-font-size:.875rem}
.form-label,.form-check-label,.col-form-label{font-size:1rem}
.form-text,small,.small{font-size:var(--reading-caption);line-height:1.55}
.dropdown-item{font-size:1rem;white-space:normal}
.breadcrumb{font-size:1rem;flex-wrap:wrap}
.table{font-size:1rem;line-height:1.5}
.table th,.table td{vertical-align:middle}
.pagination{flex-wrap:wrap;row-gap:6px}
.page-link{font-size:1rem}
.badge{font-size:.875rem;line-height:1.3}
/* Inputs stay readable on mobile, including custom checkout and search fields. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea{font-size:1rem!important}
.nx-navigation .main-nav .nav-link{font-size:1rem!important}
.nx-navigation .main-nav{flex-wrap:wrap}
.nx-navigation .header-actions{flex-shrink:0}
.nx-navigation .mm-item{white-space:normal;line-height:1.45}
.site-footer p,.site-footer li,.site-footer .ft-bottom{line-height:1.7}
.travel-hero .travel-photo-label{letter-spacing:.035em}
.travel-hero .travel-caption{flex-wrap:wrap;gap:8px}
.travel-hero .travel-caption>a{font-size:.875rem}
.regional-card-footer{flex-wrap:wrap;row-gap:12px}
.regional-cta{margin-left:auto}
.regional-heading p{font-size:1rem}
.regional-eyebrow,.regional-type{letter-spacing:.065em}
.nx-atlas-panel-head{flex-wrap:wrap}
.nx-atlas-countries>a{align-items:start;line-height:1.5}
.nx-atlas-countries>a>span:nth-child(2){overflow-wrap:anywhere}
@media(min-width:992px) and (max-width:1399.98px){
 .nx-navigation .navbar{gap:10px;flex-wrap:wrap}
 .nx-navigation .brand-logo{margin-right:8px}
 .nx-navigation .main-nav .nav-link{padding:10px 8px!important}
}
@media(max-width:767.98px){
 body{font-size:1.0625rem!important}
 .travel-hero .travel-photo-label{font-size:.875rem;padding:7px 9px}
 .travel-hero .travel-caption>div>span{display:none}
 .travel-hero .travel-caption h2{font-size:23px;margin:0}
 .travel-hero .travel-caption{left:14px;right:14px;bottom:14px}
 .travel-hero .nx-eyebrow{font-size:.875rem;letter-spacing:.05em}
 .travel-hero .nx-quick-links{gap:8px 12px}
 .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
