/* PFOA Pet Tidings Preferences — mobile-first form styles. All classes prefixed pfoa-pt-. */
.pfoa-pt-wrap{max-width:44rem;margin:0 auto;padding:1rem;font-size:1rem;line-height:1.55}
/* Keep step/error targets below the sticky site header on user-initiated scrolls. */
.pfoa-pt-form,.pfoa-pt-step,.pfoa-pt-error-summary{scroll-margin-top:96px}
.pfoa-pt-wrap *{box-sizing:border-box}
.pfoa-pt-address{background:#f4f6f8;border:1px solid #dfe5ea;border-radius:.5rem;padding:.75rem 1rem;margin:.75rem 0;font-size:.95rem}
.pfoa-pt-welcome{font-size:1.05rem;margin:.75rem 0}
.pfoa-pt-progress{list-style:none;display:flex;gap:.25rem;padding:0;margin:1rem 0;counter-reset:pfoa-va}
.pfoa-pt-progress li{flex:1;text-align:center;font-size:.72rem;color:#5b6770;position:relative;padding-top:1.6rem;min-width:0}
.pfoa-pt-progress li::before{counter-increment:pfoa-va;content:counter(pfoa-va);position:absolute;top:0;left:50%;transform:translateX(-50%);width:1.4rem;height:1.4rem;border-radius:50%;background:#dfe5ea;color:#33414e;font-size:.8rem;line-height:1.4rem;font-weight:700}
.pfoa-pt-progress li[aria-current="step"]{color:#17365d;font-weight:700}
.pfoa-pt-progress li[aria-current="step"]::before{background:#17365d;color:#fff}
.pfoa-pt-progress li.pfoa-pt-done::before{background:#3d7a44;color:#fff;content:"✓"}
.pfoa-pt-step{border:0;padding:0;margin:0 0 1rem}
.pfoa-pt-step>legend{font-size:1.25rem;font-weight:700;color:#17365d;padding:0;margin-bottom:.75rem}
.pfoa-pt-field{margin-bottom:.9rem}
.pfoa-pt-field>label,.pfoa-pt-legend{display:block;font-weight:600;margin-bottom:.3rem}
.pfoa-pt-req{color:#b00020;font-weight:700}
.pfoa-pt-opt{color:#5b6770;font-weight:400;font-size:.85em}
.pfoa-pt-wrap input[type="text"],.pfoa-pt-wrap input[type="email"],.pfoa-pt-wrap input[type="tel"],.pfoa-pt-wrap input[type="date"],.pfoa-pt-wrap input[type="number"],.pfoa-pt-wrap textarea{width:100%;padding:.55rem .65rem;border:1px solid #8a97a3;border-radius:.35rem;font:inherit;background:#fff}
.pfoa-pt-wrap textarea{min-height:5rem;resize:vertical}
/* B5 keyboard focus: text inputs, textarea, and checkboxes use the same
 * accessible green :focus-visible ring as radios (3:1+ against white).
 * Native appearance/size untouched; resting state unchanged. */
.pfoa-pt-wrap input[type="text"]:focus-visible,.pfoa-pt-wrap input[type="email"]:focus-visible,.pfoa-pt-wrap input[type="tel"]:focus-visible,.pfoa-pt-wrap input[type="date"]:focus-visible,.pfoa-pt-wrap input[type="number"]:focus-visible,.pfoa-pt-wrap input[type="checkbox"]:focus-visible,.pfoa-pt-wrap textarea:focus-visible{outline:3px solid #057205;outline-offset:2px;border-color:#17365d}
/* B5 radio keyboard focus: native radio keeps UA size/appearance; green
 * :focus-visible ring meets 3:1 against the surrounding near-white
 * background. Scoped to :focus-visible so mouse interaction is unchanged.
 * No !important: this owning-plugin rule and the theme guard agree on green,
 * so cascade order cannot regress the indicator. */
.pfoa-pt-wrap input[type="radio"]:focus-visible{outline:3px solid #057205;outline-offset:2px}
.pfoa-pt-grid{display:grid;grid-template-columns:1fr;gap:.9rem}
@media(min-width:36rem){.pfoa-pt-grid{grid-template-columns:1fr 1fr}}
.pfoa-pt-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:.25rem 0;padding:0;list-style:none}
.pfoa-pt-checks label,.pfoa-pt-radio label{display:flex;gap:.45rem;align-items:flex-start;font-weight:400;cursor:pointer}
.pfoa-pt-radio{display:flex;gap:1.25rem;flex-wrap:wrap}
.pfoa-pt-radio label{align-items:center;font-weight:400;cursor:pointer}
.pfoa-pt-interest-group{border:1px solid #dfe5ea;border-radius:.5rem;padding:.6rem .8rem;margin-bottom:.7rem}
.pfoa-pt-interest-group>h3{margin:.1rem 0 .4rem;font-size:1rem;color:#17365d}
.pfoa-pt-conditional{border-left:3px solid #17365d;padding:.4rem 0 .2rem .8rem;margin:.5rem 0;background:#f7fafc}
.pfoa-pt-scrollbox{max-height:16rem;overflow:auto;border:1px solid #8a97a3;border-radius:.35rem;padding:.7rem .9rem;background:#fff;margin-bottom:.5rem}
.pfoa-pt-scrollbox p{margin:.5rem 0;font-size:.92rem}
.pfoa-pt-scrollbox .pfoa-pt-clause{margin:.55rem 0}
.pfoa-pt-doc-check{border:1px solid #dfe5ea;border-radius:.5rem;padding:.6rem .8rem;margin-bottom:.8rem}
.pfoa-pt-doc-check>h3{margin:.1rem 0 .4rem;font-size:1.02rem;color:#17365d}
.pfoa-pt-doc-check label{display:flex;gap:.5rem;align-items:flex-start;font-weight:600;cursor:pointer}
.pfoa-pt-paper-note{background:#fff8e1;border:1px solid #e0c36a;border-radius:.4rem;padding:.6rem .85rem;margin:.8rem 0;font-size:.93rem}
.pfoa-pt-minor-emphasis{border:2px solid #b00020;border-radius:.5rem}
.pfoa-pt-hint{font-size:.87rem;color:#43525f;margin:.2rem 0}
.pfoa-pt-error-summary{border:2px solid #b00020;background:#fdf0f2;border-radius:.5rem;padding:.7rem 1rem;margin-bottom:1rem}
.pfoa-pt-error-summary h2{font-size:1.05rem;color:#b00020;margin:.1rem 0 .4rem}
.pfoa-pt-error-summary a{color:#b00020}
.pfoa-pt-field-error{color:#b00020;font-size:.88rem;margin:.25rem 0 0;font-weight:600}
.pfoa-pt-invalid{border-color:#b00020!important}
.pfoa-pt-nav{display:flex;gap:.6rem;justify-content:space-between;margin-top:1.1rem;flex-wrap:wrap}
.pfoa-pt-btn{font:inherit;font-weight:700;padding:.6rem 1.3rem;border-radius:.4rem;border:1px solid #17365d;cursor:pointer;background:#fff;color:#17365d}
.pfoa-pt-btn-primary{background:#17365d;color:#fff}
.pfoa-pt-btn:hover,.pfoa-pt-btn:focus-visible{filter:brightness(1.12)}
.pfoa-pt-review{border:1px solid #dfe5ea;border-radius:.5rem;padding:.7rem 1rem;margin-bottom:.7rem}
.pfoa-pt-review h3{margin:.2rem 0 .4rem;font-size:1.02rem;color:#17365d}
.pfoa-pt-review dl{margin:0;display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.2rem .8rem;font-size:.93rem}
.pfoa-pt-review dt{font-weight:600;color:#33414e}
.pfoa-pt-review dd{margin:0;overflow-wrap:anywhere}
.pfoa-pt-success{border:2px solid #3d7a44;background:#f0f7f1;border-radius:.6rem;padding:1.2rem 1.4rem}
.pfoa-pt-success h2{color:#2c5b31;margin-top:0}
.pfoa-pt-ref{font-size:1.15rem;font-weight:700}
.pfoa-pt-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.pfoa-pt-stepnum{font-size:.85rem;color:#5b6770;font-weight:400}
@media(max-width:30rem){
.pfoa-pt-progress{gap:.15rem}
.pfoa-pt-progress li{font-size:.62rem;line-height:1.25;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;white-space:normal}
.pfoa-pt-review dl{grid-template-columns:1fr;gap:.1rem .5rem}
.pfoa-pt-review dt{overflow-wrap:anywhere;word-break:break-word}
.pfoa-pt-review dd{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.pfoa-pt-paper-note{overflow-wrap:anywhere;word-break:break-word}
.pfoa-pt-nav .pfoa-pt-btn{flex:1 1 auto;text-align:center}
}
