:root{
  --bnett-bg:#fff;
  --bnett-soft:#f6f7f9;
  --bnett-border:rgba(0,0,0,.08);
  --bnett-text:#111;
  --bnett-muted:rgba(0,0,0,.65);

  --bnett-radius:18px;
  --bnett-shadow:0 10px 30px rgba(0,0,0,.08);

  --bnett-green:#c7f5c4;
  --bnett-green-dark:#22c55e;
  --bnett-green-darker:#2F5D50;


  /* Badges */
  --bnett-badge-border:1px solid rgba(0,0,0,.28);
  --bnett-badge-border-hover:1px solid rgba(0,0,0,.88);
  --bnett-badge-border-radius:999px;
  --bnett-badge-count-bg:#e8f4ff;

  /* Facets sizing (kept as px to match current layout) */
  --bnett-facets-btn-w:400px;
  --bnett-facets-btn-w-mobile:175px;
  --bnett-facets-menu-w-mobile:250px;
  --bnett-facets-panel-w:850px;
}


/* Z-INDEX */
#bnett-menu-content{
  z-index: 802;
}
aside .e-off-canvas{
  z-index: 801;
}
#bnett-dropdown-container{
  z-index: 798;
}
#bnett-header{
  z-index: 797;
}





/* Links */
a:hover{ text-decoration:underline; }

/* Elementor overrides */
.elementor-button,
.elementor-cta,
.elementor-post__title a{
  text-decoration:none !important;
}
.cky-notice-btn-wrapper .cky-btn{ padding:10px 15px; }
.elementor-button-content-wrapper{ flex-direction:row-reverse; }

/* =========================================================
   Misc
   ========================================================= */
.price_desc{
  padding:10px 0;
  font-style:italic;
  font-size:80%;
}

.ptlr-campaign-locations{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* =========================================================
   Badges
   ========================================================= */
.pt-badge{
  border-radius:var(--bnett-badge-border-radius);
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.38rem .70rem;
  font-weight:800;
  font-size:12px;
  line-height:1;
  letter-spacing:.2px;
  user-select:none;
  white-space:nowrap;
}

.ptlr-badge--loc{
  border-radius:var(--bnett-badge-border-radius);
  background:rgba(15,13,12,.01);
  border:var(--bnett-badge-border);
  color:#0f172a;
  padding:3px 10px;
  font-size:10pt;
  font-weight:100;
}
.ptlr-badge--more{ font-size:10pt; }

.pt-badge--recommended{
  color:#065f46;
  position:absolute;
  right:0;
  top:0;
  padding:10px 20px !important;
  z-index:10;
  font-size:12pt !important;
}
.pt-badge--recommended .pt-badge__icon{
  border-radius:var(--bnett-badge-border-radius);
  background:rgba(16,185,129,.18);
  border:1px solid #065f46;
  display:inline-grid;
  place-items:center;
  width:2.05rem;
  height:2.05rem;
  font-size:12pt;
  line-height:1;
}

@media (max-width:768px){
  .pt-badge--recommended{
    display:flex !important;
    padding:5px !important;
    position:relative;
    top:0;
    right:0;
  }
}

/* Tilbyr videotimer */
.ptlr-video-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
}
.ptlr-online-indicator{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.ptlr-online-dot{ fill:var(--bnett-green-dark); }
.ptlr-online-pulse{
  fill:none;
  stroke:var(--bnett-green-dark);
  stroke-width:2;
  opacity:.7;
  transform-origin:center;
  animation:ptlr-pulse 1.8s ease-out infinite;
}
@keyframes ptlr-pulse{
  0%{ transform:scale(1); opacity:.6; }
  70%{ transform:scale(2.2); opacity:0; }
  100%{ transform:scale(2.2); opacity:0; }
}

/* =========================================================
   Counts / pills
   ========================================================= */
.dropdown-cat-count{
  background-color:var(--bnett-badge-count-bg);
  border:var(--bnett-badge-border);
  border-radius:var(--bnett-badge-border-radius);
  font-size:12pt !important;
  font-weight:500 !important;
  padding:15px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  line-height:1;
  color:#1a1a1a;
  white-space:nowrap;
}

.more--heading{
  display:flex;
  gap:15px;
}
@media (max-width:991px){
  .more--heading .dropdown-cat-count{
    font-size:10pt !important;
    width:200px;
  }
}

/* Populære søk */
.pop--badge--c{
  display: inline-flex;
  justify-content: space-between;
  align-content: center;
  justify-items: center;
  gap: 5px;
}
.pop--badge{
  background-color: #fff;
  border: var(--bnett-badge-border);
  border-radius: var(--bnett-badge-border-radius);
  font-size: 11pt;
  padding: 10px 20px;
  display: inline-flex;
  align-items: center;
  color: #1a1a1a;
}
.pop--badge:hover{
  border: var(--bnett-badge-border-hover);
}
.pop--badge a{
  text-decoration: none !important;
  font-weight: 100 !important;
}
.pop--badge a:hover{
  text-decoration:underline !important;
}
.pop--badge a span{
  font-weight:500 !important;
  font-size: 12pt;
}
@media (max-width:991px){
  .pop--badge--c{
    display:grid;
  }
}



/* Artikkel tema sider */
.count-heading-tema{
  padding:0 10px 0 0;
  font-size: 13pt;
}
.artikkel-tema-linje .dropdown-cat-count{
  padding: 17px 15px;
}
.artikkel-tema-linje .dropdown-cat-count:hover{
  background-color: #fff;
}
.artikkel-tema-linje .dropdown-cat-count a{
  text-decoration: none;
}
@media (max-width:991px){
  .count-heading-tema{
    padding: 0 0px 0 0;
    font-size: 11pt;
  }
  .artikkel-tema-linje .dropdown-cat-count{
    padding: 15px 10px;
    font-size: 11pt !important;
    margin: 0px 0 5px 0 !important;
  }
}



/* =========================================================
   Buttons / CTA
   ========================================================= */
.ptlr-campaign-card .ptlr-cta,
.ptlr-campaign-card .ptlr-profile-link{
  border:var(--bnett-badge-border);
  padding:10px 25px;
  text-decoration:none;
  background:var(--bnett-green);
  margin:0 10px 0 0;
  border-radius:4px;
  float:left;
}
.ptlr-campaign-card .ptlr-cta:hover,
.ptlr-campaign-card .ptlr-profile-link:hover{
  text-decoration:underline;
}
.ptlr-campaign-card .ptlr-profile-link{ background:#fff; }

/* =========================================================
   Campaign cards
   ========================================================= */
.ptlr-campaign-card{
  font-size:13pt !important;
  margin-bottom:2%;
  padding:10px;
  border-radius:5px;
  border:2px solid rgba(0,0,0,.18);
  box-shadow:var(--bnett-shadow);
  position:relative;
  overflow:hidden;
  background-color:#fff;
}
@media (max-width:768px){
  .ptlr-campaign-card{
    font-size:11pt !important;
    padding:5px;
    margin-bottom:5%;
  }
}

.ptlr-campaign-list-short .ptlr-campaign-card{
  padding:10px 5px 10px 10px;
  font-size:11pt !important;
  border-radius:5px;
}

/* Desktop: 3 columns */
@media (min-width:961px){
  .ptlr-campaign-list-float{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
  }
}

/* Prioritert card accent */
.ptlr-campaign-card--prioritert::before{
  content:"";
  position:absolute;
  inset:-60px -60px auto auto;
  width:160px;
  height:160px;
  background:radial-gradient(circle at 30% 30%, rgba(199,245,196,.9), rgba(199,245,196,0));
  transform:rotate(18deg);
  pointer-events:none;
}

/* =========================================================
   Profile images
   ========================================================= */
.ptlr-campaign-list .ptlr-campaign-card .ptlr-campaign-list-logo,
.ptlr-campaign-detail-logo{
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  height:100%;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  border-radius:50% !important;
  object-fit:cover;
  max-width:130px !important;
  max-height:130px;
}
.ptlr-campaign-detail-logo{
  max-width:170px !important;
  max-height:170px !important;
  margin:5px !important;
}

.ptlr-campaign-fallback-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border-radius:12px;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  font-weight:600;
  line-height:1.1;
  letter-spacing:.2px;
  max-width:100%;
  text-align:center;
}

/* =========================================================
   Location counts list (category/location pages)
   (Converted from floats to flex for more robust layout)
   ========================================================= */
ul.ptlr-location-counts-list__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
li.ptlr-location-counts-list__item{
  display:flex;
  border:2px solid #eee;
  border-radius:var(--bnett-badge-border-radius);
  margin:0;
  padding:15px 25px;
  background:darkseagreen;
}
li.ptlr-location-counts-list__item a{
  text-decoration:none;
}
li.ptlr-location-counts-list__item a:hover{
  text-decoration:underline;
}

/* =========================================================
   PTLR Facets UI
   ========================================================= */
.ptlr-facets,
.ptlr-facets *{
  box-sizing:border-box !important;
}
.ptlr-facets{
  margin:0;
  line-height:1.3;
  padding:0 0 25px 0;
}
.ptlr-facets :where(button,input,a){
  font-family:inherit !important;
  color:inherit !important;
  letter-spacing:normal !important;
}
.ptlr-facets a{ text-decoration:none !important; }

.ptlr-facets__row{
  display:inline-flex;
  gap:14px !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
}
.ptlr-facets__dd{ position:relative !important; }

/* Dropdown trigger buttons */
.ptlr-facets__btn{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:20px 22px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:0 !important;
  background:#fff !important;
  font-size:16px !important;
  line-height:1.2 !important;
  box-shadow:0 1px 0 rgba(0,0,0,.02) !important;
  cursor:pointer !important;
  user-select:none !important;
  width:var(--bnett-facets-btn-w) !important;
}
.ptlr-facets__btn strong{ font-weight:700 !important; }
.ptlr-facets__btn span{ opacity:.9 !important; }
.ptlr-facets__btn:focus{
  outline:1px solid var(--bnett-green-darker) !important;
  outline-offset:1px !important;
}

/* Category menu */
.ptlr-facets__menu{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:calc(100% + 2px) !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:0 0 16px 16px !important;
  box-shadow:0 16px 40px rgba(0,0,0,.12) !important;
  max-height:360px !important;
  overflow:auto !important;
  z-index:99999 !important;
  display:none;
}
.ptlr-facets__menu a{
  display:block !important;
  padding:12px 14px !important;
  text-decoration:none !important;
}
.ptlr-facets__menu a:hover{ background:rgba(0,0,0,.04) !important; }
.ptlr-facets__menu a.is-active{
  font-weight:800 !important;
  text-decoration:underline;
}

/* Filter panel overlay (mobile first) */
.ptlr-facets__panel{
  position:fixed !important;
  inset:0 !important;
  background:transparent;
  z-index:9999999 !important;
  display:none;
  padding:12px !important;
}
.ptlr-facets__panelInner{
  max-width:920px !important;
  margin:0 auto !important;
  height:100% !important;
  background:#fff !important;
  box-shadow:0 18px 60px rgba(0,0,0,.18) !important;
  overflow:auto !important;
  padding:18px 18px 110px 18px !important;
}
.ptlr-facets__panelHeader{
  display:flex !important;
  gap:15px !important;
  align-items:center;
  width:100%;
  justify-content:flex-end;
}
.ptlr-facets__panelTitle{
  font-size:14px !important;
  font-weight:800 !important;
}
.ptlr-facets__close{
  border:1px solid rgba(0,0,0,.10) !important;
  background:var(--bnett-green-darker) !important;
  font-size:18px !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  cursor:pointer !important;
  color:#fff !important;
}
/* Keep hover subtle (and not overriding to gray) */
.ptlr-facets__close:hover{ filter:brightness(1.05); }

.ptlr-facets__search {
    margin-top: 10px;
    padding: 15px !important;
    border: 2px solid rgba(0,0,0,.32) !important;
    border-radius: 10px !important;
    width: 90% !important;
    font-size: 13pt !important;
}

/* Suggest list
   NOTE: previously had conflicting display:none + display:block; kept as block for current behavior.
   If you want it hidden by default, set display:none and toggle with a class (e.g. .is-open). */
.ptlr-facets__suggest{
  display: block;
  position: absolute;
  top: 129px;
  width: 90%;
  background-color: #fff;
}
.ptlr-facets__suggest button{
  width:100% !important;
  text-align:left !important;
  padding:12px 14px !important;
  cursor:pointer !important;
  background:rgba(34,197,94,.30) !important;
  margin-bottom:3px;
}
.ptlr-facets__suggest button:hover{ background:rgba(34,197,94,.60) !important; }

.ptlr-facets__section{
  border-radius: 10px;
  padding: 3px 5px 10px 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.ptlr-facets__section__toggle{
  display:flex;
  gap:10px;
  align-items:center;
  padding:5px !important;
}
.ptlr-facets__section__toggle .ptlr-facets__sectionTitle{
  font-weight:500 !important;
  margin:0 0 0 10px !important;
  font-size:14px;
}
.ptlr-facets__sectionTitle{
  font-weight: 500;
  margin: 0 5px 0 0;
  font-size: 11pt;
}

.ptlr-facets__chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:5px !important;
}
.ptlr-facets__chip{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:var(--bnett-badge-border) !important;
  background:#fff !important;
  padding:10px 12px !important;
  border-radius:var(--bnett-badge-border-radius);
  cursor:pointer !important;
  font-size:13px !important;
  font-weight:300 !important;
}
.ptlr-facets__chip.is-on{
  border-color:var(--bnett-green-darker) !important;
  box-shadow:0 3px 0 rgba(0,0,0,.19) !important;
}

/* Smaller chips within toggle row */
.ptlr-facets__section__toggle .ptlr-facets__chips{ gap:5px !important; }
.ptlr-facets__section__toggle .ptlr-facets__chip{
  font-size:12px !important;
  padding:6px 10px !important;
  border-radius:20px !important;
  font-weight:300 !important;
}

/* Actions bar */
.ptlr-facets__actions{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  background:#fff !important;
  border-top:1px solid rgba(0,0,0,.10) !important;
  width:98%;
}
.ptlr-facets__actionsInner{
  max-width:920px !important;
  margin:0 auto !important;
  padding:14px 18px !important;
  display:flex !important;
  gap:12px !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
}
.ptlr-facets__actionBtn{
  border-radius:0 !important;
  padding:12px 14px !important;
  font-size:14px !important;
  color:#fff !important;
}
.ptlr-facets__actionBtn--primary{
  border-color:rgba(0,0,0,.35) !important;
}



.ptlr-facets__section__places{
  width: 80%;
}
.ptlr-facets__section__fromhome{
  background-color: #fafafa;
  /* display: block; */
}
.ptlr-facets__section__fromhome .ptlr-facets__chip{
  /*border: 2px solid #000 !important;*/
}


/* Desktop: panel becomes a dropdown-like popover */
@media (min-width:901px){
  .ptlr-facets__panel{
    top: calc(25% + 0px) !important;
    bottom: auto !important;
    left: calc(50% - 450px) !important;
    padding: 0 !important;
    width: var(--bnett-facets-panel-w);
  }
  .ptlr-facets__panelInner{
    max-height:75vh !important;
    padding:10px !important;
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    justify-content:flex-start;
    border-radius: 20px;
  }
  .ptlr-facets__actions{
    position:static !important;
    border-top:0 !important;
    margin-top:18px !important;
    background:transparent !important;
  }
  .ptlr-facets__actionsInner{
    padding:0 !important;
    justify-content:flex-start !important;
  }
}

/* Tablet/mobile layout tweaks */
@media (max-width:991px){
  .ptlr-facets__chip{
    font-size:13px !important;
    font-weight:400 !important;
  }
  .ptlr-facets__section__toggle .ptlr-facets__sectionTitle{
    margin:0 !important;
    font-size:13px;
    width:86px;
    min-width:86px;
  }
  .ptlr-facets__panelInner{
    padding-top:10px;
    padding-right:10px;
    padding-left:10px;
  }
  .ptlr-facets__section__places{
    width: 100% !important;
    display: block;
    padding: 15px 5px 0 5px;
  }
}

@media (max-width:768px){
  body .ptlr-facets .ptlr-facets__row .ptlr-facets__dd{
    flex:0 0 var(--bnett-facets-btn-w-mobile) !important;
    width:var(--bnett-facets-btn-w-mobile) !important;
    min-width:var(--bnett-facets-btn-w-mobile) !important;
    max-width:var(--bnett-facets-btn-w-mobile) !important;
  }
  .ptlr-facets__row .ptlr-facets__dd .ptlr-facets__btn,
  .ptlr-facets__menu{
    width:var(--bnett-facets-btn-w-mobile) !important;
    padding:15px !important;
  }
  .ptlr-facets__menu{
    width:var(--bnett-facets-menu-w-mobile) !important;
    border-radius:0 0 20px 20px !important;
  }
  .ptlr-facets__panel{ padding:0 !important; }
}

/* Sticky header tweaks */
.elementor-sticky--active .ptlr-facets{ padding:0 0 10px 0; }
.elementor-sticky--active .ptlr-facets__btn{ width:var(--bnett-facets-btn-w) !important; }
.elementor-sticky--active .ptlr-facets__btn__filter__btn{ width:450px !important; }

@media (max-width:768px){
  .ptlr-facets{ padding:0 0 10px 0; }
  .elementor-sticky--active .ptlr-facets__row .ptlr-facets__dd .ptlr-facets__btn{
    padding:10px !important;
  }
}

/* =========================================================
   Campaign USP list
   ========================================================= */
ul.ptlr-campaign-usps{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:flex-start;
}
ul.ptlr-campaign-usps > li{
  position:relative;
  padding:10px 14px 10px 40px;
  margin:0;
  color:rgba(0,0,0,.78);
  font-size:15px;
  line-height:1.25;
  flex:1 1 calc(33.333% - 14px);
}
ul.ptlr-campaign-usps > li::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  border-radius:var(--bnett-badge-border-radius);
  background:linear-gradient(180deg, var(--bnett-green), rgba(34,197,94,.90));
}
ul.ptlr-campaign-usps > li::after{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-56%) rotate(45deg);
  width:6px;
  height:11px;
  border-right:2.8px solid #fff;
  border-bottom:2.8px solid #fff;
  opacity:.98;
}
@media (max-width:768px){
  ul.ptlr-campaign-usps{ gap:5px; }
  ul.ptlr-campaign-usps > li{
    flex:1 1 100%;
    min-width:0;
    padding:0 5px 5px 40px;
    font-size:11pt;
  }
}

/* Description text */
.card-description{
  font-size:13pt !important;
  line-height:18pt !important;
  display:inline-block;
}
@media (max-width:768px){
  .card-description{
    font-size:11pt !important;
    line-height:15pt !important;
  }
  .ptlr-campaign-card--basis{
    font-size:11pt !important;
    line-height:15pt !important;
  }
}

/* Headings */
.ptlr-campaign-card h3,
.ptlr-campaign-card h4,
.ptlr-campaign-card h5{
  margin:0;
}
.ptlr-campaign-card h3 a{ text-decoration:none; }
.ptlr-campaign-card a:hover,
.ptlr-campaign-card h5:hover{
  text-decoration:underline;
}

/* =========================================================
   Detail pages
   ========================================================= */
.ptlr-call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(15,23,42,.12);
  text-decoration:none !important;
}
.ptlr-call:hover{ text-decoration:underline !important; }
.ptlr-call__ic{ font-size:18px; line-height:1; }
.ptlr-call__tx{ font-size:14px; line-height:1; }
@media (min-width:821px){
  .ptlr-call{ padding:10px 12px; border-radius:14px; }
}

.ptlr-campaign-detailpage h1{ margin:0; }
.ptlr-campaign-detailpage .ptlr-campaign-card{ font-size:15pt !important; }
.ptlr-campaign-detailpage ul.ptlr-campaign-usps > li{ font-size:13pt !important; }
.ptlr-campaign-detailpage .ptlr-campaign-card--prioritert::before{
  width:260px;
  height:260px;
}
@media (max-width:980px){
  .ptlr-campaign-detailpage .ptlr-campaign-card{ font-size:13pt !important; }
}

/* =========================================================
   Short cards
   ========================================================= */
.ptlr-campaign-list-short .ptlr-campaign-card h5{
  font-size:15pt;
  text-decoration:none;
}

/* =========================================================
   Meta list (tema)
   ========================================================= */
.ptlr-cmeta-list--tema{
  margin:15px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px 15px;
  font-size:13pt;
  line-height:1.65;
  color:#333;
}
@media (min-width:640px){
  .ptlr-cmeta-list--tema{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
.ptlr-cmeta-list__item{
  position:relative;
  padding-left:14px;
}
.ptlr-cmeta-list__item::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:.35;
}

/* =========================================================
   Gallery
   ========================================================= */
.ptlr-campaign-gallery{
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  gap:15px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:0;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  justify-content:end;
  flex-direction:row;
}
.ptlr-gallery-item{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  cursor:zoom-in !important;
}
.ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item{
  flex:0 0 auto;
  object-fit:cover;
  display:block;
  scroll-snap-align:start;
  max-width:70px;
  max-height:90px;
}
.ptlr-campaign-gallery::-webkit-scrollbar{ height:0; }
.ptlr-campaign-gallery .ptlr-gallery-item img{ border-radius:10px; }

/* Touch-friendly on mobile */
@media (max-width:980px){
  .ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item{
    width:110px;
    height:110px;
  }
  .ptlr-campaign-card .ptlr-campaign-gallery{
    gap:0;
    justify-content:flex-start;
  }
  .ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item{
    max-width:60px;
    max-height:60px;
  }
  .ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item img{
    max-width:55px !important;
    max-height:55px !important;
  }
}

/* Gallery on detail pages */
.ptlr-campaign-detailpage .ptlr-campaign-card .ptlr-campaign-gallery{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:25px;
  justify-items:end;
}
.ptlr-campaign-detailpage .ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item{
  max-height:100%;
  max-width:100%;
}
@media (max-width:980px){
  .ptlr-campaign-detailpage .ptlr-campaign-card .ptlr-campaign-gallery{
    gap:5px;
    justify-items:flex-start;
    grid-template-columns:repeat(3, 1fr);
  }
  .ptlr-campaign-detailpage .ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item,
  .ptlr-campaign-detailpage .ptlr-campaign-card .ptlr-campaign-gallery .ptlr-gallery-item img{
    max-width:100% !important;
    max-height:100% !important;
  }
}

/* =========================================================
   Coming soon cards (kept as-is, but aligned with bnett radius vars)
   ========================================================= */
.pt-coming{
  --pt-bg:var(--bnett-bg);
  --pt-soft:var(--bnett-soft);
  --pt-border:var(--bnett-border);
  --pt-text:var(--bnett-text);
  --pt-muted:var(--bnett-muted);
  --pt-radius:var(--bnett-radius);
  --pt-shadow:var(--bnett-shadow);
  --pt-shadow2:0 12px 34px rgba(0,0,0,.10);
  --pt-green:var(--bnett-green);
  color:var(--pt-text);
}
.pt-coming__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-top:12px;
}
.pt-coming__card{
  background:var(--pt-bg);
  border:1px solid var(--pt-border);
  border-radius:var(--pt-radius);
  padding:16px;
  box-shadow:var(--pt-shadow);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative;
  overflow:hidden;
}
.pt-coming__card::before{
  content:"";
  position:absolute;
  inset:-60px -60px auto auto;
  width:160px;
  height:160px;
  background:radial-gradient(circle at 30% 30%, rgba(199,245,196,.9), rgba(199,245,196,0));
  transform:rotate(18deg);
  pointer-events:none;
}
.pt-coming__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.pt-coming__meta{
  font-size:12px;
  color:var(--pt-muted);
  background:var(--pt-soft);
  border:1px solid var(--pt-border);
  padding:6px 10px;
  border-radius:var(--bnett-badge-border-radius);
  white-space:nowrap;
}
.pt-coming__badge{
  font-size:12px;
  font-weight:650;
  padding:7px 10px;
  border-radius:var(--bnett-badge-border-radius);
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  border:1px solid var(--pt-border);
  background:#fff;
}
.pt-coming__badge::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:var(--bnett-badge-border-radius);
  background:rgba(0,0,0,.25);
}
.pt-coming__badge--soon::before{ background:#22c55e; }
.pt-coming__badge--work::before{ background:#f59e0b; }
.pt-coming__badge--done::before{ background:#6366f1; }

.pt-coming__h{ margin:0 0 14px 0; font-size:18px; letter-spacing:-0.01em; }
.pt-coming__actions{ display:flex; gap:10px; flex-wrap:wrap; }
.pt-coming__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:650;
  font-size:14px;
  border:1px solid var(--pt-border);
  transition:transform .15s ease;
}
.pt-coming__btn:hover{ transform:translateY(-1px); }
.pt-coming__btn--primary{
  background:var(--pt-green);
  color:#0b3310;
  border-color:rgba(0,0,0,.10);
}
@media (max-width:980px){
  .pt-coming__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px){
  .pt-coming__grid{ grid-template-columns:1fr; }
  .pt-coming__btn{ width:100%; }
}

/* =========================================================
   Campaign summary + filter chips
   ========================================================= */
.ptlr-campaign-summary{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  padding:20px 15px;
}
.ptlr-campaign-summary__count{
  font-weight:600;
  white-space:nowrap;
  flex-shrink:0;
}
.ptlr-campaign-summary__filters{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.ptlr-filter-chip{
  font-weight:200;
  background:#fff;
  color:var(--bnett-green-darker);
  border:1px solid rgba(43,77,255,.55);
  padding:5px 15px !important;
  font-size:11pt;
  border-radius:var(--bnett-badge-border-radius);
}

/* =========================================================
   Lightbox + pagination
   ========================================================= */
.ptlr-lightbox{
  position:fixed;
  inset:0;
  z-index:100000;
  background:rgba(15,23,42,.82);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.ptlr-lightbox.is-open{ display:flex; }
.ptlr-lightbox__img{
  max-width:min(1000px,92vw);
  max-height:82vh;
  border-radius:18px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);
  background:#fafafa;
  padding:2%;
}
.ptlr-lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  height:44px;
  width:44px !important;
  border-radius:16px !important;
  border:var(--bnett-badge-border) !important;
  background:rgba(255,255,255,.10);
  color:#fff !important;
  font-size:22px !important;
  cursor:pointer !important;
  padding:0 !important;
}

.ptlr-pagination{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  margin:18px 0;
}
.ptlr-pagination a,
.ptlr-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}
.ptlr-pagination a:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,23,42,.10);
}
.ptlr-pagination .is-active{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
}
.ptlr-pagination .is-ellipsis{
  border-color:transparent;
  background:transparent;
  min-width:auto;
  padding:0 6px;
}

/* =========================================================
   Missing URL badge + tooltip
   ========================================================= */
.ptlr-badge--missing-url{
  cursor:help;
  -webkit-tap-highlight-color:transparent;
  background:rgba(199,245,196,.15);
  border:1px solid rgba(16,185,129,.25);
  color:#0f172a;
  box-shadow:0 8px 18px rgba(2,6,23,.06);
  padding:5px 15px;
  border-radius:var(--bnett-badge-border-radius);
  font-size:10pt;
  display:flex;
  gap:5px;
  justify-content:center;
  width:fit-content;
  float:right;
  position:relative;
}
.ptlr-badge--missing-url .ptlr-badge__text{ white-space:nowrap; }
.ptlr-badge--missing-url .ptlr-badge__icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--bnett-badge-border-radius);
  font-weight:300;
  font-size:12px;
  line-height:1;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(15,23,42,.12);
}
@media (max-width:768px){
  .ptlr-badge--missing-url{
    font-size:10pt;
    padding:5px;
    gap:1px;
  }
}

/* Tooltip (only when data-ptlr-tooltip exists) */
.ptlr-badge--missing-url[data-ptlr-tooltip]::after{
  content:attr(data-ptlr-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 14px);
  width:280px;
  text-align:left;
  max-width:min(280px, 86vw);
  white-space:normal;
  padding:10px 12px;
  border-radius:14px;
  background:
    linear-gradient(90deg, rgba(199,245,196,.75), rgba(199,245,196,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.86));
  color:#0f172a;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:
    0 18px 40px rgba(2,6,23,.18),
    0 6px 14px rgba(2,6,23,.10);
  font-size:13px;
  line-height:1.25;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(6px) scale(.98);
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
  z-index:9999;
}
.ptlr-badge--missing-url[data-ptlr-tooltip]::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  width:12px;
  height:12px;
  background:rgba(255,255,255,.90);
  border-left:1px solid rgba(15,23,42,.10);
  border-bottom:1px solid rgba(15,23,42,.10);
  transform:translateX(-28%) translateY(6px) rotate(45deg);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
  z-index:9998;
}
.ptlr-badge--missing-url[data-ptlr-tooltip]:hover::after,
.ptlr-badge--missing-url[data-ptlr-tooltip]:hover::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-55%) translateY(0) scale(1);
}
.ptlr-badge--missing-url[data-ptlr-tooltip]:focus-within::after,
.ptlr-badge--missing-url[data-ptlr-tooltip]:focus-within::before,
.ptlr-badge--missing-url[data-ptlr-tooltip]:active::after,
.ptlr-badge--missing-url[data-ptlr-tooltip]:active::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0) scale(1);
}
.ptlr-badge--missing-url[data-ptlr-tooltip]:hover::after,
.ptlr-badge--missing-url[data-ptlr-tooltip]:focus-within::after{
  filter:drop-shadow(0 10px 20px rgba(199,245,196,.25));
}
.ptlr-badge--missing-url:focus-within{
  outline:2px solid rgba(16,185,129,.35);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .ptlr-badge--missing-url[data-ptlr-tooltip]::after,
  .ptlr-badge--missing-url[data-ptlr-tooltip]::before{
    transition:none;
  }
}

/* =========================================================
   Elementor message
   ========================================================= */
.elementor-message{
  background-color:#C0FFA5 !important;
  padding:25px !important;
  border:2px solid var(--bnett-green-darker) !important;
}
.elementor-message-success{
  position:fixed;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:9999;
  max-width:680px;
  width:calc(100% - 32px);
  background:#e8fedf;
  color:#1f3b2c;
  border:1px solid #b6e6b9;
  border-radius:12px;
  padding:16px 20px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  font-weight:500;
  line-height:1.5;
}

/* =========================================================
   Accessibility: focus-visible (safe additions)
   ========================================================= */
.ptlr-facets__chip:focus-visible,
.ptlr-facets__close:focus-visible,
.ptlr-pagination a:focus-visible,
.ptlr-lightbox__close:focus-visible{
  outline:2px solid rgba(47,93,80,.45);
  outline-offset:2px;
}
