/** Shopify CDN: Minification failed

Line 1176:28 Expected identifier but found "["
Line 1177:29 Expected identifier but found "["
Line 2130:0 Unexpected "}"

**/
/* Custom Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Poppins:wght@700;900&display=swap');
/* Define custom Tailwind-like variables */
:root {
    --u2me-blue: #007ACF;
    --u2me-yellow: #FFD700;
    --slate-50: #f8fafc;
    --slate-900: #0f172a;
    --yellow-500: #FFD700;
--red-500: #ef4444;
}

/* Base and Utility Classes */
html, body {
    background-color: #FFFFFF !important;
/* SET GLOBAL WHITE BACKGROUND */
}
body {
    font-family: 'Inter', sans-serif;
    color: var(--slate-900);
    scroll-behavior: smooth;
    background-image: none !important;
background-repeat: initial !important;
    background-size: initial !important;
    background-attachment: initial !important;
    background-color: #FFFFFF !important;
/* Enforcing white */
}

body::before {
    /* REMOVING/COMMENTING OUT THIS BLOCK TO PREVENT ANY OVERLAY ISSUES */
    content: '';
position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: transparent !important;
    z-index: -1;
    pointer-events: none;
}

/* Headline Fonts */
.font-serif, h1, h2, h3 { 
    font-family: 'Poppins', sans-serif !important;
    letter-spacing: -0.02em;
}

/* Base Colors */
.bg-u2me-blue { background-color: var(--u2me-blue); }
.text-u2me-blue { color: var(--u2me-blue);
}
/* NEW COLOR UTILITY FOR YELLOW ICONS/FILLS (Safety Warning) */
.text-u2me-yellow { 
    color: var(--u2me-yellow); 
}
.fill-u2me-yellow { 
    fill: var(--u2me-yellow); 
}
/* ------------------------------------------------ */




/* Hero Banner */
.u2me-hero-banner {
    background-image: url('http://u2me.local/wp-content/uploads/2025/11/gyatt.jpg') !important;
    background-size: cover;
    background-position: center 30%;
    padding-top: 128px;
    padding-bottom: 80px;
position: relative;
}

.u2me-hero-banner::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,.2));
    z-index: 10;
}

/* Boxes */
.problem-box, .faq-box, .benefit-box {
    box-shadow: 0 4px 10px rgba(0,0,0,.05);
    transition: .3s;
    min-height: 180px;
    display: flex;
flex-direction: column;
}

.problem-box:hover, .benefit-box:hover, .faq-box:hover {
    box-shadow: 0 10px 20px rgba(0,0,0,.1);
    transform: translateY(-2px);
}

/* Product Images */
.product-image-container { 
    height: 18rem; 
    display: flex; 
    justify-content: center; 
    align-items: center;
background: linear-gradient(to bottom, #f8fafc, #ffffff);
}

.product-image { 
    max-height: 100%; 
    width: auto;
    transition: .3s;
}

.group:hover .product-image { transform: scale(1.05); }

/* FAQ HEART FIX */
.faq-heart {
    color: #007ACF !important;
    stroke: #007ACF !important;
}
summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
summary .faq-heart {
    margin-left: auto !important;
}

/* FAQ animation */
.faq-box-content {
    max-height: 0 !important;
padding-top: 0 !important; 
    padding-bottom: 0 !important;
    overflow: hidden;
    transition: max-height .4s ease-out, padding .4s ease-out;
}

details[open] .faq-box-content {
    max-height: 500px !important;
    padding-top: .5rem !important;
    padding-bottom: 1rem !important;
}

/* --- BUTTON STYLES --- */
/* Update the default state of the sliding-shop-btn class */
.sliding-shop-btn {
    display: inline-flex;
align-items: center;
    justify-content: center;
    padding: .75rem 1.75rem;
    background: var(--u2me-blue); /* CHANGED from --slate-900 to BLUE */
    color: white;
/* Text remains white for contrast */
    border-radius: .75rem;
    font-weight: 700;
    transition: .25s;
}

/* Update the hover state of the sliding-shop-btn class */
.sliding-shop-btn:hover {
    background: var(--yellow-500);
/* Remains Yellow */
    color: var(--slate-900); /* CHANGED from white to Dark Text */
    transform: translateY(-2px);
}
/* SHINE CTA BUTTON (DEFAULT WHITE + BLUE) */
.shine-cta-btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
align-items: center; 
    padding: .9rem 2.5rem;
    border-radius: 9999px;
    cursor: pointer;
    text-transform: uppercase;
    
    background-color: #FFFFFF !important; 
    border: 1px solid var(--u2me-blue) !important;
color: var(--u2me-blue) !important;

    font-weight: 700;
    font-size: 1.2rem;
    transition: .3s;
}

.shine-cta-btn span {
    color: var(--u2me-blue) !important;
}

/* Hover default (yellow) */
.shine-cta-btn:hover {
    background-color: var(--yellow-500) !important;
    border-color: var(--yellow-500) !important;
    transform: translateY(-2px);
}
.shine-cta-btn:hover span {
    color: var(--slate-900) !important;
}

/* --- FINAL CTA SECTION OVERRIDES (BLUE BUTTON) --- */
.final-cta .shine-cta-btn {
    background-color: var(--u2me-blue) !important;
border-color: var(--u2me-blue) !important;
    color: #FFFFFF !important;
}
.final-cta .shine-cta-btn span {
    color: #FFFFFF !important;
}
.final-cta .shine-cta-btn:hover {
    background-color: #005A97 !important;
    border-color: #005A97 !important;
}
.final-cta .shine-cta-btn:hover span {
    color: #FFFFFF !important;
}

/* EMAIL SIGNUP SECTION BACKGROUND */
.email-signup-section {
    background-color: #f8fafc;
/* light slate background */
}

/* SOCIAL ICONS BLUE */
.footer-social-icons .social-icon i {
    color: #007ACF !important;
stroke: #007ACF !important;
    width: 28px;
    height: 28px;
    transition: transform 0.3s ease, color 0.3s;
}

.footer-social-icons .social-icon:hover i {
    transform: scale(1.2);
    color: #005A97 !important;
    stroke: #005A97 !important;
}

/* Email Signup Input */
.email-signup-form input {
    background: white !important;
    border-radius: 12px;
}

/* Make the email subscribe CTA button fully consistent */
.email-signup-form .shine-cta-btn {
    background-color: #007ACF !important;
border-color: #007ACF !important;
    color: white !important;
}

.email-signup-form .shine-cta-btn:hover {
    background-color: #005A97 !important;
border-color: #005A97 !important;
}

/* Force white text for subscribe button */
.email-signup-form .shine-cta-btn span {
    color: white !important;
}

.email-signup-form .shine-cta-btn {
    color: white !important;
}


/* Safety Warning inside email section */
.safety-warning {
    background-color: #FFFBEA;
/* soft warm yellow */
    border-left: 6px solid #FFD700;
/* U2Me yellow highlight */
    border-radius: 12px;
    padding: 20px 24px;
    max-width: 700px;
    margin: 0 auto;
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
/* Base nav link style (Blue text on Yellow header) */
.nav-link {
    color: #005A97;
/* Strong blue */
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    transition: color 0.3s;
}
.nav-link:hover {
    color: #003E6B; /* Darker hover blue */
}

/* Chevron icon styling */
.chevron-icon {
    width: 1rem;
height: 1rem;
    color: #005A97;
    transition: transform 0.2s, color 0.3s;
}
.group:hover .chevron-icon {
    transform: rotate(180deg);
    color: #003E6B;
}

/* DROPDOWN MENU */
.dropdown-menu {
    background-color: white !important;
}
.dropdown-item {
    color: #005A97;
    font-weight: 600;
padding: 12px 16px;
    transition: background 0.3s, color 0.3s;
}
.dropdown-item:hover {
    background-color: #E8F3FF;
/* Soft blue highlight */
    color: #003E6B;
}

/* ICON STYLING */
.icon-blue {
    width: 24px;
height: 24px;
    stroke: #005A97 !important;
    color: #005A97 !important;
    transition: color 0.3s;
}
.icon-link:hover .icon-blue {
    stroke: #003E6B !important;
color: #003E6B !important;
}

/* Background color utilities */
.bg-u2me-yellow {
    background-color: #FFD700 !important;
}

/* Always-Yellow CTA Button (Home section only) */
.home-shop-btn {
    background-color: #FFD700 !important;
/* Yellow */
    border-color: #FFD700 !important;
    color: #0f172a !important;
/* Dark text */
}

.home-shop-btn span {
    color: #0f172a !important;
}

/* Hover stays yellow but slightly darker */
.home-shop-btn:hover,
.home-shop-btn:hover span {
    background-color: #e6c200 !important;
    border-color: #e6c200 !important;
color: #0f172a !important;
}

/* Universal CTA sizing */
.u2me-cta-btn {
    padding: 0.9rem 2.2rem !important;
/* same padding everywhere */
    font-size: 1.15rem !important;
/* consistent text size */
    border-radius: 9999px !important;
/* fully rounded */
}

/* Ensure text inside matches size/smoothing */
.u2me-cta-btn span {
    font-size: 1.15rem !important;
font-weight: 700 !important;
}
/* Blue CTA Button */
.blue-cta-btn {
    background-color: #007ACF !important;
/* U2Me Blue */
    border-color: #007ACF !important;
    color: white !important;
}

.blue-cta-btn span {
    color: white !important;
}

/* Hover */
.blue-cta-btn:hover,
.blue-cta-btn:hover span {
    background-color: #005A97 !important;
/* darker blue */
    border-color: #005A97 !important;
    color: white !important;
}

.shine-cta-btn,
.shine-cta-btn span,
.u2me-cta-btn,
.home-shop-btn,
.blue-cta-btn {
    text-decoration: none !important;
}

/* Gallery Container */
        .gallery-wrapper {
            position: relative;
overflow: hidden;
            padding: 0 60px;
        }
        
        .gallery-track {
            display: flex;
gap: 24px;
            overflow-x: auto;
            scroll-behavior: smooth;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            -ms-overflow-style: none;
            padding: 20px 0;
        }
        
        .gallery-track::-webkit-scrollbar {
            display: none;
        }
        
        .gallery-item {
            flex: 0 0 auto;
scroll-snap-align: center;
            position: relative;
            overflow: hidden;
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
        }
        
        .gallery-item:hover {
            transform: translateY(-8px) scale(1.02);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
        }
        
        .gallery-item img {
            width: 100%;
height: 100%;
            object-fit: cover;
            display: block;
        }
        
        /* Size variations for visual interest */
        .gallery-item.large {
            width: 500px;
height: 400px;
        }
        
        .gallery-item.medium {
            width: 380px;
height: 400px;
        }
        
        .gallery-item.small {
            width: 320px;
height: 400px;
        }
        
        /* Arrow Buttons */
        .gallery-nav-btn {
            position: absolute;
top: 50%;
            transform: translateY(-50%);
            width: 56px;
            height: 56px;
            background: linear-gradient(135deg, #007ACF, #005A97);
            color: white;
            border: none;
            border-radius: 50%;
            display: flex;
align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 10;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(0, 122, 207, 0.4);
        }
        
        .gallery-nav-btn:hover {
            background: linear-gradient(135deg, #005A97, #003E6B);
transform: translateY(-50%) scale(1.1);
            box-shadow: 0 6px 20px rgba(0, 122, 207, 0.6);
        }
        
        .gallery-nav-btn:active {
            transform: translateY(-50%) scale(0.95);
        }
        
        .gallery-nav-btn.prev {
            left: 0;
        }
        
        .gallery-nav-btn.next {
            right: 0;
        }
        
        .gallery-nav-btn svg {
            width: 24px;
height: 24px;
        }
        
        /* Progress Dots */
        .gallery-dots {
            display: flex;
justify-content: center;
            gap: 12px;
            margin-top: 30px;
        }
        
        .gallery-dot {
            width: 12px;
height: 12px;
            border-radius: 50%;
            background: #cbd5e1;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .gallery-dot.active {
            background: #007ACF;
width: 32px;
            border-radius: 6px;
        }
        
        .gallery-dot:hover {
            background: #64748b;
        }
        
        /* Lightbox */
        .lightbox {
            display: none;
position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.95);
            z-index: 1000;
            align-items: center;
justify-content: center;
            padding: 20px;
        }
        
        .lightbox.active {
            display: flex;
        }
        
        .lightbox-content {
            max-width: 90vw;
max-height: 90vh;
            position: relative;
        }
        
        .lightbox-content img {
            max-width: 100%;
max-height: 90vh;
            border-radius: 12px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
        }
        
        .lightbox-close {
            position: absolute;
top: -50px;
            right: 0;
            background: white;
            color: #0f172a;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .lightbox-close:hover {
            background: #FFD700;
transform: rotate(90deg);
        }
        
        /* Mobile Responsive */
        @media (max-width: 768px) {
            .gallery-wrapper {
                padding: 0 20px;
            }
            
            .gallery-item.large,
            .gallery-item.medium,
            .gallery-item.small {
                width: 280px;
height: 350px;
            }
            
            .gallery-nav-btn {
                width: 44px;
height: 44px;
            }
            
            .gallery-nav-btn.prev {
                left: -5px;
            }
            
            .gallery-nav-btn.next {
                right: -5px;
            }
        }

/* ADDED: Fix for dropdown text being cut off in Buddy Pack */
#details-buddy select option {
    font-size: 0.9rem !important;
/* Smaller text size to fit long option labels */
}

/* --- UPDATED SAFETY WARNING STYLES FOR MODERN LOOK --- */

.safety-warning {
    background-color: #FFFBEA; 
    border-left: 6px solid var(--u2me-blue);
    border-radius: 12px;
    padding: 24px 32px;
    /* REMOVED: max-width: 700px; */
    /* REMOVED: margin: 0 auto; */
    box-shadow: 0 8px 25px rgba(0,0,0,0.08); 
    text-align: left;
}





/* Update the transition duration in the main header style for smoothness */
.ast-primary-header {
  position: fixed;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  background-color: #FFD700 !important;
  /* INCREASED DURATION FOR SMOOTH SCROLL */
  transition: height .3s ease, padding .3s ease, transform .3s ease; 
  height: 96px; /* default */
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* The body's padding-top transition is already set to .3s, which is correct. */

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
  .header-sibling-headline { 
      padding-left: 0.75rem; 
      padding-right: 0.75rem;
      padding-top: 5px !important;
      padding-bottom: 5px !important;
  }
  .u2me-accessories-headline { 
      font-size: 1.15rem !important; /* Slight reduction for mobile */
      padding-left: 0.75rem; /* Reduced for mobile viewport */
  }
}

/* --- ADJUSTMENT: Reduce top padding on the Hero Banner --- */
/* Since the headline now sits *above* the hero content, reduce the hero's top padding */
.u2me-hero-banner {
    /* Using the default/original pt-32 (128px) and pt-48 (192px) as base,
       reduce it by the height of the headline section (approx 40px) */
    padding-top: 96px !important; /* pt-24 equivalent */
}

/* Ensure the reduction applies to large screens too */
@media (min-width: 1024px) {
    .u2me-hero-banner {
        padding-top: 152px !important; /* lg:pt-36 equivalent */
    }
}

/* -------------------------
   U2ME: Styles to fix layout
   ------------------------- */

/* Header sibling headline (Accessories) */
.header-sibling-headline {
  max-width: 100%;
  margin: 0 auto;
  background-color: white !important;
  position: sticky;
  top: 0;
  z-index: 49;
  box-shadow: 0 2px 5px rgba(0,0,0,0.04);
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  text-align: left; /* move text to left as requested */
}

/* Accessories headline */
.u2me-accessories-headline {
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 1.6rem !important;
  margin: 0 !important;
  padding-left: 1rem;
  text-decoration: none !important;
}

/* Slightly reduce hero top padding so headline + hero fit nicely */
.u2me-hero-banner {
  background-image: url('http://u2me.local/wp-content/uploads/2025/11/gyatt.jpg') !important;
  background-size: cover;
  background-position: center 30%;
  padding-top: 96px !important; /* reduced */
  padding-bottom: 80px;
  position: relative;
}



/* --- UPDATED SAFETY WARNING STYLES FOR MODERN LOOK --- */

.safety-warning {
    background-color: #FFFBEA; 
    border-left: 6px solid var(--u2me-blue); /* Stronger Blue accent bar */
    border-radius: 12px;
    padding: 24px 32px; /* Increased padding for more space */
    max-width: 700px;
    margin: 0 auto;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08); /* More prominent shadow */
    text-align: left;
}

/* Ensure the main heading icon and text are modern */
.safety-warning h3 {
    font-size: 1.5rem; /* Slightly larger heading */
    font-weight: 700;
    color: var(--slate-900);
    margin-bottom: 0.5rem;
}

/* Styling for the main alert icon */
.safety-warning h3 i {
    width: 28px;
    height: 28px;
    color: var(--u2me-blue);
    fill: var(--u2me-blue);
}

/* Base text for the introduction paragraph */
.safety-warning > p {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--slate-700);
    margin-bottom: 1.5rem;
}

/* Styling for the individual bullet points (now use flexbox for clean alignment) */
.safety-warning .flex.items-start p {
    font-size: 1rem !important; /* Standard font size */
    line-height: 1.5;
    color: var(--slate-800);
}

/* Make the icons slightly larger and keep them blue */
.safety-warning .flex.items-start i {
    width: 22px; 
    height: 22px;
    color: var(--u2me-blue);
    fill: var(--u2me-blue);
    margin-top: 2px; /* Slight adjustment for visual centering with text */
}

/* Emphasize the bold keywords with a distinct color */
.safety-warning .flex.items-start strong {
    font-weight: 700;
    color: var(--u2me-blue); /* Use the blue accent color */
}

/* Size guide: ensure the two cards are equal height */
.size-guide-compact .grid > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.size-guide-compact .grid > div > .bg-white,
.size-guide-compact .grid > div > .rounded-xl {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Ensure the image doesn't force different heights */
.size-guide-compact img {
  max-height: 320px;
  width: 100%;
  object-fit: contain;
  border: 1px solid #e5e7eb;
}

/* Buddy pack select fixes — avoid cut off when selected and better appearance */
.u2me-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  padding-right: 44px; /* space for native dropdown caret */
  line-height: 1.35;
  height: auto;
  min-height: 46px;
  box-sizing: border-box;
  color: #0f172a;
}

/* optionally add a native caret using CSS (non-intrusive) */
.u2me-select::after {
  content: '';
  display: inline-block;
}

/* Smaller option font (fallback) */
#details-buddy select option {
  font-size: 0.95rem !important;
}

/* Make sure selects don't get visually clipped in some browsers */
#details-buddy select {
  overflow: visible;
}

/* Buddy Pack Button Hover Fix */
#details-buddy button:hover {
    background: #E9E216 !important;
    color: #0f172a !important;
    transform: translateY(-2px) !important;
}
/* Header sizes & scroll behaviour */
.ast-primary-header {
  position: fixed;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  background-color: #FFD700 !important;
  transition: height .25s ease, padding .25s ease, transform .25s ease;
  height: 96px; /* default */
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.ast-primary-header.scrolled {
  height: 72px; /* smaller on scroll */
}

/* page offset to keep content visible under fixed header */
html {
  scroll-padding-top: 80px;
}

/* small responsive tuning */
@media (max-width: 768px) {
  .header-sibling-headline { padding-left: 0.75rem; padding-right: 0.75rem; }
  .u2me-accessories-headline { font-size: 1.25rem !important; padding-left: 0.5rem; }
  .u2me-hero-banner { padding-top: 120px !important; }
  .home-cta-row { gap: 10px; }
}

/* Make WooCommerce product images fill the entire left side */
.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* keeps the wristband shape correct */
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Expand the gallery image container */
.single-product .woocommerce-product-gallery {
    max-width: 100% !important;
    width: 100% !important;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image {
    width: 100% !important;
    height: 100% !important;
}

/* Remove the white box / border / shadow */
.single-product .woocommerce-product-gallery__image {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Make product page image fill full left panel */
.product-image-area img,
.left-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Make sure the wrapper allows the image to fill it */
.product-image-area,
.left-product-image {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Buddy Pack Image Full Fill */
#details-buddy img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
    border: none !important;
}

/* Ensure Buddy Pack wrapper doesn't restrict height */
#details-buddy > div:first-child {
    height: auto !important;
}

/* Fix select cutoff issue */
#details-buddy select {
    height: auto !important;
    padding: 12px !important;
    background: #fff !important;
    overflow: visible !important;
    appearance: none;
}

/* Buddy Pack Image Size Fix - Match Form Height */
#details-buddy img {
    width: 100% !important;
    height: 100% !important;
    min-height: 600px !important;
    max-height: 700px !important;
    object-fit: contain !important;
}

/* Ensure the image container fills available space */
#details-buddy > div > div:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 600px !important;
}

/* Footer Background and Text Color Change */

footer.bg-slate-900 {
    /* Change the background to the U2Me Yellow */
   /* Reduce padding from original (likely 48px) to 24px top/bottom */
    padding-top: 24px !important; 
    padding-bottom: 24px !important; 
    
    background-color: var(--u2me-yellow) !important; 
    color: var(--slate-900) !important;
}
/* Ensure all other grey text (like the copyright) becomes dark too */
.text-slate-500, .text-slate-400 {
    color: var(--slate-700) !important; /* using a dark-but-not-black tone */
}

/* Footer Heading Color (U2Me Blue) */
footer .text-u2me-yellow {
    color: var(--u2me-blue) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Footer Links Default Color (Dark Slate) */
footer .text-slate-300 {
    color: var(--slate-900) !important; /* Dark text on yellow background */
}

/* Footer Links Hover Color (U2Me Blue) */
footer .text-slate-300:hover {
    color: var(--u2me-blue) !important;
}

/* Social icons already use U2Me Blue (good contrast on yellow) */
.footer-social-icons .social-icon i {
    color: #007ACF !important; /* U2Me Blue */
    stroke: #007ACF !important;
}
.footer-social-icons .social-icon:hover i {
    color: #005A97 !important; /* Darker Blue */
    stroke: #005A97 !important;
}


/* Update the logo size inside the footer */
footer .u2me-logo-sm {
    height: 100px !important;
/* Increased to 100px for greater visibility */
    width: auto;
/* Maintain aspect ratio */
}



/* Ensure the badge text uses the dark slate color when viewed on the yellow background */
footer .text-slate-500, footer .text-slate-400 {
    /* Keep the dark text color applied in the previous step */
    color: var(--slate-700) !important;
}
/* Safety warning wrapper to contain the padding */
.safety-warning-wrapper {
    /* Ensures the background of the wrapper is still the light slate */
    background-color: #f8fafc; 
}

/* Redefining the styling for the box itself */
.safety-warning {
    /* Removed max-width/margin-auto from the styling class and applied it directly in the HTML above (max-w-7xl mx-auto) */
    
    background-color: #FFFBEA; 
    border-left: 6px solid var(--u2me-blue);
    border-radius: 12px;
    padding: 24px 32px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08); 
    text-align: left;
    
    /* Ensure no residual styles restrict width */
    max-width: none !important;
    margin: 0 auto; 
}

/* Ensure the outer email section uses full width and keeps text centered only for the form */
.email-signup-section {
    background-color: #f8fafc;
    /* Removed text-center from the main section to prevent the safety block from centering */
    text-align: left; 
}

/* Override for FAQ Button: Primary Blue Background + White Text on Hover */
#faq-section .blue-cta-btn:hover {
    background-color: var(--u2me-blue) !important; /* U2Me Blue */
    border-color: var(--u2me-blue) !important;
    transform: translateY(-2px);
}

#faq-section .blue-cta-btn:hover span {
    color: white !important;
}

/* Force Buddy Pack to maintain side-by-side layout */
#details-buddy .grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    align-items: center !important;
}

/* Ensure it only stacks on mobile */
@media (max-width: 767px) {
    #details-buddy .grid {
        grid-template-columns: 1fr !important;
    }
}

/* Make sure the image container doesn't collapse */
#details-buddy .grid > div:first-child {
    width: 100% !important;
    height: 100% !important;
    min-height: 400px !important;
}

/* Styling for BEST VALUE and POPULAR Badges */
.badge-popular,
.badge-best-value {
    /* Base style: Small, bold text */
    text-transform: uppercase;
    font-size: 0.75rem; /* text-xs */
    font-weight: 700; /* font-bold */
    padding: 0.375rem 0.75rem; /* px-3 py-1.5 */
    border-radius: 9999px; /* rounded-full */
    
    /* Primary Look: Blue background, White text */
    background-color: var(--u2me-blue) !important;
    color: white !important;
    
    /* Optional: Subtle 3D effect / lift */
    box-shadow: 0 2px 8px rgba(0, 122, 207, 0.4);
    
    /* Ensure alignment with the large product title */
    align-self: center; 
    margin-left: 0.5rem;
    white-space: nowrap;
}

.final-cta,
footer {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* --- FIX: Buddy Pack BEST VALUE Badge Style --- */
.badge-best-value-buddy {
    /* Identical to existing badges, but sets up for the clip-path */
    display: inline-flex;
    align-self: center;
    text-transform: uppercase;
    font-size: 0.75rem; /* text-xs */
    font-weight: 700; /* font-bold */
    padding: 0.375rem 0.75rem; /* px-3 py-1.5 */
    border-radius: 9999px 0 0 9999px; /* Rounded on the left only */
    background-color: var(--u2me-blue) !important;
    color: white !important;
    box-shadow: 0 2px 8px rgba(0, 122, 207, 0.4);
    margin-left: 0.5rem;
    white-space: nowrap;
    position: relative;
    /* Create the trapezoid clip-path for the arrow look */
    clip-path: polygon(0 0, 100% 0, 85% 50%, 100% 100%, 0 100%);
    /* Adjust padding to account for the clipped section */
    padding-right: 1.5rem; 
}

/* --- UPDATED CSS: Product Image Sizing --- */

/* Fix for single product image height inside the card */
#details-small .grid img,
#details-medium .grid img {
    /* Increase max-height to make images fill more space */
    max-height: 400px !important; /* Increased from 320px */
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* Ensures the image doesn't get distorted */
}

/* Ensure the single wristband image containers are tall enough */
#details-small .grid > div:first-child,
#details-medium .grid > div:first-child {
    min-height: 400px; /* Forces the container to match the new image height */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Buddy Pack Image (already uses inline styles, but let's override/re-confirm here) */
#details-buddy img {
    width: 100% !important;
    height: auto !important;
    max-height: 500px !important; /* Made explicit and large */
    object-fit: contain !important;
    background: transparent !important;
    border: none !important;
}

/* Ensure Buddy Pack wrapper doesn't restrict height, allowing the image to grow */
#details-buddy .grid > div:first-child {
    /* Keep existing styles */
    width: 100% !important; [cite_start]/* [cite: 222] */
    height: 100% !important; [cite_start]/* [cite: 222] */
    /* Ensure a large minimum height to support the larger image */
    min-height: 500px !important; /* Increased from 400px */
}

/* --- NEW CSS: Custom class for headings that require mixed-case letters --- */
/* This is used specifically for "U2me" to avoid forcing the 'e' to uppercase */
.title-mixed-case {
    text-transform: none !important; /* Disables the default uppercase force */
}

/* --- NEW CSS: Universal Filled Heart Icon --- */
/* Target any lucide heart icon to fill it with the U2Me Blue */
[data-lucide="heart"] {
    stroke: var(--u2me-blue) !important; 
    fill: var(--u2me-blue) !important; /* Forces the heart to be filled */
    transition: all 0.3s ease; /* Ensure a smooth visual change on hover if needed */
}

/* Ensure the Safety Warning hearts are covered by the new universal rule */
.safety-warning .flex.items-start i {
    width: 22px;
    height: 22px;
    color: var(--u2me-blue); /* Sets stroke color */
    fill: var(--u2me-blue); /* Ensures it is filled */
    margin-top: 2px;
}



/* Style for all other sections (bottom right corner) */
.u2me-18-section-badge-fixed {
    position: absolute;
    right: 20px; 
    bottom: 20px; 
    z-index: 50;
    user-select: none;
    pointer-events: auto;
}

/* Ensure parent containers are relatively positioned */
#problem, #story, #why-choose-u2me, #shop, #gallery-section, #faq-section, .final-cta, .email-signup-section {
    position: relative;
    overflow: hidden; 
}

/* Removed old complex CSS for u2me-18-inside-home and u2me-18-section-badge */


/* Updated Yellow Color Variable */
:root {
    --u2me-blue: #007ACF;
    --u2me-yellow: #E9E216; /* NEW YELLOW */
    --slate-50: #f8fafc;
    --slate-900: #0f172a;
    --yellow-500: #E9E216; /* NEW YELLOW */
    --red-500: #ef4444;
}

/* Header Background */
.ast-primary-header {
  background-color: #E9E216 !important;
}

.bg-u2me-yellow {
    background-color: #E9E216 !important;
}

/* Footer Background */
footer.bg-slate-900 {
    background-color: #E9E216 !important;
}

/* Yellow CTA Buttons (Home section) */
.home-shop-btn {
    background-color: #E9E216 !important;
    border-color: #E9E216 !important;
}

.home-shop-btn:hover {
    background-color: #d4cd14 !important; /* Slightly darker for hover */
    border-color: #d4cd14 !important;
}

/* Shine CTA Button Hover (becomes yellow) */
.shine-cta-btn:hover {
    background-color: #E9E216 !important;
    border-color: #E9E216 !important;
}

/* Final CTA Section Background */
.final-cta {
    background-color: #E9E216 !important;
}

/* Yellow gradient text in hero */
.bg-gradient-to-r.from-yellow-300.to-orange-300 {
    background-image: linear-gradient(to right, #E9E216, #d4cd14) !important;
}



/* Special positioning for home section - align with buttons */
.home-cta-row {
    position: relative;
}

.home-cta-row .u2me-18-badge {
    position: absolute;
    right: 0;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
}

/* Ensure parent containers are positioned relatively */
#home,
#problem,
#story,
#why-choose-u2me,
#shop,
#gallery-section,
#faq-section,
.final-cta,
.email-signup-section {
    position: relative;
    overflow: visible;
}

/* Mobile adjustments */
@media (max-width: 640px) {
    .home-cta-row .u2me-18-badge {
        position: static;
        transform: none;
        margin-top: 1rem;
        display: inline-block;
    }
}

/* --- NEW CSS: Styling for the 'The New Way to Meet' Button/Tag --- */
.sliding-meet-wristband {
    /* Layout and Spacing */
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important; /* Spacing between icon and text */
    padding: 8px 16px !important;
    border-radius: 9999px !important; /* Pill shape */
    cursor: default; /* Use cursor: pointer; if it should be clickable */
    
    /* Colors and Typography */
    background-color: var(--u2me-yellow) !important; /* Yellow background */
    color: var(--slate-900) !important; /* Dark text */
    border: 2px solid var(--u2me-yellow) !important; /* Solid border matching background */

    /* Ensure children inherit text color (for the span) */
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Subtle shadow for depth */
}

.sliding-meet-wristband span {
    color: var(--slate-900) !important;
    font-weight: 700 !important; /* Ensure text is bold */
    font-size: 0.875rem !important; /* text-sm equivalent */
    letter-spacing: 0.05em !important; /* Add slight tracking */
}

/* Icon Styling (Heart) */
.sliding-meet-wristband i {
    color: var(--slate-900) !important; /* Dark color for the heart outline */
    fill: none !important; /* Do not fill the heart */
    stroke-width: 2 !important;
    flex-shrink: 0;
}

/* Hover Effect (Optional - makes it look clickable) */
.sliding-meet-wristband:hover {
    background-color: #d4cd14 !important; /* Slightly darker yellow */
    border-color: #d4cd14 !important;
    transform: translateY(-1px); /* Subtle lift */
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

/* =====================================================
   U2ME – MOBILE SAFETY PATCH (NON-DESTRUCTIVE)
   Keeps desktop identical, stabilizes mobile
   ===================================================== */

/* 1. GLOBAL MOBILE TYPOGRAPHY (desktop untouched) */
@media (max-width: 768px) {
  h1 { font-size: clamp(2rem, 7vw, 3rem); }
  h2 { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  h3 { font-size: clamp(1.3rem, 5vw, 2rem); }
  p  { font-size: 1rem; line-height: 1.6; }
}

/* 2. HERO: prevent excessive top padding on phones */
@media (max-width: 768px) {
  .u2me-hero-banner {
    padding-top: 120px !important;
    padding-bottom: 64px !important;
  }
}



/* 4. Buddy Pack: force safe stacking on mobile only */
@media (max-width: 767px) {
  #details-buddy .grid {
    grid-template-columns: 1fr !important;
  }

  #details-buddy img {
    min-height: auto !important;
    max-height: 420px !important;
  }

  #details-buddy .grid > div:first-child {
    min-height: auto !important;
  }
}

/* 5. Gallery: mobile-friendly sizes without breaking desktop */
@media (max-width: 768px) {
  .gallery-item.large,
  .gallery-item.medium,
  .gallery-item.small {
    width: 85vw !important;
    height: 300px !important;
  }

  .gallery-nav-btn {
    display: none;
  }
}

/* 6. Header offset safety (fixed Astra header) */
@media (max-width: 768px) {
  html {
    scroll-padding-top: 96px;
  }
}

/* 7. Footer: prevent grid collapse on phones */
@media (max-width: 768px) {
  footer .grid {
    row-gap: 1.75rem;
  }
}

/* ========================================
   SCROLL TO TOP BUTTON - MODERN STYLING
   ======================================== */

/* Base Button Styling */
#ast-scroll-top,
.scroll-to-top-button { 
    /* Size & Shape */
    width: 56px !important; 
    height: 56px !important;
    border-radius: 50% !important;
    
    /* Layout */
    display: flex !important; 
    justify-content: center !important; 
    align-items: center !important;
    
    /* Positioning */
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    z-index: 999 !important;
    
    /* Background - Beautiful Blue Gradient */
    background: linear-gradient(135deg, #007ACF 0%, #005A97 100%) !important;
    
    /* Border */
    border: 2px solid rgba(255, 255, 255, 0.2) !important;
    
    /* Shadow - Prominent Blue Glow */
    box-shadow: 
        0 4px 15px rgba(0, 122, 207, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.1) !important;
    
    /* Smooth Transitions */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    
    /* Cursor */
    cursor: pointer !important;
    
    /* Remove default styles */
    outline: none !important;
}

/* Icon Styling */
#ast-scroll-top svg,
#ast-scroll-top i,
#ast-scroll-top .icon,
.scroll-to-top-button svg,
.scroll-to-top-button i {
    width: 28px !important;
    height: 28px !important;
    color: white !important;
    stroke: white !important;
    fill: none !important;
    stroke-width: 2.5 !important;
    transition: transform 0.3s ease !important;
}

/* Hover Effect */
#ast-scroll-top:hover,
.scroll-to-top-button:hover { 
    /* Darker Gradient on Hover */
    background: linear-gradient(135deg, #005A97 0%, #003E6B 100%) !important;
    
    /* Lift Effect */
    transform: translateY(-6px) !important;
    
    /* Enhanced Shadow */
    box-shadow: 
        0 8px 25px rgba(0, 122, 207, 0.6),
        0 4px 12px rgba(0, 0, 0, 0.15) !important;
    
    /* Brighter Border */
    border-color: rgba(255, 255, 255, 0.4) !important;
}

/* Icon Bounce on Hover */
#ast-scroll-top:hover svg,
#ast-scroll-top:hover i,
.scroll-to-top-button:hover svg,
.scroll-to-top-button:hover i {
    transform: translateY(-3px) !important;
}

/* Active/Click Effect */
#ast-scroll-top:active,
.scroll-to-top-button:active {
    transform: translateY(-2px) scale(0.95) !important;
    box-shadow: 
        0 4px 15px rgba(0, 122, 207, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Pulse Animation on Appear */
@keyframes scrollButtonPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 15px rgba(0, 122, 207, 0.4);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 6px 20px rgba(0, 122, 207, 0.6);
    }
}

#ast-scroll-top.show,
.scroll-to-top-button.show {
    animation: scrollButtonPulse 2s ease-in-out infinite !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    #ast-scroll-top,
    .scroll-to-top-button {
        width: 48px !important;
        height: 48px !important;
        bottom: 20px !important;
        right: 20px !important;
    }
    
    #ast-scroll-top svg,
    #ast-scroll-top i,
    .scroll-to-top-button svg,
    .scroll-to-top-button i {
        width: 24px !important;
        height: 24px !important;
    }
}

/* Accessibility - Focus State */
#ast-scroll-top:focus,
.scroll-to-top-button:focus {
    outline: 3px solid rgba(0, 122, 207, 0.5) !important;
    outline-offset: 3px !important;
}

/* Hide when at top of page */
#ast-scroll-top.hidden,
.scroll-to-top-button.hidden {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(20px) !important;
}

/* =====================================================
   U2ME - MOBILE OPTIMIZATION (NON-DESTRUCTIVE)
   Preserves desktop, enhances mobile experience
   ===================================================== */

/* 1. PREVENT HORIZONTAL SCROLL */
@media (max-width: 768px) {
  body, html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  /* Prevent any element from causing horizontal scroll */
  * {
    max-width: 100%;
  }
}

/* 2. HEADER - MOBILE OPTIMIZATION */
@media (max-width: 768px) {
  .ast-primary-header {
    height: 80px !important;
    padding: 0.5rem !important;
  }
  
  .ast-primary-header nav {
    padding: 0.75rem 1rem !important;
  }
  
  .u2me-logo-sm {
    height: 56px !important;
  }
  
  /* Mobile menu button visibility */
  .ast-primary-header button[class*="menu"],
  .ast-primary-header .md\:hidden {
    display: block !important;
    z-index: 100;
  }
  
  /* Hide desktop nav on mobile */
  .ast-primary-header .hidden.md\:flex {
    display: none !important;
  }
  
  /* Mobile Navigation Dropdown Menu */
  .mobile-nav-menu {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    background-color: #E9E216;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 999;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    padding: 1rem 0;
  }
  
  .mobile-nav-menu.active {
    display: block !important;
  }
  
  .mobile-nav-menu a {
    display: block;
    padding: 1rem 1.5rem;
    color: #005A97;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(0, 90, 151, 0.1);
  }
  
  .mobile-nav-menu a:hover,
  .mobile-nav-menu a:active {
    background-color: rgba(0, 90, 151, 0.1);
    color: #003E6B;
  }
  
  /* Mobile dropdown submenu */
  .mobile-nav-submenu {
    background-color: rgba(255, 255, 255, 0.5);
    padding-left: 1rem;
  }
  
  .mobile-nav-submenu a {
    font-size: 0.9rem;
    padding: 0.75rem 1.5rem;
  }
}

/* 3. HERO SECTION - MOBILE */
@media (max-width: 768px) {
  .u2me-hero-banner {
    padding-top: 100px !important;
    padding-bottom: 48px !important;
    background-position: center center !important;
  }
  
  .u2me-hero-banner h1 {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
  }
  
  .u2me-hero-banner p {
    font-size: 1.125rem !important;
    line-height: 1.5 !important;
  }
  
  /* Stack CTA buttons vertically on mobile */
  .home-cta-row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  
  /* FIX: Make buttons normal width (not full width) */
  .home-cta-row > div,
  .home-cta-row .flex-shrink-0 {
    width: auto !important;
    display: block !important;
  }
  
  .home-cta-row .u2me-cta-btn {
    width: auto !important;
    max-width: none !important;
    min-width: 200px !important;
    padding: 0.9rem 2rem !important;
    display: inline-flex !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
  

}

/* 4. SECTION SPACING - MOBILE */
@media (max-width: 768px) {
  /* Shop section specific */
  #shop {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    overflow: visible !important;
  }
  
  /* All other sections */
  #problem,
  #story,
  #why-choose-u2me,
  #gallery-section,
  #faq-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  
  .py-24 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  
  .py-20 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  
  /* Product cards spacing */
  .product-details {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
    padding: 1.5rem !important;
  }
  
  /* Size guide spacing */
  .size-guide-compact {
    margin-bottom: 2rem !important;
    padding: 1.5rem !important;
  }
}

/* 5. TYPOGRAPHY - MOBILE SCALING */
@media (max-width: 768px) {
  .text-4xl {
    font-size: 1.875rem !important;
  }
  
  .text-3xl {
    font-size: 1.5rem !important;
  }
  
  .text-2xl {
    font-size: 1.25rem !important;
  }
  
  .text-xl {
    font-size: 1.125rem !important;
  }
}

/* 6. PRODUCT CARDS - MOBILE STACK */
@media (max-width: 768px) {
  /* Force single column layout */
  .product-details .grid,
  #details-small .grid,
  #details-medium .grid,
  #details-large .grid,
  #details-buddy .grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  /* Product images - reasonable mobile size */
  .product-details img,
  #details-small img,
  #details-medium img,
  #details-large img {
    max-height: 280px !important;
    width: 100% !important;
    object-fit: contain !important;
  }
  
  /* Image containers */
  .product-details .grid > div:first-child,
  #details-small .grid > div:first-child,
  #details-medium .grid > div:first-child,
  #details-large .grid > div:first-child {
    min-height: 280px !important;
    max-height: 300px !important;
    width: 100% !important;
  }
  
  /* Product info containers */
  .product-details > div,
  #details-small > div,
  #details-medium > div,
  #details-large > div {
    padding: 1rem !important;
  }
  
  /* Product titles */
  .product-details h2 {
    font-size: 1.75rem !important;
  }
  
  /* Product descriptions */
  .product-details p {
    font-size: 1rem !important;
  }
  
  /* Feature lists */
  .product-details .space-y-3 {
    margin-bottom: 1.5rem !important;
  }
  
  /* Price boxes - FIX OVERLAPPING */
  .product-details .bg-white,
  .product-details .rounded-xl.p-6 {
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    box-sizing: border-box !important;
  }
  
  /* Price container - prevent overlap */
  .product-details .flex.items-center.gap-4 {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    margin-bottom: 1rem !important;
  }
  
  /* Prices - reduce size on mobile */
  .product-details .text-4xl,
  .product-details [class*="text-4xl"] {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
  }
  
  /* Line-through price */
  .product-details .line-through {
    font-size: 1.25rem !important;
  }
  
  /* Current price */
  .product-details .font-extrabold.text-slate-900 {
    font-size: 1.75rem !important;
  }
  
  /* Add to cart buttons */
  .product-details button,
  .sliding-shop-btn {
    width: 100% !important;
    padding: 0.875rem 1.5rem !important;
    font-size: 1rem !important;
  }
}

/* 7. BUDDY PACK - MOBILE FIX */
@media (max-width: 767px) {
  #details-buddy .grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  #details-buddy img {
    min-height: auto !important;
    max-height: 350px !important;
  }
  
  #details-buddy .grid > div:first-child {
    min-height: auto !important;
  }
  
  /* Ensure decorative text doesn't overflow */
  #details-buddy .text-3xl {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
}

/* BUDDY PACK - DESKTOP FIX */
@media (min-width: 768px) {
  /* Force side-by-side equal columns */
  #details-buddy > .grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    align-items: start !important;
  }
  
  /* Left column - Image container */
  #details-buddy > .grid > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
  }
  
  /* Image styling - remove black borders */
  #details-buddy img {
    width: 100% !important;
    height: auto !important;
    max-height: 500px !important;
    object-fit: contain !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }
  
  /* Right column - Form container */
  #details-buddy > .grid > div:last-child {
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Ensure both columns are equal height */
  #details-buddy > .grid > div {
    min-height: 100% !important;
  }
}

/* 8. SIZE GUIDE - MOBILE */
@media (max-width: 768px) {
  .size-guide-compact {
    padding: 1rem !important;
    margin: 0 0 2rem 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .size-guide-compact .grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  .size-guide-compact .bg-white,
  .size-guide-compact .rounded-2xl {
    padding: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .size-guide-compact h3,
  .size-guide-compact h4 {
    font-size: 1.25rem !important;
    word-wrap: break-word !important;
  }
  
  .size-guide-compact p {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
  }
  
  .size-guide-compact table {
    font-size: 0.875rem !important;
    width: 100% !important;
    display: table !important;
  }
  
  .size-guide-compact th,
  .size-guide-compact td {
    padding: 0.5rem 0.25rem !important;
    font-size: 0.875rem !important;
  }
  
  .size-guide-compact img {
    max-height: 250px !important;
    width: 100% !important;
    object-fit: contain !important;
  }
}

/* 9. GALLERY - MOBILE OPTIMIZATION */
@media (max-width: 768px) {
  .gallery-wrapper {
    padding: 0 50px !important; /* Increased padding to accommodate arrows */
    position: relative !important;
  }
  
  .gallery-item.large,
  .gallery-item.medium,
  .gallery-item.small {
    width: 280px !important;
    height: 320px !important;
  }
  
  /* Make images fill the container completely */
  .gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Changed from contain to cover for full fill */
    object-position: center !important;
  }
  
  /* Ensure arrows are visible and properly positioned */
  .gallery-nav-btn {
    display: flex !important; /* Force display on mobile */
    width: 44px !important;
    height: 44px !important;
    z-index: 20 !important;
    background: linear-gradient(135deg, #007ACF, #005A97) !important;
  }
  
  .gallery-nav-btn.prev {
    left: 5px !important; /* Adjusted for better visibility */
  }
  
  .gallery-nav-btn.next {
    right: 5px !important; /* Adjusted for better visibility */
  }
  
  .gallery-nav-btn svg {
    width: 22px !important;
    height: 22px !important;
  }
}

/* 10. FAQ SECTION - MOBILE */
@media (max-width: 768px) {
  #faq-section .grid {
    grid-template-columns: 1fr !important;
  }
  
  #faq-section .lg\:col-span-2 {
    display: none !important; /* Hide image on mobile for better UX */
  }
  
  details summary {
    font-size: 1rem !important;
    padding: 1rem !important;
  }
  
  .faq-box-content {
    font-size: 0.95rem !important;
    padding: 0.75rem 1rem !important;
  }
}

/* 11. WHY CHOOSE U2ME CARDS - MOBILE */
@media (max-width: 768px) {
  #why-choose-u2me .grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  #why-choose-u2me .h-96 {
    height: 300px !important;
  }
}

/* 12. FOOTER - MOBILE OPTIMIZATION */
@media (max-width: 768px) {
  footer .grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  
  footer .col-span-2,
  footer .lg\:col-span-2 {
    grid-column: 1 !important;
  }
  
  footer h4 {
    font-size: 1.25rem !important;
  }
  
  footer ul li a {
    font-size: 0.95rem !important;
  }
}

/* 13. SAFETY WARNING - MOBILE */
@media (max-width: 768px) {
  .safety-warning {
    padding: 1.5rem !important;
  }
  
  .safety-warning h2 {
    font-size: 2rem !important;
  }
  
  .safety-warning p {
    font-size: 1rem !important;
  }
  
  .safety-warning .flex.items-start {
    gap: 0.75rem !important;
  }
}
/* 14. EMAIL SIGNUP - MOBILE */
@media (max-width: 768px) {
  .email-signup-form {
    flex-direction: column !important;
    gap: 1rem !important;
  }
  
  .email-signup-form input {
    width: 100% !important;
  }
  
  .email-signup-form button {
    width: 100% !important;
  }
}

  /* Special handling for section badges */
  #problem .u2me-18-badge,
  #story .u2me-18-badge,
  #why-choose-u2me .u2me-18-badge,
  #shop .u2me-18-badge,
  #gallery-section .u2me-18-badge,
  #faq-section .u2me-18-badge {
    margin-top: 2rem !important;
  }
}

/* 16. BUTTONS - MOBILE SIZING */
@media (max-width: 768px) {
  .u2me-cta-btn,
  .shine-cta-btn,
  .sliding-shop-btn {
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
  }
  
  .u2me-cta-btn span,
  .shine-cta-btn span {
    font-size: 1rem !important;
  }
}

/* 17. PROBLEM SECTION - MOBILE GRID */
@media (max-width: 768px) {
  #problem .grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  .problem-box {
    min-height: auto !important;
    padding: 1.5rem !important;
  }
}

/* 18. STORY SECTION - MOBILE */
@media (max-width: 768px) {
  #story .grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  
  #story img {
    max-width: 100% !important;
    margin: 0 auto !important;
  }
}

/* 19. PREVENT TEXT OVERFLOW */
@media (max-width: 768px) {
  h1, h2, h3, h4, h5, h6, p, span, div {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
}

/* 20. TOUCH OPTIMIZATION */
@media (max-width: 768px) {
  /* Larger touch targets */
  a, button, .clickable {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  
  /* Remove hover effects on touch devices */
  @media (hover: none) {
    .problem-box:hover,
    .benefit-box:hover,
    .faq-box:hover {
      transform: none !important;
      box-shadow: 0 4px 10px rgba(0,0,0,.05) !important;
    }
  }
}

/* 21. SCROLL TO TOP BUTTON - MOBILE */
@media (max-width: 768px) {
  #ast-scroll-top,
  .scroll-to-top-button {
    width: 48px !important;
    height: 48px !important;
    bottom: 20px !important;
    right: 20px !important;
  }
  
  #ast-scroll-top svg,
  #ast-scroll-top i {
    width: 22px !important;
    height: 22px !important;
  }
}

/* 22. FINAL CTA SECTION - MOBILE */
@media (max-width: 768px) {
  .final-cta {
    padding: 2rem 1rem !important;
  }
  
  .final-cta h2 {
    font-size: 1.75rem !important;
  }
  
  .final-cta p {
    font-size: 1.125rem !important;
  }
}

/* 23. FULL WIDTH SECTIONS - MOBILE FIX */
@media (max-width: 768px) {
  .final-cta,
  footer {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* 23B. FIX SUB-HEADER APPEARANCE */
/* This removes/hides the "Accessories" sub-header if unwanted */
@media (max-width: 768px) {
  .header-sibling-headline {
    display: none !important; /* Hides on mobile */
  }
}

/* Or if you want to keep it but style it better: */
/*
@media (max-width: 768px) {
  .header-sibling-headline {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    background-color: var(--u2me-blue) !important;
  }
  
  .u2me-accessories-headline {
    color: white !important;
    font-size: 1rem !important;
    text-align: center !important;
    padding-left: 0 !important;
  }
}
*/

/* 24. PADDING ADJUSTMENTS */
@media (max-width: 768px) {
  .px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  .px-6 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  .px-8 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

/* 25. IMAGE CONTAINERS - MOBILE */
@media (max-width: 768px) {
  .product-details img,
  #details-small img,
  #details-medium img,
  #details-large img {
    max-height: 280px !important;
  }
}

/* 26. ACCESSIBILITY - MOBILE */
@media (max-width: 768px) {
  /* Ensure sufficient contrast on mobile */
  .text-white\/90 {
    color: rgba(255, 255, 255, 0.95) !important;
  }
  
  /* Larger font for readability */
  body {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* 27. LANDSCAPE MODE - MOBILE */
@media (max-width: 768px) and (orientation: landscape) {
  .u2me-hero-banner {
    padding-top: 80px !important;
    padding-bottom: 40px !important;
  }
  
  .u2me-hero-banner h1 {
    font-size: 2rem !important;
  }
}

/* 28. SMALL MOBILE (iPhone SE, etc) */
@media (max-width: 375px) {
  .u2me-hero-banner h1 {
    font-size: 2rem !important;
  }
  
  .u2me-cta-btn,
  .shine-cta-btn {
    padding: 0.65rem 1.25rem !important;
    font-size: 0.95rem !important;
  }
  
  .gallery-item.large,
  .gallery-item.medium,
  .gallery-item.small {
    width: 260px !important;
    height: 300px !important;
  }
}

/* 29. PERFORMANCE - REDUCE ANIMATIONS ON MOBILE */
@media (max-width: 768px) {
  @media (prefers-reduced-motion: reduce) {
    * {
      animation: none !important;
      transition: none !important;
    }
  }
}

/* 30. ENSURE NO ELEMENT EXCEEDS VIEWPORT */
@media (max-width: 768px) {
  img, video, iframe, svg {
    max-width: 100% !important;
    height: auto !important;
  }
  
  table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* 31. BUDDY PACK - REMOVE BLACK BORDERS & PERFECT ALIGNMENT */
#details-buddy img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}



/* Ensure decorative text is properly positioned above image */
#details-buddy .space-y-6 {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

/* Perfect alignment for desktop */
@media (min-width: 768px) {
  #details-buddy .grid {
    align-items: stretch !important;
  }
  
  #details-buddy .grid > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  
  /* Make the form and image container equal height */
  #details-buddy .grid > div:first-child,
  #details-buddy .grid > div:last-child {
    min-height: 600px !important;
  }
}

/* BUDDY PACK - MOBILE STACKING AND ALIGNMENT FIX */
@media (max-width: 767px) {
  /* Force single column layout */
  #details-buddy .grid {
    grid-template-columns: 1fr !important;
    flex-direction: column !important; /* Force stacking */
    gap: 1.5rem !important;
    padding-top: 6rem !important; /* Push entire content down further */
  }
  
  /* 1. Ensure the quote is above the image and centered on mobile */
  #details-buddy .grid > div:first-child .text-center,
  #details-buddy .grid > div:first-child .md\:text-left {
      text-align: center !important;
      margin-top: 0 !important; 
      padding-top: 0 !important;
  }

  /* 2. Quote text sizing and wrapping fix */
  #details-buddy .grid > div:first-child .text-3xl {
      font-size: 1.5rem !important; /* Smaller size to fit container */
      line-height: 1.3 !important;
      word-wrap: break-word !important; /* Ensures long words break */
      /* Remove potential flow issues */
      max-width: 100% !important;
      margin: 0 auto !important;
      padding-bottom: 1.5rem !important; /* Add space below text */
  }
    
  /* 3. Ensure the quote container is padded properly and at the top */
  #details-buddy .grid > div:first-child {
      order: -2 !important; /* Force this entire block (quote + image) to the top */
      width: 100% !important;
      padding: 3rem 1rem 1rem 1rem !important; /* Even more top padding to move content down */
      margin: 0 auto !important;
      min-height: auto !important; /* Prevent unnecessary large box */
  }

  /* 4. Fix image overlapping on mobile */
  #details-buddy .grid > div:first-child .w-full {
      padding: 0 !important;
      margin-top: -3rem !important; /* Move entire image container up */
  }
  
  #details-buddy img {
      max-height: 350px !important; /* A reasonable height */
      min-height: auto !important;
      margin: 0 auto !important;
      width: 100% !important;
      object-fit: contain !important;
  }

  /* 5. Ensure the Product Details/Form section is below */
  #details-buddy .grid > div:last-child {
      order: -1 !important; /* Place product details/form below image and quote */
      padding: 1rem !important; /* Ensure this section is also contained */
  }
}

/* 32. FIX SHOP SECTION OVERLAPPING ON MOBILE */
@media (max-width: 768px) {
  /* Ensure shop section contains all content */
  #shop {
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  /* Main shop container */
  #shop > div {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Reset any absolute positioning in product cards */
  #shop * {
    position: relative !important;
  }
  
  /* Ensure proper stacking */
  #details-small,
  #details-medium,
  #details-large,
  #details-buddy {
    margin-bottom: 3rem !important;
    clear: both !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Product detail cards - FIX CONTAINER */
  .product-details {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* All rounded containers in shop section */
  #shop .rounded-3xl,
  #shop .rounded-2xl,
  #shop .rounded-xl {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  
  /* Size guide section */
  .size-guide-compact {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem !important;
    margin: 0 0 2rem 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Info card at top of shop section */
  #shop > div > div:first-child {
    margin-bottom: 2rem !important;
    padding: 1rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Find Your Wristband header */
  #shop .mb-16 {
    margin-bottom: 2rem !important;
    padding: 0 1rem !important;
  }
  
  /* Prevent grid/flex issues */
  #shop .grid,
  #shop .flex {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Inner content of product cards */
  .product-details .grid > div {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.5rem !important;
    box-sizing: border-box !important;
  }
  
  /* Titles and text shouldn't overflow */
  .product-details h2,
  .product-details h3,
  .product-details h4,
  .product-details p {
    width: 100% !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* Mobile adjustments for Product Card feature lists */
@media (max-width: 768px) {
    /* Increase size of the feature list text */
    .product-details .space-y-3 span {
        font-size: 1.125rem !important; /* text-xl equivalent */
    }
    
    /* Increase size of the heart icons in the feature list */
    .product-details .space-y-3 .w-5.h-5 {
        width: 1.5rem !important; /* increased from 20px */
        height: 1.5rem !important;
    }
    
    /* Increase the size of the main description text */
    .product-details p.text-xl {
        font-size: 1.125rem !important; /* text-lg equivalent */
    }
}

/* FAQ heart size and alignment fix */
@media (max-width: 768px) {
    .faq-heart {
        width: 1.5rem !important; /* Consistent size for mobile */
        height: 1.5rem !important;
        flex-shrink: 0; /* Prevents icon from shrinking */
    }
    
    /* Ensure the summary text and icon align */
    .faq-section details summary {
        align-items: center;
        gap: 10px;
    }
    
    /* Ensure the icon is positioned correctly, overriding any margin-left: auto; */
    .faq-section details summary .faq-heart {
        margin-left: 0.5rem !important; /* Adjust spacing */
    }
}

/* Safety Warning Mobile Overflow Fix */
@media (max-width: 768px) {
    /* Allow the strong blue text to wrap */
    .safety-warning strong {
        white-space: normal !important; /* Allow the text to wrap */
        display: inline !important; /* Treat it like normal inline text */
    }
    
    /* Ensure icon and text are not too big on small screens */
    .safety-warning .flex.items-start span {
        font-size: 1rem !important; /* Base size for readability */
        line-height: 1.5 !important;
    }
    
    /* Make the icons slightly larger for better touch targets and visibility */
    .safety-warning .flex.items-start i {
        width: 24px !important;
        height: 24px !important;
    }
}

/* BUDDY PACK - MOBILE FIX for Quote Text Overflow */
@media (max-width: 767px) {
  /* Reduce decorative quote text size for mobile readability and fit */
  #details-buddy .text-3xl {
    font-size: 1.5rem !important; /* Smaller size to fit container */
    line-height: 1.3 !important;
    word-wrap: break-word !important; /* Ensures long words break */
  }
  
  /* Ensure the quote container is padded properly */
  #details-buddy .space-y-6 > div:first-child {
      padding: 1rem !important; /* Add padding to the quote's text container */
      margin: 0 !important;
  }
}

/* BUDDY PACK - MOBILE STACKING AND ALIGNMENT FIX */
@media (max-width: 767px) {
  /* Force single column layout */
  #details-buddy .grid {
    grid-template-columns: 1fr !important;
    flex-direction: column !important; /* Force stacking */
    gap: 1.5rem !important;
  }
  
  /* Ensure the quote and image section uses full width */
  #details-buddy .grid > div:first-child {
      width: 100% !important;
      min-height: auto !important; /* Allow height to adjust */
  }

  /* Image sizing fix: ensure it's contained and not too tall */
  #details-buddy img {
    max-height: 350px !important; /* Reasonable height for mobile */
    min-height: auto !important;
    margin: 0 auto !important; /* Center the image */
  }
  
  /* Form/Product Info column uses full width */
  #details-buddy .grid > div:last-child {
    width: 100% !important;
  }

  /* Center the decorative quote container */
  #details-buddy .text-left {
    text-align: center !important;
  }
}

/* BUDDY PACK - MOBILE OVERLAP AND ALIGNMENT FIX */
@media (max-width: 767px) {
    /* 1. Ensure the quote is above the image and centered on mobile */
    #details-buddy .grid > div:first-child .text-center,
    #details-buddy .grid > div:first-child .md\:text-left {
        text-align: center !important;
        /* Ensure the quote text is not excessively large and wraps */
        font-size: 1.3rem !important; 
    }

    /* 2. Fix image overlapping on mobile */
    #details-buddy .grid > div:first-child {
        /* This container holds the quote and image */
        order: -2 !important; /* Force this entire block to the top */
        width: 100% !important;
        padding: 0 1rem !important; 
    }
    
    /* 3. Ensure the image is correctly sized and contained */
    #details-buddy .grid > div:first-child .w-full {
        min-height: auto !important; /* Allow height to collapse */
        padding: 1rem 0 !important;
    }
    
    #details-buddy img {
        max-height: 300px !important; /* A reasonable height to prevent overlap */
        min-height: auto !important;
        margin: 0 auto !important; /* Center the image */
        width: 100% !important;
        object-fit: contain !important;
    }

    /* 4. Ensure the Product Details/Form section is below the image and quote */
    #details-buddy .grid > div:last-child {
        order: -1 !important; /* Place product details/form below image */
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* WRISTBAND SIZING GUIDE - HEADING ALIGNMENT FIX FOR MOBILE */
@media (max-width: 768px) {
    /* 1. Ensure the container centers the text */
    .size-guide-compact .text-center {
        text-align: center !important;
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    
    /* 2. Reduce the size of the main heading and ensure it is centered */
    .size-guide-compact h3 {
        font-size: 1.5rem !important; /* Smaller size for mobile screens */
        text-align: center !important;
        word-wrap: break-word !important;
        /* Ensure the icon and text stay together, but the h3 centers */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 3. Ensure the icon within the heading is aligned */
    .size-guide-compact h3 i {
        margin-right: 0 !important;
        margin-bottom: 0.5rem !important; /* Move icon above text slightly */
    }

    /* 4. Reduce the size and center the subtitle */
    .size-guide-compact p.text-xl {
        font-size: 1rem !important;
        text-align: center !important;
    }
}

/* Update: Ensure all heart icons in the product card feature lists are consistently larger on mobile */
@media (max-width: 768px) {
    /* This targets all icons inside the product feature lists (.product-details .space-y-3), 
       overriding the desktop 'w-5 h-5' size to a consistent, larger size for touch.
    */
    .product-details .space-y-3 .w-5.h-5 {
        width: 1.5rem !important; /* Increased from 20px (w-5) to 24px (1.5rem) [cite: 568] */
        height: 1.5rem !important; /* Increased from 20px (h-5) to 24px (1.5rem) [cite: 569] */
        flex-shrink: 0 !important; /* Prevents shrinking */
    }

    /* Additional adjustment for the Small Wristband specifically, just in case */
    #details-small .space-y-3 .w-5.h-5 {
        width: 1.5rem !important;
        height: 1.5rem !important;
    }
}

/* BUDDY PACK - MOBILE STACKING AND ALIGNMENT FIX */
@media (max-width: 767px) {
  /* Force single column layout */
  #details-buddy .grid {
    grid-template-columns: 1fr !important;
    flex-direction: column !important; /* Force stacking */
    gap: 1.5rem !important;
  }
  
  /* 1. Ensure the quote is above the image and centered on mobile */
  #details-buddy .grid > div:first-child .text-center,
  #details-buddy .grid > div:first-child .md\:text-left {
      text-align: center !important;
  }

  /* 2. Quote text sizing and wrapping fix */
  #details-buddy .grid > div:first-child .text-3xl {
      font-size: 1.5rem !important; /* Smaller size to fit container */
      line-height: 1.3 !important;
      word-wrap: break-word !important; /* Ensures long words break */
      /* Remove potential flow issues */
      max-width: 100% !important;
      margin: 0 auto !important;
  }
    
  /* 3. Ensure the quote container is padded properly and at the top */
  #details-buddy .grid > div:first-child {
      order: -2 !important; /* Force this entire block (quote + image) to the top */
      width: 100% !important;
      padding: 1rem !important; /* Ensure content is inside the card's padding */
      margin: 0 auto !important;
      min-height: auto !important; /* Prevent unnecessary large box */
  }

  /* 4. Fix image overlapping on mobile */
  #details-buddy .grid > div:first-child .w-full {
      padding: 1rem 0 !important;
  }
  
  #details-buddy img {
      max-height: 350px !important; /* A reasonable height */
      min-height: auto !important;
      margin: 0 auto !important;
      width: 100% !important;
      object-fit: contain !important;
  }

  /* 5. Ensure the Product Details/Form section is below */
  #details-buddy .grid > div:last-child {
      order: -1 !important; /* Place product details/form below image and quote */
      padding: 1rem !important; /* Ensure this section is also contained */
  }

  
}

/* Mobile Optimization Utilities */
@media (max-width: 768px) {
  /* Prevent the 18+ badge from being a long bar */
  .u2me-product-badge {
    aspect-ratio: 1 / 1 !important;
    width: 44px !important;
    height: 44px !important;
    white-space: nowrap !important;
  }

  /* Force the product grid to stack and center */
  #shop .grid {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Ensure the Buy Now/Add to Cart buttons are thick touch targets */
  .sliding-shop-btn {
    min-height: 56px;
    font-size: 1.1rem;
  }

  /* Reduce massive container width for mobile screens */
  #shop .max-w-\[65vw\] {
    max-width: 92vw !important;
  }
}

/* Updated Gallery Styles */
@media (max-width: 768px) {
  /* Prevent the container from forcing a height that images can't fill */
  .gallery-image-container {
    height: 400px !important; /* Fixed height for consistency on mobile */
    width: 100% !important;
  }

  .gallery-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* This ensures the image fills the 400px box completely */
    object-position: center !important;
  }

  /* Hide navigation arrows on mobile to save space, rely on touch swipe */
  #prevBtn, #nextBtn {
    display: none !important;
  }
}

/* Ensure the track allows for smooth scrolling */
#galleryTrack {
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

/* CSS FIX - Add this to your custom CSS file */    
        
        /* NEW: Consistent 18+ Badge Positioning for ALL Product Cards */
        #details-small,
        #details-medium,
        #details-large {
            position: relative !important;
        }
        
        /* Position the 18+ badge in the top-right corner of the IMAGE container */
        #details-small .relative.flex,
        #details-medium .relative.flex,
        #details-large .relative.flex {
            position: relative !important;
        }
        
        /* Style the badge itself - matches Buddy Pack exactly */
        #details-small .absolute,
        #details-medium .absolute,
        #details-large .absolute {
            position: absolute !important;
            top: 12px !important; /* top-3 equivalent */
            right: 12px !important; /* right-3 equivalent */
            z-index: 10 !important;
        }
        
        /* Ensure the badge circle is consistent */
        #details-small .absolute span,
        #details-medium .absolute span,
        #details-large .absolute span {
            display: flex !important;
            height: 48px !important; /* h-12 equivalent */
            width: 48px !important; /* w-12 equivalent */
            align-items: center !important;
            justify-content: center !important;
            border-radius: 50% !important;
            background-color: #000000 !important;
            color: white !important;
            font-size: 0.875rem !important; /* text-sm */
            font-weight: 800 !important;
            border: 2px solid white !important;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
        }
        
        /* Mobile adjustments */
        @media (max-width: 768px) {
            #details-small .absolute,
            #details-medium .absolute,
            #details-large .absolute {
                top: 8px !important;
                right: 8px !important;
            }
            
            #details-small .absolute span,
            #details-medium .absolute span,
            #details-large .absolute span {
                height: 40px !important; /* h-10 equivalent */
                width: 40px !important; /* w-10 equivalent */
                font-size: 0.75rem !important; /* text-xs */
            }
        }

/* Universal Large Body Text - Adjusted to match Blue Titles */
.u2me-body-text, 
.u2me-body-text p, 
.story-paragraph p {
  /* Mobile: Matches "THE STORY" / "THE PROBLEM" subtitle size */
  font-size: 20px !important; 
  line-height: 1.5 !important;
  font-weight: 500 !important;
  display: block;
}

/* Tablet Adjustments */
@media (min-width: 768px) {
  .u2me-body-text, 
  .u2me-body-text p, 
  .story-paragraph p {
    font-size: 24px !important;
  }
}

/* Desktop Adjustments */
@media (min-width: 1024px) {
  .u2me-body-text, 
  .u2me-body-text p, 
  .story-paragraph p {
    font-size: 30px !important;
    line-height: 1.6 !important;
  }
}
/* Universal Body Text - Lite (For FAQ/Small Details) */
.u2me-body-text-lite, 
.u2me-body-text-lite p {
  /* Mobile: 18px (Slightly smaller than Story text) */
  font-size: 18px !important; 
  line-height: 1.5 !important;
  font-weight: 500 !important;
  display: block;
}

/* Tablet */
@media (min-width: 768px) {
  .u2me-body-text-lite, 
  .u2me-body-text-lite p {
    font-size: 20px !important;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .u2me-body-text-lite, 
  .u2me-body-text-lite p {
    font-size: 24px !important;
    line-height: 1.6 !important;
  }
}

/* Unified Footer Link Scaling */
.u2me-footer-link {
  font-size: 14px !important; /* Fixed desktop size to match your preference */
  line-height: normal !important;
  font-weight: 500 !important;
  text-transform: none !important;
  display: inline-block;
  transition: color 0.3s ease;
}

/* Mobile centering and slight size increase for touch targets */
@media (max-width: 768px) {
  .u2me-footer-link {
    font-size: 18px !important; /* Matches sibling links on mobile */
    text-align: center !important;
    width: 100% !important;
  }
}

/* =====================================================
   UNIVERSAL MOBILE TEXT WRAPPING FIX
   Prevents hyphens and forces whole words to next line
   ===================================================== */

@media (max-width: 768px) {
  html, body, div, p, span, h1, h2, h3, h4, h5, h6, li, a {
    /* Disable automatic hyphenation */
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;

    /* Ensure long words don't break mid-word with a dash */
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    
    /* Prevents the browser from inserting breaks at hyphens */
    line-break: normal !important;
  }
}