/* Account presentation only: WooCommerce and Easy Login own forms and actions. */
.opp-site .opp-page-content.opp-account-page { max-width:1280px;padding:48px 5% 80px; }
.opp-account-heading { max-width:780px;margin:0 0 38px; }
.opp-account-heading .eyebrow { font-size:10px; }
.opp-account-heading h1 { font-size:clamp(34px,4vw,48px);margin:14px 0 17px;letter-spacing:-.05em; }
.opp-account-heading>p { font-size:16px;line-height:1.8;color:var(--opp-muted);max-width:660px; }
.opp-site .opp-account-signed-in>.woocommerce { display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;align-items:start; }
.opp-site .opp-account-signed-in>.woocommerce::before,.opp-site .opp-account-signed-in>.woocommerce::after { display:none; }
.opp-account-signed-in>.woocommerce>.woocommerce-notices-wrapper { grid-column:1/-1; }
.opp-account-signed-in>.woocommerce>.woocommerce-notices-wrapper:empty { display:none; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation { float:none;width:auto;min-width:0; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation ul { margin:0;padding:9px;border:1px solid var(--opp-line);border-radius:12px;background:white; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation li { margin:0;list-style:none; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation li a { min-height:46px;display:flex;align-items:center;padding:13px 14px;font-size:13px;font-weight:550;border-radius:7px;line-height:1.5; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation li a:hover { background:#f5f6f8;color:var(--opp-blue); }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation .is-active a { background:var(--opp-wash);color:var(--opp-blue);font-weight:650; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation-link--customer-logout { border-top:1px solid var(--opp-line);margin-top:8px;padding-top:8px; }
.opp-site .opp-account-page .woocommerce-MyAccount-navigation-link--customer-logout a { color:var(--opp-muted); }
.opp-site .opp-account-page .woocommerce-MyAccount-content { float:none;width:100%;min-width:0;margin:0;padding:32px;border:1px solid var(--opp-line);border-radius:14px;background:white;font-size:14px;line-height:1.8; }
.opp-account-page .woocommerce-MyAccount-content>p { margin:0 0 22px;color:var(--opp-muted); }
.opp-account-page .woocommerce-MyAccount-content>p strong { color:var(--opp-ink); }
.opp-account-page .woocommerce-MyAccount-content>p a,.opp-account-page .woocommerce-order-details a:not(.button),.opp-account-page .woocommerce-Address-title a { color:var(--opp-blue);text-decoration:underline;text-underline-offset:3px; }
.opp-account-shortcuts { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px; }
.opp-account-shortcuts>a { padding:24px;border:1px solid #dce5f5;background:#f2f6ff;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start; }
.opp-account-shortcuts>a:hover { border-color:#9ebcf8;background:#edf3ff; }
.opp-account-shortcut-icon { display:inline-flex;background:white;border:1px solid #e2e9f6;border-radius:9px;padding:10px;color:var(--opp-blue);margin-bottom:23px; }
.opp-account-shortcut-icon svg { width:21px;height:21px; }
.opp-account-shortcuts h2 { font-size:20px;margin:0 0 12px; }
.opp-account-shortcuts p { color:var(--opp-muted);font-size:13px;line-height:1.8;margin:0 0 22px; }
.opp-account-shortcut-link { margin-top:auto;display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:650;color:var(--opp-blue); }
.opp-account-shortcut-link svg { width:16px;height:16px; }
.opp-site .opp-account-page .woocommerce h2,.opp-site .opp-account-page .woocommerce h3 { font-size:24px;line-height:1.3;margin:0 0 22px; }
.opp-site .opp-account-page .opp-account-shortcuts h2 { font-size:20px;margin-bottom:12px; }
.opp-site .opp-account-page .woocommerce form .form-row { padding:0;margin:0 0 22px; }
.opp-site .opp-account-page .woocommerce form .form-row label,.opp-site .opp-account-page .xoo-el-form-label { color:var(--opp-ink);font-size:13px;font-weight:550;line-height:1.6;margin:0 0 8px; }
.opp-site .opp-account-page .woocommerce form .form-row input.input-text,.opp-site .opp-account-page .woocommerce form .form-row textarea,.opp-site .opp-account-page .woocommerce form .form-row select { width:100%;min-height:48px;padding:12px 14px;font-size:15px;line-height:1.5;background:#fff;border:1px solid #d5dae2;border-radius:8px;box-shadow:none; }
.opp-site .opp-account-page .woocommerce form .form-row .password-input input.input-text { padding-right:48px; }
.opp-site .opp-account-page .woocommerce form .form-row em,.opp-site .opp-account-page .woocommerce form .form-row .description { display:block;color:var(--opp-muted);font-size:12px;font-style:normal;line-height:1.7;margin-top:7px; }
.opp-site .opp-account-page form fieldset { display:block;float:none;clear:both;min-width:0;width:100%;margin:30px 0 26px;padding:24px 0 0;border:0;border-top:1px solid var(--opp-line); }
.opp-site .opp-account-page form fieldset legend { display:block;float:none;position:static;width:auto;max-width:100%;padding:0 14px 0 0;margin:0 0 12px;font-family:'Manrope',Arial,sans-serif;font-size:21px;font-weight:650;line-height:1.4;color:var(--opp-ink); }
.opp-site .opp-account-page form fieldset .form-row:last-child { margin-bottom:0; }
.opp-site .opp-account-page .woocommerce button.button,.opp-site .opp-account-page .woocommerce a.button,.opp-site .opp-account-page .woocommerce input.button { border:1px solid var(--opp-blue);border-radius:8px;min-height:46px;padding:12px 20px;font:600 13px/1.5 'DM Sans',Arial,sans-serif;background:var(--opp-blue);color:#fff;white-space:normal;text-align:center; }
.opp-site .opp-account-page .woocommerce .button:hover { background:#0049df;border-color:#0049df;color:white; }
.opp-site .opp-account-page .woocommerce .button:disabled { opacity:.55;cursor:not-allowed; }
.opp-site .opp-account-page :where(input,select,textarea,a,button):focus-visible { outline:3px solid #0054ff;outline-offset:3px; }
.opp-site .opp-account-page .woocommerce form .form-row.woocommerce-invalid :where(input.input-text,select) { border-color:#b52b35; }
.opp-account-page .select2-container { max-width:100%; }
.opp-account-page .select2-container--default .select2-selection--single { min-height:48px;border:1px solid #d5dae2;border-radius:8px;background:white; }
.opp-account-page .select2-container--default .select2-selection--single .select2-selection__rendered { padding:10px 34px 10px 14px;line-height:26px;font-size:15px;color:var(--opp-ink); }
.opp-account-page .select2-container--default .select2-selection--single .select2-selection__arrow { height:46px;right:8px; }
.opp-site .opp-account-page .woocommerce-Addresses,.opp-site .opp-account-page .woocommerce-customer-details .addresses { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0 0; }
.opp-site .opp-account-page .woocommerce-Addresses::before,.opp-site .opp-account-page .woocommerce-Addresses::after,.opp-site .opp-account-page .woocommerce-customer-details .addresses::before,.opp-site .opp-account-page .woocommerce-customer-details .addresses::after { display:none; }
.opp-site .opp-account-page .woocommerce-Address,.opp-site .opp-account-page .woocommerce-customer-details .addresses>.woocommerce-column { float:none;width:auto;min-width:0;padding:24px;background:#fafaf8;border:1px solid var(--opp-line);border-radius:10px; }
.opp-site .opp-account-page .woocommerce-Address-title { display:flex;flex-direction:column;gap:9px;align-items:flex-start;margin-bottom:19px; }
.opp-site .opp-account-page .woocommerce-Address-title h2,.opp-site .opp-account-page .woocommerce-customer-details h2 { font-size:20px;float:none;margin:0; }
.opp-site .opp-account-page .woocommerce-Address-title a { float:none;font-size:12px; }
.opp-site .opp-account-page address { font-style:normal;color:var(--opp-muted);font-size:14px;line-height:1.9;overflow-wrap:anywhere; }
.opp-site .opp-account-page .woocommerce-customer-details address { padding:16px 0 0;border:0;border-radius:0; }
.opp-site .opp-account-page .woocommerce table.shop_table { width:100%;margin:0 0 24px;border:1px solid var(--opp-line);border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden; }
.opp-site .opp-account-page .woocommerce table.shop_table th { font-size:12px;font-weight:650;color:#596371;padding:14px 15px;background:#f5f7fa;line-height:1.6; }
.opp-site .opp-account-page .woocommerce table.shop_table td { padding:18px 15px;font-size:13px;line-height:1.75;vertical-align:middle; }
.opp-site .opp-account-page .woocommerce table.shop_table td a:not(.button) { color:var(--opp-blue);text-underline-offset:3px; }
.opp-site .opp-account-page .woocommerce table.shop_table .button { min-height:36px;padding:8px 11px;margin:3px 4px 3px 0;font-size:12px;background:#fff;color:var(--opp-blue);border-color:#d5e0f8; }
.opp-site .opp-account-page .woocommerce table.shop_table .button:hover { background:#edf3ff; }
.opp-site .opp-account-page .woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions { min-width:125px; }
.opp-site .opp-account-page .woocommerce table.shop_table .button.cancel { color:var(--opp-muted);border-color:var(--opp-line); }
.opp-site .opp-account-page .woocommerce-order-details { margin:26px 0; }
.opp-site .opp-account-page mark { background:#edf3ff;color:#224f9e;padding:2px 5px;border-radius:4px; }
.opp-site .opp-account-page :where(.woocommerce-message,.woocommerce-info,.woocommerce-error) { border:1px solid #dce5f5;border-radius:9px;background:#f0f5ff;color:#304864;font-size:13px;line-height:1.8;padding:18px 20px 18px 48px;margin:0 0 24px; }
.opp-site .opp-account-page :where(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before { top:19px;left:19px;color:#0054ff; }
.opp-site .opp-account-page .woocommerce-message { border-color:#d7e4d8;background:#f0f6ef;color:#315338; }
.opp-site .opp-account-page .woocommerce-message::before { color:#315338; }
.opp-site .opp-account-page .woocommerce-error { border-color:#eccbd0;background:#fff4f4;color:#852832; }
.opp-site .opp-account-page .woocommerce-error::before { color:#a12433; }
.opp-site .opp-account-page .woocommerce-info .button,.opp-site .opp-account-page .woocommerce-message .button { margin:0 0 8px 15px; }
.opp-site .opp-account-page .xoo-el-form-inline { max-width:620px;margin:0 auto;background:white;border:1px solid var(--opp-line);border-radius:14px;padding:32px;box-shadow:none; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo-el-head-img { max-width:230px;margin:0 auto 27px; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo-el-fields { padding:0; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo-el-tabs { margin:0 0 24px; }
.opp-site .opp-account-page .xoo-aff-input-group { min-height:48px; }
.opp-site .opp-account-page .xoo-el-form-inline input:not([type=checkbox]):not([type=hidden]) { font-family:inherit;font-size:15px;border-color:#d5dae2;border-radius:0 8px 8px 0;min-height:48px;box-shadow:none; }
.opp-site .opp-account-page .xoo-aff-input-icon { background:#f5f7fa;color:#6a7687;border-color:#d5dae2;border-radius:8px 0 0 8px; }
.opp-site .opp-account-page .xoo-el-form-inline :where(p,span,label,a) { line-height:1.7; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo-el-login-btm-fields { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font-size:12px; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo-el-login-btm-fields label { margin:0; }
.opp-site .opp-account-page .xoo-el-form-inline input[type=checkbox] { width:16px;height:16px;accent-color:var(--opp-blue);vertical-align:middle; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo-el-form-txt { display:block;font-size:14px;color:var(--opp-muted);margin-bottom:22px; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo_el_reg_terms_cont { font-size:12px;line-height:1.8; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo_el_reg_terms_cont label { color:var(--opp-muted);font-size:12px;font-weight:400;line-height:1.8; }
.opp-site .opp-account-page .xoo-el-form-inline .xoo_el_reg_terms_cont a { color:var(--opp-blue);text-decoration:underline; }
.opp-site .opp-account-page .woocommerce-ResetPassword,.opp-site .opp-account-page .woocommerce-form-login,.opp-site .opp-account-page .woocommerce-form-register { max-width:620px;padding:30px;border:1px solid var(--opp-line);border-radius:12px;background:white; }
.opp-site .opp-account-page .woocommerce-ResetPassword .form-row-first { width:100%;float:none; }
@media(max-width:1000px) {
 .opp-site .opp-account-signed-in>.woocommerce { grid-template-columns:180px minmax(0,1fr);gap:22px; }
 .opp-site .opp-account-page .woocommerce-MyAccount-content { padding:25px; }
 .opp-site .opp-account-page .woocommerce-Addresses,.opp-site .opp-account-page .woocommerce-customer-details .addresses { grid-template-columns:1fr; }
}
@media(max-width:767px) {
 .opp-site .opp-page-content.opp-account-page { padding:30px 6% 55px; }
 .opp-account-heading { margin-bottom:27px; }
 .opp-account-heading>p { font-size:14px; }
 .opp-site .opp-account-signed-in>.woocommerce { display:block; }
 .opp-site .opp-account-page .woocommerce-MyAccount-navigation { margin-bottom:22px; }
 .opp-site .opp-account-page .woocommerce-MyAccount-navigation ul { display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:8px; }
 .opp-site .opp-account-page .woocommerce-MyAccount-navigation li a { padding:10px 12px;font-size:12px;min-height:44px; }
 .opp-site .opp-account-page .woocommerce-MyAccount-navigation-link--customer-logout { border:0;margin:0;padding:0; }
 .opp-site .opp-account-page .woocommerce-MyAccount-content { padding:23px 20px; }
 .opp-account-shortcuts { grid-template-columns:1fr;gap:14px;margin-top:24px; }
 .opp-site .opp-account-page .woocommerce table.shop_table_responsive tr { border-bottom:1px solid var(--opp-line); }
 .opp-site .opp-account-page .woocommerce table.shop_table_responsive tr:last-child { border:0; }
 .opp-site .opp-account-page .woocommerce table.shop_table_responsive td { border:0;padding:10px 13px;overflow-wrap:anywhere;background:#fff; }
 .opp-site .opp-account-page .woocommerce table.shop_table_responsive td::before { font-size:11px;color:var(--opp-muted);padding-right:10px; }
 .opp-site .opp-account-page .woocommerce table.woocommerce-table--order-details { table-layout:fixed; }
 .opp-site .opp-account-page .woocommerce table.woocommerce-table--order-details :where(th,td) { font-size:12px;padding:12px 10px;overflow-wrap:anywhere; }
 .opp-site .opp-account-page .woocommerce .form-row-first,.opp-site .opp-account-page .woocommerce .form-row-last { width:100%;float:none; }
 .opp-site .opp-account-page .woocommerce form .form-row input.input-text,.opp-site .opp-account-page .xoo-el-form-inline input:not([type=checkbox]):not([type=hidden]) { font-size:16px; }
 .opp-site .opp-account-page .woocommerce-info .button,.opp-site .opp-account-page .woocommerce-message .button { float:none;display:block;margin:0 0 12px; }
 .opp-site .opp-account-page .xoo-el-form-inline { padding:25px 19px; }
 .opp-site .opp-account-page .xoo-el-form-inline .xoo-el-head-img { max-width:210px; }
 .opp-site .opp-account-page .xoo-el-form-inline .onehalf { width:100%; }
 .opp-site .opp-account-page .woocommerce-ResetPassword { padding:24px 20px; }
}

/* Match WooCommerce’s responsive-table breakpoint, including 768px tablets. */
@media(max-width:768px) {
 .opp-site .opp-account-page .woocommerce table.woocommerce-orders-table th.woocommerce-orders-table__cell-order-number { display:block;padding:12px 13px;text-align:left;background:#f5f7fa; }
}

/* PiWeb's cancellation form must remain fully reachable on narrow account screens. */
.woocommerce-account .pi-corw-container {
 box-sizing:border-box;width:min(100%,560px);max-width:100%;padding:32px 24px;
}
.woocommerce-account .pi-corw-container .pi-alert-box { text-align:left;line-height:1.6; }
.woocommerce-account .pi-corw-container textarea { max-width:100%;box-sizing:border-box; }
