.c3pf-wrap{width:min(1100px,calc(100% - 56px));margin:0 auto;padding:40px 0 70px}
.c3pf-hero{padding:20px 0 40px;border-bottom:1px solid #e0e5e8;margin-bottom:36px}
.c3pf-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.05;margin:12px 0 16px}
.c3pf-hero p{font-size:17px;line-height:1.6;color:#4f5d67;max-width:720px}
.c3pf-section{margin-bottom:48px}
.c3pf-section h2{font-size:24px;margin:0 0 8px}
.c3pf-note{font-size:13px;color:#75828c;margin:0 0 16px}
.c3pf-freq-label{display:block;font-size:13px;color:#4f5d67;font-weight:700;margin-bottom:16px;max-width:320px}
.c3pf-freq-label select{width:100%;height:38px;border:1px solid #d5dbe0;border-radius:5px;padding:0 10px;margin-top:6px;font-size:14px;font-weight:400}
.c3pf-freq-table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:14px}
.c3pf-freq-table th,.c3pf-freq-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e0e5e8}
.c3pf-freq-table th{color:#75828c;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.c3pf-warn{font-size:13px;background:#fff4e5;color:#8a5a00;padding:10px 14px;border-radius:6px;margin:12px 0}
#c3pf-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.c3pf-row{display:grid;grid-template-columns:1.8fr 1.2fr 1fr auto auto;gap:8px;align-items:center}
.c3pf-row input[type=text],.c3pf-row input[type=number],.c3pf-row select{height:38px;border:1px solid #d5dbe0;border-radius:5px;padding:0 10px;font-size:14px}
.c3pf-roofcheck{display:flex;align-items:center;gap:5px;font-size:13px;color:#4f5d67;white-space:nowrap}
.c3pf-row button{width:34px;height:34px;border:1px solid #d5dbe0;background:#fff;border-radius:5px;cursor:pointer}
.c3pf-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#f6f7f7;border-radius:8px;padding:18px;margin:18px 0 4px}
.c3pf-summary div span{display:block;font-size:12px;color:#75828c;margin-bottom:3px}
.c3pf-summary div strong{font-size:19px}
.c3pf-line{display:flex;justify-content:space-between;font-size:13px;color:#4f5d67;padding:6px 2px 0;margin:0}
.c3pf-line strong{color:#111820;font-weight:900}
.c3pf-total{border-top:1px solid #e0e5e8;margin-top:10px;padding-top:10px}
.c3pf-roof-block{border-top:1px solid #e0e5e8;margin-top:18px;padding-top:14px}
.c3pf-large{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.c3pf-large label{display:block;font-size:13px;color:#4f5d67}
.c3pf-large input,.c3pf-large select{width:100%;height:38px;border:1px solid #d5dbe0;border-radius:5px;padding:0 10px;margin-top:6px;font-size:14px}
.c3pf-formula{font-family:monospace;font-size:13px;background:#f6f7f7;border-radius:6px;padding:12px 14px;margin:10px 0}
.c3pf-large-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.c3pf-large-prices div{background:#f6f7f7;border-radius:8px;padding:16px;text-align:center}
.c3pf-large-prices span{display:block;font-size:12px;color:#75828c;margin-bottom:4px}
.c3pf-large-prices strong{font-size:20px}
#c3pf-form{display:flex;flex-direction:column;gap:12px;max-width:520px}
#c3pf-form label{font-size:13px;color:#4f5d67}
#c3pf-form input,#c3pf-form textarea{width:100%;border:1px solid #d5dbe0;border-radius:5px;padding:9px 10px;margin-top:6px;font-size:14px;font-family:inherit}
#c3pf-form-msg{font-size:13px;margin:4px 0 0}
#c3pf-form-msg.c3pf-ok{color:#1d9e75}
#c3pf-form-msg.c3pf-err{color:#d85a30}

/* RC44.19: explicit professional contrast independent of theme button defaults. */
#c3pf-form .c3m-btn-red{background:#df2c35!important;border:1px solid #df2c35!important;color:#fff!important;min-height:50px;border-radius:5px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(181,31,40,.16)}
#c3pf-form .c3m-btn-red:hover,#c3pf-form .c3m-btn-red:focus-visible{background:#b51f28!important;border-color:#b51f28!important}
.c3pf-note,.c3pf-summary div span,.c3pf-large-prices span{color:#5b6872}
.c3pf-line,#c3pf-form label{color:#42515c}
