/* NOT (2026-09-27): mavi/sarı sabit renkler Costa kurumsal renklerine (#0071A3 / #F9B000) eşitlendi; tema değişkenleri için bkz. brand.css */
/*LOADING*/
.skeleton-screen {
    max-width: 100%;
    margin: 0 auto;
}
.skeleton-header,
.skeleton-half-content,
.skeleton-min-content,
.skeleton-image,
.skeleton-content {
    width: 100%;
    height: 30px;
    background-color: var(--bs-gray-200);
    margin-bottom: 10px;
    border-radius: var(--border-radius);
    position: relative;
    overflow: hidden;
}
.skeleton-half-content {
    width: 50%;
}
.skeleton-min-content {
    width: 25%;
}
.skeleton-image {
    height: 200px;
    border-radius: var(--border-radius-lg);
}
.skeleton-header::before,
.skeleton-half-content::before,
.skeleton-min-content::before,
.skeleton-image::before,
.skeleton-content::before  {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, var(--bs-gray-100) 50%, transparent 100%);
    animation: loading 2s linear infinite;
}
@keyframes loading {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}
/*LOADING*/

/* Costa lacivert-altın (navy+gold) sidebar - admin panelindeki AYNI gradyan, iki panel
   arasında marka tutarlılığı için (renkler costacrociere.it'den doğrulandı). */
.app-sidebar {
    background: linear-gradient(180deg, #0071A3 0%, #003E5C 100%) !important;
}

/* Logo beyaz/renkli geldiğinden koyu lacivert zeminde okunaklı kalması için küçük bir
   açık zemin bırakılıyor (admin panelindeki AYNI çözüm). */
.app-sidebar-header {
    background-color: rgba(255, 255, 255, 0.96);
    margin: 10px 10px 0;
    border-radius: 10px;
}

/* Aktif menü öğesi - Costa'nın altın/sarı vurgu rengiyle dolgun pill (admin panelindeki
   AYNI tasarım). Eskiden düz yarı saydam beyazdı, marka kimliği taşımıyordu. */
.app-sidebar-menu-secondary.menu .menu-link.active {
    background: linear-gradient(135deg, #ffd65c 0%, #f9b000 100%) !important;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.app-sidebar-menu-secondary.menu .menu-link.active .menu-title,
.app-sidebar-menu-secondary.menu .menu-link.active .menu-icon i {
    color: #00294f !important;
    font-weight: 600;
}
.app-sidebar-menu-secondary.menu .menu-link:hover:not(.active) {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px;
}

.page-loader-absolute {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(255,255,255,0.7);
    backdrop-filter: blur(30px); /* Arka planı bulanıklaştırır */
    -webkit-backdrop-filter: blur(30px); /* Safari için */
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
}
.loader {
    position: relative;
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ff3040;
    animation: hop 1.2s ease-in-out infinite;
}
.dot:nth-child(2) {
    background: #ffcc00;
    animation-delay: 0.2s;
}
.dot:nth-child(3) {
    background: #00cc99;
    animation-delay: 0.4s;
}
@keyframes hop {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-40px) scale(1.3);
    }
}

@media (min-width: 1500px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1420px;
    }
}
img {
    max-width: 100%;
    height: auto;
}
@media (min-width: 1600px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1520px;
    }
}
.autocomplete {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.suggestions {
    position: absolute;
    max-height: 420px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: var(--bs-box-shadow);
    border-radius: 8px;
    display: none;
    background-color: #fff;
}
@media (max-width: 991px) {
    .suggestions {
        width: calc(100% - 30px) !important;
        left: 15px !important;
    }
}
.suggestions .category-header {
    padding: 15px 15px;
    color: var(--bs-gray-600);
    background-color: var(--bs-gray-200);
    text-transform: uppercase;
    font-size: 0.825rem;
    font-weight: 600;
}
.suggestions .list-group-item {
    border-radius: 0 !important;
    font-size: 1.1rem;
    border-left: 0;
    border-right: 0;
    background-color: #fff;
    color: #000;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    display: block;
    padding: 10px 15px;
}
.suggestions .list-group-item:nth-child(1) {
    border-top: 0;
}
.suggestions .list-group-item:nth-last-child(1) {
    border-bottom: 0;
}
.suggestions .list-group-item:hover {
    background-color: #0071A3;
    color: white;
}
.suggestions .highlight {
    background-color: #0071A3; /* Vurgu rengi */
    color: white; /* Vurgu metni rengi */
}
.suggestions .match-highlight {
    text-decoration:underline;
}
.autocomplete_selectedvalue {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.cf-turnstile {
    margin-bottom: 10px;
    text-align: center;
}
.bs-slider {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}
.bs-slider .bs-slider-item {
    position: relative;
}
.bs-slider .bs-slider-item .bs-slider-img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    object-position: center;
}
.bs-slider .bs-slider-item:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #0c1833;
    opacity: .7;
}
.bs-slider .bs-slider-item .bs-slider-content {
    position: absolute;
    padding: 0 25px 50px;
    bottom: 0;
    width: 100%;
    max-width: 550px;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.25rem;
    color: #fff;
    text-align: center;
}
.bs-slider .bs-slider-item .bs-slider-content h3 {
    font-size: 2.75rem;
    font-weight: bolder;
    margin-bottom:15px;
    color: #fff;
}
.bs-slider .bs-slider-item .bs-slider-content p {
    margin-bottom: 20px;
}
.bs-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 8px;
    background-color: #fff;
    opacity: 1;
    transition: all 0.5s;
}
.bs-slider .swiper-pagination-bullet-active {
    background-color: var(--bs-primary);
    width: 44px;
}
.bs-slider .swiper-button-next, .bs-slider .swiper-button-prev {
    color: #fff;
}
.bs-tour-item {
    position: relative;
    background-color: #fff;
    border-radius: 0.625rem;
    box-shadow: var(--bs-root-card-box-shadow);
    border: 2px solid var(--bs-gray-300);
    overflow: hidden;
    transition: all 0.3s;
}
.bs-tour-item:hover {
    border-color: var(--bs-danger);
}
.bs-tour-item .bs-tour-image {
    overflow: hidden;
    border-bottom: 4px solid var(--bs-danger);
    position: relative;
}
.bs-tour-tags {
    position: absolute;
    bottom: 5px;
    display: flex;
    gap: 5px;
    z-index: 2;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 5px;
}
.bs-tour-tags .badge {
    border-radius: 3px;
}

.bs-tour-item.blue:hover {
    border-color: var(--bs-success);
}
.bs-tour-item.blue .bs-tour-image {
    border-color: var(--bs-success);
}
.bs-tour-item .bs-tour-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 16 / 10;
    transition: all 0.3s;
}
.bs-tour-item:hover .bs-tour-image img {
    transform: scale(1.1);
}
.bs-tour-item .bs-tour-body {
    padding: 20px;
}
.bs-tour-item .bs-tour-body h4 {
    font-size: 1.35rem;
    font-weight: bolder;
    color: var(--bs-gray-900);
    line-height: 1.4;
    margin-bottom: 15px;
    height: 4.2rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;   /* Kaç satır gösterilecek */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bs-tour-item .bs-tour-body h4 a {
    color: var(--bs-gray-900);
}
.bs-tour-item:hover .bs-tour-body h4 a {
    color: var(--bs-danger) !important;
}
.bs-tour-item.blue:hover .bs-tour-body h4 a {
    color: var(--bs-success) !important;
}
.bs-tour-item .bs-tour-info {
    margin-bottom:15px;
    display: flex;
    flex-direction: column;
    width: 100%;
    flex:1;
    gap:7px;
    height: 85px;
}
.bs-tour-item .bs-tour-info-item {
    display: flex;
    align-items: start;
    gap:5px;
    color: var(--bs-gray-800);
    margin-bottom: 5px;
}
.bs-tour-item .bs-tour-info-icon {
    width: 22px;
    display: flex;
    align-items: start;
    justify-content: start;
    font-size: 1.25rem;
    padding-top: 2px;
}
.bs-tour-item .bs-tour-info-icon i {
    font-size: 17px;
    color: var(--bs-gray-900);
}
.bs-tour-item .bs-tour-info-detail {
    font-size: 14px;
    flex:1;
    display: -webkit-box;
    -webkit-line-clamp: 2;   /* Kaç satır gösterilecek */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bs-tour-item .bs-tour-dates {
    background-color: var(--bs-gray-200);
    border-radius: 0.625rem;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.bs-tour-item .bs-tour-dates i {
    font-size: 17px;
    color: var(--bs-gray-900);
}
.bs-tour-item .bs-tour-dates a {
    color: var(--bs-gray-900);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 12px;
    font-weight: 600;
    transition: all 0.3s;
    border-radius: 0.4rem;
}
.bs-tour-item .bs-tour-dates > a.bs-tour-all-date-btn {
    background-color:#fff;
}
.bs-tour-item .bs-tour-dates > a:hover {
    background-color:var(--bs-gray-300);
}
.bs-tour-item .bs-tour-footer {
    border-top:1px solid var(--bs-gray-300);
    display: flex;
    width: 100%;
}
.bs-tour-item .bs-tour-footer .bs-tour-commission {
    width: 100px;
    padding: 15px 20px;
}
.bs-tour-item .bs-tour-footer .bs-tour-price {
    text-align: right;
    flex:1;
    padding: 15px 20px;
}
.bs-tour-commission-amount {
    font-weight: bold;
    color:var(--bs-dark);
    font-size: 1.5rem;
}
.bs-tour-price-title {
    font-size: 0.875rem;
    font-weight: 300;
    color: #fff;
    margin-bottom:5px;
}
.bs-tour-price-amount {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content:end;
    line-height: 1;
}
.bs-tour-price-amount strong {
    font-weight: bold;
    color:var(--bs-primary);
    font-size: 2rem;
}
.bs-tour-price-amount span {
    font-size: 1.25rem;
    font-weight: 500;
    color:var(--bs-gray-700);
    text-decoration: line-through;
}
.bs-tour-label {
    position: absolute;
    top: 10px;
    padding: 8px 12px;
    font-size: 12px;
    border-radius: 0 0.425rem 0.425rem 0;
    z-index: 1;
    display: flex;
    color:#fff;
}
.bs-tour-date-list {
    position: absolute;
    z-index: 10;
    background-color: #fff;
    top:0;
    left:-200px;
    visibility: hidden;
    width: 200px;
    height: 100%;
    box-shadow:var(--bs-box-shadow);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease-in-out;
}
.bs-tour-date-list.active {
    left:0;
    visibility: visible;
}
.bs-tour-date-list h5 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--bs-gray-600);
    padding:15px 15px;
    background-color: var(--bs-gray-200);
    border-bottom: 1px solid var(--bs-gray-300);
    margin: 0;
}
.bs-tour-date-list .bs-tour-date-list-body {
    flex: 1;
    flex-shrink: 1;
    overflow-y: auto;
    overflow-x: hidden;
}
.bs-tour-date-list a {
    display:flex;
    width: 100%;
    padding: 10px 15px;
    border-bottom: 1px dashed var(--bs-gray-300);
    color:var(--bs-gray-900);
    font-size: 14px;
    font-weight: 600;
    justify-content: space-between;
    align-items: center;
}
.bs-tour-date-list a:hover {
    background-color:var(--bs-gray-100);
    color:var(--bs-primary);
}
.bs-tour-date-list a span {
    font-size: 0.975rem;
    color: var(--bs-gray-600);
}

.swiper-4-col .swiper-button-next, .swiper-4-col  .swiper-button-prev {
    background-color: #fff;
    width:44px;
    height:44px;
    border-radius: 8px;
    box-shadow:var(--bs-box-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size:14px;
}
.swiper-tools-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap:10px;
}
.swiper-tools-box .swiper-prev,.swiper-tools-box .swiper-next {
    width:44px;
    height:44px;
    font-size: 24px;
    background-color:var(--bs-gray-200);
    border-radius: 0.625rem;
    display:flex;
    align-items: center;
    justify-content: center;
}
.swiper-tools-box .swiper-prev.swiper-button-disabled,.swiper-tools-box .swiper-next.swiper-button-disabled {
    opacity:0.4;
    cursor:default;
}
.swiper-tools-box .swiper-prev:not(.swiper-button-disabled):hover,.swiper-tools-box .swiper-next:not(.swiper-button-disabled):hover {
    background-color:var(--bs-gray-300);
}
.swiper-tools-box i {
    font-size:24px;
}
.product-tour-list {
    display: flex;
    flex-direction: column;
    gap:10px;
    width: 100%;
    flex:1;
}
.place-item {
    border-radius: 0.625rem;
    background-color: #fff;
    padding: 15px;
    display: flex;
    gap:20px;
    border:2px solid var(--bs-gray-200);
    margin-bottom: 10px;
    position: relative;
}
.place-item .bs-tour-tags {
    right: 0;
    left: auto;
    justify-content: end;
    top:5px;
    bottom: auto;
}
.place-item:hover {
    border-color:var(--bs-gray-400);
}
.place-item.active {
    border-color:var(--bs-primary);
    box-shadow: 0 5px 0 0 var(--bs-primary);
    -webkit-box-shadow: 0 5px 0 0 var(--bs-primary);
    -moz-box-shadow: 0 5px 0 0 var(--bs-primary);
}
.place-item .place-img {
    width: 260px;
}
.place-item .place-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0.625rem;
}
.place-item .place-content {
    flex: 1;
    width: calc(100% - 300px);
}
.place-item .place-item-title {
    padding-top: 15px;
    margin-bottom:10px;
}
.place-item .place-item-title a {
    font-size: 1.7rem;
    font-weight: bolder;
    color: var(--bs-gray-900);
    line-height: 1.4;
}
@media (min-width: 1599px) AND (max-width: 1920px) {
    .place-item .place-img {
        width: 200px;
    }
    .place-item .place-content {
        width: calc(100% - 240px);
    }
}
@media (min-width: 1299px) AND (max-width: 1598px) {
    .noscroll {
        overflow: hidden !important;
    }
}
.place-item .place-tour-info {
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1;
    gap: 7px;
}
.place-item .place-tour-info-item {
    display: flex;
    align-items: start;
    gap: 5px;
    color: var(--bs-gray-800);
    margin-bottom: 5px;
}
.place-item .place-tour-info-icon {
    width: 22px;
    display: flex;
    align-items: start;
    justify-content: start;
    font-size: 1.25rem;
    padding-top: 2px;
}
.place-item .place-tour-info-icon i {
    font-size: 17px;
    color: var(--bs-gray-900);
}
.place-item .place-tour-info-detail {
    font-size: 14px;
    flex:1;
}
.place-item .place-date-list {
    display: flex;
    border-radius: 0.625rem;
    background-color: var(--bs-gray-200);
    overflow: hidden;
    height: 50px;
}
.place-item .place-date-list .place-date-list-icon {
    height: 50px;
    border-right: 1px dashed var(--bs-gray-400);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 0 15px;
    white-space: nowrap;
    gap:5px;
    line-height: 1;
}
.place-item .place-date-list .place-date-list-icon i {
    font-size: 22px;
    color: var(--bs-gray-900);
    line-height: 1;
}
.place-item .place-date-list .place-date-list-icon span {
    font-size: 0.75rem;
    color: var(--bs-gray-900);
    font-weight: 600;
    line-height: 1;
}
.place-item .place-date-list .place-date-list-body {
    flex: auto;
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
    gap: 5px;
    padding: 7px 10px;
    background-color: var(--bs-gray-200);
    width: 100%;
}
.place-item .place-date-list .place-date-list-body .place-date-item {
    white-space: nowrap;
    display: flex;
    height: 36px;
    padding: 0 15px;
    background-color: var(--bs-gray-300);
    border-radius: 0.225rem;
    align-items: center;
    justify-content: center;
    color: var(--bs-gray-800);
    width: 100px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.3s;
}
.place-item .place-date-list .place-date-list-body .place-date-item:hover {
    background-color: var(--bs-gray-400);
}
.place-item .place-date-list .place-date-list-body .place-date-item.active {
    background-color: var(--bs-primary);
    color: #fff;
}
.place-item .date-swiper {
    width: 100%;
}
.place-item .place-tour-footer {
    border-top: 1px dashed var(--bs-gray-300);
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap:15px;
    margin-top:10px;
    align-items: start;
    padding-top: 10px;
}
.place-item .place-tour-footer .bs-tour-price {
    text-align: right;
    flex: 1;
}
@media (max-width: 767px) {
    .place-item {
        flex-direction: column;
    }
    .place-item .place-img {
        width: 100%;
    }
    .place-item .place-content {
        width: 100%;
    }
}

.swiper-scrollbar {
    height: 4px;
    background: rgba(0, 0, 0, 0.1);
    opacity: 0;
}
.swiper-scrollbar-drag {
    background: rgba(0,0,0,0.2);
}
.swiper:hover .swiper-scrollbar {
    opacity: 1;
}

.dt-row {
    display: flex;
    width: 100%;
    position: relative;
    gap: 30px;
}
.dt-row > .dt-content {
    width: calc(100% - 530px);
    flex: auto;
}
.dt-row > .dt-sidebar {
    width: 500px;
    flex: auto;
}

#tourDetailContent {
    position: relative;
    padding: 20px;
    overflow-x: hidden;
    overflow-y: auto;
}

.search-result-preview .dt-row, .drawer .dt-row, #tourDetailContent .dt-row {
    flex-direction: column;
}
.search-result-preview .dt-row > .dt-content, .search-result-preview .dt-row > .dt-sidebar,
.drawer .dt-row > .dt-content, .drawer .dt-row > .dt-sidebar,
#tourDetailContent .dt-row > .dt-content, #tourDetailContent .dt-row > .dt-sidebar
{
    width: 100%;
}
.search-result-preview .dt-row > .dt-sidebar,
.drawer .dt-row > .dt-sidebar,
#tourDetailContent .dt-row > .dt-sidebar
{
    order: 3; /* .dt-date-info'dan sonra */
}
.dt-date-info {
    order: 2; /* önce .dt-date-info */
}
@media (max-width: 1199px) {
    .dt-row {
        flex-direction: column;
    }
    .dt-row > .dt-content {
        width: 100%;
    }
    .dt-row > .dt-sidebar {
        width: 100%;
    }
}
/*FİYAT HESAPLAMA FORMU BAŞLANGIÇ*/
.price-calc-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap:5px;
    font-size: 1.1rem;
}
.price-calc-title {
    display: flex;
    flex-direction: column;
    flex:1;
    width: 100%;
}
.price-calc-title strong {
    display: flex;
    align-items: center;
    width: 100%;
    font-weight: 600;
    gap:10px;
    line-height: 1.3;
    font-size:1.2rem;
}
.price-calc-title strong .material-icons-outlined {
    font-size: 18px;
}
.price-calc-room {
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dashed var(--bs-gray-400);
}
.price-calc-room:nth-child(1) .price-calc-room-remove {
    display: none;
}
.price-calc-room:nth-last-child(1) {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.price-calc-item {
    padding-bottom: 0;
}
.price-calc-item .input-group {
    width: auto;
}
.price-calc-title>span {
    font-size: 0.9rem;
    color: var(--bs-gray-600);
}
.price-calc-item .input-group input {
    border:none !important;
    width: 50px;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-weight: bold;
    font-size: 1.2rem;
}
.price-calc-item .input-group .btn {
    width: 36px;
    height: 36px;
    padding: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 0.2rem;
}
.btn-room-add {
    width: 122px;
}
.price-calc-item .input-group .btn i {
    font-size: 16px;
    margin:0;
    padding: 0;
}
.price-calc-item .input-group input[type="number"]::-webkit-inner-spin-button,
.price-calc-item .input-group input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.price-calc-item .input-group input[type="number"] {
    -moz-appearance: textfield;
}
.price-calc-response .price-box {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 3px
}
.price-calc-response .price-box .discount {
    font-weight: 600;
    text-decoration: line-through;
    font-size: 1rem;
    line-height: 1;
    color: var(--bs-gray-600);
}
.price-calc-response .price-box .price {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1
}
.price-calc-response {
    display: flex;
    gap:10px;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding: 15px;
    border-radius: var(--border-radius);
    background-color: var(--bs-success);
}
.price-table-box {
    position: relative;
    margin-bottom: 30px;
    display: block;
}
.price-table-box:nth-last-child(1) {
    margin-bottom: 0;
}
.price-table-box .price-table-head {
    background-color: var(--bs-gray-200);
    text-align: center;
    padding: 15px;
}
.price-table-box .price-table-head h4 {
    margin: 0;
}
.price-table-box .table {
    font-size: 0.85rem;
    text-align: center;
    margin-bottom: 0;
}
.price-table-box .table th {
    font-weight: 600;
    text-wrap: nowrap;
}
.price-pack-list {
    display: none;
    gap: 10px;
    margin-bottom: 25px;
}
.price-pack-list .price-pack-item {
    text-align: center;
    justify-content: center;
    align-items: center;
    display: flex;
    gap:10px;
    border-top:3px solid var(--bs-gray-500);
    padding: 25px 10px;
    border-radius: var(--border-radius);
    box-shadow: .125rem .25rem .625rem .25rem rgba(0,0,0,.10);
    flex: 1;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
}
.price-pack-list .price-pack-item input {
    display: none;
}
.price-pack-list .price-pack-item .price-pack-checkbox {
    display: inline-block;
    position: relative;
    width: 16px;
    height: 16px;
    background-color: #fff;
    border:1px solid var(--bs-gray-600);
    border-radius: 50%;
}
.price-pack-list .price-pack-item.active {
    border-top-color: var(--bs-danger);
}
.price-pack-list .price-pack-item.active .price-pack-checkbox {
    border-color: var(--bs-danger)
}
.price-pack-list .price-pack-item.active .price-pack-checkbox:after {
    display: block;
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top:2px;
    left: 2px;
    background-color: var(--bs-danger);
}
.price-calc-found {
    position: relative;
    padding: 15px;
    border-radius: 0.625rem;
    background-color: var(--bs-primary-light);
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.price-calc-sale-box .btn {
    width: 100%;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.price-calc-found .place-tour-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.price-calc-found .place-tour-footer .bs-tour-price-amount {
    display: flex;
    gap: 5px;
    justify-content: end;
    line-height: 1;
    flex-direction: column;
    align-items: end;
}
/*FİYAT HESAPLAMA FORMU BİTİŞ*/
[data-tooltip] {
    position: relative;
}
.tooltip {
    position: absolute;
    background: #333;
    color: #fff;
    padding: 8px 10px;
    border-radius: 4px;
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 400;
    max-width: 260px;
    text-align: center;
    z-index: 9999;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}
.tooltip.visible {
    opacity: 1;
    transform: scale(1);
}
.date-item-list .swiper-slide {
    width: 140px;
}

.place-discount {
    font-size: 14px;
    font-weight: 400;
    color: var(--bs-gray-800);
    text-decoration: line-through;
}
.loader-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 25px 0;
}
.items-content-body .loader-container {
    padding: 40px 0 0;
}
.loader-ball {
    width: 12px;
    height: 12px;
    background-color: var(--bs-gray-400);
    border-radius: 50%;
    margin: 0 5px;
    animation: bounce 0.4s infinite alternate;
}
.loader-ball:nth-child(2) {
    animation-delay: 0.2s;
}
.loader-ball:nth-child(3) {
    animation-delay: 0.3s;
}
@keyframes bounce {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-10px);
    }
}
.booking-submit-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 54px;
    border-radius: 0.425rem;
}
.step-by-step {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    position: relative;
    margin-bottom: 40px;
    counter-reset: list-counter;
}
.step-by-step .step {
    font-weight: 600;
    color: var(--bs-gray-500);
    padding: 10px 0;
    position: relative;
    font-size: 1rem;
    text-align: center;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 10px;
}
.step-by-step .step:not(:last-child):after {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: var(--bs-gray-500);
    position: absolute;
    transform: translateY(-50%);
    right: -35px;
    content:"\e966";
    top:50%;
    font-family: "keenicons-solid" !important;
    font-size: 20px;
    line-height: 1;
}
@media(max-width: 991px) {
    .step-by-step {
        margin-bottom: 20px;
    }
}
.step-by-step .step .step-count {
    display: flex;
    width: 34px;
    height: 34px;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    background-color: var(--bs-gray-300);
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
}
.step-by-step .step .step-count::before {
    counter-increment: list-counter; /* Sayaç artırılıyor */
    content: counter(list-counter); /* Sadece numara ekleniyor */
    display: block; /* Blok olarak göster */
    text-align: center; /* Ortalamak için */
    font-size: 20px; /* İsteğe bağlı boyut ayarı */
    font-weight: bold;
}

.step-by-step .step.active {
    color:var(--bs-primary);
    font-weight: bold;
}
.step-by-step .step.active .step-count {
    background-color: var(--bs-primary);
    color: #fff;
}

@media (max-width: 767px) {
    .step-by-step .step:not(.active) .step-title {
        display: none;
    }
}

.guest-item {
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dashed var(--bs-gray-400);
}
.guest-item:nth-last-child(1) {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
    top:8px;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
    left:8px;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    right:8px;
}
.flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-current-month input.cur-year {
    font-size:1.2rem !important;
    padding: 5px 8px;
    color: var(--bs-gray-900);
    border-radius: 4px !important;
    margin-left: 2px;
    margin-right: 2px;
}
.flatpickr-current-month .numInputWrapper {
    border-radius: 4px !important;
    margin-left: 2px;
    margin-right: 2px;
}
.flatpickr-current-month {
    padding-top: 4px;
}
.sk-switch {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    gap:10px;
    padding: 5px 10px 5px 65px;
    border-radius: 5px;
    background-color: var(--bs-gray-100);
}
.flex-button {
    display: flex;
    align-items: center;
}
.customer-card-item {
    display: flex;
    justify-content: space-between;
    position: relative;
    border:1px dashed var(--bs-gray-300);
    border-radius: 6px;
    padding: 15px 30px;
    transition: all .3s;
    outline:2px dashed transparent;
}

@media(max-width: 767px) {
    .customer-card-item {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }
}

.customer-card-item:hover {
    border:1px solid var(--bs-primary);
    outline:2px solid var(--bs-primary);
}
.customer-card-item h4 {
    margin-bottom: 0;
}
.customer-card-item:hover h4 {
    color: var(--bs-primary) !important;
}
.customer-card-detail {
    display: flex;
    flex-wrap: wrap;
    flex-shrink: 1;
    gap: 7px;
    margin-top:10px;
}
.customer-card-detail>div {
    width: calc(50% - 10px);
    flex:auto;
    display: flex;
    align-items: center;
    gap: 10px;
}
.b2b_customer_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100%;
}
.b2b_customer_wrapper .b2b_customer_search {
    margin-bottom: 20px;
}
.b2b_customer_wrapper .b2b_customer_list {
    flex:auto;
    display: flex;
    gap: 15px;
    flex-direction: column;
}
.step_timer {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 15px;
    border: 1px solid var(--bs-danger-bg-subtle);
    color: var(--bs-danger);
    border-radius: 20px;
    width: 100%;
    margin-bottom: 15px;
    font-weight: 600;
    background-color: var(--bs-danger-bg-subtle);
}
.step_timer .step_timer_title {
    position: relative;
    font-size:13px;
    font-weight: normal;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.step_timer .step_timer_time {
    display:flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.step_timer .step_timer_time .step_timer_hour, .step_timer .step_timer_time .step_timer_min, .step_timer .step_timer_time .step_timer_sec {
    display:flex;
    flex-direction: column;
    font-size: 22px;
    gap: 3px;
    line-height: 1;
    text-align: center;
}
.step_timer.step_timer_wide .step_timer_time .step_timer_hour, .step_timer.step_timer_wide .step_timer_time .step_timer_min, .step_timer.step_timer_wide .step_timer_time .step_timer_sec {
    font-size:18px;
    line-height: 1;
}
.step_timer_time .step_timer_seperator {
    font-size: 22px;
    font-weight: 600;
}
.step_timer.step_timer_wide .step_timer_time .step_timer_seperator {
    font-size: 18px;
    line-height: 1;
}
.step_timer .step_timer_time .step_timer_hour span, .step_timer .step_timer_time .step_timer_min span, .step_timer .step_timer_time .step_timer_sec span {
    font-weight: 400;
    font-size:10px;
}
.step_timer.step_timer_wide .step_timer_time .step_timer_hour span, .step_timer.step_timer_wide .step_timer_time .step_timer_min span, .step_timer.step_timer_wide .step_timer_time .step_timer_sec span {
    font-size:12px;
    line-height: 1;
}

/* Ana Konteynır - Kendini belli eden modern yapı */
.step_timer {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    padding: 12px 20px;
    border-radius: 20px;
    border:none;
}

.step_timer_time {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Sayı Kutuları - İdeal Büyüklükte (54x54 px) */
.step_timer_hour strong,
.step_timer_min strong,
.step_timer_sec strong {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 54px;
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 12px;
    transition: all 0.3s ease;
}

/* Saniye: Akışın kalbi (Canlı ve Modern Vurgu) */
.step_timer_hour strong,
.step_timer_min strong,
.step_timer_sec strong {
    background: linear-gradient(135deg, #f1416c 0%, #ff6b8b 100%);
    color: #ffffff;
    border: none;
}

/* Ayırıcı ( : ) - Şık ve net */
.step_timer_seperator {
    font-size: 1.4rem;
    font-weight: 500;
    color: #f1416c;
    margin: 0 2px;
}

/* Sayıların altına çok hafif bir "Label" ekleyelim (Opsiyonel ama profesyonel gösterir) */
.step_timer_min, .step_timer_sec, .step_timer_hour {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Sayıların Altındaki Küçük Etiketler */
.step_timer_hour::after, .step_timer_min::after, .step_timer_sec::after {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 6px;
    letter-spacing: 1px;
}
.step_timer_hour::after { content: "Saat"; color: #f1416c; opacity: 0.8; }
.step_timer_min::after { content: "Dakika"; color: #f1416c; opacity: 0.8; }
.step_timer_sec::after { content: "Saniye"; color: #f1416c; opacity: 0.8; }

/* Eğer saat boşsa, kendisini ve yanındaki ayırıcıyı gizle */
.step_timer_hour:empty, .step_timer_hour:empty::after,
.step_timer_hour:empty + .step_timer_seperator {
    display: none;
}

/* Eğer dakika boşsa, kendisini ve yanındaki ayırıcıyı gizle */
.step_timer_min:empty, .step_timer_min:empty::after,
.step_timer_min:empty + .step_timer_seperator {
    display: none;
}

/* Eğer saniye boşsa kendisini gizle (ardında ayırıcı yoksa sadece kendisi) */
.step_timer_sec:empty {
    display: none;
}


.phone-group {
    display: flex;
    width: 100%;
    gap: 5px;
}
.phone-group>*:nth-child(1) {
    width: 100px;
}
.phone-group>*:nth-child(2) {
    flex: 1;
}
.view-more-content {
    overflow: hidden;
    max-height: 320px;
    transition: max-height 0.5s ease-in-out;
    position: relative;
}
.view-more-content.clps:before {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 90px;
    bottom: 0;
    left: 0;
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,0.90) 0%,rgba(255,255,255,0)  100%);
    z-index: 1;
}
.price-cabin-select-container select option{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}
.price-cabin-select-container select option span {
    font-size:12px;
    font-weight: 600;
    color: var(--bs-gray-400);
}
.price-table-container {
    margin-top: 20px;
    position: relative;
}
.price-table, .price-table-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.price-table-item {
    border-radius: var(--border-radius);
    border:2px solid var(--bs-gray-200);
    overflow: hidden;
    position: relative;
    transition: var(--transition-effect);
}
.price-table-item .price-table-head {
    padding: 10px;
    background-color: var(--bs-gray-100);
    border-bottom:1px solid var(--bs-gray-300);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    align-items: center;
}
.price-table-item .price-table-head .price-table-title {
    font-size: 1rem;
    color: var(--primary-blue);
}
.price-table-item .price-table-body {
    padding: 10px;
    background-color: #fff;
    display: flex;
    width: 100%;
    gap: 20px;
    justify-content: space-between;
    transition: var(--transition-effect);
    position: relative;
}
.price-table-item .price-table-body:after {
    display: block;
    position: absolute;
    content: ' ';
    right: 0;
    top: 0;
    width: 50px;
    height: 100%;
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    z-index: 2;
}
.price-table-item .price-table-body .price-table-body-item {
    display: flex;
    white-space: nowrap;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5px;
    line-height: 1;
    border-right: 1px solid var(--bs-gray-400);
    text-align: center;
}
.price-table-item .price-table-body .swiper-slide:nth-last-child(1) .price-table-body-item {
    border-right: 1px solid transparent;
}
.price-table-item .price-table-foot {
    display: none;
    text-align: center;
    padding: 0 10px 10px;
}
.price-table-item .price-table-body .price-table-body-item span {
    color:var(--bs-gray-600);
    font-weight: 600;
    font-size: 1rem;
}
.price-table-item .price-table-body .price-table-body-item strong {
    display: flex;
    font-family: var(--title-font-family);
    text-align: center;
    flex: 1;
    font-size: 1.1rem;
    align-items: center;
    gap: 10px;
    color: var(--primary-blue);
    justify-content: center;
}
.price-table-item .price-table-body .price-table-body-item strong i {
    font-size: 21px;
    color: var(--bs-gray-400);
    cursor: pointer;
    transition: var(--transition-effect);
}
.price-table-item .price-table-body .price-table-body-item strong i:hover {
    color: var(--primary-blue);
}
.price-table-item .price-cabin-button {
    border-radius: var(--border-radius);
    box-shadow: none !important;
    outline: none !important;
    border:none !important;
    background-color: var(--red-color);
    color: var(--primary-blue);
    padding: 6px 15px;
    font-size: 1rem;
    font-weight: 600;
    transition: var(--transition-effect);
}
.price-table-item:not(.active) .price-cabin-button:hover {
    opacity: .65;
}
.price-table-item.active {
    border:5px solid var();
}
.price-table-item.active .price-table-head {
    background-color: var(--red-color);
    border-bottom:1px solid var(--red-color);
}
.price-table-item.active .price-cabin-button {
    background-color: var(--red-color);
    color: var(--primary-blue);
    cursor: default;
    opacity: 0.65;
}
@media (max-width: 567px) {
    .price-table-item .price-table-head {
        flex-direction: column;
        gap: 5px;
        padding: 5px;
    }
    .price-table-item .price-table-body .price-table-body-item span {
        height: auto;
    }
    .price-table-item .price-cabin-button {
        width: 100%;
    }
}
.category-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    position: relative;
    align-items: center;
    justify-content: center;
}
.category-item img {
    aspect-ratio: 5 / 5;
    transition: all 0.3s;
    object-position: center;
    object-fit: cover;
    border-radius: 6px;
    width: 100%;
}
.category-item:hover h4 {
    color: var(--bs-success);
}
.destination-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    position: relative;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
}
.destination-item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.7) 100%);
    transition: all 0.3s ease-in-out;
}
.destination-item h4 {
    position:absolute;
    bottom: 0;
    text-align: center;
    width: 100%;
    left: 0;
    padding: 25px 15px;
    color:#fff;
    z-index: 1;
    font-size: 1.4rem;
}
.destination-item img {
    aspect-ratio: 14 / 16;
    transition: all 0.3s;
    object-position: center;
    object-fit: cover;
    width: 100%;
}
.destination-item:hover:after {
    background-color: rgba(0,0,0,0.2);
}
.destination-item:hover img {
    transform: scale(1.1);
}
.reservation-reminder-minimal {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(-200%);
    z-index: 1055;
    animation: fade-slide-up 1s ease-out forwards;
    opacity: 0;
}
@keyframes fade-slide-up {
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}
@media (max-width: 667px) {
    .reservation-reminder-minimal {
        width: 90%;
    }
}

.reminder-box {
    background: #ffffff;
    color: #1e1e2d;
    border-radius: 999px;
    padding: 0.4rem 0.4rem 0.4rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border: 1px solid #e0e0e0;
    font-size: 1.2rem;
    -webkit-box-shadow: 0 5px 16px 0 rgba(0,0,0,0.4);
    box-shadow: 0 5px 16px 0 rgba(0,0,0,0.4);
}
.message {
    font-weight: 500;
    flex: 1;
}
.resume-link {
    background-color: var(--bs-primary);
    color: white;
    padding: 0.4rem 0.4rem 0.4rem 1.4rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}
.resume-link:hover {
    background-color: var(--bs-primary-active);
}
.list-filter-box {
    background-color: var(--bs-gray-100);
    padding: 20px;
    border-radius: 6px;
}
.tour_map {
    min-height: 400px;
    width: 100%;
    border-radius: 20px;
    margin-top:30px;
    aspect-ratio: 16 / 8;
}
/* Attribution yazısını küçült ve şıklaştır */
.maplibregl-ctrl-attrib {
    font-size: 10px !important;
    background: rgba(255,255,255,0.6) !important;
    backdrop-filter: blur(6px);
    border-radius: 12px;
    padding: 2px 8px !important;
    margin: 8px !important;
    color: #444 !important;
    opacity: 0.5;
}
/* Navigasyon tuşlarını modernleştir */
.maplibregl-ctrl-group button {
    border-radius: 10px !important;
    margin: 2px !important;
    background: rgba(255,255,255,0.7) !important;
    transition: all 0.2s ease;
}
.maplibregl-ctrl-group button:hover {
    background: rgba(0,119,255,0.85) !important;
    color: white !important;
}
/* Popup stilleri */
.mapboxgl-popup-content {
    font-size: 14px;
    border-radius: 12px;
    padding: 10px 15px;
    background: white;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.extra-item {
    background-color: var(--bs-gray-100);
    border-radius: 6px;
    padding: 15px;
    width: 100%;
}
.extra-item.active {
    background-color: var(--bs-primary-light);
}
.extra-item-list .swiper-slide {
    width: 240px;
}
.guest-extra-card.active .card-header {
    background-color: var(--bs-primary-light);
}
.guest-extra-card .card-header .card-title, .guest-extra-card .card-header .card-title i {
    color: var(--bs-dark) !important;
}
.guest-extra-card:hover .card-header .card-title, .guest-extra-card:hover .card-header .card-title i,
.guest-extra-card.active .card-header .card-title, .guest-extra-card.active .card-header .card-title i
{
    color: var(--bs-primary) !important;
}
.extra-item>h4 {
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
}
.extra-item .extra-item-price-list {
    padding:15px 0;
}
.extra-item .extra-item-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--bs-gray-300);
    width: 100%;
}
.extra-item .extra-item-price:nth-last-child(1) {
    border-bottom: none;
}
.extra-item .btn_extra_selected.active, .extra-item .btn_extra_selected.active:hover {
    background-color: var(--bs-primary-active) !important;
    color: white !important;
}

.extra-item .extra-item-price strong {
    display: flex;
    align-items: center;
    gap: 5px;
}
.extra-item .extra-item-price small {
    font-size: 0.9rem;
    color: var(--bs-primary);
    font-weight: 600;
    display: inline-flex;
    gap: 5px;
    align-items: center;
    line-height: 1;
    background-color: var(--bs-primary-light);
    padding: 5px 8px;
    border-radius: 5px;
}
.extra-item .extra-item-price small i {
    font-size: 1.2rem;
    color: var(--bs-primary);
}
.tour_info_mini_btn {
    font-size: 14px;
    font-weight: 600;
    color: var(--bs-primary);
    display: flex;
    align-items: center;
    gap:5px;
}
.tour_info_mini_btn i {
    color: var(--bs-primary);
    font-size: 1.4rem;
    line-height: 1;
}
.tour_info_mini_table {
    overflow-y:hidden;
    max-height: 100px;
    position: relative;
    transition: all 0.3s ease-in-out;
}
.tour_info_mini_table::after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 80%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    z-index: 2;
    transition: all 0.3s ease-in-out;
}
.tour_info_mini_table.active {
    max-height: 1000px;
}
.tour_info_mini_table.active::after {
    height: 0;
}
.commission_hide_view .commission_view {
    visibility: hidden !important;
}
.commission_hide_view .commission_view.view-none {
    display: none !important;
}
table:not(.table) {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    color: #3F4254;
    background-color: #fff !important;
    border: 1px solid #E4E6EF !important;
    border-radius: 0.475rem !important;
    overflow: hidden;
    box-shadow: 0 0 15px rgba(0,0,0,0.03);
}
.table table thead {
    background-color: #F9FAFB;
}
.table table thead th {
    padding: 12px 16px !important;
    text-align: left;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #7E8299 !important;
    border-bottom: 1px solid #E4E6EF !important;
}
.table table tbody tr {
    transition: background-color 0.2s ease;
}
.table table tbody td, .table table tbody th {
    padding: 12px 16px !important;
    border-bottom: 1px solid #E4E6EF !important;
    vertical-align: middle !important;
}
.table table tbody tr:last-child td {
    border-bottom: none !important;
}

.sk-image-input {
    display: inline-block;
    position: relative;
    border-radius: 8px;
    padding: 3px;
    background-color: #fff;
}
.sk-image-input .sk-image-preview {
    width: 115px;
    height: 115px;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    text-align: center;
}
.sk-image-input .sk-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sk-image-input input[type=file] {
    opacity: 0;
    position: absolute;
    z-index: -1;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.sk-image-input .sk-image-add {
    position: absolute; width: 100%; height: 100%; top: 0; left: 0; display: flex; align-items: center; text-align: center; font-size: 25px; background-color: rgba(0,0,0,0.25); color: #fff !important;
    cursor: pointer; opacity: 0; visibility: hidden; transition: 0.3s; justify-content: center;
    z-index: 1;
}
.sk-image-input .sk-image-add i {
    font-size: 25px; color: #fff !important;
}
.sk-image-input:not([data-image]):hover .sk-image-add {
    opacity: 1; visibility: visible;
}
.sk-image-input .sk-image-min-btn {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 13px;
    position: absolute;
    z-index: 3;
    transition: all 0.3s;
    cursor: pointer;
    color: #000 !important;
}
.sk-image-input .sk-image-min-btn i {
    font-size: 12px;
}
.sk-image-input .sk-image-min-btn.sk-image-remove {
    bottom: -12px;
    right: -12px;
    display: none;
}
.sk-image-input[data-image] .sk-image-min-btn.sk-image-remove {
    display: flex;
}
.sk-image-input .sk-image-min-btn.sk-image-remove i {
    font-size: 13px;
}
.sk-image-input .sk-image-min-btn.sk-image-edit {
    top: -12px;
    right: -12px;
    display: none;
}
.sk-image-input[data-image] .sk-image-min-btn.sk-image-edit {
    display: flex;
}
.sk-image-input .sk-image-min-btn:hover {
    background-color: #1a252f;
    color: #fff !important;
}
.sk-avatar-img {
    width: 60px;
    height: 60px;
    padding: 8px;
    border-radius: 0.425rem;
    background-color: #f5f8fa;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.image-cover-wrapper {
    position: relative;
    padding: 0 0 70px 0;
}
.image-cover-wrapper .sk-image-input:not(.sk-image-fullwidth) {
    position: absolute;
    left: 30px;
    bottom:30px;
    z-index: 3;
}
.sk-image-input.sk-image-fullwidth {
    display: block;
    position: relative;
    border: 1px solid var(--bs-gray-300);
}
.sk-image-input.sk-image-fullwidth .sk-image-preview {
    width: 100%;
    height: 320px;
}

h1.head-title {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media(max-width:991px) {
    h1.head-title {
        font-size: 14px !important;
    }
}

@media(max-width:767px) {
    h1.head-title {
        max-width: 220px;
    }
}

.z-index-0 {
    z-index:0 !important;
}

.z-index-0[data-kt-app-header-fixed-mobile=true] .app-header {
    z-index: 0 !important;
}

@media (max-width: 991.98px) {
    .app-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.pc-cabin-item {
    padding: 10px;
    border-radius: 6px;
    background-color: #fff;
    border:1px solid var(--bs-gray-300);
    cursor: pointer;
    margin:1px;
}

.pc-cabin-item:hover {
    background-color: var(--bs-gray-100);
}

.pc-cabin-item.active {
    border-color: var(--bs-primary);
    background-color: var(--bs-primary-light);
}

.pc-cabin-item .pc-cabin-head {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 13px;
}

.pc-cabin-item .pc-cabin-body {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    font-size: 12px;
}

.pc-cabin-item .pc-cabin-title {
    line-height: 16px;
    text-align: left;
    font-size: 13px;
    height: 34px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 600;
    flex-grow: 1;
}

/* NOT: .payment-price-cart / .pyc-* için asıl (güncel) tasarım aşağıda "PAYMENT PRICE CART - BAKİYE
   KARTI" bloğunda tanımlı (bkz. ~satır 3436). Burada sadece o blokta karşılığı olmayan, hâlâ canlı
   kullanılan durum/loader kuralları (danger/warning/success/primary + pyc-price-loader) bırakıldı —
   bunlar dashboard.php, payment-form.php, pending-list.php, success-list.php sayfalarındaki bakiye
   kartlarında negatif/pozitif durum rengini belirlemek için PHP tarafından class olarak basılıyor.
   Eskiden burada duran temel kart/başlık/liste/item kuralları ve kullanılmayan .prt-loading-row
   (referanssız — hiçbir PHP dosyasında kullanılmıyor) kaldırıldı. */
.payment-price-cart .pyc-price-list .pyc-price-item .pyc-price-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: var(--bs-warning);
    z-index: -1;
    transition: all 0.5s ease;
    opacity: 0.16;
}

.payment-price-cart .pyc-price-list .pyc-price-item .pyc-price-loader.primary {
    background-color: var(--bs-success);
}

.payment-price-cart .pyc-price-list .pyc-price-item .pyc-price-loader.success {
    background-color: var(--bs-primary);
}

.ds_collection_list {
    display: flex;
    width: 100%;
    position: relative;
    gap:10px;
    flex-direction: row;
    padding: 5px 0;
}

.ds_collection_list .ds_collection_item {
    flex: 1;
}

@media (max-width: 991px) {
    .ds_collection_list {
        flex-direction: column;
    }
}


/* CSS dosyanıza veya <style> bloğuna ekleyin */
.maplibregl-marker {
    background-image: url('../media/location-pin.png');
    background-size: cover;
    width: 40px;
    height: 40px;
}

/* Varsayılan SVG ikonunu gizlemek için */
.maplibregl-marker svg {
    display: none;
}

.maplibregl-popup-close-button {
    background-color: transparent;
    border-radius: 0 3px 0 0;
    box-shadow: none !important;
    border:none !important;
    outline: none !important;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px;
}

.maplibregl-popup-content {
    padding: 15px 25px;
}


/* Ana Konteyner: Minimal ve Soft */
.price-calc-wrapper {
    background: #ffffff;
    border: none !important;
}

/* Oda Başlığı: Yanındaki 'Oda Sil' ile daha dengeli */
.price-calc-label {
    border: none !important;
    font-size: 1.1rem !important;
    letter-spacing: -0.2px;
    color: #181c32;
    padding-bottom: 0 !important;
}

.price-calc-room-remove {
    background: #fff5f8;
    padding: 5px 12px;
    border-radius: 8px;
    font-weight: 600 !important;
    transition: 0.3s;
}

/* Konaklama Seçenekleri (3* / 4* Otel Kartları) */
.pc-cabin-item {
    border: 1.5px solid #eff2f5 !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 12px 15px !important;
    text-align: center;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.pc-cabin-item.active {
    border-color: #0071A3 !important;
    background: #f1faff !important;
    box-shadow: 0 4px 12px rgba(0, 149, 232, 0.1);
}

.pc-cabin-title {
    font-size: 0.85rem !important;
    color: #7e8299 !important;
    margin-bottom: 4px;
}

.pc-cabin-body strong {
    font-size: 1.2rem !important;
    color: #181c32 !important;
}

/* Kişi Sayacı Satırları: Daha havadar */
.price-calc-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.price-calc-item {
    border: none !important;
    background: #f9f9fb;
    border-radius: 12px;
    padding: 8px !important;
}

.price-calc-title strong {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
}

.price-calc-title span {
    font-size: 0.75rem !important;
    display: flex;
    white-space: nowrap;
    padding: 0;
    border-radius: 6px;
    color: #a1a5b7;
}

/* Sayac (Input Group) Modernizasyonu */
.person-counter {
    background: #ffffff;
    border-radius: 10px;
    padding: 4px;
    border: 1px solid #e1e3ea;
}

.person-counter .btn {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    background: #f1f1f4 !important;
    color: #181c32 !important;
    border: none !important;
}

.person-counter .btn:hover {
    background: #181c32 !important;
    color: #ffffff !important;
}

.person-counter-input {
    width: 30px !important;
    font-weight: 800 !important;
    color: #181c32 !important;
}

/* Alt Toplam Kartı: formun genel light temasıyla uyumlu, kompakt bir özet+aksiyon alanı.
   NOT (2. revizyon): ilk light versiyon "her yeri gri, bütünlüğü yok" geri bildirimi aldı —
   kart artık nötr gri yerine marka rengiyle (yeşil) hafif tonlanmış bir zemin kullanıyor ve
   buton kartın alt kenarına TAM OTURAN (flush) bir "taban" olarak kartla tek parça gibi
   görünüyor (ayrı, boşlukta duran iki kutu değil). overflow:hidden, butonun köşeleri kartın
   border-radius'una göre kırpılmasını sağlıyor — bkz. .price-calc-sale-box / .booking-submit-btn. */
.price-calc-wrapper .price-calc-found {
    position: relative;
    padding: 16px 16px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f0faf4 100%);
    border: 1px solid #d5f0e0;
    border-radius: 14px;
    color: #181c32;
    box-shadow: 0 6px 16px -10px rgba(23, 198, 83, 0.35);
    overflow: hidden;
}

.price-calc-wrapper .place-tour-footer {
    justify-content: flex-start;
    align-items: center;
}

.price-calc-wrapper .bs-tour-commission {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.price-calc-wrapper .bs-tour-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin-left: auto;
}

/* Kazanç ve Toplam Fiyat sütunlarını ayıran ince dikey çizgi */
.price-calc-found-divider {
    width: 1px;
    align-self: stretch;
    background: #cdecda;
    margin: 0 16px;
}

.price-calc-wrapper .bs-tour-price-title {
    font-size: 0.68rem !important;
    font-weight: 600;
    color: #a1a5b7;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.price-calc-wrapper .bs-tour-commission-amount {
    color: #17C653 !important;
    font-size: 1.05rem !important;
    font-weight: 700;
    line-height: 1;
}

.price-calc-wrapper .bs-tour-price-amount {
    font-size: 1.4rem !important;
    font-weight: 800;
    color: #181c32 !important;
    line-height: 1;
}

.price-calc-wrapper .bs-tour-price-amount span {
    font-size: 0.8rem;
    font-weight: 500;
    color: #a1a5b7;
    text-decoration: line-through;
}

/* Buton alanı: kartın SOL/SAĞ/ALT kenarlarına taşırılıp (negative margin) kartın kendi
   border-radius'u ile kırpılıyor — böylece buton, kartın üstüne "yapıştırılmış ayrı bir
   kutu" gibi değil, kartın doğal bir devamı/tabanı gibi görünüyor (tek parça his). */
.price-calc-wrapper .price-calc-sale-box {
    margin: 14px -16px 0;
    padding: 0;
    border-top: 1px solid #d5f0e0;
}

/* Rezervasyon Butonu — kartın tabanına tam oturan, marka rengiyle (yeşil) belirgin aksiyon şeridi */
.price-calc-wrapper .booking-submit-btn {
    width: 100%;
    background: linear-gradient(135deg, #1bd45f 0%, #17C653 55%, #12a844 100%) !important;
    color: #ffffff !important;
    border: none;
    border-radius: 0 !important;
    font-size: 0.92rem !important;
    font-weight: 700;
    letter-spacing: 0.2px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: none;
    transition: background 0.15s ease;
}

.price-calc-wrapper .booking-submit-btn i {
    color: #ffffff !important;
    transition: transform 0.15s ease;
}

.price-calc-wrapper .booking-submit-btn:hover {
    background: linear-gradient(135deg, #20e069 0%, #1bd45f 55%, #17C653 100%) !important;
    color: #ffffff !important;
}
.price-calc-wrapper .booking-submit-btn:hover i {
    color: #ffffff !important;
    transform: translateX(3px);
}

.price-calc-wrapper .booking-submit-btn:active {
    background: linear-gradient(135deg, #17C653 0%, #12a844 100%) !important;
}

.price-calc-wrapper .booking-submit-btn.disabled {
    background: #eff2f5 !important;
    color: #a1a5b7 !important;
    opacity: 1;
    box-shadow: none;
    cursor: not-allowed;
}
.price-calc-wrapper .booking-submit-btn.disabled i {
    color: #a1a5b7 !important;
}


.cabin-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px; /* Öğeler arası ince boşluk */
}

.cabin-list-item {
    cursor: pointer;
    margin: 0;
    width: 100%;
}

.cabin-list-item input[type="radio"] {
    display: none;
}

.cabin-list-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f8f9fa;
    border: 1px solid #eff2f5;
    border-radius: 12px;
    transition: all 0.2s ease;
}

/* Özel radyo dairesi */
.custom-radio-circle {
    width: 20px;
    height: 20px;
    border: 2px solid #d1d3e0;
    border-radius: 50%;
    background: #fff;
    position: relative;
    transition: all 0.2s ease;
}

.cabin-name {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: #3f4254;
}

.cabin-subtext {
    font-size: 0.75rem;
    color: #a1a5b7;
}

.price-value {
    font-size: 1.1rem;
    font-weight: 800;
    color: #181c32;
}

.cabin-price-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    text-align: right;
}

.price-per-unit-label {
    font-size: 0.68rem;
    font-weight: 600;
    color: #a1a5b7;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* HOVER DURUMU */
.cabin-list-item:hover .cabin-list-content {
    background: #f1f1f4;
    border-color: #e1e3ea;
}

/* AKTİF DURUM (Seçildiğinde) */
.cabin-list-item input[type="radio"]:checked + .cabin-list-content {
    background: #ffffff;
    border-color: #0071A3;
    box-shadow: 0 4px 12px rgba(0, 149, 232, 0.08);
}

.cabin-list-item input[type="radio"]:checked + .cabin-list-content .custom-radio-circle {
    border-color: #0071A3;
    border-width: 6px; /* İçeriden kalınlaşarak nokta efekti verir */
}

.cabin-list-item input[type="radio"]:checked + .cabin-list-content .cabin-name {
    color: #0071A3;
}

.cabin-list-item input[type="radio"]:checked + .cabin-list-content .price-value {
    color: #0071A3;
}

.cabin-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Mevcut liste stilin */
.cabin-list-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #eff2f5;
    border-radius: 12px;
    transition: 0.2s;
}

.cabin-list-item input:checked + .cabin-list-content {
    border-color: #0071A3;
    background: #f1faff;
}

/* "Daha Fazla" Butonu Modernizasyonu */
.btn-show-more {
    text-decoration: none !important;
    font-size: 0.85rem;
    padding: 10px;
    border: 1px dashed #d1d3e0;
    border-radius: 12px;
    background: #f9f9fb;
    transition: 0.3s;
}

.btn-show-more:hover {
    background: #eff2f5;
    border-color: #0071A3;
}

/* Collapse açıldığında metni değiştirme mantığı (Opsiyonel JS ile desteklenir) */
.btn-show-more[aria-expanded="true"] .show-text { display: none; }
.btn-show-more[aria-expanded="true"] .hide-text { display: inline-block !important; }


/*TUR ÖZETİ*/
/* Ana Kart Tasarımı */
.card{
    border-radius: 20px !important;
    /*border: none !important;*/
    background: #ffffff !important;
    overflow: hidden;
}

/* Başlık Alanı */
.card-header {
    background: #f8f9fa;
    border-bottom: 1px solid #eff2f5 !important;
    padding: 1.5rem 2rem !important;
}

.card-title .card-label {
    font-size: 1.4rem !important;
    color: #181c32 !important;
    letter-spacing: -0.5px;
}

/* Tabloyu Temizle: Çizgileri kaldır, satırları havalandır */
.tour-info .table.table-row-dashed {
    border: none !important;
    margin-bottom: 0 !important;
}

.tour-info .tour-info .table.table-row-dashed tr {
    border-bottom: 1px solid #f1f1f4 !important;
    transition: all 0.2s ease;
}

.table.table-row-dashed tr:last-child {
    border-bottom: none !important;
}

/* İkon Kutuları (Symbol Labels) */
.tour-info .symbol-label {
    width: 45px !important;
    height: 45px !important;
    border-radius: 12px !important;
    background-color: #f1faff !important; /* Soft mavi arka plan */
}

.tour-info .symbol-label i {
    color: #0071A3 !important; /* Canlı ikon rengi */
    font-size: 1.4rem !important;
}

/* Metin Alanları */
.tour-info .table td, .table th {
    padding: 1.2rem 0.5rem !important;
}

/* Sağ taraftaki değerler (Tarih, İstanbul vs.) */
.tour-info .text-end .fs-5 {
    font-weight: 600 !important;
    color: #181c32 !important;
    background: #f4f6fa;
    padding: 6px 14px;
    border-radius: 8px;
    display: inline-block;
}

/* PDF Butonu */
.pdf-viewer-btn {
    border-radius: 10px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    box-shadow: 0 4px 10px rgba(241, 65, 108, 0.2);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Mobil Uyumluluk İçin Küçük Dokunuş */
@media (max-width: 768px) {
    .tour-info .text-end .fs-5 {
        font-size: 0.9rem !important;
    }
}


/*TUR TARİH SEÇİMLERİ*/

/* Genel Konteyner Yapısı */
.dt-date-info {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #ffffff;
    border: 1px solid #f0f0f2;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); /* Yumuşak derinlik */
    padding: 0.5rem 1.5rem;
}

/* Swiper / Buton Alanı */
.dt-date-info .date-item-list {
    display: flex;
    gap: 12px;
}

/* Tarih Kartı (Buton) */
.dt-date-info .date-item-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 20px;
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 110px;
    position: relative;
    overflow: hidden;
}

/* Tarih Metni (Üst Kısım) */
.dt-date-info .date-item-btn strong {
    font-size: 0.85rem;
    font-weight: 600;
    color: #718096;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    text-transform: uppercase;
}

/* Fiyat Metni (Alt Kısım) */
.dt-date-info .date-item-btn span {
    font-size: 1.15rem;
    font-weight: 800;
    color: #2d3748;
}

/* Hover Efekti - Kalite Hissi */
.dt-date-info .date-item-btn:hover {
    border-color: #cbd5e0;
    background-color: #f7fafc;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.03);
}

/* Aktif (Seçili) Durum - Görseldeki 12 ŞUB 26 gibi */
.dt-date-info .date-item-btn.active {
    background: #0071A3; /* Daha canlı bir royal blue/purple */
    border-color: #0071A3;
    box-shadow: 0 6px 9px -3px rgba(0, 113, 163, 0.3);
}

.dt-date-info .date-item-btn.active strong {
    color: rgba(255, 255, 255, 0.8);
}

.dt-date-info .date-item-btn.active span {
    color: #ffffff;
}

/* Tur Özet Satırları İçin İnce Ayar (İkonlu alanlar) */
.dt-date-info .card-body > div {
    border-bottom: 1px solid #f7fafc;
    padding: 12px 0;
}

.dt-date-info .card-body > div:last-child {
    border-bottom: none;
}

/*SLIDE*/
/* Genel Konteyner: Arka planı biraz daha derinlikli hale getiriyoruz */
.dt-slider {
    background: transparent;
}

/* Ana Galeri Alanı: Kenarsız ve Modern */
.dt-slider-main {
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.05);
}

.dt-slider-main .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

/* Modern Navigasyon: Floating (Yüzen) Butonlar */
.dt-slider-main .swiper-button-next,
.dt-slider-main .swiper-button-prev {
    width: 36px !important;
    height: 36px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(10px); /* Cam efekti */
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #fff !important;
    transition: all 0.4s ease;
}

.dt-slider-main .swiper-button-next:hover,
.dt-slider-main .swiper-button-prev:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.dt-slider-main .swiper-button-next:after,
.dt-slider-main .swiper-button-prev:after {
    font-size: 18px !important;
    font-weight: 900;
}

.dt-slider-thumbs .swiper-slide {
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    filter: brightness(0.7) saturate(0.8); /* Aktif olmayanları matlaştırır */
}

.dt-slider-thumbs .swiper-slide img {
    width: 100%;
    height: 80px; /* Standart yükseklik */
    object-fit: cover;
    border-radius: 12px;
}

/* Aktif Thumbnail: Parlama ve Öne Çıkma */
.dt-slider-thumbs .swiper-slide-thumb-active {
    filter: brightness(1) saturate(1.2);
}

/* Görsel Üzerine Dinamik Gradyan (Tipografi eklerseniz okunması için) */
.dt-slider-main .swiper-slide::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30%;
    background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
    pointer-events: none;
}


/*TUR PROGRAMI*/

/* Genel Konteyner: Arka planı biraz daha derinlikli hale getiriyoruz */
.dt-slider {
    padding: 10px;
    background: transparent;
}

/* Ana Galeri Alanı: Kenarsız ve Modern */
.dt-slider-main {
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
}

.dt-slider-main .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

/* Modern Navigasyon: Floating (Yüzen) Butonlar */
.dt-slider-main .swiper-button-next,
.dt-slider-main .swiper-button-prev {
    width: 36px !important;
    height: 36px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(10px); /* Cam efekti */
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #fff !important;
    transition: all 0.4s ease;
}

.dt-slider-main .swiper-button-next:hover,
.dt-slider-main .swiper-button-prev:hover {
    background: #fff !important;
    color: #000 !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.dt-slider-main .swiper-button-next:after,
.dt-slider-main .swiper-button-prev:after {
    font-size: 15px !important;
    font-weight: 900;
}

/* Alt Küçük Görseller (Thumbs): Floating & Minimalist */
.dt-slider-thumbs {
    margin-top: 10px !important;
}

.dt-slider-thumbs .swiper-slide {
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    filter: brightness(0.7) saturate(0.8); /* Aktif olmayanları matlaştırır */
    position: relative;
}
.dt-slider-thumbs .swiper-slide.swiper-slide-thumb-active:after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border:3px solid #4F46E5;
    content: "";
    z-index: 1;
    border-radius: 12px;
}

.dt-slider-thumbs .swiper-slide img {
    width: 100%;
    height: 80px; /* Standart yükseklik */
    object-fit: cover;
    border-radius: 12px;
}

/* Aktif Thumbnail: Parlama ve Öne Çıkma */
.dt-slider-thumbs .swiper-slide-thumb-active {
    filter: brightness(1) saturate(1.2);
}

/* Görsel Üzerine Dinamik Gradyan (Tipografi eklerseniz okunması için) */
.dt-slider-main .swiper-slide::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30%;
    background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
    pointer-events: none;
}


/*TUR PROGRAMI*/

/* Ana Kapsayıcıyı Modernize Et */
.dt-tour-program.card-flush {
    background: #fcfcfd !important;
    border: none !important;
}

/* Sol taraftaki ana dikey çizgi (Daha zarif) */
.itinerary-line {
    position: absolute;
    left: 22px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, #0071A3 0%, #e9ecef 100%);
    z-index: 1;
}

/* Gün Numarası: Bir "Pulsing" (Nabız) Efekti Ekledik */
.day-number {
    width: 44px;
    height: 44px;
    background: #fff;
    border: 2px solid #0071A3;
    color: #0071A3;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    position: relative;
    z-index: 3;
    transition: all 0.4s ease;
}

/* İnteraktif Odak: Fareyle gelince tüm satırı canlandır */
.d-flex.position-relative:hover .day-number {
    background: #0071A3;
    color: #fff;
    transform: scale(1.2);
    box-shadow: 0 0 0 5px rgba(0, 123, 255, 0.15);
}

/* İtinerary Kartı: Cam (Glass) ve Derinlik Efekti */
.itinerary-card {
    border-radius: 20px !important;
    padding: 25px !important;
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(224, 229, 236, 0.8) !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
}

.d-flex.position-relative:hover .itinerary-card {
    background: #fff !important;
    border-color: #0071A3 !important;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05);
}

/* Başlık Stili */
.itinerary-card h3 {
    font-size: 1.25rem !important;
    color: #1e1e2d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px !important;
    transition: color 0.3s ease;
}

.d-flex.position-relative:hover h3 {
    color: #0071A3;
}

/* Açıklama Metni: Daha Dolu ve Okunaklı */
.itinerary-description {
    font-size: 0.98rem !important;
    line-height: 1.8 !important;
    color: #4b5563;
    text-align: justify;
    opacity: 0.85;
    transition: opacity 0.3s ease;
}

.d-flex.position-relative:hover .itinerary-description {
    opacity: 1;
}

/* Konum ve Tarih Rozeti */
.text-muted.fs-8 {
    background: #f1f5f9;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

.text-muted.fs-8 i {
    color: #0071A3;
    margin-right: 5px;
}

/* Üst Başlık Alanı Düzenlemesi */
.badge-light-dark {
    background: #1e1e2d !important;
    color: #fff !important;
    padding: 10px 20px !important;
    font-size: 0.9rem !important;
}


/* Konteynır Düzenlemesi */
.bs-tour-tags.bs-tags-special {
    display: flex;
    gap: 12px;
    padding: 10px 0;
}

/* Genel Badge Dönüşümü */
.bs-tour-tags.bs-tags-special .badge {
    border: none;
    border-radius: 8px;
    font-weight: 600;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

/* "Türkçe Rehber" Etiketi (Success) */
.bs-tour-tags.bs-tags-special .badge-light-success {
    background: #e8fff3 !important;
    color: #10b981 !important;
    border-left: 4px solid #10b981 !important;
}

/* "Paket Tur" Etiketi (Info) */
.bs-tour-tags.bs-tags-special .badge-light-info {
    background: #e0f2fe !important;
    color: #0ea5e9 !important;
    border-left: 4px solid #0ea5e9 !important;
}

/* İnteraktif Efektler (Dolu Dolu Hissettiren Kısım) */
.bs-tour-tags.bs-tags-special .badge:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.08);
}

/* Hover'da Renklerin Dolgunlaşması */
.bs-tour-tags.bs-tags-special .badge-light-success:hover {
    background: #10b981 !important;
    color: #ffffff !important;
}

.bs-tour-tags.bs-tags-special .badge-light-info:hover {
    background: #0ea5e9 !important;
    color: #ffffff !important;
}

/* Parlama Efekti (Glass-shimmer) */
.bs-tour-tags.bs-tags-special .badge::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.4),
            transparent
    );
    transition: 0.5s;
}

.bs-tour-tags.bs-tags-special .badge:hover::after {
    left: 100%;
}

/* Küçük bir ikon ekleme simülasyonu (CSS ile) */
.bs-tour-tags.bs-tags-special .badge-light-success::before {
    content: "✓";
    margin-right: 6px;
    font-weight: 900;
}

.bs-tour-tags.bs-tags-special .badge-light-info::before {
    content: "★";
    margin-right: 6px;
    font-weight: 900;
}



/*HEADER*/
/* Header Ana Gövde: Daha ince ve transparan */
.app-header {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: none !important;
    height: 65px !important; /* Standarttan biraz daha ince */
    transition: all 0.3s ease;
}

/* Konteynır Hizalaması */
.app-header #kt_app_header_container {
    padding: 0 2rem !important;
}

/* Başlık (Head Title): Minimalist Tipografi */
.app-header .head-title {
    font-weight: 600 !important;
    letter-spacing: -0.5px;
    color: #181c32 !important;
    font-size: 1.25rem !important;
}

/* Kazanç Switch Alanı: Daha "Alet" gibi değil, "Arayüz" gibi */
.app-header .form-check.form-switch {
    padding: 0;
    display: flex;
    align-items: center;
}

.app-header .form-check-input {
    cursor: pointer;
    background-color: #f1f1f2 !important;
    border: none !important;
    transition: 0.3s !important;
}

.app-header .form-check-input:checked {
    background-color: #0071A3 !important;
}

/* Kullanıcı Profil Alanı: Daire yerine Soft-Square (Yumuşak Kare) */
.app-header #kt_header_user_menu_toggle .symbol img {
    border-radius: 12px !important; /* Tam yuvarlak yerine daha modern */
    border: 2px solid #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: transform 0.2s ease;
}

.app-header #kt_header_user_menu_toggle:hover img {
    transform: translateY(-2px);
}

/* User Menu (Dropdown): Daha havadar ve temiz */
.app-header .menu-sub-dropdown {
    border: 1px solid rgba(0,0,0,0.05) !important;
    box-shadow: 0 15px 50px rgba(0,0,0,0.1) !important;
    border-radius: 16px !important;
    padding: 10px !important;
}

/* Menü İçeriği */
.app-header .menu-item .menu-link {
    border-radius: 10px !important;
    padding: 10px 15px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease;
}

/* Ayırıcı (Separator): Daha belirsiz */
.app-header .app-navbar-separator {
    display: none;
}

/* Mobil Menü Butonu */
.app-header #kt_app_sidebar_mobile_toggle {
    background: #f4f6fa !important;
    border-radius: 10px !important;
    color: #5e6278 !important;
}

@media (min-width: 992px) {
    .app-header .app-navbar {
        border-bottom: none;
    }
}
/*HEADER*/

:root {
    /* Tüm sayfa arka planı */
    --bs-app-bg-color: #F4F7FA;

    /* Yan menü (Sidebar) için daha derin bir ton */
    --bs-app-sidebar-bg-color: #FFFFFF;
    --bs-app-header-height: 65px;
}

body {
    background-color: var(--bs-app-bg-color) !important;
}

.search-engine-card {
    border: none !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 50px rgba(0, 113, 163, 0.08) !important; /* Temanıza uygun hafif mavi gölge */
    overflow: hidden;
}

.search-engine-card .card-body {
    padding: 2rem !important;
}

/* Tab Menü Tasarımı */
.search-engine-card .nav-tabs {
    border: none !important;
    margin-bottom: 15px !important;
    gap: 15px;
}

.search-engine-card .nav-item {
    margin: 0 !important;
}

.search-engine-card .nav-link {
    border: 1px solid #f1f1f4 !important;
    border-radius: 12px !important;
    padding: 12px 24px !important;
    background-color: #f9fafb !important;
    color: #5e6278 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
}

/* Aktif Tab Durumu */
.search-engine-card .nav-link.active {
    background-color: #0071A3 !important; /* İstediğiniz Renk */
    color: #ffffff !important;
    border-color: #0071A3 !important;
    box-shadow: 0 8px 20px rgba(0, 113, 163, 0.3) !important;
}

.search-engine-card .nav-link i {
    color: #a1a5b7;
    transition: color 0.3s ease;
}

.search-engine-card .nav-link.active i {
    color: #ffffff !important;
}

/* Giriş Alanları (Inputs) - hem ana sayfadaki (.search-engine-card) hem diğer sayfalardaki
   (Kategoriler/Destinasyonlar listeleri vb., .gt-search-engine - bkz. search-form-cruise-tour.php)
   AYNI arama kutusu bileşeni kullanılıyor, ikisi de kapsanıyor. */
.search-engine-card .form-control-solid,
.gt-search-engine .form-control-solid {
    background-color: #ffffff !important;
    border: 2px solid #f1f1f4 !important; /* İnce belirgin sınır */
    color: #181c32 !important;
    font-weight: 500;
    height: 60px !important; /* Daha heybetli bir form */
    border-radius: 14px !important;
    padding-left: 50px !important;
    transition: all 0.2s ease-in-out !important;
}

/* Input Focus Efekti */
.search-engine-card .form-control-solid:focus,
.gt-search-engine .form-control-solid:focus {
    border-color: #0071A3 !important;
    box-shadow: 0 0 0 4px rgba(0, 113, 163, 0.1) !important;
    background-color: #ffffff !important;
}

/* İkonlar */
.search-engine-card .ki-outline,
.gt-search-engine .ki-outline {
    left: 20px !important;
    color: #0071A3 !important; /* İkonlar ana renkte */
    opacity: 0.7;
}

/* ARA Butonu - Costa'nın kendi sitesindeki altın/sarı vurgu rengiyle (arama/CTA butonları
   costacrociere.it'de hep altın renkte) uyumlu hale getirildi, eskiden marka dışı mordu.
   .gt-search-engine ile Kategoriler/Destinasyonlar gibi diğer sayfalardaki AYNI arama
   bileşeni de kapsanıyor - eskiden orada varsayılan tema yeşili kalıyordu (tutarsızlık). */
.search-engine-card .btn-primary,
.gt-search-engine .btn-primary {
    background: linear-gradient(135deg, #ffd65c 0%, #f9b000 55%, #e08e00 100%) !important;
    border: none !important;
    height: 60px !important;
    padding: 0 40px !important;
    border-radius: 14px !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 10px 25px rgba(249, 176, 0, 0.4) !important;
    transition: all 0.3s ease !important;
}

.search-engine-card .btn-primary:hover,
.gt-search-engine .btn-primary:hover {
    background: linear-gradient(135deg, #ffe27a 0%, #ffb800 55%, #e69500 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(249, 176, 0, 0.5) !important;
}

.search-engine-card .nav-line-tabs .nav-item .nav-link {
    margin: 0;
}

/* Mobil Düzenlemeler */
@media (max-width: 768px) {
    .search-engine-card .card-body {
        padding: 1.25rem !important;
    }

    .search-engine-card .nav-link {
        width: 100%;
        justify-content: center;
    }

    .search-engine-card .me-2 {
        margin-right: 0 !important;
        margin-bottom: 1rem;
    }
}

/* Ana Kapsayıcı Kart */
.payment-price-cart {
    background: #ffffff !important;
    border-radius: 20px !important;
    border: 1px solid #f1f1f4 !important;
    display: flex;
    align-items: center;
    padding: 1.5rem 2rem !important;
    gap: 30px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.03) !important;
}

/* Başlık ve Ödeme Butonu Bölümü */
.pyc-title {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-width: 180px;
    border-right: 2px dashed #f1f1f4;
    padding-right: 25px !important;
    font-weight: 800;
    color: #181c32;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
}

/* Ödeme Formu Butonu - Soft Yeşil */
.payment-price-cart .btn-light-primary {
    background-color: #e8fff3 !important; /* Çok hafif soft yeşil */
    color: #50cd89 !important; /* Metronik yeşili */
    border: none !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
    margin-top: 10px;
}

.payment-price-cart .btn-light-primary:hover {
    background-color: #50cd89 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Para Birimleri Listesi */
.pyc-price-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 15px;
    flex-grow: 1;
}

/* Her Bir Para Birimi Kartı */
.pyc-price-item {
    flex: 1;
    background: #f8f9ff !important; /* Çok hafif mavi tonlu zemin */
    border: 1px solid #edf0ff !important;
    border-radius: 16px !important;
    padding: 15px 20px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* Kart Hover Efekti */
.pyc-price-item:hover {
    background: #ffffff !important;
    border-color: #0071A3 !important; /* Sizin renginiz */
    box-shadow: 0 10px 20px rgba(0, 113, 163, 0.12) !important;
    transform: translateY(-5px);
}

/* Para Birimi Kısaltması (EUR, USD vs.) */
.pyc-price-title {
    color: #a1a5b7 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    margin-bottom: 4px;
    text-transform: uppercase;
}

/* Bakiye Rakamı */
.pyc-price {
    color: #3f4254 !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    display: flex;
    align-items: baseline;
    gap: 2px;
}

.pyc-price span {
    color: #181c32 !important;
}

/* Kartın Köşesine Küçük Bir Renk Aksanı */
.pyc-price-item::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, transparent 50%, rgba(0, 113, 163, 0.05) 50%);
}

/* Durum Renklendirmesi: Borç durumuna göre kart rengi (dashboard.php / payment-form.php /
   pending-list.php / success-list.php'de PHP tarafından basılan .danger / .warning class'ları) */
.pyc-price-item.warning {
    background: #fff8ea !important;
    border-color: #ffe7b3 !important;
}

.pyc-price-item.warning .pyc-price-title,
.pyc-price-item.warning .pyc-price,
.pyc-price-item.warning .pyc-price span {
    color: #F9B000 !important;
}

.pyc-price-item.danger {
    background: #fff5f8 !important;
    border-color: #ffc4d6 !important;
}

.pyc-price-item.danger .pyc-price-title,
.pyc-price-item.danger .pyc-price,
.pyc-price-item.danger .pyc-price span {
    color: #f1416c !important;
}

.pyc-price-item.warning::after {
    background: linear-gradient(135deg, transparent 50%, rgba(249, 176, 0, 0.12) 50%);
}

.pyc-price-item.danger::after {
    background: linear-gradient(135deg, transparent 50%, rgba(241, 65, 108, 0.12) 50%);
}

/* Mobil Uyumluluk */
@media (max-width: 1200px) {
    .payment-price-cart {
        flex-direction: column;
        align-items: stretch;
    }
    .pyc-title {
        border-right: none;
        border-bottom: 2px dashed #f1f1f4;
        padding-right: 0 !important;
        padding-bottom: 20px !important;
        align-items: center !important;
        min-width: 100%;
    }
    .pyc-price-list {
        flex-wrap: wrap;
    }
    .pyc-price-item {
        min-width: calc(50% - 8px);
    }
}


/* ============================================================
   ÖDEME FORMU — REZERVASYON SEÇİM KARTI (manuel vade seçimi)
   bkz. b2b/payment/payment-form.php + assets/js/sk-script.js
   ============================================================ */

/* Kart iskeleti: BAKİYENİZ (.payment-price-cart) ile aynı görsel dil — beyaz zemin, yumuşak
   köşe, ince gölge — böylece "Ödeme Formu" tek bir bütünlük olarak hissedilir. */
.payment-select-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #f1f1f4;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.03);
    padding: 1.75rem 2rem;
}

.psc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px dashed #f1f1f4;
}

.psc-header-text h4 {
    font-size: 1.05rem;
    font-weight: 800;
    color: #181c32;
    margin-bottom: 4px;
}

.psc-header-text p {
    font-size: 0.85rem;
    color: #a1a5b7;
    margin-bottom: 0;
    max-width: 520px;
}

.psc-select-all-wrap {
    flex-shrink: 0;
    padding-top: 2px;
}

.psc-select-all-wrap .form-check-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0071A3;
}

/* Merkezi Para Birimi sekmesi — birden fazla para biriminde bekleyen ödeme olduğunda tabloyu,
   otomatik dağıtım kutusunu ve banka hesabı listesini tek noktadan yöneten sekme grubu. Tek para
   birimi varken hiç render edilmez. */
.psc-currency-switch {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.psc-currency-switch-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #a1a5b7;
    flex-shrink: 0;
}

.psc-currency-switch-tabs {
    display: flex;
    gap: 6px;
    background: #f8f9fa;
    border-radius: 12px;
    padding: 4px;
}

.psc-currency-tab {
    border: none;
    background: transparent;
    color: #7e8299;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 7px 16px;
    border-radius: 9px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.psc-currency-tab-code {
    font-size: 0.68rem;
    font-weight: 700;
    opacity: 0.65;
}

.psc-currency-tab:hover {
    background: #edf0ff;
    color: #0071A3;
}

.psc-currency-tab.active {
    background: #0071A3;
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 113, 163, 0.25);
}

.psc-currency-tab.active .psc-currency-tab-code {
    opacity: 0.85;
}

/* "Hesap Seçiniz" altında, aktif para birimine göre hangi hesapların seçilebilir olduğunu belirten
   küçük ipucu metni (bkz. sk-script.js paymentFilterBankAccounts) */
.pyc-bank-currency-hint {
    font-size: 0.72rem;
    margin-top: 4px;
}

.pyc-bank-account option:disabled {
    color: #c4c8d4;
}

/* Tutar girerek otomatik sıralı dağıtım kutusu */
.psc-auto-distribute {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: #f8f9ff;
    border: 1px solid #edf0ff;
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 1.25rem;
}

.psc-auto-distribute-text {
    flex: 1;
    min-width: 220px;
}

.psc-auto-distribute-title {
    font-size: 0.82rem;
    font-weight: 800;
    color: #181c32;
    margin-bottom: 2px;
}

.psc-auto-distribute-desc {
    font-size: 0.75rem;
    color: #a1a5b7;
    line-height: 1.4;
    max-width: 460px;
}

.psc-auto-distribute-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.psc-auto-distribute-controls .payment-auto-amount {
    width: 130px;
    text-align: right;
    font-weight: 700;
    background: #ffffff;
}

.psc-auto-distribute-controls .payment-auto-apply {
    white-space: nowrap;
    background-color: #0071A3;
    color: #ffffff;
    font-weight: 700;
    border: none;
}

.psc-auto-distribute-controls .payment-auto-apply:hover {
    background-color: #4a4ee0;
    color: #ffffff;
}

.payment-auto-hint {
    display: none;
    width: 100%;
    font-size: 0.75rem;
    font-weight: 600;
}

.payment-auto-hint.text-primary {
    color: #0071A3 !important;
}

.payment-auto-hint.text-warning {
    color: #F9B000 !important;
}

@media (max-width: 650px) {
    .psc-auto-distribute {
        flex-direction: column;
        align-items: stretch;
    }

    .psc-auto-distribute-controls {
        flex-wrap: wrap;
    }

    .psc-auto-distribute-controls .payment-auto-amount {
        flex: 1;
    }
}

/* Rezervasyon tablosu */
.payment-list .table-responsive {
    overflow-y: auto;
    max-height: 420px;
    border-radius: 12px;
}

.payment-list-table {
    margin-bottom: 0;
}

.payment-list-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #ffffff;
    color: #a1a5b7 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-bottom: 1px solid #f1f1f4 !important;
    padding-top: 12px;
    padding-bottom: 12px;
}

.payment-list-table tbody tr.payment-row {
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.payment-list-table tbody tr.payment-row td {
    vertical-align: middle;
    border-bottom: 1px solid #f8f9fa;
    padding-top: 10px;
    padding-bottom: 10px;
}

.payment-list-table tbody tr.payment-row:hover {
    background-color: #f8f9ff;
}

/* Seçili satır: hafif yeşil vurgu — "Rezervasyon Yap" widget'ındaki aynı yeşil aksanla tutarlı */
.payment-list-table tbody tr.payment-row.is-selected {
    background-color: #f0faf4;
}

.payment-list-table tbody tr.payment-row.is-selected:hover {
    background-color: #e7f8ee;
}

/* Onay bekleyen / kapanmış (seçilemez) satır */
.payment-list-table tbody tr.payment-row.is-disabled {
    opacity: 0.55;
}

.payment-list-table tbody tr.payment-row.is-disabled:hover {
    background-color: transparent;
}

/* Aktif seçilen para birimiyle uyuşmadığı için geçici olarak kilitlenen satır */
.payment-list-table tbody tr.payment-row.is-currency-locked-out {
    opacity: 0.4;
}

.payment-list-table tbody tr.payment-row.is-currency-locked-out:hover {
    background-color: transparent;
}

.payment-row-amount-group {
    max-width: 150px;
    margin-left: auto;
}

.payment-row-amount-group .payment-row-amount {
    text-align: right;
    font-weight: 700;
    border-color: #e4e6ef;
}

.payment-row-amount-group .payment-row-amount:disabled {
    background-color: #f8f9fa;
    color: #a1a5b7;
}

.payment-row-amount-group .input-group-text {
    background-color: #f8f9fa;
    border-color: #e4e6ef;
    color: #a1a5b7;
    font-size: 0.75rem;
    font-weight: 700;
    padding-left: 8px;
    padding-right: 10px;
}

/* Boş liste durumu */
.payment-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 1rem;
}

/* 2. bölüm — Ödeme bilgileri: toplam tutar kutusu */
.payment-total-box {
    background: #f8f9ff;
    border: 1px solid #edf0ff;
    border-radius: 16px;
    padding: 18px 22px;
    margin-bottom: 1.25rem;
}

.payment-total-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #a1a5b7;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.payment-total-amount {
    font-size: 1.6rem;
    font-weight: 800;
    color: #181c32;
    line-height: 1.2;
}

.payment-total-amount small {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0071A3;
}

.payment-total-hint {
    font-size: 0.78rem;
    margin-top: 8px;
}

.payment-total-hint.text-danger {
    color: #f1416c !important;
}

@media (max-width: 767px) {
    .payment-select-card {
        padding: 1.25rem 1.25rem;
    }

    .psc-header {
        flex-direction: column;
    }

    .payment-row-amount-group {
        max-width: 120px;
    }
}



/*TUR KARTI ANA*/
/* 1. Temel Kart İskeleti */
.tour-card-item.bs-tour-item {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #f1f1f4;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    isolation: isolate; /* Katman karışmalarını önler */
}

.tour-card-item.bs-tour-item:hover {
    border-color: var(--bs-danger);
}

.tour-card-item.bs-tour-item.blue:hover {
    border-color: var(--bs-success);
}

/* 2. Görsel Bölümü (Sabit Oran) */
.tour-card-item.bs-tour-item .bs-tour-image {
    position: relative;
    aspect-ratio: 16 / 10; /* Görüntü oranını korur, kaymayı önler */
    overflow: hidden;
    width: 100%;
}

.tour-card-item.bs-tour-item .bs-tour-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* 3. Etiketler (Pozisyon Hataları Giderildi) */
.tour-card-item.bs-tour-item .bs-tour-label {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #0071A3 !important;
    color: #fff !important;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 800;
    border-radius: 8px;
    z-index: 10;
    text-transform: uppercase;
}

.tour-card-item.bs-tour-item .bs-tour-tags {
    position: absolute;
    bottom: 12px;
    left: 12px;
    display: flex;
    flex-wrap: wrap; /* Taşmaları önler */
    gap: 6px;
    z-index: 10;
}

.tour-card-item.bs-tour-item .bs-tour-tags .badge {
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(4px);
    color: #181c32 !important;
    font-weight: 700;
    font-size: 10px;
    padding: 4px 10px;
    border-radius: 6px;
    border: none;
}

/* 4. İçerik Alanı (Hiyerarşi ve Esneklik) */
.tour-card-item.bs-tour-item .bs-tour-body {
    padding: 20px;
    flex-grow: 1; /* Alttaki footer'ı aşağı iter */
    display: flex;
    flex-direction: column;
}

.tour-card-item.bs-tour-item .bs-tour-body h4 {
    margin: 0 0 10px 0;
    min-height: 2.8em; /* İki satırlık yer ayırır, kart boyları eşitlenir */
}

.tour-card-item.bs-tour-item .bs-tour-body h4 a {
    color: #181c32;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.4;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 5. Bilgi Satırları */
.tour-card-item.bs-tour-item .bs-tour-info-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    font-size: 13px;
    color: #7e8299;
}

.tour-card-item.bs-tour-item .bs-tour-info-icon i {
    color: #0071A3;
    width: 16px;
    text-align: center;
}

/* 6. Tarih Paneli (Kullanıcı Odaklı) */
.tour-card-item.bs-tour-item .bs-tour-dates {
    margin-top: auto; /* Kendi içinde en alta yaslanır */
    background: #f8f9ff;
    border-radius: 12px;
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tour-card-item.bs-tour-item .bs-tour-select-date {
    font-weight: 700;
    color: #3f4254;
    font-size: 12px;
}

.tour-card-item.bs-tour-item .bs-tour-all-date-btn {
    font-size: 11px;
    font-weight: 700;
    color: #0071A3;
    text-decoration: none;
}

/* 7. Footer (Fiyat ve Komisyon) */
.tour-card-item.bs-tour-item .bs-tour-footer {
    padding: 15px 20px 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-top: 1px solid #f1f1f4;
}

/* NOT: Eski (üstteki, genel .bs-tour-item bloğuna ait) .bs-tour-footer .bs-tour-commission /
   .bs-tour-price kuralları width:100px + padding:15px 20px tanımlıyordu; bu yeni blok sadece
   -title/-amount strong alt elemanlarını override ettiği için o eski kural hâlâ geçerli kalıp
   footer'ın kendi 20px dolgusunun ÜSTÜNE bir de kendi 20px'ini ekliyordu (toplam 40px) — bu da
   KAZANÇ/EN DÜŞÜK FİYAT satırının, üstteki başlık/konum/tarih içeriğiyle aynı hizada durmayıp
   içeri kaymış görünmesine yol açıyordu (bkz. kullanıcı geri bildirimi). Burada net şekilde
   sıfırlanıyor.*/
.tour-card-item.bs-tour-item .bs-tour-footer .bs-tour-commission {
    width: auto;
    padding: 0;
    flex-shrink: 0;
}

.tour-card-item.bs-tour-item .bs-tour-footer .bs-tour-price {
    width: auto;
    padding: 0;
    flex: 1;
    text-align: right;
}

.tour-card-item.bs-tour-item .bs-tour-price-title {
    font-size: 10px;
    font-weight: 700;
    color: #a1a5b7;
    text-transform: uppercase;
    margin-bottom: 2px;
}

.tour-card-item.bs-tour-item .bs-tour-price-amount {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 6px;
    line-height: 1;
}

.tour-card-item.bs-tour-item .bs-tour-price-amount strong {
    font-size: 1.4rem;
    font-weight: 800;
    color: #181c32;
    display: block;
}

.tour-card-item.bs-tour-item .bs-tour-price-amount span {
    font-size: 0.8rem;
    font-weight: 500;
    color: #a1a5b7;
    text-decoration: line-through;
}

.tour-card-item.bs-tour-item .bs-tour-commission-amount {
    display: block;
    font-size: 13px;
    color: #50cd89;
    font-weight: 700;
}

.tour-card-item.bs-tour-item .bs-tour-commission-amount strong {
    font-size: 13px;
    color: #50cd89;
    font-weight: 700;
}

/* NOT: Eski .bs-tour-info-icon (width:22px; align-items:start; padding-top:2px;) ve .bs-tour-dates i
   (17px, koyu gri) kuralları bu yeni kartta override edilmemişti — ikon kutusu üstteki metinle dikey
   hizada kayıyor, tarih ikonu da panelin geri kalanıyla (mor vurgu rengi) uyuşmuyordu. */
.tour-card-item.bs-tour-item .bs-tour-info-icon {
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    font-size: 1rem;
}

.tour-card-item.bs-tour-item .bs-tour-dates i {
    font-size: 14px;
    color: #0071A3;
}

/* Etiket alanının (Türkçe Rehber v.b.) kartın sağ kenarını taşmasını önler — eski .bs-tour-tags
   kuralındaki width:100% bu yeni bloktaki left:12px konumlandırmasıyla birleşince etiket şeridi
   kartın sağından dışarı taşabiliyordu. */
.tour-card-item.bs-tour-item .bs-tour-tags {
    right: 12px;
    width: auto;
    padding: 0;
}
/*TUR KARTI ANA*/


/* Ana Konteynır: Kartlar arası nefes payı */
.ds_collection_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}

/* Premium Kart İskeleti */
.ds_collection_item a.card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 20px !important;
    position: relative;
    padding: 8px; /* İçerideki beyaz alanı ferahlatır */
    transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1) !important;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    box-shadow:
            0 4px 6px -1px rgba(0, 0, 0, 0.02),
            0 2px 4px -1px rgba(0, 0, 0, 0.02) !important;
}

/* Hover Etkisi: Derinlik ve Odak */
.ds_collection_item a.card:hover {
    border-color: rgba(0, 113, 163, 0.2) !important;
    box-shadow:
            0 20px 25px -5px rgba(0, 0, 0, 0.05),
            0 10px 10px -5px rgba(0, 0, 0, 0.02) !important;
}

/* Arka Plan "Glow" (Parlama) Efekti */
.ds_collection_item a.card::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(0, 113, 163, 0.08) 0%, rgba(255, 255, 255, 0) 70%);
    top: -30px;
    right: -30px;
    transition: all 0.6s ease;
    border-radius: 50%;
}

.ds_collection_item a.card:hover::before {
    transform: scale(2);
    background: radial-gradient(circle, rgba(0, 113, 163, 0.12) 0%, rgba(255, 255, 255, 0) 70%);
}

/* İçerik Düzeni */
.ds_collection_item .card-body {
    padding: 20px !important;
    width: 100%;
    z-index: 2;
}

.ds_collection_item .d-flex {
    align-items: center !important;
}

/* İkon Tasarımı: Neomorph ve Modern */
.ds_collection_item i {
    width: 64px;
    height: 64px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 2.2rem !important;
    position: relative;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    background: #f8f9fa;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.03);
}

/* Hover'da İkon Renkleri ve Hareketleri */
.ds_collection_item a:hover i {
    color: #fff !important;
    transform: scale(1.1) rotate(5deg);
}

.ds_collection_item a:hover i.ki-map { background: #f1416c !important; box-shadow: 0 10px 20px rgba(241, 65, 108, 0.3); }
.ds_collection_item a:hover i.ki-ship.text-success { background: #50cd89 !important; box-shadow: 0 10px 20px rgba(80, 205, 137, 0.3); }
.ds_collection_item a:hover i.ki-ship.text-primary { background: #009ef7 !important; box-shadow: 0 10px 20px rgba(0, 158, 247, 0.3); }

/* Metin Alanı */
.ds_collection_item .text-dark.fw-bold {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #181c32 !important;
    letter-spacing: -0.5px;
    line-height: 1.2;
    margin-bottom: 4px;
}

.ds_collection_item .fw-light.text-gray-600 {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #a1a5b7 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Aktiflik Belirteci (Sağdaki küçük ok) */
.ds_collection_item a::after {
    content: "\e966"; /* Material icons veya benzeri bir fonttan ok */
    font-family: "keenicons-solid" !important; /* Eğer yüklü değilse basit bir chevron kullanabilirsiniz */
    position: absolute;
    right: 24px;
    opacity: 0.1;
    font-size: 32px;
    transition: all 0.3s ease;
}

.ds_collection_item a:hover::after {
    opacity: 0.8;
    transform: translateX(5px);
    color: #0071A3;
}


:root {
    --tour-primary: #0071A3;
    --tour-bg-soft: #F8F9FF;
    --tour-text-dark: #181C32;
}

/* Kartın genel yumuşaklığı */
.premium-price-card {
    border: none;
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
}

/* Satır geçiş efekti */
.price-row {
    transition: all 0.2s ease-in-out;
    border-radius: 12px;
    margin-bottom: 4px;
    border: 1px solid transparent;
}

.price-row:hover {
    background-color: var(--tour-bg-soft) !important;
    border-color: rgba(0, 113, 163, 0.2);
}

/* Zebra boyama (Görselle uyumlu) */
.price-row-alt {
    background-color: #F9F9F9;
}

/* Sol taraftaki renkli vurgu çizgisi */
.price-indicator {
    width: 4px;
    height: 20px;
    background: var(--tour-primary);
    border-radius: 10px;
    display: inline-block;
    margin-right: 12px;
    opacity: 0;
    transition: opacity 0.3s;
}

.price-row:hover .price-indicator {
    opacity: 1;
}

/* Fiyat etiketi tasarımı */
.price-tag {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    color: var(--tour-text-dark);
    font-size: 1.1rem;
}

/* Görseldeki estetiği yakalamak için özel dokunuşlar */
.itinerary-card { border: 1px solid #E1E3EA; border-radius: 1rem; transition: all 0.3s ease; }
.itinerary-card:hover { border-color: #0071A3; box-shadow: 0 10px 30px rgba(0, 113, 163, 0.05); }
.day-number { width: 45px; height: 45px; background: #0071A3; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; }
.itinerary-line { position: absolute; left: 22px; top: 45px; bottom: -20px; width: 1px; background: #E1E3EA; z-index: 1; }
.itinerary-description {
    text-align: justify;
    line-height: 1.5;
    margin-top:15px;
    font-weight: 300;
    color: var(--bs-gray-800);
    font-size: 13px;
}
.last-item .itinerary-line { display: none; }
.dot-indicator { width: 8px; height: 8px; background: #2F5D62; border-radius: 50%; position: absolute; left: 19px; top: 18px; z-index: 2; }


/*BOOKING SIDEBAR*/

/* Tur Özet Kartı - Özel Kapsayıcı Stilleri */
/* Kart Genel Yapısı */
.booking-info-wrapper .card.card-xl-stretch {
    border: 1px solid #eff2f5 !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
}

/* Üst Başlık ve Görsel */
.booking-info-wrapper .card-header {
    padding: 2rem 2.25rem !important;
    background-color: #ffffff;
}

.booking-info-wrapper .symbol img {
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.booking-info-wrapper .symbol:hover img {
    transform: translateY(-3px);
}

/* Bilgi Tablosu */
.booking-info-wrapper .tour_info_mini_table .table td {
    padding: 1rem 0.5rem !important;
    border-bottom: 1px solid #f8f9fa;
    vertical-align: middle;
}

.booking-info-wrapper .tour_info_mini_table .table tr:last-child td {
    border-bottom: none;
}

/* Metin Renkleri ve Boyutları */
.booking-info-wrapper .text-gray-900 {
    color: #181c32 !important; /* Metronic derin lacivert */
    font-weight: 600 !important;
}

.booking-info-wrapper .text-end .fs-5 {
    color: #5e6278 !important; /* Metronic muted gray */
}

/* Fiyat Alanı (Highlight Section) */
.booking-info-wrapper .price-calc-found {
    padding: 1.5rem;
    border-radius: 0.85rem;
    background-color: #f9f9f9 !important;
    border: 1px solid #f1f1f4;
}

.booking-info-wrapper .price-detail table td {
    border: none !important;
    padding: 0.5rem 0 !important;
}

/* Kazanç (Commission) Satırı Özelleştirme */
.booking-info-wrapper tr.commission_view {
    border-radius: 6px;
}

.booking-info-wrapper tr.commission_view span {
    color: #50cd89 !important; /* Metronic Success Green */
    font-weight: 700;
}

/* Toplam Tutar */
.booking-info-wrapper .price-detail tr:last-child strong {
    color: #181c32;
    font-size: 1.7rem !important;
    font-weight: 800;
    letter-spacing: -0.5px;
}

/* Devam Et Butonu - Premium Tasarım */
.booking-info-wrapper .form-submit-button {
    width: 100%;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px !important;
    background: #0071A3 !important; /* Metronic Primary Blue */
    transition: all 0.3s ease !important;
    border: none !important;
    font-weight: 600 !important;
    margin-top: 1rem;
}

.booking-info-wrapper .form-submit-button:hover {
    background: #006ae6 !important;
    box-shadow: 0 8px 20px rgba(0, 149, 232, 0.3) !important;
    transform: translateY(-1px);
}

.booking-info-wrapper .indicator-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Responsive Düzenlemeler */
@media (max-width: 576px) {
    .booking-info-wrapper .card-header {
        padding: 1.5rem !important;
    }
    .booking-info-wrapper .price-calc-found {
        margin: 1rem;
    }
}

/*BOOKING SIDEBAR*/