/*
Theme Name: Beige Sneaker Landing Page
Theme URI: https://example.com
Author: Your Name
Author URI: https://example.com
Description: A high-performance landing page for beige suede wedge sneakers with BucksBus Paybis integration
Version: 1.0.11
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beige-sneaker
*/

/* Critical CSS - Above-the-Fold Styles */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
html{height:100%;overflow-x:hidden;overflow-y:scroll!important;-webkit-overflow-scrolling:touch;position:relative}
body{min-height:100%;overflow-x:hidden;overflow-y:auto!important;width:100%;max-width:100vw;position:relative!important;-webkit-overflow-scrolling:touch}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a1a1a;line-height:1.6;background:#fff}
.announcement{
  background: linear-gradient(135deg, #C9A887 0%, #B8956D 50%, #D4B896 100%);
  color:#fff;
  text-align:center;
  padding:12px;
  font-size:14px;
  font-weight:500;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  box-shadow: inset 0 -2px 4px rgba(0,0,0,0.1);
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:40px 20px;align-items:start}
.gallery{position:relative}
@media(min-width:1024px){.gallery{position:sticky;top:20px}}
.main-img{width:100%;height:auto;border-radius:12px;object-fit:cover;background:#f8f8f8;display:block}
.product-info h1{font-size:40px;font-weight:700;margin-bottom:10px;line-height:1.2}
.tagline{color:#666;font-size:18px;margin-bottom:20px}
.price-box{display:flex;align-items:baseline;gap:15px;margin-bottom:30px}
.price{font-size:36px;font-weight:700;color:#000}
.old-price{font-size:24px;color:#999;text-decoration:line-through}
.badge{background:#ff4444;color:#fff;padding:4px 12px;border-radius:20px;font-size:14px;font-weight:600}
.cta-btn{width:100%;padding:18px;font-size:18px;font-weight:700;border-radius:8px;border:none;cursor:pointer;margin-bottom:15px;transition:transform 0.15s ease}
.cta-primary{
  background: linear-gradient(135deg, #C9A887 0%, #B8956D 50%, #D4B896 100%);
  color: #000;
  position: relative;
  overflow: hidden;
  font-weight: 800;
  box-shadow:
    inset 0 2px 4px rgba(255,255,255,0.2),
    inset 0 -2px 4px rgba(0,0,0,0.2),
    0 4px 12px rgba(184,149,109,0.3);
}
.cta-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 1px,
      rgba(255,255,255,0.05) 1px,
      rgba(255,255,255,0.05) 2px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 1px,
      rgba(0,0,0,0.03) 1px,
      rgba(0,0,0,0.03) 2px
    );
  pointer-events: none;
}
.cta-primary::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.cta-primary:hover::after {
  opacity: 1;
}
.suede-btn-sticky::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 1px,
      rgba(255,255,255,0.05) 1px,
      rgba(255,255,255,0.05) 2px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 1px,
      rgba(0,0,0,0.03) 1px,
      rgba(0,0,0,0.03) 2px
    );
  pointer-events: none;
}
.sticky-preorder-btn:hover {
  background: #f8f8f8 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.sticky-preorder-btn:active {
  transform: scale(0.98) translateY(0);
}
.cta-primary:hover {
  background: linear-gradient(135deg, #D4B896 0%, #C9A887 50%, #DECAA4 100%);
  transform: translateY(-2px);
  box-shadow:
    inset 0 2px 4px rgba(255,255,255,0.3),
    inset 0 -2px 4px rgba(0,0,0,0.15),
    0 6px 20px rgba(184,149,109,0.4);
}
.cta-primary:active{
  transform:scale(0.98) translateY(0);
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.2),
    inset 0 -2px 4px rgba(0,0,0,0.1),
    0 2px 8px rgba(184,149,109,0.2);
}
.btn-subtitle{font-size:12px;font-weight:500;opacity:0.85;margin-top:4px;color:#000}
.loading-placeholder{background:#f0f0f0;border-radius:8px;position:relative;overflow:hidden}
.loading-placeholder::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:shimmer 1.5s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@-webkit-keyframes scroll{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-50%)}}
.thumb-scroll::-webkit-scrollbar{display:none}
@media(max-width:768px){
.container{width:100%!important;max-width:100vw!important;padding:0!important;box-sizing:border-box}
.product-hero{grid-template-columns:1fr;gap:8px;padding:8px!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
.gallery{position:static;margin:0;height:auto!important;width:100%!important;max-width:calc(100vw - 16px)!important;box-sizing:border-box}
.main-img{height:auto!important;width:100%!important;max-width:100%!important;object-fit:contain!important;border-radius:8px;display:block;box-sizing:border-box;margin-bottom:15px!important}
.product-info{padding:0 8px;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;box-sizing:border-box}
.product-info > *{width:100%!important;max-width:100%!important;box-sizing:border-box}
.product-info h1{font-size:24px;margin-bottom:6px}
.tagline{font-size:14px;margin-bottom:6px}
.price{font-size:28px}
.price-box{margin-bottom:10px;width:100%!important}
.why-features{display:flex!important}
.thumb-scroll{padding-bottom:5px;margin-top:15px!important;width:100%!important;max-width:100%!important;position:static!important}
.cta-btn{width:100%!important;max-width:100%!important;box-sizing:border-box}
button{width:100%!important;max-width:100%!important}
#scrollingTestimonials{width:100%!important;max-width:100vw!important}
/* Influencer section mobile styles */
.influencer-img{width:60px!important;height:60px!important}
.influencer-name{font-size:11px!important}
.influencer-quote{font-size:9px!important}
}

/* Additional styles for non-critical sections */

/* Fabric Features */
.fabric-features-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.fabric-features {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    padding: 30px 0;
}

.fabric-feature {
    text-align: center;
    flex: 0 0 auto;
}

.feature-icon {
    font-size: 2rem;
    margin-bottom: 10px;
}

.feature-label {
    font-size: 14px;
    font-weight: 500;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Product Details */
.product-details-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.detail-dropdown {
    border-top: 1px solid #e0e0e0;
}

.detail-header {
    padding: 20px 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
}

.detail-header:hover {
    background: #f9f9f9;
}

.detail-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
}

.detail-arrow {
    color: #666;
    transition: transform 0.2s;
}

.detail-content {
    display: none;
    padding: 0 0 20px 0;
}

.detail-text {
    color: #666;
    line-height: 1.8;
    padding-left: 30px;
}

/* Worn By Favorites */
.worn-by-favorites {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

.section-header {
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center;
}

.favorites-scroll {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
}

.favorite-item {
    text-align: center;
    flex: 0 0 auto;
}

.favorite-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 10px;
    border: 3px solid #f0f0f0;
}

.favorite-name {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 2px;
}

.favorite-handle {
    color: #999;
    font-size: 12px;
}

/* Reviews Carousel */
.reviews-section {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

.reviews-carousel-container {
    position: relative;
}

.reviews-carousel {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.reviews-carousel::-webkit-scrollbar {
    display: none;
}

.review-item {
    flex: 0 0 300px;
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
}

.review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.review-author {
    font-weight: 600;
    font-size: 14px;
}

.review-verified {
    font-size: 11px;
    color: #00b67a;
    display: flex;
    align-items: center;
    gap: 4px;
}

.review-rating {
    margin-bottom: 10px;
}

.review-content {
    color: #333;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.review-footer {
    font-size: 12px;
    color: #999;
}

.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ddd;
    cursor: pointer;
    transition: background 0.3s;
}

.carousel-dot.active {
    background: #333;
}

/* Testimonials Grid */
.testimonials-section {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px 100px;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.testimonial-item {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}

.testimonial-item:hover {
    transform: translateY(-5px);
}

.testimonial-image {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background: #f8f8f8;
}

.testimonial-content-wrapper {
    padding: 20px;
}

.testimonial-name {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 5px;
}

.verified-badge {
    font-size: 11px;
    color: #00b67a;
    margin-bottom: 8px;
}

.testimonial-stars {
    margin-bottom: 10px;
}

.testimonial-title {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.testimonial-text {
    color: #666;
    font-size: 13px;
    line-height: 1.5;
}

/* Sticky Footer */
.sticky-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    border-top: 1px solid #e0e0e0;
    padding: 10px 20px;
    z-index: 100;
    display: none;
}

.sticky-button {
    width: 100%;
    background: white;
    color: #000;
    border: 2px solid #000;
    padding: 14px;
    border-radius: 5px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    cursor: pointer;
}

/* Checkout Modal */
.checkout-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-content {
    background: white;
    border-radius: 12px;
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 25px;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.modal-title {
    font-size: 1.5rem;
    font-weight: 700;
}

.modal-close {
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: #999;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.order-bump-section {
    background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%);
    border-radius: 12px;
    padding: 20px;
    margin: 20px 0;
    border: 2px dashed #ff4444;
}

/* Mobile optimizations */
@media (max-width: 768px) {
    .sticky-footer {
        display: block;
    }

    .fabric-features {
        gap: 20px;
    }

    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .review-item {
        flex: 0 0 250px;
    }
}

/* Additional hover effects and animations */
button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
img { image-rendering: -webkit-optimize-contrast; }
.cta-btn:hover { box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
@media (max-width: 768px) {
  #testimonials { grid-template-columns: 1fr !important; }
}
