.byr-portal-page{margin:0}.byr-initials{display:inline-flex;align-items:center;justify-content:center;font:500 22px Georgia,serif;color:#11254a;background:#e5e9df}.p2-small-avatar.byr-initials{font-size:14px}.large.byr-initials{font-size:32px}.byr-login-form label{display:block;color:#24352f;font-size:14px;font-weight:500;margin-bottom:10px}.byr-login-form input[type=text],.byr-login-form input[type=password]{display:block;width:100%;height:52px;padding:12px 14px;border:1px solid #758076;border-radius:4px;background:#fffef9;color:#11254a;font:16px Inter,Arial,sans-serif}.byr-login-form .login-remember label{display:flex;align-items:center;gap:10px;font-weight:400}.byr-login-form .login-remember input{width:18px;height:18px}.byr-login-form .login-submit input{width:100%;min-height:52px;border:0;background:#102449;color:white;border-radius:3px;font:500 15px Inter,Arial,sans-serif;cursor:pointer}.byr-login-form p{margin:0 0 22px}.auth2-recover{font-size:14px}.auth2-recover a{text-decoration:underline;text-underline-offset:4px}.byr-admin-note{padding:18px;background:#ecebdc;font-size:13px!important;line-height:1.6;max-width:650px}.byr-admin-note a{text-decoration:underline}.byr-order-table{width:100%;border-collapse:collapse;font-size:14px}.byr-order-table th,.byr-order-table td{padding:14px 10px;text-align:left;border-bottom:1px solid #d5d7cb}.byr-order-table a{text-decoration:underline}.byr-status-message:empty{display:none}.byr-status-message{position:fixed;right:24px;bottom:24px;max-width:min(400px,90vw);padding:14px 20px;background:#102449;color:#fff;border-radius:5px;z-index:99999}.byr-portal-page.admin-bar .p2-sidebar{top:32px;min-height:calc(100vh - 32px)}.byr-portal-page.admin-bar .auth2-land{top:32px;height:calc(100vh - 32px)}.byr-claim-unavailable{padding:24px;background:#eeefe6;border-radius:6px}.byr-claim-unavailable h2{margin-top:0}.byr-orders-scroll{overflow-x:auto}.byr-login-form input:focus-visible{outline:3px solid #947a40;outline-offset:3px}.byr-sound-soon{padding:20px;background:#fffef9;border:1px solid #d5d7cb;border-radius:4px}.byr-account-summary td{overflow-wrap:anywhere}@media(max-width:782px){.byr-portal-page.admin-bar .p2-sidebar{top:46px}.byr-portal-page.admin-bar .auth2-land{top:46px;height:calc(100vh - 46px)}}@media(max-width:760px){.byr-portal-page.admin-bar .p2-sidebar{top:auto;min-height:0}.byr-order-table{font-size:12px}.byr-order-table th,.byr-order-table td{padding:12px 6px}.byr-admin-note{padding:14px}.byr-status-message{right:5vw}}

/* Keep the access notice clear of the contact button and its focus outline. */
.portal2 .access-message > .button + .byr-admin-note { margin-top: 24px; }
.byr-elixir-checkout > .button + p { margin-top: 24px; }

/* Size the whole page first: the optional preview bar takes its actual height. */
.byr-portal-shell {
 --byr-admin-offset: 0px;
 display: flex;
 flex-direction: column;
 min-height: calc(100vh - var(--byr-admin-offset));
 min-height: calc(100dvh - var(--byr-admin-offset));
}
.byr-portal-shell.admin-bar { --byr-admin-offset: 32px; }
.byr-portal-shell > .preview-bar { flex: none; }
.byr-portal-shell > .portal2 { flex: 1; min-height: 0; }
.byr-portal-page.byr-portal-shell .p2-sidebar { min-height: 0; }
@media (max-width: 782px) {
 .byr-portal-shell.admin-bar { --byr-admin-offset: 46px; }
}

/* Fill the entire sidebar column while its navigation stays sticky. */
@media (min-width: 761px) {
 .byr-portal-page .portal2::before {
  content: "";
  grid-area: sidebar;
  align-self: stretch;
  justify-self: stretch;
  background: var(--p2-navy);
  pointer-events: none;
 }
}

/* Native gift product, basket and checkout: keep WooCommerce controls and validation. */
.byr-gift-shop .byr-site-main h1{font-size:clamp(36px,4.3vw,58px);line-height:1.08;max-width:18ch}
.byr-gift-shop .byr-site-main h2{font-size:32px}
.byr-gift-shop .byr-site-main h3{font-size:28px}
.byr-gift-shop .byr-site-main .product .summary .price,.byr-gift-shop .byr-site-main .product .stock{color:#364d40}
.byr-gift-shop .byr-site-main button.button,.byr-gift-shop .byr-site-main a.button{background:#11254a;color:#fff;border:1px solid #11254a;min-height:48px;font-size:15px;line-height:1.5;padding:12px 20px;border-radius:4px;white-space:normal;text-align:center}
.byr-gift-shop .byr-site-main button.button:hover,.byr-gift-shop .byr-site-main a.button:hover{background:#243f60;color:#fff}
.byr-gift-shop .byr-site-main .woocommerce form .form-row{margin-bottom:18px}
.byr-gift-shop .byr-site-main .woocommerce form .form-row input.input-text,.byr-gift-shop .byr-site-main .woocommerce form .form-row select,.byr-gift-shop .byr-site-main .woocommerce form .form-row textarea{font-size:16px;line-height:1.5;min-height:48px;padding:11px 12px;border:1px solid #758076;border-radius:4px;background:#fffef9;color:#11254a}
.byr-gift-shop .byr-site-main .woocommerce form .form-row textarea{min-height:110px}
.byr-gift-shop .select2-container .select2-selection--single{min-height:48px;border:1px solid #758076;border-radius:4px;background:#fffef9}
.byr-gift-shop .select2-container .select2-selection--single .select2-selection__rendered{padding:9px 12px;line-height:28px;font-size:16px;color:#11254a}
.byr-gift-shop .select2-container .select2-selection--single .select2-selection__arrow{height:46px;right:8px}
.byr-gift-shop .select2-search__field{font-size:16px!important;min-height:44px}
.byr-gift-shop .byr-site-main :is(a,button,input,select,textarea):focus-visible,.byr-gift-shop .select2-selection:focus-visible{outline:3px solid #947a40;outline-offset:4px}
.byr-gift-shop .byr-site-main input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:10px}
.byr-gift-shop .byr-site-main .woocommerce-info,.byr-gift-shop .byr-site-main .woocommerce-message{border:1px solid #c5cbbd;background:#eeefe6;color:#11254a;border-radius:5px}
.byr-gift-shop .byr-site-main .woocommerce-error{border:1px solid #9d4939;background:#fff1eb;color:#682c26;border-radius:5px}
.byr-gift-shop .byr-checkout-account-note{padding:24px;background:#eeefe6;border-radius:5px;margin:24px 0 32px;max-width:82ch}
.byr-gift-shop .byr-site-main #order_review_heading{margin-top:36px}
.byr-gift-shop .byr-site-main #payment{background:#eeefe6;border-radius:5px}
.byr-gift-shop .byr-site-main #payment .place-order{padding:24px}
.byr-gift-shop .byr-site-main .shop_table{overflow-wrap:anywhere}
.byr-gift-shop .byr-site-main .woocommerce a.remove{width:44px;height:44px;line-height:44px}
@media(max-width:900px){.byr-gift-shop .byr-site-main .col2-set .col-1,.byr-gift-shop .byr-site-main .col2-set .col-2{float:none;width:100%}.byr-gift-shop .byr-site-main .col2-set .col-2{margin-top:24px}}
@media(max-width:480px){.byr-gift-shop .byr-site-main{padding:0 20px}.byr-gift-shop .byr-site-main h2{font-size:28px}.byr-gift-shop .byr-site-main h3{font-size:24px}.byr-gift-shop .byr-site-main .woocommerce .form-row-first,.byr-gift-shop .byr-site-main .woocommerce .form-row-last{float:none;width:100%}.byr-gift-shop .byr-checkout-account-note{padding:18px}.byr-gift-shop .byr-site-main #payment .place-order{padding:18px}.byr-gift-shop .byr-site-main .shop_table th,.byr-gift-shop .byr-site-main .shop_table td{padding:10px 8px}}

/* Optional contribution and native fulfilment radios. */
.byr-gift-shop .byr-contribution{margin:24px 0 36px;padding:24px;background:#eeefe6;border-radius:5px}
.byr-gift-shop .byr-contribution[hidden]{display:none!important}
.byr-gift-shop .byr-contribution h3{margin-bottom:16px}
.byr-gift-shop #byr_elixir_contribution{max-width:210px}
.byr-gift-shop #byr-elixir-contribution-help{display:block!important;font-size:14px;line-height:1.6;color:#42534a;background:transparent;padding:8px 0}
.byr-gift-shop .byr-contribution-status{margin-top:18px;font-size:14px}
.byr-gift-shop .byr-contribution-status:empty{display:none}
.byr-gift-shop .byr-site-main ul.woocommerce-shipping-methods li{position:relative;margin:0 0 16px;padding:0 0 0 30px;text-align:left}
.byr-gift-shop .byr-site-main ul.woocommerce-shipping-methods input[type=radio]{position:absolute;left:0;top:13px;width:20px;height:20px;margin:0}
.byr-gift-shop .byr-site-main #shipping_method label{display:flex;align-items:center;min-height:46px;font-size:15px;line-height:1.5;padding:6px 0;cursor:pointer}
.byr-gift-shop .byr-site-main .byr-fulfilment-note{font-size:13px;line-height:1.6;color:#42534a;margin:0}
@media(max-width:480px){.byr-gift-shop .byr-contribution{padding:18px}.byr-gift-shop .byr-site-main .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th{width:30%}}

/* Decorative mountain mark matches the access symbol’s gold and visual weight. */
.access-symbol .byr-access-mountains{display:block;width:90px;height:60px;margin:0 auto;overflow:visible}
/* Citizen-managed photo; the remaining identity fields stay staff-managed. */
.portal2 .byr-photo-section{border-top:1px solid #d5d7cb;border-bottom:1px solid #d5d7cb;padding:28px 0;margin:24px 0;scroll-margin-top:130px;min-width:0}
.portal2 .byr-photo-section h2{font-size:29px;margin:0 0 12px}
.portal2 .byr-photo-section h3{font-size:19px;margin:18px 0 10px}
.portal2 .byr-photo-section :is(p,li,label,summary,input,a){font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.portal2 .byr-photo-section p{margin:0 0 16px}
.portal2 .byr-photo-section ul{padding-left:22px;margin:0 0 18px}
.portal2 .byr-photo-section li{margin:5px 0}
.portal2 .byr-photo-guidance{border:1px solid #d5d7cb;background:#f8f7f1;border-radius:4px;margin:22px 0}
.portal2 .byr-photo-guidance summary{cursor:pointer;padding:13px 16px;color:#11254a;font-weight:600;min-height:48px}
.portal2 .byr-photo-guidance>div{padding:0 18px 8px}
.portal2 .byr-photo-guidance a,.portal2 .byr-photo-help a,.portal2 .byr-photo-feedback a{text-decoration:underline;text-underline-offset:3px;color:#11254a}
.portal2 .byr-photo-help{color:#536052}
.portal2 .byr-photo-form{display:grid;gap:12px;min-width:0;margin-top:24px}
.portal2 .byr-photo-form label{font-weight:600;color:#11254a}
.portal2 .byr-photo-form #byr-photo-file-help{margin:0;color:#536052;font-size:14px}
.portal2 .byr-photo-form input[type=file]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid #9ba68f;border-radius:4px;background:#fffdf7;font-size:16px}
.portal2 .byr-photo-form input::file-selector-button{font:inherit;padding:8px 12px;min-height:44px;margin-right:12px;border:1px solid #839077;border-radius:3px;background:#e8ecdf;color:#11254a;cursor:pointer}
.portal2 .byr-photo-form .button{justify-self:start;min-height:48px;margin:6px 0 0;white-space:normal;text-align:left}
.portal2 .byr-photo-form .button:disabled{opacity:.7;cursor:wait}
.portal2 .byr-photo-feedback{background:#e8ecdf;border:1px solid #9ba68f;border-radius:5px;padding:20px;margin:20px 0;scroll-margin-top:130px}
.portal2 .byr-photo-feedback.is-error{background:#fff4ef;border-color:#a65b45}
.portal2 .byr-photo-feedback h3{margin-top:0}
.portal2 .byr-photo-feedback :last-child{margin-bottom:0}
.portal2 .byr-photo-section :is(summary,input,button,a,[tabindex]):focus-visible{outline:3px solid #806632;outline-offset:4px}
.portal2 .byr-photo-progress{min-height:1.65em}
.portal2 .byr-photo-unavailable{padding:16px;background:#f1ecde;border-radius:4px}
@media(max-width:760px){.portal2 .byr-photo-form .button{justify-self:stretch;justify-content:space-between}.portal2 .byr-photo-feedback{padding:16px}.portal2 .byr-photo-guidance>div{padding-inline:14px}}
.portal2 .profile-panel .profile-photo-row{margin-bottom:0}
.portal2 .byr-photo-section{border-top:0;margin-top:0;padding-top:26px}
