/* Palomano Boutique 0.1.52 - final layout layer loaded after legacy styles. */
:root {
  --palo-shell: 1420px;
  --palo-shell-padding: clamp(24px, 4vw, 64px);
  --palo-ink-final: #514b48;
  --palo-muted-final: #746d69;
  --palo-pink-final: #e98a94;
  --palo-pink-line-final: #f1d9dc;
  --palo-yellow-final: #f8cf4f;
  --palo-cream-final: #fff9ef;
}

/* The header is sticky and remains in the document flow. */
body,
body.admin-bar {
  padding-top: 0 !important;
}

body.admin-bar {
  --palo-admin-bar-height: 32px;
}

@media (max-width: 782px) {
  body.admin-bar {
    --palo-admin-bar-height: 46px;
  }
}

.site-header {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--palo-pink-line-final) !important;
  box-shadow: 0 8px 24px rgba(92, 75, 72, 0.05) !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: sticky !important;
  right: 0 !important;
  top: var(--palo-admin-bar-height, 0px) !important;
  width: 100% !important;
  z-index: 999 !important;
}

.site-header > .col-full {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 auto !important;
  max-width: 1540px !important;
  padding: 0 clamp(18px, 2.2vw, 36px) !important;
  width: 100% !important;
}

.palomano-header-shell {
  align-items: center !important;
  display: grid !important;
  gap: clamp(12px, 1.4vw, 22px) !important;
  grid-template-areas: "brand nav actions" !important;
  grid-template-columns: minmax(250px, 1fr) minmax(280px, 350px) auto !important;
  min-height: 92px !important;
  padding: 12px 0 !important;
  width: 100% !important;
}

.palomano-header-shell .palomano-header-branding {
  align-items: center !important;
  display: flex !important;
  gap: 14px !important;
  grid-area: brand !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.palomano-header-logo {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  width: clamp(140px, 10vw, 170px) !important;
}

.palomano-header-logo img {
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  max-height: 58px !important;
  object-fit: contain !important;
  width: 100% !important;
}

.palomano-header-tagline {
  border-left: 1px solid #efcfd3 !important;
  color: var(--palo-ink-final) !important;
  display: grid !important;
  gap: 1px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 2px 0 2px 14px !important;
  text-decoration: none !important;
}

.palomano-header-tagline strong {
  font-size: 1rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.palomano-header-tagline small {
  color: var(--palo-muted-final) !important;
  font-size: 0.76rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

.palomano-header-shell .palomano-journey-nav {
  align-self: center !important;
  background: transparent !important;
  border: 0 !important;
  grid-area: nav !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: static !important;
  width: 100% !important;
}

.palomano-header-shell .palomano-journey-nav__inner {
  align-items: stretch !important;
  background: var(--palo-cream-final) !important;
  border: 2px solid var(--palo-pink-line-final) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 4px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 5px !important;
  width: 100% !important;
}

.palomano-header-shell .palomano-journey-link {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  color: var(--palo-ink-final) !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 10px 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  width: 100% !important;
}

.palomano-header-shell .palomano-journey-link strong {
  color: inherit !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
}

.palomano-header-shell .palomano-journey-link.is-active {
  background: var(--palo-yellow-final) !important;
  color: #4c4743 !important;
}

.palomano-header-shell .palomano-header-actions {
  align-items: center !important;
  display: flex !important;
  gap: 8px !important;
  grid-area: actions !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

.palomano-header-icon {
  align-items: center !important;
  background: #fff !important;
  border: 2px solid #f0d7da !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  color: #4e4946 !important;
  display: inline-flex !important;
  flex: 0 0 48px !important;
  height: 48px !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  position: relative !important;
  width: 48px !important;
}

.palomano-header-icon svg {
  fill: none !important;
  height: 21px !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 1.8 !important;
  width: 21px !important;
}

.palomano-header-cart strong {
  align-items: center !important;
  background: var(--palo-yellow-final) !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  color: #4c4743 !important;
  display: flex !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  height: 23px !important;
  justify-content: center !important;
  min-width: 23px !important;
  padding: 0 4px !important;
  position: absolute !important;
  right: -7px !important;
  top: -8px !important;
}

.palomano-header-button,
.palomano-footer__ticket {
  align-items: center !important;
  background: var(--palo-pink-final) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 750 !important;
  justify-content: center !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.palomano-header-button {
  font-size: 0.93rem !important;
  margin: 0 0 0 3px !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
}

.palomano-search-overlay__logo {
  display: block !important;
  margin: 0 auto 28px !important;
  max-width: 220px !important;
}

.palomano-search-overlay__logo img {
  display: block !important;
  height: auto !important;
  width: 100% !important;
}

.palomano-app-page .site-content,
.palomano-app-page .content-area,
.palomano-app-page .site-main,
.palomano-app-page .hentry,
.palomano-app-page .entry-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.site-footer,
.site-footer > .col-full,
.palomano-footer--service {
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.site-footer,
.palomano-footer--service {
  background: var(--palo-cream-final) !important;
}

.palomano-footer--service {
  padding: clamp(54px, 6vw, 84px) 0 clamp(38px, 4vw, 58px) !important;
}

.palomano-footer__inner {
  box-sizing: border-box !important;
  display: grid !important;
  gap: clamp(44px, 5vw, 70px) !important;
  margin: 0 auto !important;
  max-width: var(--palo-shell) !important;
  padding: 0 var(--palo-shell-padding) !important;
  width: 100% !important;
}

.palomano-footer__intro {
  align-items: center !important;
  display: grid !important;
  gap: clamp(40px, 6vw, 88px) !important;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 0.66fr) !important;
  margin: 0 auto !important;
  max-width: 1240px !important;
  padding: 0 !important;
  width: 100% !important;
}

.palomano-footer__brand-link {
  display: block !important;
  justify-self: start !important;
  margin: 0 !important;
  max-width: 265px !important;
  width: 100% !important;
}

.palomano-footer__brand-link > img {
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  width: 100% !important;
}

.palomano-footer__eyebrow,
.palomano-footer__nav h3 {
  color: #4f4946 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.palomano-footer__eyebrow {
  color: var(--palo-pink-final) !important;
  margin: 0 0 8px !important;
}

.palomano-footer__intro h2 {
  color: #4f4946 !important;
  font-size: clamp(2rem, 3vw, 3.15rem) !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  margin: 0 0 14px !important;
  max-width: 780px !important;
}

.palomano-footer__intro p:not(.palomano-footer__eyebrow) {
  color: var(--palo-muted-final) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  max-width: 720px !important;
}

.palomano-footer__bottom {
  align-items: start !important;
  border: 0 !important;
  display: grid !important;
  gap: clamp(28px, 4vw, 64px) !important;
  grid-template-columns: minmax(150px, 0.8fr) minmax(190px, 1fr) minmax(190px, 1fr) minmax(220px, auto) minmax(130px, auto) !important;
  justify-items: start !important;
  margin: 0 auto !important;
  max-width: 1240px !important;
  padding: 0 !important;
  width: 100% !important;
}

.palomano-footer__nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.palomano-footer__nav h3 {
  margin: 0 0 5px !important;
}

.palomano-footer__nav a {
  color: #625b57 !important;
  display: block !important;
  font-size: 0.97rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  max-width: 220px !important;
  text-decoration: none !important;
  white-space: normal !important;
}

.palomano-footer__ticket {
  font-size: 0.96rem !important;
  justify-self: start !important;
  margin: 0 !important;
  min-height: 50px !important;
  min-width: 220px !important;
  padding: 14px 22px !important;
}

.palomano-footer__copyright {
  align-self: center !important;
  color: var(--palo-muted-final) !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  justify-self: end !important;
  margin: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 1380px) {
  .palomano-header-shell {
    grid-template-columns: minmax(230px, 1fr) minmax(250px, 320px) auto !important;
  }

  .palomano-header-tagline small {
    display: none !important;
  }

  .palomano-header-button {
    font-size: 0.82rem !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (max-width: 1120px) {
  .site-header > .col-full {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .palomano-header-shell {
    gap: 12px 18px !important;
    grid-template-areas: "brand actions" "nav nav" !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 10px 0 12px !important;
  }

  .palomano-header-shell .palomano-journey-nav {
    margin: 0 auto !important;
    max-width: 460px !important;
  }

  .palomano-footer__bottom {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .palomano-footer__ticket,
  .palomano-footer__copyright {
    justify-self: start !important;
  }
}

@media (max-width: 720px) {
  .site-header > .col-full {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .palomano-header-logo {
    width: 132px !important;
  }

  .palomano-header-tagline {
    display: none !important;
  }

  .palomano-header-shell .palomano-header-actions {
    gap: 7px !important;
  }

  .palomano-header-icon {
    flex-basis: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    min-width: 42px !important;
    width: 42px !important;
  }

  .palomano-header-button {
    display: none !important;
  }

  .palomano-header-shell .palomano-journey-link {
    min-height: 42px !important;
    padding: 9px 12px !important;
  }

  .palomano-footer--service {
    padding: 48px 0 38px !important;
  }

  .palomano-footer__inner {
    gap: 38px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .palomano-footer__intro {
    gap: 28px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .palomano-footer__brand-link {
    max-width: 210px !important;
  }

  .palomano-footer__bottom {
    gap: 30px 24px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .palomano-footer__ticket,
  .palomano-footer__copyright {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    text-align: left !important;
  }
}

@media (max-width: 460px) {
  .palomano-header-search {
    display: none !important;
  }

  .palomano-header-logo {
    width: 104px !important;
  }

  .palomano-header-button {
    font-size: 0.72rem !important;
    min-width: 86px !important;
    padding: 8px 9px !important;
    white-space: normal !important;
  }

  .palomano-footer__bottom {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Keep application pages directly attached to the sticky header. */
html body,
html body.admin-bar,
html body.admin-bar.customize-support {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

html body.admin-bar .site-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  html body.admin-bar .site-header {
    top: 46px !important;
  }
}

html body #page.site {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

html body #page.site > .site-header {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

html body #page.site > #content.site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
