/* contatti: CSS delle composizioni, portato dallo <style> dei componenti Astro (src/sezioni/contatti/) e limitato alla classe della sezione. */

/* contatti/Settimana.astro → .b-contatti-settimana */
  .settimana.b-contatti-settimana {
    display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "foto testa" "foto orari" "foto dove";
    grid-template-rows: auto auto 1fr; column-gap: clamp(32px, 7vw, 120px); row-gap: clamp(28px, 5vh, 52px);
    padding: clamp(64px, 12vh, 128px) var(--margine);
  }
  .b-contatti-settimana .vetrina { grid-area: foto; height: min(86svh, 780px); aspect-ratio: 9 / 16; border-radius: var(--raggio); align-self: start; }
  .b-contatti-settimana .vetrina img { object-position: 50% 60%; }
  .b-contatti-settimana .testa { grid-area: testa; align-self: end; }
  .b-contatti-settimana .testa h2 { font-size: var(--scala-3); color: var(--titoli); }
  .b-contatti-settimana .numero {
    display: inline-block; margin-top: .25em; text-decoration: none; white-space: nowrap;
    font: var(--peso-titoli) clamp(3rem, 7.4vw, 7.5rem)/.9 var(--font-titoli); letter-spacing: -0.035em; color: var(--fondo-scuro);
  }
  .b-contatti-settimana .numero:hover { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 10px; }
  .b-contatti-settimana .altri { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
  .b-contatti-settimana .altri a:not(.btn) { font-weight: 600; text-underline-offset: 4px; }

  .b-contatti-settimana .orari { grid-area: orari; }
  .b-contatti-settimana .orari .etichetta, .b-contatti-settimana .indirizzo .etichetta { color: var(--testo-secondario); margin-bottom: 12px; }
  /* La striscia: sette vasche in fila. Un giorno aperto è pieno d'acqua; un giorno chiuso resta vuoto, col bordo. */
  .b-contatti-settimana .giorni { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; max-width: 760px; }
  .b-contatti-settimana .giorno {
    position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
    min-height: 148px; padding: 14px 12px 12px; border-radius: 14px; border: 1.5px solid var(--extra-salvia);
    color: var(--testo-secondario); background: transparent;
    transition: color .45s var(--ease-entrata), border-color .45s var(--ease-entrata);
  }
  .b-contatti-settimana .livello {
    position: absolute; inset: 0; z-index: 0; background: var(--fondo-scuro);
    transform-origin: 50% 100%; transition: transform .55s var(--ease-entrata);
  }
  .b-contatti-settimana .chiuso .livello { display: none; }
  .b-contatti-settimana .giorno > :not(.livello) { position: relative; z-index: 1; }
  .b-contatti-settimana .giorno-nome { font: var(--peso-dettaglio) .8rem/1 var(--font-dettaglio); text-transform: uppercase; letter-spacing: .06em; }
  .b-contatti-settimana .giorno-ore { display: flex; flex-direction: column; gap: 2px; font-weight: 600; font-size: .95rem; line-height: 1.25; font-variant-numeric: tabular-nums; }
  .b-contatti-settimana .aperto { color: var(--testo-su-scuro); border-color: var(--fondo-scuro); }
  .b-contatti-settimana .chiuso { border-style: dashed; }
  .b-contatti-settimana .chiuso .giorno-ore { font-weight: 400; }
  /* Spento finché giorni-accesi non lo accende: solo con l'effetto attivo. */
  .b-contatti-settimana .giorni.in-attesa .aperto:not(.acceso) { color: var(--testo-secondario); border-color: var(--extra-salvia); }
  .b-contatti-settimana .giorni.in-attesa .aperto:not(.acceso) .livello { transform: scaleY(0); }

  .b-contatti-settimana .indirizzo { grid-area: dove; }
  .b-contatti-settimana .via { font: 600 var(--scala-1)/1.25 var(--font-titoli); letter-spacing: -0.01em; color: var(--titoli); margin-bottom: 6px; }
  .b-contatti-settimana .indirizzo .link-freccia { display: inline-block; margin-top: 14px; padding: 10px 0; }

  .settimana:not(:has(.vetrina)).b-contatti-settimana { grid-template-columns: 1fr; grid-template-areas: "testa" "orari" "dove"; }

  @media (max-width: 860px) {
    .b-contatti-settimana .giorno { min-height: 118px; padding: 10px 3px 8px; border-radius: 10px; gap: 10px; align-items: center; text-align: center; }
    .b-contatti-settimana .giorno-nome { font-size: .72rem; letter-spacing: .03em; }
    .b-contatti-settimana .giorno-ore { font-size: .76rem; white-space: nowrap; }
  }
  @media (max-width: 700px) {
    .settimana.b-contatti-settimana {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); grid-template-areas: "testa testa" "orari orari" "foto dove";
      grid-template-rows: auto; column-gap: 20px; row-gap: 32px; padding-block: 56px 72px;
    }
    .b-contatti-settimana .vetrina { width: 100%; height: auto; }
    .b-contatti-settimana .indirizzo { align-self: end; }
    .b-contatti-settimana .via { font-size: 1.2rem; }
    .b-contatti-settimana .giorni { gap: 4px; }
  }
