/* Access Shop - Hero Section */
:root {
    --shop-red: #FF001E;
    --shop-red-dark: #e6001b;
    --shop-blue: #0f172a;
    --shop-blue-dark: #0a0f1a;
    --shop-gray: #64748b;
    --shop-gray-light: #f8fafc;
}

.shop-hero {
    position: relative;
    min-height: 860px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}

.shop-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.shop-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.6) 100%);
    pointer-events: none;
}

.shop-hero-content {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.shop-hero-main {
    flex: 1;
    min-height: 720px;
}

.shop-hero-right {
    text-align: right;
    padding-right: 2rem;
}

.shop-hero-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 700;
    color: var(--shop-red);
    margin: 0 0 0.25rem;
    letter-spacing: 0.02em;
}

.shop-hero-subtitle {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 600;
    color: var(--shop-gray);
    margin: 0 0 1.5rem;
    letter-spacing: 0.1em;
}

.shop-hero-btn {
    display: inline-block;
    background: var(--shop-red);
    color: white;
    padding: 14px 32px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    border-radius: 0;
    transition: background 0.2s, transform 0.2s;
}

.shop-hero-btn:hover {
    background: var(--shop-red-dark);
    color: white;
    transform: translateY(-2px);
}

/* Category Bar - Red full width */
.shop-category-bar {
    background: var(--shop-red);
    padding: 16px 0;
}

.shop-category-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
}

.shop-category-nav a {
    color: white;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0 20px;
    border-right: 1px solid rgba(255,255,255,0.5);
}

.shop-category-nav a:last-child {
    border-right: none;
}

.shop-category-nav a:hover,
.shop-category-nav a.active {
    opacity: 1;
    text-decoration: underline;
}

.shop-category-nav a:hover {
    opacity: 0.9;
}

/* Section 2 - Invest in Your Look */
.shop-section-invest {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}

.shop-section-invest-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.shop-section-invest-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.4) 55%, rgba(0,0,0,0.7) 100%);
    pointer-events: none;
}

.shop-section-invest-content {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
}

.min-vh-50 { min-height: 600px; }

.shop-section-invest-right {
    text-align: right;
    padding-right: 2rem;
}

.shop-section-invest-title {
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    color: white;
    margin: 0 0 0.25rem;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.shop-section-invest-subtitle {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    margin: 0 0 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1.3;
}

/* Section 3 - Tailored for Your Needs */
.shop-section-tailored {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
}

.shop-section-tailored-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.shop-section-tailored-content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 0 100px;
}

.shop-section-tailored-heading {
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    font-weight: 700;
    color: #1e293b;
    letter-spacing: 0.02em;
    text-align: center;
    margin: 0;
    padding: 60px 1rem 48px;
    text-transform: uppercase;
}

.shop-section-tailored-needs {
    color: var(--shop-red);
}

.shop-section-tailored-cta {
    text-align: center;
}

/* Section 4 - Shop the Finance Revolution */
.shop-section-revolution {
    background: linear-gradient(135deg, var(--shop-red) 0%, #cc0018 100%);
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 80px 0;
    overflow: hidden;
}


.min-vh-60 { min-height: 520px; }

.shop-section-revolution-left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
}

.shop-section-revolution-mug {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: contain;
    object-position: left center;
}

.shop-section-revolution-right {
    padding: 2rem 3rem;
    text-align: right;
}

.shop-section-revolution-title {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 700;
    color: white;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin: 0 0 28px;
    line-height: 1.15;
}

.shop-section-revolution-title span {
    display: block;
}

.shop-section-revolution-btn {
    display: inline-block;
    background: transparent;
    color: #000;
    padding: 14px 36px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid #000;
    border-radius: 0;
    transition: all 0.2s;
}

.shop-section-revolution-btn:hover {
    background: #000;
    color: white;
}

/* Shop Footer - dark blue, white text, red phone */
.shop-footer {
    background: #0a0f1a;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
}

.shop-footer-top {
    padding: 48px 0 32px;
}

.shop-footer-logo-wrap {
    text-align: center;
}

.shop-footer-logo {
    max-height: 56px;
    height: auto;
    width: auto;
    display: inline-block;
}

.shop-footer-middle {
    padding: 32px 0 40px;
}

.shop-footer-columns {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 32px;
    max-width: 900px;
    margin: 0 auto;
}

.shop-footer-contact {
    flex: 1;
    min-width: 260px;
}

.shop-footer-legals {
    flex: 1;
    min-width: 200px;
}

.shop-footer-divider {
    width: 1px;
    min-height: 100px;
    background: #fff;
    flex-shrink: 0;
}

.shop-footer-headline {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 16px;
}

.shop-footer-phone {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: #FF001E;
    text-decoration: none;
    margin: 0 0 12px;
    letter-spacing: 0.02em;
}

.shop-footer-phone:hover {
    color: #ff3349;
}

.shop-footer-email {
    font-size: 14px;
    letter-spacing: 0.04em;
    margin: 0;
    opacity: 0.95;
}

.shop-footer-legal-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.shop-footer-legal-list li {
    margin: 0 0 8px;
}

.shop-footer-legal-list a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
}

.shop-footer-legal-list a:hover {
    text-decoration: underline;
}

.shop-footer-bottom {
    padding: 24px 0 32px;
    border-top: 1px solid rgba(255,255,255,0.15);
}

.shop-footer-regulatory {
    font-size: 12px;
    line-height: 1.6;
    opacity: 0.9;
    margin: 0;
    text-align: center;
}

.shop-footer-powered {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-align: center;
    margin: 16px 0 0;
}

@media (max-width: 768px) {
    .shop-footer-divider { display: none; }
    .shop-footer-columns { flex-direction: column; }
}
