/* ==========================================================================
   Dynamic Content Panel — Frontend Styles  v1.1
   ========================================================================== */

/* ── Wrapper ── */
.dcp-wrapper {
    display: flex;
    align-items: stretch;
    border-radius: 14px;
    overflow: hidden;
    font-family: 'Segoe UI', Arial, sans-serif;
    box-shadow: 0 4px 28px rgba(0,0,0,.13);
    margin: 20px 0;
}

/* ── Sidebar ── */
.dcp-sidebar {
    width: 220px;
    min-width: 160px;
    max-width: 260px;
    background: #111111;
    padding: 20px 14px;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    align-self: stretch;
    box-sizing: border-box;
    transition: transform .32s ease, opacity .28s ease,
                width .32s ease, min-width .32s ease,
                padding .28s ease;
}

/* Desktop hidden = slide left + collapse width */
.dcp-sidebar.dcp-sidebar--hidden {
    transform: translateX(-100%);
    width: 0 !important;
    min-width: 0 !important;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.dcp-buttons-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dcp-nav-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    border: 2px solid #1a1a2e;
    border-radius: 6px;
    cursor: pointer;
    transition: filter .18s, transform .15s, box-shadow .18s;
    letter-spacing: .3px;
    background: #fff;
    color: #1a1a2e;
    outline: none;
    line-height: 1.4;
    word-break: break-word;
    white-space: normal;
}

.dcp-nav-btn:hover {
    filter: brightness(0.92);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
}

.dcp-nav-btn.dcp-active {
    box-shadow: 0 0 0 3px rgba(255,255,255,.35), 0 4px 18px rgba(0,0,0,.3);
    transform: translateY(-1px);
    filter: brightness(0.96);
}

/* ── Content panel ── */
.dcp-content-panel {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 2px solid #d4d4d4;
    border-left: none;
    border-radius: 0 14px 14px 0;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: border-radius .32s ease, border .28s ease;
}

.dcp-wrapper.dcp-no-sidebar .dcp-content-panel {
    border-left: 2px solid #d4d4d4;
    border-radius: 14px;
}

/* ── Back bar (mobile — shown after click) ── */
.dcp-back-bar {
    display: none;          /* made flex by JS on mobile */
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    background: #111;
    border-bottom: 1px solid #262626;
    flex-shrink: 0;
}

.dcp-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1.5px solid rgba(255,255,255,.45);
    border-radius: 5px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .18s, border-color .18s;
}
.dcp-back-btn:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.dcp-back-btn svg { width: 13px; height: 13px; flex-shrink: 0; }

.dcp-back-label {
    color: rgba(255,255,255,.55);
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Content inner ── */
.dcp-content-inner {
    flex: 1;
    overflow-y: auto;
    padding: 24px 26px;
    scroll-behavior: smooth;
}

/* ── Loading ── */
.dcp-loading {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.82);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    backdrop-filter: blur(2px);
}
.dcp-spinner {
    width: 38px;
    height: 38px;
    border: 3px solid #e0e0e0;
    border-top-color: #1a1a2e;
    border-radius: 50%;
    animation: dcp-spin .7s linear infinite;
}
@keyframes dcp-spin { to { transform: rotate(360deg); } }

/* ── Posts grid ── */
.dcp-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 18px;
}

.dcp-post-card {
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
    background: #fafafa;
    display: flex;
    flex-direction: column;
}
.dcp-post-card:hover { box-shadow: 0 6px 22px rgba(0,0,0,.12); transform: translateY(-3px); }

.dcp-post-thumb-link { display: block; }
.dcp-post-thumb { width: 100%; height: 150px; background-size: cover; background-position: center; }
.dcp-no-thumb { background: #e9ecef; display: flex; align-items: center; justify-content: center; color: #adb5bd; }
.dcp-no-thumb svg { width: 40px; height: 40px; }

.dcp-post-body { padding: 12px 14px 14px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.dcp-post-title { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.4; }
.dcp-post-title a { color: #1a1a2e; text-decoration: none; }
.dcp-post-title a:hover { color: #c0392b; }
.dcp-post-meta { font-size: 11px; color: #888; }

/* ── Social ── */
.dcp-social-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: auto; padding-top: 8px; border-top: 1px solid #f0f0f0; }
.dcp-social-label { font-size: 11px; color: #999; }
.dcp-social-btn { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 5px; text-decoration: none; transition: opacity .18s, transform .15s; flex-shrink: 0; }
.dcp-social-btn:hover { opacity: .82; transform: scale(1.08); }
.dcp-social-btn svg { width: 14px; height: 14px; display: block; }
.dcp-fb { background: #1877f2; color: #fff; }
.dcp-tw { background: #111; color: #fff; }
.dcp-li { background: #0a66c2; color: #fff; }
.dcp-wa { background: #25d366; color: #fff; }

/* ── Load more ── */
.dcp-load-more-wrap { text-align: center; padding: 18px 0 6px; }
.dcp-load-more { padding: 10px 32px; border: 2px solid #1a1a2e; border-radius: 6px; background: #fff; color: #1a1a2e; font-weight: 700; font-size: 13px; cursor: pointer; transition: background .18s, color .18s, transform .15s; letter-spacing: .4px; }
.dcp-load-more:hover { background: #1a1a2e; color: #fff; transform: translateY(-1px); }
.dcp-load-more:disabled { opacity: .5; cursor: not-allowed; }

/* ── Page content ── */
.dcp-page-content { animation: dcp-fade-in .3s ease; }
@keyframes dcp-fade-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.dcp-page-featured-img { margin-bottom: 18px; border-radius: 10px; overflow: hidden; }
.dcp-page-featured-img img { width: 100%; height: auto; display: block; max-height: 320px; object-fit: cover; }
.dcp-page-title { font-size: 22px; font-weight: 800; color: #1a1a2e; margin: 0 0 14px; border-bottom: 2px solid #f0f0f0; padding-bottom: 10px; }
.dcp-page-body { font-size: 15px; line-height: 1.7; color: #333; }
.dcp-page-body img { max-width: 100%; height: auto; border-radius: 6px; }
.dcp-page-body p { margin-bottom: 12px; }

.dcp-iframe-wrap iframe { width: 100%; height: 480px; border: none; border-radius: 8px; }
.dcp-no-content { color: #888; text-align: center; padding: 40px; font-size: 15px; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* ── Tablet 901–1100px: slightly narrower sidebar ── */
@media (max-width: 1100px) and (min-width: 641px) {
    .dcp-sidebar { width: 190px; min-width: 150px; padding: 18px 12px; }
    .dcp-nav-btn { font-size: 13px; padding: 10px 10px; }
}

/* ── Tablet 641–900px: compact sidebar ── */
@media (max-width: 900px) and (min-width: 641px) {
    .dcp-sidebar { width: 160px; min-width: 130px; padding: 14px 10px; }
    .dcp-nav-btn { font-size: 12px; padding: 9px 8px; }
    .dcp-content-inner { padding: 18px 16px; }
}

/* ── Mobile (≤ 640px) ── */
@media (max-width: 640px) {

    .dcp-wrapper {
        flex-direction: column;
        border-radius: 10px;
        overflow: visible;      /* allow back-bar to not clip */
    }

    /* Sidebar: horizontal strip at the top, collapses vertically when hidden */
    .dcp-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex-direction: column;
        padding: 12px 12px 14px;
        border-radius: 10px 10px 0 0;
        /* override desktop slide-left with vertical collapse */
        transform: none;
        max-height: 800px;         /* large cap so list is never clipped */
        overflow: hidden;
        transition: max-height .35s ease, padding .3s ease, opacity .28s ease;
    }

    .dcp-sidebar.dcp-sidebar--hidden {
        max-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        opacity: 0;
        pointer-events: none;
        transform: none !important; /* keep desktop override at bay */
        width: 100% !important;
        min-width: 0 !important;
    }

    .dcp-buttons-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
    }

    /* Buttons: 2 per row by default, stretch equally */
    .dcp-nav-btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 90px;
        width: auto;
        font-size: 13px;
        padding: 10px 8px;
    }

    /* Back bar */
    .dcp-back-bar { display: flex; }

    .dcp-content-panel {
        border-left: 2px solid #d4d4d4;
        border-top: none;
        border-radius: 0 0 10px 10px;
        overflow: hidden;
    }

    .dcp-wrapper.dcp-no-sidebar .dcp-content-panel {
        border-radius: 0 0 10px 10px; /* keep bottom curve; top is back-bar */
    }

    .dcp-content-inner { padding: 16px 14px; }
    .dcp-posts-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Very small phones (≤ 380px) ── */
@media (max-width: 380px) {
    .dcp-nav-btn { flex: 1 1 100%; }    /* 1 button per row */
    .dcp-posts-grid { grid-template-columns: 1fr; }
}

/* ── Bouton "Retour aux services" dans le détail KLC (panel) ─────────── */
.klc-dcp-retour-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 14px 0 18px;
    padding: 9px 18px;
    background: #f0f4f9;
    border: 1.5px solid #d0daea;
    border-radius: 50px;
    color: #1a3c6e;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background .18s, border-color .18s, transform .15s;
    font-family: inherit;
    line-height: 1;
}
.klc-dcp-retour-btn svg {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
}
.klc-dcp-retour-btn:hover {
    background: #1a3c6e;
    border-color: #1a3c6e;
    color: #fff;
    transform: translateX(-2px);
}

/* Adapter le klc-detail-panel au contexte panel (pas de pleine page) */
#dcp-content-area .klc-detail-panel {
    background: transparent;
}
#dcp-content-area .klc-dp-hero {
    border-radius: 14px;
    margin-bottom: 24px;
    background-size: cover !important;
    background-position: center !important;
}
#dcp-content-area .klc-dp-body {
    display: block;  /* empile main + sidebar verticalement dans le panel */
}
#dcp-content-area .klc-dp-sidebar {
    margin-top: 20px;
}

/* ═══════════════════════════════════════════════════════════════
   KLC SERVICE DETAIL — Présentation dans le panel DCP
   Remplace/complète les styles du template single-klc_service.php
   ═══════════════════════════════════════════════════════════════ */

/* ── Bouton "Retour aux services" ── */
.klc-dcp-retour-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 20px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #0a1e3d 0%, var(--klc-p, #1a3c6e) 100%);
    border: none;
    border-radius: 50px;
    color: #fff;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .18s, box-shadow .18s;
    font-family: 'Inter', -apple-system, sans-serif;
    box-shadow: 0 4px 14px rgba(26,60,110,.3);
    letter-spacing: .2px;
}
.klc-dcp-retour-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.klc-dcp-retour-btn:hover {
    transform: translateX(-3px);
    box-shadow: 0 6px 20px rgba(26,60,110,.45);
}

/* ── Conteneur global ── */
#dcp-content-area .klc-detail-panel {
    background: transparent;
    width: 100%;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Hero ── */
#dcp-content-area .klc-dp-hero {
    position: relative;
    height: 240px;
    overflow: hidden;
    border-radius: 14px;
    margin-bottom: 24px;
    /* Fallback couleur si pas d'image — NE PAS utiliser background: shorthand
       car cela réinitialise background-image et entre en conflit avec le <style> #id */
    background-color: #0a1e3d;
    background-size: cover !important;
    background-position: center !important;
}
#dcp-content-area .klc-dp-hero__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px 24px;
    background: linear-gradient(to top, rgba(0,0,0,.78) 0%, transparent 55%);
}
#dcp-content-area .klc-dp-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--klc-acc, #e8a020);
    color: #000;
    font-size: 10px;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 50px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .7px;
    width: fit-content;
}
#dcp-content-area .klc-dp-title {
    font-size: clamp(18px, 3.5vw, 28px);
    font-weight: 900;
    color: #fff;
    margin: 0 0 6px;
    line-height: 1.2;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
#dcp-content-area .klc-dp-stars { display: flex; gap: 3px; }

/* ── Layout corps : main + sidebar ── */
#dcp-content-area .klc-dp-body {
    display: grid !important;
    grid-template-columns: 1fr 280px !important;
    gap: 24px !important;
    align-items: start !important;
}
@media (max-width: 800px) {
    #dcp-content-area .klc-dp-body {
        grid-template-columns: 1fr !important;
    }
    #dcp-content-area .klc-dp-hero { height: 180px; }
}

/* ── Sections ── */
#dcp-content-area .klc-dp-section {
    margin-bottom: 24px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #dde4ee !important;
}
#dcp-content-area .klc-dp-section:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}
#dcp-content-area .klc-dp-section-title {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--klc-p, #1a3c6e) !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 3px solid var(--klc-acc, #e8a020) !important;
}

/* ── Tarifs table ── */
#dcp-content-area .klc-tarifs-wrap {
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(26,60,110,.1);
}
#dcp-content-area .klc-tarifs-table {
    width: 100% !important;
    border-collapse: collapse !important;
}
#dcp-content-area .klc-tarifs-table thead th {
    background: linear-gradient(135deg, var(--klc-p, #1a3c6e) 0%, #234d8a 100%) !important;
    color: #fff !important;
    padding: 12px 18px !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
}
#dcp-content-area .klc-tarifs-table td {
    padding: 12px 18px !important;
    border-bottom: 1px solid #dde4ee !important;
    font-size: 14px !important;
    background: #fff !important;
}
#dcp-content-area .klc-tarifs-table tbody tr:hover td { background: #f0f4f9 !important; }
#dcp-content-area .klc-tarifs-table tbody tr:last-child td { border-bottom: none !important; }
#dcp-content-area .klc-tarifs-table .td-label { font-weight: 600; color: #0f172a; }
#dcp-content-area .klc-tarifs-table .td-price { text-align: right; }
#dcp-content-area .klc-price-display { display: inline-flex; align-items: baseline; gap: 5px; }
#dcp-content-area .klc-price-display .amount {
    font-size: 19px !important;
    font-weight: 900 !important;
    color: var(--klc-p, #1a3c6e) !important;
}
#dcp-content-area .klc-price-display .cur-badge {
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    border-radius: 50px !important;
}
#dcp-content-area .klc-price-display .cur-badge.bif {
    background: rgba(26,60,110,.1) !important;
    color: var(--klc-p, #1a3c6e) !important;
}
#dcp-content-area .klc-price-display .cur-badge.usd {
    background: rgba(21,128,61,.1) !important;
    color: #15803d !important;
}
#dcp-content-area .klc-tarif-note {
    font-size: 12px !important;
    color: #64748b !important;
    margin-top: 10px !important;
    font-style: italic !important;
    padding: 0 4px !important;
}

/* ── Galerie photos ── */
#dcp-content-area .klc-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
    gap: 10px !important;
}
#dcp-content-area .klc-gallery-grid img {
    width: 100% !important;
    height: 120px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    display: block !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
}
#dcp-content-area .klc-gallery-grid img:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.2) !important;
}

/* ── Vidéos ── */
#dcp-content-area .klc-video-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}
#dcp-content-area .klc-video-wrap {
    position: relative !important;
    padding-top: 56.25% !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #000 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.15) !important;
}
#dcp-content-area .klc-video-wrap iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* ── Carte ── */
#dcp-content-area .klc-map-embed {
    width: 100% !important;
    height: 280px !important;
    border: none !important;
    border-radius: 10px !important;
    display: block !important;
    box-shadow: 0 4px 16px rgba(26,60,110,.12) !important;
}
#dcp-content-area .klc-map-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--klc-p, #1a3c6e) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    margin-top: 10px !important;
}
#dcp-content-area .klc-map-link:hover { text-decoration: underline !important; }

/* ── Description ── */
#dcp-content-area .klc-dp-desc {
    font-size: 14px !important;
    line-height: 1.78 !important;
    color: #0f172a !important;
}
#dcp-content-area .klc-info-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
    gap: 10px !important;
    margin-top: 14px !important;
}
#dcp-content-area .klc-info-item {
    background: #f0f4f9 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    border: 1px solid #dde4ee !important;
}
#dcp-content-area .klc-info-item__label {
    font-size: 10px !important;
    color: #64748b !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .7px !important;
    display: block !important;
    margin-bottom: 5px !important;
}
#dcp-content-area .klc-info-item__value {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: var(--klc-p, #1a3c6e) !important;
    display: block !important;
}

/* ── Boutons partager ── */
#dcp-content-area .klc-share-btns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
#dcp-content-area .klc-share-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 9px 18px !important;
    border-radius: 50px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: transform .18s, box-shadow .18s !important;
    border: none !important;
}
#dcp-content-area .klc-share-btn--wa { background: #25d366 !important; color: #fff !important; }
#dcp-content-area .klc-share-btn--fb { background: #1877f2 !important; color: #fff !important; }
#dcp-content-area .klc-share-btn--tw { background: #000 !important; color: #fff !important; }
#dcp-content-area .klc-share-btn--tg { background: #0088cc !important; color: #fff !important; }
#dcp-content-area .klc-share-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 4px 14px rgba(0,0,0,.2) !important; }
#dcp-content-area .klc-share-ref { font-size: 12px !important; color: #64748b !important; margin-top: 10px !important; }

/* ── Sidebar — Widget contact ── */
#dcp-content-area .klc-dp-sidebar { position: sticky; top: 16px; }
#dcp-content-area .klc-chat-contact-widget {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(26,60,110,.16) !important;
    overflow: hidden !important;
    border: 1px solid #dde4ee !important;
}
#dcp-content-area .klc-ccw-head {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 20px !important;
    background: linear-gradient(135deg, #0a1e3d 0%, var(--klc-p, #1a3c6e) 100%) !important;
    color: #fff !important;
}
#dcp-content-area .klc-ccw-avatar {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.2) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    border: 2px solid rgba(255,255,255,.4) !important;
}
#dcp-content-area .klc-ccw-name {
    display: block !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #fff !important;
}
#dcp-content-area .klc-ccw-status {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 11px !important;
    color: rgba(255,255,255,.75) !important;
    margin-top: 3px !important;
}
#dcp-content-area .klc-ccw-dot {
    width: 7px !important;
    height: 7px !important;
    background: #4ade80 !important;
    border-radius: 50% !important;
    animation: klcBlink 1.5s infinite !important;
    flex-shrink: 0 !important;
}
@keyframes klcBlink { 0%,100%{opacity:1} 50%{opacity:.4} }
#dcp-content-area .klc-ccw-bubble-wrap {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 16px 18px 8px !important;
}
#dcp-content-area .klc-ccw-avatar-sm {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #f0f4f9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
#dcp-content-area .klc-ccw-bubble {
    background: #f0f4f9 !important;
    border-radius: 4px 14px 14px 14px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #0f172a !important;
    border: 1px solid #dde4ee !important;
}
#dcp-content-area .klc-ccw-ctas {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 14px 18px 18px !important;
}
#dcp-content-area .klc-ccw-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 12px 16px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: transform .18s, box-shadow .18s !important;
    color: #fff !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
}
#dcp-content-area .klc-ccw-btn--wa {
    background: #25d366 !important;
    box-shadow: 0 4px 14px rgba(37,211,102,.28) !important;
}
#dcp-content-area .klc-ccw-btn--tel {
    background: linear-gradient(135deg, var(--klc-p, #1a3c6e), #234d8a) !important;
    box-shadow: 0 4px 14px rgba(26,60,110,.28) !important;
}
#dcp-content-area .klc-ccw-btn--email {
    background: #f0f4f9 !important;
    color: var(--klc-p, #1a3c6e) !important;
    border: 2px solid #dde4ee !important;
    box-shadow: none !important;
}
#dcp-content-area .klc-ccw-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.2) !important;
}
#dcp-content-area .klc-ccw-ref {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    padding: 0 18px 14px !important;
    margin: 0 !important;
}

/* ── Sidebar position: right ──────────────────────────────────────── */
.dcp-wrapper.dcp-sidebar-right {
    flex-direction: row-reverse;
}

/* ── Default content types ────────────────────────────────────────── */
.dcp-default-shortcode,
.dcp-default-html {
    padding: 16px 0;
    line-height: 1.7;
}

.dcp-default-html h1, .dcp-default-html h2, .dcp-default-html h3 {
    margin-top: 0;
}
