/* Interface readability only. Load after the boutique/courrier styles.
   Artwork, miniatures, reading pages, fonts and object canvases keep their
   own dimensions. Small screens scroll the step labels instead of shrinking them. */

/* Shared interface controls; never the controls drawn inside a creation. */
.btn:not(.miniature .btn,.booklet-page .btn,.fp-art .btn,.fp-paper-mock .btn,.fp-reading-sheet .btn,.recipient-letter .btn,.env-paper .btn),
.text-button:not(.miniature .text-button,.booklet-page .text-button,.fp-art .text-button,.fp-paper-mock .text-button,.fp-reading-sheet .text-button,.recipient-letter .text-button,.env-paper .text-button) {
  font-size:14px;
  line-height:1.4;
  min-height:44px;
}
.text-button:not(.miniature .text-button,.booklet-page .text-button,.fp-art .text-button,.fp-paper-mock .text-button,.fp-reading-sheet .text-button,.recipient-letter .text-button,.env-paper .text-button) {
  display:inline-flex;
  align-items:center;
}
.fine:not(.miniature .fine,.booklet-page .fine,.fp-art .fine,.fp-paper-mock .fine,.fp-reading-sheet .fine,.recipient-letter .fine,.env-paper .fine) {
  font-size:13px;
  line-height:1.65;
  color:#58634f;
}
.eyebrow:not(.miniature .eyebrow,.booklet-page .eyebrow,.fp-art .eyebrow,.fp-paper-mock .eyebrow,.fp-reading-sheet .eyebrow,.recipient-letter .eyebrow,.env-paper .eyebrow) {
  font-size:12px;
  line-height:1.5;
  letter-spacing:.12em;
}
.field:not(.miniature .field,.booklet-page .field,.fp-art .field,.fp-paper-mock .field,.fp-reading-sheet .field),
.editor-controls .label,
.checkout .checkbox,
.resume-order-form .checkbox,
.edit-form .checkbox,
.recipient-rsvp .checkbox {
  font-size:14px;
  line-height:1.55;
}
.field:not(.fp-writing-field) input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),
.field:not(.fp-writing-field) textarea,
.field select,
.checkout .input,
.resume-order-form .input {
  font-size:16px;
  line-height:1.5;
  min-height:46px;
}
.checkbox input[type=checkbox] {width:20px;height:20px;flex:0 0 20px;margin-top:2px}
.checkout .checkbox,.resume-order-form .checkbox,.edit-form .checkbox,.recipient-rsvp .checkbox {min-height:44px;align-items:flex-start}
.editor-controls .error,.journey-field-error,.checkout .fine.error {font-size:14px;line-height:1.55;color:#853d2e}
.back,.atelier-return {display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.4}

/* Boutique: reassurance, catalogue information and product actions. */
.store-hero .hero-description,.digital-story-copy>p,
.store-details>.story-intro>p:not(.eyebrow) {font-size:16px;line-height:1.75}
.store-hero .eyebrow,.digital-story-copy .eyebrow {font-size:12px;color:#ead5a6}
.hero-postscript {font-size:13px;line-height:1.6;color:#e1e3d6}
.hero-experience small {font-size:12px;line-height:1.4;letter-spacing:.08em;color:#f1e4c7}
.hero-experience button {width:44px;height:44px;flex:none}
.promise strong {font-size:14px;line-height:1.45;color:#294238}
.promise small {font-size:13px;line-height:1.5;color:#59634f}
.collection-heading>p,.product-description,.detail-description {font-size:14px;line-height:1.7;color:#58634f}
.storefront .collection-tabs button .collection-label {font-size:14px;line-height:1.4}
.storefront .collection-tabs button,.storefront .shuffle,.storefront .chip {font-size:14px;line-height:1.4;min-height:44px}
.storefront .occasion-row>span {font-size:14px;line-height:1.5;color:#526049}
.storefront .collection-tabs button:not(.active) .collection-label {color:#294238}
.product-count,.product-count span:last-child,.product-swatches small,.product-caption,
.detail-price small,.detail-inclusions,.product-detail-copy>.model-note {font-size:13px;line-height:1.55;color:#58634f}
.product-label {font-size:12px;line-height:1.4;letter-spacing:.06em;color:#5a4d34}
.product-actions>.btn {font-size:14px;min-height:44px;line-height:1.4;justify-content:center;white-space:normal}
.product-open {font-size:16px;min-width:44px;min-height:44px;width:44px;height:44px}
.product-eye {min-width:44px;min-height:44px}
.product-swatches {flex-wrap:wrap}
.product-swatches small {margin-left:6px}
.store-faq summary {min-height:44px;align-items:center;font-size:15px;line-height:1.5}
.store-faq details p {font-size:14px;line-height:1.75;color:#58634f}
.resume-draft {font-size:14px;line-height:1.65}
.resume-draft a {display:inline-flex;align-items:center;min-height:44px;color:#765927}
.digital-purchase-notice,.digital-purchase-notice span,.digital-purchase-notice strong {font-size:13px;line-height:1.6}
.shop-opening-note {font-size:14px;line-height:1.6}
.storefront .shop-bottom p {font-size:14px;line-height:1.7}
.storefront .shop-bottom .price-note {font-size:13px;line-height:1.55}
.footer {font-size:12px;line-height:1.6;color:#58634f}

/* The editor header, progress and forms. */
.boutique-quick-nav button,.boutique-account-nav a,.shop-utility .boutique-account-nav a {font-size:14px;line-height:1.4;min-height:44px}
.boutique-account-nav #order-count {font-size:12px;min-width:23px;height:23px}
.atelier-header-title>span,.atelier-save>span {font-size:12px;line-height:1.5;color:#53614c}
.atelier-save button {font-size:14px;min-height:44px;line-height:1.4}
.atelier-progress-inner,.editor-top .draft-state,body[data-view=atelier] .editor-top .draft-state {font-size:13px;line-height:1.55;color:#58634f}
.stepper {font-size:14px;line-height:1.4}
.stepper button {min-height:44px;font-size:14px;line-height:1.4}
.stepper button span {font-size:12px;min-width:25px;min-height:25px}
.journey-step-help,.editor-panel>.muted {font-size:14px;line-height:1.7;color:#58634f}
.history-tools button {font-size:13px;line-height:1.4;min-height:44px}
.guided-tabs button,.guided-tabs button:first-child,
body[data-fairepart-journey=true] .guided-tabs button {font-size:14px;line-height:1.4;min-height:64px;padding:10px 7px}
.guided-tabs .tab-number {font-size:12px;min-width:23px;min-height:23px;line-height:23px}
.journey-next-note {font-size:13px;line-height:1.55;color:#58634f}
.journey-buttons .btn {font-size:14px;line-height:1.4;min-height:48px}
.review-return,.journey-edit-message {font-size:14px;line-height:1.4;min-height:44px}
.more summary {font-size:14px;line-height:1.5;min-height:44px;padding-block:11px;box-sizing:border-box}
.wording button {font-size:14px;line-height:1.5;min-height:44px}
.editor-controls .option {font-size:14px;line-height:1.4;min-height:44px}
.editor-controls .swatch {width:44px;height:44px}
.editor-controls .swatches {flex-wrap:wrap}
.style-section>summary {font-size:15px;line-height:1.5;min-height:44px}
.style-section .label,.style-choice,.style-text-target button {font-size:14px;line-height:1.45}
.style-text-target button,.style-choice {min-height:44px}
.font-name,.ink-choices>.style-choice {font-size:13px;line-height:1.5}
.ink-choices>.style-choice {width:44px;height:44px;min-height:44px}
.custom-ink {font-size:14px;line-height:1.5}
.custom-ink output {font-size:13px;color:#526049}
.style-help,.style-contrast-note,.restore-model p {font-size:13px;line-height:1.65;color:#58634f}
.layout-choices strong {font-size:14px;line-height:1.5}
.layout-choices small,.decoration-choices small,.effect-choices small {font-size:13px;line-height:1.5}
.layout-choices small,.decoration-choices small {color:#58634f}
.message-writing-feedback>p:first-child {font-size:13px;line-height:1.5;color:#58634f}
.cover-size-control>span {font-size:14px;line-height:1.5}
.cover-size-control output,.cover-size-control>small {font-size:13px;line-height:1.55;color:#58634f}
.cover-names h3 {font-size:16px;line-height:1.5}
.creation-names-summary p {font-size:14px;line-height:1.6}

/* Preview chrome only: the creation surface continues to scale identically. */
.floating-preview-heading>span {font-size:12px;line-height:1.5;letter-spacing:.07em;color:#53614c}
.floating-preview-heading button,.floating-preview-close {font-size:14px;line-height:1.4;min-height:44px}
.editor-preview .preview-faces button,#floating-preview-dialog .preview-faces button {font-size:13px;line-height:1.4;min-height:44px;padding:9px 5px}
.preview-subfaces button {font-size:14px;min-height:44px;line-height:1.4}
.preview-attachments,.floating-preview-footer,.preview-under {font-size:13px;line-height:1.55;color:#58634f}
.preview-label {font-size:12px;letter-spacing:.08em}
.price-box {font-size:14px;line-height:1.6}
.price-box span {font-size:13px;line-height:1.55;color:#58634f}
.preview-added-item,.preview-surprise-selected span {font-size:13px;line-height:1.5}
.preview-surprise-empty p {font-size:14px;line-height:1.65;color:#58634f}

/* Photos and video: controls are legible without changing the image frame. */
.upload {font-size:14px;line-height:1.5}
.upload input {font-size:14px;min-height:44px;max-width:100%}
.video-note,.crop-control,.photo-range output,.media-progress,.photo-batch-feedback {font-size:13px;line-height:1.6;color:#58634f}
.booklet-intro p {font-size:14px;line-height:1.7;color:#58634f}
.booklet-media-preview,.booklet-video-choice,.booklet-photo-adjust {font-size:14px;line-height:1.45;min-height:44px}
.booklet-media-item figcaption {font-size:14px;line-height:1.5}
.booklet-media-item figcaption small,.booklet-flow,.video-import-status,.booklet-photo-editor .fine {font-size:13px;line-height:1.6;color:#58634f}
.booklet-navigation {font-size:14px;line-height:1.5}
.booklet-navigation small {font-size:13px;line-height:1.5;color:#58634f}
.booklet-navigation button,.booklet-photo-fit button {font-size:14px;line-height:1.4;min-height:44px}
.booklet-photo-range>span {font-size:14px;line-height:1.5}
.booklet-photo-range output {font-size:14px;color:#765927}

/* Faire-part catalogue and customisation, outside the composed invitation. */
.fp-collection-summary p {font-size:15px;line-height:1.7}
.fp-collection-summary span,.fp-selection-status,.fp-occasion-heading p,
.fp-preview-note,.fp-material,.fp-collection-end>span {font-size:13px;line-height:1.6;color:#58634f}
.fp-filter,.fp-selection-button,.fp-personalize-button,.fp-discover,
.fp-modal-views button,.fp-reading-controls button,.fp-primary-action,.fp-save-large {font-size:14px;line-height:1.4;min-height:44px}
.fp-selection-button span,.fp-occasion-count,.fp-model-number,.fp-model-category,.fp-visual-hint {font-size:12px;line-height:1.5}
.fp-model-category {color:#765927;letter-spacing:.08em}
.fp-dialog-heading p,.fp-custom-intro>p {font-size:12px;line-height:1.5;letter-spacing:.08em}
.fp-custom-intro>span,.fp-custom-field>span {font-size:14px;line-height:1.55}
.fp-custom-hint,.fp-custom-limit,.fp-custom-status,
.fp-dialog-footer>span,.fp-dialog-footer small,.fp-reading-controls>span,.fp-open-actions p,
.fp-envelope-settings>p,.fp-step-note,.fp-journey-status,.fp-preview-complete>p,
.fp-online-test-note,.fp-writing-footer,.fp-interior-name {font-size:13px;line-height:1.6;color:#58634f}
.fp-custom-more>summary {font-size:14px;line-height:1.5;min-height:44px;padding-block:11px;box-sizing:border-box}
.fp-custom-field input,.fp-custom-field textarea {font-size:16px;line-height:1.5;min-height:46px}
.fp-custom-retry,.fp-render-retry {font-size:14px;line-height:1.4;min-height:44px}
.fp-envelope-colors button {font-size:13px;line-height:1.4;min-height:74px}
.fp-format-choices small {font-size:13px;line-height:1.5;color:#58634f}
.fp-journey-status[data-error=true],.fp-custom-status[data-error=true] {color:#853d2e}
.fp-custom-preview .fp-modal-views button,.fp-custom-preview .fp-reading-controls button {font-size:14px;min-height:44px;line-height:1.4}
.fp-no-selection p {font-size:14px;line-height:1.7;color:#58634f}
.fp-keep,.fp-close {min-width:44px;min-height:44px}

/* Surprise selection and gift controls. The object and its effects stay intact. */
.object-catalogue-intro .eyebrow,.object-collection-editor .object-catalogue-intro .eyebrow {font-size:12px;line-height:1.5}
.object-catalogue-intro p:not(.eyebrow),.object-collection-editor .object-catalogue-intro p:not(.eyebrow) {font-size:14px;line-height:1.7;color:#58634f}
.object-intro-note,.object-collection-editor .object-intro-note,.object-catalogue-meta,
.object-collection-editor .object-catalogue-meta,.object-family-head p,.object-collection-editor .object-family-head p {font-size:13px;line-height:1.6;color:#58634f}
.object-filters label {font-size:14px;line-height:1.5}
.object-filters input,.object-filters select,.object-collection-editor .object-filters input,.object-collection-editor .object-filters select {font-size:16px;line-height:1.5;min-height:46px}
.object-3d,.object-selected,.object-collection-editor .object-3d,.object-collection-editor .object-selected {font-size:12px;line-height:1.4}
.object-finish,.object-collection .object-finish,.object-collection-editor .object-finish {font-size:12px;line-height:1.6;letter-spacing:.07em;color:#765927}
.object-collection .object-description,.object-collection-editor .object-description {font-size:14px;line-height:1.65;color:#58634f}
.object-price small,.object-collection-editor .object-price small {font-size:13px;line-height:1.5;color:#58634f}
.object-pick,.object-collection-editor .object-pick {font-size:14px;line-height:1.4;min-height:46px;white-space:normal}
.object-collection .object-tile-bottom {flex-wrap:wrap}
.object-empty p {font-size:14px;line-height:1.7}
.object-empty button {font-size:14px;min-height:44px}
.object-modal-description {font-size:14px;line-height:1.7;color:#58634f}
.object-modal-finish {font-size:13px;line-height:1.5;color:#765927}
.object-view-controls label {font-size:14px;line-height:1.5}
.object-view-controls button,.object-modal.object-recipient-view .object-recipient-replay,
.object-view-settings>summary {font-size:14px;line-height:1.4;min-height:44px}
.object-interaction-help,.object-virtual-note,.surprise-age-control span {font-size:13px;line-height:1.6;color:#58634f}
.surprise-age-control {font-size:14px;line-height:1.5}
.surprise-selection-summary span {font-size:13px;line-height:1.6}
.surprise-selection-summary strong:not(:last-child) {font-size:15px;line-height:1.5}

/* Review, checkout and saved creations. Prices and editorial headings are intact. */
.review-experience>p:not(.eyebrow),.review-confirmation-hint,.summary-line {font-size:14px;line-height:1.7}
.review-experience-status,.included,.order-waiting-date {font-size:13px;line-height:1.65;color:#58634f}
.review-edit-sections p {font-size:14px;line-height:1.6}
.review-edit-sections strong {font-size:15px;line-height:1.5}
.review-edit-sections span,.catalog-editing-note {font-size:13px;line-height:1.6;color:#58634f}
.checkout .fine,.resume-order-form .fine,.editor-actions .fine {font-size:13px;line-height:1.65}
.saved-local-drafts p,.saved-local-draft-title small,.customer-orders-section .order-info .fine {font-size:13px;line-height:1.65;color:#58634f}
.saved-local-draft-title strong {font-size:16px;line-height:1.5}
.draft-current-label,.customer-orders-section .status {font-size:12px;line-height:1.5}
.saved-local-draft-actions .btn,.draft-removal-notice .text-button {font-size:14px;min-height:44px;line-height:1.4}
.draft-removal-confirm>small,.draft-removal-notice small {font-size:13px;line-height:1.6}
.orders-head p,.order-info,.empty p,.success-heading p,.status-block p {font-size:14px;line-height:1.7}
.status {font-size:12px;line-height:1.5}
.share-link {font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.rsvp-stats span,.responses {font-size:14px;line-height:1.6}
.recipient-rsvp p {font-size:14px;line-height:1.7;color:#58634f}
.cloud-save-dialog #cloud-private-link {font-size:14px;line-height:1.6}
.cloud-save-dialog #cloud-save-result {font-size:14px;line-height:1.65}

/* Dedicated delivery space: sharing and documents, never the artwork. */
.courrier-signature {font-size:12px;line-height:1.5;letter-spacing:.1em;color:#765927}
.courrier-intro>p:not(.eyebrow) {font-size:16px;line-height:1.75;color:#58634f}
.courrier-share-hint,.courrier-send>.courrier-share-hint,.courrier-send-help,
.courrier-expiry,.courrier-footer {font-size:13px;line-height:1.65;color:#58634f}
.courrier-share-options>p,.courrier-send>p,.courrier-send-status,.courrier-notice {font-size:14px;line-height:1.7}
.courrier-send-choices>.btn {font-size:14px;line-height:1.45;min-height:48px}
.courrier-send-choices>[data-courrier-action=copy] {min-height:44px}
.courrier-documents summary {font-size:14px;line-height:1.5;min-height:44px;padding-block:11px;box-sizing:border-box}
.courrier-documents>div a,.courrier-footer a {display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.45}
.courrier-recipient-link input {font-size:16px;line-height:1.5;min-height:46px}
.courrier-send-status[data-kind=error] {color:#853d2e}

@media(max-width:1000px) {
  .atelier-header-context {height:auto;min-height:80px}
}

@media(max-width:760px) {
  /* Each label stays at reading size; overflow is navigable, not clipped. */
  .stepper {gap:8px;flex-wrap:wrap}
  .stepper button {font-size:13px;gap:7px}
  .panel-tabs.guided-tabs,
  body[data-fairepart-journey=true] .guided-tabs,
  .editor-preview .preview-faces,
  #floating-preview-dialog .preview-faces {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    gap:5px;
    overflow-x:auto;
    max-width:100%;
    min-width:0;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scroll-padding-inline:6px;
  }
  .guided-tabs button,.guided-tabs button:first-child,
  body[data-fairepart-journey=true] .guided-tabs button {
    flex-direction:row;
    min-height:48px;
    padding:10px 13px;
    font-size:14px;
    white-space:nowrap;
  }
  .editor-preview .preview-faces button,#floating-preview-dialog .preview-faces button {
    font-size:14px;
    min-height:44px;
    padding:9px 13px;
    white-space:nowrap;
  }
  body.has-floating-preview #atelier-header-context:not([hidden]) {height:52px;min-height:52px;padding-block:4px}
  body.has-floating-preview #atelier-header-context .atelier-return,
  body.has-floating-preview #atelier-header-context .atelier-save button {font-size:14px;min-height:44px;padding-block:8px}
  #floating-preview-host .editor-preview {grid-template-rows:44px 144px 48px;row-gap:5px}
  #floating-preview-host .floating-preview-heading {gap:8px}
  #floating-preview-host .floating-preview-heading>span {font-size:12px;line-height:1.4;letter-spacing:.04em}
  #floating-preview-host .floating-preview-heading button {font-size:14px;line-height:1.4;min-height:44px;padding:8px 11px}
  #floating-preview-host .floating-preview-viewport {height:144px}
  #floating-preview-host .preview-faces {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    overflow-x:auto;
    gap:3px;
    scrollbar-width:thin;
    overscroll-behavior-x:contain;
    padding:2px;
  }
  #floating-preview-host .preview-faces button {font-size:14px;line-height:1.4;min-height:44px;padding:8px 12px;white-space:nowrap}
  #floating-preview-host .preview-subfaces button {font-size:14px;line-height:1.4;min-height:44px;padding:8px 14px}
  .fp-envelope-colors {grid-template-columns:repeat(3,minmax(0,1fr))}
  .fp-envelope-colors button {font-size:13px;min-height:74px}
  .fp-format-choices small {font-size:13px}
  .fp-custom-preview .fp-modal-views,.fp-modal-views {flex-wrap:wrap;gap:6px}
  .fp-custom-preview .fp-reading-controls,.fp-reading-controls {flex-wrap:wrap;gap:8px}
  .object-view-controls {flex-wrap:wrap;gap:10px}
  .object-filters input,.object-filters select,.fp-custom-field input,.fp-custom-field textarea,
  .courrier-recipient-link input {font-size:16px}
  .object-collection .object-pick {font-size:14px;min-height:46px}
  .object-filters label {font-size:14px}
  .boutique-account-nav a,.shop-utility .boutique-account-nav a {font-size:14px;min-height:44px}
  .atelier-save button {font-size:14px;min-height:44px}
  .courrier-footer {font-size:13px}
}

@media(max-width:560px) {
  .photo-catalog {grid-template-columns:minmax(0,1fr);gap:30px}
  .photo-product:nth-child(2),.photo-product:nth-child(5) {margin-top:0}
  .product-title-line h3 {min-height:0}
  .product-description {min-height:0;font-size:14px}
  .product-actions>.btn {font-size:14px;min-height:46px}
  .product-caption,.product-swatches small {font-size:13px}
  .promises-inner {gap:18px 14px}
  .promise {align-items:flex-start}
  .promise strong {font-size:14px}
  .promise small {font-size:13px}
  .storefront .collection-tabs button {padding-inline:9px}
  .storefront .collection-tabs button .collection-label {font-size:14px;white-space:normal}
  .detail-inclusions {grid-template-columns:minmax(0,1fr);font-size:13px}
  .product-detail-copy {padding-inline:22px}
  .product-count {align-items:flex-start;flex-wrap:wrap;gap:7px}
  .product-count span:last-child {max-width:none;text-align:left;font-size:13px}
  .booklet-navigation {flex-wrap:wrap;gap:8px}
  .surprise-selection-summary {flex-wrap:wrap;gap:10px}
  .courrier-send-choices {grid-template-columns:minmax(0,1fr)}
}

@media(max-width:380px) {
  .promises-inner {grid-template-columns:minmax(0,1fr)}
  #floating-preview-host .floating-preview-heading>span {max-width:112px}
  #floating-preview-host .floating-preview-heading button {padding-inline:8px}
  .detail-action-row .btn {min-width:0;flex-basis:100%;white-space:normal}
}
