/* =========================================================================
   SUBMIT SWEEPSTAKES PAGE  (/submit-sweepstakes, paypal_return.php)
   Loaded after assets/css/vendor/bootstrap.scoped.css.
   1. Bootstrap themed with the site's own colours / font
   2. Resets for sweeps.css classes that share a name with this page
      (.sw-submit, .sw-submit-actions, .sw-field, .sw-form, .sw-required)
   3. Page components: plan cards, order summary, coupon, guidelines
   ========================================================================= */

/* 1. THEME ------------------------------------------------------------- */

.sweeps-submit {
    --bs-primary: #5b3df5;
    --bs-primary-rgb: 91, 61, 245;
    --bs-link-color: #5b3df5;
    --bs-link-color-rgb: 91, 61, 245;
    --bs-link-hover-color: #4326d1;
    --bs-body-font-family: var(--sw-font, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    --bs-body-color: var(--sw-ink-soft, #4a4766);
    --bs-body-bg: transparent;
    --bs-secondary-color: var(--sw-body, #6b6885);
    --bs-border-color: var(--sw-line, #e7e5f2);
    --bs-border-radius: 10px;
    --bs-border-radius-lg: 14px;
    --bs-focus-ring-color: rgba(91, 61, 245, 0.18);
    display: block;
    background: var(--sw-bg, #f8f7fd);
    color: var(--bs-body-color);
    font-family: var(--bs-body-font-family);
    font-size: 15px;
    line-height: 1.6;
    min-height: 60vh;
}

.sweeps-submit h1,
.sweeps-submit h2,
.sweeps-submit h3,
.sweeps-submit .h2,
.sweeps-submit .h3,
.sweeps-submit .h5,
.sweeps-submit .h6 {
    color: var(--sw-ink, #14122b);
    letter-spacing: -0.01em;
}

.sweeps-submit .text-primary { color: #5b3df5 !important; }

.sweeps-submit .btn-primary {
    --bs-btn-bg: #5b3df5;
    --bs-btn-border-color: #5b3df5;
    --bs-btn-hover-bg: #4326d1;
    --bs-btn-hover-border-color: #4326d1;
    --bs-btn-active-bg: #331c9e;
    --bs-btn-active-border-color: #331c9e;
    --bs-btn-disabled-bg: #5b3df5;
    --bs-btn-disabled-border-color: #5b3df5;
    --bs-btn-focus-shadow-rgb: 91, 61, 245;
}

.sweeps-submit .btn-lg {
    border-radius: 999px;
    font-weight: 700;
}

.sweeps-submit .btn-primary.btn-lg {
    background: var(--sw-gradient, linear-gradient(135deg, #6d3bf5 0%, #9b3df0 52%, #ff5fa2 100%));
    border: 0;
    box-shadow: var(--sw-shadow-glow, 0 14px 28px -8px rgba(91, 61, 245, 0.45));
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sweeps-submit .btn-primary.btn-lg:hover { transform: translateY(-2px); }

.sweeps-submit .btn-outline-secondary {
    --bs-btn-color: #5b3df5;
    --bs-btn-border-color: var(--sw-line, #e7e5f2);
    --bs-btn-hover-bg: #5b3df5;
    --bs-btn-hover-border-color: #5b3df5;
    --bs-btn-hover-color: #fff;
    font-weight: 600;
}

.sweeps-submit .card {
    --bs-card-border-radius: var(--sw-radius, 16px);
    --bs-card-inner-border-radius: var(--sw-radius, 16px);
    --bs-card-spacer-x: 1.75rem;
    --bs-card-spacer-y: 1.5rem;
    background: #fff;
    border: 1px solid var(--sw-line-soft, #f0eef8) !important;
    box-shadow: var(--sw-shadow-sm, 0 2px 8px rgba(20, 18, 43, 0.06)) !important;
}

.sweeps-submit .form-control,
.sweeps-submit .form-select {
    min-height: 46px;
    background-color: var(--sw-bg-tint, #f3f1fc);
    border-color: var(--sw-line, #e7e5f2);
    color: var(--sw-ink, #14122b);
    font-size: 14.5px;
}

.sweeps-submit textarea.form-control { min-height: 160px; }

.sweeps-submit .form-control:focus,
.sweeps-submit .form-select:focus {
    background-color: #fff;
    border-color: #5b3df5;
    box-shadow: 0 0 0 4px var(--sw-primary-light, #ede9fe);
}

.sweeps-submit .form-label {
    font-weight: 600;
    font-size: 14px;
    color: var(--sw-ink, #14122b);
    margin-bottom: 6px;
}

.sweeps-submit .form-check-input:checked {
    background-color: #5b3df5;
    border-color: #5b3df5;
}

.sweeps-submit .form-check-input:focus { box-shadow: 0 0 0 4px var(--sw-primary-light, #ede9fe); }

.sweeps-submit .invalid-feedback { font-size: 13px; font-weight: 500; }
.sweeps-submit .invalid-feedback:empty { display: none !important; }

/* 2. NAME-CLASH RESETS (sweeps.css styles these as buttons/inputs) ----- */

.sweeps-submit .sw-submit,
.sweeps-submit .sw-submit:hover {
    padding: 0;
    border-radius: 0;
    background: none;
    color: inherit;
    font-weight: inherit;
    font-size: inherit;
    box-shadow: none;
    cursor: auto;
    transform: none;
}

.sweeps-submit .sw-submit { padding-top: 2.5rem; padding-bottom: 3rem; }

.sweeps-submit .sw-submit-actions,
.sweeps-submit .sw-submit-actions:hover {
    padding: 0.5rem 0 0;
    border-radius: 0;
    background: none;
    color: inherit;
    font-weight: inherit;
    font-size: inherit;
    box-shadow: none;
    cursor: auto;
    transform: none;
}

.sweeps-submit .sw-field,
.sweeps-submit .sw-field:focus,
.sweeps-submit .sw-field:focus-within {
    padding: 0;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-size: inherit;
}

.sweeps-submit .form-check.sw-field { padding-left: 1.75em; padding-right: 0; }

.sweeps-submit .sw-form {
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.sweeps-submit .sw-required { color: var(--sw-ink, #14122b); }
.sweeps-submit .sw-required::after {
    content: " *";
    color: var(--sw-danger, #e0324c);
}

.sweeps-submit .sw-container {
    width: 100%;
    max-width: 1040px;
    padding-left: 20px;
    padding-right: 20px;
}

/* 3. PAGE COMPONENTS ------------------------------------------------- */

.sweeps-submit .sw-submit h1 {
    font-size: clamp(26px, 3.4vw, 36px);
    font-weight: 800;
}

/* Plan cards */
.sweeps-submit .sw-package-card {
    cursor: pointer;
    border: 2px solid var(--sw-line, #e7e5f2) !important;
    border-radius: var(--sw-radius, 16px);
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    min-height: 130px;
}

.sweeps-submit .sw-package-card:hover {
    border-color: #b9a9ff !important;
    transform: translateY(-2px);
}

.sweeps-submit .sw-package-card.sw-package-selected,
.sweeps-submit .sw-package-card:has(.sw-package-radio:checked) {
    border-color: #5b3df5 !important;
    background: var(--sw-primary-soft, #f4f1ff);
    box-shadow: 0 0 0 4px var(--sw-primary-light, #ede9fe) !important;
}

.sweeps-submit .sw-package-recommended { margin-top: 10px; }

.sweeps-submit .sw-package-badge {
    background: var(--sw-gradient, linear-gradient(135deg, #6d3bf5, #ff5fa2));
    color: #fff;
    font-size: 10.5px;
    letter-spacing: 0.06em;
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
}

.sweeps-submit .sw-package-radio { margin: 12px !important; }

.sweeps-submit .sw-package-name {
    color: var(--sw-ink-soft, #4a4766);
    font-size: 13.5px;
    line-height: 1.3;
}

.sweeps-submit .sw-package-price {
    color: var(--sw-ink, #14122b);
    font-size: 24px !important;
    font-weight: 800 !important;
    margin-top: 4px;
}

.sweeps-submit .sw-package-price.text-primary { color: #5b3df5 !important; }
.sweeps-submit .sw-package-price.text-success { color: var(--sw-success, #16a34a) !important; }

/* Order summary */
.sweeps-submit #orderSummary {
    background: var(--sw-gradient-soft, linear-gradient(135deg, #f4f1ff 0%, #fdeef8 100%));
    border-color: #e3dcff !important;
}

.sweeps-submit #orderSummary .card-body { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.sweeps-submit #orderTotal { color: #5b3df5; }

/* Hidden discount row (Bootstrap's .d-flex is !important) */
.sweeps-submit #orderDiscountRow[style*="display:none"],
.sweeps-submit #orderDiscountRow[style*="display: none"] { display: none !important; }

/* Coupon */
.sweeps-submit .sw-coupon-field .btn { min-width: 90px; }
.sweeps-submit #couponSuccess {
    color: var(--sw-success, #16a34a);
    font-size: 13px;
    font-weight: 600;
}

/* Guidelines */
.sweeps-submit .sw-guidelines-list { padding-left: 1.1rem; }
.sweeps-submit .sw-guidelines-list li { margin-bottom: 8px; }
.sweeps-submit .sw-guidelines-list li::marker { color: #5b3df5; }
.sweeps-submit .sw-guidelines-list strong { color: var(--sw-ink, #14122b); }

/* Honeypot (keep it out of sight) */
.sweeps-submit .sw-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Success / PayPal / payment-return panels */
.sweeps-submit .sw-submit-success,
.sweeps-submit .sw-submit-redirect { padding: 3rem 0; }

.sweeps-submit .sw-submit-success > .sw-container:not(.container) {
    max-width: 640px;
    margin: 0 auto;
    padding: 40px 28px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--sw-line-soft, #f0eef8);
    border-radius: var(--sw-radius, 16px);
    box-shadow: var(--sw-shadow-sm, 0 2px 8px rgba(20, 18, 43, 0.06));
}

.sweeps-submit .sw-submit-success h1 { font-size: 26px; font-weight: 800; margin-bottom: 12px; }
.sweeps-submit .sw-submit-success p { margin-bottom: 22px; }

/* Mobile */
@media (max-width: 767.98px) {
    .sweeps-submit .card { --bs-card-spacer-x: 1.1rem; --bs-card-spacer-y: 1.1rem; }
    .sweeps-submit .sw-submit { padding-top: 1.5rem; }
    .sweeps-submit .sw-package-card { min-height: 112px; }
    .sweeps-submit .sw-package-price { font-size: 20px !important; }
    .sweeps-submit .btn-lg.px-5 { width: 100%; padding-left: 1rem !important; padding-right: 1rem !important; }
}
