/*
  Theme Name: Creekstone 2026
  Theme URI: https://creekstonebarandgrille.com/
  Author: Honestly
  Author URI: https://honestly.co/
  Description: Custom WordPress block theme for Creekstone.
  Requires at least: 6.4
  Tested up to: 6.7
  Requires PHP: 8.1
  Version: 1.0.0
  Text Domain: creekstone
*/

:root {
  interpolate-size: allow-keywords;
}

html :where(img[class*=wp-image-]),
.wp-block-image img {
  vertical-align: middle;
}

a,
.wp-block-button,
.wp-block-button__link,
.wp-block-navigation-item__content {
  transition: all 0.2s;
}

.no-shrink { flex-shrink: 0; }

.block-editor-block-list__layout.is-layout-flex:not(.is-vertical)>.is-block-hidden { height: 0 !important; }

@media screen and (max-width: 600px) {
    html {
        --wp-admin--admin-bar--height: 0;
    }
}

.creekstone-header {
  position: absolute;
  top: var(--wp-admin--admin-bar--height, 0);
  left: 0;
  right: 0;
  z-index: 99;
}
body.front-page .creekstone-sticky-header,
body.block-editor-iframe__body.cs-editing-front-page .creekstone-sticky-header {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100;
  transform: translateY(-100%);
  transition: transform 0.3s;
}
body.block-editor-iframe__body.cs-editing-front-page .creekstone-sticky-header { position: fixed !important; }
body.front-page .creekstone-sticky-header.is-visible { transform: translateY(0); }
@media (max-width: 1024px) {
  body.front-page .creekstone-header { display: none !important; }
  body.front-page .creekstone-sticky-header { transform: none !important; position: absolute !important; }
}
@media (prefers-reduced-motion: reduce) {
  .creekstone-sticky-header { transition: none; }
}

.cs-target {
  --transition-duration: 0.5s;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
.cs-target.is-open { height: auto; overflow: auto; visibility: visible; transition-delay: 0s, 0s, 0s; }
.cs-target-primary-menu,
.cs-target-sticky-menu { transition: height var(--transition-duration), visibility 0s var(--transition-duration), overflow 0s var(--transition-duration); }

.cs-toggle { cursor: pointer; }
.cs-toggle svg .default { display: block; }
.cs-toggle svg .active { display: none; }
.cs-toggle.is-active svg .default { display: none; }
.cs-toggle.is-active svg .active { display: block; }

.cs-menu-card {
  transform: scale(1);
  transition: transform 0.3s;
}
.cs-menu-card:hover {
  transform: scale(1.05);
}
.cs-menu-card .wp-block-cover__background {
  transition: opacity 0.3s;
}
.cs-menu-card:hover .wp-block-cover__background {
  opacity: 0.6 !important;
}

.cs-split-separator {
  anchor-name: --cs-split-separator;
}
.cs-split-separator:after {
  content: '';
  display: block;
  width: 0;
  position: absolute;
  top: anchor(top);
  left: 50%;
  bottom: anchor(bottom);
  border-left: 2px dotted var(--wp--preset--color--cs-accent);
  position-anchor: --cs-split-separator;
}

.cs-slider .stk-block-carousel__dots {
  max-width: calc(100% - 100px);
  margin-left: auto;
  margin-right: auto;
}
.cs-slider .stk-block-carousel__buttons {
  inset: var(--button-offset, 12px) 0;
}

.wp-block-button__link.wp-element-button:has(img) {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.cs-block-link-wrapper {
  position: relative;
}
.cs-block-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  font-size: 0;
  color: transparent;
  text-decoration: none;
}
.cs-block-link:focus-visible {
  outline: 2px solid var(--wp--preset--color--cs-accent, #B59E68);
  outline-offset: 2px;
}
.cs-block-link-wrapper :where(a:not(.cs-block-link), button, input, select, textarea, label, summary) {
  position: relative;
  z-index: 2;
}

.has-cs-brand-background-color .wp-block-button:not(.is-style-outline):not(.is-style-cs-white-button) .wp-element-button:hover,
.has-cs-accent-background-color .wp-block-button:not(.is-style-outline):not(.is-style-cs-white-button) .wp-element-button:hover {
  background: #fff !important;
  color: var(--wp--preset--color--cs-brand);
}

.cs-menu-button,
.cs-menu-button svg path,
.cs-menu-button p,
.cs-mobile-menu-button,
.cs-mobile-menu-button svg path,
.cs-mobile-menu-button p {
  transition: all 0.2s;
}

.cs-menu-button:hover,
.cs-menu-button:hover .cs-menu-button-icon {
  background: var(--wp--preset--color--cs-accent);
}

.cs-menu-button:hover p {
  color: #fff;
}

.cs-menu-button:hover svg path,
.cs-menu-button:hover .cs-menu-button-icon svg path {
  fill: #fff;
}

.cs-menu-button.is-active {
  background: var(--wp--preset--color--cs-brand);
  border-color: var(--wp--preset--color--cs-brand) !important;
}

.cs-menu-button.is-active p { color: #fff; }
.cs-menu-button.is-active svg path,
.cs-mobile-menu-button.is-active .cs-menu-button-icon svg path { fill: var(--wp--preset--color--cs-accent-mid); }

.cs-mobile-menu-button.is-active .cs-menu-button-icon {
  background: var(--wp--preset--color--cs-brand);
  border-color: var(--wp--preset--color--cs-brand) !important;
}

.cs-mobile-menu-button.is-active p { font-weight: 600 !important; }

.cs-event-button.is-active .wp-block-button__link {
  background: var(--wp--preset--color--cs-brand);
  border-color: var(--wp--preset--color--cs-brand) !important;
  color: #fff;
}