.dumela-portfolio-player {
  --dp-accent: #ff6847;
  --dp-text: #f5f2eb;
  width: 100%;
  min-width: 0;
  color: var(--dp-text);
  font-family: Inter, system-ui, sans-serif;
  container-type: inline-size;
}
.dumela-portfolio-player *, .dumela-portfolio-player *::before { box-sizing: border-box; }
.dumela-portfolio-player [hidden] { display: none !important; }
.dumela-portfolio-player .dp-stage {
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  background: #000;
}
.dumela-portfolio-player video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.dumela-portfolio-player .dp-controls {
  position: absolute;
  z-index: 2;
  inset: auto 10px 10px;
  padding: 4px 8px;
  border: 1px solid #ffffff23;
  border-radius: 10px;
  background: rgba(18, 19, 22, .9);
  box-shadow: 0 4px 20px #0005;
  opacity: 0;
  transform: translateY(5px);
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}
.dumela-portfolio-player[data-dp-controls-visible] .dp-controls,
.dumela-portfolio-player:has(.dp-controls :focus-visible) .dp-controls {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.dumela-portfolio-player .dp-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
  min-height: 36px;
}
.dumela-portfolio-player .dp-timeline {
  position: relative;
  display: grid;
  align-items: center;
  height: 19px;
  margin-inline: 5px;
}
.dumela-portfolio-player .dp-timeline::before {
  position: absolute;
  inset: auto 0;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(to right, var(--dp-accent) var(--dp-progress, 0%), #ffffff42 var(--dp-progress, 0%));
  content: '';
}
.dumela-portfolio-player .dp-timeline input {
  position: relative;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}
.dumela-portfolio-player .dp-timeline input:focus { outline: none; }
.dumela-portfolio-player .dp-timeline:has(input:focus-visible) .dp-thumb { box-shadow: 0 0 0 2px #fff; }
.dumela-portfolio-player button, .dumela-portfolio-player select {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: auto;
  height: 34px;
  min-width: 34px;
  margin: 0;
  padding: 0 5px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--dp-text);
  font: 650 11px/1 system-ui, sans-serif;
  cursor: pointer;
}
.dumela-portfolio-player select { appearance: none; max-width: 74px; background: #ffffff12; text-align: center; }
.dumela-portfolio-player select option { color: #fff; background: #222429; }
.dumela-portfolio-player button:hover, .dumela-portfolio-player select:hover { background: #ffffff20; }
.dumela-portfolio-player button:focus-visible, .dumela-portfolio-player select:focus-visible,
.dumela-portfolio-player a:focus-visible { outline: 2px solid var(--dp-accent); outline-offset: 2px; }
.dumela-portfolio-player button svg { width: 17px; height: 17px; }
.dumela-portfolio-player [data-dp-play] svg { width: 22px; height: 22px; }
.dumela-portfolio-player button.dp-start {
  z-index: 1;
  width: clamp(54px, 10%, 72px);
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 0;
  background: #141519eb;
  color: #fff;
}
.dumela-portfolio-player .dp-start:hover { background: #141519; color: var(--dp-accent); }
.dumela-portfolio-player .dp-start svg { width: 44%; height: 44%; transform: translateX(1px); }
.dumela-portfolio-player .dp-time {
  flex: 0 0 auto;
  font-size: 11px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: #e5e3de;
  white-space: nowrap;
}
.dumela-portfolio-player .dp-spacer { flex: 1 1 auto; min-width: 0; }
.dumela-portfolio-player .dp-volume { appearance: none; flex: 0 0 auto; width: 60px; height: 30px; margin: 0 5px 0 1px; cursor: pointer; border: 0; padding: 0; background: transparent; }
.dumela-portfolio-player .dp-volume::-webkit-slider-runnable-track { height: 3px; border-radius: 999px; background: linear-gradient(to right, #f5f2eb var(--dp-volume-level, 100%), #ffffff42 var(--dp-volume-level, 100%)); }
.dumela-portfolio-player .dp-volume::-moz-range-track { height: 3px; border-radius: 999px; background: #ffffff42; }
.dumela-portfolio-player .dp-volume::-moz-range-progress { height: 3px; border-radius: 999px; background: #f5f2eb; }
.dumela-portfolio-player .dp-volume::-webkit-slider-thumb { appearance: none; width: 8px; height: 8px; margin-top: -2.5px; border-radius: 50%; background: #f5f2eb; }
.dumela-portfolio-player .dp-volume::-moz-range-thumb { width: 8px; height: 8px; border: 0; border-radius: 50%; background: #f5f2eb; }
.dumela-portfolio-player .dp-thumb { position: absolute; z-index: 1; pointer-events: none; left: var(--dp-progress, 0%); top: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; border-radius: 50%; background: var(--dp-accent); opacity: 0; }
.dumela-portfolio-player .dp-timeline:hover .dp-thumb, .dumela-portfolio-player .dp-timeline:has(input:focus-visible) .dp-thumb { opacity: 1; }
.dumela-portfolio-player .dp-preview { position: absolute; z-index: 3; pointer-events: none; bottom: calc(100% + 6px); left: var(--dp-preview-left, 50%); transform: translateX(-50%); display: grid; justify-items: center; gap: 4px; }
.dumela-portfolio-player .dp-preview-frame { display: block; width: 128px; position: relative; overflow: hidden; border-radius: 6px; background: #141519; outline: 1px solid #ffffff42; box-shadow: 0 3px 14px #0009; }
.dumela-portfolio-player .dp-preview-frame img { position: absolute; left: 0; top: 0; max-width: none !important; height: auto !important; margin: 0 !important; display: block; }
.dumela-portfolio-player .dp-preview-time { padding: 4px 7px; border-radius: 4px; background: #141519; font: 650 11px/1.2 system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.dumela-portfolio-player [data-dp-quality] { min-width: 44px; }
.dumela-portfolio-player .dp-timeline input { z-index: 2; appearance: none; padding: 0; border: 0; }
.dumela-portfolio-player .dp-timeline input::-webkit-slider-thumb { appearance: none; width: 0; height: 16px; }
.dumela-portfolio-player .dp-timeline input::-moz-range-thumb { width: 0; height: 16px; border: 0; }
.dumela-portfolio-player .dp-row button:disabled { opacity: .45; cursor: default; }
.dumela-portfolio-player .dp-status {
  position: absolute;
  z-index: 1;
  bottom: 78px;
  inset-inline: 10px;
  width: fit-content;
  margin: 0 auto;
  padding: 6px 10px;
  border-radius: 7px;
  background: #111d;
  color: #fff;
  font-size: 13px;
}
.dumela-portfolio-player .dp-status a { color: #ffad9b; text-decoration: underline; }
.dumela-portfolio-player:fullscreen { display: grid; background: #000; }
.dumela-portfolio-player:fullscreen .dp-stage { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; }
@container (max-width: 540px) {
  .dumela-portfolio-player .dp-volume { display: none; }
  .dumela-portfolio-player .dp-controls { inset: auto 6px 6px; padding: 2px 4px; }
  .dumela-portfolio-player .dp-row { gap: 2px; }
  .dumela-portfolio-player button, .dumela-portfolio-player select { height: 38px; min-width: 30px; padding-inline: 4px; }
  .dumela-portfolio-player select { max-width: 51px; }
}
@container (max-width: 345px) { .dumela-portfolio-player .dp-row { gap: 1px; } .dumela-portfolio-player .dp-row button, .dumela-portfolio-player .dp-row select { min-width: 26px; padding-inline: 2px; } .dumela-portfolio-player [data-dp-quality] { min-width: 39px; } }
@media (prefers-reduced-motion: reduce) { .dumela-portfolio-player .dp-controls { transition: none; } }

.dumela-portfolio-player .dp-menu-host { position: relative; flex: 0 0 auto; }
.dumela-portfolio-player .dp-menu-toggle { background: #ffffff12; font-variant-numeric: tabular-nums; }
.dumela-portfolio-player .dp-menu-toggle:hover,
.dumela-portfolio-player .dp-menu-toggle[aria-expanded="true"] { background: #ff684724; color: var(--dp-accent); }
.dumela-portfolio-player .dp-menu { position: absolute; z-index: 4; bottom: calc(100% + 6px); left: var(--dp-menu-left, 0px); width: 76px; display: grid; gap: 2px; padding: 4px; border: 1px solid #ffffff20; border-radius: 9px; background: #222329; box-shadow: 0 8px 24px #0009; overflow-y: auto; overscroll-behavior: contain; }
.dumela-portfolio-player .dp-menu button { width: 100%; min-width: 0; height: 27px; padding: 0 5px; color: #d7d4ce; font-variant-numeric: tabular-nums; }
.dumela-portfolio-player .dp-menu button:is(:hover, :focus-visible) { background: #ffffff12; color: #fff; }
.dumela-portfolio-player .dp-menu button[aria-checked="true"] { background: #ff684724; color: var(--dp-accent); }
.dumela-portfolio-player[data-dp-menu-open] .dp-controls { opacity: 1; transform: none; pointer-events: auto; }

.dumela-player-dialog { position: fixed; inset: 0; width: min(94vw, calc(94dvh * 16 / 9)); max-width: none; max-height: none; height: fit-content; margin: auto; padding: 0; border: 0; overflow: visible; background: transparent; color: #fff; }
.dumela-player-dialog::backdrop { background: #080808ef; }
.dumela-player-dialog .dp-dialog-close {
  position: fixed;
  z-index: 5;
  top: max(8px, env(safe-area-inset-top));
  right: max(8px, env(safe-area-inset-right));
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #ffffff28;
  border-radius: 50%;
  background: #0f10118c;
  color: #fffd;
  font-size: 0;
  cursor: pointer;
}
.dumela-player-dialog .dp-dialog-close::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 14px;
  height: 14px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8m0-8-8 8' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  pointer-events: none;
}
.dumela-player-dialog .dp-dialog-close::after { content: none; }
.dumela-player-dialog .dp-dialog-close:hover { background: #171819df; color: #fff; }
.dumela-player-dialog .dp-dialog-close:focus-visible { outline: 2px solid #ff6847; outline-offset: 2px; }

.dumela-portfolio-player .dp-start { position: relative; }
.dumela-portfolio-player[data-dp-loading] .dp-start::after { content: ""; position: absolute; inset: -5px; border: 2px solid #ffffff35; border-top-color: var(--dp-accent); border-radius: 50%; pointer-events: none; animation: dumela-player-spin .8s linear infinite; }
@keyframes dumela-player-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dumela-portfolio-player[data-dp-loading] .dp-start::after { animation: none; } }
.dumela-portfolio-player .dp-cc-active { color: var(--dp-accent); }
.dumela-portfolio-player [data-dp-captions] + .dp-menu { width: 132px; }
.dumela-portfolio-player .dp-tooltip { position: absolute; z-index: 4; bottom: calc(100% + 7px); transform: translateX(-50%); padding: 5px 8px; border: 1px solid #ffffff24; border-radius: 5px; background: #222329; color: #f5f2eb; box-shadow: 0 3px 12px #0008; white-space: nowrap; pointer-events: none; font: 650 11px/1.2 system-ui, sans-serif; }

/* Preserve the source orientation for tagged portfolio embeds. */
.dumela-vertical-video { --dp-source-ratio: 0.5625; }
.dumela-square-video { --dp-source-ratio: 1; }
:is(.dumela-vertical-video, .dumela-square-video) > .dumela-portfolio-player:not(:fullscreen) {
  width: min(100%, calc(82dvh * var(--dp-source-ratio)));
  margin-inline: auto;
}
:is(.dumela-vertical-video, .dumela-square-video) .dumela-portfolio-player:not(:fullscreen) .dp-stage {
  aspect-ratio: var(--dp-source-ratio);
}
:is(.dumela-vertical-video, .dumela-square-video) .dumela-player-dialog {
  width: min(94vw, calc(94dvh * var(--dp-source-ratio)));
}
@container (max-width: 350px) {
  .dumela-vertical-video .dp-row {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0;
  }
  .dumela-vertical-video .dp-spacer {
    flex: 0 0 100%;
    height: 0;
  }
}

/* Keep the original CTA line when a hidden dialog is between the buttons. */
.nectar_video_lightbox + .wpb_text_column:has(dialog[data-dp-vimeo]):has(+ .btn-ver-detalhes) { display: contents; }
