.cherry-faq-widget .chfaq{--red:#b4000b;max-width:1280px;margin:auto;padding:55px 32px 65px}
.cherry-faq-widget .chfaq-inner{display:grid;grid-template-columns:38% 1fr;gap:34px}
.cherry-faq-widget .chfaq h2{font-size:28px;line-height:1.12;letter-spacing:-1.1px;margin:0;font-weight:750;max-width:280px}
.cherry-faq-widget .chfaq-list{display:grid;gap:12px}
.cherry-faq-widget .chfaq-item{border:1px solid #eee1e1;border-radius:12px;overflow:hidden;background:white;transition:border-color .25s,box-shadow .25s,transform .25s;animation:appear .55s both;animation-play-state:paused}
.cherry-faq-widget .chfaq.inview .chfaq-item{animation-play-state:running}
.cherry-faq-widget .chfaq-item:hover{border-color:#d5a3a6;box-shadow:0 5px 18px #9000000b;transform:translateY(-2px)}
.cherry-faq-widget .chfaq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;background:none;padding:18px 19px;text-align:left;font-size:14px;font-weight:600;color:#151515;cursor:pointer;font-family:inherit}
.cherry-faq-widget .chfaq-sign{display:grid;place-items:center;flex:none;width:17px;height:17px;background:var(--red);border-radius:2px;color:white;font-size:16px;line-height:1;transition:transform .3s}
.cherry-faq-widget .chfaq-item:hover .chfaq-sign{transform:rotate(90deg)}
.cherry-faq-widget .chfaq-item.open:hover .chfaq-sign{transform:none}
.cherry-faq-widget .chfaq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s ease}
.cherry-faq-widget .chfaq-item.open .chfaq-answer{grid-template-rows:1fr}
.cherry-faq-widget .chfaq-answer-inner{overflow:hidden}
.cherry-faq-widget .chfaq-answer p{margin:0;padding:0 52px 18px 19px;font-size:12px;line-height:1.55;color:#777}
.cherry-faq-widget .chfaq-item.open .chfaq-q{padding-bottom:8px}
.cherry-faq-widget .chfaq-title{min-height:75px}
.cherry-faq-widget .chfaq-title .char{display:inline-block;opacity:0;transform:translateY(9px);animation:write .35s forwards;animation-play-state:paused}
.cherry-faq-widget .chfaq.inview .chfaq-title .char{animation-play-state:running}
@keyframes  write{to{opacity:1;transform:translateY(0)}}
@keyframes  appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:700px){.cherry-faq-widget .chfaq{padding:36px 18px}
.cherry-faq-widget .chfaq-inner{grid-template-columns:1fr;gap:24px}
.cherry-faq-widget .chfaq h2{font-size:26px;max-width:none}
.cherry-faq-widget .chfaq-title{min-height:0}
.cherry-faq-widget .chfaq-q{font-size:13px;padding:17px 15px}
.cherry-faq-widget .chfaq-answer p{padding:0 35px 17px 15px}}
.cherry-faq-widget .chfaq .chfaq-q-text,.cherry-faq-widget .chfaq .chfaq-answer-text{display:block;overflow-wrap:anywhere}
.cherry-faq-widget .chfaq .chfaq-char{display:inline;opacity:0;transition:opacity .13s ease}
.cherry-faq-widget .chfaq .chfaq-char.chfaq-shown{opacity:1}
.cherry-faq-widget .chfaq .chfaq-q-text .chfaq-char{transition-duration:.12s}
.cherry-faq-widget .chfaq .chfaq-answer-text .chfaq-char{transition-duration:.11s}
.cherry-faq-widget .chfaq .chfaq-title .char{white-space:pre}
@media (prefers-reduced-motion:reduce){.cherry-faq-widget .chfaq .chfaq-char{opacity:1!important;transition:none!important}
.cherry-faq-widget .chfaq .chfaq-item,.cherry-faq-widget .chfaq .chfaq-title .char{animation:none!important;opacity:1!important;transform:none!important}}
.cherry-faq-widget .chfaq.chfaq-armed .chfaq-item{animation:none;opacity:1;transform:none}
.cherry-faq-widget .chfaq.chfaq-armed.inview .chfaq-item{animation:appear .6s both;animation-delay:var(--faq-delay,0ms)}
.cherry-faq-widget .chfaq .chfaq-title .char{animation:none;opacity:1;transform:none}
.cherry-faq-widget .chfaq.chfaq-armed .chfaq-title .char{opacity:0;transform:translateY(9px)}
.cherry-faq-widget .chfaq.chfaq-armed.inview .chfaq-title .char{animation:write .35s forwards;animation-delay:var(--letter-delay,0ms)}
.cherry-faq-widget .chfaq .chfaq-char{opacity:1}
.cherry-faq-widget .chfaq.chfaq-armed .chfaq-char:not(.chfaq-shown){opacity:0}
@media (prefers-reduced-motion:reduce){.cherry-faq-widget .chfaq.chfaq-armed .chfaq-title .char,.cherry-faq-widget .chfaq.chfaq-armed .chfaq-char{opacity:1!important;animation:none!important;transform:none!important}}
.cherry-faq-widget .chfaq .chfaq-sign{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 20px!important;width:20px!important;height:20px!important;padding:0!important;margin:0!important;border:0!important;border-radius:2px!important;background:var(--red)!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:0!important;line-height:1!important;position:relative;transform-origin:center center}
.cherry-faq-widget .chfaq .chfaq-sign::before,.cherry-faq-widget .chfaq .chfaq-sign::after{content:"";position:absolute;left:5px;right:5px;top:calc(50% - 1px);height:2px;background:#fff;border-radius:2px}
.cherry-faq-widget .chfaq .chfaq-sign::after{left:calc(50% - 1px);right:auto;top:5px;bottom:5px;width:2px;height:auto;transition:transform .2s ease,opacity .2s ease}
.cherry-faq-widget .chfaq .chfaq-item.open .chfaq-sign::after{opacity:0}
.cherry-faq-widget .chfaq .chfaq-item:hover .chfaq-sign{transform:rotate(90deg)}
.cherry-faq-widget .chfaq .chfaq-item.open:hover .chfaq-sign{transform:none}
.cherry-faq-widget{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;color:#161616;background:var(--chfaq-bg,#fff)}
.cherry-faq-widget *, .cherry-faq-widget *::before,.cherry-faq-widget *::after{box-sizing:border-box}
.cherry-faq-widget .chfaq{max-width:var(--chfaq-width,1280px);width:100%;}
.cherry-faq-widget .chfaq-title .char{white-space:pre-wrap}
.cherry-faq-widget .chfaq-q{font-family:inherit;line-height:1.5}
.cherry-faq-widget .chfaq-q-text{white-space:normal}
.cherry-faq-widget .chfaq-item{background:var(--chfaq-card,#fff);border-color:var(--chfaq-border,#eee1e1)}
.cherry-faq-widget .chfaq-sign{background:var(--red,#b4000b)!important}
.cherry-faq-widget .chfaq-title{color:var(--chfaq-heading,#161616)}
.cherry-faq-widget .chfaq-q{color:var(--chfaq-question,#151515)}
.cherry-faq-widget .chfaq-answer p{color:var(--chfaq-answer,#777)}
.cherry-faq-widget .chfaq.chfaq-no-hover .chfaq-item:hover{transform:none;box-shadow:none;border-color:var(--chfaq-border,#eee1e1)}
.cherry-faq-widget .chfaq.chfaq-no-hover .chfaq-item:hover .chfaq-sign{transform:none}
.cherry-faq-widget .chfaq.chfaq-no-write .chfaq-title .char,.cherry-faq-widget .chfaq.chfaq-no-write .chfaq-char{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
.cherry-faq-widget .chfaq.chfaq-no-enter .chfaq-item{opacity:1!important;transform:none!important;animation:none!important}
/* v1.2: Content remains visible even if Elementor delays or skips JS initialization. */
.cherry-faq-widget .chfaq .chfaq-item{animation:none;animation-play-state:running;opacity:1;transform:none}
.cherry-faq-widget .chfaq.chfaq-visible:not(.chfaq-no-enter) .chfaq-item{animation:chfaq-card-in .6s both;animation-delay:var(--faq-delay,0ms)}
@keyframes chfaq-card-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.cherry-faq-widget .chfaq .chfaq-q-text,.cherry-faq-widget .chfaq .chfaq-answer-text{opacity:1!important;visibility:visible!important}
.cherry-faq-widget .chfaq .chfaq-title{opacity:1!important;visibility:visible!important}
.cherry-faq-widget .chfaq .chfaq-item:hover{transform:translateY(-2px)}
.cherry-faq-widget .chfaq.chfaq-no-hover .chfaq-item:hover{transform:none}
/* Prevent theme button styles overriding FAQ controls */
.cherry-faq-widget .chfaq button.chfaq-q,.cherry-faq-widget .chfaq button.chfaq-q:hover,.cherry-faq-widget .chfaq button.chfaq-q:focus{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;box-shadow:none;text-transform:none;text-decoration:none;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.cherry-faq-widget .chfaq.chfaq-visible .chfaq-item{animation:none}}
/* v1.3: Text always visible until its individual animation begins. */
.cherry-faq-widget .chfaq .chfaq-title,.cherry-faq-widget .chfaq .chfaq-q-text,.cherry-faq-widget .chfaq .chfaq-answer-text{opacity:1!important;visibility:visible!important;color:inherit}
.cherry-faq-widget .chfaq .chfaq-title .char{opacity:1!important;animation:none!important;transform:none!important}
.cherry-faq-widget .chfaq .chfaq-writing .chfaq-letter{display:inline;opacity:0;animation:chfaq-letter-reveal .12s ease forwards;white-space:pre-wrap}
@keyframes chfaq-letter-reveal{to{opacity:1}}
.cherry-faq-widget .chfaq .chfaq-item:hover .chfaq-q-text,.cherry-faq-widget .chfaq .chfaq-item:focus-within .chfaq-q-text{color:var(--chfaq-question,#151515)!important;opacity:1!important;visibility:visible!important}
@media(prefers-reduced-motion:reduce){.cherry-faq-widget .chfaq .chfaq-writing .chfaq-letter{opacity:1;animation:none}}

/* v1.4: Theme hover/focus/active rules must never hide FAQ labels. */
.cherry-faq-widget .chfaq button.chfaq-q,
.cherry-faq-widget .chfaq button.chfaq-q:hover,
.cherry-faq-widget .chfaq button.chfaq-q:focus,
.cherry-faq-widget .chfaq button.chfaq-q:active,
.cherry-faq-widget .chfaq .chfaq-item.open button.chfaq-q,
.cherry-faq-widget .chfaq .chfaq-item.open button.chfaq-q:hover {
  color:var(--chfaq-question,#151515)!important;
  -webkit-text-fill-color:var(--chfaq-question,#151515)!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}
.cherry-faq-widget .chfaq button.chfaq-q .chfaq-q-text,
.cherry-faq-widget .chfaq button.chfaq-q:hover .chfaq-q-text,
.cherry-faq-widget .chfaq button.chfaq-q:focus .chfaq-q-text,
.cherry-faq-widget .chfaq button.chfaq-q .chfaq-q-text *,
.cherry-faq-widget .chfaq button.chfaq-q:hover .chfaq-q-text * {
  color:var(--chfaq-question,#151515)!important;
  -webkit-text-fill-color:var(--chfaq-question,#151515)!important;
  text-shadow:none!important;
}
/* Preserve the centered icon without inheriting text color. */
.cherry-faq-widget .chfaq button.chfaq-q .chfaq-sign {color:#fff!important;-webkit-text-fill-color:#fff!important}

/* v1.5: explicit editor-controlled hover colors, including Elementor/theme button resets. */
.cherry-faq-widget .chfaq .chfaq-item button.chfaq-q:is(:hover,:focus,:active),
.cherry-faq-widget .chfaq .chfaq-item.open button.chfaq-q {
 background:var(--chfaq-button-hover,#fff)!important;
 color:var(--chfaq-question-hover,#151515)!important;
 -webkit-text-fill-color:var(--chfaq-question-hover,#151515)!important;
}
.cherry-faq-widget .chfaq .chfaq-item button.chfaq-q:is(:hover,:focus,:active) .chfaq-q-text,
.cherry-faq-widget .chfaq .chfaq-item.open button.chfaq-q .chfaq-q-text,
.cherry-faq-widget .chfaq .chfaq-item button.chfaq-q:is(:hover,:focus,:active) .chfaq-q-text *,
.cherry-faq-widget .chfaq .chfaq-item.open button.chfaq-q .chfaq-q-text * {
 color:var(--chfaq-question-hover,#151515)!important;
 -webkit-text-fill-color:var(--chfaq-question-hover,#151515)!important;
 opacity:1!important; visibility:visible!important;
}
.cherry-faq-widget .chfaq .chfaq-item button.chfaq-q:is(:hover,:focus,:active) .chfaq-sign {background:var(--chfaq-icon-hover,#b60012)!important}
