/* ═══════════════════════════════════════════════════════════════
   UTravel Turkey — Tours & Experiences
   tours-archive.php + tours-single.php
   Shares design tokens with operator-directory.css
   ═══════════════════════════════════════════════════════════════ */

.utt-tours,
.utt-tour-single { background: #FAF7F2; min-height: 100vh; }
/* ── Accessibility utilities ────────────────────────────────── */
.utt-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.utt-skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 9999;
  background: #F0A030;
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  padding: 12px 20px;
  border-radius: 0 0 8px 8px;
  text-decoration: none;
  transition: top .15s;
}
.utt-skip-link:focus {
  top: 0;
  outline: 3px solid #0D1B2E;
  outline-offset: 2px;
}

/* Focus visible — keyboard navigation ring */
.utt-tours *:focus-visible,
.utt-tour-single *:focus-visible {
  outline: 3px solid #F0A030;
  outline-offset: 3px;
  border-radius: 4px;
}

/* High contrast mode support */
@media (forced-colors: active) {
  .utt-dir-card,
  .utt-tours-resource-card,
  .utt-tour-sidebar-card { border: 2px solid ButtonText; }
  .utt-btn--amber,
  .utt-btn--outline { border: 2px solid ButtonText; }
}


/* ── HERO ────────────────────────────────────────────────────── */
.utt-tours-hero {
  background: #0D1B2E;
  padding: calc(var(--utt-nav-height,80px) + 48px) 0 40px;
  text-align: center;
}
.utt-tours-hero__title {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: clamp(2.4rem,5vw,4rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: .95;
  color: #fff;
  margin: 10px 0 24px;
}
.utt-tours-hero__title em {
  font-family: var(--utt-font-serif,'Cormorant Garamond',serif);
  font-style: italic;
  font-weight: 300;
  color: rgba(255,255,255,.45);
}
.utt-tours-hero__intro {
  font-size: .9rem;
  color: rgba(255,255,255,.5);
  max-width: 560px;
  margin: 0 auto 28px;
  line-height: 1.7;
}

/* ── TOURS GRID — 4 columns full width ───────────────────────── */
.utt-tours-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 20px;
  margin-bottom: 48px;
}
@media (max-width: 1100px) { .utt-tours-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 760px)  { .utt-tours-grid { grid-template-columns: repeat(2,1fr); gap: 12px; } }
@media (max-width: 480px)  { .utt-tours-grid { grid-template-columns: 1fr; } }

/* ── PRICE CHIP ──────────────────────────────────────────────── */
.utt-tours-price {
  display: inline-block;
  background: rgba(240,160,48,.18);
  color: #F0A030;
  border-radius: 12px;
  padding: 2px 8px;
  font-weight: 700;
  font-size: .7rem;
}

/* ── SPONSORED TRAVELPAYOUT ──────────────────────────────────── */
.utt-tours-sponsored {
  background: #fff;
  border-top: 1px solid #F0EBE0;
  border-bottom: 1px solid #F0EBE0;
  padding: 48px 0;
}
.utt-tours-sponsored__header {
  text-align: center;
  margin-bottom: 28px;
}
.utt-tours-sponsored__label {
  display: inline-block;
  background: #F0EBE0;
  color: #999;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 12px;
  margin-bottom: 10px;
}
.utt-tours-sponsored__header h2 {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 1.8rem;
  font-weight: 800;
  color: #0D1B2E;
  margin: 0 0 4px;
}
.utt-tours-sponsored__header p { font-size: .85rem; color: #999; }
.utt-tours-tp-widget { min-height: 60px; }

/* ── PLAN YOUR TRIP — RESOURCE WIDGETS ──────────────────────── */
.utt-tours-resources {
  background: #0D1B2E;
  padding: 56px 0;
}
.utt-tours-resources__title {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: clamp(1.8rem,3vw,2.6rem);
  font-weight: 800;
  color: #fff;
  text-align: center;
  margin-bottom: 6px;
}
.utt-tours-resources__sub {
  text-align: center;
  color: rgba(255,255,255,.45);
  font-size: .9rem;
  margin-bottom: 36px;
}
.utt-tours-resources__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
}
@media (max-width: 900px)  { .utt-tours-resources__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px)  { .utt-tours-resources__grid { grid-template-columns: 1fr; } }

.utt-tours-resource-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: background .2s, transform .2s;
}
.utt-tours-resource-card:hover {
  background: rgba(255,255,255,.1);
  transform: translateY(-3px);
}
.utt-tours-resource-card__icon { font-size: 2rem; margin-bottom: 12px; }
.utt-tours-resource-card h3 {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}
.utt-tours-resource-card p {
  font-size: .8rem;
  color: rgba(255,255,255,.45);
  margin-bottom: 18px;
  line-height: 1.5;
  flex: 1;
}
.utt-tours-resource-widget-slot {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
/* If a widget is pasted it sits above the fallback button */
.utt-tours-resource-widget-slot:has(iframe) .utt-btn,
.utt-tours-resource-widget-slot:has(script) .utt-btn { display: none; }

/* ── SHARED BUTTONS ──────────────────────────────────────────── */
.utt-btn--amber {
  display: inline-block;
  padding: 11px 20px;
  background: linear-gradient(135deg,#D4780A,#F0A030);
  color: #fff !important;
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity .2s;
  white-space: nowrap;
}
.utt-btn--amber:hover { opacity: .88; color: #fff !important; }

.utt-btn--outline {
  display: inline-block;
  padding: 10px 20px;
  background: transparent;
  color: #F0A030 !important;
  border: 1.5px solid #F0A030;
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background .2s, color .2s;
  width: 100%;
  text-align: center;
}
.utt-btn--outline:hover { background: #F0A030; color: #fff !important; }

/* ═══════════════════════════════════════════════════════════════
   SINGLE TOUR PRODUCT PAGE
   ═══════════════════════════════════════════════════════════════ */

/* ── HERO ────────────────────────────────────────────────────── */
.utt-tour-hero {
  position: relative;
  background: #0D1B2E center/cover no-repeat;
  min-height: 440px;
  display: flex;
  align-items: flex-end;
}
.utt-tour-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(13,27,46,.95) 0%,rgba(13,27,46,.55) 50%,rgba(13,27,46,.1) 100%);
}
.utt-tour-hero__inner {
  position: relative;
  z-index: 2;
  padding-bottom: 48px;
  padding-top: 48px;
}
.utt-tour-hero__sector {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #4DB8CC;
  margin-bottom: 8px;
}
.utt-tour-hero__title {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: clamp(2rem,4vw,3.2rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  line-height: 1;
  margin-bottom: 16px;
}
.utt-tour-hero__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: .82rem;
  color: rgba(255,255,255,.5);
}
.utt-tour-hero__price {
  background: rgba(240,160,48,.2);
  color: #F0A030;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: 700;
  font-size: .85rem;
}
.utt-tour-hero__rcount { color: rgba(255,255,255,.5); }

/* ── BODY LAYOUT ─────────────────────────────────────────────── */
.utt-tour-body {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  padding-top: 40px;
  padding-bottom: 60px;
  align-items: start;
}

/* ── BREADCRUMB ──────────────────────────────────────────────── */
.utt-tour-breadcrumb {
  font-size: .78rem;
  color: #AAA;
  margin-bottom: 28px;
}
.utt-tour-breadcrumb a { color: #888; text-decoration: none; }
.utt-tour-breadcrumb a:hover { color: #D4780A; }

/* ── CONTENT SECTIONS ────────────────────────────────────────── */
.utt-tour-section {
  margin-bottom: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid #F0EBE0;
}
.utt-tour-section:last-child { border-bottom: none; }
.utt-tour-section h2 {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 1.6rem;
  font-weight: 800;
  color: #0D1B2E;
  margin-bottom: 16px;
}
.utt-tour-description { font-size: .9rem; color: #444; line-height: 1.8; }
.utt-tour-description p { margin-bottom: 1em; }

.utt-tour-booking-wrap {
  background: #fff;
  border: 1px solid #F0EBE0;
  border-radius: 12px;
  padding: 24px;
}

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.utt-tour-sidebar {
  position: sticky;
  top: calc(var(--utt-nav-height,80px) + 12px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.utt-tour-sidebar-card {
  background: #fff;
  border: 1px solid #F0EBE0;
  border-radius: 16px;
  padding: 22px;
}
.utt-tour-sidebar-card__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #AAA;
  margin-bottom: 12px;
}

/* Price card */
.utt-tour-price-card__amount { text-align: center; margin-bottom: 12px; }
.utt-tour-price-card__from  { display: block; font-size: .75rem; color: #AAA; }
.utt-tour-price-card__price {
  display: block;
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 2.6rem;
  font-weight: 800;
  color: #0D1B2E;
  line-height: 1;
}
.utt-tour-price-card__per { display: block; font-size: .75rem; color: #AAA; }
.utt-tour-price-card__rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #F0EBE0;
}
.utt-tour-price-card__stars { color: #F0A030; font-size: 1rem; }
.utt-tour-price-card__rval  { font-size: .78rem; color: #888; }
.utt-tour-price-card__cta   { display: block; width: 100%; text-align: center; }

/* Operator card */
.utt-tour-operator-card__header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.utt-tour-operator-card__logo   { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.utt-tour-operator-card__avatar {
  width: 52px; height: 52px; border-radius: 50%;
  background: #0D1B2E; color: #F0A030;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 1.4rem; font-weight: 800; flex-shrink: 0;
}
.utt-tour-operator-card__name  { font-weight: 700; font-size: .95rem; color: #0D1B2E; margin: 0 0 2px; }
.utt-tour-operator-card__city  { font-size: .75rem; color: #AAA; margin: 0; }
.utt-tour-operator-card__bio   { font-size: .8rem; color: #666; line-height: 1.6; margin-bottom: 12px; }
.utt-tour-operator-card__link  { font-size: .78rem; color: #D4780A; text-decoration: none; font-weight: 600; }
.utt-tour-operator-card__link:hover { text-decoration: underline; }

/* TripGenius */
.utt-tour-tg-card             { background: #0D1B2E; border-color: #0D1B2E; }
.utt-tour-tg-card__text       { font-size: .82rem; color: rgba(255,255,255,.6); margin-bottom: 14px; text-align: center; }

/* Share */
.utt-tour-share-btns          { display: flex; flex-direction: column; gap: 8px; }
.utt-tour-share-btn           { display: block; padding: 9px 16px; text-align: center; text-decoration: none; border-radius: 8px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: opacity .2s; }
.utt-tour-share-btn--fb { background: #1877F2; color: #fff; }
.utt-tour-share-btn--tw { background: #000; color: #fff; }
.utt-tour-share-btn--wa { background: #25D366; color: #fff; }
.utt-tour-share-btn:hover { opacity: .85; }

/* Single page resource section */
.utt-tour-single .utt-tours-resources { margin-top: 0; }

/* Related */
.utt-tours-related            { padding: 48px 0 72px; background: #FAF7F2; }
.utt-tours-related h2         { font-family: var(--utt-font-display,'Barlow Condensed',sans-serif); font-size: 1.8rem; font-weight: 800; color: #0D1B2E; margin-bottom: 24px; }
.utt-tours-related__grid      { grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); }

/* ── RESPONSIVE SINGLE ───────────────────────────────────────── */
@media (max-width: 960px) {
  .utt-tour-body { grid-template-columns: 1fr; gap: 28px; }
  .utt-tour-sidebar { position: static; order: -1; }
  .utt-tour-hero { min-height: 320px; }
}
@media (max-width: 600px) {
  .utt-tour-hero__title { font-size: 1.8rem; }
}

/* ── FILTER BAR OVERRIDES — all 5 dropdowns horizontal ───────── */
/* Override utt-dir-filters-inner which uses flex-wrap:wrap */
.utt-tours-filters-bar { position: sticky; top: var(--utt-nav-height,80px); z-index: 100; }
.utt-tours-filters-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 8px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.utt-tours-filters-inner::-webkit-scrollbar { display: none; }

.utt-tours-filter-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-shrink: 0;
}
.utt-tours-filter-group .utt-dir-filter-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #888;
  white-space: nowrap;
}
.utt-tours-filter-group .utt-dir-sector-select {
  padding: 5px 10px;
  border: 1.5px solid #E0D8D0;
  border-radius: 8px;
  font-size: .78rem;
  color: #0D1B2E;
  background: #fff;
  outline: none;
  cursor: pointer;
  white-space: nowrap;
  max-width: 180px;
}
.utt-tours-filter-group .utt-dir-sector-select:focus { border-color: #D4780A; }

/* Count at the end */
.utt-tours-filters-inner .utt-dir-count {
  margin-left: auto;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── GRID FIX — force 4-col regardless of Kadence container ─── */
/* Kadence adds max-width constraints via .entry-content etc.
   We scope to the tours main so we don't break other pages */
#utt-tours-archive .utt-dir-grid-section { width: 100%; }
#utt-tours-archive .utt-container { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
#utt-tours-archive .utt-tours-grid {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 20px !important;
  width: 100% !important;
}
#utt-tours-archive .utt-dir-card {
  aspect-ratio: 3/4;
  min-height: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 1200px) {
  #utt-tours-archive .utt-tours-grid { grid-template-columns: repeat(3,1fr) !important; }
}
@media (max-width: 800px) {
  #utt-tours-archive .utt-tours-grid { grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; }
}
@media (max-width: 480px) {
  #utt-tours-archive .utt-tours-grid { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT — layout fixes
   ═══════════════════════════════════════════════════════════════ */

/* Full-width featured image at top */
.utt-tour-featured-image {
  width: 100%;
  max-height: 560px;
  overflow: hidden;
  display: block;
  line-height: 0;
}
.utt-tour-featured-image img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

/* Breadcrumb */
.utt-tour-breadcrumb {
  font-size: .78rem;
  color: #AAA;
  margin-bottom: 16px;
  padding-top: 28px;
}
.utt-tour-breadcrumb a { color: #888; text-decoration: none; }
.utt-tour-breadcrumb a:hover { color: #D4780A; text-decoration: underline; }

/* Sector tag */
.utt-tour-sector-tag {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #4DB8CC;
  margin-bottom: 8px;
}

/* Title */
.utt-tour-title {
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif);
  font-size: clamp(1.8rem,3.5vw,2.8rem);
  font-weight: 800;
  color: #0D1B2E;
  letter-spacing: -.02em;
  line-height: 1.05;
  margin: 0 0 16px;
}

/* Meta row */
.utt-tour-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #F0EBE0;
}
.utt-tour-meta-item {
  font-size: .85rem;
  color: #666;
  display: flex;
  align-items: center;
  gap: 4px;
}
.utt-tour-meta-item--rating { color: #D4780A; font-weight: 600; }
.utt-tour-meta-rcount { color: #999; font-weight: 400; }
.utt-tour-meta-item--verified { color: #1A8FA8; }

/* Booking form — strip WooCommerce default chrome */
.utt-tour-booking-wrap .woocommerce-product-gallery,
.utt-tour-booking-wrap .woocommerce-tabs,
.utt-tour-booking-wrap .woocommerce-breadcrumb,
.utt-tour-booking-wrap h1,
.utt-tour-booking-wrap h2.product_title,
.utt-tour-booking-wrap .price,
.utt-tour-booking-wrap .product_meta { display: none !important; }

/* Reviews — two rows stacked, not side by side */
.utt-tour-reviews-wrap .woocommerce-Reviews { display: block !important; }
.utt-tour-reviews-wrap #reviews { display: block !important; }
.utt-tour-reviews-wrap #comments,
.utt-tour-reviews-wrap #review_form_wrapper {
  width: 100% !important;
  float: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
}
.utt-tour-reviews-wrap #review_form_wrapper {
  border-top: 1px solid #F0EBE0;
  padding-top: 28px !important;
}
/* Remove WooCommerce's default side-by-side reviews layout */
.utt-tour-reviews-wrap #comments ~ #review_form_wrapper { clear: both; }

/* Add to cart button in sidebar */
.utt-tour-add-to-cart-btn .button,
.utt-tour-add-to-cart-btn a.button {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  background: linear-gradient(135deg,#D4780A,#F0A030) !important;
  color: #fff !important;
  font-family: var(--utt-font-display,'Barlow Condensed',sans-serif) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: opacity .2s !important;
  margin-bottom: 8px !important;
}
.utt-tour-add-to-cart-btn .button:hover { opacity: .88 !important; }

.utt-tour-price-card__scroll-link {
  display: block;
  text-align: center;
  font-size: .8rem;
  color: #888;
  text-decoration: none;
  margin-top: 6px;
}
.utt-tour-price-card__scroll-link:hover { color: #D4780A; }

/* Operator verified badge */
.utt-tour-operator-card__verified {
  font-size: .72rem;
  color: #1A8FA8;
  font-weight: 600;
  margin: 2px 0 0;
}

/* Suppress WooCommerce's default breadcrumb and title on this page */
.utt-tour-single .woocommerce-breadcrumb,
.utt-tour-single .woocommerce-product-gallery,
.utt-tour-single .entry-title { display: none !important; }

/* Responsive single */
@media (max-width: 960px) {
  .utt-tour-body { grid-template-columns: 1fr; gap: 28px; }
  .utt-tour-sidebar { position: static; order: -1; }
  .utt-tour-featured-image img { height: 340px; }
}
@media (max-width: 600px) {
  .utt-tour-title { font-size: 1.6rem; }
  .utt-tour-featured-image img { height: 240px; }
}
