/* ETPR 3.2: shared controls, resilient responsive forms. */
:root{--etpr-ink:#17364b;--etpr-muted:#4c6275;--etpr-action:#165c97;--etpr-line:#bacbda}
:is(.etpr-shell,.pr-content,.etpr-unified-content) *, .etpr-office-app *{box-sizing:border-box}
:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(a.etpr-btn,button,input[type=submit]),.etpr-admin :is(.button,button,input[type=submit]){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;border:1px solid var(--etpr-action);border-radius:10px;background:var(--etpr-action);color:#fff;line-height:1.35;font:inherit;font-weight:700;text-decoration:none;white-space:normal;position:relative;float:none;margin:0;cursor:pointer;box-shadow:none}
:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(a.etpr-btn,button,input[type=submit]):hover,.etpr-admin :is(.button,button):hover{background:#104777;color:#fff}
:is(.etpr-shell,.pr-content,.etpr-unified-content) .etpr-btn :is(span,strong,small),.etpr-admin .button :is(span,strong,small){color:inherit}
:is(.etpr-shell,.pr-content,.etpr-unified-content) .etpr-btn.outline,.etpr-admin .button:not(.button-primary){background:#fff;color:#174c77;border-color:#9cb6cb}
:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(a,button,input,textarea,select):focus-visible,.etpr-admin :is(a,button,input,textarea,select):focus-visible{outline:3px solid #a7670b;outline-offset:3px}
:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(button,input[type=submit]):disabled,.etpr-admin button:disabled{background:#e0e7ed;color:#465969;border-color:#b6c4d0;cursor:not-allowed;opacity:1}
.etpr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0}
:is(.etpr-shell,.pr-content,.etpr-unified-content) form:not(.woocommerce-cart-form){max-width:100%}
:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(.etpr-form,.etpr-ticket-form){display:grid;gap:18px}
:is(.etpr-shell,.pr-content,.etpr-unified-content) form label,.etpr-admin form label{display:block;font-weight:650;color:#213e55;line-height:1.5}
:is(.etpr-shell,.pr-content,.etpr-unified-content) form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select),.etpr-admin form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select){display:block;width:100%;max-width:100%;min-height:46px;margin:7px 0 16px;padding:11px 13px;border:1px solid var(--etpr-line);border-radius:9px;background:#fff;color:#17364b;font:inherit;font-size:16px;line-height:1.5}
:is(.etpr-shell,.pr-content,.etpr-unified-content) form textarea,.etpr-admin form textarea{min-height:120px;resize:vertical}
:is(.etpr-shell,.pr-content,.etpr-unified-content) input:is([type=checkbox],[type=radio]),.etpr-admin input:is([type=checkbox],[type=radio]){width:20px;height:20px;vertical-align:middle;accent-color:#165c97;margin-right:7px}
.etpr-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(.etpr-hint,.etpr-subnote),.etpr-admin :is(.description,.etpr-work-meta){color:#4c6275;line-height:1.65}
.etpr-scope-note,.etpr-staff-entry{border:1px solid #ccd9e3;background:#f3f7fa;padding:24px;border-radius:16px;margin:24px 0;color:#29465b}
.etpr-scope-note h2,.etpr-staff-entry h2{font-size:22px;line-height:1.3;margin:0 0 12px}.etpr-scope-note p{font-size:14px;line-height:1.7}.etpr-mobile-entry{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.etpr-mobile-entry img{background:white;padding:8px;width:180px;height:180px;border:1px solid #cedbe5;border-radius:12px}
.etpr-login form+form{margin-top:24px;border-top:1px solid #ccd9e3;padding-top:24px}:is(.etpr-shell,.pr-content,.etpr-unified-content) :is(.etpr-grid,.etpr-form-grid)>*{min-width:0}.etpr-login .login-submit input[type=submit]{width:100%}
@media(max-width:760px){.etpr-form-grid,.etpr-login .etpr-grid.two{grid-template-columns:1fr!important}.etpr-actions{align-items:stretch}.etpr-actions>.etpr-btn{flex:1 1 220px}:is(.etpr-shell,.pr-content,.etpr-unified-content) h1{font-size:clamp(28px,7vw,42px);line-height:1.15}:is(.etpr-shell,.pr-content,.etpr-unified-content) h2{font-size:clamp(23px,5vw,32px)}.etpr-panel{padding:22px!important}:is(.etpr-shell,.pr-content,.etpr-unified-content){overflow-wrap:anywhere}}
.etpr-code-login{border:1px solid #c2d2e0;border-radius:12px;padding:20px;background:#f5f9fc;align-self:start}.etpr-code-login summary{font-weight:750;color:#174d78;cursor:pointer;min-height:30px}.etpr-code-login summary:focus-visible{outline:3px solid #a7670b;outline-offset:5px}.etpr-code-login>p{font-size:14px;line-height:1.6;color:#4c6275}
/* Final public cascade, after legacy rules. Keep button contents legible. */
html body.pr-public .pr-content :is(a.edt-btn,a.etpr-btn,a.pr-button,button,input[type=submit]){display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;line-height:1.4;text-decoration:none;vertical-align:middle;float:none;position:relative;margin:4px 8px 8px 0;max-width:100%;white-space:normal;box-sizing:border-box}
html body.pr-public .pr-content :is(.edt-actions,.edt-cta-row,.edt-buttons,.edt-product-actions,.edt-hero-actions,.etpr-actions){display:flex;gap:12px;align-items:center;flex-wrap:wrap}
html body.pr-public .etpr-wiz :is(a.etpr-access-choice,button.etpr-access-choice){display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:100px;padding:18px!important;text-align:left;background:#f1f6fb!important;border:1px solid #b7cddd!important;border-radius:12px;color:#17364b!important;-webkit-text-fill-color:#17364b!important;text-decoration:none;line-height:1.4}
html body.pr-public .etpr-wiz .etpr-access-choice[aria-current="true"]{background:#e6f1fc!important;border:2px solid #165c97!important;box-shadow:inset 0 -3px #165c97}
html body.pr-public .etpr-wiz .etpr-access-choice strong{font-size:16px;color:#17364b!important;-webkit-text-fill-color:#17364b!important;line-height:1.4}
html body.pr-public .etpr-wiz .etpr-access-choice small{font-size:13px;color:#405f78!important;-webkit-text-fill-color:#405f78!important;line-height:1.5}
html body.pr-public .etpr-wiz :is(button:not(.etpr-access-choice),input[type=submit]){background:#165c97!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #165c97!important;min-height:46px;border-radius:10px!important;white-space:normal;line-height:1.5;max-width:100%}
html body.pr-public .etpr-wiz .etpr-wiz-secondary{background:#edf4fa!important;color:#164f7b!important;-webkit-text-fill-color:#164f7b!important}
html body.pr-public .etpr-wiz button.etpr-modal-trigger{background:transparent!important;color:#165c97!important;-webkit-text-fill-color:#165c97!important;border:0!important;text-decoration:underline;padding-left:0!important}
html body.pr-public .etpr-auth-panel[hidden]{display:none!important}html body.pr-public .etpr-auth-panel:not([hidden]){display:block!important}
html body.pr-public .etpr-staff-entry{text-align:left!important;padding:22px!important;margin:22px 0!important;background:#f1f6fa;border:1px solid #c6d6e2;border-radius:14px}
html body.pr-public .etpr-staff-entry a.etpr-btn{font-size:15px!important;background:#165c97!important;color:white!important;-webkit-text-fill-color:white!important;border-radius:9px;padding:12px 20px;display:inline-flex;text-decoration:none}
html body.pr-public .pr-staff-link{font-size:12px;font-weight:750;color:#174b6f;padding:9px 12px;border:1px solid #adc2d0;border-radius:8px;text-decoration:none;white-space:nowrap}
html body.pr-public .pr-content form :is(input,select,textarea){font-size:16px}
html body.pr-public .etpr-wiz-steps{gap:12px}.etpr-wiz-step{min-width:0}.etpr-wiz-step small{line-height:1.4}
@media(max-width:1100px){html body.pr-public .pr-header-row{flex-wrap:wrap;gap:12px}.pr-header-actions{flex-wrap:wrap}}
@media(max-width:740px){html body.pr-public .pr-content{padding:20px 16px}html body.pr-public .etpr-access-choices{grid-template-columns:1fr;gap:10px}html body.pr-public .etpr-wiz .etpr-access-choice{min-height:76px}.etpr-wiz-fields{grid-template-columns:1fr!important}.etpr-wiz-actions{flex-wrap:wrap}.pr-staff-link{display:none}.etpr-wiz-step small{font-size:11px!important}}
/* Gutenberg actions retain a real layout even without the block stylesheet. */
html body.pr-public :is(.pr-content,.etpr-unified-content) :is(.wp-block-buttons,.edt-action-row,.edt210-actions){display:flex!important;flex-wrap:wrap;gap:12px;align-items:stretch;margin:20px 0!important}
html body.pr-public :is(.pr-content,.etpr-unified-content) .wp-block-button{display:flex;flex:0 1 auto;max-width:100%;margin:0!important}
html body.pr-public :is(.pr-content,.etpr-unified-content) .wp-block-button__link{display:inline-flex!important;align-items:center;justify-content:center;background:#174c77!important;color:#fff!important;padding:12px 22px!important;min-height:46px;line-height:1.4;border:1px solid #174c77;border-radius:10px;text-decoration:none;white-space:normal;max-width:100%;margin:0!important;position:static!important}
html body.pr-public :is(.pr-content,.etpr-unified-content) .is-style-outline .wp-block-button__link{background:#fff!important;color:#174c77!important;border-color:#9ab4c8!important}
html body.pr-public :is(.pr-content,.etpr-unified-content) :is(.edt-btn,.edt210-primary,.edt210-secondary){display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;line-height:1.4;padding:12px 20px;margin:0;white-space:normal;max-width:100%;text-decoration:none;position:relative;float:none;border-radius:10px}
html body.pr-public :is(.pr-content,.etpr-unified-content) :is(.edt-btn.navy,.edt210-primary){background:#145f58!important;color:#fff!important}.edt-btn.gold{background:#dfbf78!important;color:#15364b!important}
html body.pr-public :is(.pr-content,.etpr-unified-content) :is(.edt-btn,.edt210-primary,.edt210-secondary) :is(strong,small,span){color:inherit!important;-webkit-text-fill-color:inherit!important}
@media(max-width:600px){html body.pr-public :is(.pr-content,.etpr-unified-content) .wp-block-button{flex:1 1 100%}html body.pr-public .wp-block-button__link{width:100%}}
html body.pr-public :is(.pr-content,.etpr-unified-content) :is(.edt-btn,.edt210-primary,.edt210-secondary,.wp-block-button__link){white-space:normal!important;overflow-wrap:anywhere!important;height:auto!important;min-width:0!important;line-height:1.45!important;padding:12px 18px!important}
html body.pr-public .edt210-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:center;background:#edf3f1;border:1px solid #c5d5d3;border-top:3px solid #aa8447;border-radius:16px;padding:28px;margin:24px 0}
html body.pr-public .edt210-intro>*{min-width:0}html body.pr-public .edt210-intro h2{font-size:clamp(25px,3vw,36px);line-height:1.25;margin:10px 0 16px}html body.pr-public .edt210-intro p{line-height:1.7;margin-bottom:18px}
html body.pr-public .edt210-photo{margin:0}.edt210-photo img{width:100%;max-height:300px;object-fit:cover;border-radius:12px}.edt210-photo figcaption{font-size:12px;color:#425e6c;margin-top:8px}
html body.pr-public :is(.edt210-kicker,.edt-kicker){color:#72501f!important;font-size:12px;font-weight:750;letter-spacing:.08em;line-height:1.6}
html body.pr-public .edt-pro-services-v36>h2{font-family:inherit!important;font-size:clamp(26px,3vw,36px)!important;line-height:1.25!important;margin:12px 0 18px}
html body.pr-public .edt-pro-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
html body.pr-public .edt-pro-service-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:24px;background:#fff;border:1px solid #c5d5e1;border-radius:14px;box-shadow:none}
html body.pr-public .edt-pro-service-card h3{font-family:inherit;font-size:23px;line-height:1.3;margin:0}
html body.pr-public .edt-pro-service-card .edt-btn{width:100%;margin-top:auto!important;flex-shrink:0;font-size:15px!important}
html body.pr-public .edt-embedded-form{height:auto!important;min-height:0!important;max-height:none!important;padding:22px!important;margin:24px 0!important;border:1px solid #c4d4e0;border-radius:14px}
html body.pr-public .edt210-secondary{background:#fff;color:#174c77;border:1px solid #9bb5c7}
html body.pr-public .edt210-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.edt210-next article{background:#f0f5f3;border:1px solid #cadad4;border-radius:12px;padding:20px}
@media(max-width:760px){html body.pr-public .edt210-intro,html body.pr-public .edt-pro-service-grid,html body.pr-public .edt210-next{grid-template-columns:1fr}html body.pr-public .edt210-intro{padding:22px}.edt-pro-service-card{padding:20px!important}}
