

/* ================================
   GLOBAL
================================ */

.wino-widget *{
    margin:0;
    padding:0;
    box-sizing:border-box;
}



.wino-widget{
    font-family:"Hind Siliguri",sans-serif;
    background:#fff;
}

.wino-widget button,
.wino-widget a{
    font-family:inherit;
}


/* ================================
   HERO SECTION
================================ */

.wino-widget .hero{
    min-height:100vh;

    position:relative;
    overflow:hidden;

    color:#fff;

    background:
        linear-gradient(
            90deg,
            rgba(55,0,5,.96) 0%,
            rgba(75,0,7,.85) 28%,
            rgba(74,0,7,.35) 52%,
            rgba(52,0,5,.08) 100%
        ),
        var(--wino-hero-image, none);

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}


/* HEADER */

.wino-widget .hero-header{
    width:100%;
    height:90px;

    display:flex;
    align-items:center;

    position:relative;
    z-index:10;

    background:
        rgba(120,0,14,.92);

    backdrop-filter:blur(8px);
}

.wino-widget .hero-container{
    width:min(1400px,90%);
    margin:auto;
}

.wino-widget .navbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
}


/* LOGO */

.wino-widget .logo{
    color:#fff;
    text-decoration:none;

    display:flex;
    flex-direction:column;

    align-items:center;

    line-height:1;
}

.wino-widget .logo-heart{
    font-size:22px;
    margin-bottom:2px;
}

.wino-widget .logo-name{
    font-family:Georgia,serif;

    font-size:40px;
    letter-spacing:2px;
}

.wino-widget .logo-tagline{
    font-family:Arial,sans-serif;

    font-size:8px;

    margin-top:4px;

    opacity:.9;
}


/* HEADER BUTTON */

.wino-widget .header-order{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:15px;

    padding:11px 28px;

    border-radius:50px;

    background:#fff;

    color:#8b0715;

    text-decoration:none;

    font-size:19px;
    font-weight:700;

    transition:.3s;
}

.wino-widget .header-order:hover{

    transform:translateY(-2px);

    background:#ff3652;

    color:#fff;
}


/* HERO CONTENT */

.wino-widget .hero-inner{

    min-height:
        calc(100vh - 90px);

    display:flex;
    align-items:center;

    position:relative;
    z-index:2;
}

.wino-widget .hero-content{

    width:50%;
    max-width:690px;

    padding:
        55px 0
        90px;
}


/* LACE BRALLETE */

.wino-widget .hero-eyebrow{

    font-family:
        "Playfair Display",
        serif;

    font-style:italic;

    color:#ff8996;

    font-size:
        clamp(38px,4vw,64px);

    margin-bottom:10px;
}


/* MAIN TITLE */

.wino-widget .hero-title{

    font-size:
        clamp(50px,5.7vw,88px);

    font-weight:700;

    line-height:.98;

    letter-spacing:-2px;

    margin-bottom:22px;
}

.wino-widget .hero-title span{
    color:#ff7f8e;
}


/* SUB TITLE */

.wino-widget .hero-subtitle{

    color:#ffc0c6;

    font-size:
        clamp(23px,2vw,34px);

    margin-bottom:25px;
}


/* HANDWRITING TEXT */

.wino-widget .confidence{

    width:max-content;

    margin:
        20px 0
        35px 80px;

    font-family:
        "Playfair Display",
        serif;

    font-style:italic;

    font-size:28px;

    line-height:1.2;

    transform:rotate(-5deg);
}


/* HERO ORDER BUTTON */

.wino-widget .hero-order{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:28px;

    min-width:270px;

    padding:
        12px 14px
        12px 35px;

    border-radius:60px;

    background:
        linear-gradient(
            135deg,
            #e31c3b,
            #ad071d
        );

    color:#fff;

    text-decoration:none;

    font-size:25px;
    font-weight:700;

    box-shadow:
        0 12px 35px
        rgba(0,0,0,.3);

    transition:.3s;
}

.wino-widget .hero-order:hover{
    transform:translateY(-3px);
}

.wino-widget .hero-arrow{

    width:43px;
    height:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fff;

    color:#ae071c;

    font-family:Arial,sans-serif;

    font-size:24px;
}


/* HERO FEATURES */

.wino-widget .hero-features{

    display:flex;
    align-items:center;

    margin-top:28px;

    color:#fff;

    font-size:16px;
}

.wino-widget .hero-feature{

    display:flex;
    align-items:center;
}

.wino-widget .hero-feature:not(:last-child)::after{

    content:"";

    width:1px;
    height:20px;

    background:
        rgba(255,255,255,.7);

    margin:0 20px;
}


/* ================================
   FEATURE SECTION
================================ */

.wino-widget .wino-features{

    width:100%;

    position:relative;
    overflow:hidden;

    padding:
        75px 25px
        60px;

    background:
        linear-gradient(
            rgba(255,248,248,.80),
            rgba(255,244,245,.88)
        ),
        var(--wino-section-image, none);

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.wino-widget .feature-container{

    width:100%;
    max-width:1450px;

    margin:auto;
}


/* FEATURE HEADING */

.wino-widget .feature-header{

    text-align:center;

    margin-bottom:50px;
}

.wino-widget .feature-small-title{

    display:flex;

    align-items:center;
    justify-content:center;

    gap:15px;

    margin-bottom:14px;

    color:#9d0b18;

    font-family:Arial,sans-serif;

    font-size:12px;
    font-weight:600;

    letter-spacing:5px;
}

.wino-widget .feature-small-title::before,
.wino-widget .feature-small-title::after{

    content:"";

    width:65px;
    height:1px;

    background:#a81020;
}

.wino-widget .feature-header h2{

    color:#920b17;

    font-size:
        clamp(38px,4vw,60px);

    line-height:1.1;

    margin-bottom:10px;
}

.wino-widget .feature-header h2 span{
    color:#d52e43;
}

.wino-widget .feature-header > p{

    color:#777;

    font-size:21px;
}


/* FEATURE LIST */

.wino-widget .feature-list{

    display:grid;

    grid-template-columns:
        repeat(5,1fr);

    margin-bottom:60px;
}

.wino-widget .feature-item{

    position:relative;

    text-align:center;

    padding:0 25px;
}

.wino-widget .feature-item:not(:last-child)::after{

    content:"";

    position:absolute;

    right:0;
    top:35px;

    width:1px;
    height:145px;

    background:#ecd0d3;
}


/* ICON */

.wino-widget .feature-icon{

    width:115px;
    height:115px;

    margin:
        0 auto
        16px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fbe1e3;

    color:#a30c1b;

    font-family:Arial,sans-serif;

    font-size:45px;
}

.wino-widget .feature-item h3{

    color:#940d19;

    font-size:22px;
    font-weight:700;

    margin-bottom:7px;
}

.wino-widget .feature-item p{

    max-width:210px;

    margin:auto;

    color:#686868;

    font-size:17px;

    line-height:1.45;
}


/* ================================
   PRODUCT DETAILS
================================ */

.wino-widget .product-details{

    display:grid;

    grid-template-columns:
        minmax(0,1.1fr)
        minmax(300px,.8fr)
        minmax(0,1.1fr);

    align-items:center;

    gap:40px;
}


/* IMAGE CARD */

.wino-widget .product-image{

    position:relative;

    height:440px;

    overflow:hidden;

    border-radius:24px;

    background:#70000a;

    box-shadow:
        0 15px 40px
        rgba(110,0,10,.08);
}

.wino-widget .product-image img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .6s ease;
}

.wino-widget .product-image:hover img{
    transform:scale(1.04);
}


/* IMAGE TITLE */

.wino-widget .image-title{

    position:absolute;

    top:30px;
    left:30px;

    color:#fff;

    font-family:
        "Playfair Display",
        serif;

    font-size:26px;
    font-style:italic;

    line-height:1.15;

    transform:rotate(-5deg);

    text-shadow:
        0 3px 12px
        rgba(0,0,0,.3);
}

.wino-widget .right-image .image-title{

    left:auto;
    right:30px;

    text-align:right;
}


/* IMAGE BUTTON */

.wino-widget .image-btn{

    position:absolute;

    left:25px;
    bottom:25px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:
        9px 20px;

    border:
        2px solid #fff;

    border-radius:50px;

    background:
        rgba(145,5,20,.85);

    color:#fff;

    font-size:16px;

    cursor:pointer;

    transition:.3s;
}

.wino-widget .image-btn:hover{

    background:#fff;

    color:#9c0918;
}

.wino-widget .right-image .image-btn{

    left:auto;
    right:25px;
}


/* CENTER DETAILS */

.wino-widget .center-content{
    text-align:center;
}

.wino-widget .quality-title{

    color:#a70d1c;

    font-family:Arial,sans-serif;

    font-size:11px;
    font-weight:600;

    letter-spacing:5px;

    margin-bottom:18px;
}

.wino-widget .center-content h3{

    color:#111;

    font-size:41px;

    line-height:1.12;

    margin-bottom:18px;
}

.wino-widget .center-content h3 .details-script{
    font-family:"Playfair Display",serif;
    font-style:italic;
    font-weight:500;
}

.wino-widget .center-content h3 span{

    display:block;

    color:#d42e43;
}

.wino-widget .center-content > p{

    max-width:420px;

    margin:
        0 auto
        25px;

    color:#666;

    font-size:18px;

    line-height:1.6;
}


/* MAIN ORDER BUTTON */

.wino-widget .order-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:25px;

    padding:
        12px 14px
        12px 35px;

    border:0;

    border-radius:50px;

    background:
        linear-gradient(
            135deg,
            #cf1730,
            #970614
        );

    color:#fff;

    font-size:24px;
    font-weight:700;

    cursor:pointer;

    box-shadow:
        0 12px 30px
        rgba(150,0,20,.25);

    transition:.3s;
}

.wino-widget .order-btn:hover{

    transform:
        translateY(-3px);
}

.wino-widget .order-arrow{

    width:42px;
    height:42px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fff;

    color:#a20b19;

    font-family:Arial,sans-serif;

    font-size:24px;
}


/* TAGLINE */

.wino-widget .bottom-tagline{

    margin-top:35px;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:12px;

    color:#a20b19;

    font-family:Arial,sans-serif;

    font-size:10px;

    letter-spacing:4px;
}

.wino-widget .bottom-tagline::before,
.wino-widget .bottom-tagline::after{

    content:"";

    width:40px;
    height:1px;

    background:#ae0d1d;
}


/* ================================
   TABLET
================================ */

@media(max-width:1050px){

    /* HERO */

    .wino-widget .hero-content{
        width:58%;
    }


    /* FEATURES */

    .wino-widget .feature-list{

        grid-template-columns:
            repeat(3,1fr);

        gap:40px 10px;
    }

    .wino-widget .feature-item::after{
        display:none;
    }


    /* DETAILS */

    .wino-widget .product-details{

        grid-template-columns:
            1fr 1fr;

        gap:25px;
    }

    .wino-widget .center-content{

        grid-column:1/-1;

        grid-row:1;

        max-width:650px;

        margin:auto;

        padding-bottom:15px;
    }

    .wino-widget .product-image{
        height:400px;
    }

}


/* ================================
   MOBILE
================================ */

@media(max-width:700px){

    /* =================
       HERO MOBILE
    ================= */

    .wino-widget .hero{
        /* Keep the image height independent of the text below it. */
        --hero-image-height:clamp(360px,100vw,480px);
        min-height:0;
        background:#570008;
    }

    .wino-widget .hero::before{
        content:"";
        position:absolute;
        top:70px;
        left:0;
        width:100%;
        height:var(--hero-image-height);
        pointer-events:none;
        background-image:
            linear-gradient(
                180deg,
                rgba(87,0,8,0) 50%,
                rgba(87,0,8,.55) 78%,
                #570008 100%
            ),
            var(--wino-hero-image, none);
        background-size:100% 100%,cover;
        /* The model is on the right side of the original image. */
        background-position:center,80% top;
        background-repeat:no-repeat;
    }

    .wino-widget .hero-header{
        height:70px;
    }

    .wino-widget .hero-container{
        width:91%;
    }

    .wino-widget .logo-heart{
        font-size:15px;
    }

    .wino-widget .logo-name{
        font-size:28px;
    }

    .wino-widget .logo-tagline{
        font-size:6px;
    }

    .wino-widget .header-order{

        padding:
            8px 15px;

        font-size:14px;

        gap:8px;
    }

    .wino-widget .hero-inner{

        min-height:0;

        align-items:flex-end;
    }

    .wino-widget .hero-content{

        width:100%;

        max-width:none;

        padding:
            calc(var(--hero-image-height) - 20px) 0
            55px;

        text-align:center;
    }

    .wino-widget .hero-eyebrow{
        font-size:35px;
    }

    .wino-widget .hero-title{

        font-size:46px;

        letter-spacing:-1px;
    }

    .wino-widget .hero-subtitle{
        font-size:21px;
    }

    .wino-widget .confidence{

        margin:
            20px auto
            30px;

        font-size:23px;
    }

    .wino-widget .hero-order{

        min-width:235px;

        font-size:21px;
    }

    .wino-widget .hero-features{

        justify-content:center;

        flex-wrap:wrap;

        row-gap:8px;

        font-size:13px;
    }

    .wino-widget .hero-feature:not(:last-child)::after{

        margin:0 9px;
    }


    /* =================
       FEATURE MOBILE
    ================= */

    .wino-widget .wino-features{

        padding:
            50px 16px
            42px;
    }

    .wino-widget .feature-header{
        margin-bottom:38px;
    }

    .wino-widget .feature-small-title{

        font-size:9px;

        letter-spacing:3px;

        gap:8px;
    }

    .wino-widget .feature-small-title::before,
.wino-widget .feature-small-title::after{

        width:30px;
    }

    .wino-widget .feature-header h2{
        font-size:34px;
    }

    .wino-widget .feature-header > p{

        font-size:16px;

        line-height:1.5;
    }


    /* FEATURES 2 COLUMNS */

    .wino-widget .feature-list{

        grid-template-columns:
            repeat(2,1fr);

        gap:32px 10px;

        margin-bottom:45px;
    }

    .wino-widget .feature-item{
        padding:0 5px;
    }

    .wino-widget .feature-icon{

        width:85px;
        height:85px;

        font-size:35px;

        margin-bottom:12px;
    }

    .wino-widget .feature-item h3{
        font-size:18px;
    }

    .wino-widget .feature-item p{

        max-width:150px;

        font-size:14px;
    }

    .wino-widget .feature-item:last-child{

        grid-column:1/-1;

        max-width:200px;

        margin:auto;
    }


    /* PRODUCT DETAILS */

    .wino-widget .product-details{

        display:flex;

        flex-direction:column;

        gap:25px;
    }

    .wino-widget .center-content{

        order:1;

        padding:5px 5px 10px;
    }

    .wino-widget .left-image{
        order:2;
    }

    .wino-widget .right-image{
        order:3;
    }

    .wino-widget .center-content h3{
        font-size:33px;
    }

    .wino-widget .center-content > p{
        font-size:16px;
    }

    .wino-widget .product-image{

        width:100%;

        height:350px;

        border-radius:18px;
    }

    .wino-widget .image-title{

        top:22px;
        left:22px;

        font-size:22px;
    }

    .wino-widget .right-image .image-title{

        left:auto;
        right:22px;
    }

    .wino-widget .order-btn{

        font-size:21px;

        padding:
            10px 12px
            10px 30px;
    }

    .wino-widget .bottom-tagline{

        font-size:8px;

        letter-spacing:2px;
    }

}


/* ================================
   SMALL MOBILE
================================ */

@media(max-width:380px){

    .wino-widget .hero-title{
        font-size:40px;
    }

    .wino-widget .feature-header h2{
        font-size:30px;
    }

    .wino-widget .feature-list{
        grid-template-columns:1fr;
    }

    .wino-widget .feature-item:last-child{
        grid-column:auto;
    }

    .wino-widget .product-image{
        height:310px;
    }

}


/* Product image viewer */
.wino-widget .image-viewer{width:min(960px,96vw);max-width:96vw;height:90vh;height:90dvh;max-height:94vh;margin:auto;padding:0;border:1px solid #73313b;border-radius:16px;background:#24050a;color:#fff;overflow:hidden;}
.wino-widget .image-viewer::backdrop{background:rgba(0,0,0,.85);}
.wino-widget .viewer-layout{height:100%;display:flex;flex-direction:column;}
.wino-widget .viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;flex-wrap:wrap;background:#570008;}
.wino-widget .viewer-title{font-size:18px;margin:0;}
.wino-widget .viewer-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.wino-widget .viewer-controls button{min-width:44px;min-height:44px;padding:6px 12px;background:#fff;color:#70000a;border:0;border-radius:8px;cursor:pointer;font-size:18px;}
.wino-widget .viewer-controls button:disabled{opacity:.45;cursor:default;}
.wino-widget .viewer-controls button:focus-visible{outline:3px solid #ff8996;outline-offset:2px;}
.wino-widget .viewer-zoom{min-width:48px;text-align:center;}
.wino-widget .viewer-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab;}
.wino-widget .viewer-stage:active{cursor:grabbing;}
.wino-widget .viewer-image{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;transform-origin:center;user-select:none;-webkit-user-select:none;}
.wino-widget .viewer-help{text-align:center;padding:8px 12px;font-size:14px;background:#570008;}


/* Minimal WINO footer */
.wino-widget .wino-footer{background:#570008;color:#f6cbd2;padding:30px 24px;border-top:1px solid #ffffff18}
.wino-widget .wino-footer-inner{max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wino-widget .wino-footer-brand{display:inline-flex;align-items:center;gap:15px;text-decoration:none;color:#fff}
.wino-widget .wino-footer-wordmark{font:27px Georgia,serif;letter-spacing:3px;white-space:nowrap}
.wino-widget .wino-footer-heart{color:#ff8996;font-size:25px;letter-spacing:0;margin-right:7px}
.wino-widget .wino-footer-tagline{font:italic 14px "Playfair Display",serif;color:#f6cbd2;border-left:1px solid #ffffff30;padding-left:15px;line-height:1.5}
.wino-widget .wino-footer-meta{display:flex;align-items:center;gap:22px}
.wino-widget .wino-footer-copy{font-size:13px;color:#f1b8c2}
.wino-widget .wino-footer-top{width:38px;height:38px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;font:19px Arial,sans-serif;transition:background .2s}
.wino-widget .wino-footer-top:hover{background:#ffffff16}
.wino-widget .wino-footer a:focus-visible{outline:2px solid #ffb4c2;outline-offset:5px}
@media(max-width:700px){.wino-widget .wino-footer{padding:27px 20px}.wino-widget .wino-footer-inner{flex-direction:column;gap:20px}.wino-widget .wino-footer-brand{flex-direction:column;gap:7px}.wino-widget .wino-footer-tagline{border:0;padding:0}.wino-widget .wino-footer-meta{gap:16px}.wino-widget .wino-footer-copy{font-size:12px}.wino-widget .wino-footer-top{width:32px;height:32px;font-size:17px}}
@media(prefers-reduced-motion:reduce){.wino-widget .wino-footer-top{transition:none}}


/* Integration and accessibility: never style the intervening WooCommerce form. */
.wino-widget{width:100%;margin:0;padding:0;line-height:1.5;isolation:isolate;}
.wino-widget :where(h1,h2,h3,p){font-family:inherit;}
.wino-widget a{text-decoration:none;}
.wino-widget [hidden]{display:none!important;}
.wino-widget a:focus-visible,.wino-widget button:focus-visible{outline:3px solid #ff8996;outline-offset:4px;}
.wino-widget .viewer-action{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 12px;background:#fff;color:#70000a;border-radius:8px;font-size:18px;}
.wino-widget .hero,.wino-widget .wino-features{scroll-margin-top:32px;}
@media(max-width:400px){.wino-widget .viewer-toolbar{flex-wrap:wrap;}.wino-widget .viewer-controls{gap:4px;}.wino-widget .viewer-controls button,.wino-widget .viewer-action{padding:6px;}.wino-widget .confidence{max-width:100%;}.wino-widget .hero-order{min-width:0;max-width:100%;}}
@media(prefers-reduced-motion:reduce){.wino-widget *{transition:none!important;animation:none!important;}}
