/* HomePro optional deposit components. Deliberately scoped, no theme resets. */
.hpd-box,.hpd-banner,.hpd-portal main{box-sizing:border-box;min-width:0;max-width:100%}
.hpd-box{background:#fff;border:1px solid #dce9e7;border-radius:14px;padding:clamp(18px,3vw,30px);margin:20px 0;color:#223936;overflow-wrap:anywhere}
.hpd-box *, .hpd-banner *{box-sizing:border-box}
.hpd-box h2,.hpd-box h3,.hpd-box h4{margin:0 0 14px;color:#223936;line-height:1.35;letter-spacing:normal}
.hpd-box h2{font-size:22px}.hpd-box h3,.hpd-box h4{font-size:18px}
.hpd-box p{font-size:15px;line-height:1.6;margin:10px 0 18px;max-width:100%}
.hpd-choice{border-color:#bce1df;background:#f7fcfb;display:block!important;text-align:left!important}
.hp-quote .hpd-box div{display:block;justify-content:initial}.hp-quote .hpd-box .hpd-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.hpd-eyebrow{color:#087f7c;font-size:11px;font-weight:700;letter-spacing:1.1px;line-height:1.6}
.hpd-amount{font-size:24px!important;font-weight:700;color:#087f7c;line-height:1.4!important}.hpd-amount span{display:block;font-size:13px;font-weight:400;color:#647470}
.hpd-chip{display:inline-block;background:#eaf6f4;color:#175b57;border-radius:18px;padding:6px 12px;font-size:12px!important;line-height:1.5!important;margin-right:5px;font-weight:600}
.hpd-box .hpd-small{font-size:13px!important;line-height:1.65!important;color:#576963;display:block}
.hpd-check{font-size:15px!important;display:flex!important;align-items:flex-start;gap:12px;margin:18px 0;line-height:1.55;font-weight:400!important;cursor:pointer;min-height:44px;text-align:left}
/* Checkbox rendering is isolated by the single-renderer rules at the end. */
.hpd-check span{flex:1;min-width:0}.hpd-field{display:flex!important;flex-direction:column;gap:7px;min-width:0;margin:12px 0;line-height:1.5;font-size:14px}
.hpd-field>span{font-weight:600}.hpd-field input,.hpd-field textarea,.hpd-field select{font:inherit!important;font-size:16px!important;line-height:1.5;box-sizing:border-box;width:100%!important;max-width:100%;min-height:46px;height:auto;padding:10px 12px;border:1px solid #bdcfcd;border-radius:8px;background:#fff;color:#223936;margin:0}
.hpd-field textarea{min-height:110px;resize:vertical}.hpd-field small{font-size:12px;line-height:1.6;color:#576963}
.hpd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.hpd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}.hpd-cards>.hpd-box{margin:0}
.hpd-box .hpd-button,.hpd-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;max-width:100%;white-space:normal;line-height:1.5;padding:12px 20px;border:1px solid #087f7c;border-radius:8px;background:#087f7c;color:#fff!important;text-decoration:none!important;font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-align:center}
.hpd-button:hover{background:#066965}.hpd-button:disabled{opacity:.65;cursor:wait}.hpd-button.hpd-danger{background:#9f2c2c;border-color:#9f2c2c}
.hpd-box a:focus-visible,.hpd-box button:focus-visible,.hpd-box input:focus-visible,.hpd-box textarea:focus-visible,.hpd-box select:focus-visible,.hpd-box summary:focus-visible{outline:3px solid #0eaaa6;outline-offset:3px}
.hpd-action{margin:18px 0;padding:0;border:0}.hpd-box details{margin-top:18px;border-top:1px solid #dce9e7;padding-top:12px}.hpd-box summary{font-size:14px;cursor:pointer;min-height:44px;padding:10px 0;line-height:1.5;color:#175b57;font-weight:600}
.hpd-form-status{display:block;font-size:13px;line-height:1.5;margin-top:8px;color:#576963}
.hpd-banner{padding:clamp(20px,4vw,36px);border-radius:16px;background:#eaf7f5;color:#153e3c;border-top:5px solid #0eaaa6;margin:20px 0}
.hpd-banner h1{color:#153e3c;font-size:clamp(24px,4vw,32px);line-height:1.25;margin:10px 0}.hpd-banner p{font-size:15px;line-height:1.6;margin:0}
.hpd-admin{max-width:1160px}.hpd-admin code{overflow-wrap:anywhere;white-space:normal}
.hpd-alert{border-left:4px solid #b57f24;background:#fffaf0;font-size:14px;line-height:1.6;padding:15px;color:#624f24}
.hpd-details{margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hpd-details>div{min-width:0;border-bottom:1px solid #e1ecea;padding-bottom:14px}.hpd-details dt{font-size:12px;color:#647470;margin-bottom:6px}.hpd-details dd{font-size:15px;line-height:1.6;margin:0;font-weight:500}
.hpd-portal{margin:0;background:#f3f7f6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#223936;line-height:1.6}
.hpd-portal main{width:880px;max-width:100%;margin:auto;padding:16px clamp(14px,3vw,28px) 40px}.hpd-portal footer{font-size:12px;color:#647470;padding:12px 0}
.hpd-back{color:#087f7c;font-weight:600}.hpd-pages{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:20px}.hpd-pages a{padding:10px;min-height:44px;color:#087f7c}.hpd-audit{padding-left:20px}.hpd-audit li{padding:8px 0;font-size:14px}.hpd-audit span,.hpd-audit small{display:block;color:#647470;font-size:12px}
@media(max-width:600px){.hpd-grid,.hpd-details{grid-template-columns:1fr}.hpd-box{border-radius:12px}.hpd-button,.hpd-action{width:100%}.hpd-amount{font-size:23px!important}.hpd-portal main{padding-top:0}.hpd-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hpd-box *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 1.9.3: agent-owned property settings; do not restyle other dashboard forms. */
.hpd-property-settings{margin:24px 0 36px;min-width:0;max-width:100%}
.hpd-property-settings>h3,.hpd-ledger-title{font-size:21px;line-height:1.4;color:#223936;margin:18px 0 12px}
.hpd-property-settings>p{line-height:1.65;font-size:15px}
.hpd-property-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hpd-property-cards>.hpd-box{margin:0;padding:24px;box-shadow:0 4px 16px rgba(18,61,57,.035)}
.hpd-property-card{scroll-margin-top:170px;border-top:3px solid #0eaaa6}
.hpd-property-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hpd-property-heading>div{min-width:0}.hpd-property-heading h4{font-size:20px;margin:6px 0 0;overflow-wrap:anywhere}
.hpd-property-heading>a{font-size:13px;flex-shrink:0;padding:8px 0;min-height:40px}
.hpd-property-form{margin:0!important;max-width:100%;display:block!important}
.hpd-property-editor .hpd-grid{grid-template-columns:1fr;gap:4px}
.hpd-property-toggle{padding:16px;background:#f2fbfa;border:1px solid #d5eeeb;border-radius:10px}
.hpd-property-toggle small{display:block;font-size:13px;line-height:1.6;color:#576963;font-weight:400;margin-top:5px}
.hpd-property-status{max-width:100%;white-space:normal;background:#f0f3f3;color:#4c6260}
.hpd-property-status.is-active{background:#def5ef;color:#176854}
.hpd-property-status-detail{min-height:0}
.hpd-property-editor .hpd-field input:disabled{background:#f1f5f4;color:#6b7e7a;cursor:not-allowed}
.hpd-property-editor .hpd-fixed-field.is-inactive{opacity:.72}
.hpd-estimate{padding:16px;border:1px solid #dce9e7;background:#fbfdfd;border-radius:10px;margin:18px 0}
.hpd-estimate>strong{display:block;color:#087f7c;font-size:24px;line-height:1.4;margin:5px 0}
.hpd-estimate p{font-size:13px!important;margin:8px 0 0!important;line-height:1.65!important}
.hpd-property-form .hpd-button{background:#0eaaa6;border-color:#0eaaa6;color:#fff!important;width:100%;font-weight:700}
.hpd-property-form .hpd-button:hover,.hpd-property-form .hpd-button:focus{background:#087f7c;border-color:#087f7c;color:#fff!important}
.hpd-property-form .hpd-button:disabled{cursor:wait;opacity:.7}
.hpd-property-feedback{font-size:13px;line-height:1.65;color:#176854;margin-top:10px;overflow-wrap:anywhere}
.hpd-property-feedback:empty{display:none}.hpd-property-feedback.is-error{color:#9c3030}
.hpd-property-notice{border:1px solid #d7e7e4;border-left:4px solid #0eaaa6;background:#f5fbfa;color:#34534e;padding:16px 18px;border-radius:8px;margin:16px 0;line-height:1.65;font-size:14px}
.hpd-property-notice.hpd-property-error{background:#fff6f4;border-left-color:#a84431;color:#8a3427}
.hpd-property-notice.hpd-property-success{background:#f0faf5;color:#176854}
.hpd-editor-link{padding:12px 0;border-top:1px solid #dce9e7;line-height:1.6}.hpd-editor-link a{color:#087f7c!important;text-decoration:underline!important}
.hpd-property-editor .hpd-field select{appearance:auto!important;-webkit-appearance:menulist!important;padding-right:28px;height:auto!important}
@media(max-width:1000px){.hpd-property-cards{grid-template-columns:1fr}}
@media(max-width:600px){.hpd-property-cards>.hpd-box{padding:18px}.hpd-property-heading{flex-wrap:wrap;gap:4px}.hpd-property-toggle{padding:13px}.hpd-property-heading h4{font-size:19px}.hpd-property-card{scroll-margin-top:160px}}
@media(min-width:1001px){.hpd-property-card:only-child{grid-column:1/-1}.hpd-property-card:only-child .hpd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.hpd-property-card:only-child .hpd-button{width:auto;min-width:240px}}


/* 1.9.5: ONE native checkmark, never native + WordPress/theme pseudo artwork.
 * 1.9.4 forced appearance:auto but left input:checked::before in the cascade.
 * WordPress admin and theme rules can draw that second mark even on iOS.
 * Keep the real accessible input, and suppress decoration only inside the
 * plugin-owned deposit labels. No new SVG/font tick, JS, or global reset.
 * These rules also apply to guest quote markup added later by AJAX.
 */
.hpd-box label.hpd-check > input[type="checkbox"],
.hpd-box label.hpd-check > input[type="checkbox"]:checked {
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
    display: inline-block !important;
    position: static !important;
    float: none !important;
    box-sizing: border-box !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    border: initial !important;
    border-radius: initial !important;
    background: initial !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    accent-color: #0eaaa6 !important;
    vertical-align: top;
    cursor: pointer;
}
/* Important: clearing background-image alone does NOT clear pseudo-elements.
 * Clear both pseudo layers on the input AND on the label/text wrapper. Keep
 * their actual text, checked value, click target and keyboard behavior intact.
 */
.hpd-box label.hpd-check > input[type="checkbox"]::before,
.hpd-box label.hpd-check > input[type="checkbox"]::after,
.hpd-box label.hpd-check > input[type="checkbox"]:checked::before,
.hpd-box label.hpd-check > input[type="checkbox"]:checked::after,
.hpd-box label.hpd-check > input[type="checkbox"]:indeterminate::before,
.hpd-box label.hpd-check > input[type="checkbox"]:indeterminate::after,
.hpd-box label.hpd-check::before,
.hpd-box label.hpd-check::after,
.hpd-box label.hpd-check > span::before,
.hpd-box label.hpd-check > span::after {
    content: none !important;
    display: none !important;
    background: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    box-shadow: none !important;
}
.hpd-box label.hpd-check > input[type="checkbox"]:focus-visible {
    outline: 2px solid #087f7c !important;
    outline-offset: 3px !important;
}
.hpd-box label.hpd-check > input[type="checkbox"]:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed;
}
@media (forced-colors: active) {
    .hpd-box label.hpd-check > input[type="checkbox"],
    .hpd-box label.hpd-check > input[type="checkbox"]:checked {
        forced-color-adjust: auto;
        accent-color: auto !important;
    }
    .hpd-box label.hpd-check > input[type="checkbox"]:focus-visible {
        outline-color: Highlight !important;
    }
}


/* 1.9.6: independent deposit card. Price-row flex rules must not split notices
 * into a skinny title column and paragraph. Auto-fit responds to the actual
 * container width, including a narrow sidebar on a desktop screen.
 */
.hp-stay-card .hp-quote > .hpd-box,
.hp-quote > .hpd-deposit-notice,
.hpd-deposit-card {
    display:block !important; width:100%; min-width:0; max-width:100%;
    box-sizing:border-box; margin:22px 0 8px; padding:clamp(16px,3vw,24px) !important;
    text-align:left !important; border-radius:14px; border:1px solid #cfe5e2;
}
.hpd-deposit-card { background:#fff; border-top:3px solid #0eaaa6; }
.hpd-deposit-card *, .hpd-deposit-notice * {box-sizing:border-box;min-width:0;max-width:100%;}
.hpd-deposit-card .hpd-deposit-header {
    display:flex !important;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:10px;margin:0 0 18px;padding:0;
}
.hpd-deposit-badge {display:inline-block;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.5;color:#086762;background:#e8f7f4;}
.hpd-deposit-card .hpd-deposit-overview {
    display:grid !important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
    gap:16px;align-items:start;padding:0;margin:0;
}
.hpd-deposit-card .hpd-deposit-copy {display:block !important;padding:0;margin:0;}
.hpd-deposit-card h4 {font-size:clamp(20px,2.1vw,24px);font-weight:700;line-height:1.3;margin:0 0 9px;color:#193d39;}
.hpd-deposit-card .hpd-deposit-copy p {font-size:14px;line-height:1.65;margin:0;color:#4c6661;}
.hpd-deposit-card .hpd-deposit-price {display:block !important;padding:15px 17px;margin:0;background:#edf9f7;border:1px solid #d2ece8;border-radius:11px;}
.hpd-deposit-price > span,.hpd-deposit-price > small {display:block;font-size:12px;line-height:1.55;color:#476b65;}
.hpd-deposit-price > strong {display:block;font-size:clamp(23px,3vw,29px);font-weight:750;line-height:1.3;color:#087f7c;overflow-wrap:anywhere;margin:5px 0;}
.hpd-deposit-card .hpd-deposit-explanation {font-size:12px;line-height:1.65;color:#60746e;margin:14px 0 18px;}
.hpd-deposit-card label.hpd-deposit-select {display:flex !important;gap:12px;align-items:flex-start;padding:15px !important;margin:0 0 16px !important;border:1px solid #a9dcd5;border-radius:11px;background:#f1faf8;font-size:14px !important;line-height:1.6;white-space:normal;}
.hpd-deposit-select > span {flex:1 1 0;display:block;min-width:0;}
.hpd-deposit-select strong,.hpd-deposit-select small {display:block;white-space:normal;overflow-wrap:anywhere;}
.hpd-deposit-select strong {font-size:14px;font-weight:650;color:#234e47;}
.hpd-deposit-select small {font-size:12px;font-weight:400;color:#516e67;line-height:1.65;margin-top:5px;}
.hpd-deposit-card.is-selected label.hpd-deposit-select {border-color:#0eaaa6;background:#e9f8f4;}
.hpd-deposit-card .hpd-deposit-facts {display:grid !important;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;padding:0;margin:16px 0;}
.hpd-deposit-card .hpd-deposit-facts > div {display:block !important;padding:0 0 12px;border-bottom:1px solid #e1eeea;}
.hpd-deposit-facts span,.hpd-deposit-facts strong {display:block;line-height:1.5;}
.hpd-deposit-facts span {font-size:12px;color:#60756f;margin-bottom:5px;}
.hpd-deposit-facts strong {font-size:14px;color:#234e47;font-weight:650;}
.hpd-deposit-card .hpd-deposit-selection {font-size:12px;line-height:1.6;color:#4b6b61;margin:10px 0 16px;}
.hpd-deposit-disclosure {display:block;background:#f6f8f8;border-left:3px solid #b6cfca;padding:12px 14px;border-radius:0 8px 8px 0;}
.hpd-deposit-disclosure > strong {display:block;font-size:12px;line-height:1.5;color:#334f49;}
.hpd-deposit-card .hpd-deposit-disclosure > p {font-size:12px;line-height:1.65;color:#516960;margin:5px 0 0;}
.hpd-deposit-card details.hpd-deposit-terms {margin:16px 0 0;padding:4px 0 0;border-color:#e1eeea;}
.hpd-deposit-terms summary {font-size:13px;line-height:1.5;padding:12px 0;min-height:44px;color:#087f7c;white-space:normal;}
.hpd-deposit-card .hpd-deposit-terms p {font-size:12px;line-height:1.7;margin:10px 0;}
.hpd-deposit-notice {background:#f7fbfa !important;}
.hpd-deposit-notice > h4,.hpd-deposit-notice > strong {display:block;width:100%;font-size:18px;line-height:1.4;margin:9px 0;}
.hpd-deposit-notice > p {display:block;width:100%;font-size:14px;line-height:1.65;margin:0;}
.hpd-box .hpd-coverage-note {padding:13px 15px;background:#f5faf8;border-left:3px solid #0eaaa6;border-radius:0 8px 8px 0;font-size:13px;line-height:1.7;}
.hpd-admin .submit .button-primary {background:#0eaaa6;border-color:#0eaaa6;color:#fff;border-radius:8px;min-height:44px;white-space:normal;height:auto;line-height:1.5;padding:11px 18px;}
.hpd-admin .submit .button-primary:hover,.hpd-admin .submit .button-primary:focus {background:#087f7c;border-color:#087f7c;color:#fff;}
@media(max-width:480px) {
    .hpd-deposit-card .hpd-deposit-overview {grid-template-columns:minmax(0,1fr);}
    .hpd-deposit-card .hpd-deposit-facts {grid-template-columns:repeat(2,minmax(0,1fr));}
    .hpd-deposit-card label.hpd-deposit-select {padding:13px !important;}
    .hpd-deposit-card h4 {font-size:20px;}
}

.hp-stay-card .hp-quote > .hpd-deposit-card {border-top:3px solid #0eaaa6;}
.hpd-deposit-card .hpd-deposit-overview {margin-bottom:18px;}

/* 1.9.7: administrator-approved damage reimbursements; native checkbox rules unchanged. */
.hpd-payout{border-top:4px solid #0eaaa6;scroll-margin-top:32px}
.hpd-payout .hpd-details dd{overflow-wrap:anywhere;word-break:break-word}
.hpd-payout .hpd-chip{white-space:normal;max-width:100%}
.hpd-payout .hpd-action{max-width:100%;min-width:0}
.hpd-payout .hpd-check>span{overflow-wrap:anywhere;min-width:0}
.hpd-payout .hpd-button{background:#0eaaa6;border-color:#0eaaa6;white-space:normal}
.hpd-payout .hpd-button:hover{background:#087f7c;border-color:#087f7c}
@media(max-width:600px){.hpd-payout .hpd-button{width:100%}.hpd-payout .hpd-details{grid-template-columns:1fr}}
