/* Depoimentos Carrossel Pro - CSS v1.0.3 */
@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;600;700&display=swap');

:root {
  --dcp-font: 'Albert Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --dcp-yellow: #F3BC59;
  --dcp-light: #F5F5F5;
  --dcp-gold: #DBAC58;
  --dcp-dark: #1f1f1f;
  --dcp-text: #111;
  --dcp-muted: #6b7280;
  --dcp-radius: 16px;
  --dcp-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* Escopo rígido */
.dcp-form, .dcp-carousel { all: unset; display: block; font-family: var(--dcp-font); color: var(--dcp-text); }
.dcp-form *:where(*), .dcp-carousel *:where(*) { font-family: var(--dcp-font) !important; box-sizing: border-box; }

/* FORM */
.dcp-form { background: var(--dcp-light); border-radius: var(--dcp-radius); padding: clamp(16px, 2.5vw, 28px); box-shadow: var(--dcp-shadow); border: 1px solid #eee; max-width: 720px; margin: 20px auto; }
.dcp-form .dcp-field { display: grid; gap: 6px; margin-bottom: 14px; }
.dcp-form label { font-weight: 600; font-size: 14px; }
.dcp-form input[type="text"], .dcp-form input[type="file"], .dcp-form textarea { width: 100%; background:#fff; border:1px solid #e5e7eb !important; border-radius:12px !important; padding:12px 14px !important; font:400 15px/1.4 var(--dcp-font) !important; color:#111 !important; outline:none !important; box-shadow:none !important; }
.dcp-form .dcp-btn { appearance:none !important; border:none !important; border-radius:999px !important; background:linear-gradient(180deg, var(--dcp-yellow), var(--dcp-gold)) !important; color:#111 !important; font-weight:700 !important; padding:12px 20px !important; cursor:pointer !important; transition:transform .12s ease, filter .2s ease !important; box-shadow:0 6px 14px rgba(0,0,0,.08) !important; text-decoration:none !important; }
.dcp-form .dcp-btn:hover{ transform:translateY(-1px) !important; filter:brightness(1.02) !important; }
.dcp-form .dcp-hp { position:absolute !important; left:-9999px !important; height:0 !important; width:0 !important; opacity:0 !important; pointer-events:none !important; }
.dcp-alert{ padding:12px 14px; border-radius:12px; font-size:14px; margin-bottom:14px; }
.dcp-error{ background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.dcp-confirm{ max-width:720px; margin:20px auto; padding:28px; background:#fff; border:1px solid #e5e7eb; border-radius:16px; box-shadow:var(--dcp-shadow); text-align:center; }
.dcp-confirm h3{ margin:8px 0 6px; font-size:20px; }
.dcp-confirm p{ margin:0; color:#374151; }
.dcp-confirm-icon{ display:inline-grid; place-items:center; width:64px; height:64px; border-radius:999px; background:linear-gradient(180deg, var(--dcp-yellow), var(--dcp-gold)); color:#111; font-weight:700; font-size:28px; margin:0 auto 10px; box-shadow:0 6px 14px rgba(0,0,0,.08); }

/* CAROUSEL */
.dcp-carousel{ position:relative; max-width:1100px; margin:28px auto; padding:12px 8px 56px; overflow:hidden !important; }
.dcp-track{ display:flex !important; gap:16px !important; will-change:transform !important; transition:transform .45s ease !important; }
.dcp-slide{ flex:0 0 calc(100% - 12px) !important; display:flex !important; }
@media (min-width:640px){ .dcp-slide{ flex-basis:calc(50% - 12px) !important; } }
@media (min-width:980px){ .dcp-slide{ flex-basis:calc(33.333% - 11px) !important; } }

.dcp-card{ display:flex !important; flex-direction:column !important; gap:12px !important; background:#fff !important; border:1px solid rgba(0,0,0,.06) !important; border-radius:var(--dcp-radius) !important; padding:24px !important; box-shadow:var(--dcp-shadow) !important; min-height:240px !important; text-align:center !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; }
.dcp-head{ display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:10px !important; }
.dcp-avatar{ inline-size:72px !important; block-size:72px !important; border-radius:50% !important; object-fit:cover !important; border:2px solid rgba(0,0,0,.08) !important; background:#fff !important; }
.dcp-meta .dcp-name{ margin:0 !important; font-size:16px !important; font-weight:700 !important; color:#111 !important; }
.dcp-meta .dcp-company{ margin:2px 0 0 0 !important; font-size:13px !important; color:#2f2f2f !important; opacity:.9 !important; }
.dcp-body .dcp-text{ margin:6px 0 0 0 !important; font-size:15px !important; line-height:1.6 !important; color:#111 !important; }

/* CONTROLES NO CENTRO INFERIOR */
.dcp-controls{ position:absolute; left:50%; bottom:10px; transform:translateX(-50%); display:flex; align-items:center; gap:10px; z-index:3; }
.dcp-nav{ inline-size:36px !important; block-size:36px !important; border-radius:999px !important; background:#fff !important; border:1px solid #eee !important; box-shadow:var(--dcp-shadow) !important; color:#111 !important; display:grid !important; place-items:center !important; cursor:pointer !important; text-decoration:none !important; }
.dcp-nav:hover,.dcp-nav:focus{ background:#fff !important; outline:none !important; }

/* Dots minúsculos (pontos) */
.dcp-dots{ display:flex; gap:6px; align-items:center; justify-content:center; }
.dcp-dots button{ width:4px !important; height:4px !important; border-radius:999px !important; background:rgba(0,0,0,.35) !important; border:none !important; padding:0 !important; }
.dcp-dots button[aria-current="true"]{ background:#111 !important; }
