/* ============================================================
   Conrad widget controls — CSS bridge
   Adds var-based support for column/gap controls emitted by
   the Elementor base widget class (--cnc-cols-d/-t/-m, --cnc-gap).
   Existing hardcoded columns are preserved as fallback defaults.
   ============================================================ */

/* Grid items default to min-width:auto, so a 1fr track cannot shrink below the item's
   min-content width and a too-high column count overflows the viewport instead of
   squeezing. Every grid below is column-count driven by an editor control, so guard all. */
.tstrip .wrap > *, .guide-checks > *, .plan-steps > *, .g-card-grid > *,
.g-gal-grid > *, .g-place-grid > *, .g-team-grid > *, .tm-grid > * { min-width: 0; }

/* Trust strip (6 col default) */
.tstrip .wrap { grid-template-columns: repeat(var(--cnc-cols-d, 6), 1fr); gap: var(--cnc-gap, 0px); }
@media (max-width: 1080px) { .tstrip .wrap { grid-template-columns: repeat(var(--cnc-cols-t, 3), 1fr); } }
@media (max-width: 560px)  { .tstrip .wrap { grid-template-columns: repeat(var(--cnc-cols-m, 2), 1fr); } }

/* Guide checks (3 col default) */
.guide-checks { grid-template-columns: repeat(var(--cnc-cols-d, 3), 1fr); column-gap: var(--cnc-gap, 34px); }
@media (max-width: 1080px) { .guide-checks { grid-template-columns: repeat(var(--cnc-cols-t, 2), 1fr); } }
@media (max-width: 680px)  { .guide-checks { grid-template-columns: repeat(var(--cnc-cols-m, 1), 1fr); } }

/* Plan steps (3 col default) */
.plan-steps { grid-template-columns: repeat(var(--cnc-cols-d, 3), 1fr); gap: var(--cnc-gap, 60px); }
@media (max-width: 900px) { .plan-steps { grid-template-columns: repeat(var(--cnc-cols-t, 1), 1fr); } }

/* Card grid — g-cards (3 col default) */
.g-card-grid { grid-template-columns: repeat(var(--cnc-cols-d, 3), 1fr); gap: var(--cnc-gap, 28px); }
@media (max-width: 1080px) { .g-card-grid { grid-template-columns: repeat(var(--cnc-cols-t, 2), 1fr); } }
@media (max-width: 640px)  { .g-card-grid { grid-template-columns: repeat(var(--cnc-cols-m, 1), 1fr); } }

/* Gallery — g-gallery (3 col default) */
.g-gal-grid { grid-template-columns: repeat(var(--cnc-cols-d, 3), 1fr); gap: var(--cnc-gap, 16px); }
@media (max-width: 1080px) { .g-gal-grid { grid-template-columns: repeat(var(--cnc-cols-t, 2), 1fr); } }
@media (max-width: 560px)  { .g-gal-grid { grid-template-columns: repeat(var(--cnc-cols-m, 1), 1fr); } }

/* Location cards — g-places (4 col default) */
.g-place-grid { grid-template-columns: repeat(var(--cnc-cols-d, 4), 1fr); gap: var(--cnc-gap, 18px); }
@media (max-width: 1080px) { .g-place-grid { grid-template-columns: repeat(var(--cnc-cols-t, 3), 1fr); } }
@media (max-width: 760px)  { .g-place-grid { grid-template-columns: repeat(var(--cnc-cols-m, 2), 1fr); } }
/* generic.css drops to a single column here; this bridge loads later, so it has to
   restate that band or the 760px rule would win all the way down to 320px. */
@media (max-width: 480px)  { .g-place-grid { grid-template-columns: repeat(var(--cnc-cols-m, 1), 1fr); } }

/* Team grid — g-team (3 col default) */
.g-team-grid { grid-template-columns: repeat(var(--cnc-cols-d, 3), 1fr); gap: var(--cnc-gap, 34px); }
@media (max-width: 1080px) { .g-team-grid { grid-template-columns: repeat(var(--cnc-cols-t, 2), 1fr); } }
@media (max-width: 560px)  { .g-team-grid { grid-template-columns: repeat(var(--cnc-cols-m, 1), 1fr); } }

/* Team (Restored variant) */
.tm-grid { grid-template-columns: repeat(var(--cnc-cols-d, 3), 1fr); gap: var(--cnc-gap, 34px); }
@media (max-width: 1080px) { .tm-grid { grid-template-columns: repeat(var(--cnc-cols-t, 2), 1fr); } }
@media (max-width: 560px)  { .tm-grid { grid-template-columns: repeat(var(--cnc-cols-m, 1), 1fr); } }
