/* ============================================================
   17-tours.css — Tours page styles
   Design tokens: 01-tokens.css · Shared: 02-base, 03-utilities, 07-sections
   Note: .tcard / .tgrid styles are in 09-tours-sim.css
============================================================ */

/* ── HERO ── */
.tp-hero{background:var(--grad-hero);min-height:56vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding-top:66px}
.tp-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.tp-hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 70% at 85% 15%,rgba(96,165,250,.11) 0%,transparent 65%),radial-gradient(ellipse 50% 60% at 0% 90%,rgba(8,145,178,.09) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 50% 0%,rgba(245,158,11,.06) 0%,transparent 55%)}
.tp-hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px}
.tp-hero-inner{position:relative;z-index:1;width:90%;max-width:1240px;margin:0 auto;padding:var(--sp-3xl) 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-lg)}

/* breadcrumb */
.tp-breadcrumb{display:inline-flex;align-items:center;gap:var(--sp-sm);font-family:'Sora',sans-serif;font-size:var(--fs-xs);font-weight:600;color:rgba(255,255,255,.45)}
.tp-breadcrumb a{color:rgba(255,255,255,.4);text-decoration:none;transition:color var(--t-fast)}
.tp-breadcrumb a:hover{color:var(--amber)}
.tp-breadcrumb i{font-size:9px}

/* pill */
.tp-hero-pill{display:inline-flex;align-items:center;gap:var(--sp-sm);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-full);padding:7px var(--sp-md);font-family:'Sora',sans-serif;font-size:var(--fs-xs);font-weight:600;color:rgba(255,255,255,.85)}
.tp-hero-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:tp-pulse 2s infinite}
@keyframes tp-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.5}}

/* heading + desc */
.tp-hero h1{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.04em;color:#fff;margin:0}
.tp-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--amber),#fde68a,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tp-hero-desc{font-size:clamp(var(--fs-body),1.6vw,17px);color:rgba(255,255,255,.62);line-height:var(--lh-body);max-width:580px;margin:0}
.tp-hero-acts{display:flex;gap:var(--sp);flex-wrap:wrap;justify-content:center}

/* hero search */
.tp-hsearch-wrap{width:100%;max-width:480px;position:relative}
.tp-hsearch{width:100%;padding:14px var(--sp-md) 14px 46px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-full);color:#fff;font-size:14px;font-family:'Sora',sans-serif;outline:none;transition:background var(--t-fast),border-color var(--t-fast);box-sizing:border-box}
.tp-hsearch::placeholder{color:rgba(255,255,255,.45)}
.tp-hsearch:focus{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.38)}
.tp-hsearch-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.5);font-size:14px;pointer-events:none}

/* stats bar */
.tp-stats{display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-lg);overflow:hidden;width:100%;max-width:600px}
.tp-stat{flex:1;padding:var(--sp-lg) var(--sp-md);text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.tp-stat:last-child{border-right:none}
.tp-stat-num{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(20px,2vw,24px);color:#fff;line-height:1;margin-bottom:var(--sp-xs)}
.tp-stat-num em{color:var(--amber);font-style:normal}
.tp-stat-label{font-family:'Sora',sans-serif;font-size:10px;font-weight:600;color:rgba(255,255,255,.45);letter-spacing:.05em;text-transform:uppercase}

/* ── CONTROLS (filter + sort) ── */
.tp-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-md);margin-bottom:var(--sp-lg)}
.tp-filter{display:flex;gap:var(--sp-sm);flex-wrap:wrap}
.tp-filter-tab{padding:9px var(--sp-lg);background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-full);font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:var(--gray-500);cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t);display:inline-flex;align-items:center;gap:6px}
.tp-filter-tab:hover{border-color:var(--blue);color:var(--blue)}
.tp-filter-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:var(--shadow-blue-sm)}
.tp-sort-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0}
.tp-sort-label{font-family:'Sora',sans-serif;font-size:12px;font-weight:600;color:var(--gray-500);white-space:nowrap}
.tp-sort{padding:10px 36px 10px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-full);font-family:'Sora',sans-serif;font-size:12px;font-weight:600;color:var(--gray-700);cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394A3B8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;transition:border-color var(--t)}
.tp-sort:focus{border-color:var(--blue)}
.tp-count{font-family:'Sora',sans-serif;font-size:var(--fs-sm);color:var(--gray-400);margin-bottom:var(--sp-sm)}
.tp-count strong{color:var(--gray-700)}

/* ── EMPTY STATE ── */
.tp-empty{text-align:center;padding:var(--sp-2xl) var(--sp-lg);color:var(--gray-400);font-family:'Sora',sans-serif;grid-column:1/-1}
.tp-empty i{display:block;font-size:36px;margin-bottom:14px;opacity:.35}
.tp-empty p{font-size:14px;margin:0}

/* ── BENEFITS GRID ── */
.tp-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-md)}
.tp-benefit{background:#fff;border:1px solid var(--gray-150);border-radius:var(--r-xl);padding:var(--sp-xl) 22px;display:flex;flex-direction:column;gap:var(--sp-md);transition:box-shadow var(--t),transform var(--t),border-color var(--t)}
.tp-benefit:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.tp-benefit-icon{width:54px;height:54px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:21px;color:#fff;flex-shrink:0}
.tp-benefit-icon--blue{background:var(--grad-blue-shine);box-shadow:var(--shadow-blue-sm)}
.tp-benefit-icon--amber{background:linear-gradient(135deg,var(--amber),#fbbf24);box-shadow:0 8px 20px rgba(245,158,11,.28)}
.tp-benefit-icon--emerald{background:linear-gradient(135deg,var(--emerald),#10b981);box-shadow:0 8px 20px rgba(5,150,105,.28)}
.tp-benefit-icon--violet{background:var(--grad-violet-shine);box-shadow:var(--shadow-violet)}
.tp-benefit-title{font-family:'Sora',sans-serif;font-size:var(--fs-h5);font-weight:800;color:var(--gray-900);margin-bottom:var(--sp-xs)}
.tp-benefit-desc{font-size:var(--fs-sm);color:var(--gray-500);line-height:1.65}

/* ── CUSTOM TOUR CTA ── */
.tp-custom-cta{background:linear-gradient(135deg,#F8FAFF 0%,#EFF6FF 100%);border:2px dashed var(--gray-200);border-radius:var(--r-xl);padding:var(--sp-2xl) var(--sp-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-xl);margin-top:var(--sp-2xl)}
.tp-custom-cta-text{flex:1}
.tp-custom-cta-text h3{font-family:'Sora',sans-serif;font-size:var(--fs-h3);font-weight:800;color:var(--gray-900);margin:0 0 10px;letter-spacing:-.025em}
.tp-custom-cta-text p{font-size:14px;color:var(--gray-500);line-height:var(--lh-body);margin:0;max-width:480px}
.tp-custom-cta-actions{display:flex;gap:var(--sp);flex-shrink:0;flex-wrap:wrap}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .tp-benefits-grid{grid-template-columns:repeat(2,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .tp-custom-cta{flex-direction:column;padding:var(--sp-xl) var(--sp-xl)}
}
@media(max-width:768px){
  .tp-hero-inner{padding:var(--sp-3xl) 0 var(--sp-2xl)}
  .tp-stats{flex-wrap:wrap}
  .tp-stat{flex:1 1 50%;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .tp-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,.1)}
  .tp-stat:last-child{border-bottom:none}
  .tp-benefits-grid{grid-template-columns:1fr 1fr}
  .tgrid{grid-template-columns:1fr}
  .tp-controls{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .tp-benefits-grid{grid-template-columns:1fr}
  .tp-custom-cta{padding:var(--sp-xl) var(--sp-md)}
  .tp-custom-cta-actions{width:100%}
  .tp-custom-cta-actions .btn{flex:1;justify-content:center}
}
