/* Layout and accessible controls for the original LB Models public design. */
:root { color-scheme: dark; --pink: #de1270; }
body { font-family: "Open Sans", Arial, sans-serif; }
[hidden] { display: none !important; }
button, input, select, textarea { font-family: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid #de1270; outline-offset: 3px; }
.accent { color: #de1270; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.header-shell, .public-main, .footer .root { display: flow-root; }
.header-shell { z-index: 5; }
.public-main { clear: both; }
.header img.logo { display: block; }
.top_qc_item.phone { background-image: url("/data/ico_tel.png"); }
.top_qc_item.phone a { color: inherit; }
.modeling-submenu { left: 425px; width: 235px; }
.modeling-submenu a { width: 215px; }
.menu_place a.right.active { color: white; }
.submenu_place:focus-within .submenu { opacity: 1; visibility: visible; }
.menu_toggler { font: inherit; border: 0; border-bottom: 1px solid black; background: #de1270; box-sizing: content-box; cursor: pointer; }
.menu_toggler:not([hidden])[aria-expanded="false"] + .menu_place { display: none; }
body:has(.menu_toggler[aria-expanded="true"]) .header-shell { z-index: 6; }
.hero-reel { position: relative; float: none; clear: both; width: 100%; overflow-x: auto; scrollbar-width: none; }
.hero-reel::-webkit-scrollbar { display: none; }
.reel-track { display: flex; width: max-content; height: 400px; }
.reel-group { display: grid; flex-shrink: 0; height: 398px; border: 1px solid black; border-left: 0; overflow: hidden; }
.reel-group-1 { width: 429px; }
.reel-group-2, .reel-group-4 { width: 220px; }
.reel-group-3 { width: 440px; grid-template-columns: 1fr 1fr; grid-template-rows: 199px 199px; }
.reel-group-2 { grid-template-rows: 199px 199px; }
.reel-photo { position: relative; display: block; min-height: 0; overflow: hidden; border-bottom: 1px solid black; }
.reel-group-3 .reel-photo:first-child { grid-column: span 2; }
.reel-group-3 .reel-photo:nth-child(2) { border-right: 1px solid black; }
.reel-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.reel-photo .slider_name { position: absolute; top: 0; left: 0; pointer-events: none; }
.reel-group-3 .reel-photo:first-child .slider_name { margin-top: 20%; }
.reel-group-4 .slider_name { margin-top: 78.5%; }
.reel-photo:hover, .reel-photo:focus-visible { opacity: .75; }
.reel-photo:hover .slider_name, .reel-photo:focus-visible .slider_name { opacity: 1; }
.reel-controls { position: sticky; left: calc(100% - 90px); bottom: 12px; width: 80px; display: flex; gap: 4px; opacity: 0; }
.hero-reel:hover .reel-controls, .hero-reel:focus-within .reel-controls { opacity: 1; }
.reel-controls button { width: 36px; height: 36px; border: 1px solid #de1270; background: #161616; color: white; font-size: 24px; cursor: pointer; }
.archive-copy { overflow-wrap: break-word; }
.archive-copy img { max-width: 100%; height: auto; }
.main_box .archive-copy > p:first-child { margin-top: 16px; }
.main_box_l_text.archive-copy > p:first-child { margin-top: 1em; }
.root .archive-copy strong, .root .archive-copy b { font-weight: 600; }
.voices-section, .partners-section { border: 0; }
.catalog-cards { border: 0; margin: 0 0 20px; }
.portfolio-grid { float: left; width: 100%; }
a.ref_item { text-decoration: none; }
a.ref_item .top { object-fit: cover; object-position: center top; }
a.ref_item .gal_item2 { object-fit: cover; object-position: center top; }
a.ref_item img.top, a.ref_item img.gal_item2 { background-image: none; }
a.ref_item:focus-visible .top { filter: none; }
a.ref_item:focus-visible strong, a.ref_item:focus-visible .name { color: #de1270; }
.cover-missing { display: flex; align-items: center; justify-content: center; }
.carousel-track { display: flex; width: 100%; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; align-items: start; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track > * { flex-shrink: 0; scroll-snap-align: start; }
.say_item { display: flow-root; margin: 0; }
.say_avatar .icon img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.say_info span { white-space: normal; }
.carousel-dots { float: left; width: 100%; display: flex; justify-content: center; gap: 10px; margin: 20px 0 0; min-height: 21.5px; flex-wrap: wrap; }
.carousel-dots:empty { display: none; }
.carousel-dots button { display: block; flex: 0 0 10px; width: 10px; height: 10px; padding: 0; border: 0; border-radius: 0; background: #4c4c4c; cursor: pointer; }
.carousel-dots button[aria-current="true"] { background: #de1270; }
.review-slide { width: 25%; }
.slova_item { display: flow-root; }
.slova_item .recenze_img { object-fit: cover; object-position: center top; box-sizing: border-box; }
.root .slova_item p { white-space: pre-line; width: 80%; }
.reviews-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 1.666%; width: 100%; float: left; }
.reviews-grid .review-slide { width: 100%; }
.reviews-grid .slova_item { width: 100%; margin: 35px 0 0; }
.slova_item:focus-within p { max-height: 380px; color: white; }
.refs_line .slova_item { margin-top: 0; margin-bottom: 0; }
.logo_line .logo_item { width: 20%; }
.logo_line .logo_item img { display: block; }
.offers-section { padding-bottom: 35px; }
.banner_item.casting-banner { background-color: #9215b9; }
.banner_item.shooting-banner { float: right; background: #ff3515 url("/data/banner_foto.jpg") right no-repeat; }
a.banner_item::after { content: none; }
.banner-button { position: absolute; bottom: -35px; right: 20px; padding: 12px 20px; background: #9115b9; border: 1px solid #161616; color: white; }
.shooting-banner .banner-button { background: #ff3515; }
.detail { margin: 50px 0 25px; }
.ref_main_img_box img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.profile-share-space { float: left; width: 100%; height: 25px; }
.profile-copy { float: left; width: 100%; }
.root .profile-copy p { margin-top: 0; }
.model_oci { object-fit: cover; display: block; }
.model_info { margin-bottom: 0; }
.model_info_item dt, .model_info_item dd { margin: 0; }
.model_info_item { padding-right: 5.5%; }
.profile-experience { color: white; }
.article-detail { margin: 50px 0 30px; padding-right: 0; width: 97.5%; background: #1e1e1e; }
.root .article-summary { margin: 0; font-style: italic; font-size: 120%; color: #d0d0d0; width: 95%; }
.faq_right_clanek h2 { font-size: 190%; margin: .67em 0; }
.root .model_refs { margin-bottom: 16px; }
.model_refs span { color: white; }
.ref_full_gal a.gal_item img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.ref_full_gal.model-gallery { border-top: 0; }
.footer .youtube-icon { top: 4px; }
.footer_qc a[href^="tel:"] { color: inherit; }
.lightbox { width: min(960px,90vw); border: 1px solid #555; padding: 10px; background: #161616; color: white; text-align: center; }
.lightbox::backdrop { background: #000d; }
.lightbox > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.lightbox img { max-width: calc(100% - 100px); height: auto; max-height: 76vh; object-fit: contain; }
.lightbox button { padding: 6px 12px; margin: 4px 0; color: white; background: #980045; border: 1px solid #de1270; cursor: pointer; }
.section-links { display: flex; flex-wrap: wrap; gap: 12px 24px; clear: both; padding: 20px 0; }
.section-links a[aria-current] { color: white; }
.portfolio-section { float: left; width: 95.24%; margin: 10px 2.38% 35px; }
.page-heading { margin-bottom: 0; }
.article-cards .ref_item { height: auto; }
.article-cards .name { display: block; }
.video-grid { display: grid; clear: both; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 30px 4.175%; padding-top: 30px; }
.video-item { position: relative; height: 200px; display: block; overflow: hidden; background: #252525; }
.video-item > img { width: 100%; height: 100%; object-fit: cover; }
.video-name { position: absolute; left: 0; bottom: 0; width: 90%; padding: 6px 5%; background: #161616cc; color: white; font-size: 80%; }
.video-item .play_ico { position: absolute; inset: 0; }
.application-box { margin: 0 0 30px; padding: 0; width: 100%; background: #1e1e1e; }
.application-box h2 { font-size: 190%; margin: .67em 0; }
.application-form fieldset { float: left; width: 100%; min-width: 0; border: 0; padding: 0; margin: 0; }
.application-form legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.application-form [class^="form_line_"] > label { float: left; display: block; margin: 0 2% 15px 0; min-width: 0; }
.application-form .form_line_1 > label { width: 98%; }
.application-form .form_line_2 > label { width: 48%; }
.application-form .form_line_3 > label { width: 31.3%; }
.application-form .form_line_5 > label { width: 18%; }
.application-form [class^="form_line_"] input, .application-form select { box-sizing: border-box; width: 100%; margin: 0; float: none; }
.application-form .form_line_1 input { padding-inline: 2.04%; }
.application-form .form_line_2 input { padding-inline: 4.167%; }
.application-form .form_line_3 input, .application-form .form_line_3 select { padding-inline: 6.39%; }
.application-form .form_line_5 input { padding-inline: 11.11%; }
.application-form input[type="checkbox"] { accent-color: #de1270; }
.application-form .check { display: block; margin: 12px 0; }
.application-form input[type="file"] { float: left; margin-top: 4px; }
.application-form .form_send_info .check { color: white; font-size: 110%; }
button.form_send { display: block; clear: both; float: left; width: 30%; margin: 30px 0 30px 35%; font-size: 110%; text-transform: uppercase; border: 0; background: #980045; color: white; padding: 14px 0; cursor: pointer; }
.form_ssl img { vertical-align: top; }
.form_tip .check { font-size: 100%; }
.inquiry-box { margin-top: 10px; }
.inquiry-box #form { width: 96%; padding: 20px 0 20px 2.8%; margin-top: 0; }
.inquiry-box select { padding: 10px 4%; background: #161616; color: #e0e0e0; border: 0; border-bottom: 1px solid #4c4c4c; font-size: 100%; }
.foceni_kruhy .kruh_item:last-child { margin-right: 0; }
.foceni_cenik h2 { margin-bottom: 10px; }
.shooting-gallery { border: 0; top: 0; }
.articles, .resource-list { clear: both; }
.articles article { float: left; width: 100%; margin: 20px 0; }
.shoot-categories { display: flex; gap: 20px; width: 100%; float: left; margin: 55px 0 40px; }
.shoot-categories figure { width: calc((100% - 60px) / 4); margin: 0; position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 50%; }
.shoot-categories img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shoot-categories figcaption { position: absolute; left: 0; right: 0; bottom: 16%; color: white; font-size: 120%; background: #de1270; text-align: center; padding: 10px 0; }
.price-list { clear: both; float: left; width: 45%; margin: 20px 0; }
.price-list > div { display: flex; gap: 3%; padding: 8px 2%; }
.price-list > div:nth-child(even) { background: #252525; }
.price-list dt { width: 60%; border-right: 3px solid #161616; }
.price-list dd { width: 37%; margin: 0; }
.detail-gallery { display: grid; clear: both; grid-template-columns: repeat(5,1fr); gap: 30px 4.175%; padding-top: 30px; }
.detail-gallery img { width: 100%; height: 200px; object-fit: cover; }
/* Secure public forms retain the original flat fields and column proportions. */
.intro { float: left; width: 95.24%; padding: 0 2.38% 35px; }
.intro h1 { margin-top: 33px; margin-bottom: 10px; }
.intro h1 em { color: #de1270; font-style: normal; }
.columns { float: left; width: 100%; display: flex; align-items: start; background: #1e1e1e; border-block: 1px solid #4c4c4c; margin-bottom: 30px; }
.columns > .panel { box-sizing: border-box; width: 73%; padding: 20px 0 20px 2.8%; }
.columns > aside { box-sizing: border-box; width: 27%; padding: 20px 2% 360px; background: #252525 url("/data/faq_bg.jpg") no-repeat right bottom / contain; border-left: 1px solid black; border-bottom: 1px solid #4c4c4c; }
.columns > aside h2 { font-size: 190%; margin: .67em 0; }
.faq-link { float: left; width: 85%; padding: 8px 0 8px 15%; background: url("/data/faq_item.jpg") left center no-repeat; color: white; border-bottom: 1px solid #343434; }
.panel { display: flow-root; }
.panel h2 { font-size: 190%; margin: .67em 0; }
.panel form { clear: both; }
.panel fieldset { border: 0; padding: 0; margin: 20px 0; min-width: 0; border-bottom: 1px solid #303030; }
.panel legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2%; width: 98%; clear: both; }
.grid label { display: block; color: white; margin: 0 0 15px; min-width: 0; }
.panel input:not([type="checkbox"]), .panel select, .panel textarea { box-sizing: border-box; display: block; width: 100%; padding: 10px 4%; font-size: 100%; background: #161616; color: #e0e0e0; border: 0; border-bottom: 1px solid #4c4c4c; border-radius: 0; }
.panel input:hover, .panel textarea:hover, .panel select:hover { border-bottom-color: #de1270; }
.panel textarea { min-height: 100px; resize: vertical; }
.panel input[type="file"] { padding: 10px 0; }
.panel .check { display: flex; align-items: baseline; gap: 8px; clear: both; margin: 16px 0; }
.panel input[type="checkbox"] { flex-shrink: 0; accent-color: #de1270; }
.panel label > small { font-size: 80%; color: #888; }
.panel button[type="submit"], #form > button { display: block; clear: both; min-width: 30%; margin: 30px auto; padding: 14px 20px; font-size: 110%; text-transform: uppercase; border: 0; background: #980045; color: white; cursor: pointer; }
.panel .tip { box-sizing: border-box; width: 98%; padding: 12px 0 12px 6%; background: url("/data/form_tip.png") no-repeat left center; font-size: 90%; margin: 0 0 25px; }
.panel label { color: white; }
.preview { display: block; max-width: 100%; max-height: 170px; margin-top: 8px; }
.warning, .field-error { color: #ffb2d1; clear: both; }
.field-error { display: block; }
.warning { border-left: 3px solid #de1270; padding-left: 12px; }
[aria-invalid="true"] { border-color: #ff71ad !important; }
.success { padding: 35px 2.38%; }
#form { clear: both; padding: 20px 2.8%; background: #1e1e1e; margin-top: 30px; }
@media (max-width: 1050px) {
  a.ref_item .top { height: 200px; }
  .model_info_item { padding-right: 3%; }
}
@media (max-width: 1000px) {
  .columns > .panel { width: 63%; }
  .columns > aside { width: 37%; }
  .shoot-categories { display: none; }
}
@media (max-width: 800px) {
  .root { min-width: 0; }
  .header { float: none; display: flow-root; }
  .head_top { height: 120px; }
  .menu_toggler { margin-right: 0; margin-left: 0; font-size: 16px; }
  .submenu_place { width: 100%; }
  .submenu, .modeling-submenu, .modeling-submenu a { width: 100%; }
  .menu_place { display: flow-root; }
  .menu_place a, .submenu a, .menu_place a.right { box-sizing: border-box; margin: 0; height: auto; min-height: 50px; padding: 12px 15px; }
  .menu_place .right { width: 100%; }
  .hero-reel { height: 200px; }
  .reel-track { height: 200px; }
  .reel-group { height: 199px; }
  .reel-group-1 { width: 214.5px; }
  .reel-group-2, .reel-group-4 { width: 110px; }
  .reel-group-2, .reel-group-3 { grid-template-rows: 99px 99px; }
  .reel-group-3 { width: 220px; }
  .main_box .yt_blok > img { display: none; }
  .logo_line .logo_item { width: calc(100% / 3); }
  .review-slide { width: 50%; }
  .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2%; }
  .ref_main_img_box { display: none !important; }
  .model_info_item { width: 26%; padding-right: 5.5%; }
  .columns { display: block; }
  .columns > .panel { width: 100%; padding-right: 2.8%; }
  .columns > aside { width: 100%; padding: 20px 2%; background-image: none; display: flow-root; }
  .price-list { width: 100%; }
  .detail-gallery { grid-template-columns: repeat(3,1fr); }
  .video-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .video-item { height: 100px; }
  .detail-gallery img { height: 100px; }
  .footer .root { min-width: 0; }
  .model_oci { margin-top: 15px; }
}
@media (max-width: 500px) {
  .logo_line .logo_item { width: 50%; }
}
@media (max-width: 400px) {
  .refs_line .review-slide { width: 100%; }
  .grid { grid-template-columns: 1fr; }
  .model_info_item { font-size: 90%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* A compact mobile header; desktop retains the original logo and contact layout. */
.mobile-casting-cta, .mobile-menu-tools { display:none; }
.casting-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; background:#b90055; color:#fff; padding:13px 20px; border:1px solid #ed4e97; border-radius:3px; font-size:16px; font-weight:600; text-decoration:none; box-shadow:0 4px 14px #0003; }
.casting-cta:hover, .casting-cta:focus-visible { background:#d8126b; color:#fff; text-decoration:none; }
.casting-cta span { font-size:22px; line-height:1; }
.home-application { clear:both; display:flow-root; padding-top:22px; margin:0 0 12px; }
.home-application small { display:block; margin-top:9px; color:#bbb; font-size:13px; }
@media(min-width:801px) { .mobile-casting-cta { display:none; } }
@media(max-width:800px) {
 body.legacy-public { background-image:none; }
 .header-shell { padding:0 16px; box-sizing:border-box; }
 .header { float:none; height:auto; width:100%; margin:0; }
 .header .head_top { float:none; height:auto; min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
 .header .brand-home { display:block; flex:1; min-width:0; max-width:329px; }
 .header img.logo { float:none; width:100%; height:auto; margin:0; }
 .header .head_top .lng_panel, .header .head_top .top_qc { display:none; }
 .header .menu_toggler { float:none; display:flex; flex:0 0 44px; width:44px; height:48px; box-sizing:border-box; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:4px; margin:0; border:0; background:none; }
 .hamburger { position:relative; display:block; width:24px; height:18px; }
 .hamburger span { position:absolute; left:0; display:block; width:24px; height:2px; background:#fff; transition:transform .15s,opacity .15s; }
 .hamburger span:nth-child(1) { top:0; }.hamburger span:nth-child(2) { top:8px; }.hamburger span:nth-child(3) { top:16px; }
 .menu_toggler[aria-expanded=true] .hamburger span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
 .menu_toggler[aria-expanded=true] .hamburger span:nth-child(2) { opacity:0; }
 .menu_toggler[aria-expanded=true] .hamburger span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
 .menu-word { font-size:9px; letter-spacing:1px; color:#ddd; line-height:1; }
 .header .mobile-casting-cta { display:flex; box-sizing:border-box; width:100%; min-height:45px; padding:10px 16px; margin:0 0 12px; font-size:15px; }
 .header:has(.menu_toggler:not([hidden])[aria-expanded=false]) .menu_place { display:none; }
 .header .menu_place { display:grid; grid-template-columns:1fr 1fr; gap:0 8px; float:none; width:100%; margin:0 0 14px; padding:10px 12px; box-sizing:border-box; background:#222; border:1px solid #444; border-radius:3px; font-size:14px; font-weight:300; }
 .header .menu_place a { display:flex; align-items:center; float:none; box-sizing:border-box; width:100%; min-height:44px; height:auto; padding:10px 8px; margin:0; border-radius:2px; font-size:13px; text-transform:none; }
 .header .menu_place a.active { color:#ff8ec0; font-weight:600; }
 .header .menu_place a:hover { color:#ff9ac6; background:#32232a; text-decoration:none; }
 .header .submenu_place { display:grid; grid-template-columns:minmax(0,1fr) 44px; grid-column:1/-1; width:100%; float:none; border-block:1px solid #393939; }
 .header .menu_place .dropdown { padding-right:8px; background:none; }
 .submenu-toggle { display:block; background:none; border:0; color:#fff; font-size:24px; cursor:pointer; min-height:44px; }
 .submenu-toggle[aria-expanded=true] { transform:rotate(180deg); }
 .header .submenu { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 8px; position:static; float:none; box-sizing:border-box; width:100%; margin:0; padding:0 0 8px; background:#191919; border:0; opacity:1; visibility:visible; }
 .header .submenu a { width:100%; margin:0; min-height:40px; padding:8px 12px; font-size:12px; border:0; text-transform:none; }
 .submenu-toggle:not([hidden])[aria-expanded=false] + .submenu { display:none; }
 .header .mobile-menu-tools { display:flex; flex-direction:column; grid-column:1/-1; gap:6px; border-bottom:1px solid #444; padding-bottom:8px; margin-bottom:6px; }
 .header .mobile-languages { display:flex; gap:8px; }
 .header .mobile-languages a { width:auto; padding:7px 14px; min-height:38px; border:1px solid #555; font-size:13px; }
 .header .mobile-languages a[aria-current] { border-color:#de1270; color:#ff99c7; }
 .header .mobile-contacts { display:flex; flex-wrap:wrap; gap:0 12px; }
 .header .mobile-contacts a { width:auto; font-size:12px; padding:5px 0; min-height:36px; color:#ccc; }
 .header .menu_place a.right { float:none; width:100%; min-height:44px; padding:10px 8px; margin:0; background:none; }
 .home-application { padding-top:20px; margin:0 0 20px; }
 .home-application .casting-cta { max-width:100%; box-sizing:border-box; }
}
