/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Checkout validation / confirmation refinements */
.oss-checkout-validation-summary {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #f0b8b8;
    border-radius: 8px;
    background: #fff5f5;
    color: #9b1c1c;
    font-size: 14px;
    line-height: 1.5;
}

.oss-checkout-validation-summary strong {
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
}

.oss-checkout-validation-summary ul {
    margin: 6px 0 0 18px;
    padding: 0;
}

.oss-inline-validation-error {
    display: none;
    margin-top: 6px;
    color: #b42318;
    font-size: 13px;
    line-height: 1.45;
}

.oss-inline-validation-error.oss-has-error {
    display: block;
}

.oss-input.oss-input-error {
    border-color: #d92d20 !important;
    box-shadow: 0 0 0 1px rgba(217,45,32,.08);
}

.oss-confirmation-only-page {
    width: 100%;
    margin: 0 auto;
}

.oss-confirmation-only-page .oss-confirmation-card {
    width: 100%;
    min-height: 430px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 70px 30px;
    background: #fff;
    border: 1px solid #e4eaf0;
    border-radius: 10px;
}

.oss-confirmation-only-page .oss-confirmation-icon {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 50%;
    background: #d5ebd9;
    color: #006837;
    font-size: 34px;
    font-weight: 700;
}

.oss-confirmation-only-page h2 {
    margin: 0 0 10px;
    color: #003a95;
    font-size: 1.8rem;
    font-weight: 800;
}

.oss-confirmation-only-page p {
    max-width: 620px;
    margin: 0 0 28px;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.6;
}

.oss-confirmation-only-page .oss-confirmation-card .oss-confirmation-dashboard-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 250px !important;
    text-decoration: none !important;
    max-width: fit-content;
}


/* ==========================================================
 * One Step Safer - Existing Account Family Invitation UI
 * ========================================================== */
.oss-group-invitation-card{border:1px solid #cfe3d5;background:linear-gradient(180deg,#f8fcf9 0%,#fff 100%);box-shadow:0 6px 20px rgba(0,58,149,.06);}
.oss-group-invite-header{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #e5edf2;}
.oss-invite-check-icon{font-size:22px;line-height:1;}
.oss-invite-review-box{margin-top:16px;background:#fff;border:1px solid #d9e6df;border-radius:14px;padding:18px 20px;}
.oss-invite-review-title{font-size:16px;font-weight:800;color:#003a95;margin-bottom:9px;}
.oss-invite-plan-label{font-size:15px;font-weight:800;color:#123b82;margin-bottom:8px;}
.oss-invite-review-box ul{margin:0;padding-left:22px;color:#334155;}
.oss-invite-review-box li{margin:0 0 8px;line-height:1.55;}
.oss-invite-review-box li:last-child{margin-bottom:0;}
.oss-invite-question{font-size:15px;font-weight:800;color:#1e293b;margin:17px 0 10px;}
.oss-invite-actions-wrap{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;}
.oss-invite-accept-form{display:flex;flex-direction:column;gap:10px;min-width:320px;max-width:720px;flex:1 1 420px;}
.oss-invite-decline-form{display:flex;align-items:flex-end;flex:0 0 auto;}
.oss-invite-confirm-label{display:flex;align-items:flex-start;gap:9px;color:#475569;font-size:13px;line-height:1.45;cursor:pointer;}
.oss-invite-confirm-checkbox{width:17px;height:17px;min-width:17px;margin-top:1px;accent-color:#003a95;}
.oss-invite-accept-btn,.oss-invite-decline-btn{min-height:44px;border-radius:8px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;white-space:nowrap;}
.oss-invite-accept-btn:disabled{opacity:.48;cursor:not-allowed;transform:none;}
.oss-invite-decline-btn{border:1px solid #003a95;background:#fff;color:#003a95;}
.oss-invite-decline-btn:hover{background:#f2f6ff;}
@media (max-width:767px){
 .oss-invite-actions-wrap{display:block;}
 .oss-invite-accept-form,.oss-invite-decline-form{width:100%;max-width:none;min-width:0;}
 .oss-invite-decline-form{margin-top:10px;}
 .oss-invite-accept-btn,.oss-invite-decline-btn{width:100%;}
}


/* Native PMS group invitation registration, presented in the One Step Safer UI. */
.oss-pms-invitation-wrapper{max-width:960px;margin:36px auto;padding:0 18px;}
.oss-pms-invitation-card{background:#fff;border:1px solid #dce7f2;border-radius:18px;box-shadow:0 12px 35px rgba(0,58,149,.08);overflow:hidden;}
.oss-pms-invitation-heading{display:flex;align-items:center;gap:16px;padding:24px 28px;background:linear-gradient(135deg,#f3f8ff 0%,#f8fcf9 100%);border-bottom:1px solid #e3ebf3;}
.oss-pms-invitation-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dff3e6;color:#08763e;font-size:25px;font-weight:800;flex:0 0 48px;}
.oss-pms-invitation-heading h1{margin:0 0 4px;color:#003a95;font-size:28px;line-height:1.15;font-weight:800;}
.oss-pms-invitation-heading p{margin:0;color:#475569;font-size:15px;line-height:1.5;}
.oss-pms-invitation-form{padding:26px 28px 30px;}
.oss-pms-invitation-form .pms-gm-message{background:#eef8f1;border:1px solid #cfe5d5;border-radius:12px;color:#244235;padding:13px 15px;margin:0 0 20px;font-size:14px;line-height:1.55;}
.oss-pms-invitation-form .pms-form-fields-wrapper,.oss-pms-invitation-form .pms-form-fields{max-width:none;}
.oss-pms-invitation-form input[type="text"],.oss-pms-invitation-form input[type="email"],.oss-pms-invitation-form input[type="password"],.oss-pms-invitation-form select{width:100%;min-height:48px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;padding:11px 13px;font-size:15px;box-sizing:border-box;}
.oss-pms-invitation-form label{color:#172554;font-weight:700;}
.oss-pms-invitation-form input:focus,.oss-pms-invitation-form select:focus{outline:none;border-color:#003a95;box-shadow:0 0 0 3px rgba(0,58,149,.10);}
.oss-pms-invitation-form input[type="submit"],.oss-pms-invitation-form button[type="submit"]{background:#003a95;color:#fff;border:0;border-radius:8px;min-height:48px;padding:11px 24px;font-weight:700;cursor:pointer;}
.oss-pms-invitation-form input[type="submit"]:hover,.oss-pms-invitation-form button[type="submit"]:hover{background:#002d73;}
@media (max-width:767px){.oss-pms-invitation-wrapper{margin:20px auto;padding:0 12px}.oss-pms-invitation-heading{padding:20px}.oss-pms-invitation-heading h1{font-size:23px}.oss-pms-invitation-form{padding:20px}}
