:root{--ivory:#f4efe3;--paper:#fcf9f2;--forest:#263b30;--olive:#58664f;--ink:#30271e;--muted:#83766a;--brass:#b29568;--line:#ded6c7;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header{background:var(--forest);color:var(--ivory);padding:20px clamp(18px,4vw,68px);display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font:26px/1 var(--serif);letter-spacing:.02em;white-space:nowrap}.brand small{font:9px/1.5 system-ui;letter-spacing:.18em;display:block;margin-top:9px}.nav{display:flex;align-items:center;gap:26px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.nav a:hover,.footer a:hover{color:#d4bd8f}.container{max-width:1320px;padding:0 28px;margin:auto}.hero{min-height:530px;background:#283428;color:var(--ivory);display:grid;grid-template-columns:55% 45%;overflow:hidden}.hero-art{background:url('hero.webp') center 39% /cover no-repeat;min-height:530px;mask-image:linear-gradient(90deg,#000 80%,transparent 100%)}.hero-copy{padding:105px 9% 70px 2%;display:flex;justify-content:center;align-items:flex-start;flex-direction:column}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--brass);font-size:12px}.hero h1{font:clamp(44px,5vw,75px)/1.05 var(--serif);margin:14px 0}.hero p{font:19px/1.55 var(--serif);color:#e0d5c1;max-width:380px}.btn{background:var(--ivory);color:var(--forest);padding:12px 22px;border:1px solid currentColor;display:inline-block;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.btn:hover{background:var(--brass)}.btn-dark{background:var(--forest);color:white;border:0}.section{padding:55px 0}.section-title{font:clamp(30px,3vw,44px)/1.12 var(--serif);margin:0 0 25px}.section-top{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.subtle{color:var(--muted);font-size:14px}.masonry{columns:4 220px;column-gap:18px}.photo-card,.item-card{break-inside:avoid;margin:0 0 27px;display:block}.photo-card img,.item-card img{display:block;width:100%;height:auto;border:0;border-radius:2px}.item-card .name{font:20px/1.3 var(--serif);margin:10px 0 1px}.item-card .meta{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.photo-card figcaption{font:13px var(--serif);margin:7px 0;color:var(--muted)}.card-link{display:block}.blank{padding:30px;border:1px dashed var(--line);background:var(--paper);color:var(--muted);text-align:center}.category-links{display:flex;gap:10px;flex-wrap:wrap}.chip{border:1px solid var(--line);padding:7px 13px;background:var(--paper);font-size:13px}.chip.active,.chip:hover{background:var(--forest);color:white;border-color:var(--forest)}.panel{padding:55px 0;background:var(--forest);color:var(--ivory)}.panel h2{font:40px/1.1 var(--serif)}.footer{padding:36px;background:#1f2d25;color:#e9dfcb;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:13px}.intro{padding:48px 0 18px}.intro h1{font:clamp(38px,5vw,62px)/1.1 var(--serif);margin:10px 0 15px}.switch{display:flex;gap:8px;margin:18px 0 28px}.switch a{font-size:13px;padding:9px 16px;border:1px solid var(--line)}.switch .active{background:var(--forest);color:#fff}.find-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:55px;padding:52px 0}.detail-photos img{width:100%;height:auto;display:block;margin:0 0 15px;cursor:zoom-in}.detail-text h1{font:clamp(34px,4vw,56px)/1.08 var(--serif);margin:12px 0}.facts{border-top:1px solid var(--line);margin-top:25px}.facts div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);padding:10px 0;gap:12px}.facts dt{color:var(--muted)}.facts dd{margin:0}.lightbox{display:none;position:fixed;inset:0;background:rgba(10,12,10,.96);z-index:1000;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{display:block;max-width:calc(100vw - 88px);max-height:calc(100dvh - 115px);width:auto;height:auto;object-fit:contain}.lb-close,.lb-prev,.lb-next,.lb-mode{position:absolute;color:white;border:0;background:#242a24ab;z-index:2;border-radius:2px}.lb-close{top:16px;right:18px;font-size:30px;padding:0px 14px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:36px;padding:0 12px}.lb-prev{left:5px}.lb-next{right:5px}.lb-foot{position:absolute;bottom:15px;color:#ddd;text-align:center;font-size:13px;padding:0 30px}.lb-mode{top:18px;left:18px;padding:10px;font-size:12px}.admin-main{max-width:1150px;padding:28px;margin:0 auto}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:25px}.admin-head h1{font:38px var(--serif);margin:0}.form-box{padding:24px;border:1px solid var(--line);background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-weight:650;font-size:13px}.field input,.field textarea,.field select{border:1px solid #cfc5b6;border-radius:2px;background:#fff;padding:11px 12px;min-width:0}.field textarea{min-height:95px}.upload-zone{border:2px dashed var(--brass);padding:22px;background:var(--paper)}.hint{font-size:12px;color:var(--muted)}.checks{display:flex;align-items:center;gap:8px}.admin-list{width:100%;border-collapse:collapse}.admin-list th,.admin-list td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.admin-list img{width:72px;height:72px;object-fit:contain;background:#eee}.photo-manager{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:15px}.photo-manage{padding:10px;border:1px solid var(--line);background:#fff}.photo-manage img{width:100%;height:170px;object-fit:contain;background:#eee}.photo-manage .actions{display:grid;gap:7px;margin-top:10px}.photo-manage button{font-size:12px;padding:7px}.notice{padding:12px;background:#e6ecd9;border-left:3px solid var(--olive);margin:18px 0}.danger{color:#a13b2f}.suggest-wrap{position:relative}.suggestions{position:absolute;left:0;right:0;top:100%;z-index:20;box-shadow:0 10px 25px #0002;background:white;border:1px solid var(--line);max-height:225px;overflow-y:auto}.suggestions button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eee;background:white;padding:10px}.suggestions button:hover{background:#eee9de}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column}.nav{gap:14px;flex-wrap:wrap}.hero{display:block}.hero-art{min-height:310px;background-position:center 43%;mask-image:linear-gradient(#000 78%,transparent)}.hero-copy{padding:20px 26px 55px}.masonry{columns:2 145px;column-gap:12px}.find-detail{grid-template-columns:1fr;gap:12px}.footer{display:block}.form-grid{grid-template-columns:1fr}.section{padding:36px 0}.container{padding:0 17px}.section-top{display:block}.photo-manager{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-mode{font-size:10px;top:12px;left:8px}.lightbox img{max-width:calc(100vw - 66px)}}

/* v0.2 — righe giustificate senza crop: dimensioni calcolate da site.js */
.masonry.justified-gallery{columns:auto!important;display:block}
.justified-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;width:100%}
.justified-row .item-card,.justified-row .photo-card{flex:0 0 auto;min-width:0;margin:0;break-inside:auto}
.justified-row img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:2px}
.justified-row .item-card .name,.justified-row .item-card .meta,.justified-row figcaption{overflow-wrap:anywhere}
.admin-head-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.after-save-actions{margin:20px 0;display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:760px){.justified-row{gap:8px;margin-bottom:16px}.admin-head-actions{width:100%;justify-content:space-between}}

/* v0.3 — galleria fotografica pulita, senza didascalie */
.justified-row .item-card .name,.justified-row .item-card .meta,.justified-row .photo-card figcaption{display:none}
.justified-row{align-items:start;margin-bottom:12px}
.justified-row .item-card,.justified-row .photo-card{line-height:0}
.justified-row .card-link,.justified-row .photo-card a{display:block}
.sort-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;font-size:13px}
.sort-controls select{background:var(--paper);border:1px solid var(--line);padding:9px 12px;color:var(--ink)}
.feature-checkbox{display:flex!important;flex-direction:row;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);background:var(--paper);cursor:pointer}
.feature-checkbox input{width:20px;height:20px;flex:none;accent-color:var(--forest)}
.feature-checkbox span{display:flex;flex-direction:column;gap:3px}.feature-checkbox small{font-weight:400;color:var(--muted)}
@media(max-width:760px){.justified-row{margin-bottom:9px}.sort-controls{gap:8px}.section-title{font-size:30px}}

/* 0.3.1: scheda editoriale, selezione e altri mondi */
.discover-section{background:#f3eee4}.discover-empty{padding:25px 28px;border:1px solid var(--line);background:#fcf9f2;color:var(--muted);font:16px/1.7 var(--serif)}
.world-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.world-links a{display:flex;flex-direction:column;position:relative;gap:7px;padding:24px 20px 28px;background:#f3eee4;border:1px solid var(--line);min-height:145px;transition:background .2s ease}.world-links a:hover{background:#e8decc}.world-links strong{font:21px/1.2 var(--serif);padding-right:12px}.world-links small{color:var(--muted);font-size:12px}.world-links span{position:absolute;bottom:14px;right:17px;color:var(--olive)}.related-worlds .section-title{margin:12px 0 24px}
.find-detail-v2{padding-top:30px;padding-bottom:75px}.detail-back{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.detail-back a:hover,.detail-footer-nav a:hover{text-decoration:underline}.find-presentation{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:clamp(25px,5vw,85px);align-items:start;padding-top:35px}.detail-hero-photo,.detail-thumbnails a{display:block;line-height:0;cursor:zoom-in}.detail-hero-photo img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;object-position:left center}.detail-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;align-items:start}.detail-thumbnails img{display:block;width:100%;height:auto;object-fit:contain}.detail-content{position:sticky;top:24px;padding:12px 0}.detail-content h1{font:clamp(33px,4vw,56px)/1.1 var(--serif);letter-spacing:-.025em;margin:15px 0 8px;overflow-wrap:break-word}.detail-code{color:var(--muted);letter-spacing:.13em;font-size:12px;margin:0 0 30px}.detail-story{font:18px/1.65 var(--serif);margin-bottom:28px}.detail-facts{font-size:14px}.detail-facts div{grid-template-columns:125px minmax(0,1fr)}.detail-tip{font-size:12px;color:var(--muted);margin-top:28px}.detail-footer-nav{border-top:1px solid var(--line);margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;color:var(--olive);font-size:13px}
@media(max-width:900px){.world-links{grid-template-columns:repeat(2,minmax(0,1fr))}.find-presentation{grid-template-columns:minmax(0,1fr) minmax(220px,.85fr);gap:25px}}
@media(max-width:680px){.find-presentation{grid-template-columns:1fr;padding-top:21px;gap:18px}.detail-content{position:static}.detail-hero-photo img{max-height:none}.detail-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.world-links{gap:9px}.world-links a{padding:17px 13px;min-height:115px}.world-links strong{font-size:17px}.find-detail-v2{padding-bottom:45px}.detail-content h1{font-size:36px}}

/* Home 0.4: override localizzato; nessuna modifica a catalogo, scheda, BO */
.site-header-home{position:absolute;top:0;left:0;width:100%;z-index:10;background:linear-gradient(180deg,rgba(21,20,14,.65),rgba(21,20,14,0));color:#fff5e7;padding-top:26px;padding-bottom:22px}
.hero.hero-brocante{position:relative;display:flex;justify-content:flex-end;align-items:center;min-height:clamp(500px,47vw,710px);background:#221e17 url('hero-brocante.webp') center center/cover no-repeat;padding:110px clamp(30px,6vw,100px) 60px 55%;color:#fff4e0;text-align:center}
.hero-brocante .hero-copy{padding:0;display:flex;align-items:center;justify-content:center;width:100%;max-width:540px;position:relative;z-index:1;text-shadow:0 2px 14px #0009}
.hero-ornament{font:30px var(--serif);color:#d4b98d;line-height:1;margin-bottom:12px}
.hero-brocante h1{font:clamp(40px,4vw,65px)/1.05 var(--serif);margin:0 0 15px;white-space:nowrap;font-variant:small-caps;letter-spacing:.005em}
.hero-brocante .hero-tagline{font:clamp(15px,1.6vw,22px)/1.3 var(--serif);text-transform:uppercase;letter-spacing:.11em;color:#f5e7d3;margin:0}
.hero-brocante .hero-description{font:19px/1.5 var(--serif);margin:26px 0;color:#fff0db}
.hero-brocante .hero-button{border:1px solid #f1e3d0;background:#f4ebdc;color:#34271e;text-shadow:none}
.panel-custodi{padding:0;overflow:hidden;background:#263b30;color:#f4efe3}
.panel-custodi-inner{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:stretch;min-height:450px}
.panel-custodi-copy{position:relative;z-index:2;align-self:center;padding:72px 30px 72px 0}
.panel-custodi h2{font:clamp(35px,3.5vw,54px)/1.08 var(--serif);margin:30px 0 26px}
.panel-custodi p{max-width:540px;line-height:1.7;margin-bottom:25px}
.panel-custodi .btn{background:transparent;color:#f4efe3;border-color:#f4efe3}
.panel-custodi .btn:hover{background:#f4efe3;color:#263b30}
.panel-custodi-art{min-height:450px;background-image:linear-gradient(90deg,#263b30 0%,rgba(38,59,48,.32) 24%,rgba(38,59,48,0) 52%),linear-gradient(0deg,#263b30 0%,transparent 28%),url('custodi.webp');background-position:center,center,center 37%;background-size:cover;filter:saturate(.72)}
@media(max-width:900px){.hero.hero-brocante{padding-left:48%;padding-right:28px}.hero-brocante h1{font-size:clamp(30px,5vw,50px)}.panel-custodi-inner{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.site-header-home{position:absolute;align-items:flex-start;gap:14px;padding:15px 17px;background:linear-gradient(180deg,#19170edb,transparent)}.site-header-home .brand{font-size:19px}.site-header-home .brand small{font-size:7px}.site-header-home .nav{gap:12px;font-size:10px}.hero.hero-brocante{display:flex;min-height:690px;padding:370px 18px 38px;align-items:flex-end;justify-content:center;background-position:29% center;background-image:linear-gradient(0deg,rgba(25,22,15,.96),rgba(25,22,15,.55) 39%,rgba(25,22,15,.02) 75%),url('hero-brocante.webp')}.hero-brocante h1{font-size:clamp(35px,8vw,48px);white-space:normal}.hero-brocante .hero-copy{width:100%}.hero-brocante .hero-description{font-size:16px;margin:14px 0}.hero-ornament{display:none}.panel-custodi-inner{display:flex;flex-direction:column}.panel-custodi-copy{align-self:stretch;padding:50px 0 28px}.panel-custodi h2{margin:20px 0;font-size:38px}.panel-custodi-art{min-height:320px;background-size:cover;background-position:center,center,center 40%}}
