/* Página Produtos — identidade visual Casa Alzira */
.products-page .nav { gap: 20px; }
.products-page nav ul { gap: 20px; }
.products-page nav a[aria-current="page"] { color: var(--terracota); }
.products-page nav a[aria-current="page"]::after { width: 100%; }
.products-hero { padding: 66px 0 56px; background: var(--areia-escura); text-align: center; }
.products-hero .container { max-width: 820px; }
.products-eyebrow, .section-kicker { display:block; color:var(--terracota); font-size:.72rem; font-weight:500; letter-spacing:3px; text-transform:uppercase; margin-bottom:14px; }
.products-hero h1 { font-size:clamp(2.25rem,5vw,3.5rem); line-height:1.15; margin-bottom:18px; }
.products-hero p { max-width:68ch; margin:0 auto; font-weight:300; font-size:1rem; }
.products-section { padding:72px 0 88px; }
.products-intro { text-align:center; max-width:700px; margin:0 auto 42px; }
.products-intro h2 { font-size:clamp(1.7rem,3.2vw,2.35rem); line-height:1.25; margin-bottom:14px; }
.products-intro p { font-weight:300; }
.products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:stretch; }
.product-card { min-width:0; padding:14px 14px 20px; border:1px solid rgba(178,74,40,.2); border-radius:7px 20px 7px 20px; background:var(--branco); box-shadow:0 12px 28px -22px rgba(59,42,32,.55); }
.product-frame { position:relative; padding:8px; border:1px solid rgba(178,74,40,.38); border-radius:4px 14px 4px 14px; background:linear-gradient(135deg,rgba(239,224,206,.9),rgba(253,249,244,.95)); }
.product-frame::before { content:""; position:absolute; inset:4px; border:1px solid rgba(178,74,40,.16); border-radius:2px 10px 2px 10px; pointer-events:none; }
.product-gallery { position:relative; overflow:hidden; border-radius:2px 10px 2px 10px; background:#eee3d6; touch-action:pan-y; }
.product-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.product-gallery button { position:absolute; z-index:2; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(59,42,32,.78); color:#fff; font-size:1.45rem; cursor:pointer; }
.product-gallery button:hover { background:var(--terracota); }
.product-gallery button:focus-visible, .product-dots button:focus-visible { outline:3px solid var(--terracota); outline-offset:3px; }
.product-prev { left:10px; }
.product-next { right:10px; }
.product-gallery .gallery-controls[hidden], .product-dots[hidden] { display:none; }
.product-dots { position:absolute; left:0; right:0; bottom:10px; display:flex; justify-content:center; gap:7px; }
.product-dots button { width:9px; height:9px; padding:0; border:1px solid #fff; border-radius:50%; background:rgba(59,42,32,.45); cursor:pointer; }
.product-dots button[aria-current="true"] { background:#fff; box-shadow:0 0 0 1px rgba(59,42,32,.55); }
.product-info { padding:17px 5px 0; }
.product-info h3 { font-family:'Poppins',sans-serif; font-size:1rem; font-weight:600; line-height:1.4; margin-bottom:8px; }
.product-info p { font-size:.9rem; font-weight:300; line-height:1.65; white-space:pre-line; }
.product-info p span { display:block; }
@media(max-width:900px) { .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } .products-page .nav-cta { display:none; } }
@media(max-width:600px) { .products-hero { padding:48px 0 42px; } .products-section { padding:52px 0 64px; } .products-grid { grid-template-columns:1fr; gap:20px; max-width:480px; margin:0 auto; } .product-card { padding:12px 12px 18px; } .products-page .nav { flex-wrap:wrap; } .products-page .brand svg { height:64px; } footer nav ul { flex-wrap:wrap; } }

/* Aviso visível quando um arquivo de imagem solicitado não existe no repositório. */
.product-gallery .image-missing {
  min-height: 220px;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  padding: 22px;
  color: #3B2A20;
  background: #f4e9dc;
  text-align: center;
  overflow-wrap: anywhere;
  font-size: .82rem;
  font-weight: 400;
}

/* Texto de uso dos novos produtos. */
.product-info .product-use { font-size: .9rem; font-weight: 400; line-height: 1.5; margin: 0 0 5px; }
.product-info .product-description { font-size: .9rem; font-weight: 300; line-height: 1.65; }

/* Texto de uso: informação secundária, discreta e abaixo do nome. */
.product-info .product-use { font-size: .8rem; font-weight: 400; line-height: 1.45; color: rgba(59,42,32,.68); margin: -2px 0 7px; }
