/* ===== Ibiza Beyond · Real Estate (blind sale teasers) — brand v2 =====
   Scoped under .ibs. Rendered by sales.js into #realestate only when the sales page is on
   (or with ?preview=sales). Fonts: Cormorant Garamond (headings) + Manrope (text). */
.ibs{
  --ibs-notte:#14120F; --ibs-ink:#1D1A15; --ibs-calce:#F4EFE6; --ibs-sabbia:#E9E1D3;
  --ibs-oro:#B8975A; --ibs-orop:#A07A33; --ibs-pietra:#6B6459; --ibs-line:#E1D7C6; --ibs-card:#FBF8F3;
  --ibs-serif:"Cormorant Garamond",Georgia,serif; --ibs-sans:"Manrope",system-ui,sans-serif;
  background:var(--ibs-calce);color:var(--ibs-ink);font-family:var(--ibs-sans);text-align:left;
}
section.realestate.ibs-on{padding:0;max-width:none;scroll-margin-top:80px}
.ibs *{box-sizing:border-box}
.ibs-wrap{width:min(1240px,calc(100% - 32px));margin:0 auto}
.ibs-eyebrow{font:600 11px/1.2 var(--ibs-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ibs-orop)}
.ibs h2,.ibs h3,.ibs h4{font-family:var(--ibs-serif);font-weight:500;letter-spacing:-.005em;margin:0}
.ibs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;font:600 12px/1 var(--ibs-sans);letter-spacing:.18em;text-transform:uppercase;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;border-radius:0;text-decoration:none}
.ibs-btn--ink{background:var(--ibs-ink);color:var(--ibs-calce);border-color:var(--ibs-ink)}
.ibs-btn--gold{background:var(--ibs-oro);color:var(--ibs-notte);border-color:var(--ibs-oro)}
.ibs-btn:disabled{opacity:.5;cursor:default}

/* hero */
.ibs-hero{position:relative;color:var(--ibs-calce);background:url("brand/horizon-1920.jpg") 50% 72%/cover;padding:110px 0 0}
.ibs-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,18,15,.6),rgba(20,18,15,.2) 45%,rgba(20,18,15,.55))}
.ibs-hero__in{position:relative;width:min(1240px,calc(100% - 32px));margin:0 auto;padding-bottom:110px}
.ibs-hero .ibs-eyebrow{color:rgba(244,239,230,.85)}
.ibs-hero h2{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:22px 0;color:var(--ibs-calce)}
.ibs-hero p{font-size:18px;line-height:1.55;max-width:600px;color:rgba(244,239,230,.88);margin:0}
.ibs-search{position:relative;z-index:2;width:min(1240px,calc(100% - 32px));margin:-46px auto 0;background:var(--ibs-card);display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr auto;border:1px solid var(--ibs-line);box-shadow:0 18px 40px rgba(20,18,15,.12)}
.ibs-search label{display:block;padding:16px 22px;border-right:1px solid var(--ibs-line)}
.ibs-search small{display:block;font:600 10px var(--ibs-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ibs-pietra);margin-bottom:4px}
.ibs-search select{width:100%;border:0;background:transparent;font:500 15px var(--ibs-sans);color:var(--ibs-ink);padding:2px 0;outline:none;cursor:pointer}
.ibs-search .ibs-go{background:var(--ibs-ink);color:var(--ibs-calce);border:0;padding:0 40px;font:600 12px var(--ibs-sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}

/* results */
.ibs-results{padding:90px 0 30px}
.ibs-rh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.ibs-rh h3{font-size:clamp(32px,3.6vw,46px);line-height:1.05;margin-top:14px}
.ibs-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ibs-chip{border:1px solid var(--ibs-line);background:var(--ibs-card);font:500 13px var(--ibs-sans);color:var(--ibs-ink);padding:10px 14px;cursor:pointer}
.ibs-chip.is-on{background:var(--ibs-ink);color:var(--ibs-calce);border-color:var(--ibs-ink)}
.ibs-sort{border:1px solid var(--ibs-line);background:var(--ibs-card);font:500 13px var(--ibs-sans);color:var(--ibs-ink);padding:10px 14px}
.ibs-tabs{display:flex;gap:28px;border-bottom:1px solid var(--ibs-line);margin-bottom:32px;overflow-x:auto;scrollbar-width:none}
.ibs-tabs::-webkit-scrollbar{display:none}
.ibs-tab{background:none;border:0;border-bottom:1.5px solid transparent;padding:14px 0;font:500 14px var(--ibs-sans);color:var(--ibs-pietra);cursor:pointer;white-space:nowrap}
.ibs-tab b{font-weight:500;color:#a69c8c;margin-left:6px;font-size:12px}
.ibs-tab.is-on{color:var(--ibs-ink);border-bottom-color:var(--ibs-ink)}
.ibs-tab--pv{margin-left:auto;color:var(--ibs-orop)}
.ibs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.ibs-card{background:var(--ibs-card);border:1px solid var(--ibs-line);cursor:pointer;transition:box-shadow .25s,transform .25s;display:flex;flex-direction:column}
.ibs-card:hover{box-shadow:0 16px 36px rgba(20,18,15,.10);transform:translateY(-2px)}
.ibs-ph{position:relative;height:280px;overflow:hidden;background:linear-gradient(135deg,#3a332b,#14120F)}
.ibs-bl{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(18px) saturate(.8);transform:scale(1.08)}
.ibs-img{position:absolute;inset:0;background-size:cover;background-position:center}
.ibs-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,18,15,.22),rgba(20,18,15,.45))}
.ibs-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ibs-calce);font:600 10px var(--ibs-sans);letter-spacing:.26em;text-transform:uppercase}
.ibs-lock svg{width:46px;height:auto}
.ibs-badges{position:absolute;left:14px;top:14px;display:flex;flex-wrap:wrap;gap:6px}
.ibs-badge{background:rgba(244,239,230,.92);color:var(--ibs-ink);font:600 10px/1 var(--ibs-sans);letter-spacing:.18em;text-transform:uppercase;padding:7px 9px}
.ibs-badge--dark{background:rgba(20,18,15,.78);color:var(--ibs-oro)}
.ibs-ref{position:absolute;right:14px;bottom:12px;font:500 11px var(--ibs-sans);letter-spacing:.14em;color:rgba(244,239,230,.88)}
.ibs-cb{padding:22px 24px 20px;display:flex;flex-direction:column;flex:1}
.ibs-cb h4{font-size:28px;line-height:1.12;margin:10px 0 12px}
.ibs-specs{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 13px var(--ibs-sans);color:#5d564c;padding-bottom:16px;border-bottom:1px solid var(--ibs-line)}
.ibs-specs span{display:inline-flex;align-items:center;gap:6px}
.ibs-specs svg{width:16px;height:16px}
.ibs-cf{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-top:14px;margin-top:auto}
.ibs-cf small{display:block;font:600 10px var(--ibs-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ibs-pietra);margin-bottom:4px}
.ibs-price{font:500 25px var(--ibs-serif)}
.ibs-more{font:600 11px var(--ibs-sans);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.ibs-note{margin:24px 0 0;font:400 13px/1.5 var(--ibs-sans);color:var(--ibs-pietra);display:flex;gap:12px;align-items:center}
.ibs-note svg{width:26px;flex:none}
.ibs-empty{grid-column:1/-1;padding:50px 0;text-align:center;color:var(--ibs-pietra)}

/* feature cards (new development / business) */
.ibs-duo{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:40px 0 90px}
.ibs-wide{position:relative;min-height:400px;overflow:hidden;color:var(--ibs-calce);display:flex;flex-direction:column;justify-content:flex-end;padding:36px;cursor:pointer;background:var(--ibs-notte)}
.ibs-wide .ibs-veil{background:linear-gradient(to bottom,rgba(20,18,15,.25),rgba(20,18,15,.55) 45%,rgba(20,18,15,.9))}
.ibs-wide>*:not(.ibs-bl):not(.ibs-veil):not(.ibs-img):not(.ibs-ref):not(.ibs-lock){position:relative}
.ibs-wide .ibs-ref{position:absolute;top:22px;right:24px;bottom:auto}
.ibs-wide .ibs-eyebrow{color:var(--ibs-oro)}
.ibs-wide h4{font-size:38px;line-height:1.05;margin:12px 0 10px;color:var(--ibs-calce)}
.ibs-wide p{color:rgba(244,239,230,.85);max-width:460px;margin:0 0 20px;font-size:15px;line-height:1.5}

/* access band */
.ibs-access{background:var(--ibs-notte);color:var(--ibs-calce);display:grid;grid-template-columns:1fr 1fr}
.ibs-access__im{background:url("brand/key-1200.jpg") 50% 72%/cover;min-height:500px}
.ibs-access__tx{padding:90px clamp(24px,7vw,100px);display:flex;flex-direction:column;justify-content:center;gap:20px}
.ibs-access .ibs-eyebrow{color:var(--ibs-oro)}
.ibs-access h3{font-size:clamp(36px,4vw,54px);line-height:1.06;color:var(--ibs-calce)}
.ibs-access p{color:rgba(244,239,230,.8);max-width:460px;font-size:16px;line-height:1.55;margin:0}
.ibs-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:6px 0 8px}
.ibs-levels b{font:500 30px var(--ibs-serif);color:var(--ibs-oro)}
.ibs-levels h5{font:600 12px var(--ibs-sans);letter-spacing:.2em;text-transform:uppercase;margin:6px 0 8px;color:var(--ibs-calce)}
.ibs-levels span{font-size:13px;color:rgba(244,239,230,.7);line-height:1.5}
.ibs-access .ibs-btn:not(.ibs-btn--gold){color:var(--ibs-calce)}

/* owners */
.ibs-owners{padding:90px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.ibs-owners svg{width:64px}
.ibs-owners h3{font-size:clamp(32px,4vw,52px);line-height:1.06;max-width:820px}
.ibs-owners p{max-width:560px;color:#5d564c;font-size:16px;line-height:1.55;margin:0}
.ibs-owners__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.ibs-owners__cta .btn{border-radius:0;letter-spacing:.14em;text-transform:uppercase;font-size:12px}

/* modal */
.ibs-modal{position:fixed;inset:0;z-index:1200;background:rgba(20,18,15,.6);display:flex;align-items:center;justify-content:center;padding:20px}
.ibs-modal[hidden]{display:none}
.ibs-modal__panel{background:var(--ibs-calce);color:var(--ibs-ink);width:min(920px,100%);max-height:92vh;overflow:auto;position:relative;font-family:var(--ibs-sans)}
.ibs-modal__close{position:absolute;right:14px;top:10px;background:rgba(244,239,230,.9);border:0;width:38px;height:38px;font-size:22px;cursor:pointer;z-index:2;color:var(--ibs-ink)}
.ibs-modal__media{position:relative;height:300px;overflow:hidden;background:linear-gradient(135deg,#3a332b,#14120F)}
.ibs-modal__body{padding:30px 34px 34px}
.ibs-modal__body h4{font-size:36px;line-height:1.08;margin:10px 0 12px}
.ibs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 20px;margin:18px 0;padding:16px 0;border-top:1px solid var(--ibs-line);border-bottom:1px solid var(--ibs-line)}
.ibs-facts small{display:block;font:600 10px var(--ibs-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ibs-pietra);margin-bottom:3px}
.ibs-facts div{font:500 15px var(--ibs-sans)}
.ibs-gate{background:var(--ibs-card);border:1px solid var(--ibs-line);padding:22px;margin-top:6px}
.ibs-gate h5{font:500 22px var(--ibs-serif);margin:0 0 8px}
.ibs-gate p{margin:0 0 14px;color:#5d564c;font-size:14px;line-height:1.55}
.ibs-gate textarea,.ibs-gate input{width:100%;border:1px solid var(--ibs-line);background:#fff;padding:12px 14px;font:400 14px var(--ibs-sans);margin-bottom:10px;color:var(--ibs-ink)}
.ibs-gate__row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ibs-gate__row input{flex:1;min-width:200px;margin:0}
.ibs-gate__msg{font-size:13px;color:var(--ibs-orop);margin:10px 0 0}
.ibs-gate__status{display:inline-block;font:600 11px var(--ibs-sans);letter-spacing:.18em;text-transform:uppercase;padding:8px 12px;background:var(--ibs-sabbia);color:var(--ibs-ink)}
.ibs-google{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--ibs-line);padding:12px 18px;font:600 13px var(--ibs-sans);cursor:pointer;margin-bottom:12px;color:var(--ibs-ink)}
.ibs-google b{font:700 16px Arial,sans-serif;color:#4285F4}
.ibs-desc{white-space:pre-line;font-size:15px;line-height:1.65;color:#3c362e}
.ibs-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:20px}
.ibs-gallery img{width:100%;height:110px;object-fit:cover;display:block}
.ibs-wa{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:600 12px var(--ibs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ibs-orop);text-decoration:none}

@media (max-width:980px){
  .ibs-grid{grid-template-columns:1fr 1fr}
  .ibs-search{grid-template-columns:1fr 1fr}
  .ibs-search label{border-bottom:1px solid var(--ibs-line)}
  .ibs-search .ibs-go{grid-column:1/-1;padding:16px}
}
@media (max-width:640px){
  .ibs-hero{padding-top:70px}
  .ibs-hero__in{padding-bottom:80px}
  .ibs-hero p{font-size:15px}
  .ibs-search label{padding:12px 14px}
  .ibs-search select{font-size:14px}
  .ibs-results{padding-top:50px}
  .ibs-rh{flex-direction:column;align-items:flex-start}
  .ibs-grid,.ibs-duo,.ibs-access,.ibs-levels{grid-template-columns:1fr}
  .ibs-grid{gap:20px}
  .ibs-ph{height:220px}
  .ibs-tab--pv{margin-left:0}
  .ibs-duo{gap:20px;padding:24px 0 50px}
  .ibs-wide{min-height:340px;padding:24px}
  .ibs-wide h4{font-size:30px}
  .ibs-access__im{min-height:240px}
  .ibs-access__tx{padding:46px 20px}
  .ibs-owners{padding:60px 0}
  .ibs-owners__cta{flex-direction:column;width:100%}
  .ibs-modal{padding:0;align-items:flex-end}
  .ibs-modal__panel{max-height:94vh}
  .ibs-modal__media{height:200px}
  .ibs-modal__body{padding:22px 20px 28px}
  .ibs-modal__body h4{font-size:28px}
}
