/* Zelvique / Violet Atelier — v5 public visual refresh.
   Layered on top of the original styles, preserving image, download, social and theme logic. */
:root {
  --paper:#faf8fd; --white:#ffffff; --ink:#231b30;
  --muted:#7f758e; --line:#ece5f2;
  --teal:#743dc5; --teal-dark:#5c2aa8;
  --mint:#f1e8fb; --radius:17px;
  --accent-wine:#a53872;
  --shadow:0 12px 35px rgba(59,25,85,.085);
  color-scheme:light;
}
body {
  background: radial-gradient(ellipse 580px 420px at 91% 180px,rgba(181,126,222,.12),transparent 77%),
              radial-gradient(ellipse 600px 420px at 5% 570px,rgba(163,56,114,.045),transparent 76%), var(--paper);
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {outline-color:#a37be0}
.container{width:min(calc(100% - 72px),1570px)}
.site-header{background:rgba(255,253,255,.89);border-bottom:1px solid rgba(116,61,197,.09);box-shadow:0 7px 24px #41196d06}
.header-inner{max-width:1710px;height:73px;gap:30px}
.brand{letter-spacing:-1.35px;font-size:23px}
.brand-mark{background:linear-gradient(145deg,#693dc5,#a63873);border-radius:12px;box-shadow:0 5px 14px #753dc527}
.brand-mark svg circle{fill:#f8c9e4}
.brand-period,.footer-brand span{color:var(--accent-wine)}
.desktop-nav{gap:25px}
.nav-link{color:#82788b;font-weight:750}
.nav-link.active{color:var(--teal)}
.nav-link:hover{color:var(--accent-wine)}
.header-search-field{background:#f6f1fa;border-color:#efe5f5;border-radius:13px}
.header-search-field:focus-within{border-color:#b394e0;background:#fff;box-shadow:0 0 0 4px #c7a2e42d}
.header-search-field input{color:var(--ink)}
.header-search-field kbd{background:#fff;color:#8d759e;border-color:#ebdbf0}
.theme-toggle{border-color:#e9deee;border-radius:12px}
.theme-toggle:hover{border-color:#ad7dd1;background:#f4eafb}
.support-link{border:1px solid #ead7e4;background:#fbecf4;color:#8d2f62;border-radius:12px}
.support-link:hover{background:#f6ddeb;border-color:#d9b4cd}
.intro{padding-top:43px;padding-bottom:34px}
.eyebrow{color:#873b8f;letter-spacing:.16em}
.tiny-dot,.gallery-lead-dot{background:#ad3e88;box-shadow:0 0 0 4px #ad3e881c}
.intro h1{font-size:clamp(29px,3.5vw,45px);letter-spacing:-2.2px;line-height:1.15;margin:14px 0 13px}
.intro h1 span{background:linear-gradient(110deg,#713fca 10%,#a43270 95%);background-clip:text;-webkit-background-clip:text;color:transparent}
.intro p{max-width:690px;font-size:13px;line-height:1.75}
.intro-side{color:#8f819f;gap:14px}
.intro-star{color:#b073d4;display:inline-block}
.filter-bar{min-height:75px}
.filter-pill{border:1px solid #eae0f0;background:#fff;color:#6f627b;border-radius:12px;padding:11px 16px;transition:background .25s,border-color .25s,color .25s,transform .25s,box-shadow .25s}
.filter-pill:hover{border-color:#b797da;color:var(--teal);transform:translateY(-1px)}
.filter-pill.active{background:linear-gradient(122deg,#773dc9,#963c8a);color:#fff;border-color:transparent;box-shadow:0 5px 15px #7c44b82e}
.toolbar-right #resultCount,.gallery-lead>span:last-child{color:#93889e}
.sort-wrap select{color:#564665}
.gallery-lead{padding:22px 0 24px}
.gallery-lead>span:first-child{letter-spacing:.015em}
/* The original Pinterest masonry layout, simply with smaller image previews.
   NO square boxes, crop ratios, enclosing card surfaces, or persistent social UI. */
.wallpaper-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
  gap:15px;
  min-height:120px;
}
.wallpaper-column{display:flex;min-width:0;flex-direction:column;gap:17px}
.wallpaper-card {
  position:relative;
  display:block;
  width:100%;
  margin:0 0 17px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  animation:none;
}
.wallpaper-card:hover {transform:none;box-shadow:none;border:0}
.wallpaper-card-link {display:block;min-width:0}
.wallpaper-card-image-wrap {
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:12px;
  background:#eee8f2;
  aspect-ratio:auto;
  isolation:auto;
}
.wallpaper-card-image {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  min-height:0;
  object-fit:contain;
  opacity:0;
  transition:opacity .2s ease;
}
.wallpaper-card-image-wrap.image-ready .wallpaper-card-image{opacity:1}
.wallpaper-card:hover .wallpaper-card-image {transform:none;filter:none}
.wallpaper-card .card-category{left:9px;bottom:9px;background:#251a31bb;border-color:#ffffff22;backdrop-filter:none}
.card-download{top:10px;right:10px;background:#fff;color:#6b359d;box-shadow:0 3px 12px #200e2d35}
.card-download:hover{background:var(--teal);color:#fff}
.wallpaper-card-info{padding:8px 2px 0}
.wallpaper-card-title{font-size:11.5px;color:var(--ink)}
.wallpaper-card-kind{color:#988ba4}
.wallpaper-card-image-wrap.image-error{background:#f0e9f4;min-height:100px}
.wallpaper-card-image-wrap.image-error::after{content:'Preview unavailable';position:absolute;inset:0;display:grid;place-items:center;color:#8e7b9b;font-size:11px}
.wallpaper-card-image-wrap.image-error .wallpaper-card-image{visibility:hidden}
.action-heart.is-liked{color:#b53072}
.action-heart.is-liked svg{stroke:#b53072;fill:#b5307222}
.action-heart.is-liked:hover{background:#b5307211;border-color:#b5307233}
.gallery-more{flex-direction:column;align-items:center;gap:13px;padding:27px 0 35px}
.gallery-status{margin:0;font-size:11px;line-height:1.6;color:#998ca6;text-align:center;letter-spacing:.01em}
.outline-button{border-color:#e5d7ed;background:var(--white);box-shadow:0 3px 14px #512b6c0b}
.outline-button:hover{background:#f7effb;border-color:#ac83d5}
.gallery-sentinel{height:24px;display:flex;gap:6px;align-items:center;justify-content:center;width:120px;margin:2px auto 0}
.gallery-sentinel span{display:block;width:5px;height:5px;background:#a86ccc;border-radius:50%;animation:none}
.gallery-sentinel span:nth-child(2){animation-delay:.16s}
.gallery-sentinel span:nth-child(3){animation-delay:.32s}
.empty-icon,.micro-icon,.donation-icon{background:#f1e6f7;color:#7e43c2}
.micro-banner{margin-top:18px;padding:23px 0;border-color:#eadfeb}
.micro-banner p{color:var(--muted)}
.micro-banner a{color:#a13173}
.site-footer{background:#fffafd;border-color:#eae0ed}
.footer-inner{color:#988ba2}
.footer-inner div{color:#70627e}
.detail-panel{background:var(--white);border-color:var(--line);box-shadow:var(--shadow)}
.detail-image-wrap{background:#f3edf8}
.detail-download{background:linear-gradient(110deg,#7740c9,#933b8f);border-color:transparent}
.detail-download:hover{background:linear-gradient(110deg,#652bad,#822d80)}
.detail-tag{background:#f3edfa;color:#79658e}
.detail-social .social-action{border-color:#eadff1}
.donation-overlay{background:#1d0a2b99}
.donation-dialog{box-shadow:0 30px 100px #27132b5e}
.donation-support{background:linear-gradient(110deg,#753ec9,#963c89)}
.social-toast{background:#3c1f53;color:#fff}
/* A restrained intro motion; gallery thumbnails fade in only as decoded. */
@keyframes zel-intro{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.intro>div:first-child{animation:zel-intro .3s ease both}
.intro-star{animation:none}
/* Dark mode: deep ink-plum with wine and violet accents. */
html[data-theme="dark"]{color-scheme:dark;--paper:#120f1a;--white:#211a2c;--ink:#f7effb;--muted:#b4a5c2;--line:#392b49;--teal:#c29aff;--teal-dark:#d2b5ff;--mint:#342442;--shadow:0 14px 40px #0004;--accent-wine:#e093bc}
html[data-theme="dark"] body{background:radial-gradient(ellipse 650px 420px at 91% 150px,#62397922,transparent 80%),#120f1a}
html[data-theme="dark"] .site-header{background:#1b1526ea;border-color:#392b49}
html[data-theme="dark"] .brand-mark{color:#fff}
html[data-theme="dark"] .brand-period,html[data-theme="dark"] .footer-brand span{color:#e093bc}
html[data-theme="dark"] .nav-link{color:#ae9ebd}
html[data-theme="dark"] .nav-link:hover,html[data-theme="dark"] .nav-link.active{color:#e6ceff}
html[data-theme="dark"] .header-search-field{background:#291f35;border-color:#3b2c48}
html[data-theme="dark"] .header-search-field:focus-within{background:#2a1f37;border-color:#a477dd;box-shadow:0 0 0 3px #a477dd31}
html[data-theme="dark"] .header-search-field svg{color:#c3afd1}
html[data-theme="dark"] .header-search-field input::placeholder{color:#aa9abb}
html[data-theme="dark"] .header-search-field kbd{background:#352740;color:#c6afd5;border-color:#493554}
html[data-theme="dark"] .theme-toggle{background:#282035;border-color:#473354}
html[data-theme="dark"] .theme-toggle:hover{background:#392646}
html[data-theme="dark"] .support-link{background:#392336;border-color:#63314e;color:#f1acd2}
html[data-theme="dark"] .support-link:hover{background:#50304a}
html[data-theme="dark"] .eyebrow{color:#dcaddd}
html[data-theme="dark"] .intro h1 span{background-image:linear-gradient(105deg,#c5a2ff,#f0a7c9)}
html[data-theme="dark"] .intro-side{color:#aa9bb6}
html[data-theme="dark"] .intro-star{color:#aa6bc0}
html[data-theme="dark"] .filter-pill{background:#251c30;color:#c3b1d0;border-color:#46334f}
html[data-theme="dark"] .filter-pill.active{background:linear-gradient(112deg,#6d3bad,#9d3975);border-color:transparent;color:#fff}
html[data-theme="dark"] .filter-pill:hover:not(.active){background:#30223d;color:#eedcfa;border-color:#8554b6}
html[data-theme="dark"] .toolbar-right #resultCount,html[data-theme="dark"] .gallery-lead>span:last-child{color:#a697b5}
html[data-theme="dark"] .sort-wrap select{color:#e5d5f0}
html[data-theme="dark"] .sort-wrap select option{background:#241a30;color:#f2e5f6}
html[data-theme="dark"] .wallpaper-card {background:none;border:0;box-shadow:none}
html[data-theme="dark"] .wallpaper-card:hover{box-shadow:none;border:0}
html[data-theme="dark"] .wallpaper-card-image-wrap{background:#30243a}
html[data-theme="dark"] .wallpaper-card-image-wrap.image-error{background:#2e223c}
html[data-theme="dark"] .wallpaper-card-image-wrap.image-error::after{color:#bcaacb}
html[data-theme="dark"] .card-download{background:#f9f1ff;color:#62308e}
html[data-theme="dark"] .card-download:hover{background:#ac6be1;color:#fff}
html[data-theme="dark"] .wallpaper-card-title{color:#eee5f5}
html[data-theme="dark"] .wallpaper-card-kind{color:#af9bbf}
html[data-theme="dark"] .social-action{color:#b8a4c7}
html[data-theme="dark"] .social-action:hover{background:#3a2946;color:#dfbdff;border-color:#583969}
html[data-theme="dark"] .action-heart.is-liked{color:#f59dcb}
html[data-theme="dark"] .outline-button{background:#2a2036;border-color:#493553;color:#f0e2f7}
html[data-theme="dark"] .outline-button:hover{background:#392747;color:#eac8ff;border-color:#8663a6}
html[data-theme="dark"] .gallery-status{color:#a798b9}
html[data-theme="dark"] .micro-icon,html[data-theme="dark"] .empty-icon,html[data-theme="dark"] .donation-icon{background:#3b2948;color:#d6a4ed}
html[data-theme="dark"] .micro-banner p{color:#b1a4bf}
html[data-theme="dark"] .micro-banner a{color:#eea3cd}
html[data-theme="dark"] .site-footer{background:#1b1624}
html[data-theme="dark"] .footer-inner{color:#b09fbf}
html[data-theme="dark"] .footer-inner div{color:#dac5e7}
html[data-theme="dark"] .detail-panel{background:#211a2c;border-color:#453451}
html[data-theme="dark"] .detail-image-wrap{background:#171120}
html[data-theme="dark"] .detail-tag{background:#362743;color:#c7b3d6}
html[data-theme="dark"] .detail-download{color:#fff;background:linear-gradient(110deg,#7040b5,#9a3a80)}
html[data-theme="dark"] .detail-download-note{color:#b0a4ba}
html[data-theme="dark"] .detail-social .social-action{background:#2c2138;border-color:#47324f}
html[data-theme="dark"] .detail-social .social-action:hover{background:#3c2a48}
html[data-theme="dark"] .donation-dialog{background:#241c30;border-color:#523a5c}
html[data-theme="dark"] .donation-file{background:#352741;color:#c7b3d4}
html[data-theme="dark"] .donation-support{color:#fff}
html[data-theme="dark"] .donation-later{background:#342743;border-color:#523a5c;color:#eee2f7}
html[data-theme="dark"] .social-toast{background:#e7c9f6;color:#2b163c}
/* Scale down the natural-ratio masonry without changing the original card style. */
@media(min-width:1100px) and (max-width:1399px){.wallpaper-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:760px) and (max-width:1099px){.wallpaper-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:560px) and (max-width:759px){.wallpaper-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .container{width:calc(100% - 42px)}
  .intro{padding-top:28px;padding-bottom:25px}
  .intro h1{font-size:clamp(25px,4.2vw,36px)}
  .gallery-lead{padding:17px 0}
  .site-header{backdrop-filter:none}
}
@media(max-width:559px){
  .container{width:calc(100% - 26px)}
  .header-inner{gap:9px;padding:10px 15px}
  .brand{font-size:20px}
  .header-search-field{background:#f5f0f8}
  .intro{padding:23px 0 22px}
  .intro h1{font-size:clamp(24px,6vw,31px);letter-spacing:-1.2px}
  .intro p{font-size:12px}
  .filter-bar{min-height:0}
  .filter-pill{padding:10px 13px;font-size:11px}
  .wallpaper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .wallpaper-column{gap:15px}
  .wallpaper-card{margin-bottom:15px}
  .wallpaper-card-image-wrap{border-radius:10px}
  .wallpaper-card-title{font-size:11px}
  .card-download{top:8px;right:8px;width:30px;height:30px}
  .gallery-more{padding:20px 0 28px}
  .gallery-status{font-size:10px}
  .micro-banner{margin-top:9px}
}
@media(max-width:370px){.intro h1{font-size:24px}.gallery-lead>span:last-child{display:none}}
@media(hover:none){.wallpaper-card:hover{transform:none}.card-download{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .wallpaper-card-image,.intro>div:first-child{animation:none!important;transition:none!important}
}
