/* Donim-Promet v47: shared visual language from the approved homepage. */
:root{--dp-ink:#10243c;--dp-navy:#081c33;--dp-blue:#135ddc;--dp-light:#f4f7fb;--dp-muted:#65758a;--dp-line:#dfe6ee}
html.dp-shop{color:var(--dp-ink);background:var(--dp-light);font-family:Arial,"Segoe UI",sans-serif}
.dp-shop body{margin:0;background:var(--dp-light);color:var(--dp-ink);font-family:Arial,"Segoe UI",sans-serif;--ink:var(--dp-ink);--accent:var(--dp-blue);--teal:var(--dp-blue);--line:var(--dp-line);--muted:var(--dp-muted)}
.dp-shop *{box-sizing:border-box}
.dp-shop a{color:var(--dp-blue)}
.dp-shop h1{font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.5px;line-height:1.12}
.dp-shop h2{letter-spacing:-.45px}
.dp-shop main{max-width:1440px;margin:40px auto;padding:0 45px 65px}
.dp-shop .intro,.dp-shop .muted,.dp-shop .note{color:var(--dp-muted);line-height:1.7}
.dp-shop .eyebrow{font-size:11px;letter-spacing:2.7px;font-weight:800;color:var(--dp-blue)}
.dp-shop .panel,.dp-shop .card,.dp-shop main>section:not(.hero),.dp-shop .stat{border-color:var(--dp-line);border-radius:12px;box-shadow:0 6px 25px #09203b08}
.dp-shop .hero{background:linear-gradient(110deg,#081c33,#174c90)!important;border-radius:12px;padding:38px;color:white}
.dp-shop .hero p{color:#c9d8e9}.dp-shop .hero a{color:white}
.dp-shop button,.dp-shop .button,.dp-shop .btn,.dp-shop .primary,.dp-shop .cta{font-family:Arial,"Segoe UI",sans-serif;border-radius:7px}
.dp-shop .primary,.dp-shop button.primary,.dp-shop .button:not(.secondary),.dp-shop button.action:not(.light),.dp-shop .cta{background:var(--dp-blue)!important;border-color:var(--dp-blue)!important;color:white!important}
.dp-shop button.active:not(.tile):not(.position):not([data-tab]){background:#eaf1ff!important;border-color:var(--dp-blue)!important;color:var(--dp-blue)!important}
.dp-shop button.primary:hover,.dp-shop .button:not(.secondary):hover{background:#0749b6!important}
.dp-shop button:disabled{opacity:.5;cursor:default}
.dp-shop input,.dp-shop select,.dp-shop textarea{border-radius:7px;border-color:#c3d1e1;font-family:Arial,"Segoe UI",sans-serif;max-width:100%}
.dp-shop input:focus,.dp-shop select:focus,.dp-shop textarea:focus{outline:2px solid #135ddc55;outline-offset:1px;border-color:var(--dp-blue)}
.dp-shop a:focus-visible,.dp-shop button:focus-visible,.dp-shop summary:focus-visible{outline:3px solid #6eabff;outline-offset:3px}
.dp-shop .drop{border-color:#b7c9e3;background:#f8fbff;border-radius:9px}
.dp-shop .drop:hover,.dp-shop .drop.drag{border-color:var(--dp-blue);background:#ecf4ff}
.dp-shop .drop strong{color:var(--dp-blue)}
.dp-shop .toolbar{background:#eef4fc;border-color:#d5e2f2;border-radius:10px}
.dp-shop .status,.dp-shop .pill{background:#eaf1ff;color:#245bb0}
.dp-shop .price{color:var(--dp-navy)}
.dp-shop .price-panel{background:linear-gradient(145deg,#f6f9ff,#fff);padding:22px;border:1px solid #dce7f6;border-radius:10px}
.dp-shop .notice,.dp-shop .warning{border-radius:8px}
.dp-shop .viewport{background:radial-gradient(ellipse at center,#f6f9fd,#e0e8f2)}
.dp-shop .viewer-panel{border-radius:12px}
.dp-shop .viewer-head{background:#f8faff}
.dp-shop .metric b{color:var(--dp-ink)}
.dp-shop .position{border-radius:7px;border-color:var(--dp-line)}
.dp-shop .position.selected{border-color:var(--dp-blue);background:#eaf1ff;color:var(--dp-blue)}
.dp-shop .tile.active{outline-color:var(--dp-blue)!important}
.dp-shop .tile{border-color:var(--dp-line);border-radius:9px}
.dp-shop .tile svg{background:#edf3fa}
.dp-shop .compact-panel,.dp-shop .checkout-banner{background:#eef4ff;border-color:#c9dcf6;color:#244c7d}
.dp-shop .change-link{color:var(--dp-blue)}
.dp-shop .point.active:before{background:var(--dp-blue);box-shadow:0 0 0 2px var(--dp-blue)}
.dp-shop .timeline{border-color:#b7c9e3}
.dp-shop.dp-tracking button,.dp-shop.dp-account button{background:var(--dp-blue);color:white}
.dp-shop.dp-confirmation main{max-width:760px;background:white;border:1px solid var(--dp-line);border-radius:12px;padding:45px;margin:55px auto;text-align:center}
.dp-shop.dp-offer main{max-width:900px;background:white;padding:30px;border-radius:12px}
.dp-shop.dp-admin main{margin:0 0 0 255px;padding:35px;max-width:1700px}
.dp-shop.dp-admin aside{background:var(--dp-navy);border-right:1px solid #173452}
.dp-shop.dp-admin aside a{color:#bdcbe0}
.dp-shop.dp-admin aside button.active{background:var(--dp-blue);color:white}
.dp-shop.dp-admin aside button:hover{background:#1b3858;color:white}
.dp-shop.dp-admin .admin-brand{margin:0 10px 20px;padding:13px;background:white;border-radius:7px}
.dp-shop.dp-admin .admin-brand img{display:block;width:100%;height:auto}
.dp-shop.dp-admin section{border-radius:12px}
.dp-shop.dp-admin .stat{border-top:3px solid var(--dp-blue)}
.dp-shop.dp-admin .stat strong{color:var(--dp-blue)}
.dp-shop.dp-admin .scroll{max-width:100%;overflow:auto}
.dp-header{height:92px!important;padding:0!important;position:relative!important;top:auto!important;z-index:50!important;background:white!important;border-bottom:1px solid var(--dp-line)!important;color:var(--dp-ink)!important}
.dp-header .dp-top{max-width:1440px;margin:auto;padding:0 45px;height:100%;display:flex;align-items:center;gap:28px}
.dp-header .dp-brand{flex-shrink:0;background:none;padding:0;margin:0}
.dp-header .dp-brand img{width:245px!important;max-width:100%!important;max-height:none!important;display:block;object-fit:contain}
.dp-header .dp-nav{margin-left:auto;display:flex;gap:23px;align-items:center;flex-wrap:nowrap}
.dp-header .dp-nav a{font-size:13px;color:#27384d!important;font-weight:700;white-space:nowrap;text-decoration:none;padding:10px 0;margin:0;background:none;border-radius:0}
.dp-header .dp-nav a:hover,.dp-header .dp-nav a[aria-current=page]{color:var(--dp-blue)!important}
.dp-header .dp-actions{display:flex;gap:14px;align-items:center;flex-shrink:0}
.dp-header .dp-account{font-size:12px;font-weight:700;color:#27384d;padding:10px 0;white-space:nowrap;background:none;margin:0}
.dp-header .dp-cart{background:var(--dp-blue);color:white!important;font-size:12px;font-weight:800;padding:14px 17px;border-radius:7px;white-space:nowrap;margin:0}
.dp-header .dp-menu{display:none;background:white!important;color:var(--dp-ink)!important;border:1px solid var(--dp-line);padding:10px;margin:0;border-radius:8px;font-size:20px;line-height:1}
.dp-footer{background:var(--dp-navy)!important;color:#b9c8da!important;max-width:none!important;margin:0!important;padding:30px 0!important;border-radius:0!important;font-size:12px}
.dp-footer .dp-foot-inner{max-width:1440px;margin:auto;padding:0 45px;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}
.dp-footer strong{color:white;font-size:13px}
.dp-footer nav{display:flex;gap:20px;flex-wrap:wrap}
.dp-footer a{color:#d6e4f4;background:none;padding:0;margin:0;font-weight:400;font-size:12px}
.dp-home-links{display:flex;gap:16px;font-size:12px;color:#65758a;margin-top:18px;flex-wrap:wrap}
.dp-home-links a{color:var(--dp-blue);font-weight:700}
.dp-home .upload-inner{grid-template-columns:.8fr 1.35fr auto}
.dp-home .upload-inner .upload-limits{font-size:11px;line-height:1.6;color:#65758a;margin-top:9px}
.dp-home #filemessage{font-size:12px;color:var(--dp-blue);overflow-wrap:anywhere;line-height:1.5;margin-top:6px}
.dp-home #fileInput{display:none}
.dp-home .drop.drag{border-color:var(--dp-blue);background:#ecf4ff}
.dp-home .catalog-more{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:13px;font-weight:700;color:var(--dp-blue)}
@media(max-width:1250px){.dp-header .dp-brand img{width:210px!important}.dp-header .dp-top{gap:18px}.dp-header .dp-nav{gap:14px}.dp-header .dp-nav a{font-size:12px}.dp-header .dp-actions{gap:12px}}
@media(max-width:1100px){.dp-header{height:76px!important}.dp-header .dp-top{padding:0 26px}.dp-header .dp-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:18px 26px;background:white;border-bottom:1px solid var(--dp-line);box-shadow:0 15px 25px #0c203422;flex-direction:column;align-items:stretch;gap:3px;z-index:51;margin:0}.dp-header .dp-nav.open{display:flex}.dp-header .dp-nav a{font-size:15px;padding:10px}.dp-header .dp-actions{margin-left:auto}.dp-header .dp-menu{display:block}.dp-shop main{padding-left:26px;padding-right:26px}.dp-home .upload-inner{grid-template-columns:1fr 1.2fr}.dp-home .upload-inner>.btn{grid-column:1/-1}}
@media(max-width:720px){.dp-shop main{margin-top:28px;padding:0 17px 45px}.dp-shop .hero{padding:26px}.dp-header .dp-top{padding:0 17px;gap:12px}.dp-header .dp-brand img{width:190px!important}.dp-header .dp-actions{gap:10px}.dp-header .dp-account{font-size:11px}.dp-header .dp-cart{font-size:11px;padding:12px}.dp-footer .dp-foot-inner{padding:0 17px;align-items:start;flex-direction:column}.dp-shop.dp-admin main{margin:0;padding:20px 17px}.dp-shop.dp-admin aside{position:static;width:auto}.dp-shop.dp-confirmation main{margin:28px 17px;padding:30px}.dp-home .upload-inner{grid-template-columns:1fr}.dp-home .upload-inner>.btn{grid-column:auto}}
@media(max-width:480px){.dp-header .dp-brand img{width:150px!important}.dp-header .dp-account{font-size:0}.dp-header .dp-account:after{content:'Račun';font-size:11px}.dp-header .dp-cart{padding:11px 9px}.dp-header .dp-top{gap:8px}.dp-header .dp-actions{gap:8px}.dp-header .dp-menu{padding:8px}.dp-shop .workspace{grid-template-columns:minmax(0,1fr)}.dp-shop .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-shop .viewer-head,.dp-shop .viewer-foot{padding:15px}.dp-shop .formgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dp-shop .formgrid>*{min-width:0}.dp-shop .panel{padding:18px}.dp-shop .viewer-panel{padding:0}.dp-shop .row{min-width:0}.dp-home .hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.dp-header,.dp-footer{display:none!important}.dp-shop body{background:white}.dp-shop main{max-width:none;margin:0;padding:0}.dp-shop .panel,.dp-shop .card,.dp-shop section{box-shadow:none}.dp-shop.dp-offer main{margin:0;padding:0}}

/* STEP upload/analysis and GLB loading share an explicit, accessible busy state. */
.model-loading{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#f4f7fbee;color:#10243c;font:700 13px Arial,sans-serif;padding:24px;text-align:center;pointer-events:none}
.model-loading[hidden]{display:none!important}
.loading-circle{display:block;width:29px;height:29px;border:3px solid #cddcf0;border-top-color:#135ddc;border-radius:50%;animation:donim-loading .8s linear infinite}
@keyframes donim-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-circle{animation:none}}

/* Dedicated service/company pages, matching the approved industrial homepage. */
.dp-info .info-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center;margin-bottom:55px}.dp-info h1{font-size:clamp(38px,4.8vw,68px);max-width:700px}.dp-info .intro{font-size:18px;max-width:600px}.dp-info .info-photo,.dp-info .info-visual{display:block;width:100%;border-radius:14px;aspect-ratio:1.3;object-fit:cover}.dp-info .info-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}.dp-info .primary{padding:15px 21px;text-decoration:none;font-weight:700;display:inline-block}.dp-info .info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:none;box-shadow:none!important;margin-bottom:45px}.dp-info article{background:white;border:1px solid var(--dp-line);padding:28px;border-radius:12px}.dp-info article p,.dp-info .info-next p{line-height:1.7;color:var(--dp-muted)}.dp-info .info-number{font-size:13px;color:var(--dp-blue);font-weight:800;letter-spacing:2px}.dp-info .info-next{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#eaf1fc;padding:32px}.dp-more{position:relative;white-space:nowrap}.dp-more summary{cursor:pointer;font-weight:700;color:var(--dp-ink);font-size:13px}.dp-more>div{position:absolute;right:0;top:30px;min-width:240px;padding:12px;background:white;border:1px solid var(--dp-line);box-shadow:0 12px 30px #10243c22;border-radius:9px}.dp-header .dp-more a{display:block;padding:12px!important;margin:0!important;background:white!important;white-space:normal}.dp-more a:hover{background:#eef4fc!important}.dp-footer nav{flex-wrap:wrap}.dp-info a{overflow-wrap:anywhere}
@media(max-width:1100px){.dp-more>div{position:static;box-shadow:none;margin-top:10px}.dp-info .info-intro{gap:30px}.dp-info .info-grid{gap:14px}.dp-info article{padding:20px}}
@media(max-width:768px){.dp-info .info-intro,.dp-info .info-grid{grid-template-columns:1fr}.dp-info .info-intro{margin-bottom:30px}.dp-info .info-next{display:block;padding:24px}.dp-info h1{letter-spacing:-1px}.dp-info .info-actions{gap:15px}.dp-more{width:100%}}

.dp-services summary[data-current=true]{color:var(--dp-blue)}.dp-services>div{left:0;right:auto}.dp-services summary{padding:10px 0}@media(max-width:1100px){.dp-services summary{padding:10px;font-size:15px}.dp-header .dp-nav{max-height:calc(100dvh - 76px);overflow-y:auto}}

.dp-header .dp-cart{display:flex;align-items:center;gap:8px}.dp-footer-contact{max-width:1440px;margin:25px auto 0;padding:20px 45px 0;border-top:1px solid #ffffff22;display:grid;grid-template-columns:1fr 1fr;gap:40px}.dp-footer-contact a{color:#c3d8ef}.contact-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px;background:white;margin:30px 0}.product-category-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.product-category-links a{display:grid;gap:8px;background:white;border:1px solid #dfe6ee;border-radius:12px;padding:22px;text-decoration:none}.product-category-links span{font-size:14px;color:#65758a}@media(max-width:768px){.dp-footer-contact,.contact-detail,.product-category-links{grid-template-columns:1fr}.dp-footer-contact{padding:20px 22px}}
/* Uniform action buttons; preserve inline prose and navigation links. */
.dp-shop a.dp-action-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;vertical-align:middle;padding:12px 18px;margin:5px 6px 5px 0;border:1px solid #b9cbe2;border-radius:7px;background:#fff;color:#135ddc!important;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none!important;max-width:100%;overflow-wrap:anywhere;text-align:center}
.dp-shop a.dp-action-link:hover{background:#eaf1ff;border-color:#135ddc}.dp-shop a.dp-action-link:focus-visible{outline:3px solid #89b4f7;outline-offset:3px}.dp-shop a.dp-action-link[hidden]{display:none!important}
.dp-home .wrap{width:100%;max-width:1440px;padding-left:45px;padding-right:45px;margin-left:auto;margin-right:auto;box-sizing:border-box}
@media(min-width:1101px){.dp-shop.dp-admin main{width:calc(100% - 255px);max-width:1440px;margin:0 auto 0 calc(255px + max(0px,(100vw - 1695px)/2));padding:35px}}
@media(max-width:1100px){.dp-home .wrap{padding-left:26px;padding-right:26px}}
@media(max-width:600px){.dp-home .wrap{padding-left:20px;padding-right:20px}.dp-shop a.dp-action-link{padding:11px 14px}}
.dp-neg-button{display:inline-flex;justify-content:center;padding:12px 18px;border:1px solid #135ddc;border-radius:7px;background:white;color:#135ddc;font-weight:700;cursor:pointer;margin:10px 0}.dp-neg-hint{font-size:13px;color:#65758a}.dp-neg-dialog{border:1px solid #dfe6ee;border-radius:16px;max-width:600px;width:calc(100% - 32px);max-height:90vh;padding:30px;color:#10243c;font:15px/1.5 Arial,sans-serif;overflow:auto}.dp-neg-dialog::backdrop{background:#081c3399}.dp-neg-dialog h2{font-size:26px;margin:12px 0}.dp-neg-dialog label{display:block;font-weight:bold;margin:18px 0 6px}.dp-neg-dialog input,.dp-neg-dialog select,.dp-neg-dialog textarea{display:block;box-sizing:border-box;width:100%;padding:12px;border:1px solid #c5d3e4;border-radius:7px;font:inherit;margin-top:7px}.dp-neg-dialog .neg-row{display:flex;gap:10px}.dp-neg-dialog .neg-close{float:right;background:transparent;border:0;font-size:27px;cursor:pointer}.neg-eyebrow{font-size:11px;font-weight:bold;color:#135ddc;letter-spacing:1px}.neg-info{background:#eef4ff;padding:14px;border-radius:8px}.dp-neg-dialog .primary{background:#135ddc;color:white;border:0;border-radius:7px;padding:14px 20px;font-weight:bold;cursor:pointer}.dp-neg-dialog small{color:#65758a}#negError{color:#a52626}@media(max-width:500px){.dp-neg-dialog{padding:22px}.dp-neg-dialog .neg-row{flex-direction:column}}
