/* ==========================================================================
   isolierglasonline.de: Startseite, dritte Fassung, 27.09.2026
   Hamza: "well styled design where images real ones ... do research check already sites
   like these see designs". Gebaut nach den Haendlern, die es gut machen: glas-star
   (Raumfoto oben, Schnellauswahl, Variantenkarten mit Bild und Preis je m2), fensterversand
   und fensterblick (Produktkarten mit "ab"-Preis und Knopf, Fotokacheln, Schritte).
   Eine Akzentfarbe: das Gruen einer Glaskante. Diese Datei kommt als letzte.
   ========================================================================== */

:root {
    --iso-ink: #15222c;
    --iso-text: #27343e;
    --iso-soft: #5a6873;
    --iso-line: #e1e6e9;
    --iso-line-2: #cdd5da;
    --iso-tint: #f3f6f7;
    --iso-dunkel: #0f1e28;
    --iso-akzent: #0b6e5f;
    --iso-akzent-hover: #085a4e;
    --iso-akzent-hell: #e6f3f0;
    --iso-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --iso-rand: 24px;
    --iso-radius: 10px;
}
@media (max-width: 600px) {
    :root { --iso-rand: 16px; }
}

body {
    background: #ffffff;
    color: var(--iso-text);
    font-family: var(--iso-font);
    overflow-x: clip;
}
h1, h2, h3, h4 {
    font-family: var(--iso-font);
    color: var(--iso-ink);
    letter-spacing: -0.015em;
}
.iso-breite {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--iso-rand);
}
.iso-h2 {
    font-size: clamp(1.55rem, 2.6vw, 2.1rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 0.6rem;
}
.iso-leise {
    color: var(--iso-soft);
    margin: 0;
    max-width: 640px;
    line-height: 1.6;
}
.iso-kopfzeile {
    margin-bottom: 2.25rem;
}
.ts-mobile-nav a,
.vsg-thema-label,
.vsg-thema-tabelle th {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* --- Kopf ------------------------------------------------------------- */
.ts-header,
.ts-header.scrolled {
    background: #ffffff !important;
    border-bottom: 1px solid var(--iso-line);
    box-shadow: none !important;
}
a.ts-logo.iso-logo,
.ts-footer a.iso-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.22rem;
    letter-spacing: -0.01em;
    text-decoration: none;
    padding-right: 1.5rem;
}
.iso-logo-mark {
    display: inline-flex;
    gap: 3px;
    height: 20px;
}
.iso-logo-mark i {
    display: block;
    width: 4px;
    height: 100%;
    border-radius: 1px;
    background: var(--iso-ink);
}
.iso-logo-mark i:nth-child(2) {
    background: var(--iso-akzent);
}
.iso-logo-a {
    color: var(--iso-ink);
    font-weight: 800;
}
.iso-logo-b {
    color: var(--iso-akzent);
    font-weight: 600;
}
.ts-nav-menu a {
    color: var(--iso-ink);
    font-weight: 500;
}
.ts-nav-menu a:hover {
    color: var(--iso-akzent);
}
.ts-nav-menu a::after {
    display: none !important;
}
.ts-header-phone {
    background: var(--iso-akzent) !important;
    color: #ffffff !important;
    border: 1px solid var(--iso-akzent) !important;
}
.ts-header-phone .ts-header-phone-text,
.ts-header-phone svg {
    color: #ffffff !important;
    stroke: currentColor;
}
.ts-header-phone:hover {
    background: var(--iso-akzent-hover) !important;
}

/* --- Knoepfe ---------------------------------------------------------- */
.ts-btn {
    border-radius: 8px !important;
    box-shadow: none !important;
}
.ts-btn:hover {
    transform: none !important;
}
.ts-btn-primary {
    background: var(--iso-akzent) !important;
    color: #ffffff !important;
    border: 1px solid var(--iso-akzent) !important;
}
.ts-btn-primary:hover {
    background: var(--iso-akzent-hover) !important;
    border-color: var(--iso-akzent-hover) !important;
}
.ts-btn-secondary {
    background: #ffffff !important;
    color: var(--iso-ink) !important;
    border: 1px solid var(--iso-line-2) !important;
}
.ts-btn-secondary:hover {
    border-color: var(--iso-ink) !important;
}

/* --- 1. Erster Bildschirm mit Raumfoto ----------------------------------- */
.iso-hero {
    position: relative;
    background: var(--iso-dunkel);
    padding: calc(var(--ts-header-height, 76px) + 4.5rem) 0 4.5rem;
    min-height: 620px;
    display: flex;
    align-items: center;
}
.iso-hero-foto {
    background:
        linear-gradient(90deg, rgba(9, 20, 28, 0.84) 0%, rgba(9, 20, 28, 0.62) 42%, rgba(9, 20, 28, 0.12) 78%),
        var(--iso-hero-bild) center / cover no-repeat,
        var(--iso-dunkel);
}
.iso-hero-raster {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 3rem;
    align-items: center;
}
.iso-hero h1 {
    color: #ffffff;
    font-size: clamp(2.3rem, 4.6vw, 3.6rem);
    font-weight: 800;
    line-height: 1.05;
    margin: 0 0 1rem;
}
.iso-hero-unter {
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.12rem;
    line-height: 1.6;
    max-width: 560px;
    margin: 0 0 1.4rem;
}
.iso-haken {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}
.iso-haken li {
    color: #ffffff;
    font-weight: 500;
    padding-left: 1.6rem;
    position: relative;
}
.iso-haken li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    background: #3fb59c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.iso-hero-knoepfe {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.75rem;
    margin: 0;
}
.iso-hero-link {
    color: #ffffff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.iso-hero-link:hover {
    color: #bfe9df;
}
.iso-schnell {
    background: #ffffff;
    border-radius: 12px;
    padding: 1.4rem;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}
.iso-schnell-titel {
    margin: 0 0 1rem;
    font-weight: 700;
    color: var(--iso-ink);
    font-size: 1.05rem;
}
.iso-schnell-titel span {
    font-weight: 400;
    color: var(--iso-soft);
    font-size: 0.9rem;
    margin-left: 0.35rem;
}
.iso-schnell-liste {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}
.iso-waehle:not(.ts-btn) {
    font: inherit;
    text-align: left;
    background: #ffffff;
    border: 1px solid var(--iso-line-2);
    border-radius: 8px;
    padding: 0.7rem 0.8rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.iso-waehle:not(.ts-btn) span {
    color: var(--iso-soft);
    font-size: 0.82rem;
    line-height: 1.3;
}
.iso-waehle:not(.ts-btn) b {
    color: var(--iso-ink);
    font-size: 1rem;
}
.iso-waehle:not(.ts-btn):hover,
.iso-waehle:not(.ts-btn):focus-visible {
    border-color: var(--iso-akzent);
    background: var(--iso-akzent-hell);
}
.iso-schnell-fuss {
    margin: 0.9rem 0 0;
    font-size: 0.82rem;
    color: var(--iso-soft);
}
@media (max-width: 960px) {
    .iso-hero {
        min-height: 0;
        padding: calc(var(--ts-header-height, 70px) + 2.5rem) 0 2.5rem;
    }
    .iso-hero-foto {
        background:
            linear-gradient(180deg, rgba(9, 20, 28, 0.55) 0%, rgba(9, 20, 28, 0.82) 60%, rgba(9, 20, 28, 0.94) 100%),
            var(--iso-hero-bild) center / cover no-repeat,
            var(--iso-dunkel);
    }
    .iso-hero-raster {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* --- 2. Glaskarten ---------------------------------------------------- */
.iso-glaeser {
    padding: 5rem 0;
    background: #ffffff;
}
.iso-karten {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}
.iso-karte {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid var(--iso-line);
    border-radius: var(--iso-radius);
    overflow: hidden;
    transition: border-color 0.15s ease;
}
.iso-karte:hover {
    border-color: var(--iso-line-2);
}
.iso-karte-bild {
    background: var(--iso-tint);
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.iso-karte-bild svg {
    width: 82%;
    height: auto;
}
.iso-karte-bild img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.iso-karte-text {
    padding: 1.35rem 1.35rem 1.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.iso-karte-text h3 {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 0.45rem;
}
.iso-karte-text > p {
    color: var(--iso-soft);
    font-size: 0.94rem;
    line-height: 1.55;
    margin: 0 0 0.9rem;
}
.iso-werte {
    list-style: none;
    margin: 0 0 1.2rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.25rem;
    font-size: 0.9rem;
    color: var(--iso-ink);
    font-weight: 600;
}
.iso-werte span {
    color: var(--iso-soft);
    font-weight: 400;
}
.iso-karte-fuss {
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid var(--iso-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.iso-preis {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--iso-ink);
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}
.iso-preis small {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--iso-soft);
}
.iso-preis small:last-child {
    display: block;
}
.iso-karte-fuss .ts-btn {
    padding: 0.7rem 1.1rem !important;
    font-size: 0.95rem !important;
    white-space: nowrap;
}
@media (max-width: 960px) {
    .iso-karten {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 620px) {
    .iso-glaeser {
        padding: 3.5rem 0;
    }
    .iso-karten {
        grid-template-columns: 1fr;
    }
    .iso-karte-bild {
        aspect-ratio: 16 / 9;
    }
    .iso-karte-bild svg {
        width: auto;
        height: 100%;
    }
}

/* --- 3. Konfigurator -------------------------------------------------- */
.ts-calc-section {
    background: var(--iso-tint);
    border-top: 1px solid var(--iso-line);
    border-bottom: 1px solid var(--iso-line);
    padding: 4.5rem 0;
    scroll-margin-top: var(--ts-header-height, 76px);
}
.ts-calc-container {
    max-width: 1200px;
    padding: 0 var(--iso-rand);
}
.iso-kopf {
    margin-bottom: 2rem;
}
.iso-kopf .ts-calc-title {
    font-size: clamp(1.55rem, 2.6vw, 2.1rem);
    font-weight: 700;
    color: var(--iso-ink);
    margin: 0 0 0.5rem;
}
.iso-kopf .ts-calc-subtitle {
    font-size: 1rem;
    color: var(--iso-soft);
    max-width: 640px;
}
@media (min-width: 960px) {
    .ts-calc-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 370px;
        column-gap: 2rem;
        row-gap: 0.75rem;
        align-items: start;
    }
    .ts-calc-pieces,
    .ts-add-piece-btn,
    .ts-calc-quote-hint {
        grid-column: 1;
    }
    .ts-calc-total {
        grid-column: 2;
        grid-row: 1 / span 3;
        position: sticky;
        top: calc(var(--ts-header-height, 76px) + 1rem);
        margin-top: 0 !important;
    }
    .ts-calc-total-actions {
        grid-template-columns: 1fr !important;
    }
}
.ts-piece {
    background: #ffffff;
    border: 1px solid var(--iso-line);
    border-radius: var(--iso-radius);
    box-shadow: none !important;
}
.ts-piece-num {
    background: var(--iso-akzent) !important;
    color: #ffffff !important;
}
.ts-piece-pill {
    border-radius: 6px !important;
}
.ts-piece-pill.is-active {
    background: var(--iso-akzent) !important;
    border-color: var(--iso-akzent) !important;
    color: #ffffff !important;
}
.ts-piece-pill.is-unavailable {
    border-style: solid !important;
}
.ts-piece-kennwerte {
    color: var(--iso-soft);
}
.ts-add-piece-btn {
    border-style: solid !important;
    border-color: var(--iso-line-2) !important;
    background: #ffffff !important;
    color: var(--iso-ink) !important;
    border-radius: var(--iso-radius) !important;
}
.ts-calc-quote-hint {
    background: #ffffff;
    border: 1px solid var(--iso-line);
    border-radius: var(--iso-radius);
}
.ts-calc-total {
    background: #ffffff;
    color: var(--iso-ink);
    border: 1px solid var(--iso-line-2);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(15, 30, 40, 0.07) !important;
    font-variant-numeric: tabular-nums;
}
.ts-calc-total-meta,
.ts-calc-row-muted,
.ts-calc-row-big .ts-calc-row-mwst,
.ts-calc-anruf-frage {
    opacity: 1 !important;
    color: var(--iso-soft) !important;
}
.ts-calc-row,
.ts-calc-row-value,
.ts-calc-row-big > span:first-child {
    color: var(--iso-ink);
}
.ts-calc-row-big .ts-calc-row-value {
    font-weight: 800;
}
.ts-calc-row-big {
    border-top-color: var(--iso-line) !important;
}
.ts-calc-total .ts-btn-primary {
    background: var(--iso-akzent) !important;
    color: #ffffff !important;
    border-color: var(--iso-akzent) !important;
}
.ts-calc-total .ts-btn-secondary {
    background: #ffffff !important;
    color: var(--iso-ink) !important;
    border: 1px solid var(--iso-line-2) !important;
}
.ts-calc-anruf-nummer {
    color: var(--iso-akzent) !important;
}

/* --- 4. Anwendungen als Fotokacheln -------------------------------------- */
.iso-anwendungen {
    padding: 5rem 0;
}
.iso-kacheln {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}
.iso-kachel {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    border-radius: var(--iso-radius);
    overflow: hidden;
    text-decoration: none;
    background: var(--iso-dunkel);
}
.iso-kachel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.iso-kachel:hover img {
    transform: scale(1.04);
}
.iso-kachel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 20, 28, 0) 40%, rgba(9, 20, 28, 0.86) 100%);
}
.iso-kachel-text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    padding: 1.2rem;
    color: #ffffff;
}
.iso-kachel-text strong {
    display: block;
    font-size: 1.12rem;
    margin-bottom: 0.3rem;
}
.iso-kachel-text span {
    display: block;
    font-size: 0.88rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.85);
}
@media (max-width: 960px) {
    .iso-kacheln {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 520px) {
    .iso-anwendungen {
        padding: 3.5rem 0;
    }
    .iso-kacheln {
        grid-template-columns: 1fr;
    }
    .iso-kachel {
        aspect-ratio: 16 / 10;
    }
}

/* --- 5. Drei Schritte ------------------------------------------------- */
.iso-schritte {
    padding: 4.5rem 0;
    background: var(--iso-tint);
    border-top: 1px solid var(--iso-line);
}
.iso-schritt-liste {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}
.iso-schritt-liste li {
    background: #ffffff;
    border: 1px solid var(--iso-line);
    border-radius: var(--iso-radius);
    padding: 1.6rem;
}
.iso-schritt-nr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--iso-akzent-hell);
    color: var(--iso-akzent);
    font-weight: 800;
    margin-bottom: 1rem;
}
.iso-schritt-liste h3 {
    font-size: 1.1rem;
    margin: 0 0 0.45rem;
}
.iso-schritt-liste p {
    color: var(--iso-soft);
    margin: 0;
    line-height: 1.55;
}
@media (max-width: 860px) {
    .iso-schritt-liste {
        grid-template-columns: 1fr;
    }
}

/* --- 6. Sonderform, dunkles Band ---------------------------------------- */
.iso-sonder {
    padding: 4.5rem 0;
    background: var(--iso-dunkel);
}
.iso-sonder-raster {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 3.5rem;
    align-items: center;
}
.iso-sonder-bild svg,
.iso-sonder-bild img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--iso-radius);
    background: #ffffff;
}
.iso-sonder .iso-h2 {
    color: #ffffff;
}
.iso-sonder-text p {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.6;
    max-width: 500px;
}
.iso-sonder-wege {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.75rem;
    margin-top: 1.75rem;
}
.iso-tel {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: none;
}
.iso-tel:hover {
    text-decoration: underline;
}
@media (max-width: 860px) {
    .iso-sonder-raster {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .iso-sonder-text {
        order: -1;
    }
}

/* --- 7. Fragen: Ueberschrift links, Fragen rechts ---------------------------- */
.ts-faq-section {
    background: #ffffff !important;
    padding: 5rem 0 !important;
}
.ts-faq-section .ts-container {
    max-width: 1200px;
    padding: 0 var(--iso-rand);
}
.ts-faq-section .ts-features-header {
    text-align: left;
    margin: 0 0 2rem;
}
.ts-faq-section .ts-features-header h2 {
    font-size: clamp(1.55rem, 2.6vw, 2.1rem);
    font-weight: 700;
    margin: 0 0 0.5rem;
}
.ts-faq-section .ts-section-subtitle {
    color: var(--iso-soft);
    margin: 0;
}
.ts-faq-categories {
    display: block !important;
    margin: 0 !important;
}
.ts-faq-category {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 2.25rem;
    box-shadow: none !important;
}
.ts-faq-category:hover {
    transform: none !important;
}
.ts-faq-category-header {
    margin: 0 !important;
    padding: 0 0 0.6rem !important;
    border-bottom: 2px solid var(--iso-ink) !important;
}
.ts-faq-category-header h3 {
    font-size: 1.05rem !important;
    font-weight: 700;
}
.ts-faq-items {
    gap: 0 !important;
}
.ts-faq-item,
.ts-faq-item:hover {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--iso-line) !important;
    border-radius: 0 !important;
    margin: 0 !important;
}
.ts-faq-question {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ts-faq-answer p {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ts-faq-icon,
.ts-faq-item.active .ts-faq-icon {
    background: transparent !important;
    border: 0 !important;
}
.ts-faq-item.active .ts-faq-icon svg {
    color: var(--iso-akzent) !important;
    stroke: var(--iso-akzent) !important;
}
@media (min-width: 960px) {
    .ts-faq-section .ts-container {
        display: grid;
        grid-template-columns: 320px minmax(0, 1fr);
        column-gap: 4rem;
        align-items: start;
    }
    .ts-faq-section .ts-features-header {
        position: sticky;
        top: calc(var(--ts-header-height, 76px) + 1.5rem);
        margin: 0;
    }
}

/* --- Fuss: dunkel ----------------------------------------------------- */
.ts-footer.iso-fuss {
    background: var(--iso-dunkel) !important;
    color: rgba(255, 255, 255, 0.7);
    border-top: 0;
    padding: 3.5rem 0 2rem;
}
.iso-fuss-oben {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1.5rem 3rem;
}
.iso-fuss-marke {
    max-width: 480px;
}
.iso-fuss .iso-logo-a,
.iso-fuss .iso-logo-b {
    color: #ffffff !important;
}
.iso-fuss .iso-logo-b {
    color: #7fd3c1 !important;
}
.iso-fuss .iso-logo-mark i {
    background: #ffffff;
}
.iso-fuss .iso-logo-mark i:nth-child(2) {
    background: #3fb59c;
}
.iso-fuss .ts-footer-description {
    color: rgba(255, 255, 255, 0.7);
    margin: 0.75rem 0 0;
    line-height: 1.6;
}
.iso-fuss-kontakt {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.3rem;
}
.iso-fuss-kontakt a {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: none;
}
.iso-fuss-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.75rem;
    margin: 2.25rem 0 1.5rem;
    padding: 1.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.iso-fuss-links a {
    color: #ffffff;
    text-decoration: none;
}
.iso-fuss-links a:hover,
.iso-fuss-kontakt a:hover,
.iso-fuss-recht a:hover {
    text-decoration: underline;
}
.iso-fuss .ts-footer-bottom {
    display: block;
    padding: 0;
    border: 0;
}
.iso-fuss .ts-footer-copyright,
.iso-fuss .ts-footer-partner,
.iso-fuss .ts-footer-schwestern {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.875rem;
    margin: 0 0 0.35rem;
    max-width: none;
}
.iso-fuss-recht a {
    color: rgba(255, 255, 255, 0.75);
    margin-left: 1rem;
    text-decoration: none;
}
@media (max-width: 600px) {
    .iso-fuss-kontakt {
        align-items: flex-start;
    }
    .iso-fuss-recht {
        display: block;
        margin-top: 0.35rem;
    }
    .iso-fuss-recht a {
        margin: 0 1rem 0 0;
    }
}

/* --- Cookie-Hinweis --------------------------------------------------- */
.ts-cookie-btn,
.ts-cookie-always {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.8rem !important;
}
.ts-cookie-btn-primary {
    background: var(--iso-akzent) !important;
    color: #ffffff !important;
    border-color: var(--iso-akzent) !important;
}
.ts-cookie-btn-outline,
.ts-cookie-btn-outline:focus {
    background: #ffffff !important;
    color: var(--iso-ink) !important;
    border: 1px solid var(--iso-line-2) !important;
    outline: none;
}
.ts-cookie-link {
    color: var(--iso-akzent) !important;
}

/* --- Innenseiten ------------------------------------------------------ */
.ts-page-header {
    background: var(--iso-tint) !important;
    border-bottom: 1px solid var(--iso-line);
}
.ts-page-title {
    background: none !important;
    -webkit-text-fill-color: var(--iso-ink) !important;
    color: var(--iso-ink) !important;
}
.ts-entry-content p,
.ts-entry-content ul,
.ts-entry-content ol,
.ts-entry-content li,
.ts-entry-content td,
.ts-entry-content blockquote,
.ts-main .entry-content ul,
.ts-main .entry-content ol,
.ts-main .entry-content li,
.ts-main .entry-content td,
.ts-main .entry-content blockquote,
.ts-main .entry-content address,
.page-template-default .entry-content address {
    color: var(--iso-text) !important;
}
.ts-entry-content a,
.ts-main .entry-content a {
    color: var(--iso-akzent) !important;
    text-decoration: underline;
}
.ts-entry-content blockquote,
.ts-main .entry-content blockquote {
    border-left: 0 !important;
    padding-left: 0 !important;
    font-style: normal;
}
.ts-main .entry-content th {
    color: var(--iso-ink) !important;
    background: var(--iso-tint) !important;
}
.ts-main .entry-content table {
    background: #ffffff !important;
}
.ts-main .entry-content th,
.ts-main .entry-content td {
    border-color: var(--iso-line) !important;
}
.ts-main .entry-content code {
    background: var(--iso-tint);
    color: var(--iso-ink);
}
.page-template-default .entry-content strong {
    color: var(--iso-ink) !important;
}

/* Nur fuer Vorleseprogramme */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Links auf dunklem Grund: base.css faerbt jeden Link beim Drueberfahren in der Akzentfarbe
   (a:not(.ts-btn):hover), auf Dunkel war das fast unsichtbar. Hamza 27.09.2026, Fussleiste. */
.iso-hero a:not(.ts-btn),
.iso-hero a:not(.ts-btn):hover,
.iso-sonder a:not(.ts-btn),
.iso-sonder a:not(.ts-btn):hover,
.ts-footer.iso-fuss a:not(.ts-btn),
.ts-footer.iso-fuss a:not(.ts-btn):hover,
a.iso-kachel,
a.iso-kachel:hover {
    color: #ffffff;
}
.iso-hero a.iso-hero-link:hover {
    color: #bfe9df;
}
.ts-footer.iso-fuss .iso-fuss-recht a,
.ts-footer.iso-fuss .ts-footer-schwestern a {
    color: rgba(255, 255, 255, 0.78);
}
.ts-footer.iso-fuss .iso-fuss-recht a:hover,
.ts-footer.iso-fuss .ts-footer-schwestern a:hover {
    color: #ffffff;
}
.ts-footer.iso-fuss .iso-logo-b {
    color: #7fd3c1 !important;
}

/* Hauptmenue in Textfarbe, header.css setzte es grau */
.ts-header .ts-nav-menu li a,
.ts-header .ts-nav-menu > li > a {
    color: var(--iso-ink);
}
.ts-header .ts-nav-menu li a:hover {
    color: var(--iso-akzent);
}

/* === Sichtpruefung 27.09.2026 ========================================= */

/* Logo: header.css faerbt jedes span im Logo in der Akzentfarbe */
a.ts-logo.iso-logo .iso-logo-a {
    color: var(--iso-ink);
    font-weight: 800;
}
a.ts-logo.iso-logo .iso-logo-b {
    color: var(--iso-akzent);
    font-weight: 600;
}

/* Sprungziele nicht unter dem festen Kopf */
#glaeser,
#calculator,
#anwendungen,
#faq,
#quote {
    scroll-margin-top: calc(var(--ts-header-height, 76px) + 8px);
}

/* Handymenue: normale Schrift, links, Textfarbe */
.ts-mobile-nav {
    padding-top: calc(var(--ts-header-height, 60px) + 1rem);
}
.ts-mobile-menu {
    text-align: left;
}
.ts-mobile-menu a {
    color: var(--iso-ink) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-bottom-color: var(--iso-line) !important;
}
.ts-mobile-menu a:hover,
.ts-mobile-menu .current-menu-item a {
    color: var(--iso-akzent) !important;
}

/* Hinweis unter dem Rechner in Textfarbe, er ist kein Link */
.ts-calc-quote-hint-text {
    color: var(--iso-text) !important;
}

/* "Entfernen" beim Drueberfahren lesbar */
.ts-piece-remove:hover {
    color: #a42c2c !important;
    background: #fbeaea !important;
}

/* Einbaudicken als gleich breite Kaestchen, auch in der letzten Reihe */
.ts-piece-pills {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(66px, 1fr));
    gap: 0.35rem !important;
}
.ts-piece-pill {
    flex: none !important;
    text-align: center;
    padding-left: 0.3rem !important;
    padding-right: 0.3rem !important;
}
@media (max-width: 480px) {
    .ts-piece-pills {
        grid-template-columns: repeat(auto-fill, minmax(58px, 1fr));
    }
}

/* Schwesterseiten nicht mitten im Namen umbrechen */
.ts-footer-schwestern a {
    white-space: nowrap;
}

/* Anfrageformular */
.ts-quote-summary-title {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--iso-ink) !important;
}
.ts-quote-phone-link {
    white-space: nowrap;
}
.ts-quote-summary-total {
    background: var(--iso-akzent) !important;
}

/* Handymenue deckend, sonst scheint der erste Bildschirm durch */
.ts-mobile-nav {
    background: #ffffff !important;
}

/* Innenseiten: eine Textspalte, Titel buendig darueber, keine verschachtelten Abstaende.
   theme-extras.php setzt inline ".page .ts-main, .ts-main article { max-width:900px; padding:6rem 2rem }",
   dazu kamen die Abstaende von Abschnitt und Raster: auf dem Handy blieb eine Spalte von 199 px. */
body:not(.home) .ts-main,
body:not(.home) .ts-main article {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ts-page-header {
    margin-top: var(--ts-header-height, 76px) !important;
    padding: 3rem var(--iso-rand) 0.75rem !important;
    background: #ffffff !important;
    border: 0 !important;
    text-align: left !important;
}
.ts-page-header .ts-container {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.ts-page-title {
    font-size: clamp(1.8rem, 3.4vw, 2.5rem) !important;
    font-weight: 800 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ts-content-section {
    padding: 1.25rem var(--iso-rand) 4.5rem !important;
}
.ts-content-section .ts-container,
.ts-content-section .ts-content-grid,
.ts-content-section .ts-page-content {
    display: block !important;
    max-width: 760px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.ts-entry-content {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 1.02rem;
    line-height: 1.7;
}
.ts-entry-content > :first-child {
    margin-top: 0 !important;
}
.ts-entry-content h2 {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 2.2rem 0 0.6rem;
}
.ts-entry-content a.ts-btn {
    color: #ffffff !important;
    text-decoration: none !important;
}
.iso-404-wege {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.5rem;
    margin-top: 1.5rem;
}
.ts-entry-content a.iso-404-tel {
    color: var(--iso-ink) !important;
    font-weight: 700;
    text-decoration: none !important;
}

/* Kurze Seiten: Fuss unten am Bildschirm, kein weisser Streifen darunter */
body:not(.home) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body:not(.home) > .ts-main {
    flex: 1 0 auto;
}
body:not(.home) > .ts-footer {
    flex-shrink: 0;
}

/* Schatten der Schnellauswahl nicht unter den ersten Bildschirm ziehen */
.iso-hero {
    overflow: hidden;
}
@media (max-width: 960px) {
    .iso-schnell {
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
    }
}
/* Schritte auf dem Tablet nebeneinander, erst auf dem Handy untereinander */
@media (max-width: 860px) and (min-width: 641px) {
    .iso-schritt-liste {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
    }
    .iso-schritt-liste li {
        padding: 1.25rem;
    }
}
@media (max-width: 640px) {
    .iso-schritt-liste {
        grid-template-columns: 1fr;
    }
}
/* Zeichnung im gestapelten Aufbau nicht riesig */
@media (max-width: 860px) {
    .iso-sonder-bild {
        max-width: 480px;
    }
}

/* Keine Unterstreichungen, nirgends. Hamza 27.09.2026: "the underlines things i dont like please
   fix all over the site". Links im Text erkennt man an Gruen und Fett, Hervorhebung beim
   Drueberfahren nur ueber die Farbe. */
a,
a:hover,
a:focus,
a:active,
a:visited,
.ts-footer-schwestern a,
.ts-footer-schwestern a:hover {
    text-decoration: none !important;
}
.ts-entry-content a:not(.ts-btn),
.ts-main .entry-content a:not(.ts-btn) {
    font-weight: 600;
}
.ts-entry-content a:not(.ts-btn):hover,
.ts-main .entry-content a:not(.ts-btn):hover {
    color: var(--iso-akzent-hover) !important;
}
/* "Sondermaß anfragen" im ersten Bildschirm: heller Rahmenknopf statt unterstrichenem Text */
.iso-hero a.iso-hero-link {
    display: inline-flex;
    align-items: center;
    padding: 0.85rem 1.35rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 8px;
    font-weight: 600;
    line-height: 1.2;
}
.iso-hero a.iso-hero-link:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #ffffff;
    color: #ffffff;
}
/* Fussleiste: beim Drueberfahren heller statt unterstrichen */
.ts-footer.iso-fuss .iso-fuss-links a:hover,
.ts-footer.iso-fuss .iso-fuss-kontakt a:hover {
    color: #7fd3c1;
}
.ts-footer.iso-fuss .ts-footer-schwestern a {
    color: rgba(255, 255, 255, 0.85);
}
.iso-sonder a.iso-tel:hover,
.iso-hero a:not(.ts-btn):hover {
    color: #bfe9df;
}
/* Telefonnummer unter dem Preis: gruen und fett reicht */
.ts-calc-anruf-nummer {
    font-weight: 700;
}

/* Fragen: keine dicken Linien mehr. Jede Gruppe in einem hellgrauen Kasten mit feinen Trennlinien.
   Hamza 27.09.2026: "these lines dont look good to my eyes". */
.ts-faq-category-header {
    border-bottom: 0 !important;
    padding: 0 0 0.75rem !important;
}
.ts-faq-category-header h3 {
    font-size: 1.05rem !important;
    font-weight: 700;
}
.ts-faq-items {
    background: var(--iso-tint);
    border-radius: 12px;
    padding: 0.2rem 1.25rem;
}
.ts-faq-item,
.ts-faq-item:hover {
    border-bottom: 1px solid var(--iso-line) !important;
}
.ts-faq-item:last-child,
.ts-faq-item:last-child:hover {
    border-bottom: 0 !important;
}
.ts-faq-item.active .ts-faq-question {
    color: var(--iso-akzent) !important;
}
@media (max-width: 600px) {
    .ts-faq-items {
        padding: 0.1rem 1rem;
    }
}

/* ==========================================================================
   begehbaresglas.de, 30.09.2026: gleicher Bau wie isolierglasonline, eigene Teile
   ========================================================================== */

/* Logo: drei liegende Lagen, wie die Kante von begehbarem Glas */
.beg-logo-mark {
    flex-direction: column;
    justify-content: center;
    width: 22px;
    height: 18px;
    gap: 3px;
}
.beg-logo-mark i {
    width: 100%;
    height: 4px;
}

/* Drei Karten: auf dem Tablet untereinander, Bild links, Text rechts. So bleibt keine
   einzelne Karte allein in einer Zeile stehen. */
@media (max-width: 960px) and (min-width: 621px) {
    .iso-karten.iso-karten-drei {
        grid-template-columns: 1fr;
    }
    .iso-karten-drei .iso-karte {
        flex-direction: row;
    }
    .iso-karten-drei .iso-karte-bild {
        flex: 0 0 38%;
        aspect-ratio: auto;
    }
}

/* Der Satz zur Planung unter der Anfrage: schlicht, kein Kasten */
.iso-sonder-text p.beg-planung {
    margin-top: 1.6rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.78);
}

/* Das Foto der Glaskante im dunklen Band ohne weissen Rand */
.iso-sonder-bild img {
    background: transparent;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Aufbau-Knoepfe: "31,04 mm" in einer Zeile */
.ts-piece-pills {
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)) !important;
}
.ts-piece-pill {
    white-space: nowrap;
}
