/* court-gallery.css — дополнительные блоки подробной карточки корта.
   Пока файл подключён только к пилотной странице. */

/* ─── Компоновка пилотной страницы: тёмный media-блок + светлый контент ─── */
.court-detail{width:100%;background:var(--bg-light)}
.court-dark{background:var(--bg-dark);color:var(--text-secondary-dark)}
.court-light{background:var(--bg-light);color:var(--text-secondary-light)}
.court-container{width:min(100%,940px);margin:0 auto;padding-left:32px;padding-right:32px}
.court-dark .court-container{padding-top:100px;padding-bottom:64px}
.court-light .court-container{padding-top:80px;padding-bottom:100px}

/* ─── Шапка: логотип клуба рядом с h1 ─── */
.court-head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}
.court-logo{flex:0 0 auto;width:84px;height:84px;border-radius:var(--radius-lg);background:var(--surface-dark-1);border:1px solid var(--divider-dark);display:flex;align-items:center;justify-content:center;padding:var(--space-2)}
.court-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.court-head h1{margin-bottom:0}
.court-kicker{margin-bottom:6px;color:var(--text-tertiary-dark);font:600 12px/1.2 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase}

/* ─── Галерея: scroll-snap, без JS-библиотек ─── */
.gallery{position:relative;margin:0 0 var(--space-6)}
.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:var(--radius-xl);scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track>figure{scroll-snap-align:center;margin:0;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-dark-1);border:1px solid var(--divider-dark)}
.gallery-track img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.gallery-nav{position:absolute;top:calc(50% - 18px);transform:translateY(-50%);width:48px;height:48px;padding:0;border-radius:var(--radius-circle);border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.68);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);box-shadow:0 4px 18px rgba(0,0,0,.18);transition:background .2s,border-color .2s,opacity .2s,transform .2s;z-index:2}
.gallery-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gallery-nav:hover:not(:disabled){background:rgba(28,28,30,.88);border-color:rgba(255,255,255,.48);transform:translateY(-50%) scale(1.04)}
.gallery-nav:disabled{opacity:.36;cursor:default}
.gallery-nav[data-gallery-prev]{left:var(--space-4)}
.gallery-nav[data-gallery-next]{right:var(--space-4)}
.gallery-dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}
.gallery-dots b{width:6px;height:6px;border-radius:var(--radius-circle);background:var(--text-tertiary-dark);transition:background .2s,width .2s}
.gallery-dots b.on{width:20px;border-radius:var(--radius-pill);background:var(--accent)}
.gallery-credit{margin-top:var(--space-2);font-size:12px;color:var(--text-tertiary-dark);text-align:right}
.gallery-credit a{color:var(--text-tertiary-dark)}

/* Нейтральные поверхности: лаймовый остаётся только у действий. */
.court-dark .info-card{background:var(--surface-dark-1);border-color:var(--divider-dark)}
.court-dark .info-paid{color:var(--text-primary-dark)}
.court-dark .info-value a{color:var(--text-primary-dark);text-decoration:underline;text-decoration-color:rgba(255,255,255,.28);text-underline-offset:3px}
.court-dark .info-value a:hover{text-decoration-color:rgba(255,255,255,.72)}
.court-dark .book{background:var(--surface-dark-1);border-color:var(--divider-dark)}

/* ─── Удобства: чек-лист ─── */
.amenities{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.amenities li{list-style:none;display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;background:var(--accent-6);border:1px solid var(--accent-12);border-radius:var(--radius-pill);font:500 14px/1.2 'Inter',sans-serif;color:var(--text-primary-dark)}
.amenities li::before{content:'';width:14px;height:14px;flex:0 0 auto;background:var(--accent);clip-path:polygon(14% 47%,0 60%,40% 100%,100% 22%,86% 9%,38% 71%)}

/* ─── Цены ─── */
.price-row{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}
.price-big{font:600 30px/1 'Inter',sans-serif;letter-spacing:-.02em;color:var(--accent)}
.price-unit{font-size:15px;color:var(--text-tertiary-dark)}
.price-note{font-size:14px;color:var(--text-secondary-dark);margin-top:var(--space-2)}
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-3);margin-top:var(--space-4)}
.offer{background:var(--accent-4);border:1px solid var(--divider-dark);border-radius:var(--radius-lg);padding:var(--space-4)}
.offer-t{font:600 15px/1.3 'Inter',sans-serif;color:var(--text-primary-dark);margin-bottom:var(--space-1)}
.offer-d{font-size:13px;color:var(--text-tertiary-dark)}
.badge-free{display:inline-block;margin-top:var(--space-2);padding:3px 10px;border-radius:var(--radius-pill);background:var(--accent-14);color:var(--accent);font:600 12px/1.4 'Inter',sans-serif}

/* ─── Тренеры ─── */
.coach-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}
.coach{background:var(--accent-4);border:1px solid var(--divider-dark);border-radius:var(--radius-lg);padding:var(--space-4)}
.coach-n{font:600 15px/1.3 'Inter',sans-serif;color:var(--text-primary-dark)}
.coach-r{font-size:13px;color:var(--accent);margin-top:2px}

/* ─── Строка действий (телефон / маршрут / сайт) ─── */
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin:var(--space-4) 0 var(--space-6)}
.act{display:flex;width:100%;align-items:center;justify-content:center;gap:var(--space-2);min-height:56px;padding:17px 24px;border-radius:var(--radius-pill);font:600 17px/1 'Inter',sans-serif;letter-spacing:-.01em;text-align:center;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.act-primary{background:var(--accent);color:var(--bg-dark)}
.act-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 26px var(--accent-30);text-decoration:none}
.act-ghost{border:1px solid rgba(255,255,255,.24);color:var(--text-primary-dark);background:transparent}
.act-ghost:hover{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.06);text-decoration:none}

/* ─── Блок отбора фото (только в демо, в прод не идёт) ─── */
.review{border:1px dashed var(--accent-30);border-radius:var(--radius-xl);padding:var(--space-5);margin-top:var(--space-7);background:var(--accent-3)}
.review h2{font:600 20px/1.2 'Inter',sans-serif;color:var(--text-primary-dark);margin-bottom:var(--space-2)}
.review p{font-size:14px;color:var(--text-tertiary-dark);margin-bottom:var(--space-4)}
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}
.review-grid figure{margin:0;position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--divider-dark)}
.review-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.review-grid figcaption{position:absolute;top:6px;left:6px;min-width:26px;padding:3px 7px;border-radius:var(--radius-sm);background:rgba(0,0,0,.8);color:var(--accent);font:600 13px/1.2 'Inter',sans-serif;text-align:center}
.review-grid .used{outline:2px solid var(--accent);outline-offset:-2px}
.review-grid .used figcaption{background:var(--accent);color:var(--bg-dark)}

@media(max-width:720px){
  .actions{grid-template-columns:1fr}
  .court-logo{width:60px;height:60px}
  .price-big{font-size:24px}
  .act{width:100%;justify-content:center}
}

/* ─── Блок бронирования: главное действие на карточке ─── */
.book{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-5) 0;padding:var(--space-5);background:var(--accent-10);border:1px solid var(--accent-25);border-radius:var(--radius-xl)}
.book-txt{flex:1 1 240px}
.book-t{font:600 19px/1.25 'Inter',sans-serif;letter-spacing:-.01em;color:var(--text-primary-dark);margin-bottom:var(--space-1)}
.book-d{font-size:14px;color:var(--text-secondary-dark)}
.book-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:56px;padding:16px 34px;background:var(--accent);color:var(--bg-dark);font:600 18px/1 'Inter',sans-serif;letter-spacing:-.01em;border-radius:var(--radius-pill);text-decoration:none;box-shadow:var(--shadow-accent-glow);transition:background .2s,transform .2s,box-shadow .2s}
.book-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 10px 34px var(--accent-35);text-decoration:none}
.hub-promo{flex:1 0 100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--divider-dark)}
.hub-promo-copy{flex:1 1 320px}
.hub-promo-title{font:600 16px/1.25 'Inter',sans-serif;color:var(--text-primary-dark);margin-bottom:var(--space-1)}
.hub-promo-text{font-size:14px;color:var(--text-secondary-dark);max-width:650px}
.hub-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border:1px solid var(--neutral-20);border-radius:var(--radius-pill);color:var(--text-primary-dark);font:600 15px/1 'Inter',sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.hub-btn:hover{background:var(--neutral-8);border-color:var(--neutral-20);transform:translateY(-1px);text-decoration:none}
@media(max-width:720px){.book{padding:var(--space-4)}.book-btn,.hub-btn{width:100%}.book-btn{font-size:17px}.hub-promo{align-items:stretch;flex-direction:column}.hub-promo-copy{flex-basis:auto}.hub-promo-text{font-size:13px}}

.court-light .section{margin-bottom:64px}
.court-light .sh{border-bottom-color:var(--divider-light)}
.court-light .sh h2{color:var(--text-primary-light)}
.court-light .prose p{color:var(--text-secondary-light)}
.prose p+p{margin-top:14px}
.court-light .amenities li{background:var(--surface-light-1);border-color:transparent;color:var(--text-primary-light);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.court-light .price-big{color:var(--text-primary-light)}
.court-light .price-unit{color:var(--text-tertiary)}
.court-light .price-note{color:var(--text-secondary-light)}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.court-light .info-card{background:var(--surface-light-1);border-color:transparent;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.court-light .info-label{color:var(--text-tertiary)}
.court-light .info-value{color:var(--text-primary-light)}
.court-light .info-value a{color:var(--text-primary-light);text-decoration:underline;text-decoration-color:rgba(0,0,0,.22);text-underline-offset:3px}
.court-light .info-value a:hover{text-decoration-color:rgba(0,0,0,.65)}
.court-light .map-link{color:var(--text-primary-light);border-color:rgba(0,0,0,.22)}
.court-light .map-link:hover{background:rgba(0,0,0,.05)}
.court-light .divider{background:var(--divider-light)}
.court-light .nearby-card{background:var(--surface-light-1);border-color:transparent;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.court-light .nearby-card:hover{border-color:transparent;box-shadow:var(--shadow-card);transform:translateY(-2px)}
.court-light .nearby-name{color:var(--text-primary-light)}
.court-light .nearby-meta{color:var(--text-tertiary)}
.court-light .cta{background:var(--surface-dark-1);border-color:transparent;margin-top:80px}
.court-light .cta h2{color:var(--text-primary-dark)}
.court-light .cta p{color:var(--text-secondary-dark)}
@media(max-width:640px){
  .court-container{padding-left:16px;padding-right:16px}
  .court-dark .court-container{padding-top:80px;padding-bottom:48px}
  .court-light .court-container{padding-top:64px;padding-bottom:64px}
  .court-head{align-items:flex-start}
  .court-head>div:last-child{flex:1 1 220px}
  .gallery{margin-left:-16px;margin-right:-16px}
  .gallery-track,.gallery-track>figure{border-radius:0}
  .gallery-credit{padding-right:16px}
  .gallery-nav{width:44px;height:44px;top:calc(50% - 18px)}
  .gallery-nav[data-gallery-prev]{left:10px}
  .gallery-nav[data-gallery-next]{right:10px}
  .contact-grid{grid-template-columns:1fr}
}
