@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#008c45;--green-dark:#063826;--black:#171a18;--gray:#666f6a;--cream:#f6f7f4;--line:#e5e9e4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--black);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',Arial,sans-serif}h1,h2{letter-spacing:-.06em}h1 em,h2 em{font-style:normal;color:var(--green)}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;left:15px;top:-100px;background:#fff;padding:12px;z-index:50}.skip-link:focus{top:10px}.notice-bar{height:34px;background:var(--green-dark);color:#dfefe5;font-weight:700;letter-spacing:.16em;font-size:9px;display:flex;align-items:center;justify-content:center;gap:11px}.notice-dot{height:6px;width:6px;background:#80c7a0;border-radius:50%}.notice-separator{opacity:.35;padding:0 10px}.site-header{background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #f0f1ef}.header-inner{height:91px;display:flex;align-items:center;gap:40px}.brand{width:205px;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.desktop-nav{display:flex;gap:34px;margin-left:auto;align-items:center}.desktop-nav a{font-size:13px;font-weight:700;color:#353f38;transition:color .2s}.desktop-nav a:hover{color:var(--green)}.header-cta{background:var(--green);color:white;padding:15px 21px;font-size:12px;font-weight:800;white-space:nowrap;display:flex;gap:22px;align-items:center;transition:background .2s}.header-cta:hover,.button-primary:hover{background:#08763d}.menu-toggle{display:none;cursor:pointer;border:0;background:transparent;padding:10px;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:23px;height:2px;background:#151a17}.mobile-nav{background:#fff;border-top:1px solid #eee;padding:16px 24px 24px;display:flex;flex-direction:column;gap:15px}.mobile-nav[hidden]{display:none}.mobile-nav a{font-weight:700;font-size:14px}.mobile-nav-cta{background:var(--green);color:#fff;padding:14px;text-align:center}.hero{padding:72px 0 80px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--green);display:flex;align-items:center;gap:12px}.eyebrow-line{display:block;width:22px;height:2px;background:var(--green)}h1{font-size:clamp(47px,5vw,77px);line-height:1.12;font-weight:800;margin:28px 0 28px;max-width:660px}h1 em{white-space:nowrap}.hero-copy>p{color:var(--gray);font-size:16px;line-height:1.85;max-width:455px;margin-bottom:35px}.hero-actions{display:flex;align-items:center;gap:28px}.button{font-size:13px;font-weight:800;min-height:54px;padding:17px 22px;display:inline-flex;align-items:center;justify-content:center;gap:28px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:white}.button-light,.button-white{background:white;color:var(--black)}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid #a9b3ac;padding-bottom:5px;display:inline-flex;gap:18px}.text-link:hover{color:var(--green)}.hero-bottom{display:flex;align-items:center;gap:15px;color:#777f79;font-size:11px;font-weight:600;margin-top:85px}.small-accent{width:9px;height:9px;background:var(--green)}.vertical-rule{width:1px;height:14px;background:#cfd6cf}.hero-visual{position:relative;padding:0 0 37px 0}.hero-picture{height:565px;position:relative;overflow:hidden;background:#ecede5}.hero-picture img{width:100%;height:100%;object-fit:cover;display:block}.hero-picture:after{position:absolute;content:'';inset:0;border:1px solid rgba(0,0,0,.03)}.hero-art{width:100%;height:100%;background:linear-gradient(135deg,#e5dfd1 0%,#d5c3a8 38%,#94816b 100%);position:relative;overflow:hidden}.hero-art:before{content:'';position:absolute;width:150%;height:65%;left:-20%;top:-35%;transform:rotate(-16deg);border-bottom:18px solid rgba(255,255,255,.22);box-shadow:0 42px 0 rgba(52,40,27,.13)}.wood-beams{position:absolute;width:90%;left:10%;bottom:5%;height:70%;transform:skewY(-12deg)}.wood-beams i{height:11.7%;display:block;margin:1% 0;background:linear-gradient(180deg,#785a3c,#ba9068 22%,#936d49 57%,#765032 80%,#67462f);box-shadow:0 9px 8px #44322155;border:1px solid #ae8965}.wood-beams i:nth-child(even){margin-left:8%;width:90%}.art-letter{position:absolute;right:26px;top:23px;font-size:70px;line-height:1;font-weight:800;color:#ffffff23;letter-spacing:-.12em}.art-letter span{color:#127a4b99}.hero-floating-label{position:absolute;bottom:4px;left:-34px;background:var(--green-dark);color:#fff;padding:28px 32px;width:255px;min-height:157px;display:flex;flex-direction:column;gap:10px}.label-overline{font-size:9px;letter-spacing:.18em;color:#9cd7b7}.hero-floating-label strong{font-size:21px;line-height:1.3;letter-spacing:-.035em}.label-arrow{position:absolute;right:24px;bottom:23px;font-size:25px}.hero-index{position:absolute;right:0;bottom:8px;font-size:13px;font-weight:800;letter-spacing:.08em}.hero-index span{color:#adb6ae}.intro-line{border-block:1px solid var(--line);background:#fafbf9}.intro-inner{display:flex;justify-content:space-between;gap:20px;padding-block:23px;font-size:10px;letter-spacing:.17em;font-weight:800;color:#67736b}.intro-inner span:nth-child(2){color:var(--green)}.section{padding:112px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:47px}.section-kicker span{color:#a4b3a9}.section-heading h2,.delivery h2{font-size:clamp(38px,4vw,57px);line-height:1.2;margin:23px 0 0}.section-heading>p{max-width:330px;font-size:15px;line-height:1.8;color:var(--gray);margin-bottom:5px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{border:1px solid var(--line);transition:transform .2s,box-shadow .2s;background:white}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px #102b1820}.card-image{height:245px;position:relative;overflow:hidden;background:#eef0ea}.card-image img{width:100%;height:100%;object-fit:cover;display:block}.card-door .card-image img{object-fit:contain;background:#f6f2ea}.card-hardware .card-image img{object-position:center}.card-roof .card-image img{object-position:center}.card-wood .card-image img{object-position:center}.art-number{position:absolute;top:16px;left:18px;color:#ffffffdb;font-size:11px;font-weight:700;letter-spacing:.12em}.art-wood{background:linear-gradient(160deg,#a5a495,#a77c52 70%,#544837)}.stack{position:absolute;left:11%;width:95%;height:30%;transform:rotate(-10deg) skewX(10deg)}.stack-a{top:35%}.stack-b{top:65%;left:-5%}.stack i{display:block;height:17%;background:#d2b18b;border:1px solid #a77a4c;margin-bottom:1px;box-shadow:8px 6px 6px #3e302655}.stack i:nth-child(even){background:#bd9467}.art-door{background:linear-gradient(140deg,#c6c6ba,#e4e2d9)}.door-frame{width:58%;height:105%;position:absolute;top:11%;left:24%;border:12px solid #b68f64;box-shadow:10px 8px 0 #7063543d}.door-panel{height:100%;background:linear-gradient(100deg,#6a4f39,#977654 25%,#73553c 80%);padding:15px;position:relative}.door-panel i{display:block;border:2px solid #ba9977;box-shadow:0 0 0 2px #4a392b;height:26%;margin:5px 0}.door-panel b{position:absolute;right:6%;top:51%;width:6px;height:6px;border-radius:50%;background:#e8d1a6}.art-roof{background:linear-gradient(145deg,#e4d5c3 0%,#bdb5a8 100%)}.roof{width:110%;height:70%;position:absolute;bottom:-15%;left:-12%;transform:rotate(-26deg)}.roof i{display:block;width:150%;height:25%;background:repeating-linear-gradient(90deg,#9d4736 0 36px,#b65b47 37px 62px,#a44f3c 63px 75px);border-bottom:9px solid #713429;box-shadow:0 7px 4px #4d392850;border-radius:6px 6px 2px 2px}.art-hardware{background:linear-gradient(145deg,#dfe4de,#899588)}.hardware-ring{position:absolute;width:155px;height:155px;border-radius:50%;border:23px solid #64736b;top:22%;left:25%;box-shadow:15px 13px 8px #45534644;display:flex;align-items:center;justify-content:center}.hardware-ring span{font-size:60px;color:#65736b}.hardware-bar{position:absolute;bottom:14%;left:35%;width:64%;height:16px;background:linear-gradient(#adbcb5,#576962);transform:rotate(-31deg);box-shadow:0 7px 7px #45534644}.card-body{display:flex;justify-content:space-between;align-items:end;gap:6px;padding:22px 17px 22px 21px;min-height:190px}.card-tag{color:var(--green);letter-spacing:.14em;font-size:9px;font-weight:800}.card-body h3{font-size:20px;line-height:1.25;letter-spacing:-.045em;margin:10px 0}.card-body p{font-size:12px;line-height:1.6;color:#6d746e;margin:0;max-width:205px}.card-arrow{flex-shrink:0;background:#f1f5f0;color:var(--green);height:34px;width:34px;display:grid;place-items:center;font-size:20px;transition:background .2s}.card-arrow:hover{background:#dcebe1}.catalog-foot{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:36px;font-size:13px;color:#636a64}.dark-feature{background:#0c251a;color:white;padding:115px 0}.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:120px}.section-kicker.light{color:#a6cdb7}.feature-left h2{font-size:clamp(38px,4vw,57px);line-height:1.23;margin:29px 0}.feature-left h2 em{color:#b6dec7}.feature-left>p{color:#c2d1c8;font-size:15px;line-height:1.85;max-width:540px;margin-bottom:32px}.feature-list{border-top:1px solid #ffffff29}.feature-list>div{border-bottom:1px solid #ffffff29;padding:24px 0 23px;display:grid;grid-template-columns:45px 1fr;column-gap:15px}.feature-list span{grid-row:span 2;color:#a6cdb7;font-size:12px;font-weight:800;padding-top:4px}.feature-list h3{font-size:18px;letter-spacing:-.035em;margin-bottom:7px}.feature-list p{font-size:13px;color:#9fb5aa;margin:0;line-height:1.6}.delivery{padding:110px 0}.delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.delivery-art{height:435px;background:#f0f3ed;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.delivery-art:before,.delivery-art:after{content:'';position:absolute;border:1px solid #d7e1d5;border-radius:50%;width:520px;height:520px}.delivery-art:after{width:330px;height:330px}.delivery-art svg{width:100%;position:relative;z-index:1;filter:drop-shadow(0 23px 17px #0e302625)}.delivery-art>span{position:absolute;bottom:22px;left:22px;font-size:10px;letter-spacing:.14em;font-weight:800;color:#668777}.delivery-content h2{margin:25px 0}.delivery-content p{color:var(--gray);font-size:15px;line-height:1.85;margin-bottom:25px;max-width:460px}.delivery-content small{display:block;color:#939b96;font-size:11px;margin-top:18px}.final-cta{background:#007b3e;color:white;padding:88px 0 94px}.final-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:end;margin-top:18px}.final-grid h2{font-size:clamp(41px,4.6vw,67px);line-height:1.2;margin:0}.final-grid h2 em{color:#d7f7e2}.final-right p{color:#e5f8ed;line-height:1.75;font-size:15px;margin-bottom:24px;max-width:350px}.final-right .button{gap:23px}.phone-label{margin-top:20px;font-weight:700;font-size:13px;letter-spacing:.04em}.footer{background:#fff}.footer-main{padding:60px 0 56px;display:grid;grid-template-columns:2fr 1fr 1.1fr;gap:60px}.footer-brand img{width:190px;height:auto;margin-bottom:20px}.footer-main p{color:#8a918b;font-size:13px;line-height:1.75;max-width:290px}.footer-nav,.footer-contact{display:flex;flex-direction:column;gap:13px;font-size:13px}.footer-nav strong,.footer-contact strong{font-size:10px;letter-spacing:.14em;color:var(--green);margin-bottom:5px}.footer-nav a{color:#535a54}.footer-contact>a{font-size:20px;font-weight:800;letter-spacing:-.04em}.footer-contact span{font-size:12px;color:#7b827d}.footer-bottom{padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:#8a928b}.green-star{color:var(--green);font-size:17px}.floating-whatsapp{position:fixed;bottom:25px;right:25px;background:#008c45;color:white;z-index:30;display:flex;align-items:center;gap:10px;padding:14px 19px;font-size:13px;font-weight:800;box-shadow:0 10px 36px #08361e49;border-radius:30px;transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-3px)}:focus-visible{outline:3px solid #008c45;outline-offset:4px}
@media(max-width:1100px){.container{width:min(100% - 54px,1240px)}.desktop-nav{gap:18px}.hero-grid{gap:35px}.hero-picture{height:465px}.hero-bottom{margin-top:55px}.product-grid{grid-template-columns:repeat(2,1fr)}.card-image{height:265px}.feature-grid{gap:50px}.delivery-grid{gap:50px}}@media(max-width:760px){.container{width:calc(100% - 38px)}.notice-bar{font-size:7px;letter-spacing:.08em;padding:0 10px}.notice-separator{padding:0}.site-header .header-inner{height:70px}.brand{width:155px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;margin-left:auto}.hero{padding:48px 0 55px}.hero-grid,.delivery-grid,.feature-grid,.final-grid{grid-template-columns:1fr}.hero-grid{gap:35px}h1{font-size:clamp(40px,10vw,61px);margin:20px 0}.hero-copy>p{font-size:15px}.hero-bottom{margin-top:34px;font-size:10px;gap:9px}.hero-visual{margin-left:20px}.hero-picture{height:390px}.hero-floating-label{left:-20px;width:220px;min-height:125px;padding:20px}.hero-floating-label strong{font-size:18px}.hero-index{bottom:0}.intro-inner{font-size:8px}.section{padding:74px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.delivery h2{font-size:clamp(35px,8vw,47px)}.section-heading>p{margin-top:20px;font-size:14px}.product-grid{gap:12px}.card-image{height:200px}.card-body{padding:16px 12px;min-height:180px}.card-body h3{font-size:17px}.card-body p{font-size:11px}.card-arrow{width:29px;height:29px}.dark-feature{padding:78px 0}.feature-grid{gap:35px}.feature-left h2{font-size:38px}.delivery{padding:70px 0}.delivery-art{height:310px}.final-cta{padding:68px 0}.final-grid{gap:22px}.final-grid h2{font-size:40px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-contact>a{font-size:16px}.footer-bottom{flex-direction:column;gap:10px}.floating-whatsapp{bottom:17px;right:15px;padding:13px}.floating-whatsapp span{display:none}}@media(max-width:425px){.hero-actions{gap:16px}.hero-actions .button{font-size:11px;gap:8px;padding-inline:14px}.hero-actions .text-link{font-size:11px;gap:7px}.hero-picture{height:330px}.hero-bottom span:last-child{display:none}.hero-bottom .vertical-rule{display:none}.product-grid{grid-template-columns:1fr}.card-image{height:235px}.card-body{min-height:145px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Cards adicionais do catálogo: espaços reservados sem precisar de novos assets. */
.product-card-placeholder .card-image-placeholder{background:linear-gradient(145deg,#f4f6f2,#e0e9e2);display:flex;align-items:center;justify-content:center}
.product-card-placeholder .placeholder-picture{display:grid;place-items:center;width:70px;height:70px;border:1px solid #b8cfbe;border-radius:50%;color:#008c45;font-size:35px;font-weight:300}
.product-card-placeholder .art-number{color:#527963}

.delivery-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: relative;
    z-index: 1;
}

.delivery-art > span {
    z-index: 2;
}

/* Etapa 49: categorias clicáveis e listagem dinâmica de produtos. */
#catalogo-categorias[hidden], #catalogo-resultados[hidden],
#catalogo-subcategorias[hidden] { display: none !important; }
#catalogo-categorias > .product-card { display: block; color: inherit; cursor: pointer; }
#catalogo-categorias > .product-card:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.catalog-results { padding: 4px 0 8px; }
.catalog-results-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.catalog-back { font-size: 13px; font-weight: 800; color: var(--green-dark); padding: 10px 0; }
.catalog-back:hover { color: var(--green); text-decoration: underline; }
.catalog-results-kicker { font-size: 10px; font-weight: 800; color: var(--green); letter-spacing: .15em; }
.catalog-results-title { color: var(--green-dark); font-size: clamp(30px, 4vw, 48px); letter-spacing: -.05em; margin: 22px 0 8px; }
.catalog-results-description { color: var(--gray); line-height: 1.7; font-size: 14px; margin-bottom: 20px; }
.catalog-status { color: #4c6154; line-height: 1.65; font-size: 14px; }
.catalog-status:empty { display: none; }
.catalog-status[data-error="true"] { background: #fff3f1; border-left: 3px solid #b42318; padding: 13px 16px; color: #8c241d; }
.catalog-subcategories { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 24px; }
.catalog-filter { background: #f1f5f0; border: 1px solid #dbe5db; color: #294e37; padding: 9px 14px; border-radius: 24px; font-size: 12px; font-weight: 800; cursor: pointer; }
.catalog-filter:hover { background: #e2efe5; }
.catalog-filter[aria-pressed="true"] { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.catalog-products { margin-top: 16px; }
.catalog-product-card .card-image { display: flex; align-items: center; justify-content: center; }
.catalog-product-card .card-image img { width: 100%; height: 100%; object-fit: contain; background: #f7f8f5; }
.catalog-product-card .card-image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #7c8e80; }
.catalog-product-card .card-body { display: block; min-height: 190px; }
.catalog-product-card .card-body h3 { overflow-wrap: anywhere; }
.catalog-product-card .card-body p { max-width: none; overflow-wrap: anywhere; }
.catalog-product-meta { margin-top: 12px; font-size: 11px; color: #617165; line-height: 1.5; }
.catalog-product-cta { display: inline-flex; margin-top: 16px; background: var(--green); color: white; font-size: 12px; font-weight: 800; padding: 12px 15px; align-items: center; gap: 9px; }
.catalog-product-cta:hover { background: #08763d; }
@media (max-width:760px) { .catalog-results-top { align-items: flex-start; } .catalog-results-title { margin-top: 16px; } }

/* Etapa 50: página de detalhes do produto, dentro do catálogo. */
#catalogo-detalhe[hidden], #catalogo-produtos[hidden], .catalog-detail-thumb[hidden] { display: none !important; }
.catalog-card-image-link { display: block; }
.catalog-card-image-link:focus-visible, .catalog-product-name-link:focus-visible,
.catalog-product-details-link:focus-visible, .catalog-detail-back:focus-visible,
.catalog-detail-thumb:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.catalog-product-name-link:hover h3 { color: var(--green); }
.catalog-product-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.catalog-card-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.catalog-card-actions .catalog-product-cta { margin-top: 0; }
.catalog-product-details-link { font-size: 12px; font-weight: 800; color: var(--green-dark); text-decoration: underline; text-underline-offset: 4px; }
.catalog-product-details-link:hover { color: var(--green); }
.catalog-detail { margin-top: 10px; }
.catalog-detail-back { display: inline-flex; font-size: 13px; font-weight: 800; color: var(--green-dark); padding: 10px 0 24px; }
.catalog-detail-back:hover { color: var(--green); text-decoration: underline; }
.catalog-detail-layout { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr); gap: clamp(25px, 5vw, 75px); align-items: start; }
.catalog-detail-main-image { height: clamp(300px, 40vw, 515px); background: #f5f7f3; border: 1px solid var(--line); display: grid; place-items: center; overflow: hidden; }
.catalog-detail-main-image img { width: 100%; height: 100%; object-fit: contain; }
.catalog-detail-main-image .card-image-placeholder { color: #6e8274; font-size: 14px; font-weight: 700; }
.catalog-detail-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 10px; margin-top: 12px; }
.catalog-detail-thumb { height: 84px; border: 2px solid #e0e8df; padding: 3px; background: #f7f8f5; cursor: pointer; overflow: hidden; }
.catalog-detail-thumb[aria-pressed="true"] { border-color: var(--green); }
.catalog-detail-thumb:hover { border-color: #4a996e; }
.catalog-detail-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.catalog-detail-info { padding-top: 10px; min-width: 0; }
.catalog-detail-name { font-family: Manrope, 'DM Sans', Arial, sans-serif; font-size: clamp(29px, 3.5vw, 46px); line-height: 1.2; letter-spacing: -.045em; color: var(--green-dark); overflow-wrap: anywhere; margin: 16px 0 26px; }
.catalog-detail-meta { border-block: 1px solid var(--line); margin: 0 0 27px; padding: 11px 0; }
.catalog-detail-meta-row { display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 12px; padding: 10px 0; font-size: 13px; line-height: 1.6; }
.catalog-detail-meta dt { font-weight: 800; color: #52675a; }
.catalog-detail-meta dd { margin: 0; color: #283b2f; overflow-wrap: anywhere; }
.catalog-detail-subheading { font-family: Manrope, 'DM Sans', Arial, sans-serif; font-size: 18px; margin: 0 0 12px; }
.catalog-detail-description { color: #53635a; line-height: 1.9; font-size: 15px; white-space: pre-line; overflow-wrap: anywhere; }
.catalog-detail-cta { display: inline-flex; justify-content: center; align-items: center; text-align: center; gap: 14px; background: var(--green); color: #fff; padding: 17px 22px; font-size: 13px; font-weight: 800; margin-top: 16px; }
.catalog-detail-cta:hover { background: #08763d; }
.catalog-detail-note { color: #748278; font-size: 12px; line-height: 1.6; margin-top: 15px; }
@media (max-width: 760px) {
  .catalog-detail-layout { grid-template-columns: 1fr; gap: 25px; }
  .catalog-detail-main-image { height: min(82vw, 420px); }
  .catalog-detail-name { margin-bottom: 18px; }
  .catalog-detail-cta { width: 100%; }
}
@media (max-width: 425px) {
  .catalog-detail-meta-row { grid-template-columns: 95px minmax(0, 1fr); gap: 8px; }
  .catalog-detail-thumbnails { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


/* Etapa 51: busca geral de produtos. */
.catalog-search { margin: 0 0 32px; padding: 24px 28px; background: #f4f7f3; border: 1px solid #e0e9df; }
.catalog-search label { display: block; font-size: 15px; font-weight: 800; color: var(--green-dark); margin-bottom: 13px; }
.catalog-search-controls { display: flex; gap: 10px; }
.catalog-search-controls input { flex: 1; min-width: 0; border: 1px solid #cddbd0; border-radius: 0; background: #fff; padding: 15px 16px; color: var(--black); font: inherit; font-size: 14px; }
.catalog-search-controls input:focus-visible { outline: 3px solid #6ebd90; outline-offset: 1px; }
.catalog-search-controls button { border: 0; background: var(--green); color: white; font-size: 13px; font-weight: 800; padding: 14px 20px; cursor: pointer; white-space: nowrap; }
.catalog-search-controls button:hover { background: #08763d; }
.catalog-search-controls button:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 3px; }
.catalog-search > p { font-size: 12px; color: #617165; margin: 12px 0 0; line-height: 1.5; }
@media (max-width: 760px) { .catalog-search { padding: 20px 16px; } .catalog-search-controls { flex-direction: column; } .catalog-search-controls button { min-height: 46px; } }


/* Etapa 52 — responsividade e usabilidade em telas menores. */
/* Evita que conteúdos extensos forcem rolagem horizontal. */
html, body { max-width: 100%; }
body { overflow-x: clip; }
img, svg { max-width: 100%; }
.hero-copy, .hero-visual, .feature-left, .delivery-content, .final-right,
.footer-main > div, .catalog-product-card { min-width: 0; }
.catalog-detail-description, .catalog-results-description, .catalog-product-meta,
.final-right p, .feature-left p { overflow-wrap: anywhere; }

/* Navegação passa a ser compacta antes de faltar espaço no cabeçalho. */
@media (max-width: 1020px) {
  .site-header .header-inner { height: 76px; }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: flex; margin-left: auto; min-width: 44px; min-height: 44px;
    align-items: center; justify-content: center; }
  .mobile-nav { max-height: calc(100dvh - 76px); overflow-y: auto; }
  .mobile-nav a { display: flex; align-items: center; min-height: 44px; }
  .mobile-nav-cta { justify-content: center; }
}
@media (max-width: 760px) {
  .site-header .header-inner { height: 70px; }
  .mobile-nav { max-height: calc(100dvh - 70px); }
  .hero h1 em { white-space: normal; }
  .hero-grid, .feature-grid, .delivery-grid, .final-grid { min-width: 0; }
  .hero-actions { flex-wrap: wrap; }
  .hero-bottom { flex-wrap: wrap; }
  .hero-visual { margin-left: 0; padding-bottom: 26px; }
  .hero-floating-label { left: 0; bottom: 0; }
  .hero-picture { height: clamp(270px, 75vw, 390px); }
  .intro-inner { flex-wrap: wrap; line-height: 1.5; }
  .catalog-filter { min-height: 44px; }
  .catalog-back, .catalog-detail-back { display: inline-flex; align-items: center; min-height: 44px; }
  .catalog-product-cta, .catalog-product-details-link { min-height: 44px; display: inline-flex; align-items: center; }
  .catalog-card-actions { gap: 8px 14px; }
  .catalog-detail-thumb { min-height: 64px; }
  .catalog-detail-meta-row { overflow-wrap: anywhere; }
  .catalog-search-controls input { min-height: 48px; font-size: 16px; }
  .catalog-search-controls button { min-height: 48px; }
  .floating-whatsapp { width: 52px; height: 52px; padding: 12px; justify-content: center; }
}
@media (max-width: 600px) {
  .product-grid { grid-template-columns: 1fr; }
  .card-image { height: clamp(210px, 60vw, 300px); }
  .card-body { min-height: 0; padding: 20px; }
  .card-body h3 { font-size: 19px; }
  .card-body p { font-size: 13px; max-width: none; }
  .catalog-product-card .card-body { min-height: 0; }
  .catalog-product-cta { justify-content: center; }
  .catalog-search { margin-bottom: 25px; }
  .catalog-foot { flex-wrap: wrap; text-align: center; gap: 10px 16px; }
  .final-grid h2, .feature-left h2 { font-size: clamp(32px, 8.5vw, 40px); }
}
@media (max-width: 390px) {
  .container { width: calc(100% - 30px); }
  .notice-bar { font-size: 7px; letter-spacing: 0; gap: 6px; }
  .notice-separator { padding: 0; }
  .hero h1 { font-size: clamp(34px, 10vw, 40px); }
  .hero-actions { align-items: stretch; gap: 14px; }
  .hero-actions .button { min-height: 48px; }
  .hero-bottom { margin-top: 25px; }
  .catalog-detail-name { font-size: 29px; }
  .catalog-detail-meta-row { grid-template-columns: 90px minmax(0,1fr); }
  .catalog-detail-thumbnails { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .catalog-search { padding: 18px 12px; }
}
@media (hover: none) {
  .product-card:hover, .button:hover, .floating-whatsapp:hover { transform: none; }
}


/* Etapa 53 — acabamento visual e estados do catálogo. */
.catalog-search {
  border-radius: 12px;
  background: linear-gradient(130deg, #f4f8f4 0%, #edf5ee 100%);
  box-shadow: 0 8px 28px rgba(6, 56, 38, .035);
}
.catalog-search-controls input { border-radius: 6px; }
.catalog-search-controls button[type="submit"] { border-radius: 6px; transition: background .2s, transform .2s; }
.catalog-search-controls button[type="submit"]:hover { transform: translateY(-1px); }
.catalog-search-controls .catalog-search-clear {
  background: transparent; color: var(--green-dark); border: 1px solid #b6cdbb;
  border-radius: 6px; font-weight: 800; font-size: 12px; padding: 12px 16px;
  cursor: pointer; white-space: nowrap;
}
.catalog-search-clear:hover { background: #e0ebe2; }
.catalog-search-clear:focus-visible { outline: 3px solid #4f9c6e; outline-offset: 2px; }
.catalog-search-clear[hidden] { display: none !important; }
.catalog-results { border-top: 1px solid var(--line); padding-top: 26px; }
.catalog-results-title { line-height: 1.2; }
.catalog-results-kicker { background: #edf6ee; padding: 8px 11px; border-radius: 4px; }
.catalog-filter { transition: background .18s, color .18s, border-color .18s; }
.catalog-filter:focus-visible { outline: 3px solid #59a476; outline-offset: 3px; }
.catalog-filter[aria-pressed="true"] { box-shadow: 0 3px 10px rgba(6, 56, 38, .14); }
.catalog-product-card { display: flex; flex-direction: column; border-radius: 8px; overflow: hidden; }
.catalog-product-card .card-image { background: #f5f7f3; }
.catalog-product-card .card-body { display: flex; flex-direction: column; align-items: stretch; flex: 1; padding: 20px; }
.catalog-product-card .card-body .card-tag { line-height: 1.4; }
.catalog-product-card .catalog-card-actions { margin-top: auto; padding-top: 18px; }
.catalog-product-card .catalog-product-meta { margin-top: 9px; }
.catalog-product-card .catalog-product-cta { border-radius: 4px; text-align: center; }
.catalog-product-card .catalog-product-details-link { text-decoration-thickness: 1px; }
.catalog-detail-main-image { border-radius: 9px; }
.catalog-detail-thumb { border-radius: 5px; transition: border-color .18s; }
.catalog-detail-cta { border-radius: 5px; box-shadow: 0 8px 20px rgba(0, 140, 69, .15); }
.catalog-detail-cta:focus-visible, .catalog-product-cta:focus-visible,
.catalog-back:focus-visible { outline: 3px solid #4f9c6e; outline-offset: 3px; }
.catalog-empty { grid-column: 1 / -1; padding: clamp(28px, 5vw, 55px) 22px;
  background: #f8faf7; border: 1px solid #e0e9df; border-radius: 10px; text-align: center; }
.catalog-empty-icon { display: grid; place-items: center; width: 56px; height: 56px;
  border-radius: 50%; margin: 0 auto 18px; background: #e5f1e7; color: var(--green-dark);
  font-size: 30px; font-weight: 800; }
.catalog-empty h4 { color: var(--green-dark); font: 800 23px/1.3 Manrope, sans-serif; margin: 0 0 10px; }
.catalog-empty p { color: #596c60; line-height: 1.7; font-size: 14px; max-width: 510px; margin: 0 auto 22px; }
.catalog-empty-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px; }
.catalog-empty-back { color: var(--green-dark); font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; padding: 12px; }
.catalog-empty-divider { color: #7d9082; font-size: 12px; }
.catalog-empty-whatsapp { display: inline-flex; padding: 13px 17px; background: var(--green); color: white;
  border-radius: 5px; font-size: 13px; font-weight: 800; }
.catalog-empty-whatsapp:hover { background: #08763d; }
.catalog-empty-back:focus-visible, .catalog-empty-whatsapp:focus-visible { outline: 3px solid #4f9c6e; outline-offset: 3px; }
.catalog-skeleton { min-width: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; padding-bottom: 24px; }
.catalog-skeleton-photo { height: 245px; background: #eaf0e9; margin-bottom: 24px; }
.catalog-skeleton-line { height: 14px; border-radius: 5px; margin: 12px 20px; background: #e7eee6; }
.catalog-skeleton-line-short { width: 35%; height: 10px; }
.catalog-skeleton-line-medium { width: 63%; }
.catalog-skeleton-photo, .catalog-skeleton-line {
  background-image: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.65) 45%, transparent 90%);
  background-size: 220% 100%; background-color: #e7eee6;
  animation: madeforte-loading 1.4s ease-in-out infinite;
}
@keyframes madeforte-loading { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (max-width: 760px) {
  .catalog-search-controls .catalog-search-clear { min-height: 44px; }
  .catalog-empty-actions { flex-direction: column; }
  .catalog-empty-divider { display: none; }
  .catalog-empty-whatsapp { width: min(100%, 290px); justify-content: center; }
}
@media (max-width: 600px) { .catalog-skeleton-photo { height: clamp(210px, 60vw, 300px); } }
@media (prefers-reduced-motion: reduce) {
  .catalog-skeleton-photo, .catalog-skeleton-line { animation: none; }
  .catalog-search-controls button[type="submit"] { transition: none; }
}
/* MADEFORTE — Ajuste das imagens nos detalhes dos produtos */

.catalog-detail-main-image {
    width: 100%;
    height: 450px;
    padding: 20px;
    background-color: #f7f8f6;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    box-sizing: border-box;
}

.catalog-detail-main-image img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;
}

/* Ajuste para celulares */
@media (max-width: 768px) {
    .catalog-detail-main-image {
        height: 350px;
        padding: 15px;
    }
}
/* MADEFORTE — Ajuste das imagens nos detalhes dos produtos */

.catalog-detail-main-image {
    width: 100%;
    height: 450px;
    padding: 20px;
    background-color: #f7f8f6;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    box-sizing: border-box;
}

.catalog-detail-main-image img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;
}

/* Ajuste para celulares */
@media (max-width: 768px) {
    .catalog-detail-main-image {
        height: 350px;
        padding: 15px;
    }
}
[hidden] { display: none !important; }
.catalog-related { margin-top: 48px; padding-top: 32px; border-top: 1px solid #dce4dd; }
.catalog-related h4 { font-size: clamp(24px, 4vw, 32px); color: #174d32; margin: 0 0 10px; }
.catalog-related-intro { color: #59645c; margin-bottom: 24px; }
.catalog-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.store-visit { background: #f3f5ef; }
.store-visit h2 { font-size: clamp(28px, 4vw, 42px); margin: 12px 0 32px; color: #174d32; }
.store-visit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.store-visit-grid h3 { margin: 0 0 14px; color: #174d32; }
[data-loja-endereco], [data-loja-horarios] { white-space: pre-line; overflow-wrap: anywhere; font-style: normal; line-height: 1.8; }
.store-visit address { margin-bottom: 22px; }
.store-visit p { margin-top: 0; }
.footer-contact [data-loja-endereco], .footer-contact [data-loja-horarios] { font-size: 13px; }
@media (max-width: 900px) { .catalog-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .catalog-related-grid, .store-visit-grid { grid-template-columns: 1fr; } }
