/* ── 3D ACCENTS (amendment 2026-07-15) ── */
.tilt{transition:transform .5s cubic-bezier(.16,1,.3,1);will-change:transform;}

.photo-stack{position:relative;}
.photo-stack::before,.photo-stack::after{content:'';position:absolute;inset:0;border:1px solid var(--line-strong);
  background:var(--paper-2);z-index:-1;}
.photo-stack::before{transform:rotate(-3deg) translate(12px,10px);}
.photo-stack::after{transform:rotate(2deg) translate(-10px,12px);}

.stamp{position:relative;width:128px;height:128px;flex-shrink:0;}
.stamp svg{width:100%;height:100%;animation:stamp-spin 22s linear infinite;}
.stamp-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;pointer-events:none;}
.stamp-center b{font-family:var(--f-display);font-size:1.6rem;font-weight:700;color:var(--rust);line-height:1;}
.stamp-center span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:2px;}
@keyframes stamp-spin{to{transform:rotate(360deg);}}

/* ── STAT ROW ── */
.stat-row{display:flex;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);}
.stat{flex:1;padding:22px 26px;border-right:1px solid var(--line-strong);}
.stat:last-child{border-right:none;}
.stat b{font-family:var(--f-display);font-size:2.1rem;font-weight:600;display:block;}
.stat span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}

/* ── BENTO LISTING GRID ── */
.section-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;}
.section-label a{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;
  border-bottom:1px solid var(--ink);color:var(--ink);}
.section-label a:hover{color:var(--rust);border-color:var(--rust);}

.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);}
.bento .p-card.big{grid-column:span 3;grid-row:span 2;}

/* ── STANDARD GRID (search results) ── */
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);}

/* ── PROPERTY CARD ── */
.p-card{background:var(--paper);display:flex;flex-direction:column;text-decoration:none;color:var(--ink);position:relative;}
.p-card .photo{aspect-ratio:4/3;background:linear-gradient(160deg,#D8CBB4,#B99B78);position:relative;overflow:hidden;}
.p-card .photo img{width:100%;height:100%;object-fit:cover;}
.p-card.big .photo{aspect-ratio:auto;height:100%;position:absolute;inset:0;}
.p-card .badge{position:absolute;top:12px;left:12px;}
.p-card .fav{position:absolute;top:12px;right:12px;width:32px;height:32px;background:var(--paper);
  border:1px solid var(--line-strong);display:grid;place-items:center;cursor:pointer;}
.p-card .body{padding:18px;display:flex;flex-direction:column;gap:6px;}
.p-card.big .body{position:relative;z-index:1;margin-top:auto;color:var(--paper);
  background:linear-gradient(0deg,rgba(24,21,16,.86),transparent 75%);}
.p-card .area{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.p-card.big .area{color:rgba(247,242,233,.75);}
.p-card .title{font-size:var(--fs-sm);font-weight:600;}
.p-card .price{font-family:var(--f-display);font-size:1.5rem;font-weight:600;color:var(--price-color);}
.p-card.big .price{color:var(--paper);}
.p-card .meta{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.p-card.big .meta{color:rgba(247,242,233,.7);}
.p-card:hover .photo img{transform:scale(1.04);}
.p-card .photo img{transition:transform .5s ease;}

/* ── AIM TABS (Ενοικιάσεις / Πωλήσεις) ── */
.aim-tabs{display:flex;width:max-content;border:1px solid var(--ink);margin-bottom:22px;}
.aim-tab{font-family:inherit;font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;
  padding:12px 26px;border:none;border-right:1px solid var(--ink);background:var(--paper);color:var(--ink);
  cursor:pointer;transition:var(--t);}
.aim-tab:last-child{border-right:none;}
.aim-tab:hover{background:var(--line);}
.aim-tab.active{background:var(--ink);color:var(--paper);}

/* ── FILTER BAR / DRAWER ── */
.filter-bar{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);margin-bottom:0;}
.filter-field{flex:1;min-width:150px;background:var(--filter-bg);padding:12px 16px;}
.filter-field label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;}
.filter-field select,.filter-field input{width:100%;border:none;background:transparent;font-family:inherit;font-size:var(--fs-sm);color:var(--ink);padding:0;}
.filter-field select:focus,.filter-field input:focus{outline:none;}
.filter-submit{background:var(--ink);color:var(--paper);border:none;padding:0 28px;font-weight:600;
  font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:var(--t);}
.filter-submit:hover{background:var(--rust);}
.filter-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:var(--fs-sm);color:var(--muted);}
.filter-toolbar select{border:1px solid var(--line-strong);background:var(--paper);padding:8px 12px;font-family:inherit;font-size:var(--fs-sm);}
.filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);padding:5px 10px 5px 12px;font-size:var(--fs-xs);margin:0 8px 8px 0;}
.filter-chip button{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:var(--muted);}

/* ── PAGINATION ── */
.pagination{display:flex;justify-content:center;gap:2px;margin-top:2.5rem;}
.pagination a,.pagination span{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-strong);
  text-decoration:none;color:var(--ink);font-size:var(--fs-sm);}
.pagination a:hover{background:var(--ink);color:var(--paper);}
.pagination .current{background:var(--rust);border-color:var(--rust);color:var(--paper);}

/* ── MAP CHROME (real Leaflet/OpenStreetMap map, see js/map.js) ── */
.map-shell{position:relative;border:1px solid var(--line-strong);background:#EFE8D9;height:420px;overflow:hidden;}
.map-shell .leaflet-container{background:#EFE8D9;font-family:var(--f-body);}
/* Editorial-style popup to match Direction A instead of Leaflet's default rounded/shadowed look */
.map-shell .leaflet-popup-content-wrapper{border-radius:0;border:1px solid var(--line-strong);box-shadow:none;}
.map-shell .leaflet-popup-tip{border:1px solid var(--line-strong);box-shadow:none;}
.map-shell .leaflet-popup-content{margin:10px 14px;font-size:var(--fs-sm);}
.map-shell .leaflet-popup-content b{font-family:var(--f-display);font-size:1.1rem;}
.map-toggle{position:absolute;top:14px;right:14px;background:var(--ink);color:var(--paper);border:none;
  padding:9px 16px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;z-index:1000;}

/* ── GALLERY (single property) ── */
.gallery{display:grid;grid-template-columns:2fr 1fr;gap:2px;background:var(--line-strong);border:1px solid var(--line-strong);}
.gallery .main-photo{aspect-ratio:4/3;background:linear-gradient(160deg,#D8CBB4,#B99B78);}
.gallery .sub-photos{display:grid;grid-template-rows:1fr 1fr;gap:2px;}
.gallery .sub-photos div{background:linear-gradient(160deg,#CBBBA0,#8F7455);}
.gallery img{width:100%;height:100%;object-fit:cover;}

/* ── DETAIL TABLE (single property) ── */
.detail-table{width:100%;border-collapse:collapse;}
.detail-table tr{border-bottom:1px solid var(--line);}
.detail-table td{padding:12px 0;font-size:var(--fs-sm);}
.detail-table td:first-child{color:var(--muted);}
.detail-table td:last-child{text-align:right;font-weight:600;}

/* ── FAQ ── */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line-strong);}
.faq-item{border-bottom:1px solid var(--line-strong);}
.faq-q{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;
  cursor:pointer;text-align:left;padding:20px 0;font-family:var(--f-display);font-size:1.1rem;font-weight:600;color:var(--ink);}
.faq-icon{font-size:20px;color:var(--rust);flex-shrink:0;transition:transform .3s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1);}
.faq-a-inner{padding:0 0 22px;font-size:var(--fs-body);color:var(--muted);line-height:1.7;max-width:640px;}

/* ── RESPONSIVE SPLIT/GRID HELPERS (so inline layouts also collapse on mobile) ── */
.split-2{display:grid;grid-template-columns:1.3fr 1fr;gap:0;}
.split-2.even{grid-template-columns:1fr 1fr;}
.split-2.wide{grid-template-columns:1.6fr 1fr;}
.grid-cards.cols-2{grid-template-columns:1fr 1fr;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .bento{grid-template-columns:1fr 1fr;}
  .bento .p-card.big{grid-column:span 2;}
  .grid-cards{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:1fr;}
  .stat-row{flex-wrap:wrap;}
  .stat{flex:1 1 50%;border-bottom:1px solid var(--line-strong);}
  .split-2,.split-2.even,.split-2.wide{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .bento{grid-template-columns:1fr;}
  .bento .p-card.big{grid-column:span 1;}
  .grid-cards,.grid-cards.cols-2{grid-template-columns:1fr;}
  .filter-bar{flex-direction:column;}
  .aim-tabs{width:100%;}
  .aim-tab{flex:1;padding:12px 10px;}
}
