/* ============================================
   Tekne Kiralama - Frontend
   Sidebar Layout + Yapışkan Rezervasyon
   ============================================ */

/* ===== ANA LAYOUT ===== */
.tk-page-layout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 30px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.tk-content-main { min-width: 0 !important; width: 100% !important; }
.tk-sidebar { position: sticky !important; top: 100px !important; align-self: start !important; width: 100% !important; max-width: 380px !important; z-index: 10 !important; }

/* ===== BÖLÜM YAPISI ===== */
.tk-section { margin-bottom: 30px !important; background: #fff !important; border: 1px solid #e9ecef !important; border-radius: 14px !important; overflow: hidden !important; box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important; }
.tk-section-header { background: linear-gradient(135deg, #f8f9fa, #eef1f5) !important; padding: 18px 24px !important; border-bottom: 2px solid #0073aa !important; }
.tk-section-header h2 { margin: 0 !important; font-size: 20px !important; font-weight: 700 !important; color: #1d2327 !important; }
.tk-section-body { padding: 24px !important; }

/* ===== ÖZET KARTLARI ===== */
.tk-summary-cards { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 10px !important; margin: 20px 0 !important; }
.tk-card { display: flex !important; flex-direction: column !important; align-items: center !important; padding: 12px 8px !important; background: #f8f9fa !important; border: 1px solid #e9ecef !important; border-radius: 10px !important; text-align: center !important; transition: all 0.2s !important; }
.tk-card:hover { border-color: #0073aa !important; box-shadow: 0 2px 8px rgba(0,115,170,0.1) !important; transform: translateY(-1px) !important; }
.tk-card-icon { font-size: 22px !important; margin-bottom: 4px !important; }
.tk-card-label { font-size: 11px !important; color: #6c757d !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 2px !important; }
.tk-card-value { font-size: 14px !important; font-weight: 700 !important; color: #1d2327 !important; }

/* ==================================================
   REZERVASYON SIDEBAR
   ================================================== */
.tk-reservation-box { background: #fff !important; border: 1px solid #e0e3e7 !important; border-radius: 14px !important; padding: 24px !important; box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important; }
.tk-res-price-header { display: flex !important; align-items: baseline !important; gap: 4px !important; margin-bottom: 7px !important; padding-bottom: 7px !important; border-bottom: 1px solid #b5bcc2 !important; }
.tk-res-price { font-size: 28px !important; font-weight: 800 !important; color: #1d2327 !important; }
.tk-res-price .woocommerce-Price-amount { font-size: 28px !important; font-weight: 800 !important; color: #1d2327 !important; }
.tk-res-price-unit { font-size: 16px !important; color: #6c757d !important; font-weight: 400 !important; }

.tk-res-row-2col { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; margin-bottom: 2px !important; }
.tk-res-field { margin-bottom: 14px !important; }
.tk-res-field label { display: block !important; font-size: 11px !important; font-weight: 700 !important; color: #6c757d !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 5px !important; }
.tk-res-input { width: 100% !important; padding: 10px 12px !important; border: 1px solid #d0d5dd !important; border-radius: 8px !important; font-size: 14px !important; color: #1d2327 !important; background: #fff !important; transition: border-color 0.2s !important; box-sizing: border-box !important; }
.tk-res-input:focus { border-color: #0073aa !important; outline: none !important; box-shadow: 0 0 0 3px rgba(0,115,170,0.1) !important; }
.tk-res-input-display { padding: 10px 12px !important; border: 1px solid #d0d5dd !important; border-radius: 8px !important; font-size: 14px !important; color: #1d2327 !important; background: #f8f9fa !important; }

/* Sayaç */
.tk-res-counter { display: flex !important; align-items: center !important; border: 1px solid #d0d5dd !important; border-radius: 8px !important; overflow: hidden !important; }
.tk-counter-btn { width: 38px !important; height: 40px !important; border: none !important; background: #f8f9fa !important; font-size: 18px !important; font-weight: 700 !important; color: #6c757d !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: all 0.15s !important; }
.tk-counter-btn:hover { background: #e9ecef !important; color: #0073aa !important; }
.tk-counter-value { flex: 1 !important; text-align: center !important; font-size: 14px !important; font-weight: 600 !important; color: #1d2327 !important; padding: 0 4px !important; min-width: 60px !important; }

/* ===== EKSTRA PAKET SEÇİMİ (Sidebar) ===== */
.tk-res-extras-section {
    margin-bottom: 16px !important;
    border: 1px solid #e9ecef !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.tk-res-extras-title {
    display: block !important;
    padding: 12px 14px !important;
    background: linear-gradient(135deg, #fef3c7, #fef9c3) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #92400e !important;
    border-bottom: 1px solid #fcd34d !important;
    cursor: default !important;
}
.tk-res-extras-list {
    max-height: 240px !important;
    overflow-y: auto !important;
    padding: 6px !important;
}
.tk-res-extras-list::-webkit-scrollbar { width: 5px !important; }
.tk-res-extras-list::-webkit-scrollbar-track { background: #f8f9fa !important; }
.tk-res-extras-list::-webkit-scrollbar-thumb { background: #d0d5dd !important; border-radius: 3px !important; }

.tk-res-extra-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    margin: 2px 0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
    border: 1px solid transparent !important;
}
.tk-res-extra-item:hover {
    background: #f8f9fa !important;
}
.tk-res-extra-item.tk-extra-selected {
    background: #f0fdf4 !important;
    border-color: #86efac !important;
}
.tk-res-extra-item input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #0d9488 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}
.tk-res-extra-info {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex: 1 !important;
    min-width: 0 !important;
}
.tk-res-extra-name {
    font-size: 13px !important;
    color: #1d2327 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding-right: 8px !important;
}
.tk-res-extra-price {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0d9488 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.tk-res-extra-price .woocommerce-Price-amount {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0d9488 !important;
}

/* Rezerve butonu */
.tk-res-submit { display: block !important; width: 100% !important; padding: 14px !important; background: linear-gradient(135deg, #0d9488, #0f766e) !important; color: #fff !important; border: none !important; border-radius: 10px !important; font-size: 17px !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.2s !important; margin-bottom: 16px !important; letter-spacing: 0.3px !important; }
.tk-res-submit:hover { background: linear-gradient(135deg, #0f766e, #115e59) !important; box-shadow: 0 4px 12px rgba(13,148,136,0.3) !important; transform: translateY(-1px) !important; }

/* Hesaplama */
.tk-res-calculation { background: #f8fafb !important; border: 1px solid #e9ecef !important; border-radius: 10px !important; padding: 16px !important; margin-bottom: 16px !important; }
.tk-calc-line { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 6px 0 !important; font-size: 13px !important; color: #4b5563 !important; }
.tk-calc-line small { color: #9ca3af !important; }
.tk-calc-extras-line { color: #d97706 !important; }
.tk-calc-total { padding-top: 10px !important; margin-top: 6px !important; border-top: 2px solid #e5e7eb !important; font-size: 15px !important; font-weight: 700 !important; color: #1d2327 !important; }

/* WhatsApp / Telefon */
.tk-res-whatsapp { display: block !important; width: 100% !important; padding: 12px !important; background: #25d366 !important; color: #fff !important; border-radius: 10px !important; text-align: center !important; text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important; transition: all 0.2s !important; margin-bottom: 8px !important; box-sizing: border-box !important; }
.tk-res-whatsapp:hover { background: #1da851 !important; box-shadow: 0 4px 12px rgba(37,211,102,0.3) !important; }
.tk-res-phone { display: block !important; width: 100% !important; padding: 10px !important; text-align: center !important; color: #0073aa !important; text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important; border: 1px solid #d0d5dd !important; border-radius: 10px !important; transition: all 0.2s !important; box-sizing: border-box !important; }
.tk-res-phone:hover { background: #f0f6fc !important; border-color: #0073aa !important; }

/* ===== TEKNİK ÖZELLİKLER ===== */
.tk-specs-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
.tk-specs-block { background: #fafbfc !important; border: 1px solid #eef0f2 !important; border-radius: 10px !important; padding: 18px !important; }
.tk-specs-block h3 { font-size: 15px !important; margin: 0 0 12px !important; padding-bottom: 8px !important; border-bottom: 1px solid #e0e3e7 !important; color: #2c3338 !important; }
.tk-specs-table { width: 100% !important; border-collapse: collapse !important; }
.tk-specs-table td { padding: 7px 0 !important; border-bottom: 1px solid #f0f0f0 !important; font-size: 14px !important; }
.tk-specs-table td:first-child { color: #6c757d !important; width: 50% !important; }
.tk-specs-table td:last-child { text-align: right !important; }
.tk-specs-table tr:last-child td { border-bottom: none !important; }

/* ===== DONANIM BAŞLIK BOŞLUK ===== */
.tk-equipment-block { margin-bottom: 28px !important; padding-bottom: 4px !important; }
.tk-equipment-block:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.tk-equipment-block h3 { font-size: 17px !important; margin: 0 0 14px !important; padding: 12px 0 10px !important; border-bottom: 1px solid #e0e3e7 !important; color: #2c3338 !important; }
.tk-equipment-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
.tk-eq-item { display: flex !important; align-items: center !important; gap: 8px !important; padding: 10px 14px !important; background: #f0f7f0 !important; border: 1px solid #c3e6c3 !important; border-radius: 8px !important; font-size: 13px !important; color: #2d5a2d !important; }
.tk-eq-check { display: flex !important; align-items: center !important; justify-content: center !important; width: 22px !important; height: 22px !important; background: #28a745 !important; color: #fff !important; border-radius: 50% !important; font-size: 12px !important; font-weight: 700 !important; flex-shrink: 0 !important; }
.tk-safety-item { background: #f2f5fe !important;border-color: #a5bafc !important; color: #1d2b7f !important; }
.tk-safety-check { background: #3578dc !important; }
.tk-safety-note { margin-top: 16px !important; padding: 12px 16px !important; background: #f2f5fe !important; border: 1px solid #3578dc !important; border-radius: 8px !important; font-size: 14px !important; }

/* ===== FİYAT KARTLARI ===== */
.tk-pricing-cards { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 15px !important; margin-bottom: 24px !important; }
.tk-price-card { background: #fff !important; border: 2px solid #e9ecef !important; border-radius: 12px !important; padding: 24px 16px !important; text-align: center !important; transition: all 0.2s !important; }
.tk-price-card:hover { border-color: #0073aa !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; }
.tk-price-card-featured { border-color: #0073aa !important; background: linear-gradient(135deg, #f0f6fc, #e8f0fe) !important; position: relative !important; }
.tk-price-card-featured::before { content: 'Popüler' !important; position: absolute !important; top: -10px !important; left: 50% !important; transform: translateX(-50%) !important; background: #0073aa !important; color: #fff !important; padding: 2px 12px !important; border-radius: 10px !important; font-size: 11px !important; font-weight: 600 !important; }
.tk-price-card-header { font-size: 14px !important; color: #6c757d !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 8px !important; }
.tk-price-card-amount { font-size: 26px !important; font-weight: 700 !important; color: #0073aa !important; }
.tk-price-card-amount .woocommerce-Price-amount { font-size: 26px !important; }
.tk-price-card-note { font-size: 12px !important; color: #6c757d !important; margin-top: 4px !important; }

.tk-season-prices { margin-bottom: 24px !important; }
.tk-season-prices h3, .tk-extras-block h3 { font-size: 17px !important; margin: 0 0 14px !important; padding: 12px 0 10px !important; border-bottom: 1px solid #e0e3e7 !important; color: #2c3338 !important; }
.tk-includes-excludes { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; margin-bottom: 20px !important; }
.tk-inc-col h3 { font-size: 15px !important; margin: 0 0 10px !important; border: none !important; padding: 0 !important; }
.tk-inc-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.tk-inc-col ul li { padding: 6px 0 !important; border-bottom: 1px solid #f0f0f0 !important; font-size: 13px !important; }
.tk-payment-info { padding: 15px 18px !important; background: #f8f9fa !important; border-radius: 8px !important; border-left: 3px solid #0073aa !important; }
.tk-payment-info p { margin: 6px 0 !important; font-size: 14px !important; }

/* ===== TAKVİM ===== */
.tk-calendar-legend-bar { display: flex !important; gap: 20px !important; margin-bottom: 15px !important; }
.tk-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; }
.tk-legend-dot { width: 14px !important; height: 14px !important; border-radius: 4px !important; display: inline-block !important; }
.tk-legend-dot.tk-available { background: #28a745 !important; }
.tk-legend-dot.tk-booked { background: #dc3545 !important; }
.tk-legend-dot.tk-maintenance { background: #ffc107 !important; }
#tk-calendar-widget { background: #fafbfc !important; border: 1px solid #e9ecef !important; border-radius: 12px !important; padding: 20px !important; min-height: 300px !important; }
.tk-cal-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 15px !important; }
.tk-cal-header h4 { margin: 0 !important; font-size: 16px !important; }
button.tk-cal-prev, button.tk-cal-next { background: #f0f0f0 !important; border: 1px solid #dcdcde !important; border-radius: 6px !important; padding: 6px 12px !important; cursor: pointer !important; font-size: 14px !important; }
button.tk-cal-prev:hover, button.tk-cal-next:hover { background: #e0e0e0 !important; }
.tk-cal-grid { display: grid !important; grid-template-columns: repeat(7, 1fr) !important; gap: 3px !important; }
.tk-cal-day-name { text-align: center !important; font-weight: 600 !important; font-size: 12px !important; color: #6c757d !important; padding: 6px !important; }
.tk-cal-day { text-align: center !important; padding: 10px 4px !important; border-radius: 6px !important; font-size: 13px !important; cursor: default !important; }
.tk-cal-day.tk-day-available { background: #d4edda !important; color: #155724 !important; }
.tk-cal-day.tk-day-booked { background: #f8d7da !important; color: #721c24 !important; }
.tk-cal-day.tk-day-maintenance { background: #fff3cd !important; color: #856404 !important; }
.tk-cal-day.tk-day-past { color: #ced4da !important; background: transparent !important; }
.tk-cal-day.tk-day-empty { background: transparent !important; }
.tk-cal-day.tk-day-today { font-weight: 700 !important; box-shadow: inset 0 0 0 2px #0073aa !important; }
.tk-calendar-info { margin-top: 15px !important; font-size: 13px !important; color: #6c757d !important; font-style: italic !important; }

/* ===== EKSTRA PAKETLER (İçerik bölümü) ===== */
.tk-extras-block { margin-bottom: 28px !important; }
.tk-extras-block:last-child { margin-bottom: 0 !important; }
.tk-extras-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
.tk-extra-card { background: #fafbfc !important; border: 1px solid #e9ecef !important; border-radius: 10px !important; padding: 16px !important; transition: all 0.2s !important; }
.tk-extra-card:hover { border-color: #0073aa !important; box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; }
.tk-extra-name { font-weight: 700 !important; font-size: 15px !important; margin-bottom: 6px !important; color: #1d2327 !important; }
.tk-extra-desc { font-size: 13px !important; color: #6c757d !important; margin-bottom: 8px !important; }
.tk-extra-price { font-size: 18px !important; font-weight: 700 !important; color: #0073aa !important; }
.tk-extra-price small { font-size: 12px !important; font-weight: 400 !important; color: #6c757d !important; }

/* ===== KONUM ===== */
.tk-location-name { font-size: 18px !important; margin: 0 0 4px !important; }
.tk-location-address { color: #6c757d !important; font-size: 14px !important; margin: 0 0 16px !important; }
.tk-map-container { border-radius: 12px !important; overflow: hidden !important; border: 1px solid #e9ecef !important; margin-bottom: 16px !important; }
.tk-directions { padding: 15px !important; background: #f8f9fa !important; border-radius: 8px !important; margin-bottom: 16px !important; }
.tk-directions h3 { margin: 0 !important; margin-bottom: 8px !important; font-size: 14px !important; }
.tk-routes h3 { font-size: 16px !important; margin: 0 !important; margin-bottom: 12px !important; padding-bottom: 8px !important; border-bottom: 1px solid #e0e3e7 !important; }
.tk-routes-list { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
.tk-route-item { padding: 10px 14px !important; background: #f0f6fc !important; border: 1px solid #cce5ff !important; }
.tk-res-price-note {margin:10px 0 14px!important;font-size:14px!important;line-height:1.4!important;color:#6c757d!important; }
