/* =====================================================
   TRŽNICA – GLOBAL SITE SHELL
   Koristi se samo na običnim WP stranicama bez TSB front asseta.
   Booking/naslovnica/stolovi zadržavaju izvorni stolovi-core/theme layout.
   ===================================================== */
:root{
  --c-bg:#F2F1EB;
  --c-text:#11573E;
  --c-primary:#11573E;
  --c-primary-hover:#0D422F;
  --c-muted:#76B68A;
  --c-placeholder:#6A8B7F;
  --c-accent:#e83e6d;
  --tsb-shell-max:1024px;
  --tsb-content-max:760px;
  --ff-menu-link:'Fraunces',serif;
}

body.tsb-site-shell{
  background:var(--c-bg);
  color:var(--c-text);
  font-family:'Onest',sans-serif;
}

body.tsb-site-shell.no-scroll,
body.tsb-site-shell.menu-open{
  overflow:hidden;
}

body.tsb-site-shell a{color:inherit;}
body.tsb-site-shell a:hover,
body.tsb-site-shell a:focus{color:var(--c-primary-hover);}

body.tsb-site-shell h1,
body.tsb-site-shell h2,
body.tsb-site-shell h3,
body.tsb-site-shell h4,
body.tsb-site-shell h5,
body.tsb-site-shell h6,
body.tsb-site-shell .likeHeading{
  font-family:'Fraunces',serif;
  color:var(--c-text);
  line-height:1.12;
}

/* ---------- Header: samo kad se booking asseti ne učitavaju ---------- */
body.tsb-site-shell .main-menu-container{
  position:fixed;
  left:0;
  top:0;
  z-index:800;
  width:100%;
  padding-left:24px;
  padding-right:24px;
  background:var(--c-bg);
}

body.tsb-site-shell .site-header,
body.tsb-site-shell header.site-header,
body.tsb-site-shell .main-menu-container .site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:var(--tsb-shell-max);
  margin:0 auto;
  padding:20px 0 !important;
  border-bottom:1px solid rgba(17,87,62,.14);
  background:var(--c-bg);
  color:var(--c-text);
}

body.tsb-site-shell .site-header .logo,
body.tsb-site-shell .site-header .site-branding,
body.tsb-site-shell .logo{
  color:var(--c-primary);
  font-family:'Onest',sans-serif;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.02em;
  text-decoration:none;
}

body.tsb-site-shell .hamburger,
body.tsb-site-shell #open-menu,
body.tsb-site-shell .menu-close{
  appearance:none;
  background:transparent;
  border:0;
  color:var(--c-primary);
  cursor:pointer;
  line-height:0;
  padding:8px;
}

body.tsb-site-shell .hamburger:hover,
body.tsb-site-shell .hamburger:focus,
body.tsb-site-shell #open-menu:hover,
body.tsb-site-shell #open-menu:focus,
body.tsb-site-shell .menu-close:hover,
body.tsb-site-shell .menu-close:focus{
  background:transparent;
  color:var(--c-primary-hover);
}

body.tsb-site-shell .hamburger img,
body.tsb-site-shell #open-menu img{
  display:block;
}

/* ---------- Mobile overlay menu ---------- */
body.tsb-site-shell .mobile-menu,
body.tsb-site-shell #mobile-menu{
  position:fixed;
  inset:0;
  z-index:9999;
  width:100vw;
  min-height:100vh;
  padding:20px 30px;
  overflow-y:auto;
  background:var(--c-bg);
  color:var(--c-text);
  transform:translateX(100vw);
  transition:transform .3s ease;
  visibility:hidden;
  pointer-events:none;
}

body.tsb-site-shell .mobile-menu.open,
body.tsb-site-shell #mobile-menu.open{
  transform:translateX(0);
  visibility:visible;
  pointer-events:auto;
}

body.tsb-site-shell .mobile-container{
  width:100%;
  max-width:var(--tsb-shell-max);
  min-height:calc(100vh - 40px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

@media screen and (min-width:1084px){
  body.tsb-site-shell .mobile-menu,
  body.tsb-site-shell #mobile-menu{
    padding-left:calc((100vw - var(--tsb-shell-max)) / 2);
    padding-right:calc((100vw - var(--tsb-shell-max)) / 2);
  }
}

body.tsb-site-shell .mobile-menu .menu-header,
body.tsb-site-shell #mobile-menu .menu-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:36px;
}

body.tsb-site-shell .mobile-menu .menu-links,
body.tsb-site-shell #mobile-menu .menu-links,
body.tsb-site-shell .mobile-menu ul,
body.tsb-site-shell #mobile-menu ul{
  list-style:none;
  margin:0;
  padding:0;
}

body.tsb-site-shell .mobile-menu .menu-links li,
body.tsb-site-shell #mobile-menu .menu-links li,
body.tsb-site-shell .mobile-menu .menu-item,
body.tsb-site-shell #mobile-menu .menu-item{
  margin:0 0 24px;
}

body.tsb-site-shell .mobile-menu .menu-link,
body.tsb-site-shell #mobile-menu .menu-link,
body.tsb-site-shell .mobile-menu .menu-item > a,
body.tsb-site-shell #mobile-menu .menu-item > a{
  display:block;
  color:var(--c-text);
  font-family:var(--ff-menu-link);
  font-size:36px;
  font-weight:700;
  line-height:1.08;
  text-decoration:none;
}

body.tsb-site-shell .mobile-menu .menu-link:hover,
body.tsb-site-shell #mobile-menu .menu-link:hover,
body.tsb-site-shell .mobile-menu .menu-item > a:hover,
body.tsb-site-shell #mobile-menu .menu-item > a:hover{
  color:var(--c-primary-hover);
}

body.tsb-site-shell .contact-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:36px;
}

body.tsb-site-shell .chip{
  font-size:14px;
  padding:4px 8px;
  border-radius:9999px;
  border:1px solid var(--c-primary);
}

body.tsb-site-shell .legal{
  font-size:12px;
  margin-top:24px;
}

body.tsb-site-shell .payment-info,
body.tsb-site-shell .mobile-menu .payment-info,
body.tsb-site-shell #mobile-menu .payment-info{
  margin:12px 0 36px;
  color:var(--c-text);
  font-size:14px;
  line-height:1.45;
}

body.tsb-site-shell .payment-info h2,
body.tsb-site-shell .payment-info h3,
body.tsb-site-shell .h4{
  margin:0 0 12px;
  font-size:14px;
  font-weight:600;
  font-family:'Onest',sans-serif;
}

body.tsb-site-shell .thebutton,
body.tsb-site-shell .logout-btn{
  text-align:center;
  background-color:var(--c-primary);
  color:#fff;
  display:block;
  width:100%;
  padding:1rem 0;
  border-radius:9999px;
  font-size:1rem;
  font-weight:600;
  margin-top:24px;
  text-decoration:none;
}

/* ---------- Obične WP stranice ---------- */
body.tsb-site-shell.tsb-plain-page .site-main,
body.tsb-site-shell.tsb-plain-page main#content{
  max-width:var(--tsb-shell-max);
  margin:0 auto;
  padding:136px 24px 56px;
}

body.tsb-site-shell.tsb-plain-page .page-header{
  display:none !important;
}

body.tsb-site-shell.tsb-plain-page .page-content,
body.tsb-site-shell.tsb-plain-page .entry-content{
  max-width:var(--tsb-content-max);
  margin:0 auto;
  color:var(--c-text);
  font-size:16px;
  line-height:1.62;
}

body.tsb-site-shell.tsb-plain-page .page-content > *,
body.tsb-site-shell.tsb-plain-page .entry-content > *{
  margin-top:0;
  margin-bottom:18px;
}

body.tsb-site-shell.tsb-plain-page .page-content h1,
body.tsb-site-shell.tsb-plain-page .entry-content h1{
  margin-bottom:22px;
  font-size:36px;
}

body.tsb-site-shell.tsb-plain-page .page-content h2,
body.tsb-site-shell.tsb-plain-page .entry-content h2{
  margin-top:36px;
  margin-bottom:16px;
  font-size:28px;
}

body.tsb-site-shell.tsb-plain-page .page-content h3,
body.tsb-site-shell.tsb-plain-page .entry-content h3{
  margin-top:28px;
  margin-bottom:12px;
  font-size:20px;
}

body.tsb-site-shell.tsb-plain-page .page-content ul,
body.tsb-site-shell.tsb-plain-page .page-content ol,
body.tsb-site-shell.tsb-plain-page .entry-content ul,
body.tsb-site-shell.tsb-plain-page .entry-content ol{
  padding-left:1.35rem;
}

body.tsb-site-shell.tsb-plain-page .page-content a,
body.tsb-site-shell.tsb-plain-page .entry-content a{
  color:var(--c-accent);
  text-decoration:none;
}

@media screen and (max-width:767px){
  body.tsb-site-shell .main-menu-container{
    padding-left:16px;
    padding-right:16px;
  }

  body.tsb-site-shell.tsb-plain-page .site-main,
  body.tsb-site-shell.tsb-plain-page main#content{
    padding:112px 20px 44px;
  }
}
