/* Loaded only on /kontakt/ (see gudbud-kontakt.php). */
.gb-kafle { display: flex; flex-direction: column; gap: 12px; }
.gb-kafel { position: relative; display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--gb-line); padding: 20px; color: var(--gb-ink); border-radius: 2px; }
.gb-kafel > * { margin: 0; }
.gb-kafel a { color: inherit; }
.gb-kafel a::after { content: ""; position: absolute; inset: 0; }
.gb-kafel:has(a):hover { border-color: var(--gb-ink); }
.gb-kafel--tel { background: var(--gb-orange); border-color: var(--gb-orange); padding: 22px; }
.gb-kafel--tel:hover { background: var(--gb-ink); border-color: var(--gb-ink); color: #fff; }
.gb-kafel__k { font-family: var(--gb-mono); font-size: 12px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--gb-muted); }
.gb-kafel--tel .gb-kafel__k { color: inherit; }
.gb-kafel__tel { font-weight: 900; font-stretch: 80%; font-size: clamp(32px, 7vw, 44px); line-height: 1; }
.gb-kafel__h { font-size: 15px; font-weight: 600; }
.gb-kafel__v { font-weight: 800; font-size: 22px; overflow-wrap: anywhere; }
.gb-kafel__v--sm { font-size: 18px; }
.gb-kafel__d { font-size: 15px; color: var(--gb-text2); line-height: 1.5; }
.gb-kafel__reg { margin: 0; font-family: var(--gb-mono); font-size: 12px; color: var(--gb-muted); line-height: 1.7; padding: 4px 0; }

.gb-form { position: relative; border: 2px solid var(--gb-ink); padding: 22px; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 80px; }
.gb-form h2 { margin: 0; font-weight: 800; font-size: 24px; }
.gb-form label { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.gb-form label > span { font-family: var(--gb-mono); font-size: 12px; letter-spacing: .06em; }
.gb-form input:not([type=checkbox]), .gb-form select, .gb-form textarea { width: 100%; height: 50px; padding: 0 14px; font: inherit; font-size: 16px; color: var(--gb-ink); border: 1px solid #9EA3A8; border-radius: 2px; background: #fff; }
.gb-form textarea { height: auto; padding: 12px 14px; resize: vertical; }
.gb-form input:focus, .gb-form select:focus, .gb-form textarea:focus { outline: 2px solid var(--gb-orange); outline-offset: 0; border-color: var(--gb-ink); }
.gb-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; }
.gb-form__zgoda { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-size: 13px; line-height: 1.45; color: var(--gb-text2); }
.gb-form__zgoda > span { font-family: inherit !important; font-size: 13px !important; letter-spacing: 0 !important; }
.gb-form__zgoda input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--gb-orange); }
.gb-form button { height: 56px; border: 0; background: var(--gb-ink); color: #fff; font: inherit; font-weight: 800; font-size: 17px; border-radius: 2px; cursor: pointer; }
.gb-form button:hover { background: var(--gb-orange); color: var(--gb-ink); }
.gb-form__hp { position: absolute; left: -9999px; height: 0; overflow: hidden; margin: 0; }
.gb-form__err { margin: 0; padding: 10px 12px; background: #FDECEA; border-left: 4px solid #B3261E; font-size: 14px; }
.gb-form--ok { gap: 12px; padding: 42px 22px; }
.gb-form--ok p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--gb-text2); }
.gb-form__check { width: 48px; height: 48px; border-radius: 2px; background: var(--gb-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2226' stroke-width='3'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center/26px no-repeat; }

.gb-mapa { max-width: var(--gb-max); margin-inline: auto; border: 1px solid var(--gb-line3); background: #EEF0EC; position: relative; overflow: hidden; }
.gb-mapa > summary { list-style: none; cursor: pointer; position: relative; aspect-ratio: 16/9; min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 20px; background-image: linear-gradient(#DCDFD8 1px, transparent 1px), linear-gradient(90deg, #DCDFD8 1px, transparent 1px); background-size: 40px 40px; }
.gb-mapa > summary::-webkit-details-marker { display: none; }
.gb-mapa__pin { width: 40px; height: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F06A1F' stroke='%231F2226' stroke-width='1.5'%3E%3Cpath d='M12 22s7-7.2 7-13a7 7 0 0 0-14 0c0 5.8 7 13 7 13z'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='%231F2226'/%3E%3C/svg%3E") center/contain no-repeat; }
.gb-mapa__t { font-weight: 800; font-size: 16px; border-bottom: 2px solid var(--gb-orange); }
.gb-mapa__a { font-size: 15px; }
.gb-mapa__n { font-family: var(--gb-mono); font-size: 11px; color: var(--gb-muted); }
.gb-mapa[open] > summary { aspect-ratio: auto; min-height: 0; padding: 10px; flex-direction: row; background: #fff; }
.gb-mapa[open] .gb-mapa__pin, .gb-mapa[open] .gb-mapa__n { display: none; }
.gb-mapa iframe { display: block; width: 100%; aspect-ratio: 16/9; min-height: 300px; border: 0; }
