/* IpoTeco v3.5.1 | usable site search and customer account menus. */
.ipo-app .ipo-header-actions{gap:7px}
.ipo-app .ipo-nav{padding-left:19px;gap:5px}
.ipo-app .ipo-nav-link .ipo-button{padding-left:7px;padding-right:7px}
.ipo-header-tools {display:flex!important;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;position:relative;z-index:85}
.ipo-header-tool{position:relative;flex:none}
.ipo-header-tool > summary {list-style:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.ipo-header-tool > summary::-webkit-details-marker {display:none}
.ipo-header-tool > summary::marker {content:""}
.ipo-app .ipo-header-tool-button,
.ipo-default-header .ipo-header-tool-button{
  width:34px!important;height:34px!important;min-width:34px;min-height:34px;
  padding:7px!important;display:flex!important;align-items:center;justify-content:center;
  position:relative;border-radius:12px!important;border:1px solid #e3ebf0!important;
  background:linear-gradient(145deg,#fff,#eef7f5)!important;
  color:#19314e!important;box-shadow:0 4px 12px rgba(17,52,84,.07)!important;
  transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
  box-sizing:border-box!important;
}
.ipo-header-tool-button .ipo-header-tool-icon {display:flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;color:inherit}
.ipo-header-tool-button svg {width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ipo-header-tool[open] > .ipo-header-tool-button,
.ipo-header-tool-button:hover {transform:translateY(-2px);border-color:#96d9b8!important;background:#e6f8ed!important;color:#008c50!important;box-shadow:0 8px 20px rgba(7,128,75,.16)!important}
.ipo-header-tool-button:focus-visible,.ipo-header-popover a:focus-visible,
.ipo-header-search-fields input:focus-visible,.ipo-header-search-fields button:focus-visible{
  outline:3px solid #07a561!important;outline-offset:3px!important;
}
.ipo-account-status{position:absolute;bottom:3px;right:3px;width:7px;height:7px;border:1px solid white;border-radius:100%;background:#03ad63}
.ipo-header-popover{
  position:absolute;top:calc(100% + 12px);right:0;z-index:120;
  box-sizing:border-box!important;min-width:235px;
  padding:17px!important;border:1px solid #dbeee5;border-radius:17px!important;
  background:rgba(255,255,255,.99)!important;color:#15284a!important;
  box-shadow:0 18px 45px rgba(10,46,73,.19),0 4px 12px rgba(0,87,62,.06)!important;
  text-align:left;line-height:1.45;
  animation:ipxToolAppear .18s ease-out;
}
@keyframes ipxToolAppear{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
.ipo-header-search-panel{width:350px;max-width:calc(100vw - 28px)}
.ipo-header-account-panel{width:244px;max-width:calc(100vw - 28px)}
.ipo-header-search-panel label{display:block;font-weight:700;font-size:13px;color:#19304e;margin:0 0 10px}
.ipo-header-search-fields{display:flex;gap:8px;align-items:stretch;width:100%}
.ipo-header-search-fields input{
  flex:1;min-width:0;width:100%;height:40px!important;padding:0 11px!important;
  border:1px solid #ccdfe2!important;border-radius:10px!important;background:#f8fbfb!important;
  color:#152b4a!important;font-size:12px!important;font-family:"Lora",Georgia,serif;
}
.ipo-header-search-fields input::placeholder{color:#677d91;opacity:1}
.ipo-header-search-fields button,.ipo-account-primary-link{
  border:0!important;border-radius:10px!important;background:linear-gradient(110deg,#00884f,#04a565)!important;
  color:#fff!important;text-decoration:none!important;font-weight:700!important;
  box-shadow:0 5px 12px rgba(0,119,70,.17)!important;cursor:pointer;
  transition:transform .2s ease,filter .2s ease!important;
}
.ipo-header-search-fields button{height:40px!important;padding:0 15px!important;font-size:12px!important;white-space:nowrap}
.ipo-header-search-fields button:hover,.ipo-account-primary-link:hover{transform:translateY(-2px);filter:brightness(.95)}
.ipo-account-caption{font-size:10px;color:#60778e;font-weight:600;letter-spacing:.15px}
.ipo-account-name{font-size:15px!important;color:#102743!important;font-weight:700!important;line-height:1.3!important;margin:2px 0 13px!important;overflow-wrap:anywhere}
.ipo-account-primary-link{display:flex;align-items:center;justify-content:space-between;padding:10px 13px!important;font-size:12px!important}
.ipo-account-secondary-link{display:block;margin:12px 0 0!important;color:#127548!important;text-decoration:none!important;font-size:11.5px;font-weight:600}
.ipo-account-secondary-link:hover{text-decoration:underline!important}
/* Custom Elementor landing header extends above the hero. */
.ipo-app[data-ipx-section="header"] {overflow:visible!important;position:relative;z-index:90!important}
.ipo-app .ipo-header{overflow:visible!important;z-index:60!important}
.ipo-app .ipo-header-inner{overflow:visible!important}
.ipo-app .ipo-header-actions{overflow:visible!important}
/* Search pages, posts and standard WordPress pages use the same real tools. */
.ipo-default-header{position:relative;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ipo-default-header .ipo-default-brand{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:20px}
.ipo-default-header .ipo-header-tools{gap:10px}
.ipo-standard-content.ipo-search-results{max-width:900px;margin-top:48px}
.ipo-search-eyebrow{display:inline-flex;background:#e4f5ec;color:#128654;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700}
.ipo-search-results h1{font-size:clamp(26px,3.6vw,38px);line-height:1.15}
.ipo-search-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.ipo-search-result{min-width:0;padding:22px;border:1px solid #dcebe7;border-radius:18px;background:#fff;box-shadow:0 9px 25px #173b5c0c;transition:transform .25s ease,box-shadow .25s ease}
.ipo-search-result:hover{transform:translateY(-3px);box-shadow:0 13px 30px #173b5c16}
.ipo-search-result h2{font-size:20px;line-height:1.25;margin:0 0 10px}
.ipo-search-result p{font-size:13px;color:#425874;line-height:1.55}
.ipo-search-result .ipo-search-read-more{font-size:12px;font-weight:700;text-decoration:none}
.ipo-search-empty{max-width:570px}
.ipo-search-empty form{display:flex;gap:8px;flex-wrap:wrap}
.ipo-search-empty input[type="search"]{border:1px solid #b7ced0;border-radius:10px;padding:9px}
.ipo-search-empty input[type="submit"]{border:0;border-radius:10px;background:#069c59;color:white;padding:9px 16px;cursor:pointer}
@media(max-width:1030px){.ipo-app .ipo-nav{padding-left:7px;gap:0}.ipo-app .ipo-nav-link .ipo-button{padding:0 5px}}
@media(min-width:851px) and (max-width:975px){.ipo-app .ipo-header-cta{display:none}}
@media(max-width:850px){.ipo-app .ipo-header-actions{gap:8px}.ipo-app .ipo-nav{z-index:75!important}}
@media(max-width:620px){.ipo-app .ipo-header-actions{gap:6px}.ipo-header-tools{gap:5px}.ipo-header-search-panel{width:min(350px,calc(100vw - 28px))}}
@media(max-width:390px){.ipo-app .ipo-header-tool-button{width:32px!important;height:32px!important;min-width:32px;min-height:32px;padding:6px!important}.ipo-app .ipo-header-actions{gap:4px}}
@media(max-width:500px){.ipo-search-result-list{grid-template-columns:1fr}.ipo-default-header{padding:16px 14px}}
@media(prefers-reduced-motion:reduce){.ipo-header-popover{animation:none!important}.ipo-header-tool-button,.ipo-account-primary-link,.ipo-header-search-fields button{transition:none!important}}
/* Mobile header has a hamburger to the right of both tools. Align search with the viewport, not the magnifier. */
@media(max-width:850px){.ipo-app .ipo-header-search-panel{right:-76px}}
/* Native (non-Elementor) header has no hamburger, align to the account icon. */
.ipo-default-header .ipo-header-search-panel{right:-41px}


/* v3.6.0 header icon refresh */
.ipo-app .ipo-header-actions{gap:10px}
.ipo-header-tools{gap:9px}
.ipo-app .ipo-header-tool-button,
.ipo-default-header .ipo-header-tool-button{
  width:42px!important;height:42px!important;min-width:42px;min-height:42px;padding:0!important;
  border-radius:16px!important;border:1px solid rgba(18,46,86,.08)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%, rgba(241,247,251,.98) 100%)!important;
  box-shadow:0 12px 24px rgba(15,37,72,.08), inset 0 1px 0 rgba(255,255,255,.7)!important;
  color:#173158!important;
}
.ipo-header-tool-button:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.7), rgba(255,255,255,0) 45%);
}
.ipo-header-tool-button .ipo-header-tool-icon{width:20px;height:20px}
.ipo-header-tool-button svg{width:22px;height:22px;stroke-width:1.9}
.ipo-header-tool[open] > .ipo-header-tool-button,
.ipo-header-tool-button:hover{
  transform:translateY(-2px) scale(1.03);border-color:rgba(10,154,87,.24)!important;
  background:linear-gradient(180deg,#ffffff 0%, #eaf9f0 100%)!important;color:#0a9a57!important;
  box-shadow:0 18px 30px rgba(15,37,72,.12),0 0 0 6px rgba(10,154,87,.08)!important;
}
.ipo-account-status{bottom:6px;right:6px;width:8px;height:8px;border:2px solid #fff;box-shadow:0 0 0 2px rgba(10,154,87,.08)}
@media(max-width:390px){.ipo-app .ipo-header-tool-button{width:38px!important;height:38px!important;min-width:38px;min-height:38px}.ipo-header-tools{gap:7px}}
