.pp{--pp-card:#fffdf8;--pp-sand:#efe5d6;--pp-clay:var(--clay,#b35a3f);--pp-sea:var(--sea,#2c544f);--pp-ink:var(--ink,#1d1f1b);--pp-muted:var(--muted,#6f675b);--pp-line:var(--line,rgba(29,31,27,.13));color:var(--pp-ink);padding-top:18px;padding-bottom:64px}
.pp *{box-sizing:border-box}
.pp-crumbs{font-size:.8rem;color:var(--pp-muted);margin:0 0 14px}
.pp-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.pp-crumbs a:hover{border-color:currentColor}

.pp-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:18px;overflow:hidden;position:relative;background:var(--pp-sand)}
.pp-gallery>button:not(.pp-more){all:unset;cursor:zoom-in;position:relative;display:block;overflow:hidden;background:var(--pp-sand)}
.pp-gallery>button:not(.pp-more):first-child{grid-row:1/3}
.pp-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.pp-gallery>button:not(.pp-more):hover img{transform:scale(1.03)}
.pp-gallery.n1{grid-template-columns:1fr}
.pp-gallery.n2{grid-template-columns:2fr 1fr}.pp-gallery.n2 button:nth-child(2){grid-row:1/3}
.pp-gallery.n3{grid-template-columns:2fr 1fr}
.pp-gallery.n4 button:nth-child(4){grid-column:2/4}
.pp-more{position:absolute;right:14px;bottom:14px;background:rgba(251,248,241,.94);color:var(--pp-ink);border:0;border-radius:999px;padding:9px 16px;font:600 .82rem/1 inherit;font-family:inherit;cursor:pointer;display:inline-flex;gap:8px;align-items:center;box-shadow:0 6px 20px -8px rgba(0,0,0,.35)}
.pp-more svg{width:16px;height:16px}
.pp-nophoto{height:320px;display:flex;align-items:center;justify-content:center;color:var(--pp-muted);border-radius:18px;background:var(--pp-sand)}

.pp-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;margin-top:30px;align-items:start}
.pp-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 28px;align-items:flex-end;padding-bottom:22px;border-bottom:1px solid var(--pp-line)}
.pp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pp-badge{font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:var(--pp-sand);color:var(--pp-ink)}
.pp-badge.clay{background:var(--pp-clay);color:#fff}
.pp-badge.sea{background:var(--pp-sea);color:#fff}
.pp-badge.off{background:#7d746a;color:#fff}
.pp h1{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.15;margin:0 0 10px;letter-spacing:-.01em}
.pp-loc{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--pp-muted);font-size:.92rem}
.pp-loc span{display:inline-flex;align-items:center;gap:6px}
.pp-loc svg{width:16px;height:16px;color:var(--pp-clay)}
.pp-price{text-align:right}
.pp-price b{display:block;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:clamp(1.7rem,3vw,2.3rem);color:var(--pp-clay);white-space:nowrap}
.pp-price b small{font-size:.5em;color:var(--pp-muted);font-family:inherit}
.pp-price span{font-size:.8rem;color:var(--pp-muted)}

.pp-section{margin-top:34px}
.pp-section h2{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:1.35rem;margin:0 0 16px;display:flex;align-items:center;gap:12px}
.pp-section h2::after{content:"";flex:1;height:1px;background:var(--pp-line)}
.pp-keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.pp-key{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.pp-key svg{width:26px;height:26px;color:var(--pp-clay)}
.pp-key b{font-size:1.25rem;font-weight:600}
.pp-key span{font-size:.8rem;color:var(--pp-muted)}
.pp-desc{font-size:1rem;line-height:1.85;color:#38342e;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:16px;padding:24px 26px}
.pp-desc p{margin:0 0 14px}.pp-desc p:last-child{margin:0}
.pp-amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;list-style:none;margin:0;padding:0}
.pp-amen li{display:flex;align-items:center;gap:12px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:12px;padding:12px 14px;font-size:.92rem}
.pp-amen li i{flex:0 0 36px;height:36px;border-radius:10px;background:#f6ece3;color:var(--pp-clay);display:flex;align-items:center;justify-content:center}
.pp-amen li i svg{width:20px;height:20px}
.pp-amen li.neg{color:var(--pp-muted)}
.pp-amen li.neg i{background:#eeebe6;color:#8d867c}
.pp-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.pp-info div{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:12px;padding:14px 16px}
.pp-info dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--pp-muted);margin-bottom:4px}
.pp-info dd{margin:0;font-weight:600}

.pp-aside{position:sticky;top:90px;background:var(--pp-sea);color:#f3ede2;border-radius:20px;padding:26px;box-shadow:0 24px 50px -28px rgba(29,31,27,.6)}
.pp-aside h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:1.3rem;margin:0 0 6px;color:#fff}
.pp-aside p{font-size:.88rem;opacity:.85;margin:0 0 18px;line-height:1.6}
.pp-aside .pp-aprice{font-family:Fraunces,Georgia,serif;font-size:1.7rem;color:#fff;margin-bottom:2px}
.pp-aside .pp-aref{font-size:.8rem;opacity:.75;margin-bottom:18px}
.pp-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border-radius:12px;font-weight:600;text-decoration:none;font-size:.95rem;margin-bottom:10px;transition:transform .15s ease,filter .15s ease}
.pp-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.pp-btn svg{width:20px;height:20px}
.pp-btn.main{background:var(--pp-clay);color:#fff}
.pp-btn.wa{background:#25d366;color:#0b3d1f}
.pp-btn.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25)}
.pp-aside small{display:block;margin-top:12px;font-size:.78rem;opacity:.7}
.pp-back{display:inline-block;margin-top:36px;color:var(--pp-muted);font-size:.9rem}

.pp-bar{display:none}
.pp-lb{position:fixed;inset:0;background:rgba(18,17,15,.94);z-index:200;display:none;align-items:center;justify-content:center}
.pp-lb.on{display:flex}
.pp-lb img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:8px}
.pp-lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer}
.pp-lb .x{top:18px;right:18px}.pp-lb .p{left:18px}.pp-lb .n{right:18px}
.pp-lb span{position:absolute;bottom:20px;color:#ddd;font-size:.85rem}

@media (max-width:900px){
  .pp-layout{grid-template-columns:1fr;gap:10px}
  .pp-aside{position:static}
  .pp-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 120px}
  .pp-gallery>button:not(.pp-more):first-child{grid-column:1/3;grid-row:1}
  .pp-gallery>button:not(.pp-more):nth-child(n+4){display:none}
  .pp-gallery.n1{grid-template-rows:280px}.pp-gallery.n2 button:nth-child(2){grid-row:auto;grid-column:1/3}
  .pp-gallery.n4 button:nth-child(4){grid-column:auto}
}
@media (max-width:640px){
  .pp{padding-bottom:96px}
  .pp-head{flex-direction:column;align-items:flex-start}
  .pp-price{text-align:left}
  .pp-desc{padding:18px}
  .pp-amen{grid-template-columns:1fr}
  .pp-gallery{border-radius:14px;grid-template-rows:240px 100px}
  .pp-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(251,248,241,.97);border-top:1px solid var(--line,rgba(0,0,0,.1));box-shadow:0 -8px 24px -16px rgba(0,0,0,.4)}
  .pp-bar .pp-btn{flex:1;margin:0;padding:12px 10px;font-size:.88rem}
  body:has(.pp-bar) .wa,body:has(.pp-bar) .callbtn{display:none}
}
