.rental-detail-dialog{width:min(900px,calc(100% - 28px));max-height:92vh;margin:auto;padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.5);overflow:hidden}
.rental-detail-dialog::backdrop{background:rgba(5,15,28,.76);backdrop-filter:blur(3px)}
.rental-detail-shell{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);max-height:92vh;overflow:auto}
.rental-detail-media{position:relative;min-height:100%;background:linear-gradient(145deg,#0c2340,#173f66);overflow:hidden}
.rental-detail-media img{width:100%;height:100%;min-height:420px;object-fit:cover}
.rental-detail-media.is-placeholder img{object-position:center 58%;filter:saturate(.72) contrast(.96);transform:scale(1.025)}
.rental-detail-placeholder{position:absolute;z-index:1;right:16px;bottom:18px;left:16px;padding:14px 16px;border-left:4px solid #f0cd62;border-radius:8px;background:rgba(7,25,46,.9);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.rental-detail-placeholder[hidden]{display:none}
.rental-detail-placeholder strong,.rental-detail-placeholder span{display:block}
.rental-detail-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-size:1.08rem}
.rental-detail-placeholder span{margin-top:3px;color:#f0cd62;font-size:.69rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.rental-detail-media.is-empty{display:grid;place-items:center;min-height:360px}
.rental-detail-media.is-empty::after{content:"Irish Gameday Guide";max-width:190px;color:#f0cd62;font-family:Georgia,serif;font-size:1.55rem;font-weight:800;line-height:1.12;text-align:center}
.rental-detail-media.is-empty img{display:none}
.rental-detail-label{position:absolute;top:18px;left:18px;padding:6px 12px;border-radius:999px;background:rgba(7,25,46,.88);color:#f0cd62;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rental-detail-close{position:absolute;z-index:2;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(7,25,46,.86);color:#fff;font:700 1.45rem/1 Arial,sans-serif;cursor:pointer}
.rental-detail-close:hover,.rental-detail-close:focus-visible{background:#07192e;outline:3px solid #f0cd62;outline-offset:2px}
.rental-detail-body{padding:clamp(26px,4vw,46px)}
.rental-detail-body h2{margin:0 0 12px;color:var(--blue);font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.08}
.rental-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.rental-detail-meta span{padding:5px 10px;border-radius:999px;background:#f4ead0;color:#604b08;font-size:.76rem;font-weight:850}
.rental-detail-address{margin:0 0 20px;color:var(--muted);font-style:normal;font-size:.9rem}
.rental-detail-description{margin:0 0 24px;color:#3f4a55;font-size:1rem;line-height:1.65}
.rental-detail-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line)}
.rental-detail-actions .btn.blue.outline{background:#fff;color:var(--blue);border-color:var(--blue)}
.rental-detail-actions [hidden]{display:none}
.rental-detail-note{margin:22px 0 0;padding:16px 18px;border-left:4px solid var(--gold);border-radius:8px;background:var(--cream);color:#4d5964;font-size:.85rem}
body.rental-modal-open{overflow:hidden}
.rental-details-button{margin-top:auto;align-self:flex-start;border:0;background:none;color:var(--blue);font:inherit;font-size:.78rem;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rental-details-button:hover{color:#775d08}

@media(max-width:760px){
  .rental-detail-dialog{width:min(100% - 16px,680px);max-height:96vh}
  .rental-detail-shell{grid-template-columns:1fr;max-height:96vh}
  .rental-detail-media,.rental-detail-media.is-empty{min-height:220px;max-height:280px}
  .rental-detail-media img{min-height:220px;max-height:280px}
  .rental-detail-body{padding:24px 20px 30px}
}

@media(prefers-reduced-motion:no-preference){
  .rental-detail-dialog[open]{animation:rental-modal-in .18s ease-out}
  @keyframes rental-modal-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
}
