/* Isolated CSS for vyh-smart. Source: Design Library draft. */
.vyh-smart summary { list-style: none; }
.vyh-smart summary::marker { content: ""; }
.vyh-smart .wp-block-group.is-layout-flex { gap: unset; align-items: unset; }
.vyh-smart figure.wp-block-image { margin: 0px !important; }
@media (min-width: 769px) {
figure.vyh-smart__card-img { display: none !important; }
.vyh-smart__card { cursor: default !important; }
}
.vyh-smart__header { text-align: center !important; }
.vyh-smart__header > * { margin-block: 0px !important; }
.vyh-smart__cards { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
.vyh-smart__cards > .wp-block-group { width: auto !important; }
.vyh-smart__card { display: flex !important; flex-direction: column !important; gap: 10px !important; }
figure.vyh-smart__card-img { margin: 0px !important; }
.vyh-smart__card-head { list-style: none; display: flex !important; flex-direction: column !important; gap: 10px !important; }
.vyh-smart__card-head::-webkit-details-marker { display: none; }
.vyh-smart__card-head::marker { content: ""; }
.vyh-smart__visual { display: flex !important; justify-content: center !important; }
figure.vyh-smart__big-img { width: 100% !important; max-width: 1000px !important; height: auto !important; margin: 0px auto !important; border-radius: 20px !important; overflow: hidden !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 8px 40px !important; display: block !important; }
figure.vyh-smart__big-img img { width: 100% !important; height: auto !important; display: block !important; border-radius: 20px !important; }
.vyh-smart__card-img-wrap { max-height: none !important; opacity: 1 !important; margin-top: 12px !important; }
@media (max-width: 768px) {
.vyh-smart__cards { grid-template-columns: 1fr !important; }
.vyh-smart__visual { display: none !important; }
.vyh-smart__card { cursor: pointer !important; }
figure.vyh-smart__card-img { margin-top: 14px !important; }
.vyh-smart__card[open] figure.vyh-smart__card-img { animation: 0.4s ease 0s 1 normal both running vyh-smart--vyhCardImgReveal; }
.vyh-smart h2[class*="__heading"] { font-size: 25px !important; line-height: 1.25 !important; }
.vyh-smart [class*="__heading"], .vyh-smart [class*="__card-title"] { overflow-wrap: break-word !important; }
.vyh-smart figure[class*="vyh-"] { max-width: 100% !important; }
.vyh-smart figure[class*="vyh-"] img { max-width: 100% !important; }
.vyh-smart[class*="vyh-"], .vyh-smart [class*="vyh-"] { min-width: 0px !important; }
.vyh-smart [class*="vyh-"][class*="__container"] { width: 100% !important; max-width: 100% !important; }
.vyh-smart { overflow-x: clip !important; }
}
.vyh-smart *, .vyh-smart ::before, .vyh-smart ::after { box-sizing: border-box; margin: 0px; padding: 0px; }
.vyh-smart { width: 100%; background: rgb(255, 255, 255); padding: 20px 0px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.vyh-smart__container { max-width: 1200px; margin: 0px auto; padding: 0px 40px; }
.vyh-smart__header { text-align: center; margin-bottom: 24px; }
.vyh-smart__badge-wrap { display: flex; justify-content: center; margin-bottom: 14px; }
.vyh-smart__badge { display: inline-flex; align-items: center; border: 1.5px solid rgb(237, 26, 59); color: rgb(237, 26, 59); border-radius: 50px; padding: 5px 18px; font-size: 13px; font-weight: 600; letter-spacing: 0.2px; }
.vyh-smart__heading { font-size: 36px; font-weight: 800; color: rgb(17, 17, 17); line-height: 1.2; letter-spacing: -0.3px; }
.vyh-smart__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.vyh-smart__card { background: rgb(255, 255, 255); border: 1.5px solid rgb(232, 232, 232); border-radius: 16px; padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; cursor: pointer; transition: box-shadow 0.25s, border-color 0.25s; }
.vyh-smart__card:hover { box-shadow: rgba(237, 26, 59, 0.12) 0px 4px 20px; border-color: rgb(237, 26, 59); }
.vyh-smart__card-tag { font-size: 12px; font-weight: 700; color: rgb(237, 26, 59); letter-spacing: 0.2px; }
.vyh-smart__card-title { font-weight: 700; color: rgb(17, 17, 17); line-height: 2; font-size: 18px !important; margin: 0px !important; }
.vyh-smart__card-desc { font-size: 13.5px; color: rgb(102, 102, 102); line-height: 2; flex: 1 1 0%; }
.vyh-smart__card-img-wrap { overflow: hidden; max-height: 0px; opacity: 0; margin-top: 0px; transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s, margin-top 0.35s; }
.vyh-smart__card:hover .vyh-smart__card-img-wrap { max-height: 260px; opacity: 1; margin-top: 12px; }
figure.vyh-smart__card-img { width: 100%; height: auto; border-radius: 8px; overflow: hidden; margin: 0px; }
figure.vyh-smart__card-img img { width: 100%; height: auto; display: block; border-radius: 8px; }
.vyh-smart__visual { margin-top: 8px; }
figure.vyh-smart__app-img { width: 100%; height: auto; border-radius: 20px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.18) 0px 8px 40px; margin: 0px; }
figure.vyh-smart__app-img img { width: 100%; height: auto; display: block; border-radius: 20px; }
@media (max-width: 992px) {
.vyh-smart__container { padding: 0px 24px; }
.vyh-smart__heading { font-size: 30px; }
.vyh-smart__card-title { font-size: 16px; }
}
@media (max-width: 768px) {
.vyh-smart { padding: 20px 0px; }
.vyh-smart__container { padding: 0px 20px; }
.vyh-smart__heading { font-size: 26px; }
.vyh-smart__cards { grid-template-columns: 1fr; gap: 14px; margin-bottom: 28px; }
.vyh-smart__card:hover .vyh-smart__card-img-wrap { max-height: 0px; opacity: 0; }
}
.vyh-smart__header { animation: 0.6s ease 0s 1 normal both running vyh-smart--vyhUp; }
.vyh-smart__visual { animation: 0.8s ease 0.15s 1 normal both running vyh-smart--vyhFade; }
.vyh-smart__card { transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
@media (prefers-reduced-motion: reduce) {
.vyh-smart__header, .vyh-smart__visual { opacity: 1; animation: auto ease 0s 1 normal none running none; }
}
.vyh-smart, .vyh-smart * { -webkit-tap-highlight-color: transparent; }
.vyh-smart img { max-width: 100%; height: auto; }
@media (max-width: 768px) {
.vyh-smart [class*="vyh-"][class*="__heading"], .vyh-smart [class*="vyh-"][class*="__badge-wrap"] { text-align: center !important; }
}

@keyframes vyh-smart--vyhCardImgReveal { 
  0% { opacity: 0; transform: translateY(30px) scale(0.96); }
  100% { opacity: 1; transform: none; }
}

@keyframes vyh-smart--vyhUp { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: none; }
}

@keyframes vyh-smart--vyhFade { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* Five-tab controls and editable content panels for the smart billing section. */
.vyh-smart__tabs {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 auto 40px !important;
}

p.vyh-smart__tab {
  display: inline-block !important;
  width: auto !important;
  margin: 6px 0 !important;
  padding: 8px 16px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  color: #6b7280 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  white-space: nowrap;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.25s ease !important;
}

p.vyh-smart__tab:hover,
p.vyh-smart__tab:focus-visible {
  border-color: rgba(236, 71, 100, 0.4) !important;
  color: #2b3040 !important;
  outline: none;
}

p.vyh-smart__tab--active,
p.vyh-smart__tab--active:hover,
p.vyh-smart__tab--active:focus-visible {
  border-color: #ed1a3b !important;
  background: linear-gradient(135deg, #ed1a3b 0%, #d93a57 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px -2px rgba(236, 71, 100, 0.35) !important;
}

.vyh-smart__panel {
  display: none !important;
}

.vyh-smart__panel--active {
  display: block !important;
}

.vyh-smart__card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  height: 100%;
}

.vyh-smart__card-tag {
  display: none !important;
}

@media (max-width: 767px) {
  .vyh-smart__tabs {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    margin-bottom: 24px !important;
    scrollbar-width: none !important;
  }

  .vyh-smart__tabs::-webkit-scrollbar {
    display: none !important;
  }

  p.vyh-smart__tab {
    flex: 0 0 auto !important;
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}