/* Detail dívky / podniku, přehledy a karty mimo smyčky Bricks – světlý design (snippet frontend/bricks-detail).
   Hlavní vzhled nového designu je v assets/dp2.css; tady jsou jen bloky, které vykresluje PHP. */

.dp-detail-puvod { color: #6B6B76; font-size: 16px; }
.dp-detail-puvod a { color: #C10A4E; }
.dp-detail-zpet { color: #45454F; font-size: 14px; font-weight: 700; text-decoration: none; }
.dp-detail-zpet:hover { color: #E30B5C; }

/* Galerie (podnik; detail dívky má vlastní vzhled .dp2-galerie) */
.dp-detail-galerie { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.dp-detail-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; background: #FFFFFF; border: 1px solid #E4E4EA; border-radius: 12px; }
.dp-detail-tab { min-height: 40px; border: 0; border-radius: 9px; background: transparent; color: #45454F; font: 700 14px/1 Figtree, Onest, sans-serif; cursor: pointer; }
.dp-detail-tab span { display: inline-block; margin-left: 6px; padding: 3px 8px; border-radius: 10px; background: #E4E4EA; color: #14141A; font-size: 12px; }
.dp-detail-tab.is-active { background: #14141A; color: #FFFFFF; }
.dp-detail-tab.is-active span { background: #E30B5C; color: #FFFFFF; }
.dp-detail-hlavni { display: block; border-radius: 18px; overflow: hidden; background: #14141A; aspect-ratio: 4 / 5; }
.dp-detail-hlavni img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-detail-nahledy { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.dp-detail-nahled { padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: #2A2C36; aspect-ratio: 4 / 5; cursor: pointer; opacity: .75; }
.dp-detail-nahled img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-detail-nahled.is-active, .dp-detail-nahled:hover { opacity: 1; outline: 3px solid #E30B5C; outline-offset: -3px; }
.dp-detail-prehravac { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; border-radius: 18px; background: #14141A; color: #C9C9D2; overflow: hidden; }
.dp-detail-prehravac video, .dp-detail-prehravac .kgvid_wrapper { width: 100% !important; height: 100% !important; object-fit: contain; }
.dp-detail-playlist { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; }
.dp-detail-video { position: relative; flex: 0 0 96px; aspect-ratio: 4 / 5; padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: #2A2C36; cursor: pointer; }
.dp-detail-video img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-detail-video.is-active, .dp-detail-video:hover { outline: 3px solid #E30B5C; outline-offset: -3px; }
.dp-detail-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #FFFFFF; font-size: 22px; text-shadow: 0 2px 8px rgba(0, 0, 0, .6); }
.dp-detail-prazdne { padding: 32px 16px; border-radius: 14px; background: #FFFFFF; border: 1px dashed #D9D9E0; color: #6B6B76; text-align: center; }

/* Popis */
.dp-detail-popis { color: #3A3A44; font-size: 16px; line-height: 1.7; }
.dp-detail-popis p { margin: 0 0 12px; }
.dp-detail-vice { margin-top: 8px; padding: 0; border: 0; background: none; color: #E30B5C; font: 800 14px/1.4 Figtree, Onest, sans-serif; cursor: pointer; }

/* Kontakt */
.dp-detail-kontakt { display: flex; flex-direction: column; gap: 10px; }
.dp-detail-telefon { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: 14px; background: #E30B5C; color: #FFFFFF; text-decoration: none; }
.dp-detail-telefon:hover { background: #C10A4E; color: #FFFFFF; }
.dp-detail-telefon-cislo { font: 800 24px/1.1 Montserrat, sans-serif; letter-spacing: .01em; }
.dp-detail-telefon-popis { font-size: 13px; opacity: .85; }
.dp-detail-kontakt-dalsi { display: flex; flex-wrap: wrap; gap: 10px; }
.dp-detail-kontakt-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 10px; border: 1px solid #E2E2E8; background: #FFFFFF; color: #14141A; font-weight: 700; font-size: 14px; text-decoration: none; }
.dp-detail-kontakt-btn:hover { border-color: #E30B5C; color: #E30B5C; }
.dp-detail-whatsapp { background: #22C55E; border-color: #22C55E; color: #FFFFFF; }
.dp-detail-nepracuje { padding: 18px 20px; border-radius: 14px; background: #FFFFFF; border: 1px solid #E9E9EE; color: #6B6B76; text-align: center; font-weight: 700; }

/* Údaje */
.dp-detail-adresa { color: #1B1B22; font-size: 15px; }
.dp-detail-stitek { display: block; margin-bottom: 4px; color: #C10A4E; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dp-detail-info, .dp-detail-doba { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.dp-detail-info > div, .dp-detail-doba > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #F0F0F3; }
.dp-detail-info dt, .dp-detail-doba dt { color: #6B6B76; font-size: 14px; }
.dp-detail-info dd, .dp-detail-doba dd { margin: 0; color: #14141A; font-weight: 700; font-size: 14px; text-align: right; }
.dp-detail-doba .is-dnes dt, .dp-detail-doba .is-dnes dd { color: #16A34A; }
.dp-detail-stitky { display: flex; flex-wrap: wrap; gap: 8px; }
.dp-detail-stitek-odkaz { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 17px; background: #FFFFFF; border: 1px solid #E2E2E8; color: #45454F; font-size: 13px; font-weight: 600; text-decoration: none; }
.dp-detail-stitek-odkaz:hover { border-color: #E30B5C; color: #E30B5C; }

/* Seznam karet vykreslený PHP (oblíbené, AJAX výpisy) – karta .dp2-karta má vzhled v assets/dp2.css. */
ul:has(> .dp2-karta-li), .brxe-shortcode:has(> .dp2-karta-li) { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.dp2-karta-li { position: relative; list-style: none; margin: 0; display: flex; }
.dp2-karta-li > .dp2-karta { width: 100%; }
@media (max-width: 1279px) { ul:has(> .dp2-karta-li), .brxe-shortcode:has(> .dp2-karta-li) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 1023px) { ul:has(> .dp2-karta-li), .brxe-shortcode:has(> .dp2-karta-li) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { ul:has(> .dp2-karta-li), .brxe-shortcode:has(> .dp2-karta-li) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* Přehledy kategorií (nativní smyčky termů, třídy dp-prehled-*) */
.dp-prehled { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; }
.dp-prehled-polozka { display: flex; flex-direction: column; gap: 8px; }
.dp-prehled-karta { position: relative; display: block; border-radius: 16px; overflow: hidden; background: #2A2C36; border: 1px solid #E9E9EE; text-decoration: none; aspect-ratio: 4 / 3; box-shadow: 0 4px 18px rgba(20, 20, 40, .06); }
.dp-prehled-karta:hover { box-shadow: 0 0 0 2px #E30B5C; }
.dp-prehled-obrazek { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-prehled-bez-obrazku { background: linear-gradient(135deg, #3B2A33 0%, #14141A 100%); }
.dp-prehled-nazev { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 14px; background: linear-gradient(180deg, rgba(12, 13, 17, 0) 0%, rgba(12, 13, 17, .92) 100%); color: #FFFFFF; font: 800 17px/1.2 Montserrat, sans-serif; }
.dp-prehled-karta-text { aspect-ratio: auto; min-height: 64px; background: #FFFFFF; }
.dp-prehled-karta-text .dp-prehled-nazev { position: static; display: flex; align-items: center; height: 100%; padding: 18px 16px; background: none; color: #14141A; font-size: 15px; }
.dp-prehled-text { color: #C10A4E; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none; }

@media (max-width: 991px) { .dp-prehled { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .dp-prehled { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

@media (max-width: 478px) {
  .dp-detail-info, .dp-detail-doba { grid-template-columns: minmax(0, 1fr); }
  .dp-detail-telefon-cislo { font-size: 21px; }
}
