/** Shopify CDN: Minification failed

Line 354:1 Expected identifier but found "."
Line 557:0 Unexpected "}"

**/
/*
=========================================================
SUGARPLUM THEME
Version: 1.0
Author: ChatGPT + Lynette
=========================================================
*/

/* =====================================================
   BRAND COLOURS
===================================================== */

:root {

  --sp-primary: #E2A9FA;
  --sp-primary-dark: #C97AE8;

  --sp-yellow: #F3C32C;

  --sp-pink: #FFF8FC;
  --sp-lavender: #F8F3FF;
  --sp-mint: #F5FCF8;

  --sp-white: #FFFFFF;

  --sp-text: #4A4A4A;
  --sp-light-text: #777777;

  --sp-border: #ECECEC;

  --sp-shadow:
      0 10px 30px rgba(0,0,0,.06);

  --sp-radius-small:12px;
  --sp-radius:20px;
  --sp-radius-large:32px;

  --sp-section-space:100px;

  --sp-container:1280px;

}

/* =====================================================
   GLOBAL
===================================================== */

body{

    color:var(--sp-text);

    background:white;

}

/* =====================================================
   CONTAINER
===================================================== */

.sp-container{

    max-width:var(--sp-container);

    margin:auto;

    padding:0 24px;

}

/* =====================================================
   SECTIONS
===================================================== */

.sp-section{

    padding:var(--sp-section-space) 0;

}

.sp-section-white{

    background:white;

}

.sp-section-lavender{

    background:var(--sp-lavender);

}

.sp-section-pink{

    background:var(--sp-pink);

}

.sp-section-mint{

    background:var(--sp-mint);

}

/* =====================================================
   HEADINGS
===================================================== */

.sp-heading{

    color:var(--sp-text);

    font-weight:600;

    margin-bottom:18px;

}

.sp-subheading{

    color:var(--sp-light-text);

    line-height:1.8;

}

/* =====================================================
   BUTTONS
===================================================== */

.sp-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:999px;

    background:var(--sp-primary);

    color:white;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.sp-button:hover{

    transform:translateY(-2px);

    background:var(--sp-primary-dark);

}

.sp-button-yellow{

    background:var(--sp-yellow);

    color:#333;

}

/* =====================================================
   CARDS
===================================================== */

.sp-card{

    background:white;

    border-radius:var(--sp-radius);

    box-shadow:var(--sp-shadow);

    overflow:hidden;

}

/* =====================================================
   IMAGES
===================================================== */

.sp-image{

    width:100%;

    display:block;

}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:768px){

    :root{

        --sp-section-space:70px;

    }

}

/* =====================================================
   REUSABLE HEADING
===================================================== */

.sp-heading-wrapper{

    max-width:800px;

    margin:0 auto 60px;

}

.sp-align-left{

    text-align:left;

}

.sp-align-center{

    text-align:center;

}

.sp-align-right{

    text-align:right;

}

.sp-heading{

    font-size:clamp(2rem,4vw,3rem);

    line-height:1.2;

    margin-bottom:20px;

    color:var(--sp-text);

}

.sp-subheading{

    font-size:1.1rem;

    color:var(--sp-light-text);

    line-height:1.8;

    max-width:700px;

    margin:auto;

}

.sp-align-left .sp-subheading{

    margin-left:0;

}

.sp-align-right .sp-subheading{

    margin-right:0;

}

/* =====================================================
   HERO
===================================================== */

.sp-hero{

    position:relative;

    min-height:540px;

    display:flex;

    align-items:center;

    overflow:hidden;

}

.sp-hero-image{

    position:absolute;

    inset:0;

}

.sp-hero-bg{

    width:100%;

    height:100%;

    object-fit:cover;

}

.sp-container{

    position:relative;

    z-index:2;

}

.sp-hero-content{

    max-width:720px;

    padding:40px 0;

}

.sp-hero-title{

    font-size: clamp(3.5rem, 6vw, 5.5rem);

    line-height: 1.08;

    font-weight: 700;

    letter-spacing: -1px;

    margin-bottom: 28px;

    text-shadow: 0 4px 10px rgba(0,0,0,.08);

}

..sp-hero-text{

    font-size:1.35rem;

    line-height:1.8;

    font-weight:500;

    color:#5B6472;

    max-width:700px;

    margin-bottom:46px;

}

.sp-hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.sp-button{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:220px;
    height:62px;

    border-radius:999px;

    background:linear-gradient(180deg,#FF78C8 0%, #F34FAF 100%);

    color:#fff;

    font-family:'Baloo 2', cursive;
    font-size:24px;
    font-weight:700;

    text-decoration:none;

    box-shadow:
        0 15px 35px rgba(243,79,175,.28);

    transition:.25s;
}

.sp-button:hover{

    transform:translateY(-3px);

}

.sp-button-yellow{

    background:#FFD54A;

    color:#444;

    border-radius:18px;

    box-shadow:
        0 15px 35px rgba(255,213,74,.25);

}

@media(max-width:990px){

.sp-hero{

    min-height:470px;

}

.sp-hero-title{

    font-size:3rem;

}

.sp-hero-text{

    font-size:1.1rem;

}

}

@media(max-width:768px){

.sp-hero{

    min-height:430px;

}

.sp-hero-content{

    text-align:center;

    max-width:100%;

}

.sp-hero-buttons{

    justify-content:center;

}

}

.sp-purple{

    color:#B37AE6;

    -webkit-text-stroke:3px rgba(255,255,255,.9);

    paint-order:stroke fill;

}

.sp-pink{

    color:#F45AA5;

    -webkit-text-stroke:3px rgba(255,255,255,.9);

    paint-order:stroke fill;

}

/* =======================================================
   HERO HEADING
======================================================= */

.sp-heading-title{

    font-family:'Baloo 2', cursive;

    font-weight:700;

    line-height:.88;

    letter-spacing:-1px;

    margin:0 0 30px;

}

.sp-line{

    display:block;

    color:#B67BF6;

    -webkit-text-stroke:4px #ffffff;

    text-shadow:
        0 4px 12px rgba(0,0,0,.12);

}

.sp-line-1{

    font-size:56px;

}

.sp-line-2{

    font-size:84px;

}

.sp-line-3{

    font-size:84px;

}

.sp-line{
    display:block;
}

.sp-line:nth-child(1){
    font-size:58px;
}

.sp-line:nth-child(2){
    font-size:82px;
}

.sp-line:nth-child(3){
    font-size:82px;
}

}

.sp-heading-subtitle{

    font-size:27px;

    color:#555;

    line-height:1.6;

    max-width:640px;

    margin-top:15px;

}

/* ==========================================================
   TRUST BAR
========================================================== */

.sp-trust-bar{
    background:#fff;
    padding:70px 0;
}

.sp-section-heading{
    text-align:center;
    max-width:720px;
    margin:0 auto 50px;
}

.sp-section-heading h2{
    font-family:'Baloo 2', cursive;
    font-size:42px;
    color:#A66AF7;
    margin:0 0 15px;
    line-height:1.2;
}

.sp-section-heading p{
    font-size:18px;
    color:#666;
    line-height:1.7;
    margin:0;
}

.sp-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.sp-trust-item{
    display:flex;
    align-items:flex-start;
    gap:16px;

    background:#fff;

    border:1px solid #F1E7FA;

    border-radius:18px;

    padding:22px;

    transition:all .3s ease;

    box-shadow:0 8px 20px rgba(166,106,247,.06);
}

.sp-trust-item:hover{
    transform:translateY(-4px);

    box-shadow:0 16px 30px rgba(166,106,247,.12);
}

.sp-trust-icon{
    flex-shrink:0;
}

.sp-icon{
    width:32px;
    height:32px;
    color:#A66AF7;
}

.sp-trust-content{
    flex:1;
}

.sp-trust-content h3{
    font-family:'Baloo 2', cursive;
    font-size:22px;
    color:#4A4453;
    margin:0 0 6px;
    line-height:1.2;
}

.sp-trust-content p{
    margin:0;
    font-size:15px;
    color:#777;
    line-height:1.5;
}

@media (max-width:1100px){

    .sp-trust-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:767px){

    .sp-trust-bar{
        padding:55px 0;
    }

    .sp-section-heading{
        margin-bottom:35px;
    }

    .sp-section-heading h2{
        font-size:34px;
    }

    .sp-section-heading p{
        font-size:16px;
    }

    .sp-trust-grid{
        grid-template-columns:1fr;
    }

}

/* ==========================================
   Sugarplum Popular Themes
========================================== */

.sp-popular-themes{
    padding:50px 20px;
}

.sp-popular-themes .sp-section-heading{
    text-align:center;
    margin-bottom:30px;
}

.sp-popular-themes .sp-section-heading h2{
    margin:0;
}

/* Grid */

.sp-themes-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* Card */

.sp-theme-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #eee8e3;
    transition:.3s ease;
}

.sp-theme-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(0,0,0,.08);
}

/* Whole card clickable */

.sp-theme-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

/* Image */

.sp-theme-image{
    height:220px;
    overflow:hidden;
    background:#f8f5f2;
}

.sp-theme-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s ease;
}

.sp-theme-card:hover img{
    transform:scale(1.05);
}

/* Content */

.sp-theme-content{
    padding:18px;
    text-align:center;
}

.sp-theme-content h3{
    margin:0;
    font-size:20px;
    font-weight:600;
    color:#3e3a39;
}

/* Button */

.sp-theme-card:hover .sp-theme-button{
    background:#b96a53;
}

/* Empty cards while building */

.sp-empty-card{
    height:320px;
    border:2px dashed #d8c7b5;
    border-radius:18px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:30px;
    background:#fcfaf8;
}

.sp-empty-icon{
    font-size:42px;
    margin-bottom:18px;
}

.sp-empty-card h3{
    margin:0 0 10px;
    font-size:26px;
}

.sp-empty-card p{
    margin:0;
    color:#777;
    max-width:220px;
    line-height:1.5;
}

/* No image available */

.sp-no-image{
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f4f1ee;
    color:#888;
    font-weight:600;
}

/* Tablet */

@media (max-width:990px){

    .sp-themes-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* Mobile */

@media (max-width:749px){

    .sp-popular-themes{
        padding:60px 20px;
    }

    .sp-themes-grid{
        grid-template-columns:1fr;
    }

    .sp-theme-image,
    .sp-no-image{
       height:200px;
    }

}

/* -------------------------------
   SugarPlum Popular Theme Badge
-------------------------------- */

.product-card-gallery {
    position: relative;
}

.sp-popular-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 20;

    background: #f3c32c;
    color: #3e3a39;

    padding: 6px 12px;
    border-radius: 999px;

    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    box-shadow: 0 4px 10px rgba(0,0,0,.15);
}