/* =================================================================
   GOLDENWOOD AGRO — Layout: Containers, Grid, Sections
   ================================================================= */

/* ── Container ─────────────────────────────────────────────────── */
.gw-container,
.ast-container,
.container {
  width: 100%;
  max-width: var(--gw-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gw-container-pad);
  padding-right: var(--gw-container-pad);
}

.gw-container--wide {
  max-width: 1400px;
}

.gw-container--narrow {
  max-width: 800px;
}

.gw-container--text {
  max-width: 720px;
}

/* ── Section Wrapper ───────────────────────────────────────────── */
.gw-section {
  padding-top: var(--gw-section-py);
  padding-bottom: var(--gw-section-py);
}

.gw-section--sm {
  padding-top: var(--gw-section-py-sm);
  padding-bottom: var(--gw-section-py-sm);
}

.gw-section--lg {
  padding-top: var(--gw-section-py-lg);
  padding-bottom: var(--gw-section-py-lg);
}

.gw-section--white   { background-color: var(--gw-bg-white); }
.gw-section--surface { background-color: var(--gw-bg-surface); }
.gw-section--green   { background-color: var(--gw-bg-green-light); }
.gw-section--gold    { background-color: var(--gw-bg-gold-light); }
.gw-section--dark {
  background-color: var(--gw-bg-dark);
  color: #ffffff;
}
.gw-section--dark h1,
.gw-section--dark h2,
.gw-section--dark h3,
.gw-section--dark h4,
.gw-section--dark p {
  color: rgba(255,255,255,0.9);
}

/* ── Grid System ───────────────────────────────────────────────── */
.gw-grid {
  display: grid;
  gap: var(--gw-grid-gap);
}

.gw-grid--2 { grid-template-columns: repeat(2, 1fr); }
.gw-grid--3 { grid-template-columns: repeat(3, 1fr); }
.gw-grid--4 { grid-template-columns: repeat(4, 1fr); }
.gw-grid--5 { grid-template-columns: repeat(5, 1fr); }
.gw-grid--6 { grid-template-columns: repeat(6, 1fr); }

.gw-grid--2-1  { grid-template-columns: 2fr 1fr; }
.gw-grid--1-2  { grid-template-columns: 1fr 2fr; }
.gw-grid--3-2  { grid-template-columns: 3fr 2fr; }
.gw-grid--2-3  { grid-template-columns: 2fr 3fr; }

/* Auto-fill responsive grids */
.gw-grid--auto-sm {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.gw-grid--auto-md {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.gw-grid--auto-lg {
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}

/* Gap variants */
.gw-grid--gap-sm  { gap: var(--gw-space-4); }
.gw-grid--gap-lg  { gap: var(--gw-grid-gap-lg); }
.gw-grid--gap-xl  { gap: var(--gw-space-12); }

/* ── Flex Utilities ────────────────────────────────────────────── */
.gw-flex {
  display: flex;
  gap: var(--gw-grid-gap);
}

.gw-flex--center {
  align-items: center;
  justify-content: center;
}

.gw-flex--between {
  align-items: center;
  justify-content: space-between;
}

.gw-flex--wrap { flex-wrap: wrap; }

/* ── Section Header (centered title block) ─────────────────────── */
.gw-section-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto var(--gw-space-12);
}

.gw-section-header.left {
  text-align: left;
  margin-left: 0;
}

.gw-section-header h2 {
  margin-bottom: var(--gw-space-4);
}

.gw-section-header p {
  font-size: var(--gw-text-lg);
  color: var(--gw-text-600);
  margin: 0;
}

/* ── Split Layout (image + text side by side) ──────────────────── */
.gw-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gw-space-16);
  align-items: center;
}

.gw-split--3-2 {
  grid-template-columns: 3fr 2fr;
}

.gw-split--2-3 {
  grid-template-columns: 2fr 3fr;
}

.gw-split__image {
  position: relative;
  border-radius: var(--gw-radius-lg);
  overflow: hidden;
}

.gw-split__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-split__content {
  padding: var(--gw-space-4) 0;
}

/* ── Page Header Banner ────────────────────────────────────────── */
.gw-page-banner {
  background: linear-gradient(
    135deg,
    var(--gw-green-800) 0%,
    var(--gw-green-600) 100%
  );
  padding: var(--gw-space-16) 0;
  position: relative;
  overflow: hidden;
}

.gw-page-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.4;
}

.gw-page-banner__content {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #ffffff;
}

.gw-page-banner__title {
  font-size: clamp(var(--gw-text-3xl), 4vw, var(--gw-text-5xl));
  font-weight: var(--gw-fw-extrabold);
  color: #ffffff;
  margin-bottom: var(--gw-space-3);
}

.gw-page-banner__subtitle {
  font-size: var(--gw-text-lg);
  color: rgba(255,255,255,0.8);
  margin: 0;
}

/* ── Breadcrumbs ───────────────────────────────────────────────── */
.gw-breadcrumbs,
.woocommerce-breadcrumb,
.ast-breadcrumbs-wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--gw-space-2);
  font-size: var(--gw-text-sm);
  color: var(--gw-text-muted);
  padding: var(--gw-space-4) 0;
  margin-bottom: var(--gw-space-6);
}

.gw-breadcrumbs a,
.woocommerce-breadcrumb a {
  color: var(--gw-text-muted);
  transition: color var(--gw-transition-fast);
}

.gw-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
  color: var(--gw-primary);
}

.gw-breadcrumbs__sep {
  color: var(--gw-text-100);
  margin: 0 var(--gw-space-1);
}

/* ── Sticky Header Modifier ────────────────────────────────────── */
.ast-header-sticked,
.gw-header--sticky {
  box-shadow: var(--gw-shadow-sm) !important;
}

/* ── Page Layout ───────────────────────────────────────────────── */
.gw-page-content {
  padding-top: var(--gw-section-py);
  padding-bottom: var(--gw-section-py);
}

.gw-sidebar {
  position: sticky;
  top: 100px;
}

/* ── Responsive Breakpoints ────────────────────────────────────── */
@media (max-width: 1200px) {
  .gw-grid--4 { grid-template-columns: repeat(3, 1fr); }
  .gw-grid--5 { grid-template-columns: repeat(3, 1fr); }
  .gw-grid--6 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 992px) {
  .gw-grid--3  { grid-template-columns: repeat(2, 1fr); }
  .gw-grid--4  { grid-template-columns: repeat(2, 1fr); }
  .gw-grid--5  { grid-template-columns: repeat(2, 1fr); }
  .gw-grid--6  { grid-template-columns: repeat(3, 1fr); }
  .gw-grid--2-1 { grid-template-columns: 1fr; }
  .gw-grid--1-2 { grid-template-columns: 1fr; }
  .gw-grid--3-2 { grid-template-columns: 1fr; }
  .gw-grid--2-3 { grid-template-columns: 1fr; }
  .gw-split    { grid-template-columns: 1fr; }
  .gw-split--3-2 { grid-template-columns: 1fr; }
  .gw-split--2-3 { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .gw-grid--2  { grid-template-columns: 1fr; }
  .gw-grid--3  { grid-template-columns: 1fr; }
  .gw-grid--4  { grid-template-columns: repeat(2, 1fr); }
  .gw-grid--6  { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .gw-grid--4  { grid-template-columns: 1fr; }
  .gw-grid--6  { grid-template-columns: repeat(2, 1fr); }
}
