/* Eletro Hoffmann — base visual única. */
:root{--ink:#182b36;--muted:#5c6b73;--navy:#152832;--accent:#f18443;--line:#e0e6e7;--paper:#f5f7f6;--white:#fff;--radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--white);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(38px,4.8vw,64px)}h2{font-size:clamp(30px,3vw,40px)}h3{font-size:23px}p{color:var(--muted)}[hidden],.hidden{display:none!important}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:14px 22px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#142630;font-size:16px;line-height:1.4;font-weight:700;transition:background .18s,box-shadow .18s}.btn:hover{background:#f59b65;box-shadow:0 4px 14px #14263014}.btn-light{background:white;border-color:white}.btn-outline{background:transparent;border-color:#b8c4ca;color:var(--ink)}.btn-outline:hover{background:#edf1f2}.btn:disabled{opacity:.6;cursor:wait}.text-link{display:inline-flex;align-items:center;gap:20px;padding:9px 0;font-size:16px;font-weight:600;border-bottom:1px solid #c8d2d7}.text-link:hover{border-color:var(--ink)}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 20px;background:#fff;z-index:30}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #3385b6;outline-offset:4px}
/* Navigation */
header{background:var(--navy);color:#fff;border-bottom:1px solid #ffffff14}.nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{flex:none}.brand img{width:220px;height:43px;object-fit:contain}#main-nav{display:flex;align-items:center;gap:30px}#main-nav>a{font-size:16px}#main-nav>a:not(.btn){padding:12px 0;position:relative;color:#e6edef}#main-nav>a:not(.btn):hover{color:white}#main-nav>a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--accent)}.menu-toggle{display:none}
/* Home */
.hero{background:var(--navy);color:white}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-block:54px 64px}.hero-copy{min-width:0}.hero-copy h1{font-weight:700;letter-spacing:-.045em}.hero-copy em{font-style:normal;color:var(--accent)}.hero-copy p{color:#c1cdd3;font-size:19px;line-height:1.7;margin-top:26px}.hero-actions{margin-top:30px}.hero-visual{height:370px;min-width:0;border-radius:var(--radius);overflow:hidden;background:#213a47}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.4)}.section{padding-block:76px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:32px}.section-heading h2{font-size:36px}.section-heading .text-link{flex:none}.about-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:12px 80px}.about-photo{height:360px;overflow:hidden;border-radius:var(--radius)}.about-photo img{width:100%;height:100%;object-fit:cover}.about-section h2{margin-bottom:24px}.about-section p{font-size:18px;line-height:1.8}.custom-band{background:#edf2ef;border-block:1px solid #e6ece8}.custom-band>.wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:46px}.custom-band h2{font-size:30px}.custom-band p{font-size:18px;margin-top:12px}.custom-band .btn{flex:none}
/* Product cards: a fixed media region and a separate natural-height content region. */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}.product-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .18s,box-shadow .18s}.product-card:hover{border-color:#becbd1;box-shadow:0 8px 24px #182b360a}.product-image{position:relative;display:block;flex:0 0 250px;height:250px;min-height:250px;width:100%;min-width:0;padding:28px;border:0;border-radius:0;background:white;overflow:hidden}.product-image>img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;object-position:center;position:static}.product-image>div{width:100%;height:100%;min-height:0}.product-image .image-placeholder{min-height:0;height:100%}.product-content{display:flex;flex-direction:column;flex:1 0 auto;min-width:0;padding:26px;border-top:1px solid #eef1f2;position:static;background:#fff}.product-content h3{font-size:23px;line-height:1.3;margin-bottom:14px;overflow-wrap:anywhere}.product-content h3 button{display:block;padding:0;border:0;background:none;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:left}.product-content h3 button:hover{color:#496675}.product-content p{font-size:17px;line-height:1.65;margin-bottom:24px;overflow-wrap:anywhere}.product-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.product-bottom a{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:700}.product-bottom a:hover{color:#a64a15}.image-placeholder{display:grid;place-items:center;background:#f1f4f2;border-radius:6px;width:100%;height:100%;min-height:160px}.image-placeholder b{color:#9aaba7;font-size:64px;letter-spacing:-.08em}
/* Catalog */
.page-intro{padding-block:54px 38px}.page-intro h1{font-size:clamp(36px,4.3vw,52px);max-width:960px}.page-intro p{font-size:19px;line-height:1.7;max-width:760px;margin-top:20px}.catalog-section{padding-bottom:80px}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.tabs{display:flex;gap:5px}.tabs button{border:0;background:transparent;border-radius:7px;padding:12px 21px;font-size:16px;min-height:48px}.tabs button.active{background:var(--navy);color:white}.tabs button:hover:not(.active){background:#e6ecec}.search{display:flex;align-items:center;gap:10px;width:345px;padding-left:16px;border:1px solid #cad5d9;border-radius:7px;background:white}.search>span{font-size:27px;line-height:1}.search input{width:100%;min-width:0;border:0;background:none;padding:12px 12px 12px 0}.catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px;color:var(--muted);font-size:16px}.catalog-meta label{display:flex;align-items:center;gap:14px}.catalog-meta select{width:280px}.muted{font-size:16px;margin-top:24px}.empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;background:var(--paper);border-radius:var(--radius)}.empty-state p{margin:18px 0 24px}
/* Contact and forms */
.contact-section{display:grid;grid-template-columns:.95fr 1.05fr;align-items:start;gap:64px;padding-block:12px 80px}.contact-section h2{font-size:34px;margin-bottom:22px}.contact-section>div>p{font-size:18px;max-width:460px}.contact-line{display:flex;flex-direction:column;padding-block:22px;border-bottom:1px solid var(--line);gap:4px}.contact-line small{font-size:16px;color:var(--muted)}.contact-line strong{font-size:18px;overflow-wrap:anywhere}.contact-line span{font-size:17px;color:var(--muted)}.quote-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px;min-width:0}.quote-form h2{font-size:30px;margin-bottom:20px}.quote-form label{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:600;margin-bottom:22px}.quote-form label small{font-size:16px;color:var(--muted);font-weight:400}input,textarea,select{max-width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #c4d0d5;border-radius:6px;padding:13px 14px;font-size:17px;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#71818a;opacity:1;font-size:16px}.form-row{display:flex;flex-direction:column;gap:0}.form-row>*{min-width:0}.form-row>.btn{margin-bottom:14px}.form-note{font-size:16px;margin-bottom:24px;line-height:1.6}.form-note a{text-decoration:underline}.form-status:not(:empty){margin-top:18px}.checkbox{flex-direction:row!important;align-items:center}.checkbox input{width:20px;height:20px;accent-color:var(--navy)}
/* Details */
dialog{width:min(940px,calc(100% - 40px));max-height:90vh;padding:50px 36px 36px;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 80px #071b3e26;color:var(--ink)}dialog::backdrop{background:#10232ec2}.dialog-close{position:absolute;right:10px;top:8px;width:42px;height:42px;border:0;border-radius:50%;background:#f1f4f4;font-size:30px;line-height:1}#product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}.detail-image{width:100%;height:330px;max-height:330px;object-fit:contain;overflow:hidden}.detail-image .image-placeholder{height:100%;min-height:0}.detail-copy{min-width:0}.detail-copy h2{font-size:32px;overflow-wrap:anywhere}.detail-copy p{font-size:18px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;margin-block:22px 28px}.detail-actions{display:flex;flex-direction:column;align-items:start;gap:18px}.detail-actions .btn{width:100%;gap:12px}
/* Admin and supporting pages */
.admin-section{padding-bottom:80px}.login-form{max-width:580px;margin-inline:auto}.login-form>p{margin-bottom:22px}.admin-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:28px}.admin-toolbar>p{margin-right:auto}.admin-layout{display:grid;gap:28px}.admin-item{display:flex;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.admin-item>div{flex:1;min-width:0;overflow-wrap:anywhere}.admin-item strong{font-size:18px}.admin-item small{display:block;font-size:16px;color:var(--muted)}.admin-item button{border:1px solid #c5d0d6;background:white;border-radius:6px;padding:9px 16px;font-size:16px}#image-preview{width:180px;height:150px;object-fit:contain;margin-bottom:22px;background:white}.legal{max-width:850px;padding-bottom:80px}.legal h2{font-size:28px;margin:30px 0 16px}.legal p{font-size:18px}.legal a{text-decoration:underline;overflow-wrap:anywhere}.thankyou{padding-bottom:80px}.thankyou .btn{margin:0 12px 14px 0}
/* Footer */
footer{padding-top:48px;background:var(--navy);color:#e6edf0}.footer-grid{display:grid;grid-template-columns:1fr .7fr 1.4fr;gap:40px;padding-bottom:38px}.footer-brand img{width:220px;height:43px;object-fit:contain}.footer-links{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:16px}.footer-address{min-width:0}.footer-address p{font-size:16px;color:#b9c8d0;margin-bottom:12px}.footer-address a{font-size:16px;overflow-wrap:anywhere}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff20;padding-block:24px 100px;font-size:16px;color:#b9c8d0}.footer-bottom>div{display:flex;gap:26px}.footer-links a:hover,.footer-bottom a:hover{text-decoration:underline}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:8;display:flex;align-items:center;gap:9px;padding:13px 19px 13px 14px;border-radius:40px;background:#12844d;color:white;box-shadow:0 6px 20px #10283222;font-size:16px;font-weight:600}.whatsapp-float:hover{background:#0f713f}.whatsapp-float svg{width:27px;height:27px}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.nav{gap:24px}#main-nav{gap:20px}.hero-grid{gap:36px;padding-block:44px 54px}.hero-copy h1{font-size:52px}.hero-visual{height:350px}.product-grid{gap:22px}.product-image{height:220px;min-height:220px;flex-basis:220px;padding:24px}.product-content{padding:22px}.about-section{gap:40px}.contact-section{gap:36px}.custom-band>.wrap{gap:28px}.custom-band h2{font-size:28px}}
@media(max-width:1000px){.nav{min-height:82px;position:relative}.menu-toggle{display:block;width:46px;height:46px;font-size:25px;line-height:1;color:#fff;background:none;border:1px solid #72838d;border-radius:6px}#main-nav{display:none;position:absolute;top:100%;left:-24px;right:-24px;padding:22px 24px;background:var(--navy);box-shadow:0 10px 15px #13283220;z-index:12}#main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:10px}#main-nav>a:not(.btn){font-size:18px;padding:12px 0}#main-nav>a[aria-current]:after{right:auto;width:36px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{height:250px;min-height:250px;flex-basis:250px}.hero-copy h1{font-size:44px}.hero-copy p{font-size:18px}.hero-visual{height:340px}.catalog-toolbar{padding:18px;gap:16px}.tabs button{padding-inline:14px}.search{width:300px}.about-section p{font-size:17px}.custom-band>.wrap{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-address{grid-column:1/-1}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.nav{min-height:80px}.brand img{width:200px;height:39px}#main-nav{left:-20px;right:-20px;padding-inline:20px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-block:40px}.hero-copy h1{font-size:44px}.hero-copy p{margin-top:22px;font-size:18px}.hero-actions{margin-top:24px}.hero-visual{height:250px}.section{padding-block:46px}.section-heading{align-items:start;flex-direction:column;gap:14px;margin-bottom:26px}.section-heading h2{font-size:30px}.product-grid{grid-template-columns:1fr;gap:24px}.product-image{height:265px;min-height:265px;flex-basis:265px;padding:28px}.product-content{padding:24px}.product-content h3{font-size:24px}.product-content p{font-size:17px}.about-section{grid-template-columns:1fr;gap:28px;padding-block:4px 48px}.about-photo{height:260px}.about-section h2{font-size:32px;margin-bottom:20px}.about-section p{font-size:18px}.custom-band>.wrap{padding-block:34px;gap:24px}.custom-band h2{font-size:28px}.custom-band p{font-size:18px}.custom-band .btn{width:100%;gap:16px}.page-intro{padding-block:36px 28px}.page-intro h1{font-size:36px}.page-intro p{font-size:18px;margin-top:18px}.catalog-toolbar{flex-direction:column;align-items:stretch;padding:14px;gap:16px}.tabs{width:100%}.tabs button{flex:1;padding:11px 8px}.search{width:100%}.catalog-meta{flex-direction:column;align-items:start;padding-block:22px;gap:16px}.catalog-meta label{flex-direction:column;align-items:start;gap:8px;width:100%}.catalog-meta select{width:100%}.catalog-section{padding-bottom:48px}.contact-section{grid-template-columns:1fr;gap:32px;padding-block:8px 48px}.contact-section h2{font-size:30px}.quote-form{padding:24px 20px}.contact-line strong{font-size:17px}.contact-line span{font-size:16px}dialog{width:calc(100% - 24px);padding:58px 22px 26px}#product-detail{grid-template-columns:1fr;gap:24px}.detail-image{height:230px;max-height:230px}.detail-copy h2{font-size:28px}.detail-copy p{margin-block:18px 24px}.footer-grid{grid-template-columns:1fr;gap:26px;padding-bottom:30px}.footer-links{flex-direction:row;flex-wrap:wrap;gap:22px}.footer-address{grid-column:auto}.footer-bottom{flex-direction:column;align-items:start;gap:16px;padding-block:22px 100px}.footer-bottom>div{flex-wrap:wrap;gap:16px 24px}.whatsapp-float{right:16px;bottom:16px;padding:13px}.whatsapp-float span{display:none}.admin-toolbar{flex-wrap:wrap}.admin-toolbar>p{flex-basis:100%}.admin-item{flex-wrap:wrap;gap:12px}.admin-item>div{flex-basis:100%}.thankyou .btn{width:100%;margin-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.image-placeholder img{width:96px;height:auto;max-height:80px;object-fit:contain}

/* Galeria e painel compacto. */
.product-bottom .btn{width:100%;font-weight:700;justify-content:center;font-size:16px}
.product-gallery{min-width:0}.gallery-stage{position:relative;background:#fff;border-radius:10px;overflow:hidden}.gallery-stage .detail-image{display:block;height:330px;max-height:330px;width:100%;object-fit:contain}.gallery-stage .image-placeholder{height:330px}.gallery-stage .image-placeholder img{max-width:96px;max-height:80px}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:44px;padding:0;border:1px solid var(--line);border-radius:8px;background:#ffffffed;font-size:30px;line-height:1;box-shadow:0 3px 12px #15283212}.gallery-prev{left:4px}.gallery-next{right:4px}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 5px}.gallery-thumb{flex:0 0 68px;height:68px;border:2px solid var(--line);border-radius:8px;padding:7px;background:white;overflow:hidden}.gallery-thumb[aria-pressed=true]{border-color:var(--accent)}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb .image-placeholder{min-height:0}.gallery-count{font-size:16px;text-align:center;margin-top:6px;color:var(--muted)}.contact-section{border-top:1px solid var(--line);padding-top:64px;margin-top:0}
.admin-toolbar{flex-wrap:wrap;gap:16px}.admin-toolbar .admin-search{flex:1 1 320px;width:auto;max-width:480px}.admin-toolbar #admin-count{flex:0 0 auto;margin:0 auto 0 0;white-space:nowrap;font-size:16px}.admin-item{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:18px;padding:14px 0;align-items:center}.admin-item>.admin-thumb{width:60px;height:60px;min-width:0;overflow:hidden;flex:none;background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px}.admin-thumb img{width:100%;height:100%;object-fit:contain}.admin-thumb .image-placeholder{min-height:0;height:100%}.admin-thumb .image-placeholder img{width:32px;height:auto}.admin-item>.admin-item-info{min-width:0;flex:1}.admin-item-info strong{font-size:17px;line-height:1.4;display:block}.admin-item-info small{font-size:16px;line-height:1.4;margin-top:4px}.admin-item-actions{display:flex;gap:8px;align-items:center;flex:none!important}.admin-item-actions button{padding:8px 14px}.admin-item-actions button:hover{background:var(--paper)}.admin-empty{padding:28px 0}#image-preview.editor-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;width:100%;height:auto;max-width:100%;margin:0 0 24px;background:transparent}.editor-image{padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0}.editor-image>img{height:115px;width:100%;object-fit:contain}.editor-image .image-placeholder{height:115px;min-height:0}.editor-image button{display:block;margin-top:10px;padding:8px;font-size:16px;line-height:1.4;width:100%;border:1px solid #c4d0d5;border-radius:5px;background:#fff}.editor-image button:disabled{border-color:var(--accent);color:var(--ink);background:#fff3e9;cursor:default}
@media(max-width:650px){.gallery-stage .detail-image,.gallery-stage .image-placeholder{height:245px;max-height:245px}.gallery-thumb{flex-basis:60px;height:60px}.contact-section{padding-top:40px}.admin-toolbar .admin-search{flex-basis:100%;max-width:none}.admin-toolbar #admin-count{flex-basis:100%}.admin-item{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.admin-item>.admin-thumb{width:48px;height:48px;flex-basis:auto}.admin-item>.admin-item-info{flex-basis:auto}.admin-item-actions{flex-direction:column;gap:6px}.admin-item-actions button{padding:7px 10px;font-size:16px}.admin-item-info small{font-size:16px}#image-preview.editor-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
body[data-page="admin"] .whatsapp-float{display:none}

.gallery-thumbs{overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
.gallery-thumbs::-webkit-scrollbar{display:none}
/* Keep the product presentation within the viewport, without visible scrollbars.
   Very long descriptions remain accessible by touch, wheel and keyboard. */
#product-dialog{max-height:calc(100dvh - 32px);overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain}
#product-dialog::-webkit-scrollbar{display:none}
#product-dialog .gallery-stage .detail-image,#product-dialog .gallery-stage .image-placeholder{height:clamp(120px,calc(100dvh - 240px),330px);max-height:330px}
html:has(#product-dialog[open]){overflow:hidden}
@media(max-width:650px){
 #product-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:48px 20px 22px}
 #product-detail{gap:18px}
 #product-dialog .gallery-stage .detail-image,#product-dialog .gallery-stage .image-placeholder{height:clamp(100px,25dvh,220px);max-height:220px}
 #product-dialog .gallery-thumbs{padding-top:10px;gap:8px}
 #product-dialog .gallery-thumb{flex-basis:52px;height:52px;padding:5px}
 #product-dialog .detail-copy h2{font-size:26px;line-height:1.2}
 #product-dialog .detail-copy p{font-size:16px;line-height:1.5;margin-block:12px 18px}
 #product-dialog .gallery-count{margin-top:4px}
}

/* Fotos dos cards em camadas: mantém a altura reservada durante a troca. */
.card-media{display:block;position:relative;width:100%;height:100%;overflow:hidden}.product-image .card-media>img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;opacity:1;transition:opacity .6s ease;pointer-events:none}.product-image .card-media>.card-cover-next{opacity:0}.product-image .card-media>.card-cover-next.is-visible{opacity:1}.product-image .card-media>img.is-leaving{opacity:0}.card-media>.image-placeholder{height:100%;min-height:0}

.about-section .applications-copy{margin-top:18px}.product-card:focus-within{border-color:#becbd1}

.form-status[data-state="error"]{color:#9a301d;background:#fff2ed;border:1px solid #e7c2b7;border-radius:6px;padding:14px;margin-top:18px}.form-status[data-state="pending"]{color:var(--ink)}
