
/* === List.cshtml === */
:root{
  --sl-gold:var(--ah-color-primary);--sl-gold-lt:var(--ah-color-primary-lt);--sl-gold-dk:var(--ah-color-primary-dk);
  --sl-dark:#111010;--sl-dark-mid:#2A2825;
  --sl-mid:#6B6560;--sl-light:#A8A29E;
  --sl-cream:#FAFAF8;--sl-cream-w:#F5F1EA;
  --sl-border:#E9E4DC;
  --sl-success:#4A7C59;
  --sl-r-sm:4px;--sl-r-md:8px;--sl-r-lg:16px;
  --sl-sh-md:0 4px 20px rgba(17,16,16,.10);
}
.sl-hero{background:var(--sl-dark);padding:72px 32px 56px;position:relative;overflow:hidden}
.sl-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(30,45,79,.03) 80px,rgba(30,45,79,.03) 81px)}
.sl-hero-inner{max-width:1300px;margin:0 auto;position:relative;z-index:1}
.sl-hero-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sl-gold-lt);margin-bottom:14px}
.sl-hero-title{font-family:var(--ah-font-serif);font-size:clamp(28px,4vw,48px);font-weight:700;color:#fff;line-height:1.2;margin-bottom:10px}
.sl-hero-title em{font-style:italic;color:var(--sl-gold-lt)}
.sl-hero-sub{font-size:14.5px;color:rgba(255,255,255,.45);max-width:500px;line-height:1.7}
.sl-main{max-width:1300px;margin:0 auto;padding:56px 32px}
.sl-section-kicker{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sl-gold);margin-bottom:12px}
.sl-section-title{font-family:var(--ah-font-serif);font-size:26px;font-weight:700;color:var(--sl-dark);margin-bottom:32px}
.sl-section-title em{font-style:italic;color:var(--sl-gold-dk)}
.sl-divider{height:1px;background:var(--sl-border);margin:56px 0}
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ex-card{background:#fff;border:1px solid var(--sl-border);border-radius:var(--sl-r-md);overflow:hidden;transition:all .22s cubic-bezier(.4,0,.2,1)}
.ex-card:hover{box-shadow:var(--sl-sh-md);transform:translateY(-3px)}
.ex-card-img{height:220px;background:linear-gradient(135deg,#2a2420,#111010);overflow:hidden;position:relative}
.ex-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ex-card:hover .ex-card-img img{transform:scale(1.04)}
.ex-card-status{position:absolute;top:12px;left:12px;padding:4px 12px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
.ex-card-status.active{background:var(--wa-status-live);color:#fff}
.ex-card-status.upcoming{background:var(--wa-status-upcoming);color:#fff}
.ex-card-status.closed{background:var(--wa-status-closed);color:#fff}
.ex-card-body{padding:20px}
.ec-location{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sl-gold-dk);margin-bottom:8px}
.ec-title{font-family:var(--ah-font-serif);font-size:18px;font-weight:700;color:var(--sl-dark);margin-bottom:8px;line-height:1.3}
.ec-desc{font-size:13.5px;color:var(--sl-mid);line-height:1.6;margin-bottom:12px}
.ec-dates{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sl-light)}
.ec-dates i{font-size:11px;color:var(--sl-gold-dk)}
.ec-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--sl-border);background:var(--sl-cream-w)}
.ec-artworks{font-size:12.5px;color:var(--sl-mid)}
.ec-artworks span{font-weight:700;color:var(--sl-dark)}
.ec-link{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--sl-dark);transition:color .2s}
.ec-link:hover{color:var(--sl-gold-dk)}
.sl-empty{text-align:center;padding:48px 20px;color:var(--sl-mid)}
.sl-empty i{font-size:40px;color:var(--sl-border);display:block;margin-bottom:16px}
@media(max-width:1024px){.ex-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ex-grid{grid-template-columns:1fr}.sl-main{padding:40px 20px}.sl-hero{padding:56px 20px}}


/* === Details.cshtml === */
:root{
  --s-gold:var(--ah-color-primary);--s-gold-lt:var(--ah-color-primary-lt);--s-gold-dk:var(--ah-color-primary-dk);
  --s-dark:#111010;--s-dark-mid:#2A2825;
  --s-mid:#6B6560;--s-light:#A8A29E;
  --s-cream:#FAFAF8;--s-cream-w:#F5F1EA;
  --s-border:#E9E4DC;--s-border-dk:#D4CEC4;
  --s-white:#FFFFFF;--s-success:#4A7C59;
  --s-r-sm:4px;--s-r-md:8px;--s-r-lg:16px;
  --s-sh-md:0 4px 16px rgba(17,16,16,.08);--s-sh-lg:0 12px 40px rgba(17,16,16,.12);
  --s-tr:0.26s cubic-bezier(.4,0,.2,1);
}
/* Hero */
.sergi-hero{position:relative;height:580px;overflow:hidden;background:var(--s-dark)}
.sergi-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 8s ease}
.sergi-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(17,16,16,.85) 40%,rgba(17,16,16,.3) 100%)}
.sergi-hero-bg.loaded{transform:scale(1)}
.sergi-hero-inner{position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:0 40px 64px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.sh-tag{display:inline-flex;align-items:center;gap:8px;background:var(--s-gold);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 14px;border-radius:2px;margin-bottom:20px;width:fit-content}
.sh-tag.active{background:var(--s-success)}
.sh-tag.upcoming{background:var(--s-gold-dk)}
.sh-gallery-name{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--s-gold-lt);margin-bottom:12px}
.sh-title{font-family:var(--ah-font-serif);font-size:clamp(30px,5vw,58px);font-weight:700;color:#fff;line-height:1.1;margin-bottom:10px}
.sh-title em{font-style:italic;color:var(--s-gold-lt)}
.sh-subtitle{font-family:var(--ah-font-serif);font-style:italic;font-size:17px;color:rgba(255,255,255,.65);margin-bottom:28px}
.sh-meta{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.sh-meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.7)}
.sh-meta-item i{color:var(--s-gold-lt);font-size:12px}
.sh-meta-sep{width:1px;height:16px;background:rgba(255,255,255,.2)}
.sh-status{display:inline-flex;align-items:center;gap:6px;background:rgba(74,124,89,.25);border:1px solid rgba(74,124,89,.6);color:#7EC89A;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:20px}
.sh-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#7EC89A;animation:shPulse 2s infinite}
@keyframes shPulse{0%,100%{opacity:1}50%{opacity:.4}}
/* Info bar */
.sergi-info-bar{background:#fff;border-bottom:2px solid var(--s-border)}
.sergi-info-inner{max-width:1320px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(5,1fr)}
.info-cell{padding:24px 28px;border-right:1px solid var(--s-border);transition:background var(--s-tr)}
.info-cell:last-child{border-right:none}
.info-cell:hover{background:var(--s-cream-w)}
.ic-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--s-light);margin-bottom:6px}
.ic-value{font-family:var(--ah-font-serif);font-size:15px;font-weight:600;color:var(--s-dark);line-height:1.3}
.ic-sub{font-size:11.5px;color:var(--s-mid);margin-top:2px}
/* Main */
.s-main-wrap{max-width:1320px;margin:0 auto;padding:0 40px}
/* Curator section */
.curator-section{padding:80px 0 72px;border-bottom:1px solid var(--s-border)}
.curator-grid{display:grid;grid-template-columns:1fr 380px;gap:72px;align-items:start}
.curator-kicker{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--s-gold);margin-bottom:16px}
.curator-statement{font-family:var(--ah-font-serif);font-size:21px;line-height:1.65;color:var(--s-dark);margin-bottom:24px}
.curator-body{font-size:15px;line-height:1.8;color:var(--s-mid)}
.curator-pullquote{position:relative;padding:32px 36px;background:var(--s-dark);border-radius:var(--s-r-md);margin-top:32px;overflow:hidden}
.curator-pullquote::before{content:'\201C';position:absolute;top:-10px;left:20px;font-family:var(--ah-font-serif);font-size:120px;color:rgba(30,45,79,.15);line-height:1}
.curator-pullquote p{font-family:var(--ah-font-serif);font-style:italic;font-size:17px;line-height:1.6;color:rgba(255,255,255,.9);position:relative;z-index:1}
.curator-pullquote cite{display:block;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--s-gold-lt);font-style:normal}
.curator-card{background:#fff;border:1px solid var(--s-border);border-radius:var(--s-r-lg);overflow:hidden;box-shadow:var(--s-sh-md);position:sticky;top:88px}
.curator-card-img{height:240px;background:linear-gradient(135deg,var(--s-dark-mid),var(--s-dark));position:relative;overflow:hidden}
.curator-card-img img{width:100%;height:100%;object-fit:cover;opacity:.85}
.curator-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(17,16,16,.7),transparent 60%)}
.curator-card-body{padding:24px}
.curator-card-role{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--s-gold);margin-bottom:6px}
.curator-card-name{font-family:var(--ah-font-serif);font-size:19px;font-weight:700;color:var(--s-dark);margin-bottom:8px}
.curator-card-bio{font-size:13.5px;line-height:1.65;color:var(--s-mid)}
/* Artworks section */
.artworks-section{padding:72px 0;border-bottom:1px solid var(--s-border)}
.s-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px}
.s-section-kicker{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--s-gold);margin-bottom:8px}
.s-section-title{font-family:var(--ah-font-serif);font-size:28px;font-weight:700;color:var(--s-dark);line-height:1.2}
.s-section-title em{font-style:italic;color:var(--s-gold-dk)}
.s-link{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--s-gold-dk);transition:color var(--s-tr);flex-shrink:0;margin-bottom:4px}
.s-link:hover{color:var(--s-gold)}
.artworks-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.aft{padding:8px 20px;border:1.5px solid var(--s-border);border-radius:24px;font-size:13px;font-weight:500;color:var(--s-mid);cursor:pointer;transition:all .2s;background:none}
.aft.active,.aft:hover{background:var(--s-dark);border-color:var(--s-dark);color:#fff}
.artworks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* Artists */
.artists-section{padding:72px 0;border-bottom:1px solid var(--s-border)}
.artists-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -40px;padding:0 40px}
.artists-scroll-wrap::-webkit-scrollbar{display:none}
.artists-scroll{display:flex;gap:20px;width:max-content}
.ex-artist-card{width:220px;background:#fff;border:1px solid var(--s-border);border-radius:var(--s-r-md);overflow:hidden;flex-shrink:0;transition:all .22s var(--s-tr)}
.ex-artist-card:hover{box-shadow:var(--s-sh-md);transform:translateY(-2px)}
.ex-artist-img{height:160px;background:linear-gradient(135deg,var(--s-dark-mid),var(--s-dark));overflow:hidden}
.ex-artist-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ex-artist-card:hover .ex-artist-img img{transform:scale(1.04)}
.ex-artist-body{padding:16px}
.ex-artist-name{font-family:var(--ah-font-serif);font-size:15px;font-weight:700;color:var(--s-dark);margin-bottom:4px}
.ex-artist-meta{font-size:12px;color:var(--s-light)}
.ex-artist-link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--s-gold-dk);margin-top:10px;transition:color .2s}
.ex-artist-link:hover{color:var(--s-gold)}
/* Visitor info */
.visitor-section{padding:72px 0;border-bottom:1px solid var(--s-border)}
.visitor-grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.visitor-sidebar-card{background:#fff;border:1px solid var(--s-border);border-radius:var(--s-r-md);overflow:hidden;margin-bottom:16px}
.vsc-header{padding:16px 20px;border-bottom:1px solid var(--s-border)}
.vsc-title{font-family:var(--ah-font-serif);font-size:16px;font-weight:700;color:var(--s-dark)}
.vsc-sub{font-size:12.5px;color:var(--s-light);margin-top:2px}
.vsc-body{padding:16px 20px}
.vsc-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--s-border);font-size:13.5px}
.vsc-row:last-child{border-bottom:none}
.vsc-label{color:var(--s-mid)}
.vsc-value{font-weight:600;color:var(--s-dark)}
.vsc-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:var(--s-gold);color:#fff;border-radius:var(--s-r-sm);font-size:13.5px;font-weight:700;margin:16px 20px;width:calc(100% - 40px);transition:background .2s;border:none;cursor:pointer;font-family:inherit}
.vsc-cta:hover{background:var(--s-gold-dk)}
.map-placeholder{height:160px;background:linear-gradient(135deg,#e8e4dc,#f0ebe0);border-bottom:1px solid var(--s-border);display:flex;align-items:center;justify-content:center;position:relative}
.map-pin{width:40px;height:40px;background:var(--s-gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center}
.map-pin::after{content:'';width:16px;height:16px;background:#fff;border-radius:50%;transform:rotate(45deg)}
/* Related */
.related-section{padding:72px 0}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.related-card{background:#fff;border:1px solid var(--s-border);border-radius:var(--s-r-md);overflow:hidden;transition:all .22s var(--s-tr)}
.related-card:hover{box-shadow:var(--s-sh-md);transform:translateY(-2px)}
.related-card-img{height:200px;background:linear-gradient(135deg,var(--s-dark-mid),var(--s-dark));overflow:hidden}
.related-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.related-card:hover .related-card-img img{transform:scale(1.04)}
.related-card-body{padding:20px}
.rc-location{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--s-gold-dk);margin-bottom:8px}
.rc-title{font-family:var(--ah-font-serif);font-size:18px;font-weight:700;color:var(--s-dark);margin-bottom:6px}
.rc-dates{font-size:13px;color:var(--s-light)}
@media(max-width:1100px){.curator-grid,.visitor-grid{grid-template-columns:1fr}.artworks-grid{grid-template-columns:repeat(2,1fr)}.sergi-info-inner{grid-template-columns:repeat(3,1fr)}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.sergi-hero{height:420px}.sergi-hero-inner{padding:0 20px 40px}.s-main-wrap{padding:0 20px}.artworks-grid{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:1fr}.sergi-info-inner{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.sergi-hero{height:360px}.artworks-grid{grid-template-columns:1fr}}

