.wowrsvp-product-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

.wowrsvp-product-card h3 {
    margin-top: 0;
    margin-bottom: 15px;
}

.wowrsvp-status {
    margin: 15px 0;
    color: #666;
}

.wowrsvp-start {
    background: #111;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    cursor: pointer;
    transition: .25s;
}

.wowrsvp-start:hover {
    background: #444;
}

/* ===================================================
   DRAWER
=================================================== */

#wowrsvp-drawer-overlay {

    position: fixed;
    inset: 0;

    background: rgba(0,0,0,.45);

    opacity: 0;
    visibility: hidden;

    transition: .3s;

    z-index: 9998;

}

#wowrsvp-drawer-overlay.open {

    opacity: 1;
    visibility: visible;

}

#wowrsvp-drawer {

    position: fixed;

    top: 0;
    right: -100%;

    width: 700px;
    max-width: 95vw;

    height: 100vh;

    background: #ffffff;

    z-index: 9999;

    transition: right .35s ease;

    display: flex;
    flex-direction: column;

    box-shadow: -8px 0 30px rgba(0,0,0,.15);

}

#wowrsvp-drawer.open {

    right: 0;

}

.wowrsvp-drawer-header{

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:24px 30px;

    border-bottom:1px solid #ececec;

}

.wowrsvp-drawer-header h2{

    margin:0;
    font-size:32px;
    font-weight:600;

}

#wowrsvp-close{

    border:none;
    background:none;
    font-size:34px;
    cursor:pointer;
    line-height:1;

}

.wowrsvp-drawer-body {

    flex: 1;

    overflow-y: auto;

    padding: 25px;

}

#wowrsvp-close {

    border: none;

    background: none;

    font-size: 34px;

    cursor: pointer;

    line-height: 1;

}

@media (max-width:768px){

    .wowrsvp-drawer-header{

        padding:20px 22px;

    }

    .wowrsvp-drawer-header h2{

        font-size:22px;

    }

}

.wowrsvp-drawer-body {
    padding: 0;
    overflow: hidden;
}

.wowrsvp-drawer-body iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* ==========================================
   PRODUCT CARD LAYOUT
========================================== */

.wowrsvp-product-header{
    display:grid;
    grid-template-columns:140px 1fr;
    gap:24px;
    align-items:center;
}

.wowrsvp-product-thumb img{
    display:block;
    width:100%;
    height:auto;
    border-radius:8px;
}

.wowrsvp-product-info{
    min-width:0;
}

.wowrsvp-product-info h3{
    margin:0 0 12px;
}

.wowrsvp-start{
    width:100%;
    max-width:320px;
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px){

    .wowrsvp-product-card{
        padding:20px !important;
    }

    .wowrsvp-product-header{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .wowrsvp-product-thumb{
        width:120px !important;
        margin:0 auto 5px !important;
    }

    .wowrsvp-product-thumb img{
        display:block !important;
        width:100% !important;
        height:auto !important;
    }

    .wowrsvp-product-info{
        width:100% !important;
        text-align:center !important;
    }

    .wowrsvp-product-info h3{
        margin:0 0 12px !important;
        text-align:center !important;
    }

    .wowrsvp-status{
        text-align:center !important;
        margin-bottom:12px !important;
    }

    .wowrsvp-start{
        display:block !important;
        width:100% !important;
        max-width:280px !important;
        margin:8px auto 0 !important;
    }

    .wowrsvp-support-note{
        text-align:center !important;
        margin-top:10px !important;
        font-size:14px !important;
        line-height:1.5 !important;
    }

}

/* ==========================================
   Status Color
========================================== */

.wowrsvp-status{
    margin:15px 0;
    color:#666;
}

.wowrsvp-status span{
    color:#666;
}

.wowrsvp-status strong{
    margin-left:4px;
}

.wowrsvp-status-completed{
    color:#4CAF50;
}

.wowrsvp-status-not-started{
    color:#E67E22;
}