.detail-page { background:linear-gradient(180deg, #f4f7fb 0%, #ffffff 30%, #f8fafc 100%); min-height:100vh; }
.detail-hero { padding:24px 0 42px; }
.detail-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:22px 0 24px; font-size:13px; color:#fff; }
.detail-breadcrumb a { color:#fff; text-decoration:none; }
.detail-breadcrumb strong { color:#fff; font-weight:800; }
.detail-sticky-result { display:none;  }
.detail-sticky-result.is-visible { display:block; }
.detail-field--age .detail-field__label { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.detail-field__status { font-size:10px; font-weight:800; line-height:1; }
.detail-field__status--free { color:#16a34a; }
.detail-field__status--paid { color:#dc2626; }
.detail-sticky-result .detail-booking__result { margin:0; border-radius:24px; box-shadow:0 22px 50px rgba(15, 23, 42, 0.08); }
@media (max-width: 1200px) { .detail-sticky-result { display:none !important; margin-bottom:0; } }
.detail-hero__grid { display:grid; grid-template-columns:minmax(0, 1.22fr) minmax(360px, 430px); gap:15px; align-items:stretch; }
.detail-gallery { display:flex; flex-direction:column; gap:14px; }
.detail-gallery__stage { position:relative; height:560px; border-radius:30px; overflow:hidden; background:#dbe4ef; box-shadow:0 28px 68px rgba(15, 23, 42, 0.16); }
.detail-gallery__active { width:100%; height:100%; display:block; object-fit:cover; }
.detail-gallery__video { width:100%; height:100%; display:block; object-fit:cover; background:#000000; }
.detail-gallery__placeholder { height:560px; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; color:#475569; background:linear-gradient(135deg, #cbd5e1 0%, #e2e8f0 100%); }
.detail-gallery__favorite { position:absolute; top:18px; right:18px; z-index:4; }
.detail-gallery__overlay { position:absolute; left:0; right:0; bottom:0; padding:34px 28px 24px; background:linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.80) 100%); z-index:3; }
.detail-gallery__overlay-title { font-size:30px; line-height:1.08; font-weight:800; color:#ffffff; margin-bottom:6px; }
.detail-gallery__overlay-text { font-size:15px; color:rgba(255, 255, 255, 0.86); }
.detail-gallery__thumbs { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:12px; }
.detail-gallery__thumb { position:relative; padding:0; border:none; background:transparent; border-radius:18px; overflow:hidden; cursor:pointer; opacity:.72; transition:transform .2s ease, opacity .2s ease, box-shadow .2s ease; box-shadow:0 14px 32px rgba(15, 23, 42, 0.12); }
.detail-gallery__thumb.is-active { opacity:1; transform:translateY(-2px); box-shadow:0 20px 44px rgba(15, 23, 42, 0.16); }
.detail-gallery__thumb-image { width:100%; height:92px; display:block; object-fit:cover; }
.detail-gallery__thumb-badge { position:absolute; right:8px; bottom:8px; padding:4px 8px; border-radius:999px; background:rgba(15, 23, 42, 0.82); color:#ffffff; font-size:11px; font-weight:800; }
.detail-summary { display:flex; flex-direction:column; gap:10px; padding:20px; border-radius:28px; background:rgba(255, 255, 255, 0.88); border:1px solid rgba(148, 163, 184, 0.16); backdrop-filter:blur(14px); box-shadow:0 24px 64px rgba(15, 23, 42, 0.10); }
.detail-summary__eyebrow { font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0f766e; }
.detail-summary__title { margin:0; font-size:38px; line-height:1.08; color:#0f172a; font-weight:800; }
.detail-summary__location { font-size:16px; color:#475569; }
.detail-summary__text { margin:0; font-size:15px; line-height:1.85; color:#334155; }
.detail-chip-list { display:flex; flex-wrap:wrap; gap:10px; }
.detail-chip { padding:10px 14px; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:13px; font-weight:800; }
.detail-price-box { padding:22px; border-radius:22px; background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color:#ffffff; box-shadow:0 20px 42px rgba(15, 23, 42, 0.22); }
.detail-price-box__label { font-size:13px; color:rgba(255, 255, 255, 0.74); margin-bottom:8px; }
.detail-price-box__value { font-size:34px; line-height:1.1; font-weight:800; margin-bottom:8px; }
.detail-price-box__note { font-size:13px; line-height:1.75; color:rgba(255, 255, 255, 0.72); }
.detail-inline-booking { margin-top:18px; }
.detail-summary__actions { display:flex; flex-wrap:wrap; gap:12px; }
.detail-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 18px; border-radius:16px; text-decoration:none; font-size:14px; font-weight:800; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.detail-button:hover { transform:translateY(-1px); }
.detail-button--primary { background:#0f766e; color:#ffffff; box-shadow:0 16px 34px rgba(15, 118, 110, 0.22); }
.detail-button--ghost { background:#ffffff; color:#0f172a; border:1px solid #e2e8f0; }
.detail-content { padding:8px 0 56px; }
.detail-layout { display:grid; grid-template-columns:minmax(0, 1fr) 310px; gap:10px; align-items:start; }
.detail-main { min-width:0; display:flex; flex-direction:column; gap:22px; }
.detail-side { min-width:0; position:relative; align-self:start; }
.detail-sticky { position:sticky; top:15px; align-self:start; height:fit-content; display:flex; flex-direction:column; gap:10px; }
.detail-panel { padding:18px; border-radius:26px; background:#ffffff; border:1px solid rgba(226, 232, 240, 0.92); box-shadow:0 22px 50px rgba(15, 23, 42, 0.08); }
.detail-panel--full { width:100%; }
html { scroll-behavior:smooth; }
.detail-button { gap:10px; }
.detail-button__icon { width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 18px; }
.detail-button__icon svg { width:18px; height:18px; display:block; fill:currentColor; }
.detail-side-actions .detail-button--reservation { background:#003b95; color:#ffffff; box-shadow:0 16px 34px rgba(0, 59, 149, 0.22); }
.detail-side-actions .detail-button--reservation:hover { background:#003b95; color:#ffffff; }
.detail-booking__selected { cursor:pointer; }
.detail-panel__head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:22px; }
.detail-panel__eyebrow { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0f766e; margin-bottom:6px; }
.detail-panel__title { margin:0; font-size:24px; line-height:1.2; color:#0f172a; }
.detail-info-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.detail-info-card { padding:18px; border-radius:18px; background:#f8fafc; border:1px solid #e2e8f0; }
.detail-info-card__label { font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#64748b; margin-bottom:8px; }
.detail-info-card__value { font-size:18px; line-height:1.35; font-weight:800; color:#0f172a; }
.detail-distance-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.detail-distance-item { padding:10px; border-radius:18px; background:linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border:1px solid #e2e8f0; }
.detail-distance-item__title { font-size:13px; font-weight:800; color:#0f172a; margin-bottom:8px; }
.detail-distance-item__value { font-size:15px; line-height:1.6; color:#475569; }
.detail-calendar-intro { margin-bottom:18px; font-size:14px; line-height:1.8; color:#475569; }
.detail-calendar-slider { display:flex; flex-direction:column; gap:10px; }
.detail-calendar-slider__nav { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.detail-calendar-slider__label { flex:1; text-align:center; font-size:16px; font-weight:800; color:#0f172a; }
.detail-calendar-slider__button { width:44px; height:44px; border:none; border-radius:14px; background:#0f172a; color:#ffffff; font-size:22px; font-weight:800; cursor:pointer; }
.detail-calendar-slider__button:disabled { opacity:.35; cursor:not-allowed; }
.detail-calendar-slider__viewport { overflow:hidden; }
.detail-calendar-slider__track { display:block; }
.detail-calendar-slide { display:none; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.detail-calendar-slide.is-active { display:grid; }
.detail-calendar-month { padding:8px; border-radius:22px; background:#f8fafc; border:1px solid #e2e8f0; }
.detail-calendar-month__head { margin-bottom:16px; font-size:18px; font-weight:800; color:#0f172a; }
.detail-calendar-weekdays { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:10px; margin-bottom:10px; }
.detail-calendar-weekday { text-align:center; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#64748b; }
.detail-calendar-grid { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:5px; }
.detail-calendar-day { min-height:84px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:5px; border:none; border-radius:16px; background:#ffffff; border:1px solid #e2e8f0; text-align:left; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.detail-calendar-day:hover { transform:translateY(-1px); box-shadow:0 14px 28px rgba(15, 23, 42, 0.08); }
.detail-calendar-day.is-empty { background:transparent; border:none; min-height:84px; }
.detail-calendar-day.is-blocked { cursor:not-allowed; box-shadow:none; }
.detail-calendar-day.is-past { background:#f1f5f9; color:#94a3b8; }
.detail-calendar-day.is-booked { background:#fee2e2; border-color:#ef4444; color:#b91c1c; }
.detail-calendar-day.is-booked .detail-calendar-day__price { color:#b91c1c; opacity:1; }
.detail-calendar-day.is-today { border-color:#0f766e; }
.detail-calendar-day.is-selected { background:#ecfeff; border-color:#14b8a6; }
.detail-calendar-day.is-check-in { background:#0f766e; border-color:#0f766e; color:#ffffff; }
.detail-calendar-day.is-check-out { background:#0f766e; border-color:#0f766e; color:#ffffff; }
.detail-calendar-day.is-blocked.is-today .detail-calendar-day__price { opacity:.88; }
.detail-calendar-day__number { font-size:16px; font-weight:800; }
.detail-calendar-day__price { font-size:11px; line-height:1.3; font-weight:700; color:inherit; opacity:.88; }
.detail-tag-list { display:flex; flex-wrap:wrap; gap:10px; }
.detail-tag { padding:11px 14px; border-radius:14px; background:#f1f5f9; border:1px solid #e2e8f0; font-size:14px; font-weight:700; color:#334155; }
.detail-link-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
.detail-link-card { display:flex; align-items:center; gap:16px; padding:20px; border-radius:22px; background:linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border:1px solid #e2e8f0; text-decoration:none; color:#0f172a; box-shadow:0 18px 36px rgba(15, 23, 42, 0.06); }
.detail-link-card__body { min-width:0; }
.detail-link-card__title { font-size:18px; font-weight:800; color:#0f172a; margin-bottom:6px; }
.detail-link-card__text { font-size:14px; color:#64748b; }
.detail-brand-logo { flex:0 0 58px; width:58px; height:58px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; color:#ffffff; }
.detail-brand-logo span { display:block; }
.detail-brand-logo--is-etstur { background:linear-gradient(135deg, #ef4444 0%, #dc2626 100%); }
.detail-brand-logo--is-hotels { background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); }
.detail-brand-logo--is-setur { background:linear-gradient(135deg, #0f766e 0%, #115e59 100%); }
.detail-brand-logo--is-jolly { background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%); }
.detail-brand-logo--is-tatilsepeti { background:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); }
.detail-brand-logo--is-stayforlong { background:linear-gradient(135deg, #14b8a6 0%, #0f766e 100%); }
.detail-brand-logo--is-trip { background:linear-gradient(135deg, #22c55e 0%, #15803d 100%); }
.detail-brand-logo--is-zenhotels { background:linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%); }
.detail-brand-logo--is-tatilbudur { background:linear-gradient(135deg, #e11d48 0%, #be123c 100%); }
.detail-brand-logo--is-agoda { background:linear-gradient(135deg, #ec4899 0%, #be185d 100%); }
.detail-brand-logo--is-hilton { background:linear-gradient(135deg, #111827 0%, #374151 100%); }
.detail-brand-logo--is-touristica { background:linear-gradient(135deg, #6366f1 0%, #4338ca 100%); }
.detail-brand-logo--is-default { background:linear-gradient(135deg, #475569 0%, #334155 100%); }
.detail-side-card { padding:24px; border-radius:24px; background:#ffffff; border:1px solid rgba(226, 232, 240, 0.92); box-shadow:0 22px 50px rgba(15, 23, 42, 0.08); }
.detail-side-card__eyebrow { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0f766e; margin-bottom:16px; }
.detail-booking { display:flex; flex-direction:column; gap:16px; }
.detail-booking__eyebrow { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0f766e; }
.detail-booking__controls { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; }
.detail-booking__ages { display:flex; flex-direction:column; gap:10px; }
.detail-booking__ages-label { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#64748b; }
.detail-booking__ages-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; }
.detail-booking__meta { font-size:13px; color:#64748b; }
.detail-booking__selected { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.detail-booking__selected-item { padding:14px; border-radius:14px; background:#f8fafc; border:1px solid #e2e8f0; }
.detail-booking__selected-item span { display:block; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#64748b; margin-bottom:6px; }
.detail-booking__selected-item strong { font-size:14px; color:#0f172a; }
.detail-booking__result { padding:18px; border-radius:18px; background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color:#ffffff; }
.detail-booking__price-label { font-size:13px; color:rgba(255, 255, 255, 0.72); margin-bottom:8px; }
.detail-booking__price-value { font-size:30px; line-height:1.08; font-weight:800; margin-bottom:8px; }
.detail-booking__price-note { font-size:13px; line-height:1.75; color:rgba(255, 255, 255, 0.74); }
.detail-field { display:flex; flex-direction:column; gap:8px; }
.detail-gallery__overlay { transition:opacity .2s ease, visibility .2s ease; }
.detail-gallery__overlay.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.detail-field__label { font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#64748b; }
.detail-field__input { width:100%; min-height:48px; padding:0 14px; border-radius:14px; border:1px solid #dbe3ee; background:#f8fafc; color:#0f172a; font-size:14px; font-weight:700; }
.detail-field__input.is-readonly { background:#eef2f7; color:#475569; cursor:not-allowed; }
.detail-field--age .detail-field__input { appearance:auto; }
.detail-host { display:flex; gap:14px; align-items:center; margin-bottom:20px; }
.detail-host__avatar { flex:0 0 64px; width:64px; height:64px; border-radius:20px; overflow:hidden; background:#e2e8f0; display:flex; align-items:center; justify-content:center; }
.detail-host__avatar-image { width:100%; height:100%; display:block; object-fit:cover; }
.detail-host__avatar-placeholder { font-size:24px; font-weight:800; color:#334155; }
.detail-host__body { min-width:0; }
.detail-host__title { font-size:18px; font-weight:800; color:#0f172a; margin-bottom:4px; }
.detail-host__text { font-size:14px; color:#64748b; }
.detail-side-list { display:flex; flex-direction:column; gap:14px; margin-bottom:22px; }
.detail-side-list__item { padding-bottom:14px; border-bottom:1px solid #e2e8f0; }
.detail-side-list__label { font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#64748b; margin-bottom:6px; }
.detail-side-list__value { font-size:14px; line-height:1.7; color:#0f172a; }
.detail-side-actions { display:flex; flex-direction:column; gap:12px; }
.detail-related { margin-top:28px; }
.detail-related .grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:22px; }
.detail-empty { padding:18px; border-radius:18px; background:#f8fafc; border:1px solid #e2e8f0; font-size:14px; line-height:1.8; color:#64748b; }
.detail-business-card { margin-top:0; }
.detail-summary .detail-side-card { box-shadow:none; background:#ffffff; }

@media (max-width: 1280px) { .detail-related .grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1200px) { .detail-layout { grid-template-columns:minmax(0, 1fr); } }
@media (max-width: 1200px) { .detail-sticky { position:static; } }
@media (max-width: 1100px) { .detail-hero__grid { grid-template-columns:minmax(0, 1fr); } }
@media (max-width: 960px) { .detail-gallery__thumbs { grid-template-columns:repeat(4, minmax(0, 1fr)); } }
@media (max-width: 960px) { .detail-link-grid { grid-template-columns:1fr; } }
@media (max-width: 960px) { .detail-distance-list { grid-template-columns:1fr; } }
@media (max-width: 960px) { .detail-calendar-slide { grid-template-columns:1fr; } }
@media (max-width: 900px) { .detail-info-grid { grid-template-columns:1fr; } }
@media (max-width: 900px) { .detail-booking__controls { grid-template-columns:1fr; } }
@media (max-width: 900px) { .detail-booking__selected { grid-template-columns:1fr; } }
@media (max-width: 900px) { .detail-booking__ages-grid { grid-template-columns:1fr; } }
@media (max-width: 900px) { .detail-related .grid { grid-template-columns:1fr; } }
@media (max-width: 768px) { .detail-hero { padding:18px 0 28px; } }
@media (max-width: 768px) { .detail-gallery__stage { min-height:360px; border-radius:22px; } }
@media (max-width: 768px) { .detail-gallery__placeholder { min-height:360px; font-size:22px; } }
@media (max-width: 768px) { .detail-summary { padding:22px; border-radius:22px; } }
@media (max-width: 768px) { .detail-summary__title { font-size:30px; } }
@media (max-width: 768px) { .detail-panel { padding:22px; border-radius:22px; } }
@media (max-width: 768px) { .detail-gallery__thumbs { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) { .detail-calendar-grid { gap:8px; } }
@media (max-width: 768px) { .detail-calendar-day { min-height:74px; padding:8px; } }
@media (max-width: 540px) { .detail-breadcrumb { font-size:12px; gap:8px; } }
@media (max-width: 540px) { .detail-gallery__overlay { padding:22px 18px 18px; } }
@media (max-width: 540px) { .detail-gallery__overlay-title { font-size:22px; } }
@media (max-width: 540px) { .detail-gallery__thumb-image { height:74px; } }
@media (max-width: 540px) { .detail-summary__actions { flex-direction:column; } }
@media (max-width: 540px) { .detail-button { width:100%; } }
@media (max-width: 540px) { .detail-calendar-weekday { font-size:10px; } }
@media (max-width: 540px) { .detail-calendar-day__price { font-size:10px; } }