/* ================================
   DESIGN SYSTEM TOKENS
================================ */
:root {
  /* Colors */
  --color-primary: #111;
  --color-accent: #FFD500;
  --color-white: #ffffff;
  --color-text: #111;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 50px;

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 10px rgba(0,0,0,0.15);
}

/* ================================
   BASE UX
================================ */

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

body {
  color: var(--color-text);
  line-height: 1.6;
}

/* ================================
   ACCESSIBILITY
================================ */

:where(.wp-site-blocks *:focus) {
  outline: none;
}

/* ================================
   LAYOUT RESET (SAFE)
================================ */

.wp-site-blocks > * + * {
  margin-block-start: 0;
}

/* ================================
   UTILITIES
================================ */

.hide-on-mobile {
  display: block;
}

@media (max-width: 767px) {
  .hide-on-mobile {
    display: none !important;
  }
}

/* ================================
   HEADER
================================ */

header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 9999;
  background-color: #fff;
  box-shadow: var(--shadow-sm);
}

/* ================================
   BUTTON SYSTEM
================================ */

.wp-block-button a,
.wp-element-button {
  border-radius: var(--radius-lg);
  padding: 14px 30px;
  font-weight: 400;
  transition: all 0.2s ease;
}

/* Primary */
.wp-block-button.primary a {
  color: var(--color-white);
  background: var(--color-primary);
  border: 2px solid var(--color-primary);
}

/* Secondary */
.wp-block-button.secondary a {
  color: var(--color-primary);
  background: var(--color-accent);
  border: 2px solid var(--color-accent);
}

/* Tertiary */
.wp-block-button.tertiary a {
  color: var(--color-primary);
  background: transparent;
  border: 2px solid var(--color-accent);
}

/* ================================
   LIST ICONS
================================ */

ul.custom-list li::before {
  content: '';
  display: inline-block;
  background: url('check-icon.svg') no-repeat center;
  background-size: 1em;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
}

/* ================================
   ACCORDION
================================ */

/* Accessible focus state (avoid removing outlines completely) */
.wpa-focusable:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Accordion base styles */
.gkit-accordion .gkit-btn-link {
  font-weight: 400;
  font-size: 1.25rem; /* 20px */
  line-height: 1.3;
  background-color: #f9f9f9;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.wp-block-gutenkit-advanced-accordion-item.gkit-card.gutenkit-block {
	background-color: #f9f9f9;
}
/* Active accordion header */
.gkit-accordion .gkit-card-header>.gkit-btn-link,
.gkit-accordion .gkit-card.active .gkit-card-header > .gkit-btn-link,
.gkit-accordion .gkit-card .gkit-card-header > .gkit-btn-link {
  font-weight: 400 !important;
}

/* Remove unnecessary borders between items */
.gkit-accordion .gkit-card:not(:last-child) {
  border-bottom: none;
}

/* Accordion body */
.gkit-accordion .gkit-card-body {
  padding: var(--space-6);
}

/* Accordion body text */
.gkit-accordion .gkit-card-body p {
  font-size: 1.125rem; /* 18px */
  line-height: 1.8;
  margin-bottom: 0;
}

/* ================================
   IMAGES
================================ */

.rounded-image img {
  border-radius: 50%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  box-shadow: var(--shadow-md);
}


/* ================================
   SVG
================================ */

.safe-svg-cover svg {
    fill: rgb(255 213 0);
}

/* ================================
   FOOTER FIX
================================ */

footer :where(.is-layout-flex) {
  gap: 0.25em;
}

/* ================================
   GALLERY
================================ */

[data-foogallery-id="2161"] img {
  border: 2px solid var(--color-accent);
}

/* ================================
   FORMS
================================ */

.fluentform {
  margin-block-start: 0;
}

/* ================================
   TYPOGRAPHY
================================ */

.wp-block-heading {
  line-height: 1.2;
  margin-bottom: var(--space-6);
}

h4.wp-block-heading {
  margin-bottom: 0;
}

/* ================================
   STEPS (FIXED)
================================ */

.step {
  border: 1px solid var(--color-primary);
  padding: var(--space-4);
  border-radius: var(--radius-sm);
}
