/* Catalogo porte interne, October 2026 — pulsanti uniformati */
.catalog-action-links{display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap}
.catalog-action-links .text-link{white-space:nowrap}
.door-catalog-hero{min-height:330px}
.door-catalog-section{background:var(--paper)}
.door-catalog-back{margin-bottom:42px}
.door-catalog-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin:38px 0 70px}
.door-catalog-intro h2{margin:15px 0 24px}
.door-catalog-intro p:not(.eyebrow){color:#625f58;font-size:17px;max-width:540px}
.door-catalog-intro img{width:100%;height:350px;object-fit:cover;display:block}
.door-catalog-stage{border:1px solid var(--line);background:#f8f6f0;min-height:330px}
.door-catalog-placeholder{padding:65px 30px;text-align:center;max-width:700px;margin:0 auto}
.door-catalog-placeholder h3{font-size:clamp(26px,3.5vw,40px);line-height:1.12;margin:15px auto 18px;max-width:610px}
.door-catalog-placeholder p:not(.eyebrow){font-size:16px;color:#625f58;line-height:1.6;margin:0 auto 28px;max-width:570px}
.door-catalog-viewer[hidden],.door-catalog-placeholder[hidden]{display:none!important}
.door-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.door-catalog-toolbar strong{font-size:15px}
#door-catalog-frame{display:block;width:100%;height:min(76vh,1000px);min-height:550px;border:0;background:#e8e7e1}
.door-catalog-help{margin:0;padding:12px 22px;color:#625f58;font-size:13px}
@media(max-width:800px){.door-catalog-intro{grid-template-columns:1fr;gap:28px}.door-catalog-intro img{height:280px}}
@media(max-width:520px){.catalog-action-links{align-items:flex-start;gap:18px}.door-catalog-placeholder{padding:50px 20px}.door-catalog-toolbar{padding:16px}.door-catalog-intro{margin-bottom:40px}#door-catalog-frame{min-height:440px}}

/* Foto catalogo porte interne — modello 201 */
.door-catalog-feature{text-align:center;padding:56px 24px 0}
.door-catalog-feature .eyebrow{margin-bottom:28px}
.door-catalog-title{margin:0 0 30px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,42px);font-style:italic;font-weight:400;letter-spacing:.02em;color:#151513;text-align:center;line-height:1.1}
.door-catalog-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:start;width:100%;max-width:100%;margin:0 auto}
.door-catalog-product{width:100%;max-width:none;margin:0}
.door-catalog-product img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;box-shadow:0 15px 35px rgba(24,24,20,.13);border-radius:2px}
.door-catalog-product figcaption{margin-top:20px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,2.4vw,42px);font-style:italic;font-weight:400;letter-spacing:.08em;color:var(--gold-dark);text-align:center;line-height:1.1}
.door-catalog-stage .door-catalog-placeholder{padding-top:48px}
@media(max-width:1200px){.door-catalog-feature{padding-inline:16px}.door-catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:800px){.door-catalog-feature{padding-inline:8px}.door-catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.door-catalog-title{margin-bottom:24px}}
@media(max-width:560px){.door-catalog-feature{padding:36px 0 0}.door-catalog-feature .eyebrow{margin-bottom:20px}.door-catalog-title{margin-bottom:20px;font-size:clamp(26px,8vw,32px)}.door-catalog-product-grid{grid-template-columns:1fr;gap:22px}.door-catalog-product figcaption{font-size:28px;margin-top:14px}}

/* Nuova sezione sotto la griglia: conserva tipografia e colore del titolo precedente. */
.door-catalog-title.door-catalog-title-next{margin-top:clamp(48px,6vw,80px);margin-bottom:clamp(36px,4vw,56px)}

/* Griglia responsive delle porte laminate massellate.
   Usa gli stessi punti di adattamento della griglia dei modelli precedenti. */
.door-catalog-massellate-grid{padding-bottom:0}

/* Sezione Vetri: 4 colonne e 8 righe su PC, responsive sui dispositivi mobili. */
.door-catalog-vetri-grid{padding-bottom:clamp(48px,6vw,80px)}
.door-catalog-empty-slot{min-width:0;aspect-ratio:1/1;border:1px solid var(--line);background:#f1efe9}
.door-catalog-vetri-grid .door-catalog-product img{object-fit:contain;background:#f1efe9;padding:0}

/* Didascalie Vetri: stessa tipografia delle porte, dimensioni ridotte per testi lunghi. */
.door-catalog-vetri-grid .door-catalog-product figcaption{
  font-size:clamp(15px,1.4vw,19px);
  line-height:1.35;
  letter-spacing:.01em;
  overflow-wrap:break-word;
  margin-top:14px;
}
@media(max-width:1200px){
  .door-catalog-vetri-grid .door-catalog-product figcaption{font-size:18px}
}
@media(max-width:560px){
  .door-catalog-vetri-grid .door-catalog-product figcaption{font-size:18px;line-height:1.4}
}

/* Titolo marchio nella sezione Maniglie e ferramenta: allineato in alto a sinistra. */
.door-catalog-brand-title {
  margin: 0 0 clamp(48px, 6vw, 70px);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 3vw, 34px);
  font-style: italic;
  font-weight: 700;
  color: #000000;
  letter-spacing: .02em;
  line-height: 1.15;
  text-align: left;
}

/* Maniglie e ferramenta — marchio Hoppe a sinistra, foto e didascalie più compatte. */
.door-catalog-hoppe-layout {
  display: grid;
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(20px, 2.5vw, 36px);
  padding-bottom: clamp(40px, 5vw, 70px);
}
.door-catalog-hoppe-layout .door-catalog-brand-title {margin: 0;}
/* Un po' più di spazio prima del titolo Manital, mantenendo stile e allineamento. */
.door-catalog-hoppe-layout + .door-catalog-brand-title {
  margin-top: 22px;
}

.door-catalog-hoppe-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 260px));
  gap: clamp(16px, 2vw, 26px);
  justify-content: start;
  min-width: 0;
}
.door-catalog-hoppe-card {min-width: 0; max-width: 260px;}
.door-catalog-hoppe-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 800 / 534;
  object-fit: cover;
}
.door-catalog-hoppe-card figcaption {
  margin-top: 10px;
  font-family: Georgia, "Times New Roman", serif;
  color: #000000;
  text-align: center;
  font-style: italic;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: .01em;
}
.door-catalog-hoppe-model {display: block; color: #000000;}
.door-catalog-hoppe-finish {
  display: block;
  margin-top: 4px;
  color: #000000;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .01em;
}
@media(max-width:760px) {
  .door-catalog-hoppe-layout {grid-template-columns: 1fr; gap: 20px;}
}
@media(max-width:560px) {
  .door-catalog-hoppe-products {grid-template-columns: 1fr; gap: 24px;}
  .door-catalog-hoppe-card figcaption {font-size: 17px;}
  .door-catalog-hoppe-finish {font-size: 13px;}
}

/* Manital: 4 colonne per 2 righe, allineate a fianco del titolo. */
.door-catalog-manital-layout {
  display: grid;
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(20px, 2.5vw, 36px);
  margin-top: 22px;
  padding-bottom: clamp(40px, 5vw, 70px);
}
.door-catalog-manital-layout .door-catalog-brand-title {
  margin: 0;
}
.door-catalog-manital-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 22px);
  width: 100%;
  min-width: 0;
  align-items: start;
}
.door-catalog-manital-card {
  min-width: 0;
  width: 100%;
  max-width: 260px;
}
.door-catalog-manital-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 800 / 534;
  object-fit: cover;
}
.door-catalog-manital-card figcaption {
  margin-top: 10px;
  font-family: Georgia, "Times New Roman", serif;
  color: #000000;
  text-align: center;
  font-style: italic;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: .01em;
}
.door-catalog-manital-model {display: block; color: #000000;}
.door-catalog-manital-finish {
  display: block;
  margin-top: 4px;
  color: #000000;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .01em;
}
.door-catalog-manital-slot {
  min-width: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line, #d7d3c9);
  background: #f1efe9;
  border-radius: 2px;
}
@media (max-width: 1000px) {
  .door-catalog-manital-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px) {
  .door-catalog-manital-layout {grid-template-columns: 1fr; row-gap: 20px;}
}
@media (max-width: 560px) {
  .door-catalog-manital-grid {grid-template-columns: 1fr; gap: 18px;}
  .door-catalog-manital-card figcaption {font-size: 17px;}
  .door-catalog-manital-finish {font-size: 13px;}
}


/* Sicma: stesso impaginato e font di Manital, griglia 4 colonne x 5 righe. */
.door-catalog-sicma-layout {
  display: grid;
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(20px, 2.5vw, 36px);
  margin-top: 22px;
  padding-bottom: clamp(40px, 5vw, 70px);
}
.door-catalog-sicma-layout .door-catalog-brand-title {
  margin: 0;
}
.door-catalog-sicma-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 22px);
  width: 100%;
  min-width: 0;
  align-items: start;
}
.door-catalog-sicma-card {
  min-width: 0;
  width: 100%;
  max-width: 260px;
}
.door-catalog-sicma-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 800 / 534;
  object-fit: cover;
}
.door-catalog-sicma-card figcaption {
  margin-top: 10px;
  font-family: Georgia, "Times New Roman", serif;
  color: #000000;
  text-align: center;
  font-style: italic;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: .01em;
}
.door-catalog-sicma-model {display: block; color: #000000;}
.door-catalog-sicma-finish {
  display: block;
  margin-top: 4px;
  color: #000000;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .01em;
}
.door-catalog-sicma-slot {
  min-width: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line, #d7d3c9);
  background: #f1efe9;
  border-radius: 2px;
}
@media (max-width: 1000px) {
  .door-catalog-sicma-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .door-catalog-sicma-layout { grid-template-columns: 1fr; row-gap: 20px; }
}
@media (max-width: 560px) {
  .door-catalog-sicma-grid { grid-template-columns: 1fr; gap: 18px; }
  .door-catalog-sicma-card figcaption { font-size: 17px; }
  .door-catalog-sicma-finish { font-size: 13px; }
}


/* ZB: stesso impaginato di Sicma, griglia 4 colonne x 2 righe. */
.door-catalog-zb-layout {
  display: grid;
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(20px, 2.5vw, 36px);
  margin-top: 22px;
  padding-bottom: clamp(40px, 5vw, 70px);
}
.door-catalog-zb-layout .door-catalog-brand-title {
  margin: 0;
}
.door-catalog-zb-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 22px);
  width: 100%;
  min-width: 0;
  align-items: start;
}
.door-catalog-zb-card {
  min-width: 0;
  width: 100%;
  max-width: 260px;
}
.door-catalog-zb-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 800 / 534;
  object-fit: cover;
}
.door-catalog-zb-card figcaption {
  margin-top: 10px;
  font-family: Georgia, "Times New Roman", serif;
  color: #000000;
  text-align: center;
  font-style: italic;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: .01em;
}
.door-catalog-zb-model {display: block; color: #000000;}
.door-catalog-zb-finish {
  display: block;
  margin-top: 4px;
  color: #000000;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .01em;
}
.door-catalog-zb-slot {
  min-width: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line, #d7d3c9);
  background: #f1efe9;
  border-radius: 2px;
}
@media (max-width: 1000px) {
  .door-catalog-zb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .door-catalog-zb-layout { grid-template-columns: 1fr; row-gap: 20px; }
}
@media (max-width: 560px) {
  .door-catalog-zb-grid { grid-template-columns: 1fr; gap: 18px; }
  .door-catalog-zb-card figcaption { font-size: 17px; }
  .door-catalog-zb-finish { font-size: 13px; }
}

/* ABG Wave: testo sulla sinistra, subito sotto le immagini ZB. */
.door-catalog-abg-wave {
  box-sizing: border-box;
  width: min(100%, 430px);
  margin: clamp(16px, 3vw, 32px) 0 clamp(58px, 7vw, 96px);
  text-align: left;
  color: #171717;
}
.door-catalog-abg-wave .door-catalog-brand-title {
  margin: 0 0 16px;
}
.door-catalog-abg-model {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.25;
  color: #161616;
}
.door-catalog-abg-wave p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(15px, 1.3vw, 17px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .005em;
  text-wrap: pretty;
}
@media (max-width: 760px) {
  .door-catalog-abg-wave { margin-top: 36px; padding-inline: 8px; }
}


/* ABG Wave: descrizione a sinistra, composizione immagini a destra. */
.door-catalog-abg-wave {
  display: grid;
  grid-template-columns: minmax(200px, 300px) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(20px, 3vw, 48px);
  width: 100%;
  max-width: none;
  margin-top: clamp(32px, 4vw, 56px);
}
.door-catalog-abg-copy { min-width: 0; }
.door-catalog-abg-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: clamp(10px, 1.3vw, 18px);
  align-items: start;
  min-width: 0;
}
.door-catalog-abg-main { margin: 0; min-width: 0; }
.door-catalog-abg-main img { display: block; width: 100%; height: auto; border-radius: 2px; }
.door-catalog-abg-side { display: grid; gap: 12px; min-width: 0; }
.door-catalog-abg-finishes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; align-items: start; }
.door-catalog-abg-finishes img { display: block; width: 100%; height: auto; min-width: 0; border-radius: 2px; }
.door-catalog-abg-parts { display: block; width: 100%; height: auto; border-radius: 2px; }
@media (max-width: 850px) {
  .door-catalog-abg-wave { grid-template-columns: 1fr; row-gap: 24px; }
  .door-catalog-abg-copy { max-width: 430px; }
}
@media (max-width: 500px) {
  .door-catalog-abg-gallery { grid-template-columns: 1fr; }
  .door-catalog-abg-side { max-width: 100%; }
}


/* ABG Wave: testo sempre a sinistra, fotografia principale ampia al centro,
   finiture e dettagli disposti a destra. */
.door-catalog-abg-wave {
  display: grid;
  grid-template-columns: minmax(190px, 285px) minmax(0, 1fr);
  gap: clamp(22px, 3vw, 46px);
  align-items: start;
  width: 100%;
  max-width: none;
}
.door-catalog-abg-copy {
  grid-column: 1;
  min-width: 0;
  width: 100%;
  max-width: 285px;
  align-self: start;
}
.door-catalog-abg-gallery {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, .85fr);
  gap: clamp(10px, 1.5vw, 20px);
  align-items: start;
  min-width: 0;
}
.door-catalog-abg-main img { width: 100%; height: auto; object-fit: contain; }
.door-catalog-abg-side { display: flex; flex-direction: column; gap: clamp(12px, 1.5vw, 20px); }
.door-catalog-abg-finishes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.door-catalog-abg-parts { width: 100%; height: auto; }
@media (max-width: 760px) {
  .door-catalog-abg-wave { grid-template-columns: minmax(140px, 38%) minmax(0,1fr); gap: 16px; }
  .door-catalog-abg-copy { grid-column: 1; max-width: none; }
  .door-catalog-abg-gallery { grid-column: 2; grid-template-columns: 1fr; }
  .door-catalog-abg-side { width: 100%; }
}
@media (max-width: 460px) {
  .door-catalog-abg-wave { grid-template-columns: minmax(112px, 37%) minmax(0,1fr); gap: 12px; }
  .door-catalog-abg-wave p { font-size: 14px; line-height: 1.55; overflow-wrap: break-word; }
  .door-catalog-abg-gallery { grid-template-columns: 1fr; }
}


/* Smartphone: centra ogni elemento delle griglie a colonna singola. */
@media (max-width: 560px) {
  .door-catalog-product-grid,
  .door-catalog-massellate-grid,
  .door-catalog-vetri-grid,
  .door-catalog-manital-grid,
  .door-catalog-sicma-grid,
  .door-catalog-zb-grid {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    margin-inline: auto;
  }
  .door-catalog-product-grid > *,
  .door-catalog-massellate-grid > *,
  .door-catalog-vetri-grid > *,
  .door-catalog-manital-grid > *,
  .door-catalog-sicma-grid > *,
  .door-catalog-zb-grid > * {
    justify-self: center;
    margin-inline: auto;
    width: min(100%, 300px);
    text-align: center;
  }
  .door-catalog-product-grid figure,
  .door-catalog-massellate-grid figure,
  .door-catalog-vetri-grid figure,
  .door-catalog-manital-grid figure,
  .door-catalog-sicma-grid figure,
  .door-catalog-zb-grid figure { max-width: 300px; }
  .door-catalog-product-grid figcaption,
  .door-catalog-massellate-grid figcaption,
  .door-catalog-vetri-grid figcaption,
  .door-catalog-manital-grid figcaption,
  .door-catalog-sicma-grid figcaption,
  .door-catalog-zb-grid figcaption { text-align: center; }
  .door-catalog-manital-layout .door-catalog-brand-title,
  .door-catalog-sicma-layout .door-catalog-brand-title,
  .door-catalog-zb-layout .door-catalog-brand-title { text-align: center; }
}


/* Hoppe: centra entrambe le immagini e le loro didascalie quando sono in una sola colonna. */
@media (max-width: 560px) {
  .door-catalog-hoppe-layout {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    row-gap: 20px;
  }
  .door-catalog-hoppe-layout > .door-catalog-brand-title {
    width: 100%;
    text-align: center;
  }
  .door-catalog-hoppe-products {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
    justify-items: center;
    gap: 24px;
  }
  .door-catalog-hoppe-products > .door-catalog-hoppe-card {
    box-sizing: border-box;
    width: min(100%, 300px);
    max-width: 300px;
    margin-inline: auto;
    justify-self: center;
  }
  .door-catalog-hoppe-products .door-catalog-hoppe-card figcaption {
    text-align: center;
  }
}


/* CATALOGO PORTE INTERNE — foto showroom fornita dal cliente, applicata
   esclusivamente alla hero della pagina. Titoli reali sempre in HTML. */
.page-hero.products-hero.door-catalog-hero {
  background-color: #302920;
  background-image:
    linear-gradient(90deg, rgba(13, 12, 12, .72) 0%, rgba(17, 16, 15, .55) 29%, rgba(17, 16, 15, .23) 62%, rgba(17, 16, 15, .10) 100%),
    url("../images/porte-interne-showroom-sfondo-20261014-v3.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: clamp(470px, 40vw, 620px);
  display: flex;
  align-items: center;
}
.page-hero.products-hero.door-catalog-hero::after {
  background: none;
  opacity: 0;
}
.page-hero.products-hero.door-catalog-hero .page-hero-inner { width: 100%; }
.page-hero.products-hero.door-catalog-hero .eyebrow { color: #ead29f; }
.page-hero.products-hero.door-catalog-hero h1 { color: #fff9ef; }
.page-hero.products-hero.door-catalog-hero p:not(.eyebrow) { color: #f3e9db; }
@media (max-width: 760px) {
  .page-hero.products-hero.door-catalog-hero {
    min-height: 460px;
    background-position: center center;
    background-image:
      linear-gradient(90deg, rgba(13, 12, 12, .82), rgba(13, 12, 12, .52) 65%, rgba(13, 12, 12, .26)),
      url("../images/porte-interne-showroom-sfondo-20261014-v3.webp");
  }
}
