/* Isolated CSS for vyh-faq. Source: Design Library draft. */
.vyh-faq summary { list-style: none; }
.vyh-faq summary::marker { content: ""; }
.vyh-faq__list > div { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.vyh-faq__header > * { margin-block: 0px !important; }
.vyh-faq__more-wrap { display: flex !important; justify-content: center !important; }
@media (max-width: 768px) {
.vyh-faq h2[class*="__heading"] { font-size: 25px !important; line-height: 1.25 !important; }
.vyh-faq [class*="__heading"], .vyh-faq [class*="__subtext"] { overflow-wrap: break-word !important; }
.vyh-faq[class*="vyh-"], .vyh-faq [class*="vyh-"] { min-width: 0px !important; }
.vyh-faq [class*="vyh-"][class*="__container"] { width: 100% !important; max-width: 100% !important; }
.vyh-faq { overflow-x: clip !important; }
}
.vyh-faq { width: 100%; background: rgb(255, 255, 255); padding: 20px 0px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.vyh-faq__container { max-width: 920px; margin: 0px auto; padding: 0px 40px; }
.vyh-faq__header { text-align: center; margin-bottom: 40px; }
.vyh-faq__heading { font-size: 36px; font-weight: 800; color: rgb(17, 24, 39); line-height: 1.2; margin-bottom: 12px; letter-spacing: -0.3px; }
.vyh-faq__subtext { font-size: 15px; color: rgb(107, 114, 128); line-height: 1.6; }
.vyh-faq__list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 14px; }
.vyh-faq__item { border: 1.5px solid rgb(236, 236, 236); border-radius: 12px; padding: 18px 24px; background: rgb(255, 255, 255); transition: box-shadow 0.2s, border-color 0.2s; }
.vyh-faq__item[open] { border-color: rgb(240, 217, 215); box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 18px; }
.vyh-faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 16px; font-weight: 700; color: rgb(17, 24, 39); }
.vyh-faq__item summary h3.vyh-faq__q { margin: 0px !important; padding: 0px !important; font-style: inherit !important; font-variant: inherit !important; font-weight: inherit !important; font-stretch: inherit !important; font-size: inherit !important; font-family: inherit !important; font-optical-sizing: inherit !important; font-size-adjust: inherit !important; font-kerning: inherit !important; font-feature-settings: inherit !important; font-variation-settings: inherit !important; font-language-override: inherit !important; color: inherit !important; line-height: 1.4 !important; }
.vyh-faq__item summary::-webkit-details-marker { display: none; }
.vyh-faq__item summary::after { content: "+"; font-size: 26px; font-weight: 300; color: rgb(156, 163, 175); line-height: 1; flex-shrink: 0; transition: transform 0.25s, color 0.2s; }
.vyh-faq__item[open] summary::after { transform: rotate(45deg); color: rgb(237, 26, 59); }
.vyh-faq__a { font-size: 14.5px; color: rgb(85, 85, 85); line-height: 1.7; margin: 14px 0px 0px; }
.vyh-faq__more { display: flex; flex-direction: column; text-align: center; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; background: none !important; padding: 0px !important; box-shadow: none !important; }
.vyh-faq__more > summary { order: 2; align-self: center; margin-top: 22px; list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; color: rgb(237, 26, 59); border: 1.5px solid rgb(237, 26, 59); background: rgb(255, 245, 245); font-weight: 700; font-size: 15px; padding: 12px 28px; border-radius: 50px; user-select: none; transition: background 0.2s, color 0.2s; }
.vyh-faq__more > summary:hover { background: rgb(237, 26, 59); color: rgb(255, 255, 255); }
.vyh-faq__more > summary::-webkit-details-marker { display: none; }
.vyh-faq__more > summary::marker { content: ""; }
.vyh-faq__more-hide { display: none; }
.vyh-faq__more[open] .vyh-faq__more-show { display: none; }
.vyh-faq__more[open] .vyh-faq__more-hide { display: inline; }
.vyh-faq__more-list { order: 1; display: flex; flex-direction: column; gap: 14px; margin-top: 0px; text-align: left; }
@media (max-width: 768px) {
.vyh-faq { padding: 20px 0px; }
.vyh-faq__container { padding: 0px 20px; }
.vyh-faq__heading { font-size: 26px; }
.vyh-faq__item summary { font-size: 15px; }
}
.vyh-faq__header { animation: 0.6s ease 0s 1 normal both running vyh-faq--vyhUp; }
.vyh-faq__item { transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
@media (prefers-reduced-motion: reduce) {
.vyh-faq__header { opacity: 1; animation: auto ease 0s 1 normal none running none; }
}
.vyh-faq, .vyh-faq * { -webkit-tap-highlight-color: transparent; }
@media (max-width: 768px) {
.vyh-faq [class*="vyh-"][class*="__heading"] { text-align: center !important; }
}

@keyframes vyh-faq--vyhUp { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: none; }
}
