.epcc-root, .epcc-root * { box-sizing:border-box; }
.epcc-root { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:#11111a; position:relative; z-index:999999; }
.epcc-overlay { position:fixed; inset:0; background:rgba(0,0,0,.62); z-index:999998; }
.epcc-dialog { position:fixed; z-index:999999; }
.epcc-banner { left:50%; top:50%; transform:translate(-50%,-50%); width:min(92vw,1060px); }
.epcc-card { background:#fff; border:3px solid var(--epcc-primary,#6f2383); border-radius:8px; padding:54px 58px 44px; box-shadow:0 24px 80px rgba(0,0,0,.28); }
.epcc-brand { display:flex; align-items:center; gap:12px; margin-bottom:44px; color:var(--epcc-dark,#2a0d35); }
.epcc-brand img { max-height:54px; max-width:240px; object-fit:contain; }
.epcc-brand strong { font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1; }
.epcc-mark { width:46px; height:46px; border-radius:50%; background:var(--epcc-accent,#25f51f); display:inline-block; position:relative; flex:0 0 auto; }
.epcc-mark:before { content:""; position:absolute; width:24px; height:7px; background:var(--epcc-dark,#2a0d35); left:12px; top:15px; border-radius:3px; transform:rotate(-45deg); }
.epcc-mark:after { content:""; position:absolute; width:7px; height:24px; background:var(--epcc-dark,#2a0d35); left:22px; top:13px; border-radius:3px; transform:rotate(15deg); }
.epcc-card h2, .epcc-pref-card h2 { margin:0 0 28px; color:#050509; font-weight:800; line-height:1.13; letter-spacing:-.035em; }
.epcc-card h2 { font-size:54px; max-width:900px; }
.epcc-description { font-size:28px; line-height:1.47; margin:0 0 52px; color:#111; max-width:980px; }
.epcc-description a { color:#111; text-decoration:underline; }
.epcc-actions { display:grid; grid-template-columns:1fr 1fr 1.08fr; gap:18px; align-items:center; }
.epcc-btn { appearance:none; border:2px solid var(--epcc-primary,#6f2383); border-radius:6px; padding:0 24px; min-height:76px; display:inline-flex; align-items:center; justify-content:center; font-size:28px; line-height:1.1; font-weight:800; cursor:pointer; transition:background .15s,color .15s,border-color .15s,transform .15s; font-family:inherit; text-align:center; }
.epcc-btn:active { transform:translateY(1px); }
.epcc-btn-primary { background:var(--epcc-primary,#6f2383); color:#fff; }
.epcc-btn-primary:hover { background:#5e1b70; border-color:#5e1b70; color:#fff; }
.epcc-btn-outline { background:#fff; color:var(--epcc-primary,#6f2383); }
.epcc-btn-outline:hover { background:#f7effa; }
.epcc-preferences { left:50%; top:50%; transform:translate(-50%,-50%); width:min(92vw,680px); }
.epcc-pref-card { background:#fff; border-radius:10px; padding:34px; box-shadow:0 22px 70px rgba(0,0,0,.3); max-height:88vh; overflow:auto; }
.epcc-pref-brand { margin-bottom:34px; }
.epcc-pref-brand strong { font-size:30px; }
.epcc-pref-brand .epcc-mark { width:38px; height:38px; }
.epcc-back { display:inline-flex; align-items:center; background:transparent; border:0; padding:0; margin:0 0 32px; color:var(--epcc-primary,#6f2383); font-size:18px; cursor:pointer; text-decoration:underline; }
.epcc-pref-card h2 { font-size:38px; margin-bottom:24px; }
.epcc-accordion { border-top:1px solid #ddd; }
.epcc-acc-item { border-bottom:1px solid #ddd; }
.epcc-acc-head { width:100%; min-height:64px; background:#fff; border:0; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0; font-size:18px; font-weight:500; text-align:left; cursor:pointer; font-family:inherit; color:#111; }
.epcc-cat-line { display:flex; align-items:center; gap:18px; }
.epcc-cat-checkbox { width:18px; height:18px; accent-color:var(--epcc-primary,#6f2383); }
.epcc-acc-body { padding:0 0 18px 36px; color:#555; font-size:14px; line-height:1.45; }
.epcc-declaration-body { padding-left:0; overflow:auto; }
.epcc-cookie-mini-table { display:grid; gap:8px; margin-top:12px; }
.epcc-cookie-mini-row { border:1px solid #eee; background:#fafafa; border-radius:6px; padding:10px; display:flex; flex-direction:column; gap:3px; }
.epcc-cookie-mini-row strong { color:#111; }
.epcc-cookie-mini-row small { color:#777; }
.epcc-empty { font-style:italic; color:#777; }
.epcc-pref-actions { display:grid; grid-template-columns:1fr 1.55fr; gap:12px; margin-top:28px; }
.epcc-pref-actions .epcc-btn { min-height:58px; font-size:18px; }
.epcc-declaration-wrap { max-width:1056px; margin:20px auto; padding:0 20px; overflow:auto; }
.epcc-declaration-table { width:100%; border-collapse:collapse; background:#fff; font-size:14px; }
.epcc-declaration-table th { background:#f3edf8; color:#111; font-weight:700; }
.epcc-declaration-table th, .epcc-declaration-table td { border:1px solid #d8d3dd; padding:12px 14px; text-align:left; vertical-align:top; }
.epcc-declaration-table tbody tr:nth-child(odd) td { background:#f6f7fa; }
.epcc-footer-link { position:fixed; right:18px; bottom:16px; z-index:999990; background:#fff; border:1px solid #d8d3dd; color:var(--epcc-primary,#6f2383); border-radius:30px; padding:9px 14px; font-size:13px; font-weight:700; box-shadow:0 4px 16px rgba(0,0,0,.12); cursor:pointer; }
.epcc-footer-link:hover { background:#f3edf8; }
body.epcc-modal-open { overflow:hidden; }
@media (max-width: 860px) {
  .epcc-banner { width:calc(100vw - 28px); }
  .epcc-card { padding:30px 24px; }
  .epcc-brand { margin-bottom:28px; }
  .epcc-brand strong { font-size:28px; }
  .epcc-card h2 { font-size:32px; }
  .epcc-description { font-size:18px; margin-bottom:28px; }
  .epcc-actions { grid-template-columns:1fr; gap:12px; }
  .epcc-btn { min-height:56px; font-size:18px; }
  .epcc-preferences { width:calc(100vw - 28px); }
  .epcc-pref-card { padding:24px 20px; max-height:90vh; }
  .epcc-pref-card h2 { font-size:30px; }
  .epcc-pref-actions { grid-template-columns:1fr; }
  .epcc-acc-head { font-size:16px; }
  .epcc-acc-body { padding-left:0; }
  .epcc-footer-link { right:10px; bottom:10px; font-size:12px; }
}

/* =============================================================
   EPCC v1.2 — Professional Instapro/Emiliapro style refinement
   ============================================================= */
.epcc-root, .epcc-root * {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.epcc-overlay {
  background: rgba(8, 3, 12, .70) !important;
  backdrop-filter: blur(1px);
}
.epcc-banner {
  width: min(92vw, 1040px) !important;
}
.epcc-card {
  border: 2px solid var(--epcc-primary,#6f2383) !important;
  border-radius: 10px !important;
  padding: 50px 56px 46px !important;
  box-shadow: 0 26px 90px rgba(10, 2, 18, .34) !important;
}
.epcc-brand {
  margin-bottom: 42px !important;
}
.epcc-brand img {
  max-height: 50px !important;
  max-width: 260px !important;
  width: auto !important;
}
.epcc-brand strong {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: var(--epcc-dark,#2a0d35) !important;
}
.epcc-card h2 {
  font-size: clamp(38px, 4.35vw, 56px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 30px !important;
  color: #030307 !important;
  max-width: 900px !important;
}
.epcc-description {
  font-size: clamp(19px, 2.05vw, 28px) !important;
  line-height: 1.46 !important;
  color: #0c0c12 !important;
  margin-bottom: 48px !important;
}
.epcc-actions {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 18px !important;
}
.epcc-btn {
  min-height: 72px !important;
  border-radius: 6px !important;
  font-size: clamp(18px, 1.7vw, 28px) !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
}
.epcc-btn:focus-visible,
.epcc-acc-head:focus-visible,
.epcc-back:focus-visible,
.epcc-footer-link:focus-visible {
  outline: 3px solid rgba(111,35,131,.28);
  outline-offset: 2px;
}

/* Preference center: app-like, with internal scroll only on list */
.epcc-preferences {
  width: min(92vw, 760px) !important;
}
.epcc-pref-card {
  border-radius: 10px !important;
  padding: 38px 42px 32px !important;
  box-shadow: 0 24px 84px rgba(10, 2, 18, .32) !important;
  max-height: 86vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.epcc-pref-brand {
  margin-bottom: 30px !important;
  flex: 0 0 auto;
}
.epcc-pref-brand img {
  max-height: 44px !important;
  max-width: 240px !important;
}
.epcc-pref-brand strong {
  font-size: 30px !important;
}
.epcc-back {
  color: var(--epcc-primary,#6f2383) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  margin: 0 0 26px !important;
  flex: 0 0 auto;
}
.epcc-pref-card h2 {
  font-size: clamp(30px, 3.05vw, 40px) !important;
  letter-spacing: -.04em !important;
  line-height: 1.1 !important;
  color: #030307 !important;
  margin: 0 0 24px !important;
  flex: 0 0 auto;
}
.epcc-accordion {
  border-top: 1px solid #dedede !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 10px !important;
  flex: 1 1 auto;
  scrollbar-color: #9c9c9c #f1f1f1;
  scrollbar-width: thin;
}
.epcc-accordion::-webkit-scrollbar { width: 8px; }
.epcc-accordion::-webkit-scrollbar-thumb { background: #979797; border-radius: 99px; }
.epcc-accordion::-webkit-scrollbar-track { background: #f2f2f2; border-radius: 99px; }
.epcc-acc-item {
  border-bottom: 1px solid #dedede !important;
}
.epcc-acc-head {
  min-height: 64px !important;
  padding: 0 4px 0 0 !important;
  font-size: 18px !important;
  color: #07070b !important;
  font-weight: 500 !important;
}
.epcc-acc-head > span:first-child,
.epcc-cat-line {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.epcc-acc-head > span:last-child {
  font-size: 0 !important;
  width: 20px;
  height: 20px;
  background: no-repeat center/18px 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%236f2383' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  flex: 0 0 auto;
}
.epcc-cat-checkbox {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid #9aa0a8;
  accent-color: var(--epcc-primary,#6f2383);
  flex: 0 0 auto;
}
.epcc-cat-line::before,
.epcc-acc-item:first-child .epcc-acc-head > span:first-child::before {
  content: "";
  width: 34px;
  height: 34px;
  border-radius: 999px;
  flex: 0 0 auto;
  background-color: #f5f6fa;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 19px 19px;
  border: 1px solid #eceef3;
}
.epcc-acc-item:first-child .epcc-acc-head > span:first-child::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%236f2383' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M8 13h8M8 17h6'/%3E%3C/svg%3E");
}
.epcc-category-item[data-epcc-category="necessary"] .epcc-cat-line::before {
  background-color: #f3f4f8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232a0d35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='10' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}
.epcc-category-item[data-epcc-category="preferences"] .epcc-cat-line::before {
  background-color: #f3f4f8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232a0d35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7'/%3E%3Cpath d='M4 10V3'/%3E%3Cpath d='M12 21v-9'/%3E%3Cpath d='M12 8V3'/%3E%3Cpath d='M20 21v-5'/%3E%3Cpath d='M20 12V3'/%3E%3Cpath d='M1 14h6'/%3E%3Cpath d='M9 8h6'/%3E%3Cpath d='M17 16h6'/%3E%3C/svg%3E");
}
.epcc-category-item[data-epcc-category="statistics"] .epcc-cat-line::before {
  background-color: #f3f4f8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232a0d35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 16V9'/%3E%3Cpath d='M12 16V5'/%3E%3Cpath d='M17 16v-7'/%3E%3C/svg%3E");
}
.epcc-category-item[data-epcc-category="marketing"] .epcc-cat-line::before {
  background-color: #f3f4f8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232a0d35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 13v-2z'/%3E%3Cpath d='M11.6 16.8a3 3 0 0 1-5.8-1.6'/%3E%3C/svg%3E");
}
.epcc-category-item[data-epcc-category="unclassified"] .epcc-cat-line::before {
  background-color: #f3f4f8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232a0d35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M9.1 9a3 3 0 1 1 5.8 1c0 2-3 2-3 4'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
}
.epcc-cat-line > span {
  font-weight: 650;
}
.epcc-acc-body {
  padding: 0 0 18px 66px !important;
  color: #5f6470 !important;
  font-size: 14px !important;
}
.epcc-cookie-mini-row {
  border-color: #e3e5ea !important;
  background: #fafbfc !important;
  border-radius: 8px !important;
}
.epcc-pref-actions {
  margin-top: 24px !important;
  padding-top: 0 !important;
  grid-template-columns: minmax(180px,.8fr) minmax(260px,1.3fr) !important;
  flex: 0 0 auto;
}
.epcc-pref-actions .epcc-btn {
  min-height: 60px !important;
  font-size: 18px !important;
}
.epcc-footer-link {
  border-radius: 28px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--epcc-primary,#6f2383) !important;
}

@media (max-width: 860px) {
  .epcc-card { padding: 30px 24px !important; }
  .epcc-brand { margin-bottom: 26px !important; }
  .epcc-brand img { max-height: 38px !important; }
  .epcc-card h2 { font-size: 32px !important; }
  .epcc-description { font-size: 18px !important; margin-bottom: 28px !important; }
  .epcc-actions { grid-template-columns:1fr !important; }
  .epcc-btn { min-height: 56px !important; font-size: 18px !important; }
  .epcc-pref-card { padding: 26px 22px 22px !important; }
  .epcc-pref-brand img { max-height: 36px !important; }
  .epcc-pref-card h2 { font-size: 30px !important; }
  .epcc-cat-line::before,
  .epcc-acc-item:first-child .epcc-acc-head > span:first-child::before { display: none; }
  .epcc-acc-body { padding-left: 0 !important; }
  .epcc-pref-actions { grid-template-columns:1fr !important; }
}


/* =============================================================
   EPCC v1.3 — compact Instapro-like final UI
   Fix: no category icons, no dark row background, smaller typography
   ============================================================= */
.epcc-root,
.epcc-root * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.epcc-overlay {
  background: rgba(8, 3, 12, .68) !important;
}

/* Main cookie banner: compact, not oversized */
.epcc-banner {
  width: min(92vw, 760px) !important;
  max-width: 760px !important;
}
.epcc-card {
  padding: 34px 38px 34px !important;
  border: 2px solid var(--epcc-primary,#6f2383) !important;
  border-radius: 9px !important;
  box-shadow: 0 18px 64px rgba(0,0,0,.30) !important;
}
.epcc-brand {
  gap: 10px !important;
  margin-bottom: 28px !important;
}
.epcc-brand img {
  max-height: 42px !important;
  max-width: 220px !important;
  width: auto !important;
}
.epcc-brand strong {
  font-size: 28px !important;
  font-weight: 750 !important;
  letter-spacing: -.03em !important;
}
.epcc-mark {
  width: 34px !important;
  height: 34px !important;
}
.epcc-card h2 {
  font-size: 36px !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
  font-weight: 750 !important;
  margin: 0 0 18px !important;
  max-width: 650px !important;
}
.epcc-description {
  font-size: 18px !important;
  line-height: 1.48 !important;
  margin: 0 0 28px !important;
  max-width: 660px !important;
  color: #111 !important;
}
.epcc-actions {
  grid-template-columns: 1fr 1fr 1.08fr !important;
  gap: 14px !important;
}
.epcc-btn {
  min-height: 56px !important;
  padding: 0 18px !important;
  border-radius: 5px !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
}

/* Preference center: compact like reference */
.epcc-preferences {
  width: min(92vw, 680px) !important;
  max-width: 680px !important;
}
.epcc-pref-card {
  padding: 30px 34px 28px !important;
  max-height: 86vh !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.epcc-pref-brand {
  margin-bottom: 26px !important;
}
.epcc-pref-brand img {
  max-height: 36px !important;
  max-width: 210px !important;
}
.epcc-pref-brand strong {
  font-size: 26px !important;
}
.epcc-back {
  font-size: 16px !important;
  margin: 0 0 22px !important;
  color: var(--epcc-primary,#6f2383) !important;
}
.epcc-pref-card h2 {
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 750 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 22px !important;
}
.epcc-accordion {
  border-top: 1px solid #ddd !important;
  padding-right: 8px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
}
.epcc-acc-item {
  border-bottom: 1px solid #ddd !important;
  background: #fff !important;
}
.epcc-acc-head,
.epcc-acc-head:hover,
.epcc-acc-head:focus,
.epcc-acc-head:active,
.epcc-acc-head:focus-visible {
  background: #fff !important;
  color: #111 !important;
  min-height: 58px !important;
  padding: 0 4px 0 0 !important;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}
.epcc-acc-head > span:first-child,
.epcc-cat-line {
  gap: 14px !important;
}
.epcc-cat-line > span {
  font-weight: 400 !important;
}
.epcc-cat-checkbox {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--epcc-primary,#6f2383) !important;
}

/* Remove left icons completely, as requested */
.epcc-cat-line::before,
.epcc-acc-item:first-child .epcc-acc-head > span:first-child::before,
.epcc-category-item[data-epcc-category="necessary"] .epcc-cat-line::before,
.epcc-category-item[data-epcc-category="preferences"] .epcc-cat-line::before,
.epcc-category-item[data-epcc-category="statistics"] .epcc-cat-line::before,
.epcc-category-item[data-epcc-category="marketing"] .epcc-cat-line::before,
.epcc-category-item[data-epcc-category="unclassified"] .epcc-cat-line::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
}
.epcc-acc-head > span:last-child {
  width: 16px !important;
  height: 16px !important;
  background-size: 16px 16px !important;
}
.epcc-acc-body {
  padding: 0 0 14px 30px !important;
  font-size: 13px !important;
  color: #555 !important;
}
.epcc-pref-actions {
  grid-template-columns: minmax(160px,.9fr) minmax(240px,1.35fr) !important;
  gap: 12px !important;
  margin-top: 18px !important;
}
.epcc-pref-actions .epcc-btn {
  min-height: 52px !important;
  font-size: 16px !important;
}

@media (max-width: 860px) {
  .epcc-banner,
  .epcc-preferences {
    width: calc(100vw - 28px) !important;
  }
  .epcc-card {
    padding: 26px 22px !important;
  }
  .epcc-brand img { max-height: 34px !important; }
  .epcc-card h2 {
    font-size: 28px !important;
    margin-bottom: 14px !important;
  }
  .epcc-description {
    font-size: 15px !important;
    margin-bottom: 22px !important;
  }
  .epcc-actions {
    grid-template-columns: 1fr !important;
  }
  .epcc-btn {
    min-height: 50px !important;
    font-size: 16px !important;
  }
  .epcc-pref-card {
    padding: 24px 20px 20px !important;
  }
  .epcc-pref-card h2 { font-size: 26px !important; }
  .epcc-acc-head { font-size: 15px !important; min-height: 54px !important; }
  .epcc-pref-actions { grid-template-columns: 1fr !important; }
}

/* v1.3.1: remove hover/focus background from preference back link */
.epcc-back,
.epcc-back:hover,
.epcc-back:focus,
.epcc-back:active,
.epcc-back:visited {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--epcc-primary,#6f2383) !important;
  text-decoration: underline !important;
}
.epcc-back:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  outline: 2px solid rgba(111,35,131,.22) !important;
  outline-offset: 3px !important;
}


/* v1.3.2: outline buttons hover/focus fix */
.epcc-btn-outline:hover,
.epcc-btn-outline:focus,
.epcc-btn-outline:active,
.epcc-actions .epcc-btn-outline:hover,
.epcc-actions .epcc-btn-outline:focus,
.epcc-pref-actions .epcc-btn-outline:hover,
.epcc-pref-actions .epcc-btn-outline:focus {
  background: var(--epcc-primary,#6f2383) !important;
  background-color: var(--epcc-primary,#6f2383) !important;
  border-color: var(--epcc-primary,#6f2383) !important;
  color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: none !important;
}
.epcc-btn-outline:hover *,
.epcc-btn-outline:focus * {
  color: #ffffff !important;
}
/* =============================================================
   EPCC v1.3.3 — Client compact popup fix
   Result: desktop 720-820px feel, smaller logo/heading/body/buttons,
   mobile 90-94% width, no overflow. Functionality unchanged.
   ============================================================= */

/* Main consent popup */
.epcc-banner {
  width: min(92vw, 780px) !important;
  max-width: 780px !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.epcc-card {
  padding: 36px 40px 34px !important;
  border: 2px solid var(--epcc-primary,#6f2383) !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 58px rgba(8, 3, 12, .28) !important;
  max-height: 88vh !important;
  overflow-y: auto !important;
}

.epcc-brand {
  margin-bottom: 22px !important;
  gap: 10px !important;
}

.epcc-brand img {
  max-height: 36px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.epcc-brand strong {
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
}

.epcc-mark {
  width: 32px !important;
  height: 32px !important;
}

.epcc-card h2 {
  font-size: 30px !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
  font-weight: 750 !important;
  margin: 0 0 14px !important;
  max-width: 700px !important;
}

.epcc-description {
  font-size: 15.5px !important;
  line-height: 1.58 !important;
  margin: 0 0 24px !important;
  max-width: 700px !important;
  color: #19191f !important;
}

.epcc-description a {
  color: var(--epcc-primary,#6f2383) !important;
  font-weight: 650 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Buttons */
.epcc-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.epcc-btn {
  min-height: 46px !important;
  padding: 10px 16px !important;
  border-radius: 7px !important;
  border-width: 2px !important;
  font-size: 15.5px !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
  white-space: normal !important;
}

/* Preference modal compact but readable */
.epcc-preferences {
  width: min(92vw, 700px) !important;
  max-width: 700px !important;
}

.epcc-pref-card {
  padding: 28px 32px 26px !important;
  max-height: 88vh !important;
  border-radius: 10px !important;
}

.epcc-pref-brand {
  margin-bottom: 20px !important;
}

.epcc-pref-brand img {
  max-height: 34px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
}

.epcc-pref-card h2 {
  font-size: 30px !important;
  line-height: 1.14 !important;
  margin: 0 0 18px !important;
}

.epcc-back {
  font-size: 15px !important;
  margin: 0 0 18px !important;
}

.epcc-acc-head {
  min-height: 52px !important;
  font-size: 15px !important;
}

.epcc-acc-body {
  font-size: 13px !important;
  line-height: 1.5 !important;
  padding: 0 0 12px 28px !important;
}

.epcc-pref-actions {
  gap: 10px !important;
  margin-top: 16px !important;
}

.epcc-pref-actions .epcc-btn {
  min-height: 46px !important;
  font-size: 15px !important;
}

/* Footer settings button: keep function, reduce visual weight */
.epcc-footer-link {
  padding: 9px 14px !important;
  font-size: 12.5px !important;
  border-radius: 24px !important;
}

/* Tablet and mobile */
@media (max-width: 860px) {
  .epcc-banner,
  .epcc-preferences {
    width: min(94vw, 700px) !important;
    max-width: 94vw !important;
  }

  .epcc-card {
    padding: 24px 20px 22px !important;
    max-height: 88vh !important;
  }

  .epcc-brand {
    margin-bottom: 18px !important;
  }

  .epcc-brand img {
    max-height: 32px !important;
    max-width: 180px !important;
  }

  .epcc-brand strong {
    font-size: 23px !important;
  }

  .epcc-card h2 {
    font-size: 25px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  .epcc-description {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
  }

  .epcc-actions {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .epcc-btn {
    width: 100% !important;
    min-height: 44px !important;
    padding: 9px 14px !important;
    font-size: 15px !important;
  }

  .epcc-pref-card {
    padding: 22px 18px 18px !important;
  }

  .epcc-pref-brand img {
    max-height: 30px !important;
    max-width: 170px !important;
  }

  .epcc-pref-card h2 {
    font-size: 24px !important;
  }

  .epcc-acc-head {
    min-height: 48px !important;
    font-size: 14.5px !important;
  }

  .epcc-acc-body {
    padding-left: 0 !important;
  }

  .epcc-pref-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 420px) {
  .epcc-banner,
  .epcc-preferences {
    width: 92vw !important;
    max-width: 92vw !important;
  }

  .epcc-card {
    padding: 22px 16px 18px !important;
  }

  .epcc-card h2 {
    font-size: 23px !important;
  }

  .epcc-description {
    font-size: 14px !important;
  }

  .epcc-footer-link {
    right: 8px !important;
    bottom: 8px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
  }
}
