.elementor-3344 .elementor-element.elementor-element-7bb5eef{--display:flex;}.elementor-3344 .elementor-element.elementor-element-777628d{--display:flex;}.elementor-3344 .elementor-element.elementor-element-ef3d84e{--display:flex;}.elementor-3344 .elementor-element.elementor-element-ec79fcf{--display:flex;}.elementor-3344 .elementor-element.elementor-element-2e56e3a{--display:flex;}.elementor-3344 .elementor-element.elementor-element-153b320{--display:flex;}.elementor-3344 .elementor-element.elementor-element-3b4fe3b{--display:flex;}/* Start custom CSS for html, class: .elementor-element-f12ece2 *//* =========================================
   PRIMEPIXEL – Flow Line (Soft Brand Color Fade + Drift)
   ========================================= */

.pp-flow {
  position: absolute;
  top: -56px;
  left: 0;
  width: 110vw;
  height: 210vh;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.pp-flow-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 1;
}

/* Begge linjer: farve + bevægelse */
.pp-flow-svg #ppFlowPath,
.pp-flow-svg #ppFlowPathThin {
  opacity: 0.9;
  transition: opacity 2s ease, stroke 4s ease;
}

/* Animationer */
@media (prefers-reduced-motion: no-preference) {
  .pp-flow-svg #ppFlowPath {
    animation:
      ppFlowColorPulse 18s ease-in-out infinite,
      ppFlowDrift 14s ease-in-out infinite;
  }
  .pp-flow-svg #ppFlowPathThin {
    animation:
      ppFlowColorPulse 18s ease-in-out infinite,
      ppFlowDriftThin 18s ease-in-out infinite;
    animation-delay: 2.5s; /* let forskydning */
  }
}

/* ----- FARVEPULS ----- */
/* Skifter roligt mellem mørk base, is-blå og lys accent */
@keyframes ppFlowColorPulse {
  0%   { stroke: #1F2530; }
  40%  { stroke: #4EA1FF; }
  80%  { stroke: #9CC2FF; }
  100% { stroke: #1F2530; }
}

/* ----- DRIFT (subtil bevægelse) ----- */
@keyframes ppFlowDrift {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(8px) scale(1.01); }
}
@keyframes ppFlowDriftThin {
  0%, 100% { transform: translateY(-4px) scale(1); }
  50%      { transform: translateY(6px) scale(1.02); }
}

/* ----- MOBIL ----- */
@media (max-width: 768px) {
  .pp-flow {
    top: -36px;
    height: 140vh;
  }
  .pp-flow-svg #ppFlowPath {
    stroke-width: 1.8;
  }
  .pp-flow-svg #ppFlowPathThin {
    stroke-width: 1.0;
  }
}
@media (max-width: 768px) {
  .pp-flow {
    height: 400vh; /* kør længere ned på mobil */
  }
}
@media (max-width: 768px) {
  .pp-flow {
    height: 400vh; /* længere ned på mobil */
    opacity: 0.4;  /* gør linjerne mere gennemsigtige */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9552bea */@media(max-width:768px){
  .pp-hero, 
  .pp-photo-hero {
    padding-top:220px !important; /* tidligere fx 80px */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c9477ee */<style>
/* ========== VI TILBYDER – KORT & HOVER ========== */

/* Grundopsætning til kort */
.pp-photo-services .pp-card{
  position:relative;
  overflow:hidden;
}

/* Lysglød */
.pp-photo-services .pp-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(156,194,255,.16), transparent 65%);
  pointer-events:none;
  z-index:0;
}

/* Billede bag tekst */
.pp-photo-services .pp-card::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--bg, none);
  background-size:cover;
  background-position:var(--bg-pos, center center);
  opacity:.4;
  transition:opacity .35s ease, filter .35s ease;
  z-index:1;
}

/* Ryk billedet */
.pp-photo-services .pp-20ryk::after{ background-position:center 20% !important; }
.pp-photo-services .pp-25ryk::after{ background-position:center 25% !important; }
.pp-photo-services .pp-30ryk::after{ background-position:center 30% !important; }
.pp-photo-services .pp-40ryk::after{ background-position:center 40% !important; }

/* Indhold over billedet */
.pp-photo-services .pp-card > *{
  position:relative;
  z-index:2;
}

/* Skjult tekstliste */
.pp-photo-services .pp-card ul{
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}

/* Overskrift */
.pp-photo-services .pp-card h3{
  position:relative;
  z-index:2;
  color:#F5F8FF;
  margin-bottom:10px;
  transition:color .3s ease;
}

/* Tekst frem på hover */
.pp-photo-services .pp-card:hover ul{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

/* Let løft */
.pp-photo-services .pp-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 24px -10px rgba(156,194,255,.25);
}

/* Farveskift */
.pp-photo-services .pp-card:hover h3{
  color:#9CC2FF;
}

/* Billede-effekt ved hover */
.pp-photo-services .pp-card:hover::after{
  filter:grayscale(100%) brightness(0.8);
  opacity:0.5 !important;
}
/* Mobil: når boksen er aktiv (midt på skærmen) */
.pp-card.active::after {
  filter: grayscale(100%) brightness(0.8) !important;
  opacity: 0.5 !important;
}

.pp-card.active h3 {
  color:#9CC2FF;
}

.pp-card.active ul {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
/* Når en boks er 'aktiv' (midt på skærmen på mobil) */
.pp-photo-services .pp-card.active ul {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.pp-photo-services .pp-card.active h3 {
  color: #9CC2FF;
}

.pp-photo-services .pp-card.active::after {
  filter: grayscale(100%) brightness(0.8);
  opacity: 0.5;
}
/* Gør hoved-overskriften usynlig når boksen er aktiv (mobil scroll) */
.pp-photo-services .pp-card.active h3 {
  opacity:0;
  transform:translateY(-10px);
}


/* ========== ⭐ LØSNING #3 – Gør tekst MEGET tydeligere ⭐ ========== */

/* Både overskrift + liste */
.pp-photo-services .pp-card h3,
.pp-photo-services .pp-card ul li {
  text-shadow:0 0 8px rgba(0, 0, 0, 0.8);
  color:#ffffff; /* sørger for fuld hvid tekst */
  font-weight:600;
}

/* ========== FOTO MODAL ========== */
.pp-photo-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  font-family:"Poppins",sans-serif;
}

.pp-photo-modal.is-visible{
  opacity:1;
  pointer-events:auto;
}

.pp-photo-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.82);
  backdrop-filter:blur(6px);
}

.pp-photo-modal-dialog{
  position:relative;
  z-index:1;
  max-width:960px;
  width:90%;
  background:#111827;
  border-radius:18px;
  border:1px solid rgba(156,194,255,.35);
  box-shadow:0 24px 70px rgba(0,0,0,.65);
  padding:18px 18px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.pp-photo-modal-close{
  position:absolute;
  top:10px;
  right:14px;
  border:none;
  background:transparent;
  color:#E6EDF3;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.pp-photo-modal-inner{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.pp-photo-modal-track-wrapper{
  overflow:hidden;
  border-radius:14px;
}

.pp-photo-modal-track{
  display:flex;
  transition:transform .35s ease;
}

.pp-photo-modal-slide{
  min-width:100%;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#020617;
}

.pp-photo-modal-slide img{
  display:block;
  max-width:100%;
  max-height:70vh;
  height:auto;
  object-fit:contain;
}

.pp-photo-modal-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#9CC2FF;
  font-size:14px;
}

.pp-photo-modal-prev,
.pp-photo-modal-next{
  border:none;
  background:#1F2937;
  color:#E6EDF3;
  border-radius:999px;
  padding:6px 14px;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  transition:background .2s ease, transform .2s ease;
}

.pp-photo-modal-prev:hover,
.pp-photo-modal-next:hover{
  background:#111827;
  transform:translateY(-1px);
}

@media (max-width:640px){
  .pp-photo-modal-dialog{
    width:94%;
    padding:16px 12px 20px;
  }
  .pp-photo-modal-slide img{
    max-height:65vh;
  }
}
.pp-photo-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 999999 !important; /* sørger for at den ALTID ligger øverst */
    background: rgba(0,0,0,0.55);
    padding: 6px 10px;
    border-radius: 8px;
}
@media (max-width: 768px) {
  .pp-card {
    height: auto;
    min-height: 130px; /* justér efter din designhøjde */
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

</style>/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1579d15 *//* Giv hver udstyrs-boks den samme blå glow som heroen */
.pp-photo-gear .pp-card{
  position:relative;
  overflow:hidden; /* så gløden bliver inde i boksen */
}

.pp-photo-gear .pp-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(156,194,255,.16), transparent 65%);
  pointer-events:none;
  z-index:0;
}

/* Sørg for at indholdet ligger over gløden */
.pp-photo-gear .pp-card > *{
  position:relative;
  z-index:1;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4d6c755 *//* Forbindelseslinje mellem bokse */
.pp-photo-process .pp-grid::before{
  content:"";
  position:absolute;
  top:50%;
  left:calc(210px / 2);
  right:calc(210px / 2);
  height:2px;
  background:linear-gradient(to right, rgba(156,194,255,.4), rgba(156,194,255,.15));
  transform:translateY(-50%);
  z-index:0;
}/* End custom CSS */