.page-header { padding:7.5rem 3.5rem 3rem; border-bottom:1px solid var(--border); }
.page-header-inner { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.5rem; }
.page-eyebrow { font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin-bottom:0.6rem; display:flex; align-items:center; gap:0.8rem; }
.page-eyebrow::before { content:''; display:block; width:2rem; height:1px; background:var(--accent); }
.page-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,4vw,3.8rem); font-weight:300; line-height:1.1; }
.results-count { font-size:0.82rem; color:var(--muted); letter-spacing:0.05em; }

.toolbar { display:flex; align-items:center; justify-content:space-between; padding:1.2rem 3.5rem; border-bottom:1px solid var(--border); gap:1rem; flex-wrap:wrap; background:var(--bg); position:sticky; top:64px; z-index:50; }
.filters { display:flex; gap:0.4rem; flex-wrap:wrap; align-items:center; }
.filter-label { font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--light); margin-right:0.4rem; }
.filter-btn { background:none; border:1px solid var(--border); padding:0.4rem 1rem; font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.filter-btn:hover { border-color:var(--ink); color:var(--ink); }
.filter-btn.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.toolbar-right { display:flex; align-items:center; gap:1rem; }
.sort-select { background:none; border:1px solid var(--border); padding:0.4rem 0.8rem; font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.08em; color:var(--ink); cursor:pointer; outline:none; }
.view-toggle { display:flex; }
.view-btn { background:none; border:1px solid var(--border); padding:0.4rem 0.6rem; cursor:pointer; color:var(--muted); transition:all 0.2s; font-size:0.85rem; }
.view-btn:first-child { border-right:none; }
.view-btn.active { background:var(--ink); color:#fff; border-color:var(--ink); }

.search-bar { padding:0.8rem 3.5rem; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:0.8rem; }
.search-input { flex:1; border:none; border-bottom:1px solid var(--border); padding:0.4rem 0; font-family:'Jost',sans-serif; font-size:0.9rem; color:var(--ink); background:none; outline:none; max-width:420px; }
.search-input::placeholder { color:var(--light); }
.search-input:focus { border-bottom-color:var(--accent); }
.search-clear { background:none; border:none; cursor:pointer; color:var(--light); font-size:0.85rem; display:none; }

.active-tags { padding:0.6rem 3.5rem; display:flex; gap:0.5rem; flex-wrap:wrap; }
.active-tags:empty { display:none; }
.tag { display:flex; align-items:center; gap:0.4rem; padding:0.25rem 0.75rem; background:var(--surface); font-size:0.72rem; letter-spacing:0.08em; color:var(--muted); }
.tag button { background:none; border:none; cursor:pointer; color:var(--light); font-size:0.9rem; line-height:1; padding:0; }

.gallery-wrap { padding:2.5rem 3.5rem 4rem; }
.grid-masonry { columns:3; column-gap:1.5rem; }
.grid-masonry .card { break-inside:avoid; margin-bottom:1.5rem; }
.grid-list { display:flex; flex-direction:column; gap:1px; background:var(--border); }
.grid-list .card { background:var(--bg); display:grid; grid-template-columns:200px 1fr auto; align-items:center; gap:2rem; padding:1.2rem 2rem; }
.grid-list .card-image { aspect-ratio:4/3; }
.grid-list .card-overlay { display:none !important; }
.grid-list .card-info { display:flex; flex-direction:column; gap:0.3rem; }
.grid-list .card-list-price { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--accent); }
.grid-list .card-list-btn { display:flex; flex-direction:column; gap:0.6rem; }

.card { cursor:pointer; }
.card-image { overflow:hidden; position:relative; background:#1e1a14; }
.card-image-inner { width:100%; height:100%; transition:transform 0.6s ease; display:flex; align-items:center; justify-content:center; min-height:200px; }
.card:hover .card-image-inner { transform:scale(1.04); }
.card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(26,23,20,0.88) 0%,rgba(26,23,20,0.1) 55%,transparent 100%); opacity:0; transition:opacity 0.35s; display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem; }
.card:hover .card-overlay { opacity:1; }
.card-title { font-family:'Cormorant Garamond',serif; font-size:1.25rem; color:#fff; margin-bottom:0.2rem; }
.card-meta { font-size:0.72rem; color:rgba(255,255,255,0.55); letter-spacing:0.07em; margin-bottom:0.8rem; }
.card-price { font-size:0.85rem; color:var(--accent-light); margin-bottom:0.8rem; }
.card-actions { display:flex; gap:0.5rem; }
.btn-card { padding:0.5rem 1rem; border:none; font-family:'Jost',sans-serif; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.2s; }
.btn-card-primary { background:#fff; color:var(--ink); }
.btn-card-primary:hover { background:var(--accent-light); }
.btn-card-ghost { background:rgba(255,255,255,0.15); color:#fff; border:1px solid rgba(255,255,255,0.3); }
.btn-card-ghost:hover { background:rgba(255,255,255,0.25); }
.card-info { padding:0.9rem 0 0; }
.card-info-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; margin-bottom:0.2rem; color:var(--ink); }
.card-info-sub { font-size:0.75rem; color:var(--muted); letter-spacing:0.05em; }
.card-info-price { font-size:0.9rem; color:var(--accent); margin-top:0.3rem; }
.sold-badge { position:absolute; top:0.8rem; left:0.8rem; background:var(--ink); color:#fff; font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; padding:3px 8px; }
.new-badge { position:absolute; top:0.8rem; right:0.8rem; background:var(--accent); color:#fff; font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; padding:3px 8px; }

.p1 { background:linear-gradient(135deg,#3d4a2a,#1e2d14,#4a5c30); }
.p2 { background:linear-gradient(135deg,#4a3520,#2a1e0e,#5c4025); }
.p3 { background:linear-gradient(135deg,#1e2a3d,#0e1820,#253548); }
.p4 { background:linear-gradient(135deg,#3d2a1e,#1e140e,#4d3525); }
.p5 { background:linear-gradient(135deg,#2a3d1e,#1a2a14,#3a501e); }
.p6 { background:linear-gradient(135deg,#3d3520,#201c0e,#4d4525); }
.p7 { background:linear-gradient(135deg,#2a1e3d,#18102e,#362a4d); }
.p8 { background:linear-gradient(135deg,#3d2020,#2a1414,#4d2a2a); }
.p9 { background:linear-gradient(135deg,#1e3d35,#0e2820,#253d38); }

.pagination { display:flex; align-items:center; justify-content:center; gap:0.3rem; padding:1rem 0 3rem; }
.page-num { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); background:none; font-family:'Jost',sans-serif; font-size:0.82rem; color:var(--muted); cursor:pointer; transition:all 0.2s; }
.page-num:hover { border-color:var(--ink); color:var(--ink); }
.page-num.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.page-ellipsis { font-size:0.82rem; color:var(--light); padding:0 0.3rem; }
.page-prev, .page-next { border:1px solid var(--border); background:none; font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); cursor:pointer; padding:0 1rem; height:36px; transition:all 0.2s; }
.page-prev:hover, .page-next:hover { border-color:var(--ink); color:var(--ink); }
.page-prev:disabled, .page-next:disabled { opacity:0.3; cursor:default; }

.empty-state { text-align:center; padding:5rem 2rem; display:none; }
.empty-state.show { display:block; }
.empty-state p { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300; color:var(--light); margin-bottom:1rem; }
.empty-state button { background:none; border:1px solid var(--border); padding:0.6rem 1.5rem; font-family:'Jost',sans-serif; font-size:0.76rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); cursor:pointer; }

@media (max-width:900px) {
  .page-header, .toolbar, .search-bar, .active-tags, .gallery-wrap { padding-left:1.2rem; padding-right:1.2rem; }
  .grid-masonry { columns:2; }
  .grid-list .card { grid-template-columns:120px 1fr; }
  .grid-list .card-list-btn { display:none; }
}
@media (max-width:560px) {
  .grid-masonry { columns:1; }
  .toolbar { flex-direction:column; align-items:flex-start; gap:0.8rem; }
}
