/* Página interna: estilos isolados, base compartilhada com a home. */
.product-wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:20px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:20;padding:12px;background:white;color:var(--navy)}
.skip-link:focus{top:8px}
.breadcrumb{padding:24px 0;font-size:13px;color:var(--muted)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:0}
.breadcrumb li+li::before{content:"/";margin-right:12px;color:#9aa4b0}
.breadcrumb a:hover{text-decoration:underline}
.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:12px 0 48px}
.product-visual{background:#f5f6f8;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:center;padding:20px}
.product-visual img{display:block;width:auto;height:auto;max-width:100%;max-height:460px;margin-inline:auto;object-fit:contain;mix-blend-mode:multiply}
.product-visual span{display:block;margin-top:16px;font-size:10px;letter-spacing:.16em;color:var(--muted)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--muted);margin:0 0 14px}
.product-summary h1{color:var(--navy);font-size:clamp(28px,2.8vw,38px);line-height:1.14;letter-spacing:-.025em;margin:0 0 18px}
.product-lead{font-size:16px;line-height:1.8;color:var(--muted)}
.product-cta{font-size:13px;padding:16px 23px;margin-top:16px}
.minimum{font-size:12px;color:var(--muted);margin:12px 0 0}
.product-details{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--line);padding:56px 0}
.product-details h2,.product-gallery h2{color:var(--navy);font-size:27px;line-height:1.3;margin:0 0 22px}
.product-details p{color:var(--muted);line-height:1.85}
.specifications{background:#f6f8fb;border-radius:10px;padding:30px}
.specifications h2{font-size:21px}
.specifications dl{margin:0}
.specifications dl>div{padding:14px 0;border-bottom:1px solid #dfe5ec}
.specifications dl>div:last-child{border:0;padding-bottom:0}
.specifications dt{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:5px}
.specifications dd{margin:0;font-size:14px;color:var(--muted)}
.product-gallery{padding:28px 0 64px}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.gallery-grid figure{margin:0;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.gallery-grid img{width:100%;height:115px;object-fit:contain}
.gallery-grid figcaption{font-size:13px;color:var(--muted);padding-top:10px}
.product-budget{padding:64px 24px}
.product-budget>div{max-width:750px;margin:auto}
.product-budget .eyebrow{color:#b8c7e5}
.product-budget h2{font-size:30px;line-height:1.2}
.product-budget .budget-note{font-size:12px;color:#c4cfe3;margin:16px 0 24px}
.budget-contacts{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;font-size:14px;overflow-wrap:anywhere}
a:focus-visible,button:focus-visible{outline:3px solid #dc9b2f;outline-offset:5px}
@media(max-width:800px){.product-hero,.product-details{grid-template-columns:1fr;gap:32px}.product-hero{padding-top:8px;padding-bottom:40px}.product-visual img{height:auto;max-height:380px}.product-details{padding:36px 0}.product-summary h1{max-width:600px}.product-gallery{padding-bottom:40px}}
@media(max-width:500px){.product-wrap{padding:0 20px}.breadcrumb{font-size:11px}.product-visual{padding:20px}.product-visual img{height:auto;max-height:340px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid img{height:110px}.specifications{padding:24px}.product-budget h2{font-size:25px}.budget-contacts{flex-direction:column;font-size:12px}.product-cta{font-size:11px}}

/* Formulaire de homologação e galeria compacta */
#orcamento{scroll-margin-top:20px}
.quote-card{border:1px solid #dce3ed;border-radius:14px;background:#f6f8fb;padding:26px;box-shadow:0 8px 26px #061c5008}
.quote-card h2{color:var(--navy);font-size:25px;line-height:1.2;margin:0 0 10px}
.quote-card .eyebrow{font-size:10px;margin-bottom:10px}
.quote-intro{font-size:13px;color:var(--muted);margin:0 0 18px}
.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.quote-fields label{display:flex;flex-direction:column;font-size:12px;font-weight:700;color:var(--ink);min-width:0}
.quote-fields input,.quote-fields select,.quote-fields textarea{width:100%;min-width:0;border:1px solid #cdd6e2;border-radius:7px;background:#fff;color:var(--ink);padding:10px 11px;font:13px/1.3 Arial,Helvetica,sans-serif}
.quote-fields input,.quote-fields select{height:44px}
.quote-fields textarea{resize:vertical;min-height:100px}
.quote-fields input:focus,.quote-fields select:focus,.quote-fields textarea:focus{outline:2px solid var(--navy);outline-offset:2px}
.quote-full{grid-column:1/-1}
.quote-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;margin:14px 0}
.quote-checkbox input{width:16px;height:16px;accent-color:var(--navy)}
.quote-submit{width:100%;border:0;padding:14px;font-size:13px;margin-top:20px}
.quote-notice{font-size:11px;line-height:1.5;color:var(--muted);margin:16px 0 0}
.quote-status:empty{display:none}
.quote-status{font-size:13px;background:#fff2ce;color:#624600;border-radius:7px;padding:12px;margin:12px 0 0}
.gallery-hint{font-size:13px;color:var(--muted);margin:-10px 0 18px}
.gallery-photo{display:block;border-radius:6px;overflow:hidden}
.gallery-photo:hover img{transform:scale(1.04)}
.gallery-photo img{transition:transform .18s ease}
.gallery-grid figcaption{font-size:11px;line-height:1.4}
.photo-dialog{border:0;border-radius:14px;padding:36px 20px 16px;max-width:min(900px,94vw);max-height:90vh;color:var(--ink)}
.photo-dialog::backdrop{background:#031540cc}
.photo-dialog img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}
.photo-dialog p{text-align:center;font-size:14px;margin:12px 0 0}
.photo-close{position:absolute;top:3px;right:10px;border:0;background:none;color:var(--navy);font-size:30px;line-height:1}
@media(min-width:801px){.product-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.product-hero{display:flex;flex-direction:column}.product-summary,.quote-card{width:100%}.product-visual{display:none}.quote-card{padding:24px}.product-summary h1{margin-bottom:14px}.product-lead{margin-bottom:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:500px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-card{padding:20px}.quote-fields{gap:12px}.quote-fields label{grid-column:1/-1}.product-gallery h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}

.category-page{padding-bottom:64px}.category-title{margin:18px 0 30px}.category-title h1{font-size:clamp(28px,3vw,40px);line-height:1.2;color:var(--navy);margin:0}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.category-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.category-card>a{background:#f8f9fb;display:block}.category-card img{width:100%;height:220px;object-fit:contain;padding:20px}.category-card>div{display:flex;flex-direction:column;align-items:flex-start;padding:24px;flex:1}.category-card h2{font-size:20px;line-height:1.3;color:var(--navy);margin:0 0 12px}.category-card p{font-size:14px;color:var(--muted);line-height:1.7;flex:1;margin:0 0 20px}.category-card .btn{align-self:flex-start}.resale-note{font-size:13px;color:var(--muted);margin:0}
@media(max-width:950px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.category-grid{grid-template-columns:1fr}.category-card img{height:190px}}
@media(min-width:951px){.submenu{max-height:min(75vh,650px);overflow-y:auto}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Seta discreta com recuo consistente no seletor do formulário. */
.quote-fields select{
  -webkit-appearance:none;appearance:none;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2368788d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;
}

/* No celular, o formulário vem antes da foto principal ampliada. */
@media(max-width:800px){
 .product-hero .product-summary{display:contents}
 .product-hero .quote-card{order:1}
 .product-hero .product-visual{display:block;order:2;width:100%}
 .product-hero .resale-note{order:1}
 .product-hero .product-lead{margin:0}
}

@media(max-width:800px){
 .product-hero{gap:14px}
 .product-hero .product-summary>.eyebrow,.product-hero .product-summary>h1{margin:0}
 .product-hero .quote-card{margin-top:8px}
 .product-hero .product-visual{margin-top:14px}
}

/* Modelo aprovado: foto e formulário no mesmo painel. */
.product-intro{padding:12px 0 24px;max-width:1000px}
.product-intro h1{color:var(--navy);font-size:clamp(28px,2.8vw,38px);line-height:1.14;letter-spacing:-.025em;margin:0 0 16px}
.product-intro .eyebrow{margin-bottom:12px}
.product-intro .product-lead{margin:0}
.product-hero.unified-panel{background:#f6f8fb;border:1px solid #dce3ed;border-radius:14px;padding:30px;gap:44px;align-items:center;margin-bottom:48px}
.unified-panel .product-visual{border:0;background:transparent;border-radius:0;padding:0;margin:0;display:block}
.unified-panel .product-visual img{max-height:500px;border-radius:8px}
.unified-panel .quote-card{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;margin:0}
@media(max-width:800px){.product-hero.unified-panel{gap:28px;padding:24px;margin-bottom:36px}.unified-panel .quote-card{order:1}.unified-panel .product-visual{order:2;width:100%}.unified-panel .product-visual img{max-height:340px}}
@media(max-width:500px){.product-hero.unified-panel{padding:20px}.unified-panel .product-visual img{max-height:300px}}

/* Galeria compacta: fotos maiores e uma única moldura por miniatura. */
.product-gallery .gallery-grid{gap:18px}
.product-gallery .gallery-grid figure{padding:0;border:0;border-radius:0;background:transparent;text-align:left}
.product-gallery .gallery-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#f3f4f6;border:1px solid #e2e7ee;border-radius:10px;overflow:hidden}
.product-gallery .gallery-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:0;mix-blend-mode:multiply}
.product-gallery .gallery-grid figcaption{padding:10px 2px 0;font-size:12px;line-height:1.45;color:var(--muted)}
.product-gallery .gallery-photo:hover{border-color:#9baec9}
.product-gallery .gallery-photo:hover img{transform:scale(1.025)}
@media(max-width:600px){.product-gallery .gallery-grid{gap:16px}.product-gallery .gallery-grid figcaption{font-size:11px}}

/* Moldura uniforme e foto encaixada sem faixas laterais. */
.product-gallery .gallery-photo{
  aspect-ratio:575 / 600;
  padding:6px;
  border:1px solid #dce3ed;
  border-radius:12px;
  background:#f1f3f6;
}
.product-gallery .gallery-photo img{
  width:100%;height:100%;
  object-fit:contain;
  border-radius:7px;
  mix-blend-mode:normal;
}
.product-gallery .gallery-photo:hover img{transform:none}

/* Navegação da foto ampliada: limites visíveis, sem retorno automático. */
.photo-dialog{width:min(820px,96vw);padding:36px 18px 18px}
.photo-viewer{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px;align-items:center}
.photo-viewer img{min-width:0;max-width:100%;max-height:70vh;border-radius:8px}
.photo-arrow{display:grid;place-items:center;width:40px;height:44px;padding:0;border:1px solid var(--navy);border-radius:8px;background:var(--navy);color:#fff}
.photo-arrow:hover:not(:disabled){background:#123672}
.photo-arrow:disabled{background:#edf0f5;border-color:#dce3ed;color:#a7b1c0;cursor:default}
.photo-dialog>p{min-height:22px;font-size:13px}
@media(max-width:600px){.photo-dialog{padding:34px 10px 14px}.photo-viewer{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}.photo-arrow{width:32px;height:44px}.photo-viewer img{max-height:65vh}}

/* Categorias no celular: cards compactos, com o próximo produto à vista. */
@media(max-width:600px){
 .category-page .category-grid{
  display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;
  gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scroll-padding-inline:20px;margin-inline:-20px;padding:2px 20px 14px;
  -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
  scrollbar-width:thin;scrollbar-color:#aab6ca #eef1f6;
 }
 .category-page .category-card{min-width:0;scroll-snap-align:start;background:#fff}
 .category-page .category-card img{display:block;width:100%;height:190px;padding:16px;-webkit-user-drag:none}
 .category-page .category-card>div{padding:16px;justify-content:center}
 .category-page .category-card h2{font-size:17px;line-height:1.35;margin:0;min-height:69px;display:flex;align-items:center}
 .category-page .category-card h2 a{display:block;padding-block:8px}
 .category-page .category-card p,.category-page .category-card .btn{display:none}
 .category-page .category-card a:focus-visible{outline-offset:-4px}
}

@media(max-width:600px){
 .category-page .category-grid{scrollbar-width:thin;scrollbar-color:#8d9fbd #edf1f7;padding-bottom:14px}
 .category-page .category-grid::-webkit-scrollbar{height:5px}
 .category-page .category-grid::-webkit-scrollbar-track{background:#edf1f7;border-radius:10px}
 .category-page .category-grid::-webkit-scrollbar-thumb{background:#8d9fbd;border-radius:10px}
 .category-page .category-swipe-hint{position:static;margin-top:16px;min-height:36px}
}

/* Cards de categoria no celular com a moldura aprovada da galeria. */
@media(max-width:600px){
 .category-page .category-card{padding:6px;border:1px solid #dce3ed;border-radius:12px;background:#f1f3f6}
 .category-page .category-card>a{aspect-ratio:575 / 600;border-radius:7px;overflow:hidden;background:#f1f3f6}
 .category-page .category-card img{width:100%;height:100%;object-fit:contain;padding:0;border-radius:7px}
 .category-page .category-card>div{padding:14px 8px 8px;justify-content:flex-start;gap:12px}
 .category-page .category-card h2{font-size:17px;line-height:1.35;min-height:69px;margin:0}
 .category-page .category-card .btn{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:46px;padding:12px 8px;font-size:12px;line-height:1.3;border-radius:7px;margin-top:auto}
}

@media(max-width:600px){.category-page .category-title>.eyebrow{display:none}.category-page .category-title{margin:12px 0 24px}}

/* Cards e dica visíveis mais cedo em telas pequenas. */
@media(max-width:600px){
 .category-page .breadcrumb{padding-block:16px;margin-bottom:8px}
 .category-page .category-title{margin:8px 0 20px}
 .category-page .category-card>a{aspect-ratio:575 / 600;height:auto}
 .category-page .category-card>div{padding:14px 8px 8px;gap:12px}
 .category-page .category-card h2{font-size:17px;min-height:69px}
 .category-page .category-card h2 a{padding-block:8px}
 .category-page .category-card .btn{min-height:46px;padding:12px 8px}
 .category-page .category-swipe-hint{margin-top:10px}
}

/* Navegação compacta e confortável para toque. */
.product-wrap .breadcrumb{background:#080808;color:#fff;margin:0 -20px 22px;padding:4px 20px;font-size:14px;line-height:1.35}
.breadcrumb ol{align-items:center;gap:0 6px}
.breadcrumb li{display:flex;align-items:center;min-height:44px}
.breadcrumb li+li::before{content:"›";margin-right:6px;color:#aeb7c5}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:#fff;padding:6px 2px}
.breadcrumb-home{display:block;width:22px;height:22px}
.breadcrumb li[aria-current="page"]{color:#d4d9e1}
.breadcrumb a:focus-visible{outline-offset:-2px}
@media(max-width:600px){.product-wrap.category-page .breadcrumb,.product-wrap .breadcrumb{padding:4px 16px;margin-bottom:18px;font-size:14px}.breadcrumb ol{gap:0 5px}.breadcrumb li+li::before{margin-right:5px}.breadcrumb a{padding-inline:0}}

.product-lead-mobile{display:none}
@media(max-width:600px){
 .product-intro .product-lead-desktop{display:none}
 .product-intro .product-lead-mobile{display:inline}
 .product-intro .product-lead{font-size:15px;line-height:1.6;margin:16px 0 0}
 .product-intro .product-visual{display:block;width:100%;padding:6px;margin:18px 0 0;border:1px solid #dce3ed;border-radius:12px;background:#f1f3f6;overflow:hidden}
 .product-intro .product-visual img{display:block;width:100%;height:auto;aspect-ratio:575 / 430;max-height:none;object-fit:cover;border-radius:7px;mix-blend-mode:normal}
 .product-intro .product-visual span{display:none}
 .product-hero.unified-panel{margin-top:0}
}

.product-details h2.product-details-label{font-size:11px;line-height:1.5;letter-spacing:.15em;color:var(--muted);margin:0 0 16px}
.product-detail-list{margin:0;padding-left:20px;color:var(--muted);font-size:16px;line-height:1.7}
.product-detail-list li+li{margin-top:10px}
.product-detail-list li::marker{color:var(--navy)}

/* Benefícios curtos com marcadores claros e destaque comercial. */
.product-detail-list{list-style:none;padding:0;margin:0;font-size:15px;line-height:1.55}
.product-detail-list li{position:relative;padding:14px 0 14px 38px;border-bottom:1px solid #e5eaf1}
.product-detail-list li:first-child{padding-top:4px}
.product-detail-list li+li{margin-top:0}
.product-detail-list li:last-child{border-bottom:0}
.product-detail-list li::before{content:"✓";position:absolute;left:0;top:14px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9eef8;color:var(--navy);font-size:15px;font-weight:700;line-height:1}
.product-detail-list li:first-child::before{top:4px}
.product-detail-list strong{color:var(--navy);font-weight:700}

.gallery-mobile-title,.gallery-tap-hint{display:none}
@media(max-width:600px){
 .product-gallery>.eyebrow,.product-gallery .gallery-desktop-title,.product-gallery .gallery-hint,.product-gallery .gallery-grid figcaption{display:none}
 .product-gallery .gallery-mobile-title{display:inline}
 .product-gallery h2{font-size:25px;margin-bottom:20px}
 .product-gallery .gallery-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin-inline:-20px;padding:0 20px 14px;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#8d9fbd #edf1f7}
 .product-gallery .gallery-grid figure{min-width:0;margin:0;scroll-snap-align:start}
 .product-gallery .gallery-photo{position:relative}
 .gallery-tap-hint{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#ffffffed;box-shadow:0 3px 14px #061c5026;color:var(--navy);pointer-events:none;transition:opacity .3s ease}
 .gallery-tap-hint svg{width:36px;height:36px;animation:gallery-tap 1.6s ease-in-out infinite}
 .gallery-tap-hint.is-hidden{opacity:0;visibility:hidden}
}
@keyframes gallery-tap{0%,100%{transform:scale(1) translateY(0)}45%{transform:scale(.87) translateY(3px)}65%{transform:scale(1) translateY(0)}}
@media(prefers-reduced-motion:reduce){.gallery-tap-hint svg{animation:none}}

/* Escala tipográfica móvel compartilhada pelas páginas internas. */
@media(max-width:600px){
 .product-intro .product-lead,.product-lead,.product-details p,.product-detail-list,.specifications dd,.quote-intro,.product-budget>div>p{font-size:18px;line-height:1.65}
 .product-detail-list li{padding-left:38px}
 .product-intro .eyebrow,.eyebrow,.product-details h2.product-details-label,.quote-card .eyebrow{font-size:13px;line-height:1.5}
 .quote-card h2{font-size:27px;line-height:1.25}
 .quote-fields input,.quote-fields select,.quote-fields textarea{font-size:16px;line-height:1.5}
 .quote-fields input,.quote-fields select{height:50px}
 .quote-fields textarea{min-height:120px}
 .quote-fields{gap:14px}
 .quote-submit,.product-cta{font-size:15px;line-height:1.4;min-height:50px}
 .quote-notice,.quote-status,.product-budget .budget-note{font-size:14px;line-height:1.6}
 .specifications h2{font-size:24px}
 .specifications dt{font-size:16px;line-height:1.5}
 .category-page .category-card h2{font-size:19px;line-height:1.4;min-height:80px}
 .category-page .category-card .btn{font-size:14px;min-height:48px;padding:12px 8px}
 .product-gallery h2{font-size:27px}
 .product-wrap .breadcrumb,.product-wrap.category-page .breadcrumb{font-size:15px}
 .product-budget h2{font-size:28px;line-height:1.25}
 .resale-note,.minimum{font-size:15px;line-height:1.5}
}

/* Estado do formulário conectado ao serviço de envio. */
.quote-submit:disabled{opacity:.55;cursor:not-allowed}
.quote-security{margin-top:18px;min-width:0;max-width:100%}
.quote-security:empty{display:none}
.quote-notice a{color:var(--navy);text-decoration:underline;overflow-wrap:anywhere}
.quote-status-success{background:#eaf5ed;color:#195c32}
