/* =========================
   RIZTRIP COMPACT UI LAYER
   Global polish for page density and responsive layouts.
========================= */

:root{
    --app-bg:#f5f7fb;
    --app-surface:#ffffff;
    --app-surface-soft:#f8fafc;
    --app-ink:#142033;
    --app-muted:#647084;
    --app-line:#dce4ee;
    --app-brand:#0f766e;
    --app-brand-dark:#115e59;
    --app-shadow:0 8px 22px rgba(15,23,42,.07);
    --app-shadow-hover:0 14px 30px rgba(15,23,42,.10);
    --app-radius:14px;
}

html{
    scroll-padding-top:72px;
}

body{
    background:var(--app-bg);
    color:var(--app-ink);
    font-size:15px;
    line-height:1.55;
}

body,
button,
input,
select,
textarea{
    letter-spacing:0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6{
    letter-spacing:0 !important;
    line-height:1.18;
}

p{
    line-height:1.62;
}

img{
    object-fit:cover;
}

.qris-image,
.payment-logo,
.bank-logo{
    object-fit:contain !important;
}

.container,
.container-modern{
    max-width:1180px !important;
}

.navbar,
.topbar-modern,
.admin-navbar,
.navbar-custom{
    box-shadow:0 6px 18px rgba(7,24,39,.13) !important;
}

.navbar-brand,
.brand-modern{
    font-size:1.45rem !important;
    line-height:1.15 !important;
}

.navbar .nav-link,
.nav-link-modern,
.riztrip-nav-btn{
    font-size:.9rem !important;
}

.navbar .btn,
.btn,
.btn-modern,
.submit-btn,
.copy-account-btn{
    min-height:40px;
    border-radius:10px !important;
    font-weight:750;
    line-height:1.2;
    padding:.58rem .9rem;
    transition:box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}

.brand-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.riztrip-language-auth{
    display:inline-flex;
}

.auth-shell .riztrip-language-switcher,
.admin-auth .riztrip-language-switcher,
.auth-section .riztrip-language-switcher{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    white-space:nowrap;
}

.auth-shell .riztrip-language-icon,
.admin-auth .riztrip-language-icon,
.auth-section .riztrip-language-icon{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.84);
}

.auth-shell .riztrip-language-option,
.admin-auth .riztrip-language-option,
.auth-section .riztrip-language-option{
    min-width:34px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 8px;
    border-radius:999px;
    color:rgba(255,255,255,.82);
    font-size:.78rem;
    font-weight:900;
    text-decoration:none;
    line-height:1;
}

.auth-shell .riztrip-language-option:hover,
.auth-shell .riztrip-language-option:focus-visible,
.admin-auth .riztrip-language-option:hover,
.admin-auth .riztrip-language-option:focus-visible,
.auth-section .riztrip-language-option:hover,
.auth-section .riztrip-language-option:focus-visible{
    color:#fff;
    background:rgba(255,255,255,.11);
}

.auth-shell .riztrip-language-option.is-active,
.admin-auth .riztrip-language-option.is-active,
.auth-section .riztrip-language-option.is-active{
    color:#071827;
    background:#fff;
}

.btn:not(:disabled):not(.disabled):hover,
.btn-modern:not(:disabled):not(.disabled):hover,
.submit-btn:not(:disabled):not(.disabled):hover,
.copy-account-btn:not(:disabled):not(.disabled):hover{
    transform:none !important;
    box-shadow:0 12px 24px rgba(7,24,39,.16);
}

.btn:not(:disabled):not(.disabled):active,
.btn-modern:not(:disabled):not(.disabled):active,
.submit-btn:not(:disabled):not(.disabled):active,
.copy-account-btn:not(:disabled):not(.disabled):active{
    transform:none !important;
}

.btn:focus-visible,
.btn-modern:focus-visible,
.submit-btn:focus-visible,
.copy-account-btn:focus-visible{
    outline:3px solid rgba(47,155,255,.32) !important;
    outline-offset:3px;
    box-shadow:0 0 0 .2rem rgba(47,155,255,.14) !important;
}

.btn i,
.btn-modern i,
.submit-btn i,
.copy-account-btn i{
    transition:none;
}

.btn:not(:disabled):not(.disabled):hover i,
.btn-modern:not(:disabled):not(.disabled):hover i,
.submit-btn:not(:disabled):not(.disabled):hover i,
.copy-account-btn:not(:disabled):not(.disabled):hover i{
    transform:none !important;
}

.btn-modern::after,
.submit-btn::after{
    display:none !important;
}

.btn-primary-modern,
.riztrip-nav-btn-primary,
.submit-btn{
    background:#0f766e !important;
    background-image:none !important;
}

.btn-primary-modern:hover,
.riztrip-nav-btn-primary:hover,
.submit-btn:hover,
.btn-primary-modern:focus-visible,
.riztrip-nav-btn-primary:focus-visible,
.submit-btn:focus-visible{
    background:#115e59 !important;
    background-image:none !important;
}

.btn-success-modern,
.wa-btn,
.floating-wa-btn{
    background:#16a34a !important;
    background-image:none !important;
}

.btn-success-modern:hover,
.wa-btn:hover,
.floating-wa-btn:hover{
    background:#15803d !important;
    background-image:none !important;
}

.mail-btn,
.floating-email-btn{
    background:#2563eb !important;
    background-image:none !important;
}

.ig-btn,
.floating-ig-btn{
    background:#833ab4 !important;
    background-image:none !important;
}

.floating-contact a:hover,
.floating-contact a:focus-visible,
.floating-contact-btn:hover,
.floating-contact-btn:focus-visible{
    transform:none !important;
}

.floating-contact a::after{
    display:none !important;
}

.hero-gradient,
.hero-gradient-text{
    color:#b8f3eb !important;
    background:none !important;
    -webkit-text-fill-color:currentColor !important;
}

.btn-lg,
.btn-premium{
    min-height:42px;
    padding:.7rem 1rem !important;
    font-size:1rem !important;
}

.hero,
.hero-section,
.hero-modern,
.home-hero,
.admin-hero,
.history-hero,
.page-hero{
    min-height:auto !important;
    padding-top:64px !important;
    padding-bottom:54px !important;
}

.hero h1,
.hero-title,
.hero-modern h1,
.admin-hero h1,
.history-hero h1,
.page-hero h1{
    font-size:clamp(1.75rem, 3vw, 2.85rem) !important;
    line-height:1.14 !important;
    margin-bottom:14px !important;
}

.hero p,
.hero-text,
.hero-modern p,
.admin-hero p,
.history-hero p,
.page-hero p{
    font-size:clamp(.94rem, 1.1vw, 1.02rem) !important;
    max-width:680px;
    margin-bottom:0;
}

.hero-grid{
    gap:28px !important;
}

.landing-page .hero-modern,
.home-page .home-hero{
    padding-top:48px !important;
    padding-bottom:42px !important;
}

.landing-page .hero-grid,
.home-page .hero-grid{
    gap:22px !important;
}

.landing-page .hero-title,
.home-page .hero-title{
    max-width:600px !important;
    font-size:clamp(1.9rem, 3vw, 2.55rem) !important;
    line-height:1.12 !important;
    margin-bottom:10px !important;
}

.landing-page .hero-text,
.home-page .hero-text{
    max-width:580px !important;
    line-height:1.55 !important;
}

.landing-page .hero-badge,
.home-page .hero-badge{
    margin-bottom:12px !important;
}

.landing-page .hero-actions,
.home-page .hero-actions{
    gap:10px !important;
    margin-top:18px !important;
    margin-bottom:24px !important;
}

.landing-page .hero-visual,
.landing-page .hero-panel,
.home-page .home-hero-panel{
    min-height:340px !important;
}

.home-page .hero-mini{
    display: flex !important;
    flex-wrap: wrap !important;
    gap:8px !important;
    width:100% !important;
    max-width:680px !important;
}

.home-page .hero-mini-item{
    flex: 1 1 calc(25% - 8px) !important;
    min-width: 145px !important;
    grid-template-columns:34px minmax(0, 1fr) !important;
    gap:8px !important;
    min-height:58px !important;
    padding:9px 10px !important;
}

.home-page .hero-mini-icon{
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
}

.home-page .hero-mini-item b{
    font-size:.86rem !important;
}

.home-page .hero-mini-item small{
    font-size:.7rem !important;
}

.landing-page .landing-hero{
    color:#f7fbff !important;
    background:
        linear-gradient(90deg, rgba(7,24,39,.92) 0%, rgba(8,47,73,.76) 46%, rgba(15,118,110,.34) 100%),
        url("../images/hero-open-trip-road.png") center/cover no-repeat !important;
    padding-top:58px !important;
    padding-bottom:54px !important;
}

.landing-page .landing-hero-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(300px, 470px);
    align-items:center;
    gap:38px;
}

.landing-page .landing-hero-copy{
    max-width:640px;
}

.landing-page .landing-kicker{
    width:max-content !important;
    max-width:100% !important;
    color:#d8fbf5 !important;
    background:rgba(255,255,255,.08) !important;
    border-color:rgba(255,255,255,.16) !important;
    box-shadow:none !important;
}

.landing-page .landing-hero .hero-title{
    max-width:640px !important;
    color:#fff;
    font-size:clamp(2rem, 3.4vw, 3.2rem) !important;
    font-weight:800 !important;
    line-height:1.08 !important;
}

.landing-page .landing-hero .hero-text{
    max-width:560px !important;
    color:rgba(247,251,255,.82) !important;
    font-size:1rem !important;
    line-height:1.68 !important;
}

.landing-page .landing-hero-actions{
    margin-top:22px !important;
    margin-bottom:0 !important;
}

.landing-page .landing-hero-actions .btn-outline-modern{
    color:#fff;
    background:transparent;
    border-color:rgba(255,255,255,.28);
    box-shadow:none;
}

.landing-page .landing-hero-facts{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    max-width:560px;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.16);
}

.landing-page .landing-hero-facts div{
    min-width:0;
    padding-right:18px;
}

.landing-page .landing-hero-facts strong{
    display:block;
    color:#fff;
    font-size:1.05rem;
    font-weight:850;
    line-height:1.2;
}

.landing-page .landing-hero-facts span{
    display:block;
    margin-top:4px;
    color:rgba(247,251,255,.64);
    font-size:.82rem;
    line-height:1.35;
}

.landing-page .landing-hero-media{
    position:relative;
    overflow:hidden;
    min-height:340px;
    aspect-ratio:4 / 3;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.18);
    background:#0b2033;
    box-shadow:0 20px 44px rgba(0,0,0,.24);
}

.landing-page .landing-hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.landing-page .landing-hero-note{
    position:absolute;
    left:16px;
    right:16px;
    bottom:16px;
    padding:13px 14px;
    border-radius:10px;
    color:#142033;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 14px 30px rgba(7,24,39,.22);
}

.landing-page .landing-hero-note span{
    display:block;
    margin-bottom:3px;
    color:#647084;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
}

.landing-page .landing-hero-note strong{
    display:block;
    color:#142033;
    font-size:.94rem;
    line-height:1.3;
}

.landing-page .section-padding{
    background:#f5f7fb !important;
}

.landing-page #keunggulan{
    background:#fff !important;
}

.landing-page .section-head{
    max-width:820px;
}

.landing-page .section-kicker{
    color:#0f766e !important;
    background:#edf8f6 !important;
    border-color:#cde7e3 !important;
    box-shadow:none !important;
}

.landing-page .section-head .section-title::after{
    width:48px;
    height:2px;
    margin-top:12px;
}

.landing-page .feature-card,
.landing-page .trip-card-modern,
.landing-page .help-box{
    border-radius:10px !important;
    border-color:#e2e8f0 !important;
    box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
}

.landing-page .feature-card{
    padding:20px !important;
}

.landing-page .feature-card:hover,
.landing-page .feature-card:focus-within,
.landing-page .trip-card-modern:hover,
.landing-page .trip-card-modern:focus-visible{
    transform:none !important;
}

.landing-page .feature-icon{
    width:42px;
    height:42px;
    margin-bottom:14px;
    border-radius:10px;
    box-shadow:none;
}

.landing-page .feature-icon::after{
    display:none;
}

.landing-page .feature-icon i{
    animation:none !important;
    font-size:1.05rem;
}

.landing-page .feature-card h4{
    font-size:1rem !important;
}

.landing-page .feature-card p{
    font-size:.9rem !important;
    line-height:1.6 !important;
}

.landing-page .trip-grid{
    gap:18px !important;
}

.landing-page .trip-thumb{
    height:210px !important;
}

.landing-page .trip-body{
    min-height:auto !important;
    padding:16px !important;
}

.landing-page .trip-duration-badge{
    color:#142033;
    background:#fff;
    box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.landing-page .trip-title-modern{
    font-size:1.02rem;
}

.landing-page .trip-desc-modern{
    font-size:.9rem;
    line-height:1.55;
    -webkit-line-clamp:2;
}

.landing-page .trip-rating-row{
    font-size:.82rem;
}

.landing-page .trip-actions{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
}

.landing-page .trip-price{
    min-width:0;
}

.landing-page .help-box{
    padding:24px !important;
}

.landing-page .footer-inner{
    color:#d7e2ed;
}

.landing-page .floating-contact{
    display:none !important;
}

.hero-grid > *,
.hero-copy,
.hero-content,
.hero-title,
.hero-text,
.hero-actions{
    min-width:0;
}

.hero-badge,
.section-kicker,
.panel-chip,
.fc-chip,
.result-chip,
.status-badge,
.badge,
.badge-status{
    padding:7px 11px !important;
    font-size:.78rem !important;
    line-height:1.25 !important;
    border-radius:999px !important;
}

.section-padding,
.market-section,
.feature-section,
.help-section,
.help-section-modern,
.page-wrap,
.form-wrap,
.detail-wrap,
.history-wrap{
    padding-top:48px !important;
    padding-bottom:48px !important;
}

.py-5{
    padding-top:3rem !important;
    padding-bottom:3rem !important;
}

.py-4{
    padding-top:1.5rem !important;
    padding-bottom:1.5rem !important;
}

.section-head,
.market-head,
.trip-section-head,
.page-head{
    margin-bottom:22px !important;
}

.section-title,
.market-head h2,
.trip-section-head h2,
.feature-head h2,
.help-head h2,
.box-title{
    font-size:clamp(1.35rem, 2.2vw, 2rem) !important;
    line-height:1.2 !important;
    margin-bottom:8px !important;
}

.section-subtitle,
.page-subtitle,
.box-subtitle,
.muted-text{
    font-size:clamp(1.03rem, 1.08vw, 1.13rem) !important;
    line-height:1.72 !important;
}

.section-subtitle-one-line{
    width:100% !important;
    max-width:min(100%, 1120px) !important;
    font-size:clamp(1.04rem, 1vw, 1.1rem) !important;
    font-weight:520 !important;
    color:#344054 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
}

.section-title-one-line{
    width:100% !important;
    max-width:min(100%, 1120px) !important;
    font-size:clamp(1.85rem, 2.25vw, 2.2rem) !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
}

@media (min-width:1200px){
    .section-subtitle-one-line,
    .section-title-one-line{
        white-space:nowrap !important;
    }
}

.trip-grid,
.feature-grid,
.meta-grid,
.info-grid,
.quick-stats,
.preview-grid{
    gap:16px !important;
}

.card,
.feature-card,
.trip-card,
.trip-card-modern,
.catalog-card,
.featured-trip-card,
.user-trip-card,
.history-card,
.detail-card,
.side-card,
.booking-card,
.help-card,
.section-box,
.table-box,
.form-box,
.summary-box,
.dashboard-card,
.stats-card,
.auth-card,
.recommend-box,
.recommend-box-modern,
.preview-card,
.filter-box,
.qris-box,
.payment-card,
.payment-option,
.help-cta,
.hero-card,
.floating-card,
.result-card{
    border-radius:var(--app-radius) !important;
    box-shadow:var(--app-shadow) !important;
}

.card:hover,
.feature-card:hover,
.trip-card:hover,
.trip-card-modern:hover,
.catalog-card:hover,
.featured-trip-card:hover,
.user-trip-card:hover,
.history-card:hover,
.payment-option:hover{
    box-shadow:var(--app-shadow-hover) !important;
}

.card-body,
.feature-card,
.trip-body,
.trip-content,
.catalog-card-body,
.featured-trip-body,
.user-trip-body,
.history-body,
.detail-body,
.side-card,
.booking-card,
.help-card,
.section-box,
.table-box,
.form-box,
.summary-box,
.dashboard-card .card-body,
.stats-card .card-body,
.recommend-box,
.recommend-box-modern,
.filter-box,
.preview-box,
.help-cta,
.hero-card,
.floating-card{
    padding:18px !important;
}

.trip-card-modern,
.catalog-card,
.featured-trip-card,
.user-trip-card,
.history-card,
.detail-card,
.card,
.stats-card,
.dashboard-card{
    overflow:hidden;
}

.trip-media,
.trip-thumb,
.trip-card img,
.trip-card-modern img,
.catalog-card img,
.featured-trip-card img,
.user-trip-card img,
.history-card img,
.detail-card img{
    height:210px !important;
    border-radius:0 !important;
}

.trip-title,
.trip-card-modern h3,
.catalog-card h3,
.featured-trip-card h3,
.user-trip-card h3,
.history-card h3,
.detail-card h2{
    font-size:1.08rem !important;
    line-height:1.3 !important;
    margin-bottom:8px !important;
}

.trip-description,
.trip-card-modern p,
.catalog-card p,
.featured-trip-card p,
.user-trip-card p,
.history-card p{
    font-size:.92rem !important;
}

.trip-meta,
.trip-footer,
.history-meta,
.meta-row,
.info-row,
.payment-head,
.payment-total,
.bank-detail-row,
.action-row,
.form-head{
    gap:10px !important;
}

.info-item,
.meta-item,
.summary-item,
.detail-panel,
.rating-box,
.metric-box,
.stat-item,
.benefit-item{
    border-radius:12px !important;
    padding:12px !important;
}

.form-label{
    margin-bottom:6px !important;
    font-size:.88rem !important;
    font-weight:700 !important;
}

.form-control,
.form-select,
textarea.form-control{
    min-height:42px;
    border-radius:10px !important;
    padding:.6rem .78rem !important;
    font-size:.94rem !important;
}

textarea.form-control{
    min-height:104px;
}

.input-wrap i{
    left:14px !important;
}

.input-wrap .form-control{
    padding-left:42px !important;
}

.table-responsive{
    border-radius:12px !important;
}

.table{
    margin-bottom:0 !important;
}

.table th,
.table td{
    padding:.65rem .72rem !important;
    font-size:.9rem !important;
    vertical-align:middle !important;
}

.table thead th{
    white-space:nowrap;
}

.stats-number,
.dashboard-number,
.summary-value,
.price-box{
    font-size:clamp(1.35rem, 2.4vw, 2rem) !important;
    line-height:1.18 !important;
}

.auth-shell,
.admin-auth,
.auth-section{
    min-height:100svh !important;
    padding:22px 14px !important;
}

.auth-container{
    width:min(100%, 780px) !important;
}

.auth-section .container,
.auth-section .col-xl-10{
    max-width:780px !important;
}

.auth-section .col-xl-10{
    flex:0 0 auto !important;
}

.auth-card{
    grid-template-columns:minmax(280px,.9fr) minmax(300px,1fr) !important;
    min-height:auto !important;
    border-radius:18px !important;
    box-shadow:0 20px 54px rgba(0,0,0,.24) !important;
}

.auth-form-panel,
.auth-copy,
.auth-side{
    padding:22px !important;
}

.auth-card .card-body{
    padding:24px !important;
}

.auth-kicker{
    color:#073b36 !important;
    background:#dff4ef !important;
    border:1px solid #b7e1d8 !important;
    margin-bottom:10px !important;
    padding:6px 10px !important;
    font-size:.72rem !important;
}

.auth-title,
.auth-form-panel h1{
    font-size:clamp(1.35rem, 2.2vw, 1.8rem) !important;
    line-height:1.12 !important;
    margin-bottom:8px !important;
}

.auth-subtitle,
.auth-lead,
.auth-form-panel p{
    font-size:.86rem !important;
    line-height:1.55 !important;
    margin-bottom:16px !important;
    max-width:360px !important;
}

.field-group{
    margin-bottom:11px !important;
}

.auth-form .mb-3{
    margin-bottom:.7rem !important;
}

.auth-form .mb-4,
.field-group.mb-4{
    margin-bottom:1rem !important;
}

.auth-shell .form-label,
.auth-section .form-label{
    margin-bottom:5px !important;
    font-size:.82rem !important;
}

.auth-shell .form-control,
.auth-section .form-control,
.auth-shell .submit-btn,
.auth-section .submit-btn{
    min-height:40px !important;
    border-radius:10px !important;
    font-size:.9rem !important;
}

.auth-shell .form-control,
.auth-section .form-control{
    padding:.55rem .72rem .55rem 2.35rem !important;
}

.auth-section .auth-form .form-control{
    padding:.55rem .72rem !important;
}

.auth-shell .input-wrap i{
    left:12px !important;
    font-size:.92rem !important;
}

.auth-links{
    gap:5px !important;
    margin-top:14px !important;
    font-size:.84rem !important;
}

.brand-row{
    margin-bottom:12px !important;
}

.brand-logo{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 12px;
    border-radius:999px;
    color:#071827 !important;
    background:#ffffff;
    border:1px solid rgba(7,24,39,.12);
    box-shadow:0 10px 24px rgba(7,24,39,.18);
    font-size:1.35rem !important;
    line-height:1 !important;
    text-shadow:none !important;
}

.brand-logo:hover,
.brand-logo:focus-visible{
    color:#071827 !important;
    background:#f3f8fc;
}

.brand-back{
    min-height:36px !important;
    padding:7px 11px !important;
    font-size:.8rem !important;
}

.auth-visual,
.auth-brand-panel{
    min-height:420px !important;
    padding:20px !important;
}

.visual-chip,
.rating-box,
.visual-info{
    border-radius:14px !important;
}

.visual-info{
    padding:16px !important;
}

.visual-info h2,
.auth-side h3{
    font-size:1.2rem !important;
    line-height:1.2 !important;
}

.visual-info p,
.visual-list,
.auth-side p,
.mini-point{
    font-size:.86rem !important;
    line-height:1.5 !important;
}

.floating-contact{
    gap:8px !important;
}

.floating-contact a{
    width:42px !important;
    height:42px !important;
    font-size:1rem !important;
}

@media (min-width: 1200px){
    .trip-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .trip-media,
    .trip-thumb,
    .trip-card img,
    .trip-card-modern img,
    .catalog-card img,
    .featured-trip-card img,
    .user-trip-card img,
    .history-card img{
        height:200px !important;
    }
}

@media (max-width: 991.98px){
    .container,
    .container-modern{
        width:100% !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .navbar-collapse{
        margin-top:10px;
        padding:10px 0 2px;
    }

    .navbar .btn,
    .riztrip-nav-btn{
        width:100%;
        justify-content:center;
    }

    .hero,
    .hero-section,
    .hero-modern,
    .home-hero,
    .admin-hero,
    .history-hero,
    .page-hero{
        padding-top:58px !important;
        padding-bottom:42px !important;
    }

    .hero-grid,
    .detail-section-grid,
    .booking-grid,
    .admin-grid{
        grid-template-columns:1fr !important;
    }

    .landing-page .landing-hero-grid{
        grid-template-columns:1fr !important;
        gap:24px !important;
    }

    .landing-page .landing-hero-media{
        min-height:260px;
        aspect-ratio:16 / 9;
    }

    .auth-card{
        grid-template-columns:1fr !important;
    }

    .auth-copy,
    .auth-visual,
    .auth-brand-panel{
        min-height:auto !important;
        padding:26px !important;
    }
}

@media (max-width: 767.98px){
    body{
        font-size:14.5px;
    }

    .section-padding,
    .market-section,
    .feature-section,
    .help-section,
    .help-section-modern,
    .page-wrap,
    .form-wrap,
    .detail-wrap,
    .history-wrap{
        padding-top:34px !important;
        padding-bottom:34px !important;
    }

    .py-5{
        padding-top:2rem !important;
        padding-bottom:2rem !important;
    }

    .trip-grid,
    .feature-grid,
    .meta-grid,
    .info-grid,
    .quick-stats,
    .preview-grid{
        grid-template-columns:1fr !important;
    }

    .landing-page .landing-hero{
        padding-top:42px !important;
        padding-bottom:38px !important;
    }

    .landing-page .landing-hero-actions{
        display:grid !important;
        grid-template-columns:1fr;
        gap:9px !important;
    }

    .landing-page .landing-hero-actions .btn{
        width:100%;
    }

    .landing-page .landing-hero-facts{
        grid-template-columns:1fr;
        gap:12px;
    }

    .landing-page .landing-hero-facts div{
        padding-right:0;
    }

    .landing-page .help-box-grid{
        align-items:stretch;
    }

    .landing-page .help-box .d-flex{
        align-items:stretch;
        flex-direction:column;
    }

    .landing-page .help-box .btn{
        width:100%;
    }

    .trip-media,
    .trip-thumb,
    .trip-card img,
    .trip-card-modern img,
    .catalog-card img,
    .featured-trip-card img,
    .user-trip-card img,
    .history-card img,
    .detail-card img{
        height:190px !important;
    }

    .card-body,
    .feature-card,
    .trip-body,
    .trip-content,
    .catalog-card-body,
    .featured-trip-body,
    .user-trip-body,
    .history-body,
    .detail-body,
    .side-card,
    .booking-card,
    .help-card,
    .section-box,
    .table-box,
    .form-box,
    .summary-box,
    .dashboard-card .card-body,
    .stats-card .card-body,
    .recommend-box,
    .recommend-box-modern,
    .filter-box,
    .preview-box,
    .help-cta,
    .hero-card,
    .floating-card{
        padding:16px !important;
    }

    .d-flex.form-head,
    .payment-head,
    .payment-total,
    .bank-detail-row,
    .action-row,
    .history-card .d-flex,
    .table-box > .d-flex{
        align-items:stretch !important;
        flex-direction:column !important;
    }

    .d-flex.form-head .btn,
    .table-box > .d-flex .btn,
    .action-wrap .btn{
        width:100%;
    }

    .form-control,
    .form-select,
    textarea.form-control{
        font-size:16px !important;
    }

    .table th,
    .table td{
        white-space:nowrap;
        font-size:.84rem !important;
    }

    .auth-shell,
    .admin-auth,
    .auth-section{
        padding:18px 12px !important;
    }

    .auth-form-panel,
    .auth-copy,
    .auth-visual,
    .auth-brand-panel{
        padding:22px !important;
    }
}

@media (max-width: 575.98px){
    .container,
    .container-modern{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .navbar-brand,
    .brand-modern{
        font-size:1.28rem !important;
    }

    .brand-row{
        align-items:flex-start !important;
        gap:10px !important;
        flex-wrap:wrap !important;
    }

    .brand-actions{
        width:100%;
        justify-content:flex-start;
    }

    .hero,
    .hero-section,
    .hero-modern,
    .home-hero,
    .admin-hero,
    .history-hero,
    .page-hero{
        padding-top:48px !important;
        padding-bottom:34px !important;
    }

    .hero h1,
    .hero-title,
    .hero-modern h1,
    .admin-hero h1,
    .history-hero h1,
    .page-hero h1{
        font-size:1.58rem !important;
    }

    .landing-page .landing-hero .hero-title{
        font-size:1.72rem !important;
        line-height:1.14 !important;
    }

    .landing-page .landing-hero .hero-text{
        font-size:.94rem !important;
    }

    .landing-page .landing-hero-media{
        min-height:220px;
        border-radius:12px;
    }

    .landing-page .landing-hero-note{
        left:10px;
        right:10px;
        bottom:10px;
        padding:11px 12px;
    }

    .section-title,
    .market-head h2,
    .trip-section-head h2,
    .feature-head h2,
    .help-head h2,
    .box-title{
        font-size:1.28rem !important;
    }

    .card,
    .feature-card,
    .trip-card,
    .trip-card-modern,
    .catalog-card,
    .featured-trip-card,
    .user-trip-card,
    .history-card,
    .detail-card,
    .side-card,
    .booking-card,
    .help-card,
    .section-box,
    .table-box,
    .form-box,
    .summary-box,
    .dashboard-card,
    .stats-card,
    .auth-card,
    .recommend-box,
    .recommend-box-modern,
    .preview-card,
    .filter-box,
    .qris-box,
    .payment-card,
    .payment-option,
    .help-cta,
    .hero-card,
    .floating-card,
    .result-card{
        border-radius:12px !important;
    }

    .trip-media,
    .trip-thumb,
    .trip-card img,
    .trip-card-modern img,
    .catalog-card img,
    .featured-trip-card img,
    .user-trip-card img,
    .history-card img,
    .detail-card img{
        height:170px !important;
    }

    .btn,
    .btn-modern,
    .submit-btn,
    .copy-account-btn{
        min-height:38px;
        padding:.56rem .78rem !important;
        font-size:.9rem !important;
    }

    .auth-copy,
    .auth-visual,
    .auth-brand-panel{
        display:none !important;
    }

    .auth-form-panel{
        padding:20px !important;
    }

    .floating-contact{
        left:auto !important;
        right:10px !important;
        bottom:max(10px, env(safe-area-inset-bottom)) !important;
        display:grid !important;
        transform:none !important;
        gap:7px !important;
        padding:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        backdrop-filter:none !important;
        box-shadow:none !important;
    }

    .floating-contact a{
        width:38px !important;
        height:38px !important;
        box-shadow:none !important;
    }

    .floating-contact a::before,
    .floating-contact a::after{
        display:none !important;
    }

    .hero-title,
    .hero-text,
    .hero-actions,
    .section-title,
    .section-subtitle{
        width:100% !important;
        max-width:calc(100vw - 28px) !important;
        min-width:0 !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }

    .section-subtitle-one-line{
        width:100% !important;
        max-width:min(32ch, calc(100vw - 28px)) !important;
        font-size:clamp(1rem, 3.9vw, 1.08rem) !important;
        line-height:1.65 !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        word-wrap:normal !important;
        hyphens:none !important;
    }

    .section-title-one-line{
        width:100% !important;
        max-width:calc(100vw - 28px) !important;
        font-size:clamp(1.45rem, 5.5vw, 1.78rem) !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        word-wrap:normal !important;
        hyphens:none !important;
    }
}
