/*
Theme Name: Sea of Cards Child
Theme URI: https://example.com/
Description: Child theme starter voor Sea of Cards EXPO.
Author: Perplexity
Template: twentytwentyfour
Version: 1.1.0
*/

:root{
    --bg1:#fff7fb;
    --bg2:#ffe8f1;
    --bg3:#ffd8e8;
    --ink:#3f2b38;
    --muted:#7c6270;
    --pink:#ff8db5;
    --pink-dark:#ea5e92;
    --rose:#f8b6cc;
    --lavender:#d8c9ff;
    --line:rgba(113,72,92,.16);
    --card:rgba(255,255,255,.62);
    --card-strong:rgba(255,255,255,.78);
    --shadow:0 20px 60px rgba(160,95,128,.18);
    --radius:24px;
    --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:var(--ink);
    min-height:100vh;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 12% 14%, rgba(255,255,255,.92), transparent 18%),
        radial-gradient(circle at 88% 10%, rgba(216,201,255,.45), transparent 16%),
        linear-gradient(180deg,var(--bg1) 0%,var(--bg2) 52%,var(--bg3) 100%);
    position:relative;
}

a{color:inherit;text-decoration:none}

.soc-container{
    width:min(calc(100% - 32px),var(--max));
    margin:0 auto;
    position:relative;
    z-index:2;
}

.soc-scene{
    position:fixed;
    inset:0;
    overflow:hidden;
    z-index:0;
    pointer-events:none;
}

.soc-glow{
    position:absolute;
    inset:-10%;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.66), transparent 24%),
        radial-gradient(circle at 75% 16%, rgba(255,141,181,.22), transparent 18%),
        radial-gradient(circle at 50% 36%, rgba(216,201,255,.18), transparent 28%);
    animation:soc-drift 18s ease-in-out infinite alternate;
}

.soc-mist{
    position:absolute;
    left:-10%;
    right:-10%;
    bottom:-20px;
    height:34vh;
    background:
        radial-gradient(120% 140% at 50% 0%, rgba(255,255,255,.8), rgba(255,255,255,0) 38%),
        linear-gradient(180deg, rgba(255,231,239,.65), rgba(255,216,232,.15));
    filter:blur(12px);
    animation:soc-floaty 10s ease-in-out infinite;
}

.soc-hill,
.soc-hill2,
.soc-hill3{
    position:absolute;
    left:-15%;
    width:130%;
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
}

.soc-hill{bottom:-18vh;height:34vh;background:linear-gradient(180deg,#ffe7f0,#ffd6e6)}
.soc-hill2{bottom:-14vh;height:28vh;background:linear-gradient(180deg,#ffdce9,#ffcfe1);opacity:.92}
.soc-hill3{bottom:-10vh;height:22vh;background:linear-gradient(180deg,#ffd5e5,#ffc7dc);opacity:.82}

.soc-petal{
    position:absolute;
    top:-12vh;
    width:18px;
    height:12px;
    background:linear-gradient(135deg,#fff7fb,#ff8db5 68%);
    border-radius:70% 0 70% 0;
    box-shadow:0 0 12px rgba(255,141,181,.26);
    opacity:.95;
    animation:soc-fall linear infinite, soc-spin ease-in-out infinite;
}

.soc-petal:after{
    content:"";
    position:absolute;
    inset:48% 14% auto 14%;
    height:1px;
    background:rgba(255,255,255,.72);
    transform:rotate(-20deg);
}

@keyframes soc-fall{
    to{transform:translate3d(var(--drift),110vh,0) rotate(0deg)}
}

@keyframes soc-spin{
    50%{transform:rotate(180deg)}
    100%{transform:rotate(360deg)}
}

@keyframes soc-drift{
    0%{transform:translate3d(0,0,0) scale(1)}
    100%{transform:translate3d(-2%,1.5%,0) scale(1.06)}
}

@keyframes soc-floaty{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-10px)}
}

.soc-header{
    position:sticky;
    top:0;
    z-index:30;
    background:rgba(255,249,252,.82);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
}

.soc-nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    padding:12px 0;
}

.soc-brand{
    font-weight:900;
    font-size:20px;
    letter-spacing:.02em;
}

.soc-brand-logo{
    display:inline-flex;
    align-items:center;
    width:220px;
    max-width:220px;
    flex:0 0 auto;
}

.soc-logo{
    display:block;
    max-width:100%;
    height:auto;
}

.soc-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    color:var(--muted);
    font-weight:700;
}

.soc-links a{
    padding:10px 12px;
    border-radius:14px;
    transition:all .2s ease;
}

.soc-links a:hover{
    background:rgba(255,255,255,.62);
    color:var(--ink);
}

.soc-header-ticket{
    background:linear-gradient(135deg,var(--pink),var(--pink-dark));
    color:#fff !important;
    box-shadow:0 14px 26px rgba(234,94,146,.18);
}

.soc-header-ticket:hover{
    transform:translateY(-1px);
    background:linear-gradient(135deg,var(--pink-dark),var(--pink));
    color:#fff !important;
}

.soc-main{
    position:relative;
    z-index:1;
    padding:28px 0 60px;
}

.soc-hero,
.soc-card,
.soc-flyer,
.soc-highlight{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.soc-hero{
    padding:30px;
    position:relative;
    overflow:hidden;
    text-align:center;
}

.soc-hero-left{text-align:left}

.soc-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(113,72,92,.14);
    background:rgba(255,255,255,.62);
    font-size:13px;
    font-weight:800;
    color:var(--pink-dark);
}

.soc-hero h1{
    font-size:clamp(40px,7vw,72px);
    line-height:.95;
    margin:14px 0;
}

.soc-lead{
    max-width:780px;
    margin:0 auto;
    color:var(--muted);
    font-size:18px;
}

.soc-hero-left .soc-lead{
    margin:0;
    max-width:760px;
}

.soc-actions{
    display:flex;
    gap:12px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:22px;
}

.soc-hero-left .soc-actions{
    justify-content:flex-start;
}

.soc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 20px;
    border-radius:16px;
    font-weight:800;
    background:linear-gradient(135deg,var(--pink),var(--pink-dark));
    color:#fff;
    box-shadow:0 16px 30px rgba(234,94,146,.18);
}

.soc-btn.secondary{
    background:rgba(255,255,255,.88);
    color:var(--ink);
    border:1px solid var(--line);
    box-shadow:none;
}

.soc-countdown{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    max-width:760px;
    margin:24px auto 0;
}

.soc-count-box{
    background:rgba(255,255,255,.84);
    border:1px solid var(--line);
    border-radius:20px;
    padding:16px;
}

.soc-count-box strong{
    display:block;
    font-size:clamp(28px,5vw,44px);
}

.soc-count-box span{
    color:var(--muted);
    font-size:14px;
}

.soc-flyer-wrap{margin-top:18px}

.soc-flyer{
    padding:18px;
    background:rgba(255,255,255,.54);
}

.soc-flyer img{
    display:block;
    width:100%;
    height:auto;
    border-radius:22px;
}

.soc-flyer p{
    margin:14px 6px 2px;
    text-align:center;
    color:var(--muted);
    font-size:14px;
}

.soc-legal{
    max-width:860px;
    margin:18px auto 0;
    font-size:12px;
    line-height:1.5;
    color:var(--muted);
    background:rgba(255,255,255,.36);
    border:1px solid rgba(113,72,92,.1);
    padding:12px 14px;
    border-radius:16px;
}

.soc-section{margin-top:24px}

.soc-grid{
    display:grid;
    gap:18px;
}

.soc-grid-3{grid-template-columns:repeat(3,1fr)}

.soc-grid-2-custom{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.soc-card{
    padding:24px;
    background:var(--card-strong);
}

.soc-card h2,
.soc-card h3,
.soc-info-card h3,
.soc-detail-card h2,
.soc-faq-item h3{
    margin-top:0;
    margin-bottom:10px;
}

.soc-card p,
.soc-faq-item p{
    margin-bottom:0;
    color:var(--muted);
}

.soc-info-card,
.soc-detail-card,
.soc-faq-item{
    background:var(--card-strong);
}

.soc-info-text{
    color:var(--muted);
    line-height:1.7;
}

.soc-list{
    margin:0;
    padding-left:18px;
    color:var(--muted);
}

.soc-list li{margin:0 0 10px}

.soc-highlight{
    background:rgba(255,255,255,.72);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:26px;
}

.soc-highlight-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.soc-highlight h2{margin:14px 0 10px}

.soc-highlight p{
    margin:0;
    color:var(--muted);
    max-width:760px;
}

.soc-faq-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.soc-form{
    display:grid;
    gap:12px;
    margin-top:12px;
}

.soc-form label{
    font-weight:700;
    color:var(--ink);
}

.soc-form input,
.soc-form textarea{
    width:100%;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.86);
    color:var(--ink);
    font:inherit;
    outline:none;
}

.soc-form input:focus,
.soc-form textarea:focus{
    border-color:rgba(234,94,146,.45);
    box-shadow:0 0 0 4px rgba(255,141,181,.12);
}

.soc-form-message{
    padding:14px 16px;
    border-radius:16px;
    margin-bottom:14px;
    font-weight:600;
}

.soc-form-message.success{
    background:rgba(214,255,228,.75);
    border:1px solid rgba(74,160,104,.25);
    color:#245437;
}

.soc-form-message.error{
    background:rgba(255,228,235,.82);
    border:1px solid rgba(203,91,123,.22);
    color:#7a2742;
}

.soc-footer{
    padding:30px 0 40px;
    color:var(--muted);
    position:relative;
    z-index:1;
}

@media (max-width:900px){
    .soc-nav{
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
    }

    .soc-brand-logo{
        width:180px;
        max-width:180px;
    }

    .soc-links{
        width:100%;
        gap:8px;
    }

    .soc-countdown,
    .soc-grid-3,
    .soc-grid-2-custom,
    .soc-faq-wrap{
        grid-template-columns:1fr 1fr;
    }

    .soc-highlight-inner{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (max-width:640px){
    .soc-container{width:min(calc(100% - 24px),var(--max))}
    .soc-main{padding-top:20px}
    .soc-hero{padding:22px}
    .soc-lead{font-size:16px}

    .soc-brand-logo{
        width:150px;
        max-width:150px;
    }

    .soc-countdown,
    .soc-grid-3,
    .soc-grid-2-custom,
    .soc-faq-wrap{
        grid-template-columns:1fr;
    }

    .soc-flyer{padding:12px}
    .soc-flyer img{border-radius:16px}

    .soc-links a{
        padding:9px 11px;
        font-size:14px;
    }

    .soc-header-ticket{
        width:100%;
        text-align:center;
        justify-content:center;
    }
}
.soc-header{
    position:sticky;
    top:0;
    z-index:30;
    background:rgba(255,249,252,.82);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
}

.soc-nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    padding:12px 0;
}

.soc-brand-logo{
    display:inline-flex;
    align-items:center;
    width:170px;
    max-width:170px;
    flex:0 0 auto;
}

.soc-logo{
    display:block;
    max-width:100%;
    height:auto;
}

.soc-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    color:var(--muted);
    font-weight:700;
}

.soc-links a{
    padding:10px 12px;
    border-radius:14px;
    transition:all .2s ease;
}

.soc-links a:hover{
    background:rgba(255,255,255,.62);
    color:var(--ink);
}

.soc-header-ticket{
    background:linear-gradient(135deg,var(--pink),var(--pink-dark));
    color:#fff !important;
    box-shadow:0 14px 26px rgba(234,94,146,.18);
}

.soc-header-ticket:hover{
    transform:translateY(-1px);
    background:linear-gradient(135deg,var(--pink-dark),var(--pink));
    color:#fff !important;
}

.soc-menu-toggle{
    display:none;
    width:48px;
    height:48px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.78);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    padding:0;
}

.soc-menu-toggle span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:var(--ink);
}

@media (max-width:900px){
    .soc-nav{
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
        gap:12px;
    }

    .soc-brand-logo{
        width:140px;
        max-width:140px;
    }

    .soc-menu-toggle{
        display:inline-flex;
    }

    .soc-links{
        display:none;
        grid-column:1 / -1;
        width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:8px;
        padding:12px;
        background:rgba(255,255,255,.72);
        border:1px solid var(--line);
        border-radius:18px;
        box-shadow:var(--shadow);
    }

    .soc-links.is-open{
        display:flex;
    }

    .soc-links a{
        width:100%;
        padding:12px 14px;
        background:rgba(255,255,255,.68);
    }

    .soc-header-ticket{
        width:100%;
        text-align:center;
        justify-content:center;
    }
}

@media (max-width:640px){
    .soc-brand-logo{
        width:120px;
        max-width:120px;
    }

    .soc-menu-toggle{
        width:44px;
        height:44px;
    }

    .soc-links a{
        font-size:14px;
        padding:11px 12px;
    }
}
.soc-product-card{
    padding:28px;
}

.soc-product-intro{
    margin-bottom:22px;
}

.soc-woocommerce-product{
    background:rgba(255,255,255,.55);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
}

.soc-woocommerce-product .product,
.soc-woocommerce-product div.product{
    margin:0 !important;
    max-width:100%;
}

.soc-woocommerce-product-clean .woocommerce-tabs,
.soc-woocommerce-product-clean .related.products,
.soc-woocommerce-product-clean .upsells,
.soc-woocommerce-product-clean #reviews,
.soc-woocommerce-product-clean .woocommerce-Reviews,
.soc-woocommerce-product-clean .product_meta,
.soc-woocommerce-product-clean .wc-tabs,
.soc-woocommerce-product-clean .woocommerce-product-details__short-description + .product_meta{
    display:none !important;
}

.soc-woocommerce-product-clean .woocommerce-message,
.soc-woocommerce-product-clean .woocommerce-info,
.soc-woocommerce-product-clean .woocommerce-error{
    border-radius:16px;
}

.soc-woocommerce-product-clean form.cart{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.soc-woocommerce-product-clean form.cart .quantity{
    margin:0 !important;
}

.soc-woocommerce-product-clean .single_add_to_cart_button,
.soc-woocommerce-product-clean button.button.alt,
.soc-woocommerce-product-clean .button.alt{
    background:linear-gradient(135deg,var(--pink),var(--pink-dark)) !important;
    color:#fff !important;
    border:none !important;
    border-radius:16px !important;
    padding:14px 20px !important;
    box-shadow:0 16px 30px rgba(234,94,146,.18);
}

.soc-woocommerce-product-clean .single_add_to_cart_button:hover,
.soc-woocommerce-product-clean button.button.alt:hover,
.soc-woocommerce-product-clean .button.alt:hover{
    background:linear-gradient(135deg,var(--pink-dark),var(--pink)) !important;
}

.soc-woocommerce-product-clean .price{
    color:var(--ink);
    font-weight:800;
    font-size:24px;
}

@media (max-width:640px){
    .soc-product-card{
        padding:20px;
    }

    .soc-woocommerce-product{
        padding:14px;
    }

    .soc-woocommerce-product-clean form.cart{
        align-items:stretch;
    }

    .soc-woocommerce-product-clean form.cart .quantity,
    .soc-woocommerce-product-clean form.cart .single_add_to_cart_button{
        width:100%;
    }
}
/* Winkelwagen + Afrekenen */
.soc-shop-card{
    padding:28px;
}

.soc-shop-wrap{
    background:rgba(255,255,255,.52);
    border:1px solid var(--line);
    border-radius:22px;
    padding:22px;
}

.soc-shop-wrap .woocommerce{
    margin:0;
}

.soc-shop-wrap .woocommerce-notices-wrapper{
    margin-bottom:16px;
}

.soc-shop-wrap .woocommerce-message,
.soc-shop-wrap .woocommerce-info,
.soc-shop-wrap .woocommerce-error{
    background:rgba(255,255,255,.8);
    border:1px solid var(--line);
    border-radius:16px;
    color:var(--ink);
    box-shadow:none;
}

.soc-shop-wrap table.shop_table,
.soc-shop-wrap .shop_table,
.soc-shop-wrap .woocommerce-checkout-review-order-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    background:rgba(255,255,255,.76);
    border:1px solid var(--line);
    border-radius:18px;
}

.soc-shop-wrap table.shop_table th,
.soc-shop-wrap table.shop_table td,
.soc-shop-wrap .shop_table th,
.soc-shop-wrap .shop_table td{
    border-color:var(--line) !important;
    padding:14px 16px;
}

.soc-shop-wrap .product-name a,
.soc-shop-wrap .product-name{
    color:var(--ink);
    font-weight:700;
}

.soc-shop-wrap .product-price,
.soc-shop-wrap .product-subtotal,
.soc-shop-wrap .order-total,
.soc-shop-wrap .amount{
    color:var(--ink);
    font-weight:800;
}

.soc-shop-wrap .coupon{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.soc-shop-wrap input.input-text,
.soc-shop-wrap input[type="text"],
.soc-shop-wrap input[type="email"],
.soc-shop-wrap input[type="tel"],
.soc-shop-wrap input[type="number"],
.soc-shop-wrap textarea,
.soc-shop-wrap select{
    width:100%;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.9);
    color:var(--ink);
    font:inherit;
}

.soc-shop-wrap input:focus,
.soc-shop-wrap textarea:focus,
.soc-shop-wrap select:focus{
    outline:none;
    border-color:rgba(234,94,146,.42);
    box-shadow:0 0 0 4px rgba(255,141,181,.12);
}

.soc-shop-wrap button.button,
.soc-shop-wrap a.button,
.soc-shop-wrap button.button.alt,
.soc-shop-wrap .button.alt,
.soc-shop-wrap .checkout-button,
.soc-shop-wrap #place_order{
    background:linear-gradient(135deg,var(--pink),var(--pink-dark)) !important;
    color:#fff !important;
    border:none !important;
    border-radius:16px !important;
    padding:14px 20px !important;
    font-weight:800 !important;
    box-shadow:0 16px 30px rgba(234,94,146,.18);
}

.soc-shop-wrap button.button:hover,
.soc-shop-wrap a.button:hover,
.soc-shop-wrap button.button.alt:hover,
.soc-shop-wrap .button.alt:hover,
.soc-shop-wrap .checkout-button:hover,
.soc-shop-wrap #place_order:hover{
    background:linear-gradient(135deg,var(--pink-dark),var(--pink)) !important;
    color:#fff !important;
}

.soc-shop-wrap .cart_totals,
.soc-shop-wrap .woocommerce-checkout-review-order,
.soc-shop-wrap #order_review,
.soc-shop-wrap #customer_details,
.soc-shop-wrap .col2-set,
.soc-shop-wrap .woocommerce-billing-fields,
.soc-shop-wrap .woocommerce-shipping-fields,
.soc-shop-wrap .woocommerce-additional-fields{
    background:rgba(255,255,255,.76);
    border:1px solid var(--line);
    border-radius:18px;
    padding:20px;
}

.soc-shop-wrap .cart_totals h2,
.soc-shop-wrap .woocommerce-billing-fields h3,
.soc-shop-wrap .woocommerce-shipping-fields h3,
.soc-shop-wrap #order_review_heading{
    margin-top:0;
}

.soc-shop-wrap .wc_payment_methods,
.soc-shop-wrap .payment_box{
    background:rgba(255,255,255,.72) !important;
    border-radius:16px;
}

.soc-shop-wrap .woocommerce form .form-row{
    margin-bottom:14px;
}

.soc-shop-wrap .quantity .qty{
    max-width:110px;
}

.soc-shop-wrap .wc-proceed-to-checkout,
.soc-shop-wrap .actions{
    margin-top:18px;
}

.soc-shop-wrap .cart-collaterals{
    margin-top:22px;
}

.soc-shop-wrap .woocommerce-checkout #payment{
    background:transparent;
    border:none;
}

.soc-shop-wrap .woocommerce-checkout-review-order-table,
.soc-shop-wrap #payment{
    margin-top:18px;
}

.soc-shop-wrap .return-to-shop{
    margin-top:18px;
}

@media (max-width:900px){
    .soc-shop-card{
        padding:22px;
    }

    .soc-shop-wrap{
        padding:16px;
    }

    .soc-shop-wrap .coupon{
        flex-direction:column;
    }

    .soc-shop-wrap .coupon .button,
    .soc-shop-wrap .checkout-button,
    .soc-shop-wrap #place_order{
        width:100%;
    }
}

@media (max-width:640px){
    .soc-shop-card{
        padding:18px;
    }

    .soc-shop-wrap{
        padding:12px;
    }

    .soc-shop-wrap table.shop_table th,
    .soc-shop-wrap table.shop_table td,
    .soc-shop-wrap .shop_table th,
    .soc-shop-wrap .shop_table td{
        padding:10px;
        font-size:14px;
    }

    .soc-shop-wrap .cart_totals,
    .soc-shop-wrap .woocommerce-checkout-review-order,
    .soc-shop-wrap #order_review,
    .soc-shop-wrap #customer_details,
    .soc-shop-wrap .col2-set,
    .soc-shop-wrap .woocommerce-billing-fields,
    .soc-shop-wrap .woocommerce-shipping-fields,
    .soc-shop-wrap .woocommerce-additional-fields{
        padding:14px;
    }
}
.soc-grid-2{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.soc-ticket-products,
.soc-ticket-info-grid{
    align-items:stretch;
}

.soc-ticket-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:24px;
    min-height:100%;
}

.soc-ticket-label{
    display:inline-flex;
    align-self:flex-start;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.75);
    border:1px solid var(--line);
    color:var(--pink-dark);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:14px;
}

.soc-ticket-image{
    width:100%;
    max-width:260px;
    margin:0 auto 18px;
    display:block;
}

.soc-ticket-card h3{
    margin:0 0 8px;
}

.soc-ticket-price{
    font-size:clamp(28px,4vw,42px);
    font-weight:900;
    line-height:1;
    margin-bottom:12px;
}

.soc-ticket-text{
    color:var(--muted);
    line-height:1.7;
    margin-bottom:18px;
}

.soc-ticket-buy{
    width:100%;
    margin-top:auto;
}

.soc-ticket-buy .product,
.soc-ticket-buy div.product{
    margin:0 !important;
    max-width:100%;
}

.soc-ticket-buy .woocommerce-tabs,
.soc-ticket-buy .related.products,
.soc-ticket-buy .upsells,
.soc-ticket-buy .product_meta,
.soc-ticket-buy .wc-tabs,
.soc-ticket-buy #reviews,
.soc-ticket-buy .woocommerce-Reviews,
.soc-ticket-buy .quantity label,
.soc-ticket-buy .reset_variations,
.soc-ticket-buy .woocommerce-product-gallery,
.soc-ticket-buy .woocommerce-product-gallery__wrapper,
.soc-ticket-buy .flex-control-thumbs{
    display:none !important;
}

.soc-ticket-buy .summary{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}

.soc-ticket-buy .price{
    display:none !important;
}

.soc-ticket-buy form.cart{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-top:0 !important;
}

.soc-ticket-buy .quantity{
    margin:0 !important;
}

.soc-ticket-buy input.qty{
    width:110px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.9);
}

.soc-ticket-buy .single_add_to_cart_button,
.soc-ticket-buy button.button.alt,
.soc-ticket-buy .button.alt{
    background:linear-gradient(135deg,var(--pink),var(--pink-dark)) !important;
    color:#fff !important;
    border:none !important;
    border-radius:16px !important;
    padding:14px 20px !important;
    font-weight:800 !important;
    box-shadow:0 16px 30px rgba(234,94,146,.18);
}

.soc-ticket-buy .single_add_to_cart_button:hover,
.soc-ticket-buy button.button.alt:hover,
.soc-ticket-buy .button.alt:hover{
    background:linear-gradient(135deg,var(--pink-dark),var(--pink)) !important;
}

@media (max-width:900px){
    .soc-grid-2{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .soc-ticket-card{
        padding:20px;
    }

    .soc-ticket-image{
        max-width:220px;
    }

    .soc-ticket-buy{
        width:100%;
    }

    .soc-ticket-buy form.cart{
        width:100%;
        align-items:stretch;
    }

    .soc-ticket-buy input.qty,
    .soc-ticket-buy .single_add_to_cart_button{
        width:100%;
    }
}