/**
 * Block Styles - WordPress Convention
 * Custom block styles that can be applied via the editor
 */

/* ==========================================================================
   CUSTOM LIST STYLES
   ========================================================================== */

.wp-block-list.is-style-checkmark,
.wp-block-list.is-style-circle-x,
.wp-block-list.is-style-arrow {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.wp-block-list.is-style-checkmark li,
.wp-block-list.is-style-circle-x li,
.wp-block-list.is-style-arrow li {
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.75em;
  line-height: 1.5;
}

.wp-block-list.is-style-checkmark li::before,
.wp-block-list.is-style-circle-x li::before,
.wp-block-list.is-style-arrow li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.2em;
  height: 1.2em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.wp-block-list.is-style-checkmark li::before {
  background-image: var(--list-icon-checkmark);
}

.wp-block-list.is-style-circle-x li::before {
  background-image: var(--list-icon-circle-x);
}

.wp-block-list.is-style-arrow li::before {
  background-image: var(--list-icon-arrow);
}

/* ==========================================================================
   FULL BLEED UTILITIES
   ========================================================================== */
/* These classes can be added via the Advanced panel in block settings */

.full-bleed-left {
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}

/* ==========================================================================
   ESSENTIAL OVERRIDES ONLY
   ========================================================================== */

/* Prevent horizontal scrollbar */
html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

.wp-site-blocks {
  overflow-x: hidden;
  max-width: 100%;
}

/* Remove default block spacing before template parts */
.wp-site-blocks > .wp-block-template-part {
  margin-block-start: 0;
}

/* Header fixed positioning */
.site-header {
  position: fixed;
  top: 0;
  inset-inline: 0;
  z-index: 100;
}

@media (width <= 768px) {
  .site-header {
    position: relative;
  }
}

/* ==========================================================================
   HERO SPLIT SECTION - IMAGE SIZING
   ========================================================================== */

/* Force column widths for hero split */
.hero-split-section .wp-block-columns .wp-block-column:first-child {
  flex-basis: 35% !important;
  max-width: 35%;
}

.hero-split-section .wp-block-columns .wp-block-column:last-child {
  flex-basis: 65% !important;
  max-width: 65%;
}

/* Limit image size within the column */
.hero-split-section .wp-block-column:first-child .wp-block-image {
  max-width: 100%;
  height: auto;
}

.hero-split-section .wp-block-column:first-child .wp-block-image img {
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: contain;
  object-position: center;
}

/* Responsive adjustments */
@media (max-width: 781px) {
  .hero-split-section .wp-block-columns {
    flex-direction: column;
  }
  
  .hero-split-section .wp-block-columns .wp-block-column:first-child,
  .hero-split-section .wp-block-columns .wp-block-column:last-child {
    flex-basis: 100% !important;
    max-width: 100%;
  }
}
