/* TFF Fotoalbums v1.9.2 — one authoritative, isolated site-header system.
   The layout is matched to the site's az19 header specifications.
   This is the only stylesheet that should govern the isolated header geometry.
   It is loaded AFTER legacy shell rules, so prior plugin experiments cannot resize the logo.
*/
html body.tffsite-body #tffsite-root > header.tffsite-header,
html body.tffsite-body #tffsite-root > header.tffsite-header * { box-sizing:border-box; }
html body.tffsite-body #tffsite-root > .tffsite-header {
  position:sticky!important; top:0!important; left:0!important; right:0!important;
  z-index:99990!important; isolation:isolate!important;
  display:block!important; width:100%!important; height:98px!important;
  min-height:98px!important; max-height:98px!important;
  margin:0!important; padding:0!important; border:0!important;
  border-bottom:1px solid #eee9e3!important;
  background:#fff!important; box-shadow:0 5px 20px rgba(26,42,49,.06)!important;
  transform:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
html body.admin-bar.tffsite-body #tffsite-root > .tffsite-header {top:32px!important;}
html body.tffsite-body #tffsite-root .tffsite-header-inner {
  display:grid!important; grid-template-columns:188px minmax(0,1fr) 188px!important;
  width:100%!important; max-width:1510px!important;
  height:100%!important; min-height:98px!important; max-height:98px!important;
  align-items:center!important; gap:clamp(15px,2.1vw,31px)!important;
  margin:0 auto!important; padding:0 clamp(20px,3.1vw,52px)!important;
  position:relative!important; transform:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-brand {
  grid-column:1!important; display:flex!important; justify-content:flex-start!important;
  align-items:center!important; width:188px!important; min-width:0!important;
  max-width:188px!important; height:90px!important; min-height:0!important;
  flex:none!important; justify-self:start!important; position:static!important;
  margin:0!important; padding:0!important; background:none!important; border:0!important;
  border-radius:0!important; box-shadow:none!important; transform:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-brand img {
  display:block!important; flex:none!important; width:190px!important;
  max-width:none!important; height:76px!important; max-height:76px!important;
  min-height:0!important; object-fit:contain!important;
  object-position:center left!important; margin:0!important; padding:0!important;
  border:0!important; box-shadow:none!important; position:static!important;
  transform:none!important; border-radius:0!important;
}
/* Once we have the exact logo used by the site's actual header, use its true 178px width. */
html body.tffsite-body #tffsite-root .tffsite-header.tffsite-logo-matched .tffsite-brand img {
  width:178px!important; max-width:none!important; height:76px!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav {
  grid-column:2!important; display:flex!important; flex-flow:row nowrap!important;
  justify-content:center!important; align-items:center!important;
  gap:clamp(17px,2vw,32px)!important;
  width:100%!important; max-width:none!important;
  height:100%!important; min-height:0!important;
  margin:0!important; padding:0!important; position:static!important;
  overflow:visible!important; float:none!important; background:transparent!important;
  border:0!important; box-shadow:none!important; transform:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav > a,
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-price-trigger {
  position:relative!important; display:inline-flex!important; align-items:center!important;
  justify-content:center!important; flex:0 0 auto!important;
  width:auto!important; min-width:0!important; min-height:42px!important; height:auto!important;
  margin:0!important; padding:9px 0!important;
  background:transparent!important; border:0!important; border-radius:0!important;
  box-shadow:none!important; outline-offset:4px!important;
  font:600 12px/1.4 'Jost','Helvetica Neue',Arial,sans-serif!important;
  letter-spacing:.055em!important; font-style:normal!important;
  color:#243b42!important; text-align:center!important; text-decoration:none!important;
  text-transform:uppercase!important; white-space:nowrap!important;
  vertical-align:middle!important; transform:none!important; text-shadow:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav .tffsite-nav-label {
  font:inherit!important; letter-spacing:inherit!important; color:inherit!important;
  white-space:inherit!important; text-transform:inherit!important; text-decoration:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav > a:is(:hover,:focus-visible,.is-current),
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-price-trigger:is(:hover,:focus-visible) {
  color:#ad765e!important; font-weight:600!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav > a.is-current::after {
  content:''!important; position:absolute!important; display:block!important;
  left:0!important; right:0!important; bottom:0!important;
  height:1px!important; background:#ad765e!important; pointer-events:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav-dropdown {
  display:flex!important; align-items:center!important; justify-content:center!important;
  align-self:stretch!important; height:100%!important; min-height:0!important;
  position:relative!important; margin:0!important; padding:0!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-book {
  grid-column:3!important; justify-self:end!important; display:inline-flex!important;
  justify-content:center!important; align-items:center!important; gap:8px!important;
  width:188px!important; min-width:188px!important; max-width:188px!important;
  min-height:46px!important; height:auto!important; flex:none!important;
  margin:0!important; padding:13px 20px!important;
  background:#b78069!important; border:0!important; border-radius:999px!important;
  box-shadow:0 9px 20px rgba(137,87,69,.17)!important;
  font:700 11px/1.4 'Jost',Arial,sans-serif!important; letter-spacing:.065em!important;
  color:#fff!important; white-space:nowrap!important; text-align:center!important;
  text-decoration:none!important; text-transform:uppercase!important; position:static!important;
  float:none!important; transform:none!important;
}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-book:hover {background:#9d654f!important;color:#fff!important;}
html body.tffsite-body #tffsite-root .tffsite-header .tffsite-mobile {display:none!important;}
@media(max-width:1090px){
 html body.tffsite-body #tffsite-root > .tffsite-header {
   height:82px!important;min-height:82px!important;max-height:82px!important;
 }
 html body.tffsite-body #tffsite-root .tffsite-header-inner {
   display:flex!important;align-items:center!important;justify-content:space-between!important;
   width:100%!important;max-width:1510px!important;height:82px!important;min-height:82px!important;
   margin:0 auto!important;padding:0 22px!important;gap:14px!important;
 }
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-brand {
   width:145px!important;max-width:145px!important;height:80px!important;
   flex:0 1 auto!important;
 }
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-brand img,
 html body.tffsite-body #tffsite-root .tffsite-header.tffsite-logo-matched .tffsite-brand img {
   width:145px!important;max-width:145px!important;height:69px!important;max-height:69px!important;
 }
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-nav,
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-book {display:none!important;}
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-mobile {display:block!important;margin-left:auto!important;}
}
@media(max-width:782px){html body.admin-bar.tffsite-body #tffsite-root > .tffsite-header {top:46px!important;}}
@media(max-width:540px){
 html body.tffsite-body #tffsite-root .tffsite-header-inner {padding:0 13px!important;gap:9px!important;}
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-brand {width:128px!important;max-width:128px!important;}
 html body.tffsite-body #tffsite-root .tffsite-header .tffsite-brand img,
 html body.tffsite-body #tffsite-root .tffsite-header.tffsite-logo-matched .tffsite-brand img {
   width:128px!important;max-width:128px!important;height:66px!important;max-height:66px!important;
 }
}
