
/* Source: templates/includes/cookie_notice.html */

  #cookie-banner{
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(120%);
    width: fit-content;
    max-width: 92%;

    /* glass */
    background-color: rgba(255,255,255,.07);
    background-image: linear-gradient(180deg, rgba(17,108,179,.18), rgba(255,255,255,.10));
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 16px;
    backdrop-filter: blur(18px) saturate(155%);
    -webkit-backdrop-filter: blur(18px) saturate(155%);

    color: rgba(20,24,32,.92);
    padding: 14px 18px;

    display: flex;
    gap: 16px;
    align-items: center;

    box-shadow: 0 18px 60px rgba(0,0,0,.22);
    font-size: 14px;
    z-index: 9999;

    transition: transform .6s cubic-bezier(.22,1,.36,1);
  }

  #cookie-banner.show{
    transform: translateX(-50%) translateY(0);
  }

  #cookie-banner a{
    color: #116cb3;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 600;
  }

  #accept-cookies{
    background: #116cb3;
    border: 0;
    color: #fff;
    padding: 8px 16px;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;

    transition: background .25s ease, transform .15s ease, box-shadow .15s ease;
  }

  #accept-cookies:hover{
    background: #0f5fa0;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(17,108,179,.35);
  }

  @media (max-width: 600px){
    #cookie-banner{
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      text-align: center;
    }
    #accept-cookies{ width: 100%; }
  }


/* Source: templates/includes/panel_card_assets.html */

  .lab-panel { --price-col-w: 220px; position: relative; overflow: hidden; }
  .lab-panel .card-inner {
    display: grid;
    grid-template-columns: minmax(0,1fr) var(--price-col-w);
    grid-column-gap: 1.25rem;
    align-items: stretch;
    position: relative;
    padding: .75rem 0;
  }
  .lab-panel .vertical-divider {
    position: absolute; top: 10px; bottom: 10px; right: var(--price-col-w);
    width: 1px; background-color: rgba(0,0,0,.12); z-index: 1;
  }
  .lab-panel .horizontal-divider {
    position: absolute; left: 15px; right: 15px; bottom: 0;
    height: 1px; background-color: rgba(0,0,0,.12); z-index: 2;
  }
  .lab-panel .left-col { min-width: 0; overflow: hidden; padding-left: 1rem; padding-right: .5rem; }
  .lab-panel .left-col, .lab-panel .left-col * { overflow-wrap: anywhere; word-break: break-word; }
  .lab-panel .panel-title { margin: 0 0 .25rem 0; line-height: 1.35; }
  .lab-panel .meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lab-panel .price-col {
    width: var(--price-col-w); display: flex; align-items: center; justify-content: center;
    padding: 0 1rem; background: rgba(0,0,0,.02); z-index: 2;
  }

  .lab-pa-tabs .nav-link { padding: .5rem .75rem; font-size: .9rem; cursor: pointer; }
  .lab-pa-tabs .nav-link i { opacity: .8; }
  .lab-pa-pane { background: #fff; }
  .lab-panel--grid .lab-pa-pane { padding: .75rem; }

  .lab-panel .card-footer {
    background: #f8f9fa;
    border-top: 0 !important;
    box-shadow: none;
    padding: .5rem 1rem;
  }

  .lab-panel--grid .vertical-divider { display: none !important; }
  .lab-panel--grid .card-inner { grid-template-columns: 1fr !important; padding: .5rem 0 !important; }
  .lab-panel--grid .price-col {
    width: 100% !important; background: none !important; padding: .5rem 0 !important;
    justify-content: center !important; text-align: center !important;
  }
  .lab-panel--grid .price-wrap { width: 100%; max-width: 360px; margin: 0 auto; }
  .lab-panel--grid .price-wrap .btn { margin-left: auto; margin-right: auto; }
  .lab-panel--grid .horizontal-divider { left: 0; right: 0; }

  @media (max-width: 991.98px) {
    .lab-panel .vertical-divider { display: none !important; }
    .lab-panel .card-inner { grid-template-columns: 1fr !important; padding: .5rem 0 !important; }

    .lab-panel .price-col{
      width: 100% !important;
      background: none !important;
      padding: .75rem 1rem .25rem !important;
      justify-content: center !important;
      text-align: center !important;
    }
    .lab-panel .price-wrap{
      width: 100%;
      max-width: 360px;
      margin: 0 auto;
    }
    .lab-panel .price-wrap .btn{
      width: 100%;
      max-width: 320px;
      margin-left: auto;
      margin-right: auto;
    }

    .lab-panel .horizontal-divider { left: 0; right: 0; }
  }

  /* ===== CART QTY (только для cart_mode) ===== */
  .lab-panel .cart-qty{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
  }

  .lab-panel .cart-qty__btn{
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.18);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    color: #111;

    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;

    transition: transform .06s ease, background-color .15s ease, border-color .15s ease;
  }

  .lab-panel .cart-qty__btn:hover{
    background: rgba(0,0,0,.04);
    border-color: rgba(0,0,0,.26);
  }

  .lab-panel .cart-qty__btn:active{
    transform: scale(.96);
  }

  .lab-panel .cart-qty__btn:focus{
    outline: none;
    box-shadow: 0 0 0 .2rem rgba(17,108,179,.25);
    border-color: rgba(17,108,179,.55);
  }

  .lab-panel .cart-qty__input{
    width: 86px;
    height: 38px;
    text-align: center;

    border-radius: 12px;
    border: 1px solid rgba(0,0,0,.18);
    background: #fff;

    font-weight: 700;
  }

  .lab-panel .cart-qty__input::-webkit-outer-spin-button,
  .lab-panel .cart-qty__input::-webkit-inner-spin-button{
    -webkit-appearance: none;
    margin: 0;
  }
  .lab-panel .cart-qty__input[type=number]{
    -moz-appearance: textfield;
  }


/* Source: templates/includes/panel_cards_fragment.html */

  .assistant-panel-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 14px;
  }

  .assistant-panel-cards__item {
    min-width: 0;
  }

  .assistant-panel-cards .lab-panel {
    margin-bottom: 0;
    width: 100%;
  }

  .assistant-panel-cards .panel-title {
    font-size: 1rem;
    line-height: 1.35;
  }

  .assistant-panel-cards .meta {
    white-space: normal;
  }

  .assistant-panel-cards .lab-pa {
    display: none;
  }

  .assistant-panel-cards .left-col {
    padding-left: 1rem;
  }

  .assistant-panel-cards .price-col {
    min-width: 220px;
  }

  .assistant-panel-cards .card-footer {
    font-size: .85rem;
  }

  .assistant-panel-cards .price-wrap .btn {
    max-width: 320px;
  }

  @media (max-width: 991.98px) {
    .assistant-panel-cards .price-col {
      min-width: 0;
    }

    .assistant-panel-cards .price-wrap .btn {
      max-width: 320px;
    }
  }


/* Source: templates/includes/search_bar.html */

.search-form[data-smart-search-form] {
  position: relative;
}

.search-form .smart-search-suggest {
  position: absolute;
  top: calc(100% - 2px);
  left: 1rem;
  right: 1rem;
  z-index: 40;
  display: none;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(16,24,40,.12);
  overflow: hidden;
}

.search-form .smart-search-suggest.is-open {
  display: block;
}

.search-form .smart-search-suggest__item {
  display: block;
  width: 100%;
  padding: 12px 14px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.search-form .smart-search-suggest__item:last-child {
  border-bottom: 0;
}

.search-form .smart-search-suggest__item:hover {
  background: #f8fafc;
  text-decoration: none;
}

.search-form .smart-search-suggest__title {
  font-size: 14px;
  font-weight: 700;
  color: #1f2a37;
  margin-bottom: 4px;
}

.search-form .smart-search-suggest__desc {
  font-size: 12px;
  color: #667085;
  line-height: 1.4;
}


/* Source: templates/includes/hero_booking.html */

.hero-with-video { position: relative; overflow: hidden; }
.hero-with-video .bg-video {
  position: absolute; top: 50%; left: 50%;
  min-width: 100%; min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover; z-index: 0;
}
.hero-with-video .overlay {
  position: relative; z-index: 1;
  background: rgba(0,0,0,.35);
  padding: 2.5rem 0 2rem;
}
.hero-form { background: rgba(255,255,255,.9); backdrop-filter: blur(2px); }
@media (max-width: 576px) {
  .hero-with-video .overlay { padding: 1.75rem 0 1.25rem; }
  .hero-form { padding: .75rem !important; }
}


/* Source: templates/account/verification_sent.html */

            .auth-aside,
            .auth-aside * {
              font-size: 14px;
              line-height: 1.55;
            }
            .auth-aside .aside-block + .aside-block {
              margin-top: 14px;
              padding-top: 14px;
              border-top: 1px solid rgba(0,0,0,.08);
            }
            .auth-aside .aside-title {
              font-weight: 600;
              margin-bottom: 8px;
            }
            .auth-aside .aside-list {
              margin: 0;
              padding-left: 18px;
            }
            .auth-aside .aside-list li {
              margin: 0 0 6px 0;
            }
            .auth-aside .aside-list li:last-child {
              margin-bottom: 0;
            }
          

/* Source: templates/account/logout.html */

      /* Если глобальные стили где-то ломают контролы — подстраховка */
      .auth-page .btn{ border-radius: 14px; }
    
