/* Ported from the live Montigo customiser stylesheet (selectors re-scoped to #fd-root). */


  .shopify-section--announcement-bar,
  .shopify-section--footer {
    display: none;
  }

  .shopify-section--header {
    margin-block-start: 10px;
  }

  .shopify-section--header .header {
    border-radius: 35px !important;
  }


  @media (max-width: 1023px) {
    html:has(#fd-root .fd-popover.is-open),
    html:has(#fd-root .fd-popover.is-open) body {
      overscroll-behavior: none;
    }
  }

  @media screen and (min-width: 1024px) {
    .shopify-section--header {
      margin-block-start: 14px;
    }
  }

  #fd-root {
    --fd-navy: #0F172A;
    --fd-navy-soft: #1e293b;
    --fd-pink: #3B5BDB;
    --fd-pink-strong: #e91e63;
    --fd-bg: #f7f7f1;
    --fd-card: #ffffff;
    --fd-pill-bg: #e8e9f8;
    --fd-pill-bg-soft: #001AFC0D;
    --fd-pill-border-soft: #0F172A26;
    --fd-divider: #e5e5ef;
    --fd-text: #0F172A;
    --fd-muted: #8a8aa8;
    --fd-radius-card: 28px;
    --fd-radius-pill: 999px;
    --fd-icon-check: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' class='icon icon--circle-checkmark   ' viewBox='0 0 12 12' fill='none'%3E      %3Cpath d='M6 0C2.69173 0 0 2.69173 0 6C0 9.30827 2.69173 12 6 12C9.30827 12 12 9.30827 12 6C12 2.69173 9.30827 0 6 0ZM9.35338 4.42105L5.5188 8.22556C5.29323 8.45113 4.93233 8.46617 4.69173 8.2406L2.66165 6.39098C2.42105 6.16541 2.40602 5.78947 2.61654 5.54887C2.84211 5.30827 3.21805 5.29323 3.45865 5.5188L5.06767 6.99248L8.49624 3.56391C8.73684 3.32331 9.11278 3.32331 9.35338 3.56391C9.59399 3.80451 9.59399 4.18045 9.35338 4.42105Z' fill='%233B5BDB'/%3E    %3C/svg%3E");
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #fd-root .section {
    margin-block: 0;
  }

  @media screen and (min-width: 1024px) {
    #fd-root .section {
      margin-block: 20px 60px;
    }
  }



  #fd-root .fd-card {
    background: var(--fd-card);
    border-radius: var(--fd-radius-card);
    padding: 28px 32px;
    box-sizing: border-box;
    position: relative;
    color: var(--fd-text);
    font-family: inherit;
    display: flex;
    flex-direction: column;
  }


  #fd-root .fd-card { font-weight: 400; }
  #fd-root .fd-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 24px;
    flex-shrink: 0;
  }
  #fd-root .fd-title {
    font-size: var(--heading-h3-font-size);
    font-weight: 500;
    margin: 0;
    line-height: 1;
    background: none;
    color: var(--fd-navy);
  }
  #fd-root .fd-product-info { position: relative; }
  #fd-root .fd-pt-btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 10px 20px;
    background: var(--fd-pill-bg-soft);
    border: none;
    border-radius: var(--fd-radius-pill);
    color: var(--fd-navy);
    cursor: pointer;
    font: inherit;
  }
  #fd-root .fd-pt-btn__chev {
    color: var(--fd-navy);
    transition: transform 0.15s;
    flex-shrink: 0;
  }
  #fd-root .fd-pt-btn[aria-expanded="true"] .fd-pt-btn__chev { transform: rotate(180deg); }
  #fd-root .fd-product-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--fd-navy);
  }
  #fd-root .fd-product-size {
    font-size: 13px;
    color: color-mix(in srgb, var(--fd-navy) 80%, transparent);
  }
  #fd-root .fd-pt-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    min-width: max(100%, 280px);
    background: #fff;
    border: 1px solid var(--fd-pill-border-soft);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    padding: 8px;
    z-index: 20;
    max-height: 60vh;
    overflow-y: auto;
  }
  #fd-root .fd-pt-menu[hidden] { display: none; }
  #fd-root .fd-pt-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.06);
    z-index: 19;
  }
  #fd-root .fd-pt-overlay[hidden] { display: none; }
  #fd-root .fd-header .fd-pt-menu {
    left: auto;
    right: 0;
    transform: none;
    width: 500px;
    min-width: 0;
  }
  #fd-root .fd-pt-group { padding: 12px 0; }
  #fd-root .fd-pt-group__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--fd-navy);
    text-transform: uppercase;
    margin: 0 8px 10px;
  }
  #fd-root .fd-pt-sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 4px;
  }
  #fd-root .fd-pt-size {
    padding: 6px 12px;
    line-height: 18px;
    border-radius: var(--fd-radius-pill);
    border: 1.5px solid var(--fd-pill-border-soft);
    background: var(--fd-pill-bg-soft);
    color: var(--fd-navy);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
  }
  #fd-root .fd-pt-size.is-current {
    background: var(--fd-navy);
    color: #fff;
    border-color: var(--fd-navy);
  }




  #fd-root .fd-layout {
    display: grid;
    grid-template-columns: minmax(0, 53fr) minmax(0, 47fr);
    gap: 32px;
    flex: 1;
    min-height: 0;
  }



  #fd-root .fd-canvas-side {
    position: relative;
    background: #F4F5F8;
    border-radius: 20px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    align-self: start;
  }

  @media (min-width: 1024px) {
    #fd-root .fd-canvas-side {
      position: sticky;
      top: calc(var(--header-height, 0px) + 20px);
    }

    #fd-root .fd-canvas-side:has(#fd-canvas-container.is-fullscreen) {
      position: static;
    }
  }
  #fd-root #fd-canvas-container {
    width: 100%;
    height: 100%;
  }
  #fd-root #fd-canvas-container canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
    cursor: grab;
  }
  #fd-root #fd-canvas-container canvas:active { cursor: grabbing; }
  #fd-root .fd-preview-expand,
  #fd-root .fd-toggle-guide,
  #fd-root .fd-rotate-view {
    position: absolute;
    right: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--fd-navy);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 500;
    padding: 4px;
    min-width: 80px;
  }
  #fd-root .fd-preview-expand { top: 16px; }
  #fd-root .fd-toggle-guide { top: 72px; }
  #fd-root .fd-rotate-view { top: 128px; white-space: nowrap; }
  #fd-root .fd-preview-expand svg,
  #fd-root .fd-toggle-guide svg,
  #fd-root .fd-rotate-view svg { width: 20px; height: 20px; }
  #fd-root .fd-toggle-guide__slash { display: none; }
  #fd-root .fd-toggle-guide[aria-pressed="true"] { opacity: 0.45; }
  #fd-root .fd-toggle-guide[aria-pressed="true"] .fd-toggle-guide__slash { display: inline; }
  #fd-root .fd-canvas-ar {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--fd-navy);
    padding: 4px;
    z-index: 5;
    display: none;
  }
  #fd-root .fd-canvas-ar svg { width: 26px; height: 26px; }


  #fd-root .fd-spinner {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.55);
    z-index: 20;
  }
  #fd-root .fd-spinner.is-visible { display: flex; }

  #fd-root .fd-spinner .icon--loading-logo {
    width: auto;
    height: 48px;
    animation: fd-spinner-spin 0.9s linear infinite;
  }
  @keyframes fd-spinner-spin {
    to { transform: rotate(360deg); }
  }
  #fd-root .fd-layout.is-loading { pointer-events: none; }



  #fd-root .fd-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
  }
  #fd-root .fd-tab-strip {
    display: flex;
    gap: 10px;
    padding: 10px;
    margin-bottom: 40px;
    background: #FAFAF5;
    border-radius: var(--fd-radius-pill);
    flex-shrink: 0;
  }
  #fd-root .fd-tab {
    flex: 1;
    background: #fff;
    border: none;
    padding: 10px 14px;
    cursor: pointer;
    color: var(--fd-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    border-radius: var(--fd-radius-pill);
    transition: background 0.15s, color 0.15s, font-weight 0.15s;
  }
  #fd-root .fd-tab.is-active {
    background: var(--fd-navy);
    color: #fff;
    font-weight: 700;
  }
  #fd-root .fd-tab.is-active .fd-tab__icon { color: #fff; }
  #fd-root .fd-tab__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fd-navy);
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
  }
  #fd-root .fd-tab__icon img,
  #fd-root .fd-tab__icon svg { width: 100%; height: 100%; object-fit: contain; }
  #fd-root .fd-tab__check {
    position: absolute;
    top: -6px; left: 50%;
    transform: translateX(-50%);
    width: 12px; height: 12px;
    border-radius: 50%;
    background: #fff var(--fd-icon-check) center/contain no-repeat;
    pointer-events: none;
  }
  #fd-root .fd-tab { position: relative; }

  #fd-root .fd-pane-container { flex: 1; min-height: 0; overflow-y: auto; padding-right: 4px; }
  #fd-root .fd-pane { display: none; }
  #fd-root .fd-pane.is-active { display: block; }


  #fd-root .fd-section { margin-bottom: 24px; }
  #fd-root .fd-section:last-child { margin-bottom: 0; }
  #fd-root .fd-section.is-collapsed .fd-section__body { display: none; }
  #fd-root .fd-section__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 14px;
    position: relative;
    cursor: default;
  }
  #fd-root .fd-section__header.is-collapsible { cursor: pointer; }
  #fd-root .fd-section__label {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: var(--fd-navy);
    text-transform: uppercase;
  }
  #fd-root .fd-section__label .fd-section__value {
    margin-left: 6px;
    font-weight: 700;
    color: var(--fd-navy);
    text-transform: none;
    letter-spacing: 0;
  }
  #fd-root .fd-section__check {
    width: 16px;
    height: 16px;
    background: var(--fd-icon-check) center/contain no-repeat;
  }
  #fd-root .fd-section__chevron {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: var(--fd-navy);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  #fd-root .fd-section.is-collapsed .fd-section__chevron { transform: translateY(-50%) rotate(180deg); }


  #fd-root .fd-pill-row {
    background: #F4F5F8;
    border-radius: var(--fd-radius-pill);
    padding: 18px 0;
    overflow: hidden;
  }
  #fd-root .fd-pill-row__items {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-inline: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #fd-root .fd-pill-row__items::-webkit-scrollbar { display: none; }
  #fd-root .fd-pill {
    flex: 0 0 auto;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    color: var(--fd-navy);
    text-decoration: none;
    min-width: 64px;
  }
  #fd-root .fd-pill__circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid rgba(209, 212, 255, 0.60);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  #fd-root .fd-pill__circle img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    box-sizing: border-box;
  }
  #fd-root .fd-pill__circle--placeholder {
    background: linear-gradient(135deg, #d5d8ee 0%, #c5c8de 100%);
  }
  #fd-root .fd-pill__label {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 500;
    color: var(--fd-navy);
    max-width: 88px;
  }
  #fd-root .fd-pill.is-active .fd-pill__circle,
  #fd-root .fd-pill.is-active .fd-pill__none-icon {
    border-color: var(--fd-navy);
    border-width: 2px;
  }
  #fd-root .fd-pill.is-active .fd-pill__label { font-weight: 600; }
  #fd-root .fd-pill__none-icon {
    width: 64px; height: 64px;
    box-sizing: border-box;
    padding: 5px;
    border-radius: 50%;
    border: 1.5px solid rgba(209, 212, 255, 0.60);
    background: linear-gradient(#E3E3E3 0 0) content-box, linear-gradient(#fff 0 0) padding-box;
    display: flex; align-items: center; justify-content: center;
    color: #1f2433;
    overflow: hidden;
  }
  #fd-root .fd-pill__none-icon svg { width: 100%; height: 100%; }


  #fd-root .fd-swatch-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
  }
  #fd-root .fd-swatch {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    padding: 4px;
    background-color: var(--swatch-bg, #ccc);
    background-clip: content-box;
    cursor: pointer;
    transition: box-shadow 0.15s, transform 0.1s;
    box-sizing: border-box;
    display: block;
    position: relative;
  }
  #fd-root .fd-swatch.is-active { box-shadow: inset 0 0 0 2px var(--fd-navy); }
  #fd-root .fd-swatch.fd-swatch--white::before {
    content: '';
    position: absolute;
    width: calc(100% - 9px);
    height: calc(100% - 9px);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(var(--text-color), .3) inset;
  }
  #fd-root .fd-swatch:disabled { opacity: 0.6; cursor: not-allowed; }
  #fd-root .fd-swatch:disabled::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% - 8px);
    height: 2px;
    background: rgba(255, 255, 255, 0.7);
    transform: translate(-50%, -50%) rotate(-45deg);
    transform-origin: center;
    pointer-events: none;
  }


  #fd-root .fd-pane__cta {
    margin-top: 40px;
    display: flex;
    justify-content: center;
  }
  #fd-root .fd-cta-btn {
    background: var(--fd-navy);
    color: #fff;
    border: none;
    border-radius: var(--fd-radius-pill);
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: transform 0.1s, box-shadow 0.15s;
  }
  #fd-root .fd-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(26,33,105,0.22); }
  #fd-root .fd-cta-btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: 0 4px 12px rgba(26,33,105,0.08); }
  #fd-root .fd-cta-btn:disabled:hover { transform: none; box-shadow: 0 4px 12px rgba(26,33,105,0.08); }

  #fd-root .fd-card.is-atc-locked [data-action="add-to-cart"] { pointer-events: none; }
  #fd-root .fd-cta-btn.is-pink {
    background: #3B5BDB;
  }


  #fd-root .fd-success {
    position: fixed; inset: 0; z-index: 100000;
    background: #fff;
    display: flex;
    opacity: 0; visibility: hidden; transform: scale(0.99);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }
  #fd-root .fd-success.is-open { opacity: 1; visibility: visible; transform: none; }
  #fd-root .fd-success__stage { flex: 0 0 57%; min-width: 0; background: #F4F5F8; }
  #fd-root .fd-success__content {
    flex: 1 1 auto; min-width: 0;
    display: flex; align-items: center; justify-content: center;
    padding: 40px 56px;
  }
  #fd-root .fd-success__inner {
    display: flex; flex-direction: column; align-items: flex-start; gap: 20px;
    max-width: 430px;
  }
  #fd-root .fd-success__chip {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--fd-pill-bg, #e8e9f8); color: var(--fd-navy);
    border-radius: var(--fd-radius-pill);
    padding: 9px 18px 9px 16px;
    font-size: 13px; font-weight: 600; letter-spacing: 0.02em;
  }
  #fd-root .fd-success__heading {
    margin: 0; color: var(--fd-navy);
    font-size: 42px; line-height: 1.12; font-weight: 700; letter-spacing: -0.5px;
  }

  #fd-root .fd-success__heading:focus { outline: none; }
  #fd-root .fd-success__body {
    margin: 0; color: color-mix(in srgb, var(--fd-navy) 70%, transparent);
    font-size: 15px; line-height: 1.5;
  }
  #fd-root .fd-success__ctas {
    display: flex; gap: 12px; padding-top: 10px; flex-wrap: wrap;
  }
  #fd-root .fd-success .fd-success__btn {
    text-decoration: none; text-transform: uppercase; letter-spacing: 0.04em;
    display: inline-flex; align-items: center; justify-content: center;
  }
  #fd-root .fd-success__btn--cart {
    background: var(--fd-pill-bg, #e8e9f8); color: var(--fd-navy);
  }
  @media (max-width: 1023px) {
    #fd-root .fd-success { flex-direction: column; background: #F4F5F8; }

    #fd-root .fd-success__stage { flex: 1 1 0; min-height: 0; overflow: hidden; }
    #fd-root .fd-success__content {
      flex: 0 1 auto;
      overflow-y: auto;
      background: #fff; border-radius: 28px 28px 0 0;
      padding: 28px 24px calc(28px + env(safe-area-inset-bottom, 0px));
    }
    #fd-root .fd-success__inner { align-items: center; text-align: center; max-width: 480px; width: 100%; }
    #fd-root .fd-success__heading { font-size: 26px; line-height: 1.18; }
    #fd-root .fd-success__body { font-size: 14px; }
    #fd-root .fd-success__ctas { flex-direction: column; width: 100%; gap: 10px; padding-top: 6px; }
    #fd-root .fd-success .fd-success__btn { width: 100%; }
  }


  #fd-root .fd-review {
    position: fixed; inset: 0; z-index: 100000;
    background: #fff;
    display: flex; flex-direction: column;
    opacity: 0; visibility: hidden; transform: scale(0.99);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }
  #fd-root .fd-review.is-open { opacity: 1; visibility: visible; transform: none; }
  #fd-root .fd-review__topbar {
    position: relative; flex: none;
    display: flex; align-items: center; justify-content: center;
    padding: 18px var(--container-gutter);
  }
  #fd-root .fd-review__title { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -0.72px; color: var(--fd-navy); }
  #fd-root .fd-review__back {
    position: absolute; left: var(--container-gutter); top: 50%; transform: translateY(-50%);
    background: var(--fd-pill-bg, #eef0fb); color: var(--fd-navy);
    border: 1.5px solid rgba(209, 212, 255, 0.60); border-radius: var(--fd-radius-pill);
    padding: 14px 26px; font-size: 14px; font-weight: 600; cursor: pointer;
  }
  #fd-root .fd-review__scroll { flex: 1; overflow-y: auto; padding: 24px var(--container-gutter) 32px; scrollbar-width: none; -ms-overflow-style: none; }
  #fd-root .fd-review__scroll::-webkit-scrollbar { display: none; }
  #fd-root .fd-review__preview {
    max-width: 360px; margin: 0 auto 28px;
    background: #f4f4f7; border-radius: 20px; overflow: hidden;
  }
  #fd-root .fd-review__stage { width: 100%; aspect-ratio: 1 / 1; }
  #fd-root .fd-review__list { max-width: 760px; margin: 0 auto; letter-spacing: -0.48px; }
  #fd-root .fd-review__heading { margin: 0 0 18px; font-size: 20px; font-weight: 600; letter-spacing: -0.6px; color: var(--fd-navy); }
  #fd-root .fd-review__footer {
    flex: none; display: flex; flex-direction: column; align-items: center; gap: 10px;
    padding: 16px var(--container-gutter) calc(16px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--fd-divider); background: #fff;
  }
  #fd-root .fd-review__actions { display: flex; justify-content: center; gap: 16px; width: 100%; }
  #fd-root .fd-review__error { width: 100%; margin: 0; text-align: center; color: #F0431D; font-size: 14px; font-weight: 500; }
  #fd-root .fd-review__error[hidden] { display: none; }
  #fd-root .fd-review__footer .fd-cta-btn { min-width: 200px; justify-content: center; }
  #fd-root [data-action="add-to-cart"],
  #fd-root .fd-review__footer .fd-cta-btn,
  #fd-root .fd-review__back {
    height: 45px; box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
  }

  #fd-root [data-action="popover-next"],
  #fd-root [data-action="popover-final"] {
    height: 42px; box-sizing: border-box;
  }

  #fd-root #fd-review-rows { display: flex; flex-direction: column; gap: 10px; }
  #fd-root .fd-rev-prod {
    display: flex; align-items: center;
    min-height: 100px; overflow: hidden;
    border-radius: 10px; border: 1px solid #F2F4FF;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 1px 4px 0px;
  }
  #fd-root .fd-rev-prod__thumb {
    width: 100px; height: 100px; flex: none; object-fit: cover;
  }
  #fd-root .fd-rev-prod__body { flex: 1; min-width: 0; padding-left: 24px; }
  #fd-root .fd-rev-prod__price { padding-right: 24px; }
  #fd-root .fd-rev-prod__title { font-size: 16px; font-weight: 600; color: var(--fd-navy); margin-bottom: 6px; }
  #fd-root .fd-rev-prod__price { font-size: 16px; font-weight: 600; color: var(--fd-navy); white-space: nowrap; }
  #fd-root .fd-rev-detail {
    display: flex; gap: 32px; padding: 20px 0; border-bottom: 1px solid var(--fd-divider);
  }
  #fd-root .fd-rev-detail__icon { width: 100px; flex: none; display: flex; flex-direction: column; align-items: center; text-align: center; color: #0F172A; }
  #fd-root .fd-rev-detail__icon svg { width: 40px; height: 40px; }
  #fd-root .fd-rev-detail__label { font-size: 14px; font-weight: 600; color: var(--fd-navy); margin-top: 6px; }
  #fd-root .fd-rev-detail__specs { flex: 1; min-width: 0; }
  #fd-root .fd-rev-spec { display: flex; gap: 16px; margin-bottom: 14px; font-size: 16px; align-items: flex-start; }
  #fd-root .fd-rev-spec:last-child { margin-bottom: 0; }
  #fd-root .fd-rev-spec__k { color: #9aa0bd; flex: none; white-space: nowrap; }
  #fd-root .fd-rev-detail .fd-rev-spec__k { width: 150px; }
  #fd-root .fd-rev-spec__v { color: var(--fd-navy); font-weight: 600; min-width: 0; }
  #fd-root .fd-rev-artwork-wrap { display: flex; align-items: center; }
  #fd-root .fd-rev-artwork-name { flex: 1; min-width: 0; }
  #fd-root .fd-rev-artwork { flex: none; width: 80px; height: 80px; margin-right: 16px; padding: 8px; box-sizing: border-box; border: 1px solid var(--fd-divider); border-radius: 10px; object-fit: contain; background: #fff; }
  #fd-root .fd-rev-discount-box { display: flex; flex-direction: column; gap: 10px; }
  #fd-root .fd-rev-ruled { border-top: 1px solid var(--fd-divider); margin-top: 10px; padding-top: 20px; }
  #fd-root .fd-rev-total-box { display: flex; flex-direction: column; justify-content: center; height: 100px; }
  #fd-root .fd-rev-total__row { display: flex; justify-content: flex-end; gap: 48px; font-size: 16px; font-weight: 700; color: var(--fd-navy); }
  #fd-root .fd-rev-total__row span:first-child { font-weight: 600; }
  #fd-root .fd-rev-total__row.fd-rev-discount { color: #F0431D; }
  #fd-root .fd-rev-bundle { text-align: right; font-style: italic; font-size: 14px; font-weight: 500; letter-spacing: -0.42px; color: #9aa0bd; }
  #fd-root .fd-rev-tc { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 5px 14px; border-radius: 25px; background: #F2F4FF; cursor: pointer; }
  #fd-root .fd-rev-tc[hidden] { display: none; }
  #fd-root .fd-rev-tc__input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
  #fd-root .fd-rev-tc__box { position: relative; flex: none; width: 18px; height: 18px; display: inline-flex; cursor: pointer; color: var(--fd-navy); }
  #fd-root .fd-rev-tc__box svg { display: block; width: 18px; height: 18px; }
  #fd-root .fd-rev-tc__tick { position: absolute; inset: 0; display: none; }
  #fd-root .fd-rev-tc__input:checked ~ .fd-rev-tc__box .fd-rev-tc__tick { display: block; }
  #fd-root .fd-rev-tc__text { font-weight: 600; color: var(--fd-navy); line-height: 1.4; }
  #fd-root .fd-rev-tc__link { color: var(--fd-navy); text-decoration: underline; }
  #fd-root .fd-rev-tc.is-error { box-shadow: 0 0 0 1.5px #F0431D; }

  #fd-root .fd-faq-link-wrap { text-align: center; margin: 4px 0 12px; color: color-mix(in srgb, var(--fd-navy) 70%, transparent); font-size: 12px; font-weight: 400; line-height: 1.4; }
  #fd-root .fd-faq-link { color: inherit; text-decoration: underline; font-weight: 600; cursor: pointer; }
  #fd-root .fd-faq-link:hover { opacity: 0.78; }

  #fd-root .fd-pane .fd-faq-link-wrap { margin-top: 40px; margin-bottom: 0; }
  #fd-root .fd-pane .fd-faq-link-wrap + .fd-pane__cta { margin-top: var(--spacing-2, 8px); }

  #fd-root #fd-faq-drawer,
  #fd-root #fd-faq-popover { z-index: 100002; }

  @media (min-width: 1000px) and (max-width: 1023px) {
    #fd-root #fd-faq-popover {
      position: fixed;
      left: 0; right: auto; top: auto; bottom: 0;
      width: 100vw; max-height: 75vh;
      transform: translateY(100%);
    }
    #fd-root #fd-faq-popover[open] { transform: translateY(0); }
  }
  @media (min-width: 1024px) {
    #fd-root #fd-faq-popover { display: none; }
  }

  #fd-root .fd-tc-modal {
    position: fixed; inset: 0; z-index: 100001;
    display: flex; align-items: center; justify-content: center; padding: 24px;
    opacity: 0; visibility: hidden; transition: opacity 0.25s ease, visibility 0.25s;
  }
  #fd-root .fd-tc-modal.is-open { opacity: 1; visibility: visible; }
  #fd-root .fd-tc-modal__overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.06); }
  #fd-root .fd-tc-modal__dialog {
    position: relative; z-index: 1;
    display: flex; flex-direction: column;
    width: 100%; max-width: 560px; max-height: 82vh;
    background: #fff; border-radius: 24px; overflow: hidden;
    box-shadow: 0 26px 80px rgba(15, 23, 42, 0.30);
    transform: translateY(10px) scale(0.98); transition: transform 0.25s ease;
  }
  #fd-root .fd-tc-modal.is-open .fd-tc-modal__dialog { transform: none; }
  #fd-root .fd-tc-modal__head {
    flex: none; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 22px 26px; border-bottom: 1px solid var(--fd-divider);
  }
  #fd-root .fd-tc-modal__title { margin: 0; font-size: 19px; font-weight: 700; color: var(--fd-navy); }
  #fd-root .fd-tc-modal__close {
    flex: none; width: 34px; height: 34px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: none; border-radius: 999px; background: var(--fd-pill-bg); color: var(--fd-navy);
    cursor: pointer; transition: background 0.2s ease;
  }
  #fd-root .fd-tc-modal__close:hover { background: #d9dcf4; }
  #fd-root .fd-tc-modal__body {
    flex: 1; min-height: 0; overflow-y: auto; padding: 22px 26px 28px;
    color: var(--fd-navy); font-size: 15px; line-height: 1.65;
  }
  #fd-root .fd-tc-modal__body > :first-child { margin-top: 0; }
  #fd-root .fd-tc-modal__body > :last-child { margin-bottom: 0; }
  #fd-root .fd-tc-modal__body h1,
  #fd-root .fd-tc-modal__body h2,
  #fd-root .fd-tc-modal__body h3,
  #fd-root .fd-tc-modal__body h4 { color: var(--fd-navy); font-weight: 700; margin: 22px 0 10px; line-height: 1.3; }
  #fd-root .fd-tc-modal__body h2 { font-size: 18px; }
  #fd-root .fd-tc-modal__body h3 { font-size: 16px; }
  #fd-root .fd-tc-modal__body p { margin: 0 0 14px; }
  #fd-root .fd-tc-modal__body ul,
  #fd-root .fd-tc-modal__body ol { margin: 0 0 14px; padding-left: 22px; }
  #fd-root .fd-tc-modal__body li { margin-bottom: 6px; }
  #fd-root .fd-tc-modal__body a { color: var(--fd-navy); text-decoration: underline; }
  @media (max-width: 1023px) {
    #fd-root .fd-review__back { padding: 10px 26px; font-size: 12px; }
    #fd-root [data-action="add-to-cart"],
    #fd-root .fd-review__footer .fd-cta-btn,
    #fd-root .fd-review__back { height: 42px; }
    #fd-root .fd-review__scroll { padding: 18px var(--container-gutter) 24px; }
    #fd-root .fd-review__footer .fd-cta-btn { min-width: 0; flex: 1; max-width: 240px; }
    #fd-root .fd-review__title,
    #fd-root .fd-review__heading { font-size: 16px; }
    #fd-root .fd-rev-prod__title,
    #fd-root .fd-rev-prod__price,
    #fd-root .fd-rev-spec,
    #fd-root .fd-rev-detail__label { font-size: 12px; }
    #fd-root .fd-rev-prod { min-height: 80px; }
    #fd-root .fd-rev-prod__thumb { width: 80px; height: 80px; }
    #fd-root .fd-rev-artwork { width: 60px; height: 60px; }
    #fd-root .fd-rev-spec { margin-bottom: 10px; }
    #fd-root .fd-rev-detail { gap: 12px; }
    #fd-root .fd-rev-detail .fd-rev-spec__k { width: auto; }
    #fd-root .fd-rev-total__row { gap: 24px; font-size: 16px; }
    #fd-root .fd-rev-bundle { font-size: 12px; }
    #fd-root .fd-rev-tc__text { font-size: 12px; }
    #fd-root .fd-review__error { font-size: 13px; }
    #fd-root .fd-tc-modal { padding: 16px; }
    #fd-root .fd-tc-modal__dialog { max-height: 86vh; border-radius: 20px; }
    #fd-root .fd-tc-modal__head { padding: 18px 20px; }
    #fd-root .fd-tc-modal__title { font-size: 16px; }
    #fd-root .fd-tc-modal__body { padding: 18px 20px 22px; font-size: 14px; }
  }
  @media (min-width: 1024px) {
    #fd-root .fd-review__back { width: 160px; box-sizing: border-box; text-align: center; }
    #fd-root .fd-review__footer .fd-cta-btn { flex: 1; max-width: 240px; }
  }
  #fd-root .fd-cta-btn__arrow {
    color: currentColor;
    display: inline-flex;
  }
  #fd-root .fd-cta-btn__arrow svg { width: 18px; height: 18px; }
  #fd-root .fd-atc-price { font-weight: 600; opacity: 0.95; }
  #fd-root .fd-atc-price:empty { display: none; }


  #fd-root .fd-mode-row {
    display: flex;
    gap: 14px;
    padding: 4px;
    width: fit-content;
    margin: 0 auto 24px;
    background: transparent;
    border: 1px solid rgba(0, 26, 252, 0.10);
    border-radius: var(--fd-radius-pill);
    justify-content: center;
  }
  #fd-root .fd-mode-btn {
    flex: 0 0 auto;
    width: 160px;
    height: 45px;
    padding: 6px 12px;
    border-radius: var(--fd-radius-pill);
    background: var(--fd-pill-bg-soft);
    border: 1.5px solid var(--fd-pill-border-soft);
    color: var(--fd-navy);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: background 0.15s, color 0.15s;
  }
  #fd-root .fd-mode-btn.is-active {
    background: var(--fd-navy);
    color: #fff;
  }


  #fd-root .fd-art-card {
    border: 1px solid var(--fd-divider);
    border-radius: 16px;
    padding: 18px 18px 22px;
    margin-bottom: 18px;
  }

  #fd-root .fd-art-card.is-collapsed { padding: 0; }
  #fd-root .fd-art-card.is-collapsed .fd-art-card__body { display: none; }
  #fd-root .fd-art-card.is-collapsed .fd-art-card__header { margin-bottom: 0; padding: 18px; }
  #fd-root .fd-art-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
  }
  #fd-root .fd-art-card__header[data-action] { cursor: pointer; }
  #fd-root .fd-art-card__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--fd-navy);
  }
  #fd-root .fd-art-card__check {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 1.5px solid #d0d3e2;
    background: #fff;
  }
  #fd-root .fd-art-card__check.is-on {
    border: none;
    background: var(--fd-icon-check) center/contain no-repeat;
  }


  #fd-root .fd-art-seg-wrap { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 20px; }
  #fd-root .fd-art-seg__intro { font-size: 12px; font-weight: 400; color: var(--fd-navy); text-align: center; }
  #fd-root .fd-art-seg__btns { display: flex; gap: 14px; }
  #fd-root .fd-art-seg__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    background: #EEF0FB;
    padding: 16px 24px;
    border-radius: 10px;
    color: rgba(15, 23, 42, 0.45);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
  }
  #fd-root .fd-art-seg__btn.is-active { background: var(--fd-navy); color: #fff; }
  #fd-root .fd-art-seg__ic { display: inline-flex; }
  #fd-root .fd-art-seg__ic svg { width: 20px; height: 20px; }
  #fd-root .fd-art-seg__ic svg path { fill-opacity: 1; }


  #fd-root .fd-art-posrow { display: flex; gap: 28px; align-items: flex-start; margin-top: 18px; }
  #fd-root .fd-art-posrow__left { flex: 1 1 auto; min-width: 0; }
  #fd-root .fd-art-posrow__right { flex: none; }
  #fd-root .fd-art-posrow__left .fd-position-group:first-child { margin-top: 0; }
  #fd-root .fd-art-posrow__left .fd-position-group__label { text-align: left; }
  #fd-root .fd-art-posrow__left .fd-position-btns { justify-content: flex-start; }

  #fd-root .fd-art-posrow__right .fd-vplace {
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 16px;
    row-gap: 14px;
    margin-top: 0;
  }
  #fd-root .fd-art-posrow__right .fd-vplace__label {
    order: 0;
    flex-basis: 100%;
    text-align: center;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  #fd-root .fd-art-posrow__right .fd-vplace__hint {
    order: 1;
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }
  #fd-root .fd-art-posrow__right .fd-vplace__hint-txt {
    width: min-content;
    white-space: normal;
    text-align: center;
    line-height: 1.6;
  }
  #fd-root .fd-art-posrow__right .fd-vplace__track { order: 2; }

  #fd-root .fd-text-input-wrap {
    position: relative;
    margin-bottom: 18px;
  }
  #fd-root .fd-text-input {
    width: 100%;
    padding: 14px 70px 14px 20px;
    border: none;
    border-radius: var(--fd-radius-pill);
    font-size: 15px;
    color: var(--fd-navy);
    background: #F4F5F8;
    outline: none;
    box-sizing: border-box;
    letter-spacing: 0.06em;
    font-weight: 600;
  }
  #fd-root .fd-text-input::placeholder { color: var(--fd-navy); opacity: 0.6; }
  #fd-root .fd-text-counter {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    font-weight: 400;
    color: rgba(15, 23, 42, 0.85);
    pointer-events: none;
  }


  #fd-root .fd-subsection-label {
    text-align: center;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: var(--fd-navy);
    text-transform: uppercase;
    margin-bottom: 12px;
  }
  #fd-root .fd-font-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #fd-root .fd-font-row::-webkit-scrollbar { display: none; }
  #fd-root .fd-font-btn {
    flex: 0 0 auto;
    width: 80px;
    height: 44px;
    border-radius: var(--fd-radius-pill);
    border: 1.5px solid var(--fd-divider);
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fd-navy);
    font-size: 18px;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
  }
  #fd-root .fd-font-btn.is-active {
    background: var(--fd-navy);
    color: #fff;
    border-color: var(--fd-navy);
  }


  #fd-root .fd-icon-series-row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin-bottom: 12px;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #fd-root .fd-icon-series-row::-webkit-scrollbar { display: none; }
  #fd-root .fd-icon-series-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 6px 12px;
    line-height: 18px;
    border-radius: var(--fd-radius-pill);
    border: 1.5px solid var(--fd-pill-border-soft);
    background: var(--fd-pill-bg-soft);
    color: var(--fd-navy);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
  }
  #fd-root .fd-icon-series-btn.is-active {
    background: var(--fd-navy);
    color: #fff;
    border-color: var(--fd-navy);
  }
  #fd-root .fd-icon-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #fd-root .fd-icon-row::-webkit-scrollbar { display: none; }
  #fd-root .fd-icon-btn {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 1.5px solid rgba(209, 212, 255, 0.60);
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 6px;
    box-sizing: border-box;
  }
  #fd-root .fd-icon-btn.is-active { border-color: var(--fd-navy); border-width: 2px; }
  #fd-root .fd-icon-btn img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }


  @media (hover: hover) and (pointer: fine) {
    #fd-root .fd-icon-row,
    #fd-root .fd-icon-series-row,
    #fd-root .fd-font-row,
    #fd-root .fd-pill-row__items { cursor: grab; }
  }
  #fd-root .is-dragging {
    cursor: grabbing !important;
    scroll-behavior: auto;
    user-select: none;
  }
  #fd-root .fd-pill-row__items img,
  #fd-root .fd-pill-row__items a { -webkit-user-drag: none; user-drag: none; }


  #fd-root .fd-position-group { margin-top: 18px; }
  #fd-root .fd-position-group__label {
    font-size: 11px;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--fd-navy);
    margin-bottom: 10px;
  }
  #fd-root .fd-position-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
  }
  #fd-root .fd-position-btn {
    padding: 6px 12px;
    line-height: 18px;
    border-radius: var(--fd-radius-pill);
    border: 1.5px solid var(--fd-pill-border-soft);
    background: var(--fd-pill-bg-soft);
    color: var(--fd-navy);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
  }
  #fd-root .fd-position-btn.is-active {
    background: var(--fd-navy);
    color: #fff;
    border-color: var(--fd-navy);
  }
  #fd-root .fd-position-btn:disabled { opacity: 0.4; cursor: not-allowed; }


  #fd-root .fd-vplace {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
  }
  #fd-root .fd-vplace__label { font-size: 13px; font-weight: 500; color: var(--fd-navy); }
  #fd-root .fd-vplace__hint { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #c4c7d6; white-space: nowrap; }
  #fd-root .fd-vplace__hint svg { width: 16px; height: 16px; }
  #fd-root .fd-vplace__track {
    position: relative;
    width: 20px;
    height: 130px;
    background: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 999px;
  }

  #fd-root .fd-vplace__tick {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 1px;
    background: #D9D9D9;
    pointer-events: none;
  }

  #fd-root .fd-y-slider {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 126px;
    height: 20px;
    transform: translate(-50%, -50%) rotate(90deg);
    background: transparent;
    outline: none;
    margin: 0;
    cursor: pointer;
  }
  #fd-root .fd-y-slider::-webkit-slider-runnable-track { height: 20px; background: transparent; border: none; }
  #fd-root .fd-y-slider::-moz-range-track { height: 20px; background: transparent; border: none; }
  #fd-root .fd-y-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border-radius: 50%;
    background: var(--fd-navy);
    box-shadow: 2px 0 6px 0 rgba(35, 60, 134, 0.30);
    cursor: pointer;
  }
  #fd-root .fd-y-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: none;
    border-radius: 50%;
    background: var(--fd-navy);
    box-shadow: 2px 0 6px 0 rgba(35, 60, 134, 0.30);
    cursor: pointer;
  }


  #fd-root .fd-art-subtoggle-wrap { display: flex; justify-content: center; }
  #fd-root .fd-art-subtoggle {
    display: inline-flex;
    background: var(--fd-pill-bg-soft);
    border: 1.5px solid var(--fd-pill-border-soft);
    border-radius: var(--fd-radius-pill);
    padding: 4px;
    margin: 0 auto 18px;
    position: relative;
  }
  #fd-root .fd-art-subtoggle-btn {
    border: 1.5px solid transparent;
    background: none;
    padding: 10px 26px;
    border-radius: var(--fd-radius-pill);
    color: var(--fd-navy);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
  }
  #fd-root .fd-art-subtoggle-btn.is-active {
    background: var(--fd-navy);
    color: #fff;
  }
  #fd-root .fd-art-subtoggle-btn.has-check {
    border-color: var(--fd-pink);
  }
  #fd-root .fd-art-subtoggle-btn.has-check::after {
    content: '';
    position: absolute;
    top: -8px; right: -8px;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: #fff var(--fd-icon-check) center/contain no-repeat;
  }


  #fd-root .fd-art-subtoggle-btn:disabled { opacity: 0.4; cursor: default; }

  #fd-root .fd-pos-intro {
    text-align: center;
    color: var(--fd-navy);
    font-size: 12px;
    font-weight: 400;
    margin: 16px 0 14px;
  }
  #fd-root .fd-pos-cards {
    display: flex;
    justify-content: center;
    gap: 16px;
  }
  #fd-root .fd-pos-card {
    flex: 0 0 80px;
    height: 80px;
    padding: 12px;
    border: none;
    border-radius: 6px;
    background: var(--fd-pill-bg-soft);
    color: var(--fd-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  #fd-root .fd-pos-card svg { width: 30px; height: 30px; }

  #fd-root .fd-pos-card svg path { fill-opacity: 1; }
  #fd-root .fd-pos-card:disabled { opacity: 0.4; cursor: default; }


  #fd-root .fd-pos-eltoggle {
    display: flex;
    justify-content: center;
    gap: 36px;
    margin-bottom: 18px;
  }
  #fd-root .fd-pos-eltoggle__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: none;
    background: none;
    padding: 6px 2px;
    font-size: 14px;
    font-weight: 600;

    color: rgba(15, 23, 42, 0.6);
    border-bottom: 2px solid transparent;
    cursor: pointer;
  }
  #fd-root .fd-pos-eltoggle__btn.is-active {
    color: var(--fd-navy);
    border-bottom-color: var(--fd-navy);
  }

  #fd-root .fd-pos-eltoggle__btn:disabled { color: rgba(15, 23, 42, 0.2); cursor: default; }
  #fd-root .fd-pos-eltoggle__ic { display: inline-flex; }
  #fd-root .fd-pos-eltoggle__ic svg { width: 16px; height: 16px; }

  #fd-root .fd-pos-eltoggle__ic svg path { fill-opacity: 1; }

  #fd-root .fd-pos-heading {
    font-size: 13px;
    font-weight: 700;
    color: var(--fd-navy);
    margin-bottom: 14px;
  }


  #fd-root .fd-pos-dethead {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
  }
  #fd-root .fd-pos-dethead .fd-pos-eltoggle { margin-bottom: 0; }
  #fd-root .fd-pos-back {
    position: absolute;
    left: 0;
    width: 32px; height: 32px;
    border-radius: 50%;
    border: none;
    background: var(--fd-pill-bg-soft);
    color: var(--fd-navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  #fd-root .fd-pos-back svg { width: 18px; height: 18px; }


  #fd-root .fd-popover__cta-wrap.fd-popover__cta-wrap--tabs {
    justify-content: space-between;
  }

  #fd-root .fd-pos-done { padding: 11px 22px; margin-left: auto; }
  #fd-root .fd-pos-tabbar {
    display: flex;
    gap: 14px;
  }
  #fd-root .fd-pos-tab {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    border: none;
    background: none;
    padding: 0;
    font-size: 10px;
    font-weight: 500;

    color: rgba(15, 23, 42, 0.6);
    cursor: pointer;
  }
  #fd-root .fd-pos-tab.is-active { color: var(--fd-navy); }
  #fd-root .fd-pos-tab__ic svg { width: 20px; height: 20px; }

  #fd-root .fd-pos-tab__ic svg path { fill: currentColor; fill-opacity: 1; }


  #fd-root .fd-mobile-tabbar { display: none; }
  #fd-root .fd-product-info--mobile { display: none; }
  #fd-root .fd-mobile-purchase { display: none; }



  #fd-root .fd-popover {
    position: fixed;
    inset: 0;
    z-index: 1000;
    pointer-events: none;

    visibility: hidden;
    transition: visibility 0s linear 0.28s;
  }
  #fd-root .fd-popover.is-open { visibility: visible; transition-delay: 0s; }
  #fd-root .fd-popover__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    pointer-events: none;
  }
  #fd-root .fd-popover__sheet {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -10px 40px rgba(0,0,0,0.1);
    padding: 14px var(--container-gutter) 24px;
    transform: translateY(100%);
    transition: transform 0.28s ease;
    max-height: 70dvh;
    display: flex;
    flex-direction: column;
    pointer-events: auto;
  }
  #fd-root .fd-popover.is-open .fd-popover__sheet { transform: translateY(0); }
  #fd-root .fd-popover__tab-pill {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--fd-navy);
    color: #fff;
    border-radius: var(--fd-radius-pill);
    width: 118px;
    height: 24px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
  }
  #fd-root .fd-popover__close {
    position: absolute;
    right: 14px;
    top: -14px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--fd-divider);
    color: var(--fd-navy);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }

  #fd-root .fd-popover__pager {
    position: relative;
    margin: 16px -18px 0;
    color: var(--fd-navy);
  }

  #fd-root .fd-popover__steps-wrap { width: 100%; min-width: 0; }

  #fd-root .fd-popover__pager::before,
  #fd-root .fd-popover__pager::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 98px;
    z-index: 2;
    pointer-events: none;
  }
  #fd-root .fd-popover__pager::before { left: 0; background: linear-gradient(90deg, #FFF 0%, #FFF 60%, rgba(255, 255, 255, 0.00) 100%); }
  #fd-root .fd-popover__pager::after { right: 0; background: linear-gradient(270deg, #FFF 0%, #FFF 60%, rgba(255, 255, 255, 0.00) 100%); }
  #fd-root .fd-popover__pager.is-single::before,
  #fd-root .fd-popover__pager.is-single::after { display: none; }

  #fd-root .fd-popover__steps {
    width: 100%;
    min-width: 0;
    display: flex;
    gap: 50px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #fd-root .fd-popover__steps::before,
  #fd-root .fd-popover__steps::after { content: ''; flex: 0 0 50%; }
  #fd-root .fd-popover__pager.is-single .fd-popover__steps { overflow-x: hidden; }
  #fd-root .fd-popover__steps::-webkit-scrollbar { display: none; }
  #fd-root .fd-popover__step {
    flex: 0 0 auto;
    white-space: nowrap;
    background: none;
    border: none;
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--fd-navy);
    opacity: 0.35;
    cursor: pointer;
  }
  #fd-root .fd-popover__step.is-current { opacity: 1; font-weight: 700; }
  #fd-root .fd-popover__step:disabled { cursor: default; }
  #fd-root .fd-popover__step-arrow {
    position: absolute;
    top: 0; bottom: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 4px 0;
    color: var(--fd-navy);
    cursor: pointer;
  }
  #fd-root .fd-popover__step-arrow[data-action="step-prev"] { left: var(--container-gutter); }
  #fd-root .fd-popover__step-arrow[data-action="step-next"] { right: var(--container-gutter); }
  #fd-root .fd-popover__step-arrow:disabled { color: rgba(26,33,105,0.2); cursor: not-allowed; }
  #fd-root .fd-popover__step-arrow svg { display: block; width: 18px; height: 18px; }
  #fd-root .fd-popover__body {
    flex: 1;
    overflow-y: auto;

    padding-block: 16px;
    min-height: 0;
  }

  #fd-root .fd-popover__cta-wrap {
    border-top: 1px solid var(--fd-divider);
    margin: 0 -18px -24px;
    padding: 10px var(--container-gutter);
    display: flex;
    justify-content: flex-end;
    align-items: center;

    min-height: 59px;
  }



  #fd-root #fd-canvas-container.is-fullscreen {
    position: fixed;
    z-index: 1101;
    background: #F4F5F8;
    transition: top .35s ease, left .35s ease, width .35s ease, height .35s ease;
  }
  #fd-root .fd-fullscreen { display: none; }
  #fd-root .fd-fullscreen.is-open { display: block; }
  #fd-root .fd-fullscreen__close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--fd-divider);
    color: var(--fd-navy);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1102;
  }


  @media screen and (max-width: 1023px) {


    #fd-root { height: calc(100dvh - var(--header-height, 0px) - 10px); }
    #fd-root > section,
    #fd-root > section > .container { height: 100%; }
    #fd-root .fd-card {
      padding: 12px 14px 0;
      border-radius: 0;
      background: transparent;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    #fd-root .fd-header { display: none; }
    #fd-root .fd-layout {
      display: flex;
      flex-direction: column;
      min-height: 0;
      flex: 1;
      position: relative;
      margin-bottom: 16px;
    }
    #fd-root .fd-canvas-side {
      flex: 1;
      min-height: 0;
      border-radius: 16px;
      aspect-ratio: auto;
      background: #ffffff;
      overflow: hidden;
    }
    #fd-root #fd-canvas-container.is-fullscreen { background: #ffffff; }

    #fd-root #fd-canvas-container { width: 100%; height: 100%; min-height: 0; }
    #fd-root .fd-canvas-ar:not([hidden]) { display: inline-flex; }

    #fd-root .fd-preview-expand,
    #fd-root .fd-toggle-guide,
    #fd-root .fd-rotate-view { font-size: 11px; }

    #fd-root .fd-product-info--mobile {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      left: 50%;
      bottom: 16px;
      transform: translateX(-50%);
      width: max-content;
      z-index: 6;
      margin: 0;
    }
    #fd-root .fd-product-info--mobile .fd-pt-btn { padding: 8px 16px; gap: 10px; background: var(--fd-pill-bg); }
    #fd-root .fd-product-info--mobile .fd-product-name { font-size: 13px; font-weight: 500; }
    #fd-root .fd-product-info--mobile .fd-product-size { font-size: 11px; }
    #fd-root .fd-product-info--mobile .fd-pt-menu { top: auto; bottom: calc(100% + 6px); min-width: 0; width: calc(100vw - var(--container-gutter)); max-width: 500px; }

    #fd-root .fd-panel { display: none; }

    #fd-root .fd-mobile-tabbar {
      display: flex;
      padding: 4px 0 0;
      gap: 0;
      background: transparent;
      flex-shrink: 0;
      position: relative;
    }
    #fd-root .fd-mobile-tab {
      flex: 1;
      background: none;
      border: none;
      border-bottom: 1.5px solid rgba(0, 26, 252, 0.10);
      padding: 8px 4px;
      cursor: pointer;
      color: var(--fd-navy);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      font-size: 12px;
      font-weight: 600;
      position: relative;
    }
    #fd-root .fd-mobile-tab.is-active { font-weight: 700; }
    #fd-root .fd-mobile-tab__check {
      position: absolute;
      top: -8px; left: 50%;
      transform: translateX(-50%);
      width: 12px; height: 12px;
      border-radius: 50%;
      background: #fff var(--fd-icon-check) center/contain no-repeat;
      pointer-events: none;
    }
    #fd-root .fd-mobile-tabbar__indicator { display: none; }
    #fd-root .fd-mobile-tab__icon {
      width: 24px; height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      aspect-ratio: 1 / 1;
      flex-shrink: 0;
    }
    #fd-root .fd-mobile-tab__icon img,
    #fd-root .fd-mobile-tab__icon svg { width: 100%; height: 100%; object-fit: contain; }

    #fd-root .fd-swatch-grid { gap: 8px; justify-content: flex-start; }

    #fd-root .fd-swatch-grid.fd-swatch-grid--center { justify-content: center; }
    #fd-root .fd-swatch { width: 40px; height: 40px; }

    #fd-root .fd-pop-color-title {
      text-align: center;
      font-size: 11px;
      font-weight: 400;
      letter-spacing: 0.08em;
      color: var(--fd-navy);
      text-transform: uppercase;
      margin: 0 0 14px;
    }
    #fd-root .fd-pop-color-title__val {
      margin-left: 6px;
      font-weight: 700;
      text-transform: none;
      letter-spacing: 0;
    }
    #fd-root .fd-pill-row {
      background: transparent;
      border-radius: 0;
      padding: 0;
    }
    #fd-root .fd-pill-row__items { padding-inline: 0; }
    #fd-root .fd-pill__circle,
    #fd-root .fd-pill__none-icon,
    #fd-root .fd-icon-btn { width: 60px; height: 60px; }


    #fd-root .fd-popover__tab-pill { font-size: 12px; font-weight: 600; }
    #fd-root .fd-popover__step { font-size: 14px; }
    #fd-root .fd-pill__label { font-size: 11px; font-weight: 500; }
    #fd-root .fd-text-input { font-size: 12px; }
    #fd-root .fd-text-counter { font-size: 11px; }
    #fd-root .fd-subsection-label,
    #fd-root .fd-position-group__label { font-size: 10px; text-align: left; }

    #fd-root .fd-position-group__label { font-weight: 500; text-transform: none; }
    #fd-root .fd-vplace__label { font-size: 12px; }
    #fd-root .fd-vplace__hint { font-size: 10px; }
    #fd-root .fd-position-btns { justify-content: flex-start; }

    #fd-root .fd-position-group:not(.fd-vplace) {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    #fd-root .fd-position-group:not(.fd-vplace) .fd-position-group__label {
      flex: 0 0 88px;
      margin-bottom: 0;
    }

    #fd-root .fd-art-card { border: none; border-radius: 0; padding: 0; margin: 0; }
    #fd-root .fd-art-card__header { display: none; }

    #fd-root .fd-mode-row,
    #fd-root .fd-art-subtoggle {
      display: flex;
      gap: 10px;
      padding: 4px;
      width: fit-content;
      margin: 0 auto 18px;
      background: transparent;
      border: 1px solid rgba(0, 26, 252, 0.10);
      border-radius: var(--fd-radius-pill);
    }
    #fd-root .fd-mode-btn,
    #fd-root .fd-art-subtoggle-btn {
      width: auto;
      height: auto;
      padding: 6px 24px;
      font-size: 13px;
      font-weight: 600;
      background: var(--fd-pill-bg-soft);
      border: 1.5px solid var(--fd-pill-border-soft);
      color: var(--fd-navy);
    }
    #fd-root .fd-cta-btn {
      font-size: 12px;
      font-weight: 600;
      padding: 10px 22px;
    }
    #fd-root .fd-art-subtoggle-btn.has-check::after {
      top: -6px; right: -6px;
      width: 20px; height: 20px;
    }


    #fd-root .fd-mobile-purchase {
      display: flex;
      justify-content: center;
      align-items: stretch;
      margin-top: 6px;
      padding: 14px 0;
      flex-shrink: 0;
    }
    #fd-root .fd-add-to-cart {
      background: var(--fd-navy);
      color: #fff;
      border: none;
      border-radius: var(--fd-radius-pill);
      padding: 12px 32px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      letter-spacing: 0.04em;
    }
    #fd-root .fd-add-to-cart:disabled { opacity: 0.6; cursor: not-allowed; }
  }


  #fd-root .fd-loading {
    position: fixed;
    inset: 0;
    z-index: 100001;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--fd-bg, #f7f7f1);
    transition: opacity 0.5s ease, visibility 0.5s;
  }
  #fd-root .fd-loading.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  #fd-root .fd-loading__inner {
    width: min(340px, 78vw);
    text-align: center;
  }
  #fd-root .fd-loading__brand {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 30px;
    line-height: 0;
  }
  #fd-root .fd-loading__word { position: relative; display: inline-block; line-height: 0; }
  #fd-root .fd-loading__word svg { display: block; height: auto; overflow: visible; }
  #fd-root .fd-loading__word--montigo svg { width: min(78px, 22.4vw); }
  #fd-root .fd-loading__word--customs svg { width: min(280px, 80vw); }
  #fd-root .fd-loading__layer { display: block; }

  #fd-root .fd-loading__layer--grey svg path { fill: #cdd0db; }

  #fd-root .fd-loading__layer--color {
    position: absolute;
    inset: 0;
    clip-path: inset(-30px calc(100% - var(--fd-fill, 0%)) -20px 0);
    transition: clip-path 0.35s ease;
  }

  #fd-root .fd-loading__word--customs svg path {
    transform-box: fill-box;
    animation: fd-cust-wave 2.4s ease-in-out infinite;
  }
  #fd-root .fd-loading__word--customs svg path:nth-child(1) { animation-delay: 0s; }
  #fd-root .fd-loading__word--customs svg path:nth-child(2) { animation-delay: 0.1s; }
  #fd-root .fd-loading__word--customs svg path:nth-child(3) { animation-delay: 0.2s; }
  #fd-root .fd-loading__word--customs svg path:nth-child(4) { animation-delay: 0.3s; }
  #fd-root .fd-loading__word--customs svg path:nth-child(5) { animation-delay: 0.4s; }
  #fd-root .fd-loading__word--customs svg path:nth-child(6) { animation-delay: 0.5s; }
  #fd-root .fd-loading__word--customs svg path:nth-child(7) { animation-delay: 0.6s; }
  @keyframes fd-cust-wave {
    0%   { transform: translateY(0); }
    12%  { transform: translateY(-46px); }
    24%  { transform: translateY(0); }
    100% { transform: translateY(0); }
  }
  #fd-root .fd-loading__bar {
    height: 6px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.12);
    overflow: hidden;
    container-type: inline-size;
  }

  #fd-root .fd-loading__fill {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: linear-gradient(92deg, #E500FF, #001AFC, #3AE2CF, #FFDA19, #F58900);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100cqw 100%;
    transition: width 0.35s ease;
  }
  #fd-root .fd-loading__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--fd-navy);
  }
  #fd-root .fd-loading__label {
    opacity: 0.7;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  #fd-root .fd-loading__pct { font-variant-numeric: tabular-nums; }
  @media (prefers-reduced-motion: reduce) {
    #fd-root .fd-loading__layer--color { transition: none; }
    #fd-root .fd-loading__word--customs svg path { animation: none; }
  }
