TopReview365 – Your Trusted Guide to Luxury Beauty

TopReview365 — Luxury Beauty Reviews & Expert Picks /* ============================================================ DESIGN TOKENS — Warm Editorial × TopReview365 Customization Round 1: contrast-safe on-light variant added Round 2 Hotfix: on-secondary contrast variants, button text color fix, tertiary darken ============================================================ */ :root { /* === Color Palette === */ --color-primary: #C4836A; --color-primary-hover: #B06E55; --color-primary-light: #E8C4B8; --color-primary-ultra-light: #F5E6DE; --color-primary-on-light: #9B6553; /* WCAG AA ≈ 4.52:1 on #FAF8F5 */ --color-primary-on-secondary: #8B5543; /* WCAG AA ≈ 4.6:1 on #F5F0EB */ --color-secondary: #B76E79; --color-secondary-hover: #A05A65; --color-secondary-light: #D4B8BE; --color-accent: #D4A574; --color-accent-light: #E8D5B7; --color-accent-dark: #A07B4F; --color-text-primary: #2D2926; --color-text-secondary: #7A6E62; /* WCAG AA ≈ 4.8:1 on #FAF8F5 */ --color-text-secondary-on-secondary: #6D6157; /* WCAG AA ≈ 4.6:1 on #F5F0EB */ --color-text-tertiary: #7D7570; /* ≈ 4.2:1 on #FAF8F5, supplementary labels only */ --color-text-inverse: #FAF8F5; --color-bg-primary: #FAF8F5; --color-bg-secondary: #F5F0EB; --color-bg-tertiary: #F2EDE6; /* Lighter tertiary for better text contrast */ --color-bg-dark: #2D2926; --color-bg-dark-alt: #1C1917; --color-border: #E0D6CC; --color-border-light: #EBE5DD; --color-border-dark: #5C524A; --color-success: #7A9E7E; --color-danger: #C45858; --color-info: #7E8FA1; /* === Typography === */ --font-display: 'Playfair Display', 'Cormorant Garamond', 'Georgia', serif; --font-body: 'Inter', 'DM Sans', '-apple-system', 'Segoe UI', 'Helvetica Neue', sans-serif; /* === Spacing (4px base) === */ --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-7: 28px; --space-8: 32px; --space-9: 36px; --space-10: 40px; --space-12: 48px; --space-14: 56px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --space-28: 112px; --section-gap-standard: 80px; --section-gap-large: 96px; --section-gap-compact: 48px; --card-padding: 24px; --card-padding-lg: 32px; --card-gap: 24px; --hero-padding: 96px; /* === Radius === */ --radius-none: 0; --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-full: 9999px; /* === Shadows (warm rgba base) === */ --shadow-flat: none; --shadow-subtle: 0 1px 3px rgba(45,41,38,0.06), 0 1px 2px rgba(45,41,38,0.04); --shadow-raised: 0 4px 8px rgba(45,41,38,0.08), 0 2px 4px rgba(45,41,38,0.04); --shadow-elevated: 0 8px 16px rgba(45,41,38,0.10), 0 4px 8px rgba(45,41,38,0.06); --shadow-overlay: 0 12px 24px rgba(45,41,38,0.14), 0 6px 12px rgba(45,41,38,0.08); /* === Grid === */ --grid-max-width: 1200px; --grid-gutter: 24px; } /* ============================================================ BASE STYLES ============================================================ */ *, *::before, *::after { box-sizing: border-box; margin: 0; } html { scroll-behavior: smooth; font-size: 16px; } body { background: var(--color-bg-primary); color: var(--color-text-primary); font-family: var(--font-body); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Global links — underline + contrast-safe on-light color for light backgrounds */ a { color: var(--color-primary-on-light); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--color-primary-on-light); transition: color 0.25s ease, text-decoration-thickness 0.25s ease; } a:hover { text-decoration-thickness: 2px; } /* Hero section links — keep #C4836A (4.68:1 on #2D2926, passes AA) */ .hero-section a { color: var(--color-primary); text-decoration-color: var(--color-primary); } /* Card links & buttons — no underline (visual containers, not inline text links) */ .category-card, .featured-card a, .standard-card, .cta-btn { text-decoration: none; } img, svg { display: block; max-width: 100%; } .container { max-width: var(--grid-max-width); margin: 0 auto; padding: 0 var(--space-6); } /* ============================================================ FOCUS-VISIBLE — Accessibility keyboard navigation ============================================================ */ a:focus-visible, button:focus-visible, .category-card:focus-visible, .standard-card:focus-visible, .featured-card a:focus-visible { outline: 2px solid var(--color-primary-on-light); outline-offset: 2px; } .cta-btn:focus-visible { outline: 2px solid var(--color-primary-on-light); outline-offset: 2px; } .search-btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; } /* Hero focus uses primary color (on dark bg) */ .hero-section a:focus-visible, .hero-section button:focus-visible { outline-color: var(--color-primary); } /* ============================================================ BLOCK 1 — HERO SECTION ============================================================ */ .hero-section { background: var(--color-bg-dark); background-image: url('/wp-content/uploads/homepage-images/hero.jpg'); background-size: cover; background-position: center 30%; padding: var(--hero-padding) var(--space-6); text-align: center; position: relative; overflow: hidden; } /* Dark overlay on hero banner for text readability */ .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(45,41,38,0.72); z-index: 0; } /* Subtle warm glow — depth without gradient color blocks */ .hero-section::before { content: ''; position: absolute; top: -40%; right: -10%; width: 480px; height: 480px; background: radial-gradient(circle, rgba(196,131,106,0.07) 0%, transparent 70%); border-radius: 50%; pointer-events: none; } .hero-section::after { content: ''; position: absolute; bottom: -30%; left: -15%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(212,165,112,0.05) 0%, transparent 70%); border-radius: 50%; pointer-events: none; } .hero-inner { position: relative; z-index: 1; } .hero-section h1 { font-family: var(--font-display); font-size: 56px; font-weight: 400; line-height: 1.08; letter-spacing: -0.02em; color: var(--color-text-inverse); margin-bottom: var(--space-6); } .hero-accent { color: var(--color-primary-light); } .hero-subtitle { font-family: var(--font-body); font-size: 18px; font-weight: 400; line-height: 1.7; color: rgba(250,248,245,0.7); max-width: 640px; margin: 0 auto var(--space-10); } /* Search Box — pill shape, warm transparency on dark bg */ .search-wrapper { max-width: 560px; margin: var(--space-8) auto 0; position: relative; } .search-form { display: flex; align-items: center; background: rgba(250,248,245,0.12); border: 1px solid rgba(250,248,245,0.25); border-radius: var(--radius-full); padding: 4px 4px 4px 40px; transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease; } .search-form:focus-within { border-color: var(--color-primary); background: rgba(250,248,245,0.18); box-shadow: 0 0 0 3px rgba(196,131,106,0.15); } .search-icon-box { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: rgba(250,248,245,0.6); } .search-input { flex: 1; border: none; outline: none; background: transparent; font-family: var(--font-body); font-size: 16px; color: var(--color-text-inverse); padding: 12px 0; height: 44px; } .search-input::placeholder { color: rgba(250,248,245,0.45); } .search-btn { background: var(--color-primary); color: var(--color-text-primary); font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: 0.01em; border: none; border-radius: var(--radius-full); padding: 12px 24px; cursor: pointer; transition: background 0.25s ease; white-space: nowrap; } .search-btn:hover { background: var(--color-primary-hover); } /* ============================================================ BLOCK 1 — CATEGORY NAVIGATION (overlap Hero by -40px) ============================================================ */ .category-section { background: var(--color-bg-primary); margin-top: -40px; padding: var(--section-gap-compact) var(--space-6) var(--space-12); position: relative; z-index: 2; } .category-section h2 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.25; color: var(--color-text-primary); text-align: center; margin-bottom: var(--space-8); } .category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--card-gap); max-width: var(--grid-max-width); margin: 0 auto; } .category-card { background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--card-padding); text-align: center; transition: all 0.3s ease; display: block; color: var(--color-text-primary); text-decoration: none; } .category-card-img { width: 100%; aspect-ratio: 3/2; border-radius: var(--radius-sm); overflow: hidden; margin-bottom: var(--space-3); } .category-card-img img { width: 100%; height: 100%; object-fit: cover; } .category-card:hover { border-color: var(--color-primary-light); box-shadow: var(--shadow-raised); transform: translateY(-2px); color: var(--color-text-primary); } .category-icon { width: 40px; height: 40px; margin: 0 auto var(--space-3); color: var(--color-primary-on-secondary); } .category-card h3 { font-family: var(--font-body); font-size: 18px; font-weight: 600; color: var(--color-text-primary); margin-bottom: var(--space-2); } .category-desc { font-family: var(--font-body); font-size: 14px; color: var(--color-text-secondary-on-secondary); line-height: 1.5; margin-bottom: var(--space-3); } .category-status--active { font-family: var(--font-body); font-size: 12px; font-weight: 500; color: var(--color-primary-on-secondary); letter-spacing: 0.02em; } .category-status--coming { font-family: var(--font-body); font-size: 11px; font-weight: 400; color: var(--color-text-secondary-on-secondary); letter-spacing: 0.04em; text-transform: uppercase; } /* ============================================================ BLOCK 2 — FEATURED REVIEWS (Magazine Layout) ============================================================ */ .reviews-section { background: var(--color-bg-secondary); padding: var(--section-gap-standard) var(--space-6); } .reviews-section h2 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.25; color: var(--color-text-primary); text-align: center; margin-bottom: var(--space-3); } .reviews-subtitle { font-family: var(--font-body); font-size: 16px; color: var(--color-text-secondary-on-secondary); text-align: center; max-width: 600px; margin: 0 auto var(--space-12); line-height: 1.6; } .reviews-container { max-width: var(--grid-max-width); margin: 0 auto; } /* — Featured Card: outer wrapper (grid on inner only) — */ .featured-card { background: var(--color-bg-primary); border: 2px solid var(--color-primary-on-light); border-radius: var(--radius-lg); overflow: hidden; margin-bottom: var(--card-gap); transition: box-shadow 0.3s ease; } .featured-card:hover { box-shadow: var(--shadow-elevated); } .featured-card a { display: grid; grid-template-columns: 1fr 1fr; min-height: 360px; color: inherit; text-decoration: none; } .featured-image { background: var(--color-bg-tertiary); position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; } .featured-image img { width: 100%; height: 100%; object-fit: cover; } .featured-badge { position: absolute; top: var(--space-3); left: var(--space-3); background: var(--color-primary-on-light); color: var(--color-text-primary); font-family: var(--font-body); font-size: 11px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; border-radius: var(--radius-sm); padding: var(--space-1) var(--space-2); z-index: 1; } .featured-image .placeholder-icon { width: 100px; height: 100px; color: var(--color-primary-light); opacity: 0.3; } .featured-content { padding: var(--card-padding-lg); display: flex; flex-direction: column; justify-content: center; } /* — Standard Cards: 2×2 grid — */ .standard-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--card-gap); } .standard-card { background: var(--color-bg-primary); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; transition: all 0.3s ease; display: block; color: inherit; text-decoration: none; } .standard-card:hover { border-color: var(--color-primary-light); box-shadow: var(--shadow-raised); transform: translateY(-2px); color: inherit; } .standard-image { background: var(--color-bg-tertiary); aspect-ratio: 3/2; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .standard-image img { width: 100%; height: 100%; object-fit: cover; } .standard-image .placeholder-icon { width: 48px; height: 48px; color: var(--color-primary-light); opacity: 0.3; } .standard-content { padding: var(--card-padding); } /* — Review Card Common Styles — */ .review-tag { font-family: var(--font-body); font-size: 11px; font-weight: 600; color: var(--color-primary-on-light); letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: var(--space-2); } .featured-content h3 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.35; color: var(--color-text-primary); margin-bottom: var(--space-3); } .standard-content h3 { font-family: var(--font-display); font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--color-text-primary); margin-bottom: var(--space-2); } .review-excerpt { font-family: var(--font-body); font-size: 14px; color: var(--color-text-secondary); line-height: 1.6; margin-bottom: var(--space-4); } .standard-content .review-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .rating { display: inline-flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-4); } .rating-stars { display: inline-flex; gap: 2px; } .rating-stars svg { width: 14px; height: 14px; } .star-filled { fill: var(--color-accent); } .star-half { fill: var(--color-accent-light); } .star-empty { fill: none; stroke: var(--color-accent); stroke-width: 1; } .star-half-container { overflow: hidden; } .rating-score { font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--color-text-primary); } .read-review { font-family: var(--font-body); font-size: 13px; font-weight: 500; color: var(--color-primary-on-light); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--color-primary-on-light); transition: color 0.2s ease, text-decoration-thickness 0.25s ease; } /* In reviews-section (bg #F5F0EB), use on-secondary variant */ .reviews-section .read-review { color: var(--color-primary-on-secondary); text-decoration-color: var(--color-primary-on-secondary); } .read-review:hover { text-decoration-thickness: 2px; } /* View All Reviews Link */ .view-all-link { display: inline-flex; align-items: center; gap: var(--space-2); font-family: var(--font-body); font-size: 14px; font-weight: 500; color: var(--color-primary-on-secondary); margin-top: var(--space-8); text-decoration-color: var(--color-primary-on-secondary); transition: color 0.2s ease, text-decoration-thickness 0.25s ease; } .view-all-link:hover { text-decoration-thickness: 2px; } .view-all-icon { width: 16px; height: 16px; } /* ============================================================ BLOCK 3 — TRUST & REVIEW STANDARDS ============================================================ */ .trust-section { background: var(--color-bg-primary); padding: var(--section-gap-large) var(--space-6); } .trust-section h2 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.25; color: var(--color-text-primary); text-align: center; margin-bottom: var(--space-3); } .trust-subtitle { font-family: var(--font-body); font-size: 16px; color: var(--color-text-secondary); text-align: center; max-width: 600px; margin: 0 auto var(--space-12); line-height: 1.6; } .trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--card-gap); max-width: var(--grid-max-width); margin: 0 auto; } .trust-item { text-align: center; padding: var(--card-padding) var(--space-4); } .trust-icon { width: 32px; height: 32px; color: var(--color-primary-on-light); margin: 0 auto var(--space-3); } .trust-item h3 { font-family: var(--font-body); font-size: 18px; font-weight: 600; color: var(--color-text-primary); margin-bottom: var(--space-2); } .trust-desc { font-family: var(--font-body); font-size: 14px; color: var(--color-text-secondary); line-height: 1.5; } /* ============================================================ BLOCK 4 — CTA (Elegant inline button, not red full-width slab) ============================================================ */ .cta-section { background: var(--color-bg-secondary); padding: var(--section-gap-standard) var(--space-6); text-align: center; } .cta-section h2 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.25; color: var(--color-text-primary); margin-bottom: var(--space-3); } .cta-desc { font-family: var(--font-body); font-size: 16px; color: var(--color-text-secondary-on-secondary); max-width: 600px; margin: 0 auto var(--space-8); line-height: 1.6; } .cta-btn { display: inline-block; background: var(--color-primary); color: var(--color-text-primary); font-family: var(--font-body); font-size: 16px; font-weight: 500; padding: var(--space-3) var(--space-8); border-radius: var(--radius-md); border: none; letter-spacing: 0.01em; text-decoration: none; transition: all 0.25s ease; } .cta-btn:hover { background: var(--color-primary-hover); box-shadow: var(--shadow-subtle); transform: translateY(-1px); color: var(--color-text-primary); } /* ============================================================ BLOCK 4 — SEO Closing Text (lightweight typography) ============================================================ */ .seo-section { background: var(--color-bg-primary); padding: var(--section-gap-compact) var(--space-6) var(--space-10); } .seo-container { max-width: var(--grid-max-width); margin: 0 auto; } .seo-section h2 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.35; color: var(--color-text-primary); margin-bottom: var(--space-6); } .seo-section p { font-family: var(--font-body); font-size: 14px; color: var(--color-text-secondary); line-height: 1.7; margin-bottom: var(--space-4); } .seo-section p:last-child { margin-bottom: 0; } .seo-section strong { color: var(--color-text-primary); font-weight: 500; } .seo-section a { color: var(--color-primary-on-light); text-decoration-color: var(--color-primary-on-light); text-underline-offset: 3px; } .seo-section a:hover { text-decoration-thickness: 2px; } /* ============================================================ REDUCED MOTION — Accessibility preference ============================================================ */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } } /* ============================================================ RESPONSIVE — Mobile-first progressive enhancement ============================================================ */ /* Tablet / Small desktop (≥768px) */ @media (min-width: 768px) { .category-grid { grid-template-columns: repeat(3, 1fr); } .standard-grid { grid-template-columns: repeat(2, 1fr); } .trust-grid { grid-template-columns: repeat(2, 1fr); } .featured-card a { grid-template-columns: 1fr 1fr; } } /* Desktop (≥1024px) */ @media (min-width: 1024px) { .hero-section h1 { font-size: 56px; } .hero-subtitle { font-size: 18px; } .category-grid { grid-template-columns: repeat(3, 1fr); } .trust-grid { grid-template-columns: repeat(4, 1fr); } .hero-section { padding: var(--hero-padding) var(--space-6); } .category-section { padding: var(--section-gap-compact) var(--space-6) var(--space-12); } .reviews-section { padding: var(--section-gap-standard) var(--space-6); } .trust-section { padding: var(--section-gap-large) var(--space-6); } .cta-section { padding: var(--section-gap-standard) var(--space-6); } .seo-section { padding: var(--section-gap-compact) var(--space-6) var(--space-10); } } /* Large desktop (≥1280px) */ @media (min-width: 1280px) { /* Full layout — nothing to change, defaults are for this breakpoint */ } /* Small tablet / Large mobile (≤768px) */ @media (max-width: 768px) { .hero-section h1 { font-size: 32px; } .hero-subtitle { font-size: 16px; margin-bottom: var(--space-8); } .hero-section { padding: var(--space-12) var(--space-4); } .category-section { margin-top: -30px; padding: var(--space-12) var(--space-4) var(--space-8); } .category-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } .category-card { padding: 16px; } .category-section h2, .reviews-section h2, .trust-section h2, .cta-section h2 { font-size: 24px; } .reviews-section { padding: var(--space-12) var(--space-4); } .featured-card a { grid-template-columns: 1fr; min-height: auto; } .featured-image { aspect-ratio: 16/9; } .featured-content { padding: var(--card-padding); } .featured-content h3 { font-size: 20px; } .standard-grid { grid-template-columns: 1fr; gap: 16px; } .standard-content { padding: 16px; } .trust-section { padding: var(--space-12) var(--space-4); } .trust-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } .trust-item { padding: 16px; } .cta-section { padding: var(--space-12) var(--space-4); } .cta-btn { display: block; width: 100%; max-width: 320px; margin: 0 auto; text-align: center; } .seo-section { padding: var(--space-8) var(--space-4); } .seo-section h2 { font-size: 20px; } } /* Mobile (≤640px) */ @media (max-width: 640px) { .hero-section h1 { font-size: 32px; letter-spacing: -0.01em; } .trust-grid { grid-template-columns: 1fr 1fr; } .category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } .category-card h3 { font-size: 16px; } .category-desc { font-size: 13px; } }

Your Guide to Luxury Beauty

Luxury beauty is an investment — and you deserve to know whether that $300 serum is actually worth it before you click "add to cart." We test, we analyze, we tell you the truth.

Our Review Standards

We believe trust is earned through transparency. Here's how every review on TopReview365 is produced.

Ingredient-First Approach

We read the INCI list, not the label. Every product is evaluated based on what's actually in the bottle, cross-referenced with published dermatological research.

Hands-On Testing

Products are tested for a minimum of four weeks under controlled conditions. We document texture, absorption, irritation, and visible results.

Expert Consultation

Our reviews are reviewed by a board-certified dermatologist consultant before publication. Informed, expert-validated assessments — never just opinions.

Full Affiliate Transparency

We earn a commission through Amazon Associates when you purchase via our links — at no additional cost to you. This never affects our rankings.

Ready to Find Your Perfect Beauty Product?

Join thousands of luxury beauty enthusiasts who trust our reviews before they buy. No sponsored content, no bias — just honest expert guidance.

Start With Our Top Picks

Luxury Beauty Reviews You Can Trust

At TopReview365, we specialize in luxury beauty reviews that go beyond marketing hype. Whether you are comparing best luxury skincare brands, deciding between La Mer and Augustinus Bader, or searching for the perfect anti-aging serum, our expert team delivers ingredient-level analysis and real-world testing results you won't find anywhere else.

From Augustinus Bader's TFC8 technology to traditional formulations, or searching for the best luxury vitamin C serum, we provide the ingredient analysis, hands-on testing, and honest verdicts you need. Every review follows our rigorous process: ingredient research, hands-on testing, value assessment, and expert review. We buy our own products, use them for weeks or months, and tell you exactly what works and what doesn't. No sponsored content, no bias, just honest luxury beauty reviews.

TopReview365
Logo
Compare items
  • Total (0)
Compare
0
Shopping cart