/*
|--------------------------------------------------------------------------
| HYRO ONE Experience
|--------------------------------------------------------------------------
| Product : HYRO ONE SPA
| File    : spa.css
|--------------------------------------------------------------------------
*/

.spa-product-hero{
    position:relative;
    overflow:hidden;
    padding:96px 0 110px;
    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(236,72,153,.16),
            transparent 32%
        ),
        radial-gradient(
            circle at 87% 18%,
            rgba(192,132,252,.22),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            var(--hyro-soft-background) 100%
        );
}

.spa-product-hero::before{
    content:"";
    position:absolute;
    width:440px;
    height:440px;
    left:-260px;
    bottom:-300px;
    border-radius:50%;
    background:rgba(236,72,153,.08);
}

.spa-product-hero::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-300px;
    top:-310px;
    border-radius:50%;
    background:rgba(139,92,246,.08);
}

.spa-product-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:72px;
}

.spa-product-badge{
    width:fit-content;
    padding:9px 14px;
    border:1px solid var(--hyro-border);
    border-radius:999px;
    color:var(--hyro-primary);
    background:rgba(255,255,255,.88);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.spa-product-hero h1{
    margin:22px 0 18px;
    color:var(--hyro-text);
    font-size:clamp(43px,5.7vw,72px);
    line-height:1.06;
    letter-spacing:-2.8px;
}

.spa-product-hero h1 span{
    display:block;
    color:transparent;
    background:var(--hyro-gradient);
    background-clip:text;
    -webkit-background-clip:text;
}

.spa-product-subtitle{
    margin:0;
    max-width:650px;
    color:var(--hyro-muted);
    font-size:18px;
    line-height:1.8;
}

.spa-product-actions{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:32px;
}

.spa-product-proof{
    display:flex;
    flex-wrap:wrap;
    gap:10px 21px;
    margin-top:25px;
    color:var(--hyro-muted);
    font-size:13px;
}

/* SPA application preview */

.spa-app-preview{
    position:relative;
    padding:20px;
    border:1px solid rgba(243,232,255,.95);
    border-radius:28px;
    background:rgba(255,255,255,.9);
    box-shadow:0 30px 90px rgba(139,92,246,.18);
    backdrop-filter:blur(18px);
}

.spa-preview-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:16px;
}

.spa-preview-brand{
    color:var(--hyro-text);
    font-size:14px;
    font-weight:700;
}

.spa-preview-online{
    padding:7px 10px;
    border-radius:999px;
    color:#15803d;
    background:#f0fdf4;
    font-size:9px;
    font-weight:700;
}

.spa-preview-welcome{
    padding:22px;
    border-radius:19px;
    color:#ffffff;
    background:var(--hyro-gradient);
}

.spa-preview-welcome small,
.spa-preview-welcome strong,
.spa-preview-welcome span{
    display:block;
}

.spa-preview-welcome small{
    font-size:11px;
    opacity:.85;
}

.spa-preview-welcome strong{
    margin-top:8px;
    font-size:25px;
}

.spa-preview-welcome span{
    margin-top:7px;
    font-size:11px;
    opacity:.88;
}

.spa-preview-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:14px;
}

.spa-preview-stat{
    padding:16px;
    border:1px solid var(--hyro-border);
    border-radius:15px;
    background:#ffffff;
}

.spa-preview-stat span,
.spa-preview-stat strong,
.spa-preview-stat small{
    display:block;
}

.spa-preview-stat span{
    color:var(--hyro-muted);
    font-size:9px;
}

.spa-preview-stat strong{
    margin-top:8px;
    color:var(--hyro-text);
    font-size:20px;
}

.spa-preview-stat small{
    margin-top:5px;
    color:var(--hyro-primary);
    font-size:8px;
}

.spa-preview-content{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:12px;
    margin-top:12px;
}

.spa-preview-panel{
    min-height:205px;
    padding:17px;
    border:1px solid var(--hyro-border);
    border-radius:16px;
    background:#ffffff;
}

.spa-preview-panel-title{
    color:var(--hyro-text);
    font-size:11px;
    font-weight:700;
}

.spa-preview-bars{
    height:135px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:8px;
    margin-top:22px;
}

.spa-preview-bars span{
    width:100%;
    border-radius:7px 7px 2px 2px;
    background:linear-gradient(
        180deg,
        var(--hyro-secondary),
        var(--hyro-primary)
    );
}

.spa-preview-appointment{
    margin-top:13px;
    padding:11px;
    border-radius:10px;
    background:var(--hyro-soft-background);
}

.spa-preview-appointment span,
.spa-preview-appointment strong{
    display:block;
}

.spa-preview-appointment span{
    color:var(--hyro-primary);
    font-size:8px;
}

.spa-preview-appointment strong{
    margin-top:4px;
    color:var(--hyro-text);
    font-size:9px;
}

/* Quick benefits strip */

.spa-quick-benefits{
    padding:34px 0;
    border-top:1px solid var(--hyro-border);
    border-bottom:1px solid var(--hyro-border);
    background:#ffffff;
}

.spa-quick-benefits-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.spa-quick-benefit{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px;
    border:1px solid var(--hyro-border);
    border-radius:16px;
    background:#ffffff;
}

.spa-quick-benefit-icon{
    width:43px;
    height:43px;
    flex:0 0 43px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hyro-soft-background);
    font-size:20px;
}

.spa-quick-benefit strong,
.spa-quick-benefit span{
    display:block;
}

.spa-quick-benefit strong{
    color:var(--hyro-text);
    font-size:13px;
}

.spa-quick-benefit span{
    margin-top:4px;
    color:var(--hyro-muted);
    font-size:10px;
    line-height:1.5;
}

@media(max-width:960px){

    .spa-product-hero-grid{
        grid-template-columns:1fr;
    }

    .spa-product-hero-content{
        text-align:center;
    }

    .spa-product-badge{
        margin:0 auto;
    }

    .spa-product-subtitle{
        margin:0 auto;
    }

    .spa-product-actions,
    .spa-product-proof{
        justify-content:center;
    }

    .spa-quick-benefits-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){

    .spa-product-hero{
        padding:68px 0 75px;
    }

    .spa-product-hero h1{
        letter-spacing:-1.6px;
    }

    .spa-product-actions{
        flex-direction:column;
    }

    .spa-product-actions .hyro-button{
        width:100%;
    }

    .spa-preview-stats,
    .spa-preview-content{
        grid-template-columns:1fr;
    }

    .spa-preview-panel:first-child{
        display:none;
    }

    .spa-quick-benefits-grid{
        grid-template-columns:1fr;
    }
}


/* ==========================================
   HYRO ONE SPA Core Features
========================================== */

.spa-features-section{
    padding:105px 0;
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        var(--hyro-soft-background) 100%
    );
}

.spa-features-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.spa-feature-card{
    padding:28px;
    border:1px solid var(--hyro-border);
    border-radius:24px;
    display:flex;
    align-items:flex-start;
    gap:20px;
    background:#ffffff;
    box-shadow:0 14px 45px rgba(139,92,246,.06);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.spa-feature-card:hover{
    transform:translateY(-5px);
    border-color:rgba(236,72,153,.34);
    box-shadow:var(--hyro-shadow);
}

.spa-feature-card.featured{
    border-color:rgba(236,72,153,.38);
    box-shadow:0 18px 55px rgba(236,72,153,.11);
}

.spa-feature-icon{
    width:62px;
    height:62px;
    flex:0 0 62px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hyro-soft-background);
    font-size:29px;
}

.spa-feature-content{
    flex:1;
}

.spa-feature-content h3{
    margin:2px 0 11px;
    color:var(--hyro-text);
    font-size:21px;
}

.spa-feature-content p{
    margin:0;
    color:var(--hyro-muted);
    font-size:13px;
    line-height:1.75;
}

.spa-feature-content ul{
    margin:20px 0 0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 15px;
    list-style:none;
}

.spa-feature-content li{
    position:relative;
    padding-left:20px;
    color:var(--hyro-text);
    font-size:12px;
    line-height:1.5;
}

.spa-feature-content li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--hyro-primary);
    font-weight:700;
}

.spa-features-cta{
    margin-top:35px;
    padding:24px 27px;
    border:1px solid var(--hyro-border);
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:#ffffff;
}

.spa-features-cta span,
.spa-features-cta strong{
    display:block;
}

.spa-features-cta span{
    color:var(--hyro-primary);
    font-size:11px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.spa-features-cta strong{
    margin-top:6px;
    color:var(--hyro-text);
    font-size:18px;
    line-height:1.4;
}

@media(max-width:900px){

    .spa-features-grid{
        grid-template-columns:1fr;
    }

    .spa-features-cta{
        flex-direction:column;
        align-items:flex-start;
    }

}

@media(max-width:560px){

    .spa-features-section{
        padding:70px 0;
    }

    .spa-feature-card{
        flex-direction:column;
        padding:22px;
    }

    .spa-feature-content ul{
        grid-template-columns:1fr;
    }

    .spa-features-cta{
        padding:22px;
    }

    .spa-features-cta .hyro-button{
        width:100%;
    }

}


/* ==========================================
   HYRO ONE SPA Daily Workflow
========================================== */

.spa-workflow-section{
    padding:110px 0;
    overflow:hidden;
    background:#ffffff;
}

.spa-workflow-layout{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    align-items:center;
    gap:75px;
}

.spa-workflow-content h2{
    margin:14px 0 20px;
    color:var(--hyro-text);
    font-size:clamp(35px,4.4vw,56px);
    line-height:1.12;
    letter-spacing:-2px;
}

.spa-workflow-content > p{
    margin:0;
    color:var(--hyro-muted);
    font-size:16px;
    line-height:1.85;
}

.spa-workflow-steps{
    margin-top:34px;
    display:flex;
    flex-direction:column;
    gap:21px;
}

.spa-workflow-step{
    display:flex;
    align-items:flex-start;
    gap:15px;
}

.spa-workflow-number{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffffff;
    background:var(--hyro-gradient);
    font-size:13px;
    font-weight:700;
    box-shadow:0 10px 25px rgba(236,72,153,.18);
}

.spa-workflow-step h3{
    margin:1px 0 6px;
    color:var(--hyro-text);
    font-size:16px;
}

.spa-workflow-step p{
    margin:0;
    color:var(--hyro-muted);
    font-size:12px;
    line-height:1.65;
}

/* Workflow dashboard */

.spa-workflow-visual{
    position:relative;
}

.spa-workflow-visual::before{
    content:"";
    position:absolute;
    width:470px;
    height:470px;
    top:50%;
    left:50%;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(192,132,252,.19),
        rgba(236,72,153,.05) 58%,
        transparent 72%
    );
    transform:translate(-50%,-50%);
}

.spa-workflow-dashboard{
    position:relative;
    z-index:2;
    padding:30px;
    border:1px solid var(--hyro-border);
    border-radius:28px;
    background:#ffffff;
    box-shadow:0 30px 90px rgba(139,92,246,.16);
}

.spa-workflow-dashboard-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-bottom:22px;
    border-bottom:1px solid var(--hyro-border);
}

.spa-workflow-dashboard-header small,
.spa-workflow-dashboard-header strong{
    display:block;
}

.spa-workflow-dashboard-header small{
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-workflow-dashboard-header strong{
    margin-top:5px;
    color:var(--hyro-text);
    font-size:20px;
}

.spa-workflow-dashboard-header > span{
    padding:8px 12px;
    border-radius:999px;
    color:#15803d;
    background:#f0fdf4;
    font-size:10px;
    font-weight:700;
}

.spa-workflow-progress{
    margin-top:25px;
    display:flex;
    flex-direction:column;
    gap:17px;
}

.spa-progress-row{
    padding:16px;
    border:1px solid var(--hyro-border);
    border-radius:16px;
    display:flex;
    align-items:center;
    gap:14px;
    background:#ffffff;
}

.spa-progress-icon{
    width:47px;
    height:47px;
    flex:0 0 47px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hyro-soft-background);
    font-size:21px;
}

.spa-progress-details{
    flex:1;
}

.spa-progress-details strong,
.spa-progress-details span{
    display:block;
}

.spa-progress-details strong{
    color:var(--hyro-text);
    font-size:13px;
}

.spa-progress-details span{
    margin-top:4px;
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-progress-bar{
    height:7px;
    margin-top:10px;
    border-radius:999px;
    overflow:hidden;
    background:#f3e8ff;
}

.spa-progress-bar i{
    display:block;
    height:100%;
    border-radius:999px;
    background:var(--hyro-gradient);
}

.spa-workflow-summary{
    margin-top:17px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:13px;
}

.spa-workflow-summary > div{
    padding:17px;
    border-radius:16px;
    background:var(--hyro-soft-background);
}

.spa-workflow-summary span,
.spa-workflow-summary strong{
    display:block;
}

.spa-workflow-summary span{
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-workflow-summary strong{
    margin-top:7px;
    color:var(--hyro-text);
    font-size:20px;
}

.spa-workflow-status{
    margin-top:17px;
    padding:13px 15px;
    border-radius:13px;
    color:#166534;
    background:#f0fdf4;
    font-size:11px;
    font-weight:600;
}

.spa-workflow-status span{
    width:8px;
    height:8px;
    margin-right:8px;
    border-radius:50%;
    display:inline-block;
    background:#22c55e;
}

@media(max-width:960px){

    .spa-workflow-layout{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    .spa-workflow-section{
        padding:72px 0;
    }

    .spa-workflow-dashboard{
        padding:20px;
    }

    .spa-workflow-summary{
        grid-template-columns:1fr;
    }

}