/*
Theme Name: otDiary
Theme URI: https://ot.oopstm.com/
Author: OopsTime
Author URI: https://ot.oopstm.com/
Description: Application-style WordPress theme for the otDiary creator commerce platform.
Version: 1.10.73
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: otdiary
Tags: custom-logo, featured-images, full-width-template, accessibility-ready
*/

:root {
  --otd-ink: #111111;
  --otd-muted: #6b6b6b;
  --otd-line: #e6e6e6;
  --otd-paper: #ffffff;
  --otd-canvas: #f7f7f7;
  --otd-accent: #111111;
  --otd-accent-dark: #4a4a4a;
  --otd-radius: 18px;
  --otd-shadow: 0 14px 40px rgba(20, 20, 20, .04);
  --otd-font-sans: "DM Sans", "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --otd-font-display: "DM Sans", "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --otd-editorial-font: "DM Sans", "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--otd-ink);
  background: var(--otd-canvas);
  font-family: var(--otd-font-sans);
  font-weight: 400;
  letter-spacing: -.012em;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.otd-site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 0 4vw;
  border-bottom: 1px solid rgba(230, 230, 230, .92);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px);
}
.otd-brand { font-size: 24px; font-weight: 700; letter-spacing: -.035em; }
.otd-brand span { font-weight: 400; }
.otd-header-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; }
.otd-header-actions { display: flex; align-items: center; gap: 10px; }

.otd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--otd-ink);
  border-radius: 999px;
  background: var(--otd-ink);
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  letter-spacing: -.01em;
  transition: transform .2s ease, background .2s ease;
}
.otd-btn:hover { transform: translateY(-1px); }
.otd-btn--light { background: #fff; color: var(--otd-ink); border-color: var(--otd-line); }
.otd-btn--accent { background: var(--otd-accent); color: #fff; border-color: var(--otd-accent); }

.otd-main { min-height: calc(100vh - 150px); }
.otd-container { width: min(1240px, 92vw); margin: 0 auto; }
.otd-standard-page { padding: 64px 0 90px; }
.otd-standard-page article { max-width: 800px; margin: auto; background: #fff; padding: 48px; border-radius: var(--otd-radius); }
.otd-standard-page h1 { font-family: var(--otd-font-display); font-size: clamp(38px, 6vw, 72px); font-weight: 600; letter-spacing: -.035em; line-height: .98; margin: 0 0 24px; }
.otd-entry-content { font-family: var(--otd-font-sans); font-size: 18px; font-weight: 400; line-height: 1.72; letter-spacing: -.006em; }

.otd-home-hero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  min-height: 720px;
  background: #fff;
}
.otd-home-copy { padding: 9vw 7vw; display: flex; flex-direction: column; justify-content: center; }
.otd-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 600; }
.otd-home-copy h1 { font-family: var(--otd-font-display); font-size: clamp(60px, 9vw, 136px); font-weight: 600; line-height: .88; letter-spacing: -.045em; margin: 24px 0 28px; }
.otd-home-copy p { max-width: 620px; font-size: 20px; line-height: 1.6; color: var(--otd-muted); }
.otd-home-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.otd-home-visual {
  min-height: 580px;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.14), transparent 22%),
    radial-gradient(circle at 72% 24%, rgba(255,255,255,.08), transparent 25%),
    radial-gradient(circle at 52% 82%, rgba(255,255,255,.06), transparent 28%),
    linear-gradient(180deg, #1a1a1a, #0e0e0e);
  position: relative;
  overflow: hidden;
}
.otd-home-visual::after {
  content: "Dear Diary";
  position: absolute;
  left: 10%;
  bottom: 12%;
  color: #fff;
  font-family: var(--otd-font-display);
  font-size: clamp(44px, 6vw, 90px);
  font-weight: 500;
  letter-spacing: -.035em;
}
.otd-home-grid { padding: 100px 0; }
.otd-home-grid h2 { font-family: var(--otd-font-display); font-size: clamp(38px, 5vw, 70px); font-weight: 500; line-height: 1; letter-spacing: -.035em; max-width: 860px; }
.otd-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 44px; }
.otd-feature { min-height: 260px; background: #fff; border: 1px solid var(--otd-line); border-radius: var(--otd-radius); padding: 28px; }
.otd-feature strong { display: block; font-size: 22px; margin: 60px 0 12px; }
.otd-feature p { color: var(--otd-muted); line-height: 1.6; }

.otd-site-footer { padding: 44px 4vw; border-top: 1px solid var(--otd-line); background: #fff; display: flex; justify-content: space-between; gap: 20px; color: var(--otd-muted); font-size: 13px; }

@media (max-width: 900px) {
  .otd-header-nav { display: none; }
  .otd-home-hero { grid-template-columns: 1fr; }
  .otd-home-copy { padding: 90px 7vw; }
  .otd-home-visual { min-height: 430px; }
  .otd-feature-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .otd-site-header { padding: 0 18px; }
  .otd-header-actions .otd-btn--light { display: none; }
  .otd-feature-grid { grid-template-columns: 1fr; }
  .otd-standard-page article { padding: 28px 22px; }
  .otd-site-footer { flex-direction: column; }
}


/* otDiary 0.4.0 — monochrome palette inspired by ShopMy. */
html, body, button, input, textarea, select {
  font-family: var(--otd-font-sans);
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--otd-font-display);
  font-weight: 500;
}
p, li, a, label, input, textarea, select, button {
  letter-spacing: -.008em;
}


/* otDiary 0.6.0 — floating public navigation system. */
body:not(.otd-app-route) {
  padding-bottom: 104px;
}

/* The former full-width header is intentionally retired on public routes. */
.otd-site-header {
  display: none;
}

.otd-public-floating-ui {
  pointer-events: none;
  position: relative;
  z-index: 120;
}

.otd-floating-brand,
.otd-floating-join,
.otd-floating-nav {
  pointer-events: auto;
  position: fixed;
  z-index: 120;
}

.otd-floating-brand {
  top: 18px;
  left: clamp(18px, 3.1vw, 54px);
  width: 82px;
  min-height: 0;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  line-height: 0;
  overflow: visible;
  transition: transform .2s ease, opacity .2s ease;
}
.otd-floating-brand::before,
.otd-floating-brand::after {
  content: none;
  display: none;
}
.otd-floating-brand:hover {
  transform: translateY(-1px);
  opacity: .92;
  box-shadow: none;
}
.otd-floating-brand__image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 0;
}
.otd-floating-brand__image svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  overflow: visible;
  background: transparent;
}
.otd-floating-brand__wordmark {
  display: block;
  color: #111;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.045em;
  white-space: nowrap;
}
.otd-floating-brand__wordmark span {
  font-weight: 400;
}

.otd-floating-join {
  top: 24px;
  right: clamp(18px, 3.1vw, 54px);
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid #111;
  border-radius: 999px;
  background: #111;
  color: #fff;
  box-shadow: 0 12px 34px rgba(0,0,0,.12);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.015em;
  transition: transform .2s ease, background .2s ease;
}
.otd-floating-join:hover {
  transform: translateY(-1px);
  background: #282828;
}

.otd-floating-nav {
  left: 50%;
  bottom: 18px;
  width: min(760px, calc(100vw - 210px));
  min-width: 560px;
  height: 64px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 4px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 21px;
  background: rgba(184,184,184,.92);
  box-shadow: 0 17px 48px rgba(0,0,0,.17);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translateX(-50%);
}
.otd-floating-nav__link {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 14px;
  border-radius: 15px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.012em;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.otd-floating-nav__link:hover,
.otd-floating-nav__link.is-active {
  background: #fff;
  color: #111;
  transform: translateY(-1px);
}
.otd-floating-nav__link svg {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.otd-floating-nav__link:focus-visible,
.otd-floating-brand:focus-visible,
.otd-floating-join:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}

/* Keep the legal footer readable above the persistent navigation. */
.otd-site-footer {
  padding-bottom: 120px;
}

/* WordPress admin bar spacing. */
.admin-bar .otd-floating-brand,
.admin-bar .otd-floating-join {
  top: 56px;
}

@media (max-width: 900px) {
  .otd-floating-nav {
    width: min(690px, calc(100vw - 36px));
    min-width: 0;
  }
  .otd-floating-brand {
    left: 18px;
  }
  .otd-floating-join {
    right: 18px;
  }
}

@media (max-width: 620px) {
  body:not(.otd-app-route) {
    padding-bottom: 96px;
  }
  .otd-floating-brand {
    top: 12px;
    left: 14px;
    width: 68px;
    min-height: 0;
    padding: 0;
    border-radius: 0;
  }
  .otd-floating-brand__wordmark {
    font-size: 21px;
  }
  .otd-floating-brand__image {
    width: 100%;
    max-height: none;
  }
  .otd-floating-join {
    top: 14px;
    right: 14px;
    min-height: 48px;
    padding: 0 18px;
    font-size: 13px;
  }
  .otd-floating-nav {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    height: 64px;
    padding: 5px;
    border-radius: 19px;
    transform: none;
  }
  .otd-floating-nav__link {
    flex-direction: column;
    gap: 3px;
    padding: 5px 3px;
    border-radius: 14px;
    font-size: 10px;
    line-height: 1;
  }
  .otd-floating-nav__link svg {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
  .otd-site-footer {
    padding-bottom: 108px;
  }
}

@media screen and (max-width: 782px) {
  .admin-bar .otd-floating-brand,
  .admin-bar .otd-floating-join {
    top: 60px;
  }
}


/* otDiary 0.9.0 — creator-only central quick-create control. */
.otd-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.otd-floating-nav.has-creator-create {
  width: min(860px, calc(100vw - 180px));
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: visible;
}

.otd-quick-create {
  position: relative;
  min-width: 0;
  display: grid;
  place-items: center;
}

.otd-quick-create__button {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 50%;
  background: #111;
  color: #fff;
  box-shadow: 0 9px 24px rgba(0,0,0,.24);
  cursor: pointer;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.otd-quick-create__button > span[aria-hidden="true"] {
  display: block;
  transform: translateY(-1px);
  transition: transform .2s ease;
}

.otd-quick-create__button:hover,
.otd-quick-create__button[aria-expanded="true"] {
  transform: translateY(-2px);
  background: #fff;
  color: #111;
}

.otd-quick-create__button[aria-expanded="true"] > span[aria-hidden="true"] {
  transform: rotate(45deg);
}

.otd-quick-create__button:focus-visible {
  outline: 2px solid #111;
  outline-offset: 4px;
}

.otd-quick-create__menu {
  position: absolute;
  right: 50%;
  bottom: 67px;
  width: 286px;
  padding: 10px;
  border: 1px solid #e7e7e7;
  border-radius: 19px;
  background: #ffffff;
  color: #111;
  box-shadow: 0 18px 44px rgba(0,0,0,.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: translateX(50%);
}

.otd-quick-create__menu[hidden] {
  display: none !important;
}

.otd-quick-create__heading {
  padding: 8px 10px 10px;
  color: #777;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.otd-quick-create__menu a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 58px;
  padding: 8px 10px;
  border-radius: 13px;
  transition: background .16s ease, transform .16s ease;
}

.otd-quick-create__menu a:hover,
.otd-quick-create__menu a:focus-visible {
  background: #f5f5f5;
  transform: translateX(1px);
  outline: none;
}

.otd-quick-create__menu svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  border-radius: 50%;
  background: #f2f2f2;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.otd-quick-create__menu a > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.otd-quick-create__menu strong {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.015em;
}

.otd-quick-create__menu small {
  overflow: hidden;
  color: #777;
  font-size: 11px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .otd-floating-nav.has-creator-create {
    width: min(790px, calc(100vw - 36px));
  }
}

@media (max-width: 620px) {
  .otd-floating-nav.has-creator-create {
    right: 12px;
    left: 12px;
    width: auto;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .otd-quick-create__button {
    width: 48px;
    height: 48px;
    font-size: 30px;
  }

  .otd-quick-create__menu {
    position: fixed;
    right: 12px;
    bottom: 86px;
    left: 12px;
    width: auto;
    transform: none;
  }
}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }


/* otDiary 1.5.2 — mobile auto-layout navigation inspired by native commerce apps. */
@media (max-width: 620px) {
  body:not(.otd-app-route) {
    padding-bottom: 112px;
  }

  .otd-floating-nav,
  .otd-floating-nav.has-creator-create {
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: auto;
    min-width: 0;
    height: 78px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 34px;
    background: rgba(250,250,250,.86);
    box-shadow: 0 18px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter: blur(24px) saturate(150%);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    transform: none;
    overflow: visible;
  }

  .otd-floating-nav.has-creator-create {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .otd-floating-nav__link {
    min-width: 0;
    height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 7px 3px 6px;
    border-radius: 27px;
    color: #565656;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
  }

  .otd-floating-nav__link:hover,
  .otd-floating-nav__link.is-active {
    background: rgba(235,235,235,.98);
    color: #111;
    transform: none;
  }

  .otd-floating-nav__link svg {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    stroke-width: 1.55;
  }

  .otd-floating-nav__link span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .otd-quick-create {
    min-width: 0;
    height: 64px;
    align-self: center;
  }

  .otd-quick-create__button {
    width: 62px;
    height: 62px;
    margin-top: -9px;
    border: 1px solid rgba(255,255,255,.92);
    background: rgba(255,255,255,.98);
    color: #333;
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
    font-size: 38px;
  }

  .otd-quick-create__button:hover,
  .otd-quick-create__button[aria-expanded="true"] {
    background: #111;
    color: #fff;
    transform: translateY(-2px);
  }

  .otd-quick-create__menu {
    right: 12px;
    bottom: calc(104px + env(safe-area-inset-bottom));
    left: 12px;
    width: auto;
    max-height: min(440px, calc(100vh - 150px));
    overflow-y: auto;
    border-radius: 24px;
  }

  .otd-site-footer {
    padding-bottom: 126px;
  }
}

@media (max-width: 390px) {
  .otd-floating-nav,
  .otd-floating-nav.has-creator-create {
    left: 8px;
    right: 8px;
    padding: 6px;
  }

  .otd-floating-nav__link {
    font-size: 9px;
  }

  .otd-floating-nav__link svg {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }

  .otd-quick-create__button {
    width: 58px;
    height: 58px;
  }
}


/* otDiary Business workspace 1.6.0 */
.otd-business-portal{max-width:1480px;margin:0 auto;padding:96px 32px 140px;color:#111}.otd-business-head{max-width:720px;margin-bottom:34px}.otd-business-head h1{font-size:clamp(40px,5vw,72px);margin:5px 0 12px}.otd-business-head p{color:#666;font-size:17px}.otd-business-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.otd-business-filters a{padding:10px 16px;border:1px solid #d9d9d9;border-radius:999px;color:#111;text-decoration:none;background:#fff}.otd-business-filters a.is-active{background:#111;color:#fff;border-color:#111}.otd-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.otd-business-card{position:relative;background:#fff;border:1px solid #dedede;border-radius:18px;padding:24px;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.045)}.otd-business-card__stripe{position:absolute;inset:0 0 auto;height:5px;background:var(--tier-color)}.otd-business-card__top{display:flex;align-items:center;gap:14px;margin-bottom:20px}.otd-business-card__top img{border-radius:50%;width:72px;height:72px;object-fit:cover}.otd-business-card h2{margin:0;font-size:22px}.otd-business-card__top p{margin:4px 0 0;color:#777}.otd-business-tier{display:inline-flex;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--tier-color) 14%,white);color:#111;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.otd-business-card>p{min-height:48px;color:#606060}.otd-business-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #eee;border-bottom:1px solid #eee;margin:20px 0}.otd-business-stats span{padding:16px 0;color:#777}.otd-business-stats strong{display:block;color:#111;font-size:22px}.otd-business-meta{display:flex;justify-content:space-between;gap:12px;color:#777;font-size:13px;margin-bottom:18px}.otd-business-card .otd-btn{width:100%;justify-content:center}.otd-business-card .otd-verified-badge{display:inline-flex}@media(max-width:1000px){.otd-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.otd-business-portal{padding:82px 16px 120px}.otd-business-grid{grid-template-columns:1fr}.otd-business-card{border-radius:16px}.otd-business-head h1{font-size:42px}}


/* otDiary 1.9.4 — Home, Discover, Create, Messages and Profile navigation. */
.otd-messages-page {
  min-height: calc(100vh - 120px);
  display: grid;
  place-items: center;
  padding: 130px 24px 160px;
}
.otd-messages-page__panel {
  width: min(720px, 100%);
  padding: clamp(34px, 6vw, 72px);
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 26px 80px rgba(0,0,0,.08);
  text-align: center;
}
.otd-messages-page__panel h1 {
  margin: 14px 0 18px;
  font-family: var(--otd-font-display);
  font-size: clamp(52px, 8vw, 92px);
  font-weight: 600;
  line-height: .92;
  letter-spacing: -.055em;
}
.otd-messages-page__panel p {
  max-width: 560px;
  margin: 0 auto 28px;
  color: var(--otd-muted);
  font-size: 17px;
  line-height: 1.65;
}
@media (max-width: 620px) {
  .otd-messages-page {
    padding: 112px 14px 128px;
  }
  .otd-messages-page__panel {
    padding: 42px 24px;
    border-radius: 24px;
  }
}


/* otDiary 1.9.5 — unified DM Sans typography system. */
html,
body,
button,
input,
textarea,
select,
option,
label,
table,
blockquote,
figcaption,
code,
pre {
  font-family: var(--otd-font-sans);
}

body {
  font-optical-sizing: auto;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
.otd-brand,
.otd-floating-brand__wordmark,
.otd-pd-panel__intro h3,
.otd-discover-search__title,
.otd-radar-hero__title {
  font-family: var(--otd-font-display);
  font-optical-sizing: auto;
  font-style: normal;
}

/* Keep the same family everywhere while preserving hierarchy by weight. */
h1,
h2,
.otd-profile-name,
.otd-story-hero h1 {
  font-weight: 600;
}

h3,
h4,
h5,
h6 {
  font-weight: 500;
}

/* Plugin surfaces inherit the global family even when loaded after the theme. */
.otd-pd-modal,
.otd-pd-modal *,
.otd-discover,
.otd-discover *,
.otd-story-viewer,
.otd-story-viewer *,
.otd-floating-nav,
.otd-quick-create__menu,
.otd-login-shell,
.otd-app-shell,
.otd-creator-profile,
.otd-business-portal {
  --otd-font-sans: "DM Sans", "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --otd-font-display: "DM Sans", "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --otd-editorial-font: "DM Sans", "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

/* Do not interfere with WordPress icon fonts. */
.dashicons,
.dashicons-before::before,
.ab-icon,
.wp-menu-image::before {
  font-family: dashicons !important;
}


/* otDiary 1.9.11 — category-first creator shop. */
.otd-shop-directory {
  display: grid;
  gap: clamp(42px, 6vw, 76px);
}

.otd-shop-directory__intro {
  max-width: 720px;
  margin-top: -8px;
}

.otd-shop-directory__intro p {
  margin: 0;
  color: var(--otd-muted);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.6;
}

.otd-shop-category-section {
  display: grid;
  gap: 20px;
}

.otd-shop-category-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(17,17,17,.11);
}

.otd-shop-category-section__head > div {
  display: grid;
  gap: 5px;
}

.otd-shop-category-section__head span,
.otd-shop-category-view__head > span {
  color: #111;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.otd-shop-category-section__head h3 {
  max-width: 720px;
  margin: 0;
  color: #111;
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.otd-shop-category-section__head small {
  flex: 0 0 auto;
  color: var(--otd-muted);
  font-size: 12px;
}

.otd-shop-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.7vw, 24px);
}

.otd-shop-category-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.095);
  border-radius: 24px;
  background: #f4f4f2;
  color: #111;
  text-decoration: none;
  box-shadow: 0 16px 46px rgba(0,0,0,.055);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.otd-shop-category-card:hover,
.otd-shop-category-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(17,17,17,.18);
  box-shadow: 0 26px 68px rgba(0,0,0,.10);
}

.otd-shop-category-card:focus-visible {
  outline: 2px solid #111;
  outline-offset: 4px;
}

.otd-shop-category-card__media {
  position: relative;
  display: grid;
  min-height: 0;
  aspect-ratio: 1 / 1.02;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.96), rgba(245,245,242,.72) 46%, rgba(233,233,229,.86) 100%);
}

.otd-shop-category-card__media img {
  width: 84%;
  height: 84%;
  object-fit: contain;
  filter: drop-shadow(0 20px 24px rgba(0,0,0,.12));
  transition: transform .28s ease;
}

.otd-shop-category-card:hover .otd-shop-category-card__media img {
  transform: scale(1.035);
}

.otd-shop-category-card__media > small {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 999px;
  background: rgba(255,255,255,.70);
  color: #111;
  font-size: 11px;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  -webkit-backdrop-filter: blur(15px) saturate(135%);
  backdrop-filter: blur(15px) saturate(135%);
}

.otd-shop-category-card__placeholder {
  max-width: 70%;
  color: rgba(17,17,17,.36);
  font-size: clamp(26px, 4vw, 52px);
  font-weight: 600;
  line-height: .95;
  letter-spacing: -.06em;
  text-align: center;
}

.otd-shop-category-card__body {
  display: grid;
  gap: 5px;
  padding: 18px 19px 20px;
  background: rgba(255,255,255,.92);
}

.otd-shop-category-card__body > span {
  color: var(--otd-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.otd-shop-category-card__body strong {
  overflow: hidden;
  color: #111;
  font-size: clamp(18px, 1.8vw, 27px);
  font-weight: 550;
  line-height: 1.06;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
}

.otd-shop-category-card__body em {
  margin-top: 8px;
  color: rgba(17,17,17,.58);
  font-size: 12px;
  font-style: normal;
}

.otd-shop-category-view {
  display: grid;
  gap: 28px;
}

.otd-shop-category-view__head {
  display: grid;
  gap: 7px;
  max-width: 760px;
}

.otd-shop-category-view__head > a {
  width: fit-content;
  margin-bottom: 18px;
  color: #111;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.otd-shop-category-view__head > a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.otd-shop-category-view__head h3 {
  margin: 0;
  color: #111;
  font-size: clamp(42px, 7vw, 86px);
  font-weight: 600;
  line-height: .92;
  letter-spacing: -.065em;
}

.otd-shop-category-view__head p {
  margin: 4px 0 0;
  color: var(--otd-muted);
  font-size: 14px;
}

.otd-shop-products-grid {
  margin-top: 8px;
}

@media (max-width: 980px) {
  .otd-shop-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .otd-shop-directory {
    gap: 42px;
  }

  .otd-shop-category-section__head {
    align-items: start;
  }

  .otd-shop-category-section__head small {
    display: none;
  }

  .otd-shop-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .otd-shop-category-card {
    border-radius: 17px;
  }

  .otd-shop-category-card__body {
    padding: 13px 13px 15px;
  }

  .otd-shop-category-card__body strong {
    font-size: 17px;
  }

  .otd-shop-category-card__body em {
    display: none;
  }

  .otd-shop-category-card__media > small {
    top: 9px;
    right: 9px;
    min-width: 29px;
    height: 29px;
    padding: 0 7px;
  }
}


/* otDiary 1.9.12 — one continuous category-card grid. */
.otd-shop-directory {
  display: block;
}

.otd-shop-category-grid--unified {
  width: 100%;
  margin: 0;
  align-items: stretch;
}

.otd-shop-category-grid--unified .otd-shop-category-card {
  height: 100%;
}

/* Legacy grouped headings are intentionally hidden if cached markup survives. */
.otd-shop-category-section__head,
.otd-shop-directory__intro {
  display: none !important;
}

.otd-shop-category-section {
  display: contents !important;
}

.otd-shop-category-section > .otd-shop-category-grid {
  margin: 0 !important;
}

/* No visual separators between category families. */
.otd-shop-category-section,
.otd-shop-category-grid--unified {
  border: 0 !important;
}

@media (min-width: 1180px) {
  .otd-shop-category-grid--unified {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .otd-shop-category-grid--unified {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* otDiary 1.9.13 — compact 12-product coverflow rows. */
.otd-shop-category-view {
  gap: 20px;
  overflow: visible;
}

.otd-shop-category-view__head {
  gap: 5px;
  max-width: 660px;
}

.otd-shop-category-view__head > a {
  margin-bottom: 12px;
}

.otd-shop-category-view__head h3 {
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: .96;
}

.otd-shop-coverflow-list {
  display: grid;
  gap: 34px;
  width: 100%;
  margin-top: 4px;
}

.otd-shop-coverflow {
  position: relative;
  width: 100%;
  min-width: 0;
  padding: 6px 42px 0;
  overflow: hidden;
}

.otd-shop-coverflow__viewport {
  position: relative;
  width: 100%;
  height: clamp(365px, 39vw, 455px);
  min-height: 365px;
  overflow: hidden;
  outline: none;
  perspective: 1300px;
  perspective-origin: 50% 42%;
  touch-action: pan-y;
  cursor: grab;
}

.otd-shop-coverflow__viewport:active {
  cursor: grabbing;
}

.otd-shop-coverflow__viewport:focus-visible {
  border-radius: 24px;
  outline: 2px solid #111;
  outline-offset: 4px;
}

.otd-shop-coverflow__track {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

.otd-shop-coverflow-card {
  position: absolute;
  top: 8px;
  left: 50%;
  z-index: 1;
  width: clamp(195px, 20vw, 255px);
  min-width: 0;
  opacity: 0;
  transform:
    translate3d(-50%, -16px, -260px)
    scale(.68);
  transform-origin: 50% 76%;
  transition:
    transform .52s cubic-bezier(.2,.72,.2,1),
    opacity .4s ease,
    filter .4s ease;
  will-change: transform, opacity;
  pointer-events: none;
  filter: saturate(.82) brightness(.92);
}

.otd-shop-coverflow-card[data-position="active"] {
  z-index: 10;
  opacity: 1;
  transform:
    translate3d(-50%, 24px, 120px)
    rotateY(0deg)
    scale(1);
  pointer-events: auto;
  filter: none;
}

.otd-shop-coverflow-card[data-position="previous"] {
  z-index: 8;
  opacity: .94;
  transform:
    translate3d(calc(-50% - clamp(150px, 17.8vw, 225px)), 2px, 30px)
    rotateY(9deg)
    scale(.91);
  pointer-events: auto;
  filter: saturate(.94) brightness(.98);
}

.otd-shop-coverflow-card[data-position="next"] {
  z-index: 8;
  opacity: .94;
  transform:
    translate3d(calc(-50% + clamp(150px, 17.8vw, 225px)), 2px, 30px)
    rotateY(-9deg)
    scale(.91);
  pointer-events: auto;
  filter: saturate(.94) brightness(.98);
}

.otd-shop-coverflow-card[data-position="previous-far"] {
  z-index: 5;
  opacity: .55;
  transform:
    translate3d(calc(-50% - clamp(270px, 31vw, 405px)), -13px, -80px)
    rotateY(13deg)
    scale(.79);
  pointer-events: auto;
}

.otd-shop-coverflow-card[data-position="next-far"] {
  z-index: 5;
  opacity: .55;
  transform:
    translate3d(calc(-50% + clamp(270px, 31vw, 405px)), -13px, -80px)
    rotateY(-13deg)
    scale(.79);
  pointer-events: auto;
}

.otd-shop-coverflow-card[data-position="previous-edge"] {
  z-index: 3;
  opacity: .22;
  transform:
    translate3d(calc(-50% - clamp(375px, 43vw, 565px)), -25px, -160px)
    rotateY(17deg)
    scale(.69);
}

.otd-shop-coverflow-card[data-position="next-edge"] {
  z-index: 3;
  opacity: .22;
  transform:
    translate3d(calc(-50% + clamp(375px, 43vw, 565px)), -25px, -160px)
    rotateY(-17deg)
    scale(.69);
}

.otd-shop-coverflow-card[data-position="hidden-left"] {
  transform:
    translate3d(calc(-50% - clamp(470px, 54vw, 720px)), -35px, -230px)
    rotateY(20deg)
    scale(.62);
}

.otd-shop-coverflow-card[data-position="hidden-right"] {
  transform:
    translate3d(calc(-50% + clamp(470px, 54vw, 720px)), -35px, -230px)
    rotateY(-20deg)
    scale(.62);
}

.otd-shop-coverflow-card__link {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 18px;
  background: #fff;
  color: #111;
  text-decoration: none;
  box-shadow:
    0 24px 55px rgba(0,0,0,.12),
    0 6px 18px rgba(0,0,0,.07);
  transition:
    border-color .2s ease,
    box-shadow .25s ease;
}

.otd-shop-coverflow-card[data-position="active"] .otd-shop-coverflow-card__link {
  border-color: rgba(17,17,17,.18);
  box-shadow:
    0 34px 80px rgba(0,0,0,.18),
    0 10px 28px rgba(0,0,0,.10);
}

.otd-shop-coverflow-card__link:focus-visible {
  outline: 2px solid #111;
  outline-offset: 4px;
}

.otd-shop-coverflow-card__media {
  display: grid;
  width: 100%;
  aspect-ratio: 1 / 1;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 44%, #f8f8f8 0%, #eceeef 76%);
}

.otd-shop-coverflow-card__media img {
  display: block;
  width: 88%;
  height: 88%;
  object-fit: contain;
  object-position: center;
  transition: transform .36s ease;
}

.otd-shop-coverflow-card[data-position="active"]:hover .otd-shop-coverflow-card__media img {
  transform: scale(1.035);
}

.otd-shop-coverflow-card__body {
  display: grid;
  min-height: 104px;
  gap: 5px;
  padding: 13px 14px 14px;
  background: #fff;
}

.otd-shop-coverflow-card__body > small {
  overflow: hidden;
  color: #777;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .10em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.otd-shop-coverflow-card__body > strong {
  display: -webkit-box;
  overflow: hidden;
  min-height: 34px;
  font-size: 14px;
  font-weight: 560;
  line-height: 1.22;
  letter-spacing: -.018em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.otd-shop-coverflow-card__body > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  margin-top: auto;
}

.otd-shop-coverflow-card__body b {
  overflow: hidden;
  font-size: 11px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.otd-shop-coverflow-card__body em {
  flex: 0 0 auto;
  color: #666;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
}

.otd-shop-coverflow__controls {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: -2px auto 0;
}

.otd-shop-coverflow__arrow {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(17,17,17,.13);
  border-radius: 50%;
  background: rgba(255,255,255,.90);
  color: #111;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  transition:
    transform .18s ease,
    opacity .18s ease,
    background-color .18s ease;
}

.otd-shop-coverflow__arrow:hover:not(:disabled),
.otd-shop-coverflow__arrow:focus-visible:not(:disabled) {
  background: #111;
  color: #fff;
  transform: translateY(-2px);
}

.otd-shop-coverflow__arrow:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}

.otd-shop-coverflow__arrow:disabled {
  opacity: .28;
  cursor: default;
}

.otd-shop-coverflow__status {
  min-width: 60px;
  color: #666;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

@media (max-width: 900px) {
  .otd-shop-coverflow {
    padding-right: 16px;
    padding-left: 16px;
  }

  .otd-shop-coverflow__viewport {
    height: 420px;
  }

  .otd-shop-coverflow-card {
    width: clamp(190px, 31vw, 240px);
  }

  .otd-shop-coverflow-card[data-position="previous"] {
    transform:
      translate3d(calc(-50% - clamp(135px, 22vw, 185px)), 4px, 20px)
      rotateY(8deg)
      scale(.90);
  }

  .otd-shop-coverflow-card[data-position="next"] {
    transform:
      translate3d(calc(-50% + clamp(135px, 22vw, 185px)), 4px, 20px)
      rotateY(-8deg)
      scale(.90);
  }

  .otd-shop-coverflow-card[data-position="previous-far"],
  .otd-shop-coverflow-card[data-position="next-far"],
  .otd-shop-coverflow-card[data-position="previous-edge"],
  .otd-shop-coverflow-card[data-position="next-edge"] {
    opacity: .12;
    pointer-events: none;
  }
}

@media (max-width: 620px) {
  .otd-shop-category-view__head h3 {
    font-size: clamp(34px, 12vw, 50px);
  }

  .otd-shop-coverflow-list {
    gap: 26px;
  }

  .otd-shop-coverflow {
    padding: 0;
  }

  .otd-shop-coverflow__viewport {
    height: 405px;
    min-height: 405px;
  }

  .otd-shop-coverflow-card {
    width: min(68vw, 245px);
  }

  .otd-shop-coverflow-card[data-position="active"] {
    transform:
      translate3d(-50%, 18px, 90px)
      scale(1);
  }

  .otd-shop-coverflow-card[data-position="previous"] {
    opacity: .62;
    transform:
      translate3d(calc(-50% - 58vw), 0, -20px)
      rotateY(8deg)
      scale(.82);
  }

  .otd-shop-coverflow-card[data-position="next"] {
    opacity: .62;
    transform:
      translate3d(calc(-50% + 58vw), 0, -20px)
      rotateY(-8deg)
      scale(.82);
  }

  .otd-shop-coverflow-card[data-position="previous-far"],
  .otd-shop-coverflow-card[data-position="next-far"],
  .otd-shop-coverflow-card[data-position="previous-edge"],
  .otd-shop-coverflow-card[data-position="next-edge"] {
    opacity: 0;
  }

  .otd-shop-coverflow-card__body {
    min-height: 98px;
  }

  .otd-shop-coverflow__controls {
    margin-top: -7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .otd-shop-coverflow-card,
  .otd-shop-coverflow-card__media img,
  .otd-shop-coverflow__arrow {
    transition: none !important;
  }
}


/* otDiary 1.9.15 — private creator Home profile. */
.otd-internal-profile{overflow:hidden;padding:0;margin-bottom:18px}
.otd-internal-profile__cover{height:160px;background:linear-gradient(135deg,#ececf0,#d9dbe1);background-position:center;background-size:cover}
.otd-internal-profile__content{padding:0 30px 28px}
.otd-internal-profile__identity{display:flex;align-items:flex-end;gap:18px;margin-top:-52px}
.otd-internal-profile__avatar{width:112px!important;height:112px!important;border-radius:50%;object-fit:cover;border:5px solid #fff;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.otd-internal-profile__name{padding-bottom:8px;min-width:0}
.otd-internal-profile__eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#747883;margin-bottom:5px}
.otd-internal-profile__name h2{display:flex;align-items:center;gap:7px;margin:0;font-size:30px;line-height:1.05;letter-spacing:-.035em}
.otd-internal-profile__name p{margin:5px 0 0;color:#747883}
.otd-internal-profile__actions{margin-left:auto;display:flex;gap:10px;padding-bottom:8px;flex-wrap:wrap}
.otd-internal-profile__body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);gap:28px;margin-top:26px;padding-top:24px;border-top:1px solid #e8e8eb}
.otd-internal-profile__about>span,.otd-internal-profile__details span,.otd-internal-profile__completion span{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#858995}
.otd-internal-profile__about>p{margin:9px 0 15px;font-size:16px;line-height:1.55;color:#3f434b}
.otd-internal-profile__niches{display:flex;flex-wrap:wrap;gap:8px}
.otd-internal-profile__niches span{padding:8px 11px;border-radius:999px;background:#f0f0f3;color:#4d515a;font-size:12px;font-weight:600}
.otd-internal-profile__niches span.is-primary{background:#111;color:#fff}
.otd-internal-profile__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.otd-internal-profile__details strong{display:block;margin-top:5px;font-size:14px;color:#17181b;overflow-wrap:anywhere}
.otd-internal-profile__completion{margin-top:24px;padding-top:20px;border-top:1px solid #e8e8eb}
.otd-internal-profile__completion>div:first-child{display:flex;align-items:center;justify-content:space-between}
.otd-internal-profile__completion strong{font-size:14px}
.otd-internal-profile__progress{height:8px;margin-top:10px;border-radius:999px;background:#ececf0;overflow:hidden}
.otd-internal-profile__progress span{display:block;height:100%;border-radius:inherit;background:#111}
@media(max-width:860px){.otd-internal-profile__body{grid-template-columns:1fr}.otd-internal-profile__identity{align-items:center;flex-wrap:wrap}.otd-internal-profile__actions{width:100%;margin-left:130px;margin-top:-12px}}
@media(max-width:600px){.otd-internal-profile__cover{height:120px}.otd-internal-profile__content{padding:0 18px 22px}.otd-internal-profile__identity{margin-top:-42px;gap:12px}.otd-internal-profile__avatar{width:88px!important;height:88px!important}.otd-internal-profile__name h2{font-size:23px}.otd-internal-profile__actions{margin:8px 0 0;width:100%;display:grid;grid-template-columns:1fr 1fr}.otd-internal-profile__actions .otd-btn{justify-content:center}.otd-internal-profile__details{grid-template-columns:1fr}.otd-internal-profile__body{gap:20px;margin-top:20px}}

/* ========================================================================
 * otDiary 1.9.19 — clean ownership layer
 * The theme owns global composition. Feature plugins own their own data/DOM.
 * No DOM-repair JavaScript and no global button/font shrinking.
 * ===================================================================== */
@media (max-width: 1024px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .otd-main, .otd-container, .otd-public-profile, .otd-profile-header,
  .otd-profile-content, .otd-profile-tabs { min-width: 0; max-width: 100%; box-sizing: border-box; }
}


/* ========================================================================== */
/* otDiary 1.9.20 — persistent app navigation, profile media, Shop geometry. */
/* ========================================================================== */

/* Keep the global creator navigation available inside /app/ as well. */
body.otd-app-route {
  padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
}
body.otd-app-route .otd-app-content {
  padding-bottom: calc(118px + env(safe-area-inset-bottom, 0px));
}
.otd-public-floating-ui.is-app-route .otd-floating-nav {
  z-index: 500;
}

/* Compact, edge-to-edge editorial creator cover. */
.otd-public-profile .otd-profile-cover {
  width: 100vw;
  height: clamp(150px, 21vw, 285px);
  min-height: 0;
  max-height: 285px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}
.otd-public-profile .otd-profile-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.otd-public-profile .otd-profile-header {
  margin-top: -58px;
}

/* Avatar crop/reposition editor. */
.otd-avatar-editor[hidden] { display: none !important; }
.otd-avatar-editor {
  display: grid;
  gap: 14px;
  width: min(100%, 430px);
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 18px;
  background: #f8f8f8;
}
.otd-avatar-editor__stage-wrap {
  display: grid;
  place-items: center;
}
.otd-avatar-editor__stage {
  position: relative;
  width: clamp(200px, 42vw, 270px);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.14);
  border-radius: 50%;
  background: #ececec;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
  touch-action: none;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.otd-avatar-editor__stage.is-dragging { cursor: grabbing; }
.otd-avatar-editor__stage img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  max-width: none;
  max-height: none;
  pointer-events: none;
  -webkit-user-drag: none;
  transform-origin: 0 0;
}
.otd-avatar-editor__controls {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px auto;
  align-items: center;
  gap: 9px;
}
.otd-avatar-editor__controls button {
  min-width: 38px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid rgba(17,17,17,.13);
  border-radius: 999px;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.otd-avatar-editor__controls button[data-otd-avatar-reset] {
  min-width: 62px;
}
.otd-avatar-editor__controls input[type="range"] {
  width: 100%;
  accent-color: #111;
}
.otd-avatar-editor__hint {
  margin: 0;
  color: #6b6b6b;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

/* Profile Shop: category sections + exactly two geometrically aligned products per row. */
.otd-shop-product-sections {
  display: grid;
  gap: clamp(34px, 5vw, 64px);
  width: 100%;
}
.otd-shop-product-section {
  display: grid;
  gap: 15px;
  min-width: 0;
}
.otd-shop-product-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(17,17,17,.11);
}
.otd-shop-product-section__head > div {
  min-width: 0;
}
.otd-shop-product-section__head span {
  display: block;
  margin-bottom: 4px;
  color: #777;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.otd-shop-product-section__head h3 {
  margin: 0;
  color: #111;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 550;
  line-height: 1;
  letter-spacing: -.04em;
}
.otd-shop-product-section__head small {
  flex: 0 0 auto;
  color: #777;
  font-size: 11px;
}
.otd-shop-products-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  align-items: stretch;
  gap: clamp(10px, 1.7vw, 20px);
}
.otd-shop-product-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.09);
  border-radius: 18px;
  background: #fff;
}
.otd-shop-product-card__media {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f5f5f3;
}
.otd-shop-product-card__media img {
  display: block;
  width: 88%;
  height: 88%;
  object-fit: contain;
}
.otd-shop-product-card__body {
  display: grid;
  grid-template-rows: auto minmax(2.5em, auto) auto;
  align-content: start;
  gap: 5px;
  min-height: 118px;
  padding: 13px 14px 14px;
}
.otd-shop-product-card__brand {
  overflow: hidden;
  color: #777;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.otd-shop-product-card__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #111;
  font-size: clamp(14px, 1.45vw, 18px);
  font-weight: 550;
  line-height: 1.22;
  letter-spacing: -.02em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.otd-shop-product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  color: #111;
  font-size: 11px;
  font-weight: 600;
}
.otd-shop-product-card__meta em {
  color: #666;
  font-style: normal;
  white-space: nowrap;
}

/* 1.10.42 — Safe JavaScript navigation feedback.
 * Cross-document View Transition snapshots are intentionally disabled. They
 * can morph the Home feed snapshot into Discover and visually enlarge the
 * first post. Navigation keeps the native WordPress document lifecycle. */
@view-transition { navigation: none; }
.otd-floating-nav,
.otd-main,
.otd-public-floating-ui { view-transition-name: none !important; }
body .otd-main { transition: none !important; transform: none !important; }
body.otd-nav-leaving .otd-main,
body.otd-nav-entering .otd-main { opacity: 1 !important; transform: none !important; }

@media (max-width: 650px) {
  body.otd-app-route {
    padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));
  }
  body.otd-app-route .otd-app-content {
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
  }
  .otd-public-profile .otd-profile-cover {
    height: clamp(148px, 36vw, 176px);
    max-height: 176px;
  }
  .otd-public-profile .otd-profile-header {
    margin-top: -50px;
  }
  .otd-avatar-editor {
    width: 100%;
    padding: 13px;
  }
  .otd-avatar-editor__stage {
    width: min(68vw, 250px);
  }
  .otd-avatar-editor__controls {
    grid-template-columns: 36px minmax(0,1fr) 36px auto;
    gap: 7px;
  }
  .otd-shop-product-sections { gap: 34px; }
  .otd-shop-products-two-col { gap: 8px; }
  .otd-shop-product-card { border-radius: 13px; }
  .otd-shop-product-card__body {
    min-height: 104px;
    padding: 10px 10px 11px;
  }
  .otd-shop-product-card__title { font-size: 13px; }
  .otd-shop-product-card__meta { font-size: 10px; }
  .otd-shop-product-section__head small { display: none; }
}

@media (max-width: 360px) {
  .otd-shop-products-two-col { gap: 6px; }
  .otd-shop-product-card__body { padding-inline: 8px; }
  .otd-shop-product-card__title { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root),
  body.otd-nav-entering .otd-main { animation: none !important; }
  body .otd-main { transition: none !important; }
}


/* otDiary 1.9.21 — internal account Back control and profile-save feedback. */
.otd-section-back-wrap {
  width: 100%;
  margin: 0 0 18px;
}
.otd-section-back {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid rgba(17,17,17,.13);
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}
.otd-section-back:hover { border-color: rgba(17,17,17,.28); }
.otd-section-back:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.otd-profile-edit-form.is-saving { cursor: progress; }
.otd-profile-edit-form.is-saving button[type="submit"] { opacity: .72; cursor: progress; }
@media (max-width: 650px) {
  .otd-section-back-wrap { margin-bottom: 14px; }
  .otd-section-back { min-height: 44px; }
}


/* otDiary 1.9.22 — product creation method chooser + Product Discovery bridge. */
.otd-product-method-shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}
.otd-product-method-head {
  align-items: flex-start;
}
.otd-product-method-head > div:first-child {
  min-width: 0;
}
.otd-product-method-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.otd-product-method-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  min-height: 154px;
  padding: 22px;
  border: 1px solid #e4e4e4;
  border-radius: 18px;
  background: #fff;
  color: #111;
  box-shadow: 0 12px 36px rgba(20,20,20,.035);
  text-decoration: none;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}
.otd-product-method-card:hover {
  transform: translateY(-2px);
  border-color: #c8c8c8;
  box-shadow: 0 18px 42px rgba(20,20,20,.06);
}
.otd-product-method-card:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}
.otd-product-method-card__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid #dedede;
  border-radius: 50%;
  background: #fafafa;
  font-size: 21px;
  line-height: 1;
}
.otd-product-method-card strong {
  display: block;
  margin-bottom: 7px;
  font-size: 16px;
  line-height: 1.2;
}
.otd-product-method-card p,
.otd-product-url-start__hint,
.otd-product-library-bridge__card p {
  margin: 0;
  color: #696969;
  font-size: 12px;
  line-height: 1.55;
}
.otd-product-method-card__arrow {
  color: #777;
  font-size: 18px;
}
.otd-product-url-start {
  max-width: 760px;
  margin-top: 18px;
}
.otd-product-url-start__hint {
  margin: 9px 0 0;
}
.otd-product-url-review__image {
  display: grid;
  width: 100%;
  min-height: 220px;
  max-height: 420px;
  margin-bottom: 20px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #ededed;
  border-radius: 16px;
  background: #fafafa;
}
.otd-product-url-review__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
}
.otd-product-library-bridge__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 18px;
  padding: 24px;
}
.otd-product-library-bridge__card > div:first-child {
  max-width: 680px;
}
.otd-product-library-bridge__card strong {
  display: block;
  margin-bottom: 6px;
  font-size: 17px;
}
.otd-product-library-discovery-target:empty {
  display: none;
}
.otd-product-library-bridge__fallback {
  flex-basis: 100%;
  padding-top: 8px;
}
@media (max-width: 900px) {
  .otd-product-method-grid { grid-template-columns: 1fr; }
  .otd-product-method-card { min-height: 112px; }
}
@media (max-width: 650px) {
  .otd-product-method-shell { padding-inline: 0; }
  .otd-product-method-grid { gap: 10px; margin-top: 13px; }
  .otd-product-method-card {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 104px;
    gap: 12px;
    padding: 16px;
    border-radius: 15px;
  }
  .otd-product-method-card__icon { width: 42px; height: 42px; font-size: 19px; }
  .otd-product-method-card strong { font-size: 15px; }
  .otd-product-method-card p { font-size: 11px; }
  .otd-product-library-bridge__card {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
    padding: 18px;
  }
  .otd-product-library-bridge__card .otd-btn { width: 100%; min-height: 44px; }
  .otd-product-url-review__image { min-height: 180px; }
}


/* otDiary 1.9.41 — direct global navigation; avoid cross-document snapshot flashes. */
@view-transition { navigation: none; }


/* ========================================================================== */
/* otDiary 1.9.51 — iPhone full-screen safe-area breathing room.             */
/* Keeps logos, top controls and workspace content clear of Dynamic Island,  */
/* status indicators and rounded screen corners without changing desktop.     */
/* ========================================================================== */
:root {
  --otd-safe-top: env(safe-area-inset-top, 0px);
  --otd-safe-right: env(safe-area-inset-right, 0px);
  --otd-safe-bottom: env(safe-area-inset-bottom, 0px);
  --otd-safe-left: env(safe-area-inset-left, 0px);
}

@media (max-width: 880px) {
  /* Public floating brand / join controls. */
  .otd-floating-brand {
    top: calc(var(--otd-safe-top) + 18px) !important;
    left: max(16px, calc(var(--otd-safe-left) + 12px)) !important;
  }
  .otd-floating-join {
    top: calc(var(--otd-safe-top) + 18px) !important;
    right: max(16px, calc(var(--otd-safe-right) + 12px)) !important;
  }

  /* Internal creator workspace. With the old topbar removed, the content and
     standalone menu still need their own top safe-area. */
  body.otd-app-route .otd-app-content {
    padding-top: calc(30px + var(--otd-safe-top)) !important;
    padding-right: max(18px, calc(18px + var(--otd-safe-right))) !important;
    padding-left: max(18px, calc(18px + var(--otd-safe-left))) !important;
  }
  body.otd-app-route .otd-mobile-menu--standalone,
  body.otd-app-route .otd-mobile-menu {
    top: calc(var(--otd-safe-top) + 14px) !important;
    left: max(14px, calc(var(--otd-safe-left) + 12px)) !important;
  }

  /* When the side menu opens, its brand and first navigation row remain below
     the iPhone status area instead of sliding underneath it. */
  body.otd-app-route .otd-app-nav {
    padding-top: var(--otd-safe-top) !important;
    padding-bottom: var(--otd-safe-bottom) !important;
    height: 100dvh !important;
  }

  /* Keep native-like floating navigation clear of the Home indicator and
     rounded side corners, including landscape iPhone orientations. */
  .otd-floating-nav,
  .otd-floating-nav.has-creator-create {
    left: max(12px, calc(var(--otd-safe-left) + 8px)) !important;
    right: max(12px, calc(var(--otd-safe-right) + 8px)) !important;
    bottom: max(12px, calc(var(--otd-safe-bottom) + 8px)) !important;
  }

  .otd-quick-create__menu {
    left: max(12px, calc(var(--otd-safe-left) + 8px)) !important;
    right: max(12px, calc(var(--otd-safe-right) + 8px)) !important;
    bottom: calc(104px + var(--otd-safe-bottom)) !important;
  }
}

@media (max-width: 620px) {
  /* Slightly more visual air on compact iPhones, similar to native apps. */
  .otd-floating-brand {
    top: calc(var(--otd-safe-top) + 16px) !important;
  }
  .otd-floating-join {
    top: calc(var(--otd-safe-top) + 16px) !important;
  }
  body.otd-app-route .otd-app-content {
    padding-top: calc(32px + var(--otd-safe-top)) !important;
  }
}

/* WordPress' admin bar already owns its own top space; avoid stacking the
   iPhone inset twice when an administrator previews the mobile site. */
@media screen and (max-width: 782px) {
  body.admin-bar .otd-floating-brand,
  body.admin-bar .otd-floating-join {
    top: calc(46px + var(--otd-safe-top)) !important;
  }
}


/* ========================================================================== */
/* otDiary 1.9.52 — mobile creator profile keeps the content clean.           */
/* The public profile already has Profile selected in the bottom navigation, */
/* so the floating otDiary logo is intentionally removed on compact screens. */
/* ========================================================================== */
@media (max-width: 880px) {
  .otd-public-floating-ui.is-profile-route .otd-floating-brand {
    display: none !important;
  }
}


/* ========================================================================== */
/* otDiary 1.9.54 — compact mobile route header for Discover + Messages.      */
/* The route name lives beside the floating app mark instead of competing     */
/* with it as a second oversized page heading. Desktop remains unchanged.     */
/* ========================================================================== */
.otd-mobile-route-title {
  display: none;
}

@media (max-width: 880px) {
  body.otd-discover-route .otd-mobile-route-title,
  body.otd-messages-route .otd-mobile-route-title {
    position: fixed;
    z-index: 121;
    top: calc(var(--otd-safe-top) + 32px);
    left: max(98px, calc(var(--otd-safe-left) + 94px));
    display: block;
    max-width: calc(100vw - max(98px, calc(var(--otd-safe-left) + 94px)) - var(--otd-safe-right) - 24px);
    margin: 0;
    overflow: hidden;
    color: #111;
    font-family: var(--otd-font-display);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
  }

  /* There is only one visible route label on compact screens. */
  body.otd-messages-route .otd-messages-page__title {
    display: none !important;
  }
  body.otd-discover-route .otd-main h1:first-of-type {
    display: none !important;
  }

  /* Keep the first interactive content clear of the compact top row. */
  body.otd-discover-route .otd-main,
  body.otd-messages-route .otd-main {
    padding-top: calc(var(--otd-safe-top) + 78px);
  }
  body.otd-messages-route .otd-messages-page {
    padding-top: 22px !important;
  }
}

@media (max-width: 620px) {
  body.otd-discover-route .otd-floating-brand,
  body.otd-messages-route .otd-floating-brand {
    width: 60px !important;
  }
  body.otd-discover-route .otd-mobile-route-title,
  body.otd-messages-route .otd-mobile-route-title {
    top: calc(var(--otd-safe-top) + 30px);
    left: max(88px, calc(var(--otd-safe-left) + 84px));
    max-width: calc(100vw - max(88px, calc(var(--otd-safe-left) + 84px)) - var(--otd-safe-right) - 18px);
    font-size: 19px;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar.otd-discover-route .otd-mobile-route-title,
  body.admin-bar.otd-messages-route .otd-mobile-route-title {
    top: calc(60px + var(--otd-safe-top)) !important;
  }
}


/* ========================================================================== */
/* otDiary 1.9.55 — compact Messages mobile header + content lift.            */
/* Keeps the single route label beside the OT mark, removes the provider's    */
/* duplicate Messages heading, and retires the old vertically-centered shell. */
/* ========================================================================== */
@media (max-width: 880px) {
  /* Vertically center the route label against the floating square OT mark. */
  body.otd-messages-route .otd-mobile-route-title {
    top: calc(var(--otd-safe-top) + 59px) !important;
    transform: translateY(-50%);
  }

  /* The old Messages shell used grid/place-items:center, which created the
     large empty band seen between the route header and the inbox filters. */
  body.otd-messages-route .otd-main {
    padding-top: calc(var(--otd-safe-top) + 100px) !important;
  }
  body.otd-messages-route .otd-messages-page {
    display: block !important;
    place-items: initial !important;
    min-height: 0 !important;
    padding: 0 0 calc(118px + var(--otd-safe-bottom)) !important;
  }
  body.otd-messages-route .otd-messages-page__inner,
  body.otd-messages-route .otd-messages-page__content {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Theme shell heading + messaging provider heading: only the compact route
     label beside the logo remains visible on mobile. */
  body.otd-messages-route .otd-messages-page__title,
  body.otd-messages-route .otd-messages-page__content > h1,
  body.otd-messages-route .otd-messages-page__content > *:first-child > h1:first-child,
  body.otd-messages-route .otd-messages-page__content > *:first-child h1:first-child {
    display: none !important;
  }

  /* Remove spacing that belonged to the retired large page title so the inbox
     tabs become the first visual section under the compact route header. */
  body.otd-messages-route .otd-messages-page__content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 620px) {
  /* The compact route mark is 60px high here: center Messages at its midpoint. */
  body.otd-messages-route .otd-mobile-route-title {
    top: calc(var(--otd-safe-top) + 46px) !important;
    left: max(88px, calc(var(--otd-safe-left) + 84px)) !important;
    transform: translateY(-50%);
  }
  body.otd-messages-route .otd-main {
    padding-top: calc(var(--otd-safe-top) + 90px) !important;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar.otd-messages-route .otd-mobile-route-title {
    top: calc(76px + var(--otd-safe-top)) !important;
    transform: translateY(-50%);
  }
}


/* ========================================================================== */
/* otDiary 1.9.57 — hide Hostinger Ask AI overlay on mobile admin previews.  */
/* The Hostinger helper is useful in wp-admin but it consumes scarce space    */
/* inside the creator-facing mobile UI, so administrators do not see it here.*/
/* ========================================================================== */
@media (max-width: 900px) {
  body.otd-wp-admin-preview [id*="hostinger"][id*="ai"],
  body.otd-wp-admin-preview [class*="hostinger"][class*="ai"],
  body.otd-wp-admin-preview [id*="hst"][id*="ai"],
  body.otd-wp-admin-preview [class*="hst"][class*="ai"],
  body.otd-wp-admin-preview [aria-label*="Ask AI"],
  body.otd-wp-admin-preview [title*="Ask AI"],
  body.otd-wp-admin-preview iframe[title*="Ask AI"],
  body.otd-wp-admin-preview [data-testid*="ask-ai"],
  body.otd-wp-admin-preview [data-test*="ask-ai"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.otd-wp-admin-preview [data-otd-hidden-hostinger-ai="1"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}


/* ========================================================================== */
/* otDiary 1.9.59 — compact public-profile Share / Settings controls on mobile. */
/* Keep owner utilities reachable without letting them dominate the iPhone UI. */
@media (max-width: 700px) {
  .otd-public-profile .otd-profile-actions {
    gap: 8px !important;
  }

  .otd-public-profile .otd-profile-actions :is(
    a[href*="section=settings"],
    [data-action="settings"],
    [aria-label*="settings" i],
    [title*="settings" i],
    [data-share-url],
    [data-otd-share],
    [data-action="share"],
    [aria-label*="share" i],
    [title*="share" i]
  ) {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .otd-public-profile .otd-profile-actions :is(
    a[href*="section=settings"],
    [data-action="settings"],
    [aria-label*="settings" i],
    [title*="settings" i],
    [data-share-url],
    [data-otd-share],
    [data-action="share"],
    [aria-label*="share" i],
    [title*="share" i]
  ) svg {
    width: 19px !important;
    height: 19px !important;
  }
}

@media (max-width: 430px) {
  .otd-public-profile .otd-profile-actions :is(
    a[href*="section=settings"],
    [data-action="settings"],
    [aria-label*="settings" i],
    [title*="settings" i],
    [data-share-url],
    [data-otd-share],
    [data-action="share"],
    [aria-label*="share" i],
    [title*="share" i]
  ) {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .otd-public-profile .otd-profile-actions :is(
    a[href*="section=settings"],
    [data-action="settings"],
    [aria-label*="settings" i],
    [title*="settings" i],
    [data-share-url],
    [data-otd-share],
    [data-action="share"],
    [aria-label*="share" i],
    [title*="share" i]
  ) svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* ========================================================================== */
/* otDiary 1.9.61 — mobile profile breathing room + titleless profile tabs.   */
/* Keep Share / Settings visually compact without pulling them into the       */
/* iPhone status edge, restore more cover-image presence, and remove the      */
/* repeated Diary / Feed / Shop / Collections heading on compact screens.    */
/* ========================================================================== */
@media (max-width: 700px) {
  /* Give the cover back enough vertical presence on iPhone/mobile. */
  body .otd-public-profile .otd-profile-cover {
    height: clamp(205px, 54vw, 235px) !important;
    min-height: 205px !important;
    max-height: 235px !important;
  }

  /* Slightly reduce the overlap so more of the cover remains visible. */
  body .otd-public-profile .otd-profile-header {
    margin-top: -44px !important;
  }

  /* Keep the compact utilities, but restore breathing room from the top edge. */
  body .otd-public-profile .otd-profile-actions :is(
    a[href*="section=settings"],
    [data-action="settings"],
    [aria-label*="settings" i],
    [title*="settings" i],
    [data-share-url],
    [data-otd-share],
    [data-action="share"],
    [aria-label*="share" i],
    [title*="share" i]
  ) {
    margin-top: 11px !important;
  }

  /* The tab icon already communicates the selected surface on mobile. */
  body .otd-public-profile .otd-profile-content > h2 {
    display: none !important;
  }

  /* Remove the large title's former vertical reservation. */
  body .otd-public-profile .otd-profile-content {
    padding-top: 12px !important;
  }

  /* Feed previously carried its own top margin because a heading preceded it. */
  body .otd-public-profile .otd-profile-content > .otd-feed-grid,
  body .otd-public-profile .otd-profile-content > .otd-diary-grid,
  body .otd-public-profile .otd-profile-content > .otd-public-grid,
  body .otd-public-profile .otd-profile-content > .otd-shop-product-sections,
  body .otd-public-profile .otd-profile-content > .otd-shop-directory,
  body .otd-public-profile .otd-profile-content > .otd-shop-category-view {
    margin-top: 0 !important;
  }
}

@media (max-width: 430px) {
  body .otd-public-profile .otd-profile-cover {
    height: clamp(200px, 56vw, 228px) !important;
    min-height: 200px !important;
    max-height: 228px !important;
  }

  /* Maintain the discreet visual button size while preserving the tap target. */
  body .otd-public-profile .otd-profile-actions :is(
    a[href*="section=settings"],
    [data-action="settings"],
    [aria-label*="settings" i],
    [title*="settings" i],
    [data-share-url],
    [data-otd-share],
    [data-action="share"],
    [aria-label*="share" i],
    [title*="share" i]
  ) {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin-top: 12px !important;
  }

  body .otd-public-profile .otd-profile-content {
    padding-top: 10px !important;
  }
}



/* otDiary 1.9.62 — visitor navigation uses only public discovery surfaces. */
.otd-floating-nav.is-guest-nav{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:620px){
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link span{white-space:normal;line-height:1.05;max-width:74px;}
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link{font-size:10px;}
}

/* otDiary 1.9.71 — canonical /creators/ curated editorial directory. */
body.page-template-page-creators .otd-main,
body.page-id-0 .otd-curated-creators,
.otd-curated-creators {
  box-sizing: border-box;
}
.otd-curated-creators {
  width: min(100%, 1600px);
  margin: 0 auto;
  padding: 48px 32px 132px;
  background: #fff;
}
.otd-curated-creators__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin: 0 0 28px;
}
.otd-curated-creators__eyebrow {
  display: inline-block;
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #666;
}
.otd-curated-creators__head h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(2.9rem, 5.6vw, 5.8rem);
  line-height: .9;
  letter-spacing: -.06em;
  font-weight: 700;
}
.otd-curated-creators__count {
  padding-bottom: 6px;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #777;
}
.otd-curated-creators__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 122px;
  gap: 12px;
}
.otd-curated-creator-card {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 244px;
  background: #e7e7e7;
  color: #fff;
  text-decoration: none;
  isolation: isolate;
}
.otd-curated-creator-card--feature { grid-column: span 2; grid-row: span 6; }
.otd-curated-creator-card--portrait { grid-row: span 4; }
.otd-curated-creator-card--wide { grid-column: span 2; grid-row: span 3; }
.otd-curated-creator-card--square { grid-row: span 3; }
.otd-curated-creator-card__media,
.otd-curated-creator-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.otd-curated-creator-card__media {
  background: linear-gradient(145deg, #ececec, #cfcfcf);
}
.otd-curated-creator-card__media img {
  object-fit: cover;
  object-position: center;
  transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .55s ease;
}
.otd-curated-creator-card__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.08) 44%, rgba(0,0,0,.68) 100%);
  transition: background .45s ease;
}
.otd-curated-creator-card__copy {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  left: 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.22);
}
.otd-curated-creator-card__copy span {
  margin-bottom: 6px;
  font-family: var(--otd-font-display);
  font-size: clamp(1rem, 1.6vw, 1.45rem);
  line-height: 1;
  font-style: italic;
  font-weight: 400;
}
.otd-curated-creator-card__copy strong {
  max-width: 94%;
  font-family: var(--otd-font-display);
  font-size: clamp(2rem, 3.3vw, 4rem);
  line-height: .92;
  letter-spacing: -.045em;
  font-weight: 500;
  text-wrap: balance;
}
.otd-curated-creator-card:hover .otd-curated-creator-card__media img,
.otd-curated-creator-card:focus-visible .otd-curated-creator-card__media img {
  transform: scale(1.045);
  filter: contrast(1.02) saturate(1.02);
}
.otd-curated-creator-card:hover .otd-curated-creator-card__shade,
.otd-curated-creator-card:focus-visible .otd-curated-creator-card__shade {
  background: linear-gradient(180deg, rgba(0,0,0,.01) 0%, rgba(0,0,0,.06) 42%, rgba(0,0,0,.61) 100%);
}
.otd-curated-creator-card:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}
@media (max-width: 1080px) {
  .otd-curated-creators { padding-inline: 20px; }
  .otd-curated-creators__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .otd-curated-creator-card--feature { grid-column: span 2; grid-row: span 5; }
  .otd-curated-creator-card--wide { grid-column: span 2; }
}
@media (max-width: 720px) {
  .otd-curated-creators { padding: 28px 12px 118px; }
  .otd-curated-creators__head { align-items: flex-start; flex-direction: column; margin-bottom: 18px; }
  .otd-curated-creators__head h1 { font-size: clamp(2.5rem, 12vw, 4rem); }
  .otd-curated-creators__grid { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 10px; }
  .otd-curated-creator-card,
  .otd-curated-creator-card--feature,
  .otd-curated-creator-card--portrait,
  .otd-curated-creator-card--wide,
  .otd-curated-creator-card--square {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
  .otd-curated-creator-card__copy { right: 16px; bottom: 16px; left: 16px; }
  .otd-curated-creator-card__copy strong { font-size: clamp(2.3rem, 11vw, 3.6rem); }
}

/* otDiary 1.9.71 — wet-glass identity plate for All Creators cards. */
.otd-curated-creator-card__copy { display: none !important; }
.otd-curated-creator-card__glass {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  width: min(78%, 390px);
  min-height: 112px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.30), rgba(255,255,255,.12) 44%, rgba(255,255,255,.18)),
    rgba(115,115,115,.12);
  -webkit-backdrop-filter: blur(24px) saturate(1.22);
  backdrop-filter: blur(24px) saturate(1.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    inset 0 -1px 0 rgba(255,255,255,.12),
    0 18px 46px rgba(0,0,0,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  text-shadow: 0 1px 10px rgba(0,0,0,.24);
  transition: transform .42s cubic-bezier(.2,.7,.2,1), background .42s ease, border-color .42s ease;
}
.otd-curated-creator-card__glass::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(112deg, rgba(255,255,255,.21), rgba(255,255,255,0) 33%, rgba(255,255,255,.08) 70%, rgba(255,255,255,.18));
  opacity: .88;
}
.otd-curated-creator-card__avatar-wrap,
.otd-curated-creator-card__identity { position: relative; z-index: 1; }
.otd-curated-creator-card__avatar-wrap {
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.48);
  box-shadow: 0 5px 20px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.62);
}
.otd-curated-creator-card__avatar {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover;
  border-radius: 999px;
}
.otd-curated-creator-card__identity {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.83);
  color: #111;
  text-shadow: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 6px 16px rgba(0,0,0,.12);
}
.otd-curated-creator-card__identity strong {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--otd-font-sans);
  font-size: .94rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.02em;
}
.otd-curated-creator-card__identity .otd-verification-badge-wrap {
  display: inline-flex;
  align-items: center;
}
.otd-curated-creator-card__identity .otd-directory-verification-badge,
.otd-curated-creator-card__identity .otd-verified-badge {
  width: 18px !important;
  height: 18px !important;
  display: block;
}
.otd-curated-creator-card:hover .otd-curated-creator-card__glass,
.otd-curated-creator-card:focus-visible .otd-curated-creator-card__glass {
  transform: translateX(-50%) translateY(-5px);
  border-color: rgba(255,255,255,.58);
  background:
    linear-gradient(135deg, rgba(255,255,255,.37), rgba(255,255,255,.14) 44%, rgba(255,255,255,.22)),
    rgba(115,115,115,.14);
}
@media (max-width: 720px) {
  .otd-curated-creator-card__glass {
    bottom: 16px;
    width: calc(100% - 30px);
    min-height: 94px;
    padding: 12px 14px;
    border-radius: 22px;
    gap: 10px;
  }
  .otd-curated-creator-card__avatar-wrap {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
  }
  .otd-curated-creator-card__identity { padding: 8px 11px; }
  .otd-curated-creator-card__identity strong { font-size: .88rem; max-width: 180px; }
}

/* otDiary 1.9.71 — All Creators cards resized to the slimmer OneOff reference. */
.otd-curated-creators__grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 420px)) !important;
  grid-auto-rows: auto !important;
  justify-content: center;
  align-items: start;
  gap: 20px;
}
.otd-curated-creator-card,
.otd-curated-creator-card--feature,
.otd-curated-creator-card--portrait,
.otd-curated-creator-card--wide,
.otd-curated-creator-card--square {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100%;
  max-width: 420px;
  min-height: 0 !important;
  aspect-ratio: 2 / 3;
  border-radius: 38px;
  justify-self: center;
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
}
.otd-curated-creator-card__shade {
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(0,0,0,.01) 0%, rgba(0,0,0,.04) 52%, rgba(0,0,0,.24) 100%);
}
.otd-curated-creator-card__media,
.otd-curated-creator-card__media img {
  border-radius: inherit;
}
.otd-curated-creator-card__glass {
  bottom: 18px;
  width: min(82%, 330px);
  min-height: 92px;
  padding: 12px 14px;
  border-radius: 24px;
  gap: 10px;
}
.otd-curated-creator-card__avatar-wrap {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  padding: 2px;
}
.otd-curated-creator-card__identity {
  padding: 8px 12px;
  gap: 6px;
}
.otd-curated-creator-card__identity strong {
  max-width: 180px;
  font-size: .88rem;
}
.otd-curated-creator-card__identity .otd-directory-verification-badge,
.otd-curated-creator-card__identity .otd-verified-badge {
  width: 17px !important;
  height: 17px !important;
}
@media (max-width: 1080px) {
  .otd-curated-creators__grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 380px)) !important;
  }
  .otd-curated-creator-card,
  .otd-curated-creator-card--feature,
  .otd-curated-creator-card--portrait,
  .otd-curated-creator-card--wide,
  .otd-curated-creator-card--square {
    max-width: 380px;
  }
}
@media (max-width: 720px) {
  .otd-curated-creators__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px;
  }
  .otd-curated-creator-card,
  .otd-curated-creator-card--feature,
  .otd-curated-creator-card--portrait,
  .otd-curated-creator-card--wide,
  .otd-curated-creator-card--square {
    width: min(100%, 350px);
    max-width: 350px;
    aspect-ratio: 2 / 3;
    border-radius: 30px;
    margin-inline: auto;
  }
  .otd-curated-creator-card__glass {
    bottom: 14px;
    width: min(84%, 294px);
    min-height: 80px;
    padding: 10px 11px;
    border-radius: 21px;
    gap: 9px;
  }
  .otd-curated-creator-card__avatar-wrap {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }
  .otd-curated-creator-card__identity {
    padding: 7px 10px;
  }
  .otd-curated-creator-card__identity strong {
    max-width: 150px;
    font-size: .82rem;
  }
}

/* otDiary 1.9.72 — All Creators closer to the OneOff reference scale. */
.otd-curated-creators__grid {
  grid-template-columns: repeat(auto-fit, minmax(270px, 360px)) !important;
  gap: 28px !important;
}
.otd-curated-creator-card,
.otd-curated-creator-card--feature,
.otd-curated-creator-card--portrait,
.otd-curated-creator-card--wide,
.otd-curated-creator-card--square {
  max-width: 360px !important;
  aspect-ratio: 2 / 3.06;
  border-radius: 34px;
  box-shadow: 0 16px 36px rgba(0,0,0,.08);
}
.otd-curated-creator-card__shade {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.06) 56%, rgba(0,0,0,.18) 100%);
}
.otd-curated-creator-card__title {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18% 11% 30%;
  pointer-events: none;
}
.otd-curated-creator-card__title span {
  display: block;
  max-width: 86%;
  margin: 0 auto;
  font-family: var(--otd-font-sans);
  font-size: clamp(2rem, 3.6vw, 3.45rem);
  line-height: .95;
  font-weight: 500;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-wrap: balance;
  color: rgba(255,255,255,.95);
  text-shadow: 0 2px 20px rgba(0,0,0,.14);
}
.otd-curated-creator-card__glass {
  bottom: 20px;
  width: min(74%, 250px);
  min-height: 66px;
  padding: 10px 12px;
  border-radius: 22px;
  gap: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.32), rgba(255,255,255,.13) 44%, rgba(255,255,255,.20)),
    rgba(140,140,140,.16);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
  backdrop-filter: blur(22px) saturate(1.18);
}
.otd-curated-creator-card__avatar-wrap {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 2px;
}
.otd-curated-creator-card__identity {
  padding: 7px 10px;
  gap: 5px;
}
.otd-curated-creator-card__identity strong {
  max-width: 132px;
  font-size: .79rem;
  font-weight: 700;
}
.otd-curated-creator-card__identity .otd-directory-verification-badge,
.otd-curated-creator-card__identity .otd-verified-badge {
  width: 16px !important;
  height: 16px !important;
}
@media (max-width: 1080px) {
  .otd-curated-creators__grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 330px)) !important;
    gap: 22px !important;
  }
  .otd-curated-creator-card,
  .otd-curated-creator-card--feature,
  .otd-curated-creator-card--portrait,
  .otd-curated-creator-card--wide,
  .otd-curated-creator-card--square {
    max-width: 330px !important;
  }
  .otd-curated-creator-card__title span {
    font-size: clamp(1.85rem, 5vw, 3rem);
  }
}
@media (max-width: 720px) {
  .otd-curated-creators__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }
  .otd-curated-creator-card,
  .otd-curated-creator-card--feature,
  .otd-curated-creator-card--portrait,
  .otd-curated-creator-card--wide,
  .otd-curated-creator-card--square {
    width: min(100%, 320px);
    max-width: 320px !important;
    border-radius: 30px;
  }
  .otd-curated-creator-card__title {
    padding: 16% 10% 31%;
  }
  .otd-curated-creator-card__title span {
    max-width: 84%;
    font-size: clamp(1.75rem, 9vw, 2.55rem);
    line-height: .94;
  }
  .otd-curated-creator-card__glass {
    bottom: 16px;
    width: min(74%, 230px);
    min-height: 60px;
    padding: 9px 10px;
    border-radius: 20px;
  }
  .otd-curated-creator-card__avatar-wrap {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }
  .otd-curated-creator-card__identity {
    padding: 6px 9px;
  }
  .otd-curated-creator-card__identity strong {
    max-width: 120px;
    font-size: .75rem;
  }
}

/* otDiary 1.9.73 — original support + legal information system. */
.otd-info-page,
.otd-info-page * { box-sizing: border-box; }
.otd-info-page {
  --info-ink: #111;
  --info-muted: #707070;
  --info-line: #dedede;
  --info-soft: #f4f4f2;
  --info-glass: rgba(255,255,255,.64);
  width: min(100%, 1600px);
  margin: 0 auto;
  padding: 74px 48px 130px;
  color: var(--info-ink);
  background: #fff;
}
.otd-info-hero {
  max-width: 1180px;
  padding: 56px 0 74px;
}
.otd-info-kicker,
.otd-info-form-head > span,
.otd-info-contact-rail article > span,
.otd-info-contact-rail article > span,
.otd-info-cta span,
.otd-cookie-center__intro > span {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .21em;
  text-transform: uppercase;
  color: #777;
}
.otd-info-hero h1 {
  max-width: 1120px;
  margin: 0;
  font-size: clamp(3.4rem, 7.5vw, 8.4rem);
  line-height: .86;
  letter-spacing: -.075em;
  font-weight: 700;
  text-wrap: balance;
}
.otd-info-hero p {
  max-width: 840px;
  margin: 30px 0 0;
  font-size: clamp(1.05rem, 1.5vw, 1.32rem);
  line-height: 1.55;
  color: var(--info-muted);
}
.otd-info-meta {
  margin-top: 26px;
  font-size: .88rem;
  color: #8a8a8a;
}
.otd-info-hero--legal {
  padding-bottom: 62px;
  border-bottom: 1px solid var(--info-line);
}
.otd-info-hero--legal h1 { max-width: 1050px; }

/* Contact */
.otd-info-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
  gap: 74px;
  align-items: start;
}
.otd-info-contact-rail {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--info-line);
}
.otd-info-contact-rail article {
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 18px;
  padding: 26px 0 28px;
  border-bottom: 1px solid var(--info-line);
}
.otd-info-contact-rail article > span {
  grid-row: 1 / span 2;
  margin: 4px 0 0;
}
.otd-info-contact-rail h2 {
  margin: 0;
  font-size: clamp(1.55rem, 2.2vw, 2.35rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.otd-info-contact-rail p {
  margin: 10px 0 0;
  max-width: 560px;
  color: var(--info-muted);
  line-height: 1.55;
}
.otd-info-inline-link {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin-top: 28px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: #111;
  font-weight: 650;
  text-decoration: none;
}
.otd-info-form-card {
  position: relative;
  padding: 36px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 34px;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(246,246,244,.82));
  box-shadow: 0 28px 80px rgba(0,0,0,.07);
}
.otd-info-form-head h2 {
  margin: 0 0 30px;
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  line-height: .92;
  letter-spacing: -.055em;
}
.otd-contact-form { display: grid; gap: 20px; }
.otd-contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.otd-contact-form label { display: grid; gap: 8px; }
.otd-contact-form label > span {
  font-size: .84rem;
  font-weight: 650;
  color: #555;
}
.otd-contact-form input[type="text"],
.otd-contact-form input[type="email"],
.otd-contact-form select,
.otd-contact-form textarea {
  width: 100%;
  border: 1px solid #d8d8d8;
  border-radius: 17px;
  background: rgba(255,255,255,.86);
  padding: 15px 16px;
  color: #111;
  font: inherit;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.otd-contact-form textarea { resize: vertical; min-height: 180px; }
.otd-contact-form input:focus,
.otd-contact-form select:focus,
.otd-contact-form textarea:focus {
  border-color: #9e9e9e;
  box-shadow: 0 0 0 4px rgba(0,0,0,.045);
  background: #fff;
}
.otd-contact-form__consent {
  grid-template-columns: 20px 1fr !important;
  align-items: start;
  gap: 9px !important;
}
.otd-contact-form__consent input { margin-top: 2px; }
.otd-info-primary-btn,
.otd-info-secondary-btn {
  appearance: none;
  border-radius: 999px;
  padding: 13px 20px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.otd-info-primary-btn { border: 1px solid #111; background: #111; color: #fff; }
.otd-info-secondary-btn { border: 1px solid #cfcfcf; background: #fff; color: #111; }
.otd-info-primary-btn:hover,
.otd-info-secondary-btn:hover { transform: translateY(-2px); }
.otd-info-notice {
  margin: 0 0 22px;
  padding: 13px 15px;
  border-radius: 14px;
  font-size: .94rem;
}
.otd-info-notice.is-success { background: #eef6ef; color: #234c29; border: 1px solid #d2e7d5; }
.otd-info-notice.is-error { background: #fff1f1; color: #7e2727; border: 1px solid #f2d0d0; }

/* Help Center */
.otd-help-search {
  display: flex;
  align-items: center;
  gap: 13px;
  max-width: 820px;
  margin-top: 40px;
  padding: 15px 19px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 40px rgba(0,0,0,.05);
}
.otd-help-search svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; flex: 0 0 21px; }
.otd-help-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 1rem; }
.otd-help-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 64px;
  border-top: 1px solid var(--info-line);
  padding-top: 34px;
}
.otd-help-index { position: sticky; top: 34px; align-self: start; display: grid; }
.otd-help-index a {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  padding: 12px 0;
  color: #555;
  text-decoration: none;
  border-bottom: 1px solid #eee;
  font-size: .92rem;
}
.otd-help-index a span { color: #aaa; font-size: .72rem; padding-top: 2px; }
.otd-help-section { scroll-margin-top: 30px; margin-bottom: 56px; }
.otd-help-section h2 {
  margin: 0 0 18px;
  font-size: clamp(2rem, 3.3vw, 3.9rem);
  line-height: .95;
  letter-spacing: -.055em;
}
.otd-help-accordion { border-top: 1px solid var(--info-line); }
.otd-help-accordion details { border-bottom: 1px solid var(--info-line); }
.otd-help-accordion summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 20px 0;
  cursor: pointer;
  font-weight: 650;
  font-size: 1.02rem;
}
.otd-help-accordion summary::-webkit-details-marker { display: none; }
.otd-help-accordion summary span { font-size: 1.5rem; font-weight: 400; transition: transform .2s ease; }
.otd-help-accordion details[open] summary span { transform: rotate(45deg); }
.otd-help-accordion details p { max-width: 880px; margin: -2px 0 23px; line-height: 1.65; color: var(--info-muted); }
.otd-help-empty { padding: 30px; border-radius: 22px; background: var(--info-soft); color: #555; }
.otd-info-cta {
  margin-top: 44px;
  padding: 34px 0 10px;
  border-top: 1px solid var(--info-line);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}
.otd-info-cta h2 { margin: 0; font-size: clamp(2rem, 4vw, 4.6rem); line-height: .92; letter-spacing: -.055em; }

/* Privacy + Terms */
.otd-legal-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 860px);
  justify-content: space-between;
  gap: 72px;
  padding-top: 44px;
}
.otd-legal-toc {
  position: sticky;
  top: 32px;
  align-self: start;
  display: grid;
  border-top: 1px solid var(--info-line);
}
.otd-legal-toc a {
  padding: 10px 0;
  border-bottom: 1px solid #ececec;
  color: #666;
  text-decoration: none;
  font-size: .9rem;
}
.otd-legal-copy section {
  scroll-margin-top: 32px;
  position: relative;
  padding: 0 0 42px 56px;
  margin-bottom: 42px;
  border-bottom: 1px solid var(--info-line);
}
.otd-legal-copy section > span {
  position: absolute;
  left: 0;
  top: 6px;
  font-size: 11px;
  letter-spacing: .18em;
  font-weight: 700;
  color: #aaa;
}
.otd-legal-copy h2 {
  margin: 0 0 18px;
  font-size: clamp(2rem, 3.1vw, 3.65rem);
  line-height: .95;
  letter-spacing: -.05em;
}
.otd-legal-copy p { margin: 0 0 16px; color: #5f5f5f; line-height: 1.72; font-size: 1.02rem; }
.otd-legal-copy a { color: #111; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.otd-legal-note { padding: 22px 24px; border-radius: 20px; background: var(--info-soft); color: #666; line-height: 1.55; }

/* Cookie preference center */
.otd-cookie-center {
  max-width: 1120px;
  padding-top: 10px;
}
.otd-cookie-center__intro { max-width: 760px; margin-bottom: 32px; }
.otd-cookie-center__intro h2 { margin: 0 0 13px; font-size: clamp(2.1rem, 4vw, 4.4rem); line-height: .9; letter-spacing: -.055em; }
.otd-cookie-center__intro p { color: var(--info-muted); line-height: 1.6; }
.otd-cookie-options { border-top: 1px solid var(--info-line); }
.otd-cookie-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  min-height: 128px;
  padding: 23px 0;
  border-bottom: 1px solid var(--info-line);
  cursor: pointer;
}
.otd-cookie-option > div:first-child { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; }
.otd-cookie-option > div:first-child > span { grid-row: 1 / span 2; padding-top: 5px; font-size: 11px; font-weight: 700; letter-spacing: .18em; color: #aaa; }
.otd-cookie-option h3 { margin: 0; font-size: clamp(1.45rem, 2.5vw, 2.6rem); line-height: 1; letter-spacing: -.04em; }
.otd-cookie-option p { margin: 8px 0 0; max-width: 750px; color: var(--info-muted); line-height: 1.52; }
.otd-cookie-option input { position: absolute; opacity: 0; pointer-events: none; }
.otd-cookie-option > i {
  position: relative;
  width: 52px;
  height: 30px;
  border-radius: 999px;
  background: #d7d7d7;
  transition: background .2s ease;
}
.otd-cookie-option > i::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: transform .2s ease;
}
.otd-cookie-option input:checked + i { background: #111; }
.otd-cookie-option input:checked + i::after { transform: translateX(22px); }
.otd-cookie-fixed { padding: 7px 11px; border-radius: 999px; background: #f0f0f0; color: #555; font-size: .8rem; font-weight: 650; }
.otd-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.otd-cookie-smallprint { max-width: 760px; margin-top: 25px; color: #777; font-size: .88rem; line-height: 1.55; }
.otd-cookie-smallprint a { color: #111; }

/* Footer on standard public pages */
.otd-site-footer nav { display: inline-flex; flex-wrap: wrap; gap: 12px 18px; }
.otd-site-footer nav a { color: inherit; text-decoration: none; }
.otd-site-footer nav a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 980px) {
  .otd-info-page { padding: 54px 24px 120px; }
  .otd-info-contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .otd-help-layout,
  .otd-legal-layout { grid-template-columns: 1fr; gap: 42px; }
  .otd-help-index,
  .otd-legal-toc { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
}
@media (max-width: 720px) {
  .otd-info-page { padding: 34px 16px 112px; }
  .otd-info-hero { padding: 34px 0 52px; }
  .otd-info-hero h1 { font-size: clamp(3rem, 15vw, 5.6rem); }
  .otd-info-hero p { margin-top: 22px; }
  .otd-info-form-card { padding: 24px 18px; border-radius: 25px; }
  .otd-contact-form__row { grid-template-columns: 1fr; }
  .otd-help-index,
  .otd-legal-toc { grid-template-columns: 1fr; }
  .otd-info-cta { align-items: flex-start; flex-direction: column; }
  .otd-legal-copy section { padding-left: 38px; }
  .otd-cookie-option { gap: 16px; }
  .otd-cookie-option > div:first-child { grid-template-columns: 34px minmax(0, 1fr); }
  .otd-cookie-actions { display: grid; grid-template-columns: 1fr; }
  .otd-cookie-actions .otd-info-primary-btn,
  .otd-cookie-actions .otd-info-secondary-btn { width: 100%; }
  .otd-site-footer { gap: 14px; align-items: flex-start; flex-direction: column; }
}

/* otDiary 1.9.74 — intentionally minimal Contact page. */
.otd-contact-minimal {
  min-height: calc(100vh - 120px);
  padding: 34px 58px 130px;
  background: #fff;
  color: #171717;
}
.otd-contact-minimal__back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #b6b6b6;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .02em;
  transition: color .2s ease;
}
.otd-contact-minimal__back:hover,
.otd-contact-minimal__back:focus-visible {
  color: #111;
}
.otd-contact-minimal__content {
  width: min(100%, 760px);
  margin: 76px auto 0;
  padding-left: 30px;
}
.otd-contact-minimal__head > span,
.otd-contact-minimal__group > span {
  display: block;
  color: #c7c7c7;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .04em;
}
.otd-contact-minimal__head h1 {
  margin: 18px 0 0;
  font-family: var(--otd-font-sans);
  font-size: clamp(2rem, 3vw, 3.15rem);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 600;
}
.otd-contact-minimal__intro {
  max-width: 680px;
  margin: 86px 0 0;
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
}
.otd-contact-minimal__group {
  margin-top: 58px;
}
.otd-contact-minimal__group a {
  display: inline-block;
  margin-top: 20px;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #555;
  font-size: 1rem;
  line-height: 1.25;
  transition: color .2s ease, border-color .2s ease;
}
.otd-contact-minimal__group a:hover,
.otd-contact-minimal__group a:focus-visible {
  color: #000;
  border-color: #000;
}
@media (max-width: 767px) {
  .otd-contact-minimal {
    min-height: calc(100vh - 90px);
    padding: 26px 22px 120px;
  }
  .otd-contact-minimal__content {
    margin-top: 58px;
    padding-left: 0;
  }
  .otd-contact-minimal__head h1 {
    font-size: clamp(2rem, 11vw, 2.8rem);
  }
  .otd-contact-minimal__intro {
    margin-top: 60px;
    font-size: .98rem;
  }
  .otd-contact-minimal__group {
    margin-top: 46px;
  }
}

/* otDiary 1.9.75 — minimal legal-document format for Privacy + Terms. */
body.otd-legal-document-route {
  background: #fff;
  color: #303030;
}
body.otd-legal-document-route .otd-main {
  min-height: 100vh;
  padding: 0;
  background: #fff;
}
.otd-legal-document {
  position: relative;
  width: 100%;
  min-height: 100vh;
  padding: 34px 0 90px;
  background: #fff;
  border-top: 1px solid #f0f0f0;
}
.otd-legal-document__back {
  display: inline-block;
  margin-left: 60px;
  color: #c8c8c8;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .2s ease;
}
.otd-legal-document__back:hover,
.otd-legal-document__back:focus-visible {
  color: #555;
}
.otd-legal-document__body {
  width: min(100% - 48px, 780px);
  margin: 84px auto 0;
  font-size: 15.5px;
  line-height: 1.7;
  color: #3d3d3d;
}
.otd-legal-document__head {
  margin: 0 0 88px;
}
.otd-legal-document__kicker {
  display: block;
  margin: 0 0 18px;
  color: #c2c2c2;
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.otd-legal-document__head h1 {
  margin: 0;
  font-family: var(--otd-font-sans);
  font-size: clamp(2.15rem, 3vw, 2.9rem);
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: -.045em;
  color: #2d2d2d;
}
.otd-legal-document__date {
  margin-top: 22px;
  color: #c2c2c2;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.otd-legal-document__body p {
  margin: 0 0 24px;
  color: #3f3f3f;
}
.otd-legal-document__body h2 {
  margin: 58px 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #eeeeee;
  color: #303030;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.otd-legal-document__body a {
  color: #383838;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
@media (max-width: 720px) {
  .otd-legal-document {
    padding-top: calc(22px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  .otd-legal-document__back {
    margin-left: 22px;
  }
  .otd-legal-document__body {
    width: min(100% - 36px, 680px);
    margin-top: 58px;
    font-size: 15px;
    line-height: 1.72;
  }
  .otd-legal-document__head {
    margin-bottom: 62px;
  }
  .otd-legal-document__head h1 {
    font-size: clamp(2rem, 10vw, 2.7rem);
  }
  .otd-legal-document__body h2 {
    margin-top: 48px;
  }
}

/* otDiary 1.9.76 — Contact routing emails updated for creators, brands, support and general inquiries. */


/* otDiary 1.9.77 — keep Contact Back control below the fixed OT Diary logo. */
body.page-template-page-contact .otd-contact-minimal,
body.page-contact .otd-contact-minimal {
  padding-top: 128px;
}
body.page-template-page-contact .otd-contact-minimal__back,
body.page-contact .otd-contact-minimal__back {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  body.page-template-page-contact .otd-contact-minimal,
  body.page-contact .otd-contact-minimal {
    padding-top: 118px;
  }
}


/* otDiary 1.9.78 — Contact Back is positioned from the real page container.
   Previous body-class selectors did not match the live WordPress route. */
.otd-contact-minimal {
  padding-top: 118px !important;
}
.otd-contact-minimal__back {
  position: relative;
  z-index: 3;
  display: inline-flex;
}
@media (max-width: 767px) {
  .otd-contact-minimal {
    padding-top: calc(104px + env(safe-area-inset-top, 0px)) !important;
  }
}


/* otDiary 1.9.79 — Cookie Policy & Settings uses the same minimal legal language. */
.otd-cookie-document .otd-legal-document__head { margin-bottom: 72px; }
.otd-cookie-minimal {
  margin: 26px 0 12px;
  border-top: 1px solid #ededed;
}
.otd-cookie-minimal__row {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 18px 0;
  border-bottom: 1px solid #ededed;
  cursor: pointer;
}
.otd-cookie-minimal__row > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.otd-cookie-minimal__row strong {
  color: #303030;
  font-size: 14px;
  font-weight: 650;
}
.otd-cookie-minimal__row span {
  max-width: 590px;
  color: #777;
  font-size: 13px;
  line-height: 1.55;
}
.otd-cookie-minimal__row em {
  flex: 0 0 auto;
  color: #9b9b9b;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.otd-cookie-minimal__row input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 36px;
  height: 20px;
  flex: 0 0 36px;
  margin: 0;
  border: 1px solid #d0d0d0;
  border-radius: 999px;
  background: #f1f1f1;
  position: relative;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.otd-cookie-minimal__row input[type="checkbox"]::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.16);
  transition: transform .2s ease;
}
.otd-cookie-minimal__row input[type="checkbox"]:checked {
  background: #2f2f2f;
  border-color: #2f2f2f;
}
.otd-cookie-minimal__row input[type="checkbox"]:checked::after { transform: translateX(16px); }
.otd-cookie-minimal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 0;
}
.otd-cookie-minimal__actions button {
  appearance: none;
  border: 1px solid #dedede;
  border-radius: 999px;
  background: #fff;
  color: #3b3b3b;
  padding: 10px 15px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.otd-cookie-minimal__actions button[data-cookie-save] {
  background: #2f2f2f;
  color: #fff;
  border-color: #2f2f2f;
}
.otd-cookie-minimal__status {
  margin: 16px 0 0 !important;
  color: #818181 !important;
  font-size: 12px;
}
@media (max-width: 720px) {
  .otd-cookie-minimal__row { min-height: 82px; gap: 18px; }
  .otd-cookie-minimal__row span { font-size: 12.5px; }
  .otd-cookie-minimal__actions { display: grid; grid-template-columns: 1fr; }
  .otd-cookie-minimal__actions button { width: 100%; }
}

/* otDiary 1.9.80 — one canonical public sitemap/footer across the whole website. */
.otd-global-sitemap.otd-fpm-sitemap{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#ffffff;
  color:#171717;
  padding:116px 0 38px;
  border-top:1px solid rgba(17,17,17,.08);
}
.otd-global-sitemap .otd-fpm-sitemap__watermark{
  position:absolute;
  z-index:-1;
  left:-2vw;
  bottom:-20vw;
  font-size:clamp(420px,62vw,980px);
  line-height:.7;
  font-weight:760;
  letter-spacing:-.11em;
  color:rgba(17,17,17,.02);
  user-select:none;
  pointer-events:none;
}
.otd-global-sitemap .otd-fpm-sitemap__orb{
  position:absolute;
  z-index:-1;
  width:150px;
  height:150px;
  right:19%;
  top:26%;
  border-radius:50%;
  background:rgba(17,17,17,.02);
  pointer-events:none;
}
.otd-global-sitemap .otd-fpm-sitemap__inner{
  width:min(1320px,calc(100% - 88px));
  margin:0 auto;
}
.otd-global-sitemap .otd-fpm-sitemap__intro{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(0,2.5fr);
  gap:clamp(56px,8vw,130px);
  align-items:start;
}
.otd-global-sitemap .otd-fpm-sitemap__identity{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  min-width:0;
}
.otd-global-sitemap .otd-fpm-sitemap__brand{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  max-width:100%;
  color:#171717!important;
  text-decoration:none;
}
.otd-global-sitemap .otd-fpm-sitemap__brand img{
  display:block;
  width:auto;
  height:38px;
  max-width:156px;
}
.otd-global-sitemap .otd-fpm-sitemap__identity>p{
  max-width:280px;
  margin:2px 0 6px;
  color:#717171;
  font-size:14px;
  line-height:1.55;
}
.otd-global-sitemap .otd-fpm-sitemap__social{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#606060!important;
  font-size:12px;
  font-weight:680;
  line-height:1;
  text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
.otd-global-sitemap .otd-fpm-sitemap__social svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.otd-global-sitemap .otd-fpm-sitemap__social:hover{color:#111!important;transform:translateY(-1px)}
.otd-global-sitemap .otd-fpm-sitemap__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:52px 42px;
  align-items:start;
}
.otd-global-sitemap .otd-fpm-sitemap__group{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
  min-width:0;
}
.otd-global-sitemap .otd-fpm-sitemap__group h3{
  margin:0 0 18px;
  color:#181818;
  font-size:13px;
  line-height:1.2;
  font-weight:720;
  letter-spacing:0;
  text-transform:none;
}
.otd-global-sitemap .otd-fpm-sitemap__group a,
.otd-global-sitemap .otd-fpm-cookie-link{
  appearance:none;
  border:0;
  padding:0;
  background:none;
  color:#70737a;
  font:inherit;
  font-size:14px;
  line-height:1.4;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:color .2s ease,transform .2s ease;
}
.otd-global-sitemap .otd-fpm-sitemap__group a:hover,
.otd-global-sitemap .otd-fpm-cookie-link:hover{color:#141414;transform:translateX(2px)}
.otd-global-sitemap .otd-fpm-sitemap__bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  margin-top:96px;
  padding-top:24px;
  border-top:1px solid rgba(17,17,17,.08);
}
.otd-global-sitemap .otd-fpm-sitemap__bottom p{
  margin:0;
  color:#757575;
  font-size:12px;
  line-height:1.45;
  text-align:left;
}
.otd-global-sitemap .otd-fpm-sitemap__signature{text-align:right!important}
.otd-global-sitemap .otd-fpm-sitemap__top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 17px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#171717!important;
  font-size:13px;
  font-weight:620;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:transform .2s ease,box-shadow .2s ease;
}
.otd-global-sitemap .otd-fpm-sitemap__top:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.09)}
.otd-global-sitemap .otd-fpm-sitemap__top span:first-child{font-size:16px;line-height:1}
@media(max-width:980px){
  .otd-global-sitemap.otd-fpm-sitemap{padding-top:88px}
  .otd-global-sitemap .otd-fpm-sitemap__inner{width:min(100% - 44px,900px)}
  .otd-global-sitemap .otd-fpm-sitemap__intro{grid-template-columns:1fr;gap:58px}
  .otd-global-sitemap .otd-fpm-sitemap__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 34px}
  .otd-global-sitemap .otd-fpm-sitemap__identity>p{max-width:440px}
  .otd-global-sitemap .otd-fpm-sitemap__watermark{bottom:-10vw;font-size:70vw}
  .otd-global-sitemap .otd-fpm-sitemap__orb{right:10%;top:18%}
}
@media(max-width:650px){
  .otd-global-sitemap.otd-fpm-sitemap{padding:72px 0 124px}
  .otd-global-sitemap .otd-fpm-sitemap__brand img{height:36px;max-width:148px}
  .otd-global-sitemap .otd-fpm-sitemap__inner{width:calc(100% - 34px)}
  .otd-global-sitemap .otd-fpm-sitemap__intro{gap:48px}
  .otd-global-sitemap .otd-fpm-sitemap__grid{grid-template-columns:1fr 1fr;gap:42px 24px}
  .otd-global-sitemap .otd-fpm-sitemap__group h3{margin-bottom:15px;font-size:12px}
  .otd-global-sitemap .otd-fpm-sitemap__group a,
  .otd-global-sitemap .otd-fpm-cookie-link{font-size:13px}
  .otd-global-sitemap .otd-fpm-sitemap__bottom{grid-template-columns:1fr;justify-items:start;margin-top:70px;gap:16px}
  .otd-global-sitemap .otd-fpm-sitemap__top{grid-row:1;margin-bottom:4px}
  .otd-global-sitemap .otd-fpm-sitemap__signature{text-align:left!important}
  .otd-global-sitemap .otd-fpm-sitemap__watermark{left:-14vw;bottom:12vw;font-size:105vw}
  .otd-global-sitemap .otd-fpm-sitemap__orb{width:92px;height:92px;right:7%;top:20%}
}

/* otDiary 1.9.81 — long-form About page. */
.otd-about-page {
  background: #fff;
  color: #111;
}
.otd-about-shell {
  width: min(100% - 64px, 1360px);
  margin-inline: auto;
}
.otd-about-section-label,
.otd-about-kicker {
  display: inline-block;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.otd-about-hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 18%, rgba(255,255,255,.09), transparent 23%),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.06), transparent 28%),
    linear-gradient(135deg, #17130f 0%, #241a12 42%, #090909 100%);
  color: #fff;
}
.otd-about-hero::before,
.otd-about-hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
  pointer-events: none;
}
.otd-about-hero::before {
  width: 46vw;
  height: 46vw;
  right: -12vw;
  top: -16vw;
  border: 1px solid rgba(255,255,255,.08);
}
.otd-about-hero::after {
  width: 32vw;
  height: 32vw;
  left: 8vw;
  bottom: 5vh;
  border: 1px solid rgba(255,255,255,.05);
}
.otd-about-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.38));
  pointer-events: none;
}
.otd-about-hero__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(100% - 64px, 1180px);
  margin: auto auto 8vh;
  padding-left: clamp(72px, 8vw, 128px);
  padding-top: clamp(34px, 5vh, 72px);
}
.otd-about-kicker {
  margin-bottom: 24px;
  color: rgba(255,255,255,.66);
}
.otd-about-hero h1 {
  max-width: 880px;
  margin: 0;
  font-family: var(--otd-font-display);
  font-size: clamp(4rem, 8vw, 8.6rem);
  line-height: .87;
  letter-spacing: -.055em;
  font-weight: 700;
}
.otd-about-hero__inner > p {
  max-width: 720px;
  margin: 34px 0 0;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.6;
  color: rgba(255,255,255,.75);
}
.otd-about-principles {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.17);
}
.otd-about-principles > div {
  min-height: 122px;
  padding: 30px 4vw;
  border-right: 1px solid rgba(255,255,255,.17);
}
.otd-about-principles > div:last-child { border-right: 0; }
.otd-about-principles strong,
.otd-about-principles span { display: block; }
.otd-about-principles strong {
  font-family: var(--otd-font-display);
  font-size: 1.65rem;
  font-weight: 700;
}
.otd-about-principles span {
  margin-top: 8px;
  font-size: .9rem;
  color: rgba(255,255,255,.58);
}
.otd-about-story {
  padding-block: 120px 130px;
}
.otd-about-story > .otd-about-section-label,
.otd-about-system .otd-about-section-label,
.otd-about-audiences > .otd-about-section-label,
.otd-about-oopstime .otd-about-section-label,
.otd-about-join .otd-about-section-label {
  margin-bottom: 28px;
  color: #888;
}
.otd-about-story__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 8vw;
  align-items: start;
}
.otd-about-story h2,
.otd-about-system h2,
.otd-about-oopstime h2,
.otd-about-join h2 {
  margin: 0;
  font-family: var(--otd-font-display);
  font-weight: 600;
  letter-spacing: -.045em;
}
.otd-about-story h2 {
  max-width: 650px;
  font-size: clamp(3.5rem, 6.2vw, 6.4rem);
  line-height: .93;
}
.otd-about-story__copy p,
.otd-about-oopstime p {
  margin: 0 0 24px;
  font-size: 1.06rem;
  line-height: 1.72;
  color: #4e4e4e;
}
.otd-about-system {
  padding-block: 110px 128px;
  background: #0d0d0d;
  color: #fff;
}
.otd-about-system__heading {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 5vw;
  align-items: end;
  padding-bottom: 44px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.otd-about-system__heading .otd-about-section-label { color: rgba(255,255,255,.54); }
.otd-about-system h2 {
  max-width: 820px;
  font-size: clamp(3.2rem, 5.5vw, 6rem);
  line-height: .95;
}
.otd-about-system__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.otd-about-system__grid article {
  min-height: 310px;
  padding: 34px 34px 40px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  border-right: 1px solid rgba(255,255,255,.14);
}
.otd-about-system__grid article:nth-child(3n) { border-right: 0; padding-left: 34px; }
.otd-about-system__grid article:nth-child(3n + 2) { padding-left: 34px; }
.otd-about-system__grid article > span {
  display: block;
  margin-bottom: 64px;
  font-size: 11px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.4);
}
.otd-about-system__grid h3 {
  margin: 0 0 16px;
  font-size: 1.65rem;
  letter-spacing: -.035em;
}
.otd-about-system__grid p {
  max-width: 340px;
  margin: 0;
  font-size: .98rem;
  line-height: 1.65;
  color: rgba(255,255,255,.58);
}
.otd-about-audiences {
  padding-block: 120px 140px;
}
.otd-about-audiences__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.otd-about-audiences article {
  min-height: 420px;
  padding: 42px 42px 42px 0;
  border-right: 1px solid #dcdcdc;
  display: flex;
  flex-direction: column;
}
.otd-about-audiences article + article { padding-left: 42px; }
.otd-about-audiences article:last-child { border-right: 0; }
.otd-about-audiences h2 {
  margin: 0 0 38px;
  font-family: var(--otd-font-display);
  font-size: clamp(2.7rem, 4vw, 4.5rem);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -.045em;
}
.otd-about-audiences p {
  margin: 0;
  max-width: 380px;
  font-size: 1rem;
  line-height: 1.7;
  color: #626262;
}
.otd-about-audiences a {
  margin-top: auto;
  padding-top: 32px;
  font-weight: 700;
  font-size: .93rem;
  text-decoration: underline;
  text-underline-offset: 7px;
}
.otd-about-belief {
  min-height: 76vh;
  display: grid;
  place-items: center;
  padding: 80px 32px;
  background:
    radial-gradient(circle at 72% 32%, rgba(157,115,76,.38), transparent 28%),
    linear-gradient(135deg, #17100c, #050505 72%);
  color: #fff;
}
.otd-about-belief__inner {
  width: min(100%, 1120px);
}
.otd-about-belief .otd-about-section-label { color: rgba(255,255,255,.5); }
.otd-about-belief h2 {
  max-width: 1000px;
  margin: 28px 0 32px;
  font-family: var(--otd-font-display);
  font-size: clamp(4rem, 7.6vw, 8rem);
  line-height: .88;
  font-weight: 700;
  letter-spacing: -.055em;
}
.otd-about-belief p {
  max-width: 720px;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.72;
  color: rgba(255,255,255,.66);
}
.otd-about-belief__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 46px;
}
.otd-about-belief__actions a,
.otd-about-join__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.46);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.otd-about-oopstime {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  padding-block: 120px;
  border-bottom: 1px solid #dedede;
}
.otd-about-oopstime h2 {
  max-width: 620px;
  font-size: clamp(3.2rem, 5vw, 5.7rem);
  line-height: .94;
}
.otd-about-join {
  padding: 110px 32px 120px;
}
.otd-about-join__inner {
  width: min(100%, 1040px);
  margin: 0 auto;
  text-align: center;
}
.otd-about-join h2 {
  font-size: clamp(3.8rem, 6.8vw, 7.2rem);
  line-height: .9;
}
.otd-about-join__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 38px;
}
.otd-about-join__links a {
  border-color: #111;
  min-width: 180px;
}
@media (max-width: 900px) {
  .otd-about-shell { width: min(100% - 36px, 1360px); }
  .otd-about-hero__inner { width: min(100% - 36px, 1180px); }
  .otd-about-principles { grid-template-columns: repeat(2, 1fr); }
  .otd-about-principles > div:nth-child(2) { border-right: 0; }
  .otd-about-principles > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.17); }
  .otd-about-story__grid,
  .otd-about-oopstime,
  .otd-about-system__heading { grid-template-columns: 1fr; gap: 38px; }
  .otd-about-system__grid { grid-template-columns: repeat(2, 1fr); }
  .otd-about-system__grid article,
  .otd-about-system__grid article:nth-child(3n),
  .otd-about-system__grid article:nth-child(3n + 2) { padding: 30px; border-right: 1px solid rgba(255,255,255,.14); }
  .otd-about-system__grid article:nth-child(2n) { border-right: 0; }
  .otd-about-audiences__grid { grid-template-columns: 1fr; }
  .otd-about-audiences article,
  .otd-about-audiences article + article { min-height: 0; padding: 42px 0; border-right: 0; border-bottom: 1px solid #dcdcdc; }
  .otd-about-audiences article:last-child { border-bottom: 0; }
  .otd-about-audiences a { margin-top: 40px; }
}
@media (max-width: 600px) {
  .otd-about-hero { min-height: 78svh; }
  .otd-about-hero h1 { font-size: clamp(3.5rem, 16vw, 5.2rem); }
  .otd-about-hero__inner { margin-bottom: 54px; }
  .otd-about-principles { grid-template-columns: 1fr 1fr; }
  .otd-about-principles > div { min-height: 98px; padding: 20px 18px; }
  .otd-about-principles strong { font-size: 1.2rem; }
  .otd-about-principles span { font-size: .75rem; }
  .otd-about-story { padding-block: 76px 84px; }
  .otd-about-story h2 { font-size: clamp(3.2rem, 13vw, 4.6rem); }
  .otd-about-system { padding-block: 74px 84px; }
  .otd-about-system h2 { font-size: clamp(3rem, 12vw, 4.4rem); }
  .otd-about-system__grid { grid-template-columns: 1fr; }
  .otd-about-system__grid article,
  .otd-about-system__grid article:nth-child(3n),
  .otd-about-system__grid article:nth-child(3n + 2),
  .otd-about-system__grid article:nth-child(2n) { min-height: 0; padding: 30px 0; border-right: 0; }
  .otd-about-system__grid article > span { margin-bottom: 34px; }
  .otd-about-audiences { padding-block: 78px 88px; }
  .otd-about-belief { min-height: 70svh; padding-inline: 18px; }
  .otd-about-belief h2 { font-size: clamp(3.5rem, 15vw, 5.4rem); }
  .otd-about-oopstime { padding-block: 78px; }
  .otd-about-oopstime h2 { font-size: clamp(3rem, 12vw, 4.5rem); }
  .otd-about-join { padding: 80px 18px 90px; }
  .otd-about-join h2 { font-size: clamp(3.4rem, 14vw, 5rem); }
}


/* otDiary 1.9.82 — About uses OT typography and top-left controls respect the fixed logo. */
.otd-contact-minimal__back,
.otd-legal-document__back {
  margin-left: 98px;
}
@media (max-width: 767px) {
  .otd-contact-minimal__back,
  .otd-legal-document__back {
    margin-left: 76px;
  }
}


/* otDiary 1.9.83 — about hero safe area so the fixed OT Diary logo never overlaps the title/kicker. */
@media (max-width: 1100px) {
  .otd-about-hero__inner {
    padding-left: clamp(64px, 7vw, 96px);
  }
}
@media (max-width: 767px) {
  .otd-about-hero__inner {
    padding-left: 0;
    padding-top: 72px;
    width: min(100% - 40px, 1180px);
  }
  .otd-about-kicker {
    padding-left: 56px;
  }
  .otd-about-hero h1,
  .otd-about-hero__inner > p {
    padding-left: 56px;
  }
}


/* otDiary 1.9.84 — Quick Create menu is solid white, never glass. */
.otd-quick-create__menu {
  background-color: #fff !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* otDiary 1.9.86 — Quick Create flows and Add Product modal are solid white, never glass. */
.otd-quick-create__menu,
.otd-pd-modal__dialog,
.otd-pd-modal__dialog .otd-pd-panel {
  background: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
  border-color: rgba(17,17,17,.10) !important;
  box-shadow: 0 26px 70px rgba(17,17,17,.16) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.otd-pd-modal__dialog .otd-pd-panel {
  box-shadow: none !important;
}

.otd-quick-create__heading,
.otd-pd-modal__dialog .otd-pd-panel__intro > span,
.otd-pd-modal__dialog .otd-pd-panel__intro p,
.otd-pd-modal__dialog .otd-pd-result__copy span,
.otd-pd-modal__dialog .otd-pd-result__copy small,
.otd-pd-modal__dialog .otd-pd-empty,
.otd-pd-modal__dialog .otd-pd-loading,
.otd-pd-modal__dialog .otd-pd-url-toggle,
.otd-pd-modal__dialog .otd-pd-url-panel label,
.otd-pd-modal__dialog .otd-pd-inline-message,
.otd-pd-modal__dialog .otd-pd-result__error,
.otd-pd-modal__dialog .otd-pd-url-panel p {
  color: rgba(17,17,17,.62) !important;
}

.otd-quick-create__menu a,
.otd-quick-create__menu strong,
.otd-pd-modal__dialog .otd-pd-panel__intro h3,
.otd-pd-modal__dialog .otd-pd-result__copy strong,
.otd-pd-modal__dialog .otd-pd-url-import strong,
.otd-pd-modal__dialog .otd-pd-url-toggle,
.otd-pd-modal__dialog input,
.otd-pd-modal__dialog select {
  color: #111111 !important;
}

.otd-quick-create__menu a:hover,
.otd-quick-create__menu a:focus-visible,
.otd-pd-modal__dialog .otd-pd-search-row:hover,
.otd-pd-modal__dialog .otd-pd-search-row:focus-within,
.otd-pd-modal__dialog .otd-pd-filter-control:hover,
.otd-pd-modal__dialog .otd-pd-filter-control:focus-within,
.otd-pd-modal__dialog .otd-pd-result:hover {
  background: #f4f4f5 !important;
  border-color: rgba(17,17,17,.14) !important;
}

.otd-quick-create__menu svg,
.otd-pd-modal__dialog .otd-pd-search-row,
.otd-pd-modal__dialog .otd-pd-filter-control,
.otd-pd-modal__dialog .otd-pd-url-panel,
.otd-pd-modal__dialog .otd-pd-url-import,
.otd-pd-modal__dialog .otd-pd-empty,
.otd-pd-modal__dialog .otd-pd-loading,
.otd-pd-modal__dialog .otd-pd-result,
.otd-pd-modal__dialog .otd-pd-result__image {
  background: #ffffff !important;
  border-color: rgba(17,17,17,.10) !important;
  color: #111111 !important;
  box-shadow: none !important;
}

.otd-quick-create__menu svg {
  background: #f4f4f5 !important;
  color: #111111 !important;
  border-color: rgba(17,17,17,.08) !important;
}

.otd-pd-modal__dialog input::placeholder {
  color: rgba(17,17,17,.42) !important;
}

.otd-pd-modal__dialog select option {
  background: #ffffff !important;
  color: #111111 !important;
}

.otd-pd-modal__dialog .otd-pd-search-icon,
.otd-pd-modal__dialog .otd-pd-filter-icon,
.otd-pd-modal__dialog .otd-pd-filter-chevron {
  color: rgba(17,17,17,.64) !important;
}

.otd-pd-modal__close {
  background: #ffffff !important;
  color: #111111 !important;
  border-color: rgba(17,17,17,.10) !important;
  box-shadow: 0 12px 28px rgba(17,17,17,.12) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.otd-pd-modal__close:hover {
  background: #f4f4f5 !important;
  border-color: rgba(17,17,17,.16) !important;
}

.otd-pd-modal__dialog .otd-pd-result__add,
.otd-pd-modal__dialog .otd-pd-url-panel button,
.otd-pd-modal__dialog .otd-pd-url-import button {
  background: #111111 !important;
  color: #ffffff !important;
  border: 1px solid #111111 !important;
  box-shadow: none !important;
}

.otd-pd-modal__dialog .otd-pd-result__add:hover,
.otd-pd-modal__dialog .otd-pd-url-panel button:hover,
.otd-pd-modal__dialog .otd-pd-url-import button:hover {
  background: #000000 !important;
}


/* otDiary 1.9.87 — the COMPLETE Quick Create flow is a solid-white system.
   This includes the first + menu and every Product child surface opened from it. */
.otd-product-method-shell,
.otd-product-method-shell .otd-page-head,
.otd-product-method-shell .otd-card,
.otd-product-method-shell .otd-form-card,
.otd-product-method-shell .otd-side-note,
.otd-product-method-shell .otd-product-library-bridge__card,
.otd-product-method-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

.otd-product-method-shell {
  border-color: rgba(17,17,17,.10) !important;
}

.otd-product-method-shell .otd-page-head,
.otd-product-method-shell .otd-card,
.otd-product-method-shell .otd-form-card,
.otd-product-method-shell .otd-side-note,
.otd-product-method-shell .otd-product-library-bridge__card,
.otd-product-method-card {
  border: 1px solid #e5e5e5 !important;
  box-shadow: none !important;
}

.otd-product-method-shell .otd-page-head {
  border-radius: 24px 24px 0 0 !important;
}

.otd-product-method-card:hover,
.otd-product-method-card:focus-visible {
  background: #f6f6f6 !important;
  border-color: #d8d8d8 !important;
  color: #111111 !important;
}

.otd-product-method-card__icon {
  background: #f3f3f3 !important;
  border: 1px solid #e5e5e5 !important;
  color: #111111 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.otd-product-method-card strong,
.otd-product-method-head h1,
.otd-product-method-shell h1,
.otd-product-method-shell h2,
.otd-product-method-shell h3,
.otd-product-method-shell label,
.otd-product-method-shell .otd-product-method-card__arrow {
  color: #111111 !important;
}

.otd-product-method-card p,
.otd-product-method-head p,
.otd-product-method-shell small,
.otd-product-url-start__hint,
.otd-product-library-bridge__card p {
  color: #777777 !important;
}

.otd-product-method-shell input,
.otd-product-method-shell textarea,
.otd-product-method-shell select {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #dedede !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.otd-product-method-shell input::placeholder,
.otd-product-method-shell textarea::placeholder {
  color: #9a9a9a !important;
}

/* Catch the modal/sheet wrapper used by legacy Quick Create plugins when it
   contains the canonical Product chooser. Modern Safari/Chrome support :has(). */
body:not(.wp-admin) :is(
  .otd-modal__dialog,
  .otd-floating-panel,
  .otd-floating-sheet,
  .otd-popover-panel,
  [data-otd-modal-panel],
  [data-otd-floating-panel],
  .otd-qc-layer,
  .otd-qc-menu,
  [data-otd-qc]
):has(.otd-product-method-shell),
body:not(.wp-admin) :is(
  .otd-modal__dialog,
  .otd-floating-panel,
  .otd-floating-sheet,
  .otd-popover-panel,
  [data-otd-modal-panel],
  [data-otd-floating-panel]
):has(.otd-product-method-grid) {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
  border-color: rgba(17,17,17,.10) !important;
  box-shadow: 0 26px 70px rgba(17,17,17,.16) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  opacity: 1 !important;
}


/* otDiary 1.9.88 — product creation is a solid-white exception to global glass. */
html body [data-otd-solid-create-host],
html body [data-otd-glass-surface]:has(.otd-solid-create-flow),
html body [data-otd-glass-surface]:has(.otd-product-method-shell),
html body :is(.otd-modal__dialog,.otd-floating-panel,.otd-floating-sheet,.otd-popover-panel,[data-otd-modal-panel],[data-otd-floating-panel]):has(.otd-solid-create-flow),
html body :is(.otd-modal__dialog,.otd-floating-panel,.otd-floating-sheet,.otd-popover-panel,[data-otd-modal-panel],[data-otd-floating-panel]):has(.otd-product-method-shell) {
  background:#fff !important;
  background-color:#fff !important;
  background-image:none !important;
  color:#111 !important;
  border-color:#e1e1e1 !important;
  outline-color:transparent !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
  opacity:1 !important;
}
html body [data-otd-solid-create-host]::before,
html body [data-otd-glass-surface]:has(.otd-solid-create-flow)::before,
html body [data-otd-glass-surface]:has(.otd-product-method-shell)::before {
  content:none !important;
  display:none !important;
}


/* ========================================================================== */
/* otDiary 1.10.2 — Messages route + native-style unread indicator.          */
/* Messages itself is provided by the independent otDiary Messages plugin.   */
/* The theme owns the global floating navigation and route chrome only.       */
/* ========================================================================== */
.otd-floating-nav__link--messages {
  position: relative;
}
.otd-floating-nav__link--messages .otd-message-bubble-shape {
  fill: none;
  stroke: currentColor;
}
.otd-floating-nav__link--messages .otd-message-bubble-dot {
  fill: currentColor;
  stroke: none;
}
.otd-floating-nav__link--messages.is-active .otd-message-bubble-shape {
  fill: currentColor;
  stroke: currentColor;
}
.otd-floating-nav__link--messages.is-active .otd-message-bubble-dot {
  fill: #fff;
}
.otd-floating-nav__unread {
  position: absolute;
  z-index: 2;
  width: 8px;
  height: 8px;
  border: 1.5px solid rgba(255,255,255,.98);
  border-radius: 50%;
  background: #ff1f1f;
  box-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.otd-floating-nav__unread[hidden] {
  display: none !important;
}
@media (min-width: 621px) {
  .otd-floating-nav__link--messages .otd-floating-nav__unread {
    top: 13px;
    left: calc(50% - 34px);
  }
}
@media (max-width: 620px) {
  .otd-floating-nav__link--messages .otd-floating-nav__unread {
    top: 8px;
    left: calc(50% + 8px);
  }
  body.otd-messages-route .otd-mobile-route-title {
    display: none !important;
  }
}


/* otDiary 1.10.35 — Discover ownership reconciliation.
 * page-discover.php delegates the route to otDiary Discover — Brand Radar when
 * that plugin is active. Do not suppress the owner's search launcher/modal. */
html.otd-discover-route-html,
body.otd-discover-route,
body.otd-discover-route.otd-discover-search-open,
body.otd-discover-route.otd-discover-search-mounted{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  position:static!important;
}
body.otd-discover-route .otd-main{padding-top:0!important;min-height:100vh;background:#fff}
body.otd-discover-route .otd-site-footer{display:none!important}
@media(max-width:620px){
 body.otd-discover-route .otd-floating-brand{display:block!important;top:24px!important;left:16px!important;width:56px!important;z-index:130!important}
 body.otd-discover-route .otd-main h1:first-of-type{display:block!important}
}


/* 1.10.10 — refreshed primary navigation icon set */
.otd-floating-nav__link svg{stroke-width:1.7}
.otd-floating-nav__link--messages .otd-message-bubble-shape{fill:none;stroke:currentColor}
.otd-floating-nav__link--messages .otd-message-bubble-dot{fill:currentColor;stroke:none}
.otd-floating-nav__link--messages.is-active .otd-message-bubble-shape{fill:currentColor;stroke:currentColor}
.otd-floating-nav__link--messages.is-active .otd-message-bubble-dot{fill:#fff;stroke:none}


/* ========================================================================== */
/* otDiary 1.10.11 — compact editorial mobile front page.                    */
/* Mobile-only: keeps existing imagery/content, reduces visual height,        */
/* moves application choices into Join, and compacts the guest dock.          */
/* ========================================================================== */
.otd-floating-join-shell {
  pointer-events: none;
  position: relative;
  z-index: 132;
}
.otd-floating-join-shell > .otd-floating-join,
.otd-floating-join-shell > .otd-floating-join-menu {
  pointer-events: auto;
}
.otd-floating-join-menu {
  display: none;
}

@media (max-width: 720px) {
  body.home .otd-home-hero {
    min-height: 0;
    grid-template-columns: minmax(0,1fr);
  }
  body.home .otd-home-copy {
    padding: calc(var(--otd-safe-top, 0px) + 102px) 20px 28px;
  }
  body.home .otd-home-copy .otd-kicker {
    font-size: 9.5px;
    letter-spacing: .095em;
  }
  body.home .otd-home-copy h1,
  body.home .otd-mobile-front-hero-title {
    max-width: 5.4ch;
    margin: 16px 0 17px;
    font-size: clamp(46px, 14.8vw, 66px) !important;
    line-height: .86 !important;
    letter-spacing: -.052em !important;
  }
  body.home .otd-home-copy p,
  body.home .otd-mobile-front-hero-intro {
    max-width: 31ch;
    margin: 0;
    font-size: clamp(13px, 3.8vw, 15px) !important;
    line-height: 1.42 !important;
    letter-spacing: -.012em;
  }
  body.home .otd-home-actions,
  body.home [data-otd-front-application-actions],
  body.home .otd-mobile-front-apply-action {
    display: none !important;
  }
  body.home .otd-home-visual {
    min-height: min(64svh, 620px);
  }

  /* When the current front page supplies a multi-image presentation, the
     runtime marks its existing media container. Keep the exact images but
     present them as large snap panels instead of a compressed two-column grid. */
  body.home .otd-mobile-front-media {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body.home .otd-mobile-front-media::-webkit-scrollbar { display: none; }
  body.home .otd-mobile-front-media > .otd-mobile-front-media-item {
    flex: 0 0 min(82vw, 430px) !important;
    width: min(82vw, 430px) !important;
    max-width: none !important;
    scroll-snap-align: center;
  }
  body.home .otd-mobile-front-media > .otd-mobile-front-media-item img,
  body.home .otd-mobile-front-media > .otd-mobile-front-media-item picture,
  body.home .otd-mobile-front-media > .otd-mobile-front-media-item video {
    width: 100% !important;
    height: 100% !important;
    min-height: 52svh;
    max-height: 70svh;
    object-fit: cover;
  }

  /* Join becomes the only mobile application entry point. */
  .otd-floating-join-shell.is-front-page .otd-floating-join {
    min-height: 46px !important;
    padding-inline: 17px !important;
    font-size: 12.5px !important;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu {
    position: fixed;
    top: calc(var(--otd-safe-top, 0px) + 70px);
    right: max(14px, calc(var(--otd-safe-right, 0px) + 12px));
    z-index: 145;
    width: min(248px, calc(100vw - 28px));
    display: grid;
    gap: 5px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 22px;
    background: rgba(31,31,31,.82);
    color: #fff;
    box-shadow: 0 18px 46px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.16);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
    backdrop-filter: blur(22px) saturate(140%);
    transform-origin: top right;
    transition: opacity .16s ease, transform .18s cubic-bezier(.2,.8,.2,1);
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu[hidden] {
    display: none !important;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 15px;
    border-radius: 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.018em;
    text-decoration: none;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a:hover,
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a:focus-visible {
    background: rgba(255,255,255,.13);
    outline: none;
  }

  /* Public/guest dock: same destinations, less vertical visual weight. */
  .otd-floating-nav.is-guest-nav {
    height: 56px !important;
    padding: 4px !important;
    border-radius: 18px !important;
    gap: 3px !important;
  }
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link {
    min-height: 48px !important;
    gap: 2px !important;
    padding: 3px 2px !important;
    border-radius: 14px !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link svg {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }
  body:not(.otd-app-route) {
    padding-bottom: 88px;
  }
}

@media (max-width: 390px) {
  body.home .otd-home-copy {
    padding-right: 18px;
    padding-left: 18px;
  }
  body.home .otd-home-copy h1,
  body.home .otd-mobile-front-hero-title {
    font-size: clamp(43px, 14.2vw, 58px) !important;
  }
  body.home .otd-home-copy p,
  body.home .otd-mobile-front-hero-intro {
    max-width: 29ch;
    font-size: 13px !important;
  }
}


/* ========================================================================== */
/* otDiary 1.10.12 — canonical mobile Join menu.                              */
/* The front-page Apply CTAs are desktop-only. On phones Join is the only     */
/* visible entry point and opens an overlay with three explicit destinations. */
/* ========================================================================== */
@media (max-width: 720px) {
  /* Hide every inline front-page application CTA, regardless of WP body
     classes or cached markup from earlier front-page templates. */
  .otd-home-hero .otd-home-actions,
  .otd-home-hero [data-otd-front-application-actions],
  .otd-home-hero .otd-mobile-front-apply-action,
  .otd-home-hero a.otd-btn[href*="/join/"],
  .otd-home-hero a.otd-btn[href*="/brand/apply/"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .otd-floating-join-shell.is-front-page {
    z-index: 170 !important;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join {
    position: relative;
    z-index: 172;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 68px) !important;
    right: max(12px, calc(env(safe-area-inset-right, 0px) + 12px)) !important;
    width: min(226px, calc(100vw - 24px)) !important;
    display: grid !important;
    gap: 3px !important;
    padding: 6px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    border-radius: 20px !important;
    background: rgba(42,42,42,.76) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18) !important;
    -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
    backdrop-filter: blur(22px) saturate(145%) !important;
    overflow: hidden;
    transform-origin: top right;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu[hidden] {
    display: none !important;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a {
    width: 100%;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 13px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    letter-spacing: -.015em !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a + a {
    border-top: 1px solid rgba(255,255,255,.09);
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a:hover,
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a:focus-visible,
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu a:active {
    background: rgba(255,255,255,.10) !important;
    outline: none !important;
  }
  .otd-floating-join-shell.is-front-page .otd-floating-join-menu__join {
    background: rgba(255,255,255,.11) !important;
  }
}

/* ========================================================================== */
/* otDiary 1.10.13 — isolated front-page mobile chrome.                       */
/* Join + guest dock disappear while advancing down the page and return on    */
/* reverse/up scroll. The logo remains visible; only the requested controls   */
/* participate in the full-screen effect.                                     */
/* ========================================================================== */
@media (max-width: 720px) {
  .otd-public-floating-ui.has-frontpage-chrome-motion .otd-floating-join-shell.is-front-page > .otd-floating-join,
  .otd-public-floating-ui.has-frontpage-chrome-motion .otd-floating-nav.is-guest-nav {
    transition:
      transform .24s cubic-bezier(.2,.78,.2,1),
      opacity .18s ease,
      visibility .18s ease !important;
    will-change: transform, opacity;
  }

  .otd-public-floating-ui.has-frontpage-chrome-motion.is-frontpage-chrome-hidden .otd-floating-join-shell.is-front-page > .otd-floating-join {
    transform: translate3d(0, calc(-100% - 34px), 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .otd-public-floating-ui.has-frontpage-chrome-motion.is-frontpage-chrome-hidden .otd-floating-join-shell.is-front-page > .otd-floating-join-menu {
    display: none !important;
  }

  .otd-public-floating-ui.has-frontpage-chrome-motion.is-frontpage-chrome-hidden .otd-floating-nav.is-guest-nav {
    transform: translate3d(0, calc(100% + 36px), 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* The menu is a true overlay and never occupies front-page layout space. */
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu {
    position: fixed !important;
    z-index: 190 !important;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 720px) {
  .otd-public-floating-ui.has-frontpage-chrome-motion .otd-floating-join-shell.is-front-page > .otd-floating-join,
  .otd-public-floating-ui.has-frontpage-chrome-motion .otd-floating-nav.is-guest-nav {
    transition: opacity .01ms linear !important;
  }
}


/* ========================================================================== */
/* otDiary 1.10.14 — guest dock geometry matches the in-app mobile dock.      */
/* Same 68px shell, 52px destinations, 28px icons and 72×48 travelling oval. */
/* ========================================================================== */
@media (max-width: 767px) {
  .otd-floating-nav.is-guest-nav {
    --otd-guest-dock-height: 68px;
    --otd-guest-dock-item-height: 52px;
    --otd-guest-dock-icon-size: 28px;
    --otd-guest-dock-indicator-width: 72px;
    --otd-guest-dock-indicator-height: 48px;
    box-sizing: border-box !important;
    isolation: isolate !important;
    overflow: visible !important;
    height: var(--otd-guest-dock-height) !important;
    min-height: var(--otd-guest-dock-height) !important;
    max-height: var(--otd-guest-dock-height) !important;
    padding: 7px 10px !important;
    gap: 0 !important;
    border-radius: 34px !important;
    align-items: center !important;
  }

  .otd-floating-nav.is-guest-nav .otd-floating-nav__link {
    position: relative !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
    display: grid !important;
    place-items: center !important;
    min-width: 0 !important;
    height: var(--otd-guest-dock-item-height) !important;
    min-height: var(--otd-guest-dock-item-height) !important;
    max-height: var(--otd-guest-dock-item-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 26px !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: rgba(255,255,255,.88) !important;
    opacity: .82 !important;
    transform: none !important;
    transition: color .22s cubic-bezier(.2,.8,.2,1), opacity .20s ease !important;
  }

  .otd-floating-nav.is-guest-nav .otd-floating-nav__link:hover,
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link:focus-visible,
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link.is-active,
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link[aria-current="page"] {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .otd-floating-nav.is-guest-nav .otd-floating-nav__link.is-active,
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link[aria-current="page"] {
    color: #111 !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  .otd-floating-nav.is-guest-nav .otd-floating-nav__link span {
    display: none !important;
  }

  .otd-floating-nav.is-guest-nav .otd-floating-nav__link svg {
    display: block !important;
    width: var(--otd-guest-dock-icon-size) !important;
    height: var(--otd-guest-dock-icon-size) !important;
    min-width: var(--otd-guest-dock-icon-size) !important;
    min-height: var(--otd-guest-dock-icon-size) !important;
    max-width: var(--otd-guest-dock-icon-size) !important;
    max-height: var(--otd-guest-dock-icon-size) !important;
    flex: 0 0 var(--otd-guest-dock-icon-size) !important;
    margin: 0 !important;
    color: inherit !important;
    stroke: currentColor !important;
    transition: color .22s cubic-bezier(.2,.8,.2,1), stroke .22s cubic-bezier(.2,.8,.2,1), fill .22s cubic-bezier(.2,.8,.2,1) !important;
  }

  .otd-floating-nav.is-guest-nav .otd-floating-nav__link svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
  }
  .otd-floating-nav.is-guest-nav .otd-floating-nav__link svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
  }

  .otd-guest-nav__indicator {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: var(--otd-guest-dock-indicator-width) !important;
    min-width: var(--otd-guest-dock-indicator-width) !important;
    max-width: var(--otd-guest-dock-indicator-width) !important;
    height: var(--otd-guest-dock-indicator-height) !important;
    min-height: var(--otd-guest-dock-indicator-height) !important;
    max-height: var(--otd-guest-dock-indicator-height) !important;
    border-radius: 999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    will-change: transform !important;
    transition: transform .22s cubic-bezier(.2,.8,.2,1), opacity .14s ease !important;
  }
  .otd-guest-nav__indicator.is-visible { opacity: 1 !important; }
  .otd-guest-nav__indicator-inner {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: radial-gradient(circle at 50% 8%, rgba(255,255,255,.20), rgba(255,255,255,.11) 58%, rgba(255,255,255,.07) 100%) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(0,0,0,.025), 0 4px 16px rgba(0,0,0,.07) !important;
    -webkit-backdrop-filter: blur(18px) saturate(150%) brightness(1.05) !important;
    backdrop-filter: blur(18px) saturate(150%) brightness(1.05) !important;
  }

  body:not(.otd-app-route) { padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
}

/* 1.10.17 — acquisition controls are guest-only. Server-side rendering is authoritative; this is a stale-cache safety net. */
body.logged-in .otd-home-actions,
body.logged-in .otd-floating-join-shell,
body.logged-in .otd-floating-join,
body.logged-in .otd-floating-join-menu,
body.logged-in [data-otd-front-application-actions] {
  display: none !important;
}


/* ========================================================================== */
/* otDiary 1.10.61 — unified front-page Join access on every screen size.     */
/* Theme owns the global guest Join shell; Front Page Motion keeps landing     */
/* content ownership. Application/login destinations are consolidated here.    */
/* ========================================================================== */
body.home .otd-home-hero a.otd-btn[href*="/join/"],
body.home .otd-home-hero a.otd-btn[href*="/brand/apply/"],
body.home [data-otd-front-application-actions] a[href*="/join/"],
body.home [data-otd-front-application-actions] a[href*="/brand/apply/"] {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (min-width:721px) {
  .otd-floating-join-shell.is-front-page {
    z-index:170!important;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join {
    position:relative;
    z-index:172;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu {
    position:absolute!important;
    top:calc(100% + 12px)!important;
    right:0!important;
    width:244px!important;
    display:grid!important;
    gap:4px!important;
    padding:7px!important;
    border:1px solid var(--otd-glass-border,rgba(255,255,255,.28))!important;
    border-radius:20px!important;
    background:var(--otd-glass-bg-deep,rgba(42,42,42,.76))!important;
    color:#fff!important;
    box-shadow:var(--otd-glass-shadow,0 18px 44px rgba(0,0,0,.22))!important;
    -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
    backdrop-filter:blur(22px) saturate(145%)!important;
    overflow:hidden!important;
    transform-origin:top right;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu[hidden] {
    display:none!important;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu a {
    width:100%!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 14px!important;
    margin:0!important;
    border:0!important;
    border-radius:14px!important;
    background:transparent!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:650!important;
    line-height:1!important;
    letter-spacing:-.015em!important;
    text-decoration:none!important;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu a + a {
    border-top:1px solid rgba(255,255,255,.09)!important;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu a:hover,
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu a:focus-visible {
    background:rgba(255,255,255,.11)!important;
    outline:none!important;
  }
  .otd-floating-join-shell.is-front-page > .otd-floating-join-menu__join {
    background:rgba(255,255,255,.10)!important;
  }
}

/* ========================================================================== */
/* 1.10.63 — clean authenticated route chrome                                */
/* Discover and Messages own their page content; Theme must not place a       */
/* floating OT brand/logo in their upper-left content area.                   */
/* ========================================================================== */
body.otd-discover-route .otd-floating-brand,
body.page-discover .otd-floating-brand,
body.otd-messages-route .otd-floating-brand,
body.page-messages .otd-floating-brand {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

