/* ==========================================================================
   Tourstagram - Tour Program Element
   ========================================================================== */

/* Section wrapper */
.tse-tour-program-modern {
    max-width: 900px;
    margin: 0 auto 30px;
    padding: 30px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    border: 1px solid rgba(0,0,0,0.06);
}

/* Section title */
.tse-tour-program-title {
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 28px;
    padding: 0;
}

/* ==========================================================================
   Timeline layout
   ========================================================================== */
.tse-tour-program-grid.tse-timeline {
    position: relative;
    padding-left: 60px;
}

/* Vertical timeline line */
.tse-tour-program-grid.tse-timeline::before {
    content: "";
    position: absolute;
    left: 42px;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #ffa53a;
    border-radius: 2px;
}

/* ==========================================================================
   Tour stop cards
   ========================================================================== */
.tse-tour-stop {
    position: relative;
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    padding: 22px 26px;
    margin-bottom: 20px;
    margin-left: 0px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease, box-shadow 0.3s ease;
}
.tse-tour-stop.tse-is-visible {
    opacity: 1;
    transform: translateY(0);
}
.tse-tour-stop:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* Timeline dot - gizli */
.tse-tour-stop::before {
    display: none;
}

/* Time pill badge - hidden by default, shown via data-time */
.tse-tour-stop::after {
    content: attr(data-time);
    position: absolute;
    left: -58px;
    top: 22px;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    background: #ffa53a;
    padding: 4px 12px;
    border-radius: 999px;
    white-space: nowrap;
    text-align: center;
    min-width: 32px;
    display: block;
}

/* Stop heading */
.tse-tour-stop h3 {
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 10px;
    line-height: 1.3;
}

/* Stop description */
.tse-tour-stop p {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #565656;
    margin: 0 0 12px;
}

.tse-tour-stop p strong,
.tse-tour-stop p b {
    color: #333;
    font-weight: 600;
}

/* ==========================================================================
   Photo indicator button
   ========================================================================== */
.tse-photo-indicator {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #ff7a00;
    cursor: pointer;
    padding: 6px 0;
    border: none !important;
    border-radius: 0;
    background: transparent;
    transition: color 0.25s ease;
    user-select: none;
}
.tse-photo-indicator:hover {
    color: #e06800;
}

/* ==========================================================================
   Inline photo gallery
   ========================================================================== */
.tse-tour-stop-gallery {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.4s ease, margin 0.4s ease;
    margin-top: 0;
}
.tse-tour-stop-gallery.tse-open {
    max-height: 600px;
    opacity: 1;
    margin-top: 16px;
}

.tse-tour-stop-gallery-track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 4px 0 10px;
    scrollbar-width: thin;
    scrollbar-color: #ffd9a8 transparent;
}
.tse-tour-stop-gallery-track::-webkit-scrollbar { height: 6px; }
.tse-tour-stop-gallery-track::-webkit-scrollbar-track { background: transparent; }
.tse-tour-stop-gallery-track::-webkit-scrollbar-thumb { background: #ffd9a8; border-radius: 3px; }

.tse-tour-stop-gallery-track img {
    height: 180px;
    width: auto;
    min-width: 140px;
    max-width: 280px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
    cursor: pointer;
  }
.tse-tour-stop-gallery-track img:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

/* ==========================================================================
   Modern Lightbox
   ========================================================================== */
.tse-lightbox-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 999999;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.tse-lightbox-overlay.tse-active {
    display: flex;
}
.tse-lightbox-container {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tse-lightbox-container img {
    max-width: 100%;
    max-height: 85vh;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    object-fit: contain;
    transition: opacity 0.3s ease;
}
.tse-lightbox-close {
    position: absolute;
    top: -50px;
    right: 0;
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.15);
    border: none !important;
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
    backdrop-filter: blur(4px);
}
.tse-lightbox-close:hover {
    background: rgba(255,255,255,0.3);
}
.tse-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    height: auto;
    background: none;
    border: none !important;
    border-radius: 0;
    color: rgba(255,255,255,0.8);
    font-size: 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s;
    box-shadow: none !important;
    padding: 10px;
}
.tse-lightbox-nav:hover {
    color: #ffffff;
    background: none;
    transform: translateY(-50%);
}
.tse-lightbox-nav.tse-prev { left: -50px; }
.tse-lightbox-nav.tse-next { right: -50px; }

.tse-lightbox-counter { display: none !important; }

/* ==========================================================================
   Note section
   ========================================================================== */
.tse-tour-program-note {
    max-width: 900px;
    margin: 20px auto 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f4f6f8;
    border-radius: 14px;
    padding: 12px 14px;
}
.tse-tour-program-note .tse-note-icon {
    font-size: 16px;
    flex-shrink: 0;
    line-height: 1.5;
}
.tse-tour-program-note .tse-note-text {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #555555;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media only screen and (max-width: 767px) {
    .tse-tour-program-modern {
        padding: 20px 16px;
        border-radius: 14px;
    }
    .tse-tour-program-grid.tse-timeline {
        padding-left: 60px !important;
    }
    .tse-tour-program-grid.tse-timeline::before {
        left: 42px !important;
        width: 2px !important;
    }
    .tse-tour-stop {
        padding: 16px 14px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 12px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .tse-tour-stop::before {
        display: none !important;
    }
    .tse-tour-stop::after {
        left: -56px !important;
        font-size: 11px !important;
        padding: 3px 8px !important;
        min-width: 28px !important;
        top: 18px !important;
    }
    .tse-tour-stop h3 { font-size: 16px; }
    .tse-tour-stop p { font-size: 13px; }
    .tse-tour-stop-gallery-track img {
        height: 130px;
        min-width: 110px;
    }
    .tse-lightbox-nav.tse-prev { left: 10px; }
    .tse-lightbox-nav.tse-next { right: 10px; }
}

/* Animation stagger */
.tse-tour-stop:nth-child(1) { transition-delay: 0s; }
.tse-tour-stop:nth-child(2) { transition-delay: 0.1s; }
.tse-tour-stop:nth-child(3) { transition-delay: 0.2s; }
.tse-tour-stop:nth-child(4) { transition-delay: 0.3s; }
.tse-tour-stop:nth-child(5) { transition-delay: 0.4s; }
.tse-tour-stop:nth-child(6) { transition-delay: 0.5s; }
.tse-tour-stop:nth-child(7) { transition-delay: 0.6s; }
.tse-tour-stop:nth-child(8) { transition-delay: 0.7s; }
.tse-tour-stop:nth-child(9) { transition-delay: 0.8s; }
.tse-tour-stop:nth-child(10) { transition-delay: 0.9s; }

/* ==========================================================================
   FAQ Element
   ========================================================================== */
.tse-faq-section {
    max-width: 900px;
    margin: 0 auto 30px;
    padding: 30px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    border: 1px solid rgba(0,0,0,0.06);
}
.tse-faq-title {
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 24px;
}
.tse-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.tse-faq-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.3s, border-color 0.3s, background 0.3s;
  
}
.tse-faq-item.tse-open {
    background: #fff8f0;
    border-color: #ffa53a;
    box-shadow: 0 4px 16px rgba(255,165,58,0.12);
}
.tse-faq-item:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.tse-faq-question {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    cursor: pointer;
    user-select: none;
}
.tse-faq-accent {
    display: none;
}
.tse-faq-q-text {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    flex: 1;
    line-height: 1.4;
}
.tse-faq-toggle {
    font-size: 20px;
    color: #ffa53a;
    font-weight: 300;
    flex-shrink: 0;
    transition: transform 0.3s;
    line-height: 1;
}
.tse-faq-item.tse-open .tse-faq-toggle {
    transform: rotate(45deg);
    color: #ff7a00;
}
.tse-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 18px 0 18px;
}
.tse-faq-item.tse-open .tse-faq-answer {
    max-height: 300px;
    padding: 0 18px 16px 18px;
}
.tse-faq-answer p {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    line-height: 1.7;
    color: #666;
    margin: 0;
}
@media (max-width: 767px) {
    .tse-faq-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .tse-faq-section {
        padding: 20px 16px;
    }
}

/* Mobilde lightbox okları gizle */
@media (max-width: 767px) {
    .tse-lightbox-nav.tse-prev,
    .tse-lightbox-nav.tse-next {
        display: none !important;
    }
}

/* ==========================================================================

/* ==========================================================================
   Terms / Bilgilendirme - SADECE PLUGIN ICIN
   ========================================================================== */
.gdlr-core-tse-terms-item .tt-terms{
  --tt-border: rgba(15, 23, 42, 0.10);
  --tt-text: #0f172a;
  --tt-muted: rgba(15, 23, 42, 0.70);
  --tt-soft: rgba(15, 23, 42, 0.04);
  border: none !important;
  
  border-radius: 16px;
  box-shadow: none !important;
  padding: 18px;
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.gdlr-core-tse-terms-item .tt-terms:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(15, 23, 42, 0.12);
}
.gdlr-core-tse-terms-item .tt-terms__header{
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--tt-border);
}
.gdlr-core-tse-terms-item .tt-terms__badge{
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--tt-muted);
  background: var(--tt-soft);
  border: 1px solid #d8dbe0;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border-radius: 999px;
  padding: 5px 10px;
}
.gdlr-core-tse-terms-item .tt-terms__title{
  margin: 10px 0 8px;
  font-size: 20px;
  line-height: 1.25;
  color: var(--tt-text);
}
.gdlr-core-tse-terms-item .tt-terms__summarybox{
  background: var(--tt-soft);
  border: 1px solid #d8dbe0;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border-radius: 12px;
  padding: 10px 12px;

}
.gdlr-core-tse-terms-item .tt-terms__summarybox p{
  margin: 0;
  color: rgba(15, 23, 42, 0.88);
  font-size: 14px;
  line-height: 1.55;
}
.gdlr-core-tse-terms-item .tt-terms__summarybox p strong{
  font-weight: 700;
  color: #0f172a;
}
.gdlr-core-tse-terms-item .tt-terms__list{
  margin: 0;
  padding-left: 0;
  display: grid;
  gap: 8px;
  list-style: none;
  
}
.gdlr-core-tse-terms-item .tt-terms__list > li{
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(15, 23, 42, 0.90);
  margin-left: 0;
  
  padding-left: 0;
  position: relative;
}
.gdlr-core-tse-terms-item .tt-terms__num{
  font-weight: 600;
  color: rgba(15, 23, 42, 0.70);
  margin-right: 4px;
  user-select: text;
}
.gdlr-core-tse-terms-item .tt-acc{
  display: grid;
  gap: 10px;
}
.gdlr-core-tse-terms-item .tt-acc__item{
  border: 1px solid #d8dbe0;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.gdlr-core-tse-terms-item .tt-acc__summary{
  list-style: decimal;
  cursor: pointer;
  padding: 12px 44px 12px 14px;
  font-weight: 800;
  color: var(--tt-text);
  position: relative;
  user-select: none;
  background: #fff;
}
.gdlr-core-tse-terms-item .tt-acc__item[open] .tt-acc__summary{
  background: var(--tt-soft);
}
.gdlr-core-tse-terms-item .tt-acc__summary::-webkit-details-marker{ display: none; }
.gdlr-core-tse-terms-item .tt-acc__summary::after{
  content: "\25BE";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: rgba(15, 23, 42, 0.65);
  transition: transform .2s ease;
}
.gdlr-core-tse-terms-item .tt-acc__item[open] .tt-acc__summary::after{
  transform: translateY(-50%) rotate(180deg);
}
.gdlr-core-tse-terms-item .tt-acc__body{
  padding: 12px 14px 14px;
}
@media (max-width: 767px) {
  .gdlr-core-tse-terms-item .tt-terms{ padding: 14px; border-radius: 14px; }
  .gdlr-core-tse-terms-item .tt-terms__title{ font-size: 18px; }
  .gdlr-core-tse-terms-item .tt-acc__summary{ padding: 12px 42px 12px 12px; }
}

/* Dis cerceve wrapper */
.gdlr-core-tse-terms-item {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 22px;
    padding: 14px 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    margin: 0;
}

/* Ic kart cerceve temizle */
.gdlr-core-tse-terms-item .tt-terms {
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
}

/* Price card overflow fix */
.tour-pricing-card {
    overflow: hidden !important;
}

/* Sidebar price card fix */
.gdlr-core-pbf-sidebar-content .tour-pricing-card {
    max-width: 100% !important;
    width: 100% !important;
}

/* FAQ focus outline kaldir */
.tse-faq-item summary:focus,
.tse-faq-item summary:focus-visible,
.tse-faq-item details:focus,
.tse-faq-item summary:active {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* FAQ focus/click outline kaldir */
.modern-faq details summary:focus,
.modern-faq details summary:focus-visible,
.modern-faq details summary:active,
.modern-faq details:focus,
.modern-faq summary {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* FAQ kart hover efekti */
.modern-faq {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (hover: hover) {
    .modern-faq:hover {
        transform: translateY(-3px);
        box-shadow: 0 30px 60px rgba(0,0,0,0.14), 0 10px 28px rgba(0,0,0,0.10) !important;
    }
}

/* Tur programi kart hover efekti */
.tse-tour-program-modern {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (hover: hover) {
    .tse-tour-program-modern:hover {
        transform: translateY(-3px);
        box-shadow: 0 30px 60px rgba(0,0,0,0.14), 0 10px 28px rgba(0,0,0,0.10) !important;
    }
}

/* Kemer-list (Highlights) hover kilitle */
.kemer-list li:hover {
    transform: none !important;
}

/* ==========================================================================
   Tour Quick Info
   ========================================================================== */
.gdlr-core-tse-quickinfo-item {
    margin: 0;
}
.gdlr-core-tse-quickinfo-item.gdlr-core-item-pdlr {
    padding-left: 15px;
    padding-right: 15px;
}
.tse-qi-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 18px;
    padding: 20px 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.tse-qi-col {
    flex: 1 1 0%;
    display: flex;
    align-items: flex-start;
    min-width: 0;
}
.tse-qi-divider {
    width: 1px;
    align-self: stretch;
    background: rgba(0,0,0,0.08);
    flex-shrink: 0;
}
.tse-qi-inner {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 0 16px;
    width: 100%;
}
.tse-qi-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
}
.tse-qi-icon i.fa {
    font-size: 17px;
    color: #333;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.tse-qi-content {
    min-width: 0;
    flex: 1;
}
.tse-qi-title {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.35;
    margin-bottom: 4px;
    -webkit-font-smoothing: antialiased;
}
.tse-qi-desc {
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #777;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
@media only screen and (max-width: 991px) {
    .tse-qi-wrapper {
        flex-wrap: wrap;
        padding: 20px 12px;
    }
    .tse-qi-col {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 16px;
    }
    .tse-qi-col:nth-last-child(-n+2) { margin-bottom: 0; }
    .tse-qi-divider { display: none; }
}
@media only screen and (max-width: 575px) {
    .tse-qi-wrapper {
        flex-direction: column;
        padding: 16px 14px;
        border-radius: 14px;
    }
    .tse-qi-col {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 14px;
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }
    .tse-qi-col:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
    .tse-qi-divider { display: none; }
}

/* Quick Info - Left align fix */
.gdlr-core-tse-quickinfo-item.gdlr-core-item-pdlr {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ==========================================================================
   Tour Badge Element
   ========================================================================== */
.gdlr-core-tse-tourbadge-item {
    margin: 0;
}
.tse-tb-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.tse-tb-year {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.tse-tb-year-icon {
    font-size: 16px;
    line-height: 1;
}
.tse-tb-badge {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #ff6b00;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}
.tse-tb-badge:hover {
    color: #e05500;
}

/* ==========================================================================
   Tour Rating Element
   ========================================================================== */

.tse-tr-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.tse-tr-score {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
}
.tse-tr-stars {
    display: inline-flex;
    align-items: center;
    gap: 1px;
}
.tse-tr-stars i.fa {
    font-size: 13px;
    color: #f5a623;
}
.tse-tr-stars i.fa-star-o {
    color: #ddd;
}
.tse-tr-count {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-left: 2px;
}
.tse-tr-icon i.fa {
    font-size: 14px;
    color: #555;
    margin-left: 4px;
}
.tse-tr-divider {
    color: #ddd;
    margin: 0 4px;
    font-size: 14px;
}
.tse-tr-reservation {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.tse-tr-reservation strong {
    color: #1a1a1a;
    font-weight: 700;
    text-decoration: underline;
}
.tse-tr-fire {
    color: #ff6b00;
    font-size: 13px;
}

/* ==========================================================================
   Tour Badge Element
   ========================================================================== */
.gdlr-core-tse-tourbadge-item { margin: 0; }
.tse-tb-wrapper { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tse-tb-year { font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 500; color: #555; display: inline-flex; align-items: center; gap: 6px; }
.tse-tb-year-icon { font-size: 16px; line-height: 1; }
.tse-tb-badge { font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 600; color: #ff6b00; text-decoration: none; cursor: pointer; transition: color 0.2s; }
.tse-tb-badge:hover { color: #e05500; }

/* ==========================================================================
   Tour Rating Element
   ========================================================================== */

.tse-tr-wrapper { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tse-tr-score { font-family: "Poppins", sans-serif; font-size: 14px; font-weight: 700; color: #1a1a1a; }
.tse-tr-stars { display: inline-flex; align-items: center; gap: 1px; }
.tse-tr-stars i.fa { font-size: 13px; color: #f5a623; }
.tse-tr-stars i.fa-star-o { color: #ddd; }
.tse-tr-count { font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 500; color: #555; margin-left: 2px; }
.tse-tr-icon i.fa { font-size: 14px; color: #555; margin-left: 4px; }
.tse-tr-sep { color: #ddd; margin: 0 4px; font-size: 14px; }
.tse-tr-res { font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 500; color: #555; display: inline-flex; align-items: center; gap: 4px; }
.tse-tr-res strong { color: #1a1a1a; font-weight: 700; text-decoration: underline; }
.tse-tr-fire { color: #ff6b00; font-size: 13px; }

/* Badge fixes */
.tse-tb-year-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: linear-gradient(135deg, #ff8c00, #ff6b00);
    border-radius: 50%;
    font-size: 12px;
    line-height: 1;
    margin-right: 2px;
}
.tse-tb-wrapper {
    gap: 14px;
}
.tse-tb-year {
    font-size: 14px;
    color: #666;
    font-weight: 400;
}
.tse-tb-badge {
    font-size: 14px;
    font-weight: 600;
    color: #ff6b00;
    background: #fff5eb;
    padding: 4px 12px;
    border-radius: 6px;
}
.tse-tb-badge:hover {
    background: #ffead6;
    color: #e05500;
}

/* Badge final fix */
.tse-tb-badge {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
}
.tse-tb-year {
    font-size: 13px !important;
}
.tse-tb-year-icon {
    width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
}

/* Badge final fix */
.tse-tb-badge {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
}
.tse-tb-year {
    font-size: 13px !important;
}
.tse-tb-year-icon {
    width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
}

.tse-bs-prefix {
    font-family: "Poppins", sans-serif;
    font-size: 13px; font-weight: 400; color: #666;
}
.tse-bs-badge {
    background: none; border: none; cursor: pointer; padding: 0;
    font-family: "Poppins", sans-serif;
    font-size: 13px; font-weight: 600; color: #ff6b00;
    display: inline-flex; align-items: center; gap: 4px;
    transition: color 0.2s;
}
.tse-bs-badge:hover { color: #e05500; }
.tse-bs-arrow { font-size: 16px; font-weight: 400; }
/* Tooltip */
.tse-bs-tooltip {
    display: none;
    position: absolute; top: 100%; left: 0; z-index: 100;
    margin-top: 8px;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 12px;
    padding: 16px 20px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    max-width: 320px; min-width: 240px;
    animation: tseBsFadeIn 0.2s ease;
}
.tse-bs-tooltip.tse-bs-open { display: block; }
@keyframes tseBsFadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.tse-bs-tooltip-close {
    position: absolute; top: 8px; right: 10px;
    background: none; border: none; cursor: pointer;
    font-size: 20px; color: #999; line-height: 1; padding: 0;
}
.tse-bs-tooltip-close:hover { color: #333; }
.tse-bs-tooltip-title {
    font-family: "Poppins", sans-serif;
    font-size: 15px; font-weight: 700; color: #1a1a1a;
    margin-bottom: 6px;
}
.tse-bs-tooltip-body {
    font-family: "Poppins", sans-serif;
    font-size: 13px; color: #555; line-height: 1.5;
}
.tse-bs-tooltip-body strong { color: #1a1a1a; font-weight: 700; }

/* Badge text fix */
.tse-bs-badge { text-transform: none !important; }
.tse-bs-badge span { text-transform: none !important; }

.tse-bs-badge:hover {
    background: none !important;
    color: #e05500 !important;
}
.tse-bs-prefix {
    font-size: 13px !important;
    color: #666 !important;
}
.tse-bs-icon {
    width: 18px !important;
    height: 18px !important;
}
.tse-bs-icon::after {
    width: 6px !important;
    height: 8px !important;
}

/* Tooltip position fix - badge altinda acilsin */
.tse-bs-wrapper {
    position: relative !important;
    display: inline-block !important;
}
.tse-bs-tooltip {
    top: auto !important;
    bottom: auto !important;
    left: 0 !important;
    margin-top: 10px !important;
}

/* Tooltip body - no bold */
.tse-bs-tooltip-body strong {
    font-weight: 400 !important;
    color: #555 !important;
}

/* Tooltip title orange */
.tse-bs-tooltip-title {
    color: #ff6b00 !important;
}

/* ==========================================================================
   Badge Icon - Exact Original
   ========================================================================== */
.tse-bs-icon {
    position: relative;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc56a, #ff7b2c);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: visible;
}
.tse-bs-icon::before {
    content: "\2605";
    color: #ffffff;
    font-size: 9px;
    line-height: 1;
}
.tse-bs-icon::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    width: 7px;
    height: 5px;
    background: #316bff;
    border-radius: 0 0 2px 2px;
}
.tse-bs-icon i.fa {
    display: none;
}

/* Badge final tweaks */
.tse-bs-icon::after {
    height: 3px !important;
    bottom: -3px !important;
    width: 6px !important;
}
.tse-bs-row {
    gap: 8px !important;
}
.tse-bs-icon {
    margin-right: 4px !important;
}
.tse-bs-badge {
    background: none !important;
    padding: 0 !important;
    border: none !important;
    color: #ff6b00 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: none !important;
}
.tse-bs-badge:hover {
    color: #e05500 !important;
    background: none !important;
}

/* Badge icon - smaller and higher */
.tse-bs-icon {
    width: 14px !important;
    height: 14px !important;
    transform: translateY(-2px) !important;
}
.tse-bs-icon::before {
    font-size: 7px !important;
}
.tse-bs-icon::after {
    width: 5px !important;
    height: 3px !important;
    bottom: -3px !important;
}
.tse-bs-prefix {
    margin-left: 2px !important;
}

/* Badge icon - fix star */
.tse-bs-icon {
    width: 15px !important;
    height: 15px !important;
    transform: translateY(-1px) !important;
}
.tse-bs-icon::before {
    font-size: 8px !important;
}

/* Badge text align down */
.tse-bs-icon {
    transform: translateY(-3px) !important;
}

/* Badge icon higher */
.tse-bs-icon {
    transform: translateY(-5px) !important;
}

/* ==========================================================================
   Tour Rating - Final Design
   ========================================================================== */

/* ==========================================================================
   Tour Ticker - Auto Rotating Messages
   ========================================================================== */
.gdlr-core-tse-tourticker-item { margin: 0; }
.tse-tk-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}
.tse-tk-icon {
    flex-shrink: 0;
    font-size: 14px;
    color: #ff6b00;
    display: inline-flex;
    align-items: center;
}
.tse-tk-icon i.fa {
    font-size: 14px;
    color: #ff6b00;
}
.tse-tk-flag {
    width: 20px;
    height: 14px;
    background: linear-gradient(to bottom, #e30a17 33%, #fff 33%, #fff 66%, #e30a17 66%);
    border-radius: 2px;
    position: relative;
    display: inline-block;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.tse-tk-flag::before {
    content: "\2605";
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    font-size: 6px;
    color: #e30a17;
}
.tse-tk-emoji {
    font-size: 16px;
    line-height: 1;
}
.tse-tk-track {
    position: relative;
    overflow: hidden;
    height: 20px;
    flex: 1;
}
.tse-tk-slide {
    position: absolute;
    top: 0; left: 0; right: 0;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    line-height: 20px;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.tse-tk-slide.tse-tk-active {
    opacity: 1;
    transform: translateY(0);
}

/* Ticker - per slide icon */
.tse-tk-slide {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.tse-tk-sicon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.tse-tk-sicon i.fa {
    font-size: 14px;
    color: #ff6b00;
}
.tse-tk-text {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #555;
}
.tse-tk-track {
    height: 22px !important;
}
.tse-tk-slide {
    line-height: 22px !important;
}

/* Quick Info - icon color option */
.tse-qi-icon i.fa {
    color: #333 !important;
}

/* ==========================================================================
   Tour Rating - Clean Final
   ========================================================================== */
.gdlr-core-tse-tourrating-item { margin: 0; }
.tse-rat-line1 {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}
.tse-rat-score {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
}
.tse-rat-stars {
    display: inline-flex;
    align-items: center;
    gap: 1px;
}
.tse-rat-stars i.fa {
    font-size: 12px;
    color: #e8b800;
}
.tse-rat-stars i.fa-star-o {
    color: #ddd;
}
.tse-rat-count {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #555;
}
.tse-rat-chat {
    margin-left: 2px;
}
.tse-rat-chat i.fa {
    font-size: 14px;
    color: #333;
}
.tse-rat-line2 {
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #555;
}
.tse-rat-line2 u {
    color: #1a1a1a;
    font-weight: 600;
}
.tse-rat-fire-icon {
    font-size: 14px;
    line-height: 1;
}

/* Rating-Ticker spacing */
.gdlr-core-tse-tourrating-item.gdlr-core-item-pdb {
    padding-bottom: 2px !important;
}
.gdlr-core-tse-tourticker-item.gdlr-core-item-pdb {
    padding-bottom: 0 !important;
}
.gdlr-core-tse-tourticker-item {
    margin-top: -8px !important;
}

/* Ticker-Card spacing */
.gdlr-core-tse-tourticker-item {
    margin-top: 0px !important;
    margin-bottom: 8px !important;
}
.gdlr-core-tse-tourrating-item.gdlr-core-item-pdb {
    padding-bottom: 6px !important;
}

/* Quick Info card top spacing */
.gdlr-core-tse-quickinfo-item {
    margin-top: 12px !important;
}

/* Quick Info card spacing - exact */
.gdlr-core-tse-quickinfo-item {
    margin-top: 6px !important;
}

/* Quick Info card spacing - tighter */
.gdlr-core-tse-quickinfo-item {
    margin-top: 2px !important;
}
.gdlr-core-tse-tourticker-item.gdlr-core-item-pdb {
    padding-bottom: 0 !important;
    margin-bottom: 2px !important;
}

/* Badge text spacing */
.tse-bs-prefix {
    margin-right: 6px !important;
}
/* Ticker to card spacing */
.gdlr-core-tse-tourticker-item {
    margin-bottom: 10px !important;
}
.gdlr-core-tse-quickinfo-item {
    margin-top: 0px !important;
}

/* Card top margin */
.gdlr-core-tse-quickinfo-item {
    margin-top: 16px !important;
}

/* ==========================================================================
   Mobile Fix - Quick Info
   ========================================================================== */
@media only screen and (max-width: 575px) {
    .tse-qi-wrapper {
        flex-direction: column !important;
        padding: 16px 14px !important;
        border-radius: 14px !important;
        display: flex !important;
    }
    .tse-qi-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 12px !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    }
    .tse-qi-col:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: none !important;
    }
    .tse-qi-divider {
        display: none !important;
    }
    .tse-qi-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 0 !important;
    }
    .tse-qi-icon {
        width: 22px !important;
        height: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }
    .tse-qi-icon i.fa {
        font-size: 15px !important;
    }
    .tse-qi-content {
        flex: 1 !important;
        min-width: 0 !important;
    }
    .tse-qi-title {
        font-size: 12px !important;
        margin-bottom: 2px !important;
    }
    .tse-qi-desc {
        font-size: 11px !important;
    }
}
@media only screen and (max-width: 991px) and (min-width: 576px) {
    .tse-qi-wrapper {
        flex-wrap: wrap !important;
        padding: 18px 12px !important;
    }
    .tse-qi-col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-bottom: 14px !important;
    }
    .tse-qi-col:nth-last-child(-n+2) {
        margin-bottom: 0 !important;
    }
    .tse-qi-divider {
        display: none !important;
    }
    .tse-qi-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
}

/* Badge bottom spacing */
.gdlr-core-tse-tourbadge-item.gdlr-core-item-pdb {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Badge bottom spacing - slight gap */
.gdlr-core-tse-tourbadge-item.gdlr-core-item-pdb {
    padding-bottom: 6px !important;
}

/* Rating - hover effect + no parentheses */
.tse-rat-line1 {
    display: inline-flex !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    transition: background 0.3s ease !important;
    cursor: pointer !important;
}
.tse-rat-line1:hover {
    background: rgba(232, 184, 0, 0.15) !important;
}
.tse-rat-chat {
    display: inline-flex !important;
}

/* Rating hover - exact match */
.tse-rat-line1 {
    padding: 6px 10px !important;
    border-radius: 8px !important;
    margin-left: -10px !important;
    gap: 6px !important;
}
.tse-rat-line1:hover {
    background: rgba(232, 184, 0, 0.18) !important;
}
.tse-rat-score {
    margin-right: 2px !important;
}
.tse-rat-count::before {
    content: "·" !important;
    margin-right: 6px !important;
    color: #999 !important;
}

/* ==========================================================================
   Custom Icons - Dalis / Scuba
   ========================================================================== */
.tse-qi-icon 
.tse-qi-icon 
.tse-qi-icon 
/* Ticker icon support for custom icons */
.tse-tk-sicon 
.tse-tk-sicon 
.tse-tk-sicon


/* ==========================================================================
   Custom Dive Icons
   ========================================================================== */
i.tse-icon-diver,
i.tse-icon-mask {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    font-style: normal !important;
    color: transparent !important;
}
i.tse-icon-diver {
    background-image: url("/wp-content/plugins/tourstagram-elements/assets/icon-diver.svg") !important;
}
i.tse-icon-mask {
    background-image: url("/wp-content/plugins/tourstagram-elements/assets/icon-mask.svg") !important;
}


/* Dive icons as span */
span.tse-icon-diver,
span.tse-icon-mask {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
span.tse-icon-diver {
    background-image: url("/wp-content/plugins/tourstagram-elements/assets/icon-diver.svg") !important;
}
span.tse-icon-mask {
    background-image: url("/wp-content/plugins/tourstagram-elements/assets/icon-mask.svg") !important;
}


/* Dive icons bigger */
span.tse-icon-diver,
span.tse-icon-mask {
    width: 22px !important;
    height: 22px !important;
}


/* ==========================================================================
   Mobile Video Fix - Remove black bars
   ========================================================================== */
@media only screen and (max-width: 767px) {
    .gdlr-core-video-item video,
    .gdlr-core-video-item iframe,
    .gdlr-core-pbf-background-video video,
    video {
        object-fit: cover !important;
        width: 100% !important;
        height: 100% !important;
    }
    .gdlr-core-video-item .gdlr-core-video-item-content,
    .gdlr-core-item-pdlr .fluid-width-video-wrapper,
    .fluid-width-video-wrapper {
        padding-top: 56.25% !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .fluid-width-video-wrapper iframe,
    .fluid-width-video-wrapper video {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }
}


/* ==========================================================================
   Video Black Bars Fix - All devices
   ========================================================================== */
video {
    object-fit: cover !important;
    background: transparent !important;
}
.gdlr-core-item-pdb video,
.gdlr-core-pbf-wrapper video,
.gdlr-core-page-builder-body video {
    object-fit: cover !important;
    background: transparent !important;
    width: 100% !important;
}
.mejs-mediaelement video {
    object-fit: cover !important;
}
.mejs-container,
.mejs-overlay,
.mejs-layer,
.wp-video,
.wp-video-shortcode {
    background: transparent !important;
}
@media only screen and (max-width: 767px) {
    video {
        object-fit: cover !important;
    }
    .gdlr-core-flexslider .flex-viewport video,
    .gdlr-core-flexslider-nav video {
        object-fit: cover !important;
        width: 100% !important;
        height: 100% !important;
    }
}


/* ==========================================================================
   Foam Card - Mobile full width image fix
   ========================================================================== */
@media only screen and (max-width: 767px) {
    .tse-foam-card {
        border-radius: 0 !important;
        margin-left: -15px !important;
        margin-right: -15px !important;
        width: calc(100% + 30px) !important;
    }
    .tse-foam-card .tse-foam-image,
    .tse-foam-card .tse-foam-image img {
        width: 100% !important;
        border-radius: 0 !important;
    }
    .tse-foam-card img {
        object-fit: cover !important;
        width: 100% !important;
    }
    .gdlr-core-tse-foam-card-item.gdlr-core-item-pdlr {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* ==========================================================================
   Foam Card - Video & Mobile Fix
   ========================================================================== */
.foam-card__video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}
.foam-card__media {
    overflow: hidden !important;
    position: relative !important;
}
@media only screen and (max-width: 767px) {
    .foam-card__media {
        overflow: hidden !important;
    }
    .foam-card__video {
        object-fit: cover !important;
        width: 100% !important;
        height: 100% !important;
    }
    .foam-card__img {
        width: 100% !important;
        object-fit: cover !important;
    }
}


/* ==========================================================================
   Price Table - Kişi Sayısı Toggle
   ========================================================================== */
.tour-pricing-person-toggle {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    gap: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fafafa;
}
.tpt-label {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #ff8c00, #ff6b00);
    padding: 10px 16px;
    white-space: nowrap;
    letter-spacing: 0.02em;
}
.tpt-buttons {
    display: flex;
    flex: 1;
}
.tpt-btn {
    flex: 1;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #777;
    background: transparent;
    border: none;
    padding: 10px 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    text-align: center;
}
.tpt-btn:hover {
    color: #333;
    background: rgba(255,140,0,0.06);
}
.tpt-btn.tpt-active {
    color: #ff6b00;
    font-weight: 700;
    background: rgba(255,140,0,0.08);
}
.tpt-btn.tpt-active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 3px;
    background: #ff6b00;
    border-radius: 2px 2px 0 0;
}

/* Price transition animation */
.tour-pricing-table td.price {
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.tour-pricing-table td.price.tpt-changing {
    opacity: 0;
    transform: translateY(-4px);
}

@media only screen and (max-width: 575px) {
    .tour-pricing-person-toggle {
        flex-direction: column;
        border-radius: 10px;
    }
    .tpt-label {
        width: 100%;
        text-align: center;
        padding: 8px 12px;
        font-size: 12px;
        border-radius: 0;
    }
    .tpt-buttons {
        width: 100%;
    }
    .tpt-btn {
        font-size: 12px;
        padding: 8px 10px;
    }
}

/* Mobile video fix */
.foam-card__video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
@media (max-width: 768px) {
    .foam-card__video {
        pointer-events: none;
    }
}

/* FIX: Mobile video autoplay - don't use display:none */
.foam-card__video{
    display: block !important;
    visibility: hidden !important;
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
}
.foam-card__img{
    display: block !important;
}

@media (max-width: 768px),
       ((hover: none) and (pointer: coarse)),
       ((any-hover: none) and (any-pointer: coarse)){
    .foam-card__video{
        visibility: visible !important;
        opacity: 1 !important;
        width: calc(100% - var(--inset-left)) !important;
        height: 100% !important;
        z-index: 3 !important;
    }
    .foam-card__img{
        display: none !important;
    }
}

/* FALLBACK: JS çalışmazsa duraklar yine gözüksün */
.tse-tour-stop {
    opacity: 1 !important;
    transform: none !important;
}
.tse-tour-stop.tse-is-visible {
    opacity: 1 !important;
    transform: none !important;
}
