/*
Theme Name: My Mind Is Ok
Theme URI: https://mymindisok.com
Author: My Mind Is Ok
Author URI: https://mymindisok.com
Description: A motion-rich wellbeing theme with native WooCommerce support and a companion Stripe memberships integration.
Version: 2.7.1
Requires at least: 6.0
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mymindisok
*/

:root {
  --mmio-ink: #102520;
  --mmio-muted: #61706a;
  --mmio-teal-950: #071b18;
  --mmio-teal-900: #0a2f2a;
  --mmio-teal-700: #0f6c63;
  --mmio-teal-500: #1f9385;
  --mmio-mint: #8be0bd;
  --mmio-cream: #f8f5ee;
  --mmio-gold: #ff8945;
  --mmio-coral: #ef8a6a;
  --mmio-white: #fff;
  --mmio-border: rgba(10, 47, 42, 0.12);
  --mmio-shadow: 0 28px 80px rgba(7, 27, 24, 0.14);
  --mmio-radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--mmio-ink);
  background: linear-gradient(180deg, #f8f5ee 0%, #fff 44%, #edf7f1 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--mmio-teal-700); }
img { max-width: 100%; height: auto; }

.mmio-wp-header {
  position: sticky;
  top: 0;
  z-index: 100;
  color: #fff;
  background: rgba(28, 28, 27, 0.94);
  border-bottom: 1px solid rgba(255,137,69,0.18);
  backdrop-filter: blur(22px) saturate(145%);
}
.admin-bar .mmio-wp-header { top: 32px; }
.mmio-wp-nav {
  width: calc(100% - 2rem);
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
}
.mmio-wp-brand {
  display: inline-flex;
  align-items: center;
  gap: .72rem;
  color: #fff;
  text-decoration: none;
  font-weight: 850;
  letter-spacing: -.02em;
}
.mmio-wp-brand img {
  width: 45px;
  height: 45px;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(246,189,73,.18);
}
.mmio-wp-brand em {
  color: #ffd27a;
  font-family: Georgia, serif;
  font-weight: 600;
}
.mmio-wp-links { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.mmio-wp-links a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 .82rem;
  border-radius: 10px;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 720;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.mmio-wp-links a:hover { color: #fff; background: rgba(255,255,255,.1); transform: translateY(-1px); }
.mmio-wp-links .mmio-cart-link {
  color: #06201d;
  background: linear-gradient(135deg, #ffc39e, #ff8945);
  box-shadow: 0 10px 24px rgba(255,137,69,.22);
}

.mmio-wp-main {
  width: calc(100% - clamp(2rem, 5vw, 5rem));
  min-height: 68vh;
  margin: 0 auto;
  padding: clamp(2.2rem, 6vw, 5rem) 0;
}
.mmio-page-head { max-width: 780px; margin-bottom: 2rem; }
.mmio-eyebrow { color: #b27020; font-size: .76rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.mmio-page-title { margin: .45rem 0 .75rem; font-size: clamp(2.3rem, 6vw, 4.5rem); line-height: .98; letter-spacing: -.04em; }
.mmio-content-card {
  padding: clamp(1.2rem, 4vw, 2.5rem);
  border: 1px solid var(--mmio-border);
  border-radius: var(--mmio-radius);
  background: rgba(255,255,255,.9);
  box-shadow: var(--mmio-shadow);
}

.mmio-wp-footer {
  padding: 2.3rem 1rem;
  color: rgba(255,255,255,.72);
  background: radial-gradient(110% 140% at 90% 0%, #4a2c21 0%, #242322 48%, #111 100%);
}
.mmio-wp-footer-inner {
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: .88rem;
}
.mmio-wp-footer a { color: #ffd27a; }

/* WooCommerce surfaces */
.woocommerce .woocommerce-breadcrumb { color: var(--mmio-muted); font-size: .84rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--mmio-teal-700); }
.woocommerce h1, .woocommerce h2, .woocommerce h3 { color: var(--mmio-ink); letter-spacing: -.025em; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: clamp(1rem,2vw,1.6rem); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 1rem;
  border: 1px solid var(--mmio-border);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 50px rgba(7,27,24,.09);
  transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 26px 70px rgba(7,27,24,.14); }
.woocommerce ul.products li.product img { border-radius: 13px; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color: var(--mmio-teal-700); font-weight: 850; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.15rem;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, #14887d, #0a3330);
  box-shadow: 0 12px 28px rgba(15,108,99,.22);
  font-weight: 800;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: #fff; background: linear-gradient(135deg, #16988b, #0b3e39); }
.woocommerce a.button.alt, .woocommerce button.button.alt {
  color: #09241f;
  background: linear-gradient(135deg, #ffc39e, #ff8945);
}
.woocommerce table.shop_table, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register,
.woocommerce .woocommerce-checkout-review-order, .woocommerce .woocommerce-MyAccount-content {
  border: 1px solid var(--mmio-border);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 50px rgba(7,27,24,.08);
}
.woocommerce table.shop_table { border-collapse: separate; overflow: hidden; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  min-height: 46px;
  padding: .7rem .8rem;
  border: 1px solid rgba(10,47,42,.18);
  border-radius: 10px;
  background: #fff;
}
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
  border-top: 0;
  border-left: 5px solid var(--mmio-teal-700);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(7,27,24,.08);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  margin-bottom: .35rem;
  padding: .72rem .9rem;
  border-radius: 9px;
  color: var(--mmio-ink);
  background: rgba(15,108,99,.07);
  text-decoration: none;
  font-weight: 720;
}

@media (max-width: 820px) {
  .admin-bar .mmio-wp-header { top: 46px; }
  .mmio-wp-nav { padding: .75rem 0; align-items: flex-start; }
  .mmio-wp-links { gap: .1rem; }
  .mmio-wp-links a:not(.mmio-cart-link) { display: none; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 540px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
}

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

/* Editorial public pages — server-rendered, calm and deliberately spacious. */
.mmio-wp-header { background: rgba(20,19,18,.88); }
.mmio-wp-nav { min-height: 82px; }
.mmio-wp-links { flex-wrap: nowrap; }
.mmio-wp-links a { padding: 0 clamp(.35rem,.55vw,.72rem); font-size: clamp(.72rem,.72vw,.84rem); }
.mmio-wp-mobile-menu { display: none; position: relative; margin-left: auto; }
.mmio-wp-mobile-menu summary { display: inline-flex; min-height: 44px; align-items: center; padding: 0 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; color: #fff; background: rgba(255,255,255,.09); cursor: pointer; font-weight: 850; list-style: none; }
.mmio-wp-mobile-menu summary::-webkit-details-marker { display: none; }
.mmio-wp-mobile-menu > div { position: absolute; top: calc(100% + .7rem); right: 0; width: min(22rem,calc(100vw - 2rem)); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; padding: .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(25,23,22,.98); box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.mmio-wp-mobile-menu a { padding: .75rem; border-radius: 10px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.05); text-decoration: none; font-size: .84rem; font-weight: 780; }

.mmio-editorial-page { overflow: clip; background: #f7f3ed; }
.mmio-editorial-hero { position: relative; min-height: clamp(36rem,72svh,52rem); display: grid; align-items: end; overflow: hidden; color: #fff; background: #131312; isolation: isolate; }
.mmio-editorial-hero::before { content: ""; position: absolute; z-index: -2; inset: -3%; background-image: var(--mmio-editorial-image); background-size: cover; background-position: center; animation: mmio-editorial-drift 22s ease-in-out infinite alternate; }
.mmio-editorial-hero__shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(12,12,11,.94) 0%,rgba(15,15,14,.76) 42%,rgba(15,15,14,.2) 72%,rgba(15,15,14,.45) 100%),linear-gradient(0deg,rgba(10,10,9,.78),transparent 55%); }
.mmio-editorial-hero__inner { width: calc(100% - clamp(2rem,5vw,6rem)); margin: 0 auto; padding: clamp(9rem,17vh,13rem) 0 clamp(4rem,8vh,7rem); }
.mmio-editorial-kicker { margin: 0 0 .8rem; color: #ff9d64; font-size: .72rem; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.mmio-editorial-hero h1 { max-width: 900px; margin: 0; font-family: Inter,ui-sans-serif,system-ui,sans-serif; font-size: clamp(3rem,6.8vw,7.4rem); font-weight: 780; line-height: .91; letter-spacing: -.06em; text-wrap: balance; }
.mmio-editorial-lede { max-width: 720px; margin: 1.6rem 0 0; color: rgba(255,255,255,.78); font-size: clamp(1.05rem,1.4vw,1.35rem); line-height: 1.7; }
@keyframes mmio-editorial-drift { from { transform: scale(1.03) translate3d(-.5%,0,0); } to { transform: scale(1.085) translate3d(1.2%,-.7%,0); } }

.mmio-editorial-section { width: calc(100% - clamp(2rem,5vw,6rem)); margin: 0 auto; padding: clamp(5rem,10vw,9rem) 0; }
.mmio-editorial-section--soft { width: 100%; max-width: none; padding-inline: calc(clamp(2rem,5vw,6rem) / 2); background: linear-gradient(145deg,#eee8df,#f8f5ef); }
.mmio-editorial-section__head { max-width: 820px; margin-bottom: clamp(2.4rem,5vw,4.5rem); }
.mmio-editorial-section__head h2,.mmio-editorial-split h2,.mmio-editorial-cta h2,.mmio-editorial-copy h2 { margin: 0; font-size: clamp(2.1rem,4vw,4.4rem); line-height: 1; letter-spacing: -.045em; }
.mmio-editorial-section__head > p:last-child,.mmio-editorial-split p,.mmio-editorial-copy p { color: #5f625e; font-size: 1.05rem; line-height: 1.75; }
.mmio-editorial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,1.7rem); }
.mmio-editorial-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.mmio-editorial-card { min-height: 18rem; display: flex; flex-direction: column; padding: clamp(1.3rem,2.2vw,2rem); border: 1px solid rgba(24,22,20,.08) !important; border-radius: 26px; background: rgba(255,255,255,.74) !important; box-shadow: 0 22px 70px rgba(45,34,27,.08) !important; }
.mmio-editorial-card__icon { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: auto; border: 1px solid rgba(255,137,69,.2); border-radius: 14px; color: #7e3b20; background: #fff1e8; font-size: 1rem; font-weight: 900; }
.mmio-editorial-card h2 { margin: 2.5rem 0 .65rem; font-size: clamp(1.2rem,1.5vw,1.55rem); letter-spacing: -.025em; }
.mmio-editorial-card p { margin: 0; color: #656661; line-height: 1.65; }
.mmio-editorial-text-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.4rem; color: #b84d25; text-decoration: none; font-size: .9rem; font-weight: 900; }
.mmio-editorial-split { display: grid; grid-template-columns: minmax(0,.86fr) minmax(420px,1.14fr); gap: clamp(3rem,8vw,9rem); align-items: center; }
.mmio-editorial-photo { margin: 0; overflow: hidden; border-radius: 34px; background: #201f1e; box-shadow: 0 45px 120px rgba(35,27,22,.22); }
.mmio-editorial-photo img { width: 100%; aspect-ratio: 1.45; display: block; object-fit: cover; }
.mmio-editorial-photo figcaption { padding: 1rem 1.2rem; color: rgba(255,255,255,.68); background: #201f1e; font-size: .8rem; }
.mmio-crisis-strip { width: calc(100% - clamp(2rem,5vw,6rem)); display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin: 0 auto clamp(5rem,10vw,9rem); padding: clamp(2rem,4vw,4rem); border-radius: 30px; color: #fff; background: linear-gradient(135deg,#182521,#302018); box-shadow: 0 35px 100px rgba(30,22,18,.2); }
.mmio-crisis-strip h2 { margin: 0 0 .5rem; font-size: clamp(1.8rem,3vw,3rem); }
.mmio-crisis-strip p { margin: 0; color: rgba(255,255,255,.7); }
.mmio-crisis-strip > div:last-child { display: flex; flex-wrap: wrap; gap: .7rem; }
.mmio-editorial-button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; padding: 0 1.35rem; border: 0; border-radius: 12px; color: #17110e; background: linear-gradient(135deg,#ffc39e,#ff8945); box-shadow: 0 16px 38px rgba(255,137,69,.25); text-decoration: none; font-weight: 900; cursor: pointer; }
.mmio-editorial-button--light { background: #fff; box-shadow: none; }
.mmio-editorial-cta { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-top: clamp(3rem,6vw,6rem); padding: clamp(2rem,4vw,4rem); border-radius: 32px; color: #fff; background: radial-gradient(100% 180% at 85% 0,#4b3025,#1c1b1a 62%); box-shadow: 0 38px 100px rgba(35,26,21,.22); }
.mmio-editorial-cta h2 { max-width: 760px; }

.mmio-faq-list { max-width: 1080px; }
.mmio-faq-item { margin-bottom: .8rem; overflow: hidden; border: 1px solid rgba(25,23,20,.09); border-radius: 18px; background: rgba(255,255,255,.75); box-shadow: 0 15px 45px rgba(35,28,23,.06); }
.mmio-faq-item summary { padding: 1.35rem 1.5rem; cursor: pointer; font-size: 1.05rem; font-weight: 850; }
.mmio-faq-item p { margin: 0; padding: 0 1.5rem 1.5rem; color: #5e625d; line-height: 1.7; }
.mmio-billing-note { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding: 1rem 1.2rem; border: 1px solid rgba(15,108,99,.16); border-radius: 14px; color: #24413b; background: rgba(139,224,189,.12); }
.mmio-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,1.6rem); align-items: stretch; }
.mmio-price-card { display: flex; flex-direction: column; padding: clamp(1.6rem,3vw,2.6rem); border: 1px solid rgba(26,22,19,.1) !important; border-radius: 28px; background: rgba(255,255,255,.82) !important; box-shadow: 0 26px 80px rgba(36,27,22,.1) !important; }
.mmio-price-card.is-featured { transform: translateY(-1rem); border-color: rgba(255,137,69,.38) !important; box-shadow: 0 38px 110px rgba(54,34,24,.18) !important; }
.mmio-price-badge { align-self: flex-start; margin-bottom: 1.4rem; padding: .35rem .65rem; border-radius: 999px; color: #6b2a12; background: #ffe1cf; font-size: .72rem; font-weight: 950; text-transform: uppercase; }
.mmio-price-card h2 { margin: 0 0 .8rem; font-size: 1.6rem; }
.mmio-price-card > p { color: #62645f; line-height: 1.6; }
.mmio-price { margin: 1.3rem 0 !important; }
.mmio-price strong { display: block; color: #1d1d1b; font-size: clamp(2.8rem,4vw,4.3rem); line-height: 1; letter-spacing: -.055em; }
.mmio-price span { display: block; margin-top: .4rem; color: #7a7a74; font-size: .85rem; font-weight: 800; }
.mmio-price-card ul { margin: 0 0 2rem; padding: 0; list-style: none; }
.mmio-price-card li { padding: .55rem 0 .55rem 1.3rem; border-bottom: 1px solid rgba(25,22,20,.07); position: relative; color: #5b5e59; }
.mmio-price-card li::before { content: "✓"; position: absolute; left: 0; color: #0f6c63; font-weight: 900; }
.mmio-price-actions { display: grid; gap: .35rem; margin-top: auto; }

.mmio-contact-direct { display: grid; gap: .45rem; margin-top: 1.5rem; }
.mmio-contact-direct a { color: #b84d25; font-weight: 850; text-decoration: none; }
.mmio-contact-form { display: grid; gap: 1rem; padding: clamp(1.4rem,3vw,2.6rem); border: 1px solid rgba(25,22,20,.09); border-radius: 30px; background: rgba(255,255,255,.82); box-shadow: 0 30px 90px rgba(36,27,22,.12); }
.mmio-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.mmio-contact-form label { display: grid; gap: .45rem; color: #454843; font-size: .85rem; font-weight: 850; }
.mmio-contact-form input,.mmio-contact-form select,.mmio-contact-form textarea { width: 100%; min-height: 3rem; padding: .75rem .85rem; border: 1px solid rgba(20,20,18,.13); border-radius: 11px; color: #1e211e; background: #fff; font: inherit; }
.mmio-contact-form textarea { min-height: 10rem; resize: vertical; }
.mmio-honeypot { position: absolute !important; left: -9999px; width: 1px !important; height: 1px; }
.mmio-form-status { min-height: 1.4rem; margin: 0; color: #0f6c63; font-size: .9rem; font-weight: 750; }

.mmio-brand-showcase { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.mmio-brand-showcase__dark { display: grid; place-items: center; min-height: 36rem; padding: 3rem; border-radius: 40px; background: #111; box-shadow: 0 45px 120px rgba(22,17,15,.25); }
.mmio-brand-showcase__dark img { max-height: 29rem; width: auto; }
.mmio-swatches { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; margin: 1.5rem 0; }
.mmio-swatches span { min-height: 7rem; display: flex; align-items: end; padding: .65rem; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; color: #20201f; background: var(--swatch); font-size: .7rem; font-weight: 850; }
.mmio-business-card-preview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.mmio-card-face { aspect-ratio: 1.75; display: grid; align-content: center; padding: 8%; border-radius: 24px; color: #20201f; background: #f8f5ee; box-shadow: 0 28px 90px rgba(35,27,22,.17); }
.mmio-card-face--front { justify-items: center; color: #fff; background: #20201f; text-align: center; }
.mmio-card-face img { width: 18%; margin-bottom: 1rem; }
.mmio-card-face strong { font-size: clamp(1.4rem,3vw,3rem); }
.mmio-card-face em { color: #ff9d64; font-family: Newsreader,serif; font-weight: 500; }
.mmio-card-face span { color: #ff9d64; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mmio-editorial-copy { max-width: 860px; margin: clamp(3rem,6vw,6rem) auto 0; }

.mmio-native-policy { min-height: 70vh; background: #f8f5ee; }
.mmio-native-policy > section:first-child { padding-top: 7rem !important; }

@media (max-width: 1280px) {
  .mmio-wp-links { display: none; }
  .mmio-wp-mobile-menu { display: block; }
  .mmio-editorial-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .mmio-editorial-split,.mmio-brand-showcase { grid-template-columns: 1fr; }
  .mmio-pricing-grid { grid-template-columns: 1fr; }
  .mmio-price-card.is-featured { transform: none; }
  .mmio-editorial-cta,.mmio-crisis-strip { align-items: flex-start; flex-direction: column; }
  .mmio-business-card-preview { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .mmio-editorial-hero { min-height: 38rem; }
  .mmio-editorial-hero__inner,.mmio-editorial-section,.mmio-crisis-strip { width: calc(100% - 1.5rem); }
  .mmio-editorial-hero h1 { font-size: clamp(2.7rem,14vw,4.6rem); }
  .mmio-editorial-grid,.mmio-editorial-grid--4 { grid-template-columns: 1fr; }
  .mmio-editorial-card { min-height: 15rem; }
  .mmio-form-row,.mmio-swatches { grid-template-columns: 1fr; }
  .mmio-swatches span { min-height: 4rem; }
}
