#cb-studio-details {
    font-family: Poppins, Arial, sans-serif;
    color: #172d4e;
    background: #fff;
    font-synthesis: none;
    --navy: #172d4e;
    --orange: #fa6400;
    --cream: #faf7f0;
    --line: #e7e9ed;
    --muted: #68758a;
    scroll-behavior: smooth
}

#cb-studio-details * {
    box-sizing: border-box
}

#cb-studio-details {
    margin: 0;
    min-width: 0;
    -webkit-font-smoothing: antialiased
}

#cb-studio-details button,
#cb-studio-details input,
#cb-studio-details select,
#cb-studio-details textarea {
    font: inherit
}

#cb-studio-details button,
#cb-studio-details a,
#cb-studio-details input,
#cb-studio-details select,
#cb-studio-details textarea {
    -webkit-tap-highlight-color: transparent
}

#cb-studio-details button {
    cursor: pointer;
    color: inherit;
    border: 0;
    background: transparent
}

#cb-studio-details a {
    color: inherit;
    text-decoration: none
}

#cb-studio-details a:hover {
    text-decoration: underline
}

#cb-studio-details button:disabled {
    cursor: default;
    opacity: .48
}

#cb-studio-details :focus-visible {
    outline: 3px solid #fba365;
    outline-offset: 3px
}

#cb-studio-details img {
    max-width: 100%;
    display: block
}

#cb-studio-details h1,
#cb-studio-details h2,
#cb-studio-details h3,
#cb-studio-details p {
    margin: 0
}

#cb-studio-details h1,
#cb-studio-details h2,
#cb-studio-details h3 {
    font-family: Alatsi, Poppins, Arial, sans-serif;
    font-weight: 400
}

#cb-studio-details svg {
    flex: none
}

#cb-studio-details input[type=checkbox],
#cb-studio-details input[type=radio] {
    accent-color: var(--orange);
    flex: none
}

#cb-studio-details input[type=checkbox] {
    width: 18px;
    height: 18px
}

#cb-studio-details input[type=radio] {
    width: 16px;
    height: 16px
}

#cb-studio-details textarea,
#cb-studio-details input[type=text],
#cb-studio-details select {
    border: 1px solid #d9dee6;
    border-radius: 6px;
    padding: 11px 12px;
    background: #fff;
    color: var(--navy);
    width: 100%;
    font-size: 13px;
    line-height: 1.5
}

#cb-studio-details textarea {
    resize: vertical
}

#cb-studio-details select {
    min-height: 44px
}

#cb-studio-details .page-width {
    max-width: 1344px;
    margin: auto;
    padding-inline: 32px
}

#cb-studio-details .detail-width {
    max-width: 1100px;
    margin: auto;
    padding-inline: 40px
}

#cb-studio-details .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

#cb-studio-details .muted {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7
}

#cb-studio-details .preview-notice {
    background: #f2f4f8;
    color: #52617b;
    font-size: 11px;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px max(24px, calc((100vw - 1280px)/2));
    gap: 16px
}

#cb-studio-details .preview-notice b {
    font-weight: 500
}

#cb-studio-details .preview-notice a {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap
}

#cb-studio-details .announcement {
    height: 38px;
    background: #081849 url('/assets/holiday-ribbon.webp') center/cover no-repeat;
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px
}

#cb-studio-details .announcement span {
    background: #081849ed;
    padding: 3px 14px
}

#cb-studio-details .announcement b {
    color: #ff923b;
    font-weight: 600
}

#cb-studio-details .site-header {
    background: #fffefb;
    border-bottom: 1px solid #f0eee8
}

#cb-studio-details .header-inner {
    max-width: 1440px;
    min-height: 93px;
    padding: 16px 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin: auto
}

#cb-studio-details .logo {
    width: 184px;
    height: 60px;
    object-fit: contain
}

#cb-studio-details .navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex: 1
}

#cb-studio-details .navigation a {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 500
}

#cb-studio-details .header-actions {
    display: flex;
    gap: 12px;
    align-items: center
}

#cb-studio-details .icon-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 36px;
    min-height: 36px;
    padding: 5px;
    border-radius: 5px
}

#cb-studio-details .icon-button:hover {
    background: #f5f2eb
}

#cb-studio-details .menu-toggle {
    display: none
}

#cb-studio-details .bag-trigger {
    position: relative
}

#cb-studio-details .bag-count {
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--orange);
    font-size: 10px
}

#cb-studio-details .breadcrumbs {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 11px;
    line-height: 1.5;
    color: #7b879a;
    margin-block: 24px
}

#cb-studio-details .breadcrumbs span:last-child {
    color: #596982
}

#cb-studio-details .product-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    align-items: start;
    padding-bottom: 64px
}

#cb-studio-details .hero-image {
    display: block;
    position: relative;
    border: 1px solid var(--line);
    border-radius: 7px;
    width: 100%;
    overflow: hidden;
    background: white;
    padding: 0;
    aspect-ratio: 1
}

#cb-studio-details .hero-image>img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

#cb-studio-details .zoom-hint {
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 34px;
    height: 34px;
    background: #fffffff0;
    border: 1px solid #e7e9ed;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    opacity: .6
}

#cb-studio-details .hero-image:hover .zoom-hint {
    opacity: 1
}

#cb-studio-details .customer-gallery {
    margin-top: 22px
}

#cb-studio-details .gallery-heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px
}

#cb-studio-details .gallery-heading h2 {
    font-family: Poppins, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600
}

#cb-studio-details .gallery-heading>span {
    color: #748097;
    font-size: 11px
}

#cb-studio-details .customer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px
}

#cb-studio-details .customer-grid button {
    aspect-ratio: 1.02;
    padding: 0;
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    background: #f4f0e9
}

#cb-studio-details .customer-grid img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 30%;
    transition: transform .3s
}

#cb-studio-details .customer-grid button:hover img {
    transform: scale(1.04)
}

#cb-studio-details .customer-grid button>span {
    position: absolute;
    right: 6px;
    bottom: 6px;
    padding: 4px;
    border-radius: 3px;
    background: #ffffffe8;
    opacity: 0;
    display: flex
}

#cb-studio-details .customer-grid button:hover>span,
#cb-studio-details .customer-grid button:focus-visible>span {
    opacity: 1
}

#cb-studio-details .gallery-note {
    font-size: 11px;
    color: #7a8597;
    margin-top: 11px
}

#cb-studio-details .personalise {
    background: var(--cream);
    padding: 26px 26px 18px;
    border-radius: 10px;
    scroll-margin-top: 24px
}

#cb-studio-details .eyebrow {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 10px;
    font-weight: 500;
    color: #718094
}

#cb-studio-details .product-intro h1 {
    font-size: 30px;
    line-height: 1.22;
    margin-top: 7px;
    letter-spacing: -.45px;
    max-width: 440px
}

#cb-studio-details .starting-price {
    font-size: 27px;
    color: var(--orange);
    font-weight: 600;
    margin-top: 13px;
    line-height: 1.35
}

#cb-studio-details .starting-price>span {
    color: #7b8493;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .3px;
    margin-left: 9px
}

#cb-studio-details .product-description {
    font-size: 12px;
    line-height: 1.8;
    color: #5e6e85;
    margin-top: 10px
}

#cb-studio-details .stepper {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 26px 0 25px;
    justify-content: space-between
}

#cb-studio-details .stepper li {
    display: flex;
    align-items: center;
    flex: 1
}

#cb-studio-details .stepper li:not(:last-child):after {
    content: '';
    height: 1px;
    background: #e2e2df;
    flex: 1;
    margin: 0 13px
}

#cb-studio-details .stepper li:last-child {
    flex: 0
}

#cb-studio-details .stepper button {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    white-space: nowrap;
    padding: 0
}

#cb-studio-details .stepper button>span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #e5e7eb;
    border-radius: 50%;
    color: #5c6d87;
    font-size: 11px
}

#cb-studio-details .stepper .current button {
    font-weight: 600
}

#cb-studio-details .stepper .current button>span {
    background: var(--orange);
    color: #fff
}

#cb-studio-details .stepper .complete button>span {
    background: var(--navy);
    color: #fff
}

#cb-studio-details .stepper button:disabled {
    opacity: 1;
    color: #8390a1
}

#cb-studio-details .form-content {
    background: #fff;
    border: 1px solid #eeeae3;
    border-radius: 7px;
    padding: 20px
}

#cb-studio-details .form-heading h2 {
    font-size: 20px
}

#cb-studio-details .form-heading p {
    font-size: 11px;
    line-height: 1.7;
    color: #7a8596;
    margin-top: 5px
}

#cb-studio-details .method-picker {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 4px;
    margin: 20px 0 14px;
    border: 1px solid #e9e6e0;
    border-radius: 6px;
    background: #f7f6f2;
    gap: 4px
}

#cb-studio-details .method-picker label {
    position: relative;
    text-align: center;
    font-size: 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 10px 6px;
    cursor: pointer;
    color: #7a8596
}

#cb-studio-details .method-picker label.selected {
    background: #fff;
    border-color: #e5e0d5;
    color: var(--navy)
}

#cb-studio-details .method-picker input {
    position: absolute;
    opacity: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    margin: 0
}

#cb-studio-details .method-picker label:focus-within {
    outline: 3px solid #fba365;
    outline-offset: 2px
}

#cb-studio-details .upload-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

#cb-studio-details .upload-slot {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 206px;
    padding: 16px 10px;
    text-align: center;
    border: 1px dashed #b9d4e7;
    border-radius: 6px;
    color: #087fc3;
    background: #fcfdff;
    cursor: pointer;
    overflow: hidden
}

#cb-studio-details .upload-slot:hover {
    background: #f0f8fd;
    border-color: #168ac5
}

#cb-studio-details .upload-slot strong {
    color: var(--navy);
    font-weight: 500;
    font-size: 12px;
    margin-top: 12px
}

#cb-studio-details .upload-slot small {
    font-size: 10px;
    line-height: 1.6;
    color: #7c8798;
    margin-top: 4px;
    overflow-wrap: anywhere
}

#cb-studio-details .upload-slot input {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer
}

#cb-studio-details .upload-slot>span {
    margin-top: 13px;
    font-size: 10px;
    color: #087fc3;
    text-decoration: underline
}

#cb-studio-details .upload-slot>img {
    width: 82px;
    height: 86px;
    object-fit: cover;
    border-radius: 4px
}

#cb-studio-details .remove-file {
    font-size: 10px !important;
    margin-top: 7px
}

#cb-studio-details .photo-tips {
    display: flex;
    gap: 11px;
    padding: 14px;
    background: #faf7f0;
    border-radius: 5px;
    margin-top: 19px
}

#cb-studio-details .photo-tips>svg {
    color: #e86c18;
    margin-top: 2px
}

#cb-studio-details .photo-tips strong {
    font-size: 11px;
    font-weight: 500
}

#cb-studio-details .photo-tips p {
    font-size: 10px;
    line-height: 1.8;
    color: #7d8795;
    margin-top: 3px
}

#cb-studio-details .local-photo-note {
    font-size: 10px;
    color: #8b94a2;
    text-align: center;
    margin-top: 14px;
    line-height: 1.6
}

#cb-studio-details .email-later {
    text-align: center;
    padding: 24px 14px;
    background: #faf9f5;
    border-radius: 6px
}

#cb-studio-details .email-later>svg {
    margin: 0 auto 12px;
    color: #9aabbd
}

#cb-studio-details .email-later h3 {
    font-size: 19px
}

#cb-studio-details .email-later p {
    font-size: 12px;
    line-height: 1.8;
    color: #60718b;
    margin-top: 9px
}

#cb-studio-details .email-later p.muted {
    font-size: 10px;
    color: #8791a0;
    margin-top: 13px
}

#cb-studio-details .photo-summary {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line)
}

#cb-studio-details .photo-summary>img {
    width: 38px;
    height: 42px;
    object-fit: cover;
    border-radius: 3px
}

#cb-studio-details .photo-summary>svg {
    color: #8a9cb3
}

#cb-studio-details .photo-summary>div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0
}

#cb-studio-details .photo-summary strong {
    font-weight: 500;
    font-size: 11px
}

#cb-studio-details .photo-summary span {
    font-size: 10px;
    color: #8290a4;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap
}

#cb-studio-details .text-button {
    font-size: 11px;
    text-decoration: underline;
    color: #087fc3;
    padding: 3px 0;
    display: inline-flex;
    align-items: center
}

#cb-studio-details .field-section {
    padding: 0;
    border: 0;
    min-width: 0;
    margin: 21px 0 0
}

#cb-studio-details .field-section legend {
    width: 100%;
    font-size: 12px;
    font-weight: 500;
    padding: 0;
    margin-bottom: 11px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

#cb-studio-details .field-section legend>a {
    font-size: 10px;
    color: #087fc3;
    text-decoration: underline;
    font-weight: 400
}

#cb-studio-details .field-section legend>span {
    font-size: 10px;
    font-weight: 400;
    color: #8d96a3
}

#cb-studio-details .size-options {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px
}

#cb-studio-details .choice {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid #e1e5eb;
    border-radius: 5px;
    padding: 11px 3px;
    min-height: 80px;
    cursor: pointer
}

#cb-studio-details .choice strong {
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap
}

#cb-studio-details .choice span {
    font-size: 10px;
    color: #7b879a
}

#cb-studio-details .choice small {
    font-size: 9px;
    color: #7b879a;
    white-space: nowrap
}

#cb-studio-details .choice.selected,
#cb-studio-details .head-choice.selected,
#cb-studio-details .package-choice.selected {
    border-color: var(--orange);
    background: #fffbf7
}

#cb-studio-details .choice.selected small {
    color: var(--orange)
}

#cb-studio-details .choice input,
#cb-studio-details .head-choice>input,
#cb-studio-details .package-choice>input {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer
}

#cb-studio-details .choice:focus-within,
#cb-studio-details .head-choice:focus-within,
#cb-studio-details .package-choice:focus-within {
    outline: 3px solid #fba365;
    outline-offset: 2px
}

#cb-studio-details .head-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

#cb-studio-details .head-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #e1e5eb;
    border-radius: 5px;
    padding: 12px 8px;
    min-height: 83px;
    cursor: pointer
}

#cb-studio-details .head-choice>img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    mix-blend-mode: multiply
}

#cb-studio-details .head-choice>div {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px
}

#cb-studio-details .head-choice strong {
    font-size: 11px;
    font-weight: 500
}

#cb-studio-details .head-choice span:not(.selection-indicator) {
    font-size: 8px;
    line-height: 1.4;
    color: #8490a2
}

#cb-studio-details .head-choice small {
    font-size: 9px;
    color: var(--orange)
}

#cb-studio-details .selection-indicator {
    width: 15px;
    height: 15px;
    border: 1px solid #cbd1da;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none
}

#cb-studio-details .selected .selection-indicator {
    background: var(--orange);
    color: #fff;
    border-color: var(--orange)
}

#cb-studio-details .appearance-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px
}

#cb-studio-details .appearance-options>label {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    cursor: pointer
}

#cb-studio-details .appearance-options input {
    margin: 1px 0 0
}

#cb-studio-details .appearance-options span {
    display: flex;
    flex-direction: column;
    gap: 3px
}

#cb-studio-details .appearance-options strong {
    font-size: 11px;
    font-weight: 500
}

#cb-studio-details .appearance-options small {
    font-size: 9px;
    line-height: 1.5;
    color: #8490a2
}

#cb-studio-details .colour-options {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 13px;
    background: #faf9f6;
    border-radius: 5px
}

#cb-studio-details .colour-options label {
    font-size: 11px
}

#cb-studio-details .colour-options select {
    margin-top: 5px;
    font-size: 11px
}

#cb-studio-details .check-row {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    margin: 12px 0;
    cursor: pointer
}

#cb-studio-details .check-row input {
    margin: 1px 0 0
}

#cb-studio-details .check-row>span {
    display: flex;
    flex-direction: column;
    gap: 3px
}

#cb-studio-details .check-row strong {
    font-size: 11px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

#cb-studio-details .check-row b {
    font-size: 10px;
    font-weight: 400;
    color: var(--orange)
}

#cb-studio-details .check-row small {
    font-size: 10px;
    color: #8791a1;
    line-height: 1.6
}

#cb-studio-details .sub-field {
    display: block;
    padding: 13px;
    margin: 8px 0 15px;
    background: #faf9f5;
    border-radius: 5px;
    font-size: 11px
}

#cb-studio-details .sub-field textarea,
#cb-studio-details .sub-field input {
    margin-top: 7px;
    font-size: 12px
}

#cb-studio-details .sub-field small {
    display: block;
    font-size: 9px;
    color: #8590a0;
    margin-top: 6px;
    line-height: 1.7
}

#cb-studio-details .extra-options {
    margin-top: 20px;
    border-top: 1px solid var(--line)
}

#cb-studio-details .option-group {
    border-bottom: 1px solid var(--line)
}

#cb-studio-details .option-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 49px;
    padding: 9px 0;
    text-align: left
}

#cb-studio-details .option-toggle strong {
    font-size: 11px;
    font-weight: 500
}

#cb-studio-details .option-toggle>span {
    font-size: 9px;
    color: #8490a2;
    margin-left: auto;
    max-width: 150px;
    text-align: right
}

#cb-studio-details .option-toggle>svg:last-child {
    transition: transform .2s
}

#cb-studio-details .rotate {
    transform: rotate(180deg)
}

#cb-studio-details .option-body {
    padding: 2px 0 16px;
    font-size: 11px
}

#cb-studio-details .option-body label {
    font-size: 11px;
    display: block
}

#cb-studio-details .option-body select,
#cb-studio-details .option-body textarea {
    margin-top: 7px;
    font-size: 11px
}

#cb-studio-details .base-preview {
    width: 100px;
    height: 90px;
    object-fit: contain;
    margin: 12px auto 0
}

#cb-studio-details .option-note,
#cb-studio-details .urgent-note {
    font-size: 10px;
    line-height: 1.7;
    display: flex;
    gap: 7px;
    align-items: flex-start;
    margin: 12px 0
}

#cb-studio-details .option-note {
    color: #6a7b93
}

#cb-studio-details .urgent-note {
    background: #fff3e5;
    border: 1px solid #ffe0b7;
    border-radius: 5px;
    padding: 11px;
    color: #8b4708
}

#cb-studio-details .option-note svg,
#cb-studio-details .urgent-note svg {
    margin-top: 2px
}

#cb-studio-details .packaging-choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px
}

#cb-studio-details .package-choice {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 10px;
    text-align: center;
    cursor: pointer
}

#cb-studio-details .package-choice img {
    height: 80px;
    margin: auto;
    object-fit: contain
}

#cb-studio-details .package-choice>span {
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 3px;
    margin-top: 8px
}

#cb-studio-details .package-choice small {
    font-size: 10px;
    color: #8994a5
}

#cb-studio-details .form-error {
    font-size: 12px;
    line-height: 1.7;
    color: #a03620;
    background: #fff1e9;
    border: 1px solid #f4cbbd;
    padding: 12px;
    margin-top: 12px;
    border-radius: 5px
}

#cb-studio-details .form-footer {
    margin-top: 19px
}

#cb-studio-details .footer-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    min-height: 24px;
    margin-bottom: 14px
}

#cb-studio-details .small-model {
    font-size: 10px;
    color: #7b879a
}

#cb-studio-details .running-total {
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap
}

#cb-studio-details .running-total b {
    font-size: 23px;
    font-weight: 600;
    color: var(--orange)
}

#cb-studio-details .back-button {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    padding: 4px 0
}

#cb-studio-details .primary-button {
    background: var(--orange);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    min-height: 47px;
    width: 100%;
    padding: 12px 16px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    transition: background .15s
}

#cb-studio-details .primary-button:hover {
    background: #e85a00
}

#cb-studio-details .primary-button:active {
    transform: translateY(1px)
}

#cb-studio-details .footer-note {
    font-size: 9px;
    text-align: center;
    line-height: 1.6;
    color: #8b94a3;
    margin-top: 10px
}

#cb-studio-details .review-product {
    display: flex;
    gap: 15px;
    align-items: center;
    margin: 20px 0
}

#cb-studio-details .review-product>img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 5px
}

#cb-studio-details .review-product>div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px
}

#cb-studio-details .review-product strong {
    font-size: 12px;
    font-weight: 500
}

#cb-studio-details .review-product span {
    font-size: 10px;
    color: #8692a4
}

#cb-studio-details .review-list {
    margin: 0
}

#cb-studio-details .review-list>div {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 12px;
    border-top: 1px solid var(--line);
    padding: 12px 0;
    font-size: 11px;
    line-height: 1.7
}

#cb-studio-details .review-list dt {
    color: #8591a4
}

#cb-studio-details .review-list dd {
    margin: 0;
    overflow-wrap: anywhere
}

#cb-studio-details .cost-breakdown {
    background: #faf8f2;
    border-radius: 5px;
    padding: 14px;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.8
}

#cb-studio-details .cost-breakdown>div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 4px 0
}

#cb-studio-details .unit-total {
    border-top: 1px solid #e9e2d8;
    padding-top: 9px !important;
    margin-top: 10px !important
}

#cb-studio-details .quantity-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    margin-top: 18px
}

#cb-studio-details .quantity-row>div {
    display: flex;
    align-items: center;
    border: 1px solid #dfe3ea;
    border-radius: 5px
}

#cb-studio-details .quantity-row button {
    min-width: 36px;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center
}

#cb-studio-details .quantity-row>div>span {
    min-width: 30px;
    text-align: center
}

#cb-studio-details .review-note {
    font-size: 10px;
    color: #8190a5;
    line-height: 1.7;
    display: flex;
    gap: 9px;
    margin-top: 17px
}

#cb-studio-details .product-details {
    border-top: 1px solid var(--line)
}

#cb-studio-details .detail-section {
    padding: 64px 0
}

#cb-studio-details .detail-section.tinted {
    background: var(--cream)
}

#cb-studio-details .detail-heading {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 29px
}

#cb-studio-details .section-number {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: none;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    font-size: 18px;
    margin-top: 2px
}

#cb-studio-details .detail-heading h2 {
    font-size: 35px;
    line-height: 1.2;
    letter-spacing: -.5px
}

#cb-studio-details .detail-heading p {
    font-size: 13px;
    color: #77849a;
    margin-top: 8px;
    line-height: 1.7
}

#cb-studio-details .photo-comparison {
    margin: 0 auto 24px;
    width: 560px;
    max-width: 100%
}

#cb-studio-details .photo-comparison img {
    width: 100%;
    aspect-ratio: 1.2;
    object-fit: contain
}

#cb-studio-details .detail-copy {
    font-size: 15px;
    line-height: 1.95;
    color: #61718b;
    max-width: 820px;
    margin: auto
}

#cb-studio-details .craft-photo {
    width: 100%;
    aspect-ratio: 2.4;
    object-fit: cover;
    object-position: center 44%;
    border-radius: 5px
}

#cb-studio-details .craft-steps {
    list-style: none;
    padding: 0;
    margin: 28px 0 0
}

#cb-studio-details .craft-steps>li {
    display: flex;
    gap: 21px;
    padding: 17px 0;
    border-bottom: 1px solid #e5dfd5
}

#cb-studio-details .craft-steps>li:last-child {
    border: 0;
    padding-bottom: 0
}

#cb-studio-details .craft-steps>li>span {
    color: var(--orange);
    font-size: 14px;
    font-weight: 500;
    padding-top: 3px
}

#cb-studio-details .craft-steps h3 {
    font-size: 21px;
    line-height: 1.5
}

#cb-studio-details .craft-steps p {
    color: #708098;
    font-size: 13px;
    line-height: 1.8;
    margin-top: 3px
}

#cb-studio-details .table-wrap {
    overflow-x: auto;
    width: 100%
}

#cb-studio-details table {
    border-collapse: collapse;
    width: 100%;
    font-size: 13px;
    line-height: 1.8
}

#cb-studio-details th,
#cb-studio-details td {
    text-align: left;
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
    vertical-align: top
}

#cb-studio-details thead th {
    background: #edf3f8;
    color: #4c6681;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: .3px
}

#cb-studio-details tbody th {
    font-weight: 500;
    min-width: 140px
}

#cb-studio-details td {
    color: #728199
}

#cb-studio-details td b {
    font-weight: 500;
    color: var(--navy);
    white-space: nowrap
}

#cb-studio-details .detail-callout {
    display: flex;
    gap: 12px;
    font-size: 12px;
    line-height: 1.85;
    color: #6b7b93;
    background: #fbf7ed;
    border-radius: 5px;
    padding: 17px 20px;
    margin-top: 24px
}

#cb-studio-details .detail-callout svg {
    color: #d48036;
    margin-top: 2px
}

#cb-studio-details .tinted .detail-callout {
    background: #fffdf8
}

#cb-studio-details .head-illustration {
    display: flex;
    justify-content: center;
    gap: 130px;
    padding: 10px 0 30px
}

#cb-studio-details .head-illustration>div {
    display: flex;
    flex-direction: column;
    align-items: center
}

#cb-studio-details .body-figure {
    object-fit: cover;
    object-position: right;
    height: 290px;
    width: 180px
}

#cb-studio-details .head-symbol {
    width: 42px;
    height: 42px;
    object-fit: contain;
    margin-top: 14px;
    mix-blend-mode: multiply
}

#cb-studio-details .head-illustration strong {
    font-size: 13px;
    font-weight: 500;
    margin-top: 8px
}

#cb-studio-details .stacked-explanations {
    max-width: 850px;
    margin: auto
}

#cb-studio-details .stacked-explanations p {
    padding: 16px 0;
    border-top: 1px solid #e3dfd6;
    font-size: 13px;
    line-height: 1.85;
    color: #708099
}

#cb-studio-details .stacked-explanations strong {
    color: var(--navy);
    font-weight: 500
}

#cb-studio-details .size-illustration {
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
    gap: 20px;
    padding: 18px 10px 35px
}

#cb-studio-details .size-illustration>div {
    display: flex;
    flex-direction: column;
    align-items: center
}

#cb-studio-details .size-illustration .body-figure {
    width: auto;
    aspect-ratio: .62;
    max-width: 100%;
    object-fit: cover;
    object-position: right
}

#cb-studio-details .size-illustration strong {
    font-size: 13px;
    font-weight: 500;
    margin-top: 10px
}

#cb-studio-details .size-illustration span {
    font-size: 11px;
    color: #8791a3;
    margin-top: 3px
}

#cb-studio-details .detail-footnote {
    font-size: 11px;
    color: #8994a5;
    margin-top: 13px
}

#cb-studio-details .delivery-equation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background: white;
    padding: 26px 20px;
    border-radius: 6px;
    margin: 20px 0 30px
}

#cb-studio-details .delivery-equation svg {
    color: var(--orange)
}

#cb-studio-details .delivery-equation strong {
    font-size: 16px;
    font-weight: 500
}

#cb-studio-details .delivery-equation svg:nth-of-type(2) {
    color: #8892a1;
    margin: 0 15px
}

#cb-studio-details .delivery-part {
    margin-top: 27px
}

#cb-studio-details .delivery-part h3 {
    font-size: 23px;
    margin-bottom: 9px
}

#cb-studio-details .delivery-part p {
    font-size: 13px;
    line-height: 1.95;
    color: #73829a
}

#cb-studio-details .production-table {
    margin-top: 23px;
    font-size: 12px
}

#cb-studio-details .production-table thead th {
    background: #f0ede5
}

#cb-studio-details .production-table tbody th {
    min-width: 110px
}

#cb-studio-details .production-table th,
#cb-studio-details .production-table td {
    padding: 13px 15px;
    border-color: #e6dfd4
}

#cb-studio-details .faq-list>div {
    padding: 24px 0;
    border-bottom: 1px solid var(--line)
}

#cb-studio-details .faq-list>div:first-child {
    padding-top: 0
}

#cb-studio-details .faq-list h3 {
    font-size: 22px
}

#cb-studio-details .faq-list p {
    font-size: 13px;
    color: #708099;
    line-height: 1.95;
    margin-top: 9px;
    max-width: 820px
}

#cb-studio-details .return-link {
    margin-top: 30px;
    display: inline-flex;
    align-items: center;
    gap: 15px;
    color: var(--orange);
    font-size: 13px;
    font-weight: 500
}

#cb-studio-details .site-footer {
    background: #f8f7f3;
    padding: 42px 0;
    border-top: 1px solid #eeeae1
}

#cb-studio-details .site-footer img {
    width: 160px;
    height: 52px;
    object-fit: contain
}

#cb-studio-details .site-footer p {
    font-size: 12px;
    color: #8a94a3;
    margin-top: 12px
}

#cb-studio-details .site-footer .page-width>div {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    margin-top: 22px;
    font-size: 11px
}

#cb-studio-details .site-footer small {
    display: block;
    margin-top: 25px;
    font-size: 10px;
    color: #99a1ae
}

#cb-studio-details dialog {
    border: 0;
    padding: 0;
    color: var(--navy);
    max-height: 90dvh;
    border-radius: 10px;
    box-shadow: 0 25px 100px #00152f55
}

#cb-studio-details dialog::backdrop {
    background: #0c1d35a8;
    backdrop-filter: blur(4px)
}

#cb-studio-details .dialog-close {
    position: absolute;
    right: 12px;
    top: 12px;
    background: #ffffffed;
    z-index: 1
}

#cb-studio-details .lightbox {
    background: #f9f7f2;
    max-width: min(90vw, 850px);
    width: max-content;
    overflow: auto;
    padding: 40px 25px 16px
}

#cb-studio-details .lightbox>img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 70dvh;
    object-fit: contain;
    margin: auto
}

#cb-studio-details .lightbox-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 12px;
    font-size: 11px
}

#cb-studio-details .bag-dialog {
    width: 490px;
    max-width: calc(100vw - 30px);
    padding: 37px 28px 27px;
    background: #fff
}

#cb-studio-details .bag-dialog h2 {
    font-size: 29px;
    line-height: 1.25;
    margin: 10px 20px 20px 0
}

#cb-studio-details .bag-dialog>p {
    font-size: 12px;
    line-height: 1.9;
    color: #78869b
}

#cb-studio-details .bag-items {
    max-height: 45dvh;
    overflow: auto
}

#cb-studio-details .bag-item {
    display: flex;
    gap: 17px;
    padding: 16px 0;
    border-top: 1px solid var(--line)
}

#cb-studio-details .bag-item>img {
    width: 75px;
    height: 90px;
    object-fit: contain
}

#cb-studio-details .bag-item>div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px
}

#cb-studio-details .bag-item strong {
    font-size: 13px;
    font-weight: 500
}

#cb-studio-details .bag-item span {
    font-size: 10px;
    color: #8390a3
}

#cb-studio-details .bag-item b {
    font-size: 15px;
    color: var(--orange);
    font-weight: 500
}

#cb-studio-details .bag-total {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    border-top: 1px solid var(--line);
    font-size: 14px
}

#cb-studio-details .bag-total b {
    color: var(--orange);
    font-weight: 600
}

#cb-studio-details .bag-dialog .preview-explanation {
    font-size: 11px;
    padding: 13px;
    background: #f8f7f2;
    border-radius: 5px;
    margin: 12px 0 18px;
    color: #8490a2
}

@media(min-width:1600px) {
    #cb-studio-details .product-layout {
        gap: 64px
    }

    #cb-studio-details .product-intro h1 {
        font-size: 33px
    }

    #cb-studio-details .personalise {
        padding: 30px
    }
}

@media(max-width:1199px) {
    #cb-studio-details .header-inner {
        gap: 18px;
        padding-inline: 25px
    }

    #cb-studio-details .navigation {
        gap: 12px
    }

    #cb-studio-details .navigation a {
        font-size: 10px
    }

    #cb-studio-details .logo {
        width: 155px
    }

    #cb-studio-details .header-actions {
        gap: 4px
    }

    #cb-studio-details .product-layout {
        gap: 30px
    }

    #cb-studio-details .personalise {
        padding: 22px 18px 17px
    }

    #cb-studio-details .product-intro h1 {
        font-size: 27px
    }

    #cb-studio-details .form-content {
        padding: 17px
    }

    #cb-studio-details .size-options {
        gap: 4px
    }

    #cb-studio-details .head-choice {
        padding: 10px 5px;
        gap: 5px
    }

    #cb-studio-details .head-choice>img {
        width: 31px;
        height: 31px
    }

    #cb-studio-details .selection-indicator {
        width: 13px;
        height: 13px
    }

    #cb-studio-details .option-toggle>span {
        max-width: 120px
    }
}

@media(max-width:1023px) {
    #cb-studio-details .navigation {
        display: none
    }

    #cb-studio-details .header-inner {
        min-height: 80px;
        justify-content: space-between;
        position: relative
    }

    #cb-studio-details .menu-toggle {
        display: inline-flex
    }

    #cb-studio-details .header-inner>a {
        margin-right: auto
    }

    #cb-studio-details .logo {
        height: 47px;
        width: 162px
    }

    #cb-studio-details .navigation.menu-open {
        display: flex;
        position: absolute;
        z-index: 10;
        left: 0;
        right: 0;
        top: 100%;
        background: #fffefb;
        padding: 20px 30px;
        border-bottom: 1px solid var(--line);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        box-shadow: 0 10px 20px #172d4e0a
    }

    #cb-studio-details .navigation.menu-open a {
        font-size: 13px;
        padding: 13px 0;
        justify-content: space-between
    }

    #cb-studio-details .product-layout {
        gap: 25px
    }

    #cb-studio-details .page-width {
        padding-inline: 24px
    }

    #cb-studio-details .personalise {
        padding: 20px 14px 16px
    }

    #cb-studio-details .form-content {
        padding: 15px
    }

    #cb-studio-details .product-intro h1 {
        font-size: 25px
    }

    #cb-studio-details .stepper li:not(:last-child):after {
        margin: 0 7px
    }

    #cb-studio-details .stepper button {
        font-size: 10px;
        gap: 5px
    }

    #cb-studio-details .head-choice>img {
        display: none
    }

    #cb-studio-details .head-choice strong {
        font-size: 10px
    }

    #cb-studio-details .head-choice {
        min-height: 76px;
        padding: 10px 8px
    }

    #cb-studio-details .choice strong {
        font-size: 11px
    }

    #cb-studio-details .choice span {
        font-size: 9px
    }

    #cb-studio-details .choice small {
        font-size: 8px
    }

    #cb-studio-details .starting-price>span {
        display: block;
        margin: 4px 0 0
    }

    #cb-studio-details .upload-grid {
        gap: 8px
    }

    #cb-studio-details .upload-slot {
        padding: 14px 6px;
        min-height: 195px
    }

    #cb-studio-details .option-toggle>span {
        font-size: 8px;
        max-width: 94px
    }

    #cb-studio-details .option-toggle strong {
        font-size: 10px
    }

    #cb-studio-details .appearance-options small {
        font-size: 8px
    }

    #cb-studio-details .appearance-options strong {
        font-size: 10px
    }

    #cb-studio-details .detail-heading h2 {
        font-size: 31px
    }
}

@media(max-width:767px) {
    #cb-studio-details .page-width {
        padding-inline: 18px
    }

    #cb-studio-details .preview-notice {
        font-size: 10px;
        padding: 6px 14px
    }

    #cb-studio-details .preview-notice .notice-detail {
        font-size: 9px
    }

    #cb-studio-details .preview-notice a {
        font-size: 9px
    }

    #cb-studio-details .announcement {
        height: 32px;
        font-size: 10px;
        background-size: auto 48px
    }

    #cb-studio-details .header-inner {
        min-height: 75px;
        padding: 11px 14px;
        gap: 10px
    }

    #cb-studio-details .logo {
        width: 149px;
        height: 48px
    }

    #cb-studio-details .header-actions {
        gap: 0
    }

    #cb-studio-details .header-actions .account {
        display: none
    }

    #cb-studio-details .icon-button {
        min-width: 34px;
        min-height: 36px
    }

    #cb-studio-details .menu-toggle {
        padding: 4px
    }

    #cb-studio-details .breadcrumbs {
        font-size: 9px;
        gap: 8px;
        margin-block: 18px;
        flex-wrap: wrap
    }

    #cb-studio-details .product-layout {
        display: flex;
        flex-direction: column;
        gap: 27px;
        padding-bottom: 35px
    }

    #cb-studio-details .product-visuals {
        width: 100%
    }

    #cb-studio-details .hero-image {
        border-radius: 6px
    }

    #cb-studio-details .zoom-hint {
        width: 29px;
        height: 29px;
        right: 9px;
        bottom: 9px
    }

    #cb-studio-details .customer-gallery {
        margin-top: 18px
    }

    #cb-studio-details .gallery-heading {
        margin-bottom: 10px;
        gap: 6px
    }

    #cb-studio-details .gallery-heading h2 {
        font-size: 13px
    }

    #cb-studio-details .gallery-heading>span {
        font-size: 9px
    }

    #cb-studio-details .customer-grid {
        gap: 6px
    }

    #cb-studio-details .customer-grid button {
        aspect-ratio: 1.12
    }

    #cb-studio-details .gallery-note {
        font-size: 9px;
        margin-top: 8px
    }

    #cb-studio-details .personalise {
        padding: 22px 16px 16px;
        width: 100%;
        border-radius: 8px;
        scroll-margin-top: 14px
    }

    #cb-studio-details .eyebrow {
        font-size: 9px;
        letter-spacing: 1.3px
    }

    #cb-studio-details .product-intro h1 {
        font-size: 30px;
        margin-top: 7px;
        max-width: 350px
    }

    #cb-studio-details .starting-price {
        font-size: 27px;
        margin-top: 12px
    }

    #cb-studio-details .starting-price>span {
        display: inline;
        font-size: 9px;
        margin-left: 8px
    }

    #cb-studio-details .product-description {
        font-size: 12px;
        margin-top: 11px;
        line-height: 1.85
    }

    #cb-studio-details .stepper {
        margin: 25px 0 21px
    }

    #cb-studio-details .stepper button {
        font-size: 11px;
        gap: 7px
    }

    #cb-studio-details .stepper li:not(:last-child):after {
        margin: 0 13px
    }

    #cb-studio-details .stepper button>span {
        width: 25px;
        height: 25px
    }

    #cb-studio-details .form-content {
        padding: 17px 13px
    }

    #cb-studio-details .form-heading h2 {
        font-size: 21px
    }

    #cb-studio-details .form-heading p {
        font-size: 11px
    }

    #cb-studio-details .method-picker {
        margin-top: 18px
    }

    #cb-studio-details .method-picker label {
        font-size: 12px;
        min-height: 44px
    }

    #cb-studio-details .upload-slot {
        min-height: 203px;
        padding: 17px 7px
    }

    #cb-studio-details .upload-slot strong {
        font-size: 11px
    }

    #cb-studio-details .upload-slot small {
        font-size: 9px
    }

    #cb-studio-details .field-section {
        margin-top: 22px
    }

    #cb-studio-details .field-section legend {
        font-size: 13px
    }

    #cb-studio-details .size-options {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 6px
    }

    #cb-studio-details .choice {
        grid-column: span 2;
        min-height: 81px
    }

    #cb-studio-details .choice:nth-child(4) {
        grid-column: 2 / span 2
    }

    #cb-studio-details .choice:nth-child(5) {
        grid-column: 4 / span 2
    }

    #cb-studio-details .choice strong {
        font-size: 13px
    }

    #cb-studio-details .choice span {
        font-size: 11px
    }

    #cb-studio-details .choice small {
        font-size: 10px
    }

    #cb-studio-details .head-choice>img {
        display: block;
        width: 33px;
        height: 33px
    }

    #cb-studio-details .head-choice {
        min-height: 86px;
        padding: 10px 8px;
        gap: 6px
    }

    #cb-studio-details .head-choice strong {
        font-size: 11px
    }

    #cb-studio-details .head-choice span:not(.selection-indicator) {
        font-size: 8px
    }

    #cb-studio-details .appearance-options strong {
        font-size: 11px
    }

    #cb-studio-details .appearance-options small {
        font-size: 9px
    }

    #cb-studio-details .appearance-options input {
        width: 17px;
        height: 17px
    }

    #cb-studio-details .check-row {
        gap: 10px;
        margin: 17px 0
    }

    #cb-studio-details .check-row strong {
        font-size: 11px
    }

    #cb-studio-details .check-row b,
    #cb-studio-details .check-row small {
        font-size: 10px
    }

    #cb-studio-details .option-toggle {
        min-height: 51px;
        gap: 8px
    }

    #cb-studio-details .option-toggle strong {
        font-size: 11px
    }

    #cb-studio-details .option-toggle>span {
        font-size: 9px;
        max-width: 118px
    }

    #cb-studio-details .option-body select,
    #cb-studio-details .option-body textarea,
    #cb-studio-details .sub-field textarea,
    #cb-studio-details .sub-field input,
    #cb-studio-details .colour-options select {
        font-size: 16px
    }

    #cb-studio-details .option-body label,
    #cb-studio-details .sub-field,
    #cb-studio-details .colour-options label {
        font-size: 11px
    }

    #cb-studio-details .primary-button {
        min-height: 49px;
        font-size: 13px
    }

    #cb-studio-details .running-total b {
        font-size: 25px
    }

    #cb-studio-details .small-model {
        font-size: 9px
    }

    #cb-studio-details .detail-width {
        padding-inline: 22px
    }

    #cb-studio-details .detail-section {
        padding: 39px 0
    }

    #cb-studio-details .detail-heading {
        gap: 11px;
        margin-bottom: 23px
    }

    #cb-studio-details .section-number {
        width: 29px;
        height: 29px;
        font-size: 16px
    }

    #cb-studio-details .detail-heading h2 {
        font-size: 28px;
        line-height: 1.25;
        letter-spacing: -.35px
    }

    #cb-studio-details .detail-heading p {
        font-size: 11px;
        margin-top: 8px
    }

    #cb-studio-details .photo-comparison {
        margin-bottom: 20px
    }

    #cb-studio-details .photo-comparison img {
        aspect-ratio: 1.12
    }

    #cb-studio-details .detail-copy {
        font-size: 12px;
        line-height: 1.95
    }

    #cb-studio-details .craft-photo {
        aspect-ratio: 1.65;
        object-position: center
    }

    #cb-studio-details .craft-steps {
        margin-top: 17px
    }

    #cb-studio-details .craft-steps>li {
        gap: 14px;
        padding: 16px 0
    }

    #cb-studio-details .craft-steps h3 {
        font-size: 20px
    }

    #cb-studio-details .craft-steps p {
        font-size: 11px;
        line-height: 1.85;
        margin-top: 4px
    }

    #cb-studio-details .craft-steps>li>span {
        font-size: 12px
    }

    #cb-studio-details .table-wrap {
        overflow: visible
    }

    #cb-studio-details table {
        font-size: 11px;
        line-height: 1.8
    }

    #cb-studio-details th,
    #cb-studio-details td {
        padding: 13px 10px
    }

    #cb-studio-details thead th {
        font-size: 10px
    }

    #cb-studio-details tbody th {
        min-width: 0;
        width: 30%
    }

    #cb-studio-details .detail-callout {
        font-size: 11px;
        padding: 15px 13px;
        gap: 9px
    }

    #cb-studio-details .head-illustration {
        gap: 35px;
        padding-top: 0;
        padding-bottom: 21px
    }

    #cb-studio-details .head-illustration .body-figure {
        width: 100px;
        height: 180px
    }

    #cb-studio-details .head-symbol {
        width: 35px;
        height: 35px;
        margin-top: 8px
    }

    #cb-studio-details .head-illustration strong {
        font-size: 12px
    }

    #cb-studio-details .stacked-explanations p {
        font-size: 11px;
        line-height: 1.9;
        padding: 14px 0
    }

    #cb-studio-details .size-illustration {
        gap: 4px;
        padding: 10px 0 26px
    }

    #cb-studio-details .size-illustration .body-figure {
        max-width: 100%;
        object-fit: cover;
        object-position: right
    }

    #cb-studio-details .size-illustration>div:nth-child(1) .body-figure {
        height: 94px !important;
        width: 52px
    }

    #cb-studio-details .size-illustration>div:nth-child(2) .body-figure {
        height: 110px !important;
        width: 60px
    }

    #cb-studio-details .size-illustration>div:nth-child(3) .body-figure {
        height: 126px !important;
        width: 68px
    }

    #cb-studio-details .size-illustration>div:nth-child(4) .body-figure {
        height: 142px !important;
        width: 75px
    }

    #cb-studio-details .size-illustration>div:nth-child(5) .body-figure {
        height: 158px !important;
        width: 82px
    }

    #cb-studio-details .size-illustration strong {
        font-size: 10px;
        white-space: nowrap;
        margin-top: 7px
    }

    #cb-studio-details .size-illustration span {
        font-size: 9px;
        white-space: nowrap
    }

    #cb-studio-details .size-illustration>div {
        min-width: 0
    }

    #cb-studio-details .detail-footnote {
        font-size: 9px;
        line-height: 1.7
    }

    #cb-studio-details .delivery-equation {
        gap: 8px;
        padding: 20px 10px;
        margin-bottom: 21px
    }

    #cb-studio-details .delivery-equation strong {
        font-size: 10px
    }

    #cb-studio-details .delivery-equation svg {
        width: 20px;
        height: 20px
    }

    #cb-studio-details .delivery-equation svg:nth-of-type(2) {
        margin: 0 4px;
        width: 14px
    }

    #cb-studio-details .delivery-part {
        margin-top: 22px
    }

    #cb-studio-details .delivery-part h3 {
        font-size: 22px
    }

    #cb-studio-details .delivery-part p {
        font-size: 11px;
        line-height: 1.95
    }

    #cb-studio-details .production-table {
        font-size: 10px
    }

    #cb-studio-details .production-table thead th {
        font-size: 8px
    }

    #cb-studio-details .production-table th,
    #cb-studio-details .production-table td {
        padding: 11px 6px
    }

    #cb-studio-details .production-table tbody th {
        min-width: 0;
        width: 26%
    }

    #cb-studio-details .production-table td:nth-child(2) {
        width: 27%
    }

    #cb-studio-details .production-table td:nth-child(3) {
        white-space: nowrap
    }

    #cb-studio-details .faq-list>div {
        padding: 21px 0
    }

    #cb-studio-details .faq-list h3 {
        font-size: 21px
    }

    #cb-studio-details .faq-list p {
        font-size: 12px;
        line-height: 1.95
    }

    #cb-studio-details .return-link {
        font-size: 12px;
        margin-top: 25px
    }

    #cb-studio-details .site-footer {
        padding: 30px 0
    }

    #cb-studio-details .site-footer img {
        width: 146px
    }

    #cb-studio-details .site-footer p {
        font-size: 11px
    }

    #cb-studio-details .site-footer .page-width>div {
        gap: 15px;
        font-size: 10px
    }

    #cb-studio-details .site-footer small {
        font-size: 9px
    }

    #cb-studio-details .lightbox {
        padding: 47px 15px 12px;
        max-width: calc(100vw - 20px)
    }

    #cb-studio-details .lightbox-nav {
        gap: 4px;
        font-size: 9px
    }

    #cb-studio-details .lightbox-nav .icon-button {
        min-width: 40px;
        min-height: 42px
    }

    #cb-studio-details .bag-dialog {
        padding: 34px 21px 24px
    }

    #cb-studio-details .bag-dialog h2 {
        font-size: 26px
    }

    #cb-studio-details .bag-item>img {
        width: 65px
    }

    #cb-studio-details .bag-item strong {
        font-size: 12px
    }

    #cb-studio-details .bag-item span {
        font-size: 9px
    }
}

@media(max-width:359px) {
    #cb-studio-details .notice-detail {
        display: none
    }

    #cb-studio-details .logo {
        width: 132px
    }

    #cb-studio-details .header-inner {
        gap: 5px
    }

    #cb-studio-details .header-actions .icon-button {
        min-width: 31px
    }

    #cb-studio-details .page-width {
        padding-inline: 14px
    }

    #cb-studio-details .product-intro h1 {
        font-size: 27px
    }

    #cb-studio-details .personalise {
        padding-inline: 13px
    }

    #cb-studio-details .form-content {
        padding-inline: 11px
    }

    #cb-studio-details .head-choice>img {
        display: none
    }

    #cb-studio-details .head-choice {
        padding: 10px
    }

    #cb-studio-details .option-toggle>span {
        max-width: 96px;
        font-size: 8px
    }

    #cb-studio-details .stepper li:not(:last-child):after {
        margin: 0 7px
    }

    #cb-studio-details .stepper button {
        font-size: 10px
    }

    #cb-studio-details .small-model {
        font-size: 8px
    }

    #cb-studio-details .running-total b {
        font-size: 22px
    }

    #cb-studio-details .detail-width {
        padding-inline: 18px
    }

    #cb-studio-details .detail-heading h2 {
        font-size: 25px
    }

    #cb-studio-details .size-illustration>div:nth-child(5) .body-figure {
        width: 69px
    }

    #cb-studio-details .size-illustration>div:nth-child(4) .body-figure {
        width: 62px
    }

    #cb-studio-details .size-illustration>div:nth-child(3) .body-figure {
        width: 55px
    }

    #cb-studio-details .size-illustration>div:nth-child(2) .body-figure {
        width: 49px
    }

    #cb-studio-details .size-illustration>div:nth-child(1) .body-figure {
        width: 43px
    }

    #cb-studio-details .production-table th,
    #cb-studio-details .production-table td {
        font-size: 9px;
        padding: 10px 4px
    }

    #cb-studio-details .review-list>div {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 8px
    }
}

@media(prefers-reduced-motion:reduce) {
    #cb-studio-details {
        scroll-behavior: auto
    }

    #cb-studio-details *,
    #cb-studio-details *:before,
    #cb-studio-details *:after {
        transition: none !important;
        animation: none !important
    }
}

#cb-studio-details .announcement {
    background-size: auto 44px;
    background-repeat: repeat-x
}

#cb-studio-details .page-width {
    max-width: 1440px
}

#cb-studio-details .detail-width {
    max-width: 1160px
}

@media(min-width:1200px) {
    #cb-studio-details .navigation {
        gap: 18px
    }

    #cb-studio-details .navigation a {
        font-size: 12px
    }

    #cb-studio-details .product-intro h1 {
        font-size: 32px;
        max-width: 540px
    }

    #cb-studio-details .product-description {
        font-size: 13px
    }

    #cb-studio-details .form-heading h2 {
        font-size: 22px
    }

    #cb-studio-details .field-section legend {
        font-size: 13px
    }

    #cb-studio-details .choice strong {
        font-size: 13px
    }

    #cb-studio-details .choice small {
        font-size: 10px
    }

    #cb-studio-details .head-choice strong,
    #cb-studio-details .appearance-options strong,
    #cb-studio-details .check-row strong,
    #cb-studio-details .option-toggle strong {
        font-size: 12px
    }

    #cb-studio-details .head-choice span:not(.selection-indicator) {
        font-size: 9px
    }

    #cb-studio-details .text-button {
        font-size: 12px
    }
}

#cb-studio-details .head-illustration .body-figure {
    width: 145px;
    object-position: 85%
}

#cb-studio-details #size-guide .size-illustration .body-figure {
    width: auto !important;
    aspect-ratio: .5;
    object-position: 85%
}

@media(max-width:767px) {
    #cb-studio-details .head-illustration .body-figure {
        width: 90px
    }
}

#cb-studio-details .colour-options {
    gap: 17px
}

#cb-studio-details .colour-picker {
    position: relative;
    min-width: 0
}

#cb-studio-details .colour-picker.is-open {
    z-index: 40
}

#cb-studio-details .colour-label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 7px
}

#cb-studio-details .colour-trigger {
    width: 100%;
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    background: #fff;
    border: 1px solid #d9dee6;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 12px;
    color: #7b879a
}

#cb-studio-details .colour-trigger.has-value {
    color: var(--navy)
}

#cb-studio-details .colour-trigger>img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 4px;
    flex: none
}

#cb-studio-details .colour-trigger>span {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere
}

#cb-studio-details .colour-trigger>svg {
    margin-left: auto;
    transition: transform .2s
}

#cb-studio-details .colour-trigger[aria-expanded=true] {
    border-color: var(--orange);
    box-shadow: 0 0 0 1px var(--orange)
}

#cb-studio-details .colour-menu {
    position: absolute;
    top: calc(100% + 6px);
    inset-inline: 0;
    max-height: min(310px, 45dvh);
    overflow: auto;
    overscroll-behavior: contain;
    background: #fff;
    border: 1px solid #dddfe5;
    border-radius: 7px;
    padding: 5px;
    box-shadow: 0 10px 28px #172d4e24;
    scroll-padding-block: 5px
}

#cb-studio-details .colour-card-option {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    min-height: 60px;
    padding: 7px 10px;
    text-align: left;
    font-size: 12px;
    border-radius: 4px
}

#cb-studio-details .colour-card-option>img {
    width: 46px;
    height: 46px;
    object-fit: contain;
    border-radius: 4px;
    flex: none
}

#cb-studio-details .colour-card-option>span {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere
}

#cb-studio-details .colour-card-option:hover,
#cb-studio-details .colour-card-option:focus-visible {
    background: #f5f6f8
}

#cb-studio-details .colour-card-option:focus-visible {
    outline: 2px solid #eaa06b;
    outline-offset: -2px
}

#cb-studio-details .colour-card-option.selected {
    background: #fff5eb;
    color: #b84600
}

#cb-studio-details .colour-card-option>svg {
    color: var(--orange)
}

#cb-studio-details .review-colour-cards {
    display: grid;
    gap: 10px
}

#cb-studio-details .review-colour-cards>div {
    display: flex;
    align-items: center;
    gap: 10px
}

#cb-studio-details .review-colour-cards img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border: 1px solid #e7e9ed;
    border-radius: 4px
}

#cb-studio-details .review-colour-cards span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.5
}

#cb-studio-details .review-colour-cards small {
    font-size: 9px;
    color: #8591a4
}

@media(max-width:767px) {
    #cb-studio-details .colour-label {
        font-size: 12px
    }

    #cb-studio-details .colour-trigger {
        min-height: 61px;
        font-size: 12px;
        padding: 8px 10px;
        gap: 10px
    }

    #cb-studio-details .colour-trigger>img {
        width: 44px;
        height: 44px
    }

    #cb-studio-details .colour-card-option {
        font-size: 12px;
        min-height: 62px;
        gap: 11px;
        padding: 7px 9px
    }

    #cb-studio-details .colour-menu {
        max-height: min(280px, 42dvh)
    }

    #cb-studio-details .review-colour-cards img {
        width: 40px;
        height: 40px
    }
}

#cb-studio-details .head-options {
    gap: 12px
}

#cb-studio-details .head-choice {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 9px;
    gap: 10px;
    text-align: center;
    min-height: 225px;
    overflow: hidden
}

#cb-studio-details .head-choice>img {
    display: block;
    width: 100%;
    height: 150px;
    object-fit: contain;
    mix-blend-mode: normal;
    border-radius: 4px;
    background: #81e2e7
}

#cb-studio-details .head-choice>div {
    flex: 1;
    gap: 4px;
    align-items: center;
    padding: 0 3px 5px
}

#cb-studio-details .head-choice strong {
    font-size: 13px
}

#cb-studio-details .head-choice span:not(.selection-indicator) {
    font-size: 10px;
    line-height: 1.5
}

#cb-studio-details .head-choice small {
    font-size: 10px
}

#cb-studio-details .head-choice>.selection-indicator {
    position: absolute;
    right: 17px;
    top: 17px;
    width: 20px;
    height: 20px;
    background: #fff
}

#cb-studio-details .head-choice.selected>.selection-indicator {
    background: var(--orange)
}

#cb-studio-details .head-choice.selected {
    box-shadow: 0 0 0 1px var(--orange)
}

#cb-studio-details .outfit-fields {
    padding: 14px
}

#cb-studio-details .outfit-fields>label {
    display: block
}

#cb-studio-details .outfit-upload-help {
    font-size: 10px;
    line-height: 1.8;
    color: #738198;
    margin: 12px 0 9px
}

#cb-studio-details .outfit-fields .upload-slot {
    min-height: 160px;
    padding: 15px;
    border-color: #a9cbe0;
    background: #fff
}

#cb-studio-details .outfit-fields .upload-slot>img {
    width: 100%;
    max-width: 180px;
    height: 130px;
    object-fit: contain
}

#cb-studio-details .outfit-fields .upload-slot strong {
    margin-top: 9px
}

#cb-studio-details .outfit-fields .upload-slot>span {
    margin-top: 8px
}

#cb-studio-details .outfit-fields>.upload-wrap+.local-photo-note {
    margin-top: 9px
}

#cb-studio-details .outfit-fields>small {
    font-size: 9px;
    line-height: 1.7;
    margin-top: 9px
}

#cb-studio-details .review-outfit>p {
    margin-bottom: 9px;
    white-space: pre-wrap
}

#cb-studio-details .review-upload {
    display: flex;
    align-items: center;
    gap: 10px
}

#cb-studio-details .review-upload>img {
    width: 58px;
    height: 70px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 4px
}

#cb-studio-details .review-upload>span {
    font-size: 10px;
    overflow-wrap: anywhere;
    min-width: 0
}

#cb-studio-details .base-options {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0
}

#cb-studio-details .base-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    padding: 6px 0
}

#cb-studio-details .base-choice {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    padding: 11px 7px 12px;
    border: 1px solid #e1e5eb;
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    min-width: 0;
    background: white
}

#cb-studio-details .base-choice>input {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer
}

#cb-studio-details .base-choice>img {
    width: 100%;
    height: 84px;
    object-fit: contain
}

#cb-studio-details .base-choice>strong {
    font-size: 10px;
    line-height: 1.5;
    font-weight: 500;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    overflow-wrap: anywhere
}

#cb-studio-details .base-choice>small {
    font-size: 10px;
    color: #7c8798
}

#cb-studio-details .base-choice>.selection-indicator {
    position: absolute;
    right: 7px;
    top: 7px;
    background: white
}

#cb-studio-details .base-choice.selected {
    border-color: var(--orange);
    background: #fffbf7;
    box-shadow: 0 0 0 1px var(--orange)
}

#cb-studio-details .base-choice.selected>small {
    color: #cc4e00
}

#cb-studio-details .base-choice.selected>.selection-indicator {
    background: var(--orange)
}

#cb-studio-details .base-choice:focus-within {
    outline: 3px solid #fba365;
    outline-offset: 2px
}

#cb-studio-details .required-label {
    font-size: 9px;
    font-weight: 400;
    color: #c45a12;
    margin-left: 4px
}

@media(max-width:1023px) {
    #cb-studio-details .head-choice {
        padding: 7px;
        gap: 9px;
        min-height: 206px
    }

    #cb-studio-details .head-choice>img {
        height: 126px
    }

    #cb-studio-details .head-choice strong {
        font-size: 12px
    }

    #cb-studio-details .head-choice span:not(.selection-indicator) {
        font-size: 9px
    }

    #cb-studio-details .head-choice>.selection-indicator {
        right: 12px;
        top: 12px
    }

    #cb-studio-details .base-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    #cb-studio-details .base-choice>img {
        height: 85px
    }
}

@media(max-width:767px) {
    #cb-studio-details .head-options {
        gap: 9px
    }

    #cb-studio-details .head-choice {
        min-height: 204px
    }

    #cb-studio-details .head-choice>img {
        height: 125px
    }

    #cb-studio-details .head-choice strong {
        font-size: 12px
    }

    #cb-studio-details .head-choice small {
        font-size: 10px
    }

    #cb-studio-details .outfit-fields {
        padding: 12px
    }

    #cb-studio-details .base-grid {
        gap: 9px
    }

    #cb-studio-details .base-choice {
        padding: 10px 7px 11px
    }

    #cb-studio-details .base-choice>strong {
        font-size: 10px
    }

    #cb-studio-details .base-choice>img {
        height: 80px
    }
}

@media(max-width:359px) {
    #cb-studio-details .head-choice {
        min-height: 192px;
        padding: 6px
    }

    #cb-studio-details .head-choice>img {
        height: 110px
    }

    #cb-studio-details .head-choice strong {
        font-size: 11px
    }

    #cb-studio-details .head-choice>.selection-indicator {
        right: 10px;
        top: 10px
    }

    #cb-studio-details .head-choice span:not(.selection-indicator) {
        font-size: 8px
    }
}

#cb-studio-details .head-choice>img {
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    background: transparent
}

#cb-studio-details .stories-title-row {
    display: flex;
    align-items: flex-start;
    gap: 15px
}

#cb-studio-details .stories-title-row .section-number {
    margin-top: 2px
}

#cb-studio-details .stories-title-row h2 {
    margin-top: 0 !important
}

#cb-studio-details .stories-heading>div>p {
    margin-left: 50px
}

#cb-studio-details .process-sequence {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
    padding: 0;
    margin: 0 0 26px
}

#cb-studio-details .process-sequence li {
    min-width: 0
}

#cb-studio-details .process-sequence figure {
    margin: 0
}

#cb-studio-details .process-sequence img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: contain;
    border-radius: 5px
}

#cb-studio-details .process-sequence figcaption {
    margin-top: 12px
}

#cb-studio-details .process-sequence figcaption>span {
    color: #b74b05;
    font-size: 11px;
    font-weight: 500
}

#cb-studio-details .process-sequence h3 {
    font-size: 18px;
    line-height: 1.3;
    margin-top: 4px
}

#cb-studio-details .process-explanation p {
    font-size: 13px;
    color: #63738b;
    line-height: 1.95;
    margin-top: 12px
}

#cb-studio-details .size-comparison {
    --size-unit: 10px;
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
    gap: 20px;
    padding: 12px 0 30px
}

#cb-studio-details .size-object {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0
}

#cb-studio-details .size-object-picture {
    height: calc(28 * var(--size-unit));
    display: flex;
    align-items: flex-end;
    justify-content: center
}

#cb-studio-details .size-object img {
    height: calc(var(--height-cm) * var(--size-unit));
    width: auto;
    max-width: none;
    object-fit: contain
}

#cb-studio-details .phone-size-object img {
    width: calc(7.16 * var(--size-unit));
    height: calc(14.76 * var(--size-unit));
    object-fit: fill
}

#cb-studio-details .size-object strong {
    font-size: 13px;
    font-weight: 500;
    margin-top: 13px;
    white-space: nowrap
}

#cb-studio-details .size-object>span {
    font-size: 11px;
    color: #68758a;
    line-height: 1.7;
    margin-top: 3px;
    white-space: nowrap
}

#cb-studio-details .similarity-examples {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px
}

#cb-studio-details .similarity-example {
    min-width: 0;
    margin: 0;
    padding: 22px 10px 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px
}

#cb-studio-details .similarity-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

#cb-studio-details .similarity-reference,
#cb-studio-details .similarity-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0
}

#cb-studio-details .comparison-label {
    font-size: 9px;
    line-height: 1.7;
    letter-spacing: .35px;
    text-transform: uppercase;
    color: #68758a;
    margin-bottom: 12px;
    white-space: nowrap
}

#cb-studio-details .reference-phone {
    position: relative;
    width: 104px;
    aspect-ratio: 876/1795;
    flex: none
}

#cb-studio-details .phone-screen {
    position: absolute;
    inset: 4.7% 7.8%;
    border-radius: 10% / 5%;
    background: #e5e0d8;
    overflow: hidden
}

#cb-studio-details .reference-portrait {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

#cb-studio-details .phone-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none
}

#cb-studio-details .similarity-arrow {
    color: #ce5a10;
    flex: none
}

#cb-studio-details .native-product-window {
    position: relative;
    width: 160px;
    height: 260px;
    overflow: hidden;
    background: #fff
}

#cb-studio-details .native-product-window>img {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: auto;
    height: 100%;
    max-width: none;
    object-fit: contain
}

#cb-studio-details .similarity-example figcaption {
    text-align: center;
    margin-top: 17px
}

#cb-studio-details .similarity-example h3 {
    font-size: 21px;
    line-height: 1.35
}

#cb-studio-details .similarity-example figcaption a {
    font-size: 10px;
    line-height: 1.8;
    color: #b74b05;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 7px
}

@media(min-width:768px) and (max-width:959px) {
    #cb-studio-details .similarity-examples {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(min-width:960px) and (max-width:1199px) {
    #cb-studio-details .similarity-visual {
        gap: 5px
    }

    #cb-studio-details .reference-phone {
        width: clamp(84px, 8.125vw, 98px)
    }

    #cb-studio-details .native-product-window {
        width: clamp(140px, 12vw, 144px);
        height: 230px
    }

    #cb-studio-details .comparison-label {
        font-size: 8px
    }

    #cb-studio-details .similarity-example h3 {
        font-size: 20px
    }
}

@media(max-width:1023px) {
    #cb-studio-details .process-sequence {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 22px 15px
    }

    #cb-studio-details .size-comparison {
        --size-unit: 8px;
        gap: 15px
    }
}

@media(max-width:767px) {
    #cb-studio-details .stories-title-row {
        gap: 11px
    }

    #cb-studio-details .stories-heading>div>p {
        margin-left: 40px
    }

    #cb-studio-details .process-sequence {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 13px
    }

    #cb-studio-details .process-sequence li:last-child {
        grid-column: 1/-1;
        justify-self: center;
        width: calc((100% - 13px)/2)
    }

    #cb-studio-details .process-sequence h3 {
        font-size: 19px
    }

    #cb-studio-details .process-sequence figcaption {
        margin-top: 9px
    }

    #cb-studio-details .process-explanation p {
        font-size: 12px;
        line-height: 1.9
    }

    #cb-studio-details .size-comparison {
        --size-unit: 5.3px;
        gap: 5px;
        padding: 7px 0 25px
    }

    #cb-studio-details .size-object strong {
        font-size: 9px;
        margin-top: 10px
    }

    #cb-studio-details .size-object>span {
        font-size: 9px
    }

    #cb-studio-details .similarity-examples {
        grid-template-columns: 1fr;
        gap: 18px
    }

    #cb-studio-details .similarity-example {
        padding: 22px 12px;
        max-width: 430px;
        width: 100%;
        justify-self: center
    }

    #cb-studio-details .similarity-visual {
        gap: 8px
    }

    #cb-studio-details .reference-phone {
        width: 110px
    }

    #cb-studio-details .native-product-window {
        width: 154px;
        height: 260px
    }

    #cb-studio-details .similarity-arrow {
        width: 18px;
        height: 18px
    }

    #cb-studio-details .comparison-label {
        font-size: 8px;
        letter-spacing: .25px;
        margin-bottom: 9px
    }

    #cb-studio-details .similarity-example h3 {
        font-size: 21px
    }

    #cb-studio-details .similarity-example figcaption a {
        font-size: 10px;
        gap: 5px
    }

    #cb-studio-details .similarity-example figcaption {
        margin-top: 13px
    }
}

@media(max-width:359px) {
    #cb-studio-details .size-comparison {
        --size-unit: 4.5px;
        gap: 4px
    }

    #cb-studio-details .size-object strong,
    #cb-studio-details .size-object>span {
        font-size: 8px
    }

    #cb-studio-details .reference-phone {
        width: 90px
    }

    #cb-studio-details .native-product-window {
        width: 136px;
        height: 230px
    }

    #cb-studio-details .similarity-visual {
        gap: 6px
    }

    #cb-studio-details .comparison-label {
        font-size: 7px
    }
}

#cb-studio-details .head-comparison {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 100px;
    margin: 0 auto 25px
}

#cb-studio-details .head-demo {
    width: 280px;
    max-width: 42%;
    margin: 0;
    text-align: center
}

#cb-studio-details .head-demo-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 4/5;
    background: transparent;
    clip-path: inset(0 0 4% 0)
}

#cb-studio-details .fixed-demo-image {
    width: 100%;
    height: 100%;
    object-fit: contain
}

#cb-studio-details .bobble-body-layer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translateY(6%) scale(.94, .92);
    transform-origin: 50% 0
}

#cb-studio-details .bobble-head-layer {
    position: absolute;
    width: 38.4%;
    height: auto;
    aspect-ratio: 1;
    left: 31%;
    top: 2.3%;
    transform-origin: 50% 92%;
    animation: gentle-head-bobble 1.7333s ease-in-out infinite;
    will-change: transform
}

#cb-studio-details .head-demo figcaption {
    margin-top: -1px
}

#cb-studio-details .head-demo h3 {
    font-size: 21px;
    line-height: 1.4
}

#cb-studio-details .head-demo-note,
#cb-studio-details .head-motion-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    font-size: 11px;
    line-height: 1.7;
    color: #68758a
}

#cb-studio-details .head-motion-control {
    color: #b74b05;
    padding: 5px 10px;
    border-radius: 5px
}

#cb-studio-details .head-motion-control:hover {
    background: #f5eee2
}

#cb-studio-details .head-motion-control:disabled {
    color: #68758a;
    opacity: 1
}

@keyframes gentle-head-bobble {

    0%,
    100% {
        transform: rotate(0deg)
    }

    18% {
        transform: rotate(-8deg)
    }

    38% {
        transform: rotate(7deg)
    }

    56% {
        transform: rotate(-5deg)
    }

    73% {
        transform: rotate(3deg)
    }

    86% {
        transform: rotate(-1.2deg)
    }
}

@media(max-width:767px) {
    #cb-studio-details .head-comparison {
        gap: 17px;
        margin-bottom: 18px
    }

    #cb-studio-details .head-demo {
        width: 160px;
        max-width: calc(50% - 8.5px)
    }

    #cb-studio-details .head-demo h3 {
        font-size: 19px
    }

    #cb-studio-details .head-demo-note,
    #cb-studio-details .head-motion-control {
        font-size: 10px;
        min-height: 40px
    }

    #cb-studio-details .head-motion-control {
        padding-inline: 5px
    }
}

@media(prefers-reduced-motion:reduce) {
    #cb-studio-details .bobble-head-layer {
        animation: none !important;
        will-change: auto
    }
}

#cb-studio-details .customer-stories {
    padding: 60px 0;
    background: #fff;
    border-bottom: 1px solid var(--line)
}

#cb-studio-details .stories-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 16px
}

#cb-studio-details .stories-heading .eyebrow {
    color: #b74b05;
    font-size: 10px
}

#cb-studio-details .stories-heading h2 {
    font-size: 35px;
    line-height: 1.2;
    letter-spacing: -.5px;
    margin-top: 9px
}

#cb-studio-details .stories-heading p {
    font-size: 13px;
    line-height: 1.8;
    color: #74829a;
    margin-top: 9px
}

#cb-studio-details .stories-controls {
    display: flex;
    gap: 8px;
    flex: none
}

#cb-studio-details .story-control {
    width: 42px;
    height: 42px;
    border: 1px solid #dce1e7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    transition: background .2s, border-color .2s
}

#cb-studio-details .story-control:hover {
    border-color: var(--orange);
    background: #fff6ec
}

#cb-studio-details .story-control:first-child {
    margin-right: 5px;
    color: #b74b05
}

#cb-studio-details .stories-preview-label {
    font-size: 11px;
    line-height: 1.8;
    color: #68758a;
    margin-bottom: 22px
}

#cb-studio-details .stories-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    align-items: stretch;
    padding: 2px 0 5px
}

#cb-studio-details .stories-track::-webkit-scrollbar {
    display: none
}

#cb-studio-details .story-card {
    flex: 0 0 calc((100% - 54px)/4);
    min-width: 0;
    scroll-snap-align: start;
    overflow: hidden;
    border: 1px solid #e6e8ed;
    border-radius: 8px;
    background: #fff;
    display: flex;
    flex-direction: column
}

#cb-studio-details .story-card>img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: contain;
    background: #f4f0e9
}

#cb-studio-details .story-copy {
    padding: 18px 17px 17px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1
}

#cb-studio-details .story-stars {
    display: flex;
    gap: 3px;
    color: var(--orange)
}

#cb-studio-details .story-copy h3 {
    font-size: 21px;
    line-height: 1.25;
    margin-top: 11px
}

#cb-studio-details .story-copy p {
    font-size: 12px;
    line-height: 1.85;
    color: #63738b;
    margin: 9px 0 17px
}

#cb-studio-details .story-sample {
    font-size: 10px;
    color: #68758a;
    line-height: 1.6;
    margin-top: auto
}

#cb-studio-details .stories-footer {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 17px;
    color: #68758a;
    font-size: 10px;
    line-height: 1.8
}

#cb-studio-details .stories-footer>span:first-child {
    color: #687992;
    white-space: nowrap
}

@media(max-width:1199px) {
    #cb-studio-details .story-card {
        flex-basis: calc((100% - 36px)/3)
    }
}

@media(max-width:900px) {
    #cb-studio-details .story-card {
        flex-basis: calc((100% - 18px)/2)
    }
}

@media(max-width:767px) {
    #cb-studio-details .customer-stories {
        padding: 38px 0
    }

    #cb-studio-details .stories-heading {
        align-items: flex-start;
        gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 13px
    }

    #cb-studio-details .stories-heading h2 {
        font-size: 28px;
        line-height: 1.25
    }

    #cb-studio-details .stories-heading p {
        font-size: 11px;
        margin-top: 8px
    }

    #cb-studio-details .stories-heading .eyebrow {
        font-size: 9px;
        letter-spacing: 1px
    }

    #cb-studio-details .stories-controls {
        gap: 8px
    }

    #cb-studio-details .story-control {
        width: 40px;
        height: 40px
    }

    #cb-studio-details .stories-preview-label {
        font-size: 10px;
        margin-bottom: 18px;
        max-width: 370px
    }

    #cb-studio-details .stories-track {
        gap: 12px
    }

    #cb-studio-details .story-card {
        flex-basis: 86%
    }

    #cb-studio-details .story-copy {
        padding: 17px
    }

    #cb-studio-details .story-copy h3 {
        font-size: 23px
    }

    #cb-studio-details .story-copy p {
        font-size: 12px
    }

    #cb-studio-details .story-stars svg {
        width: 18px;
        height: 18px
    }

    #cb-studio-details .stories-footer {
        font-size: 10px;
        gap: 12px
    }

    #cb-studio-details .stories-footer>span:last-child {
        text-align: right;
        max-width: 170px
    }
}

#cb-studio-details .making-sequence {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    list-style: none;
    padding: 0;
    margin: 0 0 28px
}

#cb-studio-details .making-sequence li {
    min-width: 0
}

#cb-studio-details .making-sequence figure {
    margin: 0
}

#cb-studio-details .making-sequence img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: contain;
    border-radius: 6px;
    background: #f3eade
}

#cb-studio-details .making-sequence figcaption {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-top: 14px
}

#cb-studio-details .making-sequence figcaption>span {
    color: #ba4b04;
    font-size: 11px;
    font-weight: 500;
    flex: none
}

#cb-studio-details .making-sequence h3 {
    font-size: 20px;
    line-height: 1.3
}

#cb-studio-details .making-story .detail-copy {
    max-width: none;
    font-size: 14px
}

#cb-studio-details .making-note {
    font-size: 11px;
    line-height: 1.8;
    color: #78859a;
    margin-top: 14px
}

@media(max-width:900px) {
    #cb-studio-details .making-sequence {
        gap: 12px
    }

    #cb-studio-details .making-sequence h3 {
        font-size: 17px
    }

    #cb-studio-details .making-sequence figcaption {
        gap: 7px
    }
}

@media(max-width:767px) {
    #cb-studio-details .making-sequence {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 23px 12px;
        margin-bottom: 24px
    }

    #cb-studio-details .making-sequence figcaption {
        margin-top: 10px;
        gap: 6px
    }

    #cb-studio-details .making-sequence figcaption>span {
        font-size: 10px
    }

    #cb-studio-details .making-sequence h3 {
        font-size: 18px;
        line-height: 1.35
    }

    #cb-studio-details .making-story .detail-copy {
        font-size: 12px
    }

    #cb-studio-details .making-note {
        font-size: 10px;
        margin-top: 13px
    }
}

@media(min-width:1024px) {
    #cb-studio-details .product-visuals {
        position: sticky;
        top: 20px;
        align-self: start;
        display: flex;
        flex-direction: column;
        gap: 16px;
        max-height: calc(100dvh - 40px)
    }

    #cb-studio-details .product-visuals .hero-image {
        flex: 0 1 auto;
        min-height: 0
    }

    #cb-studio-details .product-visuals .customer-gallery {
        margin-top: 0;
        flex: 0 0 auto
    }

    #cb-studio-details .product-visuals .gallery-heading {
        margin-bottom: 10px;
        gap: 8px
    }

    #cb-studio-details .product-visuals .gallery-heading h2 {
        font-size: 13px
    }

    #cb-studio-details .product-visuals .gallery-heading>span {
        font-size: 10px
    }

    #cb-studio-details .product-visuals .customer-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 7px
    }

    #cb-studio-details .product-visuals .customer-grid button {
        aspect-ratio: auto;
        height: clamp(80px, 14dvh, 118px)
    }

    #cb-studio-details .product-visuals .gallery-note {
        font-size: 10px;
        margin-top: 8px
    }
}

#cb-studio-details {
    --navy: #172d4e;
    --orange: #fa6400;
    --cream: #faf7f0;
    --line: #e7e9ed;
    --muted: #68758a;
    color: var(--navy);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.7;
    background: #fff;
    width: 100%;
}

#cb-studio-details .cb-example-label {
    font-size: 10px;
    color: #b74b05;
    display: block;
    margin-top: 7px
}

#cb-studio-details .cb-example-label svg {
    display: none
}

/* Native commerce styling is scoped to the allowlisted product container. */
.cb-studio-main {
    --cb-ink: #172d4e;
    --cb-orange: #f66b13;
    --cb-line: #e2e6ec;
    max-width: 1440px !important;
    padding: 32px !important;
    color: var(--cb-ink)
}

.cb-studio-main main-product-detail.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 56px !important;
    align-items: start
}

.cb-studio-main .product__media-wrapper,
.cb-studio-main .product__info-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important
}

.cb-studio-main .product__column-sticky {
    position: static !important;
    top: auto !important
}

.cb-studio-main media-gallery {
    display: none !important
}

.cb-studio-visuals {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0
}

.cb-studio-hero {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border: 1px solid var(--cb-line);
    border-radius: 8px;
    padding: 0;
    background: #fff;
    cursor: zoom-in;
    overflow: hidden
}

.cb-studio-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.cb-customer-gallery h2 {
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 10px;
    color: #172d4e
}

.cb-customer-gallery p {
    font-size: 11px;
    color: #68758a;
    margin: 9px 0 0
}

.cb-customer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px
}

.cb-customer-grid button {
    border: 0;
    background: #f3eee6;
    padding: 0;
    aspect-ratio: 1.1;
    border-radius: 5px;
    overflow: hidden;
    cursor: zoom-in
}

.cb-customer-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%
}

.cb-studio-main #ProductInfo-main-product-info {
    background: #faf7f0;
    border: 1px solid #eee7dc;
    border-radius: 10px;
    padding: 28px !important;
    min-width: 0
}

.cb-studio-main #ProductInfo-main-product-info {
    scroll-margin-top: calc(var(--cb-header-height, 90px) + 14px)
}

#cb-studio-details section[id] {
    scroll-margin-top: 110px
}

.cb-studio-main .breadcrumb {
    font-size: 10px;
    margin: 0 0 15px !important;
    line-height: 1.7
}

.cb-studio-main h1 {
    font-size: 31px !important;
    line-height: 1.25 !important;
    margin: 8px 0 15px !important;
    text-transform: none !important;
    letter-spacing: -.4px
}

.cb-studio-main #price-main-product-info {
    margin: 0 0 10px !important
}

.cb-studio-main #price-main-product-info .price {
    font-size: 26px !important
}

.cb-starting-label {
    display: block;
    color: #68758a;
    font-size: 10px;
    line-height: 1.8;
    margin-bottom: 4px
}

.cb-studio-main label[role=radio]:focus-visible {
    outline: 3px solid #fba365;
    outline-offset: 3px
}

.cb-studio-intro {
    font-size: 12px;
    line-height: 1.85;
    color: #68758a;
    margin: 0 0 22px
}

.cb-studio-main #ymq-box {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: #24364c
}

.cb-studio-main #ymq-price-addons,
.cb-studio-main #ProductModal-main-product-info,
.cb-studio-main #ProductPhotoSwipe-main-product-info {
    display: none !important
}

.cb-studio-main #ymq-box * {
    box-sizing: border-box
}

.cb-studio-steps {
    display: flex;
    list-style: none !important;
    padding: 0 !important;
    gap: 10px;
    margin: 22px 0 !important
}

.cb-studio-steps li {
    flex: 1;
    min-width: 0
}

.cb-studio-steps button {
    display: flex;
    gap: 7px;
    align-items: center;
    padding: 8px 0;
    background: transparent;
    border: 0;
    color: #68758a;
    font: inherit;
    font-size: 12px;
    cursor: pointer
}

.cb-studio-steps span {
    display: inline-grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border: 1px solid #d9dde5;
    border-radius: 50%;
    font-size: 11px
}

.cb-studio-steps [aria-current=step] {
    color: #172d4e
}

.cb-studio-steps [aria-current=step] span {
    color: white;
    background: #f66b13;
    border-color: #f66b13
}

.cb-studio-steps button:disabled {
    opacity: .55;
    cursor: default
}

.cb-studio-page {
    background: #fff;
    border: 1px solid #e2e6ec;
    border-radius: 7px;
    padding: 22px;
    min-width: 0
}

.cb-studio-page[hidden] {
    display: none !important
}

.cb-studio-page h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
    margin: 0 0 7px !important
}

.cb-studio-page>p {
    font-size: 12px;
    color: #68758a;
    margin: 0 0 16px;
    line-height: 1.8
}

.cb-studio-main #ymq-box .ymq-option-title {
    margin: 0 0 10px !important;
    line-height: 1.6 !important
}

.cb-studio-main #ymq-box .ymq_lable {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #172d4e !important
}

.cb-studio-main #ymq-box .ymq_option_text_span {
    display: none !important
}

.cb-studio-main #ymq-box [id^=option-box] {
    margin: 0 0 24px !important;
    max-width: 100%;
    float: none !important;
    clear: both
}

.cb-studio-main #ymq-box [id^=option-box]:last-child {
    margin-bottom: 0 !important
}

.cb-studio-main #ymq-box .ymq-options-button-label {
    font-family: inherit !important;
    font-size: 12px !important;
    padding: 10px 16px !important;
    border-radius: 5px !important;
    min-height: 44px;
    cursor: pointer;
    border: 1px solid #d9dee6 !important;
    color: #172d4e !important;
    background: #fff !important;
    margin: 0 8px 8px 0 !important;
    display: inline-flex !important;
    align-items: center
}

.cb-studio-main #ymq-box input:checked+.ymq-options-button-label {
    border-color: #f66b13 !important;
    box-shadow: 0 0 0 1px #f66b13;
    background: #fff8f1 !important
}

.cb-studio-main #ymq-box .ymq-options-button-label .ymq-option-value,
.cb-studio-main #ymq-box .ymq-options-button-label .ymq-price-in-option-value {
    color: inherit !important;
    font-size: inherit !important
}

.cb-studio-main #ymq-box .ymq_r_c_box {
    margin: 7px 0 !important;
    padding: 10px 12px;
    border: 1px solid #e2e6ec;
    border-radius: 5px;
    display: flex;
    gap: 9px;
    align-items: center;
    min-height: 44px
}

.cb-studio-main #ymq-box .ymq_r_c_box:has(input:checked) {
    border-color: #f66b13;
    background: #fff8f1
}

.cb-studio-main #ymq-box input[type=radio] {
    accent-color: #f66b13;
    flex-shrink: 0
}

.cb-studio-main #ymq-box .ymq_r_c_box label {
    font-size: 12px !important;
    line-height: 1.7 !important;
    cursor: pointer;
    margin: 0 !important
}

.cb-studio-main #ymq-box .ymq_upload_new_box {
    border: 1px dashed #bdc9d9;
    border-radius: 7px;
    padding: 10px;
    background: #fcfcfd;
    min-height: 135px
}

.cb-studio-main #ymq-box .ymq_upload_new {
    min-height: 108px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    cursor: pointer;
    font-size: 12px !important
}

.cb-studio-main #ymq-box .ymq_upload_img_view {
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px
}

.cb-studio-main #ymq-box .ymq_upload_img_view img {
    max-height: 150px !important;
    object-fit: contain
}

.cb-studio-main #ymq-box .ymq_upload_new span {
    font-size: 12px !important
}

.cb-studio-main #ymq-box input[type=text],
.cb-studio-main #ymq-box textarea,
.cb-production-select {
    width: 100% !important;
    max-width: 100%;
    padding: 12px !important;
    border: 1px solid #d9dee6 !important;
    border-radius: 5px !important;
    background: #fff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #172d4e !important;
    min-height: 46px
}

.cb-studio-main #ymq-box textarea {
    min-height: 110px;
    resize: vertical
}

.cb-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    padding: 0 !important;
    border: 0 !important
}

.cb-size-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px
}

.cb-size-grid button {
    padding: 12px 3px;
    min-height: 88px;
    border: 1px solid #dce1e9;
    border-radius: 6px;
    background: #fff;
    color: #172d4e;
    font-family: inherit;
    cursor: pointer;
    line-height: 1.5
}

.cb-size-grid b {
    display: block;
    font-size: 14px
}

.cb-size-grid span,
.cb-size-grid small {
    display: block;
    font-size: 10px;
    margin-top: 4px
}

.cb-size-grid small {
    color: #68758a
}

.cb-size-grid [aria-pressed=true] {
    border-color: #f66b13;
    box-shadow: 0 0 0 1px #f66b13;
    background: #fff8f1
}

.cb-studio-main #ymq-box .cb-head-options>div:not(.ymq-option-title) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px
}

.cb-studio-main #ymq-box .cb-head-options .ymq-options-img-input {
    position: absolute !important;
    width: 1px !important;
    opacity: 0 !important
}

.cb-studio-main #ymq-box .cb-head-options .ymq-options-img-label {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    width: 100% !important;
    height: auto !important;
    min-height: 230px;
    margin: 0 !important;
    border: 1px solid #dce1e9 !important;
    border-radius: 6px;
    padding: 170px 7px 12px !important;
    background-position: center 8px !important;
    background-size: auto 158px !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
    cursor: pointer;
    text-align: center
}

.cb-head-caption {
    display: block !important;
    position: static !important;
    font-size: 12px !important;
    color: #172d4e !important;
    line-height: 1.7 !important;
    background: #fff !important
}

.cb-head-caption small {
    display: block;
    color: #68758a;
    font-size: 10px
}

.cb-studio-main #ymq-box .cb-head-options input:checked+label {
    border-color: #f66b13 !important;
    box-shadow: 0 0 0 1px #f66b13;
    background-color: #fff8f1 !important
}

.cb-appearance {
    margin: 0 0 22px
}

.cb-appearance h3,
.cb-production h3 {
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 10px
}

.cb-appearance label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
    font-size: 12px;
    cursor: pointer
}

.cb-appearance small {
    display: block;
    font-size: 10px;
    color: #68758a;
    line-height: 1.7
}

.cb-studio-main #ymq-box .cb-colour-field {
    position: relative
}

.cb-colour-button {
    width: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    border: 1px solid #d9dee6;
    border-radius: 6px;
    padding: 8px 12px;
    background: #fff;
    color: #172d4e;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer
}

.cb-colour-button img,
.cb-colour-menu img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex: none;
    border-radius: 4px
}

.cb-colour-button span {
    flex: 1
}

.cb-colour-button[aria-expanded=true] {
    border-color: #f66b13
}

.cb-colour-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 45;
    background: white;
    box-shadow: 0 10px 28px #172d4e24;
    border: 1px solid #d9dee6;
    border-radius: 6px;
    max-height: 300px;
    overflow: auto;
    padding: 5px
}

.cb-colour-menu[hidden] {
    display: none !important
}

.cb-colour-menu button {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px;
    text-align: left;
    background: #fff;
    border: 0;
    font-size: 12px;
    color: #172d4e;
    font-family: inherit;
    cursor: pointer;
    min-height: 60px
}

.cb-colour-menu button:hover,
.cb-colour-menu button:focus-visible,
.cb-colour-menu [aria-selected=true] {
    background: #fff4e8
}

.cb-colour-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important
}

.cb-colours-off .cb-colour-field {
    display: none !important
}

.cb-studio-main #ymq-box .cb-base-options>div:not(.ymq-option-title),
.cb-studio-main #ymq-box .cb-package-options>div:not(.ymq-option-title) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px
}

.cb-studio-main #ymq-box .cb-package-options>div:not(.ymq-option-title) {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.cb-studio-main #ymq-box .cb-base-options .ymq-options-img-input,
.cb-studio-main #ymq-box .cb-package-options .ymq-options-img-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important
}

.cb-studio-main #ymq-box .cb-base-options .ymq-options-img-label,
.cb-studio-main #ymq-box .cb-package-options .ymq-options-img-label {
    display: flex !important;
    align-items: flex-end;
    justify-content: center;
    min-width: 0;
    width: 100% !important;
    height: auto !important;
    min-height: 156px;
    margin: 0 !important;
    border: 1px solid #dce1e9 !important;
    border-radius: 6px;
    background-position: center 8px !important;
    background-size: contain !important;
    background-size: auto 90px !important;
    background-repeat: no-repeat !important;
    padding: 105px 4px 8px !important;
    cursor: pointer;
    text-align: center;
    background-color: #fff !important
}

.cb-option-caption {
    display: block !important;
    color: #172d4e !important;
    font-size: 10px !important;
    line-height: 1.6 !important
}

.cb-option-caption small {
    display: block;
    font-size: 9px;
    color: #68758a
}

.cb-studio-main #ymq-box .cb-base-options input:checked+label,
.cb-studio-main #ymq-box .cb-package-options input:checked+label {
    border-color: #f66b13 !important;
    box-shadow: 0 0 0 1px #f66b13;
    background-color: #fff8f1 !important
}

.cb-production {
    margin: 0 0 22px
}

.cb-production p,
.cb-email-note,
.cb-photo-help {
    font-size: 11px;
    color: #68758a;
    line-height: 1.8;
    margin: 12px 0
}

.cb-urgent {
    padding: 10px 12px;
    background: #fff0df;
    color: #a63c00 !important;
    border-radius: 4px
}

.cb-studio-footer {
    padding-top: 19px
}

.cb-studio-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px
}

.cb-studio-total-row p {
    margin: 0;
    font-size: 11px;
    color: #68758a
}

.cb-studio-total-row strong {
    font-size: 26px;
    color: #172d4e;
    margin-left: 7px
}

.cb-studio-back {
    font-size: 12px;
    color: #68758a;
    background: transparent;
    border: 0;
    padding: 8px 0;
    cursor: pointer
}

.cb-studio-next {
    width: 100%;
    min-height: 50px;
    border: 0;
    border-radius: 6px;
    background: #f66b13;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer
}

.cb-studio-next:hover {
    background: #d95500
}

.cb-studio-currency {
    font-size: 10px !important;
    text-align: center;
    color: #68758a;
    line-height: 1.8;
    margin: 11px 0 0 !important
}

.cb-studio-error {
    color: #ad3424;
    font-size: 12px;
    margin: 14px 0;
    line-height: 1.8
}

.cb-review-product {
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #e2e6ec
}

.cb-review-product img {
    width: 68px;
    height: 85px;
    object-fit: contain
}

.cb-review-product strong {
    font-size: 13px;
    line-height: 1.7;
    display: block
}

.cb-review-product small {
    display: block;
    color: #68758a;
    font-size: 10px;
    margin-top: 4px
}

.cb-review-list {
    margin: 0
}

.cb-review-list>div {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #e2e6ec;
    font-size: 11px;
    line-height: 1.8
}

.cb-review-list dt {
    color: #68758a
}

.cb-review-list dd {
    margin: 0;
    overflow-wrap: anywhere
}

.cb-review-colour {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 5px 0
}

.cb-review-colour img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border: 1px solid #e2e6ec;
    border-radius: 4px
}

.cb-review-files {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px
}

.cb-review-files img {
    width: 64px;
    height: 76px;
    object-fit: contain
}

.cb-price-breakdown {
    font-size: 11px;
    line-height: 1.8;
    margin-top: 18px
}

.cb-price-breakdown>div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin: 8px 0
}

.cb-price-breakdown>div:last-child {
    border-top: 1px solid #e2e6ec;
    padding-top: 12px;
    font-weight: 600;
    font-size: 13px
}

.cb-studio-main #ProductInfo-main-product-info[data-cb-step]:not([data-cb-step="2"]) .cb-native-buy,
.cb-studio-main #ProductInfo-main-product-info[data-cb-step]:not([data-cb-step="2"]) #Quantity-Form-main-product-info {
    display: none !important
}

.cb-studio-main .smart-payment,
.cb-studio-main .shopline-payment-button,
.cb-studio-main .shopline-payment-button-wrapper,
.cb-studio-main [data-shopline="payment-button"],
.cb-studio-main .product__dynamic-checkout-buttons,
.cb-studio-main .product__payment-button,
.cb-studio-main accelerated-checkout,
body.cb-studio-enabled product-float-buy-buttons,
body.cb-studio-enabled .product-float-buy-buttons {
    display: none !important
}

.cb-studio-main .cb-native-buy {
    margin-top: 18px !important
}

.cb-studio-main #product-form-main-product-info-submit {
    background: #f66b13 !important;
    border-color: #f66b13 !important;
    color: #fff !important;
    border-radius: 6px !important;
    min-height: 50px !important
}

.cb-studio-main .cb-native-extra {
    display: none !important
}

.cb-studio-dialog {
    border: 0;
    border-radius: 8px;
    padding: 40px 16px 16px;
    width: min(850px, 94vw);
    max-height: 94dvh;
    box-shadow: 0 20px 80px #172d4e55;
    background: #fff
}

.cb-studio-dialog::backdrop {
    background: #101a2dbb
}

.cb-studio-dialog img {
    display: block;
    max-width: 100%;
    max-height: 80dvh;
    width: auto;
    height: auto;
    margin: auto;
    object-fit: contain
}

.cb-studio-dialog button {
    position: absolute;
    right: 12px;
    top: 8px;
    font-size: 24px;
    border: 0;
    background: #fff;
    color: #172d4e;
    cursor: pointer;
    min-width: 32px;
    min-height: 32px
}

.cb-studio-main button:focus-visible,
#cb-studio-details button:focus-visible {
    outline: 3px solid #fba365;
    outline-offset: 3px
}

@media(min-width:1024px) {
    .cb-studio-main .product__media-wrapper {
        position: sticky !important;
        top: calc(var(--cb-header-height, 90px) + 15px) !important;
        align-self: start !important
    }

    .cb-studio-visuals {
        max-height: calc(100dvh - var(--cb-header-height, 90px) - 35px);
        gap: 14px
    }

    .cb-studio-hero {
        flex: 0 1 auto;
        min-height: 0;
        aspect-ratio: 1
    }

    .cb-customer-gallery {
        flex: none
    }

    .cb-customer-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 7px
    }

    .cb-customer-grid button {
        height: clamp(65px, 11dvh, 104px);
        aspect-ratio: auto
    }

    .cb-studio-hero img {
        max-height: 100%;
        object-fit: contain
    }

    .cb-customer-gallery p {
        font-size: 10px
    }
}

@media(max-width:1199px) {
    .cb-studio-main main-product-detail.product {
        gap: 28px !important
    }

    .cb-studio-main #ProductInfo-main-product-info {
        padding: 20px !important
    }

    .cb-studio-main h1 {
        font-size: 27px !important
    }

    .cb-studio-page {
        padding: 17px
    }

    .cb-size-grid {
        gap: 4px
    }

    .cb-size-grid small {
        font-size: 9px
    }
}

@media(max-width:1023px) {
    .cb-studio-main {
        padding: 22px !important
    }

    .cb-studio-main main-product-detail.product {
        grid-template-columns: 1fr !important
    }

    .cb-studio-main .product__media-wrapper {
        position: static !important
    }

    .cb-studio-visuals {
        max-width: 650px;
        margin: auto
    }

    .cb-studio-main #ProductInfo-main-product-info {
        width: 100%
    }

    .cb-customer-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .cb-customer-grid button {
        aspect-ratio: 4/5
    }
}

@media(max-width:767px) {
    .cb-studio-main {
        padding: 18px !important
    }

    .cb-studio-main main-product-detail.product {
        gap: 26px !important
    }

    .cb-studio-main #ProductInfo-main-product-info {
        padding: 22px 15px !important
    }

    .cb-studio-main h1 {
        font-size: 29px !important
    }

    .cb-studio-page {
        padding: 18px 12px
    }

    .cb-studio-page h2 {
        font-size: 23px !important
    }

    .cb-customer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px
    }

    .cb-customer-grid button {
        aspect-ratio: 1.15
    }

    .cb-studio-main #ymq-box input[type=text],
    .cb-studio-main #ymq-box textarea,
    .cb-production-select {
        font-size: 16px !important
    }

    .cb-size-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 6px
    }

    .cb-size-grid button {
        grid-column: span 2
    }

    .cb-size-grid button:nth-child(4) {
        grid-column: 2/span 2
    }

    .cb-studio-main #ymq-box .cb-head-options .ymq-options-img-label {
        padding-top: 140px !important;
        min-height: 203px;
        background-size: auto 130px !important
    }

    .cb-studio-main #ymq-box .cb-base-options>div:not(.ymq-option-title) {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .cb-review-list>div {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 9px
    }

    .cb-studio-total-row strong {
        font-size: 24px
    }
}

@media(prefers-reduced-motion:reduce) {
    .cb-studio-main * {
        scroll-behavior: auto !important
    }
}

/* Revision 2: stronger contrast, illustrated native uploads and full-width review. */
.cb-studio-main #ProductInfo-main-product-info {
    color: #24364c;
    font-weight: 400
}

.cb-studio-main .cb-studio-intro,
.cb-studio-main .cb-starting-label,
.cb-studio-main .cb-studio-page>p,
.cb-studio-main .cb-photo-help,
.cb-studio-main .cb-email-note,
.cb-studio-main .cb-production p,
.cb-studio-main .cb-studio-currency,
.cb-studio-main .cb-studio-total-row p {
    color: #45566c !important
}

.cb-studio-main .cb-studio-steps button {
    color: #45566c
}

.cb-studio-main .cb-studio-steps button:disabled {
    opacity: .75
}

.cb-studio-main .cb-appearance small,
.cb-studio-main .cb-head-caption small,
.cb-studio-main .cb-option-caption small,
.cb-studio-main .cb-size-grid small,
.cb-studio-main .cb-review-product small {
    color: #45566c
}

.cb-studio-main .cb-review-list,
.cb-studio-main .cb-price-breakdown {
    font-size: 13px;
    color: #24364c
}

.cb-studio-main .cb-review-list dt {
    color: #45566c
}

.cb-studio-main .cb-review-product strong {
    font-size: 14px
}

.cb-studio-main #ymq-box .cb-studio-page,
.cb-studio-main #ymq-box .cb-studio-footer,
.cb-studio-main #ymq-box .cb-studio-steps {
    width: 100%;
    max-width: 100%;
    min-width: 0
}

.cb-studio-main #ymq-box .cb-studio-page[data-page="3"] {
    background: #fff;
    box-sizing: border-box
}

.cb-studio-main #ymq-box .cb-photo-choice .ymq-options-button-label {
    min-width: 136px;
    justify-content: center;
    padding: 13px 18px !important;
    min-height: 49px;
    font-size: 14px !important;
    font-weight: 600;
    background: #ffead6 !important;
    color: #8a3508 !important;
    border-color: #efa56f !important;
    transition: background .15s, box-shadow .15s
}

.cb-studio-main #ymq-box .cb-photo-choice .ymq-options-button-label[for$="_2"] {
    background: #e8f0fa !important;
    color: #234b76 !important;
    border-color: #a6bfdc !important
}

.cb-studio-main #ymq-box .cb-photo-choice input:checked+.ymq-options-button-label {
    background: #d95b0c !important;
    border-color: #d95b0c !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px #ffc995
}

.cb-studio-main #ymq-box .cb-photo-choice input:checked+.ymq-options-button-label[for$="_2"] {
    background: #234b76 !important;
    border-color: #234b76 !important;
    box-shadow: 0 0 0 2px #c3d9ef
}

.cb-studio-main #ymq-box .cb-photo-choice .ymq-options-button-label:hover {
    box-shadow: 0 0 0 2px #d9e2ec
}

.cb-reference-uploads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 22px
}

.cb-reference-uploads[hidden] {
    display: none !important
}

.cb-studio-main #ymq-box .cb-reference-uploads [id^="option-box"] {
    width: 100% !important;
    margin: 0 !important;
    min-width: 0
}

.cb-studio-main #ymq-box .cb-reference-uploads .ymq_lable {
    font-size: 12px !important
}

.cb-studio-main #ymq-box .ymq_upload_new_box:has(.cb-upload-card) {
    padding: 6px;
    border: 1px solid #d4dfea;
    background: #f7fafc;
    border-radius: 9px;
    min-height: 0
}

.cb-studio-main #ymq-box .ymq_upload_img_view:has(.cb-upload-card) {
    width: 100% !important
}

.cb-studio-main #ymq-box .cb-upload-card {
    border: 0 !important;
    border-radius: 5px;
    margin: 0 !important;
    padding: 9px 5px 13px !important;
    gap: 5px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 210px !important;
    text-align: center;
    outline-offset: 4px;
    color: #213d58 !important;
    background: #f7fafc
}

.cb-studio-main #ymq-box .cb-upload-card:hover {
    background: #edf4fc
}

.cb-studio-main #ymq-box .cb-upload-card:focus-visible {
    outline: 3px solid #f4944c
}

.cb-studio-main #ymq-box .cb-upload-card>svg {
    display: none !important
}

.cb-studio-main #ymq-box .cb-upload-card .cb-upload-illustration {
    display: block !important;
    width: 130px !important;
    height: 130px !important;
    max-width: 100%;
    flex: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none
}

.cb-studio-main #ymq-box .cb-upload-title {
    display: block;
    font-size: 13px !important;
    font-weight: 700;
    line-height: 1.5;
    color: #213d58
}

.cb-studio-main #ymq-box .cb-upload-hint {
    display: block;
    font-size: 11px !important;
    line-height: 1.5;
    color: #45566c
}

.cb-studio-main .cb-studio-back {
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 0 0 14px;
    padding: 8px 0;
    font-family: inherit;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    color: #ce5108;
    text-align: left
}

.cb-studio-main .cb-studio-back[hidden] {
    display: none
}

.cb-studio-main .cb-studio-back:hover {
    color: #a73e00;
    text-decoration: underline
}

.cb-studio-main .cb-studio-total-row {
    width: 100%;
    justify-content: flex-start;
    margin-bottom: 17px
}

@media(max-width:767px) {
    .cb-reference-uploads {
        gap: 10px
    }

    .cb-studio-main #ymq-box .cb-upload-card {
        min-height: 195px !important;
        padding: 7px 2px 10px !important
    }

    .cb-studio-main #ymq-box .cb-upload-card .cb-upload-illustration {
        width: 112px !important;
        height: 112px !important
    }

    .cb-studio-main #ymq-box .cb-upload-title {
        font-size: 12px !important
    }

    .cb-studio-main #ymq-box .cb-upload-hint {
        font-size: 10px !important
    }

    .cb-studio-main #ymq-box .cb-photo-choice .ymq-options-button-label {
        min-width: 0;
        flex: 1;
        padding: 12px 16px !important
    }

    .cb-studio-main .cb-studio-back {
        font-size: 16px
    }

    .cb-studio-main .cb-review-list>div {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 9px
    }
}

/* Desktop width follows the existing 1600px header container; type and imagery scale together. */
.cb-studio-main {
    max-width: 1600px !important
}

.cb-studio-main h1 {
    font-size: 36px !important;
    line-height: 1.23 !important
}

.cb-studio-main .cb-studio-intro {
    font-size: 15px;
    line-height: 1.85
}

.cb-studio-main .cb-starting-label {
    font-size: 12px
}

.cb-studio-main #price-main-product-info .price {
    font-size: 30px !important
}

.cb-studio-main #ymq-box {
    font-size: 15px !important
}

.cb-studio-main .cb-studio-page h2 {
    font-size: 28px !important
}

.cb-studio-main .cb-studio-page>p {
    font-size: 14px
}

.cb-studio-main #ymq-box .ymq_lable,
.cb-studio-main .cb-appearance h3,
.cb-studio-main .cb-production h3 {
    font-size: 15px !important
}

.cb-studio-main .cb-studio-steps button {
    font-size: 14px
}

.cb-studio-main .cb-studio-steps span {
    font-size: 12px;
    width: 30px;
    height: 30px
}

.cb-studio-main #ymq-box .ymq-options-button-label {
    font-size: 14px !important
}

.cb-studio-main #ymq-box .cb-photo-choice .ymq-options-button-label {
    font-size: 16px !important;
    padding: 14px 23px !important
}

.cb-studio-main #ymq-box .ymq_r_c_box label,
.cb-studio-main .cb-appearance label,
.cb-studio-main .cb-colour-button,
.cb-studio-main .cb-colour-menu button {
    font-size: 14px !important
}

.cb-studio-main .cb-appearance small,
.cb-studio-main .cb-production p,
.cb-studio-main .cb-email-note,
.cb-studio-main .cb-photo-help,
.cb-studio-main .cb-studio-currency {
    font-size: 13px !important
}

.cb-studio-main #ymq-box input[type=text],
.cb-studio-main #ymq-box textarea,
.cb-studio-main .cb-production-select {
    font-size: 15px !important
}

.cb-studio-main .cb-size-grid b {
    font-size: 17px
}

.cb-studio-main .cb-size-grid span,
.cb-studio-main .cb-size-grid small {
    font-size: 12px
}

.cb-studio-main .cb-size-grid button {
    min-height: 100px
}

.cb-studio-main .cb-head-caption {
    font-size: 15px !important
}

.cb-studio-main .cb-head-caption small {
    font-size: 12px
}

.cb-studio-main .cb-option-caption {
    font-size: 13px !important
}

.cb-studio-main .cb-option-caption small {
    font-size: 12px
}

.cb-studio-main .cb-colour-button img,
.cb-studio-main .cb-colour-menu img {
    width: 50px;
    height: 50px
}

.cb-studio-main .cb-review-list,
.cb-studio-main .cb-price-breakdown {
    font-size: 15px
}

.cb-studio-main .cb-review-product strong {
    font-size: 16px
}

.cb-studio-main .cb-review-product small {
    font-size: 12px
}

.cb-studio-main .cb-review-product img {
    width: 82px;
    height: 100px
}

.cb-studio-main .cb-price-breakdown>div:last-child {
    font-size: 16px
}

.cb-studio-main .cb-review-list>div {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 16px
}

.cb-studio-main .cb-studio-total-row p {
    font-size: 14px
}

.cb-studio-main .cb-studio-total-row strong {
    font-size: 30px
}

.cb-studio-main .cb-studio-next {
    font-size: 16px;
    min-height: 54px
}

.cb-studio-main .cb-studio-back {
    font-size: 18px
}

.cb-studio-main .cb-studio-error {
    font-size: 14px
}

.cb-studio-main .cb-customer-gallery h2 {
    font-size: 16px
}

.cb-studio-main .cb-customer-gallery p {
    font-size: 12px
}

#cb-studio-details {
    font-size: 16px;
    font-weight: 400
}

#cb-studio-details .detail-width {
    width: 100%;
    max-width: 1600px;
    margin-inline: auto;
    padding-inline: 32px;
    box-sizing: border-box
}

#cb-studio-details .detail-heading h2,
#cb-studio-details .stories-heading h2 {
    font-size: 40px
}

#cb-studio-details .section-number {
    width: 42px;
    height: 42px;
    font-size: 21px
}

#cb-studio-details .detail-heading p,
#cb-studio-details .stories-heading p {
    font-size: 16px;
    color: #53647b
}

#cb-studio-details .detail-copy,
#cb-studio-details .making-story .detail-copy,
#cb-studio-details .process-explanation p,
#cb-studio-details .delivery-part p,
#cb-studio-details .faq-list p,
#cb-studio-details .stacked-explanations p {
    font-size: 16px;
    color: #455870
}

#cb-studio-details .making-note,
#cb-studio-details .detail-footnote,
#cb-studio-details .stories-preview-label,
#cb-studio-details .stories-footer,
#cb-studio-details .detail-callout {
    font-size: 13px;
    color: #53647b
}

#cb-studio-details .making-sequence h3,
#cb-studio-details .process-sequence h3 {
    font-size: 23px
}

#cb-studio-details .making-sequence figcaption>span,
#cb-studio-details .process-sequence figcaption>span {
    font-size: 13px
}

#cb-studio-details .story-copy h3 {
    font-size: 25px
}

#cb-studio-details .story-copy p {
    font-size: 15px;
    color: #455870
}

#cb-studio-details .head-demo h3,
#cb-studio-details .similarity-example h3 {
    font-size: 25px
}

#cb-studio-details .head-demo-note,
#cb-studio-details .head-motion-control {
    font-size: 14px
}

#cb-studio-details .size-object strong {
    font-size: 16px
}

#cb-studio-details .size-object>span {
    font-size: 14px
}

#cb-studio-details .comparison-label {
    font-size: 12px
}

#cb-studio-details .cb-example-label {
    font-size: 13px
}

#cb-studio-details .delivery-equation strong {
    font-size: 20px
}

#cb-studio-details .delivery-part h3,
#cb-studio-details .faq-list h3 {
    font-size: 27px
}

#cb-studio-details .production-table {
    font-size: 15px
}

#cb-studio-details .production-table thead th {
    font-size: 13px
}

#cb-studio-details .return-link {
    font-size: 16px
}

@media(min-width:1024px) {
    .cb-studio-main #ymq-box .cb-upload-card {
        min-height: 250px !important
    }

    .cb-studio-main #ymq-box .cb-upload-card .cb-upload-illustration {
        width: 160px !important;
        height: 160px !important
    }

    .cb-studio-main #ymq-box .cb-upload-title {
        font-size: 15px !important
    }

    .cb-studio-main #ymq-box .cb-upload-hint {
        font-size: 13px !important
    }

    .cb-studio-main #ymq-box .cb-reference-uploads .ymq_lable {
        font-size: 14px !important
    }

    .cb-studio-main #ymq-box .cb-head-options .ymq-options-img-label {
        min-height: 280px;
        padding-top: 206px !important;
        background-size: auto 192px !important
    }

    .cb-studio-main #ymq-box .cb-base-options .ymq-options-img-label,
    .cb-studio-main #ymq-box .cb-package-options .ymq-options-img-label {
        min-height: 190px;
        background-size: auto 112px !important;
        padding-top: 128px !important
    }

    #cb-studio-details .head-demo {
        width: 330px
    }

    #cb-studio-details .size-comparison {
        --size-unit: clamp(8px, .8vw, 12px)
    }

    #cb-studio-details .reference-phone {
        width: clamp(104px, 8vw, 145px)
    }

    #cb-studio-details .native-product-window {
        width: clamp(160px, 12vw, 224px);
        height: clamp(260px, 20vw, 350px)
    }

    #cb-studio-details .similarity-visual {
        gap: 12px
    }
}

@media(max-width:1199px) {
    .cb-studio-main h1 {
        font-size: 31px !important
    }

    #cb-studio-details .detail-heading h2,
    #cb-studio-details .stories-heading h2 {
        font-size: 35px
    }

    #cb-studio-details .comparison-label {
        font-size: 10px
    }

    #cb-studio-details .making-sequence h3,
    #cb-studio-details .process-sequence h3 {
        font-size: 21px
    }
}

@media(max-width:767px) {
    .cb-studio-main h1 {
        font-size: 31px !important
    }

    .cb-studio-main .cb-studio-intro {
        font-size: 14px
    }

    .cb-studio-main .cb-studio-page h2 {
        font-size: 25px !important
    }

    .cb-studio-main #ymq-box .ymq_lable,
    .cb-studio-main .cb-appearance h3,
    .cb-studio-main .cb-production h3 {
        font-size: 14px !important
    }

    .cb-studio-main .cb-studio-steps button {
        font-size: 13px;
        gap: 5px
    }

    .cb-studio-main .cb-studio-steps span {
        width: 26px;
        height: 26px
    }

    .cb-studio-main #ymq-box .cb-photo-choice .ymq-options-button-label {
        font-size: 14px !important;
        padding: 12px 14px !important
    }

    .cb-studio-main #ymq-box .cb-upload-title {
        font-size: 13px !important
    }

    .cb-studio-main #ymq-box .cb-upload-hint {
        font-size: 11px !important
    }

    .cb-studio-main #ymq-box input[type=text],
    .cb-studio-main #ymq-box textarea,
    .cb-studio-main .cb-production-select {
        font-size: 16px !important
    }

    .cb-studio-main .cb-appearance small,
    .cb-studio-main .cb-production p,
    .cb-studio-main .cb-email-note,
    .cb-studio-main .cb-photo-help,
    .cb-studio-main .cb-studio-currency {
        font-size: 12px !important
    }

    .cb-studio-main .cb-review-list,
    .cb-studio-main .cb-price-breakdown {
        font-size: 14px
    }

    .cb-studio-main .cb-review-list>div {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 10px
    }

    .cb-studio-main .cb-size-grid b {
        font-size: 16px
    }

    .cb-studio-main .cb-size-grid span,
    .cb-studio-main .cb-size-grid small {
        font-size: 11px
    }

    .cb-studio-main .cb-option-caption {
        font-size: 12px !important
    }

    .cb-studio-main .cb-option-caption small {
        font-size: 11px
    }

    #cb-studio-details .detail-width {
        padding-inline: 18px
    }

    #cb-studio-details .detail-heading h2,
    #cb-studio-details .stories-heading h2 {
        font-size: 30px
    }

    #cb-studio-details .section-number {
        width: 34px;
        height: 34px;
        font-size: 18px
    }

    #cb-studio-details .detail-heading p,
    #cb-studio-details .stories-heading p {
        font-size: 14px
    }

    #cb-studio-details .detail-copy,
    #cb-studio-details .making-story .detail-copy,
    #cb-studio-details .process-explanation p,
    #cb-studio-details .delivery-part p,
    #cb-studio-details .faq-list p,
    #cb-studio-details .stacked-explanations p {
        font-size: 14px
    }

    #cb-studio-details .making-note,
    #cb-studio-details .detail-footnote,
    #cb-studio-details .stories-preview-label,
    #cb-studio-details .stories-footer,
    #cb-studio-details .detail-callout {
        font-size: 12px
    }

    #cb-studio-details .making-sequence h3,
    #cb-studio-details .process-sequence h3 {
        font-size: 20px
    }

    #cb-studio-details .story-copy h3 {
        font-size: 24px
    }

    #cb-studio-details .story-copy p {
        font-size: 14px
    }

    #cb-studio-details .head-demo h3,
    #cb-studio-details .similarity-example h3 {
        font-size: 23px
    }

    #cb-studio-details .head-demo-note,
    #cb-studio-details .head-motion-control {
        font-size: 12px
    }

    #cb-studio-details .size-object strong,
    #cb-studio-details .size-object>span {
        font-size: 10px
    }

    #cb-studio-details .comparison-label {
        font-size: 10px
    }

    #cb-studio-details .delivery-equation strong {
        font-size: 12px
    }

    #cb-studio-details .production-table {
        font-size: 12px
    }

    #cb-studio-details .production-table thead th {
        font-size: 11px
    }

    #cb-studio-details .production-table th,
    #cb-studio-details .production-table td {
        padding: 12px 7px
    }
}

/* Revision 3: raised customisation card and native full-area photo previews. */
.cb-studio-main #ProductInfo-main-product-info {
    box-shadow: 0 14px 38px rgba(23, 45, 78, .14), 0 3px 10px rgba(23, 45, 78, .06)
}

.cb-studio-main #ymq-box [ymq-original-name="Photos of Clothes"] {
    width: 50% !important;
    max-width: 100%
}

.cb-studio-main #ymq-box .ymq_upload_img_view:has(.ymq_upload_img_item) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px
}

.cb-studio-main #ymq-box .ymq_upload_img_view .ymq_upload_img_item {
    position: relative !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: 250px !important;
    min-width: 0;
    margin: 0 !important;
    border: 0;
    border-radius: 6px;
    overflow: hidden;
    background: #edf2f7;
    box-sizing: border-box
}

.cb-studio-main #ymq-box .ymq_upload_img_view .ymq_upload_img_item>img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    border: 0 !important
}

.cb-studio-main #ymq-box .ymq_upload_img_view .ymq_upload_img_item_bg {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important
}

.cb-studio-main #ymq-box .cb-upload-card.ymq_disabled {
    display: none !important
}

.cb-studio-main #ymq-box .ymq_upload_img_view:has(.ymq_upload_img_item) .cb-upload-card .cb-upload-illustration,
.cb-studio-main #ymq-box .ymq_upload_img_view:has(.ymq_upload_img_item) .cb-upload-card .cb-upload-hint {
    display: none !important
}

.cb-studio-main #ymq-box .ymq_upload_img_view:has(.ymq_upload_img_item) .cb-upload-card:not(.ymq_disabled) {
    min-height: 48px !important;
    padding: 10px !important;
    background: #e8f0fa;
    color: #234b76 !important;
    border: 1px solid #a6bfdc !important
}

.cb-studio-main #ymq-box .ymq_upload_img_view:has(.ymq_upload_img_item) .cb-upload-title::before {
    content: '+ ';
    font-size: 18px;
    vertical-align: middle
}

.cb-studio-main .cb-appearance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px
}

.cb-studio-main .cb-appearance[hidden] {
    display: none !important
}

.cb-studio-main .cb-appearance>h3 {
    grid-column: 1/-1;
    margin: 0
}

.cb-studio-main .cb-appearance label {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    min-height: 96px;
    margin: 0;
    padding: 15px 13px;
    border: 1px solid #abc1da;
    border-radius: 7px;
    background: #eaf1fa;
    color: #234b76;
    line-height: 1.6;
    font-size: 15px !important;
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box
}

.cb-studio-main .cb-appearance label>input {
    margin: 5px 0 0;
    flex: none;
    width: 16px;
    height: 16px;
    accent-color: #e46616
}

.cb-studio-main .cb-appearance label>span {
    min-width: 0
}

.cb-studio-main .cb-appearance label small {
    font-size: 12px !important;
    font-weight: 400;
    margin-top: 4px;
    line-height: 1.6;
    color: #45566c
}

.cb-studio-main .cb-appearance label:has(input:checked) {
    background: #fff0e2;
    border-color: #e46616;
    box-shadow: 0 0 0 1px #e46616;
    color: #8a3508
}

.cb-studio-main .cb-appearance label:hover {
    border-color: #e46616
}

.cb-studio-main .cb-appearance label:focus-within {
    outline: 3px solid #f4944c;
    outline-offset: 3px
}

@media(max-width:767px) {
    .cb-studio-main #ProductInfo-main-product-info {
        box-shadow: 0 8px 24px rgba(23, 45, 78, .12), 0 2px 6px rgba(23, 45, 78, .05)
    }

    .cb-studio-main #ymq-box [ymq-original-name="Photos of Clothes"] {
        width: 100% !important
    }

    .cb-studio-main #ymq-box .ymq_upload_img_view .ymq_upload_img_item {
        height: 220px !important
    }

    .cb-studio-main .cb-appearance {
        grid-template-columns: 1fr;
        gap: 10px
    }

    .cb-studio-main .cb-appearance label {
        min-height: 80px;
        padding: 13px 14px
    }
}

/* All actual native template fields remain in the form, including duplicate names. */
.cb-studio-main #ymq-box .cb-native-description {
    display: none !important
}

.cb-studio-main #ymq-box .cb-reference-uploads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px
}

.cb-studio-main #ymq-box .cb-reference-uploads>[ymq-original-name] {
    width: 100% !important;
    min-width: 0
}

.cb-studio-main #ymq-box .cb-outfit-upload {
    width: 50% !important
}

.cb-studio-main #ymq-box .ymq_upload_new.ymq_disabled {
    display: none !important
}

.cb-studio-main [ymq-original-name] select:not(.cb-sr) {
    max-width: 100%;
    padding: 12px;
    border: 1px solid #bdc9d9;
    border-radius: 6px;
    color: #172d4e;
    background: #fff;
    font: inherit
}

.cb-studio-main[data-cb-studio-mode=native-no-options] .cb-native-buy {
    display: block !important
}

#cb-studio-details .cb-product-notes {
    padding: 18px 0;
    border-bottom: 1px solid #e7e9ed;
    white-space: pre-line
}

@media(max-width:767px) {
    .cb-studio-main #ymq-box .cb-outfit-upload {
        width: 100% !important
    }

    .cb-studio-main #ymq-box .cb-reference-uploads {
        gap: 10px
    }
}

/* Photo selection and the genuine native upload share one full-frame status. */
.cb-studio-main #ymq-box .ymq_upload_new_box:has(.cb-upload-pending) {
    position: relative
}

.cb-studio-main #ymq-box .cb-upload-pending {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 8px;
    background: #edf4fc;
    color: #172d4e;
    text-align: center;
    padding: 20px;
    pointer-events: auto
}

.cb-studio-main #ymq-box .cb-upload-pending[hidden] {
    display: none !important
}

.cb-studio-main #ymq-box .cb-upload-pending strong {
    font-size: 16px
}

.cb-studio-main #ymq-box .cb-upload-pending small {
    font-size: 12px;
    line-height: 1.5
}

.cb-studio-main #ymq-box .cb-upload-spinner {
    display: block;
    width: 38px;
    height: 38px;
    border: 4px solid #cbdced;
    border-top-color: #ec6a17;
    border-radius: 50%;
    animation: cb-upload-spin .8s linear infinite
}

.cb-studio-main #ymq-box .cb-uploading .ymq_upload_new_box {
    min-height: 262px
}

@keyframes cb-upload-spin {
    to {
        transform: rotate(360deg)
    }
}

.cb-studio-main .cb-required-star,
.cb-studio-main .cb-production p.cb-production-error {
    color: #c52b20 !important
}

.cb-studio-main .cb-production p.cb-production-error {
    font-size: 14px !important;
    font-weight: 600;
    margin: 8px 0 0
}

.cb-studio-main .cb-production-error[hidden] {
    display: none !important
}

.cb-studio-main .cb-production-select[aria-invalid=true] {
    border-color: #c52b20 !important;
    box-shadow: 0 0 0 1px #c52b20
}

.cb-studio-main #ymq-box .cb-special-instructions {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-inline: 0 !important;
    padding-inline: 0 !important
}

.cb-studio-main #ymq-box .cb-special-instructions textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-inline: 0 !important
}

@media(max-width:767px) {
    .cb-studio-main #ymq-box .cb-uploading .ymq_upload_new_box {
        min-height: 232px
    }
}

/* Required messages stay directly beneath the original option they describe. */
.cb-studio-main #ymq-box .cb-field-error {
    display: block;
    width: 100%;
    color: #c52b20 !important;
    font-size: 14px !important;
    line-height: 1.6;
    font-weight: 600;
    margin: 8px 0 0 !important
}

.cb-studio-main #ymq-box .cb-field-error[hidden] {
    display: none !important
}

.cb-studio-main #ymq-box .cb-field-invalid .cb-colour-button,
.cb-studio-main #ymq-box .cb-field-invalid textarea,
.cb-studio-main #ymq-box .cb-field-invalid select:not(.cb-sr) {
    border-color: #c52b20 !important
}

.cb-studio-main h1 {
    font-family: inherit !important;
    font-weight: 300 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    text-transform: capitalize !important
}