/* Editverse Thailand chrome. Scoped reset first, then nav + footer rules extracted from styles.css. */
:where(.nav, .footer), :where(.nav, .footer) *, :where(.nav, .footer) *::before, :where(.nav, .footer) *::after { box-sizing: border-box; }
:where(.nav, .footer) * { margin: 0; padding: 0; }
:where(.nav, .footer) { font-family: var(--font-body, 'Prompt', 'Noto Sans Thai', sans-serif); line-height: 1.65; color: var(--c-text, #2B1B3D); -webkit-font-smoothing: antialiased; }
:where(.nav, .footer) a { color: inherit; text-decoration: none; }
:where(.nav, .footer) ul { list-style: none; }
:where(.nav, .footer) svg { display: block; max-width: none; }
:where(.nav, .footer) button { font: inherit; cursor: pointer; background: none; border: 0; }
/* hide the theme header/footer wherever our chrome is injected */
body.evth-chrome #masthead, body.evth-chrome .site-header, body.evth-chrome #colophon, body.evth-chrome .site-footer { display: none !important; }
/* neutralise CF7 autop wrappers inside compact forms */
.krq-form p:empty, .krq-form br { display: none; }
/* Editverse Thailand chrome: nav + footer only (extracted from styles.css). */
:root {
  /* Colors */
  --c-gold: #D4A843;
  --c-gold-light: #E8C76A;
  --c-gold-dark: #B8892A;
  --c-purple: #4A1A6B;
  --c-purple-mid: #6B2E95;
  --c-purple-light: #8B4AB5;
  --c-cream: #FFF8F0;
  --c-cream-dark: #F5EDDF;
  --c-orange: #E67E22;
  --c-orange-light: #F39C12;
  --c-white: #FFFFFF;
  --c-text: #1A0A2E;
  --c-text-muted: #5A4570;
  --c-text-light: #8A7598;
  --c-border: rgba(74, 26, 107, 0.15);
  --c-border-gold: rgba(212, 168, 67, 0.35);
  --c-shadow: rgba(74, 26, 107, 0.12);

  /* Primary/Accent aliases */
  --c-primary: var(--c-gold);
  --c-accent: var(--c-purple);

  /* Typography */
  --font-heading-th: 'Prompt', 'Noto Sans Thai', sans-serif;
  --font-heading-en: 'DM Sans', sans-serif;
  --font-body: 'Noto Sans Thai', 'DM Sans', sans-serif;

  /* Type Scale */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.0625rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;

  /* Spacing (4px base) */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-32: 8rem;

  /* Layout */
  --container: 1200px;
  --container-narrow: 800px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 9999px;

  /* Shadows */
  --shadow-xs: 0 1px 3px var(--c-shadow);
  --shadow-sm: 0 2px 8px var(--c-shadow);
  --shadow-md: 0 6px 20px var(--c-shadow);
  --shadow-lg: 0 12px 40px var(--c-shadow);
  --shadow-gold: 0 4px 20px rgba(212, 168, 67, 0.25);

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 160ms;
  --dur-med: 280ms;
  --dur-slow: 400ms;
}
.skip-link {
  position: absolute; top: -40px; left: var(--sp-4); z-index: 9999;
  background: var(--c-purple); color: var(--c-white);
  padding: var(--sp-2) var(--sp-4); border-radius: var(--radius-sm);
  font-size: var(--text-sm); transition: top var(--dur-fast);
}
.skip-link:focus { top: var(--sp-4); }
.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--sp-6); }
.container--narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 var(--sp-6); }
.nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 248, 240, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 3px solid transparent;
  background-clip: padding-box;
  transition: box-shadow var(--dur-med) var(--ease-out),
              transform var(--dur-med) var(--ease-out);
  border-image: linear-gradient(90deg, var(--c-gold), var(--c-purple)) 1;
}
.nav::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold) 0%, var(--c-purple) 50%, var(--c-gold) 100%);
}
.nav--scrolled { box-shadow: var(--shadow-md); }
.nav--hidden { transform: translateY(-100%); }
.nav__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: var(--sp-3) var(--sp-6);
  display: flex;
  align-items: center;
  gap: var(--sp-4);
}
.nav__logo {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-family: var(--font-heading-en);
  font-weight: 700;
  font-size: var(--text-xl);
  color: var(--c-purple);
  white-space: nowrap;
  flex-shrink: 0;
}
.nav__logo svg { flex-shrink: 0; }
.nav__logo span { color: var(--c-gold); }
.nav__links {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  flex: 1;
  flex-wrap: wrap;
  justify-content: center;
}
.nav__links a {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--c-text-muted);
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius-pill);
  transition: color var(--dur-fast), background var(--dur-fast);
  white-space: nowrap;
}
.nav__links a:hover, .nav__links a.active {
  color: var(--c-purple);
  background: rgba(74, 26, 107, 0.08);
}
.lang-toggle {
  display: flex;
  align-items: center;
  gap: 2px;
  background: var(--c-cream-dark);
  border: 1.5px solid var(--c-border-gold);
  border-radius: var(--radius-pill);
  padding: 3px 4px;
  font-size: var(--text-xs);
  font-weight: 600;
  font-family: var(--font-heading-en);
  color: var(--c-text-muted);
  cursor: pointer;
  transition: border-color var(--dur-fast);
  flex-shrink: 0;
}
.lang-toggle:hover { border-color: var(--c-gold); }
.lang-toggle__option {
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  transition: background var(--dur-fast), color var(--dur-fast);
}
.lang-toggle__option.is-active {
  background: var(--c-purple);
  color: var(--c-white);
}
.lang-toggle__divider { color: var(--c-border); font-size: 10px; }
.nav__cta {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  background: var(--c-gold);
  color: var(--c-purple);
  padding: var(--sp-2) var(--sp-5);
  border-radius: var(--radius-pill);
  transition: background var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast);
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(212,168,67,0.3);
}
.nav__cta:hover {
  background: var(--c-gold-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-gold);
}
.nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 8px;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--c-border);
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nav__hamburger span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--c-purple);
  border-radius: 2px;
  transition: transform var(--dur-med), opacity var(--dur-med);
}
.nav__hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav__hamburger.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav__hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav__drawer {
  display: none;
  flex-direction: column;
  gap: var(--sp-1);
  padding: var(--sp-4) var(--sp-6) var(--sp-6);
  background: var(--c-cream);
  border-top: 1px solid var(--c-border-gold);
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--dur-slow) var(--ease-out);
}
.nav__drawer.is-open { max-height: 600px; }
.nav__drawer a {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 500;
  color: var(--c-text-muted);
  padding: var(--sp-3) var(--sp-2);
  border-bottom: 1px solid var(--c-border);
  transition: color var(--dur-fast);
}
.nav__drawer a:hover { color: var(--c-purple); }
@media (max-width: 1400px) {
  .nav__links { display: none; }
  .nav__hamburger { display: flex; }
  .nav__drawer { display: flex; }
}
.footer {
  background: var(--c-purple);
  color: rgba(255,255,255,0.85);
  padding: clamp(var(--sp-12), 6vw, var(--sp-20)) 0 var(--sp-6);
}
.footer__inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--sp-10);
  margin-bottom: var(--sp-12);
}
.footer__brand-name {
  font-family: var(--font-heading-en);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--c-gold);
  margin-bottom: var(--sp-3);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.footer__desc {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.6);
  line-height: 1.75;
  margin-bottom: var(--sp-4);
}
.footer__email a {
  color: var(--c-gold);
  font-weight: 600;
  font-size: var(--text-sm);
  transition: color var(--dur-fast);
}
.footer__email a:hover { color: var(--c-gold-light); }
.footer__badges { display: flex; gap: var(--sp-2); margin-top: var(--sp-4); flex-wrap: wrap; }
.footer__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  background: rgba(212,168,67,0.12);
  border: 1px solid rgba(212,168,67,0.25);
  color: var(--c-gold-light);
  font-size: var(--text-xs);
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
}
.footer__col h4 {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--c-gold);
  margin-bottom: var(--sp-4);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.footer__col ul { display: flex; flex-direction: column; gap: var(--sp-3); }
.footer__col a {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.6);
  transition: color var(--dur-fast);
}
.footer__col a:hover { color: var(--c-gold-light); }
.footer__bottom {
  border-top: 1px solid rgba(212,168,67,0.2);
  padding-top: var(--sp-6);
  text-align: center;
  font-size: var(--text-xs);
  color: rgba(255,255,255,0.4);
}
.footer__bottom a {
  color: rgba(255,255,255,0.4);
  transition: color var(--dur-fast);
}
.footer__bottom a:hover { color: var(--c-gold-light); }
@media (max-width: 960px) {
  .footer__inner { grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
}
@media (max-width: 640px) {
  .footer__inner { grid-template-columns: 1fr; }
}

/* Forms (contact page + compact on-page enquiry). Shared .krq-* styles. */
.krq-wrap{padding:var(--sp-12,3rem) 0;background:var(--c-cream-dark,#F5EDDF)}
.krq-wrap .container{max-width:var(--container,1200px);margin:0 auto;padding:0 var(--sp-6,1.5rem)}
.krq-card,.krq-form--full{background:#fff;border:1px solid var(--c-border,rgba(74,26,107,.15));border-radius:var(--radius-lg,20px);padding:var(--sp-8,2rem);box-shadow:0 6px 20px var(--c-shadow,rgba(74,26,107,.12));max-width:760px;margin:0 auto;font-family:var(--font-body,'Noto Sans Thai',sans-serif);color:var(--c-text,#1A0A2E);line-height:1.65}
.krq-title{font-family:var(--font-heading-th,'Prompt',sans-serif);font-size:1.5rem;line-height:1.4;margin:0 0 .4rem;color:var(--c-purple,#4A1A6B)}
.krq-sub{margin:0 0 1.25rem;color:var(--c-text-muted,#5A4570)}
.krq-form p{margin:0}
.krq-row{margin:0 0 1rem}
.krq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.krq-lbl{display:block;font-weight:600;font-size:.95rem;margin:0 0 .35rem}
.krq-req{color:var(--c-orange,#E67E22);font-weight:700;margin-left:.25rem}
.krq-form input[type=text],.krq-form input[type=email],.krq-form input[type=number],.krq-form input[type=date],.krq-form select,.krq-form textarea{width:100%;padding:.75rem 1rem;border:1px solid rgba(74,26,107,.25);border-radius:10px;font:inherit;background:#fff;color:inherit;box-sizing:border-box}
.krq-form textarea{min-height:120px;resize:vertical}
.krq-form input:focus,.krq-form select:focus,.krq-form textarea:focus{outline:2px solid var(--c-gold,#D4A843);outline-offset:1px}
.krq-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:.5rem}
.krq-form .wpcf7-list-item{margin:0}
.krq-form .wpcf7-radio label{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid rgba(74,26,107,.25);border-radius:999px;cursor:pointer;font-weight:500;margin:0}
.krq-form .wpcf7-radio label:has(input:checked){background:var(--c-purple,#4A1A6B);border-color:var(--c-purple,#4A1A6B);color:#fff}
.krq-form .wpcf7-radio input{accent-color:var(--c-gold,#D4A843)}
.krq-consent{margin:0 0 1rem;font-size:.9rem;color:var(--c-text-muted,#5A4570)}
.krq-consent .wpcf7-list-item{display:inline}
.krq-form .wpcf7-submit,.krq-submit{background:var(--c-purple,#4A1A6B);color:#fff;border:0;padding:.85rem 1.75rem;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
.krq-form .wpcf7-submit:hover{background:var(--c-purple-mid,#6B2E95)}
.krq-fine{margin:.75rem 0 0;font-size:.85rem;color:var(--c-text-light,#8A7598)}
.krq-form .wpcf7-not-valid-tip{color:#b3261e;font-size:.85rem}
.krq-form .wpcf7-response-output{margin:1rem 0 0;border-radius:10px}
.krq-form .hidden-fields-container,.krq-form fieldset.hidden-fields-container{display:none!important;border:0!important;padding:0!important;margin:0!important}
@media (max-width:640px){.krq-grid{grid-template-columns:1fr}.krq-card,.krq-form--full{padding:var(--sp-5,1.25rem)}}

/* closed mobile drawer: no peeking padding/text */
.nav__drawer:not(.is-open){padding-top:0;padding-bottom:0;border-top-width:0;visibility:hidden}
.nav__drawer.is-open{visibility:visible}

/* 2026-10-04 contact form: multi-select services, file field */
.krq-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:.5rem}
.krq-form .wpcf7-checkbox label{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid rgba(74,26,107,.25);border-radius:999px;cursor:pointer;font-weight:500;margin:0;line-height:1.35}
.krq-form .wpcf7-checkbox label:has(input:checked){background:var(--c-purple,#4A1A6B);border-color:var(--c-purple,#4A1A6B);color:#fff}
.krq-form .wpcf7-checkbox input{accent-color:var(--c-gold,#D4A843)}
.krq-form .krq-hint{font-weight:400;opacity:.7;font-size:.9em}
.krq-form input[type=file]{display:block;width:100%;padding:.55rem;border:1px dashed rgba(74,26,107,.35);border-radius:8px;background:#fff;font-size:.95rem}
.krq-form .krq-filehint{display:block;margin-top:.35rem;font-size:.85rem;opacity:.75}
.krq-form .krq-fine + .krq-fine{margin-top:.25rem}

/* 2026-10-04 mobile: header CTA pushed the menu button off-screen below ~560px; the drawer carries the contact link */
@media (max-width:560px){.nav__inner>.nav__cta{display:none!important}}

/* ═══ 2026-10-04 Sharp system — one corner decision for the whole site (Swiss-academic: sharp edges, hairline rules, solid brand colour) ═══ */
:root{--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-pill:0}
html body :not(#_):not(input[type=radio]),html body :not(#_)::before,html body :not(#_)::after{border-radius:0!important}
/* solid brand colour instead of decorative gradients and glow blobs */
html body .page-intro,html body .quiz-box{background:var(--c-purple,#4A1A6B)!important}
html body .cta-banner,html body .floating-badge,html body .step-item__num,html body .pricing-card--featured::before{background:var(--c-gold,#D4A843)!important}
html body .highlight-box{background:#fff!important}
html body .service-card::before,html body .testimonial-card__avatar{background:var(--c-purple,#4A1A6B)!important}
html body .nav::after{background:var(--c-gold,#D4A843)!important}
html body .silk-divider{background:rgba(74,26,107,.18)!important;height:1px!important}
html body .silk-divider::after,html body .quiz-box::before,html body .page-intro::after{display:none!important}
/* no glow shadows on buttons; hover = colour change, not a floating lift */
html body .btn,html body .btn:hover,html body .nav__cta,html body .nav__cta:hover,html body .krq-submit{box-shadow:none!important}
html body .btn:hover,html body .nav__cta:hover{transform:none!important}
/* service tiles: numbered squares instead of emoji icons */
:has(> .service-card){counter-reset:evsvc}
.service-card{counter-increment:evsvc}
html body .service-card__icon{background:var(--c-purple,#4A1A6B)!important;font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
html body .service-card__icon::before{content:counter(evsvc,decimal-leading-zero);font-size:1rem;font-weight:700;letter-spacing:.04em;color:#fff}
html body .quiz-option__icon:empty{display:none!important}

html body .page-intro::before{display:none!important} /* curved ellipse hero edge -> straight */
@media (max-width:480px){html body .hero-stat__number{font-size:1.35rem!important}} /* PhD/MD overflowed its tile at 390px */
html body .faq-item__question br,html body .quiz-option br{display:none!important}html body .faq-item__question{text-align:left!important} /* wpautop <br> flex items centred FAQ text and padded quiz options */
html body .quiz-options>br,html body .quiz-options>p:empty,html body .faq-list>br,html body .faq-list>p:empty{display:none!important}
html body .nav__drawer.is-open{max-height:calc(100vh - 80px)!important;overflow-y:auto!important} /* 600px cap cut off the contact link */
html body .nav__hamburger,html body .nav__hamburger:hover,html body .nav__hamburger:focus,html body .nav__hamburger:active{background:transparent!important;color:var(--c-purple,#4A1A6B)!important} /* Kadence button blue leaked onto the menu button */

/* 2026-10-04 layout pass: wpautop leaves empty <p> inside grids — each one ate a grid cell */
html body main p:empty,html body .entry-content p:empty{display:none!important}
/* exactly 4 cards → one row of 4 instead of 3 + an orphan */
@media (min-width:1024px){html body .pricing-grid:has(> .pricing-card:nth-child(4 of .pricing-card)):not(:has(> .pricing-card:nth-child(5 of .pricing-card))),html body .services-grid:has(> .service-card:nth-child(4 of .service-card)):not(:has(> .service-card:nth-child(5 of .service-card))){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}}
@media (min-width:640px) and (max-width:1023px){html body .pricing-grid:has(> .pricing-card:nth-child(4 of .pricing-card)):not(:has(> .pricing-card:nth-child(5 of .pricing-card))),html body .services-grid:has(> .service-card:nth-child(4 of .service-card)):not(:has(> .service-card:nth-child(5 of .service-card))){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* comparison tables: fit 4–5 columns on a phone */
@media (max-width:480px){html body .comparison-table th,html body .comparison-table td{padding:8px 5px!important;font-size:.76rem!important}}


/* 2026-10-04 layout pass 2 */
/* nav wrapped to two lines on Woo/blog templates (no theme stylesheet there, wider fallback font) */
html body .nav__links{flex-wrap:nowrap!important}
html body .nav__links a{white-space:nowrap!important}
/* Kadence default blue (#2B6CB0) leaked into Woo buttons, breadcrumbs, pagination → brand purple */
:root{--global-palette1:#4A1A6B!important;--global-palette2:#35124D!important}
/* related-article grids with exactly 4 items → one row of 4 */
@media (min-width:1024px){html body .ev-svcposts .g:has(> a.c:nth-child(4)):not(:has(> a.c:nth-child(5))){grid-template-columns:repeat(4,minmax(0,1fr))!important}}

html body .krq-submit{white-space:normal!important;max-width:100%!important;height:auto!important;line-height:1.4!important} @media (max-width:560px){html body .krq-submit{width:100%!important}} /* submit label was clipped on phones */
