/* Ricette Account — refreshed Apple-inspired profile layout */
.rica-app,
.rica-app * { box-sizing: border-box; }

.rica-app {
  --rica-ink: #2f2923;
  --rica-brand: #815e49;
  --rica-brand-dark: #694835;
  --rica-brand-soft: #f1ebe5;
  --rica-surface: #faf8f5;
  --rica-surface-2: #f5f0ea;
  --rica-card: #ffffff;
  --rica-border: #e6dfd7;
  --rica-border-strong: #d8cec4;
  --rica-muted: #756b63;
  --rica-shadow: 0 12px 44px rgba(45, 28, 16, 0.08);
  color: var(--rica-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.85), rgba(255,255,255,0) 33%),
    linear-gradient(180deg, #fbf8f4 0%, #f6f1eb 100%);
  border-radius: 28px;
  min-height: 78vh;
  padding: 44px 26px;
}

.rica-container {
  max-width: 1440px;
  margin: 0 auto;
}

.rica-hero {
  text-align: center;
  margin: 10px auto 34px;
  max-width: 760px;
}

.rica-avatar-default {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 17px;
  width: 92px;
  height: 92px;
  border-radius: 30px;
  background: linear-gradient(145deg, #f6f0ea, #e5d7c9);
  color: #88624d;
  box-shadow: 0 7px 26px rgba(101, 74, 47, 0.12);
  overflow: hidden;
  flex-shrink: 0;
}

.rica-avatar-default svg { width: 48px; height: 48px; }
.rica-avatar-default img,
.rica-avatar-img { width: 100%; height: 100%; object-fit: cover; }

.rica-eyebrow {
  font-size: 11px !important;
  letter-spacing: .15em;
  color: #8b6a53;
  font-weight: 760;
  text-transform: uppercase;
}

.rica-hero h1,
.rica-profile-banner-copy h1 {
  font-size: clamp(34px, 5vw, 54px) !important;
  line-height: 1.06;
  letter-spacing: -.05em;
  margin: 8px 0 12px !important;
  color: #2d2824;
}

.rica-hero > p,
.rica-profile-banner-copy p { margin: 10px 0; color: var(--rica-muted); }

.rica-auth-grid,
.rica-profile-grid,
.rica-dashboard-grid,
.rica-saved-grid,
.rica-profile-stats {
  display: grid;
  gap: 18px;
  align-items: start;
}

.rica-auth-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rica-profile-grid { grid-template-columns: 1.2fr .8fr; }

.rica-card {
  padding: 28px;
  background: var(--rica-card);
  border: 1px solid var(--rica-border);
  border-radius: 28px;
  box-shadow: var(--rica-shadow);
}

.rica-card h2 {
  margin: 0 0 7px !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  letter-spacing: -.03em;
}

.rica-card h3 {
  font-size: 17px;
  margin: 28px 0 12px;
  letter-spacing: -.01em;
}

.rica-card > p,
.rica-card .rica-section-copy { color: var(--rica-muted); font-size: 14px; margin: 0 0 22px; }

.rica-form { display: grid; gap: 13px; margin: 16px 0; }

.rica-label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 650;
  color: #44352b;
}

.rica-app input:not([type=file]):not([type=radio]):not([type=checkbox]) {
  width: 100%;
  min-height: 50px;
  padding: 11px 15px;
  border: 1px solid #ded8d1;
  border-radius: 14px;
  background: #fff;
  color: #29241e;
  font-size: 16px;
  box-shadow: none;
  outline-offset: 2px;
}

.rica-app input[type=file] { max-width: 100%; }

.rica-app input:focus-visible,
.rica-app button:focus-visible,
.rica-app a:focus-visible,
.rica-app summary:focus-visible {
  outline: 3px solid #c1a590;
  outline-offset: 3px;
}

.rica-submit,
.rica-ghost,
.rica-logout,
.rica-plain-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-decoration: none !important;
  min-height: 50px;
  padding: 11px 18px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 700;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.rica-submit {
  background: var(--rica-brand);
  color: #fff;
  border: 1px solid var(--rica-brand);
  cursor: pointer;
}
.rica-submit:hover { background: var(--rica-brand-dark); border-color: var(--rica-brand-dark); }

.rica-ghost,
.rica-plain-link,
.rica-logout {
  background: #fff;
  color: var(--rica-ink) !important;
  border: 1px solid var(--rica-border);
}
.rica-ghost:hover,
.rica-plain-link:hover,
.rica-logout:hover {
  background: var(--rica-surface-2);
  border-color: var(--rica-border-strong);
}

.rica-or {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #968b81;
  font-size: 12px;
  margin: 22px 0 13px;
}
.rica-or::before,
.rica-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e9e5e0;
}

.rica-tiny,
.rica-privacy,
.rica-help {
  font-size: 12px !important;
  line-height: 1.6;
  color: #766f69;
  margin: 8px 0 0;
}

.rica-app a { color: #73513b; }
.rica-privacy { text-align: center; margin: 20px 0; }

.rica-resend {
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid #e4dcd5;
  border-radius: 16px;
  background: #fff;
}
.rica-resend summary { cursor: pointer; font-weight: 650; font-size: 13px; }
.rica-card .rica-resend { margin-top: 20px; }

.rica-message {
  max-width: 920px;
  margin: 0 auto 22px;
  background: #fff3e9;
  border: 1px solid #e1c5ac;
  border-radius: 16px;
  padding: 13px 16px;
  color: #633f22;
}

/* Profile dashboard */
.rica-profile-shell { display: grid; gap: 22px; }

.rica-profile-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 22px;
  padding: 34px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.85), rgba(255,255,255,0) 28%),
    linear-gradient(135deg, #f7f1ea 0%, #efe5d9 100%);
}

.rica-profile-banner-main {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.rica-profile-banner .rica-avatar-default {
  margin: 0;
  width: 110px;
  height: 110px;
  border-radius: 34px;
}

.rica-profile-banner-copy { min-width: 0; }
.rica-profile-banner-copy p:last-child { margin-bottom: 0; }

.rica-profile-actions {
  display: grid;
  align-content: space-between;
  gap: 14px;
}

.rica-profile-actions-box {
  display: grid;
  gap: 11px;
  padding: 18px;
  min-height: 100%;
  border-radius: 22px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(214, 202, 191, .8);
}

.rica-profile-actions-box strong {
  font-size: 16px;
  letter-spacing: -.015em;
}

.rica-profile-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.rica-profile-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rica-stat {
  position: relative;
  overflow: hidden;
  padding: 24px;
}

.rica-stat::after {
  content: "";
  position: absolute;
  right: -22px;
  top: -22px;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(129, 94, 73, 0.06);
}

.rica-stat-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8f7a69;
  margin-bottom: 10px;
}

.rica-stat-value {
  display: block;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.05em;
  color: #2b251f;
  font-weight: 760;
}

.rica-stat-note {
  margin-top: 10px;
  font-size: 13px;
  color: var(--rica-muted);
}

.rica-dashboard-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, .85fr);
  gap: 22px;
}

.rica-dashboard-main,
.rica-dashboard-side { min-width: 0; }
.rica-dashboard-side { display: grid; gap: 22px; }

.rica-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.rica-section-head p { margin: 0; color: var(--rica-muted); font-size: 14px; }
.rica-favorites-panel .rica-favorites { min-height: 145px; margin-top: 4px; }
.rica-favorites > p { font-size: 14px; color: #74675c; }

.rica-saved-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.rica-saved-item {
  border: 1px solid #ebe4dd;
  border-radius: 20px;
  overflow: hidden;
  padding-bottom: 12px;
  background: #fff;
}

.rica-saved-link {
  display: grid;
  gap: 9px;
  text-decoration: none !important;
  color: #2e2b28 !important;
  font-size: 14px;
}

.rica-saved-link img {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.rica-saved-link strong {
  padding: 0 12px;
  line-height: 1.35;
  font-size: 15px;
}

.rica-remove-fav {
  display: block;
  padding: 3px 12px;
  margin-top: 7px;
  border: 0;
  background: none;
  color: #885a45;
  text-decoration: underline;
  cursor: pointer;
  font-size: 12px;
}

.rica-linked { display: grid; gap: 12px; }

.rica-linked > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #eee5dd;
  border-radius: 16px;
  font-size: 14px;
  background: #fcfaf8;
}

.rica-linked strong {
  font-size: 12px;
  color: #4d8263;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rica-account-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(214, 202, 191, .9);
  font-size: 12px;
  font-weight: 700;
  color: #6d5848;
}

.rica-account-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.rica-account-row {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid #ede5dc;
  border-radius: 16px;
  background: #fcfaf8;
}

.rica-account-row span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #95857a;
  font-weight: 700;
}

.rica-account-row strong,
.rica-account-row b {
  font-size: 15px;
  color: #2e2823;
  letter-spacing: -.01em;
  word-break: break-word;
}

/* Header replacement */
.rica-header-account {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none !important;
}

.rica-header-account-label { white-space: nowrap; }
.ric-mobile-saved.rica-header-account { justify-content: flex-start !important; min-height: 50px; }
.ric-mobile-saved.rica-header-account svg { width: 23px !important; height: 23px !important; }
.ric-favorites.rica-header-account svg { width: 19px !important; height: 19px !important; stroke: currentColor !important; fill: none !important; }
.ric-favorites.rica-header-account { color: #fff !important; }
.ric-favorites.rica-header-account:hover { color: #fff !important; }

@media (max-width: 1080px) {
  .rica-app { padding: 32px 18px; border-radius: 22px; }
  .rica-profile-banner,
  .rica-dashboard-grid,
  .rica-profile-grid,
  .rica-auth-grid,
  .rica-profile-stats { grid-template-columns: 1fr; }
  .rica-profile-actions { align-content: start; }
}

@media (max-width: 760px) {
  .rica-app { padding: 22px 12px; border-radius: 18px; }
  .rica-card,
  .rica-profile-banner { padding: 22px; border-radius: 22px; }
  .rica-profile-banner-main {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .rica-profile-banner .rica-avatar-default {
    width: 92px;
    height: 92px;
    border-radius: 28px;
  }
  .rica-profile-stats { grid-template-columns: 1fr; }
  .rica-saved-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rica-section-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  .rica-auth-grid,
  .rica-profile-grid,
  .rica-dashboard-grid,
  .rica-saved-grid { grid-template-columns: 1fr; }
  .rica-profile-actions-grid { display: grid; }
}

@media (max-width: 600px) {
  #ric-header .ric-favorites.rica-header-account { padding: 0 !important; width: 44px !important; }
  #ric-header .ric-favorites.rica-header-account .rica-header-account-label { display: none !important; }
}

@media (max-width: 360px) {
  .rica-card,
  .rica-profile-banner { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .rica-app * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Account 1.0.2 — full-width photographic dashboard and food preferences. */
.rica-app--profile {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 26px clamp(15px, 2.5vw, 50px) 72px;
  min-height: 100vh;
  border-radius: 0;
  overflow-x: clip;
}
.rica-app--profile .rica-container { max-width: 1620px; }
.rica-app--profile [id^="rica-"] { scroll-margin-top: 96px; }
.rica-app--profile .rica-profile-shell { gap: 22px; }
.rica-profile-banner.rica-profile-banner--photo {
  display: block;
  overflow: hidden;
  padding: 0;
  background: #fff;
}
.rica-cover-photo {
  position: relative;
  height: clamp(210px, 20vw, 325px);
  min-height: 210px;
  overflow: hidden;
  background: #77523b;
}
.rica-cover-photo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.rica-cover-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(34,25,19,.43), transparent 45%, rgba(34,25,19,.19));
}
.rica-cover-photo-top {
  position: absolute;
  z-index: 2;
  inset: 24px 26px auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.rica-cover-photo-top > span {
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,.5);
  font-size: 11px;
  font-weight: 770;
  letter-spacing: .16em;
}
.rica-cover-change {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 17px;
  min-height: 44px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.7);
  text-decoration: none !important;
  color: #32281f !important;
  font-weight: 720;
  font-size: 13px;
  box-shadow: 0 8px 28px rgba(20,12,5,.16);
  white-space: nowrap;
}
.rica-cover-change:hover { background: #fff; }
.rica-profile-banner-content {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(290px,.7fr);
  gap: 22px;
  align-items: end;
  padding: 0 32px 30px;
}
.rica-profile-banner--photo .rica-profile-banner-main {
  align-items: flex-end;
  gap: 23px;
  min-width: 0;
}
.rica-profile-banner--photo .rica-avatar-default {
  width: 114px;
  height: 114px;
  border-radius: 38px;
  border: 5px solid #fff;
  position: relative;
  z-index: 3;
  margin: -57px 0 0;
  box-shadow: 0 12px 32px rgba(63,45,31,.2);
}
.rica-profile-banner--photo .rica-profile-banner-copy { padding-top: 20px; }
.rica-profile-banner--photo .rica-profile-banner-copy h1 {
  font-size: clamp(32px,3.5vw,53px) !important;
  margin-bottom: 7px !important;
}
.rica-profile-banner--photo .rica-profile-banner-copy h1 span {
  font-size: .65em;
  vertical-align: middle;
}
.rica-profile-banner--photo .rica-profile-actions-box {
  padding: 18px 20px;
  min-height: 0;
  gap: 9px;
  background: #f9f6f2;
}
.rica-profile-banner--photo .rica-profile-actions-grid { gap: 9px; }
.rica-profile-banner--photo .rica-profile-actions-grid a { flex: 1; }
.rica-profile-banner--photo .rica-profile-actions-box > .rica-logout {
  justify-self: start;
  min-height: 30px;
  padding: 0 3px;
  background: transparent;
  border: 0;
  color: #8a6650 !important;
  font-size: 12px;
}
.rica-profile-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: -1px;
}
.rica-profile-nav a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 11px 17px;
  min-height: 44px;
  border: 1px solid var(--rica-border);
  border-radius: 999px;
  color: #554235 !important;
  background: #fff;
  box-shadow: 0 4px 14px rgba(45, 28, 16, .03);
  font-size: 13px;
  font-weight: 680;
  text-decoration: none !important;
}
.rica-profile-nav a:hover { border-color: #ad8b74; background: #f8f2ed; }
.rica-app--profile .rica-dashboard-main { display: grid; gap: 22px; }
.rica-app--profile .rica-profile-stats { gap: 16px; }
.rica-stat-value--status { font-size: clamp(24px,3vw,32px); color: #537354; }
.rica-section-kicker {
  font-size: 10px !important;
  color: #7b9474 !important;
  font-weight: 800;
  letter-spacing: .16em;
  margin: 0 0 8px !important;
}
.rica-preferences-card {
  background: linear-gradient(135deg,#fff 50%,#f9fcf6 100%);
}
.rica-private-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #476c4c;
  background: #f1f8ef;
  border: 1px solid #dde9dc;
  white-space: nowrap;
}
.rica-food-summary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin: 18px 0;
}
.rica-food-summary-group {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 17px;
  min-width: 0;
  border-radius: 18px;
  background: #f8faf6;
  border: 1px solid #e5eae0;
}
.rica-food-summary-group > span:last-child { min-width: 0; }
.rica-food-summary-icon {
  width: 43px;
  height: 43px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  border-radius: 14px;
  background: #eef4ed;
}
.rica-food-summary-group b,
.rica-food-summary-group small { display: block; }
.rica-food-summary-group b { font-size: 13px; color: #374536; }
.rica-food-summary-group small {
  font-size: 12px;
  margin-top: 3px;
  line-height: 1.35;
  color: #6d7968;
  overflow-wrap: anywhere;
}
.rica-food-editor { margin-top: 14px; }
.rica-food-edit-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  list-style: none;
  cursor: pointer;
  border: 1px solid #d6e1d3;
  border-radius: 15px;
  padding: 12px 17px;
  font-weight: 740;
  background: #edf5ea;
  color: #355e38;
}
.rica-food-edit-trigger::-webkit-details-marker { display:none; }
.rica-food-edit-trigger > span { font-size: 22px; transition: transform .18s ease; line-height: 1; }
.rica-food-editor[open] .rica-food-edit-trigger > span { transform: rotate(180deg); }
.rica-preferences-form { gap: 20px; margin-top: 20px; }
.rica-food-fieldset {
  margin: 0;
  padding: 16px;
  min-width: 0;
  border: 1px solid #e5e5dc;
  border-radius: 18px;
  background: #fff;
}
.rica-food-fieldset legend {
  margin-left: 2px;
  padding: 0 8px;
  color: #374c39;
  font-size: 16px;
  font-weight: 760;
}
.rica-food-help {
  margin: 0 0 14px !important;
  color: #687266 !important;
  font-size: 12px !important;
  line-height: 1.5;
}
.rica-choice-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}
.rica-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 47px;
  padding: 10px 12px;
  border-radius: 13px;
  background: #fcfdfb;
  border: 1px solid #e5eae2;
  color: #424941;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.rica-choice:has(input:checked) {
  border-color: #84ab86;
  background: #edf6eb;
  color: #2e5132;
}
.rica-choice input {
  flex: 0 0 auto;
  height: 18px;
  width: 18px;
  margin: 0;
  accent-color: #54805b;
}
.rica-choice > span { min-width: 0; overflow-wrap:anywhere; }
.rica-food-avoid-label {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 750;
  color: #374b38;
}
.rica-food-avoid-label > span { font-size: 12px; font-weight: 450; color: #899284; }
.rica-app .rica-preferences-form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 96px;
  border: 1px solid #dae4d7;
  border-radius: 15px;
  background: #fff;
  padding: 12px 14px;
  color: #282f25;
  font: 400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.rica-app .rica-preferences-form textarea:focus-visible { outline:3px solid #a9c8a8; outline-offset:2px; }
.rica-preferences-form > .rica-submit { justify-self: start; }
.rica-food-clear { display: flex; justify-content: flex-end; }
.rica-app .rica-text-button {
  padding: 8px 0;
  color: #956753;
  border: 0;
  background: none;
  text-decoration: underline;
  cursor: pointer;
  font: 600 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.rica-food-disclaimer {
  margin: 16px 0 0 !important;
  color: #647162 !important;
  font-size: 12px !important;
  line-height: 1.5;
}
.rica-cover-reset {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #6d5a4b;
  font-size: 13px;
  cursor: pointer;
}
.rica-cover-reset input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #815e49; }

@media (max-width: 1100px) {
  .rica-profile-banner-content { grid-template-columns: 1fr; gap: 18px; }
  .rica-profile-banner--photo .rica-profile-actions-box { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
  .rica-profile-banner--photo .rica-profile-actions-box > .rica-logout { min-height: 38px; }
}
@media (max-width: 760px) {
  .rica-app--profile { padding: 14px 12px 44px; }
  .rica-cover-photo { height: 230px; }
  .rica-cover-photo-top { inset: 15px 15px auto; }
  .rica-cover-photo-top > span { display: none; }
  .rica-cover-photo-top { justify-content:flex-end; }
  .rica-profile-banner-content { padding: 0 22px 22px; }
  .rica-profile-banner--photo .rica-profile-banner-main { flex-direction: column; align-items: flex-start; gap: 7px; }
  .rica-profile-banner--photo .rica-avatar-default { margin-top: -51px; width: 100px; height: 100px; }
  .rica-profile-banner--photo .rica-profile-banner-copy { padding-top: 5px; }
  .rica-profile-banner--photo .rica-profile-banner-copy h1 { font-size:clamp(28px,7vw,39px)!important; }
  .rica-profile-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: 8px; }
  .rica-profile-nav a { padding: 10px 11px; text-align:center; font-size:12px; }
  .rica-private-badge { white-space:normal; }
  .rica-food-summary { grid-template-columns: 1fr; }
  .rica-choice-grid { grid-template-columns: 1fr; }
  .rica-profile-banner--photo .rica-profile-actions-box { display:grid; }
  .rica-profile-banner--photo .rica-profile-actions-grid { display:grid; }
}
@media (max-width: 380px) {
  .rica-app--profile { padding: 10px 8px 32px; }
  .rica-cover-photo { height: 195px; }
  .rica-cover-change { padding: 9px 12px; min-height: 42px; }
  .rica-food-fieldset { padding: 12px; }
  .rica-food-summary-group { padding: 12px; }
  .rica-profile-banner-content { padding:0 15px 18px; }
  .rica-profile-nav a { font-size: 11px; }
}
@media (prefers-reduced-motion:reduce) {
  .rica-food-edit-trigger > span { transition:none; }
}
/* The site's general anchor color must never hide primary CTA text. */
.rica-app a.rica-submit,
.rica-app a.rica-submit:visited { color: #fff !important; }
.rica-app a.rica-submit:hover { color: #fff !important; }
