/* ==========================================================================
   GemNet Frontend – doplňkové styly pro dynamické komponenty
   Tarify a taby používají existující CSS ze stránky (internet-card, tabs atd.)
   ========================================================================== */

/* Whisper autocomplete (#location-whispers) is styled by the site CSS. */

/* ── Digitální TV – jen vložený obsah v grid-1 ── */
.grid-1 + .grid-1,
.grid-3 + .grid-1,
.grid-1 + .grid-3 { margin-top: 24px; }
.internet-card--tv { width: 100%; min-width: 0; }
.internet-card--tv iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
}

/* ── Stránka regionu (/region, /region/{obec}) – hero z webu, obsah v .page-width ── */
.gn-region { padding-top: 48px; padding-bottom: 72px; }
.gn-region--embed { padding-top: 0; padding-bottom: 0; }
.gn-br-wide { display: none; }
@media (min-width: 1343px) { .gn-br-wide { display: inline; } }
.hero .gn-region__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
@media (max-width: 979px) { .hero .gn-region__chips { display: none; } }
.hero .gn-region__chips li { padding: 6px 14px; border-radius: 99px; background: rgba(255, 255, 255, 0.16); border: 1px solid rgba(255, 255, 255, 0.28); font-size: 0.88rem; font-weight: 600; }
.hero .gn-region__streets { margin: 14px 0 0; font-size: 0.95rem; opacity: 0.85; }
.gn-region__lead { margin: 0 0 16px; font-size: 1.05rem; line-height: 1.55; }
.gn-region__group { margin-bottom: 48px; }
.gn-region__filter { display: flex; gap: 0.75rem; flex-wrap: wrap; margin: 0 0 1rem; }
.gn-region__filter input {
    flex: 1 1 280px; min-width: 0; min-height: 3rem; padding: 0.75rem 1rem;
    border: 1px solid rgba(8, 8, 8, 0.2); border-radius: 0.5rem; background: var(--color-white, #fff);
    font: inherit; color: inherit; outline: none;
}
.gn-region__filter input:focus { outline: 2px solid var(--color-ink, #080808); outline-offset: 2px; }
.gn-region__filter-empty { margin: 0 0 1.5rem; color: rgba(8, 8, 8, 0.7); }
.gn-region__towns li[hidden] { display: none; }
.gn-region__group > h2 { margin: 0 0 20px; }
.gn-region__empty { margin: 0 0 40px; }
.gn-region__towns {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 8px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.gn-region__towns a { display: block; padding: 8px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.08); color: inherit; text-decoration: none; }
.gn-region__towns a:hover { text-decoration: underline; }

/* Order form uses the site contact section (gp.css); select + validation states added here */
.contact-form select {
    width: 100%; min-height: 2.5rem; padding: 0.75rem 2.5rem 0.75rem 0.75rem;
    border: 1px solid rgba(8, 8, 8, 0.2); border-radius: 0.5rem; outline: none;
    background: var(--color-white, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23080808' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.9rem center;
    font: inherit; color: inherit; cursor: pointer;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.contact-form select:focus { outline: 2px solid var(--color-ink, #080808); outline-offset: 2px; }
.contact-form .is-invalid input, .contact-form .is-invalid textarea { border-color: #d92d20; background-color: #fff8f7; }
.contact-form .is-invalid input:focus, .contact-form .is-invalid textarea:focus { outline-color: #d92d20; }
.contact-form .is-valid input, .contact-form .is-valid textarea { border-color: #12a150; }
.contact-form .gdpr.is-invalid { color: #d92d20; }
.gn-field-error { margin: 0.35rem 0 0; color: #d92d20; font-size: 0.75rem; font-weight: 600; }
.gn-order__error { margin: 0; padding: 0.75rem 1rem; border-radius: 0.25rem; background: #fdecea; color: #b42318; font-size: 0.875rem; font-weight: 600; }
.gn-order__note { margin: 0.5rem 0 0; color: rgba(8, 8, 8, 0.6); font-size: 0.8125rem; line-height: 1.5; }
.gn-order__note[hidden] { display: none; }
.gn-order__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
