/* JdemeBruslit – veřejný detail kluziště, datově sjednocený s administrací. */
.rink-detail-hero{--detail-cover:none;position:relative;isolation:isolate;min-height:565px;padding:74px 0 82px;border-radius:0 0 42px 42px;overflow:hidden;color:#fff;background:#061a38 var(--detail-cover) center/cover no-repeat}
.rink-detail-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--detail-cover) center/cover no-repeat;transform:scale(1.015)}
.detail-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,18,42,.96) 0%,rgba(3,25,58,.88) 47%,rgba(3,25,58,.56) 100%)}
.detail-hero-grid{min-height:410px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,560px);gap:58px;align-items:center}
.detail-hero-copy{position:relative;z-index:1}.detail-hero-copy .breadcrumb,.detail-hero-copy .breadcrumb a{color:#d7e9ff}.detail-hero-copy h1{font-size:clamp(44px,5.2vw,76px);line-height:.99;letter-spacing:-.055em;margin:20px 0;max-width:900px;color:#fff}
.detail-rink-logo{display:block;width:auto;max-width:min(220px,70%);height:auto;max-height:82px;object-fit:contain;object-position:left center;margin:20px 0 16px;padding:10px 13px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.detail-hero-photo{display:block;width:100%;height:390px;object-fit:cover;border-radius:38px;border:1px solid rgba(255,255,255,.26);box-shadow:0 30px 90px rgba(0,0,0,.34)}
.detail-hero-socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 0}.detail-hero-social{width:46px;height:46px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.62);border-radius:50%;transition:background .18s ease,color .18s ease,transform .18s ease}.detail-hero-social:hover{background:#fff;color:#0875c9;transform:translateY(-2px)}.detail-hero-social:focus-visible{outline:3px solid #77cfff;outline-offset:3px}.detail-hero-social svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.detail-hero-social svg .fill{fill:currentColor;stroke:none}.detail-hero-social[aria-label="Facebook"] svg{fill:currentColor;stroke:none}.rink-detail-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.rink-detail-hero .hero-secondary{background:#fff;color:#09294c;border:1px solid #fff}.rink-detail-hero .status-pill{font-size:14px;padding:9px 14px}
.rink-detail-section{background:linear-gradient(180deg,#f3f8fd 0%,#edf4fb 100%);padding:72px 0 90px}.detail-vizitka{display:block!important}.detail-vizitka>.detail-card{margin-bottom:26px}.detail-paired-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start;margin-bottom:26px}.detail-stack{display:flex;flex-direction:column;gap:26px;min-width:0}.detail-paired-columns>.detail-card{height:100%}.detail-card{background:#fff;border:1px solid #d8e8f6;border-radius:30px;padding:32px;box-shadow:0 18px 55px rgba(9,35,72,.09);min-width:0}.detail-card.full{width:100%}.detail-card h2{font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.04em;color:#071f40;margin:0 0 18px}.detail-card p{line-height:1.55}.detail-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.detail-card-heading h2{margin-bottom:5px}.detail-card-heading p{margin:0;color:#71829b}.detail-label{display:inline-flex;border:1px solid #bfe1fb;background:#eff8ff;color:#35719e;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:900;white-space:nowrap}
.about>p{font-size:18px;color:#274767;margin:0 0 22px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-grid>div{background:#f7faff;border:1px solid #dceaf7;border-radius:19px;padding:16px}.info-grid b,.info-grid span{display:block}.info-grid span{color:#6d7f96;margin-top:5px;line-height:1.35;overflow-wrap:anywhere}.benefit-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.benefit-line span{background:#eaf7ff;border:1px solid #cbe8fb;color:#086ba8;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-item{border:1px solid #d6e7f5;border-radius:20px;padding:17px;background:#fff}.price-item small,.price-item strong{display:block}.price-item small{color:#71829b;font-weight:850}.price-item strong{color:#071f40;font-size:27px;margin-top:5px}.detail-note{margin-top:14px;padding:15px 17px;background:#f7faff;border:1px solid #dceaf7;border-radius:18px}.detail-note b,.detail-note span{display:block}.detail-note span{margin-top:4px;color:#315170}
.hours-list{display:grid;gap:0}.hours-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dfeaf4}.hours-list span{text-align:right}.hours-extra{padding:12px 14px;margin:14px 0 0!important;border-radius:16px;background:#f7faff;color:#365470}
.services-matrix.wide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.service-tile{min-height:78px;display:flex;align-items:center;gap:12px;border:1px solid #d8e8f6;border-radius:20px;padding:14px;background:#fff}.service-tile.on{background:#f1faff;border-color:#bfe4fb;color:#092d55}.service-tile.off{opacity:.42}.service-tile .tile-icon{width:30px!important;height:30px!important;min-width:30px!important}.service-tile span,.service-tile b,.service-tile small{display:block}.service-tile b{line-height:1.15}.service-tile small{color:#71829b;margin-top:3px}
.gallery-card .detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px;gap:14px}.gallery-card .detail-gallery img{width:100%;height:100%;object-fit:cover;border-radius:23px;background:#e9f0f6}.gallery-card .detail-gallery img:first-child{grid-row:span 2}
.rink-live-camera-card{overflow:hidden}.rink-live-camera-heading{align-items:center}.rink-live-camera-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;color:#087ac9;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.rink-live-camera-kicker i{width:10px;height:10px;border-radius:50%;background:#20bf63;box-shadow:0 0 0 6px rgba(32,191,99,.12)}.rink-live-camera-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:24px;background:#061a38}.rink-live-camera-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.rink-live-camera-player{display:block;width:100%;max-height:680px;aspect-ratio:16/9;object-fit:contain;border-radius:24px;background:#061a38}.rink-live-camera-caption{margin:16px 0 0!important;padding:14px 16px;border-radius:16px;background:#f2f8fd;color:#47627f}.detail-social-pair.single{grid-template-columns:1fr}
.social-card .detail-empty{min-height:118px;display:grid;align-content:center;gap:8px;border:1px dashed #cfe1f2;background:#f9fbfe;border-radius:22px;padding:22px}.detail-empty b,.detail-empty span{display:block}.detail-empty span{color:#71829b}.social-link,.rating-box{min-height:118px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #cde5f7;background:#f2faff;border-radius:22px;padding:22px;text-decoration:none}.rating-box strong{font-size:32px;color:#f4a700}.rating-box a,.social-link{font-weight:900;color:#077fcf}
.contact-card{grid-column:1/-1}.contact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-list a{display:block;text-decoration:none;border:1px solid #d7e7f5;border-radius:18px;padding:15px;color:#071f40}.contact-list b,.contact-list span{display:block}.contact-list span{color:#6d7f96;margin-top:4px;overflow-wrap:anywhere}.custom-card{background:linear-gradient(135deg,#eaf7ff,#fff)}
.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practical-grid>div{min-width:0;padding:16px 18px;border:1px solid #d8e8f6;border-radius:19px;background:#f7faff}.practical-grid b,.practical-grid span{display:block}.practical-grid b{font-size:13px;color:#0877c6}.practical-grid span{margin-top:5px;color:#315170;line-height:1.4;overflow-wrap:anywhere}
.occupancy-layout{display:grid;grid-template-columns:minmax(480px,1.15fr) minmax(280px,.85fr);gap:24px}.occupancy-heatmap{display:grid;grid-template-columns:48px repeat(6,minmax(46px,1fr));gap:8px;align-items:center}.occupancy-heatmap>b{font-size:12px;color:#647891;text-align:center}.occupancy-heatmap>span{height:34px;border-radius:12px;background:#eff5fa;border:1px solid #d7e7f5}.occupancy-heatmap .occ-level-1{background:#dcefff}.occupancy-heatmap .occ-level-2{background:#a8daf8}.occupancy-heatmap .occ-level-3{background:#55b9ef}.occupancy-heatmap .occ-level-4{background:#0787f2}.occupancy-summary{display:grid;gap:12px;align-content:center}.occupancy-summary>div{border-radius:19px;padding:17px;display:grid;gap:5px}.occupancy-summary .calm{background:#eaf9f0;border:1px solid #bce8cc;color:#146737}.occupancy-summary .peak{background:#fff6df;border:1px solid #f3d58e;color:#765200}
.weather-current{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.weather-current>div,.weather-days>div{border:1px solid #d6e7f5;background:#fff;border-radius:20px;padding:17px}.weather-current strong,.weather-current span{display:block}.weather-current strong{font-size:28px;color:#092d55}.weather-current span{color:#71829b;margin-top:5px}.weather-state{display:inline-flex;align-items:center;border:1px solid #bce8cc;background:#eaf9f0;color:#16713c;border-radius:999px;padding:9px 14px;font-weight:900;white-space:nowrap}.weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}.weather-days>div{text-align:center}.weather-days b,.weather-days span{display:block}.weather-days span{margin-top:5px;color:#415e7a}.weather-loading{padding:24px;border-radius:18px;background:#f7faff;color:#71829b}
.map-card>p{margin:-8px 0 16px;color:#71829b}.detail-map{height:480px;border-radius:24px;overflow:hidden;border:1px solid #d3e4f2;background:#e9f1f5}.jdb-marker-icon{background:transparent!important;border:0!important}.jdb-marker-icon span{display:block;width:24px;height:24px;border:4px solid #fff;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.28)}.jdb-marker-icon span.open{background:#20bf63}.jdb-marker-icon span.closed{background:#e75151}.map-card .leaflet-popup-content{width:300px!important;max-width:calc(100vw - 96px)!important;margin:0!important}.map-card .leaflet-popup-content-wrapper{max-width:calc(100vw - 48px);padding:0!important;border-radius:18px!important;overflow:hidden}.map-card .jdb-map-popup{display:grid;gap:7px;width:100%;min-width:0;padding:15px 17px;background:#fff}.map-card .jdb-map-popup b,.map-card .jdb-map-popup small{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}.map-card .jdb-map-popup b{font-size:15px;line-height:1.25;color:#071f40}.map-card .jdb-map-popup small{font-size:12px;line-height:1.42;color:#6d7f96}
.online-ticket-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px;color:#fff;background:linear-gradient(135deg,#061e43,#087bd8);border:0}.online-ticket-card h2{color:#fff}.online-ticket-card p{color:#d9edff}.ticket-discount{display:inline-flex;border-radius:999px;background:#ffcc36;color:#573d00;padding:9px 13px;font-weight:950}.online-ticket-card .ticket-buy-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:0!important}.online-ticket-card .ticket-entry-item{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);border-radius:16px;padding:12px 13px;color:#fff}.online-ticket-card .ticket-entry-copy{min-width:0}.online-ticket-card .ticket-entry-copy b,.online-ticket-card .ticket-entry-copy small{display:block!important;color:#fff!important}.online-ticket-card .ticket-entry-copy b{font-size:15px;line-height:1.2}.online-ticket-card .ticket-entry-copy small{margin-top:4px!important;color:#d9edff!important;font-size:13px}.ticket-quantity{display:flex;align-items:center;gap:5px;flex:0 0 auto;background:#fff;border-radius:12px;padding:4px;color:#071f40}.ticket-quantity button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:9px;background:#e7f4ff;color:#086fbd;font-size:21px;font-weight:900;cursor:pointer}.ticket-quantity button:hover{background:#cceaff}.ticket-quantity button:disabled{opacity:.34;cursor:not-allowed}.ticket-quantity output{min-width:23px;text-align:center;font-weight:950;color:#071f40}.ticket-limit-note{margin:9px 2px 0!important;font-size:12px;color:#d9edff!important}.ticket-total{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-top:12px!important;background:#fff!important;color:#071f40!important;border-radius:16px!important;padding:13px!important}.ticket-total span,.ticket-total b,.ticket-total small{display:block}.ticket-total b{color:#087bd8!important}.ticket-total strong{font-size:25px;color:#071f40!important}.ticket-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
@media(max-width:1080px){.detail-hero-grid{grid-template-columns:1fr 420px;gap:30px}.services-matrix.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.occupancy-layout{grid-template-columns:1fr}.contact-list{grid-template-columns:1fr 1fr}.gallery-card .detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.rink-detail-hero{min-height:0;padding:48px 0 54px}.detail-hero-grid{grid-template-columns:1fr!important}.detail-paired-columns{grid-template-columns:1fr;margin-bottom:20px}.detail-stack{gap:20px}.detail-social-pair{gap:20px}.detail-hero-photo{height:280px}.rink-detail-section{padding:40px 0 60px}.detail-vizitka>.detail-card{margin-bottom:20px}.detail-card{padding:23px;border-radius:24px}.detail-card.full,.contact-card{grid-column:auto}.detail-card-heading{display:block}.detail-label,.weather-state{margin-top:9px}.services-matrix.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.online-ticket-card{grid-template-columns:1fr}.weather-current{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-list{grid-template-columns:1fr}.detail-map{height:360px}}
@media(max-width:520px){.detail-hero-copy h1{font-size:42px}.detail-rink-logo{max-width:180px;max-height:68px;margin:16px 0 13px}.detail-hero-photo{height:230px}.info-grid,.price-grid,.practical-grid,.services-matrix.wide{grid-template-columns:1fr}.online-ticket-card .ticket-buy-grid{grid-template-columns:1fr!important}.gallery-card .detail-gallery{grid-template-columns:1fr;grid-auto-rows:210px}.gallery-card .detail-gallery img:first-child{grid-row:auto}.occupancy-layout{overflow:hidden}.occupancy-heatmap{min-width:520px}.occupancy-card{overflow:auto}.weather-current,.weather-days{grid-template-columns:1fr}.hero-actions .btn{width:100%;justify-content:center}}

/* Detail kluziště na telefonu: dvě čitelné karty vedle sebe, vždy s celým názvem. */
@media(max-width:520px){
  html body main .services-card-wide .services-matrix.wide{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  html body main .services-card-wide .service-tile{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto 1fr!important;
    align-content:start!important;
    justify-items:center!important;
    text-align:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:112px!important;
    gap:6px!important;
    padding:9px 7px!important;
  }
  html body main .services-card-wide .service-tile>.tile-icon{
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
    max-width:21px!important;
    max-height:21px!important;
    padding:5px!important;
    box-sizing:content-box!important;
    justify-self:center!important;
  }
  html body main .services-card-wide .service-tile>span{
    width:100%!important;
    overflow:visible!important;
  }
  html body main .services-card-wide .service-tile>span,
  html body main .services-card-wide .service-tile b,
  html body main .services-card-wide .service-tile small{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  html body main .services-card-wide .service-tile b{
    font-size:clamp(11.5px,3.15vw,13px)!important;
    line-height:1.15!important;
  }
  html body main .services-card-wide .service-tile small{
    font-size:10.5px!important;
    line-height:1.2!important;
    margin-top:4px!important;
  }
}
