body.ngdi-builder-page {
    background: #fff7f1 !important;
    overflow-x: hidden !important;
}

body.ngdi-builder-page .woocommerce-breadcrumb,
body.ngdi-builder-page div.product div.images,
body.ngdi-builder-page div.product .woocommerce-product-gallery,
body.ngdi-builder-page div.product .product_title,
body.ngdi-builder-page div.product .price,
body.ngdi-builder-page div.product .woocommerce-product-details__short-description,
body.ngdi-builder-page div.product .product_meta,
body.ngdi-builder-page div.product .woocommerce-tabs,
body.ngdi-builder-page div.product .related,
body.ngdi-builder-page div.product .upsells,
body.ngdi-builder-page div.product .cross-sells {
    display: none !important;
}

body.ngdi-builder-page div.product,
body.ngdi-builder-page div.product div.summary,
body.ngdi-builder-page .site-main,
body.ngdi-builder-page .content-area,
body.ngdi-builder-page .woocommerce,
body.ngdi-builder-page .entry-content,
body.ngdi-builder-page .container,
body.ngdi-builder-page .site-content,
body.ngdi-builder-page .content,
body.ngdi-builder-page main {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

body.ngdi-builder-page div.product div.summary {
    margin: 0 auto !important;
    padding: 0 !important;
}

body.ngdi-builder-page form.cart {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 0 70px calc(50% - 50vw) !important;
    padding: 0 clamp(16px, 2.4vw, 44px) !important;
    float: none !important;
}

body.ngdi-builder-page form.cart .quantity {
    display: none !important;
}

body.ngdi-builder-page form.cart .single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(460px, 100%) !important;
    min-height: 58px !important;
    margin: 30px auto 0 !important;
    padding: 16px 30px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #33201d !important;
    color: #ffffff !important;
    font-family: "Inter", "Noto Sans", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: 0 18px 42px rgba(51, 32, 29, 0.22) !important;
    cursor: pointer !important;
}

body.ngdi-builder-page form.cart .single_add_to_cart_button:hover {
    background: #1f1412 !important;
    color: #ffffff !important;
}

.ngdi-builder,
.ngdi-builder * {
    box-sizing: border-box !important;
}

.ngdi-builder {
    width: 100% !important;
    max-width: none !important;
    margin: 34px auto 0 !important;
    padding: 0 !important;
    font-family: "Inter", "Noto Sans", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    color: #33201d !important;
}

.ngdi-builder a,
.ngdi-builder button,
.ngdi-builder input,
.ngdi-builder select,
.ngdi-builder textarea {
    font-family: "Inter", "Noto Sans", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.ngdi-builder__shell {
    overflow: hidden !important;
    width: 100% !important;
    max-width: none !important;
    border: 1px solid rgba(90, 48, 38, 0.14) !important;
    border-radius: 38px !important;
    background:
        radial-gradient(circle at top left, rgba(255, 226, 215, 0.88), transparent 32%),
        radial-gradient(circle at bottom right, rgba(210, 160, 140, 0.3), transparent 36%),
        linear-gradient(135deg, #fffaf5, #f3dfd4) !important;
    box-shadow: 0 28px 90px rgba(79, 43, 32, 0.13) !important;
}

.ngdi-builder__top {
    padding: clamp(30px, 4vw, 58px) clamp(22px, 4vw, 64px) 14px !important;
    text-align: center !important;
}

.ngdi-builder__top span {
    display: block !important;
    margin-bottom: 10px !important;
    color: #9b6a58 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

.ngdi-builder__top h2 {
    margin: 0 !important;
    color: #33201d !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(38px, 5.8vw, 78px) !important;
    line-height: 0.98 !important;
    font-weight: 400 !important;
    letter-spacing: -0.03em !important;
}

.ngdi-builder__price {
    margin-top: 14px !important;
    color: #87503f !important;
    font-size: 20px !important;
    line-height: 1.4 !important;
    font-weight: 900 !important;
}

.ngdi-builder__price * {
    color: inherit !important;
}

.ngdi-builder__top p {
    width: min(920px, 100%) !important;
    margin: 18px auto 0 !important;
    color: #604840 !important;
    font-size: 16px !important;
    line-height: 1.68 !important;
    font-weight: 500 !important;
}

.ngdi-builder__main {
    display: grid !important;
    grid-template-columns: minmax(560px, 1.14fr) minmax(430px, 0.86fr) !important;
    gap: clamp(24px, 2.4vw, 44px) !important;
    align-items: start !important;
    padding: clamp(20px, 3vw, 44px) !important;
}

.ngdi-preview-panel {
    position: sticky !important;
    top: 24px !important;
    display: grid !important;
    justify-items: center !important;
    align-content: start !important;
    min-width: 0 !important;
}

.ngdi-preview-panel.is-preview-horizontal {
    justify-items: stretch !important;
}

.ngdi-preview-panel.is-preview-vertical,
.ngdi-preview-panel.is-preview-square {
    justify-items: center !important;
}

.ngdi-result-card {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    padding: 14px !important;
    border: 1px solid rgba(90, 48, 38, 0.14) !important;
    border-radius: 34px !important;
    background:
        radial-gradient(circle at top left, rgba(255, 230, 220, 0.94), transparent 32%),
        radial-gradient(circle at bottom right, rgba(203, 136, 105, 0.32), transparent 42%),
        linear-gradient(135deg, #fff9f4, #f0d8cb) !important;
    box-shadow: 0 24px 70px rgba(74, 42, 30, 0.12) !important;
    transition: width 220ms ease, max-width 220ms ease, aspect-ratio 220ms ease !important;
}

.ngdi-result-card.is-orientation-horizontal,
.ngdi-result-card[data-ngdi-current-orientation="horizontal"] {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 16 / 9 !important;
}

.ngdi-result-card.is-orientation-vertical,
.ngdi-result-card[data-ngdi-current-orientation="vertical"] {
    width: min(560px, 100%) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    aspect-ratio: 2 / 3 !important;
}

.ngdi-result-card.is-orientation-square,
.ngdi-result-card[data-ngdi-current-orientation="square"] {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    aspect-ratio: 1 / 1 !important;
}

.ngdi-result-card__empty {
    position: absolute !important;
    inset: 28px !important;
    z-index: 1 !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 12px !important;
    border: 1px dashed rgba(96, 72, 64, 0.32) !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.38) !important;
    text-align: center !important;
    padding: 24px !important;
}

.ngdi-result-card__empty[hidden],
.ngdi-result-card img[hidden],
.ngdi-conditional-group[hidden] {
    display: none !important;
}

.ngdi-result-card__empty span {
    color: #9b6a58 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

.ngdi-result-card__empty strong {
    max-width: 520px !important;
    color: #33201d !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(28px, 4vw, 52px) !important;
    line-height: 1.04 !important;
    font-weight: 400 !important;
}

.ngdi-result-card__empty p {
    max-width: 560px !important;
    margin: 0 !important;
    color: #604840 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
}

.ngdi-result-card__empty.is-stale {
    border-color: rgba(135, 80, 63, 0.45) !important;
    background: rgba(255, 248, 237, 0.72) !important;
}

.ngdi-result-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 22px !important;
}

.ngdi-preview-actions {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin-top: 16px !important;
}

.ngdi-preview-panel.is-preview-vertical .ngdi-preview-actions {
    width: min(560px, 100%) !important;
    max-width: 560px !important;
}

.ngdi-preview-panel.is-preview-square .ngdi-preview-actions {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
}

.ngdi-preview-panel.is-preview-horizontal .ngdi-preview-actions {
    width: 100% !important;
    max-width: none !important;
}

.ngdi-secondary-button,
.ngdi-ai-button {
    appearance: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 14px 20px !important;
    background: #33201d !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: 0 14px 34px rgba(51, 32, 29, 0.18) !important;
}

.ngdi-secondary-button:hover,
.ngdi-ai-button:hover {
    background: #1f1412 !important;
    color: #ffffff !important;
}

.ngdi-secondary-button:disabled,
.ngdi-ai-button:disabled {
    cursor: not-allowed !important;
    opacity: 0.52 !important;
}

.ngdi-ai-button {
    width: 100% !important;
    min-height: 58px !important;
    background: #87503f !important;
}

.ngdi-ai-button:hover {
    background: #6d3f31 !important;
}

.ngdi-ai-button.is-loading {
    cursor: wait !important;
    opacity: 0.72 !important;
}

.ngdi-preview-actions p {
    flex: 1 1 240px !important;
    margin: 0 !important;
    color: #604840 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

.ngdi-form-panel {
    display: grid !important;
    gap: 18px !important;
    min-width: 0 !important;
}

.ngdi-control-group {
    padding: 22px !important;
    border: 1px solid rgba(90, 48, 38, 0.12) !important;
    border-radius: 24px !important;
    background: rgba(255, 252, 248, 0.94) !important;
    box-shadow: 0 14px 38px rgba(74, 42, 30, 0.06) !important;
}

.ngdi-control-group h3 {
    margin: 0 0 16px !important;
    color: #33201d !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

.ngdi-control-group--ai {
    border-color: rgba(155, 106, 88, 0.28) !important;
    background: linear-gradient(135deg, rgba(255, 252, 248, 0.95), rgba(255, 244, 232, 0.95)) !important;
}

.ngdi-field {
    margin-bottom: 15px !important;
}

.ngdi-field:last-child {
    margin-bottom: 0 !important;
}

.ngdi-field label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #604840 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
}

.ngdi-field input,
.ngdi-field select,
.ngdi-field textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(96, 72, 64, 0.2) !important;
    border-radius: 15px !important;
    background: #ffffff !important;
    color: #33201d !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    outline: none !important;
}

.ngdi-field textarea {
    min-height: 112px !important;
    resize: vertical !important;
}

.ngdi-field input::placeholder,
.ngdi-field textarea::placeholder {
    color: rgba(96, 72, 64, 0.48) !important;
}

.ngdi-field input:focus,
.ngdi-field select:focus,
.ngdi-field textarea:focus {
    border-color: #9b6a58 !important;
    box-shadow: 0 0 0 4px rgba(155, 106, 88, 0.14) !important;
    background: #fffdfb !important;
}

.ngdi-two-fields {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.ngdi-ai-status,
.ngdi-ai-warning {
    margin: 14px 0 0 !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 800 !important;
}

.ngdi-ai-status {
    background: rgba(255, 255, 255, 0.72) !important;
    color: #6f4c2c !important;
}

.ngdi-ai-status.is-error,
.ngdi-ai-warning {
    border: 1px solid #e2b84b !important;
    background: #fff8df !important;
    color: #7a5b00 !important;
}

.ngdi-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
}

.ngdi-modal.is-open {
    display: block !important;
}

.ngdi-modal__backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(15, 23, 42, 0.76) !important;
}

.ngdi-modal__dialog {
    position: relative !important;
    z-index: 2 !important;
    width: min(1180px, calc(100% - 24px)) !important;
    max-height: 94vh !important;
    margin: 3vh auto !important;
    padding: 16px !important;
    border-radius: 30px !important;
    background: #fffaf5 !important;
    overflow: auto !important;
}

.ngdi-modal__close {
    position: sticky !important;
    top: 0 !important;
    z-index: 6 !important;
    display: block !important;
    margin-left: auto !important;
    margin-bottom: 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    background: #33201d !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.ngdi-modal__dialog img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 22px !important;
}

body.ngdi-modal-open {
    overflow: hidden !important;
}

@media (min-width: 1440px) {
    .ngdi-builder__main {
        grid-template-columns: minmax(680px, 1.18fr) minmax(470px, 0.82fr) !important;
    }

    .ngdi-result-card.is-orientation-vertical,
    .ngdi-result-card[data-ngdi-current-orientation="vertical"] {
        width: min(620px, 100%) !important;
        max-width: 620px !important;
    }

    .ngdi-preview-panel.is-preview-vertical .ngdi-preview-actions {
        width: min(620px, 100%) !important;
        max-width: 620px !important;
    }

    .ngdi-result-card.is-orientation-square,
    .ngdi-result-card[data-ngdi-current-orientation="square"] {
        width: min(820px, 100%) !important;
        max-width: 820px !important;
    }

    .ngdi-preview-panel.is-preview-square .ngdi-preview-actions {
        width: min(820px, 100%) !important;
        max-width: 820px !important;
    }
}

@media (max-width: 1180px) {
    body.ngdi-builder-page form.cart {
        width: min(100%, calc(100vw - 32px)) !important;
        max-width: none !important;
        margin: 0 auto 70px !important;
        padding: 0 !important;
    }

    .ngdi-builder__main {
        grid-template-columns: 1fr !important;
    }

    .ngdi-preview-panel {
        position: static !important;
    }
}

@media (max-width: 760px) {
    .ngdi-result-card.is-orientation-horizontal,
    .ngdi-result-card.is-orientation-square,
    .ngdi-result-card.is-orientation-vertical,
    .ngdi-result-card[data-ngdi-current-orientation="horizontal"],
    .ngdi-result-card[data-ngdi-current-orientation="vertical"],
    .ngdi-result-card[data-ngdi-current-orientation="square"] {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ngdi-preview-panel.is-preview-horizontal .ngdi-preview-actions,
    .ngdi-preview-panel.is-preview-vertical .ngdi-preview-actions,
    .ngdi-preview-panel.is-preview-square .ngdi-preview-actions {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 640px) {
    body.ngdi-builder-page form.cart {
        width: calc(100vw - 20px) !important;
        margin: 0 auto 70px !important;
        padding: 0 !important;
    }

    .ngdi-builder {
        width: 100% !important;
        margin-top: 18px !important;
    }

    .ngdi-builder__shell {
        border-radius: 24px !important;
    }

    .ngdi-builder__top {
        padding: 26px 16px 8px !important;
    }

    .ngdi-builder__main {
        padding: 12px !important;
    }

    .ngdi-result-card {
        padding: 8px !important;
        border-radius: 22px !important;
    }

    .ngdi-result-card__empty {
        inset: 14px !important;
        border-radius: 20px !important;
    }

    .ngdi-result-card__empty strong {
        font-size: clamp(24px, 8vw, 38px) !important;
    }

    .ngdi-preview-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .ngdi-secondary-button {
        width: 100% !important;
    }

    .ngdi-preview-actions p {
        flex-basis: auto !important;
    }

    .ngdi-two-fields {
        grid-template-columns: 1fr !important;
    }

    .ngdi-control-group {
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .ngdi-modal__dialog {
        width: calc(100% - 12px) !important;
        max-height: 96vh !important;
        margin: 2vh auto !important;
        padding: 10px !important;
        border-radius: 18px !important;
    }
}