/* Isolated CSS for vyh-feat. Source: Design Library draft. */
.vyh-feat summary { list-style: none; }
.vyh-feat summary::marker { content: ""; }
.vyh-feat .wp-block-group.is-layout-flex { gap: unset; align-items: unset; }
.vyh-feat__grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; }
.vyh-feat__grid > .wp-block-group { width: auto !important; max-width: none !important; }
p.vyh-feat__badge-wrap { margin-block: 0px !important; }
.vyh-feat figure.wp-block-image { margin: 0px !important; }
.vyh-feat__grid { gap: 16px !important; }
.vyh-feat__card { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.vyh-feat__card > .wp-block-group, .vyh-feat__card > .wp-block-paragraph { width: auto !important; margin-block: 0px !important; }
.vyh-feat__card-header { display: flex !important; align-items: center !important; gap: 14px !important; }
.vyh-feat__card-header > figure.wp-block-image, .vyh-feat__card-header > .wp-block-image { flex-shrink: 0 !important; width: auto !important; margin: 0px !important; }
.vyh-feat__card-header > .wp-block-heading { min-width: 0px; flex: 1 1 0% !important; width: auto !important; margin-block: 0px !important; }
figure.vyh-feat__icon { width: 48px !important; height: 48px !important; flex-shrink: 0 !important; border-radius: 10px !important; overflow: hidden !important; margin: 0px !important; }
figure.vyh-feat__icon img { width: 48px !important; height: 48px !important; display: block !important; border-radius: 10px !important; }
p.vyh-feat__card-desc { margin-block: 0px !important; }
.vyh-feat__more { display: none; margin-top: 10px; 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-feat__more summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 16px; color: rgb(26, 26, 46); padding: 10px 16px; user-select: none; }
.vyh-feat__more summary::-webkit-details-marker { display: none; }
.vyh-feat__more summary::marker { content: ""; }
.vyh-feat__more summary::after { content: ""; width: 16px; height: 16px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231a1a2e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center center / contain no-repeat; transition: transform 0.2s; }
.vyh-feat__more[open] summary::after { transform: rotate(180deg); }
.vyh-feat__more-less { display: none; }
.vyh-feat__more[open] .vyh-feat__more-more { display: none; }
.vyh-feat__more[open] .vyh-feat__more-less { display: inline; }
@media (max-width: 768px) {
.vyh-feat__grid { grid-template-columns: 1fr !important; }
.vyh-feat__card:nth-child(n+5) { display: none !important; }
.vyh-feat__more { display: block !important; }
.vyh-feat__container:has(.vyh-feat__more[open]) .vyh-feat__card { display: flex !important; }
.vyh-feat h2[class*="__heading"] { font-size: 25px !important; line-height: 1.25 !important; }
.vyh-feat [class*="__heading"], .vyh-feat [class*="__card-title"] { overflow-wrap: break-word !important; }
.vyh-feat figure[class*="vyh-"] { max-width: 100% !important; }
.vyh-feat figure[class*="vyh-"] img { max-width: 100% !important; }
.vyh-feat[class*="vyh-"], .vyh-feat [class*="vyh-"] { min-width: 0px !important; }
.vyh-feat [class*="vyh-"][class*="__container"] { width: 100% !important; max-width: 100% !important; }
.vyh-feat { overflow-x: clip !important; }
}
@media (max-width: 440px) {
.vyh-feat__grid { grid-template-columns: 1fr !important; }
}
.vyh-feat *, .vyh-feat ::before, .vyh-feat ::after { box-sizing: border-box; margin: 0px; padding: 0px; }
.vyh-feat { width: 100%; background: rgb(255, 245, 245); padding: 20px 0px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.vyh-feat__container { max-width: 1200px; margin: 0px auto; padding: 0px 40px; }
.vyh-feat__badge-wrap { text-align: center; margin-bottom: 18px; }
.vyh-feat__badge { display: inline-block; border: 1.5px solid rgb(237, 26, 59); color: rgb(237, 26, 59); font-size: 13px; font-weight: 600; padding: 6px 20px; border-radius: 20px; background: transparent; letter-spacing: 0.01em; }
.vyh-feat__heading { text-align: center; font-size: 30px; font-weight: 800; color: rgb(17, 17, 17); line-height: 1.2; margin-bottom: 36px; letter-spacing: -0.3px; }
.vyh-feat__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.vyh-feat__card { background: rgb(255, 255, 255); border: 1.5px solid rgb(238, 238, 238); border-radius: 14px; padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 12px; transition: box-shadow 0.2s, border-color 0.2s, background 0.2s; }
.vyh-feat__card:hover { background: rgb(255, 240, 240); border-color: rgb(237, 26, 59); box-shadow: rgba(0, 0, 0, 0.07) 0px 4px 20px; }
.vyh-feat__icon img { display: block; border-radius: 10px; width: 100% !important; height: 100% !important; }
.vyh-feat__card-header > div { display: flex; align-items: center; gap: 14px; margin-bottom: 20px !important; }
.vyh-feat__icon { width: 48px; height: 48px; flex-shrink: 0; border-radius: 10px; display: block; }
.vyh-feat__card-title { font-weight: 700; color: rgb(17, 17, 17); line-height: 1.35; font-size: 18px !important; margin-top: 0px !important; }
.vyh-feat__card-desc { font-size: 13.5px; color: rgb(85, 85, 85); line-height: 1.65; }
@media (max-width: 992px) {
.vyh-feat__container { padding: 0px 24px; }
.vyh-feat__heading { font-size: 30px; }
.vyh-feat__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 768px) {
.vyh-feat { padding: 20px 0px; }
.vyh-feat__container { padding: 0px 20px; }
.vyh-feat__heading { font-size: 26px; }
.vyh-feat__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.vyh-feat__card { padding: 18px; }
}
@media (max-width: 480px) {
.vyh-feat__grid { grid-template-columns: 1fr; }
.vyh-feat__card-title { font-size: 14px; }
}
.vyh-feat__badge-wrap, .vyh-feat__heading { animation: 0.6s ease 0s 1 normal both running vyh-feat--vyhUp; }
.vyh-feat__card { transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.vyh-feat__card:hover { transform: translateY(-4px); box-shadow: rgba(17, 17, 17, 0.08) 0px 12px 28px; }
@media (prefers-reduced-motion: reduce) {
.vyh-feat__badge-wrap, .vyh-feat__heading { opacity: 1; animation: auto ease 0s 1 normal none running none; }
.vyh-feat__card:hover { transform: none; }
}
.vyh-feat, .vyh-feat * { -webkit-tap-highlight-color: transparent; }
.vyh-feat img { max-width: 100%; height: auto; }
@media (max-width: 768px) {
.vyh-feat [class*="vyh-"][class*="__heading"], .vyh-feat [class*="vyh-"][class*="__badge-wrap"] { text-align: center !important; }
}

@keyframes vyh-feat--vyhUp { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: none; }
}
