/* PHOTO SHOOT readability pass
   Load after the existing room, experience, fitting-room, and admin styles.
   Typography only: no layout, spacing, imagery, or interaction changes. */
:root {
  --readable-ink: #493a30;
  --readable-muted: #625449;
  --readable-landing-muted: #53605a;
}

/* Welcome / invitation. Keep the display quote and image-overlay labels intact. */
body.rooms-welcome #welcomeClean p,
body.rooms-welcome #welcomeClean > div:not(#welcomeQuote):not(#welcomeLogo) {
  color: var(--readable-muted);
  font-size: 16px !important;
}

body.rooms-welcome #welcomeClean::before,
body.rooms-welcome #welcomeLogo,
body.rooms-welcome #welcomeSeat,
body.rooms-welcome #welcomeCard .welcomeDemo,
body.rooms-welcome #welcomeCard .welcomeSecondary,
body.rooms-welcome #welcomeCard [data-demo-secondary] {
  font-size: 14px !important;
}

/* Room shell, home/foyer, sidebar, room progress and footer navigation. */
body.rooms-ready #roomHint,
body.rooms-ready .roomNav::before,
body.rooms-ready .roomNavItem > span:last-child,
body.rooms-ready .roomHome,
body.rooms-ready .roomFooter #roomPosition,
body.rooms-ready #roomNext {
  font-size: 14px !important;
}

body.rooms-ready .roomNav::before,
body.rooms-ready #roomPosition,
body.rooms-ready #roomHint {
  color: var(--readable-muted);
}

body.rooms-ready .roomNavItem {
  color: var(--readable-muted);
}

body.rooms-ready #homeIntro,
body.rooms-ready #welcomeClean p,
body.rooms-ready .foyerCard p,
body.rooms-ready .journeyNote,
body.rooms-ready .homeProgress #homeProgressText,
body.rooms-ready #profileProgressText,
body.rooms-ready .journeySection p,
body.rooms-ready .journeyAccount p,
body.rooms-ready .journeyStatus,
body.rooms-ready .journeyEmpty,
body.rooms-ready .roomNotice,
body.rooms-ready .fieldFeedback {
  color: var(--readable-muted);
  font-size: 16px !important;
  line-height: 1.55;
}

body.rooms-ready .foyerCopy .eyebrow,
body.rooms-ready .homeProgress > :first-child,
body.rooms-ready .homeProgress button,
body.rooms-ready .journeyPrimary,
body.rooms-ready .journeySecondary,
body.rooms-ready .journeyNav a,
body.rooms-ready .journeyNav button,
body.rooms-ready .journeyLink,
body.rooms-ready .journeyInline .journeySecondary,
body.rooms-ready .journeyPill {
  font-size: 14px !important;
}

body.rooms-ready .foyerCard small {
  color: var(--readable-muted);
  font-size: 14px !important;
}

/* Profile, account, auth, privacy, forms, feedback and original journey controls. */
body.rooms-ready .journeyField,
body.rooms-ready .journeyField input,
body.rooms-ready .journeyField select,
body.rooms-ready .journeyField textarea,
body.rooms-ready .journeySection small,
body.rooms-ready .journeySection .eyebrow,
body.rooms-ready #profileProgress > .eyebrow,
body.rooms-ready .journeyMode button,
body.rooms-ready .profileDetails summary,
body.rooms-ready .profilePhotoSlot label,
body.rooms-ready .profilePhotoSlot button,
body.rooms-ready .journeyPrivacy summary,
body.rooms-ready .journeyPrivacy .journeySecondary,
body.rooms-ready .journeyAccountHead a,
body.rooms-ready .journeyAccountForm button,
body.rooms-ready .realShootChoice,
body.rooms-ready .gender,
body.rooms-ready .dropzone b,
body.rooms-ready .dropzone small,
body.rooms-ready .tab,
body.rooms-ready .choice,
body.rooms-ready .customwhere input,
body.rooms-ready .customwhere button,
body.rooms-ready .upload,
body.rooms-ready .demo,
body.rooms-ready .primary,
body.rooms-ready .secondary,
body.rooms-ready .mini button,
body.rooms-ready .actions button {
  font-size: 14px !important;
}

body.rooms-ready .journeyField,
body.rooms-ready .profilePhotoSlot label,
body.rooms-ready .profilePhotoSlot button,
body.rooms-ready .journeyPrivacy summary,
body.rooms-ready .journeyAccountHead a,
body.rooms-ready .dropzone,
body.rooms-ready .progressnote,
body.rooms-ready .renderStatus,
body.rooms-ready .lead,
body.rooms-ready .note,
body.rooms-ready .price,
body.rooms-ready .wearing {
  color: var(--readable-muted);
}

body.rooms-ready .journeyField input,
body.rooms-ready .journeyField select,
body.rooms-ready .journeyField textarea,
body.rooms-ready .customwhere input {
  color: var(--readable-ink);
}

body.rooms-ready .journeyDemoResult small,
body.rooms-ready .selectedRefsTitle,
body.rooms-ready .selectedRef strong,
body.rooms-ready .selectedRef span,
body.rooms-ready .demoChoiceTitle,
body.rooms-ready .demoChoiceRow span,
body.rooms-ready .demoChoiceFoot,
body.rooms-ready .demo-preloaded-note{
  font-size: 14px !important;
}

body.rooms-ready .journeySection small,
body.rooms-ready .journeyNote,
body.rooms-ready .journeyStatus,
body.rooms-ready .journeyCard p,
body.rooms-ready .journeyEmpty,
body.rooms-ready .journeyPrivacy,
body.rooms-ready .journeyDemoResult small,
body.rooms-ready .selectedRef span,
body.rooms-ready .demo-preloaded-note{
  color: var(--readable-muted);
}

/* Shopper, rack, product placement and saved-look descriptions. */
body.rooms-ready .fit-workspace-top > div:first-child > p:last-child,
body.rooms-ready .fit-shopper-intro > div:first-child > p:last-child,
body.rooms-ready .fit-catalog-note p,
body.rooms-ready .fit-field,
body.rooms-ready .fit-field input,
body.rooms-ready .fit-field select,
body.rooms-ready .fit-kicker,
body.rooms-ready .fit-index,
body.rooms-ready .fit-step-mark span,
body.rooms-ready .fit-step-mark small,
body.rooms-ready .fit-product-copy .fit-kicker,
body.rooms-ready .fit-maker,
body.rooms-ready .fit-maker span,
body.rooms-ready .fit-button,
body.rooms-ready .fit-text-button,
body.rooms-ready .fit-section-heading h2 small,
body.rooms-ready .fit-worn-badge,
body.rooms-ready .fit-meta,
body.rooms-ready .fit-unavailable,
body.rooms-ready .fit-own-form summary,
body.rooms-ready .fit-own-form > p,
body.rooms-ready .fit-doll span,
body.rooms-ready .fit-stage-empty,
body.rooms-ready .fit-disclaimer,
body.rooms-ready .fit-placement-title,
body.rooms-ready .fit-placement label,
body.rooms-ready .fit-quick-item,
body.rooms-ready .fit-quick-item span,
body.rooms-ready .fit-quick-item small,
body.rooms-ready .fit-product-image span,
body.rooms-ready .fit-rack-image span,
body.rooms-ready .fit-privacy-note p,
body.rooms-ready .fit-empty p,
body.rooms-ready .fit-saved-list article span,
body.rooms-ready .fit-saved-list p,
body.rooms-ready .fit-take-look p,
body.rooms-ready .fit-status,
body.rooms-ready .fit-original-host > summary,
body.rooms-ready #shopperRoom .commerceAction .journeyNote,
body.rooms-ready #shopperRoom .commerceAction small,
body.rooms-ready #shopperRoom .commerceAction a,
body.rooms-ready .fittingProduct,
body.rooms-ready .fittingProduct .journeySecondary,
body.rooms-ready .commerceAction,
body.rooms-ready .fieldFeedback {
  font-size: 14px !important;
}

/* Reading prose and entered values stay a step above compact labels. */
body.rooms-ready .fit-workspace-top > div:first-child > p:not(.fit-kicker),
body.rooms-ready .fit-shopper-intro > div:first-child > p:not(.fit-kicker):not(.fit-meta),
body.rooms-ready .journeyField input,
body.rooms-ready .journeyField select,
body.rooms-ready .journeyField textarea,
body.rooms-ready .customwhere input,
body.rooms-ready .fit-field input,
body.rooms-ready .fit-field select {
  font-size: 16px !important;
}

body.rooms-ready .stepnum{
  font-size: 14px !important;
}

body.rooms-ready input::placeholder,
body.rooms-ready textarea::placeholder {
  color: var(--readable-muted);
  opacity: 1;
}

body.rooms-ready .fit-workspace-top > div:first-child > p:last-child,
body.rooms-ready .fit-shopper-intro > div:first-child > p:last-child,
body.rooms-ready .fit-catalog-note p,
body.rooms-ready .fit-maker,
body.rooms-ready .fit-meta,
body.rooms-ready .fit-own-form > p,
body.rooms-ready .fit-stage-empty,
body.rooms-ready .fit-disclaimer,
body.rooms-ready .fit-placement-title span,
body.rooms-ready .fit-placement label,
body.rooms-ready .fit-quick-item small,
body.rooms-ready .fit-privacy-note p,
body.rooms-ready .fit-empty p,
body.rooms-ready .fit-saved-list p,
body.rooms-ready .fit-take-look p,
body.rooms-ready .fit-status,
body.rooms-ready #shopperRoom .commerceAction .journeyNote,
body.rooms-ready #shopperRoom .commerceAction small,
body.rooms-ready .fittingProduct {
  color: var(--readable-muted);
}

body.rooms-ready .journeyStatus[role="alert"],
body.rooms-ready .fieldFeedback,
body.rooms-ready .fit-unavailable {
  color: #75402b;
}

/* Original preloaded demo controls and modal. Keep photo-overlaid labels/colors. */
body.rooms-ready .dropzone,
body.rooms-ready .dropzone small,
body.rooms-ready .tabs .tab,
body.rooms-ready .price,
body.rooms-ready .note,
body.rooms-ready .progressnote,
body.rooms-ready .renderStatus,
body.rooms-ready .demoChoiceTitle,
body.rooms-ready .demoChoiceRow span,
body.rooms-ready .demoChoiceFoot,
body.rooms-ready .selectedRefsTitle,
body.rooms-ready .selectedRef strong,
body.rooms-ready .selectedRef span,
body.rooms-ready .demo-preloaded-note{
  font-size: 14px !important;
}

body.rooms-ready .dropzone,
body.rooms-ready .price,
body.rooms-ready .note,
body.rooms-ready .progressnote,
body.rooms-ready .renderStatus,
body.rooms-ready .demoChoiceFoot,
body.rooms-ready .demo-preloaded-note{
  color: var(--readable-muted);
}

/* Admin utility interface. Larger serif headings and its warm color identity remain. */
body:has(.masthead) .masthead {
  font-size: 14px;
}

body:has(.masthead) p {
  color: var(--readable-muted);
  font-size: 16px;
}

body:has(.masthead) .fine,
body:has(.masthead) .setupAlert p,
body:has(.masthead) .setupAlert code,
body:has(.masthead) .sections a,
body:has(.masthead) .notice,
body:has(.masthead) .tag,
body:has(.masthead) label,
body:has(.masthead) input,
body:has(.masthead) select,
body:has(.masthead) textarea,
body:has(.masthead) button,
body:has(.masthead) .check,
body:has(.masthead) legend,
body:has(.masthead) .status,
body:has(.masthead) .record p,
body:has(.masthead) .badge {
  font-size: 14px;
}

body:has(.masthead) .fine,
body:has(.masthead) .record p {
  color: var(--readable-muted);
}

body:has(.masthead) input,
body:has(.masthead) select,
body:has(.masthead) textarea {
  font-size: 16px;
}

/* Public Mediterranean entry route: adjust only supporting copy and its action. */
body:has(> #main .hero) .hero-note {
  color: var(--readable-landing-muted);
  font-size: 16px;
}

body:has(> #main .hero) .entry-link {
  font-size: 14px;
}

@media (max-width: 760px) {
  /* Keep the current-room status readable in the existing narrow footer cell. */
  body.rooms-ready #roomPosition {
    white-space: normal;
    line-height: 1.3;
    letter-spacing: .08em;
    text-wrap: balance;
  }

  /* Later source media rules set invitation text as small as 9px. */
  body.rooms-welcome #welcomeClean p,
  body.rooms-welcome #welcomeClean > div:not(#welcomeQuote):not(#welcomeLogo),
  body.rooms-welcome #welcomeClean::before,
  body.rooms-welcome #welcomeLogo,
  body.rooms-welcome #welcomeCard .welcomeDemo,
  body.rooms-welcome #welcomeCard .welcomeSecondary,
  body.rooms-welcome #welcomeCard [data-demo-secondary] {
    font-size: 14px !important;
  }
}

/* First PHOTO SHOOT invitation only: strengthen the reading and entry labels. */
body.rooms-welcome #welcomeClean p {
  color: var(--readable-ink);
  font-size: 18px !important;
  font-weight: 500 !important;
}

body.rooms-welcome #welcomeClean::before,
body.rooms-welcome #welcomeSeat{
  font-size: 16px !important;
  font-weight: 600 !important;
}

body.rooms-welcome #welcomeClean::before {
  color: var(--readable-ink);
}

@media (max-width: 760px) {
  body.rooms-welcome #welcomeClean p {
    font-size: 16px !important;
  }
}