﻿/* ========================================================
   Register.css
   Page-specific styles for Register.aspx.
   Depends on Home.css being loaded first for design tokens
   (--primary-gold/--light-gold, --white/--black/--border-light/
   --medium-gray/--dark-gray/--light-gray neutrals, spacing/
   radius/shadow/transition scale) and for the shared header,
   cart-sidebar, and footer rules — none of that is repeated here.

   This replaces shop-style.css, a ~2400-line site-wide sheet
   (hero banners, testimonials, blog/blog-classic/blog-details,
   a full checkout/track-order kit, a 16-variant button demo,
   product-grid/shop-sidebar rules, etc.) that this page's markup
   never actually reached — the only things Register.aspx used
   from it were the register-card layout, the form-group/
   cr-form-control pattern, and the register-buttons row, all
   rebuilt below. The old inline <style> block (a leftover copy of
   the pre-rebuild header's .main-navigation/.main-dropdown rules,
   which don't exist in this page's markup any more) is dropped
   for the same reason.

   The Sign Up button (asp:Button's CssClass="cr-button") is styled
   fully in this file, scoped to .cr-register-buttons rather than
   the bare .cr-button selector — Home.css already owns a sitewide
   .cr-button used elsewhere (Home.aspx CTAs, etc.), and redefining
   that selector globally from a page-specific sheet would bleed
   into every other page that uses it. Scoping to the parent row
   keeps this page's foiled-gold treatment local.
   ======================================================== */

/* === BREADCRUMB ===
   Same visual language as product.aspx's breadcrumb strip, under
   a page-agnostic class name since this banner pattern is shared
   by any secondary page (auth, info pages) rather than just
   product pages. */
.page-breadcrumb {
    width: 100%;
    padding: 28px 0;
    background: linear-gradient(135deg, var(--primary-gold) 0%, var(--light-gold) 100%);
}

.page-breadcrumb-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

    .page-breadcrumb-title h2 {
        margin: 0;
        font-family: 'Manrope', sans-serif;
        font-size: 22px;
        font-weight: 700;
        color: var(--black);
    }

    .page-breadcrumb-title span {
        font-family: 'Poppins', sans-serif;
        font-size: 13px;
        font-weight: 500;
        color: var(--black);
    }

        .page-breadcrumb-title span a {
            color: var(--black);
            text-decoration: underline;
            text-underline-offset: 2px;
        }

/* === REGISTER CARD === */
.section-register {
    background: var(--light-gray);
}

.cr-register {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--spacing-lg);
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    border-top: 3px solid var(--primary-gold);
    box-shadow: var(--shadow-sm);
}

    .cr-register .form-group {
        margin-bottom: var(--spacing-md);
    }

        .cr-register .form-group label {
            display: block;
            margin-bottom: 8px;
            color: #444;
            font-size: 15px;
            font-weight: 600;
            font-family: 'Poppins', sans-serif;
        }

.cr-form-control {
    width: 100%;
    padding: 12px 16px;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    color: #555;
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

    .cr-form-control:focus {
        border-color: var(--primary-gold);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);
    }

select.cr-form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    background: var(--white) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="none" stroke="%23555" stroke-width="1" d="M2 0L0 2h4z"/></svg>') no-repeat right 15px center;
    background-size: 12px 12px;
}

/* Bootstrap already styles .text-danger (red) for the validator
   messages; only the spacing/size tweak below is page-specific. */
.cr-register .text-danger {
    display: block;
    margin-top: 4px;
    font-size: 12px;
}

/* === PASSWORD FIELD === */
.cr-register .input-group {
    position: relative;
    display: flex;
}

    .cr-register .input-group .cr-form-control {
        padding-right: 44px;
    }

.btn-password-toggle {
    position: absolute;
    top: 22px;
    right: 12px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1em;
    color: var(--medium-gray);
    padding: 0;
}

    .btn-password-toggle:focus {
        outline: none;
    }

.fa-eye,
.fa-eye-slash {
    pointer-events: none;
}

.password-strength-container {
    margin-top: 6px;
    height: 6px;
    width: 100%;
    background-color: var(--light-gray);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

.password-strength-bar {
    height: 100%;
    width: 0%;
    background-color: #e5484d;
    transition: width 0.3s ease, background-color 0.3s ease;
    border-radius: var(--radius-sm);
}

/* === SUBMIT ROW === */
.cr-register-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--border-light);
}

    /* Sign Up — scoped to this row rather than trusting the sitewide
   .cr-button (defined once in Home.css and reused everywhere, so
   redefining it globally here would bleed into other pages). A
   flat gold rectangle reads like a generic form button; a jewellery
   storefront's primary CTA should feel like it was cut from the
   same metal as the product photography — so this is a foiled
   gold surface (a real highlight-to-shadow gradient, not a flat
   fill), a fine dark rule standing in for a bevel, and a slow
   diagonal light sweep on hover that echoes the sparkle-on-hover
   treatment used on the product pages, kept subtle and on-brand
   rather than a generic UI-kit shine. */
    .cr-register-buttons .cr-button {
        position: relative;
        overflow: hidden;
        height: 50px;
        padding: 0 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(160deg, var(--light-gold) 0%, var(--primary-gold) 55%, #a9862c 100%);
        color: #2b2205;
        border: 1px solid #a9862c;
        border-radius: var(--radius-sm);
        font-family: 'Manrope', sans-serif;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        cursor: pointer;
        box-shadow: 0 6px 16px rgba(180, 140, 40, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.4);
        transition: transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
    }

        .cr-register-buttons .cr-button::before {
            content: "";
            position: absolute;
            top: 0;
            left: -60%;
            width: 40%;
            height: 100%;
            background: linear-gradient(115deg, transparent, rgba(255, 255, 255, 0.55), transparent);
            transform: skewX(-20deg);
            transition: left 0.7s ease;
        }

        .cr-register-buttons .cr-button:hover {
            background: linear-gradient(160deg, var(--light-gold) 0%, var(--primary-gold) 45%, var(--black) 130%);
            box-shadow: 0 8px 20px rgba(180, 140, 40, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.4);
            transform: translateY(-1px);
        }

            .cr-register-buttons .cr-button:hover::before {
                left: 120%;
            }

        .cr-register-buttons .cr-button:active {
            transform: translateY(0);
            box-shadow: 0 3px 8px rgba(180, 140, 40, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
        }

        .cr-register-buttons .cr-button:focus-visible {
            outline: none;
            box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.35), 0 6px 16px rgba(180, 140, 40, 0.28);
        }

    /* Sign In — a quiet secondary action, styled as a thin gold-outline
   ghost button rather than a bare text link so it reads as a real
   alternative to Sign Up instead of an afterthought. */
    .cr-register-buttons .link {
        height: 50px;
        padding: 0 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        color: var(--primary-gold);
        border: 1px solid var(--primary-gold);
        border-radius: var(--radius-sm);
        font-family: 'Manrope', sans-serif;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-decoration: none;
        transition: background var(--transition-base), color var(--transition-base);
    }

        .cr-register-buttons .link:hover {
            background: var(--primary-gold);
            color: var(--black);
        }

@media (prefers-reduced-motion: reduce) {
    .cr-register-buttons .cr-button,
    .cr-register-buttons .cr-button::before {
        transition: none;
    }
}

/* === RESPONSIVE === */
@media (max-width: 575px) {
    .cr-register {
        padding: var(--spacing-md);
    }

    .cr-register-buttons {
        flex-direction: column-reverse;
        align-items: stretch;
    }

        .cr-register-buttons .cr-button,
        .cr-register-buttons .link {
            width: 100%;
        }
}
