:root{--ink:#171512;--soft-ink:#4c443c;--paper:#f7f2ec;--paper2:#fffaf4;--gold:#b48a56;--gold2:#d5b98c;--line:#e6dacb;--dark:#171615;--muted:#867a70;--shadow:0 24px 70px rgba(36,28,22,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper2)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.02em}h1{font-size:clamp(3rem,7vw,6.6rem);line-height:.95;margin:0}h2{font-size:clamp(2rem,3.5vw,3.6rem);margin:.2rem 0 1rem}h3{font-size:1.2rem;margin:.7rem 0 .35rem;text-transform:uppercase;letter-spacing:.08em}p{line-height:1.75}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:96px;padding:18px 7vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(15,13,12,.72),rgba(15,13,12,.08));transition:.35s ease}.site-header.scrolled{height:78px;background:rgba(247,242,236,.94);backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(0,0,0,.08)}.brand img{height:136px;width:auto;display:block;filter:drop-shadow(0 12px 20px rgba(0,0,0,.22));transition:height .28s ease,filter .28s ease}.site-header.scrolled .brand img{height:174px;filter:none}.nav{display:flex;gap:30px;align-items:center}.nav a{color:white;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.site-header.scrolled .nav a{color:var(--ink)}.nav .nav-cta{background:#161615;color:#fff!important;padding:15px 20px;border:1px solid rgba(255,255,255,.14)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:2rem}.page{display:none}.page.active{display:block}.hero{position:relative;min-height:760px;background:url('assets/hero.jpg') center/cover no-repeat;display:flex;align-items:center;padding:150px 7vw 90px;overflow:hidden}.hero:after{content:"";position:absolute;right:-12%;top:0;width:42%;height:100%;background:linear-gradient(90deg,transparent,rgba(247,242,236,.95) 72%)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,9,.78),rgba(22,17,14,.32) 50%,rgba(255,255,255,.02));}.hero-content{position:relative;z-index:1;max-width:740px;color:white;text-shadow:0 12px 35px rgba(0,0,0,.25)}.hero h1 em{font-style:italic;font-size:.86em}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}.eyebrow.dark{color:var(--gold)}.line{width:74px;height:1px;background:var(--gold2);margin:34px 0}.line.small{width:58px;margin:18px 0}.hero-copy{max-width:540px;color:#f3eee8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem;padding:17px 26px;transition:.25s ease}.btn.primary,.btn.light{background:var(--paper2);color:var(--ink)}.btn.ghost{border:1px solid rgba(255,255,255,.4);color:white;background:rgba(255,255,255,.05)}.btn.dark{background:#171615;color:#fff}.btn.ghost-dark{border:1px solid var(--line);background:white;color:var(--ink)}.btn.danger{margin-top:10px;background:#7b2424;color:#fff}.btn.full{width:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(0,0,0,.12)}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.section{padding:58px 7vw}.portfolio-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;background:var(--paper2);margin-top:-1px}.category-card{cursor:pointer;text-align:center}.category-card img,.service-grid img{width:100%;aspect-ratio:1.35/1;object-fit:cover;display:block;filter:saturate(.86) contrast(.96)}.category-card p{font-family:Georgia,serif;font-style:italic;color:var(--soft-ink);margin:0}.split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.split-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78)}.split-text{display:flex;flex-direction:column;justify-content:center;padding:7vw;background:#fbf7f2}.split-text p{max-width:560px;color:var(--soft-ink)}.dark-band{padding:74px 7vw;text-align:center;background:radial-gradient(circle at 50% 0,#332b23,#171615 58%);color:white}.dark-band p{max-width:550px;margin:0 auto 24px;color:#e7ded4}.gallery-icon{font-size:2.3rem;color:var(--gold2)}.testimonials{text-align:center}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.quote-grid blockquote{margin:0;padding:30px;border-left:1px solid var(--line);font-family:Georgia,serif;font-style:italic;color:var(--soft-ink);text-align:left}.quote-grid span{display:block;margin-top:18px;font-family:Inter,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--muted)}.page-hero{padding:170px 7vw 75px;text-align:center;background:linear-gradient(135deg,#1d1a17,#4c3b30);color:white}.page-hero.compact h1{font-size:clamp(2.8rem,5vw,5rem)}.page-hero p{color:#eadfd4}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.service-grid article{background:white;padding:0 0 22px;box-shadow:var(--shadow)}.service-grid h3,.service-grid p{padding:0 24px}.masonry{columns:3 280px;column-gap:18px}.masonry figure{break-inside:avoid;margin:0 0 18px;position:relative;overflow:hidden;background:white;box-shadow:0 14px 40px rgba(38,31,24,.1)}.masonry img{width:100%;display:block;filter:saturate(.85)}.masonry figcaption{padding:14px 16px;font-family:Georgia,serif}.narrow{max-width:720px;margin:auto}.panel{background:white;border:1px solid var(--line);padding:30px;box-shadow:var(--shadow)}.elegant-panel{background:linear-gradient(180deg,#fff,#fbf6ef)}label{display:block;margin:16px 0 14px;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;color:var(--muted)}input,textarea,select{margin-top:8px;width:100%;padding:15px 14px;border:1px solid #ddd1c3;background:#fff;color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}textarea{min-height:130px;resize:vertical}.hint{font-size:.85rem;color:var(--muted)}.hidden{display:none!important}.gallery-area{padding-top:12px}.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.client-gallery-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.client-gallery-actions .btn{white-space:nowrap}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-line{font-family:Georgia,serif}.admin-hero{background:linear-gradient(135deg,#161615,#3a3028)}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.admin-tabs button{border:1px solid var(--line);background:#fff;padding:14px 18px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.admin-tabs button.active{background:#171615;color:white}.admin-tab{display:none}.admin-tab.active{display:block}.admin-layout{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start}.list{display:grid;gap:12px}.list-item{border:1px solid var(--line);padding:16px;background:#fffaf5}.list-item strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.list-item small{display:block;color:var(--muted);margin-top:6px}.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photo-admin-card{position:relative;background:#fff;border:1px solid var(--line);overflow:hidden}.photo-admin-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-admin-caption{padding:8px 10px;font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-tools{display:flex;align-items:stretch;gap:10px;margin-top:12px}.photo-tools .btn.full{width:auto;flex:1 1 0;padding:14px 12px;font-size:.68rem;line-height:1.25}.photo-tools .btn.danger{margin-top:0}.photo-admin-card{transition:.2s ease}.photo-admin-card.is-checked{outline:3px solid var(--gold);outline-offset:-3px}.photo-select{position:static;display:flex;align-items:center;justify-content:center;gap:7px;background:#fffaf4;border-bottom:1px solid var(--line);padding:9px 10px;font-size:.68rem;color:var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.photo-select input{width:auto;margin:0;accent-color:var(--gold)}.mini-grid img{width:100%;aspect-ratio:1;object-fit:cover}.footer{display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px;align-items:center;padding:34px 7vw;border-top:1px solid var(--line);background:#f4eee6;color:var(--muted);font-size:.8rem}.footer img{height:116px;filter:brightness(0) saturate(0) opacity(.86)}.footer nav{display:flex;justify-content:center;gap:35px}.footer a{color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.1em}.toast{position:fixed;right:24px;bottom:24px;background:#171615;color:white;padding:16px 20px;box-shadow:var(--shadow);z-index:50;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateY(0)}.reveal{animation:fadeUp .55s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.btn.compact{width:auto;padding:11px 14px;font-size:.66rem}.selection-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.selection-row>div{min-width:0}.selection-item .btn{flex:0 0 auto}.list-item b{color:var(--ink)}@media(max-width:900px){.client-gallery-actions{width:100%;flex-direction:column}.client-gallery-actions .btn{width:100%}.site-header{height:auto;padding:14px 20px;background:rgba(247,242,236,.96)}.brand img{height:68px;max-width:170px;filter:none}.menu-toggle{display:block;color:var(--ink)}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fbf7f2;padding:22px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.nav a,.site-header.scrolled .nav a{color:var(--ink)}.nav .nav-cta{color:#fff!important}.hero{min-height:670px;padding:130px 24px 70px}.hero:after{display:none}.portfolio-strip,.service-grid,.quote-grid,.split,.contact-grid,.admin-layout{grid-template-columns:1fr}.gallery-head,.admin-top{align-items:flex-start;flex-direction:column}.footer{grid-template-columns:1fr;text-align:center}.footer nav{flex-direction:column;gap:12px}.masonry{columns:1}.section{padding:46px 24px}.photo-tools{flex-direction:column}.photo-tools .btn.full{width:100%}.panel-title-row,.selection-row{align-items:stretch;flex-direction:column}.btn.compact{width:100%}} 
.photo-missing{min-height:130px;display:grid;place-items:center;background:#f4eee8;color:#8b786a;border-top:1px solid rgba(58,42,32,.12);border-bottom:1px solid rgba(58,42,32,.12);font-size:.9rem;text-align:center;padding:1rem;}
.client-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.client-data-grid label{margin-bottom:4px}@media(max-width:700px){.client-data-grid{grid-template-columns:1fr}}

.admin-actions{display:flex;align-items:center;gap:12px;position:relative}.notification-bell{position:relative;border:1px solid var(--line);background:#fff;border-radius:999px;width:48px;height:48px;display:inline-grid;place-items:center;cursor:pointer;font-size:1.25rem;box-shadow:0 12px 28px rgba(38,31,24,.08);transition:.25s ease}.notification-bell:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(0,0,0,.12)}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:999px;background:#7b2424;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;padding:0 6px}.notification-panel{margin:18px 0 24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:22px}.notification-list{display:grid;gap:10px}.notification-item{border:1px solid var(--line);background:#fffaf5;padding:14px 16px}.notification-item.unread{border-color:var(--gold);box-shadow:inset 4px 0 0 var(--gold);background:#fff7eb}.notification-item strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:400}.notification-item small{display:block;color:var(--muted);margin:5px 0}.notification-item p{margin:0;color:var(--soft-ink);line-height:1.5}.notification-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.client-gallery-actions{width:100%;flex-direction:column}.client-gallery-actions .btn{width:100%}.admin-actions{width:100%;justify-content:space-between}.notification-actions{flex-direction:column}.notification-actions .btn{width:100%}}

.file-name-list{margin:8px 0 0 20px;padding:0;color:var(--soft-ink);font-size:.86rem;line-height:1.55}.file-name-list li{padding:2px 0}.selection-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:260px}.selection-actions .btn{margin-top:0}.locked-choice{filter:saturate(.65);opacity:.82}.locked-choice:before{content:"Scelta chiusa";position:absolute;left:10px;top:10px;z-index:2;background:#171615;color:#fff;padding:7px 10px;border-radius:999px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}@media(max-width:900px){.client-gallery-actions{width:100%;flex-direction:column}.client-gallery-actions .btn{width:100%}.selection-actions{justify-content:stretch;min-width:0}.selection-actions .btn{width:100%}}


/* === Funzioni DB aggiunte senza alterare la grafica v14 === */
.client-data-grid.single-row{grid-template-columns:1fr 1fr}.muted{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}.notice{border:1px solid #e5c46c;background:#fff7d6;color:#6b4c00;padding:14px 18px;margin:14px 0 24px}.notice-inline{display:inline-flex;background:#171615;color:#fff;border-radius:999px;padding:4px 9px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.checkline{display:flex;align-items:center;gap:9px}.checkline input,.valid-check input{width:auto;margin:0;accent-color:var(--gold)}.valid-check{display:flex;align-items:center;gap:8px;margin:0;color:#41674d}.photo-wrap{position:relative;background:#f4eee8;overflow:hidden}.photo-wrap.watermark::after,.watermark::after{content:attr(data-watermark);position:absolute;left:6px;right:6px;bottom:7px;text-align:center;color:rgba(255,255,255,.86);font-family:var(--watermark-font,Georgia,"Times New Roman",serif);font-size:var(--watermark-size,.72rem);text-shadow:0 2px 7px rgba(0,0,0,.8);pointer-events:none}.photo-options{display:grid;grid-template-columns:1fr 70px;gap:7px;margin-top:8px}.photo-options input,.photo-options select{padding:8px 7px;font-size:.78rem}.photo-note{min-height:54px;font-size:.78rem;padding:8px;margin-top:7px;width:100%;resize:vertical}.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.photo-admin-card{background:#fff;border:1px solid var(--line);padding:8px}.photo-admin-card .photo-wrap img,.photo-admin-card>img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-select{display:flex;align-items:center;gap:6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.photo-admin-caption{font-size:.72rem;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-files{background:#fffaf4;border:1px solid var(--line);padding:12px 14px;margin:10px 0 6px 18px;color:var(--soft-ink)}.selection-files li{margin:7px 0}.list-actions,.admin-actions,.client-gallery-actions,.notification-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notice-inline{margin-left:6px}.notification-bell{position:relative;border:1px solid var(--line);background:#fff;border-radius:999px;width:48px;height:48px;display:inline-grid;place-items:center;cursor:pointer;font-size:1.25rem;box-shadow:0 12px 28px rgba(38,31,24,.08)}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:999px;background:#7b2424;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;padding:0 6px}.notification-badge.hidden{display:none}.notification-panel{margin:18px 0 24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:22px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn.compact{padding:10px 14px;font-size:.68rem}.btn:disabled{opacity:.48;cursor:not-allowed}.photo-tools{display:flex;align-items:stretch;gap:10px;margin-top:12px}.photo-tools .btn{flex:1 1 0;margin-top:0}.list-item{position:relative}.gallery-head{gap:18px}.admin-dashboard{position:relative}@media(max-width:700px){.client-data-grid.single-row{grid-template-columns:1fr}.client-gallery-actions,.admin-actions,.photo-tools{width:100%;flex-direction:column;align-items:stretch}.client-gallery-actions .btn,.admin-actions .btn,.photo-tools .btn{width:100%}}

/* v18 - anteprime complete e lightbox con filigrana */
.photo-admin-card .photo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f2ec;
  border-bottom:1px solid var(--line);
  cursor:zoom-in;
}
.photo-admin-card .photo-wrap{
  height:104px;
}
.photo-admin-card .photo-wrap img,
.photo-admin-card>img,
.mini-grid img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  background:#f7f2ec;
}
.photo-admin-card{
  overflow:hidden;
}
.photo-wrap.watermark::after,
.watermark::after{
  content:attr(data-watermark);
  left:8px;
  right:8px;
  bottom:6px;
  font-size:var(--watermark-size,.62rem);
  font-family:var(--watermark-font,Georgia,"Times New Roman",serif);
  opacity:.85;
}
.photo-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,13,12,.86);
  backdrop-filter:blur(10px);
  padding:28px;
}
.photo-lightbox.hidden{display:none!important}
.photo-lightbox-frame{
  position:relative;
  max-width:min(94vw,1180px);
  max-height:90vh;
  background:#111;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
}
.photo-lightbox-frame img{
  display:block;
  max-width:94vw;
  max-height:84vh;
  width:auto;
  height:auto;
  object-fit:contain;
  background:#111;
}
.photo-lightbox-watermark{
  position:absolute;
  inset:-18%;
  pointer-events:none;
  display:grid;
  grid-template-columns:repeat(4, minmax(260px,1fr));
  grid-auto-rows:120px;
  align-items:center;
  justify-items:center;
  transform:rotate(-28deg);
  opacity:.5;
}
.photo-lightbox-watermark span{
  color:#fff;
  font-family:var(--watermark-font,Georgia,"Times New Roman",serif);
  font-size:var(--watermark-size,clamp(1.1rem,2.1vw,2rem));
  white-space:nowrap;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
  letter-spacing:.04em;
}
.photo-lightbox-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  font-size:1.35rem;
  line-height:1;
}
.photo-lightbox-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:12px 16px;
  background:linear-gradient(0deg,rgba(0,0,0,.68),transparent);
  color:#fff;
  font-size:.85rem;
  letter-spacing:.02em;
}
@media(max-width:700px){
  .photo-admin-card .photo-wrap{height:96px}
  .photo-lightbox{padding:14px}
  .photo-lightbox-watermark{grid-template-columns:repeat(3, minmax(190px,1fr));grid-auto-rows:94px}
}


/* Titolo login amministratore - carattere originale, adattivo */
.admin-login-title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:400!important;
  font-size:clamp(1.35rem, 5.2vw, 2.35rem)!important;
  line-height:1.08!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  margin:.15rem auto 1rem!important;
  max-width:100%;
  overflow-wrap:break-word;
  text-wrap:balance;
}


/* v21 - visualizzazione gallerie da area riservata */
.admin-gallery-viewer{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(23,22,21,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.admin-gallery-viewer.hidden{display:none!important}
.admin-gallery-viewer-panel{
  width:min(1180px,96vw);
  max-height:90vh;
  overflow:auto;
  background:var(--paper2);
  border:1px solid var(--line);
  box-shadow:0 30px 90px rgba(0,0,0,.35);
  padding:26px;
}
.admin-gallery-viewer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--line);
  padding-bottom:16px;
  margin-bottom:18px;
}
.admin-gallery-viewer-head h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,3vw,2.35rem);
  text-transform:none;
  letter-spacing:.02em;
  font-weight:400;
}
.admin-gallery-viewer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:12px;
}
.admin-gallery-preview-card{
  background:white;
  border:1px solid var(--line);
  padding:8px;
  box-shadow:0 12px 28px rgba(38,31,24,.08);
}
.admin-gallery-preview-card .photo-wrap img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  display:block;
  cursor:pointer;
}
.admin-gallery-preview-card small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:.72rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:700px){
  .admin-gallery-viewer{padding:12px}
  .admin-gallery-viewer-panel{padding:18px}
  .admin-gallery-viewer-head{flex-direction:column}
}

/* v22 - registrazione cliente separata da accesso galleria */
.client-auth-switch{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.client-auth-switch .btn{margin-top:0}.registered-client-box{border:1px solid var(--line);background:#fffaf4;padding:12px 14px;margin:0 0 16px}.registered-client-box p{margin:0 0 10px}.selection-confirm-popup{position:fixed;inset:0;z-index:10000;background:rgba(23,22,21,.78);display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(8px)}.selection-confirm-popup.hidden{display:none!important}.selection-confirm-card{width:min(520px,94vw);background:linear-gradient(180deg,#fff,#fbf6ef);border:1px solid var(--line);box-shadow:0 28px 90px rgba(0,0,0,.32);padding:32px;text-align:center}.selection-confirm-card h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;text-transform:none;letter-spacing:.02em;margin:0 0 12px}.selection-confirm-card p{color:var(--soft-ink);margin:0 0 24px}@media(max-width:700px){.client-auth-switch .btn{width:100%}.registered-client-box .btn{width:100%}}


/* v23 - selezione anche dal checkbox sulla foto */

#registeredChildrenBox{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}

/* v27: un solo controllo di selezione sulla foto cliente */

/* v28 - un solo pallino di selezione: resta quello in alto a sinistra */

.children-register-box{margin:14px 0 8px;padding:14px;border:1px solid rgba(185,151,95,.28);background:rgba(247,241,232,.45)}
.child-row{margin-top:10px}
.registered-client-box{margin:12px 0;padding:10px 12px;border:1px solid rgba(185,151,95,.28);background:rgba(255,255,255,.62)}

/* v32 - form registrazione cliente più largo e intestazioni Century Gothic */
.client-login.narrow{
  max-width:min(1040px, 94vw)!important;
}
.client-login .panel.elegant-panel{
  width:100%;
  padding:clamp(28px, 4vw, 44px);
}
.client-login h2{
  font-family:"Century Gothic","Avenir Next",Arial,sans-serif!important;
  font-size:clamp(1.75rem, 3.1vw, 2.65rem)!important;
  font-weight:700!important;
  line-height:1.16!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.client-login label,
.client-login .children-register-box .hint strong,
.client-login .registered-client-box strong{
  font-family:"Century Gothic","Avenir Next",Arial,sans-serif!important;
}
.client-login label{
  text-transform:none!important;
  letter-spacing:.015em!important;
  font-size:.95rem!important;
  font-weight:700!important;
  color:var(--ink)!important;
  margin:14px 0 10px!important;
}
.client-login .hint{
  font-family:"Century Gothic","Avenir Next",Arial,sans-serif!important;
  font-size:.92rem;
}
.client-login input,
.client-login select{
  margin-top:8px;
  min-height:50px;
  font-size:.95rem;
}
.client-login .client-data-grid,
.client-login .client-data-grid.single-row{
  grid-template-columns:repeat(2, minmax(260px, 1fr));
  gap:0 22px;
}
.client-login .children-register-box{
  padding:18px 20px;
}
.client-login .children-register-box .hint strong{
  font-size:1.05rem;
  text-transform:none!important;
  letter-spacing:0!important;
}
@media(max-width:760px){
  .client-login.narrow{max-width:100%!important;}
  .client-login .client-data-grid,
  .client-login .client-data-grid.single-row{
    grid-template-columns:1fr!important;
  }
  .client-login .panel.elegant-panel{padding:24px 18px;}
}

/* v33 - etichette accesso galleria in grassetto */
#clientLoginPanel label strong{
  display:block;
  font-weight:700;
  margin-bottom:6px;
}

/* v35 - galleria condivisa tramite link */
.client-share-panel{
  max-width:720px;
  margin:0 auto;
}
.share-box{
  margin:14px 0 4px;
  padding:14px;
  border:1px solid var(--line);
  background:#fffaf4;
}
.share-box label{
  margin:0 0 8px;
}
.share-box input{
  font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;
  font-size:.88rem;
  background:#fff;
}
.selection-footer{
  display:flex;
  justify-content:center;
  margin:28px 0 0;
}
.public-selection-card{
  width:min(760px,94vw);
  max-width:760px;
}
.form-actions-right{
  justify-content:flex-end;
  margin-top:16px;
}
@media(max-width:700px){
  .public-selection-card{width:min(94vw,620px)}
  .form-actions-right{justify-content:stretch}
  .form-actions-right .btn{width:100%}
}

/* v40 - gestione sito vetrina da area riservata */
.site-admin-layout{align-items:start}
#admin-tab-site .panel h3{font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;font-size:1.18rem;text-transform:none;letter-spacing:.02em;font-weight:700}
#admin-tab-site label{font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;font-weight:700;text-transform:none;letter-spacing:0}
#admin-tab-site input,#admin-tab-site textarea,#admin-tab-site select{font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif}
.sub-form{display:grid;gap:12px;margin-bottom:16px}
.site-admin-list{display:grid;gap:10px;margin-top:16px}
.site-item{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:14px}
.site-thumb{width:92px;height:74px;background:#f3ece4;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}
.site-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.site-item p{margin:6px 0 0;font-size:.85rem;line-height:1.45;color:var(--soft-ink)}
@media(max-width:800px){.site-item{grid-template-columns:1fr}.site-thumb{width:100%;height:160px}.site-item .list-actions{width:100%;flex-direction:column;align-items:stretch}.site-item .list-actions .btn{width:100%}}

/* v43 - pannello di controllo completo e anteprima gallerie cliente */
.control-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:18px;
}
.control-card{
  background:var(--cream);
  border:1px solid var(--line);
  padding:22px;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  align-items:start;
  box-shadow:0 16px 36px rgba(45,35,28,.05);
}
.control-card h3{
  font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;
  font-size:1.18rem;
  font-weight:700;
  text-transform:none;
  letter-spacing:.01em;
  margin:0 0 8px;
}
.control-card p{
  margin:0 0 8px;
  color:var(--soft-ink);
  line-height:1.55;
}
.control-card small{
  display:block;
  color:var(--muted);
  font-size:.84rem;
}
.control-icon{
  width:52px;
  height:52px;
  border:1px solid var(--line);
  background:#fffaf4;
  display:grid;
  place-items:center;
  font-size:1.35rem;
  color:var(--ink);
}
.control-actions{
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.admin-client-preview-panel{
  margin-top:18px;
}
.public-preview-grid{
  margin-top:18px;
}
.admin-public-preview-card .photo-options.disabled-preview{
  opacity:.82;
}
.photo-choice-overlay.preview-only{
  cursor:default;
}
.photo-choice-overlay.preview-only span::after{
  opacity:.35;
}
@media(max-width:900px){
  .control-grid{grid-template-columns:1fr;}
  .control-card{grid-template-columns:44px 1fr;padding:18px;}
  .control-icon{width:44px;height:44px;}
  .control-actions{grid-column:1 / -1;}
  .control-actions .btn{width:100%;}
}

/* v45 - immagini intestazione modificabili da pannello */
.page-hero.with-image{
  position:relative;
  overflow:hidden;
  background-size:cover!important;
  background-position:center;
}
.page-hero.with-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(18,15,13,.72),rgba(37,29,23,.42));
  z-index:0;
}
.page-hero.with-image > *{position:relative;z-index:1}
.site-form-section-title{
  margin:28px 0 10px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-family:"Century Gothic",CenturyGothic,AppleGothic,Arial,sans-serif;
  font-weight:700;
  font-size:1rem;
  letter-spacing:.02em;
  color:var(--ink);
}

/* v47 - pannello più ordinato, paginazione e lightbox cliente avanzata */
.site-studio-hero{background:linear-gradient(135deg,#fffaf4,#f2e4d2);border-color:rgba(151,116,73,.32)}
.site-studio-hero h3{font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;font-size:clamp(1.35rem,3vw,2.15rem);font-weight:700;text-transform:none;letter-spacing:.01em;margin:.15rem 0 .4rem;color:var(--ink)}
.site-page-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(38,31,24,.08)}
.site-page-tabs button{border:1px solid var(--line);background:#fffaf4;color:var(--ink);padding:11px 15px;border-radius:999px;font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}
.site-page-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.site-editor-form{display:block}.site-editor-page{display:none}.site-editor-page.active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.site-editor-page .admin-layout{grid-column:1/-1;width:100%}.site-editor-card{position:relative;overflow:hidden}.site-editor-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--gold),rgba(151,116,73,.22));pointer-events:none}.site-editor-card h3,.site-admin-layout h3{font-family:"Century Gothic",CenturyGothic,Arial,sans-serif!important;font-size:1.08rem!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}.position-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 4px;padding:12px;background:#fffaf4;border:1px dashed rgba(151,116,73,.42)}.position-controls input[type=range]{padding:0;height:28px;accent-color:var(--gold)}
.gallery-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:18px 0 4px}.gallery-pagination span{font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;font-weight:700;color:var(--ink)}
.notification-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.notification-row .checkline{justify-content:flex-start}.notification-check{width:auto;margin-right:7px}.notification-row small{display:block;margin:5px 0;color:var(--muted)}
.public-choice-frame{display:grid;grid-template-columns:minmax(0,1fr) 320px;width:min(1180px,96vw);max-height:90vh;background:#111}.public-choice-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px;overflow:hidden}.public-choice-image-wrap img{max-width:100%;max-height:86vh;width:auto;height:auto;object-fit:contain}.public-choice-side{background:#fffaf4;color:var(--ink);padding:24px;display:flex;flex-direction:column;gap:12px;overflow:auto}.public-choice-side h3{font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1.25;margin:0 0 4px;word-break:break-word}.public-choice-side label{font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;font-weight:700;color:var(--ink)}.public-choice-side .checkline{align-items:center}.photo-lightbox-nav{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:46px;height:58px;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.42);color:#fff;font-size:2.4rem;line-height:1;border-radius:999px;cursor:pointer}.photo-lightbox-nav.prev{left:14px}.photo-lightbox-nav.next{right:338px}.public-choice-lightbox .photo-lightbox-watermark{z-index:2}.public-choice-lightbox .photo-lightbox-close{z-index:8}
@media(max-width:820px){.site-editor-page.active{grid-template-columns:1fr}.position-controls{grid-template-columns:1fr}.public-choice-frame{grid-template-columns:1fr;overflow:auto}.public-choice-image-wrap{min-height:240px}.photo-lightbox-nav.next{right:14px}.public-choice-side{max-height:none}.public-choice-image-wrap img{max-height:62vh}}

/* v48 anteprime reali immagini sito */
.image-position-preview,.content-image-preview,.service-card-live-preview .preview-img,.portfolio-card-live-preview .preview-img{
  width:100%;
  background:#efe8df;
  border:1px solid rgba(151,116,73,.28);
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7b6a57;
  font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;
  font-size:.82rem;
  letter-spacing:.02em;
  text-align:center;
  overflow:hidden;
}
.image-position-preview.has-image span,.content-image-preview.has-image span,.service-card-live-preview .preview-img.has-image span,.portfolio-card-live-preview .preview-img.has-image span{display:none}
.header-preview{min-height:170px;margin:12px 0 10px;background-size:cover;position:relative}
.header-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.10));pointer-events:none}
.header-preview span{position:relative;z-index:1;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.content-image-preview{min-height:220px;margin:12px 0 10px;background-size:cover}
.service-card-live-preview,.portfolio-card-live-preview{margin:12px 0 10px;background:#fff;border:1px solid rgba(151,116,73,.25);box-shadow:0 12px 28px rgba(43,35,29,.08);overflow:hidden}
.service-card-live-preview .preview-img{min-height:190px;background-size:cover}
.service-card-live-preview .preview-caption{padding:18px 22px;background:#fff}
.service-card-live-preview h4,.portfolio-card-live-preview p{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;letter-spacing:.06em;margin:0 0 8px;text-transform:uppercase;color:#130f0d}
.service-card-live-preview p{margin:0;color:#3f342d;font-size:.95rem}
.portfolio-card-live-preview{background:#130f0d;color:#fff}
.portfolio-card-live-preview .preview-img{min-height:260px;background-size:cover;background-color:#2d2722}
.portfolio-card-live-preview p{padding:14px 16px;color:#fff;margin:0}
.service-grid article img,.portfolio-grid figure img{object-position:50% 50%}
.site-editor-card label input[readonly],.sub-form label input[readonly]{background:#f7f1ea;color:#6c5d51}
@media(max-width:820px){.header-preview{min-height:130px}.content-image-preview{min-height:180px}.service-card-live-preview .preview-img{min-height:160px}.portfolio-card-live-preview .preview-img{min-height:210px}}


/* v51 - Anteprima gallerie compatta con ingrandimento */
.public-preview-grid{
  grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
  gap:10px;
}
.admin-gallery-thumb-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:7px;
  box-shadow:0 8px 20px rgba(38,31,24,.07);
}
.admin-gallery-thumb-btn{
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  display:block;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
}
.admin-gallery-thumb-btn:focus-visible{
  outline:2px solid var(--dark);
  outline-offset:3px;
  border-radius:12px;
}
.admin-gallery-thumb-wrap{
  width:100%;
  aspect-ratio:1;
  display:block;
  background:#f8f4ef;
  border-radius:10px;
  overflow:hidden;
  position:relative;
}
.admin-gallery-thumb-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  transition:transform .18s ease;
}
.admin-gallery-thumb-btn:hover img{
  transform:scale(1.035);
}
.admin-gallery-thumb-name{
  display:block;
  margin-top:6px;
  font-size:.7rem;
  line-height:1.2;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:620px){
  .public-preview-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;}
  .admin-gallery-thumb-card{padding:6px;border-radius:12px;}
}

/* v52 - Anteprima gallerie: 5 foto per riga, formato compatto e responsive */
#adminPreviewGalleryGrid.public-preview-grid,
.public-preview-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start;
}
#adminPreviewGalleryGrid .admin-gallery-thumb-card{
  min-width:0;
  padding:6px;
  border-radius:12px;
}
#adminPreviewGalleryGrid .admin-gallery-thumb-wrap{
  aspect-ratio:1 / 1;
  min-height:0;
  background:#f8f4ef;
}
#adminPreviewGalleryGrid .admin-gallery-thumb-wrap img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  display:block;
}
#adminPreviewGalleryGrid .admin-gallery-thumb-name{
  font-size:.66rem;
  line-height:1.15;
  margin-top:5px;
}
@media(max-width:1100px){
  #adminPreviewGalleryGrid.public-preview-grid,
  .public-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  #adminPreviewGalleryGrid.public-preview-grid,
  .public-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  #adminPreviewGalleryGrid.public-preview-grid,
  .public-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
}


/* v57 - gestione avanzata gallerie */
.gallery-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.gallery-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700;font-family:'Century Gothic','Montserrat',Arial,sans-serif;letter-spacing:.01em}
.gallery-status.open{background:#eef8ee;color:#2f6b35;border:1px solid #cfe8d0}
.gallery-status.closed{background:#fff0ef;color:#9c352d;border:1px solid #f0c8c3}
.gallery-public-message{margin:.55rem 0 0;color:#5f514b;font-size:.9rem;line-height:1.45;background:#fbf7f2;border:1px solid #eaded4;border-radius:14px;padding:.65rem .8rem}
#galleryForm textarea{min-height:82px;resize:vertical}
#publicClosedNotice strong{font-weight:800}


/* v59 - Anteprima cliente: tutte le foto di default e scelta foto per pagina */
.admin-preview-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:14px;
  align-items:end;
}
.admin-preview-controls label{margin:0}
.admin-preview-page-box{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px 14px;
  background:#fffaf6;
  box-shadow:0 10px 24px rgba(42,34,28,.06);
}
.admin-preview-page-box label{
  font-family:'Century Gothic','Montserrat',Arial,sans-serif;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  color:var(--ink);
}
.admin-preview-pagination{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  font-family:'Century Gothic','Montserrat',Arial,sans-serif;
  color:var(--muted);
  font-size:.86rem;
}
.admin-preview-pagination.hidden{display:none!important}
.admin-preview-pagination button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:760px){
  .admin-preview-controls{grid-template-columns:1fr;}
  .admin-preview-page-box{padding:10px 12px;}
}

/* v60 modifica galleria + frecce anteprima cliente admin */
.gallery-edit-card{
  width:min(860px,94vw);
  max-height:88vh;
  overflow:auto;
  text-align:left;
}
.gallery-edit-card h3{
  font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;
  font-size:1.35rem;
  font-weight:700;
  margin-bottom:8px;
}
.gallery-edit-card label{
  font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;
  font-weight:700;
  color:var(--ink);
  text-align:left;
}
.gallery-edit-card input,
.gallery-edit-card select,
.gallery-edit-card textarea{
  font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;
}
.gallery-edit-card .edit-checkline{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
}
.admin-preview-lightbox-frame{
  width:min(1120px,96vw);
  max-height:92vh;
  background:#111;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.admin-preview-lightbox-image{
  position:relative;
  width:100%;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.admin-preview-lightbox-image img{
  max-width:100%;
  max-height:82vh;
  width:auto;
  height:auto;
  object-fit:contain;
}
.admin-preview-lightbox .photo-lightbox-nav.next{right:14px;}
.admin-preview-lightbox .photo-lightbox-caption{padding:10px 18px 16px;}
.admin-preview-lightbox .photo-lightbox-watermark.hidden{display:none!important;}
@media(max-width:700px){
  .gallery-edit-card{width:94vw;padding:20px;}
  .admin-preview-lightbox-image{min-height:240px;}
}

/* v64 - Richieste informazioni */
.contact-request-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.contact-request-card{padding:18px 20px}.contact-request-card.is-new{border-left:4px solid var(--gold)}.contact-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.contact-request-head strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.contact-request-head small{display:block;margin-top:5px;color:var(--muted)}.contact-request-status{display:inline-flex;align-items:center;border:1px solid var(--line);padding:7px 10px;border-radius:999px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.contact-request-status.status-nuova{background:#fff6df}.contact-request-status.status-letta{background:#f5f1eb}.contact-request-status.status-risposta{background:#edf7ee}.contact-request-status.status-archiviata{background:#eee;color:var(--muted)}.contact-request-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:.86rem}.contact-request-meta a{color:var(--ink);text-decoration:none}.contact-request-message{margin:12px 0 16px;padding:14px 16px;background:#fffaf5;border:1px solid var(--line);line-height:1.55}.contact-request-actions{align-items:flex-end}.contact-status-select{margin:0;min-width:150px}.contact-status-select select{margin-top:5px;padding:10px 12px}.contact-grid #contactForm label{text-transform:none;font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:0}.contact-grid #contactForm input,.contact-grid #contactForm textarea{font-family:"Century Gothic",CenturyGothic,Arial,sans-serif}
@media(max-width:900px){.contact-request-filters{justify-content:flex-start}.contact-request-head{flex-direction:column}.contact-request-actions{align-items:stretch}.contact-status-select{width:100%}}

/* =========================================================
   GALLERIA CLIENTE - layout dinamico da mockup PowerPoint
   ========================================================= */
:root{
  --gc-paper:#fcfaf8;
  --gc-panel:#fcfaf8;
  --gc-card:#ffffff;
  --gc-border:#e7ded8;
  --gc-text:#4b4440;
  --gc-title:#3a1a1a;
  --gc-blush:#b68f7e;
  --gc-blush-deep:#a57761;
  --gc-gold:#a38454;
  --gc-shadow:0 12px 34px rgba(78,58,47,.07);
}

.gallery-header-tagline{display:none;white-space:pre-line;font-family:var(--gc-font-family,Allura,"Segoe Script",cursive);color:var(--gc-text);font-size:calc((clamp(.78rem,.8vw,1rem)) * var(--gc-font-scale,1));line-height:1.05;border-left:1px solid var(--gc-border);padding-left:18px;margin-left:6px}
body.gallery-client-mode{background:var(--gc-paper)}
/* Menu Galleria: velatura marrone in fascia separata SOPRA l'intestazione */
body.gallery-page-mode .site-header{
  position:sticky;
  top:0;
  left:auto;
  right:auto;
  width:100%;
  height:94px;
  padding:0 7vw;
  z-index:1000;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(46,33,26,.96),rgba(74,53,42,.93));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 26px rgba(45,31,23,.14);
  transition:height .28s ease,padding .28s ease,background .28s ease;
}
body.gallery-page-mode .site-header .brand{
  display:flex;
  align-items:center;
  align-self:stretch;
  height:100%;
  overflow:hidden;
}
body.gallery-page-mode .site-header .brand img{
  height:90px;
  max-height:100%;
  width:auto;
  max-width:none;
  object-fit:contain;
  filter:none;
}
body.gallery-page-mode .site-header .nav a{
  color:#fff;
}
body.gallery-page-mode .site-header .menu-toggle{
  color:#fff;
}
body.gallery-page-mode .gallery-header-tagline{
  color:rgba(255,255,255,.88);
  border-left-color:rgba(255,255,255,.25);
  align-self:center;
  margin-top:0;
  margin-bottom:0;
}
body.gallery-page-mode.gallery-menu-compact .site-header{
  height:60px;
  padding-top:0;
  padding-bottom:0;
  background:linear-gradient(90deg,rgba(46,33,26,.98),rgba(74,53,42,.96));
  box-shadow:0 10px 28px rgba(45,31,23,.20);
}
body.gallery-page-mode.gallery-menu-compact .site-header .brand img{
  height:56px;
  max-height:100%;
  max-width:none;
}
body.gallery-page-mode.gallery-menu-compact .site-header .nav a{
  font-size:.65rem;
}
body.gallery-page-mode.gallery-menu-compact .gallery-header-tagline{
  display:none!important;
}
/* L'header è nel flusso: non copre più l'immagine di intestazione */
body.gallery-page-mode .gallery-login-hero{
  padding:119px 7vw 52.5px;
}
body.gallery-client-mode #page-gallery{padding-top:0}
body.gallery-client-mode .site-header{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center;isolation:isolate;overflow:hidden}
body.gallery-client-mode .site-header::before{display:none}
body.gallery-client-mode .site-header .brand img{width:auto;object-fit:contain;filter:none}
body.gallery-client-mode .gallery-header-tagline:not(.hidden){display:flex;align-items:center;align-self:center;grid-column:2;grid-row:1;justify-self:start;min-height:52px}
body.gallery-client-mode .nav{position:absolute;left:50%;transform:translateX(-50%);justify-self:center;gap:26px}
body.gallery-client-mode .nav a{color:#fff;font-size:calc((.72rem) * var(--gc-font-scale,1));letter-spacing:.08em}
body.gallery-client-mode .nav .nav-cta{display:none}

.gc-shell{width:min(93.3%,2800px);margin:0 auto clamp(34px,3vw,70px);color:var(--gc-text);font-family:var(--gc-font-family,Arial,sans-serif)}

.gc-hero{position:relative;display:grid;grid-template-columns:minmax(0,2.35fr) minmax(200px,1fr) minmax(0,1.5fr) minmax(0,1.45fr);align-items:center;gap:clamp(18px,1.6vw,34px);height:clamp(360px,calc(17.708333vw + 20px),700px);min-height:clamp(360px,calc(17.708333vw + 20px),700px);padding:20px 3.3vw 65px;margin-inline:-3.59%;width:auto;background:linear-gradient(90deg,#fbf5f0 0%,#f8eee8 54%,#f4e7df 100%);border-bottom:1px solid rgba(231,222,216,.8);overflow:visible}
.gc-hero-copy{position:relative;z-index:3;align-self:center}
.gc-hero-copy h1{font-family:var(--gc-font-family,"Times New Roman",Georgia,serif);font-size:calc((clamp(1.9rem,2.2vw,2.7rem)) * var(--gc-font-scale,1));font-weight:400;color:var(--gc-title);line-height:.98;margin:0 0 .45rem;letter-spacing:-.02em}
.gc-hero-subtitle{font-family:var(--gc-font-family,"Times New Roman",Georgia,serif);font-size:calc((clamp(1rem,1.25vw,1.45rem)) * var(--gc-font-scale,1));color:var(--gc-text);margin:.15rem 0 .5rem}
.gc-hero-description,.gc-hero-secondary{max-width:720px;margin:.12rem 0;color:#5c514c;font-family:var(--gc-font-family,Arial,sans-serif);font-size:calc((clamp(.8rem,.78vw,.95rem)) * var(--gc-font-scale,1));line-height:1.45;white-space:pre-line}
.gc-deadline-card{max-width:280px;position:relative;z-index:3;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:rgba(231,215,207,.72);border:1px solid rgba(255,255,255,.75);border-radius:12px;padding:16px 18px;box-shadow:0 7px 20px rgba(110,80,65,.06)}
.gc-calendar-icon{font-size:calc((2rem) * var(--gc-font-scale,1));color:var(--gc-blush)}
.gc-deadline-card span,.gc-deadline-card small{display:block;font-size:calc((.78rem) * var(--gc-font-scale,1));color:#675952}
.gc-deadline-card strong{display:block;font-size:calc((1rem) * var(--gc-font-scale,1));color:#3f3733;margin:.15rem 0;text-transform:capitalize}
.gc-script-copy{position:relative;z-index:3;font-family:var(--gc-font-family,"Great Day Personal Use",Allura,"Segoe Script",cursive);font-size:calc((clamp(1.6rem,2vw,2.7rem)) * var(--gc-font-scale,1));line-height:1.15;color:#887266;white-space:pre-line;text-align:center;transform:rotate(-4deg)}
.gc-hero-visual{position:absolute;right:0;top:0;bottom:0;width:70%;height:100%;z-index:1;overflow:hidden;pointer-events:none}
.gc-hero-main-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.96;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 17%,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 17%,#000 40%)}
.gc-hero-decorative-image{position:absolute;left:5%;top:8%;width:35%;height:84%;object-fit:contain;opacity:.88}
.gc-hero-right-text{position:absolute;right:4%;top:45%;max-width:23%;z-index:3;font-family:var(--gc-font-family,Allura,"Segoe Script",cursive);font-size:calc((clamp(1.1rem,1.3vw,2rem)) * var(--gc-font-scale,1));line-height:1.25;color:#8e7167;text-align:center;white-space:pre-line}

.gc-notice{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  margin:18px 0;
  padding:15px 22px 15px 18px;
  border:1px solid rgba(190,157,137,.34);
  border-left:4px solid #c9a18c;
  background:linear-gradient(90deg,rgba(250,244,239,.98),rgba(255,252,249,.96));
  color:#655852;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(83,59,47,.055);
  font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;
  font-size:calc((.82rem) * var(--gc-font-scale,1));
  line-height:1.5;
}
.gc-notice::before{
  content:"♡";
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(188,145,123,.42);
  border-radius:50%;
  background:rgba(255,255,255,.58);
  color:#b67f69;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  line-height:1;
}
.gc-notice strong{
  color:#8f624e;
  font-weight:700;
  letter-spacing:.015em;
  margin-right:3px;
}
.gc-notice.closed{
  border-color:rgba(173,112,101,.32);
  border-left-color:#a96f65;
  background:linear-gradient(90deg,rgba(249,239,237,.98),rgba(255,249,248,.96));
  color:#694d48;
}
.gc-notice.closed::before{
  content:"!";
  color:#9f5d55;
  border-color:rgba(169,111,101,.4);
}
.gc-notice.closed strong{
  color:#8f4f48;
}
@media(max-width:700px){
  .gc-notice{
    align-items:flex-start;
    gap:10px;
    padding:13px 14px;
    border-radius:12px;
  }
  .gc-notice::before{
    width:28px;
    height:28px;
    flex-basis:28px;
    font-size:1rem;
  }
}

.gc-toolbar{display:flex;justify-content:flex-end;align-items:center;min-height:46px;padding:7px 0}
.gc-page-size{display:flex;align-items:center;gap:10px;font-family:var(--gc-font-family,"Times New Roman",Georgia,serif);color:#655954;font-size:calc((.86rem) * var(--gc-font-scale,1))}
.gc-page-size-buttons{display:flex;gap:7px;align-items:center}
.gc-page-size-buttons button{min-width:48px;height:30px;padding:0 12px;border:1px solid var(--gc-border);border-radius:7px;background:var(--gc-panel);color:#655954;font:500 .72rem/1 "Century Gothic",Arial,sans-serif;cursor:pointer}
.gc-page-size-buttons button.active{background:var(--gc-blush);color:#fff;border-color:var(--gc-blush)}

.gc-selected-panel,.gc-all-panel{background:var(--gc-panel);border:1px solid var(--gc-border);border-radius:10px;box-shadow:var(--gc-shadow)}
.gc-selected-panel{position:relative;z-index:4;padding:26px 16px 11px;margin:-45px 0 14px;border-radius:16px}
.gc-selected-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;flex-wrap:wrap}
.gc-selected-head>div:first-child{display:flex;align-items:baseline;gap:18px;min-width:0}
.gc-selected-head h2,.gc-all-head h2{font-family:var(--gc-font-family,Arial,sans-serif);font-weight:400;color:var(--gc-blush-deep);font-size:calc((clamp(1.2rem,1.3vw,1.55rem)) * var(--gc-font-scale,1));margin:0;white-space:nowrap}
.gc-selected-head p,.gc-all-head p{margin:0;color:#70645e;font-family:var(--gc-font-family,"Times New Roman",Georgia,serif);font-size:calc((clamp(.72rem,.68vw,.95rem)) * var(--gc-font-scale,1));line-height:1.25}
.gc-selected-actions{display:flex;align-items:center;gap:18px;white-space:nowrap}
.gc-selected-actions strong{font-size:calc((.76rem) * var(--gc-font-scale,1));color:#4b4440}
.gc-pdf-btn{border:1px solid var(--gc-border);background:var(--gc-gold);color:#fff;border-radius:7px;padding:9px 18px;font:500 .72rem/1 "Century Gothic",Arial,sans-serif;cursor:pointer}
.gc-pdf-btn:disabled{opacity:.45;cursor:not-allowed}
.gc-selected-carousel{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:10px;align-items:center}
.gc-selected-arrow{width:34px;height:34px;border-radius:999px;border:1px solid var(--gc-border);background:#fff;color:#6e5c54;font-size:calc((1.45rem) * var(--gc-font-scale,1));line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(62,47,39,.05)}
.gc-selected-strip{display:flex;align-items:flex-start;gap:clamp(9px,.65vw,15px);overflow-x:auto;scroll-behavior:smooth;padding:2px 0 5px;scrollbar-width:none}
.gc-selected-strip::-webkit-scrollbar{display:none}
.gc-selected-empty{min-height:92px;display:flex;align-items:center;color:#a3938a;font-size:calc((.78rem) * var(--gc-font-scale,1))}
.gc-selected-thumb{flex:0 0 clamp(104px,6.25vw,125px);width:clamp(104px,6.25vw,125px);border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:var(--gc-text)}
.gc-selected-media{display:block;width:100%;aspect-ratio:1.6/1;border-radius:3px;overflow:hidden;background:#eee7e1;border:1px solid #eee6e0}
.gc-selected-media img{width:100%;height:100%;object-fit:cover;display:block}
.gc-selected-name{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:calc((.65rem) * var(--gc-font-scale,1));color:#574c47}
.gc-selected-meta{display:block;margin-top:1px;font-size:calc((.6rem) * var(--gc-font-scale,1));color:#9a7568}

.gc-all-panel{min-width:0;padding:12px 20px 0;margin:0}
.gc-all-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}
.gc-all-heading-copy{display:flex;align-items:baseline;gap:18px;min-width:0}
.gc-all-head h2{color:var(--gc-title)}
.gc-photo-count{white-space:nowrap;font-family:var(--gc-font-family,"Times New Roman",Georgia,serif);font-size:calc((.74rem) * var(--gc-font-scale,1));color:#5f544e}
.gc-main-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.gc-main-layout.with-preview{grid-template-columns:minmax(0,1fr) minmax(340px,26.5%)}
.gc-grid-column{min-width:0}
.gc-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(10px,.75vw,16px);align-items:start}
.gc-photo-card{min-width:0;background:var(--gc-card);border:1px solid var(--gc-border);border-radius:7px;overflow:hidden;box-shadow:0 3px 11px rgba(78,58,47,.035);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.gc-photo-card.selected{border-color:var(--gc-gold);box-shadow:0 0 0 1px var(--gc-gold),0 7px 18px rgba(121,91,51,.09)}
.gc-photo-media{position:relative;aspect-ratio:1.6/1;background:#f3eee9;overflow:hidden;cursor:pointer}
.gc-photo-media img{width:100%;height:100%;object-fit:contain;display:block}
.gc-card-check{margin:0;position:absolute;top:8px;left:8px;z-index:3;width:24px;height:24px;border-radius:999px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.18);display:grid;place-items:center;cursor:pointer}
.gc-card-check input{position:absolute;opacity:0;pointer-events:none}
.gc-card-check span{width:18px;height:18px;border-radius:999px;border:2px solid #8d817b;color:transparent;display:grid;place-items:center;font-size:calc((.7rem) * var(--gc-font-scale,1));font-weight:800}
.gc-card-check input:checked+span{background:var(--gc-gold);border-color:var(--gc-gold);color:#fff}
.gc-card-zoom{position:absolute;right:7px;bottom:7px;z-index:3;width:28px;height:28px;border-radius:999px;border:0;background:rgba(35,31,29,.72);color:#fff;font-size:calc((1rem) * var(--gc-font-scale,1));cursor:pointer}
.gc-card-body{padding:7px 8px 8px}
.gc-card-name{display:block;font:500 .7rem/1.2 "Century Gothic",Arial,sans-serif;color:#544a45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.gc-card-controls{display:grid;grid-template-columns:minmax(0,1fr) 52px 28px;gap:6px;align-items:center}
.gc-card-controls select,.gc-card-controls input{margin:0;height:28px;border:1px solid var(--gc-border);border-radius:5px;background:#fff;color:#584d48;padding:3px 6px;font-size:calc((.66rem) * var(--gc-font-scale,1));min-width:0}
.gc-card-note{height:28px;border:0;background:transparent;color:#9c7c6e;font-size:calc((1rem) * var(--gc-font-scale,1));cursor:pointer}

.gc-preview-panel{position:relative;background:var(--gc-panel);border:1px solid var(--gc-border);border-radius:9px;padding:14px;box-shadow:0 8px 24px rgba(71,53,44,.05);min-width:0}

.gc-preview-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#4e433e;font-size:calc((1.45rem) * var(--gc-font-scale,1));cursor:pointer;z-index:5}
.gc-preview-image-wrap{position:relative;margin-top:18px;background:#111;aspect-ratio:1.57/1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px}
.gc-preview-image-wrap img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}
.gc-preview-image-wrap.watermark::after{display:none}
.gc-preview-watermark-layer{
  position:absolute;
  inset:-32%;
  z-index:3;
  pointer-events:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(135px,1fr));
  grid-auto-rows:72px;
  align-items:center;
  justify-items:center;
  transform:rotate(-28deg);
  opacity:.52;
  overflow:hidden;
}
.gc-preview-watermark-layer.hidden{display:none!important}
.gc-preview-watermark-layer span{
  color:#fff;
  font-family:var(--watermark-font,Georgia,"Times New Roman",serif);
  font-size:var(--watermark-size,14px);
  white-space:nowrap;
  text-shadow:0 2px 7px rgba(0,0,0,.58);
  letter-spacing:.035em;
  user-select:none;
}
.gc-preview-nav{
  z-index:5;
}
.gc-preview-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:0;background:rgba(255,255,255,.94);color:#3e3531;font-size:calc((1.65rem) * var(--gc-font-scale,1));cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.12)}
.gc-preview-nav.prev{left:10px}.gc-preview-nav.next{right:10px}
.gc-preview-name-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 12px;font-size:calc((.72rem) * var(--gc-font-scale,1));color:#665b55}
.gc-preview-name-row strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-preview-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) 78px;
  gap:10px 9px;
  align-items:end;
}
.gc-preview-controls label{
  margin:0;
  color:#776a63;
  font-size:calc((.66rem) * var(--gc-font-scale,1));
  text-transform:none;
  letter-spacing:0;
  font-weight:400;
}
.gc-preview-controls select,
.gc-preview-controls input,
.gc-preview-controls textarea{
  width:100%;
  margin-top:4px;
  border:1px solid var(--gc-border);
  border-radius:6px;
  padding:7px 9px;
  background:#fff;
  color:#554a45;
  font-family:"Century Gothic",CenturyGothic,Arial,sans-serif;
  font-size:calc((.69rem) * var(--gc-font-scale,1));
}
.gc-preview-controls select,
.gc-preview-controls input{
  height:34px;
}
.gc-preview-note{
  grid-column:1 / -1;
  margin-top:2px!important;
}
.gc-preview-controls textarea{
  min-height:76px;
  line-height:1.45;
  resize:vertical;
}
.gc-preview-controls textarea::placeholder{
  color:#9a8d86;
  opacity:1;
}
.gc-preview-select{position:relative;display:flex;align-items:center;gap:8px;margin:13px 0 2px;color:#5a504b;font-size:calc((.72rem) * var(--gc-font-scale,1));cursor:pointer}
.gc-preview-select input{position:absolute;opacity:0;width:1px;height:1px;left:0;top:0;margin:0}
.gc-preview-select span{width:24px;height:24px;border-radius:5px;border:1px solid var(--gc-border);display:grid;place-items:center;background:#fff;color:transparent;font-weight:700}
.gc-preview-select input:checked+span{background:var(--gc-gold);border-color:var(--gc-gold);color:#fff}
.gc-preview-closed{margin:8px 0 0;color:#8f514a;font-size:calc((.7rem) * var(--gc-font-scale,1))}

.gc-pagination{grid-column:2;display:flex;justify-content:center;align-items:center;gap:6px;min-height:48px;margin-top:12px}
.gc-pagination button{width:34px;height:34px;border:1px solid var(--gc-border);background:var(--gc-panel);border-radius:6px;color:#655953;cursor:pointer;font:500 .72rem/1 "Century Gothic",Arial,sans-serif}
.gc-pagination button.active{background:var(--gc-blush);border-color:var(--gc-blush);color:#fff}
.gc-pagination button:disabled{opacity:.35;cursor:not-allowed}
.gc-page-ellipsis{padding:0 4px;color:#9a8a82}
.gc-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:14px}
.gc-footer-actions{display:flex;gap:14px;justify-content:flex-end;grid-column:3}
.gc-footer .btn{border-radius:7px;min-height:42px;padding:10px 22px;text-transform:none;letter-spacing:0;font-size:calc((.85rem) * var(--gc-font-scale,1))}
.gc-footer #publicFinishSelectionBtn{background:var(--gc-gold);border-color:var(--gc-gold)}
.gc-footer .draft-status{grid-column:1/-1;text-align:right;color:#887b74;font-size:calc((.7rem) * var(--gc-font-scale,1));min-height:1em}

/* editor admin - personalizzazione della singola galleria */
.gallery-edit-card{width:min(1080px,95vw);max-height:92vh;overflow:auto;padding-bottom:78px}
.gallery-edit-section{border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0;background:#fffdfb}
.gallery-edit-section h4{margin:0 0 10px;font-family:"Century Gothic",Arial,sans-serif;color:var(--ink);font-size:1rem}
.gallery-edit-section-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.gallery-client-customization{background:#fbf7f3}
.gallery-custom-image-block{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:14px;align-items:stretch;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.gallery-custom-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:7px 0 10px}
.compact-position-controls{grid-template-columns:1fr 1fr;margin-top:8px}
.gallery-custom-image-preview{position:relative;min-height:190px;border:1px dashed #d8c9bf;border-radius:10px;background:#f7f1ec;overflow:hidden;display:grid;place-items:center;color:#a29187;font-size:.78rem}
.gallery-custom-image-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.gallery-custom-image-preview.has-image img{display:block}
.gallery-custom-image-preview.has-image span{display:none}
.gallery-edit-sticky-actions{position:sticky;bottom:-1px;background:rgba(255,250,246,.96);border-top:1px solid var(--line);padding:12px 0 0;margin-top:16px;z-index:4}


.gc-header-decoration{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.gc-hero-extra-text{position:absolute;bottom:10%;right:4%;max-width:23%;white-space:pre-line;font:1rem/1.3 "Segoe Script",cursive}
.gc-selected-head>div:first-child{flex:1;flex-wrap:wrap}
#publicSelectedCount{border-radius:999px;background:#ecdcd4;color:#86645b;padding:7px 17px;font:600 .8rem Arial,sans-serif}
.gc-selected-head .gc-toolbar{padding:0;min-height:32px}
.gc-all-head{flex-wrap:wrap}
.gc-all-heading-copy{flex:1;flex-wrap:wrap;gap:14px}
.gc-photo-grid{max-height:none;overflow:visible;scrollbar-gutter:auto;padding:2px 2px 12px}
.gc-photo-media.watermark::after{font-size:var(--watermark-size,.65rem);font-family:var(--watermark-font,Georgia,"Times New Roman",serif)}
.gc-card-check:focus-within,.gc-preview-select:focus-within{outline:2px solid var(--gc-gold);outline-offset:2px}
.gc-shell button:focus-visible,.gc-shell input:focus-visible,.gc-shell select:focus-visible{outline:2px solid var(--gc-gold);outline-offset:2px}
.gc-shell input,.gc-shell select,.gc-shell textarea,.gc-shell button{font-family:var(--gc-font-family,Arial,sans-serif)}
.gc-shell label{letter-spacing:0;text-transform:none}
.gc-footer #publicSaveDraftBtn{background:#f3e5de}
.gc-notice{position:relative;z-index:5;margin:0 0 14px}
@media(max-width:1200px){
 .gc-hero{grid-template-columns:minmax(0,1.6fr) minmax(190px,1fr) minmax(0,1fr);height:360px;min-height:360px}
 .gc-hero-visual{width:36%}.gc-script-copy{align-self:end}
 .gc-main-layout.with-preview{grid-template-columns:minmax(0,1fr) 320px}
 .gc-photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}
 .gc-selected-head>div:first-child{flex-basis:100%}
 .gc-footer{grid-template-columns:1fr auto}.gc-footer-actions{grid-column:1/-1}.gc-pagination{grid-column:2}
}
@media(max-width:800px){
 body.gallery-client-mode #page-gallery{padding-top:0}
 body.gallery-client-mode .site-header{display:flex;padding-inline:4%} body.gallery-client-mode .site-header .brand img{width:auto;height:56px} body.gallery-client-mode .nav{position:fixed;left:0;transform:none}.gallery-header-tagline{display:none}
 .gc-shell{width:96%}.gc-hero{margin-inline:-2.08%;grid-template-columns:1fr 1fr;height:auto;min-height:0;padding:28px 4% 62px}
 .gc-hero-copy{grid-column:1/-1}.gc-hero-visual{position:relative;top:auto;width:100%;height:220px;grid-column:1/-1}.gc-logout{top:10px}.gc-hero{overflow:hidden}
 .gc-script-copy{font-size:calc(1.5rem * var(--gc-font-scale,1))}.gc-hero-right-text{font-size:calc(1rem * var(--gc-font-scale,1))}
 .gc-main-layout.with-preview{grid-template-columns:1fr}.gc-preview-panel{position:relative;top:auto;order:-1}
 .gc-preview-image-wrap{height:260px;aspect-ratio:auto}
 .gc-photo-grid{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}
 .gc-card-controls{grid-template-columns:minmax(0,1fr) 44px 24px;gap:3px}
 .gc-selected-head{gap:12px}.gc-selected-head>div:first-child{gap:10px}
 .gc-selected-head .gc-toolbar{overflow:auto;width:100%}.gc-page-size{gap:5px}.gc-page-size-buttons{gap:3px}.gc-page-size-buttons button{min-width:36px;padding:0 8px}
 .gc-footer{display:flex;flex-wrap:wrap}.gc-footer-actions{flex-wrap:wrap}.gc-pagination{margin:0}.gc-footer .draft-status{width:100%}
 .gallery-custom-image-block{grid-template-columns:1fr}.gallery-header-tagline{max-width:100px}
}


/* v83 - pulsanti scelta sotto la box anteprima */
.gc-preview-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:-2px;
}
.gc-preview-actions.hidden{display:none!important}
.gc-preview-actions .btn{
  width:100%;
  min-height:42px;
  margin:0;
  border-radius:7px;
  padding:10px 14px;
  text-transform:none;
  letter-spacing:0;
  font-size:calc((.82rem) * var(--gc-font-scale,1));
}
.gc-preview-actions #publicSaveDraftBtn{background:#f3e5de}
.gc-preview-actions #publicFinishSelectionBtn{
  background:var(--gc-gold);
  border-color:var(--gc-gold);
}
.gc-preview-actions .draft-status{
  grid-column:1/-1;
  width:100%;
  margin:0;
  min-height:1em;
  text-align:right;
  color:#887b74;
  font-size:calc((.7rem) * var(--gc-font-scale,1));
}

/* Footer rimasto sotto la griglia: solo torna indietro + paginazione */
.gc-footer{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:14px;
  margin-top:14px;
}
.gc-footer .gc-pagination{
  grid-column:2;
  margin-top:0;
}

/* Su schermi stretti i pulsanti restano subito dopo l'anteprima */
@media(max-width:800px){
  .gc-preview-actions{
    grid-column:1;
    grid-template-columns:1fr 1fr;
    margin:0 0 14px;
  }
}
@media(max-width:520px){
  .gc-preview-actions{grid-template-columns:1fr}
}


/* v84 - anteprima + pulsanti come blocco sticky unico */
.gc-preview-column{
  display:none;
  min-width:0;
}
.gc-main-layout.with-preview .gc-preview-column{
  display:flex;
  grid-column:2;
  flex-direction:column;
  gap:12px;
  position:sticky;
  top:86px;
  align-self:start;
  max-height:calc(100vh - 104px);
}
.gc-main-layout.with-preview .gc-preview-panel{
  position:relative;
  top:auto;
  width:100%;
  flex:0 0 auto;
}
.gc-main-layout.with-preview .gc-preview-actions{
  width:100%;
  flex:0 0 auto;
  margin:0;
}

/* Se il viewport è basso, il blocco resta fermo ma può scorrere internamente
   senza seguire lo scroll della galleria a sinistra. */
@media (min-width:801px){
  .gc-main-layout.with-preview .gc-preview-column{
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    padding-bottom:2px;
  }
}

/* Su tablet/mobile torna nel flusso normale. */
@media(max-width:800px){
  .gc-main-layout.with-preview .gc-preview-column{
    display:flex;
    grid-column:1;
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
    order:-1;
  }
  .gc-main-layout.with-preview .gc-preview-actions{
    margin:0 0 14px;
  }
}

@media(max-width:900px){
  body.gallery-page-mode .site-header{
    height:72px;
    padding:4px 18px;
    background:linear-gradient(90deg,rgba(46,33,26,.98),rgba(74,53,42,.96));
  }
  body.gallery-page-mode .site-header .brand img{height:68px;max-width:none}
  body.gallery-page-mode.gallery-menu-compact .site-header{height:54px;padding:2px 18px}
  body.gallery-page-mode.gallery-menu-compact .site-header .brand img{height:50px}
  body.gallery-page-mode .nav{
    top:100%;
    background:rgba(46,33,26,.98);
  }
  body.gallery-page-mode .nav a,
  body.gallery-page-mode .site-header.scrolled .nav a{color:#fff}
}

/* Logout Galleria privata: integrato nella barra marrone, discreto e sempre raggiungibile */
.gallery-menu-logout{
  display:none;
}
body.gallery-client-mode .gallery-menu-logout{
  position:absolute;
  right:clamp(18px,3.2vw,62px);
  top:50%;
  transform:translateY(-50%);
  z-index:8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 14px 8px 11px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font:600 .66rem/1 "Century Gothic",Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
body.gallery-client-mode .gallery-menu-logout:hover{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.55);
}
body.gallery-client-mode .gallery-menu-logout:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:3px;
}
.gallery-menu-logout-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  font-size:.95rem;
  line-height:1;
}
body.gallery-page-mode.gallery-menu-compact .gallery-menu-logout{
  min-height:32px;
  padding:5px 10px 5px 7px;
  gap:6px;
  font-size:.6rem;
}
body.gallery-page-mode.gallery-menu-compact .gallery-menu-logout-icon{
  width:20px;
  height:20px;
  font-size:.82rem;
}
@media(max-width:980px){
  body.gallery-client-mode .gallery-menu-logout{
    right:70px;
    width:38px;
    min-width:38px;
    height:38px;
    padding:0;
  }
  body.gallery-client-mode .gallery-menu-logout-label{
    display:none;
  }
  body.gallery-client-mode .gallery-menu-logout-icon{
    border:0;
    width:auto;
    height:auto;
  }
}

@media(max-width:700px){
  .gc-preview-watermark-layer{
    inset:-38%;
    grid-template-columns:repeat(4,minmax(105px,1fr));
    grid-auto-rows:58px;
  }
  .gc-preview-controls textarea{
    min-height:84px;
  }
}

/* Privacy e Cookie Policy */
.legal-page{max-width:1050px;margin:0 auto}.legal-panel{line-height:1.72}.legal-panel h2{margin:30px 0 10px;font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.legal-panel h2:first-of-type{margin-top:14px}.legal-panel p{color:var(--soft-ink)}.legal-panel a,.form-privacy-note a{color:var(--ink);text-underline-offset:3px}.form-privacy-note{font-size:.78rem;line-height:1.5;color:var(--muted);margin:6px 0 16px}.cookie-table-wrap{overflow-x:auto;margin:20px 0}.cookie-table{width:100%;border-collapse:collapse;min-width:720px}.cookie-table th,.cookie-table td{padding:13px 14px;border:1px solid var(--line);vertical-align:top;text-align:left}.cookie-table th{background:#f4eee6;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.cookie-table td{font-size:.88rem}.cookie-table code{font-size:.82rem}.legal-hero{background:#2e2925;color:#fff}


/* v97.1 gestione password per singolo utente */
.users-admin-layout{grid-template-columns:minmax(320px,520px)}
.admin-user-item .admin-user-head{margin-bottom:0}
.admin-user-item .btn.danger{margin-top:0}
.user-password-editor{margin-top:16px;padding:18px;border-top:1px solid var(--line);background:#fff}
.user-password-editor h4{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:400}
.user-password-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.user-password-editor .list-actions{margin-top:6px}
@media(max-width:700px){.user-password-fields{grid-template-columns:1fr}.admin-user-head .list-actions{width:100%;flex-direction:column;align-items:stretch}.admin-user-head .list-actions .btn{width:100%}}

/* v97.3 - Restyling pagina Utenti e password + foto profilo utenti */
#admin-tab-users{padding:0}
#admin-tab-users .users-page{--users-rose:#c98f90;--users-rose-dark:#a9696d;--users-rose-soft:#f7e8e7;--users-cream:#fffdfb;--users-taupe:#efe5dc;--users-green:#1d9a62;--users-green-soft:#e4f7ee;--users-gray-soft:#f0f1f3;--users-red:#d45252;--users-red-soft:#fff3f2;color:var(--ink)}
.users-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;margin:2px 0 30px;padding:2px 8px 0}
.users-breadcrumb{margin:0 0 16px;color:#9a7c79;font-size:.78rem;letter-spacing:.01em}.users-breadcrumb span{padding:0 7px;color:#b9aaa3}
.users-page-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,4vw,4.1rem);line-height:1.02;font-weight:400;letter-spacing:-.035em;margin:0 0 15px;color:#171615}
.users-page-copy{margin:0;color:#68707d;line-height:1.58;font-size:.98rem}
.users-script-note{margin:8px 22px 0 0;min-width:180px;text-align:center;color:#b77578;font-family:"Segoe Script","Brush Script MT",cursive;font-size:1.18rem;line-height:1.38;transform:rotate(-5deg)}

.users-toolbar{display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(170px,.62fr) minmax(170px,.62fr) minmax(190px,.82fr);gap:18px;align-items:stretch;margin-bottom:20px;padding:0 8px}
.users-search-field,.users-filter-field{margin:0!important;position:relative;display:flex!important;align-items:center;border:1px solid #e4dad3;border-radius:8px;background:rgba(255,255,255,.92);min-height:56px;text-transform:none!important;letter-spacing:0!important;color:#5c626d!important;box-shadow:0 3px 14px rgba(57,42,31,.025)}
.users-search-field input,.users-filter-field select{border:0!important;background:transparent!important;margin:0!important;min-height:54px;padding:0 16px!important;box-shadow:none!important;color:#333942!important;font-size:.92rem!important}
.users-search-field input{padding-left:52px!important}.users-search-icon{position:absolute;left:17px;top:50%;transform:translateY(-52%);font-size:1.8rem;font-family:Georgia,serif;color:#7d6666;line-height:1;z-index:1}
.users-filter-field span{display:none}.users-filter-field select{appearance:auto;cursor:pointer}
.users-new-btn{border:0;border-radius:7px;background:linear-gradient(135deg,#d3a0a0,#bd7f82);color:#fff;min-height:56px;padding:0 22px;font-family:Georgia,"Times New Roman",serif;font-size:1rem;cursor:pointer;box-shadow:0 10px 24px rgba(161,102,105,.16);transition:.2s ease}.users-new-btn span{font-family:Arial,sans-serif;font-size:1.65rem;font-weight:200;vertical-align:-2px;margin-right:7px}.users-new-btn:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(161,102,105,.23)}

.users-create-panel{margin:0 8px 22px;background:linear-gradient(135deg,#fff,#fff9f7);border:1px solid #eaded8;border-radius:10px;box-shadow:0 16px 42px rgba(72,47,36,.08);overflow:hidden}
.users-create-form{padding:24px 26px}.users-create-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.users-create-title-row h3{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:400;margin:3px 0 0}.users-kicker{margin:0;color:#b47779;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.users-close-btn{border:0;background:transparent;font-size:1.8rem;line-height:1;color:#7d6f68;cursor:pointer;padding:0 3px}.users-create-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:18px;margin-top:16px}.users-create-grid label{margin:0!important;text-transform:none!important;letter-spacing:0!important;color:#3e4349!important;font-size:.78rem!important;font-weight:600}.users-create-grid input,.users-create-grid select{border:1px solid #dfd3cc!important;border-radius:6px;background:#fff!important;padding:12px 13px!important;margin-top:7px!important}.users-create-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.users-create-actions p{margin:0;color:#81736c;font-size:.78rem;line-height:1.45}.users-primary-btn{border:0;border-radius:6px;background:#1d1a18;color:#fff;padding:13px 21px;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;cursor:pointer;white-space:nowrap}

.users-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:24px;align-items:start;padding:0 8px}
.users-table-card,.users-detail-card{background:rgba(255,255,255,.95);border:1px solid #e7dfda;border-radius:9px;box-shadow:0 8px 28px rgba(54,42,32,.045);overflow:hidden}
.users-table-head,.users-table-row{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(100px,.72fr) minmax(95px,.65fr) minmax(125px,.82fr) minmax(310px,1.55fr);align-items:center;gap:14px}
.users-table-head{min-height:61px;padding:0 18px;border-bottom:1px solid #e8dfda;font-family:Georgia,"Times New Roman",serif;font-size:.93rem;color:#211f1d}
.users-table-row{position:relative;min-height:92px;padding:0 18px;border-bottom:1px solid #eee6e1;transition:.18s ease;cursor:pointer}.users-table-row:last-child{border-bottom:0}.users-table-row:hover{background:#fffaf9}.users-table-row.selected{background:linear-gradient(90deg,#f9eceb,#fff8f7)}
.users-user-cell{display:flex;align-items:center;gap:14px;min-width:0}.users-avatar{position:relative;width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#eadad2,#f5ece6);color:#7f5558;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;border:1px solid #eadbd5;box-shadow:0 4px 12px rgba(91,65,51,.08)}.users-avatar>span{position:relative;z-index:0}.users-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.users-user-text{min-width:0}.users-user-text strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.97rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-user-text small{display:block;margin-top:3px;color:#9b8f87;font-size:.68rem}.users-role-pill,.users-status-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;border-radius:999px;padding:7px 11px;font-size:.7rem;line-height:1;white-space:nowrap}.users-role-pill.admin{background:#f4dcdb;color:#894e53}.users-role-pill.temp{background:#efe6dc;color:#66564c}.users-status-pill.active{background:var(--users-green-soft);color:#28754f}.users-status-pill.inactive{background:var(--users-gray-soft);color:#6d747d}.users-status-pill i{width:7px;height:7px;border-radius:50%;background:currentColor;display:block}.users-created{font-size:.74rem;color:#6f747c;line-height:1.35}.users-row-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end;min-width:0}.users-action-btn{border:1px solid #ded8d3;background:#fff;color:#343434;border-radius:6px;padding:10px 11px;font-size:.68rem;cursor:pointer;white-space:nowrap;transition:.18s ease}.users-action-btn:hover{background:#fbf6f3;border-color:#d1c4bd}.users-action-btn.password{min-width:118px}.users-action-btn.danger{border-color:#f0d1cf;color:#cf4c4f;background:#fffafa}.users-action-btn.activate{border-color:#cfe7da;color:#2a7e56;background:#f7fffb}.users-action-btn:disabled{opacity:.42;cursor:not-allowed}.users-action-icon{font-size:.9rem;margin-right:5px;vertical-align:-1px}.users-table-footer{padding:17px 18px;color:#726b67;font-size:.75rem;border-top:1px solid #eee6e1;background:#fffdfc}
.users-no-results{padding:35px 20px;text-align:center;color:#8e817a;font-size:.88rem}

.users-inline-editor{grid-column:1/-1;margin:0 18px 16px;padding:17px 18px;background:#fff;border:1px solid #eaded8;border-radius:7px;cursor:default}.users-inline-editor h4{margin:0 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:400}.users-inline-editor p{margin:0 0 12px;color:#81766f;font-size:.74rem}.users-inline-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.users-inline-fields.single{grid-template-columns:minmax(180px,320px) auto}.users-inline-fields label{margin:0!important;text-transform:none!important;letter-spacing:0!important;color:#4a4c50!important;font-size:.72rem!important;font-weight:600}.users-inline-fields input,.users-inline-fields select{margin-top:6px!important;padding:10px 11px!important;border:1px solid #ded2cb!important;border-radius:5px}.users-inline-buttons{display:flex;gap:8px;align-items:center}.users-inline-save,.users-inline-cancel{border-radius:5px;padding:11px 13px;border:1px solid #d9d0cb;cursor:pointer;font-size:.68rem;white-space:nowrap}.users-inline-save{background:#1d1a18;color:white;border-color:#1d1a18}.users-inline-cancel{background:white;color:#3c3937}

.users-detail-card{padding:30px 28px;min-height:560px}.users-detail-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:400;margin:0 0 26px;letter-spacing:.01em}.users-detail-profile{display:flex;align-items:flex-start;gap:22px;margin-bottom:28px}.users-photo-column{width:116px;flex:0 0 116px;display:flex;flex-direction:column;align-items:center}.users-avatar.users-avatar-detail{width:92px;height:92px;flex-basis:92px;font-size:1.65rem;border-width:1px;box-shadow:0 8px 22px rgba(91,65,51,.12)}.users-photo-input{display:none}.users-photo-upload,.users-photo-remove{width:100%;margin-top:9px;border-radius:6px;padding:8px 7px;font-size:.68rem;cursor:pointer;transition:.18s ease}.users-photo-upload{border:1px solid #d9c8c1;background:#fff;color:#7e5558}.users-photo-upload:hover{background:#fbf1ef;border-color:#c99b9d}.users-photo-upload:disabled{opacity:.55;cursor:wait}.users-photo-remove{border:0;background:transparent;color:#b2696d;padding-top:2px;padding-bottom:2px}.users-photo-remove:hover{text-decoration:underline}.users-photo-hint{display:block!important;text-align:center!important;color:#9c918b!important;font-size:.59rem!important;line-height:1.35!important;margin-top:6px!important}.users-detail-identity{min-width:0;padding-top:7px}.users-detail-profile strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.2}.users-detail-profile small{display:block;color:#817871;margin-top:6px;font-size:.82rem;line-height:1.35}.users-detail-status{margin-top:11px}.users-detail-row{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:13px 0}.users-detail-icon{width:34px;height:34px;border:1px solid #ddd4ce;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:#655b56}.users-detail-row b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.96rem;font-weight:400;color:#3b3734}.users-detail-row span:last-child{display:block;color:#6e737b;font-size:.84rem;margin-top:4px;line-height:1.4}.users-detail-divider{height:1px;background:#e8dfda;margin:15px 0 21px}.users-permissions-title{font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;margin-bottom:14px}.users-permission{display:flex;align-items:flex-start;gap:11px;color:#6a7077;font-size:.82rem;margin:11px 0;line-height:1.3}.users-permission i{width:21px;height:21px;flex:0 0 21px;border-radius:4px;background:#cb9697;color:white;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.75rem}.users-permission.off i{background:#e4e1df;color:#9e9895}.users-detail-delete{margin-top:25px;padding-top:20px;border-top:1px solid #eee4df}.users-detail-delete button{width:100%;border:1px solid #f0d0ce;background:#fffafa;color:#cb4f51;border-radius:6px;padding:13px 14px;font-size:.76rem;cursor:pointer}.users-detail-delete button:disabled{opacity:.45;cursor:not-allowed}.users-detail-empty{text-align:center;padding:70px 14px 44px;color:#8d817a}.users-detail-empty>span{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#f3e9e4;color:#a36d70;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.45rem}.users-detail-empty h3{margin:0 0 8px}.users-detail-empty p{font-size:.82rem;line-height:1.5;margin:0}

@media(max-width:1380px) and (min-width:1181px){.users-workspace{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.users-detail-card{padding-left:22px;padding-right:22px}.users-photo-column{width:102px;flex-basis:102px}.users-avatar.users-avatar-detail{width:82px;height:82px;flex-basis:82px}}
@media(max-width:1180px){.users-workspace{grid-template-columns:1fr}.users-detail-card{display:none}.users-table-head,.users-table-row{grid-template-columns:minmax(180px,1.25fr) 100px 90px 120px minmax(280px,1.55fr)}.users-script-note{display:none}}
@media(max-width:930px){.users-toolbar{grid-template-columns:1fr 1fr}.users-search-field{grid-column:1/-1}.users-new-btn{grid-column:1/-1}.users-table-card{overflow-x:auto}.users-table-head,.users-table-row{min-width:850px}.users-create-grid{grid-template-columns:1fr}.users-create-actions{align-items:flex-start;flex-direction:column}.users-primary-btn{width:100%}}
@media(max-width:620px){.users-page-heading{padding-left:0;padding-right:0}.users-page-heading h2{font-size:2.45rem}.users-toolbar,.users-workspace{padding-left:0;padding-right:0}.users-toolbar{grid-template-columns:1fr}.users-search-field,.users-new-btn{grid-column:auto}.users-create-panel{margin-left:0;margin-right:0}.users-inline-fields,.users-inline-fields.single{grid-template-columns:1fr}.users-inline-buttons{width:100%}.users-inline-save,.users-inline-cancel{flex:1}.users-page-copy br{display:none}}

/* =========================================================
   v97.4 - RESTYLING COMPLETO AREA RISERVATA
   Ispirato al mockup beige/rosa approvato.
   Solo presentazione: nessuna logica applicativa modificata.
   ========================================================= */

#page-admin{
  --admin-rose:#c68f91;
  --admin-rose-dark:#a96e72;
  --admin-rose-soft:#f7e9e7;
  --admin-rose-faint:#fcf5f3;
  --admin-ink:#171512;
  --admin-copy:#625a55;
  --admin-muted:#91847b;
  --admin-border:#eadbd4;
  --admin-card:#fffdfb;
  --admin-bg:#fbf6f0;
  --admin-shadow:0 18px 48px rgba(81,61,49,.08);
  --admin-shadow-soft:0 8px 24px rgba(81,61,49,.06);
  background:
    radial-gradient(circle at 84% 9%,rgba(198,143,145,.09),transparent 30%),
    linear-gradient(180deg,#fffaf6 0,#fbf6f0 50%,#fffaf7 100%);
}

/* Una volta autenticati, l'area operativa diventa la vera testata della pagina. */
@supports selector(body:has(*)){
  body:has(#adminDashboard:not(.hidden)) #page-admin > .admin-hero{display:none}
}

#adminDashboard.section{
  width:100%;
  padding:42px clamp(28px,3.5vw,72px) 80px;
  background:transparent;
}

#adminDashboard .admin-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0 0 28px;
  padding:0 2px;
}
#adminDashboard .admin-top .eyebrow{
  margin:0 0 10px;
  color:#b47c58;
  font-size:.72rem;
  line-height:1;
  letter-spacing:.22em;
}
#adminDashboard .admin-top h2{
  margin:0;
  color:var(--admin-ink);
  font-size:clamp(2.6rem,4.4vw,4.65rem);
  line-height:.96;
  letter-spacing:-.025em;
}
#adminDashboard .admin-actions{
  width:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:nowrap;
  padding:8px 10px;
  border:1px solid rgba(234,219,212,.78);
  background:rgba(255,253,251,.74);
  border-radius:999px;
  box-shadow:var(--admin-shadow-soft);
  backdrop-filter:blur(12px);
}
#adminDashboard #adminRoleBadge{
  min-width:max-content;
  margin:0 5px;
  color:#81746b;
  font-size:.78rem;
}
#adminDashboard .notification-bell{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border:1px solid var(--admin-border);
  background:#fff;
  border-radius:50%;
  box-shadow:0 7px 20px rgba(81,61,49,.08);
  font-size:1.05rem;
}
#adminDashboard .notification-bell:hover{
  border-color:#d7b4aa;
  box-shadow:0 10px 26px rgba(81,61,49,.12);
}
#adminDashboard .notification-badge{
  top:-4px;
  right:-3px;
  min-width:20px;
  height:20px;
  background:var(--admin-rose);
  border:2px solid #fff;
  font-size:.65rem;
}
#adminDashboard #adminLogoutBtn{
  margin:0;
  min-width:94px;
  height:46px;
  border-color:#e1c9bf;
  border-radius:999px;
  background:#fffaf7;
  letter-spacing:.14em;
}

/* NOTIFICHE */
#adminDashboard .notification-panel{
  margin:0 0 28px;
  padding:28px 32px 30px;
  border:1px solid var(--admin-border);
  border-radius:18px;
  background:rgba(255,253,251,.94);
  box-shadow:var(--admin-shadow);
}
#adminDashboard .notification-panel .panel-title-row{
  margin:0 0 18px;
  gap:20px;
}
#adminDashboard .notification-panel h3{
  margin:0;
  color:var(--admin-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  font-weight:400;
  letter-spacing:.08em;
}
#adminDashboard .notification-actions{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
#adminDashboard .notification-actions .btn{
  min-height:48px;
  padding:12px 20px;
  border:1px solid #dfc5bc;
  border-radius:999px;
  background:#fffaf7;
  color:#382d29;
  box-shadow:0 5px 14px rgba(102,74,61,.045);
  font-size:.65rem;
}
#adminDashboard #goToSelectionsBtn{background:linear-gradient(180deg,#cf9b9a,#bf8385);color:#fff;border-color:#bf8385}
#adminDashboard #goToSelectionsBtn::before{content:"▦";font-size:1rem}
#adminDashboard #markNotificationsReadBtn::before{content:"✉";font-size:1rem;color:#a66f62}
#adminDashboard #archiveNotificationsBtn::before{content:"▣";font-size:.9rem;color:#a66f62}
#adminDashboard .notification-filter-row{
  display:inline-flex;
  gap:0;
  margin:0 0 20px;
  padding:0;
  overflow:hidden;
  border:1px solid #e4cec5;
  border-radius:14px;
  background:#fffaf7;
  box-shadow:0 4px 14px rgba(87,61,48,.045);
}
#adminDashboard .notification-filter-row .btn{
  min-width:116px;
  min-height:46px;
  margin:0;
  padding:11px 20px;
  border:0;
  border-right:1px solid #e4cec5;
  border-radius:0;
  background:transparent;
  color:#62524b;
  box-shadow:none;
}
#adminDashboard .notification-filter-row .btn:last-child{border-right:0}
#adminDashboard .notification-filter-row .btn.dark{
  background:linear-gradient(180deg,#c79392,#b8797c);
  color:#fff;
}
#adminDashboard .notification-list{gap:12px}
#adminDashboard .notification-item{
  padding:16px 18px;
  border:1px solid var(--admin-border);
  border-radius:12px;
  background:#fff;
}
#adminDashboard .notification-item.unread{
  border-color:#d7aaa6;
  background:#fff8f6;
  box-shadow:inset 4px 0 0 var(--admin-rose);
}

/* MENU PRINCIPALE DELL'AREA RISERVATA */
#adminDashboard .admin-tabs{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:9px;
  width:100%;
  margin:0 0 30px;
  padding:11px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  border:1px solid var(--admin-border);
  border-radius:20px;
  background:rgba(255,253,251,.88);
  box-shadow:var(--admin-shadow-soft);
  backdrop-filter:blur(10px);
}
#adminDashboard .admin-tabs button{
  flex:1 0 auto;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0;
  padding:11px 16px;
  border:1px solid #ead7d0;
  border-radius:13px;
  background:#fffaf7;
  color:#443b36;
  cursor:pointer;
  font-size:.65rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease;
}
#adminDashboard .admin-tabs button::before{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  color:#aa7569;
  font-size:1.05rem;
  line-height:1;
  font-weight:400;
}
#adminDashboard .admin-tabs button[data-admin-tab="control"]::before{content:"⌂"}
#adminDashboard .admin-tabs button[data-admin-tab="galleries"]::before{content:"▧"}
#adminDashboard .admin-tabs button[data-admin-tab="upload"]::before{content:"↥"}
#adminDashboard .admin-tabs button[data-admin-tab="gallery-preview"]::before{content:"▣"}
#adminDashboard .admin-tabs button[data-admin-tab="selections"]::before{content:"♡";font-size:1.25rem}
#adminDashboard .admin-tabs button[data-admin-tab="contact-requests"]::before{content:"◯"}
#adminDashboard .admin-tabs button[data-admin-tab="emails"]::before{content:"✉"}
#adminDashboard .admin-tabs button[data-admin-tab="site"]::before{content:"▤"}
#adminDashboard .admin-tabs button[data-admin-tab="users"]::before{content:"♙"}
#adminDashboard .admin-tabs button:hover{
  transform:translateY(-1px);
  border-color:#d7b3aa;
  background:#fff;
  box-shadow:0 7px 18px rgba(96,69,56,.07);
}
#adminDashboard .admin-tabs button.active{
  border-color:#b97c7f;
  background:linear-gradient(180deg,#ca9696,#b8797c);
  color:#fff;
  box-shadow:0 8px 20px rgba(180,114,118,.24);
}
#adminDashboard .admin-tabs button.active::before{color:#fff}

/* CARTE, PANNELLI E STRUTTURE COMUNI */
#adminDashboard .admin-tab{animation:adminTabFade .28s ease both}
@keyframes adminTabFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
#adminDashboard .panel,
#adminDashboard .control-card,
#adminDashboard .list-item,
#adminDashboard .admin-client-preview-panel{
  border:1px solid var(--admin-border);
  border-radius:16px;
  background:rgba(255,253,251,.96);
  box-shadow:var(--admin-shadow-soft);
}
#adminDashboard .panel{
  padding:28px;
}
#adminDashboard .panel h3:not(.users-details-card h3){
  margin:0 0 18px;
  color:var(--admin-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
  font-weight:400;
  letter-spacing:.025em;
  text-transform:none;
}
#adminDashboard .admin-layout{
  grid-template-columns:minmax(360px,440px) minmax(0,1fr);
  gap:22px;
}
#adminDashboard .list{gap:13px}
#adminDashboard .list-item{
  padding:18px 19px;
  background:#fff;
}
#adminDashboard .list-item:hover{border-color:#ddc3ba;box-shadow:0 10px 24px rgba(79,56,45,.07)}
#adminDashboard .list-item strong{font-size:1.08rem}

/* FORM */
#adminDashboard label{
  margin:14px 0 12px;
  color:#6e6158;
  font-size:.69rem;
  font-weight:650;
  letter-spacing:.065em;
}
#adminDashboard input,
#adminDashboard textarea,
#adminDashboard select{
  min-height:48px;
  margin-top:7px;
  padding:13px 14px;
  border:1px solid #e5d8d1;
  border-radius:10px;
  outline:none;
  background:#fff;
  color:var(--admin-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
#adminDashboard textarea{min-height:118px}
#adminDashboard input:focus,
#adminDashboard textarea:focus,
#adminDashboard select:focus{
  border-color:#cfa19d;
  background:#fffdfc;
  box-shadow:0 0 0 3px rgba(198,143,145,.12);
}
#adminDashboard input[type="checkbox"],
#adminDashboard input[type="radio"]{min-height:0;accent-color:var(--admin-rose)}
#adminDashboard input[type="file"]{padding:10px;background:#fffaf8}
#adminDashboard input[type="range"]{min-height:28px;padding:0;accent-color:var(--admin-rose)}
#adminDashboard .hint{color:#90827a}

/* PULSANTI COMUNI */
#adminDashboard .btn{
  min-height:44px;
  border-radius:999px;
  font-size:.67rem;
  font-weight:600;
  letter-spacing:.085em;
  box-shadow:none;
}
#adminDashboard .btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(76,55,44,.09)}
#adminDashboard .btn.dark{
  border:1px solid #b87b7e;
  background:linear-gradient(180deg,#cb9897,#b9797d);
  color:#fff;
}
#adminDashboard .btn.dark:hover{background:linear-gradient(180deg,#be8587,#a96b70)}
#adminDashboard .btn.ghost-dark{
  border:1px solid #dfcbc3;
  background:#fffaf8;
  color:#453a35;
}
#adminDashboard .btn.ghost-dark:hover{border-color:#cfa79e;background:#fff}
#adminDashboard .btn.danger{
  border:1px solid #edc5c3;
  background:#fff8f7;
  color:#c44749;
}
#adminDashboard .btn.danger:hover{background:#c84d4f;color:#fff;border-color:#c84d4f}
#adminDashboard .btn.compact{padding:10px 15px}

/* PANNELLO DI CONTROLLO */
#adminDashboard .control-grid{
  grid-template-columns:repeat(2,minmax(320px,1fr));
  gap:18px;
}
#adminDashboard .control-card{
  position:relative;
  grid-template-columns:62px minmax(0,1fr);
  gap:18px;
  padding:24px;
  overflow:hidden;
  background:linear-gradient(145deg,#fffdfb,#fff9f5);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
#adminDashboard .control-card::after{
  content:"";
  position:absolute;
  right:-40px;
  top:-42px;
  width:118px;
  height:118px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(198,143,145,.12),transparent 68%);
  pointer-events:none;
}
#adminDashboard .control-card:hover{transform:translateY(-2px);border-color:#ddc0b7;box-shadow:0 16px 34px rgba(83,58,46,.09)}
#adminDashboard .control-icon{
  width:62px;
  height:62px;
  border:1px solid #e1c9c0;
  border-radius:50%;
  background:linear-gradient(145deg,#fff,#f9ece8);
  color:#a76d66;
  box-shadow:0 7px 18px rgba(91,64,51,.06);
  font-size:1.3rem;
}
#adminDashboard .control-card h3{
  margin:2px 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:400;
}
#adminDashboard .control-card p{color:#655a54}
#adminDashboard .control-card small{color:#9a8b82}
#adminDashboard .control-actions{gap:9px;margin-top:10px}

/* GALLERIE / SELEZIONI / EMAIL / RICHIESTE */
#adminDashboard .selection-item,
#adminDashboard .contact-request-item,
#adminDashboard .email-item{
  border-radius:14px;
}
#adminDashboard .list-actions{gap:8px}
#adminDashboard .notice{
  border:1px solid #ead6b4;
  border-radius:12px;
  background:#fff9e9;
}
#adminDashboard .notice-inline{background:var(--admin-rose);border-radius:999px}
#adminDashboard .selection-files{
  border-color:#eadbd4;
  border-radius:10px;
  background:#fffaf7;
}

/* FOTO E ANTEPRIME */
#adminDashboard .photo-admin-card,
#adminDashboard .admin-gallery-thumb-card{
  border:1px solid var(--admin-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(67,47,38,.045);
}
#adminDashboard .photo-admin-card{overflow:hidden}
#adminDashboard .photo-select{
  background:#fffaf7;
  border-color:var(--admin-border);
}
#adminDashboard .admin-preview-controls,
#adminDashboard .admin-preview-page-box{
  border-color:var(--admin-border);
  border-radius:12px;
  background:#fffaf7;
}
#adminDashboard .admin-preview-pagination{
  border-color:var(--admin-border);
  border-radius:999px;
  background:#fffdfb;
}

/* EDITOR SITO */
#adminDashboard .site-studio-hero{
  border:1px solid var(--admin-border);
  border-radius:16px;
  background:linear-gradient(135deg,#fffdfb,#f8e9e5);
  box-shadow:var(--admin-shadow-soft);
}
#adminDashboard .site-page-tabs{
  gap:8px;
  padding:9px;
  border-color:var(--admin-border);
  border-radius:16px;
  background:#fffdfb;
  box-shadow:var(--admin-shadow-soft);
}
#adminDashboard .site-page-tabs button{
  border-color:#e4d2cb;
  border-radius:999px;
  background:#fffaf7;
  color:#544842;
}
#adminDashboard .site-page-tabs button.active{
  border-color:#b87a7d;
  background:linear-gradient(180deg,#c99192,#b7777b);
  color:#fff;
}
#adminDashboard .site-editor-card::before{
  height:4px;
  background:linear-gradient(90deg,#c78f90,rgba(199,143,144,.18));
}
#adminDashboard .position-controls{
  border-color:#e1c7bd;
  border-radius:12px;
  background:#fff9f6;
}
#adminDashboard .image-position-preview,
#adminDashboard .content-image-preview,
#adminDashboard .service-card-live-preview,
#adminDashboard .portfolio-card-live-preview{
  border-color:#e3cec6;
  border-radius:12px;
}

/* UTENTI E PASSWORD: armonizzazione con il resto del tema */
#adminDashboard #admin-tab-users .users-page{
  --users-rose:var(--admin-rose);
  --users-rose-dark:var(--admin-rose-dark);
  --users-rose-soft:var(--admin-rose-soft);
}
#adminDashboard #admin-tab-users .users-toolbar,
#adminDashboard #admin-tab-users .users-table-card,
#adminDashboard #admin-tab-users .users-details-card,
#adminDashboard #admin-tab-users .users-create-panel{
  border-radius:16px;
  box-shadow:var(--admin-shadow-soft);
}
#adminDashboard #admin-tab-users .users-new-btn,
#adminDashboard #admin-tab-users .users-primary-btn{
  background:linear-gradient(180deg,#cb9697,#b9787c);
  box-shadow:0 8px 20px rgba(180,114,118,.18);
}

/* LOGIN COERENTE CON IL NUOVO TEMA */
#adminLoginBox .elegant-panel{
  border:1px solid var(--admin-border);
  border-radius:20px;
  background:linear-gradient(145deg,#fffdfb,#fff7f3);
  box-shadow:0 24px 60px rgba(66,47,38,.12);
}
#adminLoginBox .admin-login-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.1rem;
  font-weight:400;
}
#adminLoginBox label{color:#776960}
#adminLoginBox input{
  border-radius:11px;
  border-color:#e3d2ca;
  background:#fff;
}
#adminLoginBox .btn.dark{
  border-radius:999px;
  background:linear-gradient(180deg,#cb9697,#b9787c);
}

/* MODALI E FINESTRE */
#adminDashboard .admin-gallery-viewer{backdrop-filter:blur(6px)}
#adminDashboard .admin-gallery-viewer-panel{
  border-color:var(--admin-border);
  border-radius:18px;
  background:#fffaf7;
}

/* RESPONSIVE */
@media(max-width:1180px){
  #adminDashboard.section{padding-inline:24px}
  #adminDashboard .admin-layout{grid-template-columns:1fr}
  #adminDashboard .control-grid{grid-template-columns:1fr}
  #adminDashboard .admin-tabs button{min-width:150px}
}
@media(max-width:800px){
  #adminDashboard.section{padding:30px 16px 60px}
  #adminDashboard .admin-top{align-items:flex-start;flex-direction:column}
  #adminDashboard .admin-actions{width:100%;justify-content:space-between;border-radius:18px;flex-wrap:wrap}
  #adminDashboard .admin-top h2{font-size:clamp(2.4rem,11vw,3.5rem)}
  #adminDashboard .notification-panel{padding:20px}
  #adminDashboard .notification-panel .panel-title-row{align-items:flex-start;flex-direction:column}
  #adminDashboard .notification-actions{width:100%;display:grid;grid-template-columns:1fr}
  #adminDashboard .notification-actions .btn{width:100%}
  #adminDashboard .notification-filter-row{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  #adminDashboard .notification-filter-row .btn{min-width:0;padding-inline:8px}
  #adminDashboard .admin-tabs{border-radius:16px;padding:8px}
  #adminDashboard .admin-tabs button{min-width:160px}
  #adminDashboard .panel{padding:20px}
  #adminDashboard .control-card{grid-template-columns:52px minmax(0,1fr);padding:20px}
  #adminDashboard .control-icon{width:52px;height:52px}
  #adminDashboard .control-actions{grid-column:1/-1}
  #adminDashboard .control-actions .btn{width:100%}
}


/* =========================================================
   v97.5 - RIPRISTINO BOX INTESTAZIONE AREA RISERVATA
   e formato precedente dei pulsanti operativi richiesti.
   Nessuna logica applicativa modificata.
   ========================================================= */

/* Ripristina la box di intestazione "Area riservata" anche dopo il login */
@supports selector(body:has(*)){
  body:has(#adminDashboard:not(.hidden)) #page-admin > .admin-hero{
    display:block!important;
  }
}

/* Mantiene separata la testata e l'area operativa */
#page-admin > .admin-hero{
  margin-bottom:0;
}
#adminDashboard.section{
  padding-top:42px;
}

/* Ripristino formato precedente per i tre pulsanti dell'upload/galleria */
#adminDashboard #admin-tab-upload .photo-tools{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
#adminDashboard #admin-tab-upload .photo-tools .btn{
  width:100%;
  min-height:60px;
  padding:14px 12px;
  border-radius:10px;
  font-size:.68rem;
  line-height:1.22;
  white-space:normal;
  text-align:center;
  box-shadow:none;
}
#adminDashboard #admin-tab-upload .photo-tools .btn.ghost-dark{
  background:#fff;
}
#adminDashboard #admin-tab-upload .photo-tools .btn.danger{
  margin-top:0;
}

/* Su schermi piccoli tornano in colonna come nella versione precedente */
@media(max-width:900px){
  #adminDashboard #admin-tab-upload .photo-tools{
    grid-template-columns:1fr;
  }
  #adminDashboard #admin-tab-upload .photo-tools .btn{
    min-height:52px;
  }
}

/* =========================================================
   v97.6 - CENTRO NOTIFICHE DEDICATO + EDITOR EMAIL RICH TEXT
   ========================================================= */

/* Nuova voce Notifiche nella navigazione */
#adminDashboard .admin-tabs button[data-admin-tab="notifications"]::before{
  content:"🔔";
  font-size:.92rem;
  filter:grayscale(1) sepia(.25);
}
#adminDashboard .admin-tabs button[data-admin-tab="notifications"].active::before{filter:none}
#adminDashboard .notifications-tab-button{position:relative}
#adminDashboard .admin-tab-badge{
  min-width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  padding:0 6px;
  margin-left:2px;
  border-radius:999px;
  background:#c44d52;
  color:#fff;
  font-size:.62rem;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
}
#adminDashboard .admin-tabs button.active .admin-tab-badge{
  background:#fff;
  color:#a85f64;
}

/* Il centro notifiche ora vive soltanto nella sua pagina */
#adminDashboard #admin-tab-notifications{
  max-width:1500px;
  margin:0 auto;
}
#adminDashboard .notification-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px;
  padding:4px 2px;
}
#adminDashboard .notification-page-head .eyebrow{margin:0 0 7px}
#adminDashboard .notification-page-head h3{
  margin:0 0 6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.2vw,3.1rem);
  font-weight:400;
  text-transform:none;
  letter-spacing:.01em;
}
#adminDashboard #admin-tab-notifications .notification-panel{
  min-height:430px;
  margin:0;
}
#adminDashboard #admin-tab-notifications .notification-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  gap:14px;
}
#adminDashboard #admin-tab-notifications .notification-row{
  min-height:130px;
  padding:20px;
}

/* Workspace Email */
#adminDashboard .email-workspace{
  display:grid;
  grid-template-columns:minmax(560px,1.45fr) minmax(340px,.75fr);
  gap:22px;
  align-items:start;
}
#adminDashboard .email-composer-card{
  padding:30px;
}
#adminDashboard .email-composer-title{
  align-items:flex-start;
  margin-bottom:10px;
}
#adminDashboard .email-composer-title .eyebrow{margin:0 0 7px}
#adminDashboard .email-composer-title h3{margin:0!important}
#adminDashboard .email-direct-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #d8c2b9;
  border-radius:999px;
  background:#fff8f5;
  color:#986b63;
  font-size:.68rem;
  font-weight:650;
  letter-spacing:.05em;
  white-space:nowrap;
}
#adminDashboard .email-direct-badge::before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#dcefe5;
  color:#2c7951;
  font-weight:800;
}
#adminDashboard .email-message-label{
  margin:15px 0 8px;
  color:#6e6158;
  font-size:.69rem;
  font-weight:650;
  letter-spacing:.065em;
  text-transform:uppercase;
}
#adminDashboard .rich-email-editor{
  overflow:hidden;
  border:1px solid #dfd0ca;
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
#adminDashboard .email-editor-toolbar{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  padding:10px 12px;
  border-bottom:1px solid #eadbd4;
  background:linear-gradient(180deg,#fffdfb,#fbf4f0);
}
#adminDashboard .email-tool-btn{
  min-width:38px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 10px;
  border:1px solid #dfcec7;
  border-radius:8px;
  background:#fff;
  color:#3f3632;
  cursor:pointer;
  font:600 .82rem/1 Inter,ui-sans-serif,system-ui,sans-serif;
  transition:.18s ease;
}
#adminDashboard .email-tool-btn:hover,
#adminDashboard .email-tool-btn:focus{
  border-color:#cfa19d;
  background:#fff7f4;
  box-shadow:0 4px 12px rgba(98,68,56,.08);
  outline:none;
}
#adminDashboard .email-tool-italic{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1rem}
#adminDashboard .email-list-tool{min-width:76px}
#adminDashboard .email-toolbar-separator{
  width:1px;
  height:26px;
  margin:0 2px;
  background:#e2d3cd;
}
#adminDashboard .email-tool-select{
  width:auto;
  min-width:145px;
  min-height:36px;
  height:36px;
  margin:0;
  padding:6px 30px 6px 10px;
  border:1px solid #dfcec7;
  border-radius:8px;
  background-color:#fff;
  font-size:.78rem;
}
#adminDashboard .email-size-select{min-width:76px;width:76px}
#adminDashboard .email-body-editor{
  min-height:330px;
  max-height:560px;
  overflow:auto;
  padding:22px 24px;
  background:#fff;
  color:#201c19;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.65;
  outline:none;
  white-space:normal;
}
#adminDashboard .email-body-editor:focus{
  box-shadow:inset 0 0 0 2px rgba(198,143,145,.18);
}
#adminDashboard .email-body-editor p{margin:.25em 0 1em}
#adminDashboard .email-body-editor ul,
#adminDashboard .email-body-editor ol{padding-left:1.7em}
#adminDashboard .email-editor-hint{margin:10px 2px 16px}
#adminDashboard .email-send-btn{
  min-height:52px;
  font-size:.72rem;
}
#adminDashboard .email-side-stack{
  display:grid;
  gap:22px;
}
#adminDashboard .email-smtp-card,
#adminDashboard .email-history-card{
  min-width:0;
}
#adminDashboard .email-history-card .list{
  max-height:610px;
  overflow:auto;
  padding-right:4px;
}
#adminDashboard .email-history-card .list-item p{
  max-height:120px;
  overflow:auto;
  padding:9px 0 0;
  margin:0;
}

@media(max-width:1150px){
  #adminDashboard .email-workspace{grid-template-columns:1fr}
  #adminDashboard .email-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  #adminDashboard .email-composer-card{padding:20px}
  #adminDashboard .email-composer-title{align-items:flex-start;flex-direction:column}
  #adminDashboard .email-side-stack{grid-template-columns:1fr}
  #adminDashboard .email-editor-toolbar{gap:6px}
  #adminDashboard .email-tool-select{min-width:125px;flex:1}
  #adminDashboard .email-size-select{min-width:70px;max-width:82px;flex:0 0 78px}
  #adminDashboard .email-body-editor{min-height:270px;padding:18px}
  #adminDashboard #admin-tab-notifications .notification-list{grid-template-columns:1fr}
}

/* =========================================================
   v97.8 - ICONE PULSANTI SELEZIONE CLIENTE
   Le icone provengono dai file forniti dall'utente.
   ========================================================= */
#publicSaveDraftBtn,
#publicFinishSelectionBtn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:11px;
}
#publicSaveDraftBtn::before,
#publicFinishSelectionBtn::before{
  content:"";
  display:inline-block;
  width:24px;
  height:24px;
  flex:0 0 24px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
#publicSaveDraftBtn::before{
  background-image:url('assets/icon-save-draft.png');
}
#publicFinishSelectionBtn::before{
  background-image:url('assets/icon-send-selection.png');
}
@media(max-width:700px){
  #publicSaveDraftBtn::before,
  #publicFinishSelectionBtn::before{
    width:21px;
    height:21px;
    flex-basis:21px;
  }
}


/* Sottogallerie */
.subgallery-admin-box{display:grid;gap:12px;padding:14px;border:1px solid rgba(93,71,57,.16);border-radius:16px;background:#fbf8f5;margin:10px 0 14px}
.subgallery-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.subgallery-admin-list{display:grid;gap:8px}
.subgallery-admin-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:#fff;border:1px solid rgba(93,71,57,.12);border-radius:12px}
.subgallery-admin-item>div:first-child{display:grid;gap:2px}.subgallery-admin-item small{color:#7a6c64}
.move-subgallery-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr);gap:8px}
.photo-subgallery-label{display:block;margin-top:3px;color:#8a6f62;font-size:.76rem;font-weight:600}
.gc-subgallery-nav{margin:22px auto 12px;max-width:1280px;padding:0 24px}
.gc-subgallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}.gc-subgallery-heading span{color:#7a6c64;font-size:.9rem}
.gc-subgallery-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.gc-subgallery-card{appearance:none;border:1px solid rgba(98,75,62,.18);background:#fff;border-radius:16px;padding:14px 16px;text-align:left;cursor:pointer;display:grid;gap:4px;transition:.18s ease;box-shadow:0 5px 18px rgba(45,34,29,.04)}
.gc-subgallery-card strong{font:600 1rem/1.2 var(--gc-font-family,inherit);color:#2d2420}.gc-subgallery-card span{font-size:.82rem;color:#85746b}
.gc-subgallery-card:hover{transform:translateY(-1px);border-color:rgba(98,75,62,.34)}.gc-subgallery-card.active{background:#2d2420;border-color:#2d2420}.gc-subgallery-card.active strong,.gc-subgallery-card.active span{color:#fff}
@media(max-width:700px){.subgallery-create-row,.move-subgallery-row{grid-template-columns:1fr}.gc-subgallery-nav{padding:0 14px}.gc-subgallery-heading{display:grid}.gc-subgallery-buttons{grid-template-columns:1fr 1fr}}

/* Fix rapido layout bottoni upload/sottogallerie */
#adminDashboard #admin-tab-upload .photo-tools{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}

#adminDashboard #admin-tab-upload .photo-tools .btn,
#adminDashboard #admin-tab-upload .photo-tools button,
#adminDashboard #admin-tab-upload .photo-tools select{
  width:100% !important;
  min-width:0 !important;
  min-height:56px !important;
  padding:14px 12px !important;
  white-space:normal !important;
  line-height:1.2 !important;
  text-align:center !important;
}

#adminDashboard #admin-tab-upload .photo-tools .btn.danger{
  margin-top:0 !important;
}

/* Fix riga spostamento foto sottogalleria */
#adminDashboard #admin-tab-upload .move-subgallery-row{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:10px !important;
}

#adminDashboard #admin-tab-upload .move-subgallery-row select,
#adminDashboard #admin-tab-upload .move-subgallery-row button{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

/* Anteprime foto più grandi */
#adminDashboard #admin-tab-upload #adminPhotoPreview{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr)) !important;
  gap:14px !important;
}

/* Testo pulsanti upload non in maiuscolo */
#adminDashboard #admin-tab-upload .btn{
  text-transform:none !important;
  letter-spacing:.03em !important;
}

/* Layout definitivo pulsanti Carica foto */
#adminDashboard #admin-tab-upload .move-subgallery-destination{
  width:100%;
  margin:12px 0 8px;
}

#adminDashboard #admin-tab-upload .move-subgallery-destination label{
  margin:0;
}

#adminDashboard #admin-tab-upload .move-subgallery-destination select{
  width:100%;
}

#adminDashboard #admin-tab-upload .photo-tools{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}

#adminDashboard #admin-tab-upload .photo-tools .btn{
  width:100% !important;
  min-width:0 !important;
  min-height:52px !important;
  margin:0 !important;
  padding:11px 8px !important;
  border-radius:10px !important;
  font-size:.72rem !important;
  line-height:1.15 !important;
  text-transform:none !important;
  letter-spacing:.02em !important;
  white-space:normal !important;
  text-align:center !important;
}

#adminDashboard #admin-tab-upload #deleteOriginalsBtn{
  grid-column:1 / -1 !important;
}

@media(max-width:520px){
  #adminDashboard #admin-tab-upload .photo-tools{
    grid-template-columns:1fr !important;
  }

  #adminDashboard #admin-tab-upload #deleteOriginalsBtn{
    grid-column:auto !important;
  }
}

/* Rifinitura compatta comandi foto */
#adminDashboard #admin-tab-upload .photo-tools{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

/* Riga destinazione sottogalleria */
#adminDashboard #admin-tab-upload .move-subgallery-destination{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:85px minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  margin:4px 0 2px !important;
}

#adminDashboard #admin-tab-upload .move-subgallery-destination label{
  margin:0 !important;
  font-size:.7rem !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  color:#5b5049 !important;
}

#adminDashboard #admin-tab-upload .move-subgallery-destination select{
  margin:0 !important;
  min-height:42px !important;
  padding:8px 10px !important;
  font-size:.72rem !important;
}

/* Pulsanti compatti e neutri */
#adminDashboard #admin-tab-upload .photo-tools .btn{
  min-height:44px !important;
  padding:9px 8px !important;
  border-radius:9px !important;
  font-size:.7rem !important;
  line-height:1.1 !important;
  text-transform:none !important;
  letter-spacing:.01em !important;
  background:#fffaf8 !important;
  border:1px solid #dfcbc3 !important;
  color:#453a35 !important;
  box-shadow:none !important;
}

#adminDashboard #admin-tab-upload .photo-tools .btn.danger{
  background:#fffaf8 !important;
  border-color:#dfcbc3 !important;
  color:#453a35 !important;
}

#adminDashboard #admin-tab-upload .photo-tools .btn:hover,
#adminDashboard #admin-tab-upload .photo-tools .btn.danger:hover{
  background:#f4e9e5 !important;
  color:#453a35 !important;
  border-color:#cfa79e !important;
}

/* Ultimo pulsante largo due colonne */
#adminDashboard #admin-tab-upload #deleteOriginalsBtn{
  grid-column:1 / -1 !important;
}

/* Correzione definitiva riga "Sposta in" */
#adminDashboard #admin-tab-upload .move-subgallery-destination{
  grid-column:1 / -1 !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:6px 0 2px !important;
}

#adminDashboard #admin-tab-upload .move-subgallery-destination label{
  width:100% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
  white-space:nowrap !important;
}

#adminDashboard #admin-tab-upload .move-subgallery-destination select{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:44px !important;
  margin:0 !important;
  padding:8px 36px 8px 12px !important;
  font-size:.72rem !important;
}

/* Layout definitivo comandi foto: 2 pulsanti per riga */
#adminDashboard #admin-tab-upload .photo-tools{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

/* Destinazione spostamento: prima riga intera */
#adminDashboard #admin-tab-upload .move-subgallery-destination{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  width:100% !important;
  margin:0 0 4px !important;
}

/* Prima riga pulsanti */
#adminDashboard #admin-tab-upload #toggleSelectPhotosBtn{
  grid-column:1 !important;
  grid-row:2 !important;
}

#adminDashboard #admin-tab-upload #moveSelectedPhotosBtn{
  grid-column:2 !important;
  grid-row:2 !important;
}

/* Seconda riga pulsanti */
#adminDashboard #admin-tab-upload #deleteSelectedPhotosBtn{
  grid-column:1 !important;
  grid-row:3 !important;
}

#adminDashboard #admin-tab-upload #deleteAllPhotosBtn{
  grid-column:2 !important;
  grid-row:3 !important;
}

/* Ultimo pulsante largo due colonne */
#adminDashboard #admin-tab-upload #deleteOriginalsBtn{
  grid-column:1 / -1 !important;
  grid-row:4 !important;
}

/* Tutti uguali e compatti */
#adminDashboard #admin-tab-upload .photo-tools .btn{
  min-height:44px !important;
  margin:0 !important;
  padding:9px 10px !important;
  color:#453a35 !important;
}

/* Anteprima foto admin: immagini grandi, massimo 5 per riga */
#adminDashboard #admin-tab-upload #adminPhotoPreview{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
}

#adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card{
  width:100% !important;
  min-width:0 !important;
}

#adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card img{
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
}

/* Adattamento automatico */
@media(max-width:1500px){
  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media(max-width:1200px){
  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:850px){
  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:520px){
  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:1fr !important;
  }
}

/* Anteprime admin più alte */
#adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card img{
  aspect-ratio:auto !important;
  height:260px !important;
  object-fit:cover !important;
}

@media(max-width:1200px){
  #adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card img{
    height:230px !important;
  }
}

@media(max-width:850px){
  #adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card img{
    height:210px !important;
  }
}

/* =========================================================
   RESPONSIVE GENERALE + ANTEPRIME FOTO ADMIN
   ========================================================= */

/* Base responsive */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
video,
svg{
  max-width:100%;
}

input,
select,
textarea,
button{
  min-width:0;
  max-width:100%;
}

/* Impedisce ai contenitori di forzare la larghezza della pagina */
.panel,
.admin-tab,
.admin-layout > *,
.site-admin-layout > *,
.gallery-head > *,
.contact-grid > *,
.split > *{
  min-width:0;
}


/* =========================================================
   ANTEPRIME CARICA FOTO
   massimo 5 per riga e molto più alte
   ========================================================= */

#adminDashboard #admin-tab-upload #adminPhotoPreview{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
}

#adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card{
  width:100% !important;
  min-width:0 !important;
}

/* Questa è la regola che prima era bloccata a 104px */
#adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card .photo-wrap{
  width:100% !important;
  height:clamp(240px,16vw,320px) !important;
  min-height:240px !important;
}

#adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card .photo-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
}


/* =========================================================
   SITO PUBBLICO RESPONSIVE
   ========================================================= */

@media(max-width:1200px){

  .portfolio-strip,
  .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .quote-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .contact-grid{
    gap:30px !important;
  }

  #adminDashboard .admin-layout,
  #adminDashboard .site-admin-layout{
    grid-template-columns:360px minmax(0,1fr) !important;
  }

  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}


@media(max-width:1000px){

  .split,
  .contact-grid{
    grid-template-columns:1fr !important;
  }

  #adminDashboard .admin-layout,
  #adminDashboard .site-admin-layout{
    grid-template-columns:1fr !important;
  }

  #adminDashboard .control-grid{
    grid-template-columns:1fr !important;
  }

  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .gallery-head,
  .admin-top{
    flex-wrap:wrap !important;
  }
}


@media(max-width:760px){

  .section{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .page-hero,
  .dark-band{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .portfolio-strip,
  .service-grid,
  .quote-grid{
    grid-template-columns:1fr !important;
  }

  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  #adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card .photo-wrap{
    height:260px !important;
    min-height:260px !important;
  }

  .footer{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }

  .footer nav{
    flex-wrap:wrap !important;
  }

  #adminDashboard .admin-tabs{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    scrollbar-width:thin;
  }

  #adminDashboard .admin-tabs button{
    flex:0 0 auto !important;
  }
}


@media(max-width:520px){

  #adminDashboard #admin-tab-upload #adminPhotoPreview{
    grid-template-columns:1fr !important;
  }

  #adminDashboard #admin-tab-upload #adminPhotoPreview .photo-admin-card .photo-wrap{
    height:300px !important;
  }

  .panel{
    padding:18px !important;
  }

  .hero-actions,
  .client-gallery-actions,
  .admin-actions{
    width:100% !important;
  }

  .hero-actions .btn,
  .client-gallery-actions .btn,
  .admin-actions .btn{
    width:100% !important;
  }
}



/* Upload galleria: limite e avanzamento */
.photo-upload-info{display:grid;gap:10px;margin:10px 0 14px}
.photo-upload-limit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(95,74,63,.14);border-radius:10px;background:#fbf8f6;color:#665a54;font-size:.82rem}
.photo-upload-limit strong{font-weight:650;color:#4b403b}.photo-upload-limit span{color:#7e716a}
.photo-upload-limit span.upload-limit-error{color:#b44747;font-weight:700}
.photo-upload-progress-box{display:grid;gap:8px;padding:12px;border:1px solid rgba(95,74,63,.14);border-radius:10px;background:#fff}
.photo-upload-progress-track{height:12px;overflow:hidden;border-radius:999px;background:#eee7e3;border:1px solid rgba(95,74,63,.10)}
.photo-upload-progress-bar{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b77f83,#8d6267);transition:width .15s linear}
.photo-upload-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem}
.photo-upload-progress-copy strong{color:#4c4140}.photo-upload-progress-copy span{color:#81736d}
#admin-tab-upload #uploadBtn:disabled{opacity:.58;cursor:not-allowed}
@media(max-width:620px){.photo-upload-limit,.photo-upload-progress-copy{align-items:flex-start;flex-direction:column;gap:4px}}

/* Sottogallerie - pulsanti compatti ed eleganti */
.gc-subgallery-buttons{
  display:flex !important;
  flex-wrap:wrap;
  gap:10px !important;
  align-items:stretch;
}

.gc-subgallery-card{
  flex:0 1 220px;
  min-width:175px;
  max-width:240px;
  min-height:58px;
  padding:10px 15px !important;
  border-radius:12px !important;
  background:#fff;
  border:1px solid rgba(98,75,62,.16) !important;
  box-shadow:0 3px 10px rgba(45,34,29,.035) !important;
  gap:2px !important;
}

.gc-subgallery-card strong{
  font-size:.92rem !important;
  font-weight:600;
}

.gc-subgallery-card span{
  font-size:.76rem !important;
  opacity:.75;
}

.gc-subgallery-card.active{
  background:#30251f !important;
  border-color:#30251f !important;
  box-shadow:0 4px 12px rgba(45,34,29,.10) !important;
}

.gc-subgallery-card:hover{
  transform:translateY(-1px);
}

@media(max-width:700px){
  .gc-subgallery-buttons{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .gc-subgallery-card{
    min-width:0;
    max-width:none;
    width:100%;
  }
}


/* Sottogallerie - versione compatta */
.gc-subgallery-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:8px !important;
}

.gc-subgallery-card{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:145px !important;
  max-width:190px !important;
  min-height:42px !important;
  padding:6px 12px !important;
  border-radius:10px !important;
  gap:0 !important;
  text-align:left !important;
}

.gc-subgallery-card strong{
  font-size:.88rem !important;
  line-height:1.15 !important;
}

.gc-subgallery-card span{
  font-size:.70rem !important;
  line-height:1.1 !important;
  margin-top:2px !important;
}

.gc-subgallery-card.active{
  background:#30251f !important;
  border-color:#30251f !important;
}

@media(max-width:700px){
  .gc-subgallery-buttons{
    display:flex !important;
    justify-content:flex-start !important;
  }

  .gc-subgallery-card{
    min-width:130px !important;
    max-width:170px !important;
  }
}


/* Sottogallerie allineate a sinistra */
.gc-subgallery-nav{
  width:100% !important;
  max-width:none !important;
  margin:18px 0 12px 0 !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}

.gc-subgallery-heading{
  justify-content:flex-start !important;
  gap:24px !important;
}

.gc-subgallery-buttons{
  justify-content:flex-start !important;
  margin-left:0 !important;
  margin-right:0 !important;
}



/* Gestione Gallerie UI v2 - Fase 1 */
.gallery-v2-shell{display:grid;gap:20px}.gallery-v2-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.gallery-v2-page-head h2{margin:.12rem 0 .35rem;font-family:Georgia,serif;font-size:clamp(1.7rem,2.2vw,2.45rem);color:#3b1f21}.gallery-v2-page-head p{margin:0;color:#786963}.gallery-v2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-v2-stats article{background:#fffdfb;border:1px solid rgba(59,31,33,.09);border-radius:16px;padding:15px 17px;display:grid;gap:4px}.gallery-v2-stats span{font-size:.78rem;color:#8d7b73}.gallery-v2-stats strong{font:600 1.65rem/1 Georgia,serif;color:#3b1f21}.gallery-v2-create{background:#fffdfb;border:1px solid rgba(59,31,33,.1);border-radius:18px;padding:18px}.gallery-v2-create-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:15px}.gallery-v2-create-head h3{margin:0 0 4px}.gallery-v2-create-head p{margin:0;color:#86766f}.gallery-v2-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.gallery-v2-form label{display:grid;gap:6px;font-size:.78rem;font-weight:600;color:#5b4443}.gallery-v2-form input,.gallery-v2-form select,.gallery-v2-form textarea{width:100%}.gallery-v2-form-wide{grid-column:1/-1}.gallery-v2-check{display:flex!important;align-items:center;gap:8px;align-self:end;min-height:44px}.gallery-v2-check input{width:auto}.gallery-v2-form-actions{display:flex;justify-content:flex-end}.gallery-v2-toolbar{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(145px,.6fr));gap:10px;margin-bottom:14px}.gallery-v2-toolbar select,.gallery-v2-search{min-height:42px;border:1px solid rgba(59,31,33,.12);background:#fffdfb;border-radius:11px}.gallery-v2-search{display:flex;align-items:center;padding:0 12px;gap:8px}.gallery-v2-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-width:0}.gallery-v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.gallery-v2-card{background:#fffdfb;border:1px solid rgba(59,31,33,.1);border-radius:18px;overflow:hidden;position:relative;box-shadow:0 6px 22px rgba(59,31,33,.045)}.gallery-v2-cover{height:148px;background:linear-gradient(135deg,#f1dddd,#f9f4ef);position:relative;overflow:hidden}.gallery-v2-cover img{width:100%;height:100%;object-fit:cover}.gallery-v2-cover-placeholder{height:100%;display:grid;place-items:center;font-size:2.2rem;color:#a88f86}.gallery-v2-state{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:700;letter-spacing:.02em}.gallery-v2-cover>.gallery-v2-state{position:absolute;top:10px;right:10px}.gallery-v2-state.online,.gallery-v2-badge.online{background:#f1dddd;color:#6f393c}.gallery-v2-state.closed,.gallery-v2-badge.closed{background:#eee7e2;color:#695c57}.gallery-v2-card-body{padding:14px;display:grid;gap:12px;position:relative}.gallery-v2-card-title{display:flex;justify-content:space-between;gap:10px}.gallery-v2-card-title h3{margin:0 0 3px;font:600 1.06rem/1.2 Georgia,serif;color:#3b1f21}.gallery-v2-card-title p{margin:0;font-size:.75rem;color:#8a7870}.gallery-v2-more{border:0;background:transparent;font-size:1.35rem;line-height:1;cursor:pointer;color:#725f58}.gallery-v2-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.76rem;color:#75635d}.gallery-v2-card-actions{display:flex;gap:7px;flex-wrap:wrap}.gallery-v2-card-actions .btn{padding:7px 10px!important;font-size:.76rem!important}.gallery-v2-menu{position:absolute;right:12px;top:50px;z-index:8;min-width:160px;padding:7px;background:#fff;border:1px solid rgba(59,31,33,.12);border-radius:12px;box-shadow:0 12px 26px rgba(59,31,33,.14);display:grid}.gallery-v2-menu button{border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:8px;cursor:pointer;color:#493536}.gallery-v2-menu button:hover{background:#f9f4ef}.gallery-v2-menu button.danger{color:#9b4046}.gallery-v2-empty{grid-column:1/-1;min-height:160px;border:1px dashed rgba(59,31,33,.18);border-radius:18px;display:grid;place-items:center;align-content:center;gap:5px;color:#7d6d66}.gallery-v2-detail{display:grid;gap:16px}.gallery-v2-detail-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.gallery-v2-back{border:0;background:transparent;padding:6px 0;color:#6f5751;cursor:pointer;font-weight:700}.gallery-v2-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.gallery-v2-detail-hero{min-height:230px;border-radius:20px;overflow:hidden;background:#fffdfb;border:1px solid rgba(59,31,33,.1);display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,1.4fr)}.gallery-v2-detail-cover{background:linear-gradient(135deg,#f1dddd,#f9f4ef);min-height:230px}.gallery-v2-detail-cover img{width:100%;height:100%;object-fit:cover}.gallery-v2-detail-placeholder{height:100%;display:grid;place-items:center;font-size:3rem;color:#a88f86}.gallery-v2-detail-copy{padding:28px;display:grid;align-content:center;gap:10px}.gallery-v2-detail-copy h2{margin:0;font:600 clamp(1.7rem,3vw,2.6rem)/1.06 Georgia,serif;color:#3b1f21}.gallery-v2-detail-copy p{margin:0;color:#796862}.gallery-v2-detail-message{max-width:720px}.gallery-v2-detail-message.muted{opacity:.68}.gallery-v2-badges{display:flex;gap:7px;flex-wrap:wrap}.gallery-v2-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:700;background:#f9f4ef;color:#715b55}.gallery-v2-badge.soft{background:#fff;border:1px solid rgba(59,31,33,.1)}.gallery-v2-tabs{display:flex;gap:5px;border-bottom:1px solid rgba(59,31,33,.1);overflow:auto}.gallery-v2-tabs button{border:0;background:transparent;padding:10px 12px;white-space:nowrap;color:#806c64;cursor:pointer;border-bottom:2px solid transparent}.gallery-v2-tabs button.active{color:#3b1f21;border-bottom-color:#c48689;font-weight:700}.gallery-v2-sub-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.gallery-v2-sub-head h3{margin:0 0 3px;font-family:Georgia,serif;color:#3b1f21}.gallery-v2-sub-head p{margin:0;color:#82716a;font-size:.85rem}.gallery-v2-subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.gallery-v2-subcard,.gallery-v2-add-card{min-height:118px;background:#fffdfb;border:1px solid rgba(59,31,33,.1);border-radius:16px;position:relative;overflow:hidden}.gallery-v2-subcard{display:grid;grid-template-columns:82px 1fr}.gallery-v2-sub-order{position:absolute;top:7px;left:7px;z-index:2;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(255,253,251,.9);font-size:.7rem;font-weight:700;color:#604a45}.gallery-v2-subcover{display:grid;place-items:center;background:linear-gradient(145deg,#f1dddd,#f9f4ef);font-size:1.45rem;color:#a88f86}.gallery-v2-subbody{padding:12px;display:grid;grid-template-columns:1fr auto;gap:7px;align-content:center}.gallery-v2-subbody h4{margin:0 0 3px;font:600 .95rem/1.2 Georgia,serif;color:#3b1f21}.gallery-v2-subbody p{margin:0;font-size:.73rem;color:#85726b}.gallery-v2-subactions{grid-column:1/-1;display:flex;gap:6px}.gallery-v2-subactions .btn{padding:6px 9px!important;font-size:.72rem!important}.gallery-v2-add-card{appearance:none;border-style:dashed;display:grid;place-items:center;align-content:center;gap:3px;cursor:pointer;color:#765f58}.gallery-v2-add-card strong{font-size:1.45rem;font-weight:400}.gallery-v2-add-card span{font-weight:700}.gallery-v2-add-card small{font-size:.7rem}.gallery-v2-add-card:hover{background:#f9f4ef}.gallery-v2-browser.hidden,.gallery-v2-detail.hidden,.gallery-v2-create.hidden{display:none!important}
@media(max-width:1050px){.gallery-v2-form{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-v2-toolbar{grid-template-columns:1fr 1fr}.gallery-v2-stats{grid-template-columns:repeat(2,1fr)}.gallery-v2-detail-hero{grid-template-columns:220px 1fr}}
@media(max-width:700px){.gallery-v2-page-head,.gallery-v2-detail-top,.gallery-v2-sub-head{align-items:flex-start;display:grid}.gallery-v2-stats{grid-template-columns:1fr 1fr}.gallery-v2-toolbar,.gallery-v2-form{grid-template-columns:1fr}.gallery-v2-form-wide{grid-column:auto}.gallery-v2-grid,.gallery-v2-subgrid{grid-template-columns:1fr}.gallery-v2-detail-hero{grid-template-columns:1fr}.gallery-v2-detail-cover{min-height:170px;max-height:210px}.gallery-v2-detail-copy{padding:18px}.gallery-v2-detail-actions{justify-content:flex-start}}
