
/* Kensai Chef project-specific extensions on validated site structure */
:root{--kensai-cta:#FFCD5A;}
.block-img video,.sq-img video{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;
}
.faq-accordion{
  max-width:920px;margin:28px auto 0;display:flex;flex-direction:column;gap:10px;
}
.faq-accordion-item{
  background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;
}
.faq-accordion-heading{margin:0}
.faq-accordion-trigger{
  width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 18px;border:0;background:#fff;color:var(--ink);text-align:left;font:inherit;font-size:15px;
  font-weight:800;line-height:1.35;cursor:pointer;
}
.faq-accordion-trigger:hover,.faq-accordion-trigger:focus-visible{background:var(--brand-soft)}
.faq-accordion-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.faq-accordion-icon{
  flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:var(--brand-soft);color:var(--brand-2);font-size:21px;font-weight:700;
  line-height:1;transition:transform .2s ease;
}
.faq-accordion-trigger[aria-expanded="true"] .faq-accordion-icon{
  transform:rotate(45deg);background:var(--brand);color:#fff;
}
.faq-accordion-panel{padding:0 18px 18px;color:var(--muted)}
.faq-accordion-panel p{margin:0;font-size:15px;line-height:1.65}
/* User-authorized CTA color */
.cta-btn,.offer-card-cta,.offer-cta,.offer-bar-cta{
  background:#FFCD5A !important;border-color:#FFCD5A !important;color:#20252b !important;
  -webkit-text-fill-color:#20252b !important;
}
.cta-btn:hover,.offer-card-cta:hover,.offer-cta:hover,.offer-bar-cta:hover{
  filter:brightness(.96);
}
.offer-card-image{border-color:#FFCD5A !important}
/* Keep added media blocks in the same validated square slots */
#cleaning .block-img,#daily-use .block-img,#flexibility .block-img{overflow:hidden}
@media(max-width:560px){
  .faq-accordion{margin-top:20px}
  .faq-accordion-trigger{padding:14px 15px;font-size:14px}
  .faq-accordion-panel{padding:0 15px 15px}
}


/* Kensai Chef audited contrast rules */
.flexibility-cta{margin-top:24px}
.flexibility-cta .cta-btn{display:inline-flex;align-items:center;justify-content:center}

.cta-btn,.offer-card-cta,.offer-cta,.offer-bar-cta{
  background:#FFCD5A !important;
  border-color:#FFCD5A !important;
  color:#20252b !important;
  -webkit-text-fill-color:#20252b !important;
}
.cta-btn *,.offer-card-cta *,.offer-cta *,.offer-bar-cta *{
  color:#20252b !important;
  -webkit-text-fill-color:#20252b !important;
}
.cta-btn:hover,.offer-card-cta:hover,.offer-cta:hover,.offer-bar-cta:hover{filter:brightness(.96)}

.block.white .title,.block.gray .title,.block.gray-2 .title,
.block.white .block-content,.block.gray .block-content,.block.gray-2 .block-content{
  color:var(--ink);
}
.block.white .lead,.block.gray .lead,.block.gray-2 .lead{color:var(--muted)}
.block.white .eyebrow,.block.gray .eyebrow,.block.gray-2 .eyebrow{
  color:var(--brand-2);
  background:var(--brand-soft);
}

.offer-section.dark{color:#fff}
.offer-section.dark .offer-title{color:#fff !important}
.offer-section.dark .offer-subtitle{color:#dbe4ee !important}
.offer-section.dark .eyebrow{
  color:#f4f7fb !important;
  background:rgba(255,255,255,.10) !important;
}

.kensai-contrast-card{
  background:#3b4c5e !important;
  border-color:#667b91 !important;
  color:#fff !important;
}
.kensai-contrast-card .offer-card-badge,
.kensai-contrast-card .offer-card-claim,
.kensai-contrast-card .offer-card-title,
.kensai-contrast-card .offer-card-text,
.kensai-contrast-card .offer-card-sub{
  color:#fff !important;
}
.kensai-contrast-card .off-highlight{color:#fff !important}
.kensai-contrast-card .offer-card-note{
  background:#f7f9fb !important;
  border-color:#d6dee7 !important;
  color:#24313f !important;
}
.kensai-contrast-card .offer-card-note *{color:#24313f !important}

.flag-card .flag-img{
  display:flex;
  align-items:center;
  justify-content:center;
}
.flag-card .flag-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

