/**
 * Ateca – Layout (layout.css)
 * @package Ateca
 */

/* ============================================================
   SITE STRUCTURE
   ============================================================ */
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-block-size: 100dvh;
}

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

main{
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

main#main-content {
  flex: 1 1 auto;
  outline: none; /* Skip-link target */
}

/* ============================================================
   CONSTRAINED LAYOUT
   ============================================================ */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-inline-size: var(--ateca-content-width);
  margin-inline: auto;
}

.is-layout-constrained > .alignwide {
  max-inline-size: var(--ateca-wide-width);
  margin-inline: auto;
}

.is-layout-constrained > .alignfull {
  max-inline-size: 100%;
  margin-inline: 0;
}

/* ============================================================
   SECTION SPACING
   Scoped to full-width groups acting as page sections.
   Does NOT apply to every group (avoids over-padding inline groups).
   ============================================================ */
.wp-block-group.alignfull:not([class*="is-style-"]):not([class*="padding"]) {
  padding-block: var(--ateca-space-4xl);
}

/* Named style variants keep their own padding */
.wp-block-group.is-style-surface,
.wp-block-group.is-style-surface-alt,
.wp-block-group.is-style-card {
  padding: var(--ateca-space-2xl);
}

/* ============================================================
   COLUMNS & GRID
   Use .ateca-flex / .ateca-grid to avoid overriding WP core
   layout classes (.is-layout-flex / .is-layout-grid).
   ============================================================ */
.ateca-flex { display: flex; flex-wrap: wrap; gap: var(--ateca-space-l); }
.ateca-grid { display: grid; gap: var(--ateca-space-l); }

/* Auto-responsive grid */
.ateca-auto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: var(--ateca-space-l);
}

/* ============================================================
   POST LAYOUT
   ============================================================ */
.entry-header { margin-block-end: var(--ateca-space-2xl); }

.wp-block-post-content {
  --wp--style--block-gap: var(--ateca-space-l);
}
.wp-block-post-content > * { margin-block-end: var(--ateca-space-l); }
.wp-block-post-content > *:last-child { margin-block-end: 0; }

/* ============================================================
   SIDEBAR LAYOUT
   ============================================================ */
.has-sidebar {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ateca-space-2xl);
  align-items: start;
}
@media (min-width: 900px) {
  .has-sidebar { grid-template-columns: 1fr 300px; }
}

/* ============================================================
   RESPONSIVE MEDIA QUERY UTILITIES
   ============================================================ */
@media (max-width: 600px) {
  .hidden-mobile { display: none !important; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .hidden-tablet { display: none !important; }
}
@media (min-width: 901px) {
  .hidden-desktop { display: none !important; }
}

/* ============================================================
   STICKY HEADER
   ============================================================ */
.wp-block-template-part[class*="header"] {
  position: sticky;
  top: 0;
  z-index: var(--ateca-z-overlay);
  background: var(--ateca-nav-bg);
  box-shadow: var(--ateca-nav-shadow);
  transition: box-shadow var(--ateca-duration-normal) var(--ateca-ease-out);
}

/* ============================================================
   HERO FULL-HEIGHT
   ============================================================ */
.wp-block-cover.is-full-height,
.ateca-hero-full {
  min-block-size: 100svh;
  display: flex;
  align-items: center;
  margin-block-start: 0px !important;
}

/* ============================================================
   PULL-QUOTE & ASIDE
   ============================================================ */
.wp-block-pullquote {
  border-block-start: 4px solid var(--ateca-brand);
  border-block-end: none;
  padding-block: var(--ateca-space-l);
}

/* ============================================================
   PAGINATION
   ============================================================ */
.wp-block-query-pagination {
  display: flex;
  gap: var(--ateca-space-xs);
  flex-wrap: wrap;
  justify-content: center;
  margin-block-start: var(--ateca-space-3xl);
}
.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-previous a,
.wp-block-query-pagination-next a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 40px;
  block-size: 40px;
  padding-inline: var(--ateca-space-s);
  border: 1px solid var(--ateca-border);
  border-radius: var(--ateca-radius-m);
  font-size: var(--ateca-font-size-s);
  font-weight: var(--ateca-font-weight-medium);
  color: var(--ateca-text-secondary);
  text-decoration: none;
  transition: all var(--ateca-duration-fast) var(--ateca-ease-out);
  background: var(--ateca-bg);
}
.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-previous a:hover,
.wp-block-query-pagination-next a:hover {
  background: var(--ateca-surface);
  border-color: var(--ateca-border-strong);
  color: var(--ateca-text);
}
.wp-block-query-pagination-numbers .page-numbers.current {
  background: var(--ateca-brand);
  border-color: var(--ateca-brand);
  color: #fff;
}

.wp-block-accordion-item{
    padding:32px;
}

.wp-block-accordion-item.is-open{
    background-color: #262626;
}

/* ============================================================
   FEATURE CARD RESPONSIVE GRIDS
   ============================================================ */

/*
 * Shared responsive card grid for feature sections.
 * Breakpoints:
 * - 393px–767px  : 1 column, centered, constrained width
 * - 768px–1023px : 2 columns
 * - 1024px+      : 3 columns
 */
.ateca-feature-cards-grid.wp-block-columns,
.ateca-feature-cards-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--preset--spacing--l, var(--ateca-space-l));
  align-items: stretch;
}


.ateca-feature-cards-grid > .wp-block-column,
.ateca-feature-cards-grid > .wp-block-group {
  min-width: 0;
  margin: 0 !important;
}

.ateca-feature-cards-grid .ateca-feature-card {
  height: 100%;
}

.ateca-feature-cards--image .ateca-feature-card {
  overflow: hidden;
}

.ateca-feature-cards--image .wp-block-image,
.ateca-feature-cards--image .wp-block-image img {
  width: 100%;
}

@media (max-width: 767px) {

  .icon-text{
    display: none;
  }

  .card-hr{
    display: none;
  }

  .ateca-feature-cards-grid.wp-block-columns,
  .ateca-feature-cards-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: var(--wp--preset--spacing--xl, var(--ateca-space-xl));
  }

  .ateca-feature-cards-grid > .wp-block-column,
  .ateca-feature-cards-grid > .wp-block-group {
    width: 100%;
    max-width: 24rem;
  }

  .ateca-feature-cards--icon .ateca-feature-card {
    min-height: auto !important;
    padding: var(--wp--preset--spacing--xl, var(--ateca-space-xl)) !important;
  }

  .ateca-feature-cards--image .wp-block-image img {
    aspect-ratio: 16 / 10 !important;
    object-fit: cover;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .ateca-feature-cards-grid.wp-block-columns,
  .ateca-feature-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ateca-feature-cards--image .wp-block-image img {
    aspect-ratio: 4 / 3 !important;
    object-fit: cover;
  }
}

@media (min-width: 1024px) {
  .ateca-feature-cards-grid.wp-block-columns,
  .ateca-feature-cards-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
