.tour-title{margin:14px 0 0}
.tour-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}
.tour-meta-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted,#6b7280);font-weight:var(--fw-semibold)}
.tour-badge{display:inline-flex;align-items:center;background:#edf3e8;color:#3f6226;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:6px 11px;border-radius:999px}

.tour-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;margin-bottom:8px}
.tour-gallery-main{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#f4eee7,#eee7df);aspect-ratio:16/10}
.tour-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.tour-gallery-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}
.tour-gallery-thumb{position:relative;border:0;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;background:#f4eee7;aspect-ratio:1/1;transition:.2s}
.tour-gallery-thumb:hover{transform:translateY(-1px)}
.tour-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.tour-gallery-more{position:absolute;inset:0;background:rgba(0,0,0,.5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--text-sm)}

.tour-body{display:grid;grid-template-columns:1fr 380px;gap:44px;margin-top:30px;align-items:start;padding-bottom:60px}
.tour-content .accordions{margin-top:0}
.tour-check-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.tour-check-list li{display:flex;align-items:flex-start;gap:9px;line-height:var(--lh-normal);color:#333}
.tour-check-list svg{flex-shrink:0;margin-top:2px;color:#3f8a3f}
.tour-check-list.no svg{color:#a23d32}
.tour-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tour-includes-grid h4{font-size:var(--text-sm);margin:0 0 10px}
.tour-itinerary-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.tour-itinerary-list li{display:flex;gap:12px;align-items:flex-start}
.tour-itinerary-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--fw-bold)}
.tour-plain-list{margin:0;padding-left:18px;display:grid;gap:8px;color:#444;line-height:var(--lh-normal)}
.tour-help-box{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line,#e9e8e5);border-radius:14px;padding:18px 20px;margin-top:8px}
.tour-help-box p{margin:2px 0 0;color:var(--text-muted,#6b7280);font-size:var(--text-sm)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);border:1px solid #111;border-radius:9px;padding:10px 16px;white-space:nowrap}

.tour-booking{position:sticky;top:102px;border:1px solid var(--line,#e9e8e5);border-radius:18px;padding:22px;box-shadow:0 18px 44px -30px #0000002e;background:#fff}
.tour-booking-price{font-size:var(--text-lg);margin-bottom:16px}
.tour-booking-price strong{font-size:var(--text-xl)}
.tour-booking-price span{color:var(--text-muted,#6b7280);font-size:var(--text-sm)}
.tour-booking-trust{text-align:center;font-size:var(--text-sm);color:var(--text-muted,#6b7280);margin:12px 0 0}
#tourReserveBtn:disabled{opacity:.6;cursor:not-allowed}

@media(max-width:980px){
  .tour-body{grid-template-columns:1fr}
  .tour-booking{position:static}
}
@media(max-width:720px){
  .tour-gallery{grid-template-columns:1fr}
  .tour-gallery-side{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}
  .tour-includes-grid{grid-template-columns:1fr}
  .tour-help-box{flex-direction:column;align-items:flex-start}
}

/* Reseñas de tours — clases propias (tour-review*) para no acoplarse con las
   reseñas de productos, cuyo CSS vive inline en producto.php pero se vería
   afectado si aquí se reutilizaran los mismos nombres, ya que tours.css carga
   en todo el sitio vía el hook shop_head. */
.tour-reviews-section{padding:56px 0 78px;border-top:1px solid var(--line,#e9e8e5)}
.tour-reviews-inner{max-width:680px;margin:0 auto}
.tour-reviews-summary{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 28px}
.tour-reviews-summary strong{font-size:var(--text-3xl)}
.tour-reviews-summary span{color:#777;font-size:var(--text-xs)}
.tour-reviews-list{display:grid;gap:16px;margin-bottom:36px}
.tour-reviews-empty{text-align:center;background:#faf9f7;border:1px dashed var(--line,#e9e8e5);border-radius:14px;padding:22px}
.tour-review-card{border:1px solid var(--line,#e9e8e5);border-radius:14px;padding:18px 20px}
.tour-review-card h3{margin:8px 0 6px}
.tour-review-card p{font-size:var(--text-sm);color:#444;margin:0 0 10px}
.tour-review-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--text-xs);color:#777}
.tour-badge-verified{background:#edf3e8;color:#456429;border-radius:999px;padding:4px 9px;font-weight:var(--fw-bold)}
.tour-review-form-wrap h3{margin:0 0 14px;text-align:center}
.tour-review-rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px;margin-bottom:16px}
.tour-review-rating-input input{position:absolute;opacity:0;pointer-events:none}
.tour-review-rating-input label{font-size:var(--text-2xl);color:#ddd;cursor:pointer;line-height:1}
.tour-review-rating-input input:checked~label,.tour-review-rating-input label:hover,.tour-review-rating-input label:hover~label{color:#e0a83c}
