/* ═══════════════════════════════════════════════════════
   STEFANO DELÌA PHOTOGRAPHY — main.css
   ═══════════════════════════════════════════════════════ */

/* ─── VARIABILI ─────────────────────────────────────── */
:root {
  --bg:         #f0ede8;
  --bg-warm:    #e8e4de;
  --bg-dark:    #2a2825;
  --bg-dark-lt: #454039;
  --ink:        #1a1917;
  --ink-mid:    #6b6560;
  --ink-light:  #a09890;
  --copper:     #b5713a;
  --copper-lt:  #d4925a;
  --copper-dim: rgba(181,113,58,0.11);
  --white:      #faf8f5;
  --font-title: 'Outfit', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --nav-h:      72px;
  --gap:        20px;
  --pad:        56px;
}

/* ─── RESET ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
img { display: block; max-width: 100%; }
a { color: var(--copper); transition: color .25s; }
a:hover { color: var(--copper-lt); }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-title);
  font-weight: 300;
  letter-spacing: .02em;
}

/* ─── CURSOR (disabilitato) ──────────────────────────── */
/* Cursore custom rimosso — conflitto con popup e overlay */

/* ─── NAV ────────────────────────────────────────────── */
.sd-nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--pad); z-index: 100;
  background: var(--bg);
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.sd-nav-logo {
  font-family: var(--font-title); font-size: .95rem; font-weight: 400;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--ink); text-decoration: none;
}
.sd-nav-links {
  display: flex; gap: 44px; list-style: none; align-items: center;
  align-self: stretch;
}
.sd-nav-links a {
  color: var(--ink-mid); text-decoration: none;
  font-size: .58rem; font-weight: 400; letter-spacing: .22em; text-transform: uppercase;
  transition: color .25s; position: relative;
}
.sd-nav-links a::after {
  content: ''; position: absolute; bottom: -3px; left: 0; right: 0;
  height: 1px; background: var(--copper);
  transform: scaleX(0); transform-origin: left; transition: transform .3s;
}
.sd-nav-links a:hover, .sd-nav-links a.active { color: var(--ink); }
.sd-nav-links a:hover::after, .sd-nav-links a.active::after { transform: scaleX(1); }

/* Nav right wrapper — raggruppa menù + switcher */
.sd-nav-right {
  display: flex;
  align-items: center;
  margin-left: auto;
  align-self: stretch;
}

/* Switcher lingua */
.sd-lang-switcher {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: 32px;
  flex-shrink: 0;
}
.sd-lang-btn {
  font-family: var(--font-title);
  font-size: .46rem;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-light);
  text-decoration: none;
  padding: 4px 7px;
  border: 1px solid transparent;
  transition: color .25s, border-color .25s;
  line-height: 1;
}
.sd-lang-btn:hover {
  color: var(--copper);
}
.sd-lang-btn.current-lang {
  color: var(--copper);
  border-color: rgba(181,113,58,.35);
}
.sd-lang-btn + .sd-lang-btn::before {
  content: '·';
  margin-right: 9px;
  color: var(--ink-light);
  font-size: .5rem;
  opacity: .5;
}

/* Mobile nav toggle */
.sd-nav-toggle {
  display: none; background: none; border: none;
  flex-direction: column; gap: 5px; padding: 8px;
}
.sd-nav-toggle span {
  display: block; width: 22px; height: 1px; background: var(--ink);
  transition: all .3s;
}

/* ─── SEZIONE LABEL ──────────────────────────────────── */
.sd-section-label {
  font-size: .54rem; letter-spacing: .38em; text-transform: uppercase;
  color: var(--copper); margin-bottom: 48px;
  display: flex; align-items: center; gap: 18px;
}
.sd-section-label::before {
  content: ''; display: block; width: 36px; height: 1px; background: var(--copper);
}
.sd-section-label.light { color: var(--copper-lt); }
.sd-section-label.light::before { background: var(--copper-lt); }

/* ─── PAGE HEADER ────────────────────────────────────── */
.sd-page-header {
  padding: calc(var(--nav-h) + 80px) var(--pad) 64px;
  background: var(--bg);
  border-bottom: 1px solid rgba(26,25,23,.07);
}
.sd-page-header h1 {
  font-family: var(--font-title); font-size: clamp(2.8rem,5vw,5rem);
  font-weight: 200; letter-spacing: -.02em; line-height: .95; margin-bottom: 20px;
}
.sd-page-header p { font-size: .72rem; color: var(--ink-mid); line-height: 1.85; max-width: 500px; }

/* ─── HERO SLIDER FULLSCREEN ─────────────────────────── */
.sd-hero-slider {
  position: relative !important;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  max-height: 100vh;
  overflow: hidden;
}
.sd-slides { position: absolute; inset: 0; z-index: 0; }
.sd-slide {
  position: absolute; inset: 0; z-index: 1;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.sd-slide.active { opacity: 1; z-index: 2; }
.sd-slide img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform 7s ease;
}
.sd-slide.active img { transform: scale(1); }
.sd-hero-overlay {
  position: absolute; inset: 0; z-index: 10;
  background: linear-gradient(to bottom, rgba(26,25,23,.15) 0%, rgba(26,25,23,.35) 50%, rgba(26,25,23,.65) 100%);
  pointer-events: none;
}
.sd-hero-content {
  position: absolute; z-index: 11;
  bottom: 120px; left: var(--pad); max-width: 640px;
}
.sd-eyebrow {
  font-size: .56rem; letter-spacing: .38em; text-transform: uppercase;
  color: var(--copper-lt); margin-bottom: 20px;
  opacity: 0; transform: translateY(14px); animation: sdFadeUp .7s .3s forwards;
}
.sd-hero-title {
  font-family: var(--font-title);
  font-size: clamp(2.4rem,5vw,4.5rem);
  font-weight: 200; line-height: .92; letter-spacing: -.02em;
  color: var(--white); margin-bottom: 28px;
  opacity: 0; transform: translateY(24px); animation: sdFadeUp .8s .5s forwards;
}
/* Opzione A: stesso font Outfit, peso diverso per cognome */
.sd-surname {
  font-family: var(--font-title);
  font-weight: 400;
  font-style: normal;
  color: var(--white);
  display: block;
}
.sd-hero-desc {
  font-size: .75rem; line-height: 1.9; color: rgba(240,237,232,.72);
  margin-bottom: 36px; opacity: 0; animation: sdFadeUp .8s .75s forwards;
}
.sd-cta {
  display: inline-block;
  border: 1px solid var(--copper);
  color: var(--copper);
  background: transparent;
  font-size: .57rem; letter-spacing: .22em; text-transform: uppercase;
  text-decoration: none; padding: 13px 36px; transition: all .35s;
  opacity: 0; animation: sdFadeUp .8s .95s forwards;
}
.sd-cta:hover { background: var(--copper); border-color: var(--copper); color: var(--white); }
.sd-slide-dots {
  position: absolute; z-index: 11; bottom: 40px; left: var(--pad);
  display: flex; gap: 10px; align-items: center;
}
.sd-dot {
  width: 28px; height: 2px; background: rgba(240,237,232,.3);
  border: none; padding: 0; transition: background .4s, width .4s;
}
.sd-dot.active { background: var(--copper); width: 48px; }
.sd-hero-scroll {
  position: absolute; z-index: 11; right: var(--pad); bottom: 40px;
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  opacity: 0; animation: sdFadeIn 1s 1.4s forwards;
}
.sd-hero-scroll span {
  font-size: .5rem; letter-spacing: .3em; text-transform: uppercase;
  color: rgba(240,237,232,.45); writing-mode: vertical-rl;
}
.sd-scroll-line {
  width: 1px; height: 48px; background: rgba(240,237,232,.25);
  position: relative; overflow: hidden;
}
.sd-scroll-line::after {
  content: ''; position: absolute; top: -100%; left: 0;
  width: 100%; height: 100%; background: var(--copper);
  animation: sdScanLine 1.6s 1.6s infinite;
}
@keyframes sdScanLine { to { top: 200%; } }


/* ─── WORK GRID ──────────────────────────────────────── */
.sd-work-section { background: var(--white); padding: 48px var(--pad) 110px; }
.sd-work-section--full { background: var(--white); padding: 48px var(--pad); }

.sd-filter-bar { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 64px; }
.sd-filter-btn {
  background: none; border: 1px solid rgba(26,25,23,.12); color: var(--ink-mid);
  font-family: var(--font-title); font-weight: 400; font-size: .55rem;
  letter-spacing: .2em; text-transform: uppercase; padding: 9px 24px; transition: all .3s;
}
.sd-filter-btn:hover { border-color: var(--copper); color: var(--ink); }
.sd-filter-btn.active { border-color: var(--copper); color: var(--copper); background: var(--copper-dim); }

/* ─── GRIGLIA PORTFOLIO: 3 colonne quadrate 1:1 ──────── */
.sd-work-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}
.sd-work-item {
  position: relative; overflow: hidden;
  background: var(--bg-warm);
  aspect-ratio: 1 / 1;
}
.sd-work-item img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(10%); transition: transform .8s cubic-bezier(.25,.46,.45,.94), filter .6s;
}
.sd-work-item:hover img { transform: scale(1.05); filter: grayscale(0); }
.sd-work-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(26,25,23,.72) 0%, transparent 52%);
  opacity: 0; transition: opacity .45s;
  display: flex; align-items: flex-end; padding: 32px;
}
.sd-work-item:hover .sd-work-overlay { opacity: 1; }
.sd-work-meta { transform: translateY(12px); transition: transform .45s; }
.sd-work-item:hover .sd-work-meta { transform: translateY(0); }
.sd-work-cat { font-size: .5rem; letter-spacing: .28em; text-transform: uppercase; color: var(--copper-lt); margin-bottom: 6px; }
.sd-work-title { font-family: var(--font-title); font-size: 1.05rem; font-weight: 300; color: var(--white); line-height: 1.2; }
.sd-work-item.hidden { display: none; }

/* Progetti extra — nascosti finché non si clicca "Carica altri" */
.sd-work-item--extra { display: none; }
.sd-work-item--extra.visible { display: block; }

/* Pulsante Carica altri */
.sd-load-more-wrap {
  text-align: center;
  padding: 48px var(--pad) 80px;
  background: var(--white);
}
.sd-load-more {
  background: transparent;
  border: 1px solid var(--copper);
  color: var(--copper);
  font-family: var(--font-title);
  font-size: .57rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 14px 44px;
  cursor: pointer;
  transition: all .3s;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.sd-load-more:hover {
  background: var(--copper);
  color: var(--white);
}
.sd-load-more__count {
  font-size: .5rem;
  opacity: .6;
  letter-spacing: .15em;
}
.sd-load-more.hidden { display: none; }

/* ─── DIVIDER ────────────────────────────────────────── */
.sd-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--ink-light), transparent);
  margin: 0 var(--pad);
}

/* ─── ABOUT STRIP ────────────────────────────────────── */
.sd-about-strip {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--bg-dark);
}
.sd-about-video-bg {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
}
.sd-about-video-frame {
  position: absolute; top: 50%; left: 50%;
  width: 100vw; height: 56.25vw;
  min-height: 100%; min-width: 177.78vh;
  transform: translate(-50%, -50%);
  border: none; pointer-events: none;
}
.sd-about-video-overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to right, rgba(26,25,23,.92) 0%, rgba(26,25,23,.78) 45%, rgba(26,25,23,.45) 100%);
}
.sd-about-text {
  position: relative; z-index: 2;
  max-width: 520px; margin-left: auto;
  padding: 100px var(--pad);
}
.sd-about-text .sd-section-label { color: var(--copper-lt); }
.sd-about-text .sd-section-label::before { background: var(--copper-lt); }
.sd-about-text h2 {
  font-family: var(--font-title); font-size: clamp(2.2rem,3.5vw,3.4rem);
  font-weight: 200; line-height: 1.05; margin-bottom: 28px; color: var(--white);
}
.sd-about-text h2 em { font-family: var(--font-serif); font-style: italic; color: var(--copper-lt); display: block; }
.sd-about-text p { font-size: .73rem; line-height: 1.95; color: rgba(240,237,232,.6); margin-bottom: 18px; max-width: 460px; }
.sd-about-clients {
  margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.1);
  font-size: .57rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(240,237,232,.35); line-height: 2.5;
}
.sd-about-clients strong { color: var(--copper-lt); display: block; margin-bottom: 8px; font-weight: 400; }
.sd-about-strip .sd-btn-outline { border-color: rgba(255,255,255,.25); color: var(--white); }
.sd-about-strip .sd-btn-outline:hover { background: var(--white); color: var(--ink); }
.sd-btn-outline {
  display: inline-block; margin-top: 36px; border: 1px solid var(--copper); color: var(--copper);
  font-size: .57rem; letter-spacing: .22em; text-transform: uppercase;
  text-decoration: none; padding: 13px 34px; transition: all .3s;
}
.sd-btn-outline:hover { background: var(--copper); color: var(--white); }

/* ─── FINE ART ───────────────────────────────────────── */
.sd-fineart-teaser { background: var(--white); padding: 110px var(--pad); }
.sd-fineart-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 56px; gap: 40px; }
.sd-fineart-header h2 { font-family: var(--font-title); font-size: clamp(2rem,3.5vw,3.2rem); font-weight: 200; color: var(--ink); line-height: 1.05; margin-bottom: 16px; }
.sd-fineart-header h2 em { font-family: var(--font-serif); font-style: italic; color: var(--copper); }
.sd-fineart-desc { font-size: .74rem; line-height: 1.9; color: var(--ink-mid); max-width: 420px; margin-top: 16px; }
.sd-fineart-shop-link { font-size: .57rem; letter-spacing: .2em; text-transform: uppercase; color: var(--copper); text-decoration: none; white-space: nowrap; transition: color .3s; display: inline-block; margin-top: 4px; }
.sd-fineart-shop-link:hover { color: var(--ink); }
.sd-fineart-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; align-items: start; }
.sd-fineart-grid--full { grid-template-columns: repeat(4,1fr); }
.sd-fineart-item { cursor: pointer; }
.sd-fineart-frame {
  background: #ffffff; padding: 22px;
  box-shadow: 0 2px 20px rgba(26,25,23,.07);
  transition: transform .4s cubic-bezier(.25,.46,.45,.94), box-shadow .4s;
}
.sd-fineart-item:hover .sd-fineart-frame { transform: translateY(-6px); box-shadow: 0 8px 32px rgba(26,25,23,.12); }
.sd-fineart-frame img { width: 100%; height: auto; display: block; filter: grayscale(8%); transition: filter .5s; }
.sd-fineart-item:hover .sd-fineart-frame img { filter: grayscale(0); }
.sd-fineart-caption { padding: 16px 4px 0; }
.sd-fineart-caption-title { font-family: var(--font-serif); font-style: italic; font-weight: 300; font-size: .95rem; color: var(--ink-mid); margin-bottom: 6px; }
.sd-fineart-price { display: block; font-size: .58rem; color: var(--copper); letter-spacing: .06em; margin-bottom: 6px; }
.sd-fineart-price .woocommerce-Price-amount { color: var(--copper); }
.sd-fineart-shop-tag { font-size: .46rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-light); }
.sd-fineart-page { padding: 56px var(--pad); }

/* ─── SINGOLO PROGETTO ───────────────────────────────── */
/* ─── PROJECT HERO ───────────────────────────────────── */
.sd-project-hero {
  height: calc(75vh + var(--nav-h));
  position: relative; overflow: hidden;
  margin-top: 0;
}
.sd-project-hero img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(8%); }
.sd-project-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top,rgba(26,25,23,.65) 0%,transparent 50%);
  display: flex; align-items: flex-end; padding: var(--pad);
}
.sd-project-hero-cat { font-size: .55rem; letter-spacing: .32em; text-transform: uppercase; color: var(--copper-lt); margin-bottom: 12px; }
.sd-project-hero-title { font-family: var(--font-title); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 200; line-height: .95; color: var(--white); }

/* ─── PROJECT BODY ───────────────────────────────────── */
.sd-project-body {
  display: grid; grid-template-columns: 3fr 9fr;
  grid-template-rows: auto 1fr;
  gap: 0 80px; padding: 0 var(--pad) 40px; background: var(--bg);
  align-items: start;
}
.sd-back-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .57rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--copper); text-decoration: none;
  grid-column: 1 / -1;
  padding: 24px 0 16px;
  transition: gap .3s;
}
.sd-back-btn:hover { gap: 16px; }
.sd-back-btn::before { content: '←'; font-size: .9rem; }
.sd-sidebar-item { margin-bottom: 28px; }
.sd-project-sidebar { padding-top: 30px; align-self: start; }
.sd-sidebar-label { font-size: .52rem; letter-spacing: .32em; text-transform: uppercase; color: var(--copper); margin-bottom: 6px; }
.sd-sidebar-val { font-size: .75rem; color: var(--ink-mid); line-height: 1.7; }
.sd-project-content h2 { font-family: var(--font-title); font-size: 1.1rem; font-weight: 300; margin-bottom: 16px; letter-spacing: .02em; color: var(--ink); }
.sd-project-content h3 { font-size: .58rem; letter-spacing: .28em; text-transform: uppercase; color: var(--ink-light); margin: 32px 0 12px; }
.sd-project-content p { font-size: .8rem; line-height: 2; color: var(--ink-mid); margin-bottom: 20px; max-width: 640px; }

/* Link interni SEO */
.sd-project-links {
  margin-top: 36px; padding-top: 24px;
  border-top: 1px solid rgba(26,25,23,.08);
  display: flex; gap: 24px; flex-wrap: wrap;
}
.sd-project-links a {
  font-size: .55rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--copper); text-decoration: none;
  border-bottom: 1px solid rgba(181,113,58,.3); padding-bottom: 2px;
  transition: border-color .3s;
}
.sd-project-links a:hover { border-color: var(--copper); }

/* ─── GALLERIA MASONRY ───────────────────────────────── */
.sd-project-gallery {
  columns: 3;
  column-gap: var(--gap);
  padding: 0 var(--pad) 80px;
  background: var(--bg);
}
.sd-project-gallery-item {
  break-inside: avoid;
  margin-bottom: var(--gap);
  overflow: hidden;
}
.sd-project-gallery-item img {
  width: 100%;
  height: auto;           /* proporzioni reali — nessun crop */
  display: block;
  filter: grayscale(8%);
  transition: transform .7s cubic-bezier(.25,.46,.45,.94), filter .5s;
}
.sd-project-gallery-item:hover img { transform: scale(1.03); filter: grayscale(0); }

/* ─── LIGHTBOX con navigazione ───────────────────────── */
#sdLightbox {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(26,25,23,.96);
  display: none; align-items: center; justify-content: center;
  padding: 40px;
}
#sdLightbox.open { display: flex; }
#sdLbImg {
  max-width: 88vw; max-height: 88vh;
  object-fit: contain;
  transition: opacity .25s;
}
#sdLbClose {
  position: absolute; top: 24px; right: 32px;
  background: none; border: none; color: rgba(240,237,232,.6);
  font-size: 1.5rem; line-height: 1; padding: 8px;
  transition: color .2s;
}
#sdLbClose:hover { color: var(--white); }
.sd-lb-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: none; border: none;
  color: rgba(240,237,232,.45); font-size: 2rem; padding: 16px;
  transition: color .2s; line-height: 1;
}
.sd-lb-arrow:hover { color: var(--copper-lt); }
#sdLbPrev { left: 24px; }
#sdLbNext { right: 24px; }
#sdLbCounter {
  position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
  font-size: .52rem; letter-spacing: .25em; text-transform: uppercase;
  color: rgba(240,237,232,.35);
}

/* Nav prev/next */
.sd-project-nav { display: flex; justify-content: space-between; padding: 48px var(--pad); background: var(--bg); border-top: 1px solid rgba(26,25,23,.08); }
.sd-project-nav a { text-decoration: none; }
.sd-project-nav a span { display: block; font-size: .55rem; letter-spacing: .25em; text-transform: uppercase; color: var(--copper); margin-bottom: 6px; }
.sd-project-nav a strong { display: block; font-size: .85rem; font-weight: 300; color: var(--ink); }
.sd-project-nav-next { text-align: right; }

/* ─── BLOG ───────────────────────────────────────────── */
.sd-blog-section { padding: 56px var(--pad); }
.sd-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: calc(var(--gap) * 2); }
.sd-blog-item-img { aspect-ratio: 16/9; overflow: hidden; margin-bottom: 24px; }
.sd-blog-item-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(10%); transition: transform .7s cubic-bezier(.25,.46,.45,.94), filter .5s; }
.sd-blog-item:hover .sd-blog-item-img img { transform: scale(1.04); filter: grayscale(0); }
.sd-blog-item-cat { font-size: .5rem; letter-spacing: .28em; text-transform: uppercase; color: var(--copper); margin-bottom: 10px; }
.sd-blog-item-title { font-family: var(--font-title); font-size: 1.1rem; font-weight: 300; line-height: 1.3; margin-bottom: 12px; }
.sd-blog-item-title a { color: var(--ink); text-decoration: none; transition: color .25s; }
.sd-blog-item-title a:hover { color: var(--copper); }
.sd-blog-item-date { font-size: .55rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-light); margin-bottom: 14px; }
.sd-blog-item-excerpt { font-size: .72rem; line-height: 1.85; color: var(--ink-mid); }
.sd-pagination { margin-top: 64px; text-align: center; }
.sd-pagination .page-numbers { font-size: .6rem; letter-spacing: .15em; color: var(--ink-mid); text-decoration: none; padding: 8px 14px; border: 1px solid transparent; transition: all .3s; }
.sd-pagination .page-numbers.current, .sd-pagination .page-numbers:hover { border-color: var(--copper); color: var(--copper); }

/* ─── WOOCOMMERCE ────────────────────────────────────── */
.woocommerce, .woocommerce-page { background: var(--bg) !important; padding-top: var(--nav-h); }
/* Nella pagina singolo prodotto il breadcrumb gestisce già lo spazio dal nav */
.single-product.woocommerce { padding-top: 0 !important; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: calc(var(--gap) * 1.5) !important; padding: 56px var(--pad) !important; list-style: none !important; }
.woocommerce ul.products li.product a img { filter: grayscale(12%); transition: transform .6s ease, filter .5s; aspect-ratio: 4/5; object-fit: cover; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); filter: grayscale(0); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-serif) !important; font-style: italic; font-weight: 300 !important; font-size: 1.1rem !important; color: var(--ink) !important; margin-top: 16px !important; }
.woocommerce ul.products li.product .price { font-family: var(--font-title) !important; font-size: .75rem !important; color: var(--copper) !important; font-weight: 400 !important; }
.woocommerce a.button, .woocommerce button.button { background: transparent !important; border: 1px solid var(--copper) !important; color: var(--copper) !important; font-family: var(--font-title) !important; font-size: .55rem !important; font-weight: 400 !important; letter-spacing: .2em !important; text-transform: uppercase !important; border-radius: 0 !important; padding: 10px 24px !important; transition: all .3s !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--copper) !important; color: var(--white) !important; }

/* ─── FOOTER ─────────────────────────────────────────── */
.sd-footer {
  background: var(--bg-dark); border-top: 1px solid rgba(240,237,232,.06);
}

/* Fascia newsletter: sfondo chiaro apposta, per staccare visivamente
   dal blocco scuro Chi-sono → CTA → footer che altrimenti sarebbe un unico blocco. */
.sd-footer-newsletter {
  background: var(--bg);
  padding: 64px var(--pad);
}
.sd-footer-newsletter__inner {
  max-width: 460px; margin: 0 auto;
  text-align: center; display: flex; flex-direction: column; align-items: center;
}
.sd-footer-newsletter__lead {
  font-size: .8rem; line-height: 1.7; color: var(--ink-mid);
  margin: 14px 0 24px;
}
.sd-footer-newsletter .sd-newsletter-form { width: 100%; }

.sd-footer-bottom {
  border-top: 1px solid rgba(240,237,232,.06);
  padding: 32px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center;
}
.sd-footer-logo { font-family: var(--font-title); font-size: .9rem; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; color: var(--white); }
.sd-footer-info { text-align: center; font-size: .57rem; letter-spacing: .15em; color: rgba(240,237,232,.38); line-height: 2.3; }
.sd-footer-info a { color: rgba(240,237,232,.38); text-decoration: none; transition: color .3s; }
.sd-footer-info a:hover { color: var(--copper-lt); }
.sd-footer-copy { font-size: .5rem; letter-spacing: .12em; color: rgba(240,237,232,.2); text-align: center; line-height: 1.9; }

/* ─── NEWSLETTER — form condiviso (footer / popup / fine articolo) ───── */
.sd-newsletter-form__row {
  display: flex; gap: 10px;
}
.sd-newsletter-form__row input {
  flex: 1; min-width: 0; background: transparent; border: 1px solid rgba(26,25,23,.2);
  padding: 12px 16px; font-family: var(--font-title); font-size: .8rem; color: var(--ink);
}
.sd-newsletter-form__row input:focus { border-color: var(--copper); outline: none; }
.sd-newsletter-form__row button {
  background: transparent; border: 1px solid var(--copper); color: var(--copper);
  font-family: var(--font-title); font-size: .55rem; font-weight: 400; letter-spacing: .2em;
  text-transform: uppercase; padding: 10px 22px; white-space: nowrap; cursor: pointer; transition: all .3s;
}
.sd-newsletter-form__row button:hover { background: var(--copper); color: var(--white); }
.sd-newsletter-form__row button:disabled { opacity: .5; cursor: default; }
.sd-newsletter-form__consent {
  display: flex; align-items: flex-start; gap: 8px; margin-top: 14px;
  font-size: .65rem; line-height: 1.6; color: var(--ink-mid); text-align: left; cursor: pointer;
}
.sd-newsletter-form__consent input { margin-top: 3px; flex-shrink: 0; }
.sd-newsletter-form__msg { font-size: .7rem; margin-top: 10px; min-height: 1em; }
.sd-newsletter-form__msg.is-success { color: var(--copper); }
.sd-newsletter-form__msg.is-error { color: #c0392b; }
.sd-visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ─── NEWSLETTER — popup soft ──────────────────────────── */
.sd-newsletter-popup {
  position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center;
  background: rgba(26,25,23,.5); opacity: 0; visibility: hidden; transition: opacity .3s;
  padding: 24px;
}
.sd-newsletter-popup.is-visible { opacity: 1; visibility: visible; }
.sd-newsletter-popup__card {
  position: relative; background: var(--bg); max-width: 420px; width: 100%;
  padding: 48px 40px; text-align: center; transform: translateY(12px); transition: transform .3s;
}
.sd-newsletter-popup.is-visible .sd-newsletter-popup__card { transform: translateY(0); }
.sd-newsletter-popup__close {
  position: absolute; top: 14px; right: 16px; background: none; border: none; cursor: pointer;
  font-size: 1.4rem; line-height: 1; color: var(--ink-light);
}
.sd-newsletter-popup__close:hover { color: var(--ink); }
.sd-newsletter-popup__lead { font-size: .85rem; line-height: 1.7; color: var(--ink-mid); margin: 14px 0 24px; }

/* ── Banner cookie ──────────────────────────────────────── */
.sd-cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 500;
  background: var(--bg-dark);
  padding: 20px var(--pad);
  transform: translateY(100%);
  transition: transform .3s;
}
.sd-cookie-banner.is-visible { transform: translateY(0); }
.sd-cookie-banner__inner {
  max-width: 1100px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.sd-cookie-banner__text { font-size: .78rem; line-height: 1.6; color: rgba(240,237,232,.75); max-width: 640px; }
.sd-cookie-banner__text a { color: var(--copper-lt); text-decoration: underline; }
.sd-cookie-banner__actions { display: flex; gap: 12px; flex-shrink: 0; }
.sd-cookie-banner__reject,
.sd-cookie-banner__accept {
  font-family: var(--font-title); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
  padding: 12px 22px; cursor: pointer; border-radius: 0; transition: all .25s;
}
.sd-cookie-banner__reject { background: transparent; border: 1px solid rgba(240,237,232,.3); color: rgba(240,237,232,.85); }
.sd-cookie-banner__reject:hover { border-color: rgba(240,237,232,.6); }
.sd-cookie-banner__accept { background: var(--copper); border: 1px solid var(--copper); color: var(--white); }
.sd-cookie-banner__accept:hover { background: var(--copper-lt); border-color: var(--copper-lt); }
@media (max-width: 600px) {
  .sd-cookie-banner__inner { flex-direction: column; align-items: stretch; }
  .sd-cookie-banner__actions { justify-content: stretch; }
  .sd-cookie-banner__reject, .sd-cookie-banner__accept { flex: 1; text-align: center; }
}

/* ─── ANIMAZIONI ─────────────────────────────────────── */
@keyframes sdFadeUp  { to { opacity: 1; transform: translateY(0); } }
@keyframes sdFadeIn  { to { opacity: 1; } }
@keyframes sdScanLine { to { left: 200%; } }

/* ═══════════════════════════════════════════════════════
   PAGE — ABOUT
   ═══════════════════════════════════════════════════════ */

.sd-about-page {
  padding-top: var(--nav-h);
}

/* ─── LAYOUT PRINCIPALE: foto sticky sx + contenuto dx ── */
.sd-about-hero {
  background: var(--bg);
  padding: 56px var(--pad) 0;
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 72px;
  align-items: start;
}

/* Foto sticky */
.sd-about-hero__portrait {
  position: sticky;
  top: calc(var(--nav-h) + 24px);
  overflow: hidden;
  aspect-ratio: 3/4;
}
.sd-about-portrait-img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(12%);
  transition: filter .7s;
}
.sd-about-hero__portrait:hover .sd-about-portrait-img {
  filter: grayscale(0);
}

/* Colonna destra: tutto il contenuto */
.sd-about-hero__content {
  padding-top: 8px;
  padding-bottom: 80px;
}

/* Nome e ruolo */
.sd-about-name {
  font-family: var(--font-title);
  font-size: clamp(3rem, 5vw, 5.5rem);
  font-weight: 200;
  letter-spacing: -.03em;
  line-height: .88;
  color: var(--ink);
  margin-bottom: 16px;
}
.sd-about-role {
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-mid);
  margin-bottom: 52px;
}
.sd-about-role em {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: .95rem;
  text-transform: none;
  letter-spacing: .04em;
  color: var(--copper);
}

/* ─── BIO (dentro la colonna destra) ────────────────── */
.sd-about-bio {
  margin-bottom: 52px;
}
.sd-about-bio__content p {
  font-size: .78rem;
  line-height: 2.05;
  color: var(--ink-mid);
  margin-bottom: 18px;
}
.sd-about-bio__content p:first-child {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.65;
  color: var(--ink);
  letter-spacing: .01em;
  margin-bottom: 32px;
}
.sd-about-bio__content strong { color: var(--ink); font-weight: 500; }

/* ─── CLIENTI (dentro la colonna destra) ────────────── */
.sd-about-clients-section {
  padding-top: 40px;
  border-top: 1px solid rgba(26,25,23,.08);
  margin-bottom: 48px;
}
.sd-about-clients-section__inner { max-width: 100%; }
.sd-about-clients-list {
  font-size: .65rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-mid);
  line-height: 2.6;
}

/* ─── PREMI (dentro la colonna destra) ──────────────── */
.sd-about-awards {
  margin-bottom: 52px;
}
.sd-about-awards__inner { max-width: 100%; }
.sd-about-awards__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sd-about-awards__list li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(26,25,23,.06);
  align-items: baseline;
}
.sd-about-awards__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.sd-award-year {
  font-size: .52rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--copper);
}
.sd-award-text {
  font-size: .75rem;
  line-height: 1.8;
  color: var(--ink-mid);
}

/* ─── FOTO DI SET ────────────────────────────────────── */
.sd-about-set {
  background: var(--bg);
  padding: 80px var(--pad);
}
.sd-about-set__figure {
  position: relative;
  overflow: hidden;
  max-height: 72vh;
}
.sd-about-set__img {
  width: 100%;
  object-fit: cover;
  filter: grayscale(8%);
  transition: transform 1s cubic-bezier(.25,.46,.45,.94), filter .7s;
  display: block;
}
.sd-about-set__figure:hover .sd-about-set__img {
  transform: scale(1.02);
  filter: grayscale(0);
}
.sd-about-set__caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 24px var(--pad);
  background: linear-gradient(to top, rgba(26,25,23,.65) 0%, transparent 100%);
  font-size: .52rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(240,237,232,.65);
}
.sd-about-set__caption em {
  font-family: var(--font-serif);
  font-style: italic;
  text-transform: none;
  font-size: .8rem;
  letter-spacing: .04em;
  color: rgba(240,237,232,.85);
}

/* ─── CTA CONTATTI ───────────────────────────────────── */
.sd-about-cta {
  background: var(--bg-dark);
  padding: 110px var(--pad);
  text-align: center;
}
.sd-about-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}
.sd-about-cta__lead {
  font-family: var(--font-title);
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 200;
  letter-spacing: -.02em;
  line-height: 1.05;
  color: var(--white);
}

/* ─── RESPONSIVE — ABOUT ─────────────────────────────── */
@media (max-width: 1024px) {
  .sd-about-hero { grid-template-columns: 340px 1fr; gap: 48px; }
}

@media (max-width: 768px) {
  .sd-about-hero {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-bottom: 56px;
  }
  .sd-about-hero__portrait {
    position: static;
    aspect-ratio: 3/4;
    max-height: 70vw;
  }
  .sd-about-hero__content { padding-bottom: 0; }
  .sd-about-bio__content p:first-child { font-size: 1.1rem; }
  .sd-about-awards__list li { grid-template-columns: 64px 1fr; gap: 16px; }
  .sd-about-cta { padding: 80px var(--pad); }
  .sd-about-cta__lead { font-size: clamp(1.8rem, 6vw, 2.8rem); }
}

@media (max-width: 480px) {
  .sd-about-hero { padding: 40px var(--pad) 48px; }
  .sd-about-clients-list { font-size: .62rem; }
}


/* ═══════════════════════════════════════════════════════
   PAGE — CONTACT
   ═══════════════════════════════════════════════════════ */

.sd-contact-page {
  padding-top: var(--nav-h);
}

/* ─── HEADER ─────────────────────────────────────────── */
.sd-contact-header {
  padding: 80px var(--pad) 72px;
  background: var(--bg);
  border-bottom: 1px solid rgba(26,25,23,.06);
}
.sd-contact-header__inner { max-width: 640px; }
.sd-contact-title {
  font-family: var(--font-title);
  font-size: clamp(3rem, 5.5vw, 5.5rem);
  font-weight: 200;
  letter-spacing: -.03em;
  line-height: .88;
  color: var(--ink);
  margin-bottom: 28px;
}
.sd-contact-lead {
  font-size: .8rem; line-height: 1.95; color: var(--ink-mid); max-width: 500px;
}

/* ─── CORPO: form sx — info dx ───────────────────────── */
.sd-contact-body {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 0;
  min-height: 60vh;
}

/* ─── FORM SX ────────────────────────────────────────── */
.sd-contact-form-wrap {
  padding: 64px var(--pad);
  background: var(--bg);
  border-right: 1px solid rgba(26,25,23,.07);
}
.sd-contact-form-wrap .wpcf7-form { display: flex; flex-direction: column; }
.sd-contact-form-wrap .wpcf7-form p { margin-bottom: 24px; }
.sd-contact-form-wrap input[type="text"],
.sd-contact-form-wrap input[type="email"],
.sd-contact-form-wrap select,
.sd-contact-form-wrap textarea {
  width: 100%; background: transparent; border: none;
  border-bottom: 1px solid rgba(26,25,23,.18);
  padding: 12px 0; font-family: var(--font-title); font-size: .75rem;
  font-weight: 300; color: var(--ink); letter-spacing: .04em;
  outline: none; transition: border-color .3s;
  border-radius: 0; appearance: none; -webkit-appearance: none;
}
.sd-contact-form-wrap input:focus,
.sd-contact-form-wrap textarea:focus,
.sd-contact-form-wrap select:focus { border-color: var(--copper); }
.sd-contact-form-wrap input::placeholder,
.sd-contact-form-wrap textarea::placeholder { color: var(--ink-light); font-weight: 300; }
.sd-contact-form-wrap textarea { resize: none; min-height: 120px; line-height: 1.8; }
.sd-contact-form-wrap select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a09890' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 4px center;
  padding-right: 24px; cursor: pointer; color: var(--ink-light);
}
.sd-contact-form-wrap select option { background: var(--bg); color: var(--ink); }
.sd-contact-form-wrap input[type="submit"] {
  border: 1px solid var(--copper); color: var(--copper); background: transparent;
  font-family: var(--font-title); font-size: .57rem; letter-spacing: .22em;
  text-transform: uppercase; padding: 14px 40px; cursor: pointer;
  transition: all .3s; width: auto; margin-top: 8px;
}
.sd-contact-form-wrap input[type="submit"]:hover { background: var(--copper); color: var(--white); }

/* Messaggi CF7 */
.wpcf7-response-output {
  margin-top: 20px !important; padding: 12px 16px !important;
  border: none !important; font-size: .65rem !important;
  letter-spacing: .08em !important; font-family: var(--font-title) !important;
}
.wpcf7-mail-sent-ok { background: rgba(181,113,58,.08) !important; color: var(--copper) !important; }
.wpcf7-validation-errors, .wpcf7-mail-sent-ng { background: rgba(26,25,23,.05) !important; color: var(--ink-mid) !important; }

/* ─── INFO DX ────────────────────────────────────────── */
.sd-contact-info {
  padding: 64px var(--pad); background: var(--bg-warm);
  display: flex; flex-direction: column; gap: 40px;
}
.sd-contact-info-label {
  font-size: .5rem; letter-spacing: .35em; text-transform: uppercase;
  color: var(--copper); margin-bottom: 10px;
  display: flex; align-items: center; gap: 12px;
}
.sd-contact-info-label::before { content: ''; display: block; width: 20px; height: 1px; background: var(--copper); }
.sd-contact-info-value { font-size: .8rem; line-height: 1.9; color: var(--ink); }
.sd-contact-info-value a {
  color: var(--ink); text-decoration: none;
  border-bottom: 1px solid transparent; transition: all .25s; padding-bottom: 1px;
}
.sd-contact-info-value a:hover { color: var(--copper); border-color: var(--copper); }
.sd-contact-social { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.sd-contact-social a {
  font-size: .58rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--ink-mid); text-decoration: none;
  display: flex; align-items: center; gap: 10px; transition: color .25s;
}
.sd-contact-social a::before { content: '\2192'; color: var(--copper); transition: transform .25s; }
.sd-contact-social a:hover { color: var(--copper); }
.sd-contact-social a:hover::before { transform: translateX(4px); }
.sd-contact-availability {
  margin-top: auto; padding-top: 36px;
  border-top: 1px solid rgba(26,25,23,.08);
  font-size: .65rem; line-height: 1.85; color: var(--ink-light); letter-spacing: .04em;
}
.sd-contact-availability strong { color: var(--copper); font-weight: 400; }

/* ─── RESPONSIVE — CONTACT ───────────────────────────── */
@media (max-width: 900px) {
  .sd-contact-body { grid-template-columns: 1fr; }
  .sd-contact-form-wrap { border-right: none; border-bottom: 1px solid rgba(26,25,23,.07); }
  .sd-contact-info { padding: 48px var(--pad); }
  .sd-contact-availability { margin-top: 0; }
}
@media (max-width: 768px) {
  .sd-contact-header { padding: 56px var(--pad) 48px; }
  .sd-contact-form-wrap { padding: 48px var(--pad); }
}


/* ═══════════════════════════════════════════════════════
   PAGE — BLOG (Field Notes)
   ═══════════════════════════════════════════════════════ */

.sd-blog-page { padding-top: var(--nav-h); }

/* ─── HEADER HERO ────────────────────────────────────── */
.sd-blog-header {
  position: relative;
  min-height: 52vh;
  display: flex;
  align-items: flex-end;
  padding: 72px var(--pad);
  overflow: hidden;
  border-bottom: 1px solid rgba(26,25,23,.12);
}
.sd-blog-header-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: grayscale(30%);
  z-index: 0;
}
.sd-blog-header-bg--gradient {
  background: linear-gradient(135deg, #1a1917 0%, #2a2318 40%, #1f1a15 100%);
  filter: none;
}
.sd-blog-header-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,25,23,.88) 0%, rgba(26,25,23,.4) 60%, rgba(26,25,23,.15) 100%);
  z-index: 1;
}
.sd-blog-header-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  width: 100%;
}
.sd-blog-title {
  font-family: var(--font-title);
  font-size: clamp(3rem, 5.5vw, 5.5rem);
  font-weight: 200;
  letter-spacing: -.03em;
  line-height: .88;
  color: var(--white);
}
.sd-blog-header .sd-section-label {
  color: var(--copper-lt);
  margin-bottom: 24px;
}
.sd-blog-header .sd-section-label::before { background: var(--copper-lt); }
.sd-blog-header-desc {
  font-size: .78rem;
  line-height: 2;
  color: rgba(240,237,232,.55);
  max-width: 480px;
  align-self: end;
  padding-bottom: 4px;
}

/* ─── FILTRI CATEGORIA ───────────────────────────────── */
.sd-blog-filters {
  padding: 0 var(--pad);
  background: var(--bg);
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(26,25,23,.07);
}
.sd-blog-filter {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--ink-light);
  font-family: var(--font-title);
  font-size: .55rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 20px 20px 18px;
  cursor: pointer;
  transition: all .25s;
  text-decoration: none;
  display: inline-block;
  margin-bottom: -1px;
}
.sd-blog-filter:hover { color: var(--ink); }
.sd-blog-filter.active { color: var(--copper); border-bottom-color: var(--copper); }

/* ─── GRIGLIA ARTICOLI ───────────────────────────────── */
.sd-blog-section {
  padding: 64px var(--pad) 100px;
  background: var(--bg);
}
.sd-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 40px;
}

/* Primo articolo featured — larghezza piena */
.sd-blog-item--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(26,25,23,.08);
}
.sd-blog-item--featured .sd-blog-item-img {
  aspect-ratio: 16/9;
  margin-bottom: 0;
}
.sd-blog-item--featured .sd-blog-item-title a {
  font-size: clamp(1.4rem, 2.2vw, 2.2rem);
  line-height: 1.1;
}

/* Immagine */
.sd-blog-item-img {
  aspect-ratio: 3/2;
  overflow: hidden;
  margin-bottom: 24px;
  background: var(--bg-warm);
  display: block;
}
.sd-blog-item-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(10%);
  transition: transform .7s cubic-bezier(.25,.46,.45,.94), filter .5s;
  display: block;
}
.sd-blog-item:hover .sd-blog-item-img img { transform: scale(1.04); filter: grayscale(0); }

/* Categoria */
.sd-blog-item-cat {
  font-size: .5rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--copper);
  margin-bottom: 12px;
}

/* Titolo */
.sd-blog-item-title {
  font-family: var(--font-title);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 14px;
  letter-spacing: -.01em;
}
.sd-blog-item-title a {
  color: var(--ink);
  text-decoration: none;
  transition: color .25s;
}
.sd-blog-item-title a:hover { color: var(--copper); }

/* Meta */
.sd-blog-item-meta {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 14px;
}
.sd-blog-item-date {
  font-size: .52rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ink-light);
}
.sd-blog-item-read {
  font-size: .52rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ink-light);
}
.sd-blog-item-read::before {
  content: '·';
  margin: 0 12px;
  color: var(--ink-light);
}

/* Excerpt */
.sd-blog-item-excerpt {
  font-size: .72rem;
  line-height: 1.9;
  color: var(--ink-mid);
}

/* Stato vuoto */
.sd-blog-empty {
  padding: 80px 0;
  text-align: center;
}
.sd-blog-empty p:last-child {
  font-size: .8rem;
  color: var(--ink-light);
  letter-spacing: .08em;
  margin-top: -32px;
}

/* ─── RESPONSIVE — BLOG ──────────────────────────────── */
@media (max-width: 1024px) {
  .sd-blog-header-inner { grid-template-columns: 1fr; gap: 24px; }
  .sd-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 48px 32px; }
  .sd-blog-item--featured { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .sd-blog-header { padding: 56px var(--pad); min-height: 45vh; }
  .sd-blog-grid { grid-template-columns: 1fr; gap: 40px; }
  .sd-blog-item--featured { grid-template-columns: 1fr; gap: 24px; }
  .sd-blog-item--featured .sd-blog-item-img { margin-bottom: 0; }
}

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width: 1024px) {
  :root { --pad: 32px; }
  .sd-fineart-grid--full { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 768px) {
  :root { --pad: 20px; --gap: 10px; }

  /* Nav mobile */
  .sd-nav { flex-wrap: wrap; height: auto; padding: 16px var(--pad); }
  .sd-nav-toggle { display: flex; }
  .sd-nav-links {
    display: none; flex-direction: column; gap: 20px;
    width: 100%; padding: 20px 0; border-top: 1px solid rgba(26,25,23,.08);
  }
  .sd-nav-links.open { display: flex; }
  .sd-nav-links a { font-size: .7rem; }
  .sd-nav-right {
    display: contents; /* su mobile si "dissolve" e i figli tornano nel flusso normale */
  }
  .sd-lang-switcher {
    display: none;
    margin-left: 0;
    padding: 12px 0 4px;
    border-top: 1px solid rgba(26,25,23,.06);
    width: 100%;
  }
  .sd-nav-links.open ~ .sd-lang-switcher { display: flex; }

  /* Hero slider mobile */
  .sd-hero-slider { height: 100svh; }
  .sd-hero-content { bottom: 100px; }
  .sd-hero-scroll { display: none; }

  /* Grids */
  .sd-work-grid { grid-template-columns: repeat(2, 1fr); }

  .sd-fineart-grid { grid-template-columns: 1fr; }
  .sd-fineart-grid--full { grid-template-columns: 1fr; }
  .sd-fineart-frame { padding: 12px; }
  .sd-about-strip { grid-template-columns: 1fr; gap: 40px; }
  .sd-blog-grid { grid-template-columns: 1fr; }
  .sd-footer { grid-template-columns: 1fr; gap: 28px; text-align: center; }
  .sd-footer-copy { text-align: center; }
  .sd-project-body { grid-template-columns: 1fr; gap: 40px; }
  .sd-project-gallery { columns: 2; }
  .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 480px) {
  .sd-work-grid { columns: 1; }
  .sd-project-gallery { columns: 1; }
}
/* ═══════════════════════════════════════════════════════
   FINE ART SHOP — archive-product.php
   Da aggiungere in fondo a main.css
═══════════════════════════════════════════════════════ */

/* PAGE HEADER */
.sd-fineart-shop__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    padding: calc(var(--nav-h) + 16px) var(--pad) 64px;
    max-width: 1400px;
    margin: 0 auto;
}
.sd-fineart-shop__header h1 {
    font-family: var(--font-serif);
    font-size: clamp(3rem, 6vw, 5.5rem);
    font-weight: 300;
    line-height: 1.0;
    letter-spacing: -.01em;
}
.sd-fineart-shop__header h1 em {
    font-style: italic;
    color: var(--copper);
}
.sd-fineart-shop__desc {
    max-width: 360px;
    font-size: .72rem;
    color: var(--ink-mid);
    line-height: 1.7;
    font-family: var(--font-serif);
    font-weight: 300;
}

/* FILTER BAR */
.sd-fineart-shop__filters {
    display: flex;
    gap: 8px;
    padding: 32px var(--pad);
    max-width: 1400px;
    margin: 0 auto;
    flex-wrap: wrap;
    align-items: center;
}
.sd-fs-filter {
    font-family: var(--font-title);
    font-size: .44rem;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-mid);
    background: none;
    border: 1px solid rgba(26,25,23,.15);
    padding: 7px 18px;
    cursor: pointer;
    transition: all .25s;
}
.sd-fs-filter:hover,
.sd-fs-filter.active {
    background: var(--ink);
    color: var(--bg);
    border-color: var(--ink);
}

/* PRODUCT GRID */
.sd-fs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap);
    padding: 0 var(--pad) 80px;
    max-width: 1400px;
    margin: 0 auto;
}

/* PRODUCT CARD */
.sd-fs-item {
    cursor: pointer;
    position: relative;
}
.sd-fs-item--hidden {
    display: none;
}

/* IMMAGINE */
.sd-fs-item__img {
    position: relative;
    overflow: visible;
    background: #ffffff;
    aspect-ratio: 3/4;
    padding: 20px;
}
.sd-fs-item__img--landscape {
    aspect-ratio: 4/3;
    grid-column: span 2;
}
.sd-fs-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.25,.46,.45,.94);
    display: block;
}
.sd-fs-item:hover .sd-fs-item__img img {
    transform: scale(1.03);
}
/* Badge sopra il bordo bianco */
.sd-fs-item__badge,
.sd-fs-item__sold-out {
    z-index: 2;
}

/* BADGE EDIZIONE */
.sd-fs-item__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    font-family: var(--font-title);
    font-size: .4rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--bg);
    background: rgba(26,25,23,.82);
    padding: 5px 10px;
    backdrop-filter: blur(4px);
    pointer-events: none;
}

/* BADGE SOLD OUT */
.sd-fs-item__sold-out {
    position: absolute;
    top: 16px;
    right: 16px;
    font-family: var(--font-title);
    font-size: .4rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--bg);
    background: rgba(181,113,58,.85);
    padding: 5px 10px;
    pointer-events: none;
}

/* OVERLAY HOVER */
.sd-fs-item__overlay {
    position: absolute;
    inset: 0;
    background: rgba(26,25,23,.4);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}
.sd-fs-item:hover .sd-fs-item__overlay {
    opacity: 1;
}
.sd-fs-item__overlay-btn {
    font-family: var(--font-title);
    font-size: .44rem;
    font-weight: 400;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--bg);
    border: 1px solid rgba(240,237,232,.5);
    padding: 12px 28px;
    background: none;
    cursor: pointer;
    transition: all .25s;
    pointer-events: none;
}

/* INFO PRODOTTO */
.sd-fs-item__info {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0 0;
}
.sd-fs-item__title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 300;
    color: var(--ink);
    line-height: 1.2;
    letter-spacing: .01em;
    margin-bottom: 6px;
}
.sd-fs-item__details {
    font-family: var(--font-title);
    font-size: .42rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-light);
}
.sd-fs-item__price {
    text-align: right;
    flex-shrink: 0;
}
.sd-fs-item__price-amount {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 400;
    color: var(--ink);
    display: block;
}
/* Rimuove stile WooCommerce di default */
.sd-fs-item__price-amount .woocommerce-Price-amount { font-family: inherit; font-size: inherit; }
.sd-fs-item__price-amount ins { text-decoration: none; }
.sd-fs-item__price-ed {
    font-family: var(--font-title);
    font-size: .4rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink-light);
    display: block;
    margin-top: 3px;
}

/* CTA BANNER */
.sd-fs-cta {
    background: var(--bg-dark);
    padding: 80px var(--pad);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
.sd-fs-cta h2 {
    font-family: var(--font-serif);
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 300;
    color: var(--bg);
    line-height: 1.15;
    margin-bottom: 12px;
}
.sd-fs-cta h2 em {
    font-style: italic;
    color: var(--copper-lt);
}
.sd-fs-cta p {
    font-size: .72rem;
    color: rgba(240,237,232,.55);
    font-family: var(--font-serif);
    max-width: 460px;
    line-height: 1.7;
}
.sd-btn-outline--light {
    color: var(--bg);
    border-color: rgba(240,237,232,.4);
    white-space: normal;
    flex-shrink: 0;
}
.sd-btn-outline--light:hover {
    background: var(--bg);
    color: var(--ink);
    border-color: var(--bg);
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
    .sd-fs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sd-fs-item__img--landscape {
        grid-column: span 2;
    }
}
@media (max-width: 768px) {
    .sd-fineart-shop__header {
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 40px;
    }
    .sd-fineart-shop__desc {
        max-width: 100%;
    }
    .sd-fs-grid {
        grid-template-columns: 1fr;
        padding: 0 var(--gap) 60px;
    }
    .sd-fs-item__img--landscape {
        grid-column: span 1;
        aspect-ratio: 4/3;
    }
    .sd-fs-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
    }
}


/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT — Fine Art
   ═══════════════════════════════════════════════════════════ */

/* Breadcrumb */
.sd-product-breadcrumb {
    padding: calc(var(--nav-h) + 16px) var(--pad) 0;
    font-size: .7rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink-light);
}
.sd-product-breadcrumb a {
    color: var(--ink-light);
    text-decoration: none;
}
.sd-product-breadcrumb a:hover { color: var(--copper); }
.sd-product-breadcrumb span { margin: 0 8px; }

/* Layout a due colonne */
.sd-product-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding: 48px var(--pad) 80px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: start;
}

/* Colonna SX — galleria */
.sd-product-main-img {
    background: #ffffff;
    padding: 20px;
    position: relative;
    margin-bottom: 12px;
}
.sd-product-main-img img,
.sd-product-photo {
    width: 100%;
    height: auto;
    display: block;
    transition: opacity .35s;
}
.sd-product-edition-badge {
    position: absolute;
    /* 20px = padding del bordo bianco, + 12px di margine interno sull'immagine */
    top: 32px;
    left: 32px;
    font-family: var(--font-title);
    font-size: .72rem;
    font-weight: 400;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #f0ede8;
    background: rgba(26,25,23,.85);
    padding: 7px 14px;
    backdrop-filter: blur(6px);
    pointer-events: none;
    line-height: 1;
    z-index: 2;
}
.sd-product-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.sd-product-thumb {
    width: 80px;
    height: 60px;
    background: #fff;
    padding: 4px;
    cursor: pointer;
    opacity: .55;
    transition: opacity .2s;
    overflow: visible;
    flex-shrink: 0;
}
.sd-product-thumb.active {
    opacity: 1;
    outline: 1px solid var(--copper);
}
.sd-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Colonna DX — info: sticky */
.sd-product-info {
    position: sticky;
    top: calc(var(--nav-h) + 32px);
}
.sd-product-cat {
    font-size: .65rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--copper);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.sd-product-cat::before {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background: var(--copper);
}
.sd-product-title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -.01em;
    margin-bottom: 24px;
}
.sd-product-price-wrap {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 6px;
}
.sd-product-price,
.sd-product-price .woocommerce-Price-amount,
.sd-product-price .price {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--ink) !important;
    text-decoration: none !important;
}
.sd-product-price ins {
    text-decoration: none;
}
.sd-product-price-note {
    font-size: .65rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-light);
    margin-bottom: 0;
}

/* Divisore */
.sd-product-divider {
    height: 1px;
    background: rgba(26,25,23,.08);
    margin: 28px 0;
}

/* Specifiche rapide */
.sd-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid rgba(26,25,23,.06);
    gap: 24px;
}
.sd-spec-label {
    font-size: .62rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-light);
    flex-shrink: 0;
}
.sd-spec-val {
    font-family: var(--font-serif);
    font-size: .95rem;
    color: var(--ink);
    text-align: right;
}

/* Formato */
.sd-format-label {
    display: block;
    font-size: .62rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-mid);
    margin: 28px 0 12px;
}
.sd-format-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.sd-format-btn {
    font-family: var(--font-title);
    font-size: 1rem;
    letter-spacing: .08em;
    text-transform: none;
    color: var(--ink-mid);
    border: 1px solid rgba(26,25,23,.2);
    padding: 14px 22px;
    background: none;
    cursor: pointer;
    transition: all .2s;
    line-height: 1.4;
    text-align: center;
    min-width: 110px;
}
.sd-format-btn:hover,
.sd-format-btn.active {
    border-color: var(--ink);
    color: var(--ink);
    background: rgba(26,25,23,.04);
}
.sd-fmt-price {
    display: block;
    font-size: .95rem;
    color: var(--copper);
    margin-top: 5px;
    letter-spacing: .04em;
    font-family: var(--font-serif);
    font-weight: 400;
}

/* Nascondi form WooCommerce originale */
.sd-product-form-hidden {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    height: 0;
    overflow: visible;
}

/* CTA */
.sd-product-cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}
.sd-btn-primary {
    font-family: var(--font-title);
    font-size: .68rem;
    font-weight: 400;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--bg);
    background: var(--ink);
    border: 1px solid var(--ink);
    padding: 17px 32px;
    cursor: pointer;
    transition: all .25s;
    text-align: center;
    width: 100%;
}
.sd-btn-primary:hover { background: var(--bg-dark); border-color: var(--bg-dark); }
.sd-btn-secondary {
    display: block;
    font-family: var(--font-title);
    font-size: .65rem;
    font-weight: 400;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ink);
    background: none;
    border: 1px solid rgba(26,25,23,.22);
    padding: 15px 32px;
    cursor: pointer;
    transition: all .25s;
    text-align: center;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
}
.sd-btn-secondary:hover { border-color: var(--ink); }

/* Garanzie */
.sd-product-guarantees {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sd-guarantee-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: .78rem;
    color: var(--ink-mid);
    font-family: var(--font-serif);
    line-height: 1.5;
}
.sd-guarantee-item::before {
    content: '—';
    color: var(--copper);
    flex-shrink: 0;
    font-family: var(--font-title);
    font-size: .62rem;
}

/* Separatore orizzontale */
.sd-product-hr {
    height: 1px;
    background: rgba(26,25,23,.08);
    margin: 0 var(--pad);
}

/* Descrizione + dettagli */
.sd-product-description {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding: 64px var(--pad) 80px;
    max-width: 1400px;
    margin: 0 auto;
}
.sd-product-description p,
.sd-product-desc-text p {
    font-family: var(--font-serif);
    font-size: .95rem;
    color: var(--ink-mid);
    line-height: 1.85;
    margin-bottom: 16px;
}
.sd-product-meta-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sd-product-meta-list li {
    display: flex;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 1px solid rgba(26,25,23,.07);
    gap: 24px;
}
.sd-product-meta-list li span:first-child {
    font-size: .58rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink-light);
    flex-shrink: 0;
}
.sd-product-meta-list li span:last-child {
    font-family: var(--font-serif);
    font-size: .88rem;
    color: var(--ink);
    text-align: right;
}

/* Prodotti correlati */
.sd-product-related {
    background: rgba(26,25,23,.03);
    padding: 64px var(--pad);
    border-top: 1px solid rgba(26,25,23,.07);
}
.sd-product-related__inner {
    max-width: 1400px;
    margin: 0 auto;
}
.sd-product-related h2 {
    font-family: var(--font-serif);
    font-size: 1.9rem;
    font-weight: 300;
    margin-bottom: 40px;
}
.sd-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap);
}
.sd-related-item {
    text-decoration: none;
    color: var(--ink);
    display: block;
}
.sd-related-item__img {
    background: #ffffff;
    padding: 16px;
    overflow: visible;
    margin-bottom: 14px;
    aspect-ratio: 3/4;
}
.sd-related-item__img--landscape {
    aspect-ratio: 4/3;
}
.sd-related-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(.25,.46,.45,.94);
}
.sd-related-item:hover .sd-related-item__img img {
    transform: scale(1.03);
}
.sd-related-item__title {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 300;
    margin-bottom: 4px;
    color: var(--ink);
}
.sd-related-item__price,
.sd-related-item__price .woocommerce-Price-amount {
    font-size: .62rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-light) !important;
}

/* Back link */
.sd-product-back {
    padding: 40px var(--pad);
    max-width: 1400px;
    margin: 0 auto;
}
.sd-product-back a {
    font-size: .65rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ink-light);
    text-decoration: none;
    transition: color .2s;
}
.sd-product-back a:hover { color: var(--copper); }

/* ─ Responsive ─ */
@media (max-width: 900px) {
    .sd-product-wrap,
    .sd-product-description {
        grid-template-columns: 1fr;
        gap: 40px;
        padding-left: 24px;
        padding-right: 24px;
    }
    .sd-product-info {
        position: static;
    }
    .sd-product-main-img img,
    .sd-product-photo {
        max-height: 60vh;
        width: auto;
        margin: 0 auto;
        object-fit: contain;
    }
    .sd-product-related {
        padding-left: 24px;
        padding-right: 24px;
    }
    .sd-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sd-product-breadcrumb,
    .sd-product-back {
        padding-left: 24px;
        padding-right: 24px;
    }
    .sd-product-hr {
        margin-left: 24px;
        margin-right: 24px;
    }
}
@media (max-width: 540px) {
    .sd-related-grid {
        grid-template-columns: 1fr;
    }
    .sd-format-options {
        flex-direction: column;
    }
    .sd-format-btn {
        width: 100%;
    }
}

/* ── Notice carrello ── */
.sd-cart-notice {
    margin-top: 12px;
    padding: 12px 18px;
    background: rgba(26,25,23,.06);
    border-left: 2px solid var(--copper);
    font-size: .72rem;
    letter-spacing: .06em;
    color: var(--ink);
    opacity: 0;
    transition: opacity .3s;
}
.sd-cart-notice.visible { opacity: 1; }
.sd-cart-notice a {
    color: var(--copper);
    text-decoration: none;
    font-weight: 500;
}

/* ── Lightbox trigger sulla foto prodotto ── */
.sd-product-img-link {
    display: block;
    position: relative;
    cursor: zoom-in;
}
.sd-product-img-link img {
    display: block;
    width: 100%;
    height: auto;
}
.sd-product-img-hint {
    position: absolute;
    bottom: 14px;
    right: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-title);
    font-size: .58rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(240,237,232,.75);
    background: rgba(26,25,23,.55);
    padding: 6px 10px;
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity .25s;
    pointer-events: none;
    line-height: 1;
}
.sd-product-img-link:hover .sd-product-img-hint {
    opacity: 1;
}

/* ── Disclaimer lingua shop ── */
.sd-fineart-shop__lang-note {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 16px;
    font-family: var(--font-serif);
    font-size: .82rem;
    font-style: italic;
    color: var(--ink-light);
    line-height: 1.5;
}
.sd-fineart-shop__lang-note span {
    color: var(--copper);
    font-style: normal;
    font-family: var(--font-title);
    flex-shrink: 0;
}

/* ── Icona carrello nella nav ── */
.sd-nav-cart {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    color: var(--ink-mid);
    text-decoration: none;
    transition: color .2s;
    flex-shrink: 0;
}
.sd-nav-cart:hover { color: var(--ink); }
.sd-nav-cart svg { display: block; }

.sd-nav-cart__count {
    position: absolute;
    top: -7px;
    right: -8px;
    background: var(--copper);
    color: #fff;
    font-family: var(--font-title);
    font-size: .55rem;
    font-weight: 500;
    line-height: 1;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0;
    pointer-events: none;
}

/* Animazione entrata contatore */
.sd-nav-cart.has-items .sd-nav-cart__count {
    animation: sdCartPop .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes sdCartPop {
    from { transform: scale(0); }
    to   { transform: scale(1); }
}

/* ═══════════════════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════════════════ */

.sd-cart-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--pad) 80px;
}

.sd-cart-title {
    font-family: var(--font-serif);
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 300;
    line-height: 1.0;
    margin-bottom: 48px;
}
.sd-cart-title em {
    font-style: italic;
    color: var(--copper);
}

.sd-cart-section-label {
    font-size: .62rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--copper);
    margin-bottom: 24px;
    display: block;
}

/* Layout due colonne */
.sd-cart-wrap {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: start;
}

/* ── Tabella articoli ── */
.sd-cart-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.sd-cart-table__head th {
    font-size: .58rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ink-light);
    font-weight: 400;
    padding: 0 12px 16px;
    text-align: left;
    border-bottom: 1px solid rgba(26,25,23,.1);
}
.sd-cart-table__head th:first-child { padding-left: 0; }

.sd-cart-row td {
    padding: 24px 12px;
    border-bottom: 1px solid rgba(26,25,23,.06);
    vertical-align: middle;
    overflow: visible;
}
.sd-cart-row td:first-child { padding-left: 0; }

/* Immagine */
.sd-cart-row__img {
    width: 90px;
    min-width: 90px !important;
}
.sd-cart-row__img img,
.sd-cart-row__img .sd-cart-thumb {
    width: 80px;
    min-width: 80px;
    height: 80px;
    object-fit: cover;
    display: block;
    background: #fff;
    padding: 5px;
    border: none;
    flex-shrink: 0;
}
.sd-cart-row__img a { display: block; width: fit-content; }

/* Nome */
.sd-cart-row__name {
    min-width: 160px;
    width: 200px;
}
.sd-cart-row__name a {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 300;
    color: var(--ink);
    text-decoration: none;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    display: block;

}
.sd-cart-row__name a:hover { color: var(--copper); }
.sd-cart-row__qty-mobile { display: none; }

/* Formato */
.sd-cart-row__format {
    font-size: .75rem;
    color: var(--ink-mid);
    letter-spacing: .06em;
}

/* Prezzo */
.sd-cart-row__price,
.sd-cart-row__total {
    font-family: var(--font-serif);
    font-size: .95rem;
    color: var(--ink);
    white-space: normal;
}
.sd-cart-row__total {
    font-weight: 400;
}

/* Quantità */
.sd-cart-row__qty .quantity input {
    width: 52px;
    text-align: center;
    font-family: var(--font-title);
    font-size: .85rem;
    border: 1px solid rgba(26,25,23,.15);
    padding: 6px 8px;
    background: transparent;
    color: var(--ink);
}

/* Rimuovi */
.sd-cart-remove {
    font-size: .7rem;
    color: var(--ink-light);
    text-decoration: none;
    transition: color .2s;
    padding: 4px;
}
.sd-cart-remove:hover { color: var(--ink); }

/* Riga azioni (coupon + aggiorna) */
.sd-cart-actions td {
    padding: 20px 0 0;
    border-bottom: none;
}
.sd-cart-actions__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.sd-cart-coupon {
    display: flex;
    gap: 8px;
}
.sd-cart-coupon__input {
    font-family: var(--font-title);
    font-size: .72rem;
    letter-spacing: .08em;
    border: 1px solid rgba(26,25,23,.2);
    padding: 9px 14px;
    background: transparent;
    color: var(--ink);
    width: 180px;
}
.sd-cart-coupon__input::placeholder { color: var(--ink-light); }
.sd-cart-coupon__btn,
.sd-cart-update {
    font-family: var(--font-title);
    font-size: .62rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-mid);
    border: 1px solid rgba(26,25,23,.2);
    padding: 9px 16px;
    background: none;
    cursor: pointer;
    transition: all .2s;
}
.sd-cart-coupon__btn:hover,
.sd-cart-update:hover {
    border-color: var(--ink);
    color: var(--ink);
}

/* ── Riepilogo ordine (DX) ── */
.sd-cart-summary {
    position: sticky;
    top: calc(var(--nav-h) + 24px);
    background: rgba(26,25,23,.03);
    padding: 32px;
}

.sd-cart-totals { margin-bottom: 28px; }

.sd-cart-totals__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 0;
    border-bottom: 1px solid rgba(26,25,23,.07);
    font-size: .82rem;
    gap: 16px;
}
.sd-cart-totals__row span:first-child {
    font-size: .6rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink-light);
}
.sd-cart-totals__row span:last-child {
    font-family: var(--font-serif);
    color: var(--ink);
    text-align: right;
}
.sd-cart-totals__row--discount span { color: var(--copper) !important; }
.sd-cart-totals__row--total {
    border-bottom: none;
    padding-top: 20px;
}
.sd-cart-totals__row--total span:first-child {
    font-size: .65rem;
    color: var(--ink) !important;
    font-weight: 500;
}
.sd-cart-totals__row--total span:last-child {
    font-size: 1.4rem;
    font-family: var(--font-serif);
    font-weight: 300;
}

/* Bottone checkout */
.sd-cart-checkout-btn { margin-top: 24px; }
.sd-cart-checkout-btn .checkout-button,
.sd-cart-checkout-btn a.checkout-button {
    display: block;
    width: 100%;
    font-family: var(--font-title) !important;
    font-size: .68rem !important;
    font-weight: 400 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: var(--bg) !important;
    background: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    padding: 17px 32px !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all .25s !important;
    box-sizing: border-box;
}
.sd-cart-checkout-btn .checkout-button:hover {
    background: var(--bg-dark) !important;
    border-color: var(--bg-dark) !important;
}

/* Garanzie nel carrello */
.sd-cart-guarantees {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(26,25,23,.07);
}

/* Link continua */
.sd-cart-continue {
    display: inline-block;
    margin-top: 20px;
    font-size: .62rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-light);
    text-decoration: none;
    transition: color .2s;
}
.sd-cart-continue:hover { color: var(--copper); }

/* Carrello vuoto */
.sd-cart-empty {
    padding: 40px 0 80px;
}
.sd-cart-empty__label {
    font-size: .62rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--copper);
    margin-bottom: 20px;
}
.sd-cart-empty__title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 300;
    color: var(--ink);
    line-height: 1.1;
}

/* Notice WooCommerce — risolve sovrapposizione icona ::before */
.woocommerce-notices-wrapper {
    padding: 0 var(--pad);
    margin-bottom: 24px;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-family: var(--font-serif) !important;
    font-size: .9rem !important;
    padding: 14px 20px 14px 20px !important;
    padding-left: 20px !important;
    margin-bottom: 16px !important;
    border-left: 2px solid var(--copper) !important;
    border-top: none !important; border-right: none !important; border-bottom: none !important;
    background: rgba(26,25,23,.04) !important;
    border-radius: 0 !important;
    list-style: none !important;
    color: var(--ink) !important;
    position: relative;
}
/* Rimuove l'icona pseudo-elemento ::before che causa sovrapposizione al testo */
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
    display: none !important;
    content: none !important;
}
.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a {
    color: var(--copper) !important;
    text-decoration: none !important;
    margin-left: 8px;
}


/* ── Responsive ── */
@media (max-width: 900px) {
    .sd-cart-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .sd-cart-summary {
        position: static;
    }
    .sd-cart-page {
        padding-left: 24px;
        padding-right: 24px;
    }
    .sd-cart-table__head th:nth-child(4),
    .sd-cart-row__price { display: none; }
    .sd-cart-row__qty-mobile { display: inline; font-size: .8rem; color: var(--ink-light); }
}

/* ── Layout wrapper pagine WooCommerce (carrello, checkout, account) ── */
.sd-wc-page {
    max-width: 1400px;
    margin: 0 auto;
    padding-bottom: 80px;
}
.sd-wc-content {
    padding: 0 var(--pad);
}
/* Carrello: il wrapper a due colonne non deve essere soffocato dal max-width 900px di sd-page-content */
.woocommerce-cart .sd-wc-content {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Titolo pagina carrello/checkout generato da WooCommerce */
.sd-wc-page .entry-title,
.sd-wc-page h1.page-title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 300;
    margin-bottom: 40px;
    display: none; /* nascosto — usiamo il breadcrumb come orientamento */
}

/* Pagina generica (non WooCommerce) */
.sd-page-wrap {
    padding-top: calc(var(--nav-h) + 16px);
}
/* Le pagine WooCommerce (carrello, checkout) hanno già padding-top da .woocommerce-page */
.sd-wc-page.sd-page-wrap {
    padding-top: 0;
}
.sd-page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 var(--pad) 80px;
}
.sd-page-title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 300;
    margin-bottom: 32px;
}
/* ═══════════════════════════════════════════════════════
   SINGLE POST — single.php
   Da appendere in fondo a main.css
═══════════════════════════════════════════════════════ */

/* ─── PAGINA INTERA ────────────────────────────────── */
.sd-single-post {
  padding-top: var(--nav-h);
  background: var(--bg);
}

/* ─── HERO ─────────────────────────────────────────── */
.sd-single-hero {
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: flex-end;
  padding: 80px var(--pad) 64px;
  overflow: hidden;
  border-bottom: 1px solid rgba(26,25,23,.10);
}
.sd-single-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: grayscale(20%);
  z-index: 0;
  transition: transform 8s ease-out;
}
.sd-single-hero:hover .sd-single-hero-bg { transform: scale(1.02); }
.sd-single-hero-bg--gradient {
  background: linear-gradient(135deg, #1a1917 0%, #2a2318 40%, #1f1a15 100%);
  filter: none;
}
.sd-single-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(26,25,23,.90) 0%,
    rgba(26,25,23,.55) 50%,
    rgba(26,25,23,.20) 100%
  );
  z-index: 1;
}
.sd-single-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 860px;
}
.sd-single-hero-cat {
  display: inline-block;
  margin-bottom: 20px;
  text-decoration: none;
  transition: color .25s;
}
.sd-single-hero-cat:hover { color: var(--white); }
.sd-single-title {
  font-family: var(--font-title);
  font-size: clamp(2.2rem, 4.5vw, 4.2rem);
  font-weight: 200;
  letter-spacing: -.025em;
  line-height: 1.05;
  color: var(--white);
}

/* ─── BARRA META ───────────────────────────────────── */
.sd-single-meta-bar {
  border-bottom: 1px solid rgba(26,25,23,.07);
  background: var(--bg);
}
.sd-single-meta-bar-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 18px var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.sd-single-meta-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.sd-single-meta-item {
  font-size: .55rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-light);
}
.sd-single-meta-sep {
  color: var(--ink-light);
  opacity: .4;
  font-size: .55rem;
}
.sd-single-meta-read {
  color: var(--copper);
}
.sd-single-back {
  font-size: .53rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink-mid);
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s;
}
.sd-single-back:hover { color: var(--copper); }

/* ─── CORPO TESTO ──────────────────────────────────── */
.sd-single-body {
  padding: 72px var(--pad) 80px;
}
.sd-single-content {
  max-width: 760px;
  margin: 0 auto;
}

/* Tipografia corpo articolo */
.sd-single-content p {
  font-size: .88rem;
  line-height: 1.95;
  color: var(--ink);
  margin-bottom: 28px;
  font-family: var(--font-title);
  font-weight: 300;
}
.sd-single-content h2 {
  font-family: var(--font-title);
  font-size: 1.55rem;
  font-weight: 300;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 52px 0 20px;
  line-height: 1.2;
}
.sd-single-content h3 {
  font-family: var(--font-title);
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--ink);
  margin: 40px 0 16px;
}
.sd-single-content h2::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--copper);
  margin-bottom: 18px;
  opacity: .6;
}
.sd-single-content strong {
  font-weight: 500;
  color: var(--ink);
}
.sd-single-content em {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.02em;
  color: var(--ink-mid);
}
.sd-single-content a {
  color: var(--copper);
  text-decoration: underline;
  text-decoration-color: rgba(181,113,58,.35);
  transition: text-decoration-color .25s;
}
.sd-single-content a:hover {
  text-decoration-color: var(--copper);
}
.sd-single-content blockquote {
  border-left: 2px solid var(--copper);
  margin: 40px 0;
  padding: 8px 0 8px 28px;
}
.sd-single-content blockquote p {
  font-family: var(--font-serif);
  font-size: 1.18rem;
  font-style: italic;
  line-height: 1.7;
  color: var(--ink-mid);
  margin-bottom: 0;
}

/* Immagini nel corpo */
.sd-single-content figure {
  margin: 48px 0;
}
.sd-single-content figure img {
  width: 100%;
  height: auto;
  filter: grayscale(8%);
  transition: filter .5s;
}
.sd-single-content figure:hover img { filter: grayscale(0); }
.sd-single-content figcaption {
  font-size: .52rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-top: 12px;
  text-align: center;
}

/* Wide image — esce dalla colonna */
.sd-single-content .alignfull,
.sd-single-content .size-full {
  width: calc(100% + 120px);
  max-width: calc(100% + 120px);
  margin-left: -60px;
}

/* Lista */
.sd-single-content ul,
.sd-single-content ol {
  margin: 0 0 28px 0;
  padding-left: 22px;
}
.sd-single-content li {
  font-size: .88rem;
  line-height: 1.9;
  color: var(--ink);
  font-weight: 300;
  margin-bottom: 6px;
}

/* ─── TAGS ─────────────────────────────────────────── */
.sd-single-tags {
  padding: 0 var(--pad) 64px;
}
.sd-single-tags-inner {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(26,25,23,.07);
}
.sd-single-tag {
  font-size: .5rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-mid);
  text-decoration: none;
  border: 1px solid rgba(26,25,23,.12);
  padding: 6px 14px;
  transition: all .25s;
}
.sd-single-tag:hover {
  border-color: var(--copper);
  color: var(--copper);
}

/* ─── CTA ──────────────────────────────────────────── */
.sd-single-cta {
  padding: 80px var(--pad);
  text-align: center;
}
.sd-single-cta-inner {
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.sd-single-cta-lead {
  font-size: 1.35rem;
  font-weight: 200;
  letter-spacing: -.01em;
  color: var(--ink);
  line-height: 1.35;
}

/* ─── NEWSLETTER — fine articolo ───────────────────── */
.sd-single-newsletter { padding: 80px var(--pad); text-align: center; }
.sd-single-newsletter__inner { max-width: 460px; margin: 0 auto; }
.sd-single-newsletter__lead { font-size: .85rem; line-height: 1.7; color: var(--ink-mid); margin: 14px 0 24px; }

/* ─── NAVIGAZIONE PREV/NEXT ────────────────────────── */
.sd-single-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(26,25,23,.07);
}
.sd-single-nav-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 40px var(--pad);
  text-decoration: none;
  transition: background .3s;
  border-right: 1px solid rgba(26,25,23,.07);
}
.sd-single-nav-item:last-child { border-right: none; }
.sd-single-nav-item--next { text-align: right; }
.sd-single-nav-item:hover { background: var(--bg-warm); }
.sd-single-nav-dir {
  font-size: .52rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--copper);
}
.sd-single-nav-title {
  font-size: .92rem;
  font-weight: 300;
  color: var(--ink);
  line-height: 1.35;
  letter-spacing: -.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── RESPONSIVE ───────────────────────────────────── */
@media (max-width: 1024px) {
  .sd-single-body { padding: 56px var(--pad) 64px; }
  .sd-single-content .alignfull,
  .sd-single-content .size-full { width: 100%; max-width: 100%; margin-left: 0; }
}
@media (max-width: 768px) {
  .sd-single-hero { min-height: 50vh; padding: 56px 24px 48px; }
  .sd-single-title { font-size: clamp(1.9rem, 6vw, 2.8rem); }
  .sd-single-meta-bar-inner { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 24px; }
  .sd-single-body { padding: 40px 24px 56px; }
  .sd-single-cta { padding: 56px 24px; }
  .sd-single-nav { grid-template-columns: 1fr; }
  .sd-single-nav-item { padding: 28px 24px; border-right: none; border-bottom: 1px solid rgba(26,25,23,.07); }
  .sd-single-nav-item--next { text-align: left; }
  .sd-single-tags { padding: 0 24px 48px; }
}
@media (max-width: 480px) {
  .sd-single-content p { font-size: .84rem; }
  .sd-single-content h2 { font-size: 1.3rem; }
}


/* ═══════════════════════════════════════════════════════
   NAV DROPDOWN
   ═══════════════════════════════════════════════════════ */

.sd-has-dropdown {
  position: relative;
  display: flex;
  align-items: center;
  align-self: stretch;
}

/* Rimuove l'underline animato dalla voce padre con dropdown */
.sd-has-dropdown > a::after {
  display: none;
}

/* Freccia chevron CSS */
.sd-dropdown-arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 8px;
  opacity: .45;
  transition: transform .25s, opacity .25s;
  vertical-align: middle;
  flex-shrink: 0;
}
.sd-has-dropdown:hover .sd-dropdown-arrow,
.sd-has-dropdown.open .sd-dropdown-arrow {
  transform: rotate(225deg) translateY(2px);
  opacity: .7;
}

/* Pannello dropdown */
.sd-dropdown {
  position: absolute;
  top: 100%;
  left: -20px;
  list-style: none;
  background: var(--bg);
  border: 1px solid rgba(26,25,23,.08);
  padding: 10px 0;
  min-width: 190px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .22s, transform .22s, visibility 0s .22s;
  z-index: 200;
  box-shadow: 0 8px 24px rgba(26,25,23,.07);
}
.sd-has-dropdown:hover .sd-dropdown,
.sd-has-dropdown.open .sd-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .22s, transform .22s, visibility 0s 0s;
}

/* Voci del sottomenu */
.sd-dropdown li { list-style: none; }
.sd-dropdown a {
  display: block;
  padding: 11px 24px;
  font-size: .55rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink-mid);
  text-decoration: none;
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.sd-dropdown a::after { display: none; }
.sd-dropdown a:hover,
.sd-dropdown a.active {
  color: var(--ink);
  background: rgba(181,113,58,.05);
}

/* Mobile dropdown */
@media (max-width: 768px) {
  .sd-has-dropdown { width: 100%; display: block; align-self: auto; }
  .sd-dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    border-top: 1px solid rgba(26,25,23,.06);
    padding: 4px 0 8px 12px;
    min-width: 0;
    display: none;
    background: transparent;
    transition: none;
  }
  .sd-has-dropdown.open .sd-dropdown { display: block; }
  .sd-dropdown a {
    padding: 9px 8px;
    letter-spacing: .15em;
    font-size: .65rem;
  }
  .sd-dropdown-arrow { display: none; }
}


/* ═══════════════════════════════════════════════════════
   NAV DROPDOWN — WordPress native classes
   Mappa .menu-item-has-children / .sub-menu alle stesse
   regole visive del dropdown custom
   ═══════════════════════════════════════════════════════ */

.sd-nav-links .menu-item-has-children {
  position: relative;
  display: flex;
  align-items: center;
  align-self: stretch;
}

/* Rimuove l'underline animato dalla voce padre */
.sd-nav-links .menu-item-has-children > a::after {
  display: none;
}

/* Freccia chevron sulla voce padre */
.sd-nav-links .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 0;
}
.sd-nav-links .menu-item-has-children::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 8px;
  opacity: .45;
  transition: transform .25s, opacity .25s;
  vertical-align: middle;
  flex-shrink: 0;
}
.sd-nav-links .menu-item-has-children:hover::after {
  transform: rotate(225deg) translateY(2px);
  opacity: .7;
}

/* Pannello dropdown (sub-menu) */
.sd-nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: -20px;
  list-style: none;
  background: var(--bg);
  border: 1px solid rgba(26,25,23,.08);
  padding: 10px 0;
  min-width: 210px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .22s, transform .22s, visibility 0s .22s;
  z-index: 200;
  box-shadow: 0 8px 24px rgba(26,25,23,.07);
}
.sd-nav-links .menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .22s, transform .22s, visibility 0s 0s;
}

/* Voci del sottomenu */
.sd-nav-links .sub-menu li { list-style: none; }
.sd-nav-links .sub-menu a {
  display: block;
  padding: 11px 24px;
  font-size: .55rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink-mid);
  text-decoration: none;
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.sd-nav-links .sub-menu a::after { display: none; }
.sd-nav-links .sub-menu a:hover,
.sd-nav-links .sub-menu .current-menu-item > a {
  color: var(--ink);
  background: rgba(181,113,58,.05);
}

/* Mobile — WordPress native dropdown */
@media (max-width: 768px) {
  .sd-nav-links .menu-item-has-children {
    width: 100%;
    align-self: auto;
    display: block;
  }
  .sd-nav-links .menu-item-has-children::after { display: none; }
  .sd-nav-links .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    border-top: 1px solid rgba(26,25,23,.06);
    padding: 4px 0 8px 12px;
    min-width: 0;
    display: none;
    background: transparent;
    transition: none;
  }
  .sd-nav-links .menu-item-has-children:hover > .sub-menu,
  .sd-nav-links .menu-item-has-children.open > .sub-menu {
    display: block;
  }
  .sd-nav-links .sub-menu a {
    padding: 9px 8px;
    letter-spacing: .15em;
    font-size: .65rem;
  }
}


/* ═══════════════════════════════════════════════════════
   PAGINE VERTICALI — Food / Brands / Cinema & Editorial
   Stili condivisi (sd-vp__) per i 3 template di specializzazione
   ═══════════════════════════════════════════════════════ */

/* Hero */
.sd-vp__hero {
  width: 100%;
  height: 88vh;
  margin-top: var(--nav-h);
  overflow: hidden;
}
.sd-vp__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Container */
.sd-vp {
  padding: calc(var(--nav-h) + 80px) var(--pad) 0;
  max-width: 900px;
  margin: 0 auto;
}
.sd-vp--has-hero { padding-top: 80px; }

/* Header */
.sd-vp__header { margin-bottom: 64px; }
.sd-vp__header h1 {
  font-family: var(--font-title);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  font-weight: 200;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin-bottom: 28px;
  color: var(--ink);
}
.sd-vp__sub {
  font-size: .88rem;
  line-height: 1.75;
  color: var(--ink);
  max-width: 600px;
  margin-bottom: 24px;
  font-weight: 300;
  letter-spacing: -.005em;
}
.sd-vp__intro {
  font-size: .82rem;
  line-height: 1.95;
  color: var(--ink-mid);
  max-width: 620px;
}

/* Immagine */
.sd-vp__image {
  width: 100%;
  margin: 64px 0;
  overflow: hidden;
}
.sd-vp__image img { width: 100%; height: auto; display: block; }
.sd-vp__image figcaption {
  font-size: .54rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-top: 12px;
}

/* Divider */
.sd-vp__divider {
  height: 1px;
  background: rgba(26,25,23,.07);
  margin: 64px 0;
}

/* Label copper */
.sd-vp__label {
  font-size: .54rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--copper);
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 36px;
}
.sd-vp__label::before {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--copper);
}

/* Sezione testo */
.sd-vp__section { margin-bottom: 64px; }
.sd-vp__section h2 {
  font-family: var(--font-title);
  font-size: clamp(1.2rem, 2.5vw, 1.7rem);
  font-weight: 300;
  letter-spacing: -.01em;
  margin-bottom: 24px;
  color: var(--ink);
}
.sd-vp__section p {
  font-size: .82rem;
  line-height: 1.95;
  color: var(--ink-mid);
  max-width: 640px;
  margin-bottom: 16px;
}

/* Tag clienti */
.sd-vp__clients {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.sd-vp__client-tag {
  font-size: .52rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-mid);
  border: 1px solid rgba(26,25,23,.12);
  padding: 7px 14px;
  white-space: nowrap;
}

/* CTA chiusura */
.sd-vp__cta {
  padding: 64px 0 120px;
  border-top: 1px solid rgba(26,25,23,.07);
}
.sd-vp__cta p {
  font-size: .82rem;
  line-height: 1.95;
  color: var(--ink-mid);
  max-width: 500px;
  margin-bottom: 20px;
}
.sd-vp__cta-link {
  font-size: .60rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--copper);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s, color .25s;
}
.sd-vp__cta-link:hover { gap: 16px; color: var(--copper-lt); }
.sd-vp__cta-link::after { content: '\2192'; }

/* Responsive */
@media (max-width: 768px) {
  .sd-vp { padding: calc(var(--nav-h) + 40px) 24px 0; }
  .sd-vp--has-hero { padding-top: 40px; }
  .sd-vp__hero { height: 60vh; }
  .sd-vp__clients { gap: 6px; }
}
@media (max-width: 480px) {
  .sd-vp__hero { height: 50vh; }
}

/* ── TRITTICO ──────────────────────────────────── */
.sd-vp__triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:64px 0}
.sd-vp__triptych-item{overflow:hidden}
.sd-vp__triptych-item img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:2/3}

/* ── GALLERIA MASONRY ──────────────────────────── */
.sd-vp__gallery{columns:3;column-gap:6px;margin:64px 0}
.sd-vp__gallery-item{break-inside:avoid;margin-bottom:6px;overflow:hidden;cursor:zoom-in}
.sd-vp__gallery-item img{width:100%;height:auto;display:block}

/* ── LIGHTBOX ──────────────────────────────────── */
/* regola rimossa: conflitto con #sdLightbox in main.css:486 */

/* ── PORTFOLIO CTA ─────────────────────────────── */
.sd-vp__portfolio-cta{text-align:center;padding:48px 0 64px}
.sd-vp__portfolio-btn{display:inline-block;border:1px solid var(--copper);color:var(--copper);background:transparent;font-family:var(--font-title);font-size:.60rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:14px 36px;transition:all .35s}
.sd-vp__portfolio-btn:hover{background:var(--copper);color:var(--white)}

/* ── RESPONSIVE ────────────────────────────────── */
@media(max-width:768px){
  .sd-vp__triptych{grid-template-columns:1fr;gap:4px}
  .sd-vp__gallery{columns:2;column-gap:5px}
  .sd-vp__gallery-item{margin-bottom:5px}
}
@media(max-width:480px){.sd-vp__gallery{columns:1}}


/* ═══════════════════════════════════════════════════════
   TOMMASO TONIONI — stili chef
   ═══════════════════════════════════════════════════════ */

/* ─── FILOSOFIA STRIP (dark, centrata) ─────────────────── */
.tt-philosophy {
  background: var(--bg-dark);
  padding: 80px var(--pad);
  text-align: center;
}
.tt-philosophy__quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.25rem,2.2vw,2rem);
  color: var(--white);
  font-weight: 300;
  line-height: 1.55;
  max-width: 760px;
  margin: 0 auto 28px;
}
.tt-philosophy__attr {
  font-size: .5rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--copper-lt);
}

/* ─── SERVIZI GRID ──────────────────────────────────────── */
.tt-services {
  background: var(--bg);
  padding: 80px var(--pad) 100px;
}
.tt-services__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px;
  margin-top: 48px;
}
.tt-service-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  cursor: pointer;
  text-decoration: none;
  display: block;
}
.tt-service-card img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(20%) brightness(0.88);
  transition: transform .9s cubic-bezier(.25,.46,.45,.94), filter .6s;
}
.tt-service-card:hover img { transform: scale(1.06); filter: grayscale(0) brightness(0.8); }
.tt-service-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(26,25,23,.82) 0%, rgba(26,25,23,.25) 55%, transparent 100%);
  transition: background .4s;
}
.tt-service-card:hover .tt-service-card__overlay {
  background: linear-gradient(to top, rgba(26,25,23,.9) 0%, rgba(26,25,23,.45) 60%, rgba(26,25,23,.1) 100%);
}
.tt-service-card__body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 32px 36px;
}
.tt-service-card__label {
  font-size: .5rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--copper-lt); margin-bottom: 10px;
}
.tt-service-card__title {
  font-family: var(--font-title);
  font-size: clamp(1.1rem,1.8vw,1.55rem);
  font-weight: 200;
  color: var(--white);
  letter-spacing: -.01em;
  line-height: 1.15;
  margin-bottom: 12px;
}
.tt-service-card__cta {
  font-size: .5rem; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(240,237,232,.5); display: inline-flex; align-items: center; gap: 8px;
  transition: color .3s, gap .3s;
}
.tt-service-card:hover .tt-service-card__cta { color: var(--copper-lt); gap: 14px; }
.tt-service-card__cta::after { content: '\2192'; }

/* ─── ABOUT STRIP — versione chef ──────────────────────── */
.tt-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 600px;
}
.tt-about__photo {
  position: relative;
  overflow: hidden;
}
.tt-about__photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(15%);
}
.tt-about__content {
  background: var(--bg-dark);
  padding: 80px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tt-about__content h2 {
  font-family: var(--font-title);
  font-size: clamp(1.8rem,3vw,3rem);
  font-weight: 200;
  line-height: .95;
  letter-spacing: -.02em;
  color: var(--white);
  margin-bottom: 32px;
}
.tt-about__content h2 em {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 300;
}
.tt-about__content p {
  font-size: .75rem;
  line-height: 1.9;
  color: rgba(240,237,232,.72);
  margin-bottom: 20px;
  max-width: 440px;
}
.tt-about__awards {
  margin: 24px 0 36px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tt-about__award-item {
  font-size: .55rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--copper-lt);
}
.tt-about__award-item::before {
  content: '→ ';
}

/* ─── PRESS STRIP ───────────────────────────────────────── */
.tt-press {
  background: var(--white);
  padding: 80px var(--pad);
}
.tt-press__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-top: 48px;
}
.tt-press__item {
  padding: 48px 36px;
  border: 1px solid rgba(26,25,23,.07);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tt-press__year {
  font-size: .5rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ink-light);
}
.tt-press__award {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.35rem;
  font-weight: 300;
  color: var(--ink);
  line-height: 1.3;
}
.tt-press__source {
  font-size: .55rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--copper);
}

/* ─── CTA BAND ──────────────────────────────────────────── */
.tt-cta-band {
  background: var(--bg-dark-lt);
  padding: 100px var(--pad);
  text-align: center;
}
.tt-cta-band h2 {
  font-family: var(--font-title);
  font-size: clamp(1.8rem,3.5vw,3.2rem);
  font-weight: 200;
  letter-spacing: -.02em;
  color: var(--white);
  margin-bottom: 12px;
}
.tt-cta-band h2 em {
  font-family: var(--font-serif);
  font-style: italic;
}
.tt-cta-band p {
  font-size: .72rem;
  color: rgba(240,237,232,.55);
  margin-bottom: 40px;
}
.tt-cta-band .sd-cta {
  opacity: 1;
  animation: none;
}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 900px) {
  .tt-services__grid { grid-template-columns: 1fr; }
  .tt-service-card { aspect-ratio: 16/9; }
  .tt-about { grid-template-columns: 1fr; }
  .tt-about__photo { aspect-ratio: 16/9; min-height: 0; }
  .tt-about__content { padding: 56px 32px; }
  .tt-press__grid { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 768px) {
  .tt-philosophy,
  .tt-services,
  .tt-press,
  .tt-cta-band { padding-left: 24px; padding-right: 24px; }
  .tt-about__content { padding: 48px 24px; }
  .tt-service-card__body { padding: 24px; }
}


/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE — Shop coerente col tema (tutto a variabili)
═══════════════════════════════════════════════════════════ */

/* --- Contenitore pagine WC (scheda prodotto, carrello, checkout, account) --- */
.sd-shop-wrap__inner,
.sd-shop {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
  padding-bottom: 120px;
}

/* --- Header shop --- */
.sd-shop__header { margin-bottom: 8px; }
.sd-shop__header h1 {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.4rem, 6vw, 4.4rem);
  line-height: 1.02;
  color: var(--ink);
  margin: 8px 0 0;
}
.sd-shop__header h1 em { font-style: italic; color: var(--copper); }
.sd-shop__desc {
  max-width: 560px;
  margin-top: 18px;
  color: var(--ink-mid);
  font-size: .95rem;
  line-height: 1.6;
}

/* --- Filtri categoria --- */
.sd-shop__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.sd-shop__filter {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid var(--ink-light);
  border-radius: 999px;
  color: var(--ink-mid);
  font-size: .85rem;
  text-decoration: none;
  transition: border-color .2s, color .2s;
}
.sd-shop__filter:hover,
.sd-shop__filter.active {
  border-color: var(--copper);
  color: var(--copper);
}

/* --- Griglia prodotti --- */
.sd-shop__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px var(--gap);
  margin-top: 56px;
}
.sd-shop__item { display: flex; flex-direction: column; }
.sd-shop__item-link { text-decoration: none; color: inherit; display: block; }

.sd-shop__item-img {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--bg-warm);
}
.sd-shop__item-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.sd-shop__item:hover .sd-shop__item-img img { transform: scale(1.04); }

.sd-shop__badge {
  position: absolute; top: 14px; left: 14px;
  font-size: .55rem; letter-spacing: .18em; text-transform: uppercase;
  padding: 6px 12px; background: var(--ink); color: var(--white);
}
.sd-shop__badge--sale { background: var(--copper); }
.sd-shop__badge--out  { background: var(--ink-mid); }

.sd-shop__item-info {
  padding: 18px 2px 0;
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
}
.sd-shop__item-title {
  font-family: var(--font-serif);
  font-size: 1.15rem; font-weight: 400; color: var(--ink); margin: 0;
}
.sd-shop__item-price { font-size: .9rem; color: var(--ink-mid); margin: 0; white-space: nowrap; }
.sd-shop__item-price del { color: var(--ink-light); margin-right: 6px; }
.sd-shop__item-price ins { color: var(--copper); text-decoration: none; }

.sd-shop__item-action { margin-top: 14px; }

.sd-shop__empty { color: var(--ink-mid); margin-top: 56px; font-size: 1.05rem; }

/* --- Paginazione --- */
.sd-shop__pagination { display: flex; gap: 8px; justify-content: center; margin-top: 72px; }
.sd-shop__pagination .page-numbers {
  text-decoration: none; color: var(--ink-mid);
  border: 1px solid var(--bg-warm); padding: 8px 14px;
  font-size: .8rem; transition: all .25s;
}
.sd-shop__pagination .page-numbers.current,
.sd-shop__pagination .page-numbers:hover { border-color: var(--copper); color: var(--copper); }

/* --- Bottoni WooCommerce → stile tema --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.sd-shop__item-action .button {
  display: inline-block;
  background: transparent;
  border: 1px solid var(--copper);
  color: var(--copper);
  font-size: .57rem; letter-spacing: .22em; text-transform: uppercase;
  padding: 12px 28px; border-radius: 0;
  text-decoration: none; cursor: pointer;
  transition: all .3s; line-height: 1;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.sd-shop__item-action .button:hover {
  background: var(--copper); color: var(--white); border-color: var(--copper);
}
.woocommerce .button.added { opacity: .6; }
.woocommerce a.added_to_cart { display: inline-block; margin-left: 12px; font-size: .57rem; letter-spacing:.18em; text-transform: uppercase; color: var(--ink-mid); }

/* --- Scheda prodotto singola --- */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.woocommerce div.product .woocommerce-product-gallery { margin: 0; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav {
  margin-top: 10px;
  display: flex;
  gap: 6px;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li {
  margin: 0;
}
.woocommerce div.product .product_title {
  font-family: var(--font-serif); font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; color: var(--ink); margin: 0 0 12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--copper); font-size: 1.5rem; font-weight: 400;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--ink-mid); line-height: 1.7; margin: 20px 0;
}
.woocommerce div.product form.cart { margin-top: 28px; display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.woocommerce .quantity .qty {
  border: 1px solid var(--bg-warm); background: var(--white);
  padding: 12px; width: 72px; color: var(--ink); font-size: .9rem;
}
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none; background: transparent; padding: 0 24px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--ink-mid); text-transform: uppercase; letter-spacing: .14em; font-size: .7rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--copper); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--bg-warm); }

/* --- Prodotti correlati --- */
.woocommerce .related.products { grid-column: 1 / -1; margin-top: 72px; }
.woocommerce .related.products > h2 {
  font-family: var(--font-serif); font-weight: 300; font-size: 1.8rem; color: var(--ink); margin-bottom: 32px;
}
.woocommerce .related.products ul.products,
.woocommerce ul.products {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px var(--gap); margin: 0; list-style: none;
}
.woocommerce ul.products li.product { text-align: left; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif); font-size: 1.05rem; color: var(--ink); padding: 12px 0 4px;
}
.woocommerce ul.products li.product .price { color: var(--copper); }

/* --- Notice (messaggi WC) --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top: 2px solid var(--copper); background: var(--bg-warm); color: var(--ink);
  padding: 16px 20px; list-style: none;
}
.woocommerce-error { border-top-color: #b5302a; }

/* --- Carrello & checkout: tabelle/box --- */
.woocommerce table.shop_table { border: 1px solid var(--bg-warm); }
.woocommerce table.shop_table th { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mid); }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border: 1px solid var(--bg-warm); }
.woocommerce-checkout #payment { background: var(--bg-warm); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--bg-warm); background: var(--white); padding: 12px; color: var(--ink);
}

/* --- Responsive --- */
@media (max-width: 980px) {
  .woocommerce div.product { grid-template-columns: 1fr; gap: 32px; }
  .sd-shop__grid,
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .sd-shop-wrap__inner, .sd-shop { padding-left: 24px; padding-right: 24px; }
  .sd-shop__grid,
  .woocommerce ul.products { grid-template-columns: 1fr; }
}


/* --- Icona carrello nella nav (contatore live) --- */
.sd-cart-item { display: flex; align-items: center; }
.sd-cart-link { position: relative; display: inline-flex; align-items: center; }
.sd-cart-link::after { display: none !important; }   /* niente underline animata sul carrello */
.sd-cart-icon { display: block; width: 20px; height: 20px; }
.sd-cart-count {
  position: absolute; top: -7px; right: -11px;
  min-width: 16px; height: 16px; padding: 0 4px;
  background: var(--copper); color: var(--white);
  border-radius: 999px; box-sizing: border-box;
  font-family: var(--font-title); font-size: .58rem; font-weight: 600;
  line-height: 16px; text-align: center;
}
.sd-cart-count.is-empty { display: none; }


/* --- Chi sono: blocco asimmetrico 30/70 + riconoscimenti a riquadri --- */
.tt-about { background: var(--bg-dark); }

@media (min-width: 981px) {
  .tt-about { grid-template-columns: 30% 70%; align-items: stretch; min-height: 0; }
  .tt-about__photo { align-self: start; aspect-ratio: 4 / 5; }
  .tt-about__content { justify-content: flex-start; padding: 72px 64px; }
}

.tt-about__bio p { max-width: 660px; }

.tt-about__awards {
  margin: 36px 0 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1px;
  background: rgba(240,237,232,.14);
  border: 1px solid rgba(240,237,232,.14);
}
.tt-about__award { background: var(--bg-dark); padding: 20px 22px; }
.tt-about__award-year {
  display: block;
  font-size: .56rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--copper-lt); margin-bottom: 9px;
}
.tt-about__award-title {
  font-family: var(--font-serif); font-style: italic; font-weight: 400;
  font-size: 1rem; line-height: 1.25; color: var(--white); margin: 0 0 7px;
}
.tt-about__award-source { font-size: .62rem; line-height: 1.45; color: rgba(240,237,232,.55); }


/* ═══════════════════════════════════════════════════════════
   PAGINA CHI SONO — masthead + intro (foto copre due blocchi)
═══════════════════════════════════════════════════════════ */

/* Masthead: testata a tutta larghezza, stile rivista */
.sd-about-masthead {
  text-align: center;
  padding: calc(var(--nav-h) + 100px) var(--pad) 76px;
  background: var(--bg);
  border-bottom: 1px solid rgba(26,25,23,.07);
}
.sd-about-masthead .sd-section-label { display: inline-block; }
.sd-about-masthead .sd-section-label::before { display: none; }
.sd-about-masthead h1 {
  font-family: var(--font-title);
  font-size: clamp(2.8rem, 7vw, 6rem);
  font-weight: 200; letter-spacing: -.03em; line-height: 1;
  margin: 20px 0 24px;
}
.sd-about-masthead__sub {
  font-size: .72rem; letter-spacing: .05em; line-height: 1.9; color: var(--ink-mid);
}

/* Intro: foto a sinistra che copre due righe; a destra percorso (chiaro) + arso (scuro) */
.sd-about-intro {
  display: grid;
  grid-template-columns: 42% 58%;
  grid-template-rows: auto auto;
}
.sd-about-intro__photo {
  grid-column: 1; grid-row: 1 / 3;
  overflow: hidden;
}
.sd-about-intro__photo img {
  width: 100%; height: 100%; min-height: 100%;
  object-fit: cover; display: block; filter: grayscale(10%);
}
.sd-about-intro__percorso { grid-column: 2; grid-row: 1; background: var(--bg);      padding: 72px 64px; }
.sd-about-intro__arso     { grid-column: 2; grid-row: 2; background: var(--bg-dark); padding: 72px 64px; }

.sd-about-intro__percorso p:not(.sd-section-label) {
  font-size: .78rem; line-height: 1.95; color: var(--ink-mid); margin-bottom: 20px; max-width: 580px;
}
.sd-about-intro__arso h2 {
  font-family: var(--font-title); font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 200; letter-spacing: -.02em; line-height: .95; color: var(--white); margin-bottom: 32px;
}
.sd-about-intro__arso h2 em { font-family: var(--font-serif); font-style: italic; }
.sd-about-intro__arso p:not(.sd-section-label) {
  font-size: .78rem; line-height: 1.95; color: rgba(240,237,232,.72); margin-bottom: 20px; max-width: 620px;
}

@media (max-width: 980px) {
  .sd-about-intro { grid-template-columns: 1fr; }
  .sd-about-intro__photo { grid-column: 1; grid-row: auto; aspect-ratio: 4 / 5; }
  .sd-about-intro__percorso,
  .sd-about-intro__arso { grid-column: 1; grid-row: auto; padding: 48px 28px; }
}


/* Chi sono (home) — su mobile/tablet la foto resta verticale, soggetto visibile */
@media (max-width: 980px) {
  .tt-about__photo { aspect-ratio: 4 / 5; }
  .tt-about__photo img { object-position: center 30%; }
}


/* Galleria servizi — stessa altezza, nessun ritaglio, adattiva a ogni orientamento.
   Ogni foto mantiene le sue proporzioni; tutte alla stessa altezza, affiancate. */
.tt-gallery { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; }
.tt-gallery img { display: block; filter: grayscale(10%); }
@media (min-width: 761px) {
  .tt-gallery img { height: clamp(320px, 40vh, 480px); width: auto; }
}
@media (max-width: 760px) {
  .tt-gallery img { width: 100%; height: auto; }
}


/* Press — card menzione cliccabile (quando ha un link) */
.tt-press-item.is-link { transition: border-color .25s ease, background .25s ease; }
.tt-press-item.is-link:hover { border-color: var(--copper); background: var(--copper-dim); }
