/* IpoTeco v3.7.7 | distinctive 2026 SVGs, accessible FAQs and purposeful motion.
   Layout-only change: FAQ expands in document flow, never overlaps next banner.
   Scope excludes the homepage; Elementor content and media are untouched. */

/* 01 — FIX: calculator focus used to show two green crescents because the
   global theme applied an oversized shadow to a rounded input, clipped by its
   narrower parent. Preserve a subtle single keyboard indication on the box. */
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input {
  border-radius:7px!important; transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input:focus-within {
  border-color:#9ccfba!important; background:#fff!important;
  box-shadow:0 0 0 2px rgba(0,142,86,.075)!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input input,
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input input:focus,
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input input:focus-visible {
  outline:0!important;outline-offset:0!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;background:transparent!important;
  appearance:none;-webkit-appearance:none;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-term select:focus,
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-term select:focus-visible {
  outline:0!important;box-shadow:none!important;border:0!important;
  background:#fff!important;
}
body .ipo-app.ipx-mortgage-root .ipm-calculator {
  transition:box-shadow .38s cubic-bezier(.2,.78,.18,1),border-color .38s ease,translate .38s ease;
  border-color:#e5eee9;
}
@media(hover:hover) and (pointer:fine){
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-calculator:hover{
    box-shadow:0 20px 44px rgba(9,71,62,.21),0 0 0 1px rgba(21,162,108,.12);
    border-color:#cde9dc;
    translate:0 -2px;
  }
}

/* 02 — FIX: native <details> need their own height; in v3.7.6 a hard-coded
   113px FAQ clipped answers and made following CTA float over the questions. */
body .ipo-app.ipx-mortgage-root .ipm.ipm-faq {
  display:grid!important;grid-template-columns:minmax(0,325px) minmax(0,1fr)!important;
  align-items:start!important;column-gap:38px!important;
  height:auto!important;min-height:237px!important;
  padding:17px 43px 26px!important;overflow:visible!important;
  background:linear-gradient(138deg,#fff 0%,#fff 58%,#f9fdfb 100%);
  border-top:1px solid #f0f5f2;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro {
  position:relative!important;inset:auto!important;
  width:auto!important;max-width:100%!important;margin:0!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro h2 {
  font-size:20.5px!important;line-height:1.15!important;letter-spacing:-.8px;
  white-space:normal!important;margin:9px 0 9px!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro p {
  font-size:11.3px!important;line-height:1.48!important;max-width:300px!important;
  color:#687c96!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro>a {
  margin-top:14px!important;font-size:10.4px!important;color:#007d50!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-list {
  position:relative!important;inset:auto!important;
  width:100%!important;min-width:0!important;
  display:flex!important;flex-direction:column!important;gap:7px!important;
  margin:0!important;overflow:visible!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item {
  position:relative!important;z-index:1!important;
  display:block!important;height:auto!important;max-height:none!important;
  min-height:0!important;margin:0!important;
  border:1px solid #e4eceb!important;border-radius:10px!important;
  background:linear-gradient(135deg,#fff,#fcfefd)!important;
  box-shadow:0 2px 7px rgba(16,64,69,.035)!important;
  overflow:hidden!important;
  transition:border-color .24s ease,background-color .24s ease,box-shadow .3s ease;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;min-height:34px!important;
  font-size:10.7px!important;font-weight:690!important;line-height:1.37!important;
  color:#203959!important;letter-spacing:-.08px;
  padding:7px 11px 7px 14px!important;
  list-style:none!important;cursor:pointer;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary::-webkit-details-marker {display:none}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary::marker {content:""}
/* 2026 vector-inspired +/- control; no font glyph or rotated X overlays. */
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span {
  position:relative!important;flex:0 0 23px!important;
  display:grid!important;place-items:center!important;
  width:23px!important;height:23px!important;
  color:transparent!important;font-size:0!important;line-height:0!important;
  background:#eaf8f1;border:1px solid #d6efe2;border-radius:8px;
  transform:none!important;transition:background .25s ease,transform .25s ease;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span::before,
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span::after {
  content:"";position:absolute;left:6px;top:10px;width:9px;height:1.7px;
  background:#048956;border-radius:2px;
  transition:transform .23s ease;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span::after {transform:rotate(90deg)}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] {
  z-index:2!important;border-color:#b6e5d0!important;
  background:#fff!important;
  box-shadow:0 9px 24px rgba(5,103,77,.09)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] summary {color:#006d47!important;}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] summary span {background:#d8f5e5;}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] summary span::after {transform:rotate(0)}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item .ipm-faq-answer {
  position:static!important;display:block;
  max-width:100%;font-size:10.5px!important;line-height:1.52!important;
  color:#5b718b!important;padding:0 16px 13px!important;
  white-space:normal!important;overflow-wrap:anywhere;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item:not([open]) .ipm-faq-answer {display:none!important;}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] .ipm-faq-answer {
  animation:ipm377AnswerIn .24s ease-out both;
}
@keyframes ipm377AnswerIn{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary:focus-visible {
  outline:2px solid #68ba95!important;outline-offset:-3px!important;border-radius:8px;
}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item:not([open]):hover {
  border-color:#c1e4d2!important;box-shadow:0 5px 17px rgba(18,95,79,.065)!important;
}

/* 03 — The refreshed house, agreement, shield, people and document pictograms
   are actual SVG paths in the Elementor defaults, not uneditable screenshots. */
body .ipo-app.ipx-mortgage-root .ipm svg.ipm-icon-v377 {
  display:block;width:100%;height:100%;overflow:visible;
  shape-rendering:geometricPrecision;flex-shrink:0;
  transition:transform .32s cubic-bezier(.2,.75,.2,1),filter .32s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-circle-icon {
  background:linear-gradient(145deg,#ffffff,#eafbf2 96%)!important;
  border:1px solid #dcefe6;
  box-shadow:0 6px 14px rgba(11,85,66,.06),inset 0 1px 0 rgba(255,255,255,.94);
  transition:transform .36s cubic-bezier(.18,.8,.22,1),box-shadow .36s ease,border-color .36s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-icon-arrow-v377 {
  width:15px!important;height:15px!important;stroke-width:2.1;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-arrow {
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-action-arrow {display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;}
body .ipo-app.ipx-mortgage-root .ipm .ipm-small-info svg.ipm-icon-v377 {width:16px!important;height:16px!important;}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-points svg.ipm-icon-v377 {stroke:none;background:transparent;padding:0;width:13px;height:13px;}

/* 04 — Premium microinteractions: hover glows, luminous borders, arrow motion.
   All are interaction-triggered, composited, and safe for touch devices. */
body .ipo-app.ipx-mortgage-root .ipm .ipm-button {
  position:relative;isolation:isolate;overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,
    border-color .3s ease,background-position .34s ease!important;
  will-change:auto;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary {
  background:linear-gradient(108deg,#007d51,#08ad72 53%,#007c54)!important;
  background-size:160% 100%!important;
  border-color:#008351!important;
  box-shadow:0 7px 20px rgba(3,133,84,.22),inset 0 1px 0 #ffffff45!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-white {
  border-color:#d8e6e6!important;
  background:linear-gradient(135deg,#fff,#f5fdf9)!important;
  box-shadow:0 6px 16px rgba(16,64,69,.09),inset 0 1px 0 #fff!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button::before {
  content:"";position:absolute;z-index:-1;left:-75%;top:-75%;width:55%;height:250%;
  pointer-events:none;transform:rotate(23deg) translateX(-130%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-white::before {
  background:linear-gradient(90deg,transparent,rgba(50,177,133,.11),transparent);
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button svg.ipm-icon-arrow-v377 {transition:transform .25s ease;}
@media(hover:hover) and (pointer:fine){
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover {
    transform:translateY(-3px) scale(1.012)!important;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary:hover{
    background-position:100% 50%!important;
    box-shadow:0 14px 27px rgba(3,127,87,.28),inset 0 1px 0 #ffffff50!important;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button-white:hover {
    border-color:#a6d6c3!important;box-shadow:0 13px 24px rgba(10,108,79,.13)!important;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover::before{transform:rotate(23deg) translateX(550%);}
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover svg.ipm-icon-arrow-v377{transform:translateX(3px);}
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button:active{transform:translateY(0) scale(.985)!important;}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button:focus-visible{
  outline:2px solid #34a27d!important;outline-offset:3px!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card,
body .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card,
body .ipo-app.ipx-mortgage-root .ipm .ipm-document-card {
  position:relative;isolation:isolate;
  transition:transform .35s cubic-bezier(.2,.75,.22,1),border-color .35s ease,box-shadow .35s ease!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card::before,
body .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card::before,
body .ipo-app.ipx-mortgage-root .ipm .ipm-document-card::before {
  content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;opacity:0;z-index:-1;
  background:radial-gradient(170px circle at var(--ipm-pointer-x,50%) var(--ipm-pointer-y,10%),rgba(39,193,133,.09),transparent 75%);
  transition:opacity .3s ease;
}
@media(hover:hover) and (pointer:fine){
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card:hover,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card:hover,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-document-card:hover {
    transform:translateY(-5px);border-color:#b5e5d1!important;
    box-shadow:0 15px 32px rgba(10,93,72,.13)!important;z-index:3;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card:hover::before,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card:hover::before,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-document-card:hover::before{opacity:1}
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-benefit-item:hover .ipm-circle-icon,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-step:hover .ipm-circle-icon,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-document-card:hover .ipm-circle-icon,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card:hover .ipm-circle-icon {
    transform:translateY(-3px) rotate(-3deg);border-color:#a8dcca;
    box-shadow:0 10px 18px rgba(10,127,84,.14),inset 0 1px 0 #fff;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-benefit-item:hover svg.ipm-icon-v377,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-step:hover svg.ipm-icon-v377{transform:scale(1.09);}
}
/* Smooth, short entrances with no permanent moving background or loops. */
@keyframes ipm377Reveal{from{opacity:.55;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-v377-seen {
  animation:ipm377Reveal .48s cubic-bezier(.19,.75,.25,1) both;
  animation-delay:var(--ipm-entrance-delay,0ms);
}
/* Header keeps the exact Elementor widget/content; only active state moves. */
body .ipo-app .ipo-nav .ipo-nav-link.ipx-v377-current .ipo-button {
  color:#007e50!important;font-weight:760!important;
  background:linear-gradient(145deg,#e9f8f1,#f2fbf7)!important;
  border-radius:12px!important;
}
body .ipo-app .ipo-nav .ipo-nav-link.ipx-v377-current .ipo-button::after {
  content:"";position:absolute;left:27%;right:27%;bottom:2px;
  height:2px;background:#009960;border-radius:2px;transform:scaleX(1);
}

/* Responsive layout: the questions stack and ALWAYS push CTA below them. */
@media(max-width:850px){
  body .ipo-app.ipx-mortgage-root .ipm.ipm-faq {
    display:block!important;min-height:0!important;
    padding:24px 23px 30px!important;
  }
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-list{margin-top:19px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro h2{font-size:22px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro p{font-size:11.5px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary{
    min-height:41px!important;font-size:11.1px!important;padding:9px 12px 9px 14px!important;
  }
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-answer{font-size:11px!important;}
}
@media(max-width:620px){
  body .ipo-app.ipx-mortgage-root .ipm.ipm-faq {padding:23px 17px 28px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro h2{font-size:22px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary{font-size:11.5px!important;}
  body .ipo-app.ipx-mortgage-root .ipm .ipm-button::before{display:none;}
}
@media(prefers-reduced-motion:reduce){
  body .ipo-app.ipx-mortgage-root .ipm .ipm-v377-seen,
  body .ipo-app.ipx-mortgage-root .ipm .ipm-faq-item[open] .ipm-faq-answer{animation:none!important;}
  body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-button,.ipm-bank-card,.ipm-transparent-card,.ipm-document-card,.ipm-circle-icon,.ipm-icon-v377,.ipm-calculator),
  body .ipo-app.ipx-mortgage-root .ipm .ipm-faq-item{transition:none!important;}
}

/* Historical bottom leaf asset was a screenshot crop containing the printed
   words "Vezi toate" in its upper half. Display only its botanical bottom area
   until an independent clean leaf illustration is provided in Elementor. */
body .ipo-app.ipx-mortgage-root .ipm-cta .ipm-cta-leaves {
  top:8px!important;left:0!important;width:95px!important;height:54px!important;
  object-fit:cover!important;object-position:center bottom!important;
  opacity:.58!important;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 60%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 60%,transparent 100%);
}
