.dt-taxi-hero {
   min-height: 760px;
   display: flex;
   align-items: center;
   background-size: cover;
   background-position: center;
   padding: 160px 0 110px;
}
.dt-taxi-hero-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, rgba(14, 22, 26, .86), rgba(14, 22, 26, .58), rgba(14, 22, 26, .20));
   z-index: -1;
}
.dt-taxi-hero-content p {
   max-width: 650px;
   font-size: 18px;
   line-height: 1.7;
}
.dt-taxi-trust-pill {
   display: inline-flex;
   align-items: center;
   min-height: 50px;
   padding: 0 20px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .14);
   color: #fff;
   font-weight: 600;
   backdrop-filter: blur(8px);
}
.dt-taxi-booking-card,
.dt-summary-card,
.dt-confirmation-card,
.dt-admin-card,
.dt-admin-sidebar,
.dt-admin-stat {
   background: #fff;
   border-radius: 24px;
   padding: 34px;
   box-shadow: 0 18px 60px rgba(18, 25, 33, .10);
   border: 1px solid rgba(20, 20, 20, .06);
}
.dt-taxi-booking-card label,
.dt-admin-card label {
   display: block;
   font-weight: 600;
   color: #111;
   margin-bottom: 8px;
}
.dt-taxi-form .tp-input,
.dt-admin-card .tp-input,
.dt-admin-login .tp-input {
   width: 100%;
   height: 54px;
   border-radius: 14px;
   border: 1px solid rgba(17, 17, 17, .12);
   padding: 0 16px;
   background: #fff;
}
.dt-textarea,
textarea.tp-input {
   height: auto !important;
   padding-top: 14px !important;
}
.dt-days-box {
   background: #fff7f3;
   border: 1px dashed rgba(253, 70, 33, .35);
   color: #111;
   border-radius: 14px;
   padding: 13px 16px;
}
.dt-taxi-feature-card,
.dt-route-card {
   background: #fff;
   border-radius: 20px;
   min-height: 92px;
   padding: 24px;
   box-shadow: 0 12px 35px rgba(18, 25, 33, .07);
   border: 1px solid rgba(20, 20, 20, .06);
   font-weight: 700;
   color: #111;
}
.dt-route-card {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
}
.dt-route-card svg {
   color: #FD4621;
   flex: 0 0 auto;
}
.dt-page-hero {
   background: linear-gradient(180deg, #fff7f3 0%, #fff 100%);
}
.dt-search-card {
   margin-top: -30px;
}
.dt-result-summary {
   background: #111;
   color: #fff;
   border-radius: 18px;
   padding: 18px 24px;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 12px;
}
.dt-result-summary span {
   color: rgba(255,255,255,.74);
}
.dt-taxi-card .tp-tour-thumb img,
.dt-taxi-placeholder {
   height: 245px;
   width: 100%;
   object-fit: cover;
}
.dt-taxi-placeholder {
   display: flex;
   align-items: center;
   justify-content: center;
   background: linear-gradient(135deg, #222, #555);
   color: #fff;
   font-size: 28px;
   font-weight: 700;
   text-align: center;
   padding: 25px;
}
.dt-taxi-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}
.dt-taxi-meta span,
.dt-badge {
   display: inline-flex;
   align-items: center;
   padding: 6px 10px;
   border-radius: 999px;
   background: #f4f4f4;
   color: #111;
   font-size: 12px;
   font-weight: 700;
}
.dt-badge-success {
   background: #eaf8ef;
   color: #157c3b;
}
.dt-taxi-desc {
   min-height: 52px;
}
.dt-price-line {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 10px;
   font-size: 14px;
}
.dt-discount {
   color: #FD4621;
   font-weight: 800;
}
.dt-empty-state {
   background: #fff;
   padding: 55px 25px;
   border-radius: 24px;
   box-shadow: 0 15px 50px rgba(18,25,33,.08);
}
.dt-summary-card.sticky-top {
   top: 110px;
}
.dt-summary-taxi img {
   width: 84px;
   height: 70px;
   object-fit: cover;
   border-radius: 14px;
}
.dt-summary-list {
   list-style: none;
   padding: 0;
   margin: 0;
}
.dt-summary-list li {
   display: flex;
   justify-content: space-between;
   gap: 20px;
   padding: 14px 0;
   border-bottom: 1px solid rgba(17,17,17,.08);
}
.dt-summary-list span {
   color: #666;
}
.dt-summary-list strong {
   color: #111;
   text-align: right;
}
.dt-summary-list .dt-total strong,
.dt-summary-list .dt-total span {
   color: #FD4621;
   font-size: 20px;
}
.dt-note {
   background: #fff7f3;
   color: #5a3128;
   border-radius: 14px;
   padding: 14px 16px;
   font-size: 14px;
}
.dt-alert {
   background: #fff7f3;
   border: 1px solid rgba(253, 70, 33, .25);
   border-radius: 16px;
   padding: 16px 18px;
   color: #5a3128;
}
.dt-confirmation-card {
   padding: 55px;
}
.dt-confirm-icon {
   width: 76px;
   height: 76px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: #eaf8ef;
   color: #157c3b;
   font-size: 42px;
   font-weight: 800;
   margin-bottom: 25px;
}
.dt-admin-area {
   background: #f7f7f7;
}
.dt-admin-sidebar {
   position: sticky;
   top: 105px;
}
.dt-admin-sidebar nav {
   display: grid;
   gap: 8px;
}
.dt-admin-sidebar a {
   display: block;
   padding: 12px 14px;
   border-radius: 12px;
   color: #111;
   font-weight: 700;
}
.dt-admin-sidebar a:hover {
   background: #fff7f3;
   color: #FD4621;
}
.dt-admin-stat span {
   display: block;
   color: #666;
   margin-bottom: 8px;
}
.dt-admin-stat strong {
   display: block;
   font-size: 34px;
   color: #111;
}
.dt-admin-table {
   vertical-align: middle;
}
.dt-admin-table th {
   color: #111;
   font-weight: 800;
   border-bottom: 1px solid rgba(17,17,17,.12);
}
.dt-admin-table td {
   color: #333;
   border-bottom: 1px solid rgba(17,17,17,.06);
}
.dt-link-danger {
   border: 0;
   background: transparent;
   color: #d93025;
   font-weight: 700;
   padding: 0 0 0 12px;
}
.dt-pagination {
   display: flex;
   justify-content: center;
   gap: 16px;
   align-items: center;
}
.dt-pagination a {
   color: #FD4621;
   font-weight: 700;
}
@media (max-width: 991px) {
   .dt-taxi-hero {
      padding: 135px 0 80px;
   }
   .dt-taxi-booking-card,
   .dt-summary-card,
   .dt-confirmation-card,
   .dt-admin-card,
   .dt-admin-sidebar,
   .dt-admin-stat {
      padding: 24px;
      border-radius: 20px;
   }
   .dt-summary-list li {
      align-items: flex-start;
      flex-direction: column;
      gap: 4px;
   }
   .dt-summary-list strong {
      text-align: left;
   }
}
.dt-code,
.dt-cab-id {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 6px 10px;
   border-radius: 999px;
   background: #111;
   color: #fff;
   font-size: 12px;
   font-weight: 800;
}
.dt-cab-id {
   background: #fff7f3;
   color: #5a3128;
}
.dt-select-wrap {
   position: relative;
   width: 100%;
}
.dt-select-native-hidden {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
   opacity: 0 !important;
   pointer-events: none !important;
   left: -9999px !important;
}
.dt-select-button {
   width: 100%;
   min-height: 54px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   border-radius: 14px;
   border: 1px solid rgba(17, 17, 17, .12);
   background: #fff;
   color: #111;
   padding: 0 16px;
   text-align: left;
   font-weight: 600;
}
.dt-select-button:after {
   content: "";
   width: 8px;
   height: 8px;
   border-right: 2px solid currentColor;
   border-bottom: 2px solid currentColor;
   transform: rotate(45deg) translateY(-2px);
   flex: 0 0 auto;
}
.dt-select-dropdown {
   position: absolute;
   z-index: 99;
   left: 0;
   right: 0;
   top: calc(100% + 8px);
   background: #fff;
   border: 1px solid rgba(17, 17, 17, .10);
   box-shadow: 0 18px 45px rgba(18, 25, 33, .16);
   border-radius: 16px;
   padding: 12px;
   display: none;
}
.dt-select-wrap.is-open .dt-select-dropdown {
   display: block;
}
.dt-select-search {
   width: 100%;
   height: 44px;
   border-radius: 12px;
   border: 1px solid rgba(17, 17, 17, .12);
   padding: 0 12px;
   margin-bottom: 10px;
}
.dt-select-options {
   max-height: 240px;
   overflow-y: auto;
   display: grid;
   gap: 4px;
}
.dt-select-option {
   border: 0;
   background: transparent;
   text-align: left;
   padding: 10px 12px;
   border-radius: 10px;
   color: #111;
   font-weight: 600;
}
.dt-select-option:hover,
.dt-select-option.is-selected {
   background: #fff7f3;
   color: #FD4621;
}
.dt-select-empty {
   padding: 12px;
   color: #777;
   font-size: 14px;
}
.dt-select-multiple {
   min-height: 180px !important;
   padding: 12px 16px !important;
}
.dt-admin-card .errorlist,
.dt-taxi-booking-card .errorlist {
   list-style: none;
   margin: 8px 0 0;
   padding: 0;
   color: #d93025;
   font-weight: 600;
   font-size: 13px;
}
.dt-pricing-matrix-wrap {
   max-height: 70vh;
   overflow: auto;
}
.dt-pricing-matrix th:first-child,
.dt-pricing-matrix td:first-child {
   position: sticky;
   left: 0;
   background: #fff;
   z-index: 2;
   min-width: 240px;
}
.dt-pricing-matrix thead th {
   position: sticky;
   top: 0;
   background: #fff7f3;
   z-index: 3;
}
.dt-pricing-matrix input.tp-input {
   min-width: 110px;
   height: 42px;
   padding: 0 10px;
}
.dt-mini-check {
   display: flex;
   align-items: center;
   gap: 6px;
   margin-top: 6px;
   font-size: 12px;
   color: #666;
   font-weight: 600;
}
.dt-link-btn,
.dt-link-danger {
   border: 0;
   background: transparent;
   padding: 0;
   color: #FD4621;
   font-weight: 700;
}
.dt-link-danger {
   color: #d93025;
   margin-left: 10px;
}
