.portal{background:white;font-size:17px}.portal::before{display:none}.portal-header{background:#7dccf2;padding:24px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-header .wordmark{font-size:36px}.portal-header nav{font-size:14px;gap:24px}.text-button{border:0;background:transparent;padding:12px 0;font-size:inherit;font-weight:600;text-decoration-line:underline}.portal-main{max-width:1200px;margin:auto;padding:48px 24px 80px;min-height:65svh}.portal h1{font-family:Barlow,sans-serif;font-size:clamp(44px,6vw,72px);line-height:1.05;letter-spacing:-.02em}.portal h2{font-family:Barlow,sans-serif;font-size:32px;line-height:1.15;letter-spacing:0}.portal h3{font-size:20px;line-height:1.4;margin:0}.portal p{line-height:1.6;margin-top:14px}.portal .quiet{font-size:14px;color:#4b4b43}.portal form{margin-top:24px}.portal label{display:grid;gap:8px;font-size:15px;font-weight:700;margin-bottom:20px}.portal input,.portal select{width:100%;min-height:50px;padding:12px;border:1px solid #10100e;background:white;border-radius:0;font-size:16px;font-weight:400}.portal input[type=file]{padding:14px}.portal .button{min-height:50px;font-size:16px}.portal button:disabled{opacity:.65;cursor:wait}.sign-in{max-width:510px;margin:20px auto 40px}.sign-in>p{max-width:42ch}.form-status{min-height:1.6em;font-size:15px;overflow-wrap:anywhere}.form-status:empty{margin:0;min-height:0}.form-status[data-error=true]{color:#9d2219}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:16px 0 40px}.back-link{display:inline-block;font-size:15px;margin-bottom:12px}.gallery-list{border-top:1px solid #d5d5cd}.gallery-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid #d5d5cd;text-decoration-line:none}.gallery-row p{font-size:14px;margin:6px 0 0}.gallery-row>span{font-size:14px;flex-shrink:0}.gallery-row:hover h2,.gallery-row:hover h3{text-decoration-line:underline}.empty-state{padding:32px;background:#7dccf2;max-width:700px}.purchase-bar{background:#7dccf2;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.purchase-bar p{font-size:15px;margin-top:8px}.purchase-bar form{margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}.photo-grid figure{min-width:0}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f1f1ec}.photo-grid figcaption{font-size:13px;line-height:1.5;padding:12px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;overflow-wrap:anywhere}.photo-grid figcaption span{min-width:0}.download-link{font-weight:700}.admin-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px}.admin-columns section{min-width:0}.admin-columns section>p{font-size:15px}.admin-columns .gallery-row{align-items:flex-start}.status-label{font-size:13px;font-weight:700;white-space:nowrap}.notice{background:#ffd34e;padding:18px 22px;margin-bottom:24px}.portal progress{display:block;width:100%;margin-top:20px;accent-color:#10100e}.portal progress[hidden]{display:none}.portal-bottom{background:white;border-top:1px solid #deded6;max-width:1152px;margin:auto;padding:24px 0;font-size:13px;display:block}.client-nav{white-space:nowrap}@media(max-width:700px){.portal-header{flex-wrap:wrap;padding:20px 24px;gap:8px}.portal-header nav{gap:20px;flex-wrap:wrap;width:100%;justify-content:flex-start}.portal-header .wordmark{font-size:32px}.portal-main{padding-top:32px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:28px}.admin-columns{grid-template-columns:1fr;gap:40px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.purchase-bar{flex-direction:column;align-items:flex-start;padding:22px}.gallery-row{align-items:flex-start;gap:16px}.gallery-row>span{white-space:normal;max-width:100px}.portal-bottom{margin-inline:24px;padding-block:24px}.sign-in{margin-top:8px}}@media(max-width:400px){.photo-grid{grid-template-columns:1fr}}

.portal p,.portal h1,.portal h2,.portal h3{overflow-wrap:anywhere}

[data-protected-photo]{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.portal-header nav a,.portal-header .text-button{border-radius:6px;padding:10px 12px;text-decoration-line:none;transition:background-color .16s ease}
.portal-header nav a:hover,.portal-header .text-button:hover{background:#ffd34e;text-decoration-line:none}
@media(prefers-reduced-motion:reduce){.portal-header nav a,.portal-header .text-button{transition:none}}

.login-confirmation{margin-top:28px;padding:24px 26px;background:#7dccf2;border-radius:10px}
.login-confirmation p{margin:0;font-size:17px;line-height:1.6}
.login-confirmation:focus{outline:none}

.gallery-heading{align-items:flex-start}
.gallery-heading-main{min-width:0;flex:1}
.title-edit-trigger{display:inline-flex;align-items:baseline;gap:16px;max-width:100%;border:0;padding:0;background:transparent;text-align:left;font:inherit;letter-spacing:inherit;color:inherit}
.title-edit-trigger:hover{color:#245b75}
.title-edit-trigger span{min-width:0;overflow-wrap:anywhere}
.title-edit-trigger svg{width:24px;height:24px;flex:none}
.portal .inline-title-form{margin-top:0}
.portal .inline-title-form>input{font-family:Barlow,sans-serif;font-size:clamp(36px,5vw,64px);line-height:1.1;padding:8px 12px}
.inline-edit-actions{display:flex;gap:20px;align-items:center;margin-top:12px}
.gallery-status-control{width:200px;flex:none}
.gallery-status-control select{background:#7dccf2;border-color:transparent;border-radius:6px;font-weight:700;cursor:pointer}
.gallery-status-control .form-status{font-size:13px;margin-top:8px}
.gallery-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:56px;align-items:start}
.gallery-settings{padding:20px 22px;background:#f2f7f9;border-radius:8px}
.gallery-settings summary{font-size:17px;font-weight:700;line-height:1.5;cursor:pointer}
.gallery-settings summary span{display:block;margin-left:20px;font-weight:400;font-size:14px;margin-top:6px}
.gallery-settings form{margin-top:24px}
.photo-dropzone{border:2px dashed #7093a4;padding:28px 24px;text-align:center;background:#f2f7f9;border-radius:8px}
.photo-dropzone>svg{display:block;margin:auto}
.portal .dropzone-instruction{font-size:20px;font-weight:700;margin-top:12px}
.file-picker{background:white;border:1px solid #10100e;margin-top:16px}
.file-picker:hover{background:#ffd34e}
.portal .upload-selection{font-size:14px;margin-top:16px}
.photo-dropzone.is-dragover{background:#7dccf2;border:2px solid #10100e;outline:3px solid #ffd34e;outline-offset:4px}
.portal .upload-submit{margin-top:24px}
.portal .upload-submit:disabled{cursor:not-allowed}
.portal form[aria-busy=true] .upload-submit:disabled{cursor:wait}
@media(max-width:700px){.gallery-status-control{width:100%}.gallery-workspace{grid-template-columns:1fr;gap:32px}.photo-dropzone{padding:24px 18px}.title-edit-trigger{gap:10px}.title-edit-trigger svg{width:20px;height:20px}}

.portal input,.portal select,.portal textarea,.portal .button{border-radius:var(--control-radius)}

.gallery-status-control{width:140px;max-width:100%}
.gallery-status-control select{text-align:center;text-align-last:center;padding-inline:12px}
.upload-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.portal .upload-actions .upload-submit{margin-top:0}
.button-preview{background:white;border:1px solid #10100e}
.button-preview:hover{background:#7dccf2}
.locked-preview{margin-top:20px}
@media(max-width:400px){.upload-actions .button{padding-inline:12px;font-size:14px}}

.gallery-row-main{display:flex;align-items:center;gap:16px;min-width:0}
.gallery-row-copy{min-width:0;overflow-wrap:anywhere}
.gallery-thumbnail{display:block;width:72px;height:72px;object-fit:cover;flex:none;border-radius:var(--control-radius);background:#f2f7f9}
.gallery-thumbnail-empty{display:grid;place-items:center;background:#7dccf2;color:#10100e}
@media(max-width:400px){.gallery-thumbnail{width:56px;height:56px}.gallery-row-main{gap:12px}}

.status-menu{position:relative}
.status-menu summary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px;background:#7dccf2;border-radius:var(--control-radius);font-size:16px;font-weight:700;cursor:pointer;list-style:none}
.status-menu summary::-webkit-details-marker{display:none}
.status-menu summary:hover,.status-menu[open] summary{background:#ffd34e}
.status-options{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:160px;padding:6px;background:white;border:1px solid #10100e;border-radius:var(--control-radius)}
.status-options button{display:block;width:100%;padding:12px;border:0;border-radius:4px;background:white;text-align:left;font:inherit;font-size:15px;cursor:pointer}
.status-options button:hover,.status-options button[aria-pressed=true]{background:#ffd34e}
.upload-thumbnails{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}
.upload-thumbnails[hidden]{display:none}
.upload-thumbnails img{width:56px;height:56px;object-fit:cover;border-radius:4px}
.manage-photos{margin-top:24px;padding:20px 22px;background:#f2f7f9;border-radius:8px}
.manage-photos summary{font-weight:700;cursor:pointer;line-height:1.5}
.manage-photos summary span{margin-left:8px;font-weight:400}
.managed-photos{display:grid;gap:12px;margin-top:20px}
.managed-photo{display:flex;align-items:center;justify-content:space-between;gap:12px}
.managed-photo img{width:64px;height:64px;object-fit:cover;border-radius:4px}
.delete-photo{min-height:44px;padding:10px 14px;border:1px solid #10100e;background:white;border-radius:var(--control-radius);font:inherit;font-size:14px;cursor:pointer}
.delete-photo:hover{background:#ffd34e}

.selected-photo{position:relative;padding:8px}
.remove-selected-photo{position:absolute;right:0;top:0;display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #10100e;border-radius:50%;background:white;color:#10100e;cursor:pointer}
.remove-selected-photo:hover{background:#ffd34e}
.portal form[aria-busy=true] .remove-selected-photo{visibility:hidden}
.delete-photo.is-confirming{background:#b52b24;border-color:#b52b24;color:white}
.delete-photo.is-confirming:hover{background:#92221c;border-color:#92221c}

.gallery-heading,.gallery-title-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;row-gap:0}
.gallery-heading-main,.gallery-title-copy{display:contents}
.gallery-heading-main>h1,.gallery-heading-main>.inline-title-form,.gallery-title-copy>h1{grid-column:1;grid-row:1}
.gallery-heading-main>p,.gallery-title-copy>p{grid-column:1/-1;grid-row:2}
.gallery-heading>.gallery-status-control,.gallery-title-heading>.button{grid-column:2;grid-row:1;align-self:center}
.gallery-heading>.gallery-status-control{position:relative}
.gallery-heading>#gallery-status-message{grid-column:1/-1;grid-row:3;font-size:13px;text-align:right;margin-top:8px}.gallery-heading>#gallery-status-message:empty{margin:0}
@media(max-width:450px){.gallery-heading,.gallery-title-heading{column-gap:16px}.gallery-title-heading>.button{font-size:14px;padding-inline:12px}.gallery-heading .gallery-status-control{width:120px}}

.individual-purchase{padding:24px 28px;border:1px solid #10100e;border-radius:var(--control-radius);margin-bottom:32px}
.individual-purchase form{margin-top:16px}
.individual-purchase form>p:first-child{margin-bottom:16px}
.portal .photo-select{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;cursor:pointer;min-height:44px}
.portal .photo-select input{width:20px;min-height:20px;height:20px;padding:0;accent-color:#10100e;flex:none}
.photo-grid figure:has(.photo-select input:checked) img{outline:3px solid #10100e;outline-offset:3px}

.portal .photo-select-image{display:block;margin:0;cursor:pointer}
.photo-select-image:hover img{outline:2px solid #10100e;outline-offset:3px}
.portal .selection-checkout{position:fixed;z-index:10;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:1152px;margin:0;padding:16px 20px;background:#7dccf2;border:1px solid #10100e;border-radius:var(--control-radius);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px}
.selection-checkout>[data-selection-total]{margin:0;font-weight:700}
.selection-checkout>.form-status{grid-column:1/-1;margin:0}
.selection-checkout>.form-status:empty{display:none}
.portal-main:has(.selection-checkout.is-floating:not([hidden])){padding-bottom:calc(var(--selection-cart-height,150px) + 60px)}
@media(max-width:600px){.portal .selection-checkout{padding:14px 16px;grid-template-columns:1fr;gap:10px}.selection-checkout .button{width:100%}}

.admin-access{padding:20px 24px;background:#f2f7f9;border-radius:var(--control-radius);margin-bottom:32px}
.admin-access summary{font-weight:700;cursor:pointer;line-height:1.5}
.admin-passkey .button{margin-top:20px}

.portal .selection-checkout[hidden]{display:none}
.selection-checkout-actions{display:flex;align-items:center;gap:20px}
.selection-checkout-actions .text-button{white-space:nowrap;font-size:14px}
.admin-signin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.admin-passkey .admin-signin-actions .button{margin-top:0}
@media(max-width:600px){.selection-checkout-actions{flex-wrap:wrap;gap:10px}.selection-checkout-actions .text-button{padding-block:8px}.selection-checkout-actions .button{flex:1;min-width:180px}.selection-checkout-actions .text-button{flex:none}}
@media(max-width:600px){[data-passkey=login] .admin-signin-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.portal .admin-signin-actions .button{padding-inline:10px;font-size:14px;height:100%}}

.admin-login-actions{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:start;gap:12px;margin-top:24px}
.admin-login-actions .admin-passkey,.admin-login-actions .admin-signin-actions{display:contents}
.admin-login-actions .admin-passkey .form-status{grid-column:1/-1;text-align:left}
.portal .admin-login-actions .button{margin-top:0;padding-inline:20px}
@media(max-width:600px){.admin-login-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.portal .admin-login-actions .button{padding-inline:10px;font-size:14px;height:100%}}

.admin-title-access{grid-column:2;grid-row:1;align-self:center;position:relative}
.admin-title-access>summary{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--control-radius);cursor:pointer;list-style:none}
.admin-title-access>summary::-webkit-details-marker{display:none}
.admin-title-access>summary:hover,.admin-title-access[open]>summary{background:#ffd34e}
.admin-passkey-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:20;width:min(360px,calc(100vw - 48px));padding:14px;background:#f2f7f9;border:1px solid #10100e;border-radius:var(--control-radius)}
.admin-passkey-panel .admin-passkey>p:first-child{margin-top:0}

.admin-test-notice{background:#f2f7f9;border-radius:var(--control-radius);padding:20px 24px;margin-bottom:28px}
.admin-test-notice>p:first-child{margin-top:0}
.admin-test-notice>.button{margin-top:16px}
.admin-test-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-top:20px}
.admin-test-actions form{margin:0}

.passkey-list{list-style:none;margin:10px 0 0;padding:0;max-height:240px;overflow:auto}
.passkey-list li{padding:10px 0;border:0}.passkey-list li+li{border-top:1px solid #ccd8dd}.passkey-list li:last-child{padding-bottom:0}
.passkey-list li strong,.passkey-list li span{display:block;overflow-wrap:anywhere}
.passkey-list li span{font-size:13px;line-height:1.6;margin-top:3px}
.dropzone-options{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px;font-size:16px;line-height:1.5}
.dropzone-options .dropzone-instruction{font-size:16px;font-weight:400;margin:0}
.browse-photos{background:transparent;border:0;padding:8px 0;font:inherit;font-weight:700;text-decoration-line:underline;text-underline-offset:6px;cursor:pointer}
.browse-photos:hover{color:#245b75}
.photo-metadata{font-size:13px;min-width:0}
.photo-metadata summary{cursor:pointer;padding:10px 0;font-weight:700}
.photo-metadata [data-metadata-content]{line-height:1.6;overflow-wrap:anywhere;padding-bottom:12px}
.photo-metadata dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0}
.photo-metadata dt{font-weight:700}.photo-metadata dd{margin:0}
.managed-photo{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:start}
.managed-photo>.photo-metadata{align-self:center}
.managed-photo>.delete-photo{align-self:start}
.managed-photo>img{grid-column:1;grid-row:1}
.managed-photo>.delete-photo{grid-column:3;grid-row:1}
@media(max-width:700px){.managed-photo>.photo-metadata[open]{grid-column:1/-1;grid-row:2}}

.passkey-panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px}
.passkey-panel-heading .admin-signin-actions{margin:0;grid-column:2;grid-row:1}
.passkey-panel-heading .admin-passkey{display:contents}
.passkey-panel-heading .admin-passkey>.form-status{grid-column:1/-1;grid-row:2;margin:0;font-size:13px}
.passkey-add{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:var(--control-radius);background:transparent;color:#10100e;cursor:pointer}
.passkey-add:hover{background:#ffd34e}
.passkey-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:start}
.passkey-list li strong,.passkey-list li span{grid-column:1}
.passkey-list .passkey-delete{grid-column:2;grid-row:1 / span 3;align-self:center;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:var(--control-radius);background:transparent;color:#10100e}
.passkey-list .passkey-delete:hover{background:#b52b24;color:white}
.passkey-list .passkey-delete.is-confirming{background:#b52b24;color:white}
.passkey-list .passkey-delete.is-confirming:hover{background:#92221c}

.portal .passkey-name{grid-column:1;grid-row:1;min-width:0;width:100%;min-height:34px;padding:4px 0;margin-left:0;border:0;background:transparent;font-size:15px;font-weight:700}
.portal .passkey-name:hover{border-color:#7093a4;background:white}
.portal .passkey-name:focus{border:1px solid #10100e;padding:3px 6px;background:white}
.passkey-panel-heading:has(.form-status:empty){row-gap:0}
.passkey-list li:first-child{padding-top:0}

.passkey-list{padding:6px;margin-inline:-6px}
.portal .passkey-name:focus-visible{outline-offset:0;outline-width:2px}
.gallery-heading-controls{grid-column:2;grid-row:1;align-self:center;display:flex;align-items:center;gap:8px}
.gallery-settings-menu{position:relative;flex:none}
.gallery-settings-menu>summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;border-radius:var(--control-radius);cursor:pointer}
.gallery-settings-menu>summary::-webkit-details-marker{display:none}
.gallery-settings-menu>summary:hover,.gallery-settings-menu[open]>summary{background:#ffd34e}
.gallery-settings-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:20;width:min(360px,calc(100vw - 48px));max-height:65svh;overflow:auto;padding:14px;background:#f2f7f9;border:1px solid #10100e;border-radius:var(--control-radius)}
.gallery-settings-panel h2{font-size:28px}
.gallery-settings-panel form{margin-top:18px}
.gallery-settings-panel .quiet{margin-top:10px}

.settings-trigger{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:10px;border:0;background:transparent;border-radius:var(--control-radius);cursor:pointer;color:#10100e}
.settings-trigger:hover{background:#ffd34e}
.settings-modal{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:22px;border:1px solid #10100e;border-radius:10px;background:#f2f7f9;color:#10100e}
.settings-modal::-webkit-scrollbar,.settings-modal *::-webkit-scrollbar{display:none}
.settings-modal *{scrollbar-width:none}
.settings-modal::backdrop{background:rgb(16 16 14 / .45)}
.settings-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.settings-modal h2{font-size:32px}
.settings-close{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:10px;border:0;border-radius:var(--control-radius);background:transparent;color:#10100e;cursor:pointer}
.settings-close:hover{background:#ffd34e}
.settings-modal .passkey-list{max-height:none;overflow:visible}
.settings-modal .passkey-panel-heading{grid-template-columns:minmax(0,1fr) auto auto}
.passkey-panel-heading>.settings-close{grid-column:3;grid-row:1}
.settings-modal form{margin-top:18px}
.settings-modal label{margin-bottom:16px}
.settings-modal .quiet[data-gallery-price]{display:none}
html:has(.settings-modal[open]),body:has(.settings-modal[open]){overflow:hidden;overscroll-behavior:none}
@media(max-width:600px){.settings-modal{padding:16px}.settings-modal label{margin-bottom:12px}.settings-modal .button{width:100%}}

.title-edit-trigger{align-items:center}
.portal .inline-title-form{width:min(100%,520px)}
.portal .inline-title-form>input{font-size:clamp(28px,4vw,40px);line-height:1.2;min-height:60px}
.settings-modal h2:focus{outline:none}
.promotional-permission{max-width:760px;margin:32px 0}.promotional-permission p{margin-top:14px;line-height:1.6}.photo-permission{padding:16px 0}.photo-permission label{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5}.photo-permission input{width:20px;height:20px;min-height:20px;margin:2px 0 0;flex:none}.photo-permission .button{margin-top:12px}

.purchase-options{display:grid;overflow:hidden;border:1px solid #10100e;border-radius:var(--control-radius);margin-bottom:28px}
.purchase-options.has-individual{grid-template-columns:repeat(2,minmax(0,1fr))}
.purchase-options .purchase-bar,.purchase-options .individual-purchase{margin:0;padding:22px 24px;border:0;border-radius:0;min-width:0}
.purchase-options .purchase-bar{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px}
.purchase-options .individual-purchase{border-left:1px solid #10100e}
.portal .purchase-options h2{font-size:28px}
.portal .purchase-options p{font-size:15px;margin-top:8px}
.admin-test-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;background:transparent;padding:0;margin-bottom:20px;border-radius:0}
.portal .admin-test-notice form{margin:0}
.admin-test-notice .text-button{font-size:14px;padding:6px 0;text-decoration-line:none}
.admin-test-notice .text-button:hover{text-decoration-line:underline}
@media(max-width:650px){.purchase-options.has-individual{grid-template-columns:1fr}.purchase-options .individual-purchase{border-left:0;border-top:1px solid #10100e}.purchase-options .purchase-bar,.purchase-options .individual-purchase{padding:20px}}
.embedded-checkout{margin:32px 0;padding:24px 0;border-top:1px solid #d5d5cd;scroll-margin-top:24px}.embedded-checkout-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.embedded-checkout-heading h2:focus{outline:none}#stripe-checkout{min-height:360px}.checkout-result{max-width:700px;margin:40px 0}.checkout-result .button{margin-top:24px}@media(max-width:600px){.embedded-checkout-heading{align-items:flex-start;flex-direction:column;gap:8px}}

.purchase-page{display:grid;grid-template-columns:minmax(260px,0.8fr) minmax(0,1.2fr);gap:48px;align-items:start;margin:28px 0 60px}
.checkout-summary{background:#eaf6fc;border-radius:16px;padding:18px 28px 28px;min-width:0}
.portal .checkout-eyebrow{font-size:14px;font-weight:700;margin:0 0 12px}
.checkout-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}
.checkout-thumbnails img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.checkout-thumbnails img[hidden]{display:none}
.checkout-breakdown{margin:24px 0}
.checkout-breakdown>div{display:flex;justify-content:space-between;gap:16px;margin:12px 0}
.checkout-breakdown>div[hidden]{display:none}
.checkout-breakdown dd{margin:0;font-variant-numeric:tabular-nums}
.checkout-total{border-top:1px solid #acc6d3;padding-top:16px;font-size:20px;font-weight:700}
.checkout-payment{min-width:0}
.checkout-payment>h2{margin-bottom:20px}
.checkout-summary .quiet{font-size:14px;line-height:1.5;margin-bottom:20px}
@media(max-width:760px){.purchase-page{grid-template-columns:1fr;gap:32px}.checkout-summary{padding:18px 22px 22px}.checkout-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}}
.checkout-payment>form{margin:0}
.checkout-payment #stripe-checkout{min-height:0}
.checkout-payment [data-checkout-status]:empty{display:none}
.checkout-payment [data-checkout-status]{margin:0 0 20px}
.checkout-payment .checkout-pay{width:100%;margin-top:24px}
.checkout-payment .checkout-secure{font-size:13px;color:#4b4b43;text-align:center;margin-top:12px}
.checkout-payment [hidden]{display:none}
.checkout-payment{position:relative}
.checkout-payment[data-loading=true]{min-height:380px}
.checkout-payment[data-loading=true]>form{visibility:hidden}
.checkout-loader{position:absolute;inset:0;min-height:380px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:24px;font-size:15px;color:#4b4b43}
.checkout-spinner{width:32px;height:32px;border:3px solid #dcecf3;border-top-color:#10100e;border-radius:50%;animation:checkout-spin .8s linear infinite}
@keyframes checkout-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.checkout-spinner{animation:none;border-top-color:#10100e;border-right-color:#10100e}}
@media(max-width:760px){.checkout-payment[data-loading=true],.checkout-loader{min-height:300px}}
.gallery-title-heading>.gallery-client-tools{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:330px}
.gallery-title-heading:has(.gallery-client-tools) .gallery-title-copy>p{grid-column:1}
.gallery-client-tools .admin-test-notice{justify-content:flex-end;margin:0;gap:4px 14px}
@media(max-width:600px){.gallery-title-heading:has(.gallery-client-tools){grid-template-columns:1fr}.gallery-title-heading>.gallery-client-tools{grid-column:1;grid-row:3;align-items:flex-start;margin-top:20px;max-width:100%}.gallery-client-tools .admin-test-notice{justify-content:flex-start}}
.discount-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.portal .gallery-offer{font-size:14px;line-height:1.5}
.gallery-offer s{color:#4b4b43}
.selection-checkout [data-selection-total]{margin:0;font-weight:700}
.selection-checkout .selection-upgrade{font-size:13px;margin:4px 0 0}
.selection-upgrade a{font-weight:600}

.settings-modal .discount-settings label{margin-bottom:0}
.portal .settings-modal .discount-settings-note{margin:8px 0 20px;line-height:1.5}

.discount-expiry{display:block;margin-bottom:4px;font-weight:600}

.client-gallery-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:0}
.client-gallery-heading>div{display:contents}
.client-gallery-heading h1{grid-column:1;grid-row:1}
.client-gallery-heading p{grid-column:1;grid-row:2}
.client-gallery-heading>.button{grid-column:2;grid-row:1}
.upload-actions [data-clear-uploads][hidden]{display:none}
@media(max-width:700px){.client-gallery-heading{grid-template-columns:1fr}.client-gallery-heading>.button{grid-column:1;grid-row:3;justify-self:start;margin-top:20px}}
.gallery-admin-actions{display:flex;align-items:center;gap:8px}
.upload-modal{width:min(660px,calc(100vw - 32px))}
.upload-selection-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:16px}
.portal .upload-selection-row .upload-selection{margin:0}
.upload-selection-row .text-button{font-size:14px;padding:6px 0}
.upload-selection-row [hidden]{display:none}
.upload-selection-row:not(:has(.upload-selection:not([hidden]))){margin:0}
.gallery-photo-admin{align-items:flex-start}
.gallery-photo-admin .photo-metadata{flex:1;min-width:0}
.gallery-photo-admin .delete-photo{flex:none}
.purchase-toggle{display:inline-flex;gap:4px;padding:4px;background:#f2f7f9;border:1px solid #10100e;border-radius:10px;margin:0 0 16px;max-width:100%}
.purchase-toggle button{border:0;background:transparent;border-radius:6px;padding:12px 20px;font:inherit;font-size:15px;font-weight:600;color:#10100e;cursor:pointer}
.purchase-toggle button[aria-pressed=true]{background:#ffd34e}
.purchase-toggle button:hover{background:#e0edf3}
.purchase-toggle button[aria-pressed=true]:hover{background:#ffd34e}
.purchase-options[data-purchase-options]{grid-template-columns:1fr}
.purchase-options [data-purchase-panel][hidden]{display:none}
.purchase-options[data-purchase-options] .individual-purchase{border:0}
.photo-grid img{object-fit:cover;display:block;border-radius:6px}
.portal .photo-select-image{position:relative}
.portal .photo-select-image input.photo-select-overlay{position:absolute;top:12px;right:12px;width:24px;height:24px;min-height:24px;margin:0;padding:0;accent-color:#10100e;cursor:pointer;z-index:1}
.photo-grid[data-selection-mode=gallery] .photo-select-overlay{display:none}
.photo-grid[data-selection-mode=gallery] .photo-select-image{cursor:default}
.photo-grid[data-selection-mode=gallery] .photo-select-image:hover img{outline:none}
.photo-select-image:has(input:checked) img{outline:3px solid #10100e;outline-offset:-3px}
.photo-grid[data-selection-mode=gallery] .photo-select-image:has(input:checked) img{outline:none}
.photo-select-image:has(input:focus-visible){outline:3px solid #7dccf2;outline-offset:3px;border-radius:6px}
@media(max-width:450px){.purchase-toggle{display:flex}.purchase-toggle button{flex:1;padding:12px 10px;font-size:14px}}

.gallery-share-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.settings-modal [data-gallery-share-url]{font-size:14px}
.settings-modal [data-last-gallery-send]{margin-top:16px;overflow-wrap:anywhere}

#gallery-share-modal>p{overflow-wrap:anywhere}

.portal .upload-result{margin:0 0 20px}
.purchase-options[data-purchase-options] .purchase-bar{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:24px}
.purchase-options[data-purchase-options] .purchase-bar>div{min-width:0}
.purchase-options[data-purchase-options] .purchase-bar>form{flex:none;margin:0}
@media(max-width:600px){.purchase-options[data-purchase-options] .purchase-bar{flex-direction:column;gap:18px}}

.purchase-options[data-purchase-options] .purchase-bar{align-items:center}
.purchase-options[data-purchase-options] .individual-purchase{display:flex;align-items:center;justify-content:space-between;gap:24px}
.individual-purchase>div:first-child{min-width:0}
.favorites-cart-slot{flex:none;width:min(380px,50%)}
.favorites-cart-slot:empty{width:0}
.portal .selection-checkout:not(.is-floating){position:static;inset:auto;transform:none;width:auto;max-width:none;display:flex;flex-direction:column;align-items:flex-end;gap:12px;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.selection-checkout:not(.is-floating) .selection-checkout-actions{gap:16px;justify-content:flex-end;flex-wrap:wrap}
.selection-checkout:not(.is-floating) .button{padding-inline:20px}
.selection-checkout:not(.is-floating) .form-status{max-width:36ch;text-align:right}
.selection-checkout [data-clear-selection][hidden]{display:none}
@media(max-width:760px){
 .purchase-options[data-purchase-options] .purchase-bar,.purchase-options[data-purchase-options] .individual-purchase{flex-direction:column;align-items:stretch;gap:18px}
 .purchase-options[data-purchase-options] .purchase-bar>form{align-self:flex-start}
 .favorites-cart-slot{width:100%}
 .portal .selection-checkout:not(.is-floating){align-items:stretch}
 .selection-checkout:not(.is-floating) .selection-checkout-actions{justify-content:flex-start}
 .selection-checkout:not(.is-floating) .form-status{text-align:left}
}

.purchase-options[data-purchase-options] .purchase-bar>form{display:flex;flex-direction:column;align-items:flex-end}
.favorites-cart-slot.is-cart-placeholder{width:min(380px,50%)}
@media(max-width:760px){.favorites-cart-slot.is-cart-placeholder{width:100%}}
.purchase-options .form-status:empty{display:none}

.photo-grid{align-content:start}
.photo-grid [data-managed-photo]{position:relative}
.portal .photo-action-status{font-size:14px;line-height:1.5;margin:8px 0 0}
.photo-action-status[data-error=true]{color:#9d2219}
.photo-grid .is-deleting>.photo-action-status,.photo-grid .is-deleted>.photo-action-status{position:absolute;inset:0;display:grid;place-items:center;padding:24px;margin:0;text-align:center;background:rgb(242 247 249 / .96);border:1px solid #d5d5cd;border-radius:6px;color:#10100e;z-index:2}
.photo-grid .is-deleted>:not(.photo-action-status){visibility:hidden}

.gallery-photo-admin .photo-delete-icon{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:transparent;color:#10100e}
.gallery-photo-admin .photo-delete-icon:hover,.gallery-photo-admin .photo-delete-icon.is-confirming{background:#b52b24;color:white}
.gallery-photo-admin .photo-delete-icon.is-confirming:hover{background:#92221c}


.gallery-row>.status-label{background:transparent;padding:0;color:#10100e;font-size:12px;line-height:1.5;text-transform:capitalize;text-align:right;align-self:center}
