.dopi-pearl-section{
  --cream:#F5F1E8;
  --ink:#221F1A;
  --ink-soft:#4a453d;
  --gold:#B8935A;
  --gold-soft:#D9C7A4;

  --swiper-theme-color: var(--gold);
  --swiper-navigation-size: 16px;

  background:var(--cream);
  padding:88px 24px 100px;
  font-family:'Jost', sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}

.dopi-pearl-wrap{
  position:relative;
  max-width: 100%;
  margin:0 auto;
}

.dopi-pearl-wrap .swiper{
  padding:20px 0 8px;
}

.dopi-pearl-wrap .swiper-slide{
  width:var(--card-w);
  height:var(--card-h);
  margin:0 calc(var(--gap) / 2);
  position:relative;
  overflow:hidden;
}

.dopi-pearl-photo{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-color:#e9e2d0;
}

.dopi-pearl-photo--placeholder{
  background:
    radial-gradient(120% 90% at 20% 15%, rgba(255,255,255,0.65), transparent 55%),
    radial-gradient(90% 70% at 85% 80%, rgba(0,0,0,0.06), transparent 60%),
    linear-gradient(155deg, #f3ede0 0%, #e6dcc4 45%, #d8c6a0 100%);
}

.dopi-pearl-caption{
  position:absolute;
  left:0; right:0; bottom:36px;
  text-align:center;
  z-index:3;
}
.dopi-pearl-title{
  font-family: 'Beautique Display';
  font-weight:500;
  font-size: 24px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink);
  margin:0 0 12px;
}
.dopi-pearl-cta{
  display:inline-block;
  font-size: 14px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
  text-decoration:none;
  border-bottom: 1px solid #000;
  padding-bottom:3px;
  font-family:'Jost', sans-serif;
  transition:color .25s ease, border-color .25s ease;
}
.dopi-pearl-cta:hover{ color:var(--gold); border-color:var(--gold); }

.dopi-pearl-wrap .swiper-button-prev,
.dopi-pearl-wrap .swiper-button-next{
  width:46px; height:46px;
  border-radius:50%;
  border:1px solid var(--gold-soft);
  background:rgba(245,241,232,0.9);
  transition:background .25s ease, border-color .25s ease;
}
.dopi-pearl-wrap .swiper-button-prev:hover,
.dopi-pearl-wrap .swiper-button-next:hover{
  background:var(--gold);
  border-color:var(--gold);
}
.dopi-pearl-wrap .swiper-button-prev:hover::after,
.dopi-pearl-wrap .swiper-button-next:hover::after{ color:var(--cream); }
.dopi-pearl-wrap .swiper-button-prev::after,
.dopi-pearl-wrap .swiper-button-next::after{
  font-size:14px;
  color:var(--ink);
  font-weight:700;
}
.dopi-pearl-wrap .swiper-button-prev{ left:8px; }
.dopi-pearl-wrap .swiper-button-next{ right:8px; }

@media (max-width:900px){
  .dopi-pearl-wrap .swiper-button-prev,
  .dopi-pearl-wrap .swiper-button-next{ display:none; }
}

.dopi-pearl-section .swiper-pagination{
  position:static !important;
  margin-top:36px;
  display:flex;
  justify-content:center;
  gap:10px;
}
.dopi-pearl-section .swiper-pagination-bullet{
  width:7px; height:7px;
  background:var(--gold-soft);
  opacity:1;
  border-radius:50%;
  transition:background .25s ease, width .25s ease, border-radius .25s ease;
  margin:0 !important;
}
.dopi-pearl-section .swiper-pagination-bullet-active{
  background:var(--gold);
  width:22px;
  border-radius:4px;
}

@media (max-width:640px){
  .dopi-pearl-section{ padding:56px 12px 72px; }
  .dopi-pearl-title{ font-size:15px; }
  .dopi-pearl-heading{ margin-bottom:40px; }
}

@media (prefers-reduced-motion: reduce){
  .dopi-pearl-wrap .swiper-slide{ transition:none !important; }
}
