
/* OSC Service Checkout Pro v1.4.0 */
body.osc-modal-open{overflow:hidden!important}
.osc-sc-overlay{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(8,22,34,.72)}
.osc-sc-overlay.is-open{display:flex}
.osc-sc-modal{position:relative;width:min(920px,96vw);max-height:92vh;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.28);font-family:Onest,Arial,sans-serif;box-sizing:border-box}
.osc-sc-close{position:absolute!important;right:16px!important;top:12px!important;z-index:20!important;width:38px!important;height:38px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f4f7f6!important;color:#0f172a!important;font-size:27px!important;line-height:38px!important;text-align:center!important;cursor:pointer!important}
.osc-sc-progress{height:5px;background:#e8f2ef}
.osc-sc-progress span{display:block;width:25%;height:100%;background:#13988e;transition:width .2s ease}
.osc-sc-header{padding:26px 32px 8px}
.osc-brand-row{display:flex;align-items:center;min-height:34px}
.osc-sc-logo{display:none;max-width:155px;max-height:48px;object-fit:contain}
.osc-sc-kicker{margin:0 0 5px;color:#13988e;font-weight:800}
.osc-sc-header h2{margin:5px 0 6px;color:#0f172a;font-size:30px;line-height:1.15}
.osc-sc-header p{margin:0;color:#64748b}
.osc-step{display:none;padding:14px 32px 22px;box-sizing:border-box}
.osc-step.is-active{display:block}
.osc-step h3{margin:0 0 14px;color:#0f172a;font-size:22px}
.osc-step-help{margin:-6px 0 14px;color:#64748b;font-size:14px}
.osc-required{color:#dc2626}

/* Step 1: compact tiers */
.osc-tier-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.osc-tier-option{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;min-width:0!important;padding:13px 15px!important;border:1px solid #dceae6!important;border-radius:11px!important;background:#fff!important;color:#0f172a!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;white-space:normal!important}
.osc-tier-option:hover,.osc-tier-option.is-selected{border-color:#13988e!important;background:#edf9f6!important;color:#0f172a!important}
.osc-tier-name{font-size:16px;font-weight:800;line-height:1.25}
.osc-tier-seats{flex:0 0 auto;color:#64748b;font-size:14px;font-weight:600}
.osc-tier-option.is-selected .osc-tier-seats{color:#0f766e}

/* Searchable base platform */
.osc-base-platform-search-wrap{margin-top:18px;padding-top:16px;border-top:1px solid #edf2f1}
.osc-base-platform-search-wrap>label{display:block;margin-bottom:8px;color:#0f172a;font-size:16px;font-weight:800}
.osc-autocomplete{position:relative}
#osc-platform-search,#osc-base-platform-other{display:block;width:100%!important;box-sizing:border-box!important;padding:12px 13px!important;border:1px solid #dceae6!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;font-size:15px!important}
#osc-platform-search:focus,#osc-base-platform-other:focus{outline:none!important;border-color:#13988e!important;box-shadow:0 0 0 3px rgba(19,152,142,.10)!important}
#osc-base-platform-other{margin-top:9px}
.osc-platform-results{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:50;display:none;max-height:250px;overflow:auto;padding:5px;background:#fff;border:1px solid #dceae6;border-radius:10px;box-shadow:0 14px 35px rgba(15,23,42,.14)}
.osc-platform-result{display:block!important;width:100%!important;padding:9px 10px!important;border:0!important;border-radius:7px!important;background:#fff!important;color:#0f172a!important;text-align:left!important;font-size:14px!important;cursor:pointer!important}
.osc-platform-result:hover{background:#edf9f6!important;color:#0f766e!important}
.osc-platform-other-result{margin-top:4px;border-top:1px solid #edf2f1!important;font-weight:800!important}

/* Compact add-ons */
.osc-addon-list{display:flex;flex-direction:column;gap:8px}
.osc-addon-row{padding:11px 13px;border:1px solid #e1ebe8;border-radius:10px;background:#fff}
.osc-addon-row.is-selected{border-color:#13988e;background:#f4fbf9}
.osc-addon-main{display:flex;align-items:center;justify-content:space-between;gap:14px}
.osc-addon-choice{display:flex;align-items:center;gap:10px;min-width:0;margin:0!important;color:#0f172a;font-weight:750;cursor:pointer}
.osc-addon-checkbox{flex:0 0 auto;width:17px!important;height:17px!important;margin:0!important;accent-color:#13988e}
.osc-addon-name{line-height:1.35}
.osc-addon-price{flex:0 0 auto;color:#13988e;font-size:14px;font-weight:800}
.osc-read-more{display:inline!important;width:auto!important;margin:5px 0 0 27px!important;padding:0!important;border:0!important;background:none!important;color:#111827!important;font-size:12px!important;font-weight:700!important;text-decoration:underline!important;cursor:pointer!important}
.osc-addon-description{display:none;margin:7px 0 0 27px;color:#64748b;font-size:13px;line-height:1.45}
.osc-addon-question{margin:9px 0 0 27px;padding:10px;background:#fff;border:1px solid #e1ebe8;border-radius:8px}
.osc-addon-question label{display:block;color:#334155;font-size:13px;font-weight:700}
.osc-addon-question input,.osc-addon-question textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:9px;border:1px solid #dceae6;border-radius:8px}
.osc-empty-addons{display:none;color:#64748b}

/* Summary */
#osc-summary{border:1px solid #e1ebe8;border-radius:12px;overflow:hidden}
.osc-summary-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:12px 15px;border-bottom:1px solid #edf2f1;align-items:start}
.osc-summary-row:last-child{border-bottom:0}
.osc-summary-row>span{color:#64748b;font-weight:700}
.osc-summary-row strong{color:#0f172a;text-align:right}
.osc-summary-scope>div{color:#334155}
.osc-summary-scope-list{margin:0;padding-left:18px}
.osc-summary-scope-list li{margin:0 0 5px;line-height:1.45}
.osc-summary-addon-item{margin:0 0 5px;text-align:right;color:#0f172a;font-weight:650}
.osc-summary-row.total{background:#f4fbf9;font-size:18px}

/* Agreement + signature */
.osc-agreement-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;flex-wrap:wrap}
.osc-download-agreement{display:inline-flex;padding:8px 12px;border-radius:8px;background:#13988e;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800}
#osc-scroll-status{color:#64748b;font-size:12px;font-weight:700}
.osc-agreement-wrap{height:410px;overflow-y:auto;overflow-x:hidden;padding:12px;background:#eef1f2;border:1px solid #dce6e3;border-radius:11px;box-sizing:border-box}
.osc-agreement-pages{display:flex;flex-direction:column;align-items:center;gap:12px}
.osc-agreement-page-wrap{width:100%;text-align:center}
.osc-agreement-page{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.osc-agreement-loading,.osc-agreement-error{padding:30px;text-align:center;color:#64748b}
.osc-agreement-fallback iframe{display:block;width:100%;height:1200px;border:0;background:#fff}
#osc-agreement-end{margin-top:12px;padding:12px;text-align:center;background:#dff5ef;color:#0f766e;font-weight:800}
.osc-acceptance-check{display:flex;align-items:flex-start;gap:9px;margin:13px 0 18px;padding:13px;border:1px solid #dceae6;border-radius:10px;background:#fbfefd;color:#334155;line-height:1.5}
.osc-acceptance-check input{flex:0 0 auto;margin-top:4px;accent-color:#13988e}
.osc-signature-section{padding-top:16px;border-top:1px solid #e5eeeb}
.osc-signature-section h4{margin:0 0 12px;color:#0f172a;font-size:18px}
.osc-signature-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.osc-signature-fields label,.osc-signature-label{display:block;color:#334155;font-size:13px;font-weight:800}
.osc-signature-fields input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px;border:1px solid #dceae6;border-radius:8px}
.osc-signature-label{margin:12px 0 6px}
#osc-signature-canvas{display:block;width:100%;height:185px;box-sizing:border-box;border:1px dashed #9fc9bf;border-radius:10px;background:#fff;touch-action:none}
.osc-text-button{margin-top:7px!important;padding:0!important;border:0!important;background:none!important;color:#111827!important;font-size:12px!important;font-weight:700!important;text-decoration:underline!important;cursor:pointer!important}

/* Footer */
.osc-sc-footer{position:sticky;bottom:0;z-index:12;display:flex;align-items:center;gap:10px;padding:13px 32px;background:#fff;border-top:1px solid #edf2f1}
.osc-total{margin-left:auto;color:#475569;font-size:14px}
.osc-total strong{color:#0f172a;font-size:18px}
.osc-primary,.osc-secondary,.osc-edit-options{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;font-weight:800!important;cursor:pointer!important;text-decoration:none!important}
.osc-primary{min-height:44px;padding:10px 18px!important;border:1px solid #13988e!important;background:#13988e!important;color:#fff!important}
.osc-primary:hover{background:#0f7f77!important;border-color:#0f7f77!important;color:#fff!important}
.osc-secondary{min-height:44px;padding:10px 16px!important;border:1px solid #13988e!important;background:#fff!important;color:#0f766e!important}
.is-hidden{display:none!important}
.osc-form-message{padding:0 32px 14px;color:#b42318;font-size:13px;font-weight:800}

/* Cart Edit Options */
.osc-edit-options{margin-top:8px!important;padding:7px 11px!important;border:1px solid #13988e!important;background:#fff!important;color:#0f766e!important;font-size:12px!important}
.osc-edit-options:hover{background:#edf9f6!important;color:#0f766e!important}

/* Premium classic WooCommerce cart + checkout */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{max-width:1240px;margin:30px auto;padding:0 20px;box-sizing:border-box}
.woocommerce-cart-form,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{background:#fff;border:1px solid #e4ece9;border-radius:16px;box-shadow:0 10px 32px rgba(15,23,42,.045);overflow:hidden}
.woocommerce-cart-form table.shop_table,
.woocommerce-checkout table.shop_table{border:0!important;border-collapse:separate!important;border-spacing:0!important;margin:0!important}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th{padding:14px 16px!important;background:#f7fbfa!important;color:#334155!important;font-size:13px!important;text-transform:none!important;border:0!important;border-bottom:1px solid #e4ece9!important}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td{padding:16px!important;border:0!important;border-bottom:1px solid #edf2f1!important;color:#334155!important;vertical-align:top!important}
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review_heading{margin-top:22px}
.woocommerce-cart .cart_totals{padding:20px;background:#fff;border:1px solid #e4ece9;border-radius:16px;box-shadow:0 10px 32px rgba(15,23,42,.045)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt{border-radius:10px!important;background:#13988e!important;color:#fff!important;font-weight:800!important;border:0!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover{background:#0f7f77!important}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:24px;align-items:start}
.woocommerce-checkout #customer_details{padding:22px}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review{padding:20px;position:sticky;top:24px}
.woocommerce-checkout .form-row label{color:#334155;font-weight:700}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{min-height:44px;border:1px solid #dce6e3!important;border-radius:9px!important;padding:10px 12px!important;background:#fff!important}
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message{border-radius:10px;border-top:0;background:#f4fbf9;color:#334155}

/* WooCommerce Blocks */
.wc-block-cart,.wc-block-checkout{max-width:1240px!important;margin:30px auto!important}
.wc-block-cart-items,.wc-block-components-sidebar,.wc-block-checkout__main,.wc-block-checkout__sidebar{border-radius:16px!important}
.wc-block-components-sidebar{padding:20px!important;background:#fff!important;border:1px solid #e4ece9!important}
.wc-block-components-button:not(.is-link){border-radius:10px!important}

/* Responsive */
@media(max-width:767px){
    .osc-sc-overlay{padding:8px}
    .osc-sc-modal{width:100%;max-height:96vh;border-radius:15px}
    .osc-sc-header{padding:22px 18px 7px}
    .osc-sc-header h2{font-size:24px}
    .osc-step{padding:12px 18px 18px}
    .osc-tier-list{grid-template-columns:1fr}
    .osc-tier-option{padding:12px 13px!important}
    .osc-summary-row{grid-template-columns:1fr;gap:5px}
    .osc-summary-row strong,.osc-summary-addon-item{text-align:left}
    .osc-signature-fields{grid-template-columns:1fr}
    .osc-agreement-wrap{height:360px}
    .osc-sc-footer{padding:12px 18px;flex-wrap:wrap}
    .osc-total{order:-1;width:100%;margin:0}
    .woocommerce-checkout form.checkout{display:block}
    .woocommerce-checkout #order_review{position:static;margin-top:20px}
}


/* v1.4.1 fixes */
.osc-platform-results{display:none}
.osc-platform-results:empty{display:none!important}

/* Checkout: keep Hello Elementor layout clean and readable */
.woocommerce-checkout .woocommerce{
    max-width:1180px!important;
    margin:32px auto!important;
    padding:0 20px!important;
}
.woocommerce-checkout form.checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;
    gap:26px!important;
    align-items:start!important;
}
.woocommerce-checkout #customer_details{
    grid-column:1!important;
    padding:26px!important;
    background:#fff!important;
    border:1px solid #e2ebe8!important;
    border-radius:16px!important;
    box-shadow:0 10px 30px rgba(15,23,42,.04)!important;
}
.woocommerce-checkout #order_review_heading{
    grid-column:2!important;
    margin:0 0 10px!important;
}
.woocommerce-checkout #order_review{
    grid-column:2!important;
    padding:22px!important;
    background:#fff!important;
    border:1px solid #e2ebe8!important;
    border-radius:16px!important;
    box-shadow:0 10px 30px rgba(15,23,42,.04)!important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
}
.woocommerce-checkout .form-row{
    width:100%!important;
    float:none!important;
    margin:0!important;
}
.woocommerce-checkout .form-row-wide{
    grid-column:1 / -1!important;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last{
    width:100%!important;
}
.woocommerce-checkout .form-row label{
    display:block!important;
    margin:0 0 6px!important;
    color:#334155!important;
    font-weight:700!important;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection{
    width:100%!important;
    min-height:46px!important;
    box-sizing:border-box!important;
    border:1px solid #dce6e3!important;
    border-radius:9px!important;
    background:#fff!important;
}
.woocommerce-checkout .select2-selection{
    padding-top:8px!important;
}
.osc-additional-party-field{display:none}

@media(max-width:900px){
    .woocommerce-checkout form.checkout{
        display:block!important;
    }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review{
        margin-top:22px!important;
    }
}
@media(max-width:640px){
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
        grid-template-columns:1fr!important;
    }
    .woocommerce-checkout .form-row-wide{
        grid-column:auto!important;
    }
}


/* ==========================================================
   v1.4.2 - Cart flow + premium cart/checkout polish
   Data-safe: presentation and redirect only.
   ========================================================== */

/* ---- Cart product hierarchy ---- */
.woocommerce-cart .product-name > a{
    display:inline-block!important;
    margin-bottom:10px!important;
    font-weight:800!important;
    color:#0f172a!important;
    text-decoration:none!important;
}
.woocommerce-cart .product-name > a:hover{
    color:#0f766e!important;
}
.woocommerce-cart .product-name dl.variation,
.woocommerce-cart .product-name .wc-item-meta{
    margin:8px 0 0!important;
}
.woocommerce-cart .product-name .wc-item-meta li,
.woocommerce-cart .product-name dl.variation > div{
    margin:3px 0!important;
}
.woocommerce-cart .osc-edit-options{
    display:flex!important;
    width:max-content!important;
    margin:14px 0 0!important;
    padding:8px 13px!important;
    border:1px solid #13988e!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#0f766e!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:none!important;
}
.woocommerce-cart .osc-edit-options:hover{
    background:#edf9f6!important;
    color:#0f766e!important;
    transform:none!important;
}
.woocommerce-cart .product-thumbnail img{
    border-radius:8px!important;
}
.woocommerce-cart .quantity .qty{
    width:64px!important;
    min-height:42px!important;
    border:1px solid #dce6e3!important;
    border-radius:8px!important;
    text-align:center!important;
}
.woocommerce-cart td.actions{
    padding:16px!important;
}
.woocommerce-cart td.actions .coupon{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
}
.woocommerce-cart td.actions .coupon input.input-text{
    width:170px!important;
    min-height:42px!important;
    border:1px solid #dce6e3!important;
    border-radius:8px!important;
    padding:8px 10px!important;
}
.woocommerce-cart td.actions .button{
    min-height:42px!important;
    border-radius:8px!important;
    padding:8px 14px!important;
}
.woocommerce-cart .cart-collaterals{
    margin-top:24px!important;
}
.woocommerce-cart .cart_totals{
    width:min(520px,100%)!important;
    margin-left:auto!important;
}
.woocommerce-cart .cart_totals h2{
    margin:0 0 14px!important;
    color:#0f172a!important;
}
.woocommerce-cart .cart_totals table{
    margin-bottom:12px!important;
}
.woocommerce-cart .wc-proceed-to-checkout{
    padding:10px 0 0!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    margin:0!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

/* ---- Checkout layout rebuild ---- */
.woocommerce-checkout .woocommerce{
    max-width:1220px!important;
    margin:34px auto!important;
    padding:0 22px!important;
}
.woocommerce-checkout form.checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)!important;
    gap:30px!important;
    align-items:start!important;
}
.woocommerce-checkout #customer_details{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    padding:28px!important;
    background:#fff!important;
    border:1px solid #e1ebe8!important;
    border-radius:18px!important;
    box-shadow:0 14px 36px rgba(15,23,42,.045)!important;
    overflow:visible!important;
}
.woocommerce-checkout #order_review_heading{
    grid-column:2!important;
    grid-row:1!important;
    margin:0 0 12px!important;
    padding:0!important;
    color:#0f172a!important;
    font-size:26px!important;
}
.woocommerce-checkout #order_review{
    grid-column:2!important;
    grid-row:2!important;
    padding:22px!important;
    background:#fff!important;
    border:1px solid #e1ebe8!important;
    border-radius:18px!important;
    box-shadow:0 14px 36px rgba(15,23,42,.045)!important;
    position:sticky!important;
    top:24px!important;
}
.woocommerce-checkout .col2-set{
    width:100%!important;
    float:none!important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
    width:100%!important;
    float:none!important;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
    margin:0 0 18px!important;
    color:#0f172a!important;
    font-size:24px!important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:15px 16px!important;
}
.woocommerce-checkout .form-row{
    width:100%!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    padding:0!important;
}
.woocommerce-checkout .form-row-wide{
    grid-column:1 / -1!important;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last{
    width:100%!important;
}
.woocommerce-checkout .form-row label{
    display:block!important;
    margin:0 0 7px!important;
    color:#334155!important;
    font-size:13px!important;
    line-height:1.3!important;
    font-weight:750!important;
}
.woocommerce-checkout .form-row .required{
    color:#dc2626!important;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
    display:block!important;
    width:100%!important;
    min-height:46px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:11px 12px!important;
    border:1px solid #d9e6e2!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#0f172a!important;
    box-shadow:none!important;
}
.woocommerce-checkout textarea{
    min-height:110px!important;
    resize:vertical!important;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
    outline:none!important;
    border-color:#13988e!important;
    box-shadow:0 0 0 3px rgba(19,152,142,.10)!important;
}
.woocommerce-checkout .select2-container{
    width:100%!important;
}
.woocommerce-checkout .select2-container .select2-selection--single{
    height:46px!important;
    border:1px solid #d9e6e2!important;
    border-radius:9px!important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{
    line-height:44px!important;
    padding-left:12px!important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{
    height:44px!important;
}
.woocommerce-checkout table.shop_table{
    width:100%!important;
    border:0!important;
    border-collapse:collapse!important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{
    padding:12px 0!important;
    border:0!important;
    border-bottom:1px solid #edf2f1!important;
    vertical-align:top!important;
}
.woocommerce-checkout table.shop_table th{
    background:transparent!important;
    color:#64748b!important;
    font-size:12px!important;
}
.woocommerce-checkout table.shop_table td.product-name{
    padding-right:12px!important;
}
.woocommerce-checkout .cart_item .product-name{
    color:#0f172a!important;
    font-weight:700!important;
}
.woocommerce-checkout .cart_item .product-name .variation,
.woocommerce-checkout .cart_item .product-name .wc-item-meta{
    margin:7px 0 0!important;
    color:#64748b!important;
    font-size:12px!important;
    font-weight:500!important;
}
.woocommerce-checkout #payment{
    margin-top:18px!important;
    border-radius:12px!important;
    background:#f7fbfa!important;
}
.woocommerce-checkout #payment ul.payment_methods{
    padding:16px!important;
    border-bottom:1px solid #e4ece9!important;
}
.woocommerce-checkout #payment div.form-row{
    padding:16px!important;
}
.woocommerce-checkout #place_order{
    width:100%!important;
    min-height:50px!important;
    border-radius:10px!important;
    background:#13988e!important;
    color:#fff!important;
    font-weight:800!important;
    font-size:15px!important;
}
.woocommerce-checkout #place_order:hover{
    background:#0f7f77!important;
}
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error{
    max-width:1220px!important;
    margin:16px auto!important;
    border:0!important;
    border-radius:10px!important;
    background:#f4fbf9!important;
    color:#334155!important;
}
.woocommerce-checkout .osc-additional-party-toggle{
    grid-column:1 / -1!important;
    padding:12px!important;
    border:1px solid #e1ebe8!important;
    border-radius:10px!important;
    background:#f8fbfa!important;
}
.woocommerce-checkout .osc-additional-party-toggle label{
    margin:0!important;
}
.woocommerce-checkout .osc-additional-party-field{
    display:none;
}

@media(max-width:960px){
    .woocommerce-checkout form.checkout{
        display:block!important;
    }
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review{
        width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
    }
    .woocommerce-checkout #order_review_heading{
        margin-top:26px!important;
    }
    .woocommerce-checkout #order_review{
        position:static!important;
    }
}
@media(max-width:640px){
    .woocommerce-cart .shop_table_responsive td{
        padding:12px!important;
    }
    .woocommerce-cart td.actions .coupon{
        display:grid!important;
        grid-template-columns:1fr auto!important;
    }
    .woocommerce-cart td.actions .coupon input.input-text{
        width:100%!important;
    }
    .woocommerce-checkout .woocommerce{
        padding:0 12px!important;
    }
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review{
        padding:18px!important;
        border-radius:14px!important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
        grid-template-columns:1fr!important;
    }
    .woocommerce-checkout .form-row-wide,
    .woocommerce-checkout .osc-additional-party-toggle{
        grid-column:auto!important;
    }
}


/* ==========================================================
   v1.4.3 - Mini cart + checkout summary polish
   ========================================================== */

/* MINI / SIDE CART */
.elementor-menu-cart__main,
.widget_shopping_cart_content{
    width:420px!important;
    max-width:92vw!important;
    padding:24px!important;
    background:#fff!important;
}
.woocommerce-mini-cart{
    margin:0!important;
    padding:0!important;
}
.woocommerce-mini-cart-item{
    position:relative!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:3px!important;
    align-items:start!important;
    padding:16px 0!important;
    border-bottom:1px solid #e5eeeb!important;
}
.woocommerce-mini-cart-item img{
    width:72px!important;
    height:72px!important;
    max-width:72px!important;
    object-fit:cover!important;
    border-radius:8px!important;
    margin:0!important;
    float:none!important;
}
.woocommerce-mini-cart-item > a:not(.remove){
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:14px!important;
    align-items:start!important;
    color:#0f172a!important;
    font-weight:800!important;
    text-decoration:none!important;
}
.woocommerce-mini-cart-item > a:not(.remove) img{
    grid-column:1!important;
    grid-row:1!important;
}
.woocommerce-mini-cart-item > a:not(.remove){
    line-height:1.35!important;
}
.woocommerce-mini-cart-item dl,
.woocommerce-mini-cart-item .variation,
.woocommerce-mini-cart-item .wc-item-meta{
    grid-column:2!important;
    margin:4px 0 0!important;
    font-size:12px!important;
    line-height:1.45!important;
    color:#64748b!important;
}
.woocommerce-mini-cart-item dl dt,
.woocommerce-mini-cart-item dl dd,
.woocommerce-mini-cart-item .variation dt,
.woocommerce-mini-cart-item .variation dd{
    display:inline!important;
    float:none!important;
    margin:0 4px 0 0!important;
}
.woocommerce-mini-cart-item .quantity{
    grid-column:2!important;
    margin-top:8px!important;
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:700!important;
}
.woocommerce-mini-cart-item .remove{
    position:absolute!important;
    top:14px!important;
    right:0!important;
    width:24px!important;
    height:24px!important;
    line-height:22px!important;
    border-radius:50%!important;
    text-align:center!important;
    z-index:2!important;
}
.woocommerce-mini-cart__total{
    margin:0!important;
    padding:16px 0!important;
    border-top:0!important;
    font-size:15px!important;
}
.woocommerce-mini-cart__buttons{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:0!important;
}
.woocommerce-mini-cart__buttons .button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    margin:0!important;
    border-radius:9px!important;
}
.woocommerce-mini-cart__buttons .checkout{
    background:#13988e!important;
    color:#fff!important;
}

/* CHECKOUT ORDER SUMMARY - remove blank gap */
.woocommerce-checkout #customer_details{
    grid-column:1!important;
    grid-row:1!important;
}
.woocommerce-checkout #order_review_heading{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    margin:4px 0 0!important;
}
.woocommerce-checkout #order_review{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    margin-top:54px!important;
    position:sticky!important;
    top:24px!important;
}

/* Checkout order item backgrounds */
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout-review-order-table tr,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table .cart_item,
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table .product-total{
    background:#fff!important;
}
.woocommerce-checkout-review-order-table .wc-item-meta,
.woocommerce-checkout-review-order-table .variation,
.woocommerce-checkout-review-order-table dl,
.woocommerce-checkout-review-order-table dd,
.woocommerce-checkout-review-order-table dt{
    background:transparent!important;
}

/* Make Base Scope readable in cart / checkout item meta */
.woocommerce-cart .wc-item-meta,
.woocommerce-checkout .wc-item-meta,
.woocommerce-cart dl.variation,
.woocommerce-checkout dl.variation{
    line-height:1.5!important;
}
.woocommerce-checkout .product-name .wc-item-meta li,
.woocommerce-cart .product-name .wc-item-meta li{
    margin-bottom:5px!important;
}

/* Narrow screens */
@media(max-width:960px){
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review{
        grid-column:auto!important;
        grid-row:auto!important;
        margin-top:22px!important;
    }
    .woocommerce-checkout #order_review{
        position:static!important;
    }
}


/* ==========================================================
   v1.4.4 - Clear metadata headings + side cart rebuild
   ========================================================== */

/* Cart / checkout metadata sections */
.osc-meta-section{
    display:block!important;
    width:100%!important;
    margin:9px 0 0!important;
    padding:0!important;
    color:#475569!important;
}
.osc-meta-heading{
    display:block!important;
    margin:0 0 5px!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:800!important;
}
.osc-meta-section ul{
    display:block!important;
    margin:0!important;
    padding:0 0 0 17px!important;
}
.osc-meta-section li{
    display:list-item!important;
    margin:0 0 3px!important;
    padding:0!important;
    color:#64748b!important;
    line-height:1.45!important;
}
.woocommerce-cart .wc-item-meta li:has(.osc-meta-section),
.woocommerce-checkout .wc-item-meta li:has(.osc-meta-section){
    display:block!important;
    width:100%!important;
}
.woocommerce-cart .wc-item-meta li:has(.osc-meta-section) > strong,
.woocommerce-checkout .wc-item-meta li:has(.osc-meta-section) > strong,
.woocommerce-cart .wc-item-meta li:has(.osc-meta-section) > p,
.woocommerce-checkout .wc-item-meta li:has(.osc-meta-section) > p{
    display:none!important;
}

/* Elementor menu-cart container itself */
.elementor-menu-cart__container{
    z-index:999999!important;
}
.elementor-menu-cart__main{
    width:440px!important;
    max-width:92vw!important;
    height:100vh!important;
    max-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding:22px!important;
    box-sizing:border-box!important;
    background:#fff!important;
}
.elementor-menu-cart__products,
.elementor-menu-cart__product-list,
.widget_shopping_cart_content{
    min-height:0!important;
    flex:1 1 auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:6px!important;
    scrollbar-width:thin!important;
}
.elementor-menu-cart__footer-buttons,
.elementor-menu-cart__subtotal{
    flex:0 0 auto!important;
}

/* Elementor menu-cart product row */
.elementor-menu-cart__product,
.elementor-menu-cart__product.woocommerce-mini-cart-item,
.woocommerce-mini-cart-item{
    position:relative!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:4px!important;
    width:100%!important;
    min-width:0!important;
    padding:16px 0!important;
    margin:0!important;
    border-bottom:1px solid #e5eeeb!important;
    box-sizing:border-box!important;
}
.elementor-menu-cart__product-image,
.woocommerce-mini-cart-item > a:not(.remove) img,
.woocommerce-mini-cart-item img{
    grid-column:1!important;
    grid-row:1 / span 5!important;
    width:72px!important;
    height:72px!important;
    max-width:72px!important;
    object-fit:cover!important;
    border-radius:8px!important;
    margin:0!important;
    float:none!important;
}
.elementor-menu-cart__product-name,
.woocommerce-mini-cart-item > a:not(.remove){
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    color:#0f172a!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:800!important;
    text-decoration:none!important;
    overflow-wrap:anywhere!important;
}
.elementor-menu-cart__product-price,
.woocommerce-mini-cart-item .quantity{
    grid-column:2!important;
    margin:5px 0 0!important;
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:700!important;
}
.elementor-menu-cart__product .variation,
.elementor-menu-cart__product .wc-item-meta,
.woocommerce-mini-cart-item .variation,
.woocommerce-mini-cart-item .wc-item-meta,
.woocommerce-mini-cart-item dl{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    margin:6px 0 0!important;
    padding:0!important;
    color:#64748b!important;
    font-size:11px!important;
    line-height:1.45!important;
}
.elementor-menu-cart__product .variation dt,
.elementor-menu-cart__product .variation dd,
.woocommerce-mini-cart-item .variation dt,
.woocommerce-mini-cart-item .variation dd,
.woocommerce-mini-cart-item dl dt,
.woocommerce-mini-cart-item dl dd{
    display:block!important;
    float:none!important;
    width:auto!important;
    margin:0 0 2px!important;
    padding:0!important;
}
.elementor-menu-cart__product-remove,
.woocommerce-mini-cart-item .remove{
    position:absolute!important;
    top:14px!important;
    right:0!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    border-radius:50%!important;
    line-height:22px!important;
    text-align:center!important;
    z-index:3!important;
}
.elementor-menu-cart__subtotal,
.woocommerce-mini-cart__total{
    margin:0!important;
    padding:14px 0!important;
    border-top:1px solid #e5eeeb!important;
    color:#0f172a!important;
}
.elementor-menu-cart__footer-buttons,
.woocommerce-mini-cart__buttons{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding-top:8px!important;
}
.elementor-menu-cart__footer-buttons a,
.woocommerce-mini-cart__buttons .button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    margin:0!important;
    border-radius:9px!important;
    text-align:center!important;
}

/* Avoid huge metadata in side cart: keep scope/add-ons readable */
.elementor-menu-cart__product .osc-meta-section,
.woocommerce-mini-cart-item .osc-meta-section{
    margin-top:7px!important;
}
.elementor-menu-cart__product .osc-meta-heading,
.woocommerce-mini-cart-item .osc-meta-heading{
    font-size:11px!important;
}
.elementor-menu-cart__product .osc-meta-section ul,
.woocommerce-mini-cart-item .osc-meta-section ul{
    padding-left:14px!important;
}
.elementor-menu-cart__product .osc-meta-section li,
.woocommerce-mini-cart-item .osc-meta-section li{
    font-size:11px!important;
    line-height:1.4!important;
}

/* Checkout order summary: metadata headings must stay distinct */
.woocommerce-checkout .product-name .osc-meta-section{
    margin:10px 0 0!important;
    padding-top:8px!important;
    border-top:1px solid #edf2f1!important;
}
.woocommerce-checkout .product-name .osc-meta-heading{
    font-size:12px!important;
    color:#0f172a!important;
}

/* Cart page metadata headings */
.woocommerce-cart .product-name .osc-meta-section{
    margin:10px 0 0!important;
}
.woocommerce-cart .product-name .osc-meta-heading{
    font-size:12px!important;
}

/* If :has() is unsupported, hide empty generated labels */
.woocommerce-cart .wc-item-meta li > strong:empty,
.woocommerce-checkout .wc-item-meta li > strong:empty,
.elementor-menu-cart__product .wc-item-meta li > strong:empty,
.woocommerce-mini-cart-item .wc-item-meta li > strong:empty{
    display:none!important;
}

@media(max-width:600px){
    .elementor-menu-cart__main{
        width:100%!important;
        max-width:100vw!important;
        padding:18px!important;
    }
    .elementor-menu-cart__product,
    .woocommerce-mini-cart-item{
        grid-template-columns:60px minmax(0,1fr)!important;
        column-gap:12px!important;
    }
    .elementor-menu-cart__product-image,
    .woocommerce-mini-cart-item > a:not(.remove) img,
    .woocommerce-mini-cart-item img{
        width:60px!important;
        height:60px!important;
        max-width:60px!important;
    }
}


/* ==========================================================
   v1.4.6 - Base Scope preview on first step
   Built from v1.4.4; no dashboard data changes.
   ========================================================== */

.osc-first-step-details{
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)!important;
    gap:14px!important;
    align-items:start!important;
    margin-top:18px!important;
    padding-top:16px!important;
    border-top:1px solid #edf2f1!important;
}

.osc-first-step-details .osc-base-platform-search-wrap{
    margin-top:0!important;
    padding-top:0!important;
    border-top:0!important;
}

.osc-base-scope-preview{
    padding:12px 13px!important;
    border:1px solid #dceae6!important;
    border-radius:10px!important;
    background:#f8fbfa!important;
    box-sizing:border-box!important;
}

.osc-base-scope-preview-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
}

.osc-base-scope-preview-head strong{
    color:#0f172a!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:800!important;
}

.osc-base-scope-toggle{
    display:inline!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:#111827!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:700!important;
    text-decoration:underline!important;
    cursor:pointer!important;
    box-shadow:none!important;
}

.osc-base-scope-preview-content{
    display:none!important;
    margin-top:9px!important;
    padding-top:9px!important;
    border-top:1px solid #e5eeeb!important;
}

.osc-base-scope-preview-content.is-open{
    display:block!important;
}

.osc-base-scope-preview-content ul{
    margin:0!important;
    padding-left:17px!important;
}

.osc-base-scope-preview-content li{
    margin:0 0 5px!important;
    color:#64748b!important;
    font-size:12px!important;
    line-height:1.45!important;
}

@media(max-width:767px){
    .osc-first-step-details{
        grid-template-columns:1fr!important;
    }
}


/* ===== v1.4.7 client refinements ===== */

/* Base Scope: compact top-right header control */
.osc-sc-header{position:relative!important;padding-top:18px!important;padding-bottom:5px!important}
.osc-header-base-scope{
    position:absolute!important;right:78px!important;top:18px!important;width:170px!important;z-index:50!important
}
.osc-header-base-scope .osc-base-scope-preview{padding:7px 9px!important;border-radius:9px!important}
.osc-header-base-scope .osc-base-scope-preview-head strong{font-size:12px!important}
.osc-header-base-scope .osc-base-scope-toggle{font-size:10.5px!important}
.osc-header-base-scope .osc-base-scope-preview-content{
    position:absolute!important;right:0!important;top:calc(100% + 5px)!important;width:360px!important;
    max-height:240px!important;overflow:auto!important;background:#fff!important;padding:10px 12px!important;
    border:1px solid #dceae6!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(15,23,42,.14)!important
}
.osc-header-base-scope .osc-base-scope-preview-content li{font-size:10.5px!important;line-height:1.35!important;margin-bottom:3px!important}

/* First screen: four tiers per row and reduced vertical footprint */
.osc-step[data-step="1"] h3{margin:8px 0 8px!important}
.osc-tier-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.osc-tier-option{padding:9px 10px!important;min-height:43px!important;gap:6px!important}
.osc-tier-name{font-size:12px!important}
.osc-tier-seats{font-size:10px!important;white-space:nowrap!important}
.osc-first-step-details{display:block!important;margin-top:8px!important;padding-top:7px!important}
.osc-base-platform-search-wrap{margin:0!important}
.osc-base-platform-search-wrap label{margin-bottom:4px!important}
#osc-platform-search,#osc-base-platform-other{min-height:38px!important;padding:7px 11px!important}

/* Search suggestions stay inside a compact floating list */
.osc-autocomplete{position:relative!important}
.osc-platform-results{
    position:absolute!important;left:0!important;right:0!important;top:calc(100% + 3px)!important;
    max-height:145px!important;overflow-y:auto!important;z-index:100!important;background:#fff!important;
    border:1px solid #dceae6!important;border-radius:8px!important;box-shadow:0 10px 24px rgba(15,23,42,.12)!important
}

/* Categorized add-ons */
.osc-addon-category{margin:0 0 13px!important}
.osc-addon-category-title{
    margin:0 0 4px!important;padding:0 0 5px!important;border-bottom:1px solid #dceae6!important;
    font-size:14px!important;font-weight:800!important;color:#0f172a!important
}
.osc-addon-category .osc-addon-row{padding:7px 2px!important}
.osc-addon-category .osc-addon-name{font-size:12px!important}
.osc-addon-category .osc-addon-price{font-size:11px!important;white-space:nowrap!important}
.osc-addon-category .osc-read-more{font-size:10px!important;margin-top:2px!important}
.osc-addon-category .osc-addon-description{font-size:10.5px!important;line-height:1.35!important}

/* Compact Base Scope in Purchase Summary */
.osc-summary-scope>div{font-size:10.5px!important;line-height:1.3!important}
.osc-summary-scope-list{padding-left:16px!important;margin:2px 0!important}
.osc-summary-scope-list li{margin:0 0 2px!important;line-height:1.3!important}

/* Keep footer compact */
.osc-sc-footer{padding-top:10px!important;padding-bottom:10px!important}

/* Tablet/mobile fallbacks */
@media(max-width:900px){
  .osc-tier-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .osc-header-base-scope{position:static!important;width:100%!important;margin-top:7px!important}
  .osc-header-base-scope .osc-base-scope-preview-content{position:static!important;width:auto!important;max-height:180px!important}
}
@media(max-width:520px){
  .osc-tier-list{grid-template-columns:1fr!important}
}


/* ==========================================================
   v1.4.8 - Base Scope above tiers + full popup height
   ========================================================== */

/* Do not artificially shorten the popup */
.osc-sc-modal{
    max-height:96vh!important;
}
.osc-sc-overlay{
    align-items:center!important;
}

/* Remove old top-right positioning rules */
.osc-header-base-scope{
    display:none!important;
}

/* Base Scope now sits directly above tiers */
.osc-step-base-scope{
    margin:0 0 12px!important;
}
.osc-step-base-scope .osc-base-scope-preview{
    width:100%!important;
    padding:9px 12px!important;
    border:1px solid #dceae6!important;
    border-radius:9px!important;
    background:#f8fbfa!important;
    box-sizing:border-box!important;
}
.osc-step-base-scope .osc-base-scope-preview-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
}
.osc-step-base-scope .osc-base-scope-preview-head strong{
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:800!important;
}
.osc-step-base-scope .osc-base-scope-toggle{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:#111827!important;
    font-size:11px!important;
    font-weight:700!important;
    text-decoration:underline!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.osc-step-base-scope .osc-base-scope-preview-content{
    display:none!important;
    margin-top:8px!important;
    padding-top:8px!important;
    border-top:1px solid #e5eeeb!important;
    max-height:220px!important;
    overflow-y:auto!important;
}
.osc-step-base-scope .osc-base-scope-preview-content.is-open{
    display:block!important;
}
.osc-step-base-scope .osc-base-scope-preview-content ul{
    margin:0!important;
    padding-left:16px!important;
}
.osc-step-base-scope .osc-base-scope-preview-content li{
    margin:0 0 4px!important;
    color:#64748b!important;
    font-size:11px!important;
    line-height:1.35!important;
}

/* Keep tier section immediately underneath */
.osc-step[data-step="1"] h3{
    margin:0 0 8px!important;
}

/* Keep 4 tiers per row on desktop */
.osc-tier-list{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* Base platform remains below tiers */
.osc-first-step-details{
    margin-top:8px!important;
    padding-top:8px!important;
}

/* Restore a little vertical room instead of over-compressing */
.osc-sc-header{
    padding-top:20px!important;
    padding-bottom:8px!important;
}
.osc-step{
    padding-top:12px!important;
    padding-bottom:18px!important;
}

@media(max-width:900px){
    .osc-tier-list{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:520px){
    .osc-tier-list{
        grid-template-columns:1fr!important;
    }
}


/* ==========================================================
   v1.4.9 - Base Scope directly beside service title
   ========================================================== */

.osc-title-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    width:100%!important;
}

.osc-title-row #osc-sc-title{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:5px 0 6px!important;
}

.osc-title-base-scope{
    flex:0 0 auto!important;
    width:185px!important;
    position:relative!important;
    z-index:40!important;
}

.osc-title-base-scope .osc-base-scope-preview{
    width:100%!important;
    padding:8px 10px!important;
    border:1px solid #dceae6!important;
    border-radius:9px!important;
    background:#f8fbfa!important;
    box-sizing:border-box!important;
}

.osc-title-base-scope .osc-base-scope-preview-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
}

.osc-title-base-scope .osc-base-scope-preview-head strong{
    color:#0f172a!important;
    font-size:12px!important;
    font-weight:800!important;
}

.osc-title-base-scope .osc-base-scope-toggle{
    display:inline!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:#111827!important;
    font-size:10.5px!important;
    font-weight:700!important;
    text-decoration:underline!important;
    cursor:pointer!important;
    box-shadow:none!important;
}

.osc-title-base-scope .osc-base-scope-preview-content{
    display:none!important;
    position:absolute!important;
    right:0!important;
    top:calc(100% + 6px)!important;
    width:360px!important;
    max-height:250px!important;
    overflow-y:auto!important;
    padding:10px 12px!important;
    background:#fff!important;
    border:1px solid #dceae6!important;
    border-radius:10px!important;
    box-shadow:0 12px 30px rgba(15,23,42,.14)!important;
    box-sizing:border-box!important;
}

.osc-title-base-scope .osc-base-scope-preview-content.is-open{
    display:block!important;
}

.osc-title-base-scope .osc-base-scope-preview-content ul{
    margin:0!important;
    padding-left:16px!important;
}

.osc-title-base-scope .osc-base-scope-preview-content li{
    margin:0 0 4px!important;
    color:#64748b!important;
    font-size:10.5px!important;
    line-height:1.35!important;
}

.osc-step-base-scope{
    display:none!important;
}

@media(max-width:767px){
    .osc-title-row{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:8px!important;
    }

    .osc-title-base-scope{
        width:100%!important;
    }

    .osc-title-base-scope .osc-base-scope-preview-content{
        position:static!important;
        width:100%!important;
        max-height:180px!important;
        margin-top:6px!important;
    }
}


/* ==========================================================
   v1.4.10 - Built ONLY from v1.4.9
   Base Scope beside service title + Base Platform above tiers
   ========================================================== */

/* Keep Base Scope directly aligned with the service title row */
.osc-title-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    width:100%!important;
}

.osc-title-row #osc-sc-title{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:5px 0 6px!important;
}

.osc-title-base-scope{
    flex:0 0 185px!important;
    width:185px!important;
    align-self:center!important;
    position:relative!important;
    z-index:40!important;
}

/* Base Platform is now the first control in Step 1 */
.osc-step[data-step="1"] > .osc-first-step-details{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:0 0 12px!important;
    border-bottom:1px solid #edf2f1!important;
    border-top:0!important;
}

.osc-step[data-step="1"] .osc-base-platform-search-wrap{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}

.osc-step[data-step="1"] .osc-base-platform-search-wrap > label{
    margin-bottom:6px!important;
}

/* Tier heading follows Base Platform cleanly */
.osc-step[data-step="1"] > h3{
    margin:0 0 8px!important;
}

/* Keep desktop 4-column tiers from v1.4.9 */
.osc-tier-list{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* Preserve compact search suggestions */
.osc-platform-results{
    max-height:145px!important;
}

/* Responsive */
@media(max-width:900px){
    .osc-tier-list{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:767px){
    .osc-title-row{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:8px!important;
    }

    .osc-title-base-scope{
        width:100%!important;
        flex:1 1 100%!important;
    }
}

@media(max-width:520px){
    .osc-tier-list{
        grid-template-columns:1fr!important;
    }
}


/* ==========================================================
   v1.4.11 - Add-ons UI and Elementor side cart cleanup
   ========================================================== */

/* ADD-ONS: compact categorized 2-column layout */
.osc-step[data-step="2"]{padding-top:10px!important}
.osc-step[data-step="2"]>h3{margin:0 0 4px!important;font-size:21px!important}
.osc-step[data-step="2"] .osc-step-help{margin:0 0 12px!important;font-size:12.5px!important;line-height:1.4!important}

.osc-addon-category{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:12px!important;
    row-gap:6px!important;
    margin:0 0 12px!important;
}
.osc-addon-category-title{
    grid-column:1/-1!important;
    margin:0 0 5px!important;
    padding:0 0 5px!important;
    border-bottom:1px solid #dceae6!important;
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:800!important;
}
.osc-addon-row{
    margin:0!important;
    padding:9px 10px!important;
    border:1px solid #e1ebe8!important;
    border-radius:9px!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.osc-addon-row.is-selected{border-color:#13988e!important;background:#f3fbf8!important}
.osc-addon-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:start!important;
}
.osc-addon-choice{
    display:grid!important;
    grid-template-columns:16px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:start!important;
    min-width:0!important;
}
.osc-addon-checkbox{width:15px!important;height:15px!important;margin:2px 0 0!important}
.osc-addon-name{font-size:12px!important;line-height:1.3!important;font-weight:750!important}
.osc-addon-price{font-size:11px!important;line-height:1.3!important;font-weight:800!important;white-space:nowrap!important}
.osc-read-more{
    display:inline-block!important;width:auto!important;margin:4px 0 0 23px!important;padding:0!important;
    border:0!important;background:none!important;color:#111827!important;font-size:10px!important;
    line-height:1.25!important;font-weight:700!important;text-decoration:underline!important
}
.osc-addon-description{margin:5px 0 0 23px!important;font-size:10.5px!important;line-height:1.35!important}
.osc-addon-question{margin:7px 0 0 23px!important;padding:8px!important;border-radius:7px!important}

@media(max-width:760px){
    .osc-addon-category{grid-template-columns:1fr!important}
}

/* SIDE CART */
.elementor-menu-cart__main{
    width:440px!important;
    max-width:92vw!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:20px!important;
    box-sizing:border-box!important;
    background:#fff!important;
}
.elementor-menu-cart__products,
.elementor-menu-cart__product-list,
.elementor-menu-cart__main .widget_shopping_cart_content{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:6px!important;
}
.elementor-menu-cart__product{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:5px!important;
    width:100%!important;
    min-width:0!important;
    padding:16px 0!important;
    margin:0!important;
    border-bottom:1px solid #e7efec!important;
    position:relative!important;
    box-sizing:border-box!important;
}
.elementor-menu-cart__product-image{
    grid-column:1!important;
    grid-row:1/span 8!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:76px!important;
    margin:0!important;
}
.elementor-menu-cart__product-image img{
    width:76px!important;
    height:76px!important;
    max-width:76px!important;
    object-fit:cover!important;
    border-radius:8px!important;
    margin:0!important;
}
.elementor-menu-cart__product-name,
.elementor-menu-cart__product-price,
.elementor-menu-cart__product .variation,
.elementor-menu-cart__product .wc-item-meta{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}
.elementor-menu-cart__product-name{
    margin:0!important;
    color:#0f172a!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:800!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
}
.elementor-menu-cart__product-price{
    margin-top:5px!important;
    color:#0f172a!important;
    font-size:12px!important;
}
.elementor-menu-cart__product .variation,
.elementor-menu-cart__product .wc-item-meta{
    margin-top:5px!important;
    padding:0!important;
    color:#64748b!important;
    font-size:11px!important;
    line-height:1.4!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
}

/* Base Scope should never appear in the side cart */
.elementor-menu-cart__product .osc-meta-scope,
.elementor-menu-cart__product .wc-item-meta li:has(.osc-meta-scope){display:none!important}

/* Add-ons only, compact */
.elementor-menu-cart__product .osc-meta-addons{display:block!important;margin:7px 0 0!important}
.elementor-menu-cart__product .osc-meta-addons .osc-meta-heading{
    display:block!important;margin:0 0 3px!important;color:#0f172a!important;font-size:11px!important;font-weight:800!important
}
.elementor-menu-cart__product .osc-meta-addons ul{margin:0!important;padding-left:14px!important}
.elementor-menu-cart__product .osc-meta-addons li{margin:0 0 2px!important;font-size:10.5px!important;line-height:1.35!important}

.elementor-menu-cart__subtotal{
    flex:0 0 auto!important;
    margin:0!important;
    padding:14px 0!important;
    border-top:1px solid #e7efec!important;
}
.elementor-menu-cart__footer-buttons{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding-top:8px!important;
}
.elementor-menu-cart__footer-buttons a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    margin:0!important;
    border-radius:9px!important;
}

@media(max-width:600px){
    .elementor-menu-cart__main{width:100%!important;max-width:100vw!important;padding:16px!important}
    .elementor-menu-cart__product{grid-template-columns:64px minmax(0,1fr)!important;column-gap:11px!important}
    .elementor-menu-cart__product-image,
    .elementor-menu-cart__product-image img{width:64px!important;min-width:64px!important;max-width:64px!important;height:64px!important}
}


/* ==========================================================
   v1.4.12 - Add-ons horizontal spacing fix
   ========================================================== */

.osc-step[data-step="2"]{
    padding-left:18px!important;
    padding-right:18px!important;
    box-sizing:border-box!important;
}

.osc-step[data-step="2"] > h3,
.osc-step[data-step="2"] .osc-step-help,
.osc-step[data-step="2"] .osc-addon-category,
.osc-step[data-step="2"] .osc-empty-addons{
    width:100%!important;
    box-sizing:border-box!important;
}

.osc-step[data-step="2"] .osc-addon-category{
    padding-left:0!important;
    padding-right:0!important;
}

.osc-step[data-step="2"] .osc-addon-row{
    margin-left:0!important;
    margin-right:0!important;
}

@media(max-width:760px){
    .osc-step[data-step="2"]{
        padding-left:14px!important;
        padding-right:14px!important;
    }
}


/* ==========================================================
   v1.4.13 - Copy refinement + borderless add-on rows
   ========================================================== */
.osc-addon-row{
    border:none!important;
    box-shadow:none!important;
}

.osc-platform-help-1413,
.osc-tier-help-1413{
    margin:4px 0 10px!important;
    color:#64748b!important;
    font-size:14px!important;
    line-height:1.45!important;
    font-weight:400!important;
}


/* ==========================================================
   v1.4.14 - Tier helper text rendered directly in PHP
   ========================================================== */
.osc-tier-help-text{
    margin:-2px 0 10px!important;
    color:#64748b!important;
    font-size:14px!important;
    line-height:1.45!important;
    font-weight:400!important;
}


/* v1.4.15 - spacing + typography normalization */
.osc-sc-header{padding-top:24px!important;padding-bottom:12px!important}
#osc-sc-title{margin:4px 0 8px!important;color:#0f172a!important;font-size:30px!important;line-height:1.2!important;font-weight:700!important}
#osc-sc-intro{margin:0!important;color:#64748b!important;font-size:16px!important;line-height:1.5!important;font-weight:400!important}

.osc-step[data-step="1"]{padding-top:14px!important;padding-bottom:20px!important}
.osc-step[data-step="1"]>.osc-first-step-details{margin:0 0 20px!important;padding:0 0 18px!important;border-bottom:1px solid #edf2f1!important}
.osc-step[data-step="1"]>h3{margin:0 0 6px!important;color:#0f172a!important;font-size:22px!important;line-height:1.3!important;font-weight:700!important}
.osc-tier-help-text{margin:0 0 14px!important;color:#64748b!important;font-size:14px!important;line-height:1.5!important;font-weight:400!important}

.osc-base-platform-search-wrap>label{display:block!important;margin:0 0 6px!important;color:#0f172a!important;font-size:18px!important;line-height:1.35!important;font-weight:700!important}
.osc-platform-help-1413{margin:0 0 14px!important;color:#64748b!important;font-size:14px!important;line-height:1.5!important;font-weight:400!important}

#osc-platform-search,#osc-base-platform-other{min-height:46px!important;padding:11px 14px!important;border-radius:10px!important;font-size:15px!important;line-height:1.4!important}

.osc-tier-list{gap:10px!important}
.osc-tier-option{min-height:50px!important;padding:11px 14px!important;border-radius:10px!important;align-items:center!important}
.osc-tier-name{font-size:13px!important;line-height:1.3!important;font-weight:700!important}
.osc-tier-seats{font-size:12px!important;line-height:1.3!important;font-weight:500!important}

.osc-title-base-scope{align-self:center!important}
.osc-title-base-scope .osc-base-scope-preview{min-height:42px!important;padding:9px 12px!important;border-radius:10px!important}
.osc-title-base-scope .osc-base-scope-preview-head strong{font-size:12px!important;line-height:1.3!important;font-weight:700!important}
.osc-title-base-scope .osc-base-scope-toggle{font-size:11px!important;line-height:1.3!important;font-weight:700!important}

.osc-sc-footer{padding-top:14px!important;padding-bottom:14px!important}
.osc-total{font-size:15px!important;line-height:1.4!important}
.osc-total strong{font-size:20px!important;line-height:1.2!important;font-weight:700!important}
.osc-primary,.osc-secondary{min-height:46px!important;padding:11px 18px!important;border-radius:10px!important;font-size:14px!important;line-height:1.3!important;font-weight:700!important}

@media(min-width:901px){.osc-sc-modal{width:min(980px,96vw)!important}}
@media(max-width:767px){
  #osc-sc-title{font-size:25px!important}
  #osc-sc-intro{font-size:14px!important}
  .osc-base-platform-search-wrap>label{font-size:16px!important}
  .osc-step[data-step="1"]>h3{font-size:20px!important}
}


/* ==========================================================
   v1.4.17 - What's Included panel width + type normalization
   ========================================================== */

.osc-title-base-scope{
    width:250px!important;
    flex:0 0 250px!important;
}

.osc-title-base-scope .osc-base-scope-preview{
    width:100%!important;
    min-height:46px!important;
    padding:10px 14px!important;
    box-sizing:border-box!important;
}

.osc-title-base-scope .osc-base-scope-preview-head strong{
    font-size:13px!important;
    line-height:1.3!important;
}

.osc-title-base-scope .osc-base-scope-toggle{
    font-size:12px!important;
    line-height:1.3!important;
}

.osc-title-base-scope .osc-base-scope-preview-content{
    width:650px!important;
    max-width:min(650px,84vw)!important;
    max-height:460px!important;
    padding:20px 22px!important;
    text-align:left!important;
    color:#334155!important;
}

.osc-base-scope-preview-content p,
.osc-base-scope-preview-content li,
.osc-base-scope-preview-content div,
.osc-rich-scope-content p,
.osc-rich-scope-content li,
.osc-rich-scope-content div{
    color:#334155!important;
    font-size:12.5px!important;
    line-height:1.5!important;
}

.osc-base-scope-preview-content p,
.osc-rich-scope-content p{
    margin:0 0 10px!important;
}

.osc-base-scope-preview-content ul,
.osc-base-scope-preview-content ol,
.osc-rich-scope-content ul,
.osc-rich-scope-content ol{
    margin:8px 0 12px!important;
    padding-left:22px!important;
}

.osc-base-scope-preview-content li,
.osc-rich-scope-content li{
    margin:0 0 7px!important;
    padding-left:2px!important;
}

.osc-base-scope-preview-content li::marker,
.osc-rich-scope-content li::marker{
    font-size:1em!important;
    color:#0f172a!important;
}

.osc-base-scope-preview-content strong,
.osc-rich-scope-content strong{
    color:#0f172a!important;
    font-size:inherit!important;
    font-weight:800!important;
}

.osc-base-scope-preview-content h2,
.osc-base-scope-preview-content h3,
.osc-base-scope-preview-content h4,
.osc-rich-scope-content h2,
.osc-rich-scope-content h3,
.osc-rich-scope-content h4{
    margin:12px 0 7px!important;
    color:#0f172a!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:800!important;
}

.osc-base-scope-preview-content em,
.osc-rich-scope-content em{
    font-style:italic!important;
}

.osc-summary-scope .osc-rich-scope-content p,
.osc-summary-scope .osc-rich-scope-content li{
    font-size:11px!important;
    line-height:1.4!important;
}

@media(max-width:767px){
    .osc-title-base-scope{
        width:100%!important;
        flex:1 1 100%!important;
    }

    .osc-title-base-scope .osc-base-scope-preview-content{
        width:100%!important;
        max-width:100%!important;
        max-height:360px!important;
        padding:16px!important;
    }
}


/* v1.4.18 — isolated What's Included formatting */
.osc-whats-included-content{
    width:680px!important;
    max-width:min(680px,84vw)!important;
    padding:22px 26px!important;
    color:#475569!important;
    text-align:left!important;
}
.osc-whats-included-content p{
    margin:0 0 12px!important;
    font-size:14px!important;
    line-height:1.55!important;
    color:#475569!important;
}
.osc-whats-included-content ul,
.osc-whats-included-content ol{
    margin:10px 0 14px!important;
    padding-left:22px!important;
}
.osc-whats-included-content li{
    margin:0 0 8px!important;
    padding-left:3px!important;
    font-size:14px!important;
    line-height:1.5!important;
    color:#475569!important;
}
.osc-whats-included-content li::marker{
    font-size:12px!important;
    color:#0f172a!important;
}
.osc-whats-included-content b,
.osc-whats-included-content strong{
    color:#334155!important;
    font-size:inherit!important;
    font-weight:700!important;
}
.osc-whats-included-content h2,
.osc-whats-included-content h3,
.osc-whats-included-content h4{
    margin:14px 0 8px!important;
    color:#0f172a!important;
    font-size:15px!important;
    line-height:1.4!important;
    font-weight:700!important;
}
.osc-whats-included-content > *:first-child{margin-top:0!important}
.osc-whats-included-content > *:last-child{margin-bottom:0!important}

@media(max-width:767px){
    .osc-whats-included-content{
        width:100%!important;
        max-width:100%!important;
        padding:18px!important;
    }
    .osc-whats-included-content p,
    .osc-whats-included-content li{
        font-size:13px!important;
    }
}


/* v1.4.19 — cleaner What's Included content spacing */
.osc-whats-included-content{
    padding:20px 24px!important;
    font-size:12px!important;
    line-height:1.55!important;
}

.osc-whats-included-content p{
    margin:0 0 14px!important;
    font-size:12px!important;
    line-height:1.55!important;
}

.osc-whats-included-content ul,
.osc-whats-included-content ol{
    margin:12px 0 18px!important;
    padding-left:20px!important;
    font-size:12px!important;
}

.osc-whats-included-content li{
    margin:0 0 7px!important;
    padding-left:3px!important;
    font-size:12px!important;
    line-height:1.55!important;
}

.osc-whats-included-content li:last-child{
    margin-bottom:0!important;
}

.osc-whats-included-content li::marker{
    font-size:10px!important;
}

.osc-whats-included-content b,
.osc-whats-included-content strong{
    font-size:12px!important;
    line-height:inherit!important;
    font-weight:700!important;
}

.osc-whats-included-content h2,
.osc-whats-included-content h3,
.osc-whats-included-content h4{
    margin:18px 0 8px!important;
    font-size:12px!important;
    line-height:1.5!important;
    font-weight:700!important;
}

/* Give separate content blocks a visible breathing gap. */
.osc-whats-included-content ul + p,
.osc-whats-included-content ol + p,
.osc-whats-included-content ul + div,
.osc-whats-included-content ol + div{
    margin-top:18px!important;
}

.osc-whats-included-content > *:first-child{
    margin-top:0!important;
}

.osc-whats-included-content > *:last-child{
    margin-bottom:0!important;
}

@media(max-width:767px){
    .osc-whats-included-content,
    .osc-whats-included-content p,
    .osc-whats-included-content li,
    .osc-whats-included-content b,
    .osc-whats-included-content strong,
    .osc-whats-included-content h2,
    .osc-whats-included-content h3,
    .osc-whats-included-content h4{
        font-size:12px!important;
    }
}


/* ==========================================================
   v1.4.22 — What's Included in footer-left, detail popup opens UP
   ========================================================== */

.osc-title-base-scope{
    display:none!important;
}

.osc-sc-footer{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    position:sticky!important;
    bottom:0!important;
    overflow:visible!important;
    z-index:100!important;
}

/* Exact red-mark position: far left, level with Total + Continue. */
.osc-footer-whats-included{
    position:relative!important;
    order:0!important;
    flex:0 0 auto!important;
    margin:0!important;
}

.osc-footer-whats-included .osc-base-scope-preview{
    position:relative!important;
    inset:auto!important;
    width:250px!important;
    max-width:250px!important;
    margin:0!important;
    padding:0!important;
    z-index:110!important;
}

.osc-footer-whats-included .osc-base-scope-preview-head{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:10px 14px!important;
    box-sizing:border-box!important;
    border:1px solid #dceae6!important;
    border-radius:10px!important;
    background:#f8fbfa!important;
}

.osc-footer-whats-included .osc-base-scope-preview-head strong,
.osc-footer-whats-included .osc-base-scope-toggle{
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:700!important;
}

/* Real drop-up: panel is anchored above the footer button. */
.osc-footer-whats-included .osc-base-scope-preview-content{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:auto!important;
    top:auto!important;
    bottom:56px!important;
    width:820px!important;
    max-width:min(820px, calc(100vw - 120px))!important;
    max-height:390px!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    padding:20px 24px!important;
    background:#fff!important;
    border:1px solid #dceae6!important;
    border-radius:12px!important;
    box-shadow:0 18px 45px rgba(15,23,42,.18)!important;
    z-index:9999!important;
}

.osc-footer-whats-included .osc-base-scope-preview-content.is-open{
    display:block!important;
}

/* Keep this popup typography isolated and clean. */
.osc-footer-whats-included .osc-whats-included-content,
.osc-footer-whats-included .osc-whats-included-content p,
.osc-footer-whats-included .osc-whats-included-content li,
.osc-footer-whats-included .osc-whats-included-content b,
.osc-footer-whats-included .osc-whats-included-content strong,
.osc-footer-whats-included .osc-whats-included-content span,
.osc-footer-whats-included .osc-whats-included-content div,
.osc-footer-whats-included .osc-whats-included-content h2,
.osc-footer-whats-included .osc-whats-included-content h3,
.osc-footer-whats-included .osc-whats-included-content h4{
    font-size:12px!important;
    line-height:1.55!important;
}

.osc-footer-whats-included .osc-whats-included-content p{
    margin:0 0 14px!important;
}

.osc-footer-whats-included .osc-whats-included-content ul,
.osc-footer-whats-included .osc-whats-included-content ol{
    margin:10px 0 18px!important;
    padding-left:20px!important;
}

.osc-footer-whats-included .osc-whats-included-content li{
    margin:0 0 7px!important;
}

.osc-footer-whats-included .osc-whats-included-content ul + p,
.osc-footer-whats-included .osc-whats-included-content ol + p{
    margin-top:18px!important;
}

.osc-footer-whats-included .osc-whats-included-content strong,
.osc-footer-whats-included .osc-whats-included-content b{
    font-weight:700!important;
}

/* Back can sit after What's Included; Total always stays on far right. */
#osc-prev{
    order:1!important;
}

.osc-total{
    order:2!important;
    margin-left:auto!important;
}

#osc-next,
#osc-submit{
    order:3!important;
}

/* Mobile fallback. */
@media(max-width:767px){
    .osc-sc-footer{
        flex-wrap:wrap!important;
    }

    .osc-footer-whats-included{
        width:100%!important;
        flex:1 1 100%!important;
        order:4!important;
    }

    .osc-footer-whats-included .osc-base-scope-preview{
        width:100%!important;
        max-width:100%!important;
    }

    .osc-footer-whats-included .osc-base-scope-preview-content{
        left:0!important;
        bottom:56px!important;
        width:calc(100vw - 36px)!important;
        max-width:calc(100vw - 36px)!important;
        max-height:55vh!important;
    }
}


/* ==========================================================
   v1.4.23 — final formatting refinements
   ========================================================== */

/* More breathing room between the OSC logo and service title. */
.osc-brand-row{
    margin-bottom:14px!important;
}

/* Give the What's Included trigger a subtle brand treatment. */
.osc-footer-whats-included .osc-base-scope-preview-head{
    background:#f0faf8!important;
    border-color:#9fd8d1!important;
    box-shadow:0 2px 8px rgba(19,152,142,.06)!important;
}

.osc-footer-whats-included .osc-base-scope-preview-head:hover{
    background:#e7f7f4!important;
    border-color:#72c8be!important;
}

.osc-footer-whats-included .osc-base-scope-preview-head strong{
    color:#0f172a!important;
}

.osc-footer-whats-included .osc-base-scope-toggle{
    color:#0f766e!important;
}


/* v1.4.24 — keyboard highlight for platform autocomplete */
#osc-platform-results .osc-platform-result.is-keyboard-active{
    background:#eaf8f5!important;
    color:#0f172a!important;
    outline:1px solid #13988e!important;
    outline-offset:-1px!important;
}


/* ==========================================================
   v1.5.0 — Dynamic Add-On Field Builder
   ========================================================== */

.osc-addon-row.has-dynamic-fields.is-selected{
    grid-column:1 / -1!important;
}

.osc-addon-fields{
    margin:10px 0 0 23px!important;
    padding:12px 14px!important;
    border:1px solid #d8ebe7!important;
    border-radius:10px!important;
    background:#f8fcfb!important;
}

.osc-addon-fields-title{
    margin:0 0 10px!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:800!important;
}

.osc-dynamic-field{
    margin:0 0 10px!important;
}

.osc-dynamic-field:last-child{
    margin-bottom:0!important;
}

.osc-dynamic-field-label{
    display:block!important;
    margin:0 0 5px!important;
    color:#0f172a!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:700!important;
}

.osc-addon-field-control[type="text"],
.osc-addon-field-control[type="number"],
.osc-addon-field-control[type="file"],
.osc-dynamic-field textarea,
.osc-dynamic-field select{
    width:100%!important;
    min-height:38px!important;
    padding:8px 10px!important;
    border:1px solid #cfe0dc!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.4!important;
    box-sizing:border-box!important;
}

.osc-dynamic-field textarea{
    min-height:78px!important;
    resize:vertical!important;
}

.osc-dynamic-field select[multiple]{
    min-height:130px!important;
}

.osc-choice-group{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
}

.osc-choice-group label{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    color:#334155!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:500!important;
}

.osc-choice-group input{
    width:15px!important;
    height:15px!important;
    margin:0!important;
}

.osc-addon-field-help,
.osc-file-note{
    margin-top:4px!important;
    color:#64748b!important;
    font-size:10px!important;
    line-height:1.4!important;
}

.osc-dynamic-info{
    padding:8px 10px!important;
    border-radius:7px!important;
    background:#eef8f6!important;
    color:#475569!important;
    font-size:11px!important;
    line-height:1.45!important;
}

.osc-summary-addon-item{
    margin:0 0 10px!important;
}

.osc-summary-addon-detail{
    display:grid!important;
    grid-template-columns:minmax(120px, .8fr) 1.2fr!important;
    gap:8px!important;
    margin:4px 0 0!important;
    color:#64748b!important;
    font-size:10.5px!important;
    line-height:1.35!important;
}

.osc-summary-addon-detail strong{
    color:#334155!important;
    font-size:10.5px!important;
    font-weight:600!important;
}

@media(max-width:760px){
    .osc-addon-fields{
        margin-left:0!important;
    }
    .osc-summary-addon-detail{
        grid-template-columns:1fr!important;
        gap:2px!important;
    }
}


/* v1.5.1 — searchable System field for dynamic add-on questions */
.osc-system-search{
    position:relative!important;
    width:100%!important;
}

.osc-system-search-results{
    display:none;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 4px)!important;
    z-index:200!important;
    max-height:210px!important;
    overflow-y:auto!important;
    padding:5px!important;
    border:1px solid #cfe0dc!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(15,23,42,.12)!important;
}

.osc-system-search-result{
    display:block!important;
    width:100%!important;
    padding:8px 10px!important;
    border:0!important;
    border-radius:6px!important;
    background:transparent!important;
    color:#0f172a!important;
    text-align:left!important;
    font-size:12px!important;
    line-height:1.35!important;
    cursor:pointer!important;
}

.osc-system-search-result:hover,
.osc-system-search-result.is-keyboard-active{
    background:#eaf8f5!important;
    color:#0f172a!important;
}

.osc-system-search-other{
    margin-top:4px!important;
    border-top:1px solid #edf2f0!important;
}


/* v1.5.2 — custom system name for Other / Platform Not Listed */
.osc-system-other-wrap{
    margin-top:8px!important;
    padding:10px!important;
    border:1px solid #d8ebe7!important;
    border-radius:8px!important;
    background:#f8fcfb!important;
}
.osc-system-other-label{
    display:block!important;
    margin:0 0 5px!important;
    color:#0f172a!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:700!important;
}
.osc-system-other-input{
    width:100%!important;
    min-height:38px!important;
    padding:8px 10px!important;
    border:1px solid #cfe0dc!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.4!important;
    box-sizing:border-box!important;
}


/* ==========================================================
   v1.6.0 — Enterprise Inquiry
   ========================================================== */
.osc-enterprise-inquiry-shell{
    width:100%;
    max-width:1000px;
    margin:0 auto;
    padding:28px 18px 48px;
    box-sizing:border-box;
}

.osc-enterprise-inquiry-card{
    padding:34px;
    border:1px solid #dce9e5;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 55px rgba(15,23,42,.08);
}

.osc-enterprise-kicker{
    margin-bottom:8px;
    color:#0f766e;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.osc-enterprise-inquiry-card h2{
    margin:0 0 10px!important;
    color:#0f172a!important;
    font-size:32px!important;
    line-height:1.15!important;
    font-weight:700!important;
}

.osc-enterprise-intro{
    max-width:760px;
    margin:0 0 26px!important;
    color:#64748b!important;
    font-size:15px!important;
    line-height:1.6!important;
}

.osc-enterprise-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.osc-enterprise-grid label{
    display:block;
    margin:0!important;
}

.osc-enterprise-grid label > span{
    display:block;
    margin-bottom:6px;
    color:#0f172a;
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}

.osc-enterprise-grid label > span em{
    color:#dc2626;
    font-style:normal;
}

.osc-enterprise-grid input,
.osc-enterprise-grid textarea{
    width:100%!important;
    box-sizing:border-box!important;
    padding:11px 13px!important;
    border:1px solid #cfdfdb!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:14px!important;
    line-height:1.45!important;
    box-shadow:none!important;
}

.osc-enterprise-grid input{
    min-height:46px!important;
}

.osc-enterprise-grid textarea{
    min-height:140px!important;
    resize:vertical!important;
}

.osc-enterprise-grid input:focus,
.osc-enterprise-grid textarea:focus{
    border-color:#159e94!important;
    outline:2px solid rgba(21,158,148,.12)!important;
    outline-offset:0!important;
}

.osc-enterprise-wide{
    grid-column:1 / -1;
}

.osc-enterprise-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:22px;
}

.osc-enterprise-submit{
    min-height:48px!important;
    padding:0 24px!important;
    border:0!important;
    border-radius:9px!important;
    background:#159e94!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    cursor:pointer!important;
}

.osc-enterprise-submit:hover{
    background:#0f8078!important;
}

.osc-enterprise-submit:disabled{
    opacity:.65!important;
    cursor:not-allowed!important;
}

.osc-enterprise-form-message{
    margin-top:14px;
    font-size:13px;
    line-height:1.45;
}

.osc-enterprise-form-message.is-error{
    color:#b91c1c;
}

.osc-enterprise-form-message.is-success{
    color:#0f766e;
}

.osc-enterprise-confirmation{
    padding:36px 20px;
    text-align:center;
}

.osc-enterprise-confirmation-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    margin:0 auto 16px;
    border-radius:50%;
    background:#e7f7f4;
    color:#0f766e;
    font-size:28px;
    font-weight:800;
}

.osc-enterprise-confirmation h3{
    margin:0 0 10px!important;
    color:#0f172a!important;
    font-size:24px!important;
}

.osc-enterprise-confirmation p{
    margin:5px 0!important;
    color:#64748b!important;
    font-size:14px!important;
}

.osc-enterprise-honeypot{
    position:absolute!important;
    left:-99999px!important;
    opacity:0!important;
    pointer-events:none!important;
}

@media(max-width:700px){
    .osc-enterprise-inquiry-card{
        padding:24px 18px;
    }
    .osc-enterprise-grid{
        grid-template-columns:1fr;
    }
    .osc-enterprise-wide{
        grid-column:auto;
    }
    .osc-enterprise-inquiry-card h2{
        font-size:26px!important;
    }
    .osc-enterprise-actions{
        justify-content:stretch;
    }
    .osc-enterprise-submit{
        width:100%!important;
    }
}


/* ==========================================================
   v1.7.0 — Enterprise 2-step flow + Add-ons
   ========================================================== */
.osc-enterprise-step{
    display:none;
}

.osc-enterprise-step.is-active{
    display:block;
}

.osc-enterprise-step-head{
    margin:0 0 20px;
    padding-top:4px;
}

.osc-enterprise-step-head > span{
    display:block;
    margin-bottom:5px;
    color:#0f766e;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.osc-enterprise-step-head h3{
    margin:0 0 5px!important;
    color:#0f172a!important;
    font-size:22px!important;
    line-height:1.25!important;
    font-weight:700!important;
}

.osc-enterprise-step-head p{
    margin:0!important;
    max-width:780px;
    color:#64748b!important;
    font-size:13px!important;
    line-height:1.55!important;
}

/* Primary platform autocomplete */
.osc-enterprise-platform-search,
.osc-ent-system-search{
    position:relative;
    width:100%;
}

.osc-enterprise-platform-results,
.osc-ent-system-results{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 4px);
    z-index:250;
    max-height:220px;
    overflow-y:auto;
    padding:5px;
    border:1px solid #cfe0dc;
    border-radius:9px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.14);
}

.osc-enterprise-platform-result,
.osc-ent-system-result{
    display:block!important;
    width:100%!important;
    padding:9px 11px!important;
    border:0!important;
    border-radius:6px!important;
    background:transparent!important;
    color:#0f172a!important;
    text-align:left!important;
    font-size:12px!important;
    line-height:1.35!important;
    cursor:pointer!important;
}

.osc-enterprise-platform-result:hover,
.osc-enterprise-platform-result.is-keyboard-active,
.osc-ent-system-result:hover,
.osc-ent-system-result.is-keyboard-active{
    background:#eaf8f5!important;
}

.osc-enterprise-platform-result-other,
.osc-ent-system-result-other{
    margin-top:4px!important;
    border-top:1px solid #edf2f0!important;
}

.osc-enterprise-platform-other-wrap,
.osc-ent-system-other{
    margin-top:9px;
    padding:10px;
    border:1px solid #d8ebe7;
    border-radius:8px;
    background:#f8fcfb;
}

.osc-enterprise-platform-other-wrap[hidden],
.osc-ent-system-other[hidden]{
    display:none!important;
}

.osc-enterprise-platform-other-wrap > span,
.osc-ent-system-other > label{
    display:block;
    margin:0 0 5px!important;
    color:#0f172a!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:700!important;
}

.osc-enterprise-platform-other-wrap input,
.osc-ent-system-other-input{
    width:100%!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border:1px solid #cfe0dc!important;
    border-radius:8px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    font-size:12px!important;
}

/* Page 2 add-ons */
.osc-enterprise-addon-list{
    display:grid;
    gap:20px;
}

.osc-ent-addon-category{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
}

.osc-ent-addon-category > h4{
    grid-column:1 / -1;
    margin:0 0 2px!important;
    padding-bottom:8px;
    border-bottom:1px solid #dce9e5;
    color:#0f172a!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:800!important;
}

.osc-ent-addon-row{
    position:relative;
    padding:12px 14px;
    border:0;
    border-radius:10px;
    background:#fff;
    transition:background .15s ease;
}

.osc-ent-addon-row.is-selected{
    grid-column:1 / -1;
    background:#f2faf8;
}

.osc-ent-addon-main{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.osc-ent-addon-choice{
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    margin:0!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:700!important;
    cursor:pointer!important;
}

.osc-ent-addon-choice input{
    width:16px!important;
    height:16px!important;
    margin:1px 0 0!important;
    flex:0 0 auto!important;
}

.osc-ent-addon-price{
    flex:0 0 auto;
    color:#0f9488;
    font-size:12px;
    line-height:1.4;
    font-weight:800;
}

.osc-ent-read-more{
    margin:5px 0 0 24px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#0f172a!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    font-weight:700!important;
    text-decoration:underline!important;
    cursor:pointer!important;
}

.osc-ent-addon-description{
    display:none;
    margin:8px 0 0 24px;
    max-width:820px;
    color:#64748b;
    font-size:11px;
    line-height:1.5;
}

.osc-ent-addon-fields{
    display:none;
    margin:12px 0 0 24px;
    padding:13px 14px;
    border:1px solid #d8ebe7;
    border-radius:9px;
    background:#fff;
}

.osc-ent-addon-fields-title{
    margin:0 0 10px;
    color:#0f172a;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
}

.osc-ent-dynamic-field{
    margin:0 0 11px;
}

.osc-ent-dynamic-field:last-child{
    margin-bottom:0;
}

.osc-ent-field-label{
    display:block!important;
    margin:0 0 5px!important;
    color:#0f172a!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:700!important;
}

.osc-ent-field-label em,
.osc-ent-system-other em{
    color:#dc2626;
    font-style:normal;
}

.osc-ent-field-control[type="text"],
.osc-ent-field-control[type="number"],
.osc-ent-field-control[type="file"],
.osc-ent-dynamic-field textarea,
.osc-ent-dynamic-field select{
    width:100%!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border:1px solid #cfe0dc!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.4!important;
    box-sizing:border-box!important;
}

.osc-ent-dynamic-field textarea{
    min-height:82px!important;
    resize:vertical!important;
}

.osc-ent-choice-group{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
}

.osc-ent-choice-group label{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    color:#334155!important;
    font-size:11.5px!important;
    line-height:1.35!important;
    font-weight:500!important;
}

.osc-ent-choice-group input{
    width:15px!important;
    height:15px!important;
    margin:0!important;
}

.osc-ent-field-help{
    margin-top:4px;
    color:#64748b;
    font-size:10px;
    line-height:1.4;
}

.osc-ent-info{
    padding:9px 10px;
    border-radius:7px;
    background:#eef8f6;
    color:#475569;
    font-size:11px;
    line-height:1.45;
}

.osc-enterprise-no-addons{
    margin:14px 0!important;
    color:#64748b!important;
    font-size:13px!important;
}

.osc-enterprise-actions-split{
    justify-content:space-between!important;
    align-items:center;
}

.osc-enterprise-back{
    min-height:48px!important;
    padding:0 22px!important;
    border:1px solid #159e94!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#0f766e!important;
    font-size:14px!important;
    font-weight:700!important;
    cursor:pointer!important;
}

@media(max-width:760px){
    .osc-ent-addon-category{
        grid-template-columns:1fr;
    }

    .osc-ent-addon-row.is-selected{
        grid-column:auto;
    }

    .osc-ent-addon-fields,
    .osc-ent-addon-description{
        margin-left:0;
    }

    .osc-enterprise-actions-split{
        gap:10px;
    }

    .osc-enterprise-back,
    .osc-enterprise-submit{
        flex:1 1 0;
    }
}


/* ==========================================================
   v1.7.1 — Enterprise inquiry refinements
   ========================================================== */
.osc-enterprise-top-tools{
    display:flex;
    justify-content:flex-start;
    margin:0 0 18px;
}

.osc-enterprise-scope{
    position:relative;
    width:260px;
    max-width:100%;
}

.osc-enterprise-scope-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:44px;
    padding:10px 13px;
    border:1px solid #9fd8d1;
    border-radius:9px;
    background:#f0faf8;
    box-sizing:border-box;
}

.osc-enterprise-scope-head strong{
    color:#0f172a;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
}

.osc-enterprise-scope-toggle{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#0f766e!important;
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:700!important;
    text-decoration:underline!important;
    cursor:pointer!important;
}

.osc-enterprise-scope-content{
    display:none;
    position:absolute;
    left:0;
    top:calc(100% + 7px);
    z-index:260;
    width:760px;
    max-width:min(760px, calc(100vw - 100px));
    max-height:360px;
    overflow:auto;
    padding:18px 20px;
    border:1px solid #d8e8e4;
    border-radius:11px;
    background:#fff;
    box-shadow:0 16px 42px rgba(15,23,42,.14);
    color:#475569;
    font-size:12px;
    line-height:1.55;
    box-sizing:border-box;
}

.osc-enterprise-scope-content p{
    margin:0 0 12px!important;
    font-size:12px!important;
    line-height:1.55!important;
}

.osc-enterprise-scope-content ul,
.osc-enterprise-scope-content ol{
    margin:8px 0 14px!important;
    padding-left:20px!important;
}

.osc-enterprise-scope-content li{
    margin:0 0 6px!important;
    font-size:12px!important;
    line-height:1.5!important;
}

.osc-enterprise-character-count{
    display:block;
    margin-top:5px;
    color:#64748b;
    font-size:10.5px;
    line-height:1.3;
    text-align:right;
}

.osc-enterprise-field-spacer{
    min-height:1px;
}

/* Enterprise add-ons are review-only: no pricing presentation. */
.osc-ent-addon-price{
    display:none!important;
}

@media(max-width:700px){
    .osc-enterprise-scope{
        width:100%;
    }

    .osc-enterprise-scope-content{
        width:calc(100vw - 56px);
        max-width:calc(100vw - 56px);
    }

    .osc-enterprise-field-spacer{
        display:none;
    }
}
