/* Gary's Listings — page-specific styles (own listings). gl- namespace avoids
   collisions with the shared styles.css (.gallery/.detail-*). */
.listing-card-static { cursor: default; opacity: 0.96; }
.listing-img { background-size: cover; background-position: center; }
.page-hero .lead { max-width: 640px; }

.gl-wrap { padding: 130px 0 40px; }
.gl-back { display:inline-block; margin-bottom:22px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; }
.gl-back:hover { color:var(--ink); }
.gl-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; border-bottom:1px solid var(--border); padding-bottom:22px; margin-bottom:26px; }
.gl-price { font-family:'Fraunces',serif; font-size:38px; font-weight:500; color:var(--ink); line-height:1; }
.gl-addr { font-size:18px; color:var(--ink); margin-top:10px; }
.gl-sub { font-size:14px; color:var(--ink-soft); margin-top:2px; }
.gl-meta { display:flex; gap:12px; font-size:14px; color:var(--ink-soft); }
.gl-meta span { padding:6px 12px; background:var(--sand-soft); border-radius:6px; }

.gl-gallery { display:block; height:auto; margin-bottom:44px; }
.gl-main-img { display:block; width:100%; aspect-ratio:16/9; background-size:cover; background-position:center; border-radius:12px; position:relative; background-color:#e9e6df; }
.gl-badge { top:16px; left:16px; }
.gl-thumbs { display:grid; grid-template-columns:repeat(8,1fr); gap:8px; margin-top:8px; }
@media (max-width:860px){ .gl-thumbs { grid-template-columns:repeat(4,1fr); } }
.gl-thumb { aspect-ratio:4/3; background-size:cover; background-position:center; border-radius:6px; border:2px solid transparent; cursor:pointer; padding:0; }
.gl-thumb.active { border-color:var(--gold,#c9a55c); }

.gl-body { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:start; }
@media (max-width:860px){ .gl-body { grid-template-columns:1fr; gap:36px; } }
.gl-maincol h2 { font-family:'Fraunces',serif; font-weight:500; font-size:24px; margin:0 0 14px; color:var(--ink); }
.gl-maincol p { color:var(--ink-soft); line-height:1.75; font-size:16px; margin-bottom:32px; }
.gl-spec-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 32px; }
.gl-spec { display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); font-size:15px; }
.gl-spec-k { color:var(--ink-soft); }
.gl-spec-v { color:var(--ink); font-weight:500; }
.gl-courtesy { font-size:12px; color:var(--ink-muted,#8a8578); margin-top:28px; line-height:1.6; }

.gl-form { background:var(--cream); border:1px solid var(--border); border-radius:12px; padding:28px 26px; position:sticky; top:100px; }
.gl-form h3 { font-family:'Fraunces',serif; font-weight:500; font-size:21px; margin:0 0 8px; color:var(--ink); }
.gl-form > p { font-size:14px; color:var(--ink-soft); margin-bottom:20px; line-height:1.6; }
.gl-form .form-field { margin-bottom:14px; }
.gl-form label { display:block; font-size:12px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; }
.gl-form input, .gl-form textarea { width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:7px; font-family:inherit; font-size:15px; background:#fff; color:var(--ink); box-sizing:border-box; }
.gl-form textarea { min-height:90px; resize:vertical; }
.gl-form-alt { text-align:center; font-size:13px; color:var(--ink-soft); margin-top:16px; }
.gl-form-alt a { color:var(--ink); }
