/* Self-hosted fonts (fontsource). Each weight has a latin and a latin-ext
   subset: Polish letters (ą ę ś ł ż ź ć ń) are only in latin-ext; without it
   the browser drew them with a fallback font, so they looked bolder. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-ext-400-normal-2d4e2ecd.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-400-normal-a441a262.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-ext-500-normal-28e6d507.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-500-normal-f289678f.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-ext-600-normal-5d36904a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-600-normal-806047de.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-ext-700-normal-840a28e1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/montserrat/montserrat-latin-700-normal-4cbfa40d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/playfair-display/playfair-display-latin-ext-400-normal-446e196f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/playfair-display/playfair-display-latin-400-normal-316033a8.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/playfair-display/playfair-display-latin-ext-700-normal-616fe068.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/playfair-display/playfair-display-latin-700-normal-a51941ef.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* No `scroll-behavior: smooth` here: it breaks Turbo anchor visits (e.g. the
   CENNIK menu link) - the smooth scroll overshoots or stops at a stale target. */

/* KONTAKT menu link: land on the contact text (not the map section after it),
   just below the fixed-top navbar (58px mobile, 64px desktop). */
#cabinet5_text {
  scroll-margin-top: 58px;
}
@media (min-width: 992px) {
  #cabinet5_text {
    scroll-margin-top: 64px;
  }
}
/* Sticky footer: the page is at least one viewport tall and the content area
   takes the free space, so on short pages the footer sits at the bottom of the
   screen instead of right under the content. dvh follows the mobile browser
   toolbar; vh is the fallback for older browsers. */
body.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
.site-content {
  flex: 1 0 auto;
}
body.site > footer {
  flex-shrink: 0;
}

body {
  --tw-bg-opacity: 1;
  --color-bg: 255, 255, 255;
  background-color: rgba(var(--color-bg),var(--tw-bg-opacity)) !important;
  /* background-color: #252525 !important; */
  color: #000000 !important;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.01em;
}
h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: .025em;
  text-transform: uppercase;
}
strong {
  font-weight: 500;
}
.navbar{
  --tw-bg-opacity: 1;
  --color-bg: 255, 255, 255;
  background-color: rgba(var(--color-bg),var(--tw-bg-opacity)) !important;
}
/* .bg-white, .bg-light {
  background-color: #F9F9F9 !important;
} */
.nav-link {
  font-weight: 500;
}
.nav-link:hover {
  text-decoration: underline;
}
.bg-cover {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.navbar-brand svg {
  display: inline-block;
  vertical-align: middle;
}
.order-btn {
  padding: 10px 20px;
  border-radius: 3px;
  background-color: #b085d8;
  border-color: #ffffff;
  color: white;
  text-decoration: none;
}
.order-btn:hover {
  background-color: #b99bd6;
  color: white;
  text-decoration: none;
}
@media (min-width: 769px) {
  .navbar-nav .nav-item:not(:last-child) {
    border-right: 1px solid #c0b88b;
  }
}
main {
  margin-top: 0px;
}
section {
  height: auto;
  width: 100vw;
  min-height: 1200px;
  .blacked {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    color: white;
    /* font-size: 1.5rem;
    line-height: 1.5;
    text-align: center; */
  }
  .container-desktop {
    padding-left: 20%;
    padding-right: 10%;

    .content_block {
      padding: 30px;
    }
  }
  .container-mobile {
    padding: 70px 20px 50px 20px;
  }
}
.section-text {
  @media (min-width: 769px) {
    min-height: 300px;
    padding: 200px 0;
  }
}
.section-voucher-img {
  min-height: 700px;
}  
/* Hide text sections on desktop */
[id*="_text"] {
  display: none;
}
@media (max-width: 768px) {
  .bg-cover {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    /* min-height: 100vh !important; */
    width: 100vw !important;
  }
  section {
    /* min-height: 100vh !important; */
    min-height: 309px;
    width: 100vw !important;
    overflow: hidden !important;
    .container-desktop {
      display: none;
    }
  }
  /* Show text sections on mobile */
  [id*="_text"] {
    display: flex !important;
  }
  .navbar-brand { font-size: 1.2rem; }
  section { font-size: 16px; }
}
@media (max-width: 600px) {
  .navbar-brand { font-size: 1.2rem; }
  section { font-size: 16px; }
}


.main-image-mobile {
  margin-top: 50px;
}
.secondary-image-mobile {
  margin-top: 10px;
}
.price {
  font-weight: 500;
}
.price_express {
  color: #cb3766 !important;
}
.price_regular {
  color: #000000 !important;
}
.bg-biege {
  background-color: rgb(240, 229, 216);
}
.bg-brown-light {
  background-color: rgb(226, 220, 217);
}

.navbar-brand {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  color: #000000;
  font-weight: 700;
}

/* Admin */
input {
  border-radius: 0px !important;
}
.btn-primary {
  background-color: #12494F;
  border-color: #12494F;
  border-radius: 5px !important;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.btn-primary:hover {
  background-color: #1B636B;
  border-color: #1B636B;
  border-radius: 5px !important;
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(0, 47, 97, 0.35);
}
.btn-primary:active {
  transform: translateY(0);
  background: #0D383D;
  border-color: #0D383D;
}
.card {
  border-radius: 0px !important;
}
.alert-info {
  background-color: rgb(240, 229, 216);
  border-color: rgb(240, 229, 216);
  border-radius: 0px !important;
}
.alert-warning {
  background-color: rgb(226, 220, 217);
  border-color: rgb(226, 220, 217);
  border-radius: 0px !important;
}
.form-check-input:checked {
  background-color: #000000 !important;
  border-color: #000000 !important;
}
.service-card {
  transition: all 0.2s ease;
}
.service-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.service-card:has(.form-check-input:checked) {
  border: 2px solid #cb3766;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
/* Cookiebot banner in the site palette (Free plan has no colour settings).
   Accept and decline look the same on purpose: UODO requires equally
   prominent options. */
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
  background-color: #12494F !important;
  border-color: #12494F !important;
  color: #ffffff !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton:hover {
  background-color: #1B636B !important;
  border-color: #1B636B !important;
}
#CybotCookiebotDialog a,
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
  color: #12494F !important;
  border-color: #12494F !important;
}
#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: #12494F !important;
}

/* "Kup voucher" on the home page: white secondary button next to the
   Rezerwacja ones (same look as .btn-voucher in the cennik). */
.btn-voucher-cta {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #000000;
}
.btn-voucher-cta:hover,
.btn-voucher-cta:focus {
  background-color: #f2ece4;
  color: #000000;
  border-color: #000000;
}
