/* ========================================
   MALIK ALEXANDER - THE FRANCHISE
   Premium CSS - Power Couple Aesthetic
   Black / White / Gold / Aggressive
   ======================================== */

/* RESET & VARIABLES */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --black: #000000;
    --white: #FFFFFF;
    --gold: #C9A961;
    --dark-gray: #1A1A1A;
    --medium-gray: #333333;
    --light-gray: #CCCCCC;
    --concrete: #F5F5F5;
    
    --font-serif: 'Cormorant Garamond', serif;
    --font-sans: 'Inter', sans-serif;
    
    --transition: all 0.3s ease;
}

body {
    font-family: var(--font-sans);
    background: var(--black);
    color: var(--white);
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

/* NAVIGATION */
.nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
    z-index: 1000;
    border-bottom: 1px solid rgba(201, 169, 97, 0.2);
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--gold);
}

.nav-menu {
    display: flex;
    gap: 2.5rem;
}

.nav-menu a {
    font-size: 0.85rem;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: var(--transition);
    position: relative;
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: var(--transition);
}

.nav-menu a:hover::after {
    width: 100%;
}

/* Book Fitting CTA in nav */
.nav-book-fitting {
    padding: 0.5rem 1.2rem;
    background: #d4af37;
    color: #000 !important;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    border-radius: 3px;
    text-decoration: none !important;
    transition: all 0.3s ease;
}
.nav-book-fitting::after { display: none !important; }
.nav-book-fitting:hover { background: #fff; color: #000 !important; transform: translateY(-1px); }

.nav-mobile-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    z-index: 10000;
}

.nav-mobile-toggle span {
    width: 25px;
    height: 2px;
    background: var(--white);
    transition: var(--transition);
}

.nav-mobile-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.nav-mobile-toggle.active span:nth-child(2) {
    opacity: 0;
}

.nav-mobile-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* HERO SPLIT */
.hero-split {
    position: relative;
    min-height: 100vh;
    background: var(--black);
    margin-top: 80px;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(180deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-content-center {
    text-align: center;
    padding: 2rem;
}

.hero-tagline {
    font-size: 0.9rem;
    letter-spacing: 3px;
    color: var(--gold);
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.hero-title {
    font-family: var(--font-serif);
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.hero-subtitle {
    font-size: 1.1rem;
    color: var(--light-gray);
    letter-spacing: 1px;
}

/* SPLIT NAVIGATION */
.split-nav {
    display: flex;
    height: 100vh;
}

.split-side {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: var(--transition);
}

.split-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.split-left {
    background: var(--black);
}

.split-right {
    background: var(--black);
}

.split-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    transition: var(--transition);
    z-index: 2;
}

.split-side:hover .split-overlay {
    background: rgba(0, 0, 0, 0.3);
}

.split-content {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: 2rem;
}

.split-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.split-content h2 {
    font-family: var(--font-serif);
    font-size: 3.5rem;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.split-content p {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
    color: var(--light-gray);
    line-height: 1.6;
}

.split-cta {
    display: inline-block;
    padding: 1.2rem 2.5rem;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: 700;
    letter-spacing: 1px;
    transition: var(--transition);
    font-size: 1.1rem;
}

.split-side:hover .split-cta {
    background: var(--gold);
    color: var(--black);
}

/* PHILOSOPHY SECTION */
.philosophy {
    padding: 8rem 2rem;
    background: var(--dark-gray);
}

.philosophy-container {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.philosophy h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 2rem;
    color: var(--gold);
}

.philosophy p {
    font-size: 1.3rem;
    line-height: 1.8;
    margin-bottom: 4rem;
    color: var(--white);
}

.philosophy-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 3rem;
    margin-top: 4rem;
}

.stat {
    text-align: center;
}

.stat-number {
    font-family: var(--font-serif);
    font-size: 4rem;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 0.5rem;
}

.stat-label {
    font-size: 0.9rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--light-gray);
}

/* FEATURED SECTION */
.featured {
    padding: 8rem 2rem;
    background: var(--black);
}

.featured-container {
    max-width: 1400px;
    margin: 0 auto;
}

.featured h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    text-align: center;
    margin-bottom: 4rem;
    color: var(--gold);
}

.featured-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 4rem;
}

.featured-category h3 {
    font-family: var(--font-serif);
    font-size: 2rem;
    margin-bottom: 2rem;
    color: var(--white);
}

.featured-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.featured-card {
    background: var(--medium-gray);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.featured-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    transition: var(--transition);
}

.featured-card:hover img {
    transform: scale(1.05);
}

.featured-info {
    padding: 1.5rem;
}

.featured-info h4 {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 0.5rem;
}

.featured-info p {
    font-size: 0.9rem;
    color: var(--light-gray);
    margin-bottom: 1rem;
}

.price {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--gold);
}

.view-all {
    display: inline-block;
    margin-top: 2rem;
    padding: 1rem 2rem;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: 600;
    letter-spacing: 1px;
    transition: var(--transition);
}

.view-all:hover {
    background: var(--gold);
    color: var(--black);
}

/* VISION SECTION */
.vision {
    padding: 8rem 2rem;
    background: var(--dark-gray);
}

.vision-container {
    max-width: 1200px;
    margin: 0 auto;
}

.vision-content {
    text-align: center;
}

.vision h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 2rem;
    color: var(--gold);
}

.vision p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.vision-pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    margin-top: 4rem;
}

.pillar {
    padding: 2rem;
    background: var(--medium-gray);
    border-left: 3px solid var(--gold);
}

.pillar h4 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: var(--gold);
}

.pillar p {
    font-size: 1rem;
    color: var(--white);
}

/* CTA SECTION */
.cta {
    padding: 8rem 2rem;
    background: var(--black);
    text-align: center;
}

.cta h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 1rem;
    color: var(--gold);
}

.cta p {
    font-size: 1.3rem;
    margin-bottom: 3rem;
    letter-spacing: 1px;
}

.cta-buttons {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-btn {
    padding: 1.2rem 3rem;
    background: transparent;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 1px;
    transition: var(--transition);
    cursor: pointer;
}

.cta-btn:hover {
    background: var(--gold);
    color: var(--black);
}

/* FOOTER */
.footer {
    background: var(--dark-gray);
    padding: 4rem 2rem 2rem;
    border-top: 1px solid var(--medium-gray);
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
}

.footer-content {
    display: block;
    margin-bottom: 3rem;
}

.footer-brand {
    text-align: center;
    margin-bottom: 3rem;
}

.footer-brand h3 {
    font-family: var(--font-serif);
    font-size: 2rem;
    color: var(--gold);
    margin-bottom: 0.5rem;
    letter-spacing: 3px;
}

.footer-brand p {
    font-size: 0.9rem;
    color: var(--light-gray);
    letter-spacing: 2px;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-column {
    text-align: center;
}

.footer-column h4 {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 1rem;
    color: var(--gold);
}

.footer-column a {
    display: block;
    font-size: 0.85rem;
    margin-bottom: 0.6rem;
    color: var(--light-gray);
    text-decoration: none;
    transition: var(--transition);
}

.footer-column a:hover {
    color: var(--gold);
}

.footer-col h4 {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 1rem;
    color: var(--gold);
}

/* Grid layout when footer-container directly holds footer-col children */
.footer-container:has(.footer-col) {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.footer-container:has(.footer-col) .footer-bottom {
    grid-column: 1 / -1;
}

.footer-col p,
.footer-col a {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: var(--light-gray);
    transition: var(--transition);
}

.footer-col a:hover {
    color: var(--gold);
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid var(--medium-gray);
}

.footer-bottom p {
    font-size: 0.85rem;
    color: var(--light-gray);
    margin-bottom: 0.5rem;
}

@media (max-width: 992px) {
    .footer-links {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
    .footer-container:has(.footer-col) {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .footer-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    .footer-container:has(.footer-col) {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
    
    .footer-column h4 {
        font-size: 0.9rem;
    }
    
    .footer-column a {
        font-size: 0.8rem;
    }
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .nav-menu {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.97);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2.5rem;
        z-index: 9999;
    }
    
    .nav-menu.active {
        display: flex;
    }
    
    .nav-menu a {
        font-size: 1.3rem;
        color: #fff;
        letter-spacing: 2px;
    }
    
    .nav-menu a:hover,
    .nav-menu a.nav-active {
        color: #d4af37;
    }
    
    /* Book Fitting button - always visible on mobile */
    .nav-menu .nav-book-fitting {
        position: fixed;
        top: 18px;
        right: 60px;
        z-index: 10001;
        display: inline-block !important;
        padding: 0.4rem 0.9rem;
        background: #d4af37;
        color: #000;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        border-radius: 3px;
        text-decoration: none;
    }
    
    .nav-menu.active .nav-book-fitting {
        position: relative;
        top: auto;
        right: auto;
    }
    
    .nav-mobile-toggle {
        display: flex;
        z-index: 10000;
    }
    
    /* ELEGANT MOBILE HERO - First impression that STANDS OUT */
    .hero-overlay {
        position: relative;
        background: linear-gradient(to bottom, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.9) 100%);
        min-height: 60vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .hero-content-center {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 4rem 2rem;
        width: 100%;
    }
    
    .hero-tagline {
        font-size: 0.7rem;
        letter-spacing: 3px;
        color: #d4af37;
        margin-bottom: 2rem;
        font-weight: 600;
        text-transform: uppercase;
        opacity: 0.9;
    }
    
    .hero-title {
        font-family: var(--font-serif);
        font-size: 3.2rem;
        font-weight: 700;
        letter-spacing: 4px;
        color: #fff;
        margin-bottom: 2rem;
        line-height: 1.1;
        text-transform: uppercase;
        text-shadow: 0 2px 20px rgba(212, 175, 55, 0.3);
    }
    
    .hero-subtitle {
        font-size: 1.15rem;
        color: #f5f5f5;
        letter-spacing: 0.8px;
        line-height: 1.8;
        max-width: 85%;
        margin: 0 auto;
        font-weight: 300;
    }
    
    .split-nav {
        flex-direction: column;
    }
    
    .split-side {
        min-height: 55vh;
    }
    
    /* MOBILE SPLIT SECTIONS */
    .split-content {
        padding: 2rem 1.5rem;
    }
    
    .split-content h2 {
        font-size: 2.8rem;
        letter-spacing: 3px;
        margin-bottom: 1.2rem;
        line-height: 1.1;
    }
    
    .split-content p {
        font-size: 1.1rem;
        margin-bottom: 2rem;
        line-height: 1.6;
    }
    
    .split-cta {
        padding: 1.1rem 2.5rem;
        font-size: 1rem;
    }
    
    .featured-grid {
        grid-template-columns: 1fr;
    }
    
    .featured-items {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-btn {
        width: 100%;
        max-width: 300px;
    }
}

/* EXTRA SMALL MOBILE (< 480px) */
@media (max-width: 480px) {
    .hero-overlay {
        min-height: 55vh;
    }
    
    .hero-content-center {
        padding: 3rem 1.5rem;
    }
    
    .hero-tagline {
        font-size: 0.65rem;
        letter-spacing: 2px;
        margin-bottom: 1.5rem;
    }
    
    .hero-title {
        font-size: 2.6rem;
        letter-spacing: 3px;
        margin-bottom: 1.5rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
        line-height: 1.7;
        max-width: 90%;
    }
    
    .split-side {
        min-height: 50vh;
    }
    
    .split-content h2 {
        font-size: 2.3rem;
        letter-spacing: 2px;
    }
    
    .split-content p {
        font-size: 1rem;
    }
    
    .split-cta {
        padding: 1rem 2rem;
        font-size: 0.95rem;
    }
    
    .split-side {
        min-height: 35vh;
    }
    
    .hero-tagline {
        font-size: 0.7rem;
        letter-spacing: 1.5px;
        margin-bottom: 1.2rem;
    }
    
    .hero-title {
        font-size: 2.3rem;
        letter-spacing: 2px;
        margin-bottom: 1.2rem;
    }
    
    .hero-subtitle {
        font-size: 0.95rem;
        line-height: 1.5;
    }
    
    .split-content h2 {
        font-size: 2rem;
        letter-spacing: 1px;
    }
    
    .split-content p {
        font-size: 0.9rem;
    }
    
    .split-cta {
        padding: 0.9rem 1.8rem;
        font-size: 0.9rem;
    }
}

/* ========================================
   ADDITIONAL PAGE STYLES
   ======================================== */

/* PAGE HEADER */
.page-header {
    margin-top: 80px;
    padding: 6rem 2rem;
    background: var(--dark-gray);
    text-align: center;
}

.page-header-content h1 {
    font-family: var(--font-serif);
    font-size: clamp(3rem, 6vw, 5rem);
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 1rem;
    color: var(--gold);
}

.page-header-content p {
    font-size: 1.2rem;
    color: var(--light-gray);
    letter-spacing: 1px;
}

/* COLLECTIONS PAGE */
.collections-page {
    padding: 4rem 2rem;
    background: var(--black);
}

.collections-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 3rem;
}

.collection-card-large {
    background: var(--medium-gray);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.collection-card-large:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(201, 169, 97, 0.3);
}

.collection-image-large {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
}

.collection-image-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.collection-card-large:hover .collection-image-large img {
    transform: scale(1.05);
}

.collection-info-large {
    padding: 2rem;
}

.collection-info-large h3 {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 1rem;
    color: var(--gold);
}

.collection-info-large p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    color: var(--light-gray);
}

.collection-cta {
    display: inline-block;
    color: var(--gold);
    font-weight: 600;
    letter-spacing: 1px;
    transition: var(--transition);
}

.collection-card-large:hover .collection-cta {
    transform: translateX(5px);
}

/* ABOUT PAGE */
.about-section {
    padding: 6rem 2rem;
    background: var(--black);
}

.about-container {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.about-content h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 2rem;
    color: var(--gold);
}

.about-content p {
    font-size: 1.3rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    color: var(--white);
}

.vision-detailed {
    padding: 6rem 2rem;
    background: var(--dark-gray);
}

.vision-detailed-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 4rem;
}

.vision-col h3 {
    font-family: var(--font-serif);
    font-size: 2rem;
    margin-bottom: 1rem;
    color: var(--gold);
}

.vision-col p {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.vision-col ul {
    list-style: none;
    padding: 0;
}

.vision-col li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    color: var(--light-gray);
}

.vision-col li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--gold);
}

.about-collections {
    padding: 6rem 2rem;
    background: var(--black);
}

.about-collections-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.about-collections h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 3rem;
    color: var(--gold);
}

.collections-breakdown {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 3rem;
    text-align: left;
}

.breakdown-col {
    padding: 3rem;
    background: var(--medium-gray);
    border-left: 4px solid var(--gold);
}

.breakdown-col h3 {
    font-family: var(--font-serif);
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: var(--gold);
}

.breakdown-col p {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 2rem;
    color: var(--white);
}

.breakdown-cta {
    display: inline-block;
    padding: 1rem 2rem;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: 600;
    letter-spacing: 1px;
    transition: var(--transition);
}

.breakdown-cta:hover {
    background: var(--gold);
    color: var(--black);
}

.founder {
    padding: 6rem 2rem;
    background: var(--dark-gray);
}

.founder-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.founder h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 2rem;
    color: var(--gold);
}

.founder p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    color: var(--white);
}

/* CONTACT PAGE */
.contact-section {
    padding: 6rem 2rem;
    background: var(--black);
}

.contact-container {
    max-width: 900px;
    margin: 0 auto;
}

.contact-method h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    text-align: center;
    margin-bottom: 1rem;
    color: var(--gold);
}

.contact-method > p {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 4rem;
    color: var(--light-gray);
}

.contact-steps {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.step {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}

.step-number {
    font-family: var(--font-serif);
    font-size: 3rem;
    font-weight: 700;
    color: var(--gold);
    min-width: 80px;
}

.step-content h4 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: var(--white);
}

.step-content p {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 0.5rem;
    color: var(--light-gray);
}

.step-content strong {
    color: var(--gold);
}

.contact-info-section {
    padding: 6rem 2rem;
    background: var(--dark-gray);
}

.contact-info-container {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    text-align: center;
}

.contact-col h3 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: var(--gold);
}

.contact-detail {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--white);
}

.contact-note {
    font-size: 0.9rem;
    color: var(--light-gray);
}

.faq-section {
    padding: 6rem 2rem;
    background: var(--black);
}

.faq-container {
    max-width: 1000px;
    margin: 0 auto;
}

.faq-container h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    text-align: center;
    margin-bottom: 4rem;
    color: var(--gold);
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3rem;
}

.faq-item {
    padding: 2rem;
    background: var(--medium-gray);
    border-left: 3px solid var(--gold);
}

.faq-item h4 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
    color: var(--gold);
}

.faq-item p {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--white);
}

/* MOBILE ADJUSTMENTS FOR NEW PAGES */
@media (max-width: 768px) {
    .collections-container {
        grid-template-columns: 1fr;
    }
    
    .collections-breakdown {
        grid-template-columns: 1fr;
    }
    
    .vision-detailed-container {
        grid-template-columns: 1fr;
    }
    
    .step {
        flex-direction: column;
        gap: 1rem;
    }
    
    .step-number {
        min-width: auto;
    }
    
    .contact-info-container {
        grid-template-columns: 1fr;
    }
    
    .faq-grid {
        grid-template-columns: 1fr;
    }
}
/* ROSTER PAGE SPECIFIC STYLES */

.collections-container-roster {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2.5rem;
    padding: 0 2rem;
}

.collection-card-roster {
    background: var(--medium-gray);
    transition: var(--transition);
    overflow: hidden;
    border-radius: 4px;
}

.collection-card-roster:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(201, 169, 97, 0.3);
}

.collection-image-roster {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--dark-gray);
}

.collection-image-roster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.collection-card-roster:hover .collection-image-roster img {
    transform: scale(1.05);
}

.collection-info-roster {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.collection-info-roster h3 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--gold);
    margin: 0;
}

.collection-info-roster p {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--light-gray);
    margin: 0;
}

.price-roster {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 700;
    color: var(--gold);
}

.order-btn {
    display: inline-block;
    padding: 1rem 2rem;
    background: transparent;
    border: 2px solid var(--gold);
    color: var(--gold);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 1px;
    text-align: center;
    transition: var(--transition);
    cursor: pointer;
    text-decoration: none;
}

.order-btn:hover {
    background: var(--gold);
    color: var(--black);
}

/* INFO SECTION */
.info-section {
    padding: 6rem 2rem;
    background: var(--dark-gray);
}

.info-container {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.info-container h2 {
    font-family: var(--font-serif);
    font-size: 3rem;
    margin-bottom: 2rem;
    color: var(--gold);
}

.info-container p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    color: var(--white);
}

.info-container strong {
    color: var(--gold);
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .collections-container-roster {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .collection-info-roster h3 {
        font-size: 1.5rem;
    }
    
    .price-roster {
        font-size: 1.5rem;
    }
}

/* ========================================
   PRODUCT PAGE STYLES
   ======================================== */

.product-hero {
    padding: 6rem 2rem 4rem;
    background: var(--white);
    color: var(--black);
}

.product-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

.product-image-large {
    position: sticky;
    top: 100px;
}

.product-image-large img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.product-details {
    padding: 2rem 0;
}

.product-breadcrumb {
    margin-bottom: 2rem;
}

.product-breadcrumb a {
    color: var(--medium-gray);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s;
}

.product-breadcrumb a:hover {
    color: var(--gold);
}

.product-title {
    font-family: var(--font-serif);
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    letter-spacing: 0.05em;
    color: var(--black);
}

.product-tagline {
    font-size: 1.3rem;
    color: var(--medium-gray);
    margin-bottom: 2rem;
    font-style: italic;
}

.product-price {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 3rem;
}

.product-description h3 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    margin: 2rem 0 1rem;
    color: var(--black);
}

.product-description p {
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
    color: var(--medium-gray);
}

.product-description ul {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.product-description ul li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    font-size: 1.05rem;
    color: var(--medium-gray);
}

.product-description ul li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--gold);
    font-weight: bold;
}

.product-cta {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid var(--light-gray);
}

.order-btn-large {
    display: block;
    width: 100%;
    padding: 1.5rem;
    background: var(--gold);
    color: var(--black);
    text-align: center;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    border-radius: 4px;
    transition: all 0.3s;
    margin-bottom: 1rem;
}

.order-btn-large:hover {
    background: var(--black);
    color: var(--gold);
    transform: translateY(-2px);
}

.product-note {
    text-align: center;
    font-size: 0.9rem;
    color: var(--gray);
    margin-top: 1rem;
}

.related-products {
    padding: 4rem 2rem;
    background: var(--light-gray);
    color: var(--black);
}

.related-products h2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    color: var(--black);
}

/* MOBILE RESPONSIVE - PRODUCT PAGES */
@media (max-width: 968px) {
    .product-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .product-image-large {
        position: relative;
        top: 0;
    }
    
    .product-title {
        font-size: 2.5rem;
    }
    
    .product-price {
        font-size: 2rem;
    }
}


/* ========================================
   THE CORONATION - ESTATE COLLECTION STYLES
   ======================================== */

/* Hero Section */
.coronation-hero {
    position: relative;
    height: 80vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.coronation-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.coronation-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

.coronation-hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: #fff;
    padding: 2rem;
    max-width: 900px;
}

.coronation-title {
    font-family: 'Canela', 'Cormorant Garamond', serif;
    font-size: 4.5rem;
    font-weight: 700;
    color: #d4af37;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.8);
}

.coronation-subtitle {
    font-size: 1.8rem;
    font-weight: 300;
    margin: 0 0 1.5rem 0;
    letter-spacing: 0.02em;
}

.coronation-quantity {
    font-size: 1.2rem;
    margin: 0 0 1rem 0;
    line-height: 1.6;
}

.coronation-price {
    font-size: 1.5rem;
    font-weight: 600;
    color: #d4af37;
    margin: 0 0 2rem 0;
}

.coronation-cta {
    display: inline-block;
    background: #d4af37;
    color: #000;
    padding: 1rem 3rem;
    font-size: 1.1rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    letter-spacing: 0.05em;
}

.coronation-cta:hover {
    background: #b8941f;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Tier Sections */
.tier-section {
    padding: 5rem 2rem;
    background: #fff;
}

.tier-section.tier-alternate {
    background: #f8f8f8;
}

.tier-container {
    max-width: 1400px;
    margin: 0 auto;
}

.tier-header {
    text-align: center;
    margin-bottom: 4rem;
}

.tier-title {
    font-family: 'Canela', 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 700;
    color: #000;
    margin: 0 0 0.5rem 0;
    letter-spacing: 0.03em;
}

.tier-subtitle {
    font-size: 1.3rem;
    color: #666;
    margin: 0 0 1rem 0;
    font-weight: 300;
}

.tier-quantity {
    font-size: 0.95rem;
    color: #999;
    margin: 0 0 0.5rem 0;
}

.tier-price {
    font-size: 2rem;
    font-weight: 700;
    color: #d4af37;
    margin: 0;
}

/* Collection Grid */
.collections-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
}

.collection-card-estate {
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease;
}

.collection-card-estate:hover {
    transform: translateY(-8px);
}

.collection-image-estate {
    position: relative;
    width: 100%;
    padding-top: 150%; /* 2:3 aspect ratio */
    overflow: hidden;
    border-radius: 8px;
    background: #f0f0f0;
}

.collection-image-estate img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.collection-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.collection-card-estate:hover .collection-overlay {
    opacity: 1;
}

.view-btn {
    background: #d4af37;
    color: #000;
    padding: 0.8rem 2rem;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    border-radius: 4px;
}

.collection-info-estate {
    padding: 1.5rem 0 0 0;
    text-align: center;
}

.collection-info-estate h3 {
    font-family: 'Canela', 'Cormorant Garamond', serif;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: #000;
}

.collection-tagline {
    font-size: 0.95rem;
    color: #666;
    margin: 0 0 0.75rem 0;
    font-style: italic;
}

.collection-price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #d4af37;
    margin: 0;
}

/* Product Page */
.product-page-estate {
    padding: 6rem 2rem 4rem;
    background: #fff;
    color: #000;
}

/* Estate Product Page - Shared Sections */
.product-page-estate .scarcity-badge {
    background: #d4af37;
    color: #000;
    text-align: center;
    padding: 1rem;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    border-radius: 4px;
    margin-top: 1rem;
}

.product-page-estate .product-whats-included {
    margin: 2rem 0;
    padding: 2rem;
    background: #f8f8f8;
    border-radius: 8px;
}

.product-page-estate .product-whats-included h3 {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    color: #000;
    margin-bottom: 1rem;
}

.product-page-estate .product-whats-included ul {
    list-style: none;
    padding: 0;
}

.product-page-estate .product-whats-included ul li {
    padding: 0.4rem 0;
    padding-left: 1.8rem;
    position: relative;
    font-size: 1rem;
    color: #333;
}

.product-page-estate .product-whats-included ul li::before {
    content: "✅";
    position: absolute;
    left: 0;
}

.product-page-estate .what-happens-next {
    margin: 2rem 0;
    padding: 2rem;
    background: #fafafa;
    border-left: 4px solid #d4af37;
    border-radius: 0 8px 8px 0;
}

.product-page-estate .what-happens-next h3 {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    color: #000;
    margin-bottom: 1rem;
}

.product-page-estate .what-happens-next ul {
    list-style: none;
    padding: 0;
}

.product-page-estate .what-happens-next ul li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    font-size: 1rem;
    color: #333;
}

.product-page-estate .what-happens-next ul li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: #d4af37;
    font-weight: bold;
}

.product-page-estate .fit-sizing-block {
    margin: 2rem 0;
    padding: 2rem;
    border: 2px solid #d4af37;
    border-radius: 8px;
}

.product-page-estate .fit-sizing-block h3 {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    color: #000;
    margin-bottom: 1rem;
}

.product-page-estate .fit-sizing-block ul {
    list-style: none;
    padding: 0;
}

.product-page-estate .fit-sizing-block ul li {
    padding: 0.4rem 0;
    padding-left: 1.5rem;
    position: relative;
    font-size: 1rem;
    color: #333;
}

.product-page-estate .fit-sizing-block ul li::before {
    content: "✦";
    position: absolute;
    left: 0;
    color: #d4af37;
}

.product-page-estate .size-guide-link {
    display: inline-block;
    margin-top: 1rem;
    color: #d4af37;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
}

.product-page-estate .size-guide-link:hover {
    text-decoration: underline;
}

.product-page-estate .product-details-section {
    margin: 2rem 0;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}

.product-page-estate .product-details-section summary {
    padding: 1.5rem;
    cursor: pointer;
    background: #fafafa;
    border-radius: 8px;
}

.product-page-estate .product-details-section summary h3 {
    display: inline;
    font-family: var(--font-serif);
    font-size: 1.2rem;
    color: #000;
}

.product-page-estate .product-details-section .details-content {
    padding: 1.5rem;
    color: #333;
}

.product-page-estate .product-details-section .details-content h4 {
    color: #000;
    margin: 1rem 0 0.5rem;
    font-size: 1rem;
}

.product-page-estate .product-details-section .details-content p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.7;
}

.product-page-estate .product-details-section .details-content ul {
    list-style: none;
    padding: 0;
}

.product-page-estate .product-details-section .details-content ul li {
    padding: 0.3rem 0;
    font-size: 0.95rem;
    color: #444;
}

.product-page-estate .secondary-cta-block {
    margin: 2rem 0;
    text-align: center;
    padding: 2rem;
    background: #fafafa;
    border-radius: 8px;
}

.product-page-estate .secondary-cta-block h3 {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    color: #000;
    margin-bottom: 1rem;
}

.product-page-estate .secondary-cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.product-page-estate .btn-size-help,
.product-page-estate .btn-text-support {
    display: inline-block;
    padding: 0.8rem 2rem;
    border: 2px solid #000;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.95rem;
    color: #000;
    background: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.product-page-estate .btn-size-help:hover,
.product-page-estate .btn-text-support:hover {
    background: #000;
    color: #fff;
}

.product-page-estate .product-expansion-note {
    text-align: center;
    padding: 1.5rem 0;
    border-top: 1px solid #eee;
    margin-top: 1.5rem;
}

.product-page-estate .product-expansion-note a {
    color: #d4af37;
    font-weight: 600;
}

.product-page-estate .quick-reviews {
    padding: 1.5rem;
    border: 2px solid #d4af37;
    border-radius: 8px;
    margin-top: 1.5rem;
}

.product-page-estate .stars-rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.product-page-estate .stars {
    color: #d4af37;
    font-size: 1.3rem;
}

.product-page-estate .rating-text {
    color: #333;
    font-size: 0.95rem;
}

.product-page-estate .see-all-reviews {
    display: inline-block;
    margin-top: 0.5rem;
    color: #d4af37;
    font-weight: 600;
    font-size: 0.9rem;
}

.product-container-estate {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

.product-image-section-estate {
    position: sticky;
    top: 100px;
}

.product-main-image-estate {
    width: 100%;
    border-radius: 8px;
}

.product-details-section-estate {
    padding: 2rem 0;
}

.product-breadcrumb {
    font-size: 0.9rem;
    color: #999;
    margin-bottom: 2rem;
}

.product-breadcrumb a {
    color: #d4af37;
    text-decoration: none;
}

.product-name-estate {
    font-family: 'Canela', 'Cormorant Garamond', serif;
    font-size: 3.5rem;
    font-weight: 700;
    color: #000;
    margin: 0 0 0.5rem 0;
    line-height: 1.2;
}

.product-tagline-estate {
    font-size: 1.5rem;
    color: #666;
    font-style: italic;
    margin: 0 0 2rem 0;
}

.product-price-estate {
    font-size: 2.5rem;
    font-weight: 700;
    color: #d4af37;
    margin: 0 0 1.5rem 0;
}

.tier-badge-estate {
    display: inline-block;
    background: #000;
    color: #d4af37;
    padding: 0.5rem 1.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    border-radius: 4px;
    margin-bottom: 2rem;
}

.scarcity-message-estate {
    background: #fff5f5;
    border: 2px solid #ff4444;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.size-selector-estate {
    margin-bottom: 2rem;
}

.size-selector-estate label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.size-dropdown-estate {
    width: 100%;
    padding: 1rem;
    font-size: 1rem;
    border: 2px solid #ddd;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
}

.lock-in-btn-estate {
    width: 100%;
    background: #d4af37;
    color: #000;
    border: none;
    padding: 1.5rem;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 3rem;
}

.lock-in-btn-estate:hover {
    background: #b8941f;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

.product-description-estate,
.product-hype-estate,
.product-who-for-estate {
    margin-bottom: 2.5rem;
}

.product-description-estate h3,
.product-hype-estate h3,
.product-who-for-estate h3 {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: #000;
}

.product-description-estate p,
.product-hype-estate p,
.product-who-for-estate p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #333;
    margin: 0;
}

.product-text-cta {
    text-align: center;
    padding: 2rem 0;
    border-top: 1px solid #eee;
    margin-top: 2rem;
}

.product-text-button {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 1rem 2rem;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.product-text-button:hover {
    background: #333;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .collections-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .coronation-title {
        font-size: 3rem;
    }
    
    .tier-title {
        font-size: 2.5rem;
    }
    
    .collections-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
    
    .product-container-estate {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .product-image-section-estate {
        position: relative;
        top: 0;
    }
    
    .product-name-estate {
        font-size: 2.5rem;
    }
}

@media (max-width: 600px) {
    .coronation-hero {
        height: 60vh;
        min-height: 500px;
    }
    
    .coronation-title {
        font-size: 2.2rem;
    }
    
    .coronation-subtitle {
        font-size: 1.3rem;
    }
    
    .tier-section {
        padding: 3rem 1rem;
    }
    
    .tier-title {
        font-size: 2rem;
    }
    
    .collections-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .product-page-estate {
        padding: 2rem 1rem;
    }
    
    .product-name-estate {
        font-size: 2rem;
    }
    
    .product-tagline-estate {
        font-size: 1.2rem;
    }
}


/* ========================================
   LUXURY PRODUCT PAGE SECTIONS
   Apple-level polish for sizing, reviews, trust
   ======================================== */

/* --- HOW TO MEASURE SECTION --- */
.measure-section {
    padding: 6rem 2rem;
    background: #faf8f5;
    color: #1a1a1a;
}

.measure-container {
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

.measure-container > h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3.2rem;
    font-weight: 300;
    color: #000;
    margin-bottom: 1rem;
    letter-spacing: 0.03em;
}

.measure-intro {
    font-size: 1.2rem;
    color: #666;
    line-height: 1.7;
    max-width: 650px;
    margin: 0 auto 3rem;
}

.measure-visual {
    margin: 0 auto 3.5rem;
    max-width: 750px;
}

.measure-visual img {
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

.measure-instructions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    text-align: left;
    margin-bottom: 3rem;
}

.measure-item {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.measure-item:hover {
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.measure-item h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 0.6rem;
}

.measure-item p {
    font-size: 1.0rem;
    color: #555;
    line-height: 1.65;
}

.measure-tips {
    background: #fff;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 12px;
    padding: 2.5rem;
    text-align: left;
    max-width: 750px;
    margin: 0 auto;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.measure-tips h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    color: #000;
    margin-bottom: 1.2rem;
    text-align: center;
}

.measure-tips ul {
    list-style: none;
    padding: 0;
    columns: 2;
    column-gap: 2rem;
}

.measure-tips ul li {
    padding: 0.5rem 0;
    font-size: 1.0rem;
    color: #555;
    break-inside: avoid;
}

/* --- CORONATION FIT SPECIFICATIONS --- */
.chart-section {
    padding: 6rem 2rem;
    background: #f5f2ed;
    color: #1a1a1a;
}

.chart-container {
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

.chart-container > h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3.2rem;
    font-weight: 300;
    color: #000;
    margin-bottom: 1rem;
    letter-spacing: 0.03em;
}

.chart-intro {
    font-size: 1.15rem;
    color: #666;
    font-style: italic;
    line-height: 1.7;
    max-width: 700px;
    margin: 0 auto 3rem;
}

.chart-image {
    width: 100%;
    max-width: 850px;
    margin: 0 auto 3rem;
    display: block;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

.chart-rule {
    background: #fff;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 12px;
    padding: 2.5rem;
    text-align: left;
    max-width: 850px;
    margin: 0 auto;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.chart-rule h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.7rem;
    color: #000;
    margin-bottom: 1.5rem;
    text-align: center;
}

.fit-guide-text p {
    font-size: 1.05rem;
    color: #444;
    line-height: 1.7;
    margin-bottom: 1rem;
    padding-left: 1.2rem;
    border-left: 3px solid #d4af37;
}

.fit-guide-text p:last-child {
    margin-bottom: 0;
}

.fit-guide-text strong {
    color: #000;
    font-weight: 700;
}

/* --- TRIPLE-LOCK PROCESS --- */
.process-section {
    padding: 6rem 2rem;
    background: #faf8f5;
    color: #1a1a1a;
}

.process-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.process-container > h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3.2rem;
    font-weight: 300;
    color: #000;
    margin-bottom: 1rem;
    letter-spacing: 0.03em;
}

.process-intro {
    font-size: 1.2rem;
    color: #666;
    margin-bottom: 3rem;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.2rem;
    margin-bottom: 3rem;
}

.process-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    padding: 2rem 1.2rem;
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.process-card:hover {
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    transform: translateY(-4px);
}

.process-number {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #d4af37;
    color: #000;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.2rem;
}

.process-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 0.6rem;
}

.process-card p {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.55;
}

.process-guarantee {
    background: #fff;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 12px;
    padding: 2rem;
    max-width: 800px;
    margin: 0 auto;
    font-size: 1.05rem;
    color: #555;
    line-height: 1.7;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.process-guarantee strong {
    color: #000;
}

/* --- REVIEWS SECTION --- */
.reviews-section {
    padding: 6rem 2rem;
    background: #f5f2ed;
    color: #1a1a1a;
}

.reviews-section .container {
    max-width: 1100px;
    margin: 0 auto;
}

.reviews-section h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3.2rem;
    font-weight: 300;
    color: #000;
    text-align: center;
    margin-bottom: 3rem;
    letter-spacing: 0.03em;
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.review-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.review-card:hover {
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}

.review-stars {
    font-size: 1.1rem;
    margin-bottom: 0.8rem;
}

.review-card h4 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 0.8rem;
}

.review-card p {
    font-size: 1.0rem;
    color: #555;
    line-height: 1.65;
    margin-bottom: 1rem;
}

.review-author {
    font-size: 0.95rem;
    color: #d4af37;
    font-weight: 600;
}

/* --- SIZE CHART IMAGE SECTION --- */
.product-size-chart {
    padding: 4rem 2rem;
    background: #faf8f5;
    text-align: center;
}

.product-size-chart .container {
    max-width: 960px;
    margin: 0 auto;
}

.product-size-chart h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.2rem;
    color: #000;
    margin-bottom: 2rem;
}

.product-size-chart img {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    display: block;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

/* --- MEASUREMENT GUIDE IMAGE SECTION --- */
.measurement-guide-section {
    padding: 4rem 2rem;
    background: #faf8f5;
    text-align: center;
}

.measurement-guide-section .container {
    max-width: 960px;
    margin: 0 auto;
}

.measurement-guide-section h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.2rem;
    color: #000;
    margin-bottom: 2rem;
}

/* --- TRUST BADGES --- */
.trust-badges-section {
    padding: 5rem 2rem;
    background: #f5f2ed;
    color: #1a1a1a;
}

.trust-badges-section .container {
    max-width: 1000px;
    margin: 0 auto;
}

.trust-badges {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.trust-badge {
    text-align: center;
    padding: 2rem 1rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.trust-badge:hover {
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.badge-icon {
    margin-bottom: 1rem;
}

.badge-icon svg {
    stroke: #d4af37;
}

.badge-text strong {
    display: block;
    color: #000;
    font-size: 1.05rem;
    margin-bottom: 0.3rem;
}

.badge-text p {
    color: #888;
    font-size: 0.95rem;
    margin: 0;
}

/* --- RELATED PRODUCTS ON PRODUCT PAGES --- */
.product-page-estate ~ .related-products,
.measure-section ~ .related-products,
.reviews-section ~ .related-products,
.trust-badges-section ~ .related-products {
    background: #faf8f5;
    padding: 5rem 2rem;
}

.related-products .container {
    max-width: 1100px;
    margin: 0 auto;
}

.featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.featured-card {
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.featured-card:hover {
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.featured-card img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
}

.featured-info {
    padding: 1.5rem;
    text-align: center;
}

.featured-info h4 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    color: #000;
    margin-bottom: 0.3rem;
}

.featured-info p {
    font-size: 1.0rem;
    color: #888;
    margin-bottom: 0.5rem;
}

.featured-info .price {
    color: #d4af37;
    font-weight: 700;
    font-size: 1.15rem;
}


/* ========================================
   THE ESTATE - LANDING PAGE
   ======================================== */
.estate-hero {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    text-align: center;
    padding: 8rem 2rem 4rem;
}

.estate-hero-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 5rem;
    font-weight: 300;
    color: #d4af37;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
}

.estate-hero-subtitle {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.8rem;
    color: #fff;
    font-weight: 300;
    margin-bottom: 1.5rem;
}

.estate-hero-desc {
    font-size: 1.1rem;
    color: #999;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}

.estate-collections {
    padding: 5rem 2rem;
    background: #000;
}

.estate-collections-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.estate-collection-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    min-height: 550px;
    display: flex;
    transition: transform 0.4s ease;
}

.estate-collection-card:hover {
    transform: translateY(-8px);
}

.estate-card-image {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center top;
    transition: transform 0.6s ease;
}

.estate-collection-card:hover .estate-card-image {
    transform: scale(1.05);
}

.estate-card-overlay {
    position: relative;
    z-index: 2;
    background: linear-gradient(transparent 20%, rgba(0,0,0,0.85) 60%);
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 3rem;
}

.estate-card-overlay h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 300;
    color: #d4af37;
    margin-bottom: 0.5rem;
    letter-spacing: 0.05em;
}

.estate-card-tagline {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    color: #fff;
    font-style: italic;
    margin-bottom: 1rem;
}

.estate-card-desc {
    font-size: 0.95rem;
    color: #ccc;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.estate-card-price {
    font-size: 1.1rem;
    color: #d4af37;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.estate-card-cta {
    display: inline-block;
    border: 1px solid #d4af37;
    color: #d4af37;
    padding: 0.8rem 2rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.estate-collection-card:hover .estate-card-cta {
    background: #d4af37;
    color: #000;
}

.estate-brand-statement {
    padding: 5rem 2rem;
    background: #0a0a0a;
    text-align: center;
}

.estate-brand-content {
    max-width: 700px;
    margin: 0 auto;
}

.estate-brand-quote {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    color: #d4af37;
    font-style: italic;
    margin-bottom: 1.5rem;
}

.estate-brand-text {
    font-size: 1.1rem;
    color: #999;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.estate-brand-cta {
    display: inline-block;
    border: 1px solid rgba(212, 175, 55, 0.4);
    color: #d4af37;
    padding: 1rem 2.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.estate-brand-cta:hover {
    background: #d4af37;
    color: #000;
}

@media (max-width: 1100px) {
    .estate-collections-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 900px) {
    .estate-collections-grid {
        grid-template-columns: 1fr;
    }
    .estate-hero-title {
        font-size: 3.5rem;
    }
    .estate-card-overlay h2 {
        font-size: 2.2rem;
    }
}

@media (max-width: 600px) {
    .estate-hero-title {
        font-size: 2.8rem;
    }
    .estate-collection-card {
        min-height: 450px;
    }
}


/* --- RESPONSIVE FOR PRODUCT PAGE SECTIONS --- */
@media (max-width: 900px) {
    .measure-instructions {
        grid-template-columns: 1fr;
    }
    
    .measure-tips ul {
        columns: 1;
    }
    
    .process-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .reviews-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .trust-badges {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .featured-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .measure-container > h2,
    .chart-container > h2,
    .process-container > h2,
    .reviews-section h2 {
        font-size: 2.2rem;
    }
}

@media (max-width: 600px) {
    .process-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .reviews-grid {
        grid-template-columns: 1fr;
    }
    
    .trust-badges {
        grid-template-columns: 1fr 1fr;
    }
    
    .featured-grid {
        grid-template-columns: 1fr;
    }
    
    .measure-container > h2,
    .chart-container > h2,
    .process-container > h2,
    .reviews-section h2 {
        font-size: 1.8rem;
    }
    
    .measure-section,
    .chart-section,
    .process-section,
    .reviews-section {
        padding: 3rem 1rem;
    }
}


/* ========================================================
   COMPREHENSIVE MOBILE OVERHAUL - V17
   Ensures every page section is mobile-first friendly
   ======================================================== */

/* --- GLOBAL MOBILE TYPOGRAPHY --- */
@media (max-width: 768px) {
    html { font-size: 15px; }
    
    body {
        overflow-x: hidden;
        -webkit-text-size-adjust: 100%;
    }
    
    /* Prevent any child from causing horizontal scroll */
    main, section, div, article, aside, footer, header {
        max-width: 100vw;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }
    
    img {
        max-width: 100%;
        height: auto;
    }
    
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* --- NAV BOOK FITTING MOBILE --- */
@media (max-width: 768px) {
    .nav-book-fitting {
        padding: 0.4rem 0.8rem !important;
        font-size: 0.7rem !important;
        position: fixed;
        top: 18px;
        right: 55px;
        z-index: 10001;
        display: inline-block !important;
        background: #d4af37;
        color: #000 !important;
        font-weight: 700;
        letter-spacing: 0.05em;
        border-radius: 3px;
        text-decoration: none !important;
    }
    
    .nav-book-fitting::after {
        display: none !important;
    }
    
    .nav-menu.active .nav-book-fitting {
        position: relative;
        top: auto;
        right: auto;
        font-size: 1rem !important;
        padding: 0.8rem 2rem !important;
    }
}

/* --- HOMEPAGE SECTIONS MOBILE --- */
@media (max-width: 768px) {
    /* Power Couple */
    .power-couple-section { padding: 4rem 1.5rem; }
    .power-couple-content h2 { font-size: 2rem; }
    .power-couple-text { font-size: 0.95rem; line-height: 1.8; }
    .power-couple-stats { gap: 1.5rem; }
    .pc-stat-number { font-size: 2rem; }
    .pc-stat-label { font-size: 0.8rem; }
    
    /* How It Works */
    .how-it-works { padding: 3rem 1.5rem; }
    .hiw-title { font-size: 2rem; }
    .hiw-grid { grid-template-columns: 1fr; gap: 2rem; }
    .hiw-number { font-size: 2.2rem; }
    .hiw-step h3 { font-size: 1.1rem; }
    .hiw-ctas { flex-direction: column; align-items: stretch; }
    .hiw-btn { text-align: center; padding: 1rem 1.5rem; }
    
    /* Collections Unified (side by side → stacked) */
    .collections-unified { padding: 3rem 1rem; }
    .collections-split { grid-template-columns: 1fr !important; gap: 3rem !important; }
    .collections-column h2 { font-size: 2.2rem; }
    .column-hero-image { height: 300px; border-radius: 6px; }
    .column-grid { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
    .column-card-image { height: 200px; }
    .column-card-info { padding: 0.8rem; }
    .column-card-info h3 { font-size: 1rem; }
    .column-card-info p { font-size: 0.8rem; }
    .column-price { font-size: 0.95rem; }
    .column-subtitle { font-size: 0.9rem !important; }
    
    /* Confidence Bar */
    .confidence-bar { padding: 3rem 1rem; }
    .confidence-container { grid-template-columns: 1fr !important; gap: 1.5rem; }
    .confidence-tile { padding: 1.5rem; }
    .confidence-tile h3 { font-size: 1.2rem; }
    
    /* Reviews */
    .reviews-home { padding: 3rem 1rem; }
    .reviews-home-title { font-size: 2rem; }
    .reviews-home-grid { grid-template-columns: 1fr !important; gap: 1.5rem; }
    .review-home-card { padding: 1.5rem; }
    .review-home-text { font-size: 0.92rem; }
    
    /* CTA Section */
    .cta-section { padding: 3rem 1.5rem; }
    .cta-container h2 { font-size: 2rem; }
    .cta-container p { font-size: 1rem; }
    .cta-buttons { flex-direction: column; align-items: stretch; }
    .cta-btn { text-align: center; padding: 1rem 1.5rem; font-size: 1rem; }
}

@media (max-width: 480px) {
    .column-grid { grid-template-columns: 1fr; gap: 1rem; }
    .column-card-image { height: 280px; }
    .column-card-info h3 { font-size: 1.2rem; }
    .column-hero-image { height: 250px; }
    .collections-column h2 { font-size: 1.8rem; }
    .power-couple-content h2 { font-size: 1.6rem; }
    .pc-stat-number { font-size: 1.6rem; }
}

/* --- ROSTER PAGE MOBILE --- */
@media (max-width: 768px) {
    .collections-page { padding: 2rem 1rem; }
    .collections-container-roster { gap: 1.5rem; padding: 0 0.5rem; }
    .collection-info-roster h3 { font-size: 1.3rem; }
    .collection-info-roster p { font-size: 0.9rem; }
    .price-roster { font-size: 1.1rem; }
}

@media (max-width: 480px) {
    .collections-container-roster {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
    }
}

/* --- ESTATE LANDING PAGE MOBILE --- */
@media (max-width: 768px) {
    .estate-hero { min-height: 50vh; margin-top: 60px; }
    .estate-hero-title { font-size: 2.5rem !important; }
    .estate-hero-desc { font-size: 0.9rem; padding: 0 1rem; }
    .estate-collections { padding: 3rem 1rem; }
    .estate-collections-grid { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
    .estate-collection-card { min-height: 400px !important; }
    .estate-stats-grid { gap: 1rem; }
    .estate-stat-item .stat-number { font-size: 2rem !important; }
    .estate-stat-item .stat-label { font-size: 0.7rem; }
    .estate-brand-quote { font-size: 1.6rem !important; }
    .estate-brand-statement { padding: 4rem 1.5rem; }
    .estate-cta-section { padding: 3rem 1.5rem; }
    .estate-cta-section h2 { font-size: 1.8rem !important; }
}

/* --- PRODUCT PAGES MOBILE (Estate Gowns) --- */
@media (max-width: 768px) {
    .product-page-estate { padding: 1.5rem 1rem !important; }
    
    .product-container-estate {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    
    .product-image-section-estate {
        position: relative !important;
        top: 0 !important;
    }
    
    .product-main-image-estate {
        border-radius: 6px;
        overflow: hidden;
    }
    
    .product-main-image-estate img {
        width: 100%;
        height: auto;
        max-height: 500px;
        object-fit: cover;
    }
    
    .product-name-estate { font-size: 1.8rem !important; }
    .product-tagline-estate { font-size: 1rem !important; }
    .product-price-estate { font-size: 1.6rem !important; }
    
    .lock-in-btn-estate {
        font-size: 0.9rem !important;
        padding: 0.9rem 1.5rem !important;
        width: 100%;
        text-align: center;
    }
    
    .product-text-button {
        font-size: 0.85rem !important;
        padding: 0.8rem 1.5rem !important;
        width: 100%;
        text-align: center;
    }
    
    .product-description-estate p,
    .product-hype-estate p,
    .product-who-for-estate p {
        font-size: 0.92rem;
        line-height: 1.7;
    }
    
    .product-whats-included,
    .what-happens-next,
    .fit-sizing-block {
        padding: 1.2rem !important;
    }
    
    .product-whats-included h3,
    .what-happens-next h3,
    .fit-sizing-block h3 {
        font-size: 1.15rem !important;
    }
    
    .size-selector-estate {
        flex-direction: column;
    }
    
    .size-dropdown-estate {
        width: 100%;
    }
    
    /* Size chart table in product pages */
    .product-page-estate table {
        font-size: 0.75rem;
    }
    
    .product-page-estate table th,
    .product-page-estate table td {
        padding: 0.4rem 0.3rem;
    }
    
    .secondary-cta-buttons {
        flex-direction: column !important;
        gap: 0.8rem !important;
    }
    
    .secondary-cta-buttons a {
        width: 100%;
        text-align: center;
    }
}

/* --- PRODUCT PAGES MOBILE (Men's Tuxedos) --- */
@media (max-width: 768px) {
    .product-container {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
    }
    
    .product-image-large {
        position: relative !important;
        top: 0 !important;
    }
    
    .product-image-large img {
        width: 100%;
        max-height: 500px;
        object-fit: cover;
    }
    
    .product-title { font-size: 2rem !important; }
    .product-tagline { font-size: 0.95rem !important; }
    .product-price { font-size: 1.5rem !important; }
    
    .product-cta a {
        width: 100%;
        text-align: center;
        display: block;
        margin-bottom: 0.8rem;
    }
}

/* --- COLLECTION LANDING PAGES (Coronation, Icon, etc.) MOBILE --- */
@media (max-width: 768px) {
    .coronation-hero { 
        height: 50vh !important; 
        min-height: 400px !important; 
        margin-top: 60px;
    }
    .coronation-title { font-size: 2rem !important; }
    .coronation-subtitle { font-size: 1rem !important; }
    .coronation-quantity { font-size: 0.85rem; }
    
    .tier-section { padding: 3rem 1rem !important; }
    .tier-title { font-size: 1.8rem !important; }
    .tier-price-range { font-size: 1rem; }
    
    .collections-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }
    
    .collection-card img { height: 280px; }
}

@media (max-width: 480px) {
    .collections-grid {
        grid-template-columns: 1fr !important;
    }
    
    .collection-card img { height: 350px; }
    .coronation-title { font-size: 1.6rem !important; }
}

/* --- FAQ PAGE MOBILE --- */
@media (max-width: 768px) {
    .faq-section { padding: 2rem 1rem; }
    .faq-category { padding: 1.2rem 1rem; border-radius: 12px; }
    .faq-category h2 { font-size: 1.2rem; }
    .faq-item { padding: 0.8rem; }
    .faq-question { font-size: 0.9rem; }
    .faq-answer { font-size: 0.85rem; }
    
    .commissioned-notice { padding: 1.5rem 1.2rem; }
    .commissioned-notice h3 { font-size: 1.2rem; }
    .commissioned-notice p { font-size: 0.85rem; }
    
    .triple-lock { padding: 1.5rem 1rem; }
    .triple-lock h3 { font-size: 1.2rem; }
    .triple-lock-steps { flex-direction: column; gap: 0.5rem; }
    .tl-arrow { transform: rotate(90deg); }
    .tl-step { min-width: auto; }
    
    .parent-section { padding: 1.5rem 1.2rem; }
    .parent-section h2 { font-size: 1.2rem; }
    .parent-section p { font-size: 0.85rem; }
    
    .help-cta { padding: 1.5rem; }
    .help-buttons { flex-direction: column; }
    .help-btn { width: 100%; text-align: center; }
}

/* --- ABOUT PAGE MOBILE --- */
@media (max-width: 768px) {
    .about-hero { padding: 4rem 1.5rem; margin-top: 60px; }
    .about-hero h1 { font-size: 2.5rem; }
    
    .doctrine-section { padding: 3rem 1.5rem; }
    .doctrine-content h2 { font-size: 1.8rem; }
    .doctrine-content p { font-size: 1rem; line-height: 1.8; }
    
    .about-block { padding: 3rem 1.5rem; }
    .about-inner h2 { font-size: 1.8rem; }
    .about-inner p { font-size: 0.95rem; }
    
    .about-collections-grid { grid-template-columns: 1fr !important; gap: 2rem; }
    .about-coll-card p { font-size: 0.9rem; }
    
    .parent-investor { padding: 3rem 1.5rem; }
    .parent-inner h2 { font-size: 1.8rem; }
    .parent-inner p { font-size: 0.92rem; }
    
    .about-cta { padding: 3rem 1.5rem; }
    .about-cta h2 { font-size: 1.8rem; }
    .about-cta-btns { flex-direction: column; align-items: stretch; }
    .about-cta-btn { text-align: center; padding: 1rem 1.5rem; }
}

/* --- SHIPPING & RETURNS MOBILE --- */
@media (max-width: 768px) {
    .policy-section { padding: 2rem 1rem; }
    .policy-container { font-size: 0.92rem; }
    .policy-container h2 { font-size: 1.6rem; margin: 2rem 0 1rem; }
    .policy-container h3 { font-size: 1.1rem; }
    .policy-alert { padding: 1.5rem; border-radius: 10px; }
    .policy-alert h3 { font-size: 1.2rem; }
    .policy-highlight { padding: 1.2rem; }
    
    .policy-container ul {
        padding-left: 1.2rem;
    }
    
    .policy-container li {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }
}

/* --- BLOG PAGES MOBILE --- */
@media (max-width: 768px) {
    .blog-hero { padding: 3rem 1.5rem; min-height: auto; margin-top: 60px; }
    .blog-hero h1 { font-size: 2rem; }
    .blog-content { padding: 2rem 1rem; }
    .blog-content h2 { font-size: 1.5rem; }
    .blog-content h3 { font-size: 1.2rem; }
    .blog-content p { font-size: 0.95rem; }
}

/* --- FOOTER MOBILE --- */
@media (max-width: 768px) {
    .footer { padding: 2rem 1rem; }
    .footer-content { flex-direction: column; gap: 2rem; }
    .footer-links { 
        grid-template-columns: 1fr 1fr !important; 
        gap: 1.5rem; 
    }
    .footer-brand h3 { font-size: 1.2rem; }
    .footer-column h4 { font-size: 0.85rem; }
    .footer-column a { font-size: 0.8rem; }
    .footer-bottom { padding-top: 1.5rem; }
    .footer-bottom p { font-size: 0.78rem; }
    
    /* Payment methods mobile */
    .payment-methods div[style*="display: flex"] {
        gap: 0.5rem !important;
    }
    .payment-methods div[style*="padding: 0.5rem 1rem"] {
        padding: 0.3rem 0.6rem !important;
        font-size: 0.75rem !important;
    }
}

/* --- PAGE HEADER MOBILE (shared across many pages) --- */
@media (max-width: 768px) {
    .page-header { 
        margin-top: 60px !important; 
        padding: 3rem 1.5rem !important; 
    }
    .page-header-content h1 { 
        font-size: 2.2rem !important; 
    }
    .page-header-content p { 
        font-size: 0.95rem; 
    }
}

/* --- SIZE CHART MOBILE --- */
@media (max-width: 768px) {
    .measure-section { padding: 3rem 1rem; }
    .measure-container > h2 { font-size: 2rem; }
    .measure-instructions { grid-template-columns: 1fr !important; }
    
    .chart-section { padding: 3rem 1rem; }
    .chart-section table { font-size: 0.75rem; }
    .chart-section th, .chart-section td { padding: 0.4rem 0.3rem; }
    
    .process-section { padding: 3rem 1rem; }
    .process-grid { grid-template-columns: 1fr 1fr !important; gap: 1rem; }
}

@media (max-width: 480px) {
    .process-grid { grid-template-columns: 1fr !important; }
}

/* --- CONTACT PAGE MOBILE --- */
@media (max-width: 768px) {
    .contact-section { padding: 3rem 1rem; }
    .contact-grid { grid-template-columns: 1fr !important; gap: 2rem; }
    .contact-form input,
    .contact-form textarea,
    .contact-form select {
        font-size: 16px; /* Prevents iOS zoom on input focus */
    }
}

/* --- UNIVERSAL TOUCH TARGETS --- */
@media (max-width: 768px) {
    a, button, .order-btn, .cta-btn, .hiw-btn, .help-btn, .about-cta-btn,
    .lock-in-btn-estate, .product-text-button, .btn-column, .nav-book-fitting,
    .estate-cta-btn, .about-coll-cta, .breakdown-cta {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* --- SAFE AREA (notch phones) --- */
@supports (padding: max(0px)) {
    @media (max-width: 768px) {
        body {
            padding-left: env(safe-area-inset-left);
            padding-right: env(safe-area-inset-right);
        }
        
        .nav {
            padding-top: env(safe-area-inset-top);
        }
    }
}


/* === ROSTER PRODUCT PAGES (v23) === */
.product-grid-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}
.related-grid-layout {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
@media (max-width: 768px) {
    .product-grid-layout { grid-template-columns: 1fr !important; }
    .related-grid-layout { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 480px) {
    .related-grid-layout { grid-template-columns: 1fr !important; }
}
