:root{--brown:#b79d74;--gold:#c8923a;--cream:#fbf5ea;--ink:#2b2118}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:var(--brown)}
img{max-width:100%;height:auto}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.topbar{background:var(--brown);color:#f3e3c8;font-size:.85rem;padding:6px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topbar a{color:#f3e3c8}
header.site{background:var(--cream);border-bottom:3px solid var(--gold)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.logo{max-height:110px}
nav a{margin-left:20px;text-decoration:none;font-weight:bold;text-transform:uppercase;font-size:.9rem;color:var(--brown);padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a.on{border-color:var(--gold)}
.slider{position:relative;height:420px;overflow:hidden;background:#222}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s}
.slide.active{opacity:1}
.caption{position:absolute;left:8%;bottom:15%;max-width:560px;background:rgba(0,0,0,.55);color:#fff;padding:20px 24px}
.caption h2{margin:0 0 8px;font-size:1.7rem}
.caption p{margin:0}
.intro{text-align:center;padding:50px 20px}
.intro h3{color:var(--gold);letter-spacing:.05em}
.btn{display:inline-block;background:var(--brown);color:#fff;padding:12px 26px;text-decoration:none;border:0;cursor:pointer;font:inherit;margin-top:10px}
.btn:hover{background:var(--gold)}
.btn.light{background:#fff;color:var(--brown)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:30px 20px}
.pics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cta{background:var(--brown);color:#fff;text-align:center;padding:50px 20px;margin:30px 0}
.h-news{text-align:center;font-size:1.6rem;margin:30px 0}
.news{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;margin-bottom:40px}
.news article img{width:100%;height:200px;object-fit:cover}
.news h4{margin:10px 0 2px}.news h4 a{text-decoration:none}
time{color:#8a7560;font-size:.85rem}
.more{font-weight:bold}
.page{padding:30px 20px 50px}
.crumbs{font-size:.85rem;color:#8a7560}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:30px}
.gallery img{width:100%;height:130px;object-fit:cover;display:block}
.prod{columns:2;padding-left:20px}
form label{display:block;margin-bottom:14px;font-weight:bold}
form input,form textarea{display:block;width:100%;padding:10px;font:inherit;border:1px solid #ccb89a;margin-top:4px}
.hp{position:absolute;left:-9999px}
.okmsg{background:#e7f4e4;padding:12px}.errmsg{background:#fbe5e1;padding:12px}
footer.site{background:var(--ink);color:#e8dcc8;padding:40px 0 10px;margin-top:40px}
footer.site a{color:#f3d9a4}
footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
footer ul{list-style:none;padding:0}
footer h4{color:var(--gold)}
.copy{text-align:center;font-size:.85rem;border-top:1px solid #4a3d30;margin-top:30px;padding-top:12px}
@media(max-width:780px){.two,footer .cols{grid-template-columns:1fr}.slider{height:300px}.caption h2{font-size:1.2rem}.prod{columns:1}}
.catalogo{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:16px 0 36px}
.catalogo figure{margin:0}
.catalogo img,.noimg{width:100%;height:180px;object-fit:cover;display:block}
.noimg{background:var(--cream);border:1px dashed #ccb89a;display:flex;align-items:center;justify-content:center;color:#8a7560;font-size:.85rem}
.catalogo figcaption{padding:8px 0;font-weight:bold}

.filtri{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0 0 20px}
.filtri a{display:block;padding:8px 16px;border:1px solid var(--gold);text-decoration:none;font-weight:bold}
.filtri a:hover,.filtri a.on{background:var(--brown);color:#fff;border-color:var(--brown)}
.news article img.ph{object-fit:contain;background:var(--cream);padding:30px}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(20,12,6,.85);display:flex;align-items:center;justify-content:center;padding:20px}
.lb[hidden]{display:none}
.lb-box{position:relative;width:min(900px,100%)}
.lb-video{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.lb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lb-close{position:absolute;top:-44px;right:0;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;padding:0 4px}
.lb-close:hover,.lb-close:focus-visible{color:var(--gold)}
body.lb-open{overflow:hidden}
.gl{position:fixed;inset:0;z-index:1100;background:rgba(20,12,6,.92);display:flex;align-items:center;justify-content:center;padding:50px 70px}
.gl[hidden]{display:none}
.gl figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.gl img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.6);transition:opacity .2s}
.gl img.loading{opacity:.2}
.gl figcaption{color:#f3e3c8;margin-top:12px;text-align:center}
.gl-btn{position:absolute;background:none;border:0;color:#fff;cursor:pointer;line-height:1;padding:10px 14px}
.gl-btn:hover,.gl-btn:focus-visible{color:var(--gold)}
.gl-close{top:8px;right:12px;font-size:2.6rem}
.gl-prev,.gl-next{top:50%;transform:translateY(-50%);font-size:4rem}
.gl-prev{left:6px}.gl-next{right:6px}
.gl.single .gl-prev,.gl.single .gl-next{display:none}
.catalogo a{cursor:zoom-in;display:block}
@media(max-width:600px){.gl{padding:50px 10px}.gl-prev,.gl-next{font-size:3rem;top:auto;bottom:10px;transform:none}}

/* Menu responsive */
.nav-toggle{display:none;background:none;border:2px solid var(--brown);padding:9px 8px;cursor:pointer;border-radius:4px}
.nav-toggle span{display:block;width:24px;height:3px;background:var(--brown);margin:4px 0;transition:transform .25s,opacity .2s}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:780px){
  header.site .wrap{flex-wrap:wrap;position:relative}
  .js .nav-toggle{display:block}
  .js header.site nav{display:none;flex-basis:100%;flex-direction:column;border-top:1px solid #e3d3b5;margin-top:6px}
  .js header.site.nav-open nav{display:flex}
  header.site nav a{display:block;margin:0;padding:14px 4px;border-bottom:1px solid #eadfc8}
  header.site nav a.on{color:var(--gold);border-bottom-color:#eadfc8}
  .topbar .wrap{justify-content:center;text-align:center;font-size:.78rem}
  .logo{max-height:80px}
}
