:root {
  --iwc-radius-sm: 18px;
  --iwc-radius: 28px;
  --iwc-radius-lg: 42px;
  --iwc-shadow: 0 24px 70px rgba(24, 32, 24, .10);
  --iwc-border: 1px solid rgba(24, 32, 24, .12);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body, .wp-site-blocks { margin: 0; }
.wp-site-blocks { padding: 0; }

.iwc-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}
.admin-bar .iwc-header { top: 32px; }
.iwc-header .wp-block-site-title a { color: #fff; }
.iwc-main-nav a { color: rgba(255,255,255,.88) !important; }
.iwc-main-nav a:hover { color: #c8dc7a !important; }
.iwc-main-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: #26352a !important;
  color: #fff !important;
  padding: 32px;
}
.iwc-main-nav .wp-block-navigation__responsive-container-close,
.iwc-main-nav .wp-block-navigation__responsive-container-open { color: #fff; }

.iwc-hero {
  padding: clamp(52px, 8vw, 112px) clamp(22px,4vw,64px) 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.iwc-hero::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: rgba(200,220,122,.10);
  filter: blur(2px);
  right: -180px;
  top: -210px;
  z-index: -1;
}
.iwc-hero-grid { gap: clamp(38px, 7vw, 110px) !important; }
.iwc-eyebrow {
  margin: 0 0 18px;
  font-size: .77rem;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.iwc-hero-title {
  max-width: 900px;
  margin: 0;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}
.iwc-hero-title em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  color: #c8dc7a;
  letter-spacing: -.06em;
}
.iwc-hero-lead { max-width: 660px; margin-top: 28px; }
.iwc-hero-actions { margin-top: 34px; gap: 12px; }
.iwc-hero-photo img {
  width: 100%;
  border-radius: 40px 40px 0 0;
  box-shadow: 0 30px 90px rgba(0,0,0,.22);
  display: block;
}
.iwc-benefits {
  margin-top: clamp(46px, 6vw, 86px) !important;
  border-top: 1px solid rgba(255,255,255,.13);
  padding: 34px 0 44px;
  gap: 0 !important;
}
.iwc-benefits > .wp-block-column {
  padding: 0 clamp(18px, 2.5vw, 34px);
  border-left: 1px solid rgba(255,255,255,.12);
}
.iwc-benefits > .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.iwc-benefit-icon { font-size: 1.75rem; margin: 0 0 22px; line-height: 1; }
.iwc-benefits h3 { margin-bottom: 10px; }

.iwc-section { padding: clamp(76px, 9vw, 128px) clamp(22px,4vw,64px); }
.iwc-section-title { max-width: 920px; margin-top: 0; text-wrap: balance; }
.iwc-about-photo img {
  width: 100%;
  border-radius: 220px 220px 34px 34px;
  box-shadow: var(--iwc-shadow);
}
.iwc-stats { margin-top: 46px; gap: 12px !important; }
.iwc-stats .wp-block-column {
  border-top: var(--iwc-border);
  padding-top: 18px;
}
.iwc-stats h3, .iwc-stats p { margin: 0; }
.iwc-stats h3 { color: #84946f; }

.iwc-section-head { margin-bottom: 42px !important; gap: 28px; }
.iwc-head-copy { max-width: 360px; }
.iwc-audience-grid { gap: 22px !important; }
.iwc-audience-card {
  background: #fffdf8;
  border-radius: 30px;
  padding: 14px 14px 28px;
  border: var(--iwc-border);
  box-shadow: 0 12px 34px rgba(24,32,24,.04);
  transition: transform .25s ease, box-shadow .25s ease;
}
.iwc-audience-card:hover { transform: translateY(-6px); box-shadow: var(--iwc-shadow); }
.iwc-audience-card figure { margin: 0 0 26px; }
.iwc-audience-card img { width: 100%; border-radius: 22px; display: block; }
.iwc-audience-card h3, .iwc-audience-card p { margin-left: 12px; margin-right: 12px; }
.iwc-centered-action { justify-content: center; margin-top: 40px; }

.iwc-certificates { padding: 72px clamp(22px,4vw,64px); }
.iwc-cert-grid { margin-top: 42px !important; gap: 0 !important; }
.iwc-cert-grid > .wp-block-column {
  text-align: center;
  padding: 24px;
  border-left: var(--iwc-border);
}
.iwc-cert-grid > .wp-block-column:first-child { border-left: 0; }
.iwc-cert-mark {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  background: #f4f0e8;
  color: #84946f;
  border: 1px solid #d9d6cc;
  font-weight: 800;
  letter-spacing: .08em;
}

.iwc-process { position: relative; }
.iwc-process-grid { margin-top: 56px !important; gap: 0 !important; position: relative; }
.iwc-process-grid::before {
  content: "";
  position: absolute;
  top: 27px;
  left: 5%;
  right: 5%;
  height: 1px;
  background: rgba(200,220,122,.35);
}
.iwc-process-grid > .wp-block-column { padding: 0 18px; position: relative; }
.iwc-step-number {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(200,220,122,.6);
  background: #26352a;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: .78rem;
  font-weight: 800;
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
}

.iwc-testimonial-grid { gap: 22px !important; }
.iwc-quote-card {
  background: #fffdf8;
  border-radius: 28px;
  padding: clamp(28px,4vw,44px);
  border: 1px solid rgba(24,32,24,.10);
}
.iwc-stars { color: #84946f; letter-spacing: .18em; font-size: .86rem; }

.iwc-narrow-copy { max-width: 720px; margin-left: auto; margin-right: auto; }
.iwc-pricing-grid { margin-top: 48px !important; gap: 22px !important; align-items: stretch !important; }
.iwc-price-card {
  padding: clamp(30px,4vw,46px);
  border-radius: 32px;
  border: var(--iwc-border);
  background: #f4f0e8;
  display: flex;
  flex-direction: column;
}
.iwc-price-featured { transform: translateY(-14px); box-shadow: 0 24px 70px rgba(24,32,24,.16); }
.iwc-plan-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 800; }
.iwc-price { margin: 22px 0 26px; }
.iwc-feature-list { margin: 0 0 30px; padding-left: 0; list-style: none; flex-grow: 1; }
.iwc-feature-list li { padding: 13px 0 13px 28px; border-top: 1px solid rgba(24,32,24,.12); position: relative; }
.iwc-price-featured .iwc-feature-list li { border-color: rgba(255,255,255,.15); }
.iwc-feature-list li::before { content: "✓"; position: absolute; left: 0; color: #84946f; font-weight: 800; }
.iwc-price-featured .iwc-feature-list li::before { color: #c8dc7a; }

.iwc-faq-list .wp-block-details { border-top: 1px solid rgba(24,32,24,.18); padding: 22px 0; }
.iwc-faq-list .wp-block-details:last-child { border-bottom: 1px solid rgba(24,32,24,.18); }
.iwc-faq-list summary { cursor: pointer; font-weight: 700; font-size: 1.18rem; list-style: none; padding-right: 40px; position: relative; }
.iwc-faq-list summary::-webkit-details-marker { display: none; }
.iwc-faq-list summary::after { content: "+"; position: absolute; right: 4px; top: -7px; font-size: 1.9rem; font-weight: 300; color: #84946f; }
.iwc-faq-list details[open] summary::after { content: "−"; }
.iwc-faq-list details p { color: #6d746e; max-width: 760px; padding-right: 40px; }

.iwc-cta { overflow: hidden; }
.iwc-cta-grid { gap: clamp(40px,7vw,100px) !important; }
.iwc-cta-photo img { width: 100%; display: block; border-radius: 220px 220px 32px 32px; }

.iwc-blog-query .wp-block-post-template { gap: 24px; }
.iwc-post-card {
  background: #f4f0e8;
  border-radius: 28px;
  padding: 14px 14px 30px;
  height: 100%;
}
.iwc-post-card > *:not(.wp-block-post-featured-image) { margin-left: 12px; margin-right: 12px; }
.iwc-post-card .wp-block-post-featured-image { margin-top: 0; }
.iwc-post-card .wp-block-post-featured-image img { border-radius: 20px; }
.iwc-post-card .wp-block-post-terms { margin-top: 22px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }

.iwc-footer a { color: #fff; }
.iwc-footer a:hover { color: #c8dc7a; }
.iwc-footer-links { list-style: none; padding-left: 0; }
.iwc-footer-links li { margin-bottom: 8px; }

.iwc-content-shell { padding: clamp(70px,9vw,120px) clamp(22px,4vw,64px); min-height: 65vh; }
.iwc-content-shell > .wp-block-post-title:first-child,
.iwc-content-shell > .wp-block-query-title:first-child { margin-top: 0; margin-bottom: 50px; }
.iwc-single .wp-block-post-title { max-width: 1000px; margin-left: auto; margin-right: auto; }
.iwc-single > .wp-block-post-featured-image { margin-top: 52px; margin-bottom: 52px; }
.iwc-single .wp-block-post-content { font-size: 1.08rem; }
.iwc-single .wp-block-post-content h2 { margin-top: 2.4em; }
.iwc-404 { min-height: 70vh; padding: clamp(90px,12vw,170px) 24px; display: flex; flex-direction: column; justify-content: center; }
.iwc-404 h1 { margin: 0; }
.iwc-404 > * { max-width: 780px; margin-left: auto; margin-right: auto; }

.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; }
.wp-block-button__link { transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }

@media (max-width: 1000px) {
  .iwc-header .wp-block-buttons { display: none; }
  .iwc-hero-grid, .iwc-cta-grid { flex-wrap: wrap !important; }
  .iwc-hero-grid > .wp-block-column, .iwc-cta-grid > .wp-block-column { flex-basis: 100% !important; }
  .iwc-hero-photo { max-width: 620px; margin: 20px auto 0; }
  .iwc-benefits { flex-wrap: wrap !important; }
  .iwc-benefits > .wp-block-column { flex-basis: 50% !important; padding: 24px !important; border-left: 0; border-top: 1px solid rgba(255,255,255,.10); }
  .iwc-process-grid { flex-wrap: wrap !important; gap: 32px 0 !important; }
  .iwc-process-grid::before { display: none; }
  .iwc-process-grid > .wp-block-column { flex-basis: 33.333% !important; }
  .iwc-cert-grid { flex-wrap: wrap !important; }
  .iwc-cert-grid > .wp-block-column { flex-basis: 50% !important; border-top: var(--iwc-border); }
  .iwc-price-featured { transform: none; }
}

@media (max-width: 781px) {
  .admin-bar .iwc-header { top: 46px; }
  .iwc-header { position: relative; top: auto; }
  .iwc-hero { padding-top: 52px; }
  .iwc-hero-title { font-size: clamp(3rem, 15vw, 5.2rem) !important; }
  .iwc-hero-lead { font-size: 1.05rem !important; }
  .iwc-benefits > .wp-block-column { flex-basis: 100% !important; padding: 24px 0 !important; }
  .iwc-about .wp-block-columns, .iwc-faq .wp-block-columns { gap: 48px !important; }
  .iwc-section-head { align-items: flex-start !important; }
  .iwc-audience-grid, .iwc-testimonial-grid, .iwc-pricing-grid { gap: 18px !important; }
  .iwc-process-grid > .wp-block-column { flex-basis: 100% !important; padding: 0 !important; }
  .iwc-process-grid > .wp-block-column + .wp-block-column { border-top: 1px solid rgba(255,255,255,.12); padding-top: 26px !important; }
  .iwc-cert-grid > .wp-block-column { flex-basis: 100% !important; border-left: 0; }
  .iwc-footer .wp-block-columns { gap: 34px !important; }
  .iwc-blog-query .wp-block-post-template { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .iwc-section { padding-left: 18px; padding-right: 18px; }
  .iwc-hero { padding-left: 18px; padding-right: 18px; }
  .iwc-hero-actions .wp-block-button { width: 100%; }
  .iwc-hero-actions .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
  .iwc-price-card { padding: 28px 22px; }
}

/* v0.2.0 — Chinese tutor refinements */
.iwc-benefit-icon { font-family: var(--wp--preset--font-family--sans); font-weight: 750; min-height: 30px; }
.iwc-benefits > .wp-block-column:last-child .iwc-benefit-icon { font-size: 1rem; letter-spacing: .08em; padding-top: 4px; }
.iwc-cert-mark { font-size: 1.05rem; }

/* v0.3.0 — full Chinese tutor site */
.iwc-page-intro { max-width: 920px; margin: 0 auto 64px; text-align: left; }
.iwc-page-intro h2 { margin-bottom: 24px; }
.iwc-detail-grid, .iwc-program-grid, .iwc-process-cards, .iwc-contact-grid { gap: 22px !important; margin-top: 28px !important; }
.iwc-info-card, .iwc-contact-card {
  background: #f4f0e8;
  border: var(--iwc-border);
  border-radius: 28px;
  padding: clamp(28px,4vw,44px);
  min-height: 220px;
  box-sizing: border-box;
}
.iwc-info-card-accent { background: #26352a; color: #fff; }
.iwc-info-card-accent h3 { color: #fff; }
.iwc-card-tag {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(24,32,24,.14);
  border-radius: 999px;
  padding: 0 12px;
  color: #84946f;
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .06em;
  margin-bottom: 24px;
}
.iwc-info-card-accent .iwc-card-tag { border-color: rgba(255,255,255,.2); color: #c8dc7a; }
.iwc-subsection-title { margin-top: clamp(70px,9vw,120px) !important; }
.iwc-note { background: #f4f0e8; border-radius: 22px; padding: 26px 30px; margin-top: 42px; }
.iwc-contact-banner { margin-top: 48px; border-radius: 32px; padding: clamp(32px,5vw,58px); }
.iwc-contact-banner h3 { margin-top: 0; }
.iwc-hsk-intro { position: relative; }
.iwc-hsk-intro::after {
  content: "汉语";
  position: absolute;
  right: -40px;
  top: -26px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4rem,10vw,8rem);
  color: rgba(132,148,111,.10);
  line-height: 1;
  pointer-events: none;
}
.iwc-content-shell .wp-block-post-content > .wp-block-group:first-child { margin-top: 0; }
.iwc-content-shell .wp-block-post-content { width: 100%; }
.iwc-content-shell .wp-block-post-content > .wp-block-columns,
.iwc-content-shell .wp-block-post-content > .wp-block-group,
.iwc-content-shell .wp-block-post-content > .wp-block-heading,
.iwc-content-shell .wp-block-post-content > .wp-block-quote { max-width: 1240px; margin-left: auto; margin-right: auto; }
.iwc-content-shell > .wp-block-post-title { max-width: 1240px; }

@media (max-width: 782px) {
  .iwc-detail-grid, .iwc-program-grid, .iwc-process-cards, .iwc-contact-grid { flex-wrap: wrap !important; }
  .iwc-detail-grid > .wp-block-column,
  .iwc-program-grid > .wp-block-column,
  .iwc-process-cards > .wp-block-column,
  .iwc-contact-grid > .wp-block-column { flex-basis: 100% !important; }
  .iwc-hsk-intro::after { right: 0; top: -12px; font-size: 5rem; }
}

/* v0.4.0 — premium Chinese tutor visual system */
.iwc-brand { gap: 10px !important; }
.iwc-brand .wp-block-site-title { line-height: 1; margin: 0; }
.iwc-brand-cn { margin: 3px 0 0; font-size: .62rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; opacity: .95; }
.iwc-header-row { min-height: 48px; }
.iwc-header-cta .wp-block-button__link { padding: 12px 21px; }

.iwc-hero-v4 { padding-top: clamp(56px,7vw,98px); }
.iwc-hero-v4::after {
  content: "中文";
  position: absolute;
  left: -24px;
  bottom: 100px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(5rem,12vw,11rem);
  line-height: 1;
  color: rgba(255,255,255,.025);
  z-index: -1;
}
.iwc-hero-v4 .iwc-hero-title { font-size: clamp(3.6rem,6.5vw,6.8rem) !important; max-width: 820px; }
.iwc-hero-v4 .iwc-hero-title em { display: inline; color: #c8dc7a; }
.iwc-hero-meta { gap: 8px !important; margin-top: 28px; }
.iwc-hero-meta p { margin: 0; padding: 8px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #e7efc7; font-size: .76rem; line-height: 1; }
.iwc-hero-visual { position: relative; padding-top: 12px; }
.iwc-vertical-chinese { position: absolute; right: -38px; top: 60px; z-index: 3; writing-mode: vertical-rl; font-family: Georgia,"Times New Roman",serif; font-size: .76rem; letter-spacing: .28em; opacity: .72; }
.iwc-hero-v4 .iwc-hero-photo img { border-radius: 210px 210px 40px 40px; max-height: 690px; object-fit: cover; }
.iwc-hero-floating-card { position: absolute; left: -48px; bottom: 40px; z-index: 4; width: 230px; padding: 18px 20px; border-radius: 22px; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.iwc-hero-floating-card p { margin: 0; }
.iwc-floating-cn { font-family: Georgia,"Times New Roman",serif; font-size: 1.8rem; line-height: 1; margin-bottom: 9px !important; }

.iwc-photo-frame { position: relative; }
.iwc-photo-caption { max-width: 320px; margin: 14px auto 0; text-align: center; }
.iwc-about-v4 .iwc-about-photo img { border-radius: 48% 48% 30px 30px; }

.iwc-level-grid { gap: 16px !important; align-items: stretch !important; }
.iwc-level-card { position: relative; min-height: 330px; padding: 28px; border-radius: 28px; border: var(--iwc-border); background: #fffdf8; overflow: hidden; }
.iwc-level-card::after { content: ""; position: absolute; width: 120px; height: 120px; border: 1px solid rgba(184,88,78,.10); border-radius: 50%; right: -54px; bottom: -54px; }
.iwc-level-card-dark { border-color: #26352a; }
.iwc-level-cn { font-family: Georgia,"Times New Roman",serif; font-size: 3.2rem; line-height: 1; margin: 0 0 56px; }
.iwc-level-card h3 { margin-top: 10px; }

.iwc-lesson-grid { gap: clamp(40px,7vw,100px) !important; }
.iwc-lesson-number { position: sticky; top: 130px; align-self: flex-start; }
.iwc-big-number { color: #b8584e; font-family: Georgia,"Times New Roman",serif !important; font-weight: 400 !important; letter-spacing: -.08em !important; line-height: .78 !important; margin: 24px 0 18px; }
.iwc-lesson-cards { gap: 14px !important; margin-bottom: 14px !important; }
.iwc-mini-card { background: #fffdf8; border: var(--iwc-border); border-radius: 24px; padding: 24px; min-height: 190px; }
.iwc-mini-card .iwc-card-tag { margin-bottom: 18px; min-height: 36px; min-width: 36px; }

.iwc-hsk-band { padding: clamp(44px,6vw,72px) clamp(22px,4vw,64px); border-top: 1px solid #eee9df; border-bottom: 1px solid #eee9df; }
.iwc-hsk-band-grid { gap: clamp(28px,5vw,70px) !important; }
.iwc-hsk-seal-wrap { display: flex; justify-content: center; }
.iwc-hsk-seal { width: 130px; height: 130px; display: grid; place-items: center; border-radius: 20px; margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: 4rem; box-shadow: 0 18px 42px rgba(184,88,78,.16); transform: rotate(-4deg); }

.iwc-price-per { margin-top: -18px; margin-bottom: 20px; }
.iwc-pricing-grid .iwc-price-card { position: relative; overflow: hidden; }
.iwc-price-featured::before { content: "推荐"; position: absolute; right: 18px; top: 16px; color: rgba(200,220,122,.32); font-family: Georgia,"Times New Roman",serif; font-size: 2rem; }

.iwc-post-card-v4 { padding-top: 12px; }
.iwc-post-accent { border-radius: 18px; padding: 10px 12px; margin: 0 0 12px !important; }
.iwc-post-accent .wp-block-post-terms { margin: 0 !important; }
.iwc-post-cn { margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: .88rem; }
.iwc-post-card-v4 .wp-block-post-excerpt { color: #6d746e; }

.iwc-footer-cn { font-family: Georgia,"Times New Roman",serif; font-size: 2.8rem; line-height: 1; margin: 0 0 10px; }

.iwc-main-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: #26352a !important;
  padding: 38px 28px !important;
}
.iwc-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: clamp(1.55rem,6vw,2.3rem) !important; font-weight: 650; line-height: 1.18; }
.iwc-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px; }

@media (hover:hover) {
  .iwc-level-card, .iwc-mini-card, .iwc-quote-card, .iwc-post-card { transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
  .iwc-level-card:hover, .iwc-mini-card:hover, .iwc-quote-card:hover, .iwc-post-card:hover { transform: translateY(-5px); box-shadow: 0 18px 52px rgba(24,32,24,.09); border-color: rgba(24,32,24,.18); }
}

@media (max-width: 1100px) {
  .iwc-hero-floating-card { left: 12px; bottom: 24px; }
  .iwc-vertical-chinese { right: -12px; }
  .iwc-level-grid { flex-wrap: wrap !important; }
  .iwc-level-grid > .wp-block-column { flex-basis: calc(50% - 8px) !important; }
  .iwc-hsk-band-grid { flex-wrap: wrap !important; }
  .iwc-hsk-band-grid > .wp-block-column { flex-basis: 100% !important; }
  .iwc-hsk-band .wp-block-buttons { justify-content: flex-start !important; }
}

@media (max-width: 781px) {
  .iwc-header { position: sticky; top: 0; }
  .admin-bar .iwc-header { top: 46px; }
  .iwc-brand-cn { display: none; }
  .iwc-hero-v4 .iwc-hero-title { font-size: clamp(3rem,13vw,4.7rem) !important; }
  .iwc-hero-floating-card { position: relative; width: auto; left: auto; bottom: auto; margin: -76px 16px 0; }
  .iwc-vertical-chinese { display: none; }
  .iwc-level-grid > .wp-block-column { flex-basis: 100% !important; }
  .iwc-level-card { min-height: 0; }
  .iwc-level-cn { margin-bottom: 36px; }
  .iwc-lesson-grid { flex-wrap: wrap !important; }
  .iwc-lesson-grid > .wp-block-column { flex-basis: 100% !important; }
  .iwc-lesson-number { position: static; }
  .iwc-lesson-cards { flex-wrap: wrap !important; }
  .iwc-lesson-cards > .wp-block-column { flex-basis: 100% !important; }
  .iwc-hsk-seal { width: 100px; height: 100px; font-size: 3.1rem; }
}

@media (max-width: 480px) {
  .iwc-header { padding-left: 14px !important; padding-right: 14px !important; }
  .iwc-hero-meta p { font-size: .7rem; }
  .iwc-hero-v4 .iwc-hero-photo img { border-radius: 120px 120px 28px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* v0.5 — native booking, live contacts and editable pricing */
.iwc-pricing-dynamic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1100px;margin:42px auto 0}.iwc-pricing-dynamic .iwc-price-card{display:flex;flex-direction:column;min-height:470px;padding:38px;border:1px solid rgba(24,47,36,.13);border-radius:28px;background:#f4f0e8}.iwc-pricing-dynamic .iwc-price-featured{background:var(--wp--preset--color--forest,#203b2e);color:#fff;transform:translateY(-12px);box-shadow:0 26px 70px rgba(20,40,30,.16)}.iwc-pricing-dynamic .iwc-price-featured h3,.iwc-pricing-dynamic .iwc-price-featured .iwc-price{color:#fff}.iwc-pricing-dynamic .iwc-price-featured .iwc-plan-kicker,.iwc-pricing-dynamic .iwc-price-featured .iwc-price-per{color:var(--wp--preset--color--accent,#d3e775)}.iwc-pricing-dynamic h3{font-size:1.45rem;margin:.45rem 0}.iwc-pricing-dynamic .iwc-price{font-size:clamp(2rem,3vw,3rem);font-weight:800;letter-spacing:-.04em;margin:8px 0}.iwc-pricing-dynamic .iwc-price-per{min-height:46px;color:#67716b}.iwc-pricing-dynamic .iwc-feature-list{padding-left:1.2rem;margin-bottom:28px}.iwc-pricing-dynamic .iwc-feature-list li{margin:.75rem 0}.iwc-price-action{display:block;margin-top:auto;text-align:center;text-decoration:none}.iwc-price-action-accent{background:var(--wp--preset--color--accent,#d3e775)!important;color:#14261d!important}
.iwc-live-contacts{display:grid;gap:10px;margin:22px 0}.iwc-contact-pill{display:flex;justify-content:space-between;gap:20px;padding:13px 16px;border:1px solid rgba(31,59,46,.16);border-radius:14px;text-decoration:none;color:inherit;background:rgba(255,255,255,.56)}.iwc-footer .iwc-contact-pill{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13);color:#fff;display:block;padding:8px 0;border-width:0 0 1px;border-radius:0}.iwc-contact-pill strong{font-weight:700}.iwc-contact-pill-static{cursor:default}
.iwc-booking-box{max-width:1120px;margin:72px auto;padding:clamp(28px,5vw,62px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,84px);background:#edf3cf;border-radius:34px}.iwc-booking-copy h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.045em;margin:.55rem 0 1.15rem}.iwc-booking-form-wrap{background:#fffdf8;border:1px solid rgba(24,47,36,.11);border-radius:24px;padding:clamp(22px,3vw,36px);box-shadow:0 16px 50px rgba(24,47,36,.08)}.iwc-booking-form{display:grid;gap:18px}.iwc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.iwc-booking-form label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.iwc-booking-form label span{color:#a33b2e}.iwc-booking-form input[type=text],.iwc-booking-form input[type=email],.iwc-booking-form select,.iwc-booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfd5cf;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;color:#14261d;outline:none}.iwc-booking-form input:focus,.iwc-booking-form select:focus,.iwc-booking-form textarea:focus{border-color:#6f806a;box-shadow:0 0 0 3px rgba(111,128,106,.14)}.iwc-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:400!important}.iwc-consent input{margin-top:4px}.iwc-consent span{color:#536054!important}.iwc-form-submit{appearance:none;border:0;border-radius:999px;background:#203b2e;color:#fff;font-weight:800;padding:14px 24px;cursor:pointer;font-size:.92rem}.iwc-form-submit:hover{filter:brightness(1.08)}.iwc-form-message{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-weight:700}.iwc-form-success{background:#e7f4d1;color:#29451f}.iwc-form-error{background:#f9e2dd;color:#773229}.iwc-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.iwc-pricing-dynamic{grid-template-columns:1fr}.iwc-pricing-dynamic .iwc-price-featured{transform:none}.iwc-booking-box{grid-template-columns:1fr;margin:44px 18px}.iwc-form-grid{grid-template-columns:1fr}}@media(max-width:600px){.iwc-pricing-dynamic .iwc-price-card{min-height:auto;padding:26px}.iwc-booking-box{padding:26px 20px;border-radius:24px}.iwc-contact-pill{display:block}.iwc-contact-pill strong{display:block;margin-top:2px}}


/* v0.6.0 — premium Chinese learning visuals, tone lab, results and HSK page */
.iwc-tone-layout{gap:clamp(40px,7vw,96px)!important}.iwc-tone-panel{position:relative;background:#26352a;color:#fff;border-radius:34px;padding:clamp(28px,4vw,52px);overflow:hidden;box-shadow:0 24px 70px rgba(24,32,24,.13)}.iwc-tone-panel:before{content:"";position:absolute;inset:auto -90px -110px auto;width:260px;height:260px;border:1px solid rgba(200,220,122,.16);border-radius:50%}.iwc-tone-word{margin-bottom:26px!important}.iwc-tone-hanzi{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;margin:0;letter-spacing:.08em}.iwc-tone-seal{margin:0;padding:8px 10px;border:1px solid rgba(200,220,122,.35);border-radius:10px;color:#c8dc7a;font-family:Georgia,"Times New Roman",serif}.iwc-tone-grid{gap:10px!important}.iwc-tone-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:20px 18px;min-height:180px}.iwc-tone-card h3{color:#fff;font-size:1.75rem;margin:.25rem 0}.iwc-tone-card p{color:#e7efc7}.iwc-tone-mark{font-size:2.2rem!important;color:#c8dc7a!important;line-height:1;margin:0!important}.iwc-tone-footer{margin-top:22px!important;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.iwc-tone-footer p{margin:0}.iwc-tone-pinyin{font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em}

.iwc-result-grid{gap:18px!important;margin-top:42px!important}.iwc-result-card{position:relative;display:flex;flex-direction:column;min-height:360px;padding:34px;border-radius:28px;background:#fffdf8;border:1px solid rgba(24,32,24,.1);overflow:hidden}.iwc-result-card:after{content:"";position:absolute;right:-70px;bottom:-70px;width:170px;height:170px;border:1px solid rgba(184,88,78,.10);border-radius:50%}.iwc-result-card-dark{background:#26352a!important;border-color:#26352a}.iwc-result-top{margin-bottom:70px!important}.iwc-result-index{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.12em;color:#84946f}.iwc-result-cn{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem}.iwc-result-card h3{margin-bottom:14px}.iwc-result-card>p:not(.iwc-result-meta){color:#6d746e}.iwc-result-card-dark>p:not(.iwc-result-meta){color:#e7efc7}.iwc-result-meta{margin-top:auto!important;padding-top:22px;border-top:1px solid rgba(24,32,24,.1);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#84946f}.iwc-result-card-dark .iwc-result-meta{border-color:rgba(255,255,255,.12)}

.iwc-hsk-premium{padding:clamp(72px,9vw,132px) clamp(22px,4vw,64px)}.iwc-hsk-premium-grid{gap:clamp(42px,7vw,100px)!important}.iwc-hsk-dashboard{background:#fffdf8;color:#182018;border-radius:30px;padding:clamp(26px,4vw,42px);box-shadow:0 26px 80px rgba(0,0,0,.18)}.iwc-hsk-dashboard-head{margin-bottom:28px!important}.iwc-hsk-dashboard-title{font-size:1.05rem;font-weight:800;margin:0}.iwc-hsk-chip{margin:0;padding:8px 12px;border-radius:999px;background:#edf3cf;color:#26352a;font-family:Georgia,"Times New Roman",serif}.iwc-skill-row{display:grid!important;grid-template-columns:110px minmax(100px,1fr) 44px;gap:14px;align-items:center!important;padding:15px 0;border-bottom:1px solid rgba(24,32,24,.09)}.iwc-skill-row p{margin:0;font-size:.86rem}.iwc-skill-meter{height:8px;background:#ece9df;border-radius:999px;overflow:hidden}.iwc-skill-meter span{display:block;height:100%;background:#b8584e;border-radius:999px}.iwc-skill-value{text-align:right;font-weight:800;color:#84946f}.iwc-hsk-demo-note{margin:20px 0 0!important}

.iwc-hsk-hero{padding:clamp(80px,10vw,150px) clamp(22px,4vw,64px)}.iwc-hsk-hero-grid{gap:clamp(42px,7vw,110px)!important}.iwc-hsk-hero-character{font-family:Georgia,"Times New Roman",serif;font-size:clamp(9rem,22vw,20rem);line-height:.7;margin:0;text-align:center;opacity:.95}.iwc-hsk-hero-caption{text-align:center;letter-spacing:.28em;text-transform:uppercase;color:#e7efc7;font-size:.8rem}.iwc-hsk-stage-grid{gap:14px!important;margin-top:44px!important}.iwc-hsk-stage{padding:30px;border:1px solid rgba(24,32,24,.1);border-radius:24px;min-height:230px;background:#fffdf8}.iwc-hsk-stage span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#edf3cf;color:#26352a;font-size:.75rem;font-weight:800;margin-bottom:38px}.iwc-hsk-stage h3{font-size:1.25rem}.iwc-hsk-matrix-grid{gap:clamp(42px,7vw,100px)!important}.iwc-hsk-dashboard-light{box-shadow:0 18px 60px rgba(24,32,24,.08);border:1px solid rgba(24,32,24,.09)}.iwc-hsk-editable .wp-block-post-content>.wp-block-group:first-child{margin-top:0}

.iwc-post-card-v4{border-radius:26px!important;overflow:hidden}.iwc-post-card-v4 .wp-block-post-featured-image{overflow:hidden}.iwc-post-card-v4 .wp-block-post-featured-image img{transition:transform .35s ease}.iwc-post-card-v4:hover .wp-block-post-featured-image img{transform:scale(1.035)}.iwc-post-card-v4 .wp-block-post-title a{text-decoration:none}.iwc-post-card-v4 .wp-block-post-title a:hover{color:#b8584e}

@media(max-width:1000px){.iwc-tone-layout,.iwc-hsk-premium-grid,.iwc-hsk-hero-grid,.iwc-hsk-matrix-grid{flex-wrap:wrap!important}.iwc-tone-layout>.wp-block-column,.iwc-hsk-premium-grid>.wp-block-column,.iwc-hsk-hero-grid>.wp-block-column,.iwc-hsk-matrix-grid>.wp-block-column{flex-basis:100%!important}.iwc-result-grid{flex-wrap:wrap!important}.iwc-result-grid>.wp-block-column{flex-basis:calc(50% - 9px)!important}.iwc-hsk-stage-grid{flex-wrap:wrap!important}.iwc-hsk-stage-grid>.wp-block-column{flex-basis:calc(50% - 7px)!important}}
@media(max-width:781px){.iwc-tone-grid{flex-wrap:wrap!important}.iwc-tone-grid>.wp-block-column{flex-basis:calc(50% - 5px)!important}.iwc-result-grid>.wp-block-column,.iwc-hsk-stage-grid>.wp-block-column{flex-basis:100%!important}.iwc-result-card{min-height:300px}.iwc-hsk-hero-character{font-size:9rem}.iwc-skill-row{grid-template-columns:88px minmax(80px,1fr) 38px}}
@media(max-width:480px){.iwc-tone-grid>.wp-block-column{flex-basis:100%!important}.iwc-tone-panel,.iwc-hsk-dashboard{border-radius:24px}.iwc-tone-hanzi{font-size:2.35rem}.iwc-result-top{margin-bottom:42px!important}}


/* v0.7.0 — editable tutor media, certificates and real student cases */
.iwc-dynamic-photo{display:block;width:100%;height:auto;object-fit:cover}.iwc-hero-visual>.iwc-dynamic-photo{margin:0}.iwc-hero-photo.iwc-dynamic-photo{border-radius:210px 210px 40px 40px;max-height:690px}.iwc-about-photo.iwc-dynamic-photo{border-radius:48% 48% 30px 30px}.iwc-cta-photo.iwc-dynamic-photo{border-radius:220px 220px 32px 32px}
.iwc-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}.iwc-profile-stat{padding-top:18px;border-top:1px solid rgba(24,32,24,.12)}.iwc-profile-stat strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1;color:#26352a}.iwc-profile-stat span{display:block;margin-top:7px;font-size:.78rem;color:#6d746e}
.iwc-credentials{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}.iwc-certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}.iwc-certificate-card{background:#fffdf8;border:1px solid rgba(24,32,24,.1);border-radius:26px;overflow:hidden}.iwc-certificate-media{aspect-ratio:4/3;background:#f1eadb;display:grid;place-items:center;overflow:hidden}.iwc-certificate-media img{width:100%;height:100%;object-fit:cover}.iwc-certificate-media span{font-family:Georgia,"Times New Roman",serif;font-size:3rem;color:#b8584e}.iwc-certificate-copy{padding:24px}.iwc-certificate-copy h3{margin:0 0 8px;font-size:1.25rem}.iwc-certificate-copy p{color:#6d746e}.iwc-certificate-meta{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#84946f!important}
.iwc-empty-content{max-width:920px;margin:40px auto 0;padding:42px;border:1px dashed rgba(24,32,24,.22);border-radius:28px;text-align:center;background:rgba(255,255,255,.5)}.iwc-empty-content strong{display:block;font-size:1.35rem;color:#26352a}.iwc-empty-content p{max-width:650px;margin:10px auto 0;color:#6d746e}.iwc-empty-cn{display:block;margin-bottom:12px;font-family:Georgia,"Times New Roman",serif;font-size:2.4rem;color:#b8584e}
.iwc-result-grid-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}.iwc-result-grid-live .iwc-result-card{min-height:390px}.iwc-result-grid-live .iwc-result-photo{height:150px;margin:-8px 0 22px;border-radius:18px;overflow:hidden}.iwc-result-grid-live .iwc-result-photo img{width:100%;height:100%;object-fit:cover}.iwc-result-grid-live .iwc-result-card-dark .iwc-result-photo{opacity:.92}.iwc-result-grid-live .iwc-result-top{display:flex;justify-content:space-between;margin-bottom:28px!important}
@media(max-width:1000px){.iwc-certificate-grid,.iwc-result-grid-live{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:781px){.iwc-profile-stats{grid-template-columns:1fr}.iwc-certificate-grid,.iwc-result-grid-live{grid-template-columns:1fr}.iwc-hero-photo.iwc-dynamic-photo{border-radius:120px 120px 28px 28px}.iwc-cta-photo.iwc-dynamic-photo{border-radius:120px 120px 26px 26px}}


/* v0.8.0 — dynamic homepage copy, editable reviews and FAQ */
.iwc-dynamic-copy{display:block}.iwc-dynamic-hero-copy .iwc-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.iwc-dynamic-hero-copy .iwc-hero-meta p{margin:0;padding:9px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:.78rem;color:#e7efc7}.iwc-copy-action{margin-top:30px}.iwc-form-submit-accent{background:#c8dc7a!important;color:#182018!important}.iwc-dynamic-about-copy .iwc-profile-stats{margin-top:32px}
.iwc-review-grid-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}.iwc-review-card-live{display:flex;flex-direction:column;min-height:330px;padding:30px;background:#fffdf8;border:1px solid rgba(24,32,24,.09);border-radius:26px}.iwc-review-card-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.iwc-review-avatar{width:54px;height:54px;border-radius:50%;overflow:hidden;flex:0 0 54px;background:#edf3cf;display:grid;place-items:center}.iwc-review-avatar img{width:100%;height:100%;object-fit:cover}.iwc-review-avatar-placeholder{font-family:Georgia,"Times New Roman",serif;color:#b8584e;font-size:1.3rem}.iwc-review-card-head h3{margin:0;font-size:1.05rem}.iwc-review-card-head p{margin:3px 0 0;color:#6d746e;font-size:.78rem}.iwc-review-stars{color:#b8584e;letter-spacing:.1em;margin:0 0 18px}.iwc-review-quote{font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;line-height:1.55;color:#26352a;margin-top:auto}
.iwc-faq-list-live{display:grid;gap:10px}.iwc-faq-item{background:#fffdf8;border:1px solid rgba(24,32,24,.1);border-radius:18px;padding:0 20px}.iwc-faq-item summary{cursor:pointer;list-style:none;font-weight:800;padding:20px 34px 20px 0;position:relative}.iwc-faq-item summary::-webkit-details-marker{display:none}.iwc-faq-item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#edf3cf;color:#26352a}.iwc-faq-item[open] summary:after{content:"–"}.iwc-faq-answer{padding:0 0 20px;color:#5f675f}.iwc-faq-answer p:first-child{margin-top:0}.iwc-faq-answer p:last-child{margin-bottom:0}
@media(max-width:1000px){.iwc-review-grid-live{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.iwc-review-grid-live{grid-template-columns:1fr}.iwc-review-card-live{min-height:auto}.iwc-dynamic-hero-copy .iwc-hero-meta{gap:7px}.iwc-dynamic-hero-copy .iwc-hero-meta p{font-size:.72rem}}


/* v0.9 — centralized commercial content */
.iwc-benefits-dynamic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%}.iwc-benefit-dynamic{padding:30px 28px;border-left:1px solid rgba(255,255,255,.16)}.iwc-benefit-dynamic:first-child{border-left:0}.iwc-benefit-dynamic .iwc-benefit-icon{font-size:1.3rem;font-weight:800;color:var(--wp--preset--color--accent);margin:0 0 14px}.iwc-benefit-dynamic h3{color:#fff;font-size:1.05rem;margin:0 0 8px}.iwc-benefit-dynamic p{color:var(--wp--preset--color--accent-soft);font-size:.9rem;margin:0;line-height:1.6}.iwc-programs-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:var(--wp--style--global--wide-size);margin:34px auto 0}.iwc-program-live-card{background:#fff;border:1px solid rgba(28,52,43,.1);border-radius:24px;overflow:hidden;box-shadow:0 14px 35px rgba(20,45,36,.06);display:flex;flex-direction:column}.iwc-program-live-media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.iwc-program-live-copy{padding:26px}.iwc-program-live-copy h3{margin:10px 0 12px;font-size:1.35rem}.iwc-program-live-copy>p{color:var(--wp--preset--color--muted)}.iwc-program-badge{display:inline-flex;border-radius:999px;background:var(--wp--preset--color--cream);color:var(--wp--preset--color--forest);font-size:.76rem;font-weight:750;padding:7px 10px}.iwc-program-live-card dl{margin:22px 0;display:grid;gap:10px}.iwc-program-live-card dl div{display:grid;grid-template-columns:70px 1fr;gap:10px;border-top:1px solid rgba(28,52,43,.09);padding-top:10px}.iwc-program-live-card dt{color:var(--wp--preset--color--muted);font-size:.78rem}.iwc-program-live-card dd{margin:0;font-weight:650;font-size:.88rem}.iwc-inline-link{font-weight:750;text-decoration:none}.iwc-plan-note{min-height:48px;color:var(--wp--preset--color--muted);font-size:.92rem}@media(max-width:900px){.iwc-benefits-dynamic{grid-template-columns:repeat(2,minmax(0,1fr))}.iwc-benefit-dynamic{border-bottom:1px solid rgba(255,255,255,.12)}.iwc-programs-live{grid-template-columns:1fr 1fr}}@media(max-width:620px){.iwc-benefits-dynamic,.iwc-programs-live{grid-template-columns:1fr}.iwc-benefit-dynamic{border-left:0;padding:22px 0}.iwc-program-live-card dl div{grid-template-columns:64px 1fr}}


/* v1.0.0 — accessibility, performance and stable release polish */
.iwc-skip-link{position:fixed;left:16px;top:-90px;z-index:100000;background:#fff;color:#182018;border:2px solid #182018;border-radius:10px;padding:12px 16px;font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.iwc-skip-link:focus{top:16px}
.admin-bar .iwc-skip-link:focus{top:48px}
:where(a,button,input,select,textarea,summary,.wp-element-button):focus-visible{outline:3px solid #b8584e;outline-offset:3px}
.iwc-booking-form input:focus-visible,.iwc-booking-form select:focus-visible,.iwc-booking-form textarea:focus-visible{outline:3px solid rgba(184,88,78,.42);outline-offset:1px;border-color:#b8584e}
.iwc-form-submit:focus-visible{outline-color:#c8dc7a}
.iwc-faq-item summary:focus-visible{border-radius:8px}
@media (prefers-contrast: more){.iwc-benefit-dynamic,.iwc-program-live-card,.iwc-review-card-live,.iwc-faq-item,.iwc-price-card{border-width:2px}.iwc-head-copy,.iwc-program-live-copy>p,.iwc-plan-note{color:#39453d}}

/* v1.1.0 — WooCommerce / store integration */
.iwc-store-main{padding:clamp(54px,7vw,96px) clamp(22px,4vw,64px);min-height:60vh}
.iwc-store-main>.wp-block-woocommerce-breadcrumbs:first-child{margin-top:0}
.iwc-store-toolbar{margin:26px auto 32px!important;padding:14px 18px;border-top:1px solid rgba(24,32,24,.1);border-bottom:1px solid rgba(24,32,24,.1)}
.iwc-store-products.wp-block-woocommerce-product-collection{margin-top:28px}

/* Product cards — works with Woo product collection blocks and classic fallback markup. */
.iwc-store-products .wc-block-product,
.iwc-store-products .wp-block-post,
.woocommerce ul.products li.product{background:#fffdf8;border:1px solid rgba(24,32,24,.1);border-radius:24px;overflow:hidden;padding:12px 12px 22px;box-shadow:0 12px 34px rgba(24,32,24,.05);transition:transform .2s ease,box-shadow .2s ease}
.iwc-store-products .wc-block-product:hover,
.iwc-store-products .wp-block-post:hover,
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(24,32,24,.09)}
.iwc-store-products .wc-block-components-product-image img,
.iwc-store-products .wp-block-woocommerce-product-image img,
.woocommerce ul.products li.product a img{border-radius:18px;display:block;width:100%}
.iwc-store-products .wp-block-post-title,
.iwc-store-products .wc-block-components-product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,"Times New Roman",serif;font-size:1.18rem!important;line-height:1.3;color:#26352a}
.iwc-store-products .wp-block-post-title a,
.iwc-store-products .wc-block-components-product-title a{color:inherit;text-decoration:none}
.iwc-store-products .wc-block-components-product-price,
.iwc-store-products .wp-block-woocommerce-product-price,
.woocommerce ul.products li.product .price{color:#26352a!important;font-weight:800}

/* Buttons across catalog, mini cart, cart, checkout and account pages. */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{border:0!important;border-radius:999px!important;background:#26352a!important;color:#fff!important;font-weight:800!important;box-shadow:none!important;transition:background .2s ease,transform .2s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-block-woocommerce-product-button .wp-block-button__link:hover{background:#84946f!important;color:#fff!important;transform:translateY(-1px)}

/* Sale and stock indicators. */
.wc-block-components-product-sale-badge,.woocommerce span.onsale{background:#b8584e!important;color:#fff!important;border:0!important;border-radius:999px!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.04em!important;text-transform:uppercase!important;padding:.45rem .68rem!important;min-width:auto!important;min-height:auto!important;line-height:1!important}
.woocommerce div.product p.stock,.wc-block-components-product-stock-indicator{color:#84946f;font-weight:750}

/* Single product. */
.iwc-single-product-grid{gap:clamp(34px,6vw,80px)!important;margin-top:28px!important}
.iwc-single-product .wp-block-post-title{font-family:Georgia,"Times New Roman",serif;line-height:1.04}
.iwc-single-product .wp-block-woocommerce-product-price{font-size:1.45rem!important;margin:18px 0!important}
.iwc-single-product .wp-block-post-excerpt{color:#5e675f;font-size:1.02rem;line-height:1.7}
.iwc-single-product .wp-block-woocommerce-product-image-gallery img,
.woocommerce div.product div.images img{border-radius:24px}
.iwc-single-product .wp-block-woocommerce-product-details{margin-top:clamp(48px,7vw,90px)}
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart input.qty{border:1px solid rgba(24,32,24,.18);border-radius:10px;background:#fffdf8;padding:10px 12px}

/* Breadcrumbs, sorting, account links. */
.wp-block-woocommerce-breadcrumbs,.woocommerce .woocommerce-breadcrumb{font-size:.78rem;color:#6d746e;margin-bottom:24px}
.wp-block-woocommerce-breadcrumbs a,.woocommerce .woocommerce-breadcrumb a{color:#84946f;text-decoration:none}
.wp-block-woocommerce-catalog-sorting select,.woocommerce .woocommerce-ordering select{border:1px solid rgba(24,32,24,.14);background:#fffdf8;border-radius:12px;padding:10px 36px 10px 12px;color:#26352a}

/* Notices. */
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.wc-block-components-notice-banner{border:1px solid rgba(24,32,24,.12)!important;border-radius:16px!important;background:#fffdf8!important;color:#26352a!important;box-shadow:none!important}
.woocommerce-message{border-left:4px solid #84946f!important}
.woocommerce-error{border-left:4px solid #b8584e!important}

/* Cart / checkout. */
.iwc-commerce-page{padding:clamp(50px,7vw,90px) clamp(22px,4vw,64px);min-height:65vh}
.iwc-commerce-page .wp-block-post-title{font-family:Georgia,"Times New Roman",serif;margin-bottom:38px}
.wc-block-cart,.wc-block-checkout{--wc-form-color-text:#26352a;--wc-form-color-border:rgba(24,32,24,.18)}
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar{background:transparent}
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-address-card,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation{border-color:rgba(24,32,24,.12)!important}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{border:1px solid rgba(24,32,24,.18)!important;border-radius:10px!important;background:#fffdf8!important;color:#26352a!important}

/* My account. */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:38px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid rgba(24,32,24,.1)}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 0;text-decoration:none;font-weight:750;color:#26352a}
.woocommerce-MyAccount-navigation .is-active a{color:#b8584e}

/* Checkout header. */
.iwc-checkout-header{padding:20px clamp(22px,4vw,64px);background:#26352a;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.iwc-checkout-header a{color:#fff;text-decoration:none}
.iwc-checkout-security{font-size:.78rem;color:#e7efc7;margin:0}

@media(max-width:781px){
  .iwc-store-toolbar{align-items:flex-start!important;gap:12px!important;flex-wrap:wrap!important}
  .iwc-single-product-grid{flex-wrap:wrap!important}
  .iwc-single-product-grid>.wp-block-column{flex-basis:100%!important}
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:24px}
  .iwc-checkout-header .wp-block-group{flex-wrap:wrap!important;gap:8px!important}
}


/* v1.2.0 — header phone, elegant accent rule, polished footer contacts */
.iwc-header{
  position:sticky;
  isolation:isolate;
  border-bottom:0;
}
/* The former decorative orange accent is intentionally reduced to a fine 2px rule. */
.iwc-header::after{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:#b8584e;
  opacity:.82;
  pointer-events:none;
}
.iwc-header-row{
  gap:clamp(12px,1.35vw,24px)!important;
}
.iwc-main-nav{
  flex:1 1 auto;
}
.iwc-header-actions{
  flex:0 0 auto;
  gap:12px!important;
  margin-left:auto;
}
.iwc-header-phone{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  border-radius:999px;
  padding:4px 7px 4px 4px;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.iwc-header-phone:hover{
  color:#fff;
  background:rgba(255,255,255,.065);
  transform:translateY(-1px);
}
.iwc-header-phone-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(200,220,122,.36);
  border-radius:50%;
  color:#c8dc7a;
  background:rgba(200,220,122,.07);
}
.iwc-header-phone-copy{
  display:grid;
  gap:1px;
  line-height:1.05;
}
.iwc-header-phone-label{
  color:rgba(255,255,255,.58);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.iwc-header-phone-number{
  color:#fff;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.015em;
}
.iwc-header-phone:focus-visible{
  outline-color:#c8dc7a;
}

/* Footer contacts: typography instead of a stack of heavy link-like pills. */
.iwc-footer-contacts{
  display:grid;
  gap:0;
  max-width:310px;
}
.iwc-footer-contact-row{
  display:grid;
  grid-template-columns:minmax(76px,.72fr) minmax(0,1.28fr);
  gap:14px;
  align-items:baseline;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.iwc-footer-contact-row:first-child{
  padding-top:2px;
}
.iwc-footer-contact-row:last-child{
  border-bottom:0;
}
.iwc-footer-contact-label{
  color:#c8dc7a;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.iwc-footer-contact-value{
  color:#fff;
  font-size:.86rem;
  font-weight:650;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* Desktop pressure relief when the shop/navigation grows. */
@media (max-width:1280px) and (min-width:1001px){
  .iwc-main-nav{
    --navigation-layout-justification-setting:flex-start;
  }
  .iwc-main-nav .wp-block-navigation-item__content{
    font-size:.76rem;
  }
  .iwc-main-nav .wp-block-navigation__container{
    gap:14px!important;
  }
  .iwc-header-cta{
    display:none!important;
  }
}

@media (max-width:1000px){
  .iwc-header .iwc-header-cta{
    display:none!important;
  }
  .iwc-brand{order:1}
  .iwc-header-actions{order:2;margin-left:auto}
  .iwc-main-nav{order:3;flex:0 0 auto}
  .iwc-header-phone{
    margin-left:auto;
  }
}

@media (max-width:620px){
  .iwc-header{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .iwc-header::after{
    height:1px;
    opacity:.72;
  }
  .iwc-brand-cn{
    display:none;
  }
  .iwc-header-row{
    gap:9px!important;
  }
  .iwc-header-phone{
    gap:7px;
    padding-right:2px;
  }
  .iwc-header-phone-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
  .iwc-header-phone-icon svg{
    width:16px;
    height:16px;
  }
  .iwc-header-phone-label{
    display:none;
  }
  .iwc-header-phone-number{
    font-size:.78rem;
    letter-spacing:0;
  }
  .iwc-footer-contact-row{
    grid-template-columns:80px minmax(0,1fr);
    gap:12px;
  }
}

@media (max-width:400px){
  .iwc-header .wp-block-site-title{
    font-size:.9rem!important;
  }
  .iwc-header-phone-number{
    font-size:.73rem;
  }
  .iwc-header-phone-icon{
    width:28px;
    height:28px;
    flex-basis:28px;
  }
}


/* v1.3.0 — AI demo media and editorial single-post sidebar */
.iwc-certificate-grid-demo .iwc-certificate-card,
.iwc-review-card-demo{
  border-style:dashed;
}
.iwc-review-grid-demo .iwc-review-avatar img,
.iwc-review-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.iwc-review-avatar{
  overflow:hidden;
}
.iwc-single-layout{
  align-items:flex-start;
}
.iwc-single-main{
  min-width:0;
}
.iwc-single-main > .wp-block-post-title{
  margin-top:10px;
  margin-bottom:14px;
}
.iwc-single-meta{
  gap:10px!important;
  margin-bottom:26px;
}
.iwc-single-main .wp-block-post-featured-image{
  margin-bottom:36px;
}
.iwc-single-main .wp-block-post-content{
  background:#fff;
  border:1px solid rgba(25,35,33,.08);
  border-radius:28px;
  padding:clamp(22px,2.6vw,38px);
  box-shadow:0 20px 50px rgba(20,34,31,.05);
}
.iwc-single-main .wp-block-post-content > *:first-child{
  margin-top:0;
}
.iwc-single-main .wp-block-post-content > *:last-child{
  margin-bottom:0;
}
.iwc-single-sidebar{
  position:sticky;
  top:110px;
  display:grid;
  gap:18px;
}
.iwc-sidebar-card,
.iwc-sidebar-profile-card{
  background:#fff;
  border:1px solid rgba(25,35,33,.08);
  border-radius:26px;
  padding:22px;
  box-shadow:0 18px 42px rgba(20,34,31,.05);
}
.iwc-sidebar-cta-card{
  background:var(--wp--preset--color--forest);
}
.iwc-sidebar-profile-card{
  display:grid;
  gap:16px;
}
.iwc-sidebar-profile-media figure,
.iwc-sidebar-profile-media img{
  width:100%;
}
.iwc-sidebar-profile-media img{
  border-radius:22px;
  aspect-ratio:4 / 5;
  object-fit:cover;
}
.iwc-sidebar-profile-copy h3,
.iwc-sidebar-card h3{
  margin:0 0 10px;
}
.iwc-sidebar-kicker{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 10px;
}
.iwc-sidebar-role{
  color:var(--wp--preset--color--muted);
  margin:0 0 10px;
}
.iwc-sidebar-actions{
  margin-top:16px;
}
.iwc-sidebar-card .wp-block-search__inside-wrapper{
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(25,35,33,.14);
  background:#fff;
}
.iwc-sidebar-card .wp-block-search__input{
  border:0!important;
  padding:15px 18px;
}
.iwc-sidebar-card .wp-block-search__button{
  margin-left:0;
}
.iwc-sidebar-card .wp-block-categories-list,
.iwc-sidebar-card .wp-block-latest-posts{
  list-style:none;
  margin:0;
  padding:0;
}
.iwc-sidebar-card .wp-block-categories-list li,
.iwc-sidebar-card .wp-block-latest-posts li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(25,35,33,.08);
}
.iwc-sidebar-card .wp-block-categories-list li:last-child,
.iwc-sidebar-card .wp-block-latest-posts li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.iwc-sidebar-card .wp-block-latest-posts li a,
.iwc-sidebar-card .wp-block-categories-list li a{
  font-weight:600;
}
.iwc-single-nav{
  gap:18px!important;
}

@media (max-width:1000px){
  .iwc-single-sidebar{
    position:static;
    top:auto;
    margin-top:24px;
  }
}

@media (max-width:781px){
  .iwc-single-main .wp-block-post-content,
  .iwc-sidebar-card,
  .iwc-sidebar-profile-card{
    border-radius:22px;
    padding:18px;
  }
}


/* v1.4.0 — expanded typography controls and polished editorial post sidebar */
.iwc-single-v14{
  padding-top:clamp(48px,6vw,82px);
  padding-bottom:clamp(68px,8vw,110px);
}
.iwc-single-v14 .iwc-single-layout{
  align-items:flex-start;
}
.iwc-single-v14 .iwc-single-main{
  min-width:0;
}
.iwc-single-v14 .wp-block-post-terms{
  margin-bottom:12px;
}
.iwc-single-v14 .wp-block-post-title{
  max-width:980px;
  margin:0 0 14px;
  line-height:1.04;
  letter-spacing:-.035em;
}
.iwc-single-v14 .iwc-single-meta{
  gap:10px!important;
  margin-bottom:28px;
}
.iwc-single-v14 .wp-block-post-featured-image{
  margin:0 0 34px;
  overflow:hidden;
}
.iwc-single-v14 .wp-block-post-featured-image img{
  width:100%;
  object-fit:cover;
}
.iwc-single-v14 .wp-block-post-content{
  max-width:820px;
  margin-left:0!important;
  margin-right:auto!important;
  font-size:1.08rem;
  line-height:1.78;
  color:#25312e;
}
.iwc-single-v14 .wp-block-post-content > *{
  max-width:760px;
  margin-left:0;
  margin-right:auto;
}
.iwc-single-v14 .wp-block-post-content > .alignwide,
.iwc-single-v14 .wp-block-post-content > .alignfull,
.iwc-single-v14 .wp-block-post-content > figure,
.iwc-single-v14 .wp-block-post-content > .wp-block-image,
.iwc-single-v14 .wp-block-post-content > .wp-block-gallery,
.iwc-single-v14 .wp-block-post-content > .wp-block-table{
  max-width:100%;
}
.iwc-single-v14 .wp-block-post-content h2{
  margin-top:2.1em;
  margin-bottom:.65em;
  line-height:1.15;
  letter-spacing:-.025em;
}
.iwc-single-v14 .wp-block-post-content h3{
  margin-top:1.7em;
  margin-bottom:.6em;
  line-height:1.2;
}
.iwc-single-v14 .wp-block-post-content p,
.iwc-single-v14 .wp-block-post-content ul,
.iwc-single-v14 .wp-block-post-content ol{
  margin-top:0;
  margin-bottom:1.35em;
}
.iwc-single-v14 .wp-block-post-content li + li{
  margin-top:.45em;
}
.iwc-single-v14 .wp-block-post-content blockquote{
  margin:2em 0;
  padding:18px 22px;
  border-left:3px solid var(--wp--preset--color--seal);
  border-radius:0 18px 18px 0;
  background:var(--wp--preset--color--cream);
}
.iwc-single-v14 .wp-block-post-content a{
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}
.iwc-single-v14 .wp-block-post-content img{
  border-radius:18px;
}
.iwc-single-v14 .wp-block-post-content figcaption{
  color:var(--wp--preset--color--muted);
  font-size:.82rem;
}

.iwc-single-v14 .iwc-single-sidebar{
  position:sticky;
  top:104px;
  display:grid;
  gap:18px;
}
.iwc-single-v14 .iwc-sidebar-card,
.iwc-single-v14 .iwc-sidebar-profile-card{
  background:#fff;
  border:1px solid rgba(26,39,35,.09);
  border-radius:22px;
  padding:20px;
  box-shadow:0 14px 36px rgba(20,34,31,.045);
}
.iwc-single-v14 .iwc-sidebar-profile-card{
  display:grid;
  gap:15px;
}
.iwc-single-v14 .iwc-sidebar-profile-media{
  overflow:hidden;
  border-radius:18px;
}
.iwc-single-v14 .iwc-sidebar-profile-media figure{
  margin:0;
}
.iwc-single-v14 .iwc-sidebar-profile-media img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center 34%;
  display:block;
}
.iwc-single-v14 .iwc-sidebar-profile-copy h3{
  margin:0 0 6px;
  font-size:1.25rem;
}
.iwc-single-v14 .iwc-sidebar-profile-copy > p:not(.iwc-sidebar-kicker):not(.iwc-sidebar-role){
  font-size:.88rem;
  line-height:1.55;
}
.iwc-single-v14 .iwc-sidebar-kicker{
  margin:0 0 10px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.iwc-single-v14 .iwc-sidebar-role{
  margin:0 0 10px;
  color:var(--wp--preset--color--muted);
  font-size:.82rem;
}
.iwc-single-v14 .iwc-sidebar-card-search .wp-block-search__inside-wrapper{
  border:1px solid rgba(26,39,35,.13);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.iwc-single-v14 .iwc-sidebar-card-search .wp-block-search__input{
  border:0!important;
  min-height:44px;
  padding:10px 13px;
  font-size:.88rem;
}
.iwc-single-v14 .iwc-sidebar-card-search .wp-block-search__button{
  margin:0;
  border-radius:0;
  min-width:44px;
  min-height:44px;
}
.iwc-sidebar-category-list{
  list-style:none;
  margin:0;
  padding:0;
}
.iwc-sidebar-category-list li + li{
  border-top:1px solid rgba(26,39,35,.08);
}
.iwc-sidebar-category-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  color:inherit;
  text-decoration:none;
  font-size:.88rem;
  font-weight:650;
}
.iwc-sidebar-category-list em{
  min-width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--wp--preset--color--cream);
  color:var(--wp--preset--color--sage);
  font-size:.72rem;
  font-style:normal;
}
.iwc-sidebar-post-list{
  display:grid;
  gap:14px;
}
.iwc-sidebar-post-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.iwc-sidebar-post-thumb{
  width:72px;
  height:62px;
  display:block;
  overflow:hidden;
  border-radius:12px;
  background:var(--wp--preset--color--cream);
  text-decoration:none;
}
.iwc-sidebar-post-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.iwc-sidebar-post-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:var(--wp--preset--color--seal);
  font-family:var(--wp--preset--font-family--display);
  font-size:1.5rem;
}
.iwc-sidebar-post-copy time{
  display:block;
  margin-bottom:4px;
  color:var(--wp--preset--color--muted);
  font-size:.7rem;
}
.iwc-sidebar-post-copy h4{
  margin:0;
  font-size:.88rem;
  line-height:1.28;
}
.iwc-sidebar-post-copy h4 a{
  color:inherit;
  text-decoration:none;
}
.iwc-sidebar-post-copy h4 a:hover,
.iwc-sidebar-category-list a:hover{
  color:var(--wp--preset--color--seal);
}
.iwc-single-v14 .iwc-sidebar-cta-card{
  background:var(--wp--preset--color--forest);
  border-color:transparent;
}
.iwc-single-v14 .iwc-sidebar-cta-card h3{
  margin-top:0;
}
.iwc-single-v14 .iwc-single-nav{
  gap:16px!important;
}

@media (max-width:1000px){
  .iwc-single-v14 .iwc-single-sidebar{
    position:static;
    top:auto;
    margin-top:24px;
  }
  .iwc-single-v14 .iwc-single-sidebar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .iwc-single-v14 .iwc-sidebar-profile-card,
  .iwc-single-v14 .iwc-sidebar-cta-card{
    grid-column:span 2;
  }
}
@media (max-width:700px){
  .iwc-single-v14{
    padding-top:36px;
  }
  .iwc-single-v14 .wp-block-post-title{
    font-size:clamp(2rem,10vw,3rem)!important;
  }
  .iwc-single-v14 .wp-block-post-content{
    font-size:1rem;
    line-height:1.72;
  }
  .iwc-single-v14 .iwc-single-sidebar{
    grid-template-columns:1fr;
  }
  .iwc-single-v14 .iwc-sidebar-profile-card,
  .iwc-single-v14 .iwc-sidebar-cta-card{
    grid-column:auto;
  }
}


/* v1.5.0 — wider home showcases, carousels, lesson icons, precision UI icons */
.iwc-home-showcase{
  width:100%;
}
.iwc-home-showcase > .wp-block-shortcode{
  width:100%;
  max-width:none!important;
}

/* Three items should use the full wide desktop line instead of the 760px content column. */
.iwc-home-wide-grid.iwc-review-grid-live,
.iwc-home-wide-grid.iwc-certificate-grid-live{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2vw,28px);
  width:100%;
  max-width:none;
  margin-top:38px;
}
.iwc-home-showcase .iwc-review-card-live{
  min-width:0;
  padding:clamp(24px,2.2vw,32px);
}
.iwc-home-showcase .iwc-review-quote{
  font-size:clamp(1.1rem,1.15vw,1.28rem);
  line-height:1.58;
}
.iwc-home-showcase .iwc-certificate-copy{
  padding:clamp(20px,2vw,28px);
}

/* Horizontal carousel activates automatically only when homepage has > 3 entries. */
.iwc-carousel-shell{
  width:100%;
  margin-top:38px;
}
.iwc-carousel-viewport{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  padding:3px 1px 12px;
}
.iwc-carousel-viewport::-webkit-scrollbar{
  display:none;
}
.iwc-carousel-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:clamp(20px,2vw,28px)!important;
  width:max-content;
  margin:0!important;
}
.iwc-carousel-track > .iwc-review-card-live,
.iwc-carousel-track > .iwc-certificate-card{
  flex:0 0 calc((min(1240px, 100vw - 44px) - 56px) / 3);
  width:calc((min(1240px, 100vw - 44px) - 56px) / 3);
  max-width:394px;
  scroll-snap-align:start;
}
.iwc-carousel-track > .iwc-review-card-live{
  min-height:340px;
}
.iwc-carousel-controls{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.iwc-carousel-button{
  appearance:none;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(38,53,42,.22);
  border-radius:50%;
  color:#26352a;
  background:#fffdf8;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease;
}
.iwc-carousel-button svg{
  display:block;
  width:20px;
  height:20px;
}
.iwc-carousel-button:hover:not(:disabled){
  background:#26352a;
  color:#fff;
  border-color:#26352a;
  transform:translateY(-1px);
}
.iwc-carousel-button:disabled{
  opacity:.32;
  cursor:default;
}
.iwc-carousel-button:focus-visible{
  outline:3px solid rgba(200,220,122,.55);
  outline-offset:2px;
}

/* Lesson format: thematic SVG icons, and a deliberately oversized desktop duration. */
.iwc-big-number{
  font-size:clamp(10rem,16vw,15.5rem)!important;
  line-height:.68!important;
  letter-spacing:-.075em!important;
  margin:.12em 0 .22em!important;
}
.iwc-lesson-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border:1px solid rgba(38,53,42,.14);
  border-radius:16px;
  background:#edf3cf;
  color:#26352a;
}
.iwc-lesson-icon svg{
  width:30px;
  height:30px;
  display:block;
}
.iwc-mini-card{
  min-height:205px;
}

/* FAQ: use SVG plus/minus centered in the circle instead of font glyph baseline alignment. */
.iwc-faq-list-live .iwc-faq-item summary{
  padding-right:52px;
}
.iwc-faq-list-live .iwc-faq-item summary::after{
  content:""!important;
  right:0!important;
  top:50%!important;
  width:30px!important;
  height:30px!important;
  transform:translateY(-50%)!important;
  border-radius:50%!important;
  background-color:#edf3cf!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:15px 15px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 4v12M4 10h12' fill='none' stroke='%2326352a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  box-shadow:inset 0 0 0 1px rgba(38,53,42,.04);
}
.iwc-faq-list-live .iwc-faq-item[open] summary::after{
  content:""!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h12' fill='none' stroke='%2326352a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}

/* Older/details pattern gets the same precise icon treatment. */
.iwc-faq-list:not(.iwc-faq-list-live) summary::after{
  content:""!important;
  right:0!important;
  top:50%!important;
  width:30px!important;
  height:30px!important;
  transform:translateY(-50%)!important;
  border-radius:50%;
  background:#edf3cf url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 4v12M4 10h12' fill='none' stroke='%2326352a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/15px 15px no-repeat;
}
.iwc-faq-list:not(.iwc-faq-list-live) details[open] summary::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h12' fill='none' stroke='%2326352a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Phone pictogram is explicitly centered inside its circular holder. */
.iwc-header-phone-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:0!important;
  overflow:hidden;
}
.iwc-header-phone-icon svg{
  display:block!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
  flex:none!important;
}
.iwc-header-phone-icon svg path{
  vector-effect:non-scaling-stroke;
}

@media (max-width:1000px){
  .iwc-home-wide-grid.iwc-review-grid-live,
  .iwc-home-wide-grid.iwc-certificate-grid-live{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .iwc-carousel-track > .iwc-review-card-live,
  .iwc-carousel-track > .iwc-certificate-card{
    flex-basis:min(72vw,430px);
    width:min(72vw,430px);
    max-width:none;
  }
  .iwc-big-number{
    font-size:clamp(8rem,24vw,12rem)!important;
  }
}
@media (max-width:700px){
  .iwc-home-wide-grid.iwc-review-grid-live,
  .iwc-home-wide-grid.iwc-certificate-grid-live{
    grid-template-columns:1fr;
  }
  .iwc-carousel-track > .iwc-review-card-live,
  .iwc-carousel-track > .iwc-certificate-card{
    flex-basis:min(84vw,390px);
    width:min(84vw,390px);
  }
  .iwc-carousel-controls{
    justify-content:center;
  }
  .iwc-big-number{
    font-size:clamp(7rem,35vw,10rem)!important;
  }
  .iwc-lesson-icon{
    width:50px;
    height:50px;
  }
}


/* v1.6.0 — demo cases, tighter reviews, breadcrumbs, clean editable post sidebar */
.iwc-result-grid-demo .iwc-result-card-demo{
  border-style:dashed;
}
.iwc-result-demo-badge{
  align-self:flex-start;
  margin:0 0 14px;
  padding:6px 9px;
  border-radius:999px;
  background:#edf3cf;
  color:#536054;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
}
.iwc-result-card-dark .iwc-result-demo-badge{
  background:rgba(200,220,122,.12);
  color:#c8dc7a;
}
.iwc-result-start,
.iwc-result-period{
  margin:.3rem 0!important;
  font-size:.84rem;
  font-weight:700;
  color:#6d746e!important;
}
.iwc-result-card-dark .iwc-result-start,
.iwc-result-card-dark .iwc-result-period{
  color:#e7efc7!important;
}

/* Review cards: remove the artificial vertical void between stars and quote. */
.iwc-review-card-live{
  min-height:0!important;
}
.iwc-review-stars{
  margin-bottom:10px!important;
}
.iwc-review-quote{
  margin-top:0!important;
}
.iwc-home-showcase .iwc-review-card-live{
  min-height:310px!important;
}
.iwc-home-showcase .iwc-review-card-head{
  margin-bottom:18px;
}

/* Breadcrumbs */
.iwc-single-v16{
  padding-top:clamp(28px,4vw,48px);
  padding-bottom:clamp(70px,8vw,112px);
}
.iwc-breadcrumb-wrap{
  width:100%;
  max-width:none!important;
  margin-bottom:clamp(26px,3.5vw,42px);
}
.iwc-breadcrumbs{
  width:100%;
  color:#6d746e;
  font-size:.78rem;
}
.iwc-breadcrumbs ol{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  list-style:none;
  padding:0;
  margin:0;
}
.iwc-breadcrumbs li{
  display:flex;
  align-items:center;
  min-width:0;
}
.iwc-breadcrumbs li:not(:last-child)::after{
  content:"/";
  margin-left:7px;
  color:#a2a89f;
}
.iwc-breadcrumbs a{
  color:#65745d;
  text-decoration:none;
}
.iwc-breadcrumbs a:hover{
  color:#b8584e;
}
.iwc-breadcrumb-current{
  max-width:min(48vw,540px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#26352a;
  font-weight:650;
}

/* Blog layout: make the sidebar visibly substantial and every card exactly aligned. */
.iwc-single-v16 .iwc-single-layout{
  align-items:flex-start;
}
.iwc-single-v16 .iwc-single-main{
  min-width:0;
}
.iwc-single-v16 .wp-block-post-title{
  margin-top:10px;
  margin-bottom:14px;
  line-height:1.04;
  letter-spacing:-.035em;
}
.iwc-single-v16 .iwc-single-meta{
  gap:10px!important;
  margin-bottom:28px;
}
.iwc-single-v16 .wp-block-post-featured-image{
  margin-bottom:30px;
  overflow:hidden;
}
.iwc-single-v16 .wp-block-post-content{
  max-width:none!important;
  margin:0!important;
  padding:clamp(24px,2.7vw,40px);
  background:#fff;
  border:1px solid rgba(26,39,35,.08);
  border-radius:26px;
  box-shadow:0 18px 46px rgba(20,34,31,.045);
  font-size:1.05rem;
  line-height:1.76;
  color:#25312e;
}
.iwc-single-v16 .wp-block-post-content > *{
  max-width:100%!important;
}
.iwc-single-v16 .wp-block-post-content h2{
  margin-top:2em;
  margin-bottom:.65em;
}
.iwc-single-v16 .wp-block-post-content h3{
  margin-top:1.6em;
  margin-bottom:.55em;
}

/* The shortcode is the widget area shell; force all widgets/cards to the same width. */
.iwc-single-v16 .iwc-single-sidebar{
  position:sticky;
  top:104px;
  width:100%;
  min-width:0;
}
.iwc-single-v16 .iwc-single-sidebar > .wp-block-shortcode,
.iwc-single-v16 .iwc-sidebar-widget,
.iwc-single-v16 .iwc-sidebar-widget > *,
.iwc-single-v16 .iwc-sidebar-card,
.iwc-single-v16 .iwc-sidebar-profile-card{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.iwc-single-v16 .iwc-sidebar-widget{
  margin:0 0 18px!important;
}
.iwc-single-v16 .iwc-sidebar-widget:last-child{
  margin-bottom:0!important;
}
.iwc-single-v16 .iwc-sidebar-card,
.iwc-single-v16 .iwc-sidebar-profile-card{
  margin:0!important;
  padding:22px!important;
  border:1px solid rgba(26,39,35,.09);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(20,34,31,.04);
}
.iwc-single-v16 .iwc-sidebar-profile-card{
  display:grid;
  gap:16px;
}
.iwc-single-v16 .iwc-sidebar-profile-media{
  overflow:hidden;
  border-radius:17px;
}
.iwc-single-v16 .iwc-sidebar-profile-media figure{
  margin:0!important;
}
.iwc-single-v16 .iwc-sidebar-profile-media img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center 30%;
}
.iwc-single-v16 .iwc-sidebar-card-search .wp-block-search{
  width:100%;
}
.iwc-single-v16 .iwc-sidebar-card-search .wp-block-search__inside-wrapper{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(26,39,35,.13);
  border-radius:12px;
  overflow:hidden;
}
.iwc-single-v16 .iwc-sidebar-post-list{
  display:grid;
  gap:0;
}
.iwc-single-v16 .iwc-sidebar-post-item{
  grid-template-columns:86px minmax(0,1fr);
  gap:13px;
  padding:13px 0;
  border-bottom:1px solid rgba(26,39,35,.075);
}
.iwc-single-v16 .iwc-sidebar-post-item:first-child{
  padding-top:4px;
}
.iwc-single-v16 .iwc-sidebar-post-item:last-child{
  border-bottom:0;
  padding-bottom:2px;
}
.iwc-single-v16 .iwc-sidebar-post-thumb{
  width:86px;
  height:68px;
}
.iwc-single-v16 .iwc-sidebar-post-copy h4{
  font-size:.88rem;
  line-height:1.3;
}
.iwc-single-v16 .iwc-sidebar-cta-card{
  background:#26352a!important;
  border-color:#26352a!important;
}

/* Widget editor can add arbitrary block widgets; keep them visually consistent. */
.iwc-single-v16 .widget_block > .wp-block-group:not(.iwc-sidebar-card){
  width:100%;
}
.iwc-sidebar-widget-title{
  margin:0 0 12px;
  font-size:1.15rem;
}

/* Tablet: sidebar becomes a clean two-column widget area below article. */
@media (max-width:1000px){
  .iwc-single-v16 .iwc-single-sidebar{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:28px;
  }
  .iwc-single-v16 .iwc-sidebar-widget{
    margin:0!important;
  }
  .iwc-single-v16 .iwc-sidebar-widget:first-child,
  .iwc-single-v16 .iwc-sidebar-widget:last-child{
    grid-column:1 / -1;
  }
}
@media (max-width:700px){
  .iwc-breadcrumb-current{
    max-width:72vw;
  }
  .iwc-single-v16 .iwc-single-sidebar{
    grid-template-columns:1fr;
  }
  .iwc-single-v16 .iwc-sidebar-widget:first-child,
  .iwc-single-v16 .iwc-sidebar-widget:last-child{
    grid-column:auto;
  }
  .iwc-single-v16 .wp-block-post-content{
    padding:20px;
    border-radius:20px;
    font-size:1rem;
  }
}


/* v1.7.0 — tighter article header, non-overlapping narrow sidebar, rebuilt student cases */
.iwc-single-v17{
  padding-top:16px!important;
  padding-bottom:clamp(70px,8vw,110px)!important;
}
.iwc-single-v17 .iwc-breadcrumb-wrap{
  width:100%;
  max-width:1140px!important;
  margin-top:0!important;
  margin-bottom:22px!important;
}
.iwc-single-v17 .iwc-breadcrumbs{
  margin:0;
}

.iwc-single-v17 .iwc-single-layout{
  display:grid!important;
  grid-template-columns:minmax(0,820px) minmax(250px,280px)!important;
  justify-content:center;
  align-items:start!important;
  gap:36px!important;
  width:100%;
  max-width:1140px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.iwc-single-v17 .iwc-single-main,
.iwc-single-v17 .iwc-single-sidebar-wrap{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  flex:none!important;
  flex-basis:auto!important;
}
.iwc-single-v17 .wp-block-post-title{
  margin:0 0 14px!important;
  line-height:1.04;
  letter-spacing:-.035em;
}
.iwc-single-v17 .iwc-single-meta{
  gap:10px!important;
  margin:0 0 26px!important;
}
.iwc-single-v17 .wp-block-post-featured-image{
  margin:0 0 28px!important;
}
.iwc-single-v17 .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
  margin:0!important;
  padding:clamp(24px,2.6vw,38px);
  background:#fff;
  border:1px solid rgba(26,39,35,.08);
  border-radius:24px;
  box-shadow:0 18px 44px rgba(20,34,31,.045);
  font-size:1.04rem;
  line-height:1.76;
}
.iwc-single-v17 .wp-block-post-content > *{
  max-width:100%!important;
}

.iwc-single-v17 .iwc-single-sidebar{
  position:sticky;
  top:96px;
  width:100%;
  min-width:0;
}
.iwc-single-v17 .iwc-single-sidebar > .wp-block-shortcode,
.iwc-single-v17 .iwc-sidebar-widget,
.iwc-single-v17 .iwc-sidebar-widget > *,
.iwc-single-v17 .iwc-sidebar-card,
.iwc-single-v17 .iwc-sidebar-profile-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.iwc-single-v17 .iwc-sidebar-widget{
  margin:0 0 16px!important;
}
.iwc-single-v17 .iwc-sidebar-card,
.iwc-single-v17 .iwc-sidebar-profile-card{
  margin:0!important;
  padding:18px!important;
  border-radius:19px!important;
}
.iwc-single-v17 .iwc-sidebar-profile-media img{
  aspect-ratio:16/10!important;
  border-radius:14px!important;
}
.iwc-single-v17 .iwc-sidebar-profile-copy h3{
  font-size:1.05rem;
}
.iwc-single-v17 .iwc-sidebar-profile-copy > p:not(.iwc-sidebar-kicker):not(.iwc-sidebar-role){
  font-size:.82rem;
  line-height:1.5;
}

.iwc-single-v17 .iwc-sidebar-post-list{
  display:grid;
  gap:0;
}
.iwc-single-v17 .iwc-sidebar-post-item{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  padding:11px 0!important;
  border-bottom:1px solid rgba(26,39,35,.075);
}
.iwc-single-v17 .iwc-sidebar-post-item:last-child{
  border-bottom:0;
  padding-bottom:0!important;
}
.iwc-single-v17 .iwc-sidebar-post-thumb{
  width:52px!important;
  height:52px!important;
  border-radius:10px!important;
}
.iwc-single-v17 .iwc-sidebar-post-copy{
  min-width:0!important;
  width:100%;
}
.iwc-single-v17 .iwc-sidebar-post-copy h4{
  margin:0 0 5px!important;
  min-width:0;
  font-size:.78rem!important;
  line-height:1.28!important;
  font-weight:750;
}
.iwc-single-v17 .iwc-sidebar-post-copy h4 a{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.iwc-single-v17 .iwc-sidebar-post-copy time{
  display:block;
  margin:0;
  color:#8a918a;
  font-size:.64rem!important;
  line-height:1.2;
}
.iwc-single-v17 .iwc-sidebar-card-search .wp-block-search__inside-wrapper{
  border-radius:11px!important;
}
.iwc-single-v17 .iwc-sidebar-card-search .wp-block-search__input{
  min-width:0;
  padding:10px 11px!important;
  font-size:.78rem!important;
}
.iwc-single-v17 .iwc-sidebar-card-search .wp-block-search__button{
  min-width:42px!important;
  width:42px;
  padding:0!important;
}

.iwc-results-showcase{
  width:100%;
}
.iwc-results-showcase > .wp-block-shortcode{
  width:100%;
  max-width:none!important;
}
.iwc-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2vw,26px);
  width:100%;
  margin-top:38px;
}
.iwc-case-card{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:420px;
  padding:clamp(24px,2.4vw,32px);
  overflow:hidden;
  background:#fffdf8;
  border:1px solid rgba(31,54,43,.10);
  border-radius:26px;
  box-shadow:0 16px 42px rgba(28,43,35,.045);
}
.iwc-case-card::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#b8584e;
}
.iwc-case-card:nth-child(2)::before{
  background:#84946f;
}
.iwc-case-card:nth-child(3)::before{
  background:#c8dc7a;
}
.iwc-case-card > *{
  position:relative;
  z-index:1;
}
.iwc-case-watermark{
  position:absolute;
  z-index:0!important;
  right:22px;
  top:17px;
  color:rgba(184,88,78,.07);
  font-family:Georgia,"Times New Roman",serif;
  font-size:4.6rem;
  line-height:1;
  pointer-events:none;
}
.iwc-case-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
}
.iwc-case-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#edf3cf;
  color:#405241;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.iwc-case-number{
  color:#84946f;
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.12em;
}
.iwc-case-card h3{
  max-width:90%;
  margin:0 0 24px!important;
  color:#14261d!important;
  font-size:clamp(1.35rem,1.65vw,1.75rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.iwc-case-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.iwc-case-facts > div{
  min-width:0;
  padding:13px 14px;
  background:#f3f0e8;
  border-radius:15px;
}
.iwc-case-facts span,
.iwc-case-outcome > span{
  display:block;
  margin-bottom:5px;
  color:#7a846f;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.iwc-case-facts strong{
  display:block;
  color:#26352a;
  font-size:.8rem;
  line-height:1.38;
}
.iwc-case-outcome{
  margin-top:auto;
  padding:17px 18px;
  background:#26352a;
  border-radius:17px;
}
.iwc-case-outcome > span{
  color:#c8dc7a;
}
.iwc-case-outcome p{
  margin:0!important;
  color:#fff!important;
  font-size:.9rem;
  line-height:1.55;
}
.iwc-case-footnote{
  margin:16px 0 0!important;
  color:#828980!important;
  font-size:.68rem!important;
  line-height:1.4;
}
.iwc-case-photo{
  margin:-6px 0 20px;
  overflow:hidden;
  border-radius:16px;
  aspect-ratio:16/9;
}
.iwc-case-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width:1180px){
  .iwc-single-v17 .iwc-single-layout{
    grid-template-columns:minmax(0,1fr) 260px!important;
    gap:28px!important;
  }
}
@media (max-width:1000px){
  .iwc-single-v17 .iwc-single-layout{
    display:block!important;
    max-width:820px!important;
  }
  .iwc-single-v17 .iwc-single-sidebar{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:30px;
  }
  .iwc-single-v17 .iwc-sidebar-widget{
    margin:0!important;
  }
  .iwc-single-v17 .iwc-sidebar-widget:first-child,
  .iwc-single-v17 .iwc-sidebar-widget:last-child{
    grid-column:1 / -1;
  }
  .iwc-case-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:700px){
  .iwc-single-v17{
    padding-top:10px!important;
  }
  .iwc-single-v17 .iwc-breadcrumb-wrap{
    margin-bottom:18px!important;
  }
  .iwc-single-v17 .iwc-single-sidebar{
    grid-template-columns:1fr;
  }
  .iwc-single-v17 .iwc-sidebar-widget:first-child,
  .iwc-single-v17 .iwc-sidebar-widget:last-child{
    grid-column:auto;
  }
  .iwc-case-grid{
    grid-template-columns:1fr;
  }
  .iwc-case-card{
    min-height:auto;
  }
}


/* v1.8.0 — semantic H1s, compact footer contacts, wide commercial pages, E-E-A-T About */

/* Semantic H1 keeps the same visual scale the Post Title block had before. */
.iwc-page-title,
.iwc-single-title{
  font-size:clamp(2.5rem,6vw,5rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.iwc-page-shell > .iwc-page-title{
  margin-bottom:clamp(38px,5vw,64px);
}

/* Compact icon-based footer contact column. We keep contact signals instead of removing them. */
.iwc-footer-contacts-icons{
  display:grid;
  gap:8px;
  max-width:none;
}
.iwc-footer-contact-icon-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.iwc-footer-contact-icon-row:last-child{
  border-bottom:0;
}
.iwc-footer-contact-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(200,220,122,.30);
  border-radius:50%;
  color:#c8dc7a;
  background:rgba(200,220,122,.06);
}
.iwc-footer-contact-icon svg{
  display:block;
  width:16px;
  height:16px;
}
.iwc-footer-contact-icon-row .iwc-footer-contact-value{
  min-width:0;
  color:#fff;
  font-size:.82rem;
  font-weight:650;
  line-height:1.32;
  overflow-wrap:anywhere;
}
.iwc-footer-v4 .iwc-footer-contact-column{
  min-width:0;
}
.iwc-footer-v4 .iwc-footer-columns{
  align-items:flex-start;
}

/* Internal-page CTA: rounded, layered and more premium without becoming noisy. */
.iwc-content-shell .iwc-inner-cta-v18,
.iwc-content-shell .iwc-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(100%,1120px);
  margin:clamp(56px,7vw,86px) auto 0!important;
  padding:clamp(46px,6vw,78px) clamp(26px,6vw,78px)!important;
  border:1px solid rgba(200,220,122,.18);
  border-radius:42px!important;
  box-shadow:0 24px 70px rgba(25,42,33,.13);
}
.iwc-content-shell .iwc-inner-cta-v18::before,
.iwc-content-shell .iwc-cta::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:270px;
  height:270px;
  right:-95px;
  top:-120px;
  border-radius:50%;
  background:rgba(200,220,122,.08);
  box-shadow:0 0 0 42px rgba(200,220,122,.028);
}
.iwc-content-shell .iwc-inner-cta-v18::after,
.iwc-content-shell .iwc-cta::after{
  content:"中文";
  position:absolute;
  z-index:-1;
  left:30px;
  bottom:-20px;
  color:rgba(255,255,255,.035);
  font-family:Georgia,"Times New Roman",serif;
  font-size:7rem;
  line-height:1;
}
.iwc-content-shell .iwc-cta .wp-block-button__link{
  box-shadow:0 9px 26px rgba(0,0,0,.11);
}

/*
 * Prices: grid wins over a carousel for comparison, accessibility and UX.
 * If more cards are added later, three remain visible per row on desktop.
 */
.iwc-pricing-page-wide{
  width:100%;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.iwc-pricing-page-wide > .wp-block-shortcode{
  width:100%;
  max-width:none!important;
}
.iwc-pricing-page-wide .iwc-pricing-dynamic{
  width:100%;
  max-width:1240px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(20px,2.2vw,30px)!important;
}
.iwc-pricing-page-wide .iwc-price-card{
  min-width:0;
  min-height:520px;
  padding:clamp(30px,3vw,42px)!important;
}
.iwc-pricing-page-wide .iwc-price{
  white-space:normal;
}

/* Programs use the same wide commercial grid. */
.iwc-programs-page-wide{
  width:100%;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.iwc-programs-page-wide > .wp-block-shortcode{
  width:100%;
  max-width:none!important;
}
.iwc-programs-page-wide .iwc-programs-live{
  width:100%;
  max-width:1240px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(20px,2.2vw,30px)!important;
}
.iwc-programs-page-wide .iwc-program-live-card{
  min-width:0;
}
.iwc-programs-page-wide .iwc-program-live-copy{
  padding:clamp(24px,2.5vw,32px);
}

/* About / E-E-A-T */
.iwc-about-eeat-hero,
.iwc-about-trust-section,
.iwc-about-method-section,
.iwc-about-cert-section{
  width:100%;
  max-width:1240px!important;
}
.iwc-about-eeat-hero{
  margin-top:0!important;
  margin-bottom:clamp(72px,8vw,110px)!important;
}
.iwc-about-eeat-grid{
  gap:clamp(38px,6vw,82px)!important;
}
.iwc-about-eeat-photo{
  position:relative;
}
.iwc-about-eeat-photo::after{
  content:"专业 · 教学";
  position:absolute;
  right:-18px;
  bottom:24px;
  padding:8px 10px;
  border-radius:10px;
  color:#fff;
  background:#b8584e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.72rem;
  letter-spacing:.08em;
  box-shadow:0 12px 26px rgba(184,88,78,.18);
}
.iwc-about-eeat-photo .iwc-about-photo{
  margin:0!important;
}
.iwc-about-eeat-photo img{
  display:block;
  width:100%;
  max-height:660px;
  object-fit:cover;
  border-radius:220px 220px 34px 34px!important;
  box-shadow:0 22px 64px rgba(28,43,35,.10);
}
.iwc-about-eeat-copy h2{
  max-width:760px;
}
.iwc-about-eeat-copy > p{
  max-width:780px;
}
.iwc-about-eeat-copy .iwc-profile-stats{
  margin-top:34px;
}

.iwc-about-trust-section{
  margin-top:0!important;
  margin-bottom:clamp(76px,8vw,112px)!important;
}
.iwc-about-trust-grid{
  gap:18px!important;
  margin-top:38px!important;
}
.iwc-about-trust-card{
  position:relative;
  min-height:280px;
  padding:clamp(26px,3vw,36px);
  overflow:hidden;
  border:1px solid rgba(26,39,35,.09);
  border-radius:26px;
  background:#fffdf8;
}
.iwc-about-trust-card::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-55px;
  width:140px;
  height:140px;
  border:1px solid rgba(184,88,78,.09);
  border-radius:50%;
}
.iwc-about-trust-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  margin-bottom:36px;
  border-radius:14px;
  background:#edf3cf;
  color:#536054;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.4rem;
}
.iwc-about-trust-card h3{
  margin-bottom:12px!important;
}
.iwc-about-trust-card p{
  color:#6d746e;
}

.iwc-about-method-section{
  margin-bottom:clamp(76px,8vw,112px)!important;
  padding:clamp(34px,5vw,62px)!important;
  border-radius:34px;
  background:#f2eee5;
}
.iwc-about-method-grid{
  gap:clamp(34px,6vw,84px)!important;
}
.iwc-about-method-copy{
  font-size:1.05rem;
  line-height:1.75;
}

.iwc-about-cert-section{
  margin-bottom:0!important;
}
.iwc-about-cert-section > .wp-block-shortcode{
  width:100%;
  max-width:none!important;
}
.iwc-about-cert-section .iwc-certificate-grid-live,
.iwc-about-cert-section .iwc-home-wide-grid{
  width:100%;
  max-width:none!important;
}

/* Responsive commercial grids */
@media (max-width:1000px){
  .iwc-footer-v4 .iwc-footer-columns{
    flex-wrap:wrap!important;
  }
  .iwc-footer-v4 .iwc-footer-columns > .wp-block-column{
    flex-basis:calc(50% - 24px)!important;
  }

  .iwc-pricing-page-wide .iwc-pricing-dynamic,
  .iwc-programs-page-wide .iwc-programs-live{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .iwc-pricing-page-wide .iwc-price-featured{
    transform:none!important;
  }

  .iwc-about-eeat-grid{
    flex-wrap:wrap!important;
  }
  .iwc-about-eeat-grid > .wp-block-column{
    flex-basis:100%!important;
  }
  .iwc-about-eeat-photo{
    max-width:540px;
  }
  .iwc-about-eeat-photo img{
    border-radius:120px 120px 30px 30px!important;
  }
  .iwc-about-trust-grid{
    flex-wrap:wrap!important;
  }
  .iwc-about-trust-grid > .wp-block-column{
    flex-basis:calc(50% - 10px)!important;
  }
}
@media (max-width:700px){
  .iwc-page-shell > .iwc-page-title{
    margin-bottom:36px;
  }

  .iwc-footer-v4 .iwc-footer-columns > .wp-block-column{
    flex-basis:100%!important;
  }
  .iwc-footer-contact-icon-row{
    grid-template-columns:32px minmax(0,1fr);
  }

  .iwc-content-shell .iwc-inner-cta-v18,
  .iwc-content-shell .iwc-cta{
    margin-top:44px!important;
    padding:40px 22px!important;
    border-radius:26px!important;
  }
  .iwc-content-shell .iwc-inner-cta-v18::after,
  .iwc-content-shell .iwc-cta::after{
    font-size:4.6rem;
  }

  .iwc-pricing-page-wide .iwc-pricing-dynamic,
  .iwc-programs-page-wide .iwc-programs-live{
    grid-template-columns:1fr!important;
  }
  .iwc-pricing-page-wide .iwc-price-card{
    min-height:auto;
  }

  .iwc-about-trust-grid > .wp-block-column{
    flex-basis:100%!important;
  }
  .iwc-about-method-section{
    padding:28px 22px!important;
    border-radius:26px;
  }
  .iwc-about-eeat-photo::after{
    right:8px;
    bottom:14px;
  }
}


/* v1.9.0 — true wide pages, classic widgets, footer/grid fix, Woo header contrast */

/* ---------- Footer ---------- */
.iwc-footer-v4 .iwc-footer-columns{
  display:grid!important;
  grid-template-columns:minmax(300px,1.25fr) minmax(270px,1fr) minmax(170px,.62fr) minmax(300px,1.12fr)!important;
  gap:clamp(26px,3vw,44px)!important;
  align-items:start!important;
}
.iwc-footer-v4 .iwc-footer-columns > .wp-block-column{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  flex-basis:auto!important;
  margin:0!important;
}
.iwc-footer-v4 .iwc-footer-contact-column{
  min-width:270px!important;
}
.iwc-footer-v4 .iwc-footer-contacts-icons{
  width:100%;
  max-width:none!important;
}
.iwc-footer-v4 .iwc-footer-contact-icon-row{
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  width:100%;
}
.iwc-footer-v4 .iwc-footer-contact-icon-row .iwc-footer-contact-value{
  font-size:.84rem;
  line-height:1.25;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}

/* ---------- Wide internal commercial/content blocks ---------- */
/*
 * WordPress constrains post-content inner blocks to contentSize.
 * These wrappers intentionally break out to the theme's 1240px visual width.
 */
.iwc-pricing-page-wide,
.iwc-programs-page-wide,
.iwc-reviews-page-wide,
.iwc-about-v19,
.iwc-about-trust-section,
.iwc-about-method-section,
.iwc-about-cert-section{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1240px,calc(100vw - 72px))!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box;
}
.iwc-pricing-page-wide > .wp-block-shortcode,
.iwc-programs-page-wide > .wp-block-shortcode,
.iwc-reviews-page-wide > .wp-block-shortcode,
.iwc-about-cert-section > .wp-block-shortcode{
  width:100%!important;
  max-width:none!important;
}

/* Reviews page: comfortable desktop cards. */
.iwc-reviews-page-wide .iwc-review-grid-live{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2.2vw,30px)!important;
}
.iwc-reviews-page-wide .iwc-review-card-live{
  min-height:300px!important;
  padding:clamp(26px,2.5vw,34px)!important;
}
.iwc-reviews-page-wide .iwc-review-quote{
  font-size:clamp(1.08rem,1.15vw,1.25rem);
}

/* Prices: use the whole wide area. */
.iwc-pricing-page-wide .iwc-pricing-dynamic{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(24px,2.4vw,34px)!important;
}
.iwc-pricing-page-wide .iwc-price-card{
  width:100%!important;
  min-width:0!important;
  min-height:500px;
  padding:clamp(32px,3vw,44px)!important;
}
.iwc-pricing-page-wide .iwc-price{
  font-size:clamp(2.35rem,3.1vw,3.4rem)!important;
}

/* Programs: same wide width and calmer content proportions. */
.iwc-programs-page-wide .iwc-programs-live{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(24px,2.4vw,34px)!important;
}
.iwc-programs-page-wide .iwc-program-live-card{
  width:100%!important;
  min-width:0!important;
}
.iwc-programs-page-wide .iwc-program-live-copy{
  padding:clamp(28px,2.6vw,36px)!important;
}
.iwc-programs-page-wide .iwc-program-live-card dl div{
  grid-template-columns:78px minmax(0,1fr)!important;
}
.iwc-programs-page-wide .iwc-program-live-card dd{
  min-width:0;
  overflow-wrap:break-word;
}

/* ---------- About: wide flow with real text wrapping around the photo ---------- */
.iwc-about-v19{
  margin-top:0!important;
  margin-bottom:clamp(78px,8vw,116px)!important;
}
.iwc-about-v19 > h2{
  max-width:920px;
  margin-bottom:34px!important;
}
.iwc-about-flow-body{
  display:block!important;
  width:100%;
  font-size:1.04rem;
  line-height:1.75;
}
.iwc-about-flow-body::after{
  content:"";
  display:block;
  clear:both;
}
.iwc-about-flow-body > .wp-block-shortcode:first-child{
  float:left;
  width:clamp(390px,38vw,500px);
  max-width:44%;
  margin:0 clamp(32px,4vw,56px) 28px 0!important;
}
.iwc-about-flow-body > .wp-block-shortcode:first-child figure{
  margin:0!important;
}
.iwc-about-flow-body > .wp-block-shortcode:first-child img{
  display:block;
  width:100%;
  max-height:680px;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:150px 150px 30px 30px!important;
  box-shadow:0 24px 68px rgba(26,43,34,.11);
}
.iwc-about-flow-body > p{
  max-width:none!important;
}
.iwc-about-flow-body > p:first-of-type{
  font-size:clamp(1.08rem,1.3vw,1.24rem);
}
.iwc-about-flow-stats{
  clear:both;
  padding-top:18px;
}
.iwc-about-flow-stats .iwc-profile-stats{
  margin-top:18px;
}
.iwc-about-trust-section{
  margin-bottom:clamp(76px,8vw,112px)!important;
}
.iwc-about-method-section{
  margin-bottom:clamp(76px,8vw,112px)!important;
}

/* ---------- WooCommerce account + cart controls in dark header ---------- */
.iwc-header .wp-block-woocommerce-customer-account,
.iwc-header .wc-block-customer-account,
.iwc-header .wp-block-woocommerce-mini-cart,
.iwc-header .wc-block-mini-cart{
  flex:0 0 auto;
}
.iwc-header .wp-block-woocommerce-customer-account > a,
.iwc-header .wc-block-customer-account > a,
.iwc-header .wc-block-mini-cart__button,
.iwc-header .wp-block-woocommerce-mini-cart .wc-block-mini-cart__button{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(200,220,122,.40)!important;
  border-radius:50%!important;
  color:#d4e884!important;
  background:rgba(200,220,122,.075)!important;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
}
.iwc-header .wp-block-woocommerce-customer-account > a:hover,
.iwc-header .wc-block-customer-account > a:hover,
.iwc-header .wc-block-mini-cart__button:hover{
  color:#18251d!important;
  background:#c8dc7a!important;
  border-color:#c8dc7a!important;
  transform:translateY(-1px);
}
.iwc-header .wp-block-woocommerce-customer-account svg,
.iwc-header .wc-block-customer-account svg,
.iwc-header .wc-block-mini-cart svg{
  width:19px!important;
  height:19px!important;
  color:currentColor!important;
  fill:currentColor!important;
}
.iwc-header .wc-block-mini-cart__badge{
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  border:2px solid #26352a!important;
  border-radius:999px!important;
  color:#fff!important;
  background:#b8584e!important;
  font-size:.58rem!important;
  font-weight:850!important;
  line-height:12px!important;
}

/* ---------- Header phone: icon + number only ---------- */
.iwc-header-phone-v19{
  gap:10px!important;
  padding:3px 8px 3px 3px!important;
}
.iwc-header-phone-v19 .iwc-header-phone-number{
  display:block;
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  transform:translateY(1px);
}
.iwc-header-phone-v19 .iwc-header-phone-icon{
  width:36px;
  height:36px;
  flex-basis:36px;
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .iwc-footer-v4 .iwc-footer-columns{
    grid-template-columns:minmax(260px,1.15fr) minmax(240px,1fr) minmax(150px,.65fr)!important;
  }
  .iwc-footer-v4 .iwc-footer-columns > .wp-block-column:last-child{
    grid-column:1 / -1;
    max-width:620px!important;
  }
}

@media (max-width:1000px){
  .iwc-pricing-page-wide,
  .iwc-programs-page-wide,
  .iwc-reviews-page-wide,
  .iwc-about-v19,
  .iwc-about-trust-section,
  .iwc-about-method-section,
  .iwc-about-cert-section{
    width:min(900px,calc(100vw - 44px))!important;
  }

  .iwc-pricing-page-wide .iwc-pricing-dynamic,
  .iwc-programs-page-wide .iwc-programs-live,
  .iwc-reviews-page-wide .iwc-review-grid-live{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .iwc-about-flow-body > .wp-block-shortcode:first-child{
    width:min(46%,420px);
    max-width:46%;
    margin-right:34px!important;
  }

  .iwc-footer-v4 .iwc-footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .iwc-footer-v4 .iwc-footer-columns > .wp-block-column:last-child{
    grid-column:auto;
    max-width:none!important;
  }
  .iwc-footer-v4 .iwc-footer-contact-column{
    min-width:0!important;
  }
}

@media (max-width:700px){
  .iwc-pricing-page-wide,
  .iwc-programs-page-wide,
  .iwc-reviews-page-wide,
  .iwc-about-v19,
  .iwc-about-trust-section,
  .iwc-about-method-section,
  .iwc-about-cert-section{
    width:calc(100vw - 30px)!important;
  }

  .iwc-pricing-page-wide .iwc-pricing-dynamic,
  .iwc-programs-page-wide .iwc-programs-live,
  .iwc-reviews-page-wide .iwc-review-grid-live{
    grid-template-columns:1fr!important;
  }

  .iwc-about-flow-body > .wp-block-shortcode:first-child{
    float:none;
    width:min(100%,430px);
    max-width:100%;
    margin:0 auto 30px!important;
  }
  .iwc-about-flow-body > .wp-block-shortcode:first-child img{
    border-radius:86px 86px 26px 26px!important;
  }

  .iwc-footer-v4 .iwc-footer-columns{
    grid-template-columns:1fr!important;
  }
  .iwc-footer-v4 .iwc-footer-contact-icon-row .iwc-footer-contact-value{
    white-space:normal;
  }

  .iwc-header-phone-v19 .iwc-header-phone-number{
    font-size:.76rem;
  }
}


/* v1.10.0 — pricing overlap, footer contact baseline, complete checkout shell */

/* 1. Pricing: featured plan is highlighted without physically overlapping siblings. */
.iwc-pricing-page-wide .iwc-pricing-dynamic{
  align-items:stretch!important;
}
.iwc-pricing-page-wide .iwc-pricing-dynamic .iwc-price-card,
.iwc-pricing-page-wide .iwc-pricing-dynamic .iwc-price-featured{
  position:relative!important;
  z-index:1!important;
  transform:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.iwc-pricing-page-wide .iwc-pricing-dynamic .iwc-price-featured{
  z-index:2!important;
  border-color:rgba(200,220,122,.34)!important;
  box-shadow:0 22px 58px rgba(20,40,30,.15)!important;
}
.iwc-pricing-page-wide .iwc-pricing-dynamic .iwc-price-card{
  height:100%;
}

/* 2. Footer contacts: icon and value are always a single horizontal row. */
.iwc-footer-v4 .iwc-footer-contact-icon-row{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-height:42px!important;
  padding:7px 0!important;
}
.iwc-footer-v4 .iwc-footer-contact-icon{
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
}
.iwc-footer-v4 .iwc-footer-contact-icon-row .iwc-footer-contact-value{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:.84rem!important;
  font-weight:400!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* 3. Checkout now uses the ordinary header/footer and has a real visible H1. */
.iwc-checkout-v110{
  padding-top:clamp(48px,6vw,78px)!important;
  padding-bottom:clamp(76px,8vw,116px)!important;
}
.iwc-checkout-v110 .iwc-commerce-page-title{
  width:100%;
  max-width:1120px!important;
  margin:0 auto clamp(34px,4vw,50px)!important;
  font-size:clamp(2.4rem,5vw,4.4rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.iwc-checkout-v110 > .wp-block-post-content,
.iwc-checkout-v110 .wp-block-post-content{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.iwc-checkout-v110 .wc-block-checkout{
  width:100%!important;
  max-width:none!important;
}

/* Make checkout breathe correctly below the full navigation header. */
.iwc-checkout-v110 .wc-block-components-sidebar-layout{
  gap:clamp(28px,4vw,56px)!important;
}

/* Order confirmation also gets normal spacing after restoring normal shell. */
.iwc-order-confirmation{
  padding-top:clamp(48px,6vw,78px)!important;
  padding-bottom:clamp(76px,8vw,116px)!important;
}

@media (max-width:700px){
  .iwc-footer-v4 .iwc-footer-contact-icon-row .iwc-footer-contact-value{
    white-space:normal!important;
  }

  .iwc-checkout-v110{
    padding-top:34px!important;
  }
  .iwc-checkout-v110 .iwc-commerce-page-title{
    margin-bottom:28px!important;
  }
}


/* v1.11.0 — definitive equal-width pricing grid and spacing before CTA */

/*
 * The old cards used width:100% together with large padding while remaining
 * content-box elements. That made each card wider than its CSS Grid track.
 * The featured plan therefore visually covered its neighbours.
 */
.iwc-pricing-page-wide{
  width:min(1240px,calc(100vw - 72px))!important;
  margin-bottom:clamp(76px,8vw,112px)!important;
}

.iwc-pricing-page-wide .iwc-pricing-dynamic{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(24px,2.4vw,32px)!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:1240px!important;
  margin:42px auto 0!important;
  overflow:visible!important;
}

.iwc-pricing-page-wide .iwc-pricing-dynamic > .iwc-price-card,
.iwc-pricing-page-wide .iwc-pricing-dynamic > .iwc-price-featured{
  box-sizing:border-box!important;
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:clamp(28px,2.6vw,38px)!important;
  transform:none!important;
  inset:auto!important;
  z-index:auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
}

.iwc-pricing-page-wide .iwc-pricing-dynamic > .iwc-price-featured{
  transform:none!important;
  margin:0!important;
  box-shadow:0 18px 46px rgba(20,40,30,.13)!important;
  border-color:rgba(200,220,122,.28)!important;
}

/* Keep comparable content blocks aligned between plans. */
.iwc-pricing-page-wide .iwc-plan-kicker{
  min-height:20px;
}
.iwc-pricing-page-wide .iwc-pricing-dynamic h3{
  min-height:52px;
}
.iwc-pricing-page-wide .iwc-price{
  margin:12px 0 8px!important;
  white-space:nowrap!important;
}
.iwc-pricing-page-wide .iwc-price-per{
  min-height:48px!important;
}
.iwc-pricing-page-wide .iwc-plan-note{
  min-height:82px;
}

/* Extra breathing room even if an older page stores the CTA immediately after pricing. */
.iwc-pricing-page-wide + .wp-block-pattern,
.iwc-pricing-page-wide + .wp-block-group,
.iwc-pricing-page-wide + .iwc-cta,
.iwc-pricing-page-wide ~ .iwc-cta{
  margin-top:clamp(68px,7vw,96px)!important;
}

@media (max-width:1000px){
  .iwc-pricing-page-wide{
    width:min(900px,calc(100vw - 44px))!important;
  }
  .iwc-pricing-page-wide .iwc-pricing-dynamic{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:700px){
  .iwc-pricing-page-wide{
    width:calc(100vw - 30px)!important;
    margin-bottom:56px!important;
  }
  .iwc-pricing-page-wide .iwc-pricing-dynamic{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .iwc-pricing-page-wide .iwc-pricing-dynamic > .iwc-price-card,
  .iwc-pricing-page-wide .iwc-pricing-dynamic > .iwc-price-featured{
    height:auto!important;
  }
  .iwc-pricing-page-wide .iwc-plan-note,
  .iwc-pricing-page-wide .iwc-pricing-dynamic h3{
    min-height:0;
  }
}


/* v1.12.0 — wide Contacts page, no desktop wrapping, MAX messenger */
.iwc-contacts-page-wide{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1240px,calc(100vw - 72px))!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.iwc-contacts-page-wide > .wp-block-shortcode{
  width:100%!important;
  max-width:none!important;
}

.iwc-contact-grid-v112{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2.4vw,32px)!important;
  width:100%!important;
  max-width:none!important;
  margin-top:40px!important;
}

.iwc-contact-card-v112{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:330px;
  padding:clamp(28px,3vw,40px)!important;
  border-radius:28px!important;
}

.iwc-contact-card-v112 .iwc-card-tag{
  display:inline-flex;
  width:max-content;
  margin:0 0 34px!important;
}

.iwc-contact-value-v112{
  width:100%;
  min-width:0;
  margin:0 0 20px;
  color:#14261d;
  font-size:clamp(1.05rem,1.45vw,1.45rem);
  font-weight:750;
  line-height:1.15;
  letter-spacing:-.018em;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
}

.iwc-contact-card-v112 > p{
  max-width:29ch;
  margin-top:auto;
  color:#505c55;
  line-height:1.6;
}

/* Small visual distinction for MAX without adding an external logo dependency. */
.iwc-contact-max .iwc-card-tag{
  color:#fff;
  border-color:#536054;
  background:#536054;
}

@media (max-width:1000px){
  .iwc-contacts-page-wide{
    width:min(900px,calc(100vw - 44px))!important;
  }
  .iwc-contact-grid-v112{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:700px){
  .iwc-contacts-page-wide{
    width:calc(100vw - 30px)!important;
  }
  .iwc-contact-grid-v112{
    grid-template-columns:1fr!important;
  }
  .iwc-contact-card-v112{
    min-height:auto;
  }
  .iwc-contact-value-v112{
    white-space:normal!important;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:anywhere;
  }
}


/* v1.13.0 — wide Contacts-page booking form, responsive on mobile */
.iwc-booking-box{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
  width:min(1240px,calc(100vw - 72px))!important;
  max-width:none!important;
  margin:clamp(72px,8vw,108px) 0!important;
  padding:clamp(42px,5vw,68px)!important;
  grid-template-columns:minmax(0,1fr) minmax(440px,1.08fr)!important;
  gap:clamp(48px,6vw,82px)!important;
  align-items:start!important;
  border-radius:40px!important;
}
.iwc-booking-copy,
.iwc-booking-form-wrap{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.iwc-booking-copy{padding-top:8px}
.iwc-booking-copy h2{
  max-width:11ch;
  font-size:clamp(2.8rem,4.4vw,4.5rem)!important;
}
.iwc-booking-form-wrap{
  padding:clamp(28px,3vw,40px)!important;
  border-radius:28px!important;
}
.iwc-booking-form{width:100%!important}
.iwc-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.iwc-booking-form input[type=text],
.iwc-booking-form input[type=email],
.iwc-booking-form select,
.iwc-booking-form textarea{
  min-width:0!important;
  width:100%!important;
}
@media (max-width:1000px){
  .iwc-booking-box{
    width:min(900px,calc(100vw - 44px))!important;
    grid-template-columns:1fr!important;
    gap:38px!important;
    padding:clamp(34px,5vw,52px)!important;
  }
  .iwc-booking-copy h2{max-width:14ch}
  .iwc-booking-form-wrap{max-width:none!important}
}
@media (max-width:700px){
  .iwc-booking-box{
    width:calc(100vw - 30px)!important;
    margin:48px 0!important;
    padding:28px 20px!important;
    gap:28px!important;
    border-radius:26px!important;
  }
  .iwc-booking-copy{padding-top:0}
  .iwc-booking-copy h2{
    max-width:none;
    font-size:clamp(2.2rem,11vw,3.25rem)!important;
  }
  .iwc-booking-form-wrap{
    padding:22px 18px!important;
    border-radius:22px!important;
  }
  .iwc-form-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .iwc-form-submit{width:100%}
}


/* v1.14.0 — editable classic header menu and WooCommerce-safe header layout */

.iwc-header-v114 .iwc-header-row-v114{
  width:min(1500px,calc(100vw - 40px))!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  flex-wrap:nowrap!important;
  gap:clamp(12px,1.5vw,24px)!important;
}

.iwc-header-v114 .iwc-brand{
  flex:0 0 auto!important;
  min-width:190px;
}

.iwc-header-v114 > .wp-block-shortcode,
.iwc-header-v114 .iwc-header-row-v114 > .wp-block-shortcode{
  min-width:0;
  margin:0!important;
}

.iwc-editable-nav{
  position:relative;
  flex:1 1 auto;
  min-width:0;
}

.iwc-nav-panel{
  width:100%;
}

.iwc-classic-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:clamp(12px,1vw,20px);
  list-style:none;
  margin:0;
  padding:0;
}

.iwc-classic-menu > li{
  position:relative;
  flex:0 0 auto;
  margin:0;
  padding:0;
}

.iwc-classic-menu a{
  display:block;
  padding:9px 0;
  color:#fff;
  font-size:.78rem;
  font-weight:750;
  line-height:1.15;
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s ease,opacity .18s ease;
}

.iwc-classic-menu a:hover,
.iwc-classic-menu .current-menu-item > a,
.iwc-classic-menu .current-menu-ancestor > a{
  color:#c8dc7a;
}

.iwc-classic-menu .sub-menu{
  position:absolute;
  z-index:100;
  left:-16px;
  top:100%;
  display:none;
  min-width:210px;
  margin:0;
  padding:10px;
  list-style:none;
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  background:#26352a;
  box-shadow:0 18px 46px rgba(0,0,0,.18);
}

.iwc-classic-menu li:hover > .sub-menu,
.iwc-classic-menu li:focus-within > .sub-menu{
  display:block;
}

.iwc-classic-menu .sub-menu a{
  padding:9px 10px;
  border-radius:8px;
  font-size:.76rem;
}

.iwc-classic-menu .sub-menu a:hover{
  background:rgba(200,220,122,.08);
}

.iwc-nav-toggle{
  display:none;
  appearance:none;
  width:40px;
  height:40px;
  place-items:center;
  padding:0;
  border:1px solid rgba(200,220,122,.35);
  border-radius:50%;
  color:#c8dc7a;
  background:rgba(200,220,122,.06);
  cursor:pointer;
}

.iwc-nav-toggle-lines{
  display:grid;
  gap:4px;
}

.iwc-nav-toggle-lines i{
  display:block;
  width:17px;
  height:1.5px;
  border-radius:2px;
  background:currentColor;
}

/* Woo actions live outside the menu, so activating WooCommerce no longer changes menu width. */
.iwc-woo-header-actions{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:7px;
}

.iwc-woo-header-icon{
  position:relative;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 36px;
  border:1px solid rgba(200,220,122,.38);
  border-radius:50%;
  color:#d4e884;
  background:rgba(200,220,122,.07);
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}

.iwc-woo-header-icon:hover{
  color:#18251d;
  background:#c8dc7a;
  transform:translateY(-1px);
}

.iwc-woo-header-icon svg{
  width:18px;
  height:18px;
}

.iwc-woo-cart-badge{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:17px;
  height:17px;
  display:grid;
  place-items:center;
  padding:0 4px;
  border:2px solid #26352a;
  border-radius:999px;
  color:#fff;
  background:#b8584e;
  font-size:.57rem;
  font-weight:850;
  line-height:1;
}

.iwc-woo-cart-badge.is-empty{
  display:none;
}

.iwc-header-actions-v114{
  flex:0 0 auto!important;
  min-width:0;
  gap:10px!important;
  margin-left:0!important;
}

/* Give the editable navigation more room before changing to hamburger mode. */
@media (max-width:1450px) and (min-width:1181px){
  .iwc-header-v114 .iwc-header-row-v114{
    gap:12px!important;
  }
  .iwc-classic-menu{
    gap:11px;
  }
  .iwc-classic-menu a{
    font-size:.72rem;
  }
  .iwc-header-v114 .iwc-header-cta{
    display:none!important;
  }
  .iwc-header-v114 .iwc-brand{
    min-width:170px;
  }
}

@media (max-width:1180px){
  .iwc-header-v114 .iwc-header-row-v114{
    width:100%!important;
  }

  .iwc-editable-nav{
    order:3;
    flex:0 0 auto;
  }

  .iwc-nav-toggle{
    display:grid;
  }

  .iwc-nav-panel{
    position:absolute;
    z-index:120;
    top:calc(100% + 12px);
    right:0;
    display:none;
    width:min(330px,calc(100vw - 30px));
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    background:#26352a;
    box-shadow:0 22px 60px rgba(0,0,0,.23);
  }

  .iwc-editable-nav.is-open .iwc-nav-panel{
    display:block;
  }

  .iwc-classic-menu{
    display:block;
  }

  .iwc-classic-menu > li{
    width:100%;
  }

  .iwc-classic-menu a{
    padding:11px 12px;
    border-radius:9px;
    font-size:.88rem;
  }

  .iwc-classic-menu a:hover{
    background:rgba(200,220,122,.08);
  }

  .iwc-classic-menu .sub-menu{
    position:static;
    display:block;
    min-width:0;
    margin:0 0 4px 12px;
    padding:0 0 0 8px;
    border:0;
    border-left:1px solid rgba(200,220,122,.18);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .iwc-header-actions-v114{
    order:2;
    margin-left:auto!important;
  }

  .iwc-header-v114 .iwc-header-cta{
    display:none!important;
  }
}

@media (max-width:760px){
  .iwc-header-v114 .iwc-brand{
    min-width:0;
  }

  .iwc-header-v114 .iwc-woo-header-actions{
    gap:5px;
  }

  .iwc-header-v114 .iwc-woo-header-icon{
    width:32px;
    height:32px;
    flex-basis:32px;
  }

  .iwc-header-v114 .iwc-header-phone-icon{
    width:31px!important;
    height:31px!important;
    flex-basis:31px!important;
  }

  .iwc-header-v114 .iwc-header-phone-number{
    font-size:.74rem!important;
  }
}

@media (max-width:560px){
  .iwc-header-v114 .iwc-woo-account-link{
    display:none;
  }

  .iwc-header-v114 .iwc-header-phone-number{
    display:none!important;
  }
}


/* v1.16.0 — mobile pricing overflow fix, group plan and compact controls */
.iwc-pricing-dynamic .iwc-price-card,
.iwc-pricing-dynamic .iwc-price-card *{box-sizing:border-box}
.iwc-pricing-dynamic .iwc-price-card{min-width:0;overflow:hidden}
.iwc-pricing-dynamic .iwc-price-action{display:block;width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}


@media (min-width:1001px){
  .iwc-pricing-page{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:1240px!important}
}
@media (max-width:1000px){
  .iwc-pricing-page{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:700px){
  .iwc-pricing-dynamic .iwc-price-card{width:100%;max-width:100%;padding:26px 22px!important}
  .iwc-pricing-dynamic .iwc-price-action{font-size:.92rem;padding:13px 16px}
  .iwc-pricing-page{grid-template-columns:1fr!important}
  .iwc-pricing-home{grid-template-columns:1fr!important}
}
