/* JEDNA ODRA — style strony: kontakt */
/* Contact channels (top) */
  .channels{background:var(--cream)}
  .channels-grid{
    display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;
  }
  .channel{
    background:#fff;
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    padding:32px 28px;
    transition:border-color .3s, transform .3s;
  }
  .channel:hover{border-color:var(--red);transform:translateY(-4px)}
  .channel-icon{
    width:50px;height:50px;
    background:var(--navy-900);color:#fff;
    border-radius:var(--radius);
    display:grid;place-items:center;
    margin-bottom:18px;
    font-family:var(--font-display);font-size:1.2rem;
  }
  .channel h4{
    font-family:var(--font-display);font-size:1.25rem;
    letter-spacing:0.02em;color:var(--navy-900);margin-bottom:6px;
  }
  .channel-desc{
    font-size:0.85rem;color:var(--muted);
    margin-bottom:14px;line-height:1.5;
  }
  .channel-value{
    font-family:var(--font-display);font-size:1.05rem;
    letter-spacing:0.02em;color:var(--red);
    word-break:break-all;line-height:1.2;
  }
  .channel a.channel-value:hover{text-decoration:underline}

  /* Form + Info split */
  .form-section{background:var(--paper)}
  .form-grid{
    display:grid;grid-template-columns:1.4fr 1fr;gap:50px;
  }

  .form-card{
    background:#fff;
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    padding:48px;
  }
  .form-card h3{
    font-family:var(--font-display);font-size:2rem;
    letter-spacing:0.02em;color:var(--navy-900);margin-bottom:8px;
  }
  .form-card h3 em{font-family:var(--font-editorial);font-style:italic;color:var(--red);font-weight:400}
  .form-card > p{
    color:var(--muted);font-size:0.95rem;margin-bottom:30px;line-height:1.6;
  }

  .form-row{
    display:grid;grid-template-columns:1fr 1fr;gap:16px;
    margin-bottom:18px;
  }
  .form-field{margin-bottom:18px}
  .form-field label{
    display:block;
    font-size:0.72rem;letter-spacing:0.18em;
    color:var(--navy-900);font-weight:700;
    text-transform:uppercase;margin-bottom:8px;
  }
  .form-field input,
  .form-field select,
  .form-field textarea{
    width:100%;
    padding:14px 16px;
    background:var(--cream);
    border:1px solid var(--line-dark);
    border-radius:var(--radius-sm);
    font-family:inherit;font-size:0.95rem;
    color:var(--navy-900);
    transition:border-color .2s, background .2s;
  }
  .form-field input:focus,
  .form-field select:focus,
  .form-field textarea:focus{
    outline:none;
    border-color:var(--red);
    background:#fff;
  }
  .form-field textarea{
    resize:vertical;min-height:140px;font-family:inherit;
  }
  .form-checkbox{
    display:flex;gap:12px;align-items:flex-start;
    margin-bottom:24px;
    font-size:0.85rem;color:var(--muted);line-height:1.6;
  }
  .form-checkbox input{
    margin-top:3px;flex-shrink:0;accent-color:var(--red);
    width:16px;height:16px;
  }
  .form-checkbox a{color:var(--red);text-decoration:underline}
  .form-card button[type="submit"]{
    background:var(--red);color:#fff;
    padding:16px 32px;
    font-weight:700;font-size:0.82rem;
    letter-spacing:0.16em;text-transform:uppercase;
    border-radius:var(--radius-sm);
    transition:all .25s;
  }
  .form-card button[type="submit"]:hover{
    background:var(--red-bright);
    transform:translateY(-2px);
    box-shadow:0 12px 30px -8px rgba(215,38,56,0.55);
  }

  /* Info column */
  .info-col{display:flex;flex-direction:column;gap:20px}
  .info-card{
    background:#fff;
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    padding:32px;
  }
  .info-card h4{
    font-family:var(--font-display);font-size:1.3rem;
    letter-spacing:0.02em;color:var(--navy-900);margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line-dark);
  }
  .info-row{
    display:flex;
    justify-content:space-between;
    align-items: center;
    padding:8px 0;
    font-size:0.9rem;
    gap:16px;
  }
  .info-row .lbl{
    color:var(--muted);
    font-size:0.78rem;letter-spacing:0.06em;
    text-transform:uppercase;font-weight:600;
    flex-shrink:0;
  }
  .info-row .val{
    color:var(--navy-900);font-weight:500;
    text-align:right;
    word-break:break-word;
    display: flex;
    align-items: center;
  }
  .info-row .val strong{font-weight:700}

  .info-hours{
    display:flex;flex-direction:column;gap:8px;
    font-size:0.9rem;
  }
  .info-hours div{
    display:flex;justify-content:space-between;
    padding:6px 0;
    border-bottom:1px dashed var(--line-dark);
  }
  .info-hours div:last-child{border-bottom:none}
  .info-hours .day{color:var(--muted);font-weight:600}
  .info-hours .time{color:var(--navy-900)}
  .info-hours .closed{color:var(--red)}

  /* Map placeholder */
  .map-section{background:var(--cream)}
  .map-card{
    background:#fff;
    border:1px solid var(--line-dark);
    border-radius:var(--radius);
    overflow:hidden;
    display:grid;grid-template-columns:1fr 1.5fr;
  }
  .map-info{
    padding:48px;
    display:flex;flex-direction:column;justify-content:center;
  }
  .map-info h3{
    font-family:var(--font-display);font-size:2rem;
    letter-spacing:0.02em;color:var(--navy-900);margin-bottom:14px;
  }
  .map-info h3 em{font-family:var(--font-editorial);font-style:italic;color:var(--red);font-weight:400}
  .map-info > p{
    color:var(--ink);font-size:0.98rem;line-height:1.7;margin-bottom:20px;
  }
  .map-address{
    font-family:var(--font-display);font-size:1.2rem;
    letter-spacing:0.02em;color:var(--navy-900);
    line-height:1.4;margin-bottom:24px;
    padding:18px 22px;
    background:var(--cream);
    border-left:3px solid var(--red);
  }
  .map-actions{display:flex;gap:12px;flex-wrap:wrap}
  .map-note{
    margin-top:12px;
    font-size:0.78rem;
    color:var(--muted);
  }

  .map-visual{
    background:var(--navy-900);
    min-height:380px;
    position:relative;
    overflow:hidden;
    display:grid;place-items:center;
  }
  /* Mapa wypełnia cały kafelek. place-items:center z .map-visual zostawiłoby
     iframe w domyślnym rozmiarze, stąd absolutne rozciągnięcie na inset:0. */
  .map-visual.has-map iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    display:block;
    border-left: 1px solid #dcdfe1;
  }
  /* Siatka i poświata tylko dla wariantu bez mapy — pod iframe i tak by nie
     były widoczne, a przy ładowaniu przebijałyby przez nią. */
  .map-visual:not(.has-map)::before{
    content:"";position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size:40px 40px;
  }
  .map-visual:not(.has-map)::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at center, rgba(215,38,56,0.18), transparent 60%);
  }
  .pin{
    position:relative;z-index:1;
    width:60px;height:60px;
    background:var(--red);
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    display:grid;place-items:center;
    box-shadow:0 0 0 10px rgba(215,38,56,0.2), 0 0 0 20px rgba(215,38,56,0.1);
    animation:pulse 2.5s ease-in-out infinite;
  }
  .pin::before{
    content:"";
    width:20px;height:20px;
    background:#fff;
    border-radius:50%;
    transform:rotate(45deg);
  }
  @keyframes pulse{
    0%,100%{box-shadow:0 0 0 10px rgba(215,38,56,0.2), 0 0 0 20px rgba(215,38,56,0.1)}
    50%{box-shadow:0 0 0 15px rgba(215,38,56,0.25), 0 0 0 30px rgba(215,38,56,0.05)}
  }

  @media (max-width:1024px){
    .channels-grid{grid-template-columns:1fr 1fr}
    .form-grid{grid-template-columns:1fr}
    .map-card{grid-template-columns:1fr}
    .map-visual{min-height:280px}
  }
  @media (max-width:680px){
    .channels-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .form-card{padding:30px}
    .map-info{padding:30px}
  }
