/**
 * com_bhgshop – frontend styly
 * @version 6.3.0
 *
 * Všechny inline <style> bloky z view šablon přesunuty sem.
 * Sekce: ESHOP, ZAZITKY, PRODUKT, SPOLEČNÉ
 */

/* ==========================================================
   SPOLEČNÉ – spinner, breadcrumbs, divider
   ========================================================== */

/* Chrome, Edge, Safari */
.no-spinners::-webkit-outer-spin-button,
.no-spinners::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
.no-spinners[type="number"] { -moz-appearance: textfield; }

span.divider.icon-location.icon-fw { display: none; }

/* ==========================================================
   ESHOP – tabulkový layout
   ========================================================== */

.bg-muted-10 {
  background: var(--bg-heritage-10, color-mix(in srgb, var(--c-heritage-400) 10%, transparent)) !important;
}
.bhg-table-wrap {
  overflow-x: auto;
}
.bhg-table-products,
.bhg-table-products thead,
.bhg-table-products tbody,
.bhg-table-products tr,
.bhg-table-products th,
.bhg-table-products td {
  --bs-table-bg: transparent;
  --bs-table-color: var(--bs-heading-color, var(--c-merlot-400));
  --bs-table-striped-bg: transparent;
  --bs-table-hover-bg: transparent;
  background-color: transparent !important;
  background: transparent !important;
}
.bhg-table-products thead th {
  background: transparent;
  color: var(--bs-heading-color, var(--c-merlot-400));
  font-size: var(--typo-c2-fs, 12px);
  font-weight: var(--typo-w-ui, 500);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-bottom: 14px;
}
.bhg-table-products tbody tr {
  border-bottom: 1px solid color-mix(in srgb, var(--bs-heading-color, var(--c-merlot-400)) 12%, transparent) !important;
  transition: background .12s ease;
}
.bhg-table-products tbody tr:last-child {
  border-bottom: none !important;
}
.bhg-table-products tbody tr:hover {
  background: color-mix(in srgb, var(--color-text-muted) 8%, transparent);
}
.bhg-table-products td {
  color: var(--bs-heading-color, var(--c-merlot-400));
  border: none;
  padding: 12px 10px;
}
.bhg-table-products td a {
  color: var(--bs-heading-color, var(--c-merlot-400));
}
.bhg-table-products td .text-muted {
  color: var(--color-text-muted) !important;
}

/* ==========================================================
   ZAZITKY – dlaždice přehledu zážitků
   ========================================================== */

.bhg-product-tile {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  border: 0;
  box-shadow: none;
}
.bhg-product-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  background-color: #fafafa;
}
.bhg-product-img-wrapper {
  position: relative;
  width: 100%;
  padding-top: 66.6667%; /* 3:2 */
  overflow: hidden;
  border-radius: .5rem .5rem 0 0;
}
.bhg-product-img-wrapper img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bhg-product-tile:hover .bhg-product-img-wrapper img {
  transform: scale(1.03);
}
.bhg-product-body {
  padding: 1rem 0.25rem 0.75rem;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.bhg-addtocart-btn {
  display: block;
  width: 100%;
  border-radius: 0;
  border: 1px solid #111;
  background-color: #ffffff;
  color: #111;
  padding: 0.7rem 1rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.8rem;
  font-weight: 500;
  text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.bhg-addtocart-btn:hover,
.bhg-addtocart-btn:focus {
  background-color: #111;
  color: #ffffff;
  border-color: #111;
}
.bhg-addtocart-btn[disabled] {
  opacity: .5;
  cursor: not-allowed;
}

/* ==========================================================
   PRODUKT DETAIL – grid layout, galerie, varianty
   ========================================================== */

/* 50/50 layout */
.bhg-prod {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 2rem;
  align-items: flex-start;
}
@media (max-width: 767.98px) {
  .bhg-prod { grid-template-columns: 1fr; }
}

/* drobečky: mobile nahoře, desktop vpravo */
.bhg-breadcrumbs--mobile { display: none; }
.bhg-breadcrumbs--desktop { display: block; }
@media (max-width: 767.98px) {
  .bhg-breadcrumbs--mobile { display: block; }
  .bhg-breadcrumbs--desktop { display: none; }
}

/* levý blok (media) */
.bhg-left { width: 100%; }

/* obrázky – hlavní 1:1 */
.bhg-media__main-wrapper {
  width: 100%;
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}
.bhg-media__main {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  border: none;
  display: block;
  cursor: zoom-in;
}
.bhg-media__thumbs {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: .75rem;
}
.bhg-media__thumbs img {
  width: 84px;
  height: 84px;
  object-fit: cover;
  border: 1px solid var(--color-border);
  border-radius: 0;
  cursor: pointer;
}
div#bhgGalleryModal {
  z-index: 9999;
}
/* mobile carousel – default skrytý */
.bhg-media__carousel { display: none; }

/* galerie v modalu */
#bhgThumbs img.is-active {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
#bhgGalleryModal .btn-close { z-index: 99; opacity: .9; }
#bhgGalleryModal .btn-close:hover { opacity: 1; }

/* mobile režim galerie */
@media (max-width: 767.98px) {
  .bhg-left {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  .bhg-left.has-gallery .bhg-media__main-wrapper { display: none; }
  .bhg-left.has-gallery .bhg-media__thumbs { display: none !important; }
  .bhg-left.has-gallery .bhg-media__carousel { display: block; }
  .bhg-gallery-scope .bhg-gal-arrow { z-index: 10; }
  #bhgGalleryModal .bhg-gal-arrow { z-index: 10; }
  #bhgGalleryModal .bhg-gal-arrow.carousel-control-prev,
  #bhgGalleryModal .bhg-gal-arrow.carousel-control-next,
  #bhgMediaCarousel .bhg-gal-arrow.carousel-control-prev,
  #bhgMediaCarousel .bhg-gal-arrow.carousel-control-next {
    top: 50%;
    transform: translateY(-50%);
  }
}

/* varianty */
#bhgVariantBtns .btn-check {
  position: absolute;
  clip: rect(0,0,0,0);
  pointer-events: none;
}
#bhgVariantBtns .btn-outline-secondary.active {
  background: var(--color-primary);
  color: var(--on-primary);
  border-color: var(--color-primary);
}

/* detail – typography (jen přímý obsah, ne vnořené moduly) */
.view-produkt .vpravo > h2,
.view-produkt .vpravo > h1 {
  font-size: var(--typo-h4-fs);
  line-height: var(--typo-h4-lh);
  font-weight: 600;
  letter-spacing: 0;
  color: var(--c-merlot-400);
}
@media (max-width: 991.98px) {
  .view-produkt .vpravo > h2,
  .view-produkt .vpravo > h1 {
    margin-top: var(--space-4);
    margin-bottom: var(--space-3);
  }
}
.view-produkt .vpravo > p,
.view-produkt .vpravo > .typo-s3 {
  font-family: var(--cassiopeia-font-family-body);
  font-size: var(--typo-s3-fs);
  line-height: var(--typo-s3-lh);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--c-merlot-300);
}

/* ==========================================================
   PRODUKT TABS – alternativní 1/3+2/3 layout
   ========================================================== */

/* Tabs specifika (kde se liší od default) */
.bhg-tabs { grid-column: 1 / -1; margin-top: 1.5rem; }
.bhg-prod .bhg-title { margin: 0 0 .35rem; font-size: clamp(1.4rem, 2.2vw, 2rem); }
.bhg-price { font-weight: 700; font-size: 1.35rem; }
.bhg-meta { font-size: .95rem; color: var(--color-text-muted); }
.bhg-buy {
  display: flex;
  gap: .75rem;
  align-items: center;
  margin: 1rem 0 1.5rem;
}
.bhg-btn {
  display: inline-block;
  padding: .75rem 1.25rem;
  border-radius: 12px;
  border: 0;
  background: var(--color-primary);
  color: var(--on-primary);
  font-weight: 600;
  cursor: pointer;
}
.bhg-btn[disabled] { opacity: .6; cursor: not-allowed; }
.bhg-attrs { list-style: none; padding: 0; margin: 0; }
.bhg-attrs li {
  display: flex;
  gap: .5rem;
  padding: .25rem 0;
  border-bottom: 1px dashed var(--color-border);
}
.bhg-attrs b { min-width: 140px; }

/* ==========================================================
   ESHOP NOIMAGECAT / NO-CARD – dlaždice, qty, kategorie buttony
   ========================================================== */

.bhg-product-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}
.bhg-product-desc {
  font-size: 0.875rem;
  color: #777777;
  margin-bottom: 0.75rem;
  height: 100%;
}

/* qty spinner (noimagecat popup) */
.bhg-qty {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  background-color: #f8f8f8;
  font-size: 14px;
}
.bhg-qty button {
  border: 0;
  background: transparent;
  width: 40px;
  height: 32px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bhg-qty input.bhg-qty-input {
  width: 50px;
  height: 32px;
  border: 0;
  text-align: center;
  background: #fff;
  outline: none;
}
.bhg-qty button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

/* kategorie jako buttony */
.bhg-cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.bhg-cat-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  border: 1px solid #111;
  background-color: #ffffff;
  color: #111;
  padding: 0.7rem 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.bhg-cat-btn:hover,
.bhg-cat-btn:focus {
  background-color: #111;
  color: #ffffff;
  border-color: #111;
  transform: translateY(-1px);
}
.bhg-cat-btn--active {
  background-color: #111;
  color: #ffffff;
  border-color: #111;
}

/* ==========================================================
   ESHOP BAUERGROUP-CAT
   ========================================================== */

.bhg-subcats {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .25rem 0;
}
.bhg-prod-img {
  display: block;
  height: auto;
}
.bhg-prod-card {
  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform;
}
.bhg-prod-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.12);
}
.bhg-prod-card:focus-within {
  transform: translateY(-8px);
  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.12);
}
@media (prefers-reduced-motion: reduce) {
  .bhg-prod-card { transition: none; }
}
button.bhg-add-btn.is-in-cart { opacity: 1; }
button.bhg-add-btn.is-in-cart .bhg-add-btn__icon { display: inline-flex !important; }
button.bhg-add-btn.is-in-cart {
  background: var(--c-merlot-400);
  border-color: var(--c-merlot-400);
  color: var(--c-canvas);
}

/* ==========================================================
   CART / POKLADNA
   ========================================================== */

#bhgCheckoutForm .iti { width: 100%; }
#bhgCheckoutForm .iti input.form-control {
  width: 100%;
  padding-left: 105px !important;
}
#bhgCheckoutForm .iti__flag-container {
  inset-inline-start: 0;
  height: 100%;
  display: flex;
  align-items: center;
  padding-inline: 0;
  border: 1px solid var(--bs-border-color);
  border-right: 0;
  border-radius: .375rem 0 0 .375rem;
  background-color: var(--bs-body-bg);
}
#bhgCheckoutForm .iti--separate-dial-code input.form-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
#bhgCheckoutForm .iti--separate-dial-code .iti__selected-dial-code {
  font-weight: 500;
  padding-inline: .25rem .25rem;
}
#bhgCheckoutForm .iti__country-list {
  border-radius: .5rem;
  box-shadow: var(--bs-box-shadow);
}
#bhgCheckoutForm .form-label { margin-bottom: .35rem; }
#bhgCheckoutForm .form-check .form-check-input { margin-top: .3rem; }
@media (min-width: 992px) {
  .bhg-cart .bhg-summary-sticky {
    position: sticky;
    top: 16px;
  }
  .bhg-cart .row.g-4 {
    align-items: stretch !important;
  }
}

label.form-check-label,
label.form-label {
  font-family: var(--cassiopeia-font-family-body);
  font-size: var(--typo-s3-fs);
  line-height: var(--typo-s3-lh);
  font-weight: 500;
  color: var(--c-merlot-400);
}

#bhgCheckoutForm .form-control,
#bhgCheckoutForm .form-select {
  background-color: transparent !important;
  color: var(--color-text) !important;
  font-family: var(--cassiopeia-font-family-body);
}
#bhgCheckoutForm .form-control::placeholder {
  color: var(--color-text-muted);
  opacity: .6;
}
#bhgCheckoutForm .form-control:focus,
#bhgCheckoutForm .form-select:focus {
  background-color: transparent !important;
  color: var(--color-text) !important;
}
#bhgCheckoutForm .form-control:-webkit-autofill,
#bhgCheckoutForm .form-control:-webkit-autofill:hover,
#bhgCheckoutForm .form-control:-webkit-autofill:focus,
#bhgCheckoutForm .form-control:-webkit-autofill:active,
#bhgCheckoutForm .form-select:-webkit-autofill,
#bhgCheckoutForm .form-select:-webkit-autofill:hover,
#bhgCheckoutForm .form-select:-webkit-autofill:focus,
#bhgCheckoutForm .form-select:-webkit-autofill:active {
  -webkit-text-fill-color: var(--color-text) !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
  background-color: transparent !important;
  color: var(--color-text) !important;
  transition: background-color 600000s 0s, color 600000s 0s;
  caret-color: var(--color-text);
}

/* ==========================================================
   CREATE / FORM-EXP – formulář zážitku
   ========================================================== */

form#voucher .form-control,
form#voucher .form-select,
form#voucher textarea.form-control {
  background-color: transparent !important;
  color: var(--color-text) !important;
  border-radius: 8px;
  font-family: var(--cassiopeia-font-family-body);
  font-size: var(--typo-b1-fs);
  line-height: var(--typo-b1-lh);
  padding: .625rem 1rem;
  width: 100%;
  resize: vertical;
  transition: border-color .15s ease, box-shadow .15s ease;
}
form#voucher .form-control:focus,
form#voucher .form-select:focus,
form#voucher textarea.form-control:focus {
  background-color: transparent !important;
  color: var(--color-text) !important;
  outline: none;
}
form#voucher .form-control::placeholder,
form#voucher textarea.form-control::placeholder {
  color: color-mix(in srgb, var(--color-text) 50%, transparent) !important;
}
form#voucher .form-control:-webkit-autofill,
form#voucher .form-control:-webkit-autofill:hover,
form#voucher .form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--color-text) !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  background-color: transparent !important;
  transition: background-color 600000s 0s, color 600000s 0s;
}
form#voucher select#experience_select { color: var(--color-text); }
#multiplierWrap .btn { white-space: nowrap; }
#multiplierWrap .btn-check { position: absolute; clip: rect(0,0,0,0); pointer-events: none; }
#multiplierWrap .btn-outline-secondary.active {
  background: var(--color-primary);
  color: var(--on-primary);
  border-color: var(--color-primary);
}
.cart > input,
.cart > div#emailFeedback { margin-top: 1rem; }

/* náhled obrázku voucheru */
.bhg-voucher-preview { border-radius: 16px; overflow: hidden; }
.bhg-voucher-preview-inner { position: relative; width: 100%; padding-top: 100%; }
#voucherPreviewImg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bhg-voucher-preview-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-align: center;
  color: var(--color-text-muted);
}
.btn.btn-outline-secondary:hover,
.btn.btn-outline-secondary:active,
.btn.btn-outline-secondary:focus {
  background-color: inherit;
  color: inherit;
}
body.view-eshop .breadcrumbs.no-card.small.horni { display: none; }

/* form-EXP root overrides */
h1.hx-border { padding-top: 2rem !important; }

/* ==========================================================
   SERVICES/VP – wine pairing, SIL nápoje/boxy
   ========================================================== */

.btn-check { position: absolute; clip: rect(0,0,0,0); pointer-events: none; }
.wine-pairing-question .btn-outline-secondary.active {
  background: var(--color-primary);
  color: var(--on-primary);
  border-color: var(--color-primary);
}
.wine-pairing-question {
  border-bottom: 1px dashed #ddd;
  padding-bottom: .5rem;
  margin-bottom: .5rem;
}
.sil-drinks-group { display: flex; flex-wrap: wrap; gap: .5rem; }
.sil-drink-input { position: absolute; clip: rect(0,0,0,0); }
.sil-drink-btn {
  background: color-mix(in srgb, var(--color-text-muted) 12%, transparent);
  color: var(--color-text);
  font-weight: 600;
  padding: .5rem 1rem;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
}
.sil-drink-input:checked + .sil-drink-btn {
  background: var(--c-forest-400);
  color: var(--c-surface);
}
.sil-box-group { display: flex; flex-wrap: wrap; gap: .5rem; }
.sil-box-input { position: absolute; clip: rect(0,0,0,0); }
.sil-box-btn {
  background: color-mix(in srgb, var(--color-text-muted) 12%, transparent);
  color: var(--color-text);
  font-weight: 600;
  padding: .5rem 1rem;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
}
.sil-box-input:checked + .sil-box-btn {
  background: var(--c-forest-400);
  color: var(--c-surface);
}

/* ==========================================================
   EXTEND – prodloužení voucheru
   ========================================================== */

.bhg-extend .form-control,
.bhg-extend .form-select {
  background-color: transparent !important;
  color: var(--color-text) !important;
  font-family: var(--cassiopeia-font-family-body);
}
.bhg-extend .form-control::placeholder {
  color: var(--color-text-muted);
  opacity: .6;
}
.bhg-extend .form-control:focus,
.bhg-extend .form-select:focus {
  background-color: transparent !important;
  color: var(--color-text) !important;
}
.bhg-extend .form-control:-webkit-autofill,
.bhg-extend .form-control:-webkit-autofill:hover,
.bhg-extend .form-control:-webkit-autofill:focus,
.bhg-extend .form-control:-webkit-autofill:active {
  -webkit-text-fill-color: var(--color-text) !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  background-color: transparent !important;
  transition: background-color 600000s 0s, color 600000s 0s;
}
.bhg-extend .form-label {
  font-family: var(--cassiopeia-font-family-body);
  font-weight: 500;
  color: var(--c-merlot-400);
}

/* ==========================================================
   ROOMENTRY – vstup do pokoje
   ========================================================== */

form#bhgRoomEntryForm input:not(.form-check-input),
form#bhgRoomEntryForm textarea {
  background-color: transparent !important;
}
form#bhgRoomEntryForm .own-select {
  position: relative !important;
  display: inline-block;
  overflow: visible !important;
  width: 100%;
}
form#bhgRoomEntryForm .own-select > select.form-select {
  width: 100%;
  background-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2.5rem;
}
form#bhgRoomEntryForm .own-select::after {
  content: "";
  position: absolute;
  right: .9rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  width: 0;
  height: 0;
  border-left: .35rem solid transparent;
  border-right: .35rem solid transparent;
  border-top: .45rem solid currentColor;
}

/* ==========================================================
   CREATE DEFAULT – progress/status view
   ========================================================== */

.create-progress .progress {
  height: 10px;
  background: #e9ecef;
  border-radius: 999px;
  overflow: hidden;
  margin: 6px 0 10px;
}
.create-progress .progress > i {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--c-primary), #6ea8fe);
}
.create-progress .badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 999px; font-weight: 600; }
.create-progress .pending { background: rgba(13,110,253,.12); color: var(--c-primary); }
.create-progress .ok { background: rgba(25,135,84,.12); color: var(--c-success); }
.create-progress .err { background: rgba(220,53,69,.12); color: var(--c-danger); }
.create-progress .dot { width: 10px; height: 10px; border-radius: 999px; background: currentColor; opacity: .9; }
