:root {
            --wizard-circle-size: 42px;
            --wizard-line-height: 3px;
        }
        #cateringWizard {
            background: var(--cream);
        }
        .wizard-header {
            background: var(--gradient-primary);
            padding: 2.5rem 0 2rem;
            text-align: center;
            position: relative;
        }
        .wizard-header h1 {
            font-family: var(--font-primary);
            color: var(--white);
            font-size: 2.2rem;
            font-weight: 600;
            margin-bottom: .25rem;
        }
        .wizard-header p {
            color: rgba(255,255,255,.75);
            font-size: 1rem;
            margin: 0;
        }
        .wizard-header .wizard-icon {
            font-size: 2.8rem;
            color: var(--primary-gold);
            margin-bottom: .5rem;
        }

        /* ── Progress Stepper ── */
        .progress-stepper {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0;
            padding: 1.75rem 0 1.5rem;
            max-width: 700px;
            margin: 0 auto;
        }
        .step-indicator {
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            z-index: 1;
            flex-shrink: 0;
        }
        .step-circle {
            width: var(--wizard-circle-size);
            height: var(--wizard-circle-size);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: .9rem;
            font-weight: 600;
            border: 2.5px solid #d0d0d0;
            background: var(--white);
            color: #aaa;
            transition: var(--transition-smooth);
            position: relative;
        }
        .step-circle.active {
            border-color: var(--primary-gold);
            color: var(--primary-gold-dark);
            background: rgba(212, 175, 55, .1);
            box-shadow: 0 0 0 4px rgba(212, 175, 55, .18);
        }
        .step-circle.completed {
            border-color: var(--primary-gold);
            background: var(--primary-gold);
            color: var(--white);
        }
        .step-circle.completed i {
            font-size: .85rem;
        }
        .step-label {
            font-size: .65rem;
            color: #999;
            margin-top: 6px;
            text-transform: uppercase;
            letter-spacing: .5px;
            font-weight: 500;
            white-space: nowrap;
            transition: var(--transition-smooth);
        }
        .step-indicator.active .step-label,
        .step-indicator.completed .step-label {
            color: var(--primary-gold-dark);
        }
        .step-connector {
            flex: 1;
            height: var(--wizard-line-height);
            background: #e0e0e0;
            margin: 0 -1px;
            min-width: 20px;
            transition: var(--transition-smooth);
            position: relative;
            top: -13px;
        }
        .step-connector.completed {
            background: var(--primary-gold);
        }

        /* ── Wizard Body ── */
        .wizard-body {
            max-width: 780px;
            margin: 0 auto;
            padding: 1.5rem 1rem 3rem;
        }
        .step-panel {
            display: none;
            animation: fadeIn .35s ease;
        }
        .step-panel.active {
            display: block;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(12px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .step-title {
            font-family: var(--font-primary);
            font-size: 1.6rem;
            color: var(--dark-brown);
            margin-bottom: .35rem;
        }
        .step-subtitle {
            color: var(--gray-medium);
            font-size: .95rem;
            margin-bottom: 1.75rem;
        }

        /* ── Step 1: Event Type Cards ── */
        .event-type-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
            gap: 1rem;
        }
        .event-type-card {
            background: var(--white);
            border: 2px solid #e8e4de;
            border-radius: 12px;
            padding: 1.25rem .75rem;
            text-align: center;
            cursor: pointer;
            transition: var(--transition-smooth);
        }
        .event-type-card:hover {
            border-color: var(--primary-gold-light);
            transform: translateY(-3px);
            box-shadow: var(--shadow-md);
        }
        .event-type-card.selected {
            border-color: var(--primary-gold);
            background: rgba(212, 175, 55, .06);
            box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
        }
        .event-type-card .etc-icon {
            font-size: 2rem;
            color: var(--primary-gold);
            margin-bottom: .5rem;
        }
        .event-type-card .etc-name {
            font-weight: 500;
            font-size: .9rem;
            color: var(--dark-brown);
        }
        .event-type-card .etc-check {
            display: none;
            margin-top: .5rem;
            color: var(--primary-gold);
            font-size: 1.1rem;
        }
        .event-type-card.selected .etc-check {
            display: block;
        }

        /* ── Step 2: Date & Location ── */
        .form-control-catering {
            border: 2px solid #e8e4de;
            border-radius: 10px;
            padding: .75rem 1rem;
            font-size: 1rem;
            transition: var(--transition-smooth);
        }
        .form-control-catering:focus {
            border-color: var(--primary-gold);
            box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
        }
        .form-control-catering::placeholder {
            color: #bbb;
        }
        .form-label-catering {
            font-weight: 500;
            color: var(--dark-brown);
            margin-bottom: .35rem;
            font-size: .9rem;
        }

        /* ── Step 3: Guests ── */
        .guest-input-group {
            display: inline-flex;
            align-items: center;
            gap: 0;
            border: 2px solid #e8e4de;
            border-radius: 12px;
            overflow: hidden;
            background: var(--white);
        }
        .guest-input-group .btn-guest {
            width: 48px;
            height: 48px;
            border: none;
            background: transparent;
            font-size: 1.2rem;
            color: var(--primary-gold-dark);
            cursor: pointer;
            transition: var(--transition-smooth);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .guest-input-group .btn-guest:hover {
            background: rgba(212, 175, 55, .1);
        }
        .guest-input-group .btn-guest:active {
            background: rgba(212, 175, 55, .2);
        }
        .guest-input-group input {
            width: 100px;
            border: none;
            text-align: center;
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--dark-brown);
            padding: .5rem;
            outline: none;
            background: transparent;
        }
        .guest-input-group input::-webkit-inner-spin-button,
        .guest-input-group input::-webkit-outer-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
        .guest-input-group input[type=number] {
            -moz-appearance: textfield;
        }

        /* ── Step 4: Packages (cards + modal) ── */
        .package-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 1rem;
        }
        .package-card {
            background: var(--white);
            border: 2px solid #e8e4de;
            border-radius: 14px;
            padding: 1.1rem 1.1rem 1rem;
            cursor: pointer;
            transition: var(--transition-smooth);
            position: relative;
        }
        .package-card:hover {
            border-color: var(--primary-gold-light);
            transform: translateY(-3px);
            box-shadow: var(--shadow-md);
        }
        .package-card.selected {
            border-color: var(--primary-gold);
            box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
        }
        .package-card .pkg-top {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            margin-bottom: .5rem;
        }
        .package-card .pkg-img-small {
            width: 60px;
            height: 60px;
            border-radius: 10px;
            object-fit: cover;
            flex-shrink: 0;
            background: var(--gray-light);
        }
        .package-card .pkg-img-placeholder {
            width: 60px;
            height: 60px;
            border-radius: 10px;
            background: linear-gradient(135deg, #f0ebe4, #e8e4de);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.3rem;
            color: #ccc;
            flex-shrink: 0;
        }
        .package-card .pkg-info {
            flex: 1;
            min-width: 0;
        }
        .package-card .pkg-name {
            font-family: var(--font-primary);
            font-size: 1.05rem;
            font-weight: 600;
            color: var(--dark-brown);
            margin-bottom: .15rem;
        }
        .package-card .pkg-meta {
            display: flex;
            align-items: center;
            gap: .75rem;
            flex-wrap: wrap;
            font-size: .82rem;
        }
        .package-card .pkg-price {
            font-weight: 700;
            color: var(--primary-gold-dark);
        }
        .package-card .pkg-price small {
            font-weight: 400;
            color: var(--gray-medium);
        }
        .package-card .pkg-min {
            color: var(--gray-medium);
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }
        .package-card .pkg-tag {
            font-size: .7rem;
            background: rgba(212, 175, 55, .12);
            color: var(--primary-gold-dark);
            padding: 2px 10px;
            border-radius: 20px;
            font-weight: 600;
            letter-spacing: .3px;
        }
        .package-card .pkg-desc-preview {
            font-size: .82rem;
            color: var(--gray-medium);
            line-height: 1.5;
            margin-bottom: .65rem;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .package-card .pkg-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: .6rem;
            border-top: 1px solid #f0ece6;
        }
        .package-card .pkg-details-link {
            font-size: .78rem;
            color: var(--primary-gold-dark);
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }
        .package-card .pkg-details-link i {
            font-size: .65rem;
            transition: transform .2s;
        }
        .package-card:hover .pkg-details-link i {
            transform: translateX(3px);
        }
        .package-card .pkg-check {
            position: absolute;
            top: .65rem;
            right: .65rem;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: var(--primary-gold);
            color: var(--white);
            display: none;
            align-items: center;
            justify-content: center;
            font-size: .65rem;
            z-index: 2;
        }
        .package-card.selected .pkg-check {
            display: flex;
        }

        /* ── Modal: Detalhe do Pacote ── */
        .modal-pkg-header {
            display: flex;
            gap: 1rem;
            align-items: flex-start;
            margin-bottom: 1rem;
        }
        .modal-pkg-header .pkg-img-modal {
            width: 80px;
            height: 80px;
            border-radius: 12px;
            object-fit: cover;
            flex-shrink: 0;
            background: var(--gray-light);
        }
        .modal-pkg-header .pkg-img-modal-placeholder {
            width: 80px;
            height: 80px;
            border-radius: 12px;
            background: linear-gradient(135deg, #f0ebe4, #e8e4de);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            color: #ccc;
            flex-shrink: 0;
        }
        .modal-pkg-header .pkg-modal-info {
            flex: 1;
        }
        .modal-pkg-header .pkg-modal-name {
            font-family: var(--font-primary);
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--dark-brown);
            margin-bottom: .2rem;
        }
        .modal-pkg-header .pkg-modal-price {
            font-weight: 700;
            color: var(--primary-gold-dark);
            font-size: 1.1rem;
        }
        .modal-pkg-header .pkg-modal-price small {
            font-weight: 400;
            font-size: .78rem;
            color: var(--gray-medium);
        }
        .modal-pkg-header .pkg-modal-min {
            font-size: .82rem;
            color: var(--gray-medium);
        }
        .modal-pkg-desc {
            font-size: .88rem;
            color: var(--black);
            line-height: 1.6;
            margin-bottom: 1.25rem;
            padding-bottom: .75rem;
            border-bottom: 1px solid #f0ece6;
        }
        .modal-momento-block {
            background: #fcfaf7;
            border-radius: 10px;
            padding: .7rem .9rem;
            margin-bottom: .65rem;
            border: 1px solid #f0ece6;
        }
        .modal-momento-block:last-child {
            margin-bottom: 0;
        }
        .modal-momento-header {
            font-size: .8rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
            text-transform: uppercase;
            letter-spacing: .6px;
            margin-bottom: .35rem;
            display: flex;
            align-items: center;
            gap: 8px;
            padding-bottom: .3rem;
            border-bottom: 1px dashed #e8e0d6;
        }
        .modal-momento-header i {
            font-size: .8rem;
        }
        .modal-produto-item {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            padding: .35rem 0;
            font-size: .83rem;
            gap: .5rem;
        }
        .modal-produto-item .prod-info {
            flex: 1;
            min-width: 0;
        }
        .modal-produto-item .prod-nome {
            display: flex;
            align-items: center;
            gap: 7px;
            color: var(--black);
        }
        .modal-produto-item .prod-nome i {
            color: var(--primary-gold);
            font-size: .55rem;
        }
        .modal-produto-item .prod-desc {
            font-size: .72rem;
            color: #998e82;
            margin: 1px 0 0 16px;
            line-height: 1.35;
            max-width: 380px;
        }
        .modal-produto-item .prod-incluido {
            font-size: .72rem;
            color: #6a9f5a;
            font-weight: 500;
            white-space: nowrap;
            flex-shrink: 0;
            margin-top: 2px;
        }
        .modal-produto-item .prod-preco {
            color: var(--gray-medium);
            font-weight: 500;
            white-space: nowrap;
        }
        .modal-pkg-loading {
            text-align: center;
            padding: 2rem 0;
            color: var(--gray-medium);
        }
        .modal-pkg-loading i {
            font-size: 1.5rem;
            margin-bottom: .5rem;
        }
        .modal-pkg-error {
            text-align: center;
            padding: 1.5rem 0;
            color: #dc3545;
        }
        .modal-pkg-select-btn {
            display: block;
            width: 100%;
            padding: .75rem;
            border-radius: 10px;
            border: 2px solid var(--primary-gold);
            background: var(--gradient-gold);
            color: var(--dark-brown);
            font-weight: 600;
            font-size: .95rem;
            cursor: pointer;
            transition: var(--transition-smooth);
            text-align: center;
            border: none;
        }
        .modal-pkg-select-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(212, 175, 55, .35);
        }
        .modal-pkg-select-btn:disabled {
            opacity: .6;
            cursor: not-allowed;
            transform: none;
        }
        .modal-pkg-select-btn i {
            margin-right: 8px;
        }
        .modal-pkg-summary {
            background: rgba(212, 175, 55, .08);
            border-radius: 10px;
            padding: .75rem 1rem;
            margin: 1rem 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .modal-pkg-summary .label {
            font-size: .85rem;
            color: var(--dark-brown);
            font-weight: 500;
        }
        .modal-pkg-summary .value {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
        }

        .pkg-estimate {
            background: rgba(212, 175, 55, .08);
            border: 1px solid rgba(212, 175, 55, .25);
            border-radius: 10px;
            padding: .9rem 1.25rem;
            margin-top: 1.5rem;
            display: none;
            align-items: center;
            justify-content: space-between;
        }
        .pkg-estimate.show {
            display: flex;
        }
        .pkg-estimate .est-label {
            font-size: .9rem;
            color: var(--dark-brown);
            font-weight: 500;
        }
        .pkg-estimate .est-value {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
        }
        .package-card {
            background: var(--white);
            border: 2px solid #e8e4de;
            border-radius: 14px;
            transition: var(--transition-smooth);
            position: relative;
        }
        .package-card:hover {
            border-color: var(--primary-gold-light);
        }
        .package-card.selected {
            border-color: var(--primary-gold);
            box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
        }
        .package-card .pkg-header {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1rem 1.1rem;
            cursor: pointer;
            user-select: none;
        }
        .package-card .pkg-header-img {
            width: 72px;
            height: 72px;
            border-radius: 10px;
            object-fit: cover;
            flex-shrink: 0;
            background: var(--gray-light);
        }
        .package-card .pkg-header-placeholder {
            width: 72px;
            height: 72px;
            border-radius: 10px;
            background: linear-gradient(135deg, #f0ebe4, #e8e4de);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            color: #ccc;
            flex-shrink: 0;
        }
        .package-card .pkg-header-info {
            flex: 1;
            min-width: 0;
        }
        .package-card .pkg-name {
            font-family: var(--font-primary);
            font-size: 1.05rem;
            font-weight: 600;
            color: var(--dark-brown);
            margin-bottom: .15rem;
        }
        .package-card .pkg-header-meta {
            display: flex;
            align-items: center;
            gap: .75rem;
            flex-wrap: wrap;
        }
        .package-card .pkg-price {
            font-weight: 700;
            color: var(--primary-gold-dark);
            font-size: 1rem;
        }
        .package-card .pkg-price small {
            font-weight: 400;
            font-size: .75rem;
            color: var(--gray-medium);
        }
        .package-card .pkg-min {
            font-size: .78rem;
            color: var(--gray-medium);
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }
        .package-card .pkg-expand-icon {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: var(--gray-light);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #aaa;
            font-size: .75rem;
            transition: transform .3s ease;
            flex-shrink: 0;
        }
        .package-card.expanded .pkg-expand-icon {
            transform: rotate(180deg);
            background: rgba(212, 175, 55, .15);
            color: var(--primary-gold-dark);
        }
        .package-card .pkg-check {
            position: absolute;
            top: .75rem;
            right: .75rem;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            background: var(--primary-gold);
            color: var(--white);
            display: none;
            align-items: center;
            justify-content: center;
            font-size: .7rem;
            z-index: 2;
        }
        .package-card.selected .pkg-check {
            display: flex;
        }
        .package-card .pkg-details {
            max-height: 0;
            overflow: hidden;
            transition: max-height .4s ease, padding .3s ease;
            padding: 0 1.1rem;
        }
        .package-card.expanded .pkg-details {
            max-height: 3000px;
            padding: 0 1.1rem .3rem;
        }
        .package-card .pkg-desc-full {
            font-size: .88rem;
            color: var(--black);
            line-height: 1.6;
            margin-bottom: 1rem;
            padding-top: .25rem;
            border-top: 1px solid #f0ece6;
        }
        .package-card .pkg-produtos {
            margin-bottom: 1rem;
        }
        .package-card .pkg-produtos-title {
            font-size: .82rem;
            font-weight: 600;
            color: var(--dark-brown);
            margin-bottom: .5rem;
            text-transform: uppercase;
            letter-spacing: .5px;
        }
        .package-card .pkg-produto-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: .45rem 0;
            border-bottom: 1px solid #f5f2ed;
            font-size: .85rem;
        }
        .package-card .pkg-produto-item:last-child {
            border-bottom: none;
        }
        .package-card .pkg-momento-block {
            background: #fcfaf7;
            border-radius: 10px;
            padding: .65rem .85rem;
            margin-bottom: .6rem;
            border: 1px solid #f0ece6;
        }
        .package-card .pkg-momento-block:last-child {
            margin-bottom: 0;
        }
        .package-card .pkg-momento-header {
            font-size: .82rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
            text-transform: uppercase;
            letter-spacing: .6px;
            margin-bottom: .4rem;
            display: flex;
            align-items: center;
            gap: 8px;
            padding-bottom: .35rem;
            border-bottom: 1px dashed #e8e0d6;
        }
        .package-card .pkg-momento-header i {
            font-size: .85rem;
        }
        .package-card .pkg-momento-block .pkg-produto-item {
            padding: .35rem 0;
            font-size: .84rem;
        }
        .package-card .pkg-momento-block .pkg-produto-item:last-child {
            border-bottom: none;
        }
        .package-card .pkg-produto-item .prod-nome {
            color: var(--black);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .package-card .pkg-produto-item .prod-nome i {
            color: var(--primary-gold);
            font-size: .65rem;
        }
        .package-card .pkg-produto-item .prod-preco {
            color: var(--gray-medium);
            font-weight: 500;
            white-space: nowrap;
        }
        .package-card .pkg-produtos-loading,
        .package-card .pkg-produtos-empty {
            font-size: .82rem;
            color: var(--gray-medium);
            padding: .5rem 0;
        }
        .package-card .pkg-produtos-loading i {
            margin-right: 6px;
        }
        .package-card .pkg-select-btn {
            display: block;
            width: 100%;
            padding: .7rem;
            border-radius: 10px;
            border: 2px solid var(--primary-gold);
            background: transparent;
            color: var(--primary-gold-dark);
            font-weight: 600;
            font-size: .9rem;
            cursor: pointer;
            transition: var(--transition-smooth);
            text-align: center;
            margin-bottom: .25rem;
        }
        .package-card .pkg-select-btn:hover {
            background: var(--gradient-gold);
            color: var(--dark-brown);
            border-color: transparent;
        }
        .package-card.selected .pkg-select-btn {
            background: #eef6e6;
            border-color: #4caf50;
            color: #2e7d32;
            cursor: default;
            pointer-events: none;
        }
        .pkg-estimate {
            background: rgba(212, 175, 55, .08);
            border: 1px solid rgba(212, 175, 55, .25);
            border-radius: 10px;
            padding: .9rem 1.25rem;
            margin-top: 1.5rem;
            display: none;
            align-items: center;
            justify-content: space-between;
        }
        .pkg-estimate.show {
            display: flex;
        }
        .pkg-estimate .est-label {
            font-size: .9rem;
            color: var(--dark-brown);
            font-weight: 500;
        }
        .pkg-estimate .est-value {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
        }

        /* ── Step 5: Extras ── */
        .extra-item {
            background: var(--white);
            border: 2px solid #e8e4de;
            border-radius: 12px;
            padding: .9rem 1.1rem;
            margin-bottom: .75rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            cursor: pointer;
            transition: var(--transition-smooth);
            user-select: none;
        }
        .extra-item:hover {
            border-color: var(--primary-gold-light);
        }
        .extra-item.checked {
            border-color: var(--primary-gold);
            background: rgba(212, 175, 55, .05);
        }
        .extra-item .extra-checkbox {
            width: 22px;
            height: 22px;
            border: 2px solid #ccc;
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: var(--transition-smooth);
            color: var(--white);
            font-size: .7rem;
        }
        .extra-item.checked .extra-checkbox {
            background: var(--primary-gold);
            border-color: var(--primary-gold);
        }
        .extra-item .extra-info {
            flex: 1;
            min-width: 0;
        }
        .extra-item .extra-name {
            font-weight: 500;
            color: var(--dark-brown);
            font-size: .95rem;
        }
        .extra-item .extra-desc {
            font-size: .8rem;
            color: var(--gray-medium);
        }
        .extra-item .extra-price {
            font-weight: 600;
            color: var(--primary-gold-dark);
            white-space: nowrap;
            font-size: .9rem;
        }
        .extra-summary {
            font-size: .95rem;
            color: var(--dark-brown);
            font-weight: 500;
            margin-top: .5rem;
            text-align: right;
        }

        /* ── Step 6: Contact Form + Summary ── */
        .contact-form .form-control-catering {
            background: var(--white);
        }
        .summary-box {
            background: rgba(212, 175, 55, .06);
            border: 1px solid rgba(212, 175, 55, .2);
            border-radius: 12px;
            padding: 1.25rem;
        }
        .summary-box .summary-row {
            display: flex;
            justify-content: space-between;
            padding: .4rem 0;
            font-size: .9rem;
        }
        .summary-box .summary-row .label {
            color: var(--gray-medium);
        }
        .summary-box .summary-row .value {
            font-weight: 500;
            color: var(--dark-brown);
            text-align: right;
        }
        .summary-box .summary-divider {
            border-top: 1px solid rgba(212, 175, 55, .2);
            margin: .6rem 0;
        }
        .summary-box .summary-total {
            display: flex;
            justify-content: space-between;
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
            padding-top: .3rem;
        }

        /* ── Navigation ── */
        .wizard-nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 2rem;
            gap: 1rem;
        }
        .wizard-nav .btn-nav {
            padding: .7rem 1.75rem;
            border-radius: 10px;
            font-weight: 500;
            font-size: .95rem;
            transition: var(--transition-smooth);
            min-width: 130px;
        }
        .btn-prev {
            background: var(--white);
            border: 2px solid #e0dcd6;
            color: var(--gray-medium);
        }
        .btn-prev:hover {
            border-color: #ccc;
            background: #f8f6f2;
            color: var(--dark-brown);
        }
        .btn-next, .btn-submit {
            background: var(--gradient-gold);
            border: none;
            color: var(--dark-brown);
            font-weight: 600;
        }
        .btn-next:hover, .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(212, 175, 55, .35);
        }
        .btn-next:disabled, .btn-submit:disabled {
            opacity: .5;
            cursor: not-allowed;
            transform: none;
        }
        .wizard-nav .step-counter {
            font-size: .85rem;
            color: var(--gray-medium);
            font-weight: 400;
        }

        /* ── Success Screen ── */
        .success-screen {
            display: none;
            text-align: center;
            padding: 3rem 1rem;
        }
        .success-screen.show {
            display: block;
            animation: fadeIn .5s ease;
        }
        .success-screen .success-icon {
            font-size: 4rem;
            color: #28a745;
            margin-bottom: 1rem;
        }
        .success-screen h2 {
            font-family: var(--font-primary);
            color: var(--dark-brown);
            margin-bottom: .5rem;
        }
        .success-screen p {
            color: var(--gray-medium);
            max-width: 480px;
            margin: 0 auto 1.5rem;
        }

        /* ── Loading ── */
        .step-loading {
            text-align: center;
            padding: 3rem 0;
            color: var(--gray-medium);
        }
        .step-loading i {
            font-size: 2rem;
            margin-bottom: .75rem;
        }
        .step-error {
            text-align: center;
            padding: 2rem 0;
            color: #dc3545;
        }
        .step-error i {
            font-size: 2rem;
            margin-bottom: .5rem;
        }
        .step-error .retry-btn {
            margin-top: .75rem;
        }

        /* ── Responsive ── */
        @media (max-width: 576px) {
            .wizard-header h1 { font-size: 1.5rem; }
            .wizard-header .wizard-icon { font-size: 2rem; }
            .step-title { font-size: 1.25rem; }
            .event-type-grid { grid-template-columns: repeat(2, 1fr); }
            .package-grid { grid-template-columns: 1fr; }
            .step-circle { width: 34px; height: 34px; font-size: .75rem; }
            .step-label { display: none; }
            .step-connector { min-width: 12px; top: -10px; }
            .wizard-nav .btn-nav { min-width: 100px; padding: .6rem 1rem; font-size: .85rem; }
            .guest-input-group input { width: 70px; font-size: 1.2rem; }
        }
        @media (max-width: 400px) {
            .event-type-grid { grid-template-columns: 1fr; }
        }

        /* ── Language Toggle ── */
        .lang-toggle {
            background: rgba(255,255,255,.15);
            border: 1px solid rgba(255,255,255,.3);
            border-radius: 20px;
            padding: 4px 12px;
            display: flex;
            align-items: center;
            gap: 6px;
            cursor: pointer;
            transition: var(--transition-smooth);
            color: var(--white);
            font-size: .78rem;
            font-weight: 500;
        }
        .lang-toggle:hover {
            background: rgba(255,255,255,.25);
        }
        .lang-toggle .lang-option {
            opacity: .5;
            transition: opacity .2s;
        }
        .lang-toggle .lang-option.active {
            opacity: 1;
            font-weight: 600;
        }
        .lang-toggle .lang-divider {
            opacity: .3;
            font-size: .7rem;
        }

        /* ── Catering Tabs ── */
        .catering-tabs {
            background: var(--white);
            border-bottom: 1px solid #f0ece6;
            position: sticky;
            top: 0;
            z-index: 100;
        }
        .catering-tabs-inner {
            display: flex;
            gap: 0;
            justify-content: center;
            padding: 0;
        }
        .catering-tab {
            flex: 1;
            max-width: 280px;
            padding: .9rem 1.5rem;
            border: none;
            background: transparent;
            color: var(--gray-medium);
            font-size: .95rem;
            font-weight: 500;
            cursor: pointer;
            transition: var(--transition-smooth);
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            border-bottom: 3px solid transparent;
            margin-bottom: -1px;
        }
        .catering-tab:hover {
            color: var(--dark-brown);
            background: rgba(212, 175, 55, .04);
        }
        .catering-tab.active {
            color: var(--primary-gold-dark);
            border-bottom-color: var(--primary-gold);
            background: rgba(212, 175, 55, .06);
        }
        .catering-tab i {
            font-size: 1.1rem;
        }

        /* ── Catalog Intro ── */
        .catalog-intro {
            padding-top: .5rem;
        }
        .catalog-title {
            font-family: var(--font-primary);
            font-size: 1.8rem;
            color: var(--dark-brown);
            margin-bottom: .35rem;
        }
        .catalog-subtitle {
            color: var(--gray-medium);
            font-size: .95rem;
            margin: 0;
        }

        /* ── Catalog Grid ── */
        .catalog-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: 1.5rem;
            padding: .5rem 0 2rem;
        }
        .catalog-package-card {
            background: var(--white);
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 2px 12px rgba(0,0,0,.06);
            transition: var(--transition-smooth);
            cursor: pointer;
            display: flex;
            flex-direction: column;
        }
        .catalog-package-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 12px 40px rgba(0,0,0,.12);
        }
        .catalog-package-card .catalog-card-img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            display: block;
            background: linear-gradient(135deg, #f0ebe4, #e8e4de);
        }
        .catalog-package-card .catalog-card-img-placeholder {
            width: 100%;
            height: 200px;
            background: linear-gradient(135deg, #f0ebe4, #e8e4de);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3rem;
            color: #ccc;
        }
        .catalog-package-card .catalog-card-body {
            padding: 1.25rem 1.5rem 1.5rem;
            flex: 1;
            display: flex;
            flex-direction: column;
        }
        .catalog-package-card .catalog-card-name {
            font-family: var(--font-primary);
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--dark-brown);
            margin-bottom: .35rem;
        }
        .catalog-package-card .catalog-card-meta {
            display: flex;
            align-items: center;
            gap: .75rem;
            margin-bottom: .6rem;
            flex-wrap: wrap;
        }
        .catalog-package-card .catalog-card-price {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary-gold-dark);
        }
        .catalog-package-card .catalog-card-price small {
            font-weight: 400;
            font-size: .78rem;
            color: var(--gray-medium);
        }
        .catalog-package-card .catalog-card-min {
            font-size: .82rem;
            color: var(--gray-medium);
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }
        .catalog-package-card .catalog-card-desc {
            font-size: .88rem;
            color: var(--gray-medium);
            line-height: 1.6;
            margin-bottom: 1rem;
            flex: 1;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .catalog-package-card .catalog-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: .75rem;
            border-top: 1px solid #f0ece6;
        }
        .catalog-package-card .catalog-card-tag {
            font-size: .72rem;
            background: rgba(212, 175, 55, .12);
            color: var(--primary-gold-dark);
            padding: 3px 12px;
            border-radius: 20px;
            font-weight: 600;
            letter-spacing: .3px;
        }
        .catalog-package-card .catalog-card-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: .5rem 1.2rem;
            border: 2px solid var(--primary-gold);
            border-radius: 25px;
            background: transparent;
            color: var(--primary-gold-dark);
            font-size: .82rem;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition-smooth);
        }
        .catalog-package-card .catalog-card-btn:hover {
            background: var(--gradient-gold);
            color: var(--dark-brown);
            border-color: transparent;
        }
        .catalog-package-card .catalog-card-btn i {
            font-size: .75rem;
        }

        @media (max-width: 768px) {
            .catalog-grid { grid-template-columns: 1fr; gap: 1rem; }
            .catalog-title { font-size: 1.3rem; }
            .catalog-package-card .catalog-card-img,
            .catalog-package-card .catalog-card-img-placeholder { height: 160px; }
            .catering-tab { font-size: .85rem; padding: .7rem 1rem; max-width: 200px; }
        }
