.catalog{max-width:1180px;margin:76px auto 50px;scroll-margin-top:30px}.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.catalog-heading h1,.catalog-heading h2{font:500 clamp(31px,3vw,46px)/1.08 'Playfair Display',serif;letter-spacing:-.8px;margin:0}.catalog-heading em{font-style:italic;color:var(--rose)}.catalog-heading>p{font-size:14px;line-height:1.65;color:var(--muted);max-width:292px;margin:0}.products-main{max-width:1180px;margin:0 auto}.catalog-page{margin-top:30px}.catalog-back{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:12px;margin-top:15px}.catalog-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:20px}.catalog-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:none;padding:8px 14px;color:var(--muted);font:600 13px 'DM Sans',sans-serif}.catalog-tabs button[aria-selected=true]{color:var(--rose);border-color:var(--rose)}.catalog-tabs span{font-size:12px;font-weight:400;margin-left:4px}.catalog-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:12px}.catalog-all{display:inline-flex;min-height:44px;align-items:center;gap:10px;color:var(--rose);font-weight:600}.catalog-note{font-size:12px;color:var(--muted);margin:0}

.product-carousel{width:100%;--ease:cubic-bezier(.22,1,.36,1)}.product-carousel-stage{position:relative;height:570px;outline:0;overflow:hidden;padding:10px 0 18px;touch-action:pan-y pinch-zoom}.product-carousel-stage:focus-visible{outline:2px solid var(--rose);outline-offset:6px;border-radius:24px}.product-carousel-track{position:relative;width:100%;height:100%;--drag:0px}.product-rail-card{position:absolute;top:4px;left:50%;z-index:1;width:min(340px,31vw);min-height:500px;overflow:hidden;border:1px solid #eadde1;border-radius:22px;background:#fffaf9;box-shadow:0 16px 34px #65364914;opacity:.58;transform:translate(calc(-50% + var(--slot) * 385px + var(--drag)),24px) scale(.91);filter:saturate(.82);transition:transform 420ms var(--ease),opacity 360ms ease,filter 360ms ease,box-shadow 420ms var(--ease),background-color 360ms ease;will-change:transform}.product-rail-card.is-active{z-index:3;width:min(405px,34vw);min-height:536px;background:#fff;box-shadow:0 24px 52px #65364925;opacity:1;filter:none;transform:translate(calc(-50% + var(--drag)),0) scale(1)}.product-rail-card.is-far{z-index:0;opacity:0;pointer-events:none}.product-rail-art{display:flex;align-items:center;justify-content:center;height:254px;background:#fff;overflow:hidden}.product-rail-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 14px #6536491f);transition:transform 420ms var(--ease)}.product-rail-card.is-active .product-rail-art{height:270px}.product-rail-card.is-active .product-rail-art:hover img,.product-rail-card.is-active .product-rail-art:focus-visible img{transform:translateY(-4px) scale(1.015)}.product-rail-copy{padding:18px 22px 20px}.product-rail-category{margin:0 0 8px;color:var(--rose);font-size:12px;font-weight:750;letter-spacing:1.35px;text-transform:uppercase}.product-rail-copy h3{font:500 28px/1.05 'Playfair Display',serif;letter-spacing:-.4px;margin:0}.product-rail-copy h3 a{color:inherit;text-decoration:none}.product-rail-subtitle{min-height:19px;margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.product-rail-active-details{max-height:0;overflow:hidden;opacity:0;transition:max-height 340ms var(--ease),opacity 220ms ease;margin:0}.is-active .product-rail-active-details{max-height:104px;opacity:1;margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-rail-active-details>div{display:flex;align-items:center;justify-content:space-between;min-height:37px;font-size:13px}.product-rail-active-details>div+div{border-top:1px solid var(--line)}.product-rail-active-details strong{color:var(--rose);font-weight:650}.product-swatches{display:flex;gap:9px;align-items:center}.product-swatches i{display:block;width:20px;height:20px;border-radius:50%;background:var(--swatch);border:1px solid #ffffffb8;box-shadow:0 1px 3px #65364934}.product-rail-bottom{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 9px;margin-top:15px}.product-rail-pix{flex-basis:100%;font-size:14px;color:var(--muted)}.product-rail-bottom strong{font-size:18px;font-weight:750}.product-rail-price-note{font-size:12px;color:var(--muted)}.product-rail-actions{display:grid;grid-template-columns:1fr 50px;gap:12px;margin-top:14px}.product-customize,.product-cart{min-height:48px;border:0;border-radius:999px;background:var(--rose);color:#fff;font:700 13px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 6px 15px #b64c6824;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.product-customize{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.product-cart{display:grid;place-items:center;width:50px;border-radius:50%}.product-cart .icon{width:22px;height:22px}.product-customize:hover,.product-cart:hover{background:#9e3e59;transform:translateY(-2px);box-shadow:0 10px 18px #b64c6833}.product-customize:focus-visible,.product-cart:focus-visible,.product-carousel-arrow:focus-visible,.product-carousel-dots button:focus-visible,.catalog-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.product-cart:disabled{cursor:wait;opacity:.7}.product-cart.is-loading .icon{animation:cart-loading .65s linear infinite}.product-carousel-arrow{position:absolute;z-index:5;top:45%;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fffcfbef;color:var(--ink);box-shadow:0 8px 21px #6536491e;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.product-carousel-arrow .icon{width:23px;height:23px}.product-carousel-arrow:hover{background:#fff;transform:scale(1.06)}.product-carousel-prev{left:max(10px,calc(50% - 575px));transform:rotate(180deg)}.product-carousel-prev:hover{transform:rotate(180deg) scale(1.06)}.product-carousel-next{right:max(10px,calc(50% - 575px))}.product-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:0}.product-carousel-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#e8d6da;cursor:pointer;transition:width 280ms var(--ease),background-color 280ms ease}.product-carousel-dots button[aria-selected=true]{width:25px;border-radius:8px;background:var(--rose)}.catalog-empty{min-height:260px;border:1px dashed var(--line);border-radius:22px;padding:48px;background:var(--panel)}.catalog-empty h3{font:500 28px 'Playfair Display',serif;margin:8px 0}.catalog-empty p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;margin:0;max-width:470px}@keyframes cart-loading{to{transform:rotate(360deg)}}

@media(max-width:1220px){.catalog,.products-main{margin-left:28px;margin-right:28px}.catalog-page{margin-left:0;margin-right:0}.product-rail-card{width:min(330px,32vw);transform:translate(calc(-50% + var(--slot) * 330px + var(--drag)),24px) scale(.9)}.product-rail-card.is-active{width:min(390px,38vw)}.product-carousel-prev{left:10px}.product-carousel-next{right:10px}}@media(max-width:760px){.catalog,.products-main{margin-left:18px;margin-right:18px}.catalog{margin-top:50px}.catalog-heading{display:block;margin-bottom:20px}.catalog-heading>p{margin-top:13px}.catalog-footer{display:block;margin-top:8px}.catalog-note{margin-top:5px}.catalog-tabs{overflow-x:auto;white-space:nowrap}.product-carousel-stage{width:100vw;height:535px;margin-left:calc(50% - 50vw);margin-right:0;padding-top:8px}.product-rail-card{top:3px;width:72vw;min-height:474px;border-radius:19px;transform:translate(calc(-50% + var(--slot) * 70vw + var(--drag)),24px) scale(.88);opacity:.48}.product-rail-card.is-active{width:78vw;min-height:493px;transform:translate(calc(-50% + var(--drag)),0) scale(1)}.product-rail-art{height:230px}.product-rail-card.is-active .product-rail-art{height:240px}.product-rail-copy{padding:15px 17px 17px}.product-rail-copy h3{font-size:25px}.product-rail-category{font-size:12px;margin-bottom:6px}.product-rail-subtitle{font-size:12px}.is-active .product-rail-active-details{margin-top:10px}.product-rail-active-details>div{min-height:34px;font-size:12px}.product-rail-bottom{margin-top:12px}.product-rail-bottom strong{font-size:17px}.product-rail-actions{grid-template-columns:1fr 46px;gap:9px;margin-top:11px}.product-customize,.product-cart{min-height:46px}.product-cart{width:46px}.product-carousel-arrow{top:43%;width:44px;height:44px}.product-carousel-prev{left:5px}.product-carousel-next{right:5px}.product-carousel-dots{margin-top:-2px}.product-carousel-dots button{width:9px;height:9px}.product-carousel-dots button[aria-selected=true]{width:22px}}@media(max-width:390px){.product-carousel-stage{height:520px}.product-rail-card{width:74vw;transform:translate(calc(-50% + var(--slot) * 70vw + var(--drag)),23px) scale(.86)}.product-rail-card.is-active{width:80vw;min-height:480px}.product-rail-art{height:215px}.product-rail-card.is-active .product-rail-art{height:226px}.product-rail-copy h3{font-size:23px}.product-rail-copy{padding:14px 15px}.product-rail-price-note{font-size:12px}.product-carousel-arrow{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){.product-rail-card,.product-rail-art img,.product-rail-active-details,.product-carousel-dots button,.product-customize,.product-cart,.product-carousel-arrow{transition:none}.product-cart.is-loading .icon{animation:none}}
.product-carousel-stage{height:620px}
/* Small visual indicators retain a full-size touch target. */
.product-carousel-dots{gap:0}
.product-carousel-dots button,.product-carousel-dots button[aria-selected=true]{display:grid;place-items:center;width:44px;height:44px;background:transparent;border-radius:50%}
.product-carousel-dots button::after{content:'';width:10px;height:10px;border-radius:9px;background:#e8d6da}
.product-carousel-dots button[aria-selected=true]::after{width:25px;background:var(--rose)}
@media(max-width:1100px){.products-page .header .edition{display:none}}
@media(max-width:760px){.catalog-page{margin-left:0;margin-right:0}.product-carousel-stage{width:calc(100vw - 20px);margin-left:calc(50% - 50vw + 10px);height:580px}.product-carousel-arrow{width:44px;height:44px}}
.product-rail-art{background:transparent}.product-rail-art img{filter:drop-shadow(0 13px 12px #65364926)}
@media(max-width:760px){.product-carousel-stage{height:540px}.product-rail-card{width:62vw;min-height:450px;transform:translate(calc(-50% + var(--slot) * 61vw + var(--drag)),20px) scale(.9)}.product-rail-card.is-active{width:68vw;min-height:470px}.product-rail-art{height:205px}.product-rail-card.is-active .product-rail-art{height:218px}.product-rail-copy{padding:14px 15px 16px}.product-rail-copy h3{font-size:23px}.product-rail-bottom{margin-top:10px}.product-rail-actions{margin-top:10px}.product-carousel-arrow{width:38px;height:38px;top:41%}.product-carousel-arrow .icon{width:19px;height:19px}.product-carousel-prev{left:4px}.product-carousel-next{right:4px}}@media(max-width:390px){.product-carousel-stage{height:526px}.product-rail-card{width:64vw;transform:translate(calc(-50% + var(--slot) * 62vw + var(--drag)),20px) scale(.88)}.product-rail-card.is-active{width:70vw;min-height:462px}.product-rail-art{height:196px}.product-rail-card.is-active .product-rail-art{height:209px}.product-carousel-arrow{width:36px;height:36px}}
/* Audit L1: side cards keep their depth (scale and shadow) but the text stays at full contrast; only the picture fades. */
.product-rail-card{opacity:1;filter:none}.product-rail-card:not(.is-active) .product-rail-art img{opacity:.55;filter:saturate(.82);transition:opacity 360ms ease}
/* Produtos page as a grid (product-grid.js, audits B2 and B5): every piece sharp, 3 columns on a computer, 2 on a phone. */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.product-grid-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #eadde1;border-radius:22px;background:#fff;box-shadow:0 16px 34px -24px #65364930}
.product-grid-art{position:relative;background:linear-gradient(to bottom,var(--theme-wash,#fff7f5),#fff 85%)}
.product-grid-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:6%}
.product-grid-art .product-cart{position:absolute;top:12px;right:12px}
.product-grid-copy{display:flex;flex-direction:column;flex:1;padding:16px 20px 20px}
.product-grid-category{margin:0;font-size:12px;font-weight:650;letter-spacing:.24em;text-transform:uppercase;color:var(--theme-accent,var(--rose))}
.product-grid-copy h2{margin:6px 0 2px;font:500 26px/1.15 'Playfair Display',Georgia,serif}
.product-grid-copy h2 a{color:inherit;text-decoration:none}.product-grid-copy h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.product-grid-sub{margin:0 0 10px;font-size:14px;color:var(--muted)}
.product-grid-colors{margin:0 0 12px}
.product-grid-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0}
.product-grid-price strong{font-size:20px;font-weight:700}
.product-grid-pix{font-size:14px;color:#1f6b47;font-weight:600}
.product-grid-made{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:13px;color:var(--muted)}
.product-grid-made .icon{width:18px;height:18px;flex-shrink:0;color:var(--theme-accent,var(--rose))}
.product-grid-note{margin:4px 0 14px;font-size:12px;color:var(--muted)}
.product-grid-copy .product-customize{margin-top:auto;justify-content:center;text-align:center}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.product-grid{gap:10px;margin-left:-24px;margin-right:-24px}.product-grid-copy{padding:12px 12px 14px}.product-grid-copy h2{font-size:17px;overflow-wrap:anywhere}.product-grid-sub{display:none}.product-grid-category{font-size:12px;letter-spacing:.14em}.product-grid-price strong{font-size:17px}.product-grid-pix{font-size:13px}.product-grid-made{align-items:flex-start;font-size:12px}.product-grid-art .product-cart{top:8px;right:8px}.product-grid-copy .product-customize{padding-left:8px;padding-right:8px;font-size:13px}}
/* Novidade sem venda (SOON, products.js): o selo "Em breve" e o "Ver encaixado" no lugar do preço e do carrinho. */
.product-soon{display:inline-flex;align-items:center;min-height:30px;padding:0 13px;border-radius:999px;background:#fff;color:var(--theme-accent,var(--rose));box-shadow:inset 0 0 0 1.5px currentColor;font:700 12px 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}.product-rail-bottom .product-soon{margin-top:2px}.product-rail-actions.is-single{grid-template-columns:1fr}.product-see-fit{gap:8px}.product-see-fit .icon{width:19px;height:19px;flex:none}.product-grid-art .product-soon{position:absolute;top:12px;left:12px;box-shadow:inset 0 0 0 1.5px currentColor,0 4px 12px #1f2a2414}.product-grid-soon-note{margin:10px 0 14px;font-size:12.5px;font-weight:600;color:var(--theme-accent,var(--rose))}.product-grid-card.is-soon .product-customize{margin-top:auto}.product-see-3d{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:8px;border:1.5px solid color-mix(in srgb,var(--theme-accent,var(--rose)) 45%,#fff);border-radius:999px;background:#fff;color:var(--theme-accent,var(--rose));font:700 13px 'DM Sans',sans-serif;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.product-see-3d .icon{width:18px;height:18px;flex:none}.product-see-3d:hover{border-color:var(--theme-accent,var(--rose));transform:translateY(-2px)}.product-see-3d:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.product-rail-actions.is-single .product-see-3d{margin-top:0}@media(max-width:600px){.product-grid-art .product-soon{top:8px;left:8px;min-height:26px;padding:0 10px}.product-grid-card.is-soon .product-grid-art img{padding-top:15%}}
/* Produtos aberta por um banner da página Escolha o seu (produtos.html?encaixe=<família>): selo do encaixe e caminho para os outros. */
.catalog-family{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:-6px 0 26px}.catalog-family-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0;padding:0 4px 0 16px;border:1px solid color-mix(in srgb,var(--theme-accent,var(--rose)) 38%,#fff);border-radius:999px;background:#fff;color:var(--theme-accent,var(--rose));font:650 13px/1 'DM Sans',sans-serif;letter-spacing:.02em}.catalog-family-chip a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:inherit;transition:background-color .2s ease}.catalog-family-chip a:hover{background:color-mix(in srgb,var(--theme-accent,var(--rose)) 10%,#fff)}.catalog-family-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.catalog-family-other{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none}.catalog-family-other .icon{width:17px;height:17px;transition:transform .3s ease}.catalog-family-other:hover{color:var(--theme-accent,var(--rose))}.catalog-family-other:hover .icon{transform:translateX(3px)}.catalog-family a:focus-visible{outline:2px solid var(--theme-accent,var(--rose));outline-offset:2px}
/* Adicionar pelo card: o carrinho dá uma volta (com um leve pulo) e só então o mini-carrinho sobe (catalog.js espera 0,6 s). */
@media (prefers-reduced-motion: no-preference) {
  .product-cart.is-loading { opacity: 1; animation: cart-press .6s cubic-bezier(.34, 1.56, .64, 1); }
  .product-cart.is-loading .icon { animation: cart-spin .6s cubic-bezier(.45, .05, .3, 1) both; }
}
@keyframes cart-spin { 55% { transform: rotate(300deg) scale(1.18); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes cart-press { 30% { transform: scale(.9); } 70% { transform: scale(1.06); } }
