.store-topbar{
    justify-content:space-between;
}

.brand-link,
.cart-link{
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.cart-count{
    display:inline-grid;
    place-items:center;
    min-width:22px;
    height:22px;
    margin-left:6px;
    padding:0 6px;
    border-radius:999px;
    background:#d7b46a;
    color:#111;
    font-size:12px;
}

.product-page{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:60px 0 90px;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
}

.product-gallery{
    min-width:0;
}

.main-product-image{
    width:100%;
    display:block;
    aspect-ratio:1 / 1;
    object-fit:contain;
    border-radius:20px;
    background:#111;
}

.gallery-thumbs{
    display:flex;
    gap:10px;
    margin-top:14px;
    flex-wrap:wrap;
}

.thumb-button{
    appearance:none;
    border:1px solid #333;
    background:#141414;
    color:#ccc;
    border-radius:9px;
    padding:9px 15px;
    cursor:pointer;
}

.thumb-button:hover{
    border-color:#d7b46a;
    color:#fff;
}

.product-details{
    padding-top:10px;
}

.product-details h1{
    font-size:44px;
    line-height:1.05;
    letter-spacing:-.035em;
    margin-bottom:20px;
}

.product-description{
    color:#aaa;
    line-height:1.7;
    font-size:17px;
}

.price-line{
    margin:28px 0;
    font-size:17px;
    color:#999;
}

.price-line strong{
    margin-left:8px;
    color:#fff;
    font-size:27px;
}

.option-group{
    margin-bottom:18px;
}

.option-group label,
.quantity-row label{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    color:#c7c7c7;
    font-weight:700;
}

select{
    width:100%;
    min-height:48px;
    padding:0 14px;
    border:1px solid #333;
    border-radius:10px;
    background:#101010;
    color:#fff;
    font:inherit;
}

.selected-price{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
    margin:6px 0 18px;
    border-top:1px solid #2a2a2a;
    border-bottom:1px solid #2a2a2a;
    color:#aaa;
}

.selected-price strong{
    color:#fff;
    font-size:22px;
}

.quantity-row{
    width:130px;
    margin-bottom:20px;
}

.add-cart-button{
    width:100%;
    min-height:54px;
    border:0;
    border-radius:10px;
    background:#d7b46a;
    color:#111;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
}

.add-cart-button:disabled{
    opacity:.35;
    cursor:not-allowed;
}

.fulfillment-note{
    margin-top:20px;
    color:#777;
    line-height:1.6;
    font-size:13px;
}

.cart-page{
    width:min(900px,calc(100% - 40px));
    margin:0 auto;
    padding:60px 0 100px;
}

.cart-page h1{
    font-size:44px;
}

.cart-items{
    border-top:1px solid #282828;
}

.cart-item{
    display:flex;
    justify-content:space-between;
    gap:30px;
    padding:24px 0;
    border-bottom:1px solid #282828;
}

.cart-item h2{
    font-size:18px;
    margin-bottom:8px;
}

.cart-item p{
    margin:3px 0;
    color:#888;
}

.cart-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:26px 0;
    font-size:19px;
}

.cart-total strong{
    font-size:26px;
}

.checkout-placeholder{
    width:100%;
    min-height:54px;
    border:0;
    border-radius:10px;
    background:#333;
    color:#777;
    font-weight:800;
}

.empty-cart{
    padding:40px;
    border:1px solid #282828;
    border-radius:16px;
}

.empty-cart a{
    color:#d7b46a;
}

@media(max-width:800px){
    .product-page{
        grid-template-columns:1fr;
        gap:35px;
    }

    .product-details h1{
        font-size:36px;
    }
}

/* BFC REAL PRINTFUL GALLERY V3 */

.thumb-button.active-thumb{
    border-color:#d7b46a;
    background:#221d14;
    color:#fff;
}

.thumb-button[hidden]{
    display:none !important;
}

.main-product-image{
    transition:opacity .15s ease;
}

/* BFC PRINTFUL GALLERY V4 */

.thumb-button[hidden]{
    display:none !important;
}

.thumb-button.active-thumb{
    border-color:#d7b46a;
    background:#282115;
    color:#fff;
}

/* BFC FIVE PRODUCT STORE V5 */

.product-image-link{
    display:block;
}

.cart-item-image{
    width:95px;
    height:95px;
    flex:0 0 95px;
    object-fit:contain;
    border-radius:10px;
    background:#111;
}

.cart-item-info{
    flex:1;
}

.cart-line-price{
    white-space:nowrap;
    align-self:center;
}

.mini-mark{
    display:inline-grid;
    place-items:center;
    width:30px;
    height:30px;
    margin-right:9px;
    border:1px solid #d7b46a;
    border-radius:8px;
    color:#d7b46a;
    font-size:10px;
}

.brand-link{
    display:flex;
    align-items:center;
}

.brand-link small{
    display:block;
    color:#d7b46a;
    font-size:7px;
    letter-spacing:.12em;
}


/* =========================================================
   BFC STORE BRANDING + ORDER CONFIRMATION V1
   ========================================================= */

.bfc-branded-topbar {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.bfc-store-brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: inherit;
    text-decoration: none;
}

.bfc-store-brand:hover {
    text-decoration: none;
}

.bfc-store-logo {
    display: block;
    width: 50px;
    height: 58px;
    object-fit: contain;
    flex: 0 0 auto;
}

.bfc-store-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.bfc-store-brand-text small {
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    opacity: .74;
}

.bfc-store-brand-text strong {
    font-size: 18px;
    font-weight: 800;
}

.bfc-back-label {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
    color: #d7b46a;
}

.bfc-header-action,
.bfc-header-context {
    flex: 0 0 auto;
}

.bfc-header-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.bfc-header-context {
    font-size: 14px;
    font-weight: 700;
    opacity: .85;
}


/* ORDER CONFIRMATION */

.bfc-confirmation-page {
    width: min(820px, calc(100% - 32px));
    margin: 48px auto 80px;
}

.bfc-confirmation-hero {
    text-align: center;
    margin-bottom: 30px;
}

.bfc-confirmation-logo {
    display: block;
    width: 92px;
    height: 106px;
    object-fit: contain;
    margin: 0 auto 15px;
}

.bfc-confirmation-hero h1 {
    margin-top: 8px;
    margin-bottom: 12px;
}

.bfc-confirmation-message {
    max-width: 660px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.6;
    opacity: .9;
}

.bfc-order-card {
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}

.bfc-order-card-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    padding: 24px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.bfc-order-card-heading h2 {
    margin: 4px 0 0;
}

.bfc-reference {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: right;
}

.bfc-reference span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .65;
}

.bfc-reference strong {
    color: #d7b46a;
    font-size: 17px;
}

.bfc-reference-alone {
    max-width: 360px;
    margin: 28px auto;
    text-align: center;
}

.bfc-confirmation-items {
    padding: 0 24px;
}

.bfc-confirmation-item {
    display: grid;
    grid-template-columns: 100px minmax(0,1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.bfc-confirmation-item:last-child {
    border-bottom: 0;
}

.bfc-confirmation-item-image {
    width: 100px;
    height: 100px;
    display: block;
    object-fit: contain;
    border-radius: 10px;
    background: #fff;
}

.bfc-confirmation-item-info h3 {
    margin: 0 0 8px;
    font-size: 18px;
}

.bfc-item-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bfc-item-options span {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    font-size: 12px;
    opacity: .84;
}

.bfc-confirmation-line-price {
    padding-left: 10px;
    white-space: nowrap;
    font-size: 17px;
}

.bfc-confirmation-totals {
    margin-left: auto;
    width: min(100%, 370px);
    padding: 18px 24px 24px;
    border-top: 1px solid rgba(255,255,255,.1);
}

.bfc-confirmation-totals > div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 7px 0;
}

.bfc-confirmation-totals span {
    opacity: .72;
}

.bfc-confirmation-grand-total {
    margin-top: 6px;
    padding-top: 15px !important;
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: 20px;
}

.bfc-confirmation-grand-total span,
.bfc-confirmation-grand-total strong {
    opacity: 1;
}

.bfc-confirmation-grand-total strong {
    color: #d7b46a;
}

.bfc-confirmation-actions {
    margin-top: 30px;
    text-align: center;
}

.bfc-return-store-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 8px;
    background: #d7b46a;
    color: #111;
    font-weight: 800;
    text-decoration: none;
}

.bfc-return-store-button:hover {
    text-decoration: none;
    filter: brightness(1.06);
}

.bfc-mission-footer {
    max-width: 600px;
    margin: 25px auto 0;
    text-align: center;
    font-size: 13px;
    line-height: 1.6;
    opacity: .62;
}


/* MOBILE */

@media (max-width: 650px) {

    .bfc-branded-topbar {
        min-height: 72px;
        gap: 10px;
    }

    .bfc-store-logo {
        width: 40px;
        height: 46px;
    }

    .bfc-store-brand-text small {
        font-size: 8px;
    }

    .bfc-store-brand-text strong {
        font-size: 15px;
    }

    .bfc-back-label {
        font-size: 11px;
    }

    .bfc-header-context {
        font-size: 11px;
        text-align: right;
    }

    .bfc-confirmation-page {
        margin-top: 30px;
    }

    .bfc-confirmation-logo {
        width: 75px;
        height: 87px;
    }

    .bfc-order-card-heading {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px;
    }

    .bfc-reference {
        text-align: left;
    }

    .bfc-confirmation-items {
        padding: 0 18px;
    }

    .bfc-confirmation-item {
        grid-template-columns: 80px minmax(0,1fr);
        gap: 14px;
    }

    .bfc-confirmation-item-image {
        width: 80px;
        height: 80px;
    }

    .bfc-confirmation-line-price {
        grid-column: 2;
        padding-left: 0;
    }

    .bfc-confirmation-totals {
        width: 100%;
        box-sizing: border-box;
        padding: 18px;
    }

}



/* =========================================================
   BFC GOLD LOGO DISPLAY V2
   ========================================================= */

.bfc-store-logo {
    width: 58px;
    height: 58px;
    object-fit: contain;
    object-position: center;
}

.bfc-confirmation-logo {
    width: 118px;
    height: 118px;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 650px) {

    .bfc-store-logo {
        width: 46px;
        height: 46px;
    }

    .bfc-confirmation-logo {
        width: 96px;
        height: 96px;
    }

}



/* =========================================================
   BFC HEADER REFINEMENT V3
   ========================================================= */

.bfc-store-logo {
    width: 66px;
    height: 66px;
    object-fit: contain;
}

.bfc-store-brand {
    gap: 15px;
}

.bfc-store-brand-text strong {
    font-size: 19px;
}

.bfc-back-label {
    margin-top: 6px;
    font-size: 12px;
}

@media (max-width: 650px) {

    .bfc-store-logo {
        width: 52px;
        height: 52px;
    }

    .bfc-store-brand {
        gap: 10px;
    }

    .bfc-store-brand-text strong {
        font-size: 16px;
    }

}



/* =========================================================
   BFC CLEAN STOREFRONT V4
   PRODUCT-FIRST HOME PAGE
   ========================================================= */

.store-main {
    display: block !important;
    padding-top: 42px;
    padding-bottom: 60px;
}

.collection-heading {
    display: none !important;
}

.product-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 900px) {

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 600px) {

    .store-main {
        padding-top: 24px;
    }

    .product-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

}



/* =========================================================
   BFC TRADEMARK FOOTER V1
   ========================================================= */

.bfc-legal-footer {
    margin-top: 48px;
    padding: 28px 0 34px;
    border-top: 1px solid rgba(255,255,255,.10);
    text-align: center;
    font-size: 12px;
    line-height: 1.6;
    opacity: .72;
}

.bfc-legal-footer p {
    margin: 3px 0;
}

.bfc-legal-footer strong {
    color: #d7b46a;
    font-size: 13px;
}

.bfc-trademark-line {
    font-size: 11px;
    opacity: .8;
}

@media (max-width: 650px) {

    .bfc-legal-footer {
        margin-top: 34px;
        padding: 22px 18px 28px;
    }

}



/* =========================================================
   BFC CART VISIBILITY V1
   ========================================================= */

.cart-link,
.bfc-header-action {
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    opacity: 1 !important;
}

.cart-link:hover,
.bfc-header-action:hover {
    color: #d7b46a !important;
    text-decoration: none;
}

.cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    margin-left: 6px;
    border-radius: 999px;
    background: #d7b46a;
    color: #111;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 650px) {

    .cart-link,
    .bfc-header-action {
        font-size: 14px;
    }

}



/* =========================================================
   BFC MAIN SITE LINK V1
   ========================================================= */

.bfc-main-site-link {
    margin-top: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #d7b46a;
    letter-spacing: .01em;
}

.bfc-store-brand:hover .bfc-main-site-link {
    color: #ffffff;
}

@media (max-width: 650px) {

    .bfc-main-site-link {
        font-size: 10px;
    }

}



/* =========================================================
   BFC MAIN SITE LINK V2
   ========================================================= */

.bfc-main-site-link-v2 {
    display: block;
    margin-top: 7px;
    color: #d7b46a;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    opacity: 1;
}

.bfc-store-brand:hover .bfc-main-site-link-v2 {
    color: #ffffff;
}

@media (max-width: 650px) {

    .bfc-main-site-link-v2 {
        margin-top: 5px;
        font-size: 10px;
    }

}



/* =========================================================
   BFC CENTERED STORE HEADER V1
   ========================================================= */

.bfc-centered-store-header {
    position: relative;
    min-height: 88px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
}

.bfc-header-left {
    justify-self: start;
}

.bfc-header-center {
    justify-self: center;
}

.bfc-header-right {
    justify-self: end;
}

.bfc-main-home-link {
    display: inline-flex;
    align-items: center;
    color: #d7b46a;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.bfc-main-home-link:hover {
    color: #ffffff;
    text-decoration: none;
}

.bfc-centered-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #ffffff;
    text-decoration: none;
}

.bfc-centered-brand:hover {
    text-decoration: none;
}

.bfc-centered-logo {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.bfc-centered-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
    text-align: left;
}

.bfc-centered-brand-text small {
    margin-bottom: 4px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.bfc-centered-brand-text strong {
    color: #ffffff;
    font-size: 21px;
    font-weight: 800;
}

.bfc-cart-prominent {
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 800;
}

.bfc-cart-prominent:hover {
    color: #d7b46a !important;
}


/* TABLET */

@media (max-width: 900px) {

    .bfc-centered-store-header {
        grid-template-columns: auto 1fr auto;
        gap: 14px;
    }

    .bfc-main-home-link {
        font-size: 13px;
    }

    .bfc-centered-logo {
        width: 54px;
        height: 54px;
    }

    .bfc-centered-brand-text strong {
        font-size: 18px;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .bfc-centered-store-header {
        min-height: 118px;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "back cart"
            "brand brand";
        row-gap: 10px;
        padding-top: 10px;
        padding-bottom: 12px;
    }

    .bfc-header-left {
        grid-area: back;
        justify-self: start;
    }

    .bfc-header-right {
        grid-area: cart;
        justify-self: end;
    }

    .bfc-header-center {
        grid-area: brand;
        justify-self: center;
    }

    .bfc-main-home-link {
        font-size: 12px;
    }

    .bfc-centered-logo {
        width: 50px;
        height: 50px;
    }

    .bfc-centered-brand-text small {
        font-size: 8px;
    }

    .bfc-centered-brand-text strong {
        font-size: 17px;
    }

}



/* =========================================================
   BFC CLICKABLE PRODUCT CARDS V1
   ========================================================= */

.product-card-link {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.product-card-link:hover {
    transform: translateY(-4px);
    border-color: rgba(215,180,106,.55);
    box-shadow: 0 14px 28px rgba(0,0,0,.28);
    text-decoration: none;
}

.product-card-link:focus-visible {
    outline: 2px solid #d7b46a;
    outline-offset: 3px;
}

.product-card-link .product-card-image {
    transition: transform .22s ease;
}

.product-card-link:hover .product-card-image {
    transform: scale(1.018);
}

.product-card-link .product-body {
    padding-top: 18px;
    padding-bottom: 20px;
}

.product-card-link .product-body h3 {
    margin-bottom: 10px;
}

.product-card-cta {
    display: inline-block;
    margin-top: auto;
    padding-top: 14px;
    color: #d7b46a;
    font-size: 12px;
    font-weight: 800;
}

.product-card-link:hover .product-card-cta {
    color: #ffffff;
}

.product-grid {
    gap: 18px !important;
}

@media (max-width: 650px) {

    .product-card-link:hover {
        transform: none;
    }

}



/* =========================================================
   BFC CART HEADER + CHECKOUT BUTTON V2
   ========================================================= */

.bfc-cart-page-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
}


/* SECURE CHECKOUT CTA */

.cart-total a,
.cart-page a[href="/store/checkout.php"],
a.secure-checkout,
.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 58px !important;

    padding: 0 24px !important;

    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 10px !important;

    background: linear-gradient(
        180deg,
        #e1bd68 0%,
        #cda44e 100%
    ) !important;

    color: #111111 !important;

    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    text-align: center !important;
    text-decoration: none !important;

    opacity: 1 !important;

    box-shadow:
        0 8px 20px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.25);

    transition:
        transform .15s ease,
        filter .15s ease,
        box-shadow .15s ease;
}

.cart-total a:hover,
.cart-page a[href="/store/checkout.php"]:hover,
a.secure-checkout:hover,
.checkout-button:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);

    box-shadow:
        0 10px 24px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.28);

    text-decoration: none !important;
}

.cart-total a:focus-visible,
.cart-page a[href="/store/checkout.php"]:focus-visible,
a.secure-checkout:focus-visible,
.checkout-button:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

@media (max-width: 650px) {

    .bfc-cart-page-label {
        font-size: 13px;
    }

    .cart-total a,
    .cart-page a[href="/store/checkout.php"],
    a.secure-checkout,
    .checkout-button {
        min-height: 54px !important;
        font-size: 16px !important;
    }

}



/* =========================================================
   BFC REMOVE FROM CART V1
   ========================================================= */

.bfc-remove-cart-form {
    margin: 8px 0 0;
}

.bfc-remove-cart-button {
    appearance: none;
    border: 1px solid rgba(215,180,106,.65);
    border-radius: 7px;
    background: transparent;
    color: #d7b46a;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition:
        background .15s ease,
        color .15s ease,
        border-color .15s ease;
}

.bfc-remove-cart-button:hover {
    background: #d7b46a;
    color: #111;
    border-color: #d7b46a;
}



/* =========================================================
   BFC STORE TAN BACKGROUND V1
   Shared visual language with Brothers for Christ
   and Family Voice Ministries.
   ========================================================= */

html {
    background: #F3EBDD;
}

body {
    background: #F3EBDD !important;
    color: #0f172a;
}


/* Keep the store header dark */
.site-header {
    background: #0b0b0b !important;
    color: #ffffff;
}


/* Main page areas */
main,
.store-main,
.product-page,
.cart-page,
.checkout-page,
.bfc-confirmation-page {
    background: transparent !important;
}


/* Product cards remain dark */
.product-card {
    background: #111111 !important;
    color: #ffffff !important;
}


/* Product detail areas */
.product-info,
.product-details,
.product-panel {
    color: #0f172a;
}


/* Cart rows / order panels */
.cart-row,
.cart-item,
.cart-total,
.bfc-order-card {
    background: rgba(255,255,255,.58);
    color: #0f172a;
    border-color: rgba(15,23,42,.12);
}


/* Confirmation page text */
.bfc-confirmation-hero h1,
.bfc-confirmation-message,
.bfc-order-card-heading h2,
.bfc-confirmation-item-info h3,
.bfc-confirmation-totals,
.bfc-mission-footer {
    color: #0f172a;
}


/* Order confirmation item option pills */
.bfc-item-options span {
    background: rgba(15,23,42,.08);
    color: #334155;
}


/* Footer should blend into tan page */
.bfc-legal-footer {
    background: transparent !important;
    border-top-color: rgba(15,23,42,.14);
    color: #334155;
}


/* Preserve gold accents */
.bfc-legal-footer strong,
.bfc-trademark-line,
.bfc-main-home-link,
.bfc-back-label,
.product-card-cta,
.eyebrow {
    color: #b88422;
}


/* Cart / product headings */
h1,
h2,
h3 {
    color: #0f172a;
}


/* Product cards override heading color */
.product-card h1,
.product-card h2,
.product-card h3 {
    color: #ffffff !important;
}


/* Product page price */
.product-price,
.price,
.cart-line-price {
    color: #0f172a !important;
}


/* Subtle tan section depth */
.bfc-order-card,
.cart-page,
.checkout-page {
    box-shadow: none;
}


/* Mobile keeps same palette */
@media (max-width: 650px) {

    body {
        background: #F3EBDD !important;
    }

}



/* =========================================================
   BFC TAN TEXT + CART CHECKOUT FIX V2
   ========================================================= */


/* ---------------------------------------------------------
   PRODUCT PAGE
   Make all secondary text readable on the tan background.
   --------------------------------------------------------- */

.product-page,
.product-page label,
.product-page p,
.product-page .product-description,
.product-page .product-meta,
.product-page .variant-label,
.product-page .quantity-label,
.product-page .product-note,
.product-page .product-footnote {
    color: #475569 !important;
}

.product-page h1,
.product-page h2,
.product-page h3,
.product-page .product-title {
    color: #0f172a !important;
}

.product-page .product-price,
.product-page .price,
.product-page .selected-price {
    color: #0f172a !important;
}

.product-page .product-price span,
.product-page .price span {
    color: #64748b !important;
}


/* Catch existing lighter utility classes used by the product page */

.product-page .text-white,
.product-page .text-gray-100,
.product-page .text-gray-200,
.product-page .text-gray-300,
.product-page .text-gray-400,
.product-page .text-slate-100,
.product-page .text-slate-200,
.product-page .text-slate-300,
.product-page .text-slate-400 {
    color: #475569 !important;
}


/* Keep controls dark */

.product-page select,
.product-page input,
.product-page option {
    color: #ffffff !important;
    background: #111111 !important;
}


/* Add-to-cart remains black text on gold */

.product-page button[type="submit"],
.product-page .add-to-cart,
.product-page .add-to-cart-button {
    color: #111111 !important;
}


/* ---------------------------------------------------------
   CART PAGE
   --------------------------------------------------------- */

.cart-page,
.cart-page p,
.cart-page span,
.cart-page label {
    color: #475569;
}

.cart-page h1,
.cart-page h2,
.cart-page h3,
.cart-page strong,
.cart-page .cart-line-price {
    color: #0f172a !important;
}


/* REMOVE button stays gold */

.cart-page .bfc-remove-cart-button {
    color: #b88422 !important;
}

.cart-page .bfc-remove-cart-button:hover {
    color: #111111 !important;
}


/* ---------------------------------------------------------
   SECURE CHECKOUT
   Override old vertical-alignment rules completely.
   --------------------------------------------------------- */

.cart-page .checkout-button,
.cart-page a.checkout-button,
.cart-page a[href="/store/checkout.php"],
.cart-page a[href^="/store/checkout.php"],
.cart-total .checkout-button,
.cart-total a[href^="/store/checkout.php"] {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    box-sizing: border-box !important;

    background: linear-gradient(
        180deg,
        #e1bd68 0%,
        #cda44e 100%
    ) !important;

    border: 0 !important;
    border-radius: 10px !important;

    color: #111111 !important;

    font-size: 18px !important;
    font-weight: 900 !important;

    line-height: 58px !important;

    text-align: center !important;
    text-decoration: none !important;

    vertical-align: middle !important;

    opacity: 1 !important;

    overflow: hidden !important;
}


/*
 * This catches child spans or other elements that may
 * currently be inheriting the old top-aligned positioning.
 */

.cart-page .checkout-button *,
.cart-page a[href^="/store/checkout.php"] * {
    position: static !important;

    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #111111 !important;

    line-height: 1 !important;

    vertical-align: middle !important;
}


/* Hover */

.cart-page .checkout-button:hover,
.cart-page a[href^="/store/checkout.php"]:hover {
    filter: brightness(1.06);
    color: #111111 !important;
}


/* MOBILE */

@media (max-width: 650px) {

    .cart-page .checkout-button,
    .cart-page a[href="/store/checkout.php"],
    .cart-page a[href^="/store/checkout.php"] {

        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;

        line-height: 54px !important;

        font-size: 16px !important;
    }

}



/* =========================================================
   BFC PRODUCT PAGE TEXT CONTRAST V1
   Final dark-theme overrides
   ========================================================= */

/* Main product title */

.product-page .product-details h1,
.product-page .product-title {
    color: #ffffff !important;
}


/* Description and normal supporting text */

.product-page,
.product-page p,
.product-page .product-description,
.product-page .product-meta,
.product-page .product-note,
.product-page .product-footnote {
    color: #c7c7c7 !important;
}


/* Form labels */

.product-page label,
.product-page .variant-label,
.product-page .quantity-label {
    color: #ffffff !important;
    font-weight: 700 !important;
}


/* Main displayed prices */

.product-page .price-line,
.product-page .product-price,
.product-page .price,
.product-page .selected-price {
    color: #d0d0d0 !important;
}

.product-page .price-line strong,
.product-page .product-price strong,
.product-page .price strong,
.product-page .selected-price strong {
    color: #ffffff !important;
}


/* Secondary price text */

.product-page .product-price span,
.product-page .price span,
.product-page .selected-price span {
    color: #b8b8b8 !important;
}


/* Fulfillment / shipping note */

.product-page .fulfillment-note,
.product-page .fulfillment-note p {
    color: #a9a9a9 !important;
}


/* Keep the small brand/category eyebrow gold */

.product-page .eyebrow {
    color: #d7b46a !important;
}


/* Controls remain dark with readable white text */

.product-page select,
.product-page input,
.product-page option {
    color: #ffffff !important;
    background: #111111 !important;
}


/* Add to Cart remains high contrast */

.product-page .add-cart-button {
    color: #111111 !important;
    font-weight: 900 !important;
}



/* =========================================================
   BFC PRODUCT PAGE DARK TEXT FIX V2
   Product detail page uses a light background
   ========================================================= */

.product-page,
.product-page .product-details {
    color: #1f2937 !important;
}


/* Main product title */

.product-page .product-details h1,
.product-page .product-title {
    color: #111827 !important;
}


/* Description and supporting copy */

.product-page p,
.product-page .product-description,
.product-page .product-meta,
.product-page .product-note,
.product-page .product-footnote,
.product-page .fulfillment-note,
.product-page .fulfillment-note p {
    color: #64748b !important;
}


/* Price */

.product-page .price-line,
.product-page .product-price,
.product-page .price,
.product-page .selected-price {
    color: #111827 !important;
}

.product-page .price-line strong,
.product-page .product-price strong,
.product-page .price strong,
.product-page .selected-price strong {
    color: #111827 !important;
}

.product-page .product-price span,
.product-page .price span,
.product-page .selected-price span {
    color: #475569 !important;
}


/* Form labels */

.product-page label,
.product-page .variant-label,
.product-page .quantity-label {
    color: #334155 !important;
    font-weight: 700 !important;
}


/* Small category / brand eyebrow remains gold */

.product-page .eyebrow {
    color: #c59537 !important;
}


/* Keep controls dark */

.product-page select,
.product-page input,
.product-page option {
    color: #ffffff !important;
    background: #111111 !important;
}


/* Add to Cart */

.product-page .add-cart-button {
    color: #111111 !important;
    font-weight: 900 !important;
}



/* =========================================================
   BFC CART SPACING + REMOVE ALIGNMENT V2
   ========================================================= */


/* Main cart content spacing */

.cart-page,
.cart-container,
.cart-wrap {
    box-sizing: border-box !important;
}


/* Product row */

.cart-item,
.cart-row {
    position: relative !important;

    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    align-items: center !important;

    column-gap: 26px !important;

    padding: 24px 26px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
}


/* Product image */

.cart-item img,
.cart-row img {
    display: block !important;

    width: 96px !important;
    height: 96px !important;

    object-fit: contain !important;

    margin: 0 !important;

    border-radius: 10px !important;
}


/* Product description area */

.cart-item-details,
.cart-product-details,
.cart-item-info {
    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Product title */

.cart-item-details h2,
.cart-item-details h3,
.cart-product-details h2,
.cart-product-details h3,
.cart-item-info h2,
.cart-item-info h3 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}


/* Product metadata */

.cart-item-details p,
.cart-product-details p,
.cart-item-info p {
    margin: 2px 0 !important;
    line-height: 1.35 !important;
}


/* Price */

.cart-line-price {
    align-self: center !important;

    min-width: 90px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: right !important;

    font-size: 18px !important;
    font-weight: 800 !important;
}


/* Remove form */

.bfc-remove-cart-form {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Remove button */

.bfc-remove-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 84px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    border: 1px solid #cda44e !important;
    border-radius: 8px !important;

    background: transparent !important;
    color: #b17f1f !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    cursor: pointer !important;
}

.bfc-remove-cart-button:hover {
    background: #d7b46a !important;
    color: #111111 !important;
}


/* Subtotal section */

.cart-subtotal,
.cart-total,
.cart-summary {
    box-sizing: border-box !important;

    margin-top: 0 !important;
    padding: 26px !important;
}


/* Give subtotal label/value breathing room */

.cart-subtotal,
.cart-summary-row {
    min-height: 72px !important;
    align-items: center !important;
}


/* Checkout CTA spacing */

.checkout-button,
.cart-page a[href*="checkout.php"],
.cart-total a[href*="checkout.php"] {
    margin-top: 18px !important;
    margin-bottom: 26px !important;

    min-height: 58px !important;

    border-radius: 10px !important;
}


/* Overall cart vertical spacing */

.cart-page h1,
.cart-container h1 {
    margin-bottom: 20px !important;
}

.cart-page {
    padding-top: 34px !important;
    padding-bottom: 50px !important;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .cart-item,
    .cart-row {
        grid-template-columns: 78px minmax(0, 1fr) auto !important;

        column-gap: 14px !important;
        row-gap: 14px !important;

        padding: 18px 16px !important;
    }

    .cart-item img,
    .cart-row img {
        width: 78px !important;
        height: 78px !important;
    }

    .cart-line-price {
        min-width: 70px !important;

        font-size: 16px !important;
    }

    .bfc-remove-cart-form {
        grid-column: 2 / 4 !important;

        justify-self: end !important;
    }

    .bfc-remove-cart-button {
        min-width: 82px !important;
        height: 38px !important;
    }

    .cart-subtotal,
    .cart-total,
    .cart-summary {
        padding: 20px 16px !important;
    }

    .checkout-button,
    .cart-page a[href*="checkout.php"],
    .cart-total a[href*="checkout.php"] {
        margin-top: 14px !important;
        margin-bottom: 20px !important;
    }

}



/* =========================================================
   BFC COMPACT STORE FOOTER V2
   ========================================================= */

/*
 * Hide the older generic store footer.
 * Keep only our trademark/legal footer.
 */
footer:not(.bfc-legal-footer) {
    display: none !important;
}


/*
 * Compact legal footer.
 */
.bfc-legal-footer {
    margin-top: 28px !important;

    padding: 16px 0 18px !important;

    min-height: 0 !important;

    border-top: 1px solid rgba(15,23,42,.16) !important;

    text-align: left !important;

    font-size: 11px !important;
    line-height: 1.45 !important;

    opacity: 1 !important;
}


/*
 * Put all footer information on one clean line
 * where screen width permits.
 */
.bfc-legal-footer .wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex-wrap: wrap !important;

    gap: 8px 18px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/*
 * Remove paragraph-generated vertical spacing.
 */
.bfc-legal-footer p {
    margin: 0 !important;
    padding: 0 !important;
}


/*
 * Brothers for Christ trademark name.
 */
.bfc-legal-footer strong {
    color: #b98b37 !important;

    font-size: 11px !important;
    font-weight: 800 !important;
}


/*
 * Legal line.
 */
.bfc-trademark-line {
    font-size: 10px !important;

    color: #8a7350 !important;

    opacity: .85 !important;
}


/* MOBILE */

@media (max-width: 650px) {

    .bfc-legal-footer {
        margin-top: 22px !important;

        padding: 14px 16px 16px !important;
    }

    .bfc-legal-footer .wrap {
        gap: 5px 12px !important;
    }

    .bfc-legal-footer p,
    .bfc-legal-footer strong {
        font-size: 10px !important;
    }

    .bfc-trademark-line {
        width: 100% !important;
        font-size: 9px !important;
    }

}



/* =========================================================
   BFC SHIRT FRONT + BACK DUAL VIEW V2
   ========================================================= */


/* STOREFRONT */

.product-card-dual-link {
    display: block;
    background: #ffffff;
    text-decoration: none;
}

.product-card-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;

    background: #d8d8d8;
}

.product-card-side {
    position: relative;

    margin: 0;

    overflow: hidden;

    background: #ffffff;
}

.product-card-side img {
    display: block;

    width: 100%;
    aspect-ratio: 1 / 1;

    object-fit: contain;

    background: #ffffff;
}

.product-card-side-label {
    position: absolute;
    z-index: 2;

    left: 7px;
    bottom: 7px;

    padding: 5px 8px;

    border-radius: 999px;

    background: rgba(11,11,11,.82);
    color: #ffffff;

    font-size: 8px;
    font-weight: 900;
    line-height: 1;

    letter-spacing: .08em;
    text-transform: uppercase;
}


/* PRODUCT PAGE */

.shirt-dual-view {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 12px;

    width: 100%;
}

.shirt-dual-side {
    position: relative;

    margin: 0;

    overflow: hidden;

    border: 1px solid rgba(15,23,42,.16);
    border-radius: 16px;

    background: #ffffff;
}

.shirt-dual-side img {
    display: block;

    width: 100%;
    aspect-ratio: 1 / 1;

    object-fit: contain;

    background: #ffffff;
}

.shirt-side-label {
    position: absolute;
    z-index: 2;

    top: 10px;
    left: 10px;

    padding: 6px 10px;

    border-radius: 999px;

    background: rgba(11,11,11,.84);
    color: #ffffff;

    font-size: 9px;
    font-weight: 900;
    line-height: 1;

    letter-spacing: .10em;
    text-transform: uppercase;
}


/* MOBILE */

@media (max-width: 600px) {

    .shirt-dual-view {
        gap: 6px;
    }

    .shirt-dual-side {
        border-radius: 10px;
    }

    .shirt-side-label {
        top: 6px;
        left: 6px;

        padding: 5px 7px;

        font-size: 7px;
    }

    .product-card-side-label {
        left: 5px;
        bottom: 5px;

        padding: 4px 6px;

        font-size: 7px;
    }

}



/* =========================================================
   BFC STORE IMAGE LIGHTBOX V1
   ========================================================= */

.bfc-single-image-wrap,
.product-card-side,
.shirt-dual-side,
.product-image-link {
    position: relative;
}


/* Zoom control */

.bfc-image-zoom {
    position: absolute;
    right: 10px;
    bottom: 10px;

    z-index: 5;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 58px;
    height: 34px;

    padding: 0 11px;

    border: 1px solid rgba(215,180,106,.8);
    border-radius: 999px;

    background: rgba(11,11,11,.82);
    color: #ffffff;

    font-size: 10px;
    font-weight: 900;
    line-height: 1;

    cursor: zoom-in;

    box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

.bfc-image-zoom:hover {
    background: #d7b46a;
    color: #111111;
}

.bfc-image-zoom-small {
    min-width: 50px;
    height: 30px;

    right: 6px;
    bottom: 6px;

    font-size: 9px;
}


/* Lightbox */

.bfc-image-lightbox {
    position: fixed;
    inset: 0;

    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 36px;

    background: rgba(0,0,0,.90);

    cursor: zoom-out;
}

.bfc-image-lightbox[hidden] {
    display: none !important;
}

.bfc-image-lightbox img {
    display: block;

    max-width: min(94vw, 1400px);
    max-height: 90vh;

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 24px 70px rgba(0,0,0,.45);
}

.bfc-image-lightbox-close {
    position: fixed;

    top: 20px;
    right: 24px;

    z-index: 100000;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;

    background: rgba(20,20,20,.9);
    color: #ffffff;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;
}

.bfc-image-lightbox-close:hover {
    background: #d7b46a;
    color: #111111;
}

body.bfc-lightbox-open {
    overflow: hidden;
}


/* MOBILE */

@media (max-width: 600px) {

    .bfc-image-lightbox {
        padding: 18px;
    }

    .bfc-image-lightbox-close {
        top: 10px;
        right: 10px;

        width: 40px;
        height: 40px;

        font-size: 26px;
    }

    .bfc-image-zoom {
        right: 7px;
        bottom: 7px;

        min-width: 48px;
        height: 30px;

        padding: 0 8px;

        font-size: 8px;
    }

}



/* =========================================================
   BFC SHIRT COLOR COUNT V1
   ========================================================= */

.shirt-color-count {
    display: inline-flex;
    align-items: center;

    margin-top: 7px;
    margin-bottom: 2px;

    padding: 5px 9px;

    border: 1px solid rgba(215,180,106,.35);
    border-radius: 999px;

    background: rgba(215,180,106,.08);

    color: #d7b46a;

    font-size: 10px;
    font-weight: 800;
    line-height: 1;

    letter-spacing: .03em;
}

@media (max-width: 600px) {

    .shirt-color-count {
        margin-top: 6px;

        padding: 4px 7px;

        font-size: 9px;
    }

}



/* =========================================================
   BFC SHIRT COLOR BADGE POP V3
   ========================================================= */

.shirt-color-count {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 10px;
    margin-bottom: 4px;

    padding: 7px 13px;

    border: 2px solid transparent;
    border-radius: 999px;

    background:
        linear-gradient(#111111, #111111) padding-box,
        linear-gradient(
            90deg,
            #d7b46a,
            #f4c84a,
            #e97b38,
            #d75a6a,
            #8f6bd8,
            #4fa3d8,
            #63b77b,
            #d7b46a
        ) border-box;

    color: #ffffff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1;

    letter-spacing: .04em;

    box-shadow:
        0 0 0 1px rgba(255,255,255,.04),
        0 4px 14px rgba(0,0,0,.28);

    white-space: nowrap;
}


/* Slight glow on hover */

.product-card:hover .shirt-color-count {
    box-shadow:
        0 0 0 1px rgba(255,255,255,.06),
        0 4px 18px rgba(0,0,0,.32),
        0 0 12px rgba(215,180,106,.18);
}


/* FRONT/BACK pills no longer used */

.product-card-side-label {
    display: none !important;
}


/* Keep zoom button clean and unobstructed */

.product-card-side .bfc-image-zoom {
    right: 8px !important;
    bottom: 8px !important;
}


/* MOBILE */

@media (max-width: 600px) {

    .shirt-color-count {
        margin-top: 8px;

        padding: 6px 10px;

        font-size: 9px;
    }

}



/* =========================================================
   BFC SUPPORT THE MISSION HEADING V1
   ========================================================= */

.bfc-store-mission-heading {
    width: 100%;

    margin: 8px 0 30px;

    text-align: center;
}

.bfc-store-mission-heading h1 {
    margin: 0;

    color: #111c31;

    font-family:
        "Arial Black",
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-size: clamp(34px, 4vw, 58px);
    font-weight: 900;

    line-height: .96;

    letter-spacing: -0.045em;

    text-transform: uppercase;
}

.bfc-store-mission-rule {
    width: 72px;
    height: 5px;

    margin: 14px auto 0;

    border-radius: 999px;

    background: #d7b46a;
}


/* MOBILE */

@media (max-width: 600px) {

    .bfc-store-mission-heading {
        margin-top: 4px;
        margin-bottom: 22px;
    }

    .bfc-store-mission-heading h1 {
        font-size: 32px;
        letter-spacing: -0.04em;
    }

    .bfc-store-mission-rule {
        width: 56px;
        height: 4px;
        margin-top: 10px;
    }

}



/* =========================================================
   BFC STICKY STORE HEADER V1
   ========================================================= */

.site-header {
    position: sticky !important;
    top: 0 !important;

    z-index: 9990 !important;

    width: 100% !important;

    background: #0b0b0b !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.08),
        0 6px 18px rgba(0,0,0,.16);
}


/*
 * Keep header content vertically centered while sticky.
 */
.bfc-centered-store-header {
    min-height: 86px;
}


/* Slightly tighter on mobile */

@media (max-width: 650px) {

    .bfc-centered-store-header {
        min-height: 68px;
    }

}



/* =========================================================
   BFC MISSION PROCEEDS TAGLINE V1
   ========================================================= */

.bfc-mission-proceeds-tagline {
    max-width: 760px;

    margin: 12px auto 0;
    padding: 0 20px;

    color: #536071;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;

    letter-spacing: .01em;

    text-align: center;
}

.bfc-mission-proceeds-tagline strong {
    color: #b48327;
    font-weight: 900;
}


/*
 * Move the gold rule slightly below the tagline.
 */

.bfc-store-mission-rule {
    margin-top: 13px !important;
}


/* MOBILE */

@media (max-width: 600px) {

    .bfc-mission-proceeds-tagline {
        max-width: 340px;

        margin-top: 9px;
        padding: 0 12px;

        font-size: 11px;
        line-height: 1.4;
    }

    .bfc-store-mission-rule {
        margin-top: 10px !important;
    }

}



/* =========================================================
   BFC UNIFORM PRODUCT CARDS V1
   ========================================================= */


/*
 * Every card uses the same overall structure.
 */
.product-card {
    display: flex !important;
    flex-direction: column !important;

    height: 100% !important;

    overflow: hidden !important;
}


/*
 * Give every product image the same visual height.
 *
 * Hats, mug, model shirts and front/back shirts all
 * occupy the same amount of vertical space.
 */
.product-card .product-image-link {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    height: 380px !important;

    flex: 0 0 380px !important;

    overflow: hidden !important;

    background: #ffffff !important;
}


/*
 * Standard single-image products:
 * hats, mug, Mark 8:38 and John 15:9.
 */
.product-card .product-card-image {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    background: #ffffff !important;
}


/* =========================================================
   FAMILY VOICE FRONT + BACK CARDS
   ========================================================= */


/*
 * Front/back wrapper fills exactly the same image area
 * as the model-mockup shirts.
 */
.product-card .product-card-dual {
    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    width: 100% !important;
    height: 100% !important;

    gap: 1px !important;

    background: #d7d7d7 !important;
}


/*
 * Each shirt side fills its half completely.
 */
.product-card .product-card-side {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #ffffff !important;
}


/*
 * Make those product-only shirt mockups larger.
 *
 * They currently have quite a bit of white space around
 * the garment. A modest scale-up makes them visually
 * comparable to the model photographs.
 */
.product-card .product-card-side img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    transform: scale(1.16) !important;
    transform-origin: center center !important;

    background: #ffffff !important;
}


/*
 * Keep hover from stacking another scale transform on top
 * of our sizing rule.
 */
.product-card-dual-link:hover
.product-card-side img {
    transform: scale(1.19) !important;
}


/* =========================================================
   CARD INFORMATION AREA
   ========================================================= */


/*
 * Make the dark lower portion consistent.
 *
 * This prevents a short product name from creating a much
 * shorter card than a two-line product name.
 */
.product-card .product-card-body,
.product-card .product-info,
.product-card .product-card-content {
    display: flex !important;
    flex-direction: column !important;

    flex: 1 1 auto !important;

    min-height: 175px !important;

    box-sizing: border-box !important;
}


/*
 * If the Shop link is the final element, push it toward
 * the bottom so cards align cleanly.
 */
.product-card .product-card-body > a:last-child,
.product-card .product-info > a:last-child,
.product-card .product-card-content > a:last-child {
    margin-top: auto !important;
}


/*
 * Keep the color badge and Shop link from feeling crowded.
 */
.product-card .shirt-color-count {
    margin-top: 12px !important;
    margin-right: 8px !important;
}


/*
 * Prevent Zoom from being clipped after the image resizing.
 */
.product-card .bfc-image-zoom {
    z-index: 20 !important;

    right: 10px !important;
    bottom: 10px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {

    .product-card .product-image-link {
        height: 330px !important;
        flex-basis: 330px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .product-card .product-image-link {
        height: 300px !important;
        flex-basis: 300px !important;
    }

    /*
     * Slightly less enlargement on a narrow phone.
     */
    .product-card .product-card-side img {
        transform: scale(1.10) !important;
    }

    .product-card-dual-link:hover
    .product-card-side img {
        transform: scale(1.10) !important;
    }

    .product-card .product-card-body,
    .product-card .product-info,
    .product-card .product-card-content {
        min-height: 160px !important;
    }

}



/* =========================================================
   BFC EPHESIANS 2:10 GALLERY V1
   ========================================================= */

.ephesians-thumb {
    min-width: 78px;
}

.ephesians-thumb.active-thumb {
    background: #d7b46a !important;
    color: #111111 !important;

    border-color: #d7b46a !important;

    font-weight: 900 !important;
}


/*
 * Give Right Sleeve enough room for its label.
 */
.ephesians-thumb:last-of-type {
    min-width: 112px;
}


/* MOBILE */

@media (max-width: 600px) {

    .ephesians-thumb {
        min-width: 66px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .ephesians-thumb:last-of-type {
        min-width: 96px;
    }

}

