/* ================================================================
   SEC-LOCATIONS v3.4
   Focofy Factory — Design Tokens Contract v3.6

   v3.3 → v3.4:
     - style="border:0;" inline nos iframes → movido para CSS
     - height="360/240" nos iframes → height via CSS (aspect-ratio)
     - rel="noopener" → rel="noopener noreferrer" no link externo
   ================================================================ */

/* ── MAPA ÚNICO ──────────────────────────────────────────────── */

.sec-locations__map{
  background: var(--color-surface-2);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-8);
}

.sec-locations__map iframe {
  display: block;
  width: 100%;
  height: 360px;
  border: 0;
}

.sec-locations__grid{
  display:grid;
  gap: var(--space-6);
  grid-template-columns: 1fr;
}

/* Tablet */
@media (min-width: 768px){
  .sec-locations__grid{ grid-template-columns: repeat(2, 1fr); }
}

/* Desktop */
@media (min-width: 1024px){
  .sec-locations__grid[data-columns="2"]{ grid-template-columns: repeat(2, 1fr); }
  .sec-locations__grid[data-columns="3"]{ grid-template-columns: repeat(3, 1fr); }
  .sec-locations__grid[data-columns="4"]{ grid-template-columns: repeat(3, 1fr); }
}

/* Wide: libera 4 quando selecionado */
@media (min-width: 1440px){
  .sec-locations__grid[data-columns="4"]{ grid-template-columns: repeat(4, 1fr); }
}

.location-card{
  display: flex;
  flex-direction: column;
  background: var(--color-surface-2);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
}

/* ── DESTAQUE (1 unidade) ────────────────────────────────────── */

.sec-locations__featured{
  display: block;
  max-width: 640px;
  margin-inline: auto;
  background: var(--color-surface-2);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
}

.sec-locations__featured .location-card__body{
  padding: var(--space-10);
  gap: var(--space-4);
}

.sec-locations__featured .location-card__title{
  font-size: var(--font-size-3xl);
}

.sec-locations__featured .location-card__info-row{
  font-size: var(--font-size-base);
}

.location-card__body{
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
}

.location-card__eyebrow{
  margin: 0;
  color: var(--color-accent);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.location-card__title{
  margin: 0;
}

.location-card__title a{
  color: var(--color-heading);
  text-decoration:none;
}

.location-card__info{
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.location-card__info-row{
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  line-height: var(--lh-normal);
}

.location-card__info-row a{
  color: inherit;
  text-decoration: none;
}

.location-card__info-row a:hover{
  color: var(--color-link-hover);
}

.location-card__icon{
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.2em;
  color: var(--color-accent);
}

.location-card__map{
  border-radius: var(--radius-md);
  overflow:hidden;
  border: 1px solid var(--color-border-subtle);
}

.location-card__map iframe {
  display: block;
  width: 100%;
  height: 240px;
  border: 0;
}

.location-card__divider{
  width: 100%;
  height: 1px;
  margin: 0;
  border: none;
  background: var(--color-border-subtle);
}

.location-card__actions{
  display:flex;
  gap: var(--space-3);
  flex-wrap:wrap;
}