/* home.css — cleaned */

/* Tokens */
:root{
  --tr-brand-1: #2563eb;
  --tr-brand-2: #f97316;
  --tr-grad-90: linear-gradient(90deg, var(--tr-brand-1), var(--tr-brand-2));
  --tr-grad-135: linear-gradient(135deg, var(--tr-brand-1), var(--tr-brand-2));
  --tr-border: var(--bs-border-color, #e5e7eb);
  --tr-soft-bg: var(--bs-tertiary-bg, #f0f2f5);
}

/* Helpers */
.text-gradient{ background: var(--tr-grad-90); -webkit-background-clip:text; background-clip:text; color:transparent; }
.brand-badge{ background: var(--tr-grad-135); width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
.icon-circle{ width:40px; height:40px; border-radius:999px; }
.max-width-6xl{ max-width:1120px; }

/* Hero */
.hero-overlay{ position:absolute; inset:0; z-index:2; background:linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.2) 100%); }
.hero-content{ position:absolute; inset:0; z-index:4; display:flex; align-items:center; }
@media (min-width: 992px){ .hero-content{ align-items:center; padding-top:2rem; padding-bottom:2rem; } }

/* Cards hover */
.card-hover{ will-change: transform, box-shadow; transition: transform .15s ease, box-shadow .15s ease; }
.card-hover:hover{ transform:translateY(-2px); box-shadow:0 1rem 2rem rgba(0,0,0,.08) !important; }

/* Notifications */
.notif-btn{ position:relative; }
.notif-badge{ position:absolute; top:0; right:0; transform:translate(35%, -35%); min-width:1.1rem; height:1.1rem; line-height:1.1rem; border-radius:999px; font-size:.65rem; display:inline-flex; align-items:center; justify-content:center; padding:0 .25rem; }

/* Favorites dropdown */
.dd-favorites{ width:22rem; max-width:90vw; }
.dd-favorites .fav-item:hover{ background:#f8f9fa; }

/* Auth hero */
.auth-hero{ background: var(--tr-grad-135); position:relative; color:#fff; }
.auth-hero .blob{ position:absolute; border-radius:999px; filter:blur(24px); opacity:.35; }
.auth-hero .blob.white{ background:#fff; width:80px; height:80px; top:2rem; left:2rem; filter:blur(20px); opacity:.25; }
.auth-hero .blob.orange{ background:rgba(253,186,116,.9); width:130px; height:130px; bottom:4rem; right:2rem; filter:blur(32px); }
.auth-hero .blob.blue{ background:rgba(147,197,253,.9); width:70px; height:70px; top:45%; left:25%; filter:blur(18px); }

/* Buttons, segments */
.btn-brand,
.btn-gradient{ background: var(--tr-grad-90); color:#fff; border:0; }
.btn-brand:hover,
.btn-gradient:hover{ filter:brightness(.95); color:#fff; }

.segment{ background: var(--tr-soft-bg); border-radius:.75rem; padding:.25rem; display:flex; gap:.25rem; }
.segment .btn{ flex:1; }
.segment .btn.active{ background:#fff; color:#0d6efd; box-shadow:0 .25rem .5rem rgba(0,0,0,.05); }
.segment .btn:focus-visible{ outline:2px solid #0d6efd; outline-offset:2px; }

.divider-text{ position:relative; text-align:center; margin:1rem 0; }
.divider-text::before, .divider-text::after{ content:""; position:absolute; top:50%; width:45%; height:1px; background: var(--tr-border); }
.divider-text::before{ left:0; } .divider-text::after{ right:0; }

/* Modal body height */
#authModal .modal-body{ max-height:100vh; overflow:auto; }
@supports (height: 100svh){ #authModal .modal-body{ max-height:100svh; } }

/* Search offcanvas + inputs */
.search-full .search-hero{ background:linear-gradient(135deg, var(--tr-brand-1), #1d4ed8 55%, var(--tr-brand-2)); border-bottom:1px solid var(--tr-border); color:#fff; }
.search-input-lg .input-group .form-control{ padding-top:.9rem; padding-bottom:.9rem; }
.search-scope .btn{ border:1px solid var(--tr-border); }
.search-scope .btn.active{ background:#0d6efd; color:#fff; border-color:#0d6efd; }
.search-tag{ cursor:pointer; }
.search-item{ border-radius:.5rem; padding:.6rem .75rem; }
.search-item:hover{ background: var(--tr-soft-bg); }

/* Offcanvas full-height */
.offcanvas-top.search-full{ --bs-offcanvas-height:100vh; height:100vh; max-height:100vh; z-index:1060; }
@supports (height: 100svh){
  .offcanvas-top.search-full{ --bs-offcanvas-height:100svh; height:100svh; max-height:100svh; }
}

/* Mobile overlay */
.mobile-overlay{ pointer-events:none; }
.mobile-overlay .interactive{ pointer-events:auto; }
.mobile-overlay .overlay-header p{ color:rgba(255,255,255,.9); }
@media (max-width: 991.98px){
  .mobile-overlay::before{ content:""; position:absolute; inset:0 0 auto 0; height:40%; background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.20), transparent); pointer-events:none; z-index:-1; }
}

/* Slider */
@media (max-width: 991.98px){
  #hero .carousel-item img{ height:50vh; object-fit:cover; }
  .carousel-item .mobile-caption{ position:absolute; bottom:50px; left:20px; right:20px; color:#fff; z-index:2; }
  .carousel-item .mobile-caption h3{ text-shadow:2px 2px 4px rgba(0,0,0,0.8); margin:0; }
  .carousel-item .mobile-caption small{ text-shadow:1px 1px 3px rgba(0,0,0,0.8); opacity:.9; }
  .carousel-item::after{ content:""; position:absolute; bottom:0; left:0; right:0; height:120px; background:linear-gradient(to top, rgba(0,0,0,0.8), transparent); z-index:1; }
}
@media (min-width: 992px){
  #hero .carousel-item img{ height:65vh; object-fit:cover; }
  .carousel-item .mobile-caption{ display:none; }
}

/* Login badge */
.login-badge{ width:80px; height:80px; border-radius:16px; background: var(--tr-grad-135); }

/* Carousel controls */
.carousel-control-prev, .carousel-control-next{ z-index:5 !important; opacity:.8; transition:opacity .3s; }
.carousel-control-prev:hover, .carousel-control-next:hover{ opacity:1; }
.carousel-control-prev-icon, .carousel-control-next-icon{ width:2rem; height:2rem; background-size:100% 100%; }
.carousel-indicators{ z-index:5 !important; }
.carousel-indicators button{ margin-bottom:-20px; }
@media (max-width: 992px){
  .carousel-indicators button{ margin-bottom:5px; }
  .carousel .carousel-control-prev,
  .carousel .carousel-control-next{
    top:auto !important; bottom:10px !important; left:auto !important;
    transform:none !important; width:44px; height:44px; padding:0;
    display:inline-flex; align-items:center; justify-content:center; z-index:50;
  }
  .carousel .carousel-control-prev{ right:60px !important; }
  .carousel .carousel-control-next{ right:10px !important; }
}

/* Custom input groups */
.custom-input-group{ display:flex; align-items:stretch; background:#fff; border:1px solid #dee2e6; border-radius:6px; overflow:hidden; min-height:50px; transition:.2s; cursor:pointer; }
.custom-input-group:hover{ border-color:#adb5bd; }
.custom-input-group:focus-within{ border-color:#0d6efd; box-shadow:0 0 0 .25rem rgba(13,110,253,.25); }
.custom-input-group .input-icon{ display:flex; align-items:center; justify-content:center; width:40px; background:#f8f9fa; border-right:1px solid #e9ecef; color:#6c757d; flex-shrink:0; }
.custom-input-group .input-content{ flex:1; display:flex; flex-direction:column; justify-content:center; padding:6px 10px; min-width:0; }
.custom-input-group .input-title{ font-size:.7rem; font-weight:600; color:#495057; margin:0; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.custom-input-group .input-value{ font-size:.9rem; color:#212529; margin:2px 0 0 0; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.custom-input-group .input-placeholder{ font-size:.9rem; color:#6c757d; margin:2px 0 0 0; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Hide only control inputs */
.custom-input-group input[type="hidden"],
.custom-input-group input[type="checkbox"],
.custom-input-group input[type="radio"]{ display:none; }
/* Text inputs visible */
.custom-input-group input[type="text"],
.custom-input-group input[type="search"]{
  display:block !important; flex:1 1 auto; min-width:0; width:100%;
  border:0; background:transparent; padding:6px 10px; outline:none; cursor:text; position:relative; z-index:2;
}

/* Destination typeahead */
.custom-input-group.destination-input{ position:relative; overflow:visible !important; }
.destination-input .input-content{ pointer-events:none; } /* iç metin tıklamayı engellemesin */
.destination-input .tr-suggest{
  position:absolute; left:0; right:0; top:calc(100% + 4px);
  z-index:2000; max-height:50vh; overflow:auto; pointer-events:auto;
}
.tr-suggest .list-group-item{ cursor:pointer; }

/* Planner card */
#plannerCard .card-body{ padding:1.75rem 2rem; }
#plannerCard .text-center{ margin-bottom:1.5rem !important; }
#plannerCard .text-center h2{ font-size:1.4rem; margin-bottom:.5rem; }
#plannerCard .text-center p{ font-size:.9rem; margin-bottom:0; }
#plannerCard .mb-3{ margin-bottom:1rem !important; }
#plannerCard #startBtn{ padding:.6rem 1.5rem; font-size:1rem; margin-top:1.5rem !important; }
#plannerCard .small{ font-size:.8rem; margin-top:.75rem !important; }

/* Calendar dropdown */
.calendar-dropdown{ width:500px; max-width:90vw; border:none; box-shadow:0 10px 30px rgba(0,0,0,0.15); border-radius:12px; padding:0; }
.calendar-header{ background: var(--tr-grad-90); color:#fff; padding:.75rem; border-radius:12px 12px 0 0; }
.calendar-months{ display:flex; gap:.75rem; padding:.75rem; }
.calendar-month{ flex:1; }
.calendar-month h6{ text-align:center; margin-bottom:.5rem; font-weight:600; }
.calendar-grid{ display:grid; grid-template-columns:repeat(7, 1fr); gap:2px; }
.calendar-day-header{ text-align:center; font-size:.8rem; color:#6b7280; padding:.25rem; font-weight:600; }
.calendar-day{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; cursor:pointer; border-radius:4px; font-size:.9rem; transition:.2s; }
.calendar-day:hover:not(.disabled):not(.other-month){ background:#f3f4f6; }
.calendar-day.other-month{ color:#d1d5db; cursor:default; }
.calendar-day.disabled{ color:#e5e7eb; cursor:not-allowed; }
.calendar-day.selected{ background: var(--tr-grad-90); color:#fff; }
.calendar-day.in-range{ background:#dbeafe; }
.calendar-day.start-date{ border-radius:4px 0 0 4px; }
.calendar-day.end-date{ border-radius:0 4px 4px 0; }
.calendar-day.start-date.end-date{ border-radius:4px; }

/* Guests */
.guest-dropdown{ width:240px; padding:.75rem; }
.guest-row{ display:flex; align-items:center; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid #f3f4f6; }
.guest-row:last-child{ border-bottom:none; }
.guest-counter{ display:flex; align-items:center; gap:.75rem; }
.guest-counter button{ width:32px; height:32px; border-radius:50%; border:1px solid #d1d5db; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; }
.guest-counter button:hover:not(:disabled){ background:#f3f4f6; }
.guest-counter button:disabled{ opacity:.3; cursor:not-allowed; }
.guest-counter span{ min-width:20px; text-align:center; font-weight:600; }

/* Mobile planner */
.mobile-planner-card .card-body{ padding:.4rem .5rem; }
.mobile-planner-card .custom-input-group{ min-height:44px; border-radius:6px; }
.mobile-planner-card .custom-input-group .input-icon{ width:36px; }
.mobile-planner-card .custom-input-group .input-content{ padding:5px 8px; }
.mobile-planner-card .custom-input-group .input-title{ font-size:.65rem; }
.mobile-planner-card .custom-input-group .input-value,
.mobile-planner-card .custom-input-group .input-placeholder{ font-size:.8rem; }
.mobile-planner-card #startBtn{ width:44px; height:44px; border-radius:6px; display:flex; align-items:center; justify-content:center; padding:0; }
.mobile-planner-card .planner-row{ display:flex; gap:.4rem; align-items:stretch; margin-bottom:.4rem; }
.mobile-planner-card .planner-row > *{ flex:1; }
.mobile-planner-card .planner-row .custom-input-group{ flex:1; }
.mobile-planner-card .planner-row #startBtn{ flex:0 0 44px; }
@media (max-width: 576px){
  .mobile-planner-card .custom-input-group{ min-height:40px; }
  .mobile-planner-card .custom-input-group .input-icon{ width:32px; }
  .mobile-planner-card #startBtn{ width:40px; height:40px; flex:0 0 40px; }
}

/* Social */
.create-post{ background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,0.1); transition:.2s; }
.create-post:hover{ box-shadow:0 4px 16px rgba(0,0,0,0.15); }
.post-input{ border:none; background:#f8f9fa; border-radius:25px; padding:12px 20px; resize:none; transition:.2s; }
.post-input:focus{ outline:none; box-shadow:0 0 0 3px rgba(13,110,253,0.1); background:#fff; }
.post-actions .btn{ border-radius:20px; padding:8px 16px; font-size:.9rem; border:1px solid #e9ecef; }
.post-card{ background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,0.1); transition:.2s; overflow:hidden; }
.post-card:hover{ box-shadow:0 4px 16px rgba(0,0,0,0.15); }
.post-header{ padding:16px; border-bottom:1px solid #f1f3f4; }
.user-avatar{ width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid #e9ecef; }
.post-content{ padding:16px; }
.post-images{ position:relative; background:#f8f9fa; }
.post-image{ width:100%; height:300px; object-fit:cover; }
.image-gallery{ display:grid; gap:2px; }
.image-gallery.grid-2{ grid-template-columns:1fr 1fr; }
.image-gallery.grid-3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; }
.image-gallery.grid-3 img:first-child{ grid-row:1 / 3; height:300px; }
.image-gallery.grid-3 img:not(:first-child){ height:149px; }
.more-images{ position:absolute; inset:0; background:rgba(0,0,0,0.7); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:600; font-size:1.2rem; }

/* Actions */
.post-actions{ padding:12px 16px; border-top:1px solid #f1f3f4; display:flex; align-items:center; gap:16px; }
.action-btn{ display:flex; align-items:center; gap:6px; padding:8px 12px; border:none; background:none; color:#65676b; border-radius:6px; transition:.2s; cursor:pointer; font-size:.9rem; }
.action-btn:hover{ background:#f0f2f5; color:#1c1e21; }
.action-btn.liked{ color:#e74c3c; }
.action-btn.saved{ color:#f39c12; }

/* Route embed */
.route-embed{ border:1px solid #e9ecef; border-radius:8px; overflow:hidden; margin-top:12px; }
.route-embed-header{ background: var(--tr-grad-90); color:#fff; padding:12px 16px; font-size:.9rem; font-weight:600; }
.route-embed-content{ padding:16px; }
.route-stats{ display:flex; gap:16px; margin-top:12px; }
.route-stat{ display:flex; align-items:center; gap:4px; font-size:.85rem; color:#65676b; }

/* Widgets */
.widget{ background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,0.1); overflow:hidden; }
.widget-header{ padding:16px; border-bottom:1px solid #f1f3f4; font-weight:600; font-size:1.1rem; }
.widget-content{ padding:16px; }
.trending-item{ display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid #f1f3f4; cursor:pointer; transition:.2s; }
.trending-item:last-child{ border-bottom:none; }
.trending-item:hover{ background:#f8f9fa; margin:0 -16px; padding-left:16px; padding-right:16px; }
.trending-image{ width:48px; height:48px; border-radius:8px; object-fit:cover; }
.activity-item{ display:flex; align-items:center; gap:12px; padding:8px 0; }
.activity-avatar{ width:32px; height:32px; border-radius:50%; object-fit:cover; }
.activity-text{ flex:1; font-size:.9rem; line-height:1.4; }
.activity-time{ font-size:.8rem; color:#65676b; }

/* Poll */
.poll-option{ position:relative; margin-bottom:8px; cursor:pointer; transition:.2s; }
.poll-option:hover{ transform:translateX(2px); }
.poll-option input[type="radio"]{ display:none; }
.poll-option-label{ position:relative; display:block; padding:10px 12px; background:#f8f9fa; border:2px solid #e9ecef; border-radius:8px; transition:.2s; font-size:.9rem; }
.poll-option input[type="radio"]:checked + .poll-option-label{ background: var(--tr-grad-90); color:#fff; border-color:var(--tr-brand-1); }
.poll-results{ display:none; }
.poll-results.show{ display:block; }
.poll-result-item{ margin-bottom:12px; }
.poll-result-bar{ height:8px; background:#e9ecef; border-radius:4px; overflow:hidden; margin-top:4px; }
.poll-result-fill{ height:100%; background: var(--tr-grad-90); border-radius:4px; transition:width .8s ease; }

/* Stories row */
.stories-container{ display:flex; gap:12px; padding:16px 0; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
.stories-container::-webkit-scrollbar{ display:none; }
.story-item{ display:flex; flex-direction:column; align-items:center; gap:6px; min-width:80px; cursor:pointer; }
.story-avatar{ width:64px; height:64px; border-radius:50%; object-fit:cover; border:3px solid #e9ecef; transition:.2s; }
.story-item.has-story .story-avatar{ border-color:var(--tr-brand-1); }
.story-item:hover .story-avatar{ transform:scale(1.05); }
.story-name{ font-size:.8rem; text-align:center; max-width:80px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Hashtag & mention */
.hashtag, .mention{ color:var(--tr-brand-1); text-decoration:none; font-weight:500; }
.hashtag:hover, .mention:hover{ text-decoration:underline; }

/* Profile bits */
.profile-cover{ height:8rem; background: var(--tr-grad-90); }
.profile-cover .cover-dim{ position:absolute; inset:0; background:rgba(0,0,0,.2); }
.avatar-xl{ width:128px; height:128px; border-radius:50%; border:4px solid #fff; }
.badge-gradient{ display:inline-flex; align-items:center; border-radius:999px; padding:.25rem .6rem; font-size:.75rem; font-weight:600; color:#fff; background: var(--tr-grad-90); }

/* Comments */
.comment-section{ border-top:1px solid #f1f3f4; padding:12px 16px; }
.comment-input{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.comment-input input{ flex:1; border:1px solid #e9ecef; border-radius:20px; padding:8px 16px; font-size:.9rem; }
.comment-item{ display:flex; gap:8px; margin-bottom:8px; }
.comment-avatar{ width:32px; height:32px; border-radius:50%; object-fit:cover; }
.comment-content{ flex:1; background:#f0f2f5; border-radius:16px; padding:8px 12px; font-size:.9rem; }
.comment-author{ font-weight:600; margin-bottom:2px; }

/* Rating */
.tr-rating .tr-rating-star{ color:#cbd5e1; text-decoration:none; }
.tr-rating .tr-rating-star .lucide{ width:22px; height:22px; stroke-width:1.8; }
.tr-rating .tr-rating-star.active{ color:#eab308; }
.tr-rating .tr-rating-star:hover{ color:#f59e0b; }

/* Accordion */
.accordion .card-header i[data-lucide]{ width:18px; height:18px; }

/* Turn-by-turn steps */
.tr-steps .list-group-item{ padding:.5rem .75rem; }
.tr-steps .list-group-item .lucide{ width:18px; height:18px; stroke-width:1.8; color:#64748b; }
.tr-steps .text-muted{ font-size:.85rem; }

/* Responsive tweaks */
@media (max-width: 768px){
  .post-image{ height:250px; }
  .image-gallery.grid-3 img:first-child{ height:250px; }
  .image-gallery.grid-3 img:not(:first-child){ height:124px; }
  .stories-container{ padding:12px 0; }
  .story-avatar{ width:56px; height:56px; }
  .user-avatar{ width:40px; height:40px; }
}

/* Lucide icon sizes */
.lucide{ width:20px; height:20px; stroke-width:1.75; }
.navbar .lucide, .btn .lucide, .dropdown-item .lucide, .dd-favorites .lucide, .search-full .lucide{ width:18px; height:18px; stroke-width:1.7; }
.hero-content .lucide{ width:22px; height:22px; stroke-width:1.8; }
.action-btn .lucide{ width:18px; height:18px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .card-hover,
  .action-btn,
  .story-item .story-avatar,
  .poll-result-fill,
  .carousel-control-prev,
  .carousel-control-next{
    transition:none !important;
    transform:none !important;
  }
}