/* ===== Property Listing Grid & Card ===== */
.up-property-grid {
  display: grid;
  gap: 26px;
  margin: 30px 0;
}
.up-property-grid.cols-2 {grid-template-columns: repeat(2, 1fr);}
.up-property-grid.cols-3 {grid-template-columns: repeat(3, 1fr);}
.up-property-grid.cols-4 {grid-template-columns: repeat(4, 1fr);}
@media (max-width: 900px) {
  .up-property-grid.cols-3, .up-property-grid.cols-4 {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 600px) {
  .up-property-grid, .up-property-grid.cols-2, .up-property-grid.cols-3, .up-property-grid.cols-4 {grid-template-columns: 1fr;}
}

.up-card {
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  background: #fff;
  transition: transform .2s, box-shadow .2s;
}
.up-card:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 16px 32px rgba(0,0,0,0.15);
}
.card-color-a { background: #e9f6ef; }
.card-color-b { background: #ffe5ef; }

.up-card-img img {
  border-radius: 0;
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}
.up-card-body {
  padding: 18px 22px 16px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.up-card-title {
  margin: 0 0 10px 0;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.2;
}
.up-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #333;
  align-items: center;
}
.up-card-divider {
  height: 1px;
  background: #e4e4e4;
  margin: 9px 0 4px 0;
  width: 100%;
  border: 0;
}
.up-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 10px;
}
.up-card-actions .up-link {
  order: 1;
  font-weight: 600;
  color: #222;
  text-decoration: underline;
  font-size: 1rem;
}
.up-card-actions .icons {
  order: 2;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-left: auto;
  flex-direction: row !important;
}
.up-card-actions .icons a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(0,0,0,0.06);
  color: #222;
  text-decoration: none;
  font-size: 1.1rem;
  transition: .2s;
  margin: 0;
  line-height: 1;
}
.up-card-actions .icons a:hover {
  background: #222;
  color: #fff;
}
.up-card-actions .icons a svg,
.up-card-actions .icons a i {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}
h3.up-card-title a
{    color: black;
    text-decoration: underline;
font-size: 23px;
}

@media (max-width:560px){
  .up-card-actions {
     flex-direction: column;
     align-items: flex-start;
  }
  .up-card-actions .icons {
     margin-left:0;
  }
}
/* ===== Single Base ===== */
.up-single-wrapper {max-width:1180px;margin:40px auto;padding:0 20px;}
.up-title {margin:40px 0 14px;font-size:1.95rem;line-height:1.25;}
.up-short-desc-block {margin:0 0 24px;}
.up-short-desc-label {display:block;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:#555;margin-bottom:4px;}
.up-short-desc-text {font-size:1rem;line-height:1.55;color:#2c2c2c;font-weight:500;}

/* ===== Gallery (1 large + 4 thumbs) ===== */
.up-gallery-grid.up-gallery-2cols {display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:200px;gap:16px;}
.up-gallery-grid.up-gallery-2cols .up-gallery-main {grid-row:span 2;grid-column:1 / 2;}
.up-gallery-grid img {width:100%;height:100%;object-fit:cover;border-radius:14px;cursor:pointer;}
.up-gallery-item {position:relative;}
.up-more-overlay {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:#fff;background:rgba(0,0,0,.55);border-radius:14px;}
@media (max-width:1000px){
  .up-gallery-grid.up-gallery-2cols {grid-template-columns:1fr 1fr;grid-auto-rows:160px;}
  .up-gallery-grid.up-gallery-2cols .up-gallery-main {grid-row:span 2;}
}
@media (max-width:640px){
  .up-gallery-grid.up-gallery-2cols {grid-template-columns:1fr;grid-auto-rows:200px;}
  .up-gallery-grid.up-gallery-2cols .up-gallery-main {grid-row:span 1;}
}

/* ===== Quick Info Boxes ===== */
.up-quick-boxes.legacy-layout {display:flex;flex-wrap:wrap;gap:18px;margin:0 0 40px;}
.up-mini-box {background:#fff;border:1px solid #f2cdd7;padding:16px 20px;border-radius:12px;flex:1 1 250px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.up-mini-box.single {flex-basis:100%;max-width:340px;}
.up-mini-box .icon {color:#cc2e6f;display:flex;align-items:center;justify-content:center;}
.up-mini-content {display:flex;flex-direction:column;gap:2px;}
.up-mini-content .mini-label {font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#666;font-weight:600;}
.up-mini-content .mini-value {font-size:.9rem;font-weight:500;color:#222;}

/* ===== Features Pastel Cards ===== */
.up-features-section {margin:10px 0 60px;}
.up-features-section h2 {margin:0 0 22px;font-size:1.55rem;}
.up-feature-cards {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:26px;}
.up-feature-card {border-radius:16px;padding:26px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-weight:600;box-shadow:0 6px 24px rgba(0,0,0,.08);text-align:center;min-height:120px;}
.up-feature-card .ficon {font-size:30px;line-height:1;color:#222;}
.up-feature-card .ftext {font-size:.92rem;line-height:1.25;color:#222;font-weight:600;}
.p-pink  {background:#ffe5ef;}
.p-lilac {background:#eee0f7;}
.p-green {background:#e9f6ef;}
.p-peach {background:#ffe9dd;}
.p-blue  {background:#e2f1ff;}
.p-yellow{background:#fff5d9;}

/* ===== Love Section ===== */
.up-love-section.legacy-style {background:#e9dcf0;padding:60px 50px;margin:10px 0 60px;border-radius:24px;}
.up-love-inner {display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.up-love-media img {width:100%;height:auto;border-radius:14px;box-shadow:0 6px 30px rgba(0,0,0,.18);cursor:pointer;}
.up-love-list {margin:0;padding-left:20px;line-height:1.55;}
@media (max-width:820px){ .up-love-inner {grid-template-columns:1fr;} }

/* ===== Location & Highlights ===== */
.up-location-section.legacy-layout {display:grid;grid-template-columns:1.2fr 1fr;gap:50px;margin:10px 0 50px;}
.up-location-map iframe {width:100%;height:340px;border:0;border-radius:14px;box-shadow:0 5px 22px rgba(0,0,0,.15);}
@media (max-width:920px){ .up-location-section.legacy-layout {grid-template-columns:1fr;} }

/* === Provider Block (New Style) === */
.up-provider-block{
  background:#f6f2fa;
  padding:90px 50px 110px;
  margin:0 0 0;
  border-radius:0;
}
.up-provider-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:120px;
  align-items:start;
}
.up-provider-logo-card{
  background:#ffffff;
  border-radius:38px;
  padding:65px 55px;
  box-shadow:0 25px 70px -20px rgba(32,15,54,0.18),0 8px 26px -6px rgba(32,15,54,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:340px;
  position:relative;
}
.up-provider-logo-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:38px;
  background:linear-gradient(130deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.7) 100%);
  pointer-events:none;
  mix-blend-mode:overlay;
}
.up-provider-logo-img{
  width:100%;
  height:auto;
  max-width:480px;
  object-fit:contain;
}
.up-provider-contact-stack .up-contact-pill{
  display:flex;
  align-items:center;
  gap:26px;
  padding:26px 42px 26px 38px;
}
.up-contact-pill {
    background-color: #e9dcf0;
    border-radius: 20px;
    
    margin: 10px 0;
}

.up-contact-pill .pill-icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border:2px solid #111;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:21px;
  color:#111;
  background:#fff;
  box-shadow:0 3px 0 0 rgba(0,0,0,0.08);
}

.up-contact-pill .pill-text{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
}

.up-contact-pill .pill-label{
  font-size:.72rem;
  letter-spacing:.18em;
  font-weight:700;
  text-transform:uppercase;
  margin:0;
}

.up-contact-pill .pill-value{
  font-size:1.02rem;
  font-weight:500;
  line-height:1.35;
  color:#111;
  word-break:break-word;
}

.up-contact-pill .pill-value a{
  color:#111;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:.25s;
}
.up-contact-pill .pill-value a:hover{
  border-color:#111;
}

/* Tighter spacing on very small screens */
@media (max-width:560px){
  .up-provider-contact-stack .up-contact-pill{
    gap:18px;
    padding:22px 26px 22px 26px;
  }
  .up-contact-pill .pill-icon{
    width:52px;
    height:52px;
    font-size:19px;
  }
}
/* Responsive */
@media (max-width:1100px){
  .up-provider-inner{
    gap:60px;
  }
  .up-provider-logo-card{
    padding:55px 45px;
  }
}
@media (max-width:900px){
  .up-provider-inner{
    grid-template-columns:1fr;
    gap:50px;
  }
  .up-provider-contact-stack{
    margin-left:0;
    max-width:100%;
  }
  .up-provider-logo-card{
    max-width:640px;
    margin:0 auto;
  }
}
@media (max-width:560px){
  .up-provider-block{
    padding:70px 28px 90px;
  }
  .up-provider-logo-card{
    padding:46px 34px;
    border-radius:30px;
  }

}

/* Optional subtle hover lift */
.up-contact-pill:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 48px -18px rgba(18,12,36,0.25),0 6px 20px -6px rgba(18,12,36,0.16);
  transition:.35s cubic-bezier(.22,.61,.36,1);
}

/* ===== Content ===== */
.up-main-content {margin:40px 0 60px;font-size:1.03rem;line-height:1.65;}

/* ===== Lightbox ===== */
.up-lightbox {position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:9999;}
.up-lightbox.active {display:flex;}
.up-lightbox-inner {max-width:90%;max-height:85%;display:flex;align-items:center;justify-content:center;}
.up-lightbox-inner img {max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 0 20px rgba(0,0,0,.4);}
.up-lightbox-close, .up-lightbox-prev, .up-lightbox-next {
  position:absolute;background:rgba(255,255,255,.18);color:#fff;border:0;font-size:2rem;cursor:pointer;padding:6px 16px;border-radius:8px;
  backdrop-filter:blur(4px);line-height:1;
}
.up-lightbox-close {top:18px;right:20px;}
.up-lightbox-prev {left:25px;}
.up-lightbox-next {right:25px;}
.up-lightbox-prev:hover, .up-lightbox-next:hover, .up-lightbox-close:hover {background:rgba(255,255,255,.32);}
.up-lightbox button:focus {outline:2px solid #fff;}