/* ═══════════════════════════════════════════════════
   PROTEIN SHAKE VENDING MACHINE PAGE
   Theme: Athletic Orange / Dark
   Prefix: .ps-vm-
   ═══════════════════════════════════════════════════ */

:root {
    --ps-vm-primary: #FF6B1A;
    --ps-vm-primary-dark: #D54F0A;
    --ps-vm-accent: #FFB347;
    --ps-vm-dark: #1A1A1A;
    --ps-vm-dark-2: #2C2C2C;
    --ps-vm-white: #FFFFFF;
    --ps-vm-gray-50: #F8F9FA;
    --ps-vm-gray-100: #F1F3F5;
    --ps-vm-gray-200: #E9ECEF;
    --ps-vm-gray-300: #DEE2E6;
    --ps-vm-gray-600: #6C757D;
    --ps-vm-shadow: 0 4px 20px rgba(0,0,0,0.08);
    --ps-vm-shadow-lg: 0 10px 40px rgba(0,0,0,0.12);
    --ps-vm-radius: 12px;
    --ps-vm-radius-lg: 20px;
    --ps-vm-transition: all 0.3s ease;
}

/* Reset & Base */
.protein-shake-vm-page * { box-sizing: border-box; }
.protein-shake-vm-page .ps-vm-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.protein-shake-vm-page .ps-vm-section { padding: 80px 0; }
.protein-shake-vm-page .ps-vm-section-header { text-align: center; margin-bottom: 50px; }
.protein-shake-vm-page .ps-vm-section-label { display: inline-block; font-size: 14px; font-weight: 700; color: var(--ps-vm-primary); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px; }
.protein-shake-vm-page .ps-vm-section-title { font-size: 42px; font-weight: 800; color: var(--ps-vm-dark); margin: 0 0 16px 0; line-height: 1.2; }
.protein-shake-vm-page .ps-vm-section-title em { color: var(--ps-vm-primary); font-style: normal; }
.protein-shake-vm-page .ps-vm-section-desc { font-size: 17px; color: var(--ps-vm-gray-600); max-width: 700px; margin: 0 auto; line-height: 1.6; }

/* 1. HERO */
.protein-shake-vm-page .ps-vm-hero { position: relative; background: linear-gradient(135deg, var(--ps-vm-dark) 0%, var(--ps-vm-dark-2) 50%, #3a1f10 100%); color: var(--ps-vm-white); overflow: hidden; }
.protein-shake-vm-page .ps-vm-hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 70% 30%, rgba(255,107,26,0.25) 0%, transparent 50%), radial-gradient(circle at 30% 70%, rgba(255,179,71,0.15) 0%, transparent 40%); }
.protein-shake-vm-page .ps-vm-hero-inner { position: relative; max-width: 1200px; margin: 0 auto; padding: 60px 24px 80px; }
.protein-shake-vm-page .ps-vm-breadcrumb { font-size: 15px; margin-bottom: 40px; opacity: 0.7; }
.protein-shake-vm-page .ps-vm-breadcrumb a { color: var(--ps-vm-white); text-decoration: none; }
.protein-shake-vm-page .ps-vm-breadcrumb .ps-vm-sep { margin: 0 8px; opacity: 0.5; }
.protein-shake-vm-page .ps-vm-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.protein-shake-vm-page .ps-vm-hero-badge { display: inline-block; background: var(--ps-vm-accent); color: var(--ps-vm-dark); font-size: 13px; font-weight: 700; letter-spacing: 2px; padding: 6px 16px; border-radius: 20px; margin-bottom: 20px; }
.protein-shake-vm-page .ps-vm-hero-title { font-size: 52px; font-weight: 800; line-height: 1.15; margin: 0 0 20px 0; }
.protein-shake-vm-page .ps-vm-hero-title .ps-vm-hi { background: linear-gradient(135deg, var(--ps-vm-accent) 0%, #FFD89A 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.protein-shake-vm-page .ps-vm-hero-subtitle { font-size: 17px; line-height: 1.7; margin: 0 0 24px 0; opacity: 0.9; }
.protein-shake-vm-page .ps-vm-hero-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.protein-shake-vm-page .ps-vm-tag { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); padding: 6px 14px; border-radius: 20px; font-size: 14px; }
.protein-shake-vm-page .ps-vm-hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.protein-shake-vm-page .ps-vm-btn-primary { background: var(--ps-vm-primary); color: var(--ps-vm-white); padding: 14px 32px; border-radius: 30px; text-decoration: none; font-weight: 700; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-btn-primary:hover { background: var(--ps-vm-primary-dark); transform: translateY(-2px); }
.protein-shake-vm-page .ps-vm-btn-secondary { background: transparent; color: var(--ps-vm-white); border: 2px solid rgba(255,255,255,0.4); padding: 12px 30px; border-radius: 30px; text-decoration: none; font-weight: 700; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-btn-secondary:hover { border-color: var(--ps-vm-accent); color: var(--ps-vm-accent); transform: translateY(-2px); }
.protein-shake-vm-page .ps-vm-hero-image { position: relative; }
.protein-shake-vm-page .ps-vm-hero-img-wrap { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--ps-vm-radius-lg); padding: 20px; text-align: center; }
.protein-shake-vm-page .ps-vm-hero-img-wrap img { max-width: 100%; border-radius: var(--ps-vm-radius); }
.protein-shake-vm-page .ps-vm-float-card { position: absolute; background: var(--ps-vm-white); color: var(--ps-vm-dark); padding: 10px 16px; border-radius: 12px; box-shadow: var(--ps-vm-shadow-lg); display: flex; align-items: center; gap: 10px; font-size: 13px; }
.protein-shake-vm-page .ps-vm-float-card-1 { top: 20px; left: -20px; }
.protein-shake-vm-page .ps-vm-float-card-2 { bottom: 20px; right: -20px; }
.protein-shake-vm-page .ps-vm-float-icon { font-size: 24px; }
.protein-shake-vm-page .ps-vm-float-card strong { display: block; font-size: 16px; color: var(--ps-vm-primary); }
.protein-shake-vm-page .ps-vm-float-card span { font-size: 11px; color: var(--ps-vm-gray-600); }

/* TOC */
.protein-shake-vm-page .ps-vm-toc { background: var(--ps-vm-white); border-bottom: 1px solid var(--ps-vm-gray-200); padding: 16px 0; position: sticky; top: 0; z-index: 90; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.protein-shake-vm-page .ps-vm-toc-inner { display: flex; align-items: center; gap: 20px; }
.protein-shake-vm-page .ps-vm-toc-label { font-size: 14px; font-weight: 700; color: var(--ps-vm-primary); letter-spacing: 1px; white-space: nowrap; }
.protein-shake-vm-page .ps-vm-toc-list { display: flex; flex-wrap: wrap; gap: 6px 16px; list-style: none; margin: 0; padding: 0; }
.protein-shake-vm-page .ps-vm-toc-list li a { font-size: 14px; color: var(--ps-vm-gray-600); text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; transition: all 0.2s; }
.protein-shake-vm-page .ps-vm-toc-list li a:hover { color: var(--ps-vm-primary); border-bottom-color: var(--ps-vm-primary); }

/* 2. PRODUCTS */
.protein-shake-vm-page .ps-vm-products { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-products-grid { display: grid; grid-template-columns: 1fr; max-width: 800px; margin: 0 auto; }
.protein-shake-vm-page .ps-vm-product-card { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); overflow: hidden; box-shadow: var(--ps-vm-shadow); position: relative; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-product-featured { border: 2px solid var(--ps-vm-primary); }
.protein-shake-vm-page .ps-vm-product-card:hover { transform: translateY(-4px); box-shadow: var(--ps-vm-shadow-lg); }
.protein-shake-vm-page .ps-vm-product-badge { position: absolute; top: 16px; right: 16px; background: var(--ps-vm-primary); color: var(--ps-vm-white); padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; z-index: 2; }
.protein-shake-vm-page .ps-vm-product-top { display: flex; gap: 0; }
.protein-shake-vm-page .ps-vm-product-img { background: var(--ps-vm-gray-50); padding: 30px; display: flex; align-items: center; justify-content: center; min-width: 280px; }
.protein-shake-vm-page .ps-vm-product-img img { max-width: 100%; max-height: 280px; object-fit: contain; }
.protein-shake-vm-page .ps-vm-product-body { padding: 30px; flex: 1; }
.protein-shake-vm-page .ps-vm-product-tag { display: inline-block; font-size: 13px; font-weight: 700; color: var(--ps-vm-primary); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px; }
.protein-shake-vm-page .ps-vm-product-title { font-size: 24px; font-weight: 800; color: var(--ps-vm-dark); margin: 0 0 12px 0; }
.protein-shake-vm-page .ps-vm-product-desc { font-size: 15px; color: var(--ps-vm-gray-600); line-height: 1.6; margin: 0 0 16px 0; }
.protein-shake-vm-page .ps-vm-product-features { list-style: none; padding: 0; margin: 0 0 20px 0; }
.protein-shake-vm-page .ps-vm-product-features li { padding: 6px 0 6px 24px; position: relative; font-size: 15px; color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-product-features li::before { content: "✓"; position: absolute; left: 0; color: var(--ps-vm-primary); font-weight: 700; }
.protein-shake-vm-page .ps-vm-product-price { background: var(--ps-vm-gray-50); padding: 16px; border-radius: var(--ps-vm-radius); margin-bottom: 16px; display: flex; flex-direction: column; gap: 4px; }
.protein-shake-vm-page .ps-vm-price-rrp { font-size: 14px; color: var(--ps-vm-gray-600); text-decoration: line-through; }
.protein-shake-vm-page .ps-vm-price-now { font-size: 19px; color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-price-now strong { color: var(--ps-vm-primary); font-size: 26px; }
.protein-shake-vm-page .ps-vm-price-save { font-size: 13px; color: var(--ps-vm-primary); font-weight: 700; }
.protein-shake-vm-page .ps-vm-product-cta { display: inline-block; background: var(--ps-vm-primary); color: var(--ps-vm-white); padding: 12px 28px; border-radius: 30px; text-decoration: none; font-weight: 700; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-product-cta:hover { background: var(--ps-vm-primary-dark); transform: translateY(-2px); }
.protein-shake-vm-page .ps-vm-cta-pro { background: var(--ps-vm-primary); }
.protein-shake-vm-page .ps-vm-pricing-notice { margin-top: 30px; padding: 20px; background: linear-gradient(135deg, var(--ps-vm-accent) 0%, #FFD89A 100%); border-radius: var(--ps-vm-radius); display: flex; align-items: center; gap: 16px; max-width: 800px; margin-left: auto; margin-right: auto; }
.protein-shake-vm-page .ps-vm-pricing-notice p { margin: 0; font-size: 15px; color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-pricing-notice a { color: var(--ps-vm-primary-dark); font-weight: 700; }

/* 3. FEATURES */
.protein-shake-vm-page .ps-vm-features { background: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.protein-shake-vm-page .ps-vm-feature-card { background: var(--ps-vm-white); border: 1px solid var(--ps-vm-gray-200); border-radius: var(--ps-vm-radius-lg); padding: 30px 24px; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-feature-card:hover { transform: translateY(-4px); border-color: var(--ps-vm-primary); box-shadow: var(--ps-vm-shadow-lg); }
.protein-shake-vm-page .ps-vm-feature-icon { font-size: 40px; margin-bottom: 16px; }
.protein-shake-vm-page .ps-vm-feature-card h3 { font-size: 18px; font-weight: 700; color: var(--ps-vm-dark); margin: 0 0 10px 0; }
.protein-shake-vm-page .ps-vm-feature-card p { font-size: 15px; color: var(--ps-vm-gray-600); line-height: 1.6; margin: 0; }

/* 4. VIDEO */
.protein-shake-vm-page .ps-vm-video { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-video-wrapper { max-width: 900px; margin: 0 auto; }
.protein-shake-vm-page .ps-vm-video-wrap { position: relative; border-radius: var(--ps-vm-radius-lg); overflow: hidden; cursor: pointer; box-shadow: var(--ps-vm-shadow-lg); transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-video-wrap:hover { transform: scale(1.02); }
.protein-shake-vm-page .ps-vm-video-wrap img { display: block; width: 100%; height: auto; }
.protein-shake-vm-page .ps-vm-play-btn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.35); font-size: 0; color: var(--ps-vm-white); opacity: 0.95; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-play-btn::before { content: ''; width: 90px; height: 90px; border-radius: 50%; background: var(--ps-vm-primary); box-shadow: 0 8px 24px rgba(0,0,0,0.4), 0 0 0 12px rgba(255,255,255,0.95); position: relative; }
.protein-shake-vm-page .ps-vm-play-btn::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-40%, -50%); border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-video-wrap:hover .ps-vm-play-btn { opacity: 1; background: rgba(0,0,0,0.25); }
.protein-shake-vm-page .ps-vm-video-wrap:hover .ps-vm-play-btn::before { transform: scale(1.08); background: var(--ps-vm-primary-dark); }
.protein-shake-vm-page .ps-vm-play-btn::before, .protein-shake-vm-page .ps-vm-play-btn::after { transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-video-highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.protein-shake-vm-page .ps-vm-vh-item { background: var(--ps-vm-white); padding: 24px 20px; border-radius: var(--ps-vm-radius-lg); box-shadow: var(--ps-vm-shadow); text-align: center; }
.protein-shake-vm-page .ps-vm-vh-num { display: inline-block; font-size: 14px; font-weight: 900; color: var(--ps-vm-primary); letter-spacing: 1px; margin-bottom: 8px; }
.protein-shake-vm-page .ps-vm-vh-item h4 { font-size: 16px; font-weight: 700; color: var(--ps-vm-dark); margin: 0 0 6px 0; }
.protein-shake-vm-page .ps-vm-vh-item p { font-size: 14px; color: var(--ps-vm-gray-600); line-height: 1.5; margin: 0; }

/* 5. SPECS & ADVANTAGES */
.protein-shake-vm-page .ps-vm-specs { background: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-specs-top { display: grid; grid-template-columns: 1fr 1.5fr; gap: 40px; align-items: stretch; margin-bottom: 30px; }
.protein-shake-vm-page .ps-vm-specs-img { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); padding: 20px; text-align: center; display: flex; align-items: center; justify-content: center; box-shadow: var(--ps-vm-shadow); }
.protein-shake-vm-page .ps-vm-specs-img img { max-width: 100%; max-height: 400px; object-fit: contain; }
.protein-shake-vm-page .ps-vm-specs-highlights { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); padding: 28px 30px; box-shadow: var(--ps-vm-shadow); }
.protein-shake-vm-page .ps-vm-specs-highlights h3 { font-size: 22px; color: var(--ps-vm-dark); margin: 0 0 20px 0; }
.protein-shake-vm-page .ps-vm-highlights-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.protein-shake-vm-page .ps-vm-highlights-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.protein-shake-vm-page .ps-vm-hl-icon { font-size: 20px; flex-shrink: 0; }
.protein-shake-vm-page .ps-vm-highlights-list strong { display: block; color: var(--ps-vm-dark); font-size: 14px; margin-bottom: 2px; }
.protein-shake-vm-page .ps-vm-highlights-list span { color: var(--ps-vm-gray-600); font-size: 13px; line-height: 1.4; }

/* Compare Table */
.protein-shake-vm-page .ps-vm-compare-table { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); overflow: hidden; box-shadow: var(--ps-vm-shadow); margin-top: 30px; }
.protein-shake-vm-page .ps-vm-compare-header { display: grid; grid-template-columns: 1.2fr 1fr 1.5fr; background: var(--ps-vm-primary); color: var(--ps-vm-white); font-weight: 700; }
.protein-shake-vm-page .ps-vm-compare-header .ps-vm-compare-col { padding: 16px 20px; font-size: 15px; }
.protein-shake-vm-page .ps-vm-compare-row { display: grid; grid-template-columns: 1.2fr 1fr 1.5fr; border-bottom: 1px solid var(--ps-vm-gray-200); }
.protein-shake-vm-page .ps-vm-compare-row:last-child { border-bottom: none; }
.protein-shake-vm-page .ps-vm-compare-row .ps-vm-compare-col { padding: 16px 20px; font-size: 15px; }
.protein-shake-vm-page .ps-vm-col-feature strong { color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-col-competitor { color: var(--ps-vm-gray-600); background: #fafbfc; }
.protein-shake-vm-page .ps-vm-col-wm { color: var(--ps-vm-dark); background: linear-gradient(90deg, #FFF5EE 0%, transparent 100%); font-weight: 500; }

/* 6. ROI */
.protein-shake-vm-page .ps-vm-roi { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-roi-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
.protein-shake-vm-page .ps-vm-roi-table { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); padding: 30px; box-shadow: var(--ps-vm-shadow); overflow-x: auto; -webkit-overflow-scrolling: touch; }
.protein-shake-vm-page .ps-vm-roi-table h3 { font-size: 22px; color: var(--ps-vm-dark); margin: 0 0 20px 0; }
.protein-shake-vm-page .ps-vm-roi-data { width: 100%; min-width: 480px; border-collapse: collapse; }
.protein-shake-vm-page .ps-vm-roi-data th { background: var(--ps-vm-primary); color: var(--ps-vm-white); padding: 12px; text-align: left; font-size: 14px; font-weight: 700; }
.protein-shake-vm-page .ps-vm-roi-data td { padding: 12px; border-bottom: 1px solid var(--ps-vm-gray-200); font-size: 15px; color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-roi-data tbody tr:hover { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-roi-highlights { display: grid; grid-template-columns: 1fr; gap: 16px; align-content: start; }
.protein-shake-vm-page .ps-vm-roi-card { background: var(--ps-vm-white); border-left: 4px solid var(--ps-vm-primary); border-radius: var(--ps-vm-radius); padding: 20px; box-shadow: var(--ps-vm-shadow); }
.protein-shake-vm-page .ps-vm-roi-num { display: block; font-size: 30px; font-weight: 900; color: var(--ps-vm-primary); }
.protein-shake-vm-page .ps-vm-roi-label { font-size: 14px; color: var(--ps-vm-gray-600); }

/* 7. APPLICATIONS */
.protein-shake-vm-page .ps-vm-applications { background: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-applications-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.protein-shake-vm-page .ps-vm-app-card { background: var(--ps-vm-white); border: 1px solid var(--ps-vm-gray-200); border-radius: var(--ps-vm-radius-lg); padding: 30px 24px; text-align: center; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-app-card:hover { border-color: var(--ps-vm-primary); transform: translateY(-4px); box-shadow: var(--ps-vm-shadow-lg); }
.protein-shake-vm-page .ps-vm-app-icon { font-size: 48px; margin-bottom: 16px; }
.protein-shake-vm-page .ps-vm-app-card h3 { font-size: 19px; color: var(--ps-vm-dark); margin: 0 0 12px 0; }
.protein-shake-vm-page .ps-vm-app-card p { font-size: 15px; color: var(--ps-vm-gray-600); line-height: 1.6; margin: 0 0 16px 0; }
.protein-shake-vm-page .ps-vm-app-stat { display: inline-block; background: var(--ps-vm-primary); color: var(--ps-vm-white); padding: 4px 12px; border-radius: 12px; font-size: 13px; font-weight: 700; }

/* 8. FAQ */
.protein-shake-vm-page .ps-vm-faq { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.protein-shake-vm-page .ps-vm-faq-col { display: flex; flex-direction: column; gap: 12px; }
.protein-shake-vm-page .ps-vm-faq-item { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius); overflow: hidden; box-shadow: var(--ps-vm-shadow); }
.protein-shake-vm-page .ps-vm-faq-q { width: 100%; background: var(--ps-vm-white); border: 0; padding: 18px 20px; text-align: left; font-size: 16px; font-weight: 600; color: var(--ps-vm-dark); cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-faq-q:hover { color: var(--ps-vm-primary); }
.protein-shake-vm-page .ps-vm-faq-icon { color: var(--ps-vm-primary); font-size: 20px; font-weight: 700; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-faq-q[aria-expanded="true"] .ps-vm-faq-icon { transform: rotate(45deg); }
.protein-shake-vm-page .ps-vm-faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.protein-shake-vm-page .ps-vm-faq-a p { padding: 0 20px 18px; margin: 0; font-size: 15px; color: var(--ps-vm-gray-600); line-height: 1.6; }
.protein-shake-vm-page .ps-vm-faq-item.active .ps-vm-faq-a,
.protein-shake-vm-page .ps-vm-faq-q[aria-expanded="true"] + .ps-vm-faq-a { max-height: 500px; }

/* 9. HOW TO */
.protein-shake-vm-page .ps-vm-howto { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-howto-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.protein-shake-vm-page .ps-vm-howto-step { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); padding: 24px 20px; box-shadow: var(--ps-vm-shadow); position: relative; }
.protein-shake-vm-page .ps-vm-howto-num { font-size: 40px; font-weight: 900; color: var(--ps-vm-primary); opacity: 0.25; line-height: 1; margin-bottom: 8px; }
.protein-shake-vm-page .ps-vm-howto-title { font-size: 16px; font-weight: 700; color: var(--ps-vm-dark); margin: 0 0 10px 0; }
.protein-shake-vm-page .ps-vm-howto-step p { font-size: 14px; color: var(--ps-vm-gray-600); line-height: 1.6; margin: 0; }
.protein-shake-vm-page .ps-vm-howto-step p strong { color: var(--ps-vm-primary); }

/* 10. ABOUT */
.protein-shake-vm-page .ps-vm-about { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.protein-shake-vm-page .ps-vm-about-img { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); padding: 20px; text-align: center; }
.protein-shake-vm-page .ps-vm-about-img img { max-width: 100%; }
.protein-shake-vm-page .ps-vm-about-text .ps-vm-section-header { text-align: left; margin-bottom: 20px; }
.protein-shake-vm-page .ps-vm-about-text .ps-vm-section-title { font-size: 34px; }
.protein-shake-vm-page .ps-vm-about-text p { font-size: 16px; color: var(--ps-vm-gray-600); line-height: 1.7; margin: 0 0 24px 0; }
.protein-shake-vm-page .ps-vm-about-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.protein-shake-vm-page .ps-vm-stat { text-align: center; background: var(--ps-vm-white); padding: 16px; border-radius: var(--ps-vm-radius); }
.protein-shake-vm-page .ps-vm-stat-num { display: block; font-size: 26px; font-weight: 900; color: var(--ps-vm-primary); }
.protein-shake-vm-page .ps-vm-stat-label { font-size: 13px; color: var(--ps-vm-gray-600); text-transform: uppercase; letter-spacing: 1px; }
.protein-shake-vm-page .ps-vm-about-advantages { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.protein-shake-vm-page .ps-vm-adv { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--ps-vm-white); border-radius: var(--ps-vm-radius); font-size: 15px; color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-adv-icon { font-size: 18px; }

/* 11. REVIEWS */
.protein-shake-vm-page .ps-vm-reviews { background: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-reviews-carousel { max-width: 800px; margin: 0 auto; position: relative; overflow: hidden; }
.protein-shake-vm-page .ps-vm-reviews-track { display: flex; transition: transform 0.4s ease; }
.protein-shake-vm-page .ps-vm-review-card { min-width: 100%; background: var(--ps-vm-gray-50); border-radius: var(--ps-vm-radius-lg); padding: 30px; box-shadow: var(--ps-vm-shadow); }
.protein-shake-vm-page .ps-vm-review-stars { color: #FFB800; font-size: 22px; margin-bottom: 16px; }
.protein-shake-vm-page .ps-vm-review-text { font-size: 16px; color: var(--ps-vm-dark); line-height: 1.7; margin: 0 0 20px 0; font-style: italic; }
.protein-shake-vm-page .ps-vm-review-author { display: flex; align-items: center; gap: 12px; }
.protein-shake-vm-page .ps-vm-review-avatar { width: 48px; height: 48px; background: var(--ps-vm-primary); color: var(--ps-vm-white); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.protein-shake-vm-page .ps-vm-review-author strong { display: block; color: var(--ps-vm-dark); font-size: 15px; }
.protein-shake-vm-page .ps-vm-review-author span { font-size: 13px; }
.protein-shake-vm-page .ps-vm-reviews-nav { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 20px; }
.protein-shake-vm-page .ps-vm-reviews-prev, .protein-shake-vm-page .ps-vm-reviews-next { background: var(--ps-vm-primary); color: var(--ps-vm-white); border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 18px; cursor: pointer; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-reviews-prev:hover, .protein-shake-vm-page .ps-vm-reviews-next:hover { background: var(--ps-vm-primary-dark); }
.protein-shake-vm-page .ps-vm-reviews-dots { display: flex; gap: 8px; }
.protein-shake-vm-page .ps-vm-reviews-dots span { width: 10px; height: 10px; background: var(--ps-vm-gray-300); border-radius: 50%; cursor: pointer; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-reviews-dots span.active { background: var(--ps-vm-primary); width: 24px; border-radius: 5px; }

/* 12. CERTIFICATIONS */
.protein-shake-vm-page .ps-vm-certs { background: var(--ps-vm-gray-50); }
.protein-shake-vm-page .ps-vm-certs-carousel { max-width: 900px; margin: 0 auto; position: relative; overflow: hidden; }
.protein-shake-vm-page .ps-vm-certs-track { display: flex; width: 100%; transition: transform 0.4s ease; }
.protein-shake-vm-page .ps-vm-certs-slide { min-width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.protein-shake-vm-page .ps-vm-cert-card { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius); padding: 16px; text-align: center; box-shadow: var(--ps-vm-shadow); }
.protein-shake-vm-page .ps-vm-cert-card img { max-width: 100%; height: auto; object-fit: contain; display: block; margin: 0 auto; }
.protein-shake-vm-page .ps-vm-cert-card figcaption { display: block; margin-top: 10px; font-weight: 700; font-size: 14px; color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-certs-nav { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 20px; }
.protein-shake-vm-page .ps-vm-certs-prev, .protein-shake-vm-page .ps-vm-certs-next { background: var(--ps-vm-primary); color: var(--ps-vm-white); border: none; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; }
.protein-shake-vm-page .ps-vm-certs-dots { display: flex; gap: 6px; justify-content: center; margin-top: 16px; }
.protein-shake-vm-page .ps-vm-certs-dots button { width: 10px; height: 10px; background: var(--ps-vm-gray-300); border-radius: 50%; border: 0; padding: 0; cursor: pointer; transition: var(--ps-vm-transition); }
.protein-shake-vm-page .ps-vm-certs-dots button.active { background: var(--ps-vm-primary); width: 24px; border-radius: 5px; }

/* 13. CONTACT */
.protein-shake-vm-page .ps-vm-contact { background: linear-gradient(135deg, var(--ps-vm-dark) 0%, var(--ps-vm-dark-2) 100%); color: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-contact .ps-vm-section-title { color: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-contact .ps-vm-section-title em { color: var(--ps-vm-accent); }
.protein-shake-vm-page .ps-vm-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.protein-shake-vm-page .ps-vm-contact-text p { font-size: 17px; line-height: 1.7; opacity: 0.9; margin: 0 0 24px 0; }
.protein-shake-vm-page .ps-vm-contact-list { list-style: none; padding: 0; margin: 0; }
.protein-shake-vm-page .ps-vm-contact-list li { padding: 8px 0; font-size: 16px; opacity: 0.9; }
.protein-shake-vm-page .ps-vm-contact-form { background: var(--ps-vm-white); border-radius: var(--ps-vm-radius-lg); padding: 30px; box-shadow: var(--ps-vm-shadow-lg); color: var(--ps-vm-dark); }
.protein-shake-vm-page .ps-vm-contact-form label,
.protein-shake-vm-page .ps-vm-contact-form .ff-el-label,
.protein-shake-vm-page .ps-vm-contact-form .fluentform label { color: var(--ps-vm-dark) !important; font-size: 14px; font-weight: 600; }
.protein-shake-vm-page .ps-vm-contact-form .ff-el-input--label,
.protein-shake-vm-page .ps-vm-contact-form .ff-el-is-required .ff-el-input--label::after,
.protein-shake-vm-page .ps-vm-contact-form .ff-form-main label { color: var(--ps-vm-dark) !important; }
.protein-shake-vm-page .ps-vm-contact-form input,
.protein-shake-vm-page .ps-vm-contact-form textarea,
.protein-shake-vm-page .ps-vm-contact-form .ff-el-input--content input,
.protein-shake-vm-page .ps-vm-contact-form .ff-el-input--content textarea { color: var(--ps-vm-dark) !important; background: var(--ps-vm-white); }
.protein-shake-vm-page .ps-vm-contact-form ::placeholder { color: var(--ps-vm-gray-600) !important; opacity: 1; }

/* RESPONSIVE */
@media (max-width: 992px) {
    .protein-shake-vm-page .ps-vm-hero-grid,
    .protein-shake-vm-page .ps-vm-roi-grid,
    .protein-shake-vm-page .ps-vm-about-grid,
    .protein-shake-vm-page .ps-vm-contact-grid,
    .protein-shake-vm-page .ps-vm-specs-top { grid-template-columns: 1fr; gap: 30px; }
    .protein-shake-vm-page .ps-vm-hero-title { font-size: 40px; }
    .protein-shake-vm-page .ps-vm-features-grid { grid-template-columns: repeat(2, 1fr); }
    .protein-shake-vm-page .ps-vm-applications-grid { grid-template-columns: repeat(2, 1fr); }
    .protein-shake-vm-page .ps-vm-product-top { flex-direction: column; }
    .protein-shake-vm-page .ps-vm-product-img { min-width: auto; }
}

@media (max-width: 768px) {
    .protein-shake-vm-page .ps-vm-section { padding: 50px 0; }
    .protein-shake-vm-page .ps-vm-section-title { font-size: 30px; }
    .protein-shake-vm-page .ps-vm-hero-inner { padding: 40px 20px 60px; }
    .protein-shake-vm-page .ps-vm-hero-title { font-size: 34px; }
    .protein-shake-vm-page .ps-vm-features-grid,
    .protein-shake-vm-page .ps-vm-applications-grid,
    .protein-shake-vm-page .ps-vm-video-highlights,
    .protein-shake-vm-page .ps-vm-faq-grid { grid-template-columns: 1fr; }
    .protein-shake-vm-page .ps-vm-highlights-list { grid-template-columns: 1fr; }
    .protein-shake-vm-page .ps-vm-howto-steps { grid-template-columns: 1fr; }
    .protein-shake-vm-page .ps-vm-about-stats { grid-template-columns: repeat(2, 1fr); }
    .protein-shake-vm-page .ps-vm-about-advantages { grid-template-columns: 1fr; }
    .protein-shake-vm-page .ps-vm-toc-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
    .protein-shake-vm-page .ps-vm-toc-list { gap: 4px 12px; }
    .protein-shake-vm-page .ps-vm-compare-header { display: none; }
    .protein-shake-vm-page .ps-vm-compare-row { grid-template-columns: 1fr; }
    .protein-shake-vm-page .ps-vm-compare-row .ps-vm-compare-col { border-left: 3px solid var(--ps-vm-gray-200); padding-left: 16px; }
    .protein-shake-vm-page .ps-vm-compare-row .ps-vm-col-wm { border-left-color: var(--ps-vm-primary); }
    .protein-shake-vm-page .ps-vm-compare-row .ps-vm-col-competitor { border-left-color: #c0392b; }
    .protein-shake-vm-page .ps-vm-float-card { position: static; margin: 10px 0; display: inline-flex; }
    .protein-shake-vm-page .ps-vm-hero-cta { flex-direction: column; }
    .protein-shake-vm-page .ps-vm-hero-cta a { text-align: center; }
}
