/**
 * Teraprint Druckvorlagen – Styles
 * Prefix: tp-dv-
 * Colors: #337ab7 (primary), #f36f21 (accent), #5C5B5B (text)
 * Apple-style card design: rounded corners, soft shadows, floating effect.
 */

/* ── Reset & Base ── */
.tp-dv-wrap {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--tp-dark, #5C5B5B);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.tp-dv-wrap *,
.tp-dv-wrap *::before,
.tp-dv-wrap *::after {
    box-sizing: border-box;
}

.tp-dv-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Hero ── */
.tp-dv-hero {
    background: #337ab7;
    color: #fff;
    padding: 64px 0 56px;
    text-align: center;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 4px 20px rgba(51,122,183,0.15);
}

.tp-dv-hero h1 {
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 16px;
    color: #fff;
}

.tp-dv-hero-sub {
    font-size: 18px;
    max-width: 680px;
    margin: 0 auto;
    opacity: 0.92;
    line-height: 1.7;
}

.tp-dv-cat-hero {
    background: #f8f9fa;
    padding: 48px 0 40px;
    border-bottom: 2px solid #337ab7;
    border-radius: 0 0 16px 16px;
}

.tp-dv-cat-hero h1 {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 12px;
    color: var(--tp-dark, #5C5B5B);
}

.tp-dv-cat-hero .tp-dv-hero-sub {
    color: #555;
}

/* ── Breadcrumb ── */
.tp-dv-breadcrumb {
    background: #f8f9fa;
    padding: 14px 0;
    font-size: 14px;
    border-bottom: 1px solid #e0e0e0;
}

.tp-dv-breadcrumb a {
    color: #337ab7;
    text-decoration: none;
}

.tp-dv-breadcrumb a:hover {
    text-decoration: underline;
}

.tp-dv-sep {
    margin: 0 8px;
    color: #999;
}

/* ── Sections ── */
.tp-dv-section {
    padding: 56px 0;
}

.tp-dv-section--alt {
    background: #f8f9fa;
}

.tp-dv-section-title {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 12px;
    text-align: center;
    color: var(--tp-dark, #5C5B5B);
}

.tp-dv-section-sub {
    font-size: 18px;
    color: #666;
    text-align: center;
    margin: 0 0 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Category Grid (Overview) ── */
.tp-dv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.tp-dv-card {
    display: block;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 32px 24px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: border-color 0.2s, box-shadow 0.25s, transform 0.25s;
}

.tp-dv-card:hover {
    border-color: #337ab7;
    box-shadow: 0 8px 24px rgba(51, 122, 183, 0.14);
    transform: translateY(-2px);
}

.tp-dv-card-icon {
    margin-bottom: 16px;
}

.tp-dv-icon {
    display: inline-block;
    width: 48px;
    height: 48px;
    background: #337ab7;
    border-radius: 10px;
    -webkit-mask-size: 32px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: 32px;
    mask-repeat: no-repeat;
    mask-position: center;
}

/* SVG Icons per Kategorie via mask-image */
/* display = Rollup Display (monitor/stand) */
.tp-dv-icon--display {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='0'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='0'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
}

/* banner = PVC Banner / Planen (flag) */
.tp-dv-icon--banner {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='13' rx='0'/%3E%3Cline x1='3' y1='16' x2='3' y2='22'/%3E%3Cline x1='21' y1='16' x2='21' y2='22'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='13' rx='0'/%3E%3Cline x1='3' y1='16' x2='3' y2='22'/%3E%3Cline x1='21' y1='16' x2='21' y2='22'/%3E%3C/svg%3E");
}

/* flag = Beachflags / Fahnen */
.tp-dv-icon--flag {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E");
}

/* dtf = DTF Transfers (layers/print) */
.tp-dv-icon--dtf {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E");
}

/* foil = Klebefolien (scissors/cut) */
.tp-dv-icon--foil {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cline x1='20' y1='4' x2='8.12' y2='15.88'/%3E%3Cline x1='14.47' y1='14.48' x2='20' y2='20'/%3E%3Cline x1='8.12' y1='8.12' x2='12' y2='12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cline x1='20' y1='4' x2='8.12' y2='15.88'/%3E%3Cline x1='14.47' y1='14.48' x2='20' y2='20'/%3E%3Cline x1='8.12' y1='8.12' x2='12' y2='12'/%3E%3C/svg%3E");
}

/* sticker = Aufkleber (tag/sticker) */
.tp-dv-icon--sticker {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
}

/* poster = Plakate & Poster (image) */
.tp-dv-icon--poster {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='0'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='0'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E");
}

/* sign = Schilder & Platten (square/clipboard) */
.tp-dv-icon--sign {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='0'/%3E%3Cline x1='9' y1='12' x2='15' y2='12'/%3E%3Cline x1='9' y1='16' x2='15' y2='16'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='0'/%3E%3Cline x1='9' y1='12' x2='15' y2='12'/%3E%3Cline x1='9' y1='16' x2='15' y2='16'/%3E%3C/svg%3E");
}

/* wall = Wanddekoration (frame/picture) */
.tp-dv-icon--wall {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='0'/%3E%3Crect x='5' y='5' width='14' height='14' rx='0'/%3E%3Cline x1='5' y1='2' x2='5' y2='5'/%3E%3Cline x1='19' y1='2' x2='19' y2='5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='0'/%3E%3Crect x='5' y='5' width='14' height='14' rx='0'/%3E%3Cline x1='5' y1='2' x2='5' y2='5'/%3E%3Cline x1='19' y1='2' x2='19' y2='5'/%3E%3C/svg%3E");
}

/* light = Leuchtrahmen (sun/zap) */
.tp-dv-icon--light {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cline x1='12' y1='1' x2='12' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='23'/%3E%3Cline x1='4.22' y1='4.22' x2='5.64' y2='5.64'/%3E%3Cline x1='18.36' y1='18.36' x2='19.78' y2='19.78'/%3E%3Cline x1='1' y1='12' x2='3' y2='12'/%3E%3Cline x1='21' y1='12' x2='23' y2='12'/%3E%3Cline x1='4.22' y1='19.78' x2='5.64' y2='18.36'/%3E%3Cline x1='18.36' y1='5.64' x2='19.78' y2='4.22'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cline x1='12' y1='1' x2='12' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='23'/%3E%3Cline x1='4.22' y1='4.22' x2='5.64' y2='5.64'/%3E%3Cline x1='18.36' y1='18.36' x2='19.78' y2='19.78'/%3E%3Cline x1='1' y1='12' x2='3' y2='12'/%3E%3Cline x1='21' y1='12' x2='23' y2='12'/%3E%3Cline x1='4.22' y1='19.78' x2='5.64' y2='18.36'/%3E%3Cline x1='18.36' y1='5.64' x2='19.78' y2='4.22'/%3E%3C/svg%3E");
}

/* trade = Messesysteme (briefcase/grid) */
.tp-dv-icon--trade {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='0'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3Cline x1='12' y1='12' x2='12' y2='12.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='0'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3Cline x1='12' y1='12' x2='12' y2='12.01'/%3E%3C/svg%3E");
}

.tp-dv-card-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--tp-dark, #5C5B5B);
}

.tp-dv-card-desc {
    font-size: 14px;
    color: #666;
    margin: 0 0 12px;
    line-height: 1.5;
}

.tp-dv-card-count {
    font-size: 14px;
    color: #337ab7;
    font-weight: 500;
}

/* ── Guide Grid ── */
.tp-dv-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.tp-dv-guide-grid--large {
    grid-template-columns: repeat(2, 1fr);
}

.tp-dv-guide-card {
    display: block;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 28px 24px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: border-color 0.2s, box-shadow 0.25s, transform 0.25s;
}

.tp-dv-guide-card:hover {
    border-color: #337ab7;
    box-shadow: 0 8px 24px rgba(51, 122, 183, 0.14);
    transform: translateY(-2px);
}

.tp-dv-guide-card h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--tp-dark, #5C5B5B);
}

.tp-dv-guide-card p {
    font-size: 14px;
    color: #666;
    margin: 0 0 12px;
    line-height: 1.5;
}

.tp-dv-link {
    font-size: 14px;
    color: #337ab7;
    font-weight: 500;
}

/* ── Product Cards (Category Page) ── */
.tp-dv-product {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 28px 24px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: box-shadow 0.25s;
}

.tp-dv-product:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

.tp-dv-product-info {
    flex: 1;
    min-width: 0;
}

.tp-dv-product-name {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 10px;
    color: var(--tp-dark, #5C5B5B);
}

.tp-dv-product-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.tp-dv-spec {
    font-size: 14px;
    color: #555;
}

.tp-dv-product-downloads {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    margin-left: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 340px;
}

.tp-dv-dl-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    text-decoration: none;
    color: var(--tp-dark, #5C5B5B);
    font-size: 14px;
    font-weight: 500;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    gap: 8px;
}

.tp-dv-dl-btn:hover {
    border-color: #337ab7;
    background: #f0f7ff;
    box-shadow: 0 2px 8px rgba(51,122,183,0.12);
}

.tp-dv-dl-icon {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 36px;
    text-align: center;
}

/* ── Tips ── */
.tp-dv-tips {
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 700px;
    margin: 0 auto;
}

.tp-dv-tips li {
    padding: 12px 0 12px 28px;
    position: relative;
    font-size: 14px;
    border-bottom: 1px solid #e8e8e8;
}

.tp-dv-tips li:last-child {
    border-bottom: none;
}

.tp-dv-tips li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #337ab7;
    font-weight: 700;
}

/* ── Buttons ── */
.tp-dv-btn {
    display: inline-block;
    padding: 14px 32px;
    background: #337ab7;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border: 2px solid #337ab7;
    border-radius: 10px;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
    box-shadow: 0 2px 8px rgba(51,122,183,0.2);
}

.tp-dv-btn:hover {
    background: #285e8e;
    border-color: #285e8e;
    color: #fff;
    box-shadow: 0 4px 16px rgba(51,122,183,0.3);
    transform: translateY(-1px);
}

.tp-dv-btn--outline {
    background: transparent;
    color: #337ab7;
    box-shadow: none;
}

.tp-dv-btn--outline:hover {
    background: #337ab7;
    color: #fff;
    box-shadow: 0 4px 16px rgba(51,122,183,0.3);
}

/* ── FAQ ── */
.tp-dv-faq-list {
    max-width: 800px;
}

.tp-dv-faq-item {
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    margin-bottom: 10px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    overflow: hidden;
}

.tp-dv-faq-q {
    padding: 18px 24px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 48px;
}

.tp-dv-faq-q::-webkit-details-marker {
    display: none;
}

.tp-dv-faq-q::after {
    content: '+';
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    color: #337ab7;
    font-weight: 300;
}

.tp-dv-faq-item[open] .tp-dv-faq-q::after {
    content: '−';
}

.tp-dv-faq-a {
    padding: 0 24px 20px;
    font-size: 14px;
    color: #555;
    line-height: 1.7;
}

.tp-dv-faq-a p {
    margin: 0;
}

/* ── Article (Guide) ── */
.tp-dv-article {
    max-width: 800px;
}

.tp-dv-article h1 {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 16px;
}

.tp-dv-article-intro {
    font-size: 18px;
    color: #555;
    line-height: 1.7;
    margin: 0 0 36px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e0e0e0;
}

.tp-dv-article h2 {
    font-size: 24px;
    font-weight: 600;
    margin: 32px 0 12px;
    color: var(--tp-dark, #5C5B5B);
}

.tp-dv-article p {
    font-size: 18px;
    line-height: 1.7;
    color: #444;
    margin: 0 0 20px;
}

/* ── FAQ Teaser (Overview) ── */
.tp-dv-faq-teaser {
    text-align: center;
    max-width: 600px;
}

.tp-dv-faq-teaser p {
    font-size: 18px;
    color: #555;
    margin: 0 0 24px;
    line-height: 1.7;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .tp-dv-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tp-dv-product {
        flex-direction: column;
    }

    .tp-dv-product-downloads {
        margin-left: 0;
        margin-top: 16px;
        max-width: none;
    }

    .tp-dv-hero h1 {
        font-size: 28px;
    }
}

@media (max-width: 600px) {
    .tp-dv-grid {
        grid-template-columns: 1fr;
    }

    .tp-dv-guide-grid {
        grid-template-columns: 1fr;
    }

    .tp-dv-hero {
        padding: 40px 0 32px;
    }

    .tp-dv-hero h1 {
        font-size: 24px;
    }

    .tp-dv-section {
        padding: 36px 0;
    }

    .tp-dv-section-title {
        font-size: 24px;
    }

    .tp-dv-container {
        padding: 0 16px;
    }

    .tp-dv-product-downloads {
        gap: 6px;
    }

    .tp-dv-dl-btn {
        padding: 6px 10px;
        font-size: 12px;
    }
}
