/* ==========================================================================
   BestPinUp.art — Sitewide Stitch Vintage Theme Override
   Master CSS: Unified Header, Modern Catalog Grid, Responsive Layout
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&display=swap');

:root {
    --bp-bg: #FDF8F3;
    --bp-surface: #FFFFFF;
    --bp-surface-warm: #FAF4EE;
    --bp-surface-card: #FFFFFF;
    --bp-primary: #8E1616;
    --bp-primary-hover: #A91D3A;
    --bp-primary-dark: #6E1010;
    --bp-text: #1F1916;
    --bp-text-muted: #6B5E58;
    --bp-border: #E5DCD3;
    --bp-border-subtle: #EFE8E0;
    --bp-font-serif: 'Playfair Display', Georgia, serif;
    --bp-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --bp-shadow-sm: 0 2px 8px rgba(45, 36, 34, 0.05);
    --bp-shadow-md: 0 6px 18px rgba(45, 36, 34, 0.08);
    --bp-shadow-lg: 0 12px 28px rgba(142, 22, 22, 0.12);
}

/* 1. Global Reset & Body Background */
html {
    background-color: var(--bp-bg) !important;
    color: var(--bp-text) !important;
    font-family: var(--bp-font-sans) !important;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
    overflow-x: clip !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body {
    background-color: var(--bp-bg) !important;
    color: var(--bp-text) !important;
    font-family: var(--bp-font-sans) !important;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
    overflow-x: clip !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#tygh_container,
#tygh_main_container,
.ty-tygh,
.ty-helper-container {
    overflow-x: clip !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Material Symbols Icon Definition */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-size: 24px;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    -webkit-font-feature-settings: 'liga' !important;
    -webkit-font-smoothing: antialiased !important;
}

/* 2. Top Announcement Bar */
.bp-top-announcement-bar {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    text-align: center;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1001;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-top-announcement-bar a {
    color: #FFFFFF !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: opacity 0.2s;
    max-width: 100% !important;
}

.bp-top-announcement-bar a:hover {
    opacity: 0.92;
}

.bp-top-announcement-bar strong {
    color: #FDE047 !important;
}

@media (max-width: 768px) {
    .bp-top-announcement-bar {
        font-size: 11.5px !important;
        padding: 7px 10px !important;
        line-height: 1.35 !important;
    }
    .bp-top-announcement-bar a {
        display: block !important;
        white-space: normal !important;
        text-align: center !important;
        word-break: break-word !important;
    }
    .bp-top-announcement-bar .material-symbols-outlined {
        display: none !important;
    }
}

/* 3. Hide Legacy CS-Cart Header & Footer Grids */
.top-grid,
.header-grid,
.footer-grid,
.ty-footer-grid,
.ty-footer,
.bottom-grid,
.ty-tag-cloud,
.ty-tags,
.tags,
.ty-sidebox-important,
.ty-sidebox {
    display: none !important;
}

/* 4. Sitewide Unified Stitch Header */
.bp-stitch-header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(255, 251, 246, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid #E8DFD8;
    box-shadow: 0 4px 20px rgba(31, 25, 22, 0.06);
}

.bp-stitch-header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    .bp-stitch-header-inner {
        height: 74px;
        padding: 0 16px;
    }
}

.bp-stitch-logo-link {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
    flex-shrink: 0;
}

.bp-stitch-logo-img {
    height: 68px !important;
    max-height: 72px !important;
    width: auto !important;
    max-width: 280px !important;
    object-fit: contain !important;
    transition: transform 0.25s ease !important;
}

.bp-stitch-logo-img:hover {
    transform: scale(1.04) !important;
}

@media (max-width: 640px) {
    .bp-stitch-logo-img {
        height: 48px !important;
        max-height: 52px !important;
    }
}

.bp-stitch-nav {
    display: flex;
    align-items: center;
    gap: 28px;
    font-family: var(--bp-font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

@media (max-width: 991px) {
    .bp-stitch-nav {
        display: none;
    }
}

.bp-nav-link {
    color: #1F1916 !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
    padding: 6px 0;
    position: relative;
}

.bp-nav-link:hover,
.bp-nav-link.active {
    color: #8E1616 !important;
}

.bp-nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #8E1616;
    border-radius: 2px;
}

.bp-stitch-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bp-action-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--bp-font-sans);
    font-size: 13px;
    font-weight: 600;
    color: #1F1916 !important;
    text-decoration: none !important;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all 0.2s ease;
    background: transparent;
}

.bp-action-btn:hover {
    color: #8E1616 !important;
    background: #F4ECE4;
}

@media (max-width: 768px) {
    .bp-track-btn,
    .bp-action-btn .bp-btn-text {
        display: none !important;
    }
    .bp-action-btn {
        padding: 8px;
    }
}

.bp-cart-btn {
    position: relative;
}

.bp-cart-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: #8E1616;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 800;
    border-radius: 9999px;
    padding: 1px 5px;
    min-width: 16px;
    text-align: center;
    line-height: 14px;
}

.bp-cta-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-family: var(--bp-font-sans);
    font-size: 13px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(142, 22, 22, 0.25);
    transition: all 0.2s ease;
    flex-shrink: 0;
    white-space: nowrap;
}

.bp-cta-btn:hover {
    background: #6E1010 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(142, 22, 22, 0.35);
}

.bp-cta-text-full {
    display: inline !important;
}

.bp-cta-text-short {
    display: none !important;
}

@media (max-width: 768px) {
    .bp-stitch-header-inner {
        height: 64px !important;
        padding: 0 12px !important;
        gap: 8px !important;
    }
    .bp-stitch-logo-img {
        height: 38px !important;
        max-height: 40px !important;
    }
    .bp-stitch-actions {
        gap: 6px !important;
    }
    .bp-action-btn {
        padding: 6px !important;
    }
    .bp-cta-btn {
        padding: 7px 12px !important;
        font-size: 12px !important;
        border-radius: 9px !important;
    }
}

@media (max-width: 480px) {
    .bp-stitch-header-inner {
        height: 56px !important;
        padding: 0 8px !important;
        gap: 4px !important;
    }
    .bp-stitch-logo-img {
        height: 30px !important;
        max-height: 32px !important;
    }
    .bp-stitch-actions {
        gap: 4px !important;
    }
    .bp-action-btn {
        padding: 4px !important;
    }
    .bp-cta-btn {
        padding: 5px 8px !important;
        font-size: 11px !important;
        border-radius: 7px !important;
        gap: 3px !important;
    }
    /* On small mobile screens, show compact 'Start' */
    .bp-cta-text-full {
        display: none !important;
    }
    .bp-cta-text-short {
        display: inline !important;
    }
}

/* 4b. Mobile Menu Button & Slide-in Drawer */
.bp-mobile-menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    background: transparent;
    border: 1px solid #E8DFD8;
    border-radius: 10px;
    color: #1F1916;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.bp-mobile-menu-btn:hover {
    background: #FAF6F0;
    color: #8E1616;
    border-color: #D5C9BD;
}

.bp-mobile-menu-btn:active {
    transform: scale(0.95);
}

@media (max-width: 991px) {
    .bp-mobile-menu-btn {
        display: inline-flex !important;
    }
}

@media (max-width: 768px) {
    .bp-mobile-menu-btn {
        width: 34px !important;
        height: 34px !important;
        border-radius: 9px !important;
    }
}

@media (max-width: 480px) {
    .bp-mobile-menu-btn {
        width: 30px !important;
        height: 30px !important;
        border-radius: 8px !important;
    }
    .bp-mobile-menu-btn svg {
        width: 18px !important;
        height: 18px !important;
    }
}

/* Mobile Drawer Overlay */
.bp-mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 12, 10, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s ease;
}

.bp-mobile-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Mobile Drawer Container */
.bp-mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 320px;
    max-width: 85vw;
    height: 100vh;
    height: 100dvh;
    background: #FFFDF9;
    box-shadow: -10px 0 35px rgba(31, 25, 22, 0.2);
    z-index: 10001;
    transform: translateX(100%);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
}

.bp-mobile-drawer.is-open {
    transform: translateX(0);
}

body.bp-menu-lock-scroll {
    overflow: hidden !important;
    touch-action: none;
}

/* Drawer Header */
.bp-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #EFE8E1;
    background: #FAF6F0;
    flex-shrink: 0;
}

.bp-drawer-logo-img {
    height: 38px;
    width: auto;
    object-fit: contain;
}

.bp-drawer-close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #E8DFD8;
    color: #1F1916;
    cursor: pointer;
    transition: all 0.2s ease;
}

.bp-drawer-close-btn:hover {
    background: #8E1616;
    color: #FFFFFF;
    border-color: #8E1616;
}

/* Drawer Content Scrollable Area */
.bp-drawer-content {
    flex: 1;
    overflow-y: auto;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    -webkit-overflow-scrolling: touch;
}

.bp-drawer-nav-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bp-drawer-group-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9C8E82;
    padding: 0 10px 6px 10px;
}

.bp-drawer-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 12px;
    color: #1F1916 !important;
    text-decoration: none !important;
    font-size: 14.5px;
    font-weight: 600;
    transition: all 0.2s ease;
    background: transparent;
}

.bp-drawer-link:hover,
.bp-drawer-link:active {
    background: #FAF4ED;
    color: #8E1616 !important;
    transform: translateX(3px);
}

.bp-drawer-icon {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    width: 22px;
    text-align: center;
}

.bp-drawer-text {
    flex: 1;
}

.bp-drawer-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 6px;
    background: #F4ECE4;
    color: #7A6557;
}

.bp-drawer-badge.bp-badge-hot {
    background: #8E1616;
    color: #FFFFFF;
}

/* Drawer Footer */
.bp-drawer-footer {
    padding: 16px 20px 24px 20px;
    border-top: 1px solid #EFE8E1;
    background: #FAF6F0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.bp-drawer-cta-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background: linear-gradient(135deg, #8E1616 0%, #A91D3A 100%) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    padding: 13px 18px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 14.5px;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.3);
    text-align: center;
    transition: all 0.2s ease;
}

.bp-drawer-cta-btn:hover {
    background: linear-gradient(135deg, #A91D3A 0%, #8E1616 100%) !important;
    box-shadow: 0 6px 18px rgba(142, 22, 22, 0.4);
}

.bp-drawer-cta-sub {
    font-size: 10.5px;
    font-weight: 500;
    opacity: 0.9;
}

.bp-drawer-trust-pills {
    display: flex;
    align-items: center;
    justify-content: space-around;
    font-size: 10.5px;
    font-weight: 600;
    color: #7A6E65;
    padding-top: 2px;
}

/* 4c. WebKit / Blink GPU Compositing Antialiasing Fix for Transformed Cards */
.bp-hero-polaroid-frame,
[class*="rotate-1"],
.hot-deal-card {
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-transform: rotate(1deg) translateZ(0) !important;
    transform: rotate(1deg) translateZ(0) !important;
    will-change: transform !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.bp-hero-polaroid-frame:hover,
[class*="rotate-1"]:hover {
    -webkit-transform: rotate(0deg) translateZ(0) !important;
    transform: rotate(0deg) translateZ(0) !important;
}

.bp-hero-polaroid-inner,
a:has(> img.group-hover\:scale-105),
a:has(> img[class*="group-hover:scale"]) {
    border-radius: 12px !important;
    overflow: hidden !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
    mask-image: radial-gradient(white, black) !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    isolation: isolate !important;
}

.bp-hero-polaroid-inner img,
img.group-hover\:scale-105,
img[class*="group-hover:scale"] {
    border-radius: 12px !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    will-change: transform !important;
}

/* 4d. Desktop Navigation Collections Dropdown */
.bp-nav-dropdown-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.bp-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.bp-chevron-down {
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.bp-nav-dropdown-wrapper:hover .bp-chevron-down {
    transform: rotate(180deg);
}

.bp-nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: -12px;
    width: 320px;
    background: #FFFFFF;
    border: 1px solid #E8DFD8;
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(31, 25, 22, 0.12);
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1001;
}

.bp-nav-dropdown-wrapper:hover .bp-nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.bp-dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none !important;
    transition: background 0.15s ease;
}

.bp-dropdown-item:hover {
    background: #F8EBE6;
}

.bp-item-icon {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
}

.bp-item-content {
    display: flex;
    flex-direction: column;
}

.bp-item-content strong {
    font-size: 13px;
    font-weight: 700;
    color: #1F1916;
}

.bp-item-content small {
    font-size: 11px;
    color: #5B403E;
    line-height: 1.3;
}

.bp-dropdown-divider {
    height: 1px;
    background: #E8DFD8;
    margin: 6px 4px;
}

.bp-dropdown-all {
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
    color: #8E1616 !important;
    padding: 8px 12px;
}

/* 4e. 4 Collections / Hub Cards Grid */
.bp-collections-hub {
    margin-bottom: 40px;
}

.bp-hub-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 16px;
}

@media (min-width: 640px) {
    .bp-hub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .bp-hub-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.bp-hub-card {
    background: #FFFFFF;
    border: 1px solid #E8DFD8;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(31, 25, 22, 0.04);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.bp-hub-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(142, 22, 22, 0.12);
    border-color: #8E1616;
}

.bp-hub-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.bp-hub-icon {
    font-size: 28px;
    line-height: 1;
}

.bp-hub-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    background: #F8EBE6;
    color: #8E1616;
}

.bp-hub-title {
    font-size: 15px;
    font-weight: 700;
    color: #1F1916;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.bp-hub-desc {
    font-size: 12px;
    color: #5B403E;
    margin: 0 0 16px 0;
    line-height: 1.4;
    flex-grow: 1;
}

.bp-hub-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #8E1616;
    padding-top: 10px;
    border-top: 1px dashed #E8DFD8;
}

/* ==========================================================================
   HOMEPAGE CATALOG FILTER BAR & PILLS (10 FLAGSHIP STYLES)
   ========================================================================== */
.bp-catalog-filter-bar {
    margin: 36px 0 40px 0;
    display: flex;
    justify-content: center;
    width: 100%;
}

.bp-filter-pills-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #F8F3ED;
    padding: 6px 10px;
    border-radius: 9999px;
    border: 1px solid #E8DFD8;
    box-shadow: 0 2px 8px rgba(31, 25, 22, 0.04);
}

.bp-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: transparent;
    color: #5C4033;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
    user-select: none;
    line-height: 1.2;
}

.bp-filter-pill:hover {
    background: #EFE6DD;
    color: #1F1916;
}

.bp-filter-pill.active {
    background: #8E1616;
    color: #FFFFFF;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.25);
    font-weight: 700;
}

.bp-filter-pill.active .bp-pill-count {
    background: rgba(255, 255, 255, 0.25);
    color: #FFFFFF;
}

.bp-pill-count {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    background: #E8DFD8;
    color: #7A5B4C;
    transition: all 0.2s ease;
}

.bp-card-cat-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 6px;
    background: #F8EBE6;
    color: #8E1616;
    letter-spacing: 0.02em;
}

@media (max-width: 768px) {
    .bp-catalog-filter-bar {
        margin: 24px 0 28px 0;
    }
    .bp-filter-pills-wrap {
        border-radius: 20px;
        gap: 6px;
        padding: 6px;
        width: 100%;
    }
    .bp-filter-pill {
        padding: 6px 12px;
        font-size: 12px;
    }
}

/* ==========================================================================
   PAGE MARGINS STANDARD (MATCHING HOMEPAGE max-w-7xl / 1280px CENTERING)
   ========================================================================== */
.tygh-content,
.tygh-content > .container-fluid-row,
.tygh-content .ty-mainbox-container,
.tygh-content .ty-mainbox-body,
.tygh-content .ty-wysiwyg-content,
.ty-category-description,
.categories-view .tygh-content,
.categories-view .ty-mainbox-container {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.ty-mainbox-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

@media (max-width: 640px) {
    .ty-mainbox-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ==========================================================================
   BESTPINUP STITCH DESIGN SYSTEM — SUBCATEGORIES TABS WITH ICONS (4-COLUMN ROW)
   ========================================================================== */
.bp-subcategories-container {
    width: 100% !important;
    margin: 20px 0 32px 0 !important;
    box-sizing: border-box !important;
}

.subcategories,
.subcategories.bp-subcategories-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.subcategories::before,
.subcategories::after,
.bp-subcategories-grid::before,
.bp-subcategories-grid::after {
    display: none !important;
    content: none !important;
}

.ty-subcategories__item,
.ty-subcategories__item.bp-subcat-card {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-subcat-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 14px !important;
    padding: 12px 16px !important;
    text-decoration: none !important;
    color: #1F1916 !important;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.04) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
}

.bp-subcat-icon {
    font-size: 24px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: #FAF6F0 !important;
    flex-shrink: 0 !important;
    transition: transform 0.2s ease !important;
}

.bp-subcat-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.bp-subcat-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    transition: color 0.2s ease !important;
}

.bp-subcat-subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    color: #7A6E65 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 2px !important;
    display: block !important;
}

.bp-subcat-arrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
    transition: transform 0.2s ease !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    margin-left: auto !important;
}

/* Hover State */
.bp-subcat-link:hover {
    background: #FFF8F6 !important;
    border-color: #8E1616 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(142, 22, 22, 0.12) !important;
}

.bp-subcat-link:hover .bp-subcat-icon {
    transform: scale(1.1) !important;
}

.bp-subcat-link:hover .bp-subcat-title {
    color: #8E1616 !important;
}

.bp-subcat-link:hover .bp-subcat-arrow {
    transform: translateX(3px) !important;
}

/* Active State (When browsing this collection) */
.bp-subcat-card--active .bp-subcat-link {
    background: #FFF8F6 !important;
    border-color: #8E1616 !important;
    box-shadow: 0 0 0 1.5px #8E1616, 0 4px 12px rgba(142, 22, 22, 0.12) !important;
}

.bp-subcat-card--active .bp-subcat-title {
    color: #8E1616 !important;
}

.bp-subcat-card--active .bp-subcat-icon {
    background: #F8EBE8 !important;
}

/* Responsive Grid */
@media (max-width: 1100px) {
    .subcategories,
    .subcategories.bp-subcategories-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
    }
}

@media (max-width: 768px) {
    .subcategories,
    .subcategories.bp-subcategories-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
}
    .bp-subcat-link {
        padding: 10px 10px !important;
        gap: 8px !important;
    }
    .bp-subcat-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 18px !important;
    }
    .bp-subcat-title {
        font-size: 12px !important;
    }
    .bp-subcat-subtitle {
        font-size: 10px !important;
    }
    .bp-subcat-arrow {
        display: none !important;
    }
}

/* 5. Breadcrumbs */
.ty-breadcrumbs {
    max-width: 1280px;
    margin: 0 auto !important;
    padding: 16px 24px 0 !important;
    background: transparent !important;
    font-family: var(--bp-font-sans) !important;
    font-size: 13px !important;
    box-sizing: border-box;
}

.ty-breadcrumbs__a {
    color: var(--bp-text-muted) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.ty-breadcrumbs__a:hover {
    color: var(--bp-primary) !important;
}

.ty-breadcrumbs__current {
    color: var(--bp-text) !important;
    font-weight: 700 !important;
}

/* 6. Main Category & Catalog Layout */
.content-grid {
    background: var(--bp-bg) !important;
    padding-bottom: 60px !important;
}

.categories-view .content-grid,
.products-view .content-grid {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 20px 24px 60px !important;
    box-sizing: border-box !important;
}

.ty-mainbox-title {
    font-family: var(--bp-font-serif) !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    color: #1F1916 !important;
    text-align: center !important;
    margin: 24px 0 32px !important;
    letter-spacing: -0.02em !important;
}

.categories-view .main-content-grid {
    width: 100% !important;
    margin-left: 0 !important;
    float: none !important;
}

/* Sort Toolbar */
.ty-sort-container {
    background: #FFFFFF !important;
    border: 1px solid var(--bp-border) !important;
    border-radius: 16px !important;
    padding: 14px 24px !important;
    margin-bottom: 32px !important;
    box-shadow: var(--bp-shadow-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.ty-sort-dropdown__wrapper {
    background: var(--bp-surface-warm) !important;
    border: 1px solid var(--bp-border) !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--bp-text) !important;
}

/* 7. Catalog CSS Grid Layout */
.grid-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    margin: 0 !important;
    width: 100% !important;
}

@media (max-width: 991px) {
    .grid-list {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 600px) {
    .grid-list {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

.ty-column3 {
    width: 100% !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* 8. Product Card — Identical to Homepage Hot Deals */
.ty-grid-list__item,
.ty-grid-list__item--overlay {
    background: #FFFFFF !important;
    border: 1px solid #E5DCD3 !important;
    border-radius: 18px !important;
    padding: 20px !important;
    box-shadow: 0 4px 16px rgba(45, 36, 34, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    position: relative !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.ty-grid-list__item:hover,
.ty-grid-list__item--overlay:hover {
    transform: translateY(-6px) !important;
    border-color: #8E1616 !important;
    box-shadow: 0 16px 36px rgba(45, 36, 34, 0.12) !important;
}

/* Product Image Container */
.ty-grid-list__image,
.ty-grid-list__item--overlay .ty-grid-list__image {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #F5EFEB !important;
    margin-bottom: 16px !important;
}

.ty-grid-list__image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.ty-grid-list__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
}

.ty-grid-list__item:hover .ty-grid-list__image img {
    transform: scale(1.05) !important;
}

/* Discount Badge on Product Cards */
.ty-grid-list__item .ty-product-labels__item--discount,
.ty-grid-list__item--overlay .ty-product-labels__item--discount {
    background: #8E1616 !important;
    color: #FFE066 !important;
    border-radius: 9999px !important;
    padding: 4px 11px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 8px rgba(142, 22, 22, 0.35) !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 5 !important;
    border: none !important;
}

.ty-grid-list__item .ty-product-labels__item--discount .ty-product-labels__content,
.ty-grid-list__item .ty-product-labels__item--discount *,
.ty-grid-list__item--overlay .ty-product-labels__item--discount * {
    color: #FFE066 !important;
}

/* Discount Badge on Product Details Page (Static, Non-overlapping, Fixed SAVE 28%) */
.ty-product-bigpicture .ty-product-labels,
.ty-product-block .ty-product-labels {
    position: static !important;
    display: inline-flex !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
    width: auto !important;
    height: auto !important;
}

.ty-product-bigpicture .ty-product-labels__item--discount,
.ty-product-block .ty-product-labels__item--discount {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #8E1616 !important;
    color: #FFE066 !important;
    border-radius: 9999px !important;
    padding: 4px 11px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(142, 22, 22, 0.25) !important;
    border: none !important;
    margin: 0 !important;
}

/* Ensure Discount Text is Always Fixed to SAVE 28% without Recalculation Drift */
.ty-product-bigpicture .ty-product-labels__item--discount .ty-product-labels__content,
.ty-product-block .ty-product-labels__item--discount .ty-product-labels__content {
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

.ty-product-bigpicture .ty-product-labels__item--discount .ty-product-labels__content::after,
.ty-product-block .ty-product-labels__item--discount .ty-product-labels__content::after {
    content: "SAVE 28%" !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #FFE066 !important;
    letter-spacing: 0.04em !important;
    display: inline-block !important;
}

/* Archival Badge */
.bp-card-archival-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(26, 26, 26, 0.85);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 6px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    z-index: 5;
}

/* Category Subtitle */
.bp-card-subtitle,
.ty-grid-list__item--overlay .bp-card-subtitle {
    position: static !important;
    display: block !important;
    font-family: var(--bp-font-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #8E1616 !important;
    margin-bottom: 6px !important;
}

/* Product Title */
.ty-grid-list__item-name,
.ty-grid-list__item--overlay .ty-grid-list__item-name {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.ty-grid-list__item-name a.product-title,
.ty-grid-list__item--overlay .ty-grid-list__item-name a.product-title {
    font-family: var(--bp-font-serif) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition: color 0.2s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.ty-grid-list__item-name a.product-title:hover,
.ty-grid-list__item--overlay .ty-grid-list__item-name a.product-title:hover {
    color: #8E1616 !important;
}

/* Product Price */
.ty-grid-list__price,
.ty-grid-list__item--overlay .ty-grid-list__price {
    position: static !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.ty-grid-list__price *,
.ty-grid-list__item--overlay .ty-grid-list__price * {
    background: transparent !important;
    text-shadow: none !important;
}

.ty-strike {
    color: #8C7E77 !important;
    font-size: 15px !important;
    text-decoration: line-through !important;
    font-weight: 500 !important;
}

.ty-price-num, .ty-price {
    color: #8E1616 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    font-family: var(--bp-font-sans) !important;
}

/* Customize Button */
.bp-catalog-card-action {
    margin-top: auto !important;
    width: 100% !important;
}

.bp-catalog-customize-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-family: var(--bp-font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 12px 18px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(142, 22, 22, 0.25) !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.bp-catalog-customize-btn:hover {
    background: #A91D3A !important;
    color: #FFFFFF !important;
    box-shadow: 0 6px 18px rgba(142, 22, 22, 0.35) !important;
    transform: translateY(-1px) !important;
}

/* 9. Infinite Scroll UI & Indicators */
.infinite-scroll-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 14px;
    width: 100%;
}

.infinite-scroll-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(142, 22, 22, 0.15);
    border-top-color: #8E1616;
    border-radius: 50%;
    animation: bp-spin 0.8s linear infinite;
}

@keyframes bp-spin {
    to { transform: rotate(360deg); }
}

.infinite-scroll-text {
    font-size: 13px;
    font-weight: 600;
    color: var(--bp-text-muted);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.infinite-scroll-end {
    text-align: center;
    padding: 40px 20px;
    background: #FFFFFF;
    border: 1px solid var(--bp-border);
    border-radius: 16px;
    margin: 40px auto 20px;
    max-width: 600px;
    box-shadow: var(--bp-shadow-sm);
}

.infinite-scroll-end h3 {
    font-family: var(--bp-font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--bp-text);
    margin-bottom: 6px;
}

.infinite-scroll-end p {
    font-size: 13px;
    color: var(--bp-text-muted);
    margin-bottom: 16px;
}

.infinite-scroll-end a {
    display: inline-block;
    background: #8E1616;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 10px 22px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

.infinite-scroll-end a:hover {
    background: #A91D3A;
}

/* 10. Sitewide Guarantees Bar (In Footer) */
.bp-guarantees-bar {
    background: #FFFFFF;
    border-top: 1px solid var(--bp-border);
    border-bottom: 1px solid var(--bp-border);
    padding: 30px 0;
    margin-top: 40px;
}

.bp-guarantees-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

@media (max-width: 900px) {
    .bp-guarantees-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .bp-guarantees-grid {
        grid-template-columns: 1fr;
    }
}

.bp-guarantee-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bp-guarantee-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(142, 22, 22, 0.08);
    color: #8E1616;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.bp-guarantee-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--bp-text);
    margin-bottom: 2px;
}

.bp-guarantee-desc {
    font-size: 11px;
    color: var(--bp-text-muted);
}


/* 11. Sitewide Unified Stitch Footer (Lighter Vintage Parchment) */
.bp-stitch-footer {
    background: #F4ECE1 !important;
    color: #3E322B !important;
    padding: 64px 0 40px !important;
    border-top: 1px solid #E2D5C5 !important;
    font-family: var(--bp-font-sans) !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 10 !important;
}

.bp-stitch-footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.bp-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.1fr;
    gap: 40px;
    margin-bottom: 48px;
}

@media (max-width: 1024px) {
    .bp-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 36px;
    }
}

@media (max-width: 640px) {
    .bp-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

.bp-footer-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bp-footer-logo-link {
    display: inline-block;
    margin-bottom: 4px;
}

.bp-footer-logo-img {
    height: 96px !important;
    max-height: 104px !important;
    width: auto !important;
    max-width: 320px !important;
    object-fit: contain !important;
    transition: transform 0.25s ease !important;
}

.bp-footer-logo-img:hover {
    transform: scale(1.03) !important;
}

.bp-footer-desc {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #5C4E46 !important;
    margin: 0 !important;
}

.bp-footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 8px;
}

.bp-footer-badge {
    font-size: 11px;
    font-weight: 600;
    background: #E8DDD0;
    color: #3A2E28;
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid #D8C7B4;
    letter-spacing: 0.02em;
}

.bp-footer-col-title {
    font-family: var(--bp-font-sans);
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8E1616 !important;
    margin-bottom: 4px;
}

.bp-footer-links {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bp-footer-links li a {
    font-size: 13px !important;
    color: #3E322B !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bp-footer-links li a:hover {
    color: #8E1616 !important;
}

.bp-footer-link-highlight {
    color: #8E1616 !important;
    font-weight: 700 !important;
    margin-top: 4px;
}

.bp-footer-link-highlight:hover {
    color: #B01E28 !important;
}

.bp-footer-support-item {
    padding-top: 8px;
}

.bp-footer-support-label {
    display: block;
    font-size: 11px;
    color: #7A6A60;
    margin-bottom: 2px;
}

.bp-footer-support-email {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    text-decoration: none !important;
}

.bp-footer-callout {
    padding: 14px 16px;
    background: #EAE0D3;
    border-radius: 14px;
    border: 1px solid #DCD0C0;
    margin-top: 6px;
}

.bp-footer-callout-title {
    font-size: 12px;
    font-weight: 700;
    color: #1F1916;
    display: block;
    margin-bottom: 4px;
}

.bp-footer-callout-desc {
    font-size: 11px;
    line-height: 1.5;
    color: #5C4E46;
    margin: 0;
}

/* Vintage Gift Occasions Hub (High-Intent SEO) */
.bp-footer-occasions-hub {
    padding: 18px 24px;
    background: #EAE0D3;
    border-radius: 14px;
    border: 1px solid #DCD0C0;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 18px;
}

.bp-footer-occasions-title {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8E1616;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bp-footer-occasions-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.bp-occasion-tag {
    font-size: 12px;
    font-weight: 600;
    color: #3E322B !important;
    text-decoration: none !important;
    background: #F4ECE1;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid #D8C7B4;
    transition: all 0.2s ease !important;
}

.bp-occasion-tag:hover {
    color: #FFFFFF !important;
    background: #8E1616 !important;
    border-color: #8E1616 !important;
    transform: translateY(-1px);
}

.bp-occasion-dot {
    color: #B5A595;
    font-size: 10px;
}

/* Bottom Bar */
.bp-footer-bottom {
    padding-top: 32px;
    border-top: 1px solid #E2D5C5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 12px;
    color: #7A6A60;
}

.bp-footer-copy {
    color: #7A6A60;
}

.bp-footer-payments {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #5C4E46;
    font-size: 12px;
}

.bp-footer-dot {
    color: #C0B0A0;
}

/* 12. Legal & Information Pages (.controller-pages / .dispatch-pages-view) */
.controller-pages .side-grid,
.dispatch-pages-view .side-grid {
    display: none !important;
}

.controller-pages .main-content-grid,
.dispatch-pages-view .main-content-grid {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    float: none !important;
    padding: 0 24px 64px !important;
    box-sizing: border-box !important;
}

.controller-pages .ty-mainbox-title,
.dispatch-pages-view .ty-mainbox-title {
    font-family: var(--bp-font-serif) !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    text-align: center !important;
    margin: 28px 0 32px !important;
    letter-spacing: -0.01em !important;
}

.controller-pages .ty-wysiwyg-content,
.dispatch-pages-view .ty-wysiwyg-content {
    background: #FFFFFF !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 20px !important;
    padding: 44px 52px !important;
    box-shadow: 0 4px 20px rgba(31, 25, 22, 0.04) !important;
    font-family: var(--bp-font-sans) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #3E322B !important;
    box-sizing: border-box !important;
}

.controller-pages .ty-wysiwyg-content h2,
.controller-pages .ty-wysiwyg-content h3,
.dispatch-pages-view .ty-wysiwyg-content h2,
.dispatch-pages-view .ty-wysiwyg-content h3 {
    font-family: var(--bp-font-serif) !important;
    color: #1F1916 !important;
    font-weight: 700 !important;
    margin-top: 32px !important;
    margin-bottom: 12px !important;
}

.controller-pages .ty-wysiwyg-content p,
.dispatch-pages-view .ty-wysiwyg-content p {
    margin-bottom: 16px !important;
    color: #4A3B32 !important;
}

.controller-pages .ty-wysiwyg-content a,
.dispatch-pages-view .ty-wysiwyg-content a {
    color: #8E1616 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.controller-pages .ty-breadcrumbs,
.dispatch-pages-view .ty-breadcrumbs {
    max-width: 980px !important;
    margin: 20px auto 0 !important;
    padding: 0 24px !important;
}

@media (max-width: 768px) {
    .controller-pages .ty-mainbox-title,
    .dispatch-pages-view .ty-mainbox-title {
        font-size: 28px !important;
        margin: 18px 0 24px !important;
    }
    .controller-pages .ty-wysiwyg-content,
    .dispatch-pages-view .ty-wysiwyg-content {
        padding: 24px 20px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
    }
    .controller-pages .main-content-grid,
    .dispatch-pages-view .main-content-grid {
        padding: 0 16px 40px !important;
    }
}

/* ==========================================================================
   BestPinUp.art — Premium Product Card & Cart Redesign Styles
   Unification with Master Vintage Landing Page Design System
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. PRODUCT CARD TEMPLATE (BigPicture & Standard)
   -------------------------------------------------------------------------- */

/* Page Background & Container — Side Margins Matching Homepage */
.dispatch-products-view .main-content-grid,
.controller-products .main-content-grid {
    width: 100% !important;
    max-width: 1260px !important;
    margin: 0 auto !important;
    padding: 0 32px 48px !important;
    box-sizing: border-box !important;
    float: none !important;
}

@media (max-width: 768px) {
    .dispatch-products-view .main-content-grid,
    .controller-products .main-content-grid {
        padding: 0 16px 36px !important;
    }
}

.ty-product-bigpicture,
.ty-product-block {
    background-color: transparent !important;
    font-family: var(--bp-font-sans) !important;
    color: var(--bp-text) !important;
    padding: 10px 0 30px 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 36px !important;
    box-sizing: border-box !important;
}

.ty-product-bigpicture__left,
.ty-product-block__left {
    flex: 1 1 50% !important;
    max-width: 580px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    text-align: left !important;
    position: relative !important;
}

.ty-product-bigpicture__left-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

.ty-product-bigpicture__right,
.ty-product-block__right {
    flex: 1 1 44% !important;
    max-width: 480px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 50 !important;
}

@media (max-width: 992px) {
    .ty-product-bigpicture,
    .ty-product-block {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .ty-product-bigpicture__left,
    .ty-product-bigpicture__right,
    .ty-product-block__left,
    .ty-product-block__right {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Breadcrumbs Vintage Touch */
.ty-breadcrumbs {
    padding: 12px 0 20px 0 !important;
    font-size: 13px !important;
    color: var(--bp-text-muted) !important;
}
.ty-breadcrumbs__a {
    color: var(--bp-text-muted) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.ty-breadcrumbs__a:hover {
    color: var(--bp-primary) !important;
}
.ty-breadcrumbs__slash {
    color: #D1C7BD !important;
    margin: 0 8px !important;
}
.ty-breadcrumbs__current {
    color: var(--bp-text) !important;
    font-weight: 600 !important;
}

/* Product Title H1 */
h1.ty-product-block-title,
.ty-product-block-title bdi {
    font-family: var(--bp-font-serif) !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--bp-text) !important;
    margin: 0 0 12px 0 !important;
    letter-spacing: -0.01em !important;
}
@media (min-width: 768px) {
    h1.ty-product-block-title,
    .ty-product-block-title bdi {
        font-size: 44px !important;
    }
}

/* Micro-Rating Strip under Title */
.ty-product-block__rating-strip {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    font-size: 13px;
    color: var(--bp-text-muted);
}
.ty-product-block__stars {
    color: #F59E0B;
    display: inline-flex;
    align-items: center;
}

/* Main Product Image — Museum Passe-Partout */
.ty-product-bigpicture__left,
.ty-product-block__left,
.ty-product-block__img-wrapper {
    position: relative !important;
}
.ty-product-bigpicture .ty-product-block__img-wrapper,
.ty-product-block__img-wrapper {
    background: #FFFFFF !important;
    padding: 12px !important;
    border-radius: 20px !important;
    border: 1px solid #E5DCD3 !important;
    box-shadow: 0 16px 36px -10px rgba(45, 36, 34, 0.1) !important;
    transition: box-shadow 0.3s ease !important;
}
.ty-product-block__img-wrapper:hover {
    box-shadow: 0 24px 48px -12px rgba(45, 36, 34, 0.15) !important;
}
.ty-product-block__img-wrapper img {
    border-radius: 12px !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Gallery Floating Trust Badge */
.ty-product-block__img-wrapper::after {
    content: "🎨 100% Hand-Drawn Pin-Up";
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: rgba(142, 22, 22, 0.92);
    backdrop-filter: blur(8px);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 9999px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.04em;
    pointer-events: none;
}

/* Pricing Section */
.ty-product-block__price-actual {
    font-family: var(--bp-font-sans) !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: var(--bp-primary) !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}
.ty-product-block__price-actual .ty-price-num {
    font-size: 38px !important;
}
.ty-product-block__price-old {
    font-size: 15px !important;
    color: #9E9087 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 4px !important;
}

.ty-product-block__price-old .ty-strike,
.ty-strike {
    font-size: 16px !important;
    color: #9E9087 !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}

.ty-save-price {
    font-size: 15px !important;
    color: #D97706 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.ty-save-price__percent {
    display: none !important;
}

.ty-product-bigpicture .ty-product-labels__item--discount,
.ty-product-block .ty-product-labels__item--discount,
.ty-product-labels__content,
.ty-product-labels__item--discount .ty-product-labels__content::after {
    text-decoration: none !important;
}

/* Poses / Variants Selector — Vertical Icon Cards */
.cm-picker-product-variation-features.ty-product-options {
    margin-bottom: 14px !important;
    padding: 14px 16px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E8DFD8 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 6px rgba(45, 36, 34, 0.03) !important;
    overflow: visible !important;
}
.cm-picker-product-variation-features .ty-control-group {
    margin-bottom: 0 !important;
}
.cm-picker-product-variation-features .ty-control-group__label {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bp-text, #2C1810) !important;
    margin-bottom: 4px !important;
    display: inline-block !important;
}
.cm-picker-product-variation-features .ty-product-option-child {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #8E1616 !important;
    display: inline-block !important;
    margin-left: 6px !important;
}
.cm-picker-product-variation-features .ty-clear-both {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 10px !important;
    clear: both !important;
}
/* Pose Icon Wrapper — Vertical Card (3:4 ratio), NO circle */
.ty-product-options__image--wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    padding: 3px !important;
    border: 2px solid #E6DED6 !important;
    background: #FFFFFF !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-decoration: none !important;
    box-shadow: 0 1px 4px rgba(45, 36, 34, 0.05) !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
}
.ty-product-options__image--wrapper:hover {
    border-color: #8E1616 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(142, 22, 22, 0.16) !important;
}
.ty-product-options__image--wrapper--active {
    border: 2.5px solid #8E1616 !important;
    border-radius: 12px !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.18), 0 4px 14px rgba(142, 22, 22, 0.14) !important;
    transform: translateY(-2px) !important;
    background: #FFF9F8 !important;
}
/* Pose Image Inside — Larger, Crisp, Non-circular */
.ty-product-options__image--wrapper img,
.ty-product-options__image {
    border-radius: 9px !important;
    width: 68px !important;
    height: 92px !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
}

/* Customization Options Checkboxes — Ultra-Compact Cards */
.cm-picker-product-options.ty-product-options {
    margin-bottom: 10px !important;
}
.cm-picker-product-options .product-list-field,
.ty-control-group.ty-product-options__item,
.product-list-field {
    background: #FFFFFF !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(45, 36, 34, 0.02) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}
.cm-picker-product-options .product-list-field:hover {
    border-color: #8E1616 !important;
    background: #FAF7F2 !important;
}
.cm-picker-product-options .ty-product-options__item-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--bp-text) !important;
    margin-bottom: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.cm-picker-product-options .ty-product-options__description {
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: #7A6E65 !important;
    margin-top: 2px !important;
    font-style: normal !important;
}
.cm-picker-product-options input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--bp-primary) !important;
    cursor: pointer !important;
    margin-right: 6px !important;
}

/* File Uploader Section — Single Compact Dropzone with Responsive Mobile Layout */
.ty-product-options__fileuploader {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 4px 0 10px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ty-fileuploader {
    background: #FAF6F0 !important;
    border: 1.5px dashed #C8B8A6 !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.ty-fileuploader,
.ty-fileuploader .ty-nowrap {
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ty-fileuploader:hover {
    border-color: var(--bp-primary) !important;
    background: #FDF9F5 !important;
}

/* Local upload link container */
.ty-fileuploader__file-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.ty-fileuploader__file-local,
.upload-file-local {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 !important;
}

.ty-fileuploader__a,
.ty-fileuploader a[data-ca-multi="Y"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    padding: 10px 22px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(142, 22, 22, 0.25) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    max-width: 100%;
    box-sizing: border-box;
}

.ty-fileuploader__a:hover,
.ty-fileuploader a[data-ca-multi="Y"]:hover {
    background: #6E1010 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(142, 22, 22, 0.35) !important;
    color: #FFFFFF !important;
}

.ty-fileuploader__a::before {
    content: "📁";
    font-size: 15px;
}

.ty-fileuploader a[data-ca-multi="Y"] {
    background: #2D2422 !important;
}

.ty-fileuploader a[data-ca-multi="Y"]:hover {
    background: #443734 !important;
}

.ty-fileuploader a[data-ca-multi="Y"]::before {
    content: "➕";
    font-size: 13px;
}

/* Enforce hidden state so both buttons never show simultaneously */
.ty-fileuploader .hidden,
.ty-fileuploader a.hidden,
.ty-fileuploader__a.hidden,
.ty-fileuploader a[data-ca-multi="Y"].hidden,
.ty-fileuploader__file-link.hidden,
.ty-fileuploader__file-link[style*="display: none"],
.ty-fileuploader [style*="display: none"] {
    display: none !important;
}

/* Uploaded Image Thumbnail Preview (Constrained & Responsive) */
.ty-fileuploader__file-section,
.cm-uploaded-image,
.cm-fu-file {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 4px 0 !important;
    overflow: hidden !important;
}

.ty-fileuploader__file-section img,
.cm-uploaded-image img,
.cm-fu-file img {
    max-width: 120px !important;
    max-height: 120px !important;
    width: auto !important;
    height: auto !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    border: 2px solid #8E1616 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    display: block !important;
    margin: 6px auto !important;
}

.ty-fileuploader__filename {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #166534 !important;
    background: #F0FDF4 !important;
    border: 1px solid #BBF7D0 !important;
    padding: 4px 12px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    max-width: 90% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    margin: 4px auto !important;
}

/* Notes to Artist & Textarea Options Styling — Strict Mobile Containment */
div[id^="opt_"] textarea,
#opt_364_29 textarea,
.ty-product-options__textarea,
textarea.ty-product-options__textarea,
textarea[name*="product_options"],
.product-list-field textarea,
.ty-control-group textarea,
textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    resize: vertical !important;
}

div[id^="opt_"] textarea,
#opt_364_29 textarea,
.ty-product-options__textarea,
textarea.ty-product-options__textarea,
textarea[name*="product_options"] {
    display: block !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    background: #FAF6F0 !important;
    color: #1F1916 !important;
    margin: 8px 0 10px 0 !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

div[id^="opt_"] textarea:focus,
#opt_364_29 textarea:focus,
.ty-product-options__textarea:focus,
textarea.ty-product-options__textarea:focus,
textarea[name*="product_options"]:focus,
.product-list-field textarea:focus,
.ty-control-group textarea:focus {
    border-color: #8E1616 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
}

/* Master Add to Cart Button */
button.ty-btn__add-to-cart,
.ty-btn__add-to-cart.ty-btn {
    background: linear-gradient(135deg, #8E1616 0%, #A91D3A 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 18px 32px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    box-shadow: 0 10px 24px rgba(142, 22, 22, 0.3) !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}
button.ty-btn__add-to-cart:hover,
.ty-btn__add-to-cart.ty-btn:hover {
    background: linear-gradient(135deg, #A91D3A 0%, #8E1616 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(142, 22, 22, 0.45) !important;
}
button.ty-btn__add-to-cart::before {
    content: "🛍️";
    font-size: 18px;
}

/* Micro-Guarantees under Add to Cart */
.ty-product-block__guarantees-strip {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 14px 10px;
    margin-top: 16px;
    background: #FAF6F0;
    border-radius: 12px;
    border: 1px solid #EBE3DA;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--bp-text-muted);
}
.ty-product-block__guarantees-strip span {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* --------------------------------------------------------------------------
   Tabs Elimination & Product Details & Reviews Unrolled Layout
   -------------------------------------------------------------------------- */

/* Hide top Write A Review button and default tab list */
.ty-product-review-product-rating-overview-short .ty-product-review-write-product-review-button,
.ty-discussion__rating-wrapper .ty-discussion__review-write,
.ty-product-bigpicture .ty-discussion__review-write,
.ty-product-block .ty-discussion__review-write,
.ty-product-bigpicture .ty-product-review-write-product-review-button,
.ty-product-bigpicture .ty-tabs,
.ty-product-bigpicture .ty-tabs__list,
.ty-product-block .ty-tabs,
.ty-product-block .ty-tabs__list,
.tab-list-title,
.ty-product-bigpicture__right .ty-product-block__note,
.ty-product-block__right .ty-product-block__note,
.ty-product-bigpicture__right .ty-product-block__description,
.ty-product-block__right .ty-product-block__description,
.ty-product-bigpicture__right .ty-product-block__description-title,
.ty-product-block__right .ty-product-block__description-title {
    display: none !important;
}

/* Discount Badge on Product Details Page (Static, Non-overlapping, Fixed SAVE 28%) */
.ty-product-bigpicture .ty-product-labels,
.ty-product-block .ty-product-labels {
    position: static !important;
    display: inline-flex !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
    width: auto !important;
    height: auto !important;
}

.ty-product-bigpicture .ty-product-labels__item--discount,
.ty-product-block .ty-product-labels__item--discount {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #8E1616 !important;
    color: #FFE066 !important;
    border-radius: 9999px !important;
    padding: 4px 11px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(142, 22, 22, 0.25) !important;
    border: none !important;
    margin: 0 !important;
}

.ty-product-bigpicture .ty-product-labels__item--discount .ty-product-labels__content,
.ty-product-block .ty-product-labels__item--discount .ty-product-labels__content {
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

.ty-product-bigpicture .ty-product-labels__item--discount .ty-product-labels__content::after,
.ty-product-block .ty-product-labels__item--discount .ty-product-labels__content::after {
    content: "SAVE 28%" !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #FFE066 !important;
    letter-spacing: 0.04em !important;
    display: inline-block !important;
}

/* Container for unrolled cards */
.bp-product-unrolled-container {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 36px auto 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
}

/* Card base */
.bp-product-unrolled-card {
    background: #FFFFFF !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 20px rgba(44, 24, 16, 0.04) !important;
    padding: 36px 40px !important;
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .bp-product-unrolled-container {
        margin: 24px auto 0 auto !important;
        gap: 20px !important;
        padding: 0 12px !important;
    }
    .bp-product-unrolled-card {
        padding: 24px 20px !important;
        border-radius: 16px !important;
    }
}

/* Description Typography */
.bp-product-description-content {
    font-family: var(--bp-font-sans, "Inter", sans-serif) !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #4A3E39 !important;
}

.bp-product-description-content h3,
.bp-product-description-content h4 {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    color: #2C1810 !important;
    font-weight: 700 !important;
    margin-top: 24px !important;
    margin-bottom: 12px !important;
}

.bp-product-description-content h3:first-child,
.bp-product-description-content h4:first-child {
    margin-top: 0 !important;
}

.bp-product-description-content p {
    margin-bottom: 16px !important;
}

.bp-product-description-content ul,
.bp-product-description-content ol {
    margin: 12px 0 16px 24px !important;
    padding: 0 !important;
}

.bp-product-description-content li {
    margin-bottom: 8px !important;
    line-height: 1.6 !important;
}

/* Tags Section in Unified Card */
.bp-product-tags-section {
    margin-top: 28px !important;
    padding-top: 22px !important;
    border-top: 1px dashed #E8DFD8 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
}

.bp-product-tags-header {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
}

.bp-tags-icon {
    stroke: #8E1616 !important;
    flex-shrink: 0 !important;
}

.bp-product-tags-body {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.bp-product-tags-body .ty-control-group {
    margin: 0 !important;
}

.bp-product-tags-body .ty-tags-list {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    list-style: none !important;
}

.bp-product-tags-body .ty-tags-list__item {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: transparent !important;
    border: none !important;
}

.bp-product-tags-body .ty-tags-list__item::before,
.bp-product-tags-body .ty-tags-list__item::after,
.bp-product-tags-body .ty-tags-list__a::before,
.bp-product-tags-body .ty-tags-list__a::after {
    display: none !important;
    content: none !important;
    border: none !important;
    width: 0 !important;
    height: 0 !important;
}

.bp-product-tags-body .ty-tags-list__a {
    display: inline-flex !important;
    align-items: center !important;
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    color: #6B5E55 !important;
    font-family: var(--bp-font-sans, "Inter", sans-serif) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    border-radius: 9999px !important;
    padding: 6px 16px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

.bp-product-tags-body .ty-tags-list__a:hover {
    background: #8E1616 !important;
    border-color: #8E1616 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 6px rgba(142, 22, 22, 0.2) !important;
}

/* Reviews Card & Feed */
.bp-reviews-header-bar {
    margin-bottom: 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #E8DFD8 !important;
}

.bp-reviews-section-title {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    margin: 0 !important;
}

/* Reviews Main View: 2 Columns (Feed on Left, Summary Sidebar on Right) */
.bp-product-reviews-body .ty-product-reviews-view,
.bp-product-reviews-body .ty-product-reviews-view__main {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-product-reviews-body .ty-product-reviews-view__main-content {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: 100% !important;
}

@media (max-width: 900px) {
    .bp-product-reviews-body .ty-product-reviews-view,
    .bp-product-reviews-body .ty-product-reviews-view__main {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .bp-product-reviews-body .ty-product-review-reviews-sidebar {
        order: -1 !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .bp-product-reviews-body .ty-product-reviews-view__main-content {
        order: 1 !important;
    }
}

/* KILL SPEECH BUBBLE CARETS & BLUE DIALOG BORDERS */
.bp-product-reviews-body .ty-dialog-caret {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.bp-product-reviews-body .ty-dialog-caret::before,
.bp-product-reviews-body .ty-dialog-caret::after {
    display: none !important;
    content: none !important;
    border: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Navigation & Sort Bar */
.bp-product-reviews-body .ty-product-review-reviews-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 12px !important;
    padding: 10px 16px !important;
    margin-bottom: 16px !important;
}

.bp-product-reviews-body .ty-sort-dropdown__wrapper {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #2C1810 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.bp-product-reviews-body .ty-product-review-reviews-navigation__filter {
    font-size: 13px !important;
    color: #5C4E46 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.bp-product-reviews-body .ty-product-review-reviews-navigation__filter-checkbox {
    accent-color: #8E1616 !important;
    cursor: pointer !important;
}

.bp-product-reviews-body .ty-product-review-reviews-navigation__filter-link {
    color: #5C4E46 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   RESET ALL NESTED WRAPPERS TO ZERO BOXES (Kill Multi-Border Nesting)
   -------------------------------------------------------------------------- */
.bp-product-reviews-body .ty-product-review-post * {
    box-sizing: border-box !important;
}

.bp-product-reviews-body section.ty-product-review-post-customer,
.bp-product-reviews-body section.ty-product-review-post__content,
.bp-product-reviews-body header.ty-product-review-post-header,
.bp-product-reviews-body blockquote.ty-product-review-post-message,
.bp-product-reviews-body dl.ty-product-review-post-message-section,
.bp-product-reviews-body dd.ty-product-review-post-message-section__body,
.bp-product-reviews-body footer.ty-product-review-post-footer,
.bp-product-reviews-body div.ty-product-review-post-footer__primary,
.bp-product-reviews-body div.ty-product-review-post-footer__secondary,
.bp-product-reviews-body div.ty-product-review-post-customer__name,
.bp-product-reviews-body address.ty-product-review-post-customer__address {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* SINGLE MASTER REVIEW CARD */
.bp-product-reviews-body article.ty-product-review-post {
    border: 1px solid #E8DFD8 !important;
    background: #FFFFFF !important;
    border-radius: 16px !important;
    padding: 18px 22px !important;
    margin-bottom: 14px !important;
    box-shadow: 0 2px 8px rgba(44, 24, 16, 0.03) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.bp-product-reviews-body article.ty-product-review-post:hover {
    border-color: #D6C7B8 !important;
    box-shadow: 0 4px 14px rgba(44, 24, 16, 0.06) !important;
}

/* CUSTOMER & RATING HEADER ROW */
.bp-product-reviews-body .ty-product-review-post-customer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.bp-product-reviews-body .ty-product-review-post-customer__address {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bp-product-reviews-body .ty-product-review-post-customer__name {
    font-family: var(--bp-font-sans, "Inter", sans-serif) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    line-height: 1.2 !important;
}

.bp-product-reviews-body .ty-product-review-post-customer__date {
    font-size: 12px !important;
    color: #8C7E74 !important;
    font-weight: 500 !important;
}

/* STARS */
.bp-product-reviews-body .ty-product-review-reviews-stars {
    color: #F59E0B !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    margin: 0 !important;
}

/* HIDE REDUNDANT "COMMENT" HEADING */
.bp-product-reviews-body .ty-product-review-post-message-section__title {
    display: none !important;
}

/* REVIEW TEXT BODY */
.bp-product-reviews-body .ty-content-more__text {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #3D312A !important;
    margin: 2px 0 0 0 !important;
}

/* PHOTO THUMBNAILS ROW */
.bp-product-reviews-body .ty-product-review-post-images {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 10px !important;
    margin-bottom: 4px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.bp-product-reviews-body .ty-product-review-post-images svg.ty-pict__container {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.bp-product-reviews-body .ty-product-review-post-images__item {
    margin: 0 !important;
    padding: 0 !important;
    width: 135px !important;
    height: 170px !important;
    border-radius: 14px !important;
    border: 1.5px solid #E2D5C8 !important;
    overflow: hidden !important;
    background: #FAF7F2 !important;
    position: relative !important;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 12px rgba(45, 36, 34, 0.07) !important;
}

.bp-product-reviews-body .ty-product-review-post-images__item:hover {
    transform: scale(1.03) translateY(-3px) !important;
    border-color: #8E1616 !important;
    box-shadow: 0 10px 26px rgba(142, 22, 22, 0.2) !important;
}

.bp-product-reviews-body .ty-product-review-post-images__item a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

.bp-product-reviews-body .ty-product-review-post-images__item img.ty-pict {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 12px !important;
}

.bp-product-reviews-body .ty-product-review-post-images__item a::after {
    content: "🔍" !important;
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    width: 26px !important;
    height: 26px !important;
    background: rgba(44, 24, 16, 0.8) !important;
    backdrop-filter: blur(4px) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    opacity: 0.85 !important;
    transform: scale(0.9) !important;
    transition: all 0.2s ease !important;
    pointer-events: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
}

.bp-product-reviews-body .ty-product-review-post-images__item:hover a::after {
    opacity: 1 !important;
    transform: scale(1.1) !important;
}

/* FOOTER & VOTES */
.bp-product-reviews-body .ty-product-review-post-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 4px !important;
    padding-top: 6px !important;
    border-top: 1px solid #F3EDE7 !important;
}

.bp-product-reviews-body .ty-product-review-post-votes {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bp-product-reviews-body .ty-product-review-post-votes a.ty-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 3px 10px !important;
    border-radius: 9999px !important;
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    color: #6B5E55 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.bp-product-reviews-body .ty-product-review-post-votes a.ty-btn:hover {
    background: #FFFFFF !important;
    border-color: #8E1616 !important;
    color: #8E1616 !important;
}

/* VENDOR / ADMIN REPLY */
.bp-product-reviews-body blockquote.ty-product-review-post-vendor-reply,
.bp-product-reviews-body blockquote.ty-product-review-post-vendor-reply * {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.bp-product-reviews-body blockquote.ty-product-review-post-vendor-reply {
    background: #FAF7F2 !important;
    border-left: 3px solid #8E1616 !important;
    border-radius: 0 12px 12px 0 !important;
    padding: 14px 18px !important;
    margin-top: 8px !important;
}

.bp-product-reviews-body .ty-product-review-post-vendor-reply__title {
    font-family: var(--bp-font-sans, "Inter", sans-serif) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    margin-bottom: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.bp-product-reviews-body .ty-product-review-post-vendor-reply__body {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #4A3E39 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* --------------------------------------------------------------------------
   REVIEWS SIDEBAR (Rating Summary, Progress Bars, Write Review CTA)
   -------------------------------------------------------------------------- */
.bp-product-reviews-body .ty-product-review-reviews-sidebar,
.bp-product-reviews-body .ty-product-review-reviews-sidebar--with-reviews {
    flex: 0 0 280px !important;
    max-width: 280px !important;
    width: 280px !important;
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 16px !important;
    padding: 20px 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bp-product-reviews-body .ty-no-items {
    background: #FAF7F2 !important;
    border: 1px dashed #E0D6CD !important;
    border-radius: 14px !important;
    padding: 28px 24px !important;
    font-size: 15px !important;
    color: #6B5E55 !important;
    text-align: center !important;
    margin: 0 0 20px 0 !important;
    font-style: normal !important;
}

@media (max-width: 900px) {
    .bp-product-reviews-body .ty-product-review-reviews-sidebar,
    .bp-product-reviews-body .ty-product-review-reviews-sidebar--with-reviews {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-bottom: 16px !important;
    }
}

/* RATING OVERVIEW (5 out of 5) */
.bp-product-reviews-body .ty-product-review-product-rating-overview {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #E8DFD8 !important;
    margin-bottom: 16px !important;
}

.bp-product-reviews-body .ty-product-review-product-rating-overview__rating-current {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #2C1810 !important;
    line-height: 1 !important;
}

.bp-product-reviews-body .ty-product-review-product-rating-overview__rating-out-of-five {
    font-size: 14px !important;
    color: #8C7E74 !important;
    font-weight: 500 !important;
    margin-left: 4px !important;
}

.bp-product-reviews-body .ty-product-review-product-rating-overview__primary .ty-product-review-reviews-stars {
    font-size: 18px !important;
    color: #F59E0B !important;
    margin-top: 6px !important;
    margin-bottom: 4px !important;
}

.bp-product-reviews-body .ty-product-review-reviews-total-reviews {
    font-size: 13px !important;
    color: #6B5E55 !important;
    font-weight: 600 !important;
}

/* STAR BREAKDOWN LINES */
.bp-product-reviews-body .ty-product-review-product-stars-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-product-reviews-body .ty-product-review-product-star-line {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-product-reviews-body .ty-product-review-product-star-line__quantity {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #5C4E46 !important;
    min-width: 44px !important;
    flex-shrink: 0 !important;
    text-align: left !important;
}

.bp-product-reviews-body progress.ty-product-review-product-star-line__line {
    flex: 1 1 auto !important;
    min-width: 50px !important;
    max-width: 130px !important;
    height: 8px !important;
    border-radius: 9999px !important;
    overflow: hidden !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    background: #E8DFD8 !important;
}

.bp-product-reviews-body progress.ty-product-review-product-star-line__line::-webkit-progress-bar {
    background: #E8DFD8 !important;
    border-radius: 9999px !important;
}

.bp-product-reviews-body progress.ty-product-review-product-star-line__line::-webkit-progress-value {
    background: #F59E0B !important;
    border-radius: 9999px !important;
}

.bp-product-reviews-body progress.ty-product-review-product-star-line__line::-moz-progress-bar {
    background: #F59E0B !important;
    border-radius: 9999px !important;
}

.bp-product-reviews-body .ty-product-review-product-star-line__percentage {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
    text-align: right !important;
}

/* WRITE REVIEW BOX IN SIDEBAR */
.bp-product-reviews-body .ty-product-review-write-review {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid #E8DFD8 !important;
    border-radius: 0 !important;
    padding: 16px 0 0 0 !important;
    margin-top: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
    gap: 8px !important;
}

.bp-product-reviews-body .ty-product-review-write-review__title {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    margin: 0 !important;
}

.bp-product-reviews-body .ty-product-review-write-review__description {
    color: #6B5E55 !important;
    font-size: 12px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.bp-product-reviews-body .ty-product-review-write-product-review-button,
.bp-product-reviews-body .ty-product-review-write-review .ty-btn__secondary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-family: var(--bp-font-sans, "Inter", sans-serif) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 10px 18px !important;
    border-radius: 9999px !important;
    border: none !important;
    box-shadow: 0 3px 10px rgba(142, 22, 22, 0.25) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
    margin-top: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-product-reviews-body .ty-product-review-write-product-review-button:hover,
.bp-product-reviews-body .ty-product-review-write-review .ty-btn__secondary:hover {
    background: #731212 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 14px rgba(142, 22, 22, 0.35) !important;
}

.bp-product-reviews-body .ty-no-items {
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    color: #6B5E55 !important;
    font-size: 14px !important;
    text-align: center !important;
}


/* --------------------------------------------------------------------------
   2. CART PAGE REDESIGN (/cart/)
   -------------------------------------------------------------------------- */

/* Cart Main Container */
.ty-cart-content {
    background-color: var(--bp-bg) !important;
    padding-top: 20px !important;
    padding-bottom: 60px !important;
}

/* Cart Page Title */
.ty-mainbox-title,
.ty-cart-content h1 {
    font-family: var(--bp-font-serif) !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    color: var(--bp-text) !important;
    margin-bottom: 28px !important;
    letter-spacing: -0.01em !important;
}

/* Empty Cart State */
.ty-cart-items__empty {
    background: #FFFFFF !important;
    border: 1px solid #E5DCD3 !important;
    border-radius: 20px !important;
    padding: 60px 20px !important;
    text-align: center !important;
    font-size: 20px !important;
    font-family: var(--bp-font-serif) !important;
    color: var(--bp-text-muted) !important;
    box-shadow: 0 4px 16px rgba(45, 36, 34, 0.04) !important;
}

/* Cart Table & Card Overrides */
.ty-cart-content .ty-table {
    border-collapse: separate !important;
    border-spacing: 0 16px !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
}
.ty-cart-content .ty-table th {
    background: transparent !important;
    border: none !important;
    font-family: var(--bp-font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--bp-text-muted) !important;
    padding: 0 16px 8px 16px !important;
}

/* Individual Cart Item Row as Premium White Card */
.ty-cart-content .ty-table tbody tr {
    background: #FFFFFF !important;
    border: 1px solid #E5DCD3 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 14px rgba(45, 36, 34, 0.04) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.ty-cart-content .ty-table tbody tr:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(45, 36, 34, 0.08) !important;
}
.ty-cart-content .ty-table td {
    border: none !important;
    padding: 20px 16px !important;
    vertical-align: middle !important;
}
.ty-cart-content .ty-table td:first-child {
    border-top-left-radius: 16px !important;
    border-bottom-left-radius: 16px !important;
}
.ty-cart-content .ty-table td:last-child {
    border-top-right-radius: 16px !important;
    border-bottom-right-radius: 16px !important;
}

/* Item Thumbnail in Passe-Partout */
.ty-cart-content__image {
    width: 90px !important;
    height: 90px !important;
    border-radius: 12px !important;
    border: 1px solid #E5DCD3 !important;
    padding: 4px !important;
    background: #FAF6F0 !important;
    object-fit: cover !important;
    display: block !important;
}

/* Item Title & Options */
.ty-cart-content__product-title {
    font-family: var(--bp-font-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--bp-text) !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    display: inline-block !important;
    margin-bottom: 6px !important;
}
.ty-cart-content__product-title:hover {
    color: var(--bp-primary) !important;
}

/* Options / Uploaded Photo Badges in Cart */
.ty-cart-content__detailed-options {
    margin-top: 8px !important;
    font-size: 12.5px !important;
    color: var(--bp-text-muted) !important;
}
.ty-cart-content__detailed-options .ty-product-options {
    background: #FAF6F0 !important;
    border: 1px solid #EBE3DA !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    margin-top: 6px !important;
}
.ty-cart-content__detailed-options .ty-product-options__item {
    margin-bottom: 4px !important;
}
.ty-cart-content__detailed-options .ty-product-options__item:last-child {
    margin-bottom: 0 !important;
}

/* Uploaded Customer Photo link / badge in cart */
.ty-cart-content .upload-filename,
.ty-cart-content .ty-filename-link {
    color: #166534 !important;
    background: #F0FDF4 !important;
    border: 1px solid #BBF7D0 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.ty-cart-content .upload-filename::before {
    content: "📎";
}

/* Price column in Cart */
.ty-cart-content__price {
    font-family: var(--bp-font-sans) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--bp-primary) !important;
}

/* Quantity input in Cart */
.ty-cart-content input.ty-value-changer__input {
    width: 48px !important;
    height: 38px !important;
    border-radius: 8px !important;
    border: 1.5px solid #D1C7BD !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

/* Delete / Remove item icon */
.ty-cart-content__delete-icon,
.ty-cart-content .ty-delete-big {
    color: #9E9087 !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    cursor: pointer !important;
}
.ty-cart-content__delete-icon:hover,
.ty-cart-content .ty-delete-big:hover {
    color: var(--bp-primary) !important;
    transform: scale(1.15) !important;
}

/* Promo Code Box in Cart (Flex Layout, No Overlap) */
.ty-discount-coupon__control {
    background: #FFFFFF !important;
    border: 1px solid #E5DCD3 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.03) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ty-discount-coupon__input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    border: 1.5px solid #D1C7BD !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    line-height: normal !important;
}

.ty-discount-coupon__button,
.ty-discount-coupon .ty-btn {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    line-height: 44px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 20px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: background 0.2s ease !important;
    cursor: pointer !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.ty-discount-coupon__button:hover,
.ty-discount-coupon .ty-btn:hover {
    background: #A91D3A !important;
}

/* Order Summary Box (Totals & Checkout) */
.ty-cart-total,
.ty-cart-statistic {
    background: #FAF4EE !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 20px !important;
    padding: 28px !important;
    box-shadow: 0 6px 20px rgba(45, 36, 34, 0.06) !important;
}
.ty-cart-total__title,
.ty-cart-statistic__title {
    font-family: var(--bp-font-serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--bp-text) !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #E5DCD3 !important;
    padding-bottom: 12px !important;
}
.ty-cart-statistic__item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    color: var(--bp-text-muted) !important;
    padding: 8px 0 !important;
}
.ty-cart-statistic__item--total {
    border-top: 2px dashed #E5DCD3 !important;
    margin-top: 14px !important;
    padding-top: 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--bp-text) !important;
}
.ty-cart-statistic__item--total .ty-cart-statistic__value {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--bp-primary) !important;
}

/* Proceed to Checkout Button */
.ty-cart-content__buttons .ty-btn__primary,
.ty-btn__checkout {
    background: linear-gradient(135deg, #8E1616 0%, #A91D3A 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    height: 54px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    box-shadow: 0 10px 24px rgba(142, 22, 22, 0.3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 16px !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
}
.ty-cart-content__buttons .ty-btn__primary:hover,
.ty-btn__checkout:hover {
    background: linear-gradient(135deg, #A91D3A 0%, #8E1616 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(142, 22, 22, 0.45) !important;
    color: #FFFFFF !important;
}
.ty-cart-content__buttons .ty-btn__primary::before {
    content: "🔒";
    font-size: 16px;
}

/* Continue Shopping Ghost Button */
.ty-cart-content__buttons .ty-btn__secondary {
    background: transparent !important;
    color: var(--bp-text-muted) !important;
    border: 1.5px solid #D1C7BD !important;
    border-radius: 12px !important;
    height: 48px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 10px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}
.ty-cart-content__buttons .ty-btn__secondary:hover {
    background: #FFFFFF !important;
    color: var(--bp-text) !important;
    border-color: #A09085 !important;
}

/* Sitewide Trust Strip in Cart */
.bp-cart-trust-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #E5DCD3;
}
.bp-cart-trust-item {
    background: #FFFFFF;
    border: 1px solid #E5DCD3;
    border-radius: 14px;
    padding: 16px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.03);
}
.bp-cart-trust-icon {
    font-size: 24px;
    margin-bottom: 6px;
}
.bp-cart-trust-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--bp-text);
    margin-bottom: 2px;
}
.bp-cart-trust-sub {
    font-size: 11px;
    color: var(--bp-text-muted);
}


/* ==========================================================================
   Refined Cart Buttons & Modal Styling
   ========================================================================== */

/* All Secondary & Continue Shopping Buttons Across Site & Cart */
.ty-btn__secondary,
a.ty-btn__secondary,
button.ty-btn__secondary,
.ty-cart-content__left-buttons .ty-btn,
.ty-cart-content__left-buttons .ty-btn__secondary,
.buttons-container .ty-btn__secondary {
    background-color: transparent !important;
    background-image: none !important;
    color: #4A3E39 !important;
    border: 1.5px solid #D1C7BD !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.ty-btn__secondary:hover,
a.ty-btn__secondary:hover,
button.ty-btn__secondary:hover,
.ty-cart-content__left-buttons .ty-btn:hover {
    background-color: #FFFFFF !important;
    color: #1F1916 !important;
    border-color: #8E1616 !important;
    box-shadow: 0 4px 12px rgba(45, 36, 34, 0.08) !important;
}

/* Proceed to Checkout Buttons Across Entire Cart */
.ty-cart-content__right-buttons .ty-btn,
.ty-cart-content__right-buttons .ty-btn__primary,
.ty-cart-content__right-buttons a,
.buttons-container .ty-btn__primary,
.ty-btn__checkout {
    background: linear-gradient(135deg, #8E1616 0%, #A91D3A 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 28px !important;
    box-shadow: 0 8px 20px rgba(142, 22, 22, 0.3) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
}
.ty-cart-content__right-buttons .ty-btn:hover,
.ty-cart-content__right-buttons .ty-btn__primary:hover,
.ty-cart-content__right-buttons a:hover,
.buttons-container .ty-btn__primary:hover {
    background: linear-gradient(135deg, #A91D3A 0%, #8E1616 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(142, 22, 22, 0.45) !important;
    color: #FFFFFF !important;
}
.ty-cart-content__right-buttons .ty-btn::before,
.ty-cart-content__right-buttons a::before {
    content: "🔒 ";
    font-size: 14px;
}

/* Clear Cart Button */
.ty-cart-content__clear-button {
    background: transparent !important;
    border: none !important;
    color: #9E9087 !important;
    font-size: 13px !important;
    text-decoration: underline !important;
    margin-left: 16px !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
}
.ty-cart-content__clear-button:hover {
    color: #8E1616 !important;
}

/* Cart Table Styling */
.ty-cart-content__product-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
}
.ty-cart-content__price .ty-price-num,
.ty-cart-content .ty-price-num {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
}

/* Notification Popup Modal Polish */
.cm-notification-content,
.ty-product-notification {
    border-radius: 16px !important;
    border: 1.5px solid #E5DCD3 !important;
    box-shadow: 0 20px 48px rgba(45, 36, 34, 0.2) !important;
    background: #FFFFFF !important;
}
.ty-product-notification__buttons .ty-btn__primary {
    background: linear-gradient(135deg, #8E1616 0%, #A91D3A 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
}
.ty-product-notification__buttons .ty-btn__secondary {
    background: transparent !important;
    color: #5C4E46 !important;
    border: 1px solid #D1C7BD !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
}


/* ==========================================================================
   HOTFIX: Option Clickability & Accessible High-Contrast Notifications
   ========================================================================== */

/* 1. Fix BigPicture Column Stacking & Make All Options 100% Clickable */
.ty-product-bigpicture__right,
.ty-product-block__right {
    position: relative !important;
    z-index: 50 !important;
    pointer-events: auto !important;
}
.ty-product-bigpicture__left,
.ty-product-block__left {
    position: static !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}
.ty-product-block__img-wrapper {
    position: relative !important;
    z-index: 2 !important;
}
.cm-picker-product-variation-features,
.cm-picker-product-options,
.ty-product-options,
.product-list-field,
.product-list-field label,
.product-list-field input[type="checkbox"],
.ty-product-options__image--wrapper,
.ty-product-options__image--wrapper img {
    position: relative !important;
    z-index: 60 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* 2. System Notifications (Alerts & Modals) - High Contrast & Perfectly Readable */
.cm-notification-container {
    z-index: 99999 !important;
}
.cm-notification-content,
.notification-content {
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    padding: 16px 42px 16px 20px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
    position: relative !important;
}

/* Error Notification: Clear red text on light red background */
.cm-notification-content.alert-error,
.notification-content.alert-error {
    background-color: #FEF2F2 !important;
    border: 1.5px solid #FCA5A5 !important;
    color: #991B1B !important;
}
.cm-notification-content.alert-error strong,
.notification-content.alert-error strong,
.cm-notification-content.alert-error b {
    color: #7F1D1D !important;
    font-weight: 800 !important;
    display: inline-block !important;
    margin-right: 6px !important;
}
.cm-notification-content.alert-error .close,
.notification-content.alert-error .close {
    color: #991B1B !important;
    opacity: 0.8 !important;
    font-size: 24px !important;
    position: absolute !important;
    right: 14px !important;
    top: 10px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

/* Warning Notification: Clear amber text on light yellow background */
.cm-notification-content.alert-warning,
.notification-content.alert-warning {
    background-color: #FFFBEB !important;
    border: 1.5px solid #FCD34D !important;
    color: #92400E !important;
}
.cm-notification-content.alert-warning strong,
.notification-content.alert-warning strong {
    color: #78350F !important;
    font-weight: 800 !important;
}
.cm-notification-content.alert-warning .close,
.notification-content.alert-warning .close {
    color: #92400E !important;
}

/* Success / Notice Notification: Clear dark green text on light green */
.cm-notification-content.alert-success,
.notification-content.alert-success {
    background-color: #F0FDF4 !important;
    border: 1.5px solid #86EFAC !important;
    color: #166534 !important;
}
.cm-notification-content.alert-success strong,
.notification-content.alert-success strong {
    color: #14532D !important;
    font-weight: 800 !important;
}
.cm-notification-content.alert-success .close,
.notification-content.alert-success .close {
    color: #166534 !important;
}

/* Extended / Cart Modal Notification */
.cm-notification-content-extended,
.notification-content-extended {
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 50px rgba(45, 36, 34, 0.25) !important;
    color: #1F1916 !important;
}
.notification-content-extended h1 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    border-bottom: 1px solid #E5DCD3 !important;
    padding: 16px 20px !important;
    background: #FAF6F0 !important;
}
.notification-body-extended {
    color: #1F1916 !important;
    padding: 20px !important;
}
.notification-body-extended * {
    color: #1F1916 !important;
}
.notification-body-extended .ty-btn__primary,
.notification-body-extended .ty-btn__primary * {
    color: #FFFFFF !important;
}

/* ==========================================================================
   CUSTOM ARTWORK OPTIONS (2x2 Sleek Grid on Product Template Page)
   ========================================================================== */
.bp-custom-options-section {
    margin: 18px 0 16px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-custom-options-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
    padding: 0 2px !important;
}

.bp-custom-options-title {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #53433F !important;
}

.bp-custom-options-subtitle {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #85736E !important;
}

.bp-custom-options-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 6px 2px !important;
    margin: -4px 0 !important;
    overflow: visible !important;
}

@media (max-width: 640px) {
    .bp-custom-options-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

/* Individual Addon Card (Wraps CS-Cart ty-control-group) */
.ty-control-group.bp-addon-card,
.product-list-field.bp-addon-card {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.bp-addon-card-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 14px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 1px 4px rgba(45, 36, 34, 0.04) !important;
    margin: 2px 0 !important;
    user-select: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    overflow: visible !important;
}

.bp-addon-card-inner:hover {
    background: #FAF6F0 !important;
    border-color: #8E1616 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(142, 22, 22, 0.12) !important;
}

/* Active / Checked State when sibling checkbox is checked */
.bp-addon-card-inner:has(.bp-addon-checkbox:checked),
.bp-addon-card:has(.bp-addon-checkbox:checked) .bp-addon-card-inner {
    background: #FFF8F6 !important;
    border-color: #8E1616 !important;
    box-shadow: 0 0 0 1.5px #8E1616, 0 4px 12px rgba(142, 22, 22, 0.12) !important;
}

.bp-addon-card-left {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

/* Checkbox Styling */
.bp-addon-checkbox {
    width: 18px !important;
    height: 18px !important;
    border-radius: 5px !important;
    border: 1.5px solid #C4B5A5 !important;
    accent-color: #8E1616 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.bp-addon-info {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    text-align: left !important;
}

.bp-addon-title {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.bp-addon-sub {
    font-size: 10.5px !important;
    font-weight: 500 !important;
    color: #85736E !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 2px !important;
}

.bp-addon-price {
    font-size: 12.5px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
    flex-shrink: 0 !important;
    margin-left: 8px !important;
    letter-spacing: -0.01em !important;
}

/* ==========================================================================
   BestPinUp.art — Custom Options: Photo Upload, Artist Notes & Pet Section
   ========================================================================== */

/* Pet Addon Card highlight */
.bp-addon-card-inner--pet {
    border-color: #E2C9BF !important;
    background: #FFFAF8 !important;
}

.bp-addon-card-inner--pet:hover {
    background: #FFF4EF !important;
    border-color: #8E1616 !important;
}

/* Reference Photo Upload Cards (Person & Pet) */
.ty-control-group.bp-photo-card,
.product-list-field.bp-photo-card {
    margin-top: 18px !important;
    margin-bottom: 20px !important;
    padding: 18px 20px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.04) !important;
}

.bp-photo-card-header {
    margin-bottom: 12px !important;
}

.bp-photo-badge {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    flex-wrap: wrap !important;
}

.bp-photo-badge-icon {
    font-size: 18px !important;
    line-height: 1 !important;
}

.bp-photo-badge-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
}

.bp-photo-badge-pill {
    background: #FAF6F0 !important;
    color: #8E1616 !important;
    border: 1px solid #E8DDD4 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 10px !important;
    border-radius: 20px !important;
    letter-spacing: 0.2px !important;
}

.bp-photo-card-subtitle {
    font-size: 12px !important;
    color: #78645F !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4 !important;
}

.bp-photo-tips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 14px !important;
    margin-bottom: 12px !important;
    padding: 8px 12px !important;
    background: #FAF6F0 !important;
    border-radius: 8px !important;
    border: 1px solid #EFE6DD !important;
}

.bp-photo-tip {
    font-size: 11px !important;
    color: #5C4B46 !important;
    font-weight: 500 !important;
}

/* Artist Notes Card */
.ty-control-group.bp-notes-card,
.product-list-field.bp-notes-card {
    margin-top: 14px !important;
    margin-bottom: 18px !important;
    padding: 16px 20px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.04) !important;
}

.bp-notes-card-header {
    margin-bottom: 10px !important;
}

.bp-notes-badge {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 4px !important;
    flex-wrap: wrap !important;
}

.bp-notes-badge-icon {
    font-size: 16px !important;
}

.bp-notes-badge-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
}

.bp-notes-badge-pill {
    background: #FAF6F0 !important;
    color: #78645F !important;
    border: 1px solid #E8DDD4 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 20px !important;
}

.bp-notes-card-subtitle {
    font-size: 12px !important;
    color: #78645F !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4 !important;
}

/* Pet Portrait Details Accordion Section */
.bp-pet-details-section {
    margin-top: 20px !important;
    margin-bottom: 22px !important;
    padding: 20px 22px !important;
    background: #FFFBF8 !important;
    border: 2px solid #E8D0C7 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(142, 22, 22, 0.06) !important;
    transition: all 0.3s ease !important;
}

.bp-pet-details-banner {
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1.5px dashed #E2CBC2 !important;
}

.bp-pet-banner-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 6px !important;
}

.bp-pet-banner-icon {
    font-size: 24px !important;
    line-height: 1 !important;
}

.bp-pet-banner-titles {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.bp-pet-banner-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    line-height: 1.25 !important;
}

.bp-pet-banner-subtitle {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
}

.bp-pet-banner-tag {
    background: #FEE2E2 !important;
    color: #991B1B !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.bp-pet-banner-desc {
    font-size: 12.5px !important;
    color: #78645F !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

/* Pet Name Field */
.ty-control-group.bp-pet-field--name,
.product-list-field.bp-pet-field--name {
    margin-bottom: 16px !important;
    padding: 14px 18px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 12px !important;
}

.bp-pet-name-header {
    margin-bottom: 8px !important;
}

.bp-pet-name-label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    cursor: pointer !important;
}

.bp-pet-label-icon {
    font-size: 15px !important;
}

.bp-pet-label-pill {
    background: #FAF6F0 !important;
    color: #78645F !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 1px 7px !important;
    border-radius: 12px !important;
    border: 1px solid #E8DDD4 !important;
    margin-left: 4px !important;
}

/* Pet Section Nested Cards */
.bp-pet-details-section .bp-photo-card,
.bp-pet-details-section .bp-notes-card {
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    margin-top: 14px !important;
    margin-bottom: 14px !important;
}

/* Enhanced Inputs and Textareas */
.bp-custom-input,
.bp-custom-textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 13.5px !important;
    color: #1F1916 !important;
    transition: all 0.2s ease !important;
    line-height: 1.4 !important;
}

.bp-custom-input:focus,
.bp-custom-textarea:focus {
    border-color: #8E1616 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
    background-color: #FFFFFF !important;
}

.bp-custom-textarea {
    min-height: 76px !important;
    resize: vertical !important;
}

/* ==========================================================================
   BestPinUp.art — Premium One-Page Checkout Styles (/checkout/)
   Vintage Luxury High-Craft Design System (Playfair Display, #FDF8F3, #8E1616)
   ========================================================================== */

/* 1. Page Background & Container */
body.content-grid-checkout,
.litecheckout__form,
.litecheckout {
    background-color: #FDF8F3 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    color: #1F1916 !important;
}

/* 2. Stepper & Page Title */
.litecheckout__page-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    margin-top: 10px !important;
    margin-bottom: 24px !important;
    letter-spacing: -0.5px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.litecheckout__page-title::before {
    content: '1. Cart (✓)   ───   2. Artwork Details & Checkout (Active)   ───   3. Artist Proof & Delivery (Next)' !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: #8E1616 !important;
    background: #FAF6F0 !important;
    border: 1px solid #E5DCD3 !important;
    padding: 8px 18px !important;
    border-radius: 30px !important;
    width: fit-content !important;
    box-shadow: 0 2px 6px rgba(45, 36, 34, 0.03) !important;
}

/* 3. Section Titles (Customer, Payment methods, etc.) */
.litecheckout__step-title,
.litecheckout h2,
.litecheckout h3,
.litecheckout__group-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    letter-spacing: -0.3px !important;
    border-bottom: 1.5px solid #E5DCD3 !important;
    padding-bottom: 8px !important;
    margin-bottom: 18px !important;
}

/* 4. Digital Goods Value Banner (Replace scary red text) */
.litecheckout__shipping-method__text.ty-error-text {
    color: #166534 !important;
    background: #F0FDF4 !important;
    border: 1.5px solid #86EFAC !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(22, 101, 52, 0.05) !important;
}

.litecheckout__shipping-method__text.ty-error-text::before {
    content: '✨ Instant Digital Delivery:' !important;
    font-weight: 700 !important;
    color: #15803D !important;
}

/* 5. Input Fields & Form Controls */
.litecheckout input[type="text"],
.litecheckout input[type="email"],
.litecheckout input[type="tel"],
.litecheckout input[type="password"],
.litecheckout select,
.litecheckout textarea {
    background-color: #FFFFFF !important;
    border: 1.5px solid #D1C7BD !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    color: #1F1916 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(45, 36, 34, 0.03) !important;
}

.litecheckout input[type="text"]:focus,
.litecheckout input[type="email"]:focus,
.litecheckout input[type="tel"]:focus,
.litecheckout input[type="password"]:focus,
.litecheckout select:focus,
.litecheckout textarea:focus {
    border-color: #8E1616 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
    background-color: #FFFFFF !important;
}

.litecheckout textarea {
    min-height: 90px !important;
    border-radius: 12px !important;
}

/* Sign-in Ghost Button on Checkout */
.litecheckout .cm-dialog-opener.ty-btn__secondary {
    background: #FAF6F0 !important;
    border: 1.5px solid #D1C7BD !important;
    color: #4A3B32 !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    transition: all 0.2s ease !important;
}

.litecheckout .cm-dialog-opener.ty-btn__secondary:hover {
    background: #8E1616 !important;
    border-color: #8E1616 !important;
    color: #FFFFFF !important;
}

/* 6. Payment Methods & Stripe Box */
.litecheckout__shipping-method,
.litecheckout__field--xsmall {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.litecheckout__shipping-method__wrapper {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 14px !important;
    padding: 16px 20px !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.03) !important;
}

.litecheckout__shipping-method__radio:checked + .litecheckout__shipping-method__wrapper,
.litecheckout__shipping-method__wrapper.active {
    border-color: #8E1616 !important;
    background-color: #FFFBF7 !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.08) !important;
}

.litecheckout__shipping-method__logo-image {
    max-height: 36px !important;
    width: auto !important;
}

.litecheckout__shipping-method__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    margin: 4px 0 !important;
}

.litecheckout__shipping-method__delivery-time {
    color: #6B5E55 !important;
    font-size: 13px !important;
    margin: 0 !important;
}

/* Stripe Payment Explainer Box */
.litecheckout__payment-method {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #FAF6F0 !important;
    border: 1px solid #E5DCD3 !important;
    border-left: 4px solid #8E1616 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin-top: 14px !important;
    color: #3D2B1F !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

/* 7. Terms & Conditions Box */
.litecheckout__terms {
    background: #FAF6F0 !important;
    border: 1px solid #E5DCD3 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin: 20px 0 !important;
}

.litecheckout__terms .cm-field-container label {
    font-size: 13.5px !important;
    color: #4A3B32 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    line-height: 1.5 !important;
}

.litecheckout__terms input[type="checkbox"],
.litecheckout__newsletters input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    accent-color: #8E1616 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.litecheckout__terms a {
    color: #8E1616 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.litecheckout__terms a:hover {
    color: #A91D3A !important;
}

/* Hide duplicate GDPR checkbox block */
.litecheckout__terms .ty-control-group:has(.ty-gdpr-agreement),
.litecheckout__terms .ty-gdpr-merged-hidden {
    display: none !important;
}

/* Newsletters Section Styling */
.litecheckout__newsletters {
    margin-top: 22px !important;
    margin-bottom: 14px !important;
}

.litecheckout__newsletters .litecheckout__step-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    margin-bottom: 10px !important;
}

.litecheckout__newsletters label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 14px !important;
    color: #4A3B32 !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
}

/* 8. Primary CTA Button: Place Order */
#litecheckout_place_order.litecheckout__submit-btn,
.litecheckout__submit-btn {
    background: linear-gradient(135deg, #8E1616 0%, #A91D3A 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 14px !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    padding: 18px 36px !important;
    box-shadow: 0 10px 24px rgba(142, 22, 22, 0.35) !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

#litecheckout_place_order.litecheckout__submit-btn::before,
.litecheckout__submit-btn::before {
    content: '🔒' !important;
    font-size: 18px !important;
}

#litecheckout_place_order.litecheckout__submit-btn:hover,
.litecheckout__submit-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(142, 22, 22, 0.45) !important;
    background: linear-gradient(135deg, #7A1212 0%, #951832 100%) !important;
}

#litecheckout_place_order.litecheckout__submit-btn:active,
.litecheckout__submit-btn:active {
    transform: translateY(0) !important;
}

/* CTA Risk-Reversal Subtext - Strictly Single Instance on the outer section */
#litecheckout_final_section::after {
    content: '🎨 100% Risk-Free Guarantee: You will receive an artwork proof to approve before final delivery. Free unlimited revisions included.' !important;
    display: block !important;
    margin: 14px auto 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    color: #6B5E55 !important;
    line-height: 1.5 !important;
    font-style: italic !important;
    clear: both !important;
    width: 100% !important;
}

/* Hide any duplicate ::after on inner item */
.litecheckout__item.litecheckout__submit-order::after {
    display: none !important;
}

/* 9. Right Column: Order Summary Card (The Receipt) */
.span5.side-grid.litecheckout__cart,
.litecheckout__cart {
    background: #FFFFFF !important;
    border: 1.5px solid #E5DCD3 !important;
    border-radius: 18px !important;
    padding: 24px !important;
    box-shadow: 0 12px 36px rgba(45, 36, 34, 0.06) !important;
    position: sticky !important;
    top: 20px !important;
}

/* Order item styling */
.litecheckout__cart .ty-order-products__item {
    border-bottom: 1.5px solid #FAF0E6 !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
    list-style: none !important;
}

/* Product title (Kill the blue link!) */
.litecheckout__cart a.litecheckout__order-products-p {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.litecheckout__cart a.litecheckout__order-products-p:hover {
    color: #8E1616 !important;
}

/* Product Price */
.litecheckout__cart .ty-order-products__price {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    margin: 8px 0 !important;
}

/* Custom options list */
.litecheckout__cart .ty-product-options {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #4A3B32 !important;
    padding: 2px 0 !important;
}

.litecheckout__cart .ty-product-options-name {
    font-weight: 600 !important;
    color: #4A3B32 !important;
}

.litecheckout__cart .ty-product-options-content {
    color: #1F1916 !important;
}

/* Clean up empty options */
.litecheckout__cart .ty-product-options:has(.ty-product-options-content:empty) {
    display: none !important;
}

/* Uploaded photo line highlight */
.litecheckout__cart .ty-product-options:has(.ty-product-options-content a),
.litecheckout__cart .ty-product-options:has(.ty-product-options-name:contains("Upload")) {
    background: #FDF8F3 !important;
    border: 1px dashed #D1C7BD !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
    margin: 6px 0 !important;
}

/* 5a. Hide Physical Address and Zip/Postal Code for 100% Digital Orders */
[data-ca-lite-checkout-element="address-group"],
.litecheckout__field:has(input[name*="address"]),
.litecheckout__field:has(input[name*="zipcode"]),
.litecheckout__field:has(#litecheckout_s_address),
.litecheckout__field:has(#litecheckout_s_zipcode),
.litecheckout__field:has(#litecheckout_b_address),
.litecheckout__field:has(#litecheckout_b_zipcode),
#litecheckout_step_location,
#litecheckout_s_address,
#litecheckout_s_zipcode,
#litecheckout_b_address,
#litecheckout_b_zipcode,
.cm-field-container:has(#litecheckout_s_address),
.cm-field-container:has(#litecheckout_s_zipcode) {
    display: none !important;
}

/* Promo Code Box in Checkout (No Overlap, Responsive Flex Row) */
.litecheckout__cart .ty-discount-coupon__control-group,
.litecheckout__cart .ty-gift-certificate-coupon,
.ty-discount-coupon__control-group,
.ty-discount-coupon__control,
form[name^="coupon_code_form"] .ty-discount-coupon__control-group {
    margin: 16px 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.litecheckout__cart .ty-discount-coupon__control-group input,
.litecheckout__cart .ty-gift-certificate-coupon input,
.ty-discount-coupon__control-group input.ty-input-text,
.ty-discount-coupon__control-group input,
form[name^="coupon_code_form"] input[name="coupon_code"] {
    flex: 1 1 0% !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 44px !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
    border: 1.5px solid #D1C7BD !important;
    background: #FAF6F0 !important;
    font-size: 13.5px !important;
    padding: 0 14px !important;
    line-height: normal !important;
    margin: 0 !important;
    float: none !important;
}

.litecheckout__cart .ty-discount-coupon__control-group button,
.litecheckout__cart .ty-discount-coupon__control-group .ty-btn-go,
.litecheckout__cart .ty-gift-certificate-coupon button,
.litecheckout__cart .ty-btn-go,
.ty-discount-coupon__control-group button,
.ty-discount-coupon__control-group .ty-btn,
.ty-discount-coupon__control-group .ty-btn-go,
form[name^="coupon_code_form"] button,
form[name^="coupon_code_form"] .ty-btn-go {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 0 20px !important;
    height: 44px !important;
    line-height: 44px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    float: none !important;
    white-space: nowrap !important;
    position: static !important;
    box-shadow: 0 2px 8px rgba(142, 22, 22, 0.25) !important;
}

.litecheckout__cart .ty-discount-coupon__control-group button:hover,
.litecheckout__cart .ty-discount-coupon__control-group .ty-btn-go:hover,
.litecheckout__cart .ty-gift-certificate-coupon button:hover,
.litecheckout__cart .ty-btn-go:hover,
form[name^="coupon_code_form"] button:hover {
    background: #A91D3A !important;
}

/* Order Totals Table */
.litecheckout__cart .ty-checkout-summary,
.litecheckout__cart tr {
    font-size: 14.5px !important;
}

.litecheckout__cart .ty-checkout-summary__total,
.litecheckout__cart .ty-checkout-summary__order-total {
    border-top: 2px solid #E5DCD3 !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #1F1916 !important;
}

/* 10. Trust Badges Quad below Summary Card */
.litecheckout__cart::after {
    content: '🛡️ 100% Satisfaction Guarantee  •  🎨 Hand-Drawn Masterwork\A⚡ 24-48h Email Delivery  •  🔒 Stripe & SSL Secured' !important;
    white-space: pre-line !important;
    display: block !important;
    margin-top: 20px !important;
    background: #FAF6F0 !important;
    border: 1.5px dashed #D1C7BD !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #4A3B32 !important;
    line-height: 1.7 !important;
    text-align: center !important;
}

/* 11. Mobile Responsiveness (< 768px) */
@media (max-width: 767px) {
    .litecheckout,
    .litecheckout__form,
    .litecheckout__step,
    .litecheckout__section {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .litecheckout__page-title {
        font-size: 26px !important;
        margin-top: 6px !important;
        margin-bottom: 18px !important;
    }

    .litecheckout__page-title::before {
        content: '1. Cart (✓) ── 2. Checkout (Active) ── 3. Proof' !important;
        font-size: 9.5px !important;
        padding: 4px 10px !important;
        letter-spacing: 0.2px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
        white-space: normal !important;
    }

    #litecheckout_place_order.litecheckout__submit-btn,
    .litecheckout__submit-btn {
        font-size: 16px !important;
        padding: 16px 20px !important;
        white-space: normal !important;
        line-height: 1.3 !important;
    }

    .span5.side-grid.litecheckout__cart,
    .litecheckout__cart {
        margin-top: 24px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 18px 16px !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .litecheckout__shipping-method,
    .litecheckout__shipping-method__wrapper,
    .litecheckout__payment-method {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   BestPinUp.art — Premium Luxury Auth, Login & Registration Styles (v36)
   ========================================================================== */

/* 1. Backdrop Overlay */
.ui-widget-overlay {
    background: rgba(29, 21, 19, 0.68) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    opacity: 1 !important;
    z-index: 2147483640 !important;
}

/* 2. Modal Dialog Card */
.ui-dialog.ui-widget-content {
    background: #FFFDF9 !important;
    border: 1.5px solid #E8DFD8 !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 60px rgba(45, 36, 34, 0.28), 0 4px 16px rgba(45, 36, 34, 0.08) !important;
    padding: 0 !important;
    overflow: hidden !important;
    z-index: 2147483646 !important;
    box-sizing: border-box !important;
    max-width: 440px !important;
    width: 92vw !important;
}

/* Wide Modals (e.g. Variations table) */
.ui-dialog.ui-widget-content:has(.ty-variations-list),
.ui-dialog.ui-widget-content:has(table.ty-table),
.ui-dialog.ui-widget-content:has([id*="content_block_popup"]) {
    max-width: 880px !important;
}

/* Reset JS-injected object-container height & absolute picker positioning */
.ui-dialog .object-container,
.ui-dialog [class*="object-container"] {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ui-dialog .buttons-container-picker {
    position: static !important;
    inset: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    .ui-dialog.ui-widget-content {
        left: 4vw !important;
        right: 4vw !important;
        width: 92vw !important;
        max-width: 92vw !important;
        margin: 0 auto !important;
    }
}

/* Titlebar */
.ui-dialog .ui-dialog-titlebar {
    background: transparent !important;
    border: none !important;
    padding: 24px 28px 12px 28px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

div.ui-dialog .ui-dialog-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    max-width: calc(100% - 48px) !important;
    line-height: 1.25 !important;
}

/* Modern circular close button */
.ui-dialog .ui-dialog-titlebar-close {
    position: absolute !important;
    right: 20px !important;
    top: 20px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #F4ECE4 !important;
    border: 1px solid #E8DFD8 !important;
    color: #4A3B32 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 10 !important;
}

.ui-dialog .ui-dialog-titlebar-close:hover {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border-color: #8E1616 !important;
    transform: rotate(90deg) !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon {
    position: static !important;
    margin: 0 !important;
    background: none !important;
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 0 !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon::before,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon::before {
    content: "✕" !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: inherit !important;
    line-height: 1 !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-button-icon-space {
    display: none !important;
}

/* Dialog Content Area */
.ui-dialog .ui-dialog-content {
    background: transparent !important;
    padding: 0 28px 32px 28px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.ty-login-popup {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ty-login-popup__description {
    font-size: 14px !important;
    color: #5C4E46 !important;
    margin-bottom: 16px !important;
    line-height: 1.4 !important;
}

/* 3. Form Layout via Flexbox Order across ALL Login Popups */
form[name="main_login_form"],
form[name*="login"],
form[name*="thread"],
.ty-login-popup form,
form:has(.ty-login__input),
form:has(.ty-btn__login) {
    display: flex !important;
    flex-direction: column !important;
    font-size: 0 !important;
}

form[name="main_login_form"] > *,
form[name*="login"] > *,
form[name*="thread"] > *,
.ty-login-popup form > *,
form:has(.ty-login__input) > *,
form:has(.ty-btn__login) > * {
    font-size: 14px !important;
}

/* Strict Flex Ordering */
form[name="main_login_form"] > .ty-control-group:not(.ty-password-forgot),
form[name*="login"] > .ty-control-group:not(.ty-password-forgot),
form[name*="thread"] > .ty-control-group:not(.ty-password-forgot),
.ty-login-popup form > .ty-control-group:not(.ty-password-forgot),
form:has(.ty-login__input) > .ty-control-group:not(.ty-password-forgot),
form:has(.ty-btn__login) > .ty-control-group:not(.ty-password-forgot) {
    order: 1 !important;
}

form[name="main_login_form"] > .ty-control-group.ty-password-forgot,
form[name*="login"] > .ty-control-group.ty-password-forgot,
form[name*="thread"] > .ty-control-group.ty-password-forgot,
.ty-login-popup form > .ty-control-group.ty-password-forgot,
form:has(.ty-login__input) > .ty-control-group.ty-password-forgot,
form:has(.ty-btn__login) > .ty-control-group.ty-password-forgot {
    order: 2 !important;
}

form[name="main_login_form"] > .buttons-container,
form[name*="login"] > .buttons-container,
form[name*="thread"] > .buttons-container,
.ty-login-popup form > .buttons-container,
form:has(.ty-login__input) > .buttons-container,
form:has(.ty-btn__login) > .buttons-container {
    order: 3 !important;
    position: static !important;
    inset: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin: 4px 0 16px 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

form[name="main_login_form"] > .bp-social-login-wrapper,
form[name="main_login_form"] > .bp-social-login-container,
form[name="main_login_form"] > p.ty-text-center,
form[name*="login"] > .bp-social-login-wrapper,
form[name*="login"] > .bp-social-login-container,
form[name*="login"] > p.ty-text-center,
form[name*="thread"] > .bp-social-login-wrapper,
form[name*="thread"] > .bp-social-login-container,
form[name*="thread"] > p.ty-text-center,
.ty-login-popup form > .bp-social-login-wrapper,
.ty-login-popup form > .bp-social-login-container,
.ty-login-popup form > p.ty-text-center,
form:has(.ty-login__input) > .bp-social-login-wrapper,
form:has(.ty-login__input) > .bp-social-login-container,
form:has(.ty-login__input) > p.ty-text-center,
form:has(.ty-btn__login) > .bp-social-login-wrapper,
form:has(.ty-btn__login) > .bp-social-login-container,
form:has(.ty-btn__login) > p.ty-text-center {
    order: 4 !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
}

form[name="main_login_form"] > .ty-login-reglink,
form[name*="login"] > .ty-login-reglink,
form[name*="thread"] > .ty-login-reglink,
.ty-login-popup form > .ty-login-reglink,
form:has(.ty-login__input) > .ty-login-reglink,
form:has(.ty-btn__login) > .ty-login-reglink {
    order: 5 !important;
    width: 100% !important;
    margin-top: 10px !important;
}

/* 4. Form Control Groups & Inputs */
.ty-login-popup .ty-control-group,
.ty-login .ty-control-group {
    margin-bottom: 14px !important;
    position: relative !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Labels */
.ty-login-popup .ty-control-group__label,
.ty-login .ty-control-group__label {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #2D2422 !important;
    margin-bottom: 6px !important;
    display: block !important;
    text-align: left !important;
}

/* Mandatory asterisk in soft accent */
.ty-login-popup .cm-required,
.ty-login .cm-required {
    color: #8E1616 !important;
}

/* Input Fields */
.ty-login-popup .ty-login__input,
.ty-login .ty-login__input,
.ty-login-popup input[type="text"],
.ty-login-popup input[type="password"],
.ty-login input[type="text"],
.ty-login input[type="password"] {
    width: 100% !important;
    height: 46px !important;
    background: #FAF6F0 !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
    font-size: 14.5px !important;
    color: #1F1916 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    display: block !important;
}

.ty-login-popup .ty-login__input:focus,
.ty-login .ty-login__input:focus,
.ty-login-popup input[type="text"]:focus,
.ty-login-popup input[type="password"]:focus,
.ty-login input[type="text"]:focus,
.ty-login input[type="password"]:focus {
    border-color: #8E1616 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
}

/* 5. Password & Forgot Password row header */
.ty-control-group.ty-password-forgot {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    position: relative !important;
}

.ty-control-group.ty-password-forgot .ty-password-forgot__label {
    float: none !important;
    margin-bottom: 6px !important;
    flex: 0 0 auto !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #2D2422 !important;
}

.ty-control-group.ty-password-forgot .ty-password-forgot__a {
    float: none !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #8A786D !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    flex: 0 0 auto !important;
}

.ty-control-group.ty-password-forgot .ty-password-forgot__a:hover {
    color: #8E1616 !important;
    text-decoration: underline !important;
}

.ty-control-group.ty-password-forgot input {
    width: 100% !important;
    flex: 1 0 100% !important;
    box-sizing: border-box !important;
}

/* 6. Remember Me & Submit Button Container */
.ty-login-popup .buttons-container,
.ty-login .buttons-container {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 4px 0 16px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Remember me row */
.ty-login-popup .ty-login__remember-me,
.ty-login .ty-login__remember-me {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.ty-login-popup .ty-login__remember-me-label,
.ty-login .ty-login__remember-me-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13.5px !important;
    color: #5C4E46 !important;
    cursor: pointer !important;
    margin: 0 !important;
    user-select: none !important;
}

.ty-login-popup .ty-login__remember-me-label input[type="checkbox"],
.ty-login .ty-login__remember-me-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    border: 1.5px solid #C8B8A6 !important;
    accent-color: #8E1616 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

/* Submit button container */
.ty-login-popup .buttons-container .ty-float-right,
.ty-login .buttons-container .ty-float-right {
    order: 2 !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Main Sign In Button */
.ty-login-popup .ty-btn__login,
.ty-login .ty-btn__login,
.ty-login-popup button[name="dispatch[auth.login]"],
.ty-login button[name="dispatch[auth.login]"] {
    width: 100% !important;
    height: 48px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.28) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.ty-login-popup .ty-btn__login:hover,
.ty-login .ty-btn__login:hover,
.ty-login-popup button[name="dispatch[auth.login]"]:hover,
.ty-login button[name="dispatch[auth.login]"]:hover {
    background: #6E1010 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.38) !important;
}

/* 7. Social Login (Google) with Big & Crisp Icon */
.bp-social-login-wrapper,
.bp-social-login-container {
    margin: 0 0 14px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-social-divider {
    display: flex !important;
    align-items: center !important;
    text-align: center !important;
    margin: 14px 0 12px 0 !important;
}

.bp-social-divider-line {
    flex: 1 !important;
    height: 1px !important;
    background: #E8DFD8 !important;
}

.bp-social-divider-text,
.bp-social-divider span {
    padding: 0 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #9E9087 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
}

.bp-social-buttons {
    width: 100% !important;
}

/* Big, Luxury Google Button */
.bp-google-btn,
.cm-login-provider {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    height: 50px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(45, 36, 34, 0.05) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 18px !important;
}

.bp-google-btn:hover,
.cm-login-provider:hover {
    border-color: #8E1616 !important;
    background: #FFFDF9 !important;
    box-shadow: 0 4px 16px rgba(45, 36, 34, 0.10) !important;
    transform: translateY(-1px) !important;
}

/* Crisp & Big Google SVG Icon (28x28px) */
.bp-google-svg {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    flex-shrink: 0 !important;
    pointer-events: none !important;
}

/* Fallback img icon: enlarge to 28px */
.bp-google-btn img,
.cm-login-provider img {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    border: none !important;
    padding: 0 !important;
    pointer-events: none !important;
}

.bp-google-btn-text,
.bp-google-text {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #3C4043 !important;
    letter-spacing: 0.01em !important;
    pointer-events: none !important;
}

.cm-login-provider:not(:has(.bp-google-btn-text)):not(:has(.bp-google-text))::after {
    content: "Continue with Google" !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #3C4043 !important;
    letter-spacing: 0.01em !important;
}

.ty-login-popup p.ty-text-center,
.ty-login p.ty-text-center {
    margin: 8px 0 14px 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* 8. Registration Footer Link inside Modal */
.ty-login-reglink {
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px dashed #E8DFD8 !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ty-login-reglink__a {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    display: inline-block !important;
}

.ty-login-reglink__a:hover {
    color: #5C0B0B !important;
    text-decoration: underline !important;
}

/* 9. Standalone Login Page (/login/) and Registration Page (/profiles-add/) */
.ty-login,
.ty-account {
    max-width: 480px !important;
    margin: 24px auto 48px auto !important;
    background: #FFFDF9 !important;
    border: 1.5px solid #E8DFD8 !important;
    border-radius: 24px !important;
    padding: 36px 32px !important;
    box-shadow: 0 16px 40px rgba(45, 36, 34, 0.08) !important;
    box-sizing: border-box !important;
}

.ty-mainbox-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    text-align: center !important;
    margin-bottom: 24px !important;
    line-height: 1.2 !important;
}

/* Registration Inputs */
.ty-account .ty-control-group {
    margin-bottom: 16px !important;
}

.ty-account .ty-control-group__label {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #2D2422 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.ty-account input[type="text"],
.ty-account input[type="password"],
.ty-account input[type="email"],
.ty-account input[type="tel"] {
    width: 100% !important;
    height: 46px !important;
    background: #FAF6F0 !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
    font-size: 14.5px !important;
    color: #1F1916 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.ty-account input:focus {
    border-color: #8E1616 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
}

/* Hide Company Field in Digital Art Registration */
.ty-control-group:has(input[name*="company"]),
.ty-control-group:has(input[id*="company"]) {
    display: none !important;
}

/* Registration Submit Button */
.ty-account .ty-btn__primary,
.ty-account button[name="dispatch[profiles.add]"],
.ty-account .buttons-container button {
    width: 100% !important;
    height: 48px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.28) !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin-top: 20px !important;
}

.ty-account .ty-btn__primary:hover,
.ty-account button[name="dispatch[profiles.add]"]:hover,
.ty-account .buttons-container button:hover {
    background: #6E1010 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.38) !important;
}

/* Legal Consent Links in Registration */
.ty-account .ty-gdpr-agreement label,
.ty-account .ty-control-group:has(input[type="checkbox"]) label {
    font-size: 12.5px !important;
    color: #5C4E46 !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    line-height: 1.4 !important;
}

.ty-account .ty-gdpr-agreement a,
.ty-account a[href*="terms"],
.ty-account a[href*="privacy"] {
    color: #8E1616 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

/* Right sidebar info on Login page */
.auth-information-grid {
    margin-top: 24px !important;
}

.ty-login-info {
    background: #FAF6F0 !important;
    border: 1px dashed #D5C9BD !important;
    border-radius: 16px !important;
    padding: 24px !important;
    text-align: center !important;
}

.ty-login-info h4 {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 19px !important;
    color: #1F1916 !important;
    margin-bottom: 8px !important;
}

.ty-login-info p {
    font-size: 13.5px !important;
    color: #6B5E55 !important;
    margin-bottom: 16px !important;
    line-height: 1.4 !important;
}

.ty-login-info a {
    display: inline-block !important;
    padding: 10px 22px !important;
    background: #2D2422 !important;
    color: #FFFFFF !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.ty-login-info a:hover {
    background: #443734 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

/* ==========================================================================
   10. Product Page Action Elements & Interactive Modals
   ========================================================================== */

/* Ask a Question Link */
.ty-vendor-communication__ask-question,
.ty-discussion__ask-question,
a[data-ca-target-id*="new_thread"],
a[title="Ask a question"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #4A3B32 !important;
    text-decoration: none !important;
    padding: 7px 16px !important;
    background: #FAF7F2 !important;
    border: 1.5px solid #EADFD5 !important;
    border-radius: 20px !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin: 8px 0 12px 0 !important;
    box-shadow: 0 1px 4px rgba(45, 36, 34, 0.04) !important;
}

.ty-vendor-communication__ask-question:hover,
.ty-discussion__ask-question:hover,
a[data-ca-target-id*="new_thread"]:hover,
a[title="Ask a question"]:hover {
    background: #FFFFFF !important;
    color: #8E1616 !important;
    border-color: #8E1616 !important;
    box-shadow: 0 3px 12px rgba(142, 22, 22, 0.12) !important;
    transform: translateY(-1px) !important;
}

a[data-ca-target-id*="new_thread"] .ty-icon-chat,
a[title="Ask a question"] .ty-icon-chat {
    color: #8E1616 !important;
    font-size: 15px !important;
}

/* Digital Delivery Trust Badge */
p.ty-edp-description,
.ty-edp-description {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #FAF5EB !important;
    border: 1px solid #E6D9C5 !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
    margin: 8px 0 16px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #614D3C !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}

p.ty-edp-description::before,
.ty-edp-description::before {
    content: "⚡" !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

/* Wishlist Icon Button */
.ty-add-to-wish,
.ty-btn__wishlist,
a[data-ca-dispatch*="wishlist.add"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: #FAF7F2 !important;
    border: 1.5px solid #E2D5C8 !important;
    border-radius: 12px !important;
    color: #8A786D !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 2px 6px rgba(45, 36, 34, 0.04) !important;
    cursor: pointer !important;
    margin: 10px auto !important;
    padding: 0 !important;
}

.ty-add-to-wish:hover,
.ty-btn__wishlist:hover,
a[data-ca-dispatch*="wishlist.add"]:hover {
    background: #FFFFFF !important;
    border-color: #8E1616 !important;
    color: #8E1616 !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.18) !important;
    transform: translateY(-1px) !important;
}

.ty-add-to-wish .ty-icon-heart {
    font-size: 18px !important;
    color: inherit !important;
}

/* View All Variations Link & Container */
.ty-popup-tabs,
.ty-popup-tabs__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
    text-align: center !important;
    border-top: 1px dashed #E8DFD8 !important;
    padding-top: 16px !important;
}

.ty-popup-tabs__item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    margin: 0 auto !important;
}

.ty-popup-tabs__item a,
.ty-popup-tabs__item a.cm-dialog-opener,
a[data-ca-target-id*="content_block_popup_"],
.ty-product-variation-list-link,
a:has(.ty-icon-docs),
a:has(.ty-icon-popup),
a[data-ca-target-id*="variation"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #8A786D !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 0.15s ease !important;
    margin: 0 !important;
}

.ty-popup-tabs__item a:hover,
.ty-popup-tabs__item a.cm-dialog-opener:hover,
a[data-ca-target-id*="content_block_popup_"]:hover,
.ty-product-variation-list-link:hover,
a:has(.ty-icon-docs):hover,
a:has(.ty-icon-popup):hover,
a[data-ca-target-id*="variation"]:hover {
    color: #8E1616 !important;
    text-decoration: underline !important;
}

.ty-popup-tabs__item .ty-icon-popup,
.ty-popup-tabs__icon,
.ty-icon-popup,
.ty-product-variation-list-link .ty-icon-docs,
a:has(.ty-icon-docs) .ty-icon-docs {
    color: #8E1616 !important;
    font-size: 15px !important;
}

/* Variations Table inside Modal Dialog */
.ui-dialog .ty-variations-list__wrapper {
    overflow-x: auto !important;
    margin-top: 8px !important;
    -webkit-overflow-scrolling: touch !important;
}

.ui-dialog table.ty-variations-list {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1.5px solid #E8DFD8 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    margin-bottom: 8px !important;
}

.ui-dialog table.ty-variations-list th {
    background: #FAF7F2 !important;
    color: #4A3B32 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 12px 14px !important;
    border-bottom: 1.5px solid #E8DFD8 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

.ui-dialog table.ty-variations-list td {
    padding: 12px 14px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #F0E8E0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #2D2422 !important;
    font-size: 14px !important;
}

.ui-dialog table.ty-variations-list tr:last-child td {
    border-bottom: none !important;
}

.ui-dialog table.ty-variations-list tr:hover td {
    background: #FFFDF9 !important;
}

.ui-dialog table.ty-variations-list .ty-pict {
    border-radius: 8px !important;
    border: 1px solid #E8DFD8 !important;
    object-fit: cover !important;
}

.ui-dialog table.ty-variations-list .ty-price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
}

.ui-dialog table.ty-variations-list .ty-variations-list__controls {
    text-align: right !important;
}

.ui-dialog table.ty-variations-list .ty-variations-list__controls form {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
}

.ui-dialog table.ty-variations-list .ty-btn__primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 18px !important;
    height: 38px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(142, 22, 22, 0.2) !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
}

.ui-dialog table.ty-variations-list .ty-btn__primary:hover {
    background: #6E1010 !important;
    transform: translateY(-1px) !important;
}

.ui-dialog table.ty-variations-list .ty-add-to-wish {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #FAF7F2 !important;
    border: 1.5px solid #E2D5C8 !important;
    border-radius: 8px !important;
    color: #8A786D !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.ui-dialog table.ty-variations-list .ty-add-to-wish:hover {
    border-color: #8E1616 !important;
    color: #8E1616 !important;
    background: #FFFFFF !important;
}

/* Vendor Communication Thread Modal Form */
div[id*="new_thread_dialog"],
.ty-vendor-communication-view-thread {
    background: transparent !important;
}

.ty-vendor-communication-product-info-container {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
}

.ty-vendor-communication-product-info-image img {
    border-radius: 8px !important;
    object-fit: cover !important;
}

.ty-vendor-communication-product-info-header h3 {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    margin: 0 !important;
}

/* Textarea in modals */
.ui-dialog textarea,
.ui-dialog .ty-input-textarea {
    width: 100% !important;
    background: #FAF6F0 !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    font-size: 14.5px !important;
    color: #1F1916 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.ui-dialog textarea:focus,
.ui-dialog .ty-input-textarea:focus {
    border-color: #8E1616 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
}

/* Submit button in modals */
.ui-dialog .buttons-container button,
.ui-dialog .buttons-container .ty-btn__primary {
    width: 100% !important;
    height: 48px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.28) !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.ui-dialog .buttons-container button:hover,
.ui-dialog .buttons-container .ty-btn__primary:hover {
    background: #6E1010 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.38) !important;
}


/* ==========================================================================
   TAGS HUB & EDITORIAL TAG PAGES (v46)
   ========================================================================== */
body.dispatch-tags_view .ty-mainbox-title {
    display: none !important;
}

body.dispatch-tags_view .ty-no-items {
    display: none !important;
}

.bp-tag-page-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 10px 20px 60px;
    box-sizing: border-box;
    color: #1e293b;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Editorial Card */
.bp-tag-editorial-card {
    background: #fffdfa;
    border: 1px solid #f0e6dc;
    border-radius: 24px;
    padding: 36px 40px;
    margin-bottom: 48px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.bp-tag-editorial-card .tag-images {
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
}

.bp-tag-editorial-card .tag-images picture {
    display: inline-block;
    max-width: 580px;
    width: 100%;
}

.bp-tag-editorial-card .imgtag {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: contain;
    border-radius: 16px;
    border: 1px solid rgba(186, 24, 27, 0.15);
    box-shadow: 0 16px 36px rgba(186, 24, 27, 0.12), 0 2px 8px rgba(0,0,0,0.06);
    transition: transform 0.3s ease;
}

.bp-tag-editorial-card .imgtag:hover {
    transform: scale(1.015);
}

.bp-tag-editorial-card h1 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 32px;
    font-weight: 700;
    color: #1e293b;
    text-align: center;
    margin-bottom: 24px;
    line-height: 1.25;
}

.bp-tag-editorial-card h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    color: #ba181b;
    margin-top: 32px;
    margin-bottom: 12px;
    line-height: 1.3;
}

.bp-tag-editorial-card p {
    font-size: 16px;
    line-height: 1.75;
    color: #475569;
    margin-bottom: 16px;
}

.bp-tag-editorial-card a {
    color: #ba181b;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Section Headers */
.bp-tag-section-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 32px;
}

.bp-tag-section-badge {
    display: inline-block;
    background: #fef2f2;
    color: #ba181b;
    border: 1px solid #fecaca;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

.bp-tag-section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 10px;
    line-height: 1.3;
}

.bp-tag-section-subtitle {
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* 4 Core Collections Bar */
.bp-tag-collections-section {
    margin-bottom: 48px;
}

.bp-tag-collections-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.bp-tag-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px 18px;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.02);
}

.bp-tag-cat-card:hover {
    border-color: #ba181b;
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(186, 24, 27, 0.1);
    text-decoration: none;
}

.bp-tag-cat-icon {
    font-size: 32px;
    margin-bottom: 12px;
}

.bp-tag-cat-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 6px;
}

.bp-tag-cat-desc {
    font-size: 13px;
    color: #64748b;
    line-height: 1.45;
    margin-bottom: 12px;
    flex-grow: 1;
}

.bp-tag-cat-price {
    display: inline-block;
    background: #fef2f2;
    color: #ba181b;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 9999px;
}

/* CTA Banner */
.bp-tag-cta-banner {
    background: linear-gradient(135deg, #ba181b 0%, #780000 100%);
    border-radius: 20px;
    padding: 38px 42px;
    margin-bottom: 48px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    box-shadow: 0 16px 40px rgba(186, 24, 27, 0.25);
}

.bp-tag-cta-content {
    flex: 1;
}

.bp-tag-cta-badge {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    color: #fff;
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
    backdrop-filter: blur(4px);
}

.bp-tag-cta-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 12px;
    line-height: 1.25;
    color: #fff;
}

.bp-tag-cta-desc {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255,255,255,0.9);
    margin: 0 0 18px;
    max-width: 620px;
}

.bp-tag-cta-features {
    display: flex;
    gap: 16px;
    font-size: 13px;
    font-weight: 600;
    color: #fed7aa;
}

.bp-tag-cta-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 250px;
}

.bp-tag-cta-price-box {
    margin-bottom: 14px;
}

.bp-tag-cta-price-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255,255,255,0.8);
}

.bp-tag-cta-price-val {
    display: block;
    font-size: 36px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
}

.bp-tag-cta-price-sub {
    display: block;
    font-size: 12px;
    color: rgba(255,255,255,0.8);
}

.bp-tag-cta-btn {
    display: inline-block;
    background: #fff;
    color: #ba181b;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 9999px;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
    transition: all 0.2s ease;
}

.bp-tag-cta-btn:hover {
    background: #fffdf5;
    color: #780000;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.22);
    text-decoration: none;
}

/* 3-Step Print Freedom Box */
.bp-tag-freedom-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 28px;
    margin-bottom: 48px;
}

.bp-tag-freedom-item {
    position: relative;
    padding-left: 12px;
}

.bp-tag-freedom-step {
    display: inline-block;
    background: #ba181b;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 6px;
    margin-bottom: 8px;
}

.bp-tag-freedom-item h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 6px;
}

.bp-tag-freedom-item p {
    font-size: 13px;
    line-height: 1.55;
    color: #64748b;
    margin: 0;
}

/* Fallback Showcase */
.bp-tag-fallback-showcase {
    margin-bottom: 48px;
}

.bp-tag-fallback-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.bp-tag-fallback-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
    transition: all 0.25s ease;
}

.bp-tag-fallback-card:hover {
    border-color: #ba181b;
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(186, 24, 27, 0.12);
}

.bp-tag-fallback-thumb {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
    background: #f1f5f9;
}

.bp-tag-fallback-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.bp-tag-fallback-card:hover .bp-tag-fallback-thumb img {
    transform: scale(1.05);
}

.bp-tag-fallback-pill {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(15, 23, 42, 0.75);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 9999px;
    backdrop-filter: blur(4px);
}

.bp-tag-fallback-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.bp-tag-fallback-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 10px;
    line-height: 1.35;
    min-height: 40px;
}

.bp-tag-fallback-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.bp-tag-fallback-price {
    font-size: 16px;
    font-weight: 800;
    color: #ba181b;
}

.bp-tag-fallback-dpi {
    font-size: 11px;
    font-weight: 600;
    color: #15803d;
    background: #dcfce7;
    padding: 2px 7px;
    border-radius: 9999px;
}

.bp-tag-fallback-btn {
    display: block;
    text-align: center;
    background: #ba181b;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s ease;
    margin-top: auto;
}

.bp-tag-fallback-btn:hover {
    background: #780000;
    color: #fff;
    text-decoration: none;
}

/* Related Articles */
.bp-tag-pages-section {
    margin-bottom: 30px;
}

.bp-tag-pages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.bp-tag-page-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
}

.bp-tag-page-card:hover {
    border-color: #ba181b;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
    text-decoration: none;
}

.bp-tag-page-icon {
    font-size: 20px;
    margin-bottom: 8px;
}

.bp-tag-page-title {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 8px;
    line-height: 1.4;
    flex-grow: 1;
}

.bp-tag-page-arrow {
    font-size: 12px;
    font-weight: 700;
    color: #ba181b;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 992px) {
    .bp-tag-collections-grid,
    .bp-tag-fallback-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bp-tag-cta-banner {
        flex-direction: column;
        text-align: center;
    }
    .bp-tag-cta-desc {
        margin: 0 auto 18px;
    }
    .bp-tag-cta-features {
        justify-content: center;
    }
    .bp-tag-freedom-box {
        grid-template-columns: 1fr;
    }
    .bp-tag-pages-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .bp-tag-editorial-card {
        padding: 24px 18px;
    }
    .bp-tag-editorial-card h1 {
        font-size: 24px;
    }
    .bp-tag-collections-grid,
    .bp-tag-fallback-grid,
    .bp-tag-pages-grid {
        grid-template-columns: 1fr;
    }
    .bp-tag-cta-banner {
        padding: 28px 20px;
    }
    .bp-tag-cta-title {
        font-size: 22px;
    }
    .bp-tag-cta-features {
        flex-direction: column;
        gap: 8px;
    }
}


/* ==========================================================================
   BLOG POST CONVERSION HUB & SILO LINKING (v47)
   ========================================================================== */
.bp-blog-conversion-hub {
    margin-top: 48px;
    padding-top: 32px;
    box-sizing: border-box;
    clear: both;
}

.bp-blog-divider {
    text-align: center;
    margin: 40px 0 36px;
    position: relative;
}

.bp-blog-divider::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #e2e8f0;
    z-index: 1;
}

.bp-blog-divider-icon {
    position: relative;
    z-index: 2;
    background: #fffdfa;
    padding: 0 16px;
    color: #ba181b;
    font-size: 14px;
    letter-spacing: 0.2em;
}

.bp-blog-tags-cloud {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px 20px;
    margin-top: 32px;
}

.bp-blog-tags-label {
    font-weight: 700;
    font-size: 13px;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 6px;
}

.bp-blog-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bp-blog-tag-pill {
    display: inline-block;
    background: #fff;
    color: #1e293b;
    border: 1px solid #cbd5e1;
    padding: 5px 12px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.bp-blog-tag-pill:hover {
    background: #ba181b;
    color: #fff;
    border-color: #ba181b;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(186, 24, 27, 0.2);
    text-decoration: none;
}


/* Fix typography specificity inside blog wysiwyg content */
.bp-tag-cta-banner h2,
.bp-tag-cta-banner .bp-tag-cta-title,
.ty-wysiwyg-content .bp-tag-cta-banner h2,
.ty-wysiwyg-content .bp-tag-cta-banner .bp-tag-cta-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.bp-tag-cta-banner p,
.bp-tag-cta-banner .bp-tag-cta-desc,
.ty-wysiwyg-content .bp-tag-cta-banner p,
.ty-wysiwyg-content .bp-tag-cta-banner .bp-tag-cta-desc {
    color: rgba(255, 255, 255, 0.95) !important;
}

.bp-tag-cta-features span {
    color: #fed7aa !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}


/* ==========================================================================
   BLOG POST CONVERSION HUB & SILO LINKING (v49)
   ========================================================================== */
.bp-blog-conversion-hub {
    margin-top: 48px;
    padding-top: 24px;
    box-sizing: border-box;
    clear: both;
    width: 100%;
}

.bp-blog-divider {
    text-align: center;
    margin: 36px 0 32px;
    position: relative;
}

.bp-blog-divider::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #e2e8f0;
    z-index: 1;
}

.bp-blog-divider-icon {
    position: relative;
    z-index: 2;
    background: #fffdfa;
    padding: 0 16px;
    color: #ba181b;
    font-size: 14px;
    letter-spacing: 0.2em;
}

/* 4 Core Collections in Blog Column */
.bp-blog-conversion-hub .bp-tag-collections-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
}

/* CTA Banner in Blog Column */
.bp-blog-conversion-hub .bp-tag-cta-banner {
    flex-direction: column !important;
    text-align: center !important;
    padding: 32px 24px !important;
    gap: 22px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

.bp-blog-conversion-hub .bp-tag-cta-desc {
    margin: 0 auto 16px !important;
}

.bp-blog-conversion-hub .bp-tag-cta-features {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px 16px !important;
}

.bp-blog-conversion-hub .bp-tag-cta-action {
    width: 100% !important;
    min-width: 0 !important;
}

/* 3-Step Freedom Box in Blog Column */
.bp-blog-conversion-hub .bp-tag-freedom-box {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 20px !important;
}

/* Tag Cloud in Blog */
.bp-blog-tags-cloud {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px 20px;
    margin-top: 32px;
}

.bp-blog-tags-label {
    font-weight: 700;
    font-size: 13px;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 6px;
}

.bp-blog-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bp-blog-tag-pill {
    display: inline-block;
    background: #fff;
    color: #1e293b;
    border: 1px solid #cbd5e1;
    padding: 5px 12px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.bp-blog-tag-pill:hover {
    background: #ba181b;
    color: #fff;
    border-color: #ba181b;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(186, 24, 27, 0.2);
    text-decoration: none;
}

/* ==========================================================================
   Category Cluster Editorial Styling & BLUF Card (.cluster-seo-content)
   ========================================================================== */
.cluster-seo-content {
    background: #FFFDF9 !important;
    border: 1px solid rgba(142, 22, 22, 0.12) !important;
    border-radius: 18px !important;
    padding: 28px 32px !important;
    margin: 10px 0 24px 0 !important;
    box-shadow: 0 4px 20px rgba(74, 37, 23, 0.05) !important;
    position: relative !important;
}

.cluster-seo-content h2 {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #3B2219 !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
}

.cluster-seo-content p.lead {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: #5A3E36 !important;
    margin: 0 0 18px 0 !important;
    font-weight: 400 !important;
}

.cluster-seo-content .cluster-features {
    background: #FAF5EF !important;
    border: 1px dashed rgba(142, 22, 22, 0.2) !important;
    border-radius: 12px !important;
    padding: 18px 24px !important;
    margin: 16px 0 !important;
}

.cluster-seo-content .cluster-features ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.cluster-seo-content .cluster-features li {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    color: #4A332D !important;
    position: relative !important;
    padding-left: 24px !important;
    margin: 0 !important;
}

.cluster-seo-content .cluster-features li::before {
    content: "✦" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: var(--bp-primary, #8E1616) !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

.cluster-seo-content .cluster-features strong {
    color: #2D1810 !important;
    font-weight: 700 !important;
}

.cluster-seo-content > p:last-child {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #6B524A !important;
    margin: 14px 0 0 0 !important;
    font-style: italic !important;
}

/* ==========================================================================
   Category Page Bottom Freedom Hub & FAQ (.bp-category-freedom-hub)
   ========================================================================== */
.bp-category-freedom-hub {
    margin: 50px 0 30px 0 !important;
    padding: 36px 32px !important;
    background: #FFFDF9 !important;
    border: 1px solid rgba(142, 22, 22, 0.14) !important;
    border-radius: 20px !important;
    box-shadow: 0 6px 24px rgba(74, 37, 23, 0.05) !important;
}

.bp-category-freedom-header {
    text-align: center !important;
    margin-bottom: 28px !important;
}

.bp-category-freedom-badge {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #8E1616 !important;
    background: rgba(142, 22, 22, 0.08) !important;
    padding: 6px 16px !important;
    border-radius: 9999px !important;
    margin-bottom: 12px !important;
}

.bp-category-freedom-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #2D1810 !important;
    margin: 0 0 8px 0 !important;
}

.bp-category-freedom-sub {
    font-size: 15px !important;
    color: #6B524A !important;
    margin: 0 !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.bp-category-freedom-hub .bp-tag-freedom-box {
    margin-top: 24px !important;
    margin-bottom: 28px !important;
}

/* Guarantee Strip */
.bp-category-guarantee-strip {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
    margin: 28px 0 36px 0 !important;
}

.bp-category-guarantee-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    background: #FAF5EF !important;
    border: 1px solid rgba(142, 22, 22, 0.1) !important;
    border-radius: 14px !important;
    padding: 18px 20px !important;
}

.bp-category-guarantee-icon {
    font-size: 28px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.bp-category-guarantee-info h4 {
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #2D1810 !important;
    margin: 0 0 4px 0 !important;
}

.bp-category-guarantee-info p {
    font-size: 13px !important;
    color: #6B524A !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

/* Category FAQ Grid */
.bp-category-faq {
    border-top: 1px solid rgba(142, 22, 22, 0.12) !important;
    padding-top: 28px !important;
    margin-top: 28px !important;
}

.bp-category-faq-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #2D1810 !important;
    text-align: center !important;
    margin: 0 0 24px 0 !important;
}

.bp-category-faq-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
}

.bp-category-faq-item {
    background: #FFFFFF !important;
    border: 1px solid #EAE0D5 !important;
    border-radius: 12px !important;
    padding: 20px 22px !important;
    box-shadow: 0 2px 8px rgba(74, 37, 23, 0.03) !important;
}

.bp-category-faq-item h5 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2D1810 !important;
    margin: 0 0 8px 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
}

.bp-category-faq-item h5 span {
    color: #8E1616 !important;
    font-size: 16px !important;
}

.bp-category-faq-item p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #5A3E36 !important;
    margin: 0 !important;
}

@media (max-width: 900px) {
    .bp-category-guarantee-strip {
        grid-template-columns: 1fr !important;
    }
    .bp-category-faq-grid {
        grid-template-columns: 1fr !important;
    }
    .bp-category-freedom-hub {
        padding: 24px 18px !important;
    }
}

/* ==========================================================================
   Post-Purchase Experience & Timeline (.bp-post-purchase-card)
   ========================================================================== */
.bp-post-purchase-card {
    background: #FFFDF9 !important;
    border: 1px solid rgba(142, 22, 22, 0.16) !important;
    border-radius: 20px !important;
    padding: 36px 32px !important;
    margin: 28px 0 32px 0 !important;
    box-shadow: 0 8px 28px rgba(74, 37, 23, 0.06) !important;
}

.bp-post-purchase-header {
    text-align: center !important;
    margin-bottom: 32px !important;
}

.bp-post-purchase-badge {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #8E1616 !important;
    background: rgba(142, 22, 22, 0.08) !important;
    padding: 6px 18px !important;
    border-radius: 9999px !important;
    margin-bottom: 12px !important;
}

.bp-post-purchase-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #2D1810 !important;
    margin: 0 0 10px 0 !important;
}

.bp-post-purchase-desc {
    font-size: 15px !important;
    color: #6B524A !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

.bp-post-purchase-timeline {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin: 32px 0 !important;
}

.bp-timeline-step {
    background: #FAF5EF !important;
    border: 1px solid rgba(142, 22, 22, 0.12) !important;
    border-radius: 14px !important;
    padding: 24px 20px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
}

.bp-timeline-step.active {
    border-color: #8E1616 !important;
    box-shadow: 0 4px 16px rgba(142, 22, 22, 0.08) !important;
    background: #FFFDF9 !important;
}

.bp-step-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    border-radius: 9999px !important;
    margin-bottom: 14px !important;
}

.bp-step-body h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2D1810 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.35 !important;
}

.bp-step-body p {
    font-size: 13.5px !important;
    color: #5A3E36 !important;
    line-height: 1.55 !important;
    margin: 0 0 14px 0 !important;
    flex-grow: 1 !important;
}

.bp-step-time {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    background: rgba(142, 22, 22, 0.06) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
}

.bp-post-purchase-support {
    background: #FFFFFF !important;
    border: 1px dashed rgba(142, 22, 22, 0.2) !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    text-align: center !important;
}

.bp-post-purchase-support p {
    font-size: 14px !important;
    color: #5A3E36 !important;
    margin: 0 !important;
}

.bp-post-purchase-support a {
    color: #8E1616 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

@media (max-width: 900px) {
    .bp-post-purchase-timeline {
        grid-template-columns: 1fr !important;
    }
    .bp-post-purchase-card {
        padding: 24px 18px !important;
    }
}

/* ==========================================================================
   BestPinUp.art — Review Image Lightbox (Swiper Previewer Modal)
   ========================================================================== */
.ui-dialog.ty-swiper-previewer__dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: 90vw !important;
    width: auto !important;
    max-height: 90vh !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    z-index: 2147483647 !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ui-dialog-content,
.ui-dialog.ty-swiper-previewer__dialog .object-container,
.ui-dialog.ty-swiper-previewer__dialog .ty-swiper-previewer__object-container {
    background: transparent !important;
    padding: 0 !important;
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    height: auto !important;
    max-height: 90vh !important;
    width: 100% !important;
    max-width: 100% !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ty-swiper-previewer {
    background: transparent !important;
    overflow: hidden !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ty-swiper-previewer__container {
    max-width: 85vw !important;
    max-height: 85vh !important;
    overflow: hidden !important;
    overflow-x: hidden !important;
    width: 100% !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ty-swiper-previewer__wrapper,
.ui-dialog.ty-swiper-previewer__dialog .ty-swiper-previewer__slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.ui-dialog.ty-swiper-previewer__dialog img,
.ui-dialog.ty-swiper-previewer__dialog .ty-swiper-previewer__img {
    max-width: 85vw !important;
    max-height: 85vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.7) !important;
    display: block !important;
    margin: 0 auto !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ui-dialog-titlebar {
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    height: 0 !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ui-dialog-titlebar-close {
    position: fixed !important;
    top: 24px !important;
    right: 28px !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(30, 20, 16, 0.85) !important;
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    line-height: 1 !important;
    transition: all 0.2s ease !important;
    z-index: 2147483647 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
}

.ui-dialog.ty-swiper-previewer__dialog .ui-dialog-titlebar-close:hover {
    background: #8E1616 !important;
    border-color: #8E1616 !important;
    transform: scale(1.1) !important;
}

/* Hide Review Carousel Everywhere */
.reviews-carousel,
#verticalCarousel,
.ty-carousel-container:has(#verticalCarousel) {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

/* ==========================================================================
   BestPinUp.art — Editorial Magazine Blog Redesign & SEO Tag Linking
   ========================================================================== */
.ty-blog-grid {
    box-sizing: border-box !important;
}

/* Blog Post Main Card */
.ty-blog-grid .ty-blog__post-title,
.ty-blog-grid h1.ty-mainbox-title {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #2C1810 !important;
    line-height: 1.25 !important;
    margin: 10px 0 16px 0 !important;
    letter-spacing: -0.01em !important;
}

/* Editorial Metadata Bar */
.ty-blog-grid .ty-blog__date,
.ty-blog-grid .ty-blog__author {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13.5px !important;
    color: #7A695E !important;
    font-weight: 600 !important;
}

.ty-blog-grid .ty-blog__author {
    margin-left: 14px !important;
    padding-left: 14px !important;
    border-left: 1px solid #D8CCC3 !important;
    color: #8E1616 !important;
}

/* Blog Hero Image */
.ty-blog-grid .ty-blog__img-block {
    margin: 20px 0 28px 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 32px rgba(45, 36, 34, 0.08) !important;
    border: 1px solid #E8DFD8 !important;
    background: #FAF7F2 !important;
}

.ty-blog-grid .ty-blog__img-block img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
}

/* Article Typography (Rich & Readable) */
.ty-blog-grid .ty-wysiwyg-content {
    font-size: 17.5px !important;
    line-height: 1.75 !important;
    color: #382D26 !important;
    font-family: var(--bp-font-sans, "Inter", -apple-system, sans-serif) !important;
}

.ty-blog-grid .ty-wysiwyg-content p {
    margin-bottom: 22px !important;
}

.ty-blog-grid .ty-wysiwyg-content h2 {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    margin-top: 36px !important;
    margin-bottom: 16px !important;
    line-height: 1.3 !important;
}

.ty-blog-grid .ty-wysiwyg-content h3 {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #3D261E !important;
    margin-top: 28px !important;
    margin-bottom: 12px !important;
    line-height: 1.35 !important;
}

.ty-blog-grid .ty-wysiwyg-content blockquote {
    border-left: 4px solid #8E1616 !important;
    background: #FAF6F0 !important;
    border-radius: 0 14px 14px 0 !important;
    padding: 18px 24px !important;
    margin: 28px 0 !important;
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-style: italic !important;
    font-size: 18px !important;
    color: #4A352A !important;
    line-height: 1.6 !important;
}

.ty-blog-grid .ty-wysiwyg-content ul,
.ty-blog-grid .ty-wysiwyg-content ol {
    margin: 16px 0 24px 20px !important;
    padding-left: 10px !important;
}

.ty-blog-grid .ty-wysiwyg-content li {
    margin-bottom: 10px !important;
    line-height: 1.65 !important;
}

/* Blog Sidebar (.span4) */
.span4 .ty-sidebox-important {
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 18px !important;
    padding: 22px 20px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 2px 10px rgba(45, 36, 34, 0.03) !important;
    box-sizing: border-box !important;
}

.span4 .ty-sidebox-important__title {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    border-bottom: 1.5px solid #E8DFD8 !important;
    padding-bottom: 10px !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: 0.02em !important;
}

/* Recent Posts List in Sidebar */
.span4 .ty-blog-sidebox__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.span4 .ty-blog-sidebox__item {
    padding: 10px 0 !important;
    border-bottom: 1px dashed #E2D7CE !important;
    margin: 0 !important;
}

.span4 .ty-blog-sidebox__item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.span4 .ty-blog-sidebox__item a {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2C1810 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    display: block !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
}

.span4 .ty-blog-sidebox__item a:hover {
    color: #8E1616 !important;
    transform: translateX(3px) !important;
}

/* Tags Cloud in Sidebar & Blog Footer */
.span4 .ty-tag-cloud,
.bp-blog-tags-cloud .bp-blog-tags-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
    margin-top: 6px !important;
}

.span4 .ty-tag-cloud__item,
.bp-blog-tags-cloud .bp-blog-tag-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E0D4C8 !important;
    border-radius: 20px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #524239 !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 1px 3px rgba(45, 36, 34, 0.03) !important;
}

.span4 .ty-tag-cloud__item:hover,
.bp-blog-tags-cloud .bp-blog-tag-pill:hover {
    background: #8E1616 !important;
    border-color: #8E1616 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(142, 22, 22, 0.22) !important;
}

/* RSS Feed Badge */
.span4 a.rss-feed {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #C25E00 !important;
    background: #FFF4E6 !important;
    border: 1px solid #F5D0A9 !important;
    border-radius: 12px !important;
    padding: 6px 14px !important;
    text-decoration: none !important;
    margin-top: 10px !important;
    transition: all 0.2s ease !important;
}

.span4 a.rss-feed:hover {
    background: #FFE8CC !important;
    border-color: #E89E50 !important;
    transform: translateY(-1px) !important;
}

/* Blog Listing Page (/blog/) */
.ty-blog__item {
    background: #FAF7F2 !important;
    border: 1px solid #E8DFD8 !important;
    border-radius: 20px !important;
    padding: 28px !important;
    margin-bottom: 32px !important;
    box-shadow: 0 4px 16px rgba(45, 36, 34, 0.03) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ty-blog__item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(45, 36, 34, 0.07) !important;
}

.ty-blog__item .ty-blog__post-title {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #2C1810 !important;
    margin-bottom: 10px !important;
}

.ty-blog__item a {
    text-decoration: none !important;
}

.ty-blog__item a:hover .ty-blog__post-title {
    color: #8E1616 !important;
}

/* ==========================================================================
   BestPinUp.art — Blog Right Sidebar: Popular Styles Cards (Stitch Aesthetic)
   ========================================================================== */
.span4 .ty-template-small,
.ty-blog-sidebox .ty-template-small,
ul.ty-template-small {
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.span4 .ty-template-small::before,
.ty-blog-sidebox .ty-template-small::before {
    content: "✦ Popular Studio Styles" !important;
    display: block !important;
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    padding-bottom: 8px !important;
    border-bottom: 1.5px solid #E2D5C8 !important;
    margin-bottom: 2px !important;
    letter-spacing: 0.3px !important;
}

.ty-template-small__item {
    display: block !important;
    background: #FFFDF9 !important;
    border: 1.5px solid #E2D5C8 !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
    box-shadow: 0 3px 10px rgba(45, 36, 34, 0.04) !important;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
    position: relative !important;
    text-decoration: none !important;
    overflow: hidden !important;
    margin: 0 0 12px 0 !important;
}

.ty-template-small__item:hover {
    transform: translateY(-2px) !important;
    border-color: #8E1616 !important;
    box-shadow: 0 8px 22px rgba(142, 22, 22, 0.14) !important;
}

.ty-template-small__item form {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.ty-template-small__item-img {
    width: 84px !important;
    height: 112px !important;
    flex-shrink: 0 !important;
    float: none !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1.5px solid #E2D5C8 !important;
    background: #FAF7F2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ty-template-small__item-img a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.ty-template-small__item-img img,
.ty-template-small__item-img .ty-pict {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.25s ease !important;
}

.ty-template-small__item:hover .ty-template-small__item-img img {
    transform: scale(1.06) !important;
}

.ty-template-small__item-description {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-left: 0 !important;
    float: none !important;
}

.ty-template-small__item-description bdi,
.ty-template-small__item-description a.product-title,
.ty-template-small__item-description a {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #2D2422 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    white-space: normal !important;
    word-break: normal !important;
}

.ty-template-small__item:hover .ty-template-small__item-description a {
    color: #8E1616 !important;
}

.ty-template-small__item-rating {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    color: #D4AF37 !important;
    font-size: 12px !important;
    margin-top: 1px !important;
}

.ty-template-small__item-rating .ty-icon-star,
.ty-template-small__item-rating .ty-stars__icon {
    color: #D4AF37 !important;
}

.ty-template-small__item-price-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-top: 3px !important;
}

.bp-sidebar-style-price {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
}

.bp-sidebar-style-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #8E1616 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    padding: 2px 7px !important;
    background: #FAF7F2 !important;
    border: 1px solid #E2D5C8 !important;
    border-radius: 6px !important;
    line-height: 1.4 !important;
    transition: all 0.2s ease !important;
}

.bp-sidebar-style-btn:hover {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border-color: #8E1616 !important;
}

/* Blog Sidebar Sticky & RSS Feed Removal */
@media (min-width: 768px) {
    html,
    body.dispatch-pages-view,
    body.dispatch-pages-view #tygh_container,
    body.dispatch-pages-view #tygh_main_container,
    body.dispatch-pages-view .ty-helper-container {
        overflow: visible !important;
        overflow-x: clip !important;
    }

    /* Neutralize Bootstrap 2.3 pseudo-elements clearfix table boxes in flex mode */
    .row-fluid:has(.ty-blog-grid)::before,
    .row-fluid:has(.ty-blog-grid)::after,
    .row-fluid:has(.ty-template-small)::before,
    .row-fluid:has(.ty-template-small)::after {
        display: none !important;
        content: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .row-fluid:has(.ty-blog-grid),
    .row-fluid:has(.ty-template-small) {
        display: flex !important;
        align-items: flex-start !important;
        gap: 36px !important;
    }

    .row-fluid:has(.ty-blog-grid) > .span12,
    .row-fluid:has(.ty-template-small) > .span12,
    .row-fluid > .ty-blog-grid {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        float: none !important;
    }

    .row-fluid > .span4:has(.ty-template-small),
    .row-fluid:has(.ty-blog-grid) > .span4 {
        flex: 0 0 320px !important;
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        float: none !important;
        position: sticky !important;
        top: 85px !important;
        align-self: flex-start !important;
        z-index: 50 !important;
    }
}

.rss-feed, .ty-rss-feed, a.rss-feed, [class*="rss-feed"], [id*="rss"] {
    display: none !important;
}

/* ==========================================================================
   BestPinUp.art — Contact Us Form & Feedback Concierge (Stitch Aesthetic)
   ========================================================================== */
.ty-form-builder {
    max-width: 680px !important;
    margin: 20px auto 40px auto !important;
    background: #FFFDF9 !important;
    border: 1.5px solid #E2D5C8 !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 32px rgba(45, 36, 34, 0.06) !important;
    padding: 36px 40px !important;
    box-sizing: border-box !important;
}

.ty-form-builder__description {
    max-width: 680px !important;
    margin: 0 auto 16px auto !important;
    text-align: center !important;
    font-size: 15px !important;
    color: #5C4E46 !important;
    line-height: 1.6 !important;
}

.ty-form-builder form {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

.ty-form-builder .ty-control-group {
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.ty-form-builder .ty-control-group__title {
    font-family: var(--bp-font-serif, "Playfair Display", Georgia, serif) !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    color: #2D2422 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.ty-form-builder .ty-control-group__title.cm-required::after {
    content: " *" !important;
    color: #8E1616 !important;
    font-weight: 800 !important;
}

.ty-form-builder input[type="text"],
.ty-form-builder input[type="email"],
.ty-form-builder input[type="tel"],
.ty-form-builder .ty-form-builder__input-text,
.ty-form-builder .ty-input-text,
.ty-form-builder select,
.ty-form-builder .ty-form-builder__select {
    width: 100% !important;
    background: #FAF7F2 !important;
    border: 1.5px solid #D8C8B8 !important;
    border-radius: 12px !important;
    padding: 13px 16px !important;
    font-size: 15px !important;
    color: #2D2422 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    font-family: inherit !important;
}

.ty-form-builder textarea,
.ty-form-builder .ty-form-builder__textarea {
    width: 100% !important;
    background: #FAF7F2 !important;
    border: 1.5px solid #D8C8B8 !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    color: #2D2422 !important;
    min-height: 140px !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    resize: vertical !important;
    font-family: inherit !important;
    line-height: 1.55 !important;
}

.ty-form-builder input[type="text"]:focus,
.ty-form-builder input[type="email"]:focus,
.ty-form-builder textarea:focus,
.ty-form-builder select:focus {
    background: #FFFFFF !important;
    border-color: #8E1616 !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
}

.ty-form-builder .ty-form-builder__buttons,
.ty-form-builder .buttons-container {
    margin-top: 10px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    justify-content: flex-start !important;
}

.ty-form-builder button[type="submit"],
.ty-form-builder .ty-btn__secondary,
.ty-form-builder .ty-btn {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.4px !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 34px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(142, 22, 22, 0.28) !important;
    transition: all 0.22s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.ty-form-builder button[type="submit"]:hover,
.ty-form-builder .ty-btn__secondary:hover {
    background: #6E1010 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(142, 22, 22, 0.38) !important;
}

@media (max-width: 767px) {
    .ty-form-builder {
        padding: 24px 18px !important;
        border-radius: 16px !important;
        margin: 15px auto 30px auto !important;
    }
    .ty-form-builder button[type="submit"],
    .ty-form-builder .ty-btn__secondary {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ==========================================================================
   BestPinUp.art — JivoChat Clean Branding & White-Label Rules
   ========================================================================== */
#jivo_container [data-qa*="COPYRIGHT"],
#jivo_container [data-qa*="copyright"],
#jivo_container #jivo_copyright,
#jivo_copyright,
.jivo_copyright,
[id*="jivo_copyright"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}




/* ==========================================================================
   BestPinUp.art — Premium Stitch Profile & Registration (Single Agreement v62)
   ========================================================================== */

/* 1. Full-Width Container & Grid Centering */
.dispatch-profiles-add .main-content-grid,
.dispatch-profiles-update .main-content-grid,
.controller-profiles .main-content-grid {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
}

.dispatch-profiles-add .profile-information-grid,
.dispatch-profiles-update .profile-information-grid,
.controller-profiles .profile-information-grid,
.ty-account-benefits,
.ty-account-detail {
    display: none !important;
}

/* Hide redundant outside H1 on profile pages (our card has a custom serif header) */
.dispatch-profiles-add .ty-mainbox-title,
.dispatch-profiles-update .ty-mainbox-title {
    display: none !important;
}

/* 2. The Stitch Profile & Registration Card */
.bp-auth-card {
    width: 100% !important;
    max-width: 640px !important;
    margin: 32px auto 60px auto !important;
    background: #FFFDF9 !important;
    border: 1.5px solid #E8DFD8 !important;
    border-radius: 24px !important;
    padding: 42px 46px !important;
    box-shadow: 0 16px 40px rgba(45, 36, 34, 0.07), 0 2px 8px rgba(45, 36, 34, 0.04) !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.bp-auth-card.bp-profile-edit-card,
.bp-profile-edit-card {
    max-width: 820px !important;
    padding: 44px 52px !important;
    margin: 36px auto 70px auto !important;
}

@media (max-width: 768px) {
    .bp-auth-card,
    .bp-auth-card.bp-profile-edit-card,
    .bp-profile-edit-card {
        padding: 24px 20px !important;
        margin: 16px auto 40px auto !important;
        border-radius: 18px !important;
        max-width: 100% !important;
    }
}

/* Card Header */
.bp-auth-card__header {
    text-align: center !important;
    margin-bottom: 28px !important;
}

.bp-auth-card__title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1F1916 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
}

.bp-profile-edit-card .bp-auth-card__title {
    font-size: 30px !important;
}

.bp-auth-card__subtitle {
    font-size: 14px !important;
    color: #7D6E66 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* 3. Social Sign-In at Top */
.bp-auth-social-wrap {
    margin-bottom: 22px !important;
}

.bp-auth-social-wrap .ty-hybrid-auth__icon-container {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 0 !important;
}

.bp-auth-social-wrap .ty-login__provider-list,
.bp-auth-social-wrap .ty-hybrid-auth__login-buttons {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.bp-auth-social-wrap a[href*="google"],
.bp-auth-social-wrap a.ty-btn-google {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 46px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2D2422 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
    gap: 10px !important;
}

.bp-auth-social-wrap a[href*="google"]:hover,
.bp-auth-social-wrap a.ty-btn-google:hover {
    border-color: #8E1616 !important;
    background: #FAF6F0 !important;
    box-shadow: 0 4px 12px rgba(45,36,34,0.08) !important;
}

.bp-auth-divider {
    display: flex !important;
    align-items: center !important;
    text-align: center !important;
    color: #A3968C !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 18px 0 !important;
}

.bp-auth-divider::before,
.bp-auth-divider::after {
    content: '' !important;
    flex: 1 !important;
    border-bottom: 1px solid #E8DFD8 !important;
}

.bp-auth-divider span {
    padding: 0 12px !important;
}

/* 4. Form Controls & 2-Column Inputs */
.bp-auth-form .ty-subheader {
    display: none !important;
}

.bp-auth-form .ty-control-group {
    margin-bottom: 16px !important;
}

.bp-auth-form .ty-control-group__title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #382C26 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.bp-auth-form .clearfix,
.bp-profile-section .clearfix {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 24px !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bp-auth-form .clearfix::before,
.bp-auth-form .clearfix::after,
.bp-profile-section .clearfix::before,
.bp-profile-section .clearfix::after {
    display: none !important;
}

.bp-auth-form .ty-first-name,
.bp-auth-form .ty-last-name,
.bp-auth-form .bp-col-half,
.bp-auth-form .ty-control-group:has(#password1),
.bp-auth-form .ty-control-group:has(#password2) {
    flex: 1 1 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

.bp-auth-form .ty-phone,
.bp-auth-form .bp-col-full,
.bp-auth-form .ty-control-group:has(#email) {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

@media (max-width: 640px) {
    .bp-auth-form .ty-first-name,
    .bp-auth-form .ty-last-name,
    .bp-auth-form .bp-col-half,
    .bp-auth-form .ty-control-group:has(#password1),
    .bp-auth-form .ty-control-group:has(#password2) {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

.bp-auth-form input[type="text"],
.bp-auth-form input[type="password"],
.bp-auth-form input[type="email"],
.bp-auth-form input[type="tel"] {
    width: 100% !important;
    height: 46px !important;
    background: #FAF6F0 !important;
    border: 1.5px solid #D5C9BD !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
    font-size: 14.5px !important;
    color: #1F1916 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.bp-auth-form input:focus {
    border-color: #8E1616 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(142, 22, 22, 0.12) !important;
}

/* 5. Unified Single Agreement Checkbox */
.bp-unified-consent-wrapper {
    margin: 20px 0 24px 0 !important;
    padding: 14px 16px !important;
    background: #F8F4EE !important;
    border: 1px solid #E5DCD3 !important;
    border-radius: 12px !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
}

.bp-unified-consent-wrapper.has-error {
    border-color: #D32F2F !important;
    background: #FDF4F4 !important;
}

.bp-unified-consent-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.bp-unified-consent-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 2px 0 0 0 !important;
    accent-color: #8E1616 !important;
    cursor: pointer !important;
}

.bp-unified-consent-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #4A3C35 !important;
}

.bp-legal-link {
    color: #8E1616 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.bp-legal-link:hover {
    color: #6E1010 !important;
}

/* Hide native messy agreements completely */
.bp-hidden-native-agreements,
.bp-auth-card .ty-newsletters,
.bp-auth-card .ty-gdpr-agreement {
    display: none !important;
}

/* 6. Buttons & Actions */
.bp-btn-primary-large,
.bp-auth-form button[type="submit"],
.bp-auth-form button[name*="dispatch"],
.bp-auth-card .ty-btn__primary,
.bp-auth-card button[name="dispatch[profiles.add]"] {
    width: 100% !important;
    height: 48px !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.28) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin-top: 6px !important;
}

.bp-btn-primary-large:hover,
.bp-auth-form button[type="submit"]:hover,
.bp-auth-form button[name*="dispatch"]:hover,
.bp-auth-card .ty-btn__primary:hover,
.bp-auth-card button[name="dispatch[profiles.add]"]:hover {
    background: #731212 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.38) !important;
}

.bp-auth-footer-link {
    text-align: center !important;
    margin-top: 18px !important;
    font-size: 13.5px !important;
    color: #7D6E66 !important;
}

.bp-link-sign-in {
    color: #8E1616 !important;
    font-weight: 700 !important;
    margin-left: 6px !important;
    text-decoration: underline !important;
}

/* 7. Profile Edit Page Sections */
.bp-profile-section {
    margin-bottom: 30px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px dashed #E5DCD3 !important;
}

.bp-profile-section:last-of-type {
    border-bottom: none !important;
    margin-bottom: 12px !important;
}

.bp-profile-section__title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #2D221D !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bp-profile-buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 26px !important;
    text-align: center !important;
}

.bp-profile-buttons .ty-btn__primary,
.bp-profile-buttons button[name*="dispatch"],
.bp-profile-edit-card .ty-btn__primary {
    max-width: 280px !important;
    margin: 0 auto !important;
}

.bp-delete-account-wrap {
    margin-top: 6px !important;
}

.bp-delete-account-link {
    font-size: 12.5px !important;
    color: #A3968C !important;
    text-decoration: underline !important;
}

.bp-delete-account-link:hover {
    color: #D32F2F !important;
}

.ty-profile-field__reset {
    display: none !important;
}

/* ==========================================================================
   BESTPINUP STITCH - ORDER BUMP 2ND PORTRAIT ($29 DEAL) & THANK-YOU UPSELL
   ========================================================================== */

/* 1. Order Bump Container on Product Page */
.bp-order-bump-wrapper {
    width: 100% !important;
    margin: 22px 0 18px 0 !important;
    clear: both !important;
}

.bp-order-bump-card {
    position: relative !important;
    background: linear-gradient(135deg, #FFFDFB 0%, #FAF5EE 100%) !important;
    border: 2px dashed #B8860B !important;
    border-radius: 16px !important;
    padding: 18px 20px !important;
    box-shadow: 0 4px 18px rgba(184, 134, 11, 0.08) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.bp-order-bump-card:hover {
    border-color: #8E1616 !important;
    box-shadow: 0 6px 24px rgba(142, 22, 22, 0.12) !important;
    transform: translateY(-1px) !important;
}

.bp-order-bump-card--checked {
    background: linear-gradient(135deg, #FFF9F8 0%, #FDF2F2 100%) !important;
    border: 2px solid #8E1616 !important;
    box-shadow: 0 6px 24px rgba(142, 22, 22, 0.16) !important;
}

.bp-order-bump-label {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 !important;
    cursor: pointer !important;
    width: 100% !important;
}

.bp-order-bump-left {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    flex: 1 1 auto !important;
}

.bp-order-bump-checkbox-box {
    padding-top: 3px !important;
    flex-shrink: 0 !important;
}

.bp-order-bump-checkbox {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    accent-color: #8E1616 !important;
    cursor: pointer !important;
    margin: 0 !important;
    border-radius: 6px !important;
}

.bp-order-bump-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    flex: 1 1 auto !important;
}

.bp-order-bump-topline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.bp-order-bump-tag {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.bp-order-bump-badge {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.bp-order-bump-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #2D221D !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

.bp-order-bump-desc {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #5C4D44 !important;
    margin: 2px 0 6px 0 !important;
}

.bp-order-bump-desc strong {
    color: #8E1616 !important;
}

.bp-order-bump-benefits {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #3B7A57 !important;
}

.bp-order-bump-benefit {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.bp-order-bump-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
    padding-top: 2px !important;
}

.bp-order-bump-old-price {
    font-size: 13px !important;
    color: #9E8F85 !important;
    text-decoration: line-through !important;
    font-weight: 600 !important;
}

.bp-order-bump-price {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
    line-height: 1 !important;
}

/* Expanded notification when checked */
.bp-order-bump-expanded-note {
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px dashed rgba(142, 22, 22, 0.25) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    color: #374151 !important;
}

.bp-order-bump-note-icon {
    font-size: 18px !important;
    flex-shrink: 0 !important;
}

.bp-order-bump-note-content strong {
    color: #8E1616 !important;
}

/* 2. Post-Purchase Upsell on Thank-You Page (checkout.complete) */
.bp-post-purchase-upsell-card {
    background: linear-gradient(135deg, #FFF9F8 0%, #FAF0EE 100%) !important;
    border: 2px solid #8E1616 !important;
    border-radius: 16px !important;
    padding: 24px 28px !important;
    margin: 26px 0 !important;
    box-shadow: 0 8px 30px rgba(142, 22, 22, 0.12) !important;
    box-sizing: border-box !important;
}

.bp-upsell-header {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.bp-upsell-badge {
    display: inline-block !important;
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 10px !important;
}

.bp-upsell-title {
    font-family: var(--bp-font-serif, 'Playfair Display', Georgia, serif) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
}

.bp-upsell-subtitle {
    font-size: 14px !important;
    color: #4A3C35 !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    line-height: 1.5 !important;
}

.bp-upsell-timer-wrap {
    background: #FFFFFF !important;
    border: 1px solid #EAE0D5 !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    max-width: 480px !important;
    margin: 16px auto !important;
    box-sizing: border-box !important;
}

.bp-upsell-timer-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #8E1616 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.bp-upsell-countdown {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'SF Mono', Consolas, Monaco, monospace !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1F2937 !important;
}

.bp-upsell-time-unit {
    background: #FAF6F0 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    border: 1px solid #E8DFD5 !important;
    min-width: 32px !important;
    text-align: center !important;
}

.bp-upsell-coupon-box {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin-top: 18px !important;
}

.bp-upsell-code-pill {
    background: #FFFFFF !important;
    border: 1.5px dashed #8E1616 !important;
    padding: 10px 18px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.bp-upsell-code-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #7D6E66 !important;
    text-transform: uppercase !important;
}

.bp-upsell-code-val {
    font-family: 'SF Mono', Consolas, Monaco, monospace !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #8E1616 !important;
    letter-spacing: 1.5px !important;
}

.bp-upsell-btn-copy {
    background: #FAF6F0 !important;
    border: 1px solid #D8C7B8 !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #5C4D44 !important;
    padding: 5px 10px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.bp-upsell-btn-copy:hover {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    border-color: #8E1616 !important;
}

.bp-upsell-btn-claim {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.28) !important;
    transition: all 0.2s ease !important;
}

.bp-upsell-btn-claim:hover {
    background: #731212 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.38) !important;
}

@media (max-width: 768px) {
    .bp-order-bump-label {
        flex-direction: column !important;
        gap: 12px !important;
    }
    .bp-order-bump-right {
        align-self: flex-start !important;
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 8px !important;
    }
    .bp-upsell-timer-wrap {
        flex-direction: column !important;
        gap: 8px !important;
    }
}


/* ==========================================================================
   BestPinUp Customer Account Sub-Navigation & Header Dropdown (Best Practices)
   ========================================================================== */
.bp-account-nav-bar {
    width: 100%;
    margin: 15px 0 30px 0;
    display: flex;
    justify-content: center;
}
.bp-account-nav-container {
    display: inline-flex;
    align-items: center;
    background: #F4ECE6;
    border: 1px solid #E5D8CF;
    border-radius: 50px;
    padding: 6px;
    gap: 6px;
    max-width: 100%;
    box-shadow: 0 4px 14px rgba(31, 25, 22, 0.05);
}
.bp-account-nav-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border-radius: 40px;
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #5B403E !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
}
.bp-account-nav-item:hover {
    color: #8E1616 !important;
    background: rgba(255, 255, 255, 0.7);
    transform: translateY(-1px);
}
.bp-account-nav-item.is-active {
    background: #8E1616;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.28);
    font-weight: 700;
}
.bp-account-nav-icon {
    font-size: 16px;
    line-height: 1;
}
@media (max-width: 767px) {
    .bp-account-nav-container {
        width: 100%;
        border-radius: 16px;
        flex-direction: column;
        align-items: stretch;
        padding: 8px;
        gap: 6px;
    }
    .bp-account-nav-item {
        justify-content: center;
        padding: 11px 16px;
        font-size: 13px;
        border-radius: 10px;
    }
}

.bp-user-dropdown-wrapper {
    position: relative;
}
.bp-user-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
}
.bp-user-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto !important;
    width: 290px;
    background: #FFFFFF;
    border: 1px solid #E8DFD8;
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(31, 25, 22, 0.14);
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1050;
}
.bp-user-dropdown-wrapper:hover .bp-user-dropdown-menu,
.bp-user-dropdown-wrapper.is-open .bp-user-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.bp-user-dropdown-wrapper:hover .bp-chevron-down {
    transform: rotate(180deg);
}
.bp-user-menu-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px 12px 10px;
}
.bp-user-avatar-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8E1616 0%, #B82222 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(142, 22, 22, 0.25);
}
.bp-user-meta-details {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.bp-user-display-name {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #241A00;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bp-user-email {
    font-size: 11px;
    color: #7D6B65;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bp-dropdown-divider {
    height: 1px;
    background: #EFE6DE;
    margin: 6px 0;
}
.bp-dropdown-item--logout {
    color: #BA1A1A !important;
}
.bp-dropdown-item--logout:hover {
    background: #FDF2F2 !important;
}
.bp-dropdown-item--logout strong {
    color: #BA1A1A !important;
}

/* Studio Button & Tables Polish */
.bp-btn-primary {
    background: #8E1616 !important;
    color: #FFFFFF !important;
    padding: 10px 22px !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 14px rgba(142, 22, 22, 0.25) !important;
    transition: all 0.2s ease !important;
    border: none !important;
    cursor: pointer !important;
}
.bp-btn-primary:hover {
    background: #731212 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(142, 22, 22, 0.35) !important;
}

.ty-vendor-communication-search,
.ty-orders-search {
    background: #FFFFFF !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid #E8DFD8 !important;
    box-shadow: 0 4px 16px rgba(31, 25, 22, 0.04) !important;
    margin-bottom: 25px !important;
}
.ty-vendor-communication-search th,
.ty-orders-search th {
    background: #FAF5F0 !important;
    color: #5B403E !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #E8DFD8 !important;
}
.ty-vendor-communication-search td,
.ty-orders-search td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #F2EBE5 !important;
    font-size: 14px !important;
    color: #241A00 !important;
}
.ty-vendor-communication-search tr:hover td,
.ty-orders-search tr:hover td {
    background: #FDF9F6 !important;
}
