@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap');
:root { --ink:#0a1b32; --paper:#f3eee4; --paper-deep:#e8dfd0; --gold:#b88a45; --gold-light:#cfad74; --muted:#746f66; --line:rgba(10,27,50,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.wrap { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.section { padding-block:130px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Playfair Display",Georgia,serif; font-weight:500; }
h2 { font-size:clamp(2.5rem,5vw,4.9rem); line-height:1.03; letter-spacing:-.045em; }
.eyebrow { margin-bottom:24px; color:var(--gold); font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow.light { color:#e1c08b; }

.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:96px; padding:0 4vw; display:flex; align-items:center; gap:48px; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:12px; font-family:Georgia,serif; letter-spacing:.13em; white-space:nowrap; }
.brand img { width:55px; height:25px; object-fit:contain; }
.brand span { font-size:.94rem; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:28px; margin-left:auto; }
.desktop-nav a { font-size:.79rem; opacity:.86; transition:opacity .2s; }
.desktop-nav a:hover { opacity:1; }
.header-cta { margin-left:20px; padding:13px 18px; background:var(--ink); color:#fff!important; border-color:var(--ink); font-size:.78rem; }
.header-cta:hover { background:#132d4e; color:#fff!important; }
.header-cta span { margin-left:14px; color:var(--gold-light); }
.mobile-menu { display:none; }

.hero { min-height:830px; height:100vh; max-height:980px; position:relative; display:flex; align-items:center; overflow:hidden; color:white; }
.hero-image { position:absolute; inset:0; background:url('/assets/images/duden-parki.jpg') center 52%/cover no-repeat; transform:scale(1.015); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,18,35,.78) 0%,rgba(5,18,35,.45) 46%,rgba(5,18,35,.12) 75%),linear-gradient(0deg,rgba(6,20,36,.42),transparent 45%); }
.hero-content { position:relative; z-index:2; padding-top:60px; }
.hero h1 { max-width:760px; margin-bottom:28px; font-size:clamp(4rem,7.6vw,7.2rem); line-height:.91; letter-spacing:-.055em; }
.hero-copy { max-width:600px; margin-bottom:38px; color:rgba(255,255,255,.82); font-size:1.08rem; line-height:1.75; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:0 22px; border:1px solid transparent; font-size:.82rem; font-weight:600; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:white; }
.button-ghost { border-color:rgba(255,255,255,.5); color:white; backdrop-filter:blur(8px); }
.button-dark { background:var(--ink); color:white; }
.button.full { width:100%; }
.hero-index { position:absolute; z-index:2; right:4vw; bottom:44px; display:flex; align-items:center; gap:13px; color:rgba(255,255,255,.7); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.hero-index span { width:80px; height:1px; background:rgba(255,255,255,.5); }

.about { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:center; }
.about-copy>p:not(.eyebrow) { max-width:560px; margin:30px 0; color:var(--muted); font-size:1rem; line-height:1.85; }
.text-link { display:inline-flex; align-items:center; gap:18px; padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:.82rem; font-weight:600; }
.text-link span { color:var(--gold); }
.about-visual { margin:0; }
.about-visual img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:55% center; filter:saturate(.78); }
.about-visual figcaption { margin-top:12px; color:var(--muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }

.services { background:var(--paper-deep); }
.section-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:60px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { max-width:390px; margin:0 0 8px; color:var(--muted); line-height:1.7; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:260px; padding:38px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-card>span { color:var(--gold); font-size:.7rem; }
.service-card h3 { margin:40px 0 14px; font-family:"Playfair Display",Georgia,serif; font-size:1.65rem; font-weight:500; }
.service-card p { max-width:450px; margin:0; color:var(--muted); line-height:1.7; }

.property-card { display:grid; grid-template-columns:1.6fr .8fr; min-height:570px; background:#eee6da; }
.property-image { position:relative; min-height:500px; overflow:hidden; }
.property-image img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.property-card:hover .property-image img { transform:scale(1.025); }
.property-badge { position:absolute; top:24px; left:24px; padding:10px 13px; background:rgba(9,27,49,.88); color:white; font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; }
.property-info { padding:55px 45px; display:flex; flex-direction:column; justify-content:center; }
.property-info>p:first-child { color:var(--gold); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.property-info h3 { margin:18px 0 28px; font-family:"Playfair Display",Georgia,serif; font-size:2.45rem; font-weight:500; line-height:1.05; }
.property-specs { display:flex; flex-wrap:wrap; margin-bottom:28px; border-block:1px solid var(--line); }
.property-specs span { padding:14px 16px; border-right:1px solid var(--line); font-size:.75rem; }
.property-specs span:first-child { padding-left:0; }
.property-note { color:var(--muted); font-size:.8rem; line-height:1.6; }
.property-info .button { margin-top:20px; align-self:flex-start; }

.districts { position:relative; padding-block:145px; background:var(--ink); color:white; overflow:hidden; }
.districts::after { content:"ANTALYA"; position:absolute; right:-20px; bottom:-50px; color:rgba(255,255,255,.035); font-family:Georgia,serif; font-size:16vw; line-height:1; }
.districts-inner { position:relative; z-index:1; }
.districts h2 { max-width:850px; }
.district-copy { max-width:720px; margin:28px 0 0; color:rgba(255,255,255,.68); line-height:1.8; }
.district-list { display:flex; flex-wrap:wrap; gap:12px 34px; margin-top:58px; color:rgba(255,255,255,.68); font-family:Georgia,serif; font-size:clamp(1.2rem,2vw,1.8rem); }
.district-list span:not(:last-child)::after { content:"·"; margin-left:34px; color:var(--gold); }

.why-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:10vw; align-items:start; }
.why-grid h2 { margin:0; }
.why-list { border-top:1px solid var(--line); }
.why-list div { display:grid; grid-template-columns:45px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.why-list strong { color:var(--gold); font-size:.7rem; }
.why-list span { font-size:.95rem; }

.faq { background:var(--paper-deep); }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; align-items:start; }
.faq-grid h2 { margin-bottom:24px; }
.faq-intro { max-width:390px; color:var(--muted); line-height:1.75; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:25px 45px 25px 0; list-style:none; font-family:"Playfair Display",Georgia,serif; font-size:1.25rem; line-height:1.35; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; top:23px; right:4px; color:var(--gold); font-family:"DM Sans",Arial,sans-serif; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { max-width:700px; padding:0 45px 25px 0; color:var(--muted); line-height:1.75; }

.contact { padding-block:120px; background:#a77b3d; color:white; }
.contact-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:center; }
.contact h2 { margin-bottom:0; font-size:clamp(3rem,6vw,5.8rem); }
.contact-card { padding:42px; background:var(--ink); }
.contact-profile { display:flex; align-items:center; gap:20px; margin-bottom:28px; }
.contact-profile img { width:96px; height:96px; flex:none; border-radius:50%; object-fit:cover; object-position:center 23%; border:2px solid var(--gold-light); }
.contact-profile small { display:block; margin-bottom:7px; color:var(--gold-light); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }
.contact-profile h3 { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:1.7rem; font-weight:500; }
.contact-card>p { margin-bottom:30px; color:rgba(255,255,255,.7); line-height:1.65; }
.contact-line { display:block; padding:19px 0; border-top:1px solid rgba(255,255,255,.18); }
.contact-line small { display:block; margin-bottom:7px; color:var(--gold-light); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }
.contact-line strong { font-size:.92rem; font-weight:500; line-height:1.6; }
.contact-card .button { margin-top:24px; }

footer { padding-block:36px; background:#071529; color:white; }
.footer-inner { display:grid; grid-template-columns:1fr auto auto auto; gap:42px; align-items:center; }
.footer-inner p { margin:0; color:rgba(255,255,255,.5); font-size:.7rem; }
.footer-inner .footer-credit { grid-column:1 / -1; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); text-align:center; }
.footer-brand img { width:42px; }
.footer-social { color:var(--gold-light); font-size:.72rem; letter-spacing:.05em; }

.inner-header { height:88px; padding:0 4vw; display:flex; align-items:center; gap:40px; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); }
.inner-nav { display:flex; gap:30px; margin-left:auto; font-size:.8rem; }
.inner-nav a { opacity:.65; }
.inner-nav a:hover,.inner-nav .active { opacity:1; }
.inner-contact { min-height:44px; margin-left:18px; background:var(--ink); color:#fff!important; border-color:var(--ink); }
.inner-contact:hover { background:#132d4e; color:#fff!important; }
.listings-hero { padding:110px 0 105px; background:linear-gradient(115deg,#071529,#132d4e); color:white; }
.listings-hero h1 { max-width:900px; margin-bottom:24px; font-size:clamp(3.3rem,7vw,6.3rem); line-height:.96; letter-spacing:-.055em; }
.listings-hero>div>p:last-child { margin:0; color:rgba(255,255,255,.65); font-size:1.05rem; }
.listings-content { padding-block:70px 120px; }
.listings-toolbar { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-bottom:42px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.listings-toolbar>p { margin:0; color:var(--muted); font-size:.78rem; }
.filter-chips { display:flex; gap:8px; }
.filter-chips button { padding:10px 16px; border:1px solid var(--line); background:transparent; color:var(--muted); font:inherit; font-size:.75rem; cursor:pointer; }
.filter-chips a { padding:10px 16px; border:1px solid var(--line); background:transparent; color:var(--muted); font:inherit; font-size:.75rem; cursor:pointer; }
.filter-chips .selected { border-color:var(--ink); background:var(--ink); color:white; }
.listing-grid { display:grid; gap:30px; }
.listing-card { display:grid; grid-template-columns:1.25fr .75fr; min-height:530px; background:#ebe2d5; }
.listing-image { position:relative; overflow:hidden; }
.listing-image img { width:100%; height:100%; object-fit:cover; }
.listing-copy { padding:48px 42px; display:flex; flex-direction:column; justify-content:center; }
.listing-location { color:var(--gold); font-size:.69rem; letter-spacing:.13em; text-transform:uppercase; }
.listing-copy h2 { margin:14px 0 24px; font-size:2.7rem; }
.listing-specs { display:flex; flex-wrap:wrap; margin-bottom:24px; border-block:1px solid var(--line); }
.listing-specs span { padding:13px 14px; border-right:1px solid var(--line); font-size:.74rem; }
.listing-specs span:first-child { padding-left:0; }
.listing-description { margin-bottom:28px; color:var(--muted); font-size:.86rem; line-height:1.7; }
.listing-copy .text-link { align-self:flex-start; }
.listing-copy h2 a:hover { color:var(--gold); }
.listing-price { margin-bottom:18px; color:var(--ink); font-family:"Playfair Display",Georgia,serif; font-size:1.55rem; font-weight:500; }
.listing-placeholder { height:100%; display:grid; place-items:center; background:#d9cbb7; color:rgba(10,27,50,.4); font-family:Georgia,serif; letter-spacing:.16em; }
.listings-empty-note { margin-top:80px; padding:70px; background:#ded1bd; }
.listings-empty-note h2 { max-width:880px; margin-bottom:36px; font-size:clamp(2.2rem,4.5vw,4.3rem); }

.listing-detail-page { background:var(--paper); }
.listing-detail-wrap { padding-block:44px 120px; }
.listing-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:45px; color:var(--muted); font-size:.76rem; }
.listing-breadcrumb a { color:var(--ink); }
.listing-breadcrumb a:hover { color:var(--gold); }
.listing-detail-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:36px; }
.listing-detail-heading h1 { max-width:900px; margin:0; font-size:clamp(2.5rem,5vw,4.9rem); line-height:1.08; }
.listing-detail-heading>strong { flex:none; font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.8rem,3vw,2.8rem); font-weight:500; color:var(--gold); }
.listing-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:65px; }
.listing-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; background:#ded1bd; }
.listing-gallery img:first-child { grid-column:1 / -1; max-height:700px; aspect-ratio:16/9; }
.listing-detail-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); gap:7vw; }
.listing-detail-grid h2 { margin-bottom:25px; font-size:2.1rem; }
.listing-detail-description { line-height:1.85; color:var(--muted); overflow-wrap:anywhere; }
.listing-detail-aside { padding:34px; background:#ebe2d5; align-self:start; }
.listing-detail-aside dl { margin:0 0 30px; }
.listing-detail-aside dl>div { display:flex; justify-content:space-between; gap:18px; padding:13px 0; border-top:1px solid var(--line); font-size:.78rem; }
.listing-detail-aside dt { color:var(--muted); }
.listing-detail-aside dd { margin:0; text-align:right; font-weight:600; }
.listing-detail-back { display:inline-block; margin-top:25px; font-size:.78rem; color:var(--ink); }

/* Yönetim paneli */
.admin-auth,.admin-loading { min-height:100vh; display:grid; place-items:center; padding:30px; background:#071529; }
.admin-loading { color:white; }
.admin-auth-card { width:min(470px,100%); padding:50px; background:var(--paper); box-shadow:0 30px 80px rgba(0,0,0,.28); }
.admin-logo { display:inline-flex; align-items:center; gap:12px; margin-bottom:55px; font-family:Georgia,serif; letter-spacing:.14em; }
.admin-logo img { width:58px; height:28px; object-fit:contain; }
.admin-auth h1,.admin-main h1 { margin-bottom:14px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.5rem,5vw,4rem); font-weight:500; letter-spacing:-.04em; }
.admin-muted { margin-bottom:30px; color:var(--muted); line-height:1.6; }
.admin-auth form { display:grid; gap:18px; }
.admin-auth label,.listing-form label { display:grid; gap:8px; color:#334052; font-size:.76rem; font-weight:600; }
.admin-auth input,.listing-form input,.listing-form textarea,.listing-form select { width:100%; min-height:48px; padding:12px 13px; border:1px solid rgba(10,27,50,.18); border-radius:0; outline:none; background:#fffdf8; color:var(--ink); font:inherit; }
.listing-form textarea { resize:vertical; line-height:1.55; }
.admin-auth input:focus,.listing-form input:focus,.listing-form textarea:focus,.listing-form select:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(184,138,69,.12); }
.form-error { margin:0; padding:12px 14px; background:#f7dfdb; color:#8b2f27; font-size:.78rem; }
.form-success { margin:0; padding:12px 14px; background:#dcebdd; color:#245c2a; font-size:.78rem; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); background:#eee8de; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:34px 28px; display:flex; flex-direction:column; background:#071529; color:white; }
.admin-sidebar .admin-logo { margin-bottom:60px; color:white; }
.admin-sidebar nav { display:grid; gap:6px; }
.admin-sidebar nav a { padding:13px 12px; border-left:2px solid transparent; color:rgba(255,255,255,.7); font-size:.82rem; }
.admin-sidebar nav a:hover { border-color:var(--gold); background:rgba(255,255,255,.05); color:white; }
.admin-sidebar>button { margin-top:auto; padding:12px; border:1px solid rgba(255,255,255,.2); background:transparent; color:white; cursor:pointer; }
.admin-sidebar>a:last-child { margin-top:auto; padding:12px; border:1px solid rgba(255,255,255,.2); color:white; text-align:center; font-size:.82rem; }
.admin-main { width:min(1120px,100%); padding:50px 55px 100px; }
.admin-main>header { display:flex; justify-content:space-between; align-items:end; margin-bottom:36px; }
.admin-main>header span { padding:9px 13px; background:#ded4c5; font-size:.75rem; }
.listing-form { display:grid; gap:22px; }
.listing-form>section { padding:32px; background:#f7f3eb; border:1px solid rgba(10,27,50,.09); }
.listing-form h2,.admin-list h2 { margin-bottom:26px; font-family:"Playfair Display",Georgia,serif; font-size:1.8rem; font-weight:500; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.form-grid .wide { grid-column:1/-1; }
.upload-box { min-height:145px; margin-bottom:22px; padding:28px; place-items:center; border:1px dashed var(--gold)!important; background:#eee5d7; text-align:center; cursor:pointer; }
.upload-box input { min-height:auto; padding:0; border:0; background:transparent; }
.upload-box small { color:var(--muted); font-weight:400; }
.publish-row { display:grid!important; grid-template-columns:220px 1fr auto; gap:24px; align-items:end; }
.check { display:flex!important; grid-auto-flow:column; justify-content:start; align-items:center; padding-bottom:14px; }
.check input { width:18px; min-height:18px; }
.form-actions { display:flex; gap:10px; align-items:center; }
.form-actions>button:not(.button),.row-actions button { padding:10px 13px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
.admin-list { padding-top:80px; }
.admin-empty { padding:45px; background:#e4dacb; color:var(--muted); text-align:center; }
.admin-table { display:grid; gap:10px; }
.admin-table article { display:grid; grid-template-columns:120px 1fr auto; gap:24px; align-items:center; padding:14px; background:#f7f3eb; border:1px solid rgba(10,27,50,.08); }
.admin-thumb { height:88px; display:grid; place-items:center; overflow:hidden; background:#ded4c5; color:var(--muted); font-size:.68rem; }
.admin-thumb img { width:100%; height:100%; object-fit:cover; }
.admin-table h3 { margin:8px 0 5px; font-family:Georgia,serif; font-size:1.15rem; font-weight:500; }
.admin-table p { margin:0; color:var(--muted); font-size:.76rem; }
.status { padding:5px 8px; background:#ded4c5; color:#4d5158; font-size:.62rem; text-transform:uppercase; }
.status-published { background:#d8e8d9; color:#23572a; }.status-sold,.status-rented { background:#e8dec7; color:#73531b; }
.row-actions { display:flex; gap:8px; }.row-actions .danger { border-color:#d5aaa4; color:#8b2f27; }

@media(max-width:800px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:20px;display:grid;grid-template-columns:1fr auto;align-items:center}.admin-sidebar .admin-logo{margin:0}.admin-sidebar nav{grid-column:1/-1;display:flex;overflow:auto;margin-top:18px}.admin-sidebar>button{grid-column:2;margin:0}.admin-main{padding:35px 18px 70px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.publish-row{grid-template-columns:1fr!important}.admin-table article{grid-template-columns:82px 1fr}.row-actions{grid-column:1/-1;justify-content:flex-end}.admin-auth-card{padding:36px 25px}}

@media (max-width:900px) {
  .wrap { width:min(100% - 42px,680px); } .section { padding-block:88px; }
  .site-header { height:78px; padding-inline:21px; } .site-header .brand img { width:43px; }
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu { position:relative; display:block; margin-left:auto; }
  .mobile-menu summary { width:42px; height:42px; display:flex; flex-direction:column; justify-content:center; gap:7px; cursor:pointer; list-style:none; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { display:block; width:25px; height:1px; margin-left:auto; background:var(--ink); }
  .mobile-menu nav { position:absolute; top:52px; right:0; width:230px; padding:12px; display:grid; background:var(--ink); box-shadow:0 20px 50px rgba(0,0,0,.3); }
  .mobile-menu nav a { padding:13px 12px; border-bottom:1px solid rgba(255,255,255,.12); color:#fff!important; font-size:.83rem; opacity:1; }
  .mobile-menu nav a:hover,.mobile-menu nav a:focus-visible { background:rgba(255,255,255,.1); color:#e1c08b!important; }
  .hero { min-height:720px; height:93vh; } .hero h1 { font-size:clamp(3.6rem,15vw,5.3rem); } .hero-copy { font-size:.95rem; } .hero-index { display:none; }
  .about,.why-grid,.contact-grid,.faq-grid { grid-template-columns:1fr; gap:58px; } .about-visual img { aspect-ratio:5/4; }
  .section-heading { align-items:start; flex-direction:column; margin-bottom:42px; } .service-grid { grid-template-columns:1fr; }
  .property-card { grid-template-columns:1fr; } .property-image { min-height:390px; } .property-info { padding:38px 28px; }
  .district-list { gap:12px 20px; } .district-list span:not(:last-child)::after { margin-left:20px; }
  .footer-inner { grid-template-columns:1fr; gap:15px; }
  .inner-header { height:76px; padding-inline:21px; } .inner-nav { display:none; } .inner-contact { margin-left:auto; min-height:40px; width:auto; padding-inline:14px; }
  .listings-hero { padding:80px 0; } .listings-hero h1 { font-size:clamp(3rem,12vw,4.8rem); }
  .listing-card { grid-template-columns:1fr; } .listing-image { min-height:380px; } .listing-copy { padding:38px 28px; }
  .listing-detail-heading,.listing-detail-grid { display:block; }
  .listing-detail-heading>strong { display:block; margin-top:20px; }
  .listing-detail-aside { margin-top:40px; }
  .listing-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .listings-empty-note { padding:45px 32px; }
}

@media (max-width:520px) {
  .wrap { width:calc(100% - 32px); } h2 { font-size:2.65rem; }
  .hero-image { background-position:62% center; } .hero-shade { background:linear-gradient(90deg,rgba(5,18,35,.82),rgba(5,18,35,.35)),linear-gradient(0deg,rgba(5,18,35,.45),transparent); }
  .hero-content { padding-top:40px; } .hero h1 { font-size:3.75rem; }
  .button-row { flex-direction:column; align-items:stretch; } .button { width:100%; }
  .service-card { min-height:auto; padding:29px 24px; } .service-card h3 { margin-top:28px; }
  .property-image { min-height:300px; } .contact-card { padding:30px 23px; }
  .inner-header .brand span { font-size:.78rem; } .inner-header .brand img { width:42px; }
  .inner-contact { font-size:.7rem; }
  .listings-content { padding-top:45px; } .listings-toolbar { align-items:flex-start; flex-direction:column; }
  .filter-chips { width:100%; } .filter-chips span { flex:1; text-align:center; }
  .listing-image { min-height:290px; } .listing-copy h2 { font-size:2.15rem; }
  .listing-detail-wrap { padding-block:30px 75px; }
  .listing-gallery { grid-template-columns:1fr; }
  .listing-gallery img:first-child { aspect-ratio:4/3; }
  .listing-detail-aside { padding:25px; }
  .listings-empty-note { margin-top:50px; padding:35px 24px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.admin-table form { margin:0; }
.admin-table .danger { padding:10px 13px; border:1px solid #d5aaa4; background:transparent; color:#8b2f27; cursor:pointer; }
.admin-notice { margin-bottom:22px; padding:14px 16px; background:#dcebdd; color:#245c2a; font-size:.82rem; }
.existing-media { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.existing-media img,.existing-media video { width:120px; height:90px; object-fit:cover; background:#ddd; }
