/**
Load fonts
 */
/* crimson-pro-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Crimson Pro';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/crimson-pro/crimson-pro-v24-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* crimson-pro-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Crimson Pro';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/crimson-pro/crimson-pro-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* crimson-pro-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Crimson Pro';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/crimson-pro/crimson-pro-v24-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* crimson-pro-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Crimson Pro';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/crimson-pro/crimson-pro-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* figtree-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Figtree';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/figtree/figtree-v5-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* figtree-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Figtree';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/figtree/figtree-v5-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* figtree-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Figtree';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/figtree/figtree-v5-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* figtree-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Figtree';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/figtree/figtree-v5-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
html {
    font-size: 100%;
}

body {
    font-size: 1.6rem;
    /* Apply Figtree font-family to the body */
    font-family: 'Figtree', sans-serif;
    overflow-x: hidden;
}


/**
Typography classes
 */
.text-xs {
    font-size: 0.75rem;  /* 12px */
    line-height: 1rem;   /* 16px */
}

.text-sm {
    font-size: 0.875rem; /* 14px */
    line-height: 1.25rem; /* 20px */
}

.text-md {
    font-size: 1rem;     /* 16px */
    line-height: 1.5rem; /* 24px */
}

.text-lg {
    font-size: 1.125rem; /* 18px */
    line-height: 1.75rem; /* 28px */
}

.text-xl,
.entry-title {
    font-size: 1.25rem;  /* 20px */
    line-height: 1.75rem; /* 28px */
}

.entry-title {
    font-weight: 600;
}

.text-2xl {
    font-size: 1.5rem;   /* 24px */
    line-height: 2rem;   /* 32px */
}

.text-3xl {
    font-size: 1.875rem; /* 30px */
    line-height: 2.25rem; /* 36px */
}

.text-4xl {
    font-size: 2.25rem;  /* 36px */
    line-height: 2.5rem; /* 40px */
}

.text-5xl {
    font-size: 3rem;     /* 48px */
    line-height: 3rem;   /* 48px */
}

.text-6xl {
    font-size: 3.75rem;  /* 60px */
    line-height: 3.75rem; /* 60px */
}

.text-7xl {
    font-size: 4.5rem;   /* 72px */
    line-height: 4.5rem; /* 72px */
}

.text-8xl {
    font-size: 6rem;     /* 96px */
    line-height: 6rem;   /* 96px */
}

.text-9xl {
    font-size: 8rem;     /* 128px */
    line-height: 8rem;   /* 128px */
}

/* Font Weights */
.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

h3,
h3.gsection_title,
h4 {
    font-weight: 600;
}

/**
Apply fonts
*/
/* Apply Figtree to the body */
body {
    font-family: 'Figtree', sans-serif;
}

/* Apply Crimson Pro to specific elements */
.accent-font {
    font-family: 'Crimson Pro', serif;
}

/* Ensure FontAwesome icons are not affected */
.fa {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Pro', 'Font Awesome 5 Brands', 'Font Awesome', sans-serif;
}



/* Agent order flow overrides */
body.page-id-181:has(#gform_page_11_1[style="display:none;"]) .stickyimages {
    display: none !important;
}



/* My View accordion tabs (for uploads) */
.accordion-header:has(+ .accordion-content.visible) {
    background: #e6f1f8 !important;
    color: #000 !important;
    border-color: #146fd7 !important;
}


.prc-item-type-header > .col-portion-1-2:last-child {
    min-width: 200px;
    text-align: right; /* Right align the button */
}

.prc-asset-item-count .prc-icon img {
    width: 16px !important;
    max-width: initial !important;
}



/* Bubble icons */
.prc-bubble-icon {
    width: 64px;
    height: 64px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background: var(--base);
    border-radius: 50%;
    margin-bottom: 1em;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.prc-bubble-icon.margin-in-card {
    margin-top: 2em;
    margin-bottom: 1em;
}

.prc-bubble-icon span {
    color: var(--accent);
    font-size: 2.4rem;
}

.prc-section {
    padding-top: 2em;
    padding-bottom: 2em;
}

.prc-card-blue {
    max-width: 100%;
    background-color: #e6f1f8;
    padding: 1em;
    border-radius: 8px;
}

.prc-hidden {
    display: none !important;
}

.prc-invisible {
    visibility: hidden !important;
    pointer-events: none;
}

/* Disabled for Gravity Forms to handle the next button now
.prc-hidden-opacity {
    opacity: 0;
}*/

@media all and (max-width: 1200px) {
    .prc-container {
        padding-left: 1em;
        padding-right: 1em;
    }
}

.prc-bubble-column {
    position: absolute;
    z-index: 1;
}

.prc-circle {
    position: absolute;
    background-color: var(--base-2);
    border-radius: 50%;
    z-index: -5;
}

.prc-circle.sm {
    width: 96px;
    height: 96px;
}

.prc-circle.md {
    width: 150px;
    height: 150px;
}

.prc-circle.lg {
    width: 256px;
    height: 256px;
}


/* Phone features */
.prc-phone-features-col {
    position: relative;
}

.prc-phone-features-bg {
    height: 480px;
    position: absolute;
    bottom: 0;
    z-index: 1;
}

.prc-phone-features-wrap {
    margin: 0 auto;
    width: 100%;
    max-width: 512px;
    position: absolute; /* Establish a positioning context */
    bottom: 0;
    z-index: 10;
    left: 0;
    right: 0;
}

.prc-phone-features {
    display: block; /* Ensure the frame is rendered properly */
    width: 100%; /* Adjust as needed */
    height: auto; /* Maintain aspect ratio */
}

.prc-phone-features-content {
    position: absolute; /* Position relative to the container */
    top: 12px;
    bottom: 0; /* Align the bottom edge with the phone frame */
    left: 50%; /* Center horizontally */
    transform: translateX(-50%); /* Adjust back to perfect center horizontally */
    width: 80%; /* Adjust width of content as needed */
    height: auto; /* Maintain aspect ratio */
    pointer-events: none; /* Ensure content image doesn't block interactions */
}




/* Photographer Profile */
.prc-portfolio-placeholder {
    width: 100%;
    aspect-ratio: 3 / 2;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: 8px dashed #e6f1f8;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.prc-portfolio-placeholder:hover {
    background-color: #e6f1f8;
}

.prc-portfolio-placeholder p {
    color: #888;
    font-size: 1.4rem;
    font-weight: 600;
    margin: 0;
    padding: 0;
    transition: color 0.2s ease-in-out;
}

.prc-portfolio-placeholder:hover p {
    color: #000;
}



/* Order Details */
.prc-asset-item-count {
    display: flex;
    font-size: 0.75rem;
}

.prc-asset-item-count .prc-icon {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 4px;
    margin-right: 4px;
}


/* Toasts */
.jq-toast-single.jq-has-icon.jq-icon-info {
    background-color: #156FD7;
    border: none !important;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}


/* Navigation Bar Styles */
.mb-0 {
    margin-bottom: 0;
}

.prc-logo {
    width: 100%;
    max-width: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.prc-logo > img {
    display: block;
    width: 100%;
    height: auto;
}

.prc-header {
    top: 0;
    position: sticky;
    padding: 1em;
    padding-top: 0;
    padding-bottom: 0 !important;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--base-3);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    user-select: none;
    z-index: 15;
}

/* Mobile menu */
.prc-menu {
    background-color: var(--base-3);
    width: 100%;
    max-width: 300px;
    position: absolute;
    display: none;
    top: 75px;
    right: 0;
    list-style-type: none;
    margin-left: 0;
    margin-bottom: 0;
    padding: 1em;
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

.prc-menu-toggle {
    opacity: 0;
    pointer-events: none;
}

.prc-hamburger {
    padding: 1em;
    cursor: pointer;
}

.icon-menu-bars {
    font-size: 16px;
}

.prc-menu-toggle:checked ~ .prc-menu {
    display: block;
}

.prc-navbar-menu {
    display: flex;
    align-items: center;
}

.prc-navbar-split-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.prc-navbar-split-menu .prc-menu-group {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    column-gap: 2em;
    flex-wrap: wrap;
}

.prc-navbar-menu:not(.text-light) .prc-nav-tab,
.prc-navbar-menu:not(.text-light) .prc-subnav-tab,
.prc-navbar-split-menu:not(.text-light) .prc-nav-tab,
.prc-navbar-split-menu:not(.text-light) .prc-subnav-tab {
    color: #000;
}

.prc-navbar-menu.text-light .prc-nav-tab,
.prc-navbar-menu.text-light .prc-subnav-tab,
.prc-navbar-split-menu.text-light .prc-nav-tab,
.prc-navbar-split-menu.text-light .prc-subnav-tab {
    color: #BFC2C5;
}

footer .prc-nav-tab.selected {
    text-decoration: underline !important;
}

footer .prc-nav-tab:hover {
    text-decoration: underline !important;
}

footer .prc-nav-tab:active {
    color: #858789 !important;
}

footer .prc-nav-tab:focus {
    color: #BFC2C5 !important;
    background-color: #010B18;
    box-shadow: 0 0 0 2px white, 0 0 0 3px var(--accent);
    text-decoration: none !important;
}

.prc-nav-tab {
    display: inline-block;
    padding: 0.15em;
    border: 1px solid transparent;
    border-radius: 2px;
}

.prc-subnav-tab a {
    display: inline-block;
    width: 100%;
}

.prc-nav-tab,
.prc-subnav-tab a {
    text-decoration: none !important;
}


/* Hide the primary navigation bar */
.main-navigation {
    display: none !important;
}

/* Hide any other potential navigation elements */
.secondary-navigation,
.navigation-branding {
    display: none !important;
}

@media all and (max-width: 960px) {
    .prc-logo {
        max-width: 33%;
    }
}



.prc-loading-button {
    ion-icon {
        display: none;
    }
}

.prc-loading-button.loading {
    ion-icon {
        display: block;
    }
}

/**
Buttons
 */

/* Sign in button in login popup */
.xoo-el-form-container button.btn.button.xoo-el-action-btn {
    margin: 0 !important;
}

/* PRIMARY BUTTON */

/* Hover states */
button.btn-primary:hover,
html input[type="button"].btn-primary:hover,
input[type="reset"].btn-primary:hover,
input[type="submit"].btn-primary:hover,
a.btn-primary:hover,
a.button.btn-primary:hover,
a.wp-block-button__link:not(.has-background).btn-primary:hover,
.wp-block-button.btn-primary > .wp-block-button__link.wp-element-button:hover,
.gform-footer.gform_footer.top_label > input[type="submit"]:hover,
.start-with-address-wrap > input[type="submit"]:hover,
.gb-button.btn-primary:hover,
.gv-search-box > .gv-search-button:hover,
.xoo-el-form-container button.btn.button.xoo-el-action-btn:hover {
    color: #fff !important; /* Explicitly kept white */
    background-color: #1360ba !important;
    text-decoration: none !important;
    border: 1px solid #1360ba; /* Match background color */
    box-shadow: 0 0 0 2px white, 0 0 0 4px transparent; /* 2px gap, transparent outer border */
}

/* Active states */
button.btn-primary:active,
html input[type="button"].btn-primary:active,
input[type="reset"].btn-primary:active,
input[type="submit"].btn-primary:active,
a.btn-primary:active,
a.button.btn-primary:active,
a.wp-block-button__link:not(.has-background).btn-primary:active,
.wp-block-button.btn-primary > .wp-block-button__link.wp-element-button:active,
.start-with-address-wrap > input[type="submit"]:active,
.gform-footer.gform_footer.top_label > input[type="submit"]:active,
.gb-button.btn-primary:active,
.gv-search-button:active,
.gv-search-box > .gv-search-button:active,
.xoo-el-form-container button.btn.button.xoo-el-action-btn:active {
    color: #fff; /* Explicitly kept white */
    background-color: #0f519e !important;
    text-decoration: none !important;
    border: 1px solid #0f519e; /* Match background color */
    box-shadow: 0 0 0 2px white, 0 0 0 4px transparent !important; /* 2px gap, no outer border, !important to override */
}

button.btn-primary:active,
a.btn-primary:active {
    box-shadow: 0 0 0 2px white, 0 0 0 4px transparent !important; /* Specific override for button and anchor */
}

/* Focus states */
button.btn-primary:focus,
html input[type="button"].btn-primary:focus,
input[type="reset"].btn-primary:focus,
input[type="submit"].btn-primary:focus,
a.btn-primary:focus,
a.button.btn-primary:focus,
a.wp-block-button__link:not(.has-background).btn-primary:focus,
.wp-block-button.btn-primary > .wp-block-button__link.wp-element-button:focus,
.start-with-address-wrap > input[type="submit"]:focus,
.gform-footer.gform_footer.top_label > input[type="submit"]:focus,
.gb-button.btn-primary:focus,
.gv-search-box > .gv-search-button:focus,
.xoo-el-form-container button.btn.button.xoo-el-action-btn:focus {
    color: #fff; /* Explicitly kept white */
    background-color: #0f519e !important;
    border: 1px solid #0f519e; /* Match background color */
    box-shadow: 0 0 0 2px white, 0 0 0 4px #156FD7; /* 2px gap, 2px outer border */
}

.gform_button:active {
    color: #fff !important;
}

button.btn-primary,
html input[type="button"].btn-primary,
input[type="reset"].btn-primary,
input[type="submit"].btn-primary,
a.btn-primary,
a.button.btn-primary,
a.wp-block-button__link:not(.has-background).btn-primary,
.start-with-address-wrap > input[type="submit"],
.acf-button.button[value="Continue"], /* Continue button on homepage, directing to agent flow */
.xoo-el-action-sc.button.btn.xoo-el-login-tgr, /* The Sign In button for already having an account - agent flow */
.wp-block-button.btn-primary > .wp-block-button__link.wp-element-button,
.gform_next_button,
.gform-footer.gform_footer.top_label > input[type="submit"],
.gb-button.btn-primary,
.gv-search-box > .gv-search-button,
.xoo-el-form-container button.btn.button.xoo-el-action-btn {
    color: #fff;
    background-color: #156FD7;
    border: 1px solid #156FD7; /* Match background color */
    padding: 0.65em 1em;
    display: inline-block;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer;
    position: relative;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    /* box-shadow: 0 0 0 2px white, 0 0 0 4px transparent;*/ /* 2px gap, transparent outer border */
    line-height: 1 !important;
}

.gv-search-box > .gv-search-button {
    background-color: #156FD7 !important;
}

.wp-block-button.btn-primary > .wp-block-button__link.wp-element-button {
    color: #fff !important;
}


/* SECONDARY BUTTON */
.xoo-el-action-sc.button.btn.xoo-el-login-tgr:before {
    margin-right: 4px;
}

/* Update base margin */
.accordion-header,
button.btn-secondary,
html input[type="button"].btn-secondary,
input[type="reset"].btn-secondary,
input[type="submit"].btn-secondary,
a.btn-secondary,
a.button.btn-secondary,
a.wp-block-button__link:not(.has-background).btn-secondary,
.gfield-choice-input, /* For buttons like "Select" next to photographers */
.xoo-el-action-sc.button.btn.xoo-el-login-tgr, /* The Sign In button for already having an account - agent flow */
.wp-block-button.btn-secondary > .wp-block-button__link.wp-element-button,
.gform_previous_button.gform-theme-button.gform-theme-button--secondary.button, /* Previous button on the agent flow */
.gb-button.btn-secondary {
    color: #343c46;
    background-color: #fff;
    border: 1px solid #bec2c4; /* Inner border color */
    padding: 0.65em 1em;
    display: inline-block;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer;
    position: relative;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    box-shadow: 0 0 0 2px white, 0 0 0 4px transparent; /* 2px gap, transparent outer border */
    line-height: 1 !important;
}

/* Focus states - remove margin */
button.btn-secondary:focus,
html input[type="button"].btn-secondary:focus,
input[type="reset"].btn-secondary:focus,
input[type="submit"].btn-secondary:focus,
a.btn-secondary:focus,
a.button.btn-secondary:focus,
a.wp-block-button__link:not(.has-background).btn-secondary:focus,
.xoo-el-action-sc.button.btn.xoo-el-login-tgr:focus, /* The Sign In button for already having an account - agent flow */
.wp-block-button.btn-secondary > .wp-block-button__link.wp-element-button:focus,
.gform_previous_button.gform-theme-button.gform-theme-button--secondary.button:focus, /* Previous button on the agent flow */
.gb-button.btn-secondary:focus {
    color: #156fd7;
    background-color: #e7f0f8 !important;
    border: 1px solid #bec2c4; /* Inner border color */
    box-shadow: 0 0 0 2px white, 0 0 0 4px #156fd7; /* 2px gap, 2px outer border */
}

/* Other secondary states remain the same */




/* SECONDARY DARK BUTTON */
button.btn-secondary-dark,
html input[type="button"].btn-secondary-dark,
input[type="reset"].btn-secondary-dark,
input[type="submit"].btn-secondary-dark,
a.btn-secondary-dark,
a.button.btn-secondary-dark,
a.wp-block-button__link:not(.has-background).btn-secondary-dark,
.wp-block-button.btn-secondary-dark > .wp-block-button__link.wp-element-button,
.gb-button.btn-secondary-dark {
    color: #bfc2c5;
    background-color: transparent;
    border: 1px solid #bfc2c5;
    padding: 0.65em 1em;
    display: inline-block;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer;
    position: relative;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    line-height: 1 !important;
}

/* Hover states */
button.btn-secondary-dark:hover,
html input[type="button"].btn-secondary-dark:hover,
input[type="reset"].btn-secondary-dark:hover,
input[type="submit"].btn-secondary-dark:hover,
a.btn-secondary-dark:hover,
a.button.btn-secondary-dark:hover,
a.wp-block-button__link:not(.has-background).btn-secondary-dark:hover,
.wp-block-button.btn-secondary-dark > .wp-block-button__link.wp-element-button:hover,
.gb-button.btn-secondary-dark:hover {
    color: #f7f8f8;
    background-color: rgba(255, 255, 255, 0.1);
    border-color: #f7f8f8;
}

/* Active states */
button.btn-secondary-dark:active,
html input[type="button"].btn-secondary-dark:active,
input[type="reset"].btn-secondary-dark:active,
input[type="submit"].btn-secondary-dark:active,
a.btn-secondary-dark:active,
a.button.btn-secondary-dark:active,
a.wp-block-button__link:not(.has-background).btn-secondary-dark:active,
.wp-block-button.btn-secondary-dark > .wp-block-button__link.wp-element-button:active,
.gb-button.btn-secondary-dark:active {
    color: #bfc2c5;
    background-color: rgba(255, 255, 255, 0.05);
    border-color: #bfc2c5;
}

/* Selected states */
button.btn-secondary-dark.selected,
html input[type="button"].btn-secondary-dark.selected,
input[type="reset"].btn-secondary-dark.selected,
input[type="submit"].btn-secondary-dark.selected,
a.btn-secondary-dark.selected,
a.button.btn-secondary-dark.selected,
a.wp-block-button__link:not(.has-background).btn-secondary-dark.selected,
.wp-block-button.btn-secondary-dark > .wp-block-button__link.wp-element-button.selected,
.gb-button.btn-secondary-dark.selected {
    color: #f7f8f8;
    background-color: rgba(21, 111, 215, 0.25);
    border-color: #156fd7;
}

/* Focus states */
button.btn-secondary-dark:focus,
html input[type="button"].btn-secondary-dark:focus,
input[type="reset"].btn-secondary-dark:focus,
input[type="submit"].btn-secondary-dark:focus,
a.btn-secondary-dark:focus,
a.button.btn-secondary-dark:focus,
a.wp-block-button__link:not(.has-background).btn-secondary-dark:focus,
.wp-block-button.btn-secondary-dark > .wp-block-button__link.wp-element-button:focus,
.gb-button.btn-secondary-dark:focus {
    color: white;
    background-color: #19222e;
    border: 1px solid transparent;
    box-shadow: 0 0 0 2px white, 0 0 0 3px var(--accent);
}



/* WARNING BUTTON */
/* Focus states - remove margin */
button.btn-warning:focus,
html input[type="button"].btn-warning:focus,
input[type="reset"].btn-warning:focus,
input[type="submit"].btn-warning:focus,
a.btn-warning:focus,
a.button.btn-warning:focus,
a.wp-block-button__link:not(.has-background).btn-warning:focus,
.gb-button.btn-warning:focus {
    color: #d82e00;
    background-color: #e7f0f8 !important;
    border: 1px solid #bec2c4; /* Inner border color */
    box-shadow: 0 0 0 2px white, 0 0 0 4px #d82e00; /* 2px gap, 2px outer border */
}

/* Other warning states remain the same */

/* OUTLINE BUTTON */
/* Hover states */
button.btn-outline:hover,
html input[type="button"].btn-outline:hover,
input[type="reset"].btn-outline:hover,
input[type="submit"].btn-outline:hover,
a.btn-outline:hover,
a.button.btn-outline:hover,
a.wp-block-button__link:not(.has-background).btn-outline:hover,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button:hover,
.gb-button.btn-outline:hover {
    color: #1a222e;
    background-color: #ffffff !important;
    text-decoration: none !important;
    border: 2px solid #BFC2C5;
    box-shadow: 0 0 0 2px #BFC2C5, 0 0 0 4px transparent;
}

/* Active states */
button.btn-outline:active,
html input[type="button"].btn-outline:active,
input[type="reset"].btn-outline:active,
input[type="submit"].btn-outline:active,
a.btn-outline:active,
a.button.btn-outline:active,
a.wp-block-button__link:not(.has-background).btn-outline:active,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button:active,
.gb-button.btn-outline:active {
    color: #1a222e !important;
    background-color: #e9ecef !important;
    text-decoration: none !important;
    border: 2px solid #BFC2C5;
    box-shadow: 0 0 0 2px #BFC2C5, 0 0 0 4px transparent !important;
}

button.btn-outline:active,
a.btn-outline:active {
    box-shadow: 0 0 0 2px #BFC2C5, 0 0 0 4px transparent !important;
}

/* Focus states - remove margin */
button.btn-outline:focus,
html input[type="button"].btn-outline:focus,
input[type="reset"].btn-outline:focus,
input[type="submit"].btn-outline:focus,
a.btn-outline:focus,
a.button.btn-outline:focus,
a.wp-block-button__link:not(.has-background).btn-outline:focus,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button:focus,
.gb-button.btn-outline:focus {
    color: #156fd7;
    background-color: #e7f0f8 !important;
    border: 2px solid #bfc2c5;
    box-shadow: 0 0 0 2px white, 0 0 0 4px #156fd7;
}

button.btn-outline,
html input[type="button"].btn-outline,
input[type="reset"].btn-outline,
input[type="submit"].btn-outline,
a.btn-outline,
a.button.btn-outline,
a.wp-block-button__link:not(.has-background).btn-outline,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button,
.gb-button.btn-outline {
    color: #f7f8f8;
    background-color: transparent;
    border: 2px solid #bfc2c5;
    padding: 0.65em 1em;
    display: inline-block;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer;
    position: relative;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    /* box-shadow: 0 0 0 2px white, 0 0 0 4px transparent; */
    line-height: 1 !important;
}

.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button {
    color: #f7f8f8 !important;
}

/* Base button styles remain the same, already excluding .btn-outline */

/* Base button styles */

.gform_button:hover {
    color: #fff !important;
}

/* OUTLINE BUTTON */
/* Hover states */
button.btn-outline:hover,
html input[type="button"].btn-outline:hover,
input[type="reset"].btn-outline:hover,
input[type="submit"].btn-outline:hover,
a.btn-outline:hover,
a.button.btn-outline:hover,
a.wp-block-button__link:not(.has-background).btn-outline:hover,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button:hover,
.gb-button.btn-outline:hover {
    color: #1a222e;
    background-color: #ffffff !important;
    text-decoration: none !important;
    border: 1px solid #bfc2c5;
    box-shadow: 0 0 0 2px white, 0 0 0 4px transparent;
}
/* Active states */
button.btn-outline:active,
html input[type="button"].btn-outline:active,
input[type="reset"].btn-outline:active,
input[type="submit"].btn-outline:active,
a.btn-outline:active,
a.button.btn-outline:active,
a.wp-block-button__link:not(.has-background).btn-outline:active,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button:active,
.gb-button.btn-outline:active {
    color: #1a222e !important;
    background-color: #e9ecef !important;
    text-decoration: none !important;
    border: 1px solid #bfc2c5;
    box-shadow: 0 0 0 1px white, 0 0 0 4px transparent !important;
}
button.btn-outline:active,
a.btn-outline:active {
    box-shadow: 0 0 0 1px white, 0 0 0 4px transparent !important;
}
/* Focus states */
button.btn-outline:focus,
html input[type="button"].btn-outline:focus,
input[type="reset"].btn-outline:focus,
input[type="submit"].btn-outline:focus,
a.btn-outline:focus,
a.button.btn-outline:focus,
a.wp-block-button__link:not(.has-background).btn-outline:focus,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button:focus,
.gb-button.btn-outline:focus {
    color: #156fd7;
    background-color: #e7f0f8 !important;
    border: 1px solid #bfc2c5;
    box-shadow: 0 0 0 1px white, 0 0 0 4px #156fd7;
}
button.btn-outline,
html input[type="button"].btn-outline,
input[type="reset"].btn-outline,
input[type="submit"].btn-outline,
a.btn-outline,
a.button.btn-outline,
a.wp-block-button__link:not(.has-background).btn-outline,
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button,
.gb-button.btn-outline {
    color: #f7f8f8;
    background-color: transparent;
    border: 0px solid #bfc2c5;
    padding: 0.65em 1em;
    display: inline-block;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer;
    position: relative;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    box-shadow: 0 0 0 1px white, 0 0 0 4px transparent;
    line-height: 1 !important;
}
.wp-block-button.btn-outline > .wp-block-button__link.wp-element-button {
    color: #f7f8f8 !important;
}

/* Order grid items */
.ordergrid a[href] {
    display: block;
    text-decoration: none !important;
}

/* Base button styles (updated to exclude .btn-outline) */
.site a:not(.btn-primary):not(.btn-secondary):not(.btn-warning):not(
    .btn-outline
  ):not(
    :where(.messages *)
  )[href] {
    color: #156fd7;
    text-decoration: none;
    box-sizing: border-box;
    border-radius: 2px;
}
.site a:not(.btn-primary):not(.btn-secondary):not(.btn-warning):not(
    .btn-outline
  ):not(
    :where(.btn-primary *, .btn-secondary *, .btn-warning *, .btn-outline *, .messages *)
  )[href]:hover {
    color: #156fd7 !important;
    text-decoration: underline;
}
.site a:not(.btn-primary):not(.btn-secondary):not(.btn-warning):not(
    .btn-outline
  ):not(
    :where(.btn-primary *, .btn-secondary *, .btn-warning *, .btn-outline *, .messages *)
  )[href]:active {
    color: #1255a7 !important;
    box-shadow: 0 0 0 2px white, 0 0 0 4px transparent !important;
}
.site a:not(.btn-primary):not(.btn-secondary):not(.btn-warning):not(
    .btn-outline
  ):not(
    :where(.btn-primary *, .btn-secondary *, .btn-warning *, .btn-outline *, .messages *)
  )[href]:focus {
    color: #156fd7;
    outline: none;
    box-shadow: 0 0 0 2px white, 0 0 0 4px #156fd7;
    border-radius: 2px;
}


.gfield-choice-input { /* For buttons like "Select" next to photographers */
    display: inline-block !important;
}

/* Specific padding for gb-button */
.gb-button {
    padding: 0.65em 1em !important;
}

/* Loading states */
/* Loading states - UPDATED TO INCLUDE a.loading */
button.loading,
html input[type="button"].loading,
input[type="reset"].loading,
input[type="submit"].loading,
a.loading,
a.button.loading,
a.wp-block-button__link:not(.has-background).loading,
.gb-button.loading {
    color: transparent !important;
    cursor: not-allowed;
    background-color: #468CDE;
    pointer-events: none;
    position: relative;
}

/* Hide all child elements (including icons) when loading */
button.loading > *,
html input[type="button"].loading > *,
input[type="reset"].loading > *,
input[type="submit"].loading > *,
a.loading > *,
a.button.loading > *,
a.wp-block-button__link:not(.has-background).loading > *,
.gb-button.loading > * {
    visibility: hidden;
}

/* Loading text */
button.loading::before,
html input[type="button"].loading::before,
input[type="reset"].loading::before,
input[type="submit"].loading::before,
a.loading::before,
a.button.loading::before,
a.wp-block-button__link:not(.has-background).loading::before,
.gb-button.loading::before {
    content: "Loading...";
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-weight: 600;
    visibility: visible; /* Ensure this is visible */
}

/* Spinner animation */
button.loading::after,
html input[type="button"].loading::after,
input[type="reset"].loading::after,
input[type="submit"].loading::after,
a.loading::after,
a.button.loading::after,
a.wp-block-button__link:not(.has-background).loading::after,
.gb-button.loading::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    border: 2px solid #fff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s linear infinite;
    visibility: visible; /* Ensure this is visible */
}

/* Hide ion-icon when button is loading */
button.loading ion-icon,
html input[type="button"].loading ion-icon,
input[type="reset"].loading ion-icon,
input[type="submit"].loading ion-icon,
a.loading ion-icon,
a.button.loading ion-icon,
a.wp-block-button__link:not(.has-background).loading ion-icon,
.gb-button.loading ion-icon {
    display: none;
}


/* Spin animation keyframes (required for the spinner) */
@keyframes spin {
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

/* Loading state */
a.btn-secondary.loading,
button.btn-secondary.loading,
input[type="button"].btn-secondary.loading,
.wp-block-button.btn-secondary.loading > a {
    color: transparent; /* Hide the original text */
    cursor: not-allowed; /* Indicate the button is not clickable */
    background-color: #f5f5f5; /* Slightly different background to show it's loading */
    pointer-events: none;
}

/* Spinner for loading state */
a.btn-secondary.loading::before,
button.btn-secondary.loading::before,
input[type="button"].btn-secondary.loading::before,
.wp-block-button.btn-secondary.loading::before {
    content: "Loading..."; /* Text during loading */
    color: #343C46; /* Match the original text color */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); /* Center the text */
    font-weight: 600;
}

/* Spinner animation */
a.btn-secondary.loading::after,
button.btn-secondary.loading::after,
input[type="button"].btn-secondary.loading::after,
.wp-block-button.btn-secondary.loading::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 20px; /* Position the spinner to the left of the text */
    transform: translateY(-50%);
    border: 2px solid #343C46;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s linear infinite; /* Spin animation */
}

/* Keyframes for the spinning animation */
@keyframes spin {
    0% {
        transform: translateY(-50%) rotate(0deg);
    }
    100% {
        transform: translateY(-50%) rotate(360deg);
    }
}

/**
Navigation
 */
.main-navigation .main-nav ul li a {
    font-weight: 600;
}



/* Style form tables */
.prc-form-table,
.prc-form-table tr,
.prc-form-table th,
.prc-form-table td {
    border: none;
}

.prc-form-table tr th[scope="row"] label {
    cursor: pointer;
}

.prc-form-table tr:has(input[type="checkbox"]) th[scope="row"] {
    text-align: left !important;
}

.prc-form-table th[scope="row"] {
    text-align: right !important;
}

.prc-front-table th[scope="col"] {
    text-align: center;
}

.prc-front-table:has(th[scope="col"]) td input[type="checkbox"] {
    display: block;
    margin: 0 auto;
}

/* Basic table styling */
table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

/* Media query for mobile devices */
@media (max-width: 768px) {
    .prc-form-table,
    .prc-form-table tbody,
    .prc-form-table tr,
    .prc-form-table th,
    .prc-form-table td {
        display: block;
        width: 100%;
    }

    .prc-form-table thead {
        display: none; /* Hide table headers on small screens */
    }

    .prc-form-table tr {
        margin-bottom: 15px;
        border-bottom: 2px solid #ddd;
    }

    .prc-form-table tr td {
        display: flex;
        justify-content: flex-start;
        padding-left: 0;
        padding-right: 0;
        text-align: left;
        position: relative;
        box-sizing: border-box;
    }

    .prc-form-table tr td::before {
        content: attr(aria-label); /* Use aria-label for accessibility */
        font-weight: bold;
        text-transform: capitalize;
        margin-right: 10px;
    }
}

.prc-select-option-button label.error:hover {
    border: 1px solid #d71515;
}

.prc-select-option-button label:hover {
    border: 1px solid var(--accent);
}

.prc-select-option-button input[type="radio"] {
    position: absolute;
    left: -9999px;
    opacity: 0;
}

.prc-select-option-button label {
    display: block;
    position: relative;
    width: 100%;
    padding: 1em;
    text-align: left;
    font-weight: 600;
    margin: 1px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
}

.prc-select-option-button input[type="radio"]:checked + label.error {
    background-color: #f8e1e1;
    border: 2px solid #d71515;
}

.prc-select-option-button input[type="radio"]:checked + label {
    margin: 1px 0 1px 0 !important;
    background-color: var(--base);
    border: 2px solid var(--accent);
}


/* Footer */
.site-footer {
    position: relative;
}

.gb-button.prc-footer-button {
    padding: 0.5em !important;
    background-color: #1a222e !important;
    border: 1px solid #343C46;
    border-radius: 8px;
}



/* API Docs */
.api-doc-type {
    color: var(--accent);
    font-weight: 600;
}


/* Lightbox */
/* Lightbox */
.prc-lb {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    opacity: 1;
    z-index: 1000;
    background-color: #fff;
    overflow: hidden; /* Prevent any overflow on the lightbox itself */
}

/* Inner structure */
.prc-lb-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.prc-lb-body {
    height: calc(100% - 96px);
}

.prc-lb-viewport {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    overflow-y: auto; /* Allow vertical scroll if needed for tall images */
    overflow-x: hidden; /* Prevent horizontal scroll */
}

/* Header */
.prc-lb-header-buttons {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin: 0 auto;
    width: 100% !important; /* Override inline fixed width */
}

.prc-lb-close-button {
    display: flex;
    width: 100%;
    height: 48px;
    border: 2px solid transparent;
    justify-content: center;
    align-items: center;
    user-select: none;
    z-index: 5;
    cursor: pointer;
    transition: border 0.1s ease-in-out;
}

.prc-lb-close-button:hover {
    border: 2px solid #156FD7;
}

.prc-lb-close-button:active {
    border: 2px solid #000;
}

.prc-lb-close-button span {
    display: block;
    width: 100%;
    font-size: 48px;
    padding-bottom: 3px;
    transition: color 0.1s ease-in-out;
}

.prc-lb-close-button:hover span {
    color: #156FD7;
}

.prc-lb-first-address-line {
    font-size: 1rem;
}

.prc-lb-second-address-line {
    font-size: 0.8rem;
}

/* Section and Image */
.prc-lb section {
    flex: 1; /* Take up remaining space between header and footer */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.prc-lb-photo-figure {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3 / 2; /* Default for desktop */
}

.prc-lb-photo-figure-image-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; /* For positioning loader absolutely */
}

.prc-lb-photo-figure img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    border-radius: 8px;
    object-fit: contain; /* Ensures no cropping, scales to fit */
}

/* Loader (assuming a .prc-lb-loader class is added dynamically inside .prc-lb-photo-figure-image-wrap during loading) */
.prc-lb-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    /* Add your loader styles here, e.g.: */
    /* width: 50px; */
    /* height: 50px; */
    /* background: url('spinner.gif') no-repeat center / contain; */
    /* Or use a simple text/ion-icon spinner */
    font-size: 2em;
    color: #888;
}

/* Navigation */
.prc-lb-navigation-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.prc-lb-prev-button, .prc-lb-next-button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    color: #fff;
    background-color: #222;
    height: 64px;
    width: 64px;
    line-height: 0;
    border-radius: 50%;
    padding: 1em !important;
    font-size: 30px;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    pointer-events: none;
}

.prc-lb-prev-button > span, .prc-lb-next-button > span {
    position: relative;
    top: -14px;
}

.prc-lb-navigation-wrap:hover .prc-lb-prev-button,
.prc-lb-navigation-wrap:hover .prc-lb-next-button {
    opacity: 1;
    pointer-events: all;
}

.prc-lb-navigation-wrap button {
    margin: 1em;
}

/* Footer */
.prc-lb-photo-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 auto;
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 1em;
    width: 100% !important; /* Override inline fixed width */
}

/* Other styles */
.prc-lb-caption {
    text-align: center;
}

.dropdown-content {
    top: 100%;
    margin-top: 0;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}


@keyframes lb-appear {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* Mobile-specific fixes */
@media (max-width: 768px) {
    .prc-lb {
        border: none; /* Remove border for full-screen feel */
    }

    .prc-lb-photo-figure {
        width: 100%;
        height: auto;
        aspect-ratio: auto; /* Let image dictate aspect */
    }

    .prc-lb-photo-figure img {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: calc(100vh - 128px); /* Account for header/footer */
    }

    .prc-lb-prev-button, .prc-lb-next-button {
        height: 48px; /* Smaller for mobile */
        width: 48px;
        font-size: 24px;
        opacity: 0.7; /* Always semi-visible on mobile for touch */
        pointer-events: all;
    }

    .prc-lb-navigation-wrap:hover .prc-lb-prev-button,
    .prc-lb-navigation-wrap:hover .prc-lb-next-button {
        opacity: 1; /* Full opacity on hover/tap */
    }

    .prc-lb-close-button span {
        font-size: 36px; /* Slightly smaller for mobile */
    }

    .prc-lb-photo-footer {
        flex-direction: column; /* Stack on very small screens if needed */
        align-items: center;
        padding: 0.5em;
    }
}

.dropdown-content {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.dropdown-content:not(:has(a.profileaccount)) {
    margin-top: 1.5px !important;
}

.dropdown-content a {
    padding: 0.5em;
    border-radius: 0.5em;
}

@keyframes lb-appear {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* Mobile-specific fixes */
@media (max-width: 768px) {
    .prc-lb {
        border: none; /* Remove border for full-screen feel */
    }

    .prc-lb-photo-figure {
        width: 100%;
        height: auto;
        aspect-ratio: auto; /* Let image dictate aspect */
    }

    .prc-lb-photo-figure img {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: calc(100vh - 128px); /* Account for header/footer */
    }

    .prc-lb-prev-button, .prc-lb-next-button {
        height: 48px; /* Smaller for mobile */
        width: 48px;
        font-size: 24px;
        opacity: 0.7; /* Always semi-visible on mobile for touch */
        pointer-events: all;
    }

    .prc-lb-navigation-wrap:hover .prc-lb-prev-button,
    .prc-lb-navigation-wrap:hover .prc-lb-next-button {
        opacity: 1; /* Full opacity on hover/tap */
    }

    .prc-lb-close-button span {
        font-size: 36px; /* Slightly smaller for mobile */
    }

    .prc-lb-photo-footer {
        flex-direction: column; /* Stack on very small screens if needed */
        align-items: center;
        padding: 0.5em;
    }
}



/* Photo galleries */
.prc-gallery {
    position: relative;
}

.prc-gallery.collapsed {
    max-height: 500px;
    overflow-y: hidden;
}

.prc-gallery.no-expander .prc-expand-gallery-overlay {
    display: none;
}

.prc-expand-gallery-overlay {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, #f7f8f8 30%, #f7f8f8 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 0;
    width: 100%;
    height: 200px;
    text-align: center;
}

.prc-gallery.collapsed .prc-expand-gallery-overlay {
    position: absolute;
}

.prc-expand-gallery-overlay .prc-btn-secondary {
    display: inline-block;
}

.prc-gallery-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(96px, calc((100% - 2em) / 5)));
   gap: 0.5em;
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
   margin: 0 auto;
   padding: 0;
}

.prc-gallery-grid .prc-thumb,
.prc-gallery-grid .prc-thumb-video {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    overflow: hidden;
}

.prc-gallery-grid .prc-gallery-item .fleft > a,
.prc-gallery-grid .prc-gallery-item .fright > a {
    color: #156FD7 !important;
}

.prc-gallery-grid .prc-thumb {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
}

.prc-gallery-grid .prc-thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
}

.prc-gallery-grid .prc-thumb-video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    background-size: cover;
    background-position: 50% 50%;
    border-radius: 0.75em !important;
    position: relative;
}

.prc-gallery-grid .prc-thumb-video .prc-thumb-video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 2em;
}

/* The My View tab in order-details */
.accordion-content .prc-asset-thumb {
    padding-bottom: 1.75em;
}

.accordion-content .prc-asset-thumb img {
    border-radius: 0.75em;
}

/* Mobile for gallery grid */
@media (max-width: 768px) {
    .prc-gallery-grid {
        grid-template-columns: repeat(auto-fit, minmax(100px, calc((100% - 1em) / 3)));
    }
}

.prc-dark-gray {
    color: #343C46;
}

.prc-item-type-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media all and (max-width: 768px) {
    .prc-item-type-header {
        flex-direction: column;
    }
}

.prc-thumb {
    /*
    display: block;
     */
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 0;
}

.prc-thumb img,
.prc-thumb-video {
    width: 100%;
    border-radius: 0.75em;
}

.prc-thumb-video {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3 / 2;
}

.prc-thumb-video-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    color: #fff;
    background: #000;
    border-radius: 50%;
}

.prc-thumb-video-icon ion-icon {
    display: block;
    color: #fff;
    font-size: 0.75em;
}

.prc-row {
    display: flex;
    flex-direction: row;
}

.prc-row:not(.no-wrap) {
    flex-wrap: wrap;
}

.prc-row:not(.no-gap) {
    column-gap: 1em;
}

.prc-row.justify-content-between {
    justify-content: space-between;
}

.prc-col {
    width: 100%;
}

.prc-col.portion-2-3 {
    max-width: 66.6%;
}

.prc-col.portion-1-2 {
    max-width: 50%;
}

.prc-col.portion-1-3 {
    max-width: 33.3%;
}

.prc-col.portion-1-4 {
    max-width: 25%;
}

.prc-col.portion-1-5 {
    max-width: 20%;
}


.prc-col.asset-counts {
    width: 100%;
    max-width: calc(100% - 190px);
}

.prc-col.asset-counts > .prc-row > .prc-col:nth-child(1) {
    max-width: 40%;
}

.prc-col.asset-counts > .prc-row > .prc-col:nth-child(2) {
    max-width: 30%;
}

.prc-col.asset-counts > .prc-row > .prc-col:nth-child(3) {
    max-width: 30%;
}

.prc-col.asset-counts-download-collection {
    width: 100%;
    max-width: 190px;
}

@media all and (max-width: 1080px) {
    .prc-row > .prc-col {
        max-width: 100% !important;
    }

    .prc-col.asset-counts > .prc-row {
        flex-direction: column;
    }
}


.prc-page-header.bg-dark-blue .prc-section-label:not(:has(strong)),
.prc-page-header.bg-dark-blue .prc-section-label strong {
    color: #BFC2C5 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.prc-section-label:not(:has(strong)),
.prc-section-label strong {
    color: #636A72 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.prc-page-header.bg-light-blue p a {
    color: #156FD7;
    text-decoration: underline;
}

.prc-page-header.bg-dark-blue p a {
    color: #5EADED;
    text-decoration: underline;
}



/* Basic styling for the loading container and boxes */
.loading-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.loading-box {
    width: 100%;
    height: 60px; /* Adjust height as needed */
    background: linear-gradient(100deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite ease-in-out;
    border-radius: 8px; /* Rounded corners for a modern look */
}

.loading-box.calendar {
    height: 280px !important;
}

.loading-box.calendar-content {
    height: 244px !important;
}

.loading-box.photo-enlarged {
    position: absolute;
    height: 100%;
    width: auto;
    aspect-ratio: 3 / 2;
}

/* Basic styling for the loading container and boxes */
.loading-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.loading-box {
    height: 20px;
    background: linear-gradient(100deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite ease-in-out;
    border-radius: 4px;
    margin: 0.25rem 0;
}

.skeleton-container {
    padding: 1rem;
    max-width: 800px;
}

.skeleton-address {
    font-size: 1rem;
    margin-bottom: 1rem;
    color: #000;
}

.skeleton-row {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.skeleton-header {
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
    align-items: center;
}

.skeleton-table {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}


.prc-asset-thumb {
    position: relative;
}

.loading-box.asset-thumb {
    display: block;
    width: 100%;
    height: 230px !important;
}

.view-photos-for {
    margin-bottom: 1em;
}

/* Accordion */
/* =============================================================================
   FINAL: TAB-CONTROLLED GALLERY & WATERMARK VISIBILITY (MULTI-SECTION SAFE)
   ============================================================================= */
.watermark-form-accordion { display: none; }

.prc-item-type:has(.prc-tabs input[name="print"].selected) .prc-order-gallery {
    display: block !important;
}
.prc-item-type:has(.prc-tabs input[name="web"].selected) .prc-order-gallery {
    display: block !important;
}
.prc-item-type:has(.prc-tabs input[name="web"].selected) .watermark-form-accordion {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 1em !important;
}

.prc-item-type:has(.prc-tabs input[name="print"].selected) .prc-order-gallery.collapsed,
.prc-item-type:has(.prc-tabs input[name="web"].selected) .prc-order-gallery.collapsed {
    height: auto !important;
    overflow: hidden !important;
    max-height: 400px !important;
}

.prc-tabs input[name="print"].selected { background-color: #f0f0f0; border: 1px solid #ccc; color: #333; }
.prc-tabs input[name="web"].selected { background-color: #007cba; color: var(--accent); border: 1px solid #007cba; }

/* === CUSTOM ARROW + ACCORDION STYLING === */
.watermark-form-accordion,
.accordion {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin: 10px 0;
    overflow: hidden;
}

.watermark-form-accordion summary,
.accordion summary {
    background-color: #f7f7f7;
    padding: 12px 15px;
    padding-left: 2.5em !important;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    position: relative;
    list-style: none;
    display: flex;
    align-items: center;
}

/* Hide native arrow */
.watermark-form-accordion summary::-webkit-details-marker,
.accordion summary::-webkit-details-marker,
.watermark-form-accordion summary::marker,
.accordion summary::marker {
    display: none !important;
}

/* Custom arrow */
.watermark-form-accordion summary::before,
.accordion summary::before {
    content: '';
    position: absolute;
    left: 1em;
    top: 50%;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #636A72;
    border-right: 2px solid #636A72;
    transform: translateY(-50%) rotate(135deg);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

/* Open: rotate down + accent color */
.watermark-form-accordion[open] summary::before,
.accordion[open] summary::before {
    transform: translateY(-50%) rotate(315deg);
    border-color: var(--accent);
}

/* Hover */
.watermark-form-accordion summary:hover,
.accordion summary:hover {
    background-color: #f0f0f0;
}
.watermark-form-accordion summary:hover::before,
.accordion summary:hover::before {
    border-color: var(--accent);
}

/* Content */
.accordion-content {
    padding: 15px;
    border-top: 1px solid #eee;
}

/* Fade in */
.watermark-form-accordion[open] .accordion-content {
    display: block;
    animation: fadeIn 0.3s ease-in;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Gallery fade */
.prc-order-gallery {
    opacity: 1;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.prc-item-type:has(.prc-tabs input[name="print"].selected) .prc-order-gallery,
.prc-item-type:has(.prc-tabs input[name="web"].selected) .prc-order-gallery {
    opacity: 1;
    transform: translateY(0);
}
/* Calendar buttons */
.calendar-arrow-button {
    color: #636A72;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 36px;
}

button.calendar-arrow-button:hover, button.calendar-arrow-button:focus, button.calendar-arrow-button:active {
    background: transparent !important;
}

.calendar-arrow-button:hover {
    color: var(--accent) !important;
    background-color: initial !important;
}

.calendar-arrow-button:hover .ion-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #e6f1f8;
}

.calendar-arrow-button:active {
    background: transparent !important;
}


body.page-id-2947 .grid-container {
    max-width: 1200px !important;
}

/* Tabs used on Order Details */
.prc-tabs {
    display: inline-flex;
}

.prc-tabs.order-details-views {
    width: 100%;
}

.prc-tabs.order-details-views > * {
    width: calc(50% - 4px);
}

.prc-tabs > .prc-tab:first-child {
    margin-right: 0 !important;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right: 1px solid #bec2c4;
}

.prc-tabs > .prc-tab:last-child {
    margin-left: 0 !important;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-left: 1px solid #fff !important;
}

.prc-tabs > .prc-tab.selected {
    border: 1px solid var(--accent) !important;
    background-color: var(--base) !important;
}

.prc-tabs > .prc-tab {
    color: #343C46;
    background-color: #fff;
    border: 1px solid #bec2c4; /* Inner border color */
    margin-left: 2px;
    margin-right: 2px;
    padding: 0.65em 1em;
    display: inline-block;
    font-weight: 600 !important;
    border-radius: 8px;
    cursor: pointer;
    position: relative;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
    line-height: 1 !important;
}

.prc-tabs > .prc-tab:hover {
    color: #010B18;
    background-color: #eceef0;
}

.prc-tabs > .prc-tab:last-child:hover {
    border-left: 1px solid #eceef0 !important;
}

.prc-tabs > .prc-tab:active {
    color: #010B18 !important;
    background-color: #dfe3e7 !important;
}

.prc-tabs > .prc-tab:last-child:hover {
    border-left: 1px solid #dfe3e7 !important;
}

.prc-tabs > .prc-tab.selected {
    color: #115BB1;
}

.prc-tabs > .prc-tab:focus {
    color: #156FD7;
    background-color: #e7f0f8;
    border: 1px solid #bec2c4; /* Inner border color */
    box-shadow: 0 0 0 2px white, 0 0 0 4px #156FD7; /* 2px gap, 2px outer blue border */
    z-index: 10; /* Ensure focus outline is above nearby elements */
}


/* Shimmer animation */
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}


@media all and (max-width: 1080px) {
    body.page-id-2947 .entry-content { /* Added padding for delivered assets page */
        padding-left: 1em;
        padding-right: 1em;
    }
}


/* Horizontal ellipse loader */

.lds-ellipsis,
.lds-ellipsis div {
    box-sizing: border-box;
}
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 20px; /* 80px * 0.25 */
    height: 20px; /* 80px * 0.25 */
}
.lds-ellipsis.for-select-option-button {
    position: absolute !important;
    left: calc(50% - 8px) !important;
    bottom: -8px;
}
.lds-ellipsis div {
    position: absolute;
    top: 15px; /* 33.33333px * 0.25 */
    width: 3.33333px; /* 13.33333px * 0.25 */
    height: 3.33333px; /* 13.33333px * 0.25 */
    border-radius: 50%;
    background: #156FD7; /* Blue color matching spinner */
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
    left: 2px; /* 8px * 0.25 */
    animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
    left: 2px; /* 8px * 0.25 */
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
    left: 8px; /* 32px * 0.25 */
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
    left: 14px; /* 56px * 0.25 */
    animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(6px, 0); /* 24px * 0.25 */
    }
}




/* Spinner animation */
.spinner-loader {
    position: relative;
    width: 20px;
    height: 20px;
    left: 12px;
}

.spinner-loader.for-select-option-button {
    position: absolute !important;
    left: calc(50% - 8px) !important;
    bottom: -8px;
}

.spinner-loader::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    transform: translate(-50%, -50%) translateZ(0);
    animation: mulShdSpin 1.3s infinite linear;
}

@keyframes mulShdSpin {
    0%, 100% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 1),
                4px -4px 0 0 rgba(21, 111, 215, 0.7),
                6px 0 0 0 rgba(21, 111, 215, 0.1),
                4px 4px 0 0 rgba(21, 111, 215, 0.1),
                0 6px 0 0 rgba(21, 111, 215, 0.1),
                -4px 4px 0 0 rgba(21, 111, 215, 0.1),
                -6px 0 0 0 rgba(21, 111, 215, 0.1),
                -4px -4px 0 0 rgba(21, 111, 215, 0.7);
    }
    12.5% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.7),
                4px -4px 0 0 rgba(21, 111, 215, 1),
                6px 0 0 0 rgba(21, 111, 215, 0.7),
                4px 4px 0 0 rgba(21, 111, 215, 0.1),
                0 6px 0 0 rgba(21, 111, 215, 0.1),
                -4px 4px 0 0 rgba(21, 111, 215, 0.1),
                -6px 0 0 0 rgba(21, 111, 215, 0.1),
                -4px -4px 0 0 rgba(21, 111, 215, 0.1);
    }
    25% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.4),
                4px -4px 0 0 rgba(21, 111, 215, 0.7),
                6px 0 0 0 rgba(21, 111, 215, 1),
                4px 4px 0 0 rgba(21, 111, 215, 0.7),
                0 6px 0 0 rgba(21, 111, 215, 0.1),
                -4px 4px 0 0 rgba(21, 111, 215, 0.1),
                -6px 0 0 0 rgba(21, 111, 215, 0.1),
                -4px -4px 0 0 rgba(21, 111, 215, 0.1);
    }
    37.5% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.1),
                4px -4px 0 0 rgba(21, 111, 215, 0.1),
                6px 0 0 0 rgba(21, 111, 215, 0.7),
                4px 4px 0 0 rgba(21, 111, 215, 1),
                0 6px 0 0 rgba(21, 111, 215, 0.7),
                -4px 4px 0 0 rgba(21, 111, 215, 0.1),
                -6px 0 0 0 rgba(21, 111, 215, 0.1),
                -4px -4px 0 0 rgba(21, 111, 215, 0.1);
    }
    50% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.1),
                4px -4px 0 0 rgba(21, 111, 215, 0.1),
                6px 0 0 0 rgba(21, 111, 215, 0.1),
                4px 4px 0 0 rgba(21, 111, 215, 0.7),
                0 6px 0 0 rgba(21, 111, 215, 1),
                -4px 4px 0 0 rgba(21, 111, 215, 0.7),
                -6px 0 0 0 rgba(21, 111, 215, 0.1),
                -4px -4px 0 0 rgba(21, 111, 215, 0.1);
    }
    62.5% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.1),
                4px -4px 0 0 rgba(21, 111, 215, 0.1),
                6px 0 0 0 rgba(21, 111, 215, 0.1),
                4px 4px 0 0 rgba(21, 111, 215, 0.1),
                0 6px 0 0 rgba(21, 111, 215, 0.7),
                -4px 4px 0 0 rgba(21, 111, 215, 1),
                -6px 0 0 0 rgba(21, 111, 215, 0.7),
                -4px -4px 0 0 rgba(21, 111, 215, 0.1);
    }
    75% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.1),
                4px -4px 0 0 rgba(21, 111, 215, 0.1),
                6px 0 0 0 rgba(21, 111, 215, 0.1),
                4px 4px 0 0 rgba(21, 111, 215, 0.1),
                0 6px 0 0 rgba(21, 111, 215, 0.1),
                -4px 4px 0 0 rgba(21, 111, 215, 0.7),
                -6px 0 0 0 rgba(21, 111, 215, 1),
                -4px -4px 0 0 rgba(21, 111, 215, 0.7);
    }
    87.5% {
        box-shadow:
                0 -6px 0 0 rgba(21, 111, 215, 0.7),
                4px -4px 0 0 rgba(21, 111, 215, 0.1),
                6px 0 0 0 rgba(21, 111, 215, 0.1),
                4px 4px 0 0 rgba(21, 111, 215, 0.1),
                0 6px 0 0 rgba(21, 111, 215, 0.1),
                -4px 4px 0 0 rgba(21, 111, 215, 0.7),
                -6px 0 0 0 rgba(21, 111, 215, 0.7),
                -4px -4px 0 0 rgba(21, 111, 215, 1);
    }
}


/* Checkmark */
.checkmark-small__circle {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #156fd7;
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark-small {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: block; /* Changed to inline-block for better label integration */
    stroke-width: 2;
    stroke: #fff;
    stroke-miterlimit: 10;
    vertical-align: middle; /* Aligns with text */
    box-shadow: inset 0px 0px 0px #156fd7;
    animation: fill-check 0.4s ease-in-out 0.4s forwards,
    scale 0.3s ease-in-out 0.9s both;
    position: absolute;
    left: calc(50% - 8px);
    bottom: -8px;
}

.checkmark-small__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 20;
    stroke-dashoffset: 20;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

/* Error Mark */
.error-mark-small__circle {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #d71515;
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.error-mark-small {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #fff;
    stroke-miterlimit: 10;
    vertical-align: middle;
    box-shadow: inset 0px 0px 0px #d71515;
    animation: fill-error 0.4s ease-in-out 0.4s forwards,
    scale 0.3s ease-in-out 0.9s both;
    position: absolute;
    left: calc(50% - 8px);
    bottom: -8px;
}

.error-mark-small__x {
    transform-origin: 50% 50%;
    stroke-dasharray: 28;
    stroke-dashoffset: 28;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

@keyframes stroke {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes scale {
    0%,
    100% {
        transform: none;
    }
    50% {
        transform: scale3d(1.1, 1.1, 1);
    }
}

@keyframes fill-check {
    100% {
        box-shadow: inset 0px 0px 0px 8px #156fd7;
    }
}

@keyframes fill-error {
    100% {
        box-shadow: inset 0px 0px 0px 8px #d71515;
    }
}