{"title":"You Might Also Like","description":null,"products":[{"product_id":"good-habit™-led-compact-mirror","title":"Good Habit™ LED Compact Mirror","description":"\u003cstyle\u003e\n  .gh-mirror {\n    --teal: #0b5f5a;\n    --teal-light: #edf7f5;\n    --text: #172322;\n    --muted: #6b7775;\n    font-family: inherit;\n    max-width: 900px;\n    margin: 0 auto;\n    padding: 0 14px 25px;\n    color: var(--text);\n  }\n\n  \/* HERO *\/\n  .gh-mirror-hero {\n    text-align: center;\n    padding: 8px 5px 22px;\n    animation: ghFadeUp .7s ease both;\n  }\n\n  .gh-mirror-badge {\n    display: inline-flex;\n    align-items: center;\n    background: var(--teal-light);\n    color: var(--teal);\n    padding: 6px 11px;\n    border-radius: 30px;\n    font-size: 10px;\n    font-weight: 800;\n    letter-spacing: .8px;\n    text-transform: uppercase;\n    margin-bottom: 11px;\n    animation: ghFloat 3s ease-in-out infinite;\n  }\n\n  .gh-mirror-hero h2 {\n    margin: 0;\n    font-size: 30px;\n    line-height: 1.08;\n    letter-spacing: -1px;\n    font-weight: 800;\n  }\n\n  .gh-mirror-hero h2 span {\n    color: var(--teal);\n    position: relative;\n  }\n\n  \/* Subtle animated underline *\/\n  .gh-mirror-hero h2 span::after {\n    content: \"\";\n    position: absolute;\n    left: 0;\n    bottom: -3px;\n    width: 100%;\n    height: 2px;\n    background: var(--teal);\n    border-radius: 10px;\n    transform: scaleX(0);\n    transform-origin: left;\n    animation: ghUnderline 1s ease .8s forwards;\n  }\n\n  .gh-mirror-hero p {\n    margin: 11px auto 0;\n    max-width: 520px;\n    color: var(--muted);\n    font-size: 13.5px;\n    line-height: 1.55;\n  }\n\n\n  \/* FEATURES *\/\n  .gh-mirror-features {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 9px;\n  }\n\n  .gh-mirror-card {\n    position: relative;\n    overflow: hidden;\n    background: #fff;\n    border: 1px solid rgba(11,95,90,.10);\n    border-radius: 15px;\n    padding: 15px 13px;\n    min-height: 132px;\n    box-shadow: 0 5px 18px rgba(0,0,0,.035);\n    animation: ghFadeUp .7s ease both;\n\n    \/* Interactive *\/\n    transition:\n      transform .3s cubic-bezier(.2,.8,.2,1),\n      box-shadow .3s ease,\n      border-color .3s ease;\n  }\n\n  .gh-mirror-card:nth-child(1) {\n    animation-delay: .10s;\n  }\n\n  .gh-mirror-card:nth-child(2) {\n    animation-delay: .18s;\n  }\n\n  .gh-mirror-card:nth-child(3) {\n    animation-delay: .26s;\n  }\n\n  .gh-mirror-card:nth-child(4) {\n    animation-delay: .34s;\n  }\n\n  \/* Moving light across card *\/\n  .gh-mirror-card::before {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    left: -120%;\n    width: 70%;\n    height: 100%;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      rgba(255,255,255,.75),\n      transparent\n    );\n    transform: skewX(-20deg);\n    transition: left .7s ease;\n    pointer-events: none;\n  }\n\n  .gh-mirror-card:hover::before {\n    left: 140%;\n  }\n\n  .gh-mirror-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 12px 28px rgba(11,95,90,.12);\n    border-color: rgba(11,95,90,.25);\n  }\n\n  \/* Mobile tap animation *\/\n  .gh-mirror-card:active {\n    transform: scale(.96);\n  }\n\n\n  \/* ICON *\/\n  .gh-mirror-icon {\n    width: 35px;\n    height: 35px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--teal-light);\n    border-radius: 10px;\n    font-size: 17px;\n    margin-bottom: 9px;\n\n    transition:\n      transform .35s ease,\n      background .35s ease;\n  }\n\n  .gh-mirror-card:hover .gh-mirror-icon {\n    transform: scale(1.12) rotate(-5deg);\n    background: #dff1ee;\n  }\n\n  .gh-mirror-card h3 {\n    margin: 0 0 5px;\n    font-size: 14px;\n    line-height: 1.2;\n    font-weight: 750;\n  }\n\n  .gh-mirror-card p {\n    margin: 0;\n    color: var(--muted);\n    font-size: 11.5px;\n    line-height: 1.45;\n  }\n\n\n  \/* BENEFITS *\/\n  .gh-mirror-benefits {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 8px;\n    margin-top: 12px;\n    padding: 13px;\n    background: #f7faf9;\n    border-radius: 15px;\n    animation: ghFadeUp .7s ease .45s both;\n  }\n\n  .gh-mirror-benefit {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    font-size: 11.5px;\n    line-height: 1.25;\n    font-weight: 650;\n\n    transition: transform .25s ease;\n  }\n\n  .gh-mirror-benefit:hover {\n    transform: translateX(3px);\n  }\n\n  .gh-check {\n    flex-shrink: 0;\n    width: 18px;\n    height: 18px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--teal);\n    color: #fff;\n    border-radius: 50%;\n    font-size: 9px;\n    font-weight: 900;\n\n    animation: ghCheckPulse 2.5s ease-in-out infinite;\n  }\n\n\n  \/* COLOURS *\/\n  .gh-colours {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 7px;\n    margin-top: 16px;\n    animation: ghFadeUp .7s ease .55s both;\n  }\n\n  .gh-colour-dot {\n    width: 13px;\n    height: 13px;\n    border-radius: 50%;\n    border: 1px solid rgba(0,0,0,.12);\n    transition:\n      transform .25s ease,\n      box-shadow .25s ease;\n  }\n\n  .gh-colour-dot:hover {\n    transform: scale(1.35);\n    box-shadow: 0 0 0 4px var(--teal-light);\n  }\n\n  .gh-pink {\n    background: #e8b6c4;\n  }\n\n  .gh-black {\n    background: #1d1d1d;\n  }\n\n  .gh-white {\n    background: #fff;\n  }\n\n  .gh-colours span:last-child {\n    margin-left: 3px;\n    color: var(--muted);\n    font-size: 10.5px;\n  }\n\n\n  \/* CLOSING *\/\n  .gh-mirror-closing {\n    text-align: center;\n    margin-top: 18px;\n    padding-top: 15px;\n    border-top: 1px solid rgba(11,95,90,.10);\n    animation: ghFadeUp .7s ease .65s both;\n  }\n\n  .gh-mirror-closing p {\n    margin: 0;\n    color: var(--muted);\n    font-size: 12px;\n  }\n\n  .gh-mirror-closing strong {\n    display: inline-block;\n    margin-top: 3px;\n    color: var(--teal);\n    font-size: 15px;\n\n    animation: ghFloat 3s ease-in-out infinite;\n  }\n\n\n  \/* ANIMATIONS *\/\n\n  @keyframes ghFadeUp {\n    from {\n      opacity: 0;\n      transform: translateY(16px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @keyframes ghFloat {\n    0%, 100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-3px);\n    }\n  }\n\n  @keyframes ghUnderline {\n    from {\n      transform: scaleX(0);\n    }\n\n    to {\n      transform: scaleX(1);\n    }\n  }\n\n  @keyframes ghCheckPulse {\n    0%, 100% {\n      box-shadow: 0 0 0 0 rgba(11,95,90,.15);\n    }\n\n    50% {\n      box-shadow: 0 0 0 4px rgba(11,95,90,.08);\n    }\n  }\n\n\n  \/* DESKTOP *\/\n  @media (min-width: 601px) {\n\n    .gh-mirror {\n      padding: 10px 20px 35px;\n    }\n\n    .gh-mirror-hero {\n      padding-bottom: 30px;\n    }\n\n    .gh-mirror-hero h2 {\n      font-size: 42px;\n    }\n\n    .gh-mirror-hero p {\n      font-size: 15px;\n    }\n\n    .gh-mirror-features {\n      gap: 14px;\n    }\n\n    .gh-mirror-card {\n      min-height: 145px;\n      padding: 20px;\n    }\n\n    .gh-mirror-card h3 {\n      font-size: 17px;\n    }\n\n    .gh-mirror-card p {\n      font-size: 13px;\n    }\n\n    .gh-mirror-benefits {\n      gap: 10px 20px;\n      padding: 17px;\n    }\n\n    .gh-mirror-benefit {\n      font-size: 13px;\n    }\n  }\n\n\n  \/* SMALL PHONES *\/\n  @media (max-width: 360px) {\n\n    .gh-mirror {\n      padding-left: 10px;\n      padding-right: 10px;\n    }\n\n    .gh-mirror-hero h2 {\n      font-size: 27px;\n    }\n\n    .gh-mirror-card {\n      min-height: 138px;\n      padding: 13px 11px;\n    }\n\n    .gh-mirror-card p {\n      font-size: 11px;\n    }\n\n    .gh-mirror-benefit {\n      font-size: 10.5px;\n    }\n  }\n\n\n  \/* REDUCED MOTION *\/\n  @media (prefers-reduced-motion: reduce) {\n\n    .gh-mirror-hero,\n    .gh-mirror-features,\n    .gh-mirror-benefits,\n    .gh-colours,\n    .gh-mirror-closing,\n    .gh-mirror-badge,\n    .gh-mirror-closing strong,\n    .gh-check {\n      animation: none;\n    }\n\n    .gh-mirror-card,\n    .gh-mirror-icon,\n    .gh-mirror-benefit,\n    .gh-colour-dot {\n      transition: none;\n    }\n  }\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"gh-mirror\"\u003e\n\n  \u003c!-- HERO --\u003e\n  \u003cdiv class=\"gh-mirror-hero\"\u003e\n\n    \u003cdiv class=\"gh-mirror-badge\"\u003e\n      Good Habit™ Beauty Essential\n    \u003c\/div\u003e\n\n    \u003ch2\u003e\n      Look good \u003cspan\u003eanywhere.\u003c\/span\u003e\u003cbr\u003e\n      Anytime.\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Your compact beauty essential for flawless\n      makeup application wherever you go.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- FEATURES --\u003e\n  \u003cdiv class=\"gh-mirror-features\"\u003e\n\n    \u003cdiv class=\"gh-mirror-card\"\u003e\n\n      \u003cdiv class=\"gh-mirror-icon\"\u003e💡\u003c\/div\u003e\n\n      \u003ch3\u003e3 Light Modes\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Warm, cool and natural lighting\n        for the perfect look anywhere.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"gh-mirror-card\"\u003e\n\n      \u003cdiv class=\"gh-mirror-icon\"\u003e🔋\u003c\/div\u003e\n\n      \u003ch3\u003eUSB Rechargeable\u003c\/h3\u003e\n\n      \u003cp\u003e\n        No batteries needed. Charge,\n        pack it and go.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"gh-mirror-card\"\u003e\n\n      \u003cdiv class=\"gh-mirror-icon\"\u003e📐\u003c\/div\u003e\n\n      \u003ch3\u003eCompact \u0026amp; Foldable\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Slim enough for your bag,\n        beautiful enough for your vanity.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"gh-mirror-card\"\u003e\n\n      \u003cdiv class=\"gh-mirror-icon\"\u003e🎨\u003c\/div\u003e\n\n      \u003ch3\u003e3 Colours\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Blush Pink, Midnight Black\n        and Clean White.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- BENEFITS --\u003e\n  \u003cdiv class=\"gh-mirror-benefits\"\u003e\n\n    \u003cdiv class=\"gh-mirror-benefit\"\u003e\n      \u003cspan class=\"gh-check\"\u003e✓\u003c\/span\u003e\n      Touch brightness\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"gh-mirror-benefit\"\u003e\n      \u003cspan class=\"gh-check\"\u003e✓\u003c\/span\u003e\n      Crystal-clear reflection\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"gh-mirror-benefit\"\u003e\n      \u003cspan class=\"gh-check\"\u003e✓\u003c\/span\u003e\n      Premium build\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"gh-mirror-benefit\"\u003e\n      \u003cspan class=\"gh-check\"\u003e✓\u003c\/span\u003e\n      Perfect gift for her\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- COLOURS --\u003e\n  \u003cdiv class=\"gh-colours\"\u003e\n\n    \u003cdiv class=\"gh-colour-dot gh-pink\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"gh-colour-dot gh-black\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"gh-colour-dot gh-white\"\u003e\u003c\/div\u003e\n\n    \u003cspan\u003eAvailable in 3 colours\u003c\/span\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- CLOSING --\u003e\n  \u003cdiv class=\"gh-mirror-closing\"\u003e\n\n    \u003cp\u003eMake your daily routine a\u003c\/p\u003e\n\n    \u003cstrong\u003e\n      Good Habit. 🌿\n    \u003c\/strong\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Good Habit","offers":[{"title":"Black","offer_id":51283766378532,"sku":null,"price":449.99,"currency_code":"ZAR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0803\/6063\/6452\/files\/ChatGPT_Image_Aug_14_2026_10_04_59_PM.png?v=1786738609"}],"url":"https:\/\/goodhabit.co.za\/collections\/you-might-also-like.oembed","provider":"Good Habit","version":"1.0","type":"link"}