/* Abrish premium v50 — enhancement layer, original Odoo-inspired identity retained.
   All overrides opt-in, avoids rewriting original templates or animations. */
:root {--abrp-navy:#071f34;--abrp-ink:#0b2941;--abrp-orange:#ff681b;--abrp-mist:#edf3f8;--abrp-outline:#dbe7ef;--abrp-shadow:0 15px 42px rgba(4,30,50,.11)}
#abr-premium { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; background:#fff }
#abr-premium main {overflow:clip}
#abr-premium :is(p,small,span,li){overflow-wrap:break-word}
#abr-premium :is(a,button,input,textarea,select):focus-visible {outline:3px solid #ff8d45!important;outline-offset:3px!important}
#abr-premium a, #abr-premium button { -webkit-tap-highlight-color:transparent }
#abr-premium img {object-fit:cover}
#abr-premium .abr37-logo {object-fit:contain!important}
.abrp-skip{position:fixed;left:14px;top:-80px;z-index:10000;background:var(--abrp-orange);color:#fff!important;padding:12px 19px;border-radius:0 0 8px 8px;font-weight:800;text-decoration:none;transition:top .2s}
.abrp-skip:focus{top:0}
.abrp-scroll-track{position:fixed;left:0;right:0;top:0;height:3px;z-index:3300;pointer-events:none;background:transparent}
.abrp-scroll-track>span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#ff681b,#ffae4c);box-shadow:0 0 12px #ff681b77;transition:width .1s linear}
/* Navigation controls match the existing premium dark header */
#ccwHeader .abrp-search-trigger{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;color:#e3eef7;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.18);border-radius:8px;transition:.24s ease}
#ccwHeader .abrp-search-trigger svg{width:16px;height:16px}
#ccwHeader .abrp-search-trigger:hover{background:rgba(255,104,27,.16);border-color:#ff681b;color:#fff;transform:translateY(-1px)}
#ccwHeader .abrp-mobile-search{width:100%;min-height:46px;text-align:left;background:#15344a;color:white;font-size:12px;font-weight:800;letter-spacing:.05em;border:1px solid #345064;border-radius:8px;padding:9px 17px;margin:0 0 12px}
html body #ccwHeader.abr37-header .abr37-dropdown {border-radius:0 0 14px 14px!important;box-shadow:0 24px 55px #02172842!important}
html body #ccwHeader.abr37-header.is-scrolled{box-shadow:0 7px 35px #00172635!important}
/* Consistent premium cards and images */
#abr-premium :is(.abr29-service-card,.abr33-project-card,.abr27-service,.abr32-photo,.abr41-slot,.abr41-live-card){backface-visibility:hidden;transform-origin:center center;transition:transform .28s cubic-bezier(.18,.7,.32,1),box-shadow .28s ease,border-color .28s ease!important}
#abr-premium :is(.abr29-service-card,.abr33-project-card,.abr27-service,.abr32-photo,.abr41-slot,.abr41-live-card):hover{box-shadow:0 20px 45px rgba(4,28,48,.17)!important;transform:translateY(-5px)!important}
#abr-premium :is(.abr29-service-card,.abr33-project-card,.abr27-service,.abr32-photo,.abr41-live-card) img {transition:transform .65s cubic-bezier(.2,.65,.2,1),filter .5s ease!important}
#abr-premium :is(.abr29-service-card,.abr33-project-card,.abr27-service,.abr32-photo,.abr41-live-card):hover img {transform:scale(1.045)!important;filter:saturate(1.07)!important}
#abr-premium :is(.abr29-service-card,.abr33-project-card,.abr41-slot,.abr41-live-card){border-radius:12px!important}
#abr-premium :is(.abr29-service-card,.abr33-project-card) h3{letter-spacing:-.02em!important}
#abr-premium :is(.abr29-view,.abr33-card-arrow,.abr41-arrow){transition:transform .24s ease,background .24s ease!important}
#abr-premium :is(.abr29-service-card,.abr33-project-card):hover :is(.abr29-view,.abr33-card-arrow){color:var(--abrp-orange)!important}
/* Sections keep Odoo layout but appear cleaner on high-density displays */
#abr-premium :is(.abr26-shell,.abr29-shell,.abr32-shell,.abr33-shell,.abr41-shell,.abr36-wrap){scroll-margin-top:92px}
#abr-premium :is(.abr26-hero,.abr29-hero,.abr32-hero,.abr33-hero,.abr41-hero,.abr36-hero){isolation:isolate}
#abr-premium :is(.abr29-card-image,.abr29-service-image,.abr33-card-image,.abr32-photo,.abr41-photo-button){overflow:hidden}
#abr-premium .abr29-cards{align-items:stretch}
#abr-premium .abr29-service-card{height:100%!important}
#abr-premium .abr29-service-body{min-height:185px}
/* Interface enhancements */
.abrp-back-top {position:fixed;z-index:1350;bottom:98px;right:24px;width:43px;height:43px;background:#092d46;color:#fff;border:1px solid #ffffff40;border-radius:12px;box-shadow:0 12px 30px #041a3640;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(13px);transition:opacity .24s,visibility .24s,transform .24s,background .2s}
.abrp-back-top svg {width:19px;height:19px}
.abrp-back-top.abrp-visible {opacity:1;visibility:visible;transform:translateY(0)}
.abrp-back-top:hover {background:var(--abrp-orange);transform:translateY(-3px)}
.abrp-consult-strip{position:relative;background:linear-gradient(115deg,#061f36 0%,#0c3851 70%,#17455d 100%);padding:42px 25px;overflow:hidden;color:#fff}
.abrp-consult-strip:before{content:"";position:absolute;right:-7%;top:-145px;width:440px;height:440px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 55px #ffffff07,0 0 0 115px #ffffff07;pointer-events:none}
.abrp-consult-inner{position:relative;margin:0 auto;max-width:1190px;display:flex;align-items:center;gap:20px}
.abrp-consult-badge{flex:0 0 53px;height:53px;border-radius:12px;display:grid;place-items:center;background:#ff6717;color:#fff;font-weight:1000;font-size:29px;font-family:Arial,sans-serif;position:relative}
.abrp-consult-badge span{position:absolute;right:3px;top:2px;font-size:12px}
.abrp-consult-inner>div:nth-child(2){flex:1}
.abrp-consult-inner small{display:block;color:#ffa373;font-weight:900;font-size:10px;letter-spacing:.15em;margin:0 0 6px}
.abrp-consult-inner h2{color:#fff;font-weight:850;font-size:clamp(22px,2.3vw,30px);letter-spacing:-.035em;margin:0 0 5px;line-height:1.12}
.abrp-consult-inner p{font-size:12px;color:#cbdae4;margin:0}
.abrp-consult-button{flex:none;display:flex;align-items:center;gap:20px;background:#ff6717;color:#fff!important;text-decoration:none;border-radius:7px;padding:15px 19px;font-size:11px;font-weight:900;box-shadow:0 12px 22px #ff67172b;transition:transform .2s,background .2s}
.abrp-consult-button:hover{background:#fa7d39;transform:translateY(-2px)}
.abrp-consult-button span{font-size:18px;line-height:0}
/* Fast navigation / website search, no backend needed */
.abrp-search-overlay[hidden]{display:none!important}
.abrp-search-overlay{position:fixed;z-index:5500;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:clamp(50px,9vh,130px) 16px 18px}
.abrp-search-scrim{position:absolute;inset:0;background:#001425c9;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.abrp-search-box{position:relative;width:min(680px,100%);max-height:min(75vh,680px);display:flex;flex-direction:column;background:#fff;color:#173249;border:1px solid #ffffffae;border-radius:16px;box-shadow:0 30px 80px #0018289c;overflow:hidden;animation:abrp-pop .22s ease both}
@keyframes abrp-pop{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
.abrp-search-top{display:flex;align-items:center;padding:11px 16px 10px;border-bottom:1px solid #e5edf2;gap:10px}
.abrp-search-top>label{display:flex;align-items:center;flex:1;gap:11px;min-width:0}
.abrp-search-top svg{width:24px;height:24px;color:#fa6b25;flex:none}
.abrp-search-top input{width:100%;border:0;outline:0!important;padding:12px 0;color:#133047;font-size:16px;min-width:0;background:transparent}
.abrp-search-top input:focus-visible{outline:0!important}
.abrp-search-close{border:1px solid #dbe5eb;border-radius:7px;padding:7px 9px;background:#f2f6f8;color:#6b7d8e;font-size:10px;font-weight:800;white-space:nowrap}
.abrp-search-close span{font-size:15px;margin-left:4px}
.abrp-search-caption{margin:17px 23px 7px;font-size:10px;letter-spacing:.18em;font-weight:850;color:#f2671d}
.abrp-search-results{overflow-y:auto;overscroll-behavior:contain;padding:6px 12px 15px;min-height:115px}
.abrp-search-result{display:flex;gap:12px;align-items:center;color:#12314a!important;text-decoration:none;border-radius:9px;padding:12px 13px;transition:.16s ease}
.abrp-search-result:hover,.abrp-search-result.is-selected{background:#eff5fa;color:#e65b13!important}
.abrp-search-result>span{display:grid;place-items:center;width:36px;height:36px;background:#e9f0f5;border-radius:7px;color:#ff6717;flex:none;font-size:17px}
.abrp-search-result>div{min-width:0;flex:1}
.abrp-search-result strong{display:block;font-size:13px;font-weight:800;line-height:1.3}
.abrp-search-result small{display:block;font-size:11px;color:#607789;margin-top:4px}
.abrp-search-result i{font-style:normal;color:#e87831;font-size:19px}
.abrp-search-empty{padding:25px 12px;color:#708396;font-size:13px}
.abrp-search-foot{border-top:1px solid #e5edf2;padding:11px 23px;font-size:11px;background:#f8fafc;color:#788b9a}
/* Progressive reveals: elements remain visible when JS is disabled or observers unsupported. */
@media(prefers-reduced-motion:no-preference){
 html.abrp-js-enabled .abrp-reveal{opacity:0;transform:translateY(19px);transition:opacity .64s ease, transform .64s cubic-bezier(.2,.6,.22,1)!important}
 html.abrp-js-enabled .abrp-reveal.abrp-inview{opacity:1;transform:none}
}
/* Mobile-first refinement: touch targets, tighter text, proper grid widths */
@media(max-width:1120px){#ccwHeader .abrp-search-trigger{margin-left:auto} }
@media(max-width:1000px){html body #ccwHeader.abr37-header .abrp-search-trigger{display:grid!important;width:37px!important;height:37px!important;flex:0 0 37px!important;margin-left:auto!important;margin-right:8px!important}}
@media(max-width:740px){
 .abrp-scroll-track{height:2px}
 .abrp-back-top{right:12px;bottom:86px;width:39px;height:39px;border-radius:10px}
 .abrp-consult-strip{padding:34px 20px}
 .abrp-consult-inner{flex-wrap:wrap;gap:13px}
 .abrp-consult-badge{width:45px;height:45px;flex-basis:45px;font-size:22px}
 .abrp-consult-inner>div:nth-child(2){flex:1 1 calc(100% - 65px)}
 .abrp-consult-inner h2{font-size:22px}
 .abrp-consult-button{width:100%;justify-content:center;margin-top:8px}
 .abrp-search-overlay{padding-top:63px}
 .abrp-search-foot{display:none}
 #abr-premium :is(.abr29-service-card,.abr33-project-card,.abr27-service,.abr41-live-card):hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){#abr-premium *,#abr-premium *:before,#abr-premium *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Quotation UX: 3 guided steps, fallback is the original one-page form when JS is unavailable. */
#abr-premium .abrp-steps {margin-top:15px;display:flex;gap:7px;flex-wrap:wrap}
#abr-premium .abrp-steps span {font-size:10px;color:#667f90;background:#edf3f7;border:1px solid #e0e9ef;border-radius:7px;padding:9px 10px;font-weight:850;transition:background .22s,color .22s}
#abr-premium .abrp-steps span.is-active {background:#ff681b;color:#fff;border-color:#ff681b}
#abr-premium .abr36-fields>.abrp-step-hidden{display:none!important}
#abr-premium .abrp-quote-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:17px}
#abr-premium .abrp-step-next{border:0;background:#ff681b;color:#fff;min-height:45px;padding:0 24px;border-radius:7px;font-size:11px;font-weight:900;transition:background .2s,transform .2s;box-shadow:0 8px 20px #ff681b3c}
#abr-premium .abrp-step-next:hover{background:#ed5e16;transform:translateY(-2px)}
#abr-premium .abrp-step-back{background:transparent;color:#14374b;border:1px solid #d9e4eb;border-radius:7px;min-height:42px;padding:0 13px;font-size:12px;font-weight:800}
#abr-premium .abrp-step-info{font-size:10px;color:#778997;font-weight:900;letter-spacing:.12em;margin-left:auto}
#abr-premium .abrp-quote-nav [hidden],#abr-premium .abr36-submit[hidden]{display:none!important}
#abr-premium .abr36-form-panel{scroll-margin-top:90px}
@media(max-width:600px){#abr-premium .abrp-steps span{font-size:9px;padding:7px 9px}#abr-premium .abrp-quote-nav{flex-wrap:wrap}#abr-premium .abrp-step-info{order:-1;width:100%;text-align:right}}
/* Equipment photos expand in a lightweight accessible overlay. */
#abr-premium .abr32-photo{cursor:zoom-in}
#abr-premium .abr32-photo:focus-visible{outline:3px solid #ff681b;outline-offset:3px}
.abrp-photo-modal[hidden]{display:none!important}
.abrp-photo-modal{position:fixed;inset:0;z-index:6000;background:rgba(2,16,26,.93);display:grid;place-items:center;padding:65px 18px 28px}
.abrp-photo-modal figure{margin:0;max-width:min(1100px,98vw);max-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:12px}
.abrp-photo-modal img{width:auto;max-width:100%;max-height:75vh;object-fit:contain;box-shadow:0 30px 70px #0009;border-radius:6px}
.abrp-photo-modal figcaption{color:#fff;font-size:12px;font-weight:750}
.abrp-photo-close{position:absolute;right:clamp(16px,4vw,65px);top:20px;color:#fff;border:1px solid #ffffff5c;background:#ffffff25;border-radius:9px;width:43px;height:43px;font-size:24px}
