:root {
    --pm-brand-yellow: #fcb900;
    --pm-brand-yellow-600: #d9a300;
    --pm-brand-yellow-700: #b38400;
    --pm-brand-brown: #5c3b1e;
    --pm-ink: #1b1f23;
    --pm-neutral-50: #fafafa;
    --pm-neutral-100: #f4f4f5;
    --pm-neutral-200: #e5e7eb;
    --pm-neutral-300: #d4d4d8;
    --pm-neutral-600: #4b5563;
    --pm-neutral-700: #374151;
    --pm-accent-orange: #f97316;
    --pm-sale-red: #dc2626;
    --pm-radius-sm: 6px;
    --pm-radius-md: 10px;
    --pm-radius-lg: 14px;
    --pm-radius-xl: 16px;
    --pm-shadow-card: 0 4px 16px rgba(0, 0, 0, .06);
    --pm-shadow-elevated: 0 10px 30px rgba(0, 0, 0, .12);
}

/* Logo sizing must be controlled via Admin (store config). Keep CSS layout-safe only. */
.logo {
    display: flex;
    align-items: center;
}
.logo img {
    height: auto;
    max-width: 100%;
}
/* PetMarket B2C scoped theme styles (minimal, Luma-compatible) */


/* Global typography & layout */
body,
button,
input,
select,
textarea {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Helvetica Neue", "Arial", sans-serif;
    color: inherit;
}
select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    -ms-appearance: auto;
    appearance: auto;
}
a:hover {
    text-decoration: none;
}
a {
    color: var(--pm-ink) !important;
}
body {
    background: #fff;
    color: var(--pm-ink);
    line-height: 1.5;
}
.page-wrapper {
    background: #fff;
    padding-top: 0;
}
.page-wrapper > .page-header {
    margin-top: 0;
}
.page-main,
.columns,
.page-wrapper .page-bottom,
.page-wrapper .nav-sections {
    background: #fff;
}
.page-wrapper::before,
.page-wrapper::after,
.page-main::before,
.page-main::after,
.columns::before,
.columns::after {
    display: none;
    content: '';
    background: none;
    box-shadow: none;
}
.top-container {
    margin: 0;
    padding: 0;
    background: transparent;
}

.breadcrumbs .items {
    padding-top: 8px;
    padding-bottom: 8px;
}
@media (max-width: 768px) {
    .page-wrapper .breadcrumbs,
    .page-wrapper .breadcrumb {
        display: block;
        visibility: visible;
        opacity: 1;
    }
    .page-wrapper .breadcrumbs .items,
    .page-wrapper .breadcrumb .items {
        display: block;
    }
}

.page-wrapper .sections.nav-sections::after {
    display: none;
    content: none;
    background: none;
}

/* Header row layout */
.header.content {
    padding: 0;
}

/*
  Header compare link (Magento default).
  This UI element currently adds noise in the header area and is not part of the PET-164 CVI/mockups.
  If we decide to support compare later, we can restyle and relocate it (likely into the icon cluster).
*/
.page-header .compare.wrapper {
    display: none;
}
.pm-header-primary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    flex-wrap: wrap;
}
.pm-header-primary--is-sticky {
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.pm-header-primary__col {
    display: flex;
    align-items: center;
    gap: 10px;
}
.pm-header-primary__col--toggle { flex: 0 0 auto; }
.pm-header-primary__col--left { flex: 0 0 auto; }
.pm-header-primary__col--center {
    flex: 1 1 320px;
    justify-content: center;
}
.pm-header-primary__col--right {
    flex: 0 0 auto;
    gap: 12px;
}
.pm-header-primary__col--center .block-search,
.pm-header-primary__col--center .block-search .control,
.pm-header-primary__col--center .block-search input[type="text"]{
    width: 100%;
}

/* Mobile burger button (override Luma default absolute/grey button) */
.pm-header-primary .pm-header-toggle.action.nav-toggle {
    position: static;
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    border-radius: 999px;
    border: 1px solid var(--pm-gray-200);
    background: #fff;
    color: var(--pm-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}
.pm-header-primary .pm-header-toggle.action.nav-toggle:hover {
    background: var(--pm-gray-100);
    border-color: var(--pm-brand-500);
}
.pm-header-primary .pm-header-toggle.action.nav-toggle > span {
    /* hide “Toggle Nav” text but keep button accessible via aria-label */
    display: none;
}
.pm-header-primary .pm-header-toggle.action.nav-toggle::before {
    content: "☰";
    font-size: 18px;
    line-height: 1;
}
.pm-header-primary__col--center {
    flex: 1 1 320px;
    justify-content: center;
}
.pm-header-primary__col--center .block-search {
    width: 100%;
}
.pm-header-primary__col--center .block-search .control {
    width: 100%;
}
.pm-header-primary__col--center .block-search input[type="text"]{
    width: 100%;
}
.pm-header-primary__col--right {
    flex: 0 0 auto;
}
.pm-header-primary .logo {
    display: inline-flex;
    align-items: center;
    /* Override core Luma `.logo` margins/constraints so Admin logo size can display as configured */
    margin: 0;
    float: none;
    max-width: none;
}
.pm-header-primary .logo img { max-width: 100%; height: auto; }
.pm-header-primary .pm-header-icons,
.pm-header-primary .minicart-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.pm-header-primary .pm-header-icons .pm-icon,
.pm-header-primary .minicart-wrapper .action.showcart{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Ensure qty badge (absolute) overlaps this icon on all viewports */
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--pm-gray-200);
    background: #fff;
    color: var(--pm-ink);
    padding: 0;
    box-shadow: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.pm-header-primary .pm-header-icons .pm-icon::before,
.pm-header-primary .pm-header-icons .pm-icon::after{
    content: none;
}
.pm-header-primary .pm-header-icons .pm-icon:hover,
.pm-header-primary .minicart-wrapper .action.showcart:hover{
    border-color: var(--pm-brand-500);
    background: var(--pm-gray-100);
    color: var(--pm-ink);
}
.pm-header-primary .minicart-wrapper .action.showcart .text,
.pm-header-primary .minicart-wrapper .action.showcart .amount{
    display: none;
}
.pm-header-primary .pm-login-icon--guest,
.pm-header-primary .pm-login-icon--account {
    display: inline-flex;
}
.pm-icon-svg{
    width: 20px;
    height: 20px;
    display: block;
}

.page-header {
    background: #fff;
    border-bottom: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    z-index: 30;
}
@media (min-width: 769px) {
    .page-header {
        position: relative;
        top: auto;
    }

    .page-wrapper .nav-sections {
        position: sticky;
        top: 0;
        z-index: 35;
        border-top: 1px solid var(--pm-gray-200);
        border-bottom: 1px solid var(--pm-gray-200);
        background: #fff;
        box-shadow: none;
        margin: 0;
        padding: 0;
    }
    .page-wrapper .nav-sections-item-content > .navigation {
        position: relative;
        top: auto;
    }
    .nav-sections:before,
    .nav-sections:after {
        display: none;
        content: none;
    }
    .nav-sections .navigation,
    .nav-sections .navigation ul {
        background: #fff;
        padding-top: 4px;
        padding-bottom: 4px;
        margin: 0;
    }
    .nav-sections .navigation {
        /*max-width: 1200px;*/
        margin-left: auto;
        margin-right: auto;
        padding: 0 16px;
    }
    .navigation .level0 {
        display: inline-flex;
        align-items: center;
        margin-right: 12px;
    }
    .navigation .level0:last-child { margin-right: 0; }
    .navigation .level0 > a,
    .navigation .level0 > a.level-top {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 16px;
        font-weight: 600;
        color: var(--pm-gray-700);
        border-radius: 6px;
        line-height: 1.3;
        background: transparent;
        border: none;
        transition: color 0.2s ease, background 0.2s ease;
    }
    .navigation .level0 > a:hover,
    .navigation .level0.active > a,
    .navigation .level0.has-active > a,
    .navigation .level0 > a.level-top:hover,
    .navigation .level0.active > a.level-top,
    .navigation .level0.has-active > a.level-top {
        color: var(--pm-ink);
        background: rgba(252, 185, 0, 0.2);
        border: 0;
        box-shadow: inset 0 -3px 0 var(--pm-brand-500);
    }
    .navigation .level0 > .submenu {
        border-radius: 12px;
        border: 1px solid var(--pm-gray-200);
        box-shadow: 0 24px 48px rgba(15, 23, 42, 0.12);
        padding: 20px;
    }
    .navigation .level0 > .submenu .submenu {
        border-radius: 12px;
    }
    .navigation .submenu a {
        display: block;
        padding: 8px 10px;
        border-radius: 8px;
        color: var(--pm-gray-700);
        transition: color 0.2s ease, background 0.2s ease;
        background: transparent;
    }
    .navigation .submenu a:hover {
        color: var(--pm-brand-500);
        background: rgba(252, 185, 0, 0.12);
    }

    .pm-header-primary {
        flex-wrap: nowrap;
        gap: 24px;
        padding: 16px 24px;
    }
    .pm-header-primary__col--toggle {
        display: none;
    }
    .pm-header-primary__col--left {
        flex: 0 0 auto;
        justify-content: flex-start;
    }
    .pm-header-primary__col--center {
        flex: 1 1 520px;
    }
    .pm-header-primary__col--right {
        gap: 16px;
    }
    .pm-header-primary__col--center .block-search {
        width: 100%;
    }
    .pm-header-primary__col--center .block-search .control {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .pm-header-primary__col--center .block-search input[type="text"]{
        min-height: 44px;
        border-radius: 12px;
        padding: 0 16px;
    }
    .pm-header-primary__col--center .block-search .action.search {
        width: auto;
        height: 44px;
        border: none;
        border-radius: 999px;
        background: transparent;
        color: inherit;
        padding: 0 12px;
    }
    .pm-header-primary__col--center .block-search .action.search:before {
        margin: 0;
    }
}

@media (max-width: 1023px) {
    .pm-header-primary {
        gap: 12px;
        padding: 12px 16px;
        flex-wrap: nowrap;
    }
    .pm-header-primary__col--left {
        flex: 0 1 auto;
        justify-content: center;
    }
    .pm-header-primary__col--center {
        flex: 1 1 auto;
    }
    .pm-header-primary__col--right {
        gap: 12px;
    }
    .pm-header-primary .pm-header-icons{
        gap: 12px;
    }
    .pm-header-primary .pm-login-icon--guest,
    .pm-header-primary .pm-login-icon--account {
        display: none;
    }
    .pm-header-primary__col--center .block-search {
        margin: 0;
        /*width: auto;*/
    }
    /*.pm-header-primary__col--center .block-search .control {*/
    /*    display: none;*/
    /*}*/
    .pm-header-primary__col--center .block-search input[type="text"]{
        min-height: 44px;
        border-radius: 12px;
    }
    .pm-header-primary__col--center .block-search .action.search {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 999px;
        /*border: 1px solid var(--pm-gray-200);*/
        background: #fff;
        color: var(--pm-gray-600);
    }
    .pm-header-primary__col--center .block-search .action.search:before {
        color: currentColor;
    }
    .page-header {
        margin-top: var(--pm-topbar-height-desktop);
    }
}
@media (max-width: 768px) {
    /*.block.block-search {*/
    /*    display: none;*/
    /*}*/
    .pm-header-primary.pm-header-primary--is-sticky {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box;
    }
}
@media (max-width: 1023px) {
    .pm-header-primary.pm-header-primary--is-sticky .block-search {
        display: none;
    }
}
.nav-open .nav-sections {
    z-index: 120;
}

/* Hide text inside icon anchors (keep for a11y) */
.pm-visually-hidden{
    position: absolute;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}
/* Hide burger on desktop; keep on small screens */
@media (min-width: 992px) {
    .page-header .action.nav-toggle { display: none; }
}
/* Search aesthetics */
.pm-header-primary .block-search .block-title{ display: none; }
.pm-header-primary .block-search .nested{ display: none; }
.pm-header-primary .block-search input[type="text"]{
    border:1px solid var(--pm-gray-200);
    border-radius:999px;
    padding:10px 14px;
}
.pm-header-primary .block-search .action.search{
    border-radius:999px;
}
.pm-header-primary .block-search .action.search > span{
    display: none;
}
.pm-header-primary .block-search .actions{
    margin: 0;
    position: static;
}

/* Search focus/active states (CVI: no default blue focus ring) */
.pm-header-primary .block-search input[type="text"]:focus,
.pm-header-primary .block-search input[type="search"]:focus{
    border-color: var(--pm-brand-500);
    box-shadow: 0 0 0 2px rgba(252, 185, 0, 0.30);
    outline: none;
}
.pm-header-primary .block-search .action.search:focus,
.pm-header-primary .block-search .action.search:focus-visible{
    border-color: var(--pm-brand-500);
    box-shadow: 0 0 0 2px rgba(252, 185, 0, 0.30);
    outline: none;
}

/* Search autocomplete dropdown (CVI-aligned) */
.pm-header-primary .search-autocomplete{
    margin-top: 8px;
    border: 1px solid var(--pm-gray-200);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    z-index: 2000;
}
.pm-header-primary .search-autocomplete ul{
    list-style: none;
    margin: 0;
    padding: 6px;
}
.pm-header-primary .search-autocomplete li{
    margin: 0;
    padding: 0;
    border-radius: 10px;
}
.pm-header-primary .search-autocomplete li a{
    display: block;
    padding: 10px 12px;
    color: var(--pm-ink);
    text-decoration: none;
    border-radius: 10px;
}
.pm-header-primary .search-autocomplete li a:hover,
.pm-header-primary .search-autocomplete li a:focus{
    background: rgba(252, 185, 0, 0.12);
    outline: none;
}

/* Minicart icon alignment (make it match the SVG icon buttons) */
.pm-header-primary .minicart-wrapper .action.showcart:before {
    font-size: 20px;
    line-height: 1;
    margin: 0;
}
.pm-header-primary .minicart-wrapper .action.showcart .counter.qty {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    /* CVI: solid brand yellow badge (no gradients) */
    background-color: var(--pm-brand-500);
    background-image: none;
    box-shadow: none;
    filter: none;
    color: var(--pm-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    padding: 0 4px;
    margin: 0;
    line-height: 1;
    box-sizing: border-box;
}
/* PET-244: remove counter text shadow in checkout summary */
.checkout-index-index .opc-estimated-wrapper .minicart-wrapper .action.showcart .counter-number {
    text-shadow: none;
    filter: none;
}
.pm-header-primary .minicart-wrapper .action.showcart .counter.qty.empty {
    display: none;
}

@media (max-width: 1023px) {
    .pm-header-primary .minicart-wrapper .mage-dropdown-dialog {
        left: 16px;
        right: 16px;
        width: calc(100vw - 32px);
        max-width: calc(100vw - 32px);
        box-sizing: border-box;
    }
    .pm-header-primary .minicart-wrapper .ui-dialog {
        z-index: 1003;
    }
    .pm-header-primary .minicart-wrapper .block-minicart {
        background-color: #fff;
        max-height: calc(100vh - 96px);
        overflow-y: auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        -webkit-overflow-scrolling: touch;
    }
}
.pm-header-primary .minicart-wrapper .action.viewcart,
.pm-header-primary .minicart-wrapper .action.viewcart span {
    color: #fff;
}
.pm-header-primary .minicart-wrapper .block-content .actions .primary,
.pm-header-primary .minicart-wrapper .block-content .actions .secondary {
    width: 100%;
}
.pm-header-primary .minicart-wrapper .block-content .actions .action {
    width: 100%;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Minicart price/qty/remove row */
.pm-header-primary .minicart-wrapper .pm-minicart-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    width: 100%;
    min-height: 40px;
}
.pm-header-primary .minicart-wrapper .pm-minicart-controls .price-container {
    text-align: right;
    white-space: nowrap;
    display: flex;
    align-items: center;
}
.pm-header-primary .minicart-wrapper .pm-minicart-controls .price-wrapper {
    display: block;
    text-align: right;
}
.pm-header-primary .minicart-wrapper .pm-minicart-remove {
    width: 40px;
    height: 40px;
    border: 1px solid var(--pm-neutral-200);
    background: #ffffff;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    color: #dc2626;
    text-decoration: none;
    padding: 0;
    cursor: pointer;
}
.pm-header-primary .minicart-wrapper .pm-minicart-remove .pm-remove-icon {
    font-size: 16px;
    line-height: 1;
}

/* Minicart qty pill control */
.pm-header-primary .minicart-wrapper .pm-minicart-qty {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    overflow: hidden;
    font-size: 12px;
    height: 32px;
    background: #ffffff;
}
.pm-header-primary .minicart-wrapper .pm-minicart-qty .pm-qty-btn {
    background: var(--pm-neutral-50);
    border: 0;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-weight: 700;
    color: var(--pm-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 16px;
    padding: 0;
}
.pm-header-primary .minicart-wrapper .pm-minicart-qty .cart-item-qty {
    width: 40px;
    height: 32px;
    border: 0;
    text-align: center;
    background: #ffffff;
    color: var(--pm-ink);
    font-size: 12px;
    padding: 0;
    -moz-appearance: textfield;
    appearance: textfield;
}
.pm-header-primary .minicart-wrapper .pm-minicart-qty .cart-item-qty::-webkit-outer-spin-button,
.pm-header-primary .minicart-wrapper .pm-minicart-qty .cart-item-qty::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
}
/* Colors */
:root {
    --pm-brand-500: #fcb900;
    --pm-brand-600: #d9a300;
    --pm-brand-700: #b38400;
    --pm-accent: #f97316;
    --pm-ink: #1b1f23;
    --pm-gray-700: #374151;
    --pm-gray-600: #4b5563;
    --pm-gray-500: #6b7280;
    --pm-gray-200: #e5e7eb;
    --pm-gray-100: #f3f4f6;
    --pm-gray-50: #f6f7f8;
    --pm-topbar-height-desktop: 44px;
}

/* Container helper */
.pm-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

/* Spacing utilities (multiples of 8) */
.pm-mt-8 { margin-top: 8px; }
.pm-mt-16 { margin-top: 16px; }
.pm-mt-24 { margin-top: 24px; }
.pm-mt-32 { margin-top: 32px; }
.pm-mt-40 { margin-top: 40px; }
.pm-mt-48 { margin-top: 48px; }
.pm-mt-64 { margin-top: 64px; }
.pm-py-16 { padding-top: 16px; padding-bottom: 16px; }
.pm-py-24 { padding-top: 24px; padding-bottom: 24px; }
.pm-py-32 { padding-top: 32px; padding-bottom: 32px; }

/* Buttons (scoped) */
.pm-btn-primary {
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 600;
}
.pm-btn-primary:hover { background: #111827; border-color: #111827; }
.pm-btn-primary:focus { outline: 2px solid rgba(0, 0, 0, 0.2); outline-offset: 2px; }

.pm-btn-secondary {
    background: #fff;
    color: var(--pm-brand-500);
    border: 1px solid var(--pm-brand-500);
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 600;
}

/*
  PET-187: Theme buttons (Magento + 3rd-party) aligned to PetMarket CVI.
  Primary: Brand Yellow background + Ink text.
  Secondary: Ink background + white text.
*/
:root{
    --pm-btn-height: 40px;
    --pm-btn-radius: 999px;
}

/* Primary buttons (Magento common + Amasty apply filter) */
.page-wrapper button.action.primary,
.page-wrapper .action.primary,
.page-wrapper button.primary,
.page-wrapper .primary button,
.page-wrapper .primary .action,
.page-wrapper .action.tocart,
.page-wrapper .am-filter-go {
    background: var(--pm-brand-500);
    color: var(--pm-ink);
    border: none;
    border-radius: var(--pm-btn-radius);
    min-height: var(--pm-btn-height);
    padding: 8px 16px;
    font-family: inherit;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.page-wrapper button.action.primary:hover,
.page-wrapper .action.primary:hover,
.page-wrapper .primary .action:hover,
.page-wrapper .action.tocart:hover,
.page-wrapper .am-filter-go:hover {
    background: var(--pm-brand-600);
    color: var(--pm-ink);
}
.page-wrapper button.action.primary:focus,
.page-wrapper button.action.primary:focus-visible,
.page-wrapper .action.primary:focus,
.page-wrapper .action.primary:focus-visible,
.page-wrapper .am-filter-go:focus,
.page-wrapper .am-filter-go:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(252, 185, 0, 0.30);
}
.page-wrapper button.action.primary:disabled,
.page-wrapper .action.primary[disabled],
.page-wrapper .am-filter-go[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Login: align "forgot password" link with submit button */
.customer-account-login .actions-toolbar .secondary .action.remind {
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--pm-btn-height);
    min-height: var(--pm-btn-height);
    padding: 0 12px;
    margin-top: 0;
    box-sizing: border-box;
}

/* Checkout auth dropdown: align with minicart card style */
.checkout-index-index .authentication-dropdown {
    border: 0;
}
.checkout-index-index .authentication-dropdown .modal-inner-wrap {
    background: #fff;
    border: 1px solid var(--pm-neutral-200);
    border-radius: 16px;
    box-shadow: var(--pm-shadow-card);
    padding: 16px;
    box-sizing: border-box;
}
.checkout-index-index .authentication-dropdown .actions-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 0;
}
.checkout-index-index .authentication-dropdown .actions-toolbar > .primary,
.checkout-index-index .authentication-dropdown .actions-toolbar > .secondary {
    margin: 0;
    padding-top: 0;
}
.checkout-index-index .authentication-dropdown .actions-toolbar .primary .action,
.checkout-index-index .authentication-dropdown .actions-toolbar .secondary .action {
    min-height: var(--pm-btn-height);
}
.checkout-index-index .authentication-dropdown .actions-toolbar .secondary .action {
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    height: var(--pm-btn-height);
    padding: 0 12px;
    box-sizing: border-box;
}
@media (min-width: 769px) {
    .checkout-index-index .authentication-dropdown {
        width: 390px;
        max-width: calc(100vw - 32px);
        right: 0;
        left: auto;
    }
}

/* Checkout shipping address list: align with CVI */
.checkout-index-index .magentopood-osc #checkout-step-shipping .shipping-address-items {
    display: grid;
    gap: 12px;
    font-size: inherit;
}
.checkout-index-index .magentopood-osc #checkout-step-shipping .shipping-address-item {
    background: #fff;
    border: 1px solid var(--pm-neutral-200);
    border-radius: 16px;
    padding: 12px 14px;
    margin: 0;
    width: 100%;
    display: block;
    line-height: 1.5;
    box-sizing: border-box;
}
.checkout-index-index .magentopood-osc #checkout-step-shipping .shipping-address-item.selected-item {
    border-color: var(--pm-brand-500);
    background: var(--pm-neutral-50);
}
.checkout-index-index .magentopood-osc #checkout-step-shipping .shipping-address-item .action {
    float: none;
    margin: 8px 8px 0 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--pm-btn-height);
    padding: 0 16px;
    border-radius: var(--pm-btn-radius);
    font-weight: 600;
    text-decoration: none;
    box-sizing: border-box;
}
.checkout-index-index .magentopood-osc #checkout-step-shipping .shipping-address-item .action.edit-address-link,
.checkout-index-index .magentopood-osc #checkout-step-shipping .new-address-popup .action-show-popup {
    background: var(--pm-ink);
    color: #fff;
    border: none;
}
.checkout-index-index .magentopood-osc #checkout-step-shipping .shipping-address-item .action-select-shipping-item {
    background: var(--pm-brand-500);
    color: var(--pm-ink);
    border: none;
}
.checkout-index-index .magentopood-osc .pm-checkout-logout {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}
.checkout-index-index .magentopood-osc .pm-checkout-logout .action-logout {
    background: var(--pm-ink);
    color: #fff !important;
    border: none;
    min-height: var(--pm-btn-height);
    padding: 0 16px;
    border-radius: var(--pm-btn-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Secondary buttons (Magento common) */
.page-wrapper button.action.secondary,
.page-wrapper .action.secondary,
.page-wrapper .secondary .action {
    background: var(--pm-ink);
    color: #f9fafb;
    border: none;
    border-radius: var(--pm-btn-radius);
    min-height: var(--pm-btn-height);
    padding: 8px 16px;
    font-family: inherit;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.page-wrapper button.action.secondary:hover,
.page-wrapper .action.secondary:hover,
.page-wrapper .secondary .action:hover {
    background: #111827;
    color: #f9fafb;
}

/* Inputs */
.pm-input {
    border: 1px solid var(--pm-gray-200);
    border-radius: 8px;
    padding: 10px 12px;
}
.pm-input:focus {
    box-shadow: 0 0 0 2px rgba(252, 185, 0, 0.3);
    outline: none;
}

/* Top info bar */
.pm-topbar {
    background: var(--pm-brand-500);
    color: #111827;
    font-weight: 500;
    font-size: 13px;
    /*
      PET-187: Avoid stacked sticky UI (topbar + header) which wastes vertical space while scrolling.
      Keep this non-sticky for now; we can reintroduce a compact-on-scroll pattern later if needed.
    */
    position: static;
    top: auto;
    z-index: 40;
    box-shadow: 0 4px 12px rgba(17, 24, 39, 0.12);
}
.pm-topbar .pm-topbar-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 6px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.pm-topbar a {
    color: #111827;
    font-weight: 600;
}
.pm-topbar a:hover {
    text-decoration: underline;
}

/* Integrate with Luma header panel (B2C only via theme) */
/* Hide Luma header.panel on B2C; use pm_topbar instead */
.panel.header { display: none; }

/* Cards and helpers */
.pm-card {
    background: #fff;
    border: 1px solid var(--pm-gray-100);
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.pm-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pm-circle {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid var(--pm-gray-100);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* Hero helper */
.pm-hero {
    border-radius: 12px;
    padding: 24px;
    background: linear-gradient(90deg, var(--pm-brand-500), var(--pm-brand-700));
    color: #111827;
}

/* Footer grid */
.pm-footer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
@media (max-width: 1024px) {
    .pm-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .pm-footer-grid { grid-template-columns: 1fr; }
}

/* Footer newsletter: align input + button height, add top spacing */
.page-footer .block.newsletter .form.subscribe {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}
.page-footer .block.newsletter .field.newsletter,
.page-footer .block.newsletter .actions {
    margin: 0;
}
.page-footer .block.newsletter .field.newsletter {
    /*flex: 1 1 220px;*/
}
.page-footer .block.newsletter input#newsletter,
.page-footer .block.newsletter .action.subscribe {
    height: 40px;
    min-height: 40px;
    box-sizing: border-box;
}
.page-footer .block.newsletter .action.subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}



/* ===== BEGIN CVI overrides (PET-123) — removable block ===== */
/* Purpose: Scoped styling for homepage PB blocks (hero, circles, newsletter, new products).
   Safe removal: delete everything between BEGIN/END to revert CVI block styles. */

/* Ensure dark text on strong brand-yellow backgrounds when used via custom wrappers */
.pm-bg-brand,
.pm-bg-brand-600,
.pm-bg-brand-700 {
    color: #111827;
}

/* Newsletter container spacing (PB row supplies background) */
.pm-newsletter .pm-newsletter-form .pm-input { min-width: 220px; }

/* Newsletter container visuals and layout */
.pm-newsletter {
    background: rgba(252, 185, 0, 0.08);
    border-radius: 12px;
    padding: 20px;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 8px;
    align-items: center;
}
.pm-newsletter .pm-input,
.pm-newsletter .pm-btn-primary {
    min-height: 42px;
    border-radius: 8px;
}
.pm-newsletter .pm-btn-primary,
.pm-newsletter .pm-btn-primary:hover,
.pm-newsletter .pm-btn-primary:focus {
    color: #fff; /* ensure contrast on dark backgrounds */
}
.pm-newsletter h3 {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 600;
}
.pm-newsletter p {
    margin: 0;
    color: var(--pm-gray-500);
}
.pm-newsletter .pm-newsletter-form {
    display: flex;
    gap: 8px;
}
@media (max-width: 768px) {
    .pm-newsletter {
        grid-template-columns: 1fr;
    }
    .pm-newsletter .pm-newsletter-form {
        flex-wrap: wrap;
    }
}

/* Full-bleed utility to stretch background edge-to-edge while keeping inner content centered */
.pm-full-bleed {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
}

/* New Products widget (scoped) */
.pm-new-products .block-title strong {
    font-size: 18px;
    font-weight: 600;
}
.pm-new-products .product-items,
.pm-new-products .products-grid {
    gap: 12px;
}
.pm-new-products .product-item {
    border: 1px solid var(--pm-gray-100);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.pm-new-products .product-item-info {
    padding: 12px;
}
.pm-new-products .product-image-container {
    border-radius: 10px;
    overflow: hidden;
    background: var(--pm-gray-100);
}
.pm-new-products .product-item-name a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--pm-ink);
}
.pm-new-products .price-box .price {
    color: var(--pm-brand-500);
    font-weight: 700;
}
.pm-new-products .old-price .price,
.pm-new-products .special-price .price-label {
    color: var(--pm-gray-500);
}
.pm-new-products .actions-primary .action.tocart {
    background: var(--pm-brand-500);
    border-color: var(--pm-brand-500);
    color: #111827;
    font-weight: 600;
    border-radius: 8px;
    padding: 8px 12px;
}
.pm-new-products .actions-primary .action.tocart:hover {
    background: var(--pm-brand-600);
    border-color: var(--pm-brand-600);
}

/* ===== END CVI overrides (PET-123) — removable block ===== */


/* ===== SART CATEGORY GRID ===== */
.pm-products-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, 1fr);
}

/* tablet */
@media (min-width: 420px) {
    .pm-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* small desktop */
@media (min-width: 900px) {
    .pm-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* desktop */
@media (min-width: 1200px) {
    .pm-products-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* very wide screens */
@media (min-width: 1600px) {
    .pm-products-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.pm-products-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.catalog-category-view .pm-products-list .pm-product-card.pm-product-card--list,
.catalog-category-view .pm-product-card.pm-product-card--list {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) minmax(180px, 220px);
    grid-template-rows: var(--pm-media-size);
    gap: 16px;
    align-items: stretch;
    padding: 12px 16px;
    --pm-media-size: clamp(160px, 22vw, 220px);
}

.pm-products-list .pm-product-card--list .pm-product-card__media {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    border: 1px solid var(--pm-neutral-200);
    background: #d1d5db;
    overflow: hidden;
}

.pm-products-list .pm-product-card--list .pm-product-card__media .imgwrap {
    position: absolute;
    inset: 0;
}

.pm-products-list .pm-product-card--list .pm-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pm-products-list .pm-product-card--list .pm-product-card__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

.pm-products-list .pm-product-card--list .pm-product-card__header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
    width: 100%;
}

.pm-products-list .pm-product-card--list .pm-product-card__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--pm-ink);
    text-decoration: none;
}

.pm-products-list .pm-product-card--list .pm-product-card__size {
    margin-left: auto;
    font-size: 12px;
    color: var(--pm-neutral-600);
    white-space: nowrap;
}

.pm-products-list .pm-product-card--list .pm-product-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--pm-neutral-600);
}

.pm-dot {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--pm-neutral-300);
    display: inline-block;
}

.pm-products-list .pm-product-card--list .pm-product-card__desc {
    font-size: 12px;
    color: var(--pm-neutral-700);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pm-products-list .pm-product-card--list .pm-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.pm-products-list .pm-product-card--list .pm-specs .pm-chip {
    font-size: 11px;
    padding: 3px 8px;
}

.pm-products-list .pm-product-card--list .pm-specs .pm-chip b {
    font-weight: 600;
    margin-right: 4px;
}

.pm-products-list .pm-product-card--list .pm-product-card__side {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    padding-left: 16px;
    border-left: 1px solid var(--pm-neutral-200);
    min-height: var(--pm-media-size);
    height: var(--pm-media-size);
    box-sizing: border-box;
}

.pm-products-list .pm-product-card--list .pm-price {
    width: 100%;
    text-align: right;
    align-items: flex-end;
}

.pm-products-list .pm-product-card--list .pm-price .price-box {
    width: 100%;
}

.pm-products-list .pm-product-card--list .pm-price__value,
.pm-products-list .pm-product-card--list .pm-price__vat {
    width: 100%;
    text-align: right;
}

.pm-products-list .pm-product-card--list .pm-price__value {
    color: var(--pm-neutral-700);
    font-size: 36px;
    font-weight: 600;
    line-height: 36px;
}

.pm-products-list .pm-product-card--list .pm-price__value .price-wrapper,
.pm-products-list .pm-product-card--list .pm-price__value .price,
.pm-products-list .pm-product-card--list .pm-price__value .price .price {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #575757;
}

.pm-products-list .pm-product-card--list .pm-price__vat {
    font-size: 11px;
    color: var(--pm-neutral-600);
}

.pm-products-list .pm-product-card--list .pm-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pm-products-list .pm-product-card--list .pm-actions__row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pm-product-card--list .product-social-links {
    display: flex;
    justify-content: center;
}

.pm-product-card--list .product-addto-links {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pm-products-list .pm-product-card--list .pm-qty {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    overflow: hidden;
    font-size: 12px;
    height: 24px;
}

.pm-products-list .pm-product-card--list .pm-qty button {
    background: var(--pm-neutral-50);
    border: 0;
    width: 28px;
    height: 24px;
    cursor: pointer;
    font-weight: 700;
    color: var(--pm-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 16px;
    padding: 0;
}

.pm-products-list .pm-product-card--list .pm-qty input {
    width: 36px;
    height: 24px;
    border: 0;
    text-align: center;
    background: #ffffff;
    color: var(--pm-ink);
    font-size: 12px;
    padding: 0;
}

.pm-products-list .pm-product-card--list .pm-product-card__cta {
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--pm-brand-yellow);
    border: 1px solid var(--pm-brand-yellow);
    color: var(--pm-ink);
    white-space: nowrap;
}

.pm-products-list .pm-product-card--list .pm-btn-ghost {
    background: transparent;
    border: 0;
    padding: 4px 0;
    color: var(--pm-neutral-700);
    font-size: 12px;
    text-decoration: none;
}

.pm-products-list .pm-product-card--list .pm-btn-secondary {
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
}

.pm-products-list .pm-product-card--list .pm-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--pm-brand-yellow-700);
    text-decoration: none;
}

.pm-products-list .pm-product-card--list .pm-link svg {
    width: 14px;
    height: 14px;
}

@media (max-width: 1024px) {
    .catalog-category-view .pm-products-list .pm-product-card.pm-product-card--list,
    .catalog-category-view .pm-product-card.pm-product-card--list {
        grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
    }
    .catalog-category-view .pm-products-list .pm-product-card--list .pm-product-card__side,
    .catalog-category-view .pm-product-card--list .pm-product-card__side {
        grid-column: 2 / -1;
    }
}

@media (max-width: 899px) {
    .catalog-category-view .pm-products-list .pm-product-card.pm-product-card--list,
    .catalog-category-view .pm-product-card.pm-product-card--list {
        display: grid;
        grid-template-columns: minmax(120px, 1.1fr) minmax(0, 2fr) minmax(140px, 1fr);
        grid-template-rows: var(--pm-media-size);
        gap: 12px;
        --pm-media-size: 140px;
    }
    .catalog-category-view .pm-product-card--list .pm-product-card__media {
        grid-column: 1;
    }
    .catalog-category-view .pm-product-card--list .pm-product-card__main {
        grid-column: 2;
    }
    .catalog-category-view .pm-product-card--list .pm-product-card__side {
        grid-column: 3;
    }
}

.pm-category-ad {
    list-style: none;
    grid-column: 1 / -1;
    display: block;
}

.pm-category-ad--mobile {
    display: none;
}

.pm-category-ad-row--mobile {
    display: none;
}

.pm-category-ad-row .pm-category-ad-cell {
    border: none;
    padding: 12px 0;
}

@media (max-width: 899px) {
    .pm-category-ad--desktop {
        display: none;
    }

    .pm-category-ad--mobile {
        display: block;
    }

    .pm-category-ad-row--desktop {
        display: none;
    }

    .pm-category-ad-row--mobile {
        display: table-row;
    }
}

.catalog-category-view .pages {
    margin-top: 12px;
}

.catalog-category-view .pages-label {
    display: none;
}

.catalog-category-view .pages-items {
    display: flex;
    gap: 6px;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.catalog-category-view .pages-items .item a,
.catalog-category-view .pages-items .item strong.page {
    min-width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--pm-ink);
    background: #ffffff;
    text-decoration: none;
}

.catalog-category-view .pages-items .item.current strong.page {
    background: var(--pm-brand-yellow);
    border-color: var(--pm-brand-yellow);
    font-weight: 600;
}

#mptablecategory-table-view {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin: 8px 0 10px;
}

#mptablecategory-table-view th,
#mptablecategory-table-view td {
    border: 1px solid var(--pm-neutral-100);
    padding: 6px 8px;
    text-align: left;
    vertical-align: top;
}

#mptablecategory-table-view thead th {
    background: var(--pm-neutral-50);
    font-weight: 600;
}

#mptablecategory-table-view tbody td {
    border-top: 0;
}

#mptablecategory-table-view tbody tr.product-item-info td {
    border-bottom: 1px solid var(--pm-neutral-100);
}

.products.wrapper.table tr.product-item-info,
.products.wrapper.table tr.mp-notice-messages {
    border: 0;
}

.products.wrapper.table tr.product-item-info td {
    box-sizing: border-box;
}

.products.wrapper.table .products.list.items {
    list-style: none;
    margin: 0;
    padding: 0;
}

#mptablecategory-table-view .mp-notice-messages td {
    padding: 0;
    border: 0;
}

#mptablecategory-table-view .mp-notice-messages .message {
    margin: 6px 0;
}

#mptablecategory-table-view .mp-notice-messages td:empty {
    padding: 0;
    border: 0;
    height: 0;
    line-height: 0;
    font-size: 0;
}

#mptablecategory-table-view .mp-notice-messages td:not(:empty) {
    padding: 6px 0;
    line-height: normal;
    font-size: 13px;
}

.pm-product-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: var(--pm-radius-lg);
    border: 1px solid var(--pm-neutral-100);
    background: #ffffff;
    box-shadow: var(--pm-shadow-card);
    width: 100%;
}
.pm-product-card-media {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    flex-grow: 1;
}
.pm-product-card__media {
    position: relative;
}
.pm-product-card-media-image {
    display: block;
    background: #f6f6f6;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
.pm-badge-stack {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-end;
    z-index: 2;
    pointer-events: none;
}
.pm-discount-badge,
.pm-new-badge {
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 999px;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
}
.pm-discount-badge {
    background: var(--pm-sale-red);
}
.pm-new-badge {
    background: var(--pm-accent-orange);
}
.pm-product-card-body {
    padding: 12px 14px 14px;
    line-height: normal;
}
.pm-product-card-title {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    color: var(--pm-ink);
    margin-bottom: 4px;
}
.pm-product-card-meta {
    width: 100%;
    font-size: 12px;
    color: var(--pm-neutral-600);
    opacity: 0.85;
    margin-bottom: 8px;
}
.pm-products-grid .pm-product-card-meta,
.pm-products-grid .pm-product-card__meta {
    display: none;
}
.pm-product-card-swatches {
    text-align: center;
    margin-top: 2px;
    margin-bottom: 4px;
    width: 100%;
}
.pm-product-card-swatches .swatch-attribute-options,
.mptablecategory-product-option .swatch-attribute-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap: 4px 6px;
    margin: 0;
    padding: 0;
    width: 100%;
}
.pm-products-list .pm-product-card--list .pm-product-card-swatches {
    text-align: left;
}
.pm-products-list .pm-product-card--list .pm-product-card-swatches .swatch-attribute-options {
    justify-content: flex-start;
}
.pm-product-card-swatches .swatch-attribute-options {
    justify-items: stretch;
}
.pm-product-card-swatches .swatch-attribute,
.mptablecategory-product-option .swatch-attribute {
    text-align: center;
}
.pm-product-card-swatches .swatch-option,
.mptablecategory-product-option .swatch-option {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    justify-self: stretch;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    background: #ffffff;
    color: var(--pm-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    min-width: 0;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: none;
    outline: none;
}
.pm-product-card-swatches .swatch-more,
.mptablecategory-product-option .swatch-more {
    grid-column: 1 / -1;
    justify-self: center;
}
.pm-product-card-swatches .swatch-option.text,
.mptablecategory-product-option .swatch-option.text {
    min-width: 0;
    white-space: normal;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.pm-product-card-swatches .swatch-option.selected,
.mptablecategory-product-option .swatch-option.selected {
    background: var(--pm-brand-yellow);
    border-color: var(--pm-brand-yellow);
    color: var(--pm-ink);
    outline: none;
}
.pm-product-card-swatches .swatch-option.disabled,
.pm-product-card-swatches .swatch-option[disabled],
.mptablecategory-product-option .swatch-option.disabled,
.mptablecategory-product-option .swatch-option[disabled] {
    opacity: 0.35;
    cursor: not-allowed;
    border-color: var(--pm-neutral-200);
    background: var(--pm-neutral-50);
    color: var(--pm-neutral-500);
    pointer-events: none;
}
/* PET-244: Disabled swatch visual cleanup */
body .swatch-option.disabled,
body .swatch-option[disabled],
body .swatch-option-disabled {
    opacity: 0.35;
}
body .swatch-option.disabled::before,
body .swatch-option.disabled::after,
body .swatch-option[disabled]::before,
body .swatch-option[disabled]::after,
body .swatch-option-disabled::before,
body .swatch-option-disabled::after {
    background: transparent;
    opacity: 0;
    display: none;
    content: none;
}
/* PET-244: Force override for PDP + PLP swatches */
.catalog-product-view .product-options-wrapper .swatch-option.disabled::before,
.catalog-product-view .product-options-wrapper .swatch-option.disabled::after,
.catalog-product-view .product-options-wrapper .swatch-option[disabled]::before,
.catalog-product-view .product-options-wrapper .swatch-option[disabled]::after,
.catalog-product-view .product-options-wrapper .swatch-option-disabled::before,
.catalog-product-view .product-options-wrapper .swatch-option-disabled::after,
.pm-product-card-swatches .swatch-option.disabled::before,
.pm-product-card-swatches .swatch-option.disabled::after,
.pm-product-card-swatches .swatch-option[disabled]::before,
.pm-product-card-swatches .swatch-option[disabled]::after,
.pm-product-card-swatches .swatch-option-disabled::before,
.pm-product-card-swatches .swatch-option-disabled::after,
.mptablecategory-product-option .swatch-option.disabled::before,
.mptablecategory-product-option .swatch-option.disabled::after,
.mptablecategory-product-option .swatch-option[disabled]::before,
.mptablecategory-product-option .swatch-option[disabled]::after,
.mptablecategory-product-option .swatch-option-disabled::before,
.mptablecategory-product-option .swatch-option-disabled::after {
    background: transparent;
    opacity: 0;
    display: none;
    content: none;
}
.pm-product-card-swatches .swatch-option:not(.disabled):hover,
.mptablecategory-product-option .swatch-option:not(.disabled):hover {
    border-color: var(--pm-brand-yellow-600);
    color: var(--pm-ink);
}
.pm-product-card-price-row {
    width: 100%;
    margin-bottom: 10px;
}
.pm-product-card-price-row .price-box {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.pm-product-card-price-row .price-container,
.pm-product-card-price-row .old-price {
    display: inline-flex;
    align-items: baseline;
}
.pm-product-card-price-row .pm-product-card__price.pm-price--sale {
    font-size: 1.5em;
    line-height: 1;
}
.pm-products-grid .pm-product-card-price-row {
    text-align: right;
}
.pm-products-grid .pm-product-card-price-row .price-box {
    width: 100%;
    text-align: right;
}
.pm-product-card__price[data-price-amount="0"],
.pm-product-card__price[data-price-amount="0.0"],
.pm-product-card__price[data-price-amount="0.00"],
.pm-product-card__price[data-price-amount="0.0000"],
.pm-product-card__price-old[data-price-amount="0"],
.pm-product-card__price-old[data-price-amount="0.0"],
.pm-product-card__price-old[data-price-amount="0.00"],
.pm-product-card__price-old[data-price-amount="0.0000"] {
    display: none;
}
.pm-product-card-actions {
    margin-top: auto;
}
.pm-products-grid .pm-product-card-actions .stock.unavailable {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
}
.pm-products-grid .pm-product-card-actions form > div {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
}
.pm-product-card-actions__row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
}
.pm-products-grid .pm-product-card-actions .pm-btn-secondary,
.pm-products-grid .pm-product-card-actions .pm-btn-primary {
    width: auto;
}
.pm-products-grid .pm-product-card-actions .pm-product-card__cta,
.pm-product-card-actions__row .pm-product-card__cta {
    flex: 1 1 auto;
    min-width: 0;
    height: 32px;
    padding: 0 12px;
}
.pm-products-grid .pm-product-card-actions__row .pm-qty {
    flex: 0 0 35%;
    min-width: 0;
    max-width: 35%;
    display: inline-flex;
    width: 35%;
    box-sizing: border-box;
}
.pm-products-grid .pm-product-card-actions__row .pm-product-card__cta {
    flex: 0 0 65%;
    min-width: 0;
    width: 100%;
    max-width: 65%;
    width: 65%;
    box-sizing: border-box;
}
.pm-products-grid .pm-product-card-actions__row .pm-qty button {
    flex: 0 0 24px;
    width: 24px;
    font-size: 14px;
}
.pm-products-grid .pm-product-card-actions__row .pm-qty input {
    flex: 1 1 auto;
    width: 32px;
    min-width: 32px;
    background: #ffffff;
    color: var(--pm-ink);
    font-size: 12px;
    text-align: center;
}
.pm-product-card .pm-qty {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    overflow: hidden;
    font-size: 12px;
    height: 32px;
}
.pm-product-card .pm-qty button {
    background: var(--pm-neutral-50);
    border: 0;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-weight: 700;
    color: var(--pm-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 16px;
    padding: 0;
}
.pm-product-card .pm-qty input {
    width: 40px;
    height: 32px;
    border: 0;
    text-align: center;
    background: #ffffff;
    color: var(--pm-ink);
    font-size: 12px;
    padding: 0;
}

.catalog-category-view .toolbar {
    font-size: 12px;
}
.catalog-category-view .toolbar .amshopby-filter-current {
    display: inline-flex;
    align-items: center;
    width: auto;
    clear: none;
    float: left;
    margin: 0 10px 0 0;
    padding: 7px 0;
    vertical-align: middle;
}
.catalog-category-view .toolbar .filter-current-subtitle {
    display: none;
}
.catalog-category-view .toolbar .toolbar-amount {
    /*display: inline-flex;*/
    align-items: center;
    float: left;
    margin: 0 10px 0 0;
    padding: 7px 0;
    vertical-align: middle;
}
.catalog-category-view .toolbar .toolbar-sorter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    vertical-align: middle;
}
.catalog-category-view .toolbar .amshopby-items {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.catalog-category-view .toolbar .amshopby-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    position: static;
    border: 1px solid var(--pm-neutral-200);
    border-radius: 999px;
    background: #ffffff;
    color: var(--pm-neutral-700);
    font-size: 12px;
}
.catalog-category-view .toolbar .amshopby-item .action.previous {
    display: none;
}
.catalog-category-view .toolbar .amshopby-item .action.remove,
.catalog-category-view .toolbar .amshopby-remove {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 10px;
    margin: 0;
    order: 3;
    flex: 0 0 auto;
    left: auto;
    top: auto;
}
.catalog-category-view .toolbar .amshopby-item .action.remove span {
    display: none;
}
.catalog-category-view .toolbar .amshopby-item .action.remove:before,
.catalog-category-view .toolbar .amshopby-item .action.remove:after,
.catalog-category-view .toolbar .amshopby-remove:before,
.catalog-category-view .toolbar .amshopby-remove:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--pm-neutral-600);
}
.catalog-category-view .toolbar .amshopby-item .action.remove:before,
.catalog-category-view .toolbar .amshopby-remove:before {
    transform: rotate(45deg);
}
.catalog-category-view .toolbar .amshopby-item .action.remove:after,
.catalog-category-view .toolbar .amshopby-remove:after {
    transform: rotate(-45deg);
}
.catalog-category-view .toolbar .amshopby-filter-name {
    display: none;
    order: 1;
}
.catalog-category-view .toolbar .amshopby-filter-value {
    margin: 0;
    display: inline-block;
    order: 2;
}
.sidebar-main #layered-filter-block .filter-options input[type="checkbox"] + .amshopby-choice:hover:before,
.sidebar-main #layered-filter-block .filter-options input[type="checkbox"]:checked + .amshopby-choice:before,
._keyfocus .sidebar-main #layered-filter-block .filter-options input[type="checkbox"]:active + .amshopby-choice:before,
._keyfocus .sidebar-main #layered-filter-block .filter-options input[type="checkbox"]:focus + .amshopby-choice:before,
.sidebar-main #layered-filter-block .filter-options input[type="checkbox"]:active + .amshopby-choice:before,
.sidebar-main #layered-filter-block .filter-options input[type="checkbox"]:focus + .amshopby-choice:before {
    border-color: var(--pm-brand-yellow);
}
.sidebar-main #layered-filter-block .filter-options input[type="checkbox"]:checked + .amshopby-choice:after {
    background: var(--pm-brand-yellow) url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNSAxNSI+CiAgPGRlZnMvPgogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMS42NjkzIDMuNTAwNjFjLS4yMDc4LjAwNjk1LS40MDQ4LjA5ODg1LS41NDkzLjI1NjItMS45NTcwMyAyLjA2NDE1LTMuNDM4ODMgMy43NzY1NS01LjI4MDQxIDUuNzQ3ODNMMy44MTczIDcuNzA0NzRjLS4wNzk5Mi0uMDcxNi0uMTcyNDUtLjEyNTk1LS4yNzIzMy0uMTU5OTItLjA5OTg3LS4wMzM5Ny0uMjA1MTItLjA0NjktLjMwOTc0LS4wMzgwNi0uMTA0NjIuMDA4ODUtLjIwNjU2LjAzOTI5LS4zLjA4OTYtLjA5MzQ1LjA1MDMtLjE3NjU2LjExOTQ4LS4yNDQ1OS4yMDM2LS4wNjgwNC4wODQxMS0uMTE5NjYuMTgxNTEtLjE1MTkzLjI4NjYyLS4wMzIyNy4xMDUxMS0uMDQ0NTUuMjE1ODgtLjAzNjE1LjMyNTk4LjAwODQxLjExMDExLjAzNzM0LjIxNzQuMDg1MTUuMzE1NzQuMDQ3ODEuMDk4MzMuMTEzNTUuMTg1NzkuMTkzNDguMjU3MzlMNS4zNzc3MSAxMS4yOThjLjE1MzE1LjEzNzkuMzUwMTkuMjA5OC41NTE2LjIwMTMuMjAxNDEtLjAwODYuMzkyMzEtLjA5NjkuNTM0NDQtLjI0NzNDOC42MTA3NCA4Ljk4NzU3IDEwLjE0MiA3LjE3NTQ0IDEyLjI1NiA0Ljk0NTc4Yy4xMTY1LS4xMTgzNy4xOTYtLjI3MTIuMjI4MS0uNDM4MjMuMDMyMS0uMTY3MDMuMDE1My0uMzQwMzgtLjA0ODQtLjQ5NzA5LS4wNjM2LS4xNTY3MS0uMTcwOS0uMjg5MzctLjMwNzgtLjM4MDQyLS4xMzY5LS4wOTEwNS0uMjk2OC0uMTM2MTktLjQ1ODYtLjEyOTQzeiIvPgo8L3N2Zz4K") center/100% 100% no-repeat;
}
.catalog-category-view #sorter {
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid var(--pm-neutral-200);
    background: #ffffff;
}
.toolbar .sorter-options {
    background-image: none;
}
.toolbar select {
    box-shadow: none !important;
}
.catalog-category-view .toolbar .limiter select,
.catalog-category-view .toolbar select.limiter-options {
    background-image: none;
}
.toolbar [data-role="direction-switcher"] {
    display: none;
}

/* ===== END CATEGORY GRID ===== */
.pm-price {
    color: var(--pm-brand-yellow-700);
    font-weight: 700;
    font-size: 14px;
}
.pm-price-old {
    font-size: 11px;
    color: #9ca3af;
    text-decoration: line-through;
}
.pm-price--sale,
.pm-price--sale .price {
    color: var(--pm-sale-red);
}
.pm-btn-primary, .pm-btn-secondary {
    border-radius: 999px;
    border: none;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.pm-btn-primary {
    background: var(--pm-brand-yellow);
    color: #111827;
}
.pm-btn-primary:hover {
    background: var(--pm-brand-yellow-600);
    border: none;
}
.pm-btn-secondary {
    background: #111827;
    color: #f9fafb;
}
.pm-btn-secondary:hover {
    background: #020617;
    border: none;
    color: #f9fafb;
}

.widget-product-carousel .pm-product-card {
    margin-bottom: 18px;
}

/* PageBuilder product carousel tweaks */
[data-content-type='products'][data-appearance='carousel'] .slick-prev {
    left: 0;
}
[data-content-type='products'][data-appearance='carousel'] .slick-next {
    right: 0;
}
.widget-product-carousel .pm-product-card-meta,
.widget-product-carousel .pm-product-card__meta {
    display: none;
}
@media (min-width: 481px) {
    .widget-product-carousel .slick-track {
        display: flex;
        align-items: stretch;
    }
    .widget-product-carousel .slick-slide {
        height: auto;
        display: flex;
    }
    .widget-product-carousel .slick-slide > div,
    .widget-product-carousel .slick-slide > div > div {
        height: 100%;
        display: flex;
        width: 100%;
    }
    .widget-product-carousel .pm-product-card {
        height: 100%;
    }
}
.widget-product-carousel .pm-product-card-price-row,
.widget-product-carousel .pm-product-card-price-row .price-box {
    text-align: right;
}
.widget-product-carousel .pm-product-card-price-row .price-box {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.widget-product-carousel .pm-product-card-price-row .price-container,
.widget-product-carousel .pm-product-card-price-row .old-price {
    width: auto;
    text-align: right;
}
.widget-product-carousel .pm-product-card-price-row .price-container {
    order: 2;
}
.widget-product-carousel .pm-product-card-price-row .old-price {
    order: 1;
}
 


/*.page-header {*/
/*    display: none;*/
/*}*/

@media (max-width: 620px) {
    .pm-products-list .pm-product-card.pm-product-card--list,
    .pm-product-card.pm-product-card--list {
        display: grid;
        grid-template-columns: minmax(120px, 160px) minmax(0, 1fr) minmax(80px, max-content);
        grid-template-areas:
            "media title price"
            "media meta meta"
            "media desc desc"
            "media link link"
            "media swatches swatches"
            "media actions actions"
            "media secondary secondary";
        gap: 12px;
        padding: 12px;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__media {
        grid-area: media;
        background: transparent;
        align-self: start;
        aspect-ratio: auto;
        height: auto;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__media .imgwrap {
        display: block;
        background: transparent;
        position: static;
        inset: auto;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__media img {
        width: 100%;
        height: auto;
        object-fit: contain;
        display: block;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__main,
    .pm-product-card.pm-product-card--list .pm-product-card__side,
    .pm-product-card.pm-product-card--list .pm-actions,
    .pm-product-card.pm-product-card--list .pm-actions form {
        display: contents;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__header {
        display: contents;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__title {
        grid-area: title;
        min-width: 0;
    }

    .pm-product-card.pm-product-card--list .pm-price {
        grid-area: price;
        justify-self: end;
        text-align: right;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__meta {
        grid-area: meta;
    }

    .pm-product-card.pm-product-card--list .pm-product-card__desc {
        grid-area: desc;
        font-size: 12px;
        line-height: 1.4;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .pm-product-card.pm-product-card--list .pm-actions__row {
        grid-area: actions;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .pm-product-card.pm-product-card--list .product-social-links {
        grid-area: secondary;
        justify-content: flex-start;
    }

    .pm-product-card.pm-product-card--list .pm-link {
        grid-area: link;
    }

    .pm-product-card.pm-product-card--list .pm-product-card-swatches {
        grid-area: swatches;
    }

    .pm-product-card.pm-product-card--list .pm-specs {
        display: none;
    }

    .pm-product-card.pm-product-card--list .pm-price__value {
        font-size: 20px;
        font-weight: 800;
        line-height: 20px;
    }

    .pm-product-card.pm-product-card--list .pm-price__vat {
        font-size: 12px;
    }

    .pm-product-card.pm-product-card--list .pm-actions__row .pm-product-card__cta {
        flex: 1 1 auto;
    }

    .pm-product-card.pm-product-card--list .pm-qty,
    .pm-product-card.pm-product-card--list .pm-qty button,
    .pm-product-card.pm-product-card--list .pm-qty input {
        height: 32px;
    }
}

/* PDP swatches (CVI) */
.catalog-product-view .product-options-wrapper .swatch-attribute {
    margin-bottom: 12px;
}
.catalog-product-view .product-options-wrapper .swatch-attribute-label {
    font-size: 12px;
    color: var(--pm-neutral-600);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.catalog-product-view .product-options-wrapper .swatch-attribute-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.catalog-product-view .product-options-wrapper .swatch-option.text {
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    background: #f9fafb;
    color: var(--pm-neutral-700);
    padding: 4px 4px;
    font-size: 12px;
    height: auto;
    min-width: 0;
}
.catalog-product-view .product-options-wrapper .swatch-option.color {
    border-radius: 999px;
    width: 28px;
    height: 28px;
    border: 1px solid var(--pm-neutral-200);
}
.catalog-product-view .product-options-wrapper .swatch-option.selected {
    background: var(--pm-brand-yellow);
    border-color: var(--pm-brand-yellow);
    color: var(--pm-ink);
}

/* PDP discount badge (reuse PLP pill) */
.catalog-product-view .gallery-placeholder {
    position: relative;
}

/* PDP adjustments: title/meta alignment + single-row qty/CTA */
.catalog-product-view .page-title-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "brand reviews"
        "title title";
    column-gap: 16px;
    row-gap: 6px;
}
.catalog-product-view .page-title-wrapper .amshopby-option-link {
    grid-area: brand;
    margin: 0;
}
.catalog-product-view .page-title-wrapper .amshopby-brand-title-link,
.catalog-product-view .page-title-wrapper .amshopby-brand-title-link:visited {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(252, 185, 0, 1);
}
.catalog-product-view .amshopby-brand-title-link,
.catalog-product-view .amshopby-brand-title-link:visited {
    color: rgba(252, 185, 0, 1);
}
.catalog-product-view .page-title-wrapper .amshopby-brand-title-link:hover {
    color: var(--pm-brand-yellow-600);
}
.catalog-product-view .page-title-wrapper .page-title {
    grid-area: title;
    margin: 0;
}
.catalog-product-view .page-title-wrapper .product-reviews-summary {
    grid-area: reviews;
    position: static;
    justify-self: end;
    align-self: center;
    margin: 0;
}
.catalog-product-view .page-title-wrapper .product-reviews-summary .reviews-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    justify-content: flex-end;
    text-align: right;
    white-space: nowrap;
}
.catalog-product-view .page-title-wrapper .product-reviews-summary.no-rating .reviews-actions::before,
.catalog-product-view .page-title-wrapper .product-reviews-summary.empty .reviews-actions::before {
    content: "★★★★★";
    color: var(--pm-brand-500);
    font-size: 12px;
    letter-spacing: 0.06em;
}
.catalog-product-view .page-title-wrapper .product-reviews-summary .reviews-actions .action {
    font-size: 12px;
    font-weight: 600;
    color: var(--pm-neutral-600);
    text-decoration: none;
}
.catalog-product-view .product-info-stock-sku {
    text-align: left;
}
.catalog-product-view .product-info-price {
    /*display: grid;*/
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "swatches price"
        "swatches add";
    column-gap: 16px;
    row-gap: 12px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
    padding: 16px 18px;
    background: #ffffff;
    border: 1px solid var(--pm-neutral-100);
    border-radius: var(--pm-radius-lg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}
.catalog-product-view .product-info-price .price-box {
    grid-area: price;
    justify-self: end;
    text-align: right;
}
.catalog-product-view .product-info-price .product-add-form {
    display: contents;
}
.catalog-product-view #product_addtocart_form {
    /*width: 400px;*/
    max-width: 100%;
}
.catalog-product-view .product-info-price .product-options-wrapper {
    grid-area: swatches;
    margin: 0;
}
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap {
    grid-area: swatches;
    margin: 0;
}
.catalog-product-view .product-info-price .product-options-wrapper .swatch-opt,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-opt,
.catalog-product-view .product-info-price .product-options-wrapper .swatch-attribute,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-attribute {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.catalog-product-view .product-info-price .product-options-wrapper .swatch-attribute-label,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-attribute-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--pm-neutral-600);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
    line-height: 1.2;
    display: block;
}
.catalog-product-view .product-info-price .product-options-wrapper .swatch-attribute-options,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-attribute-options {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    height: fit-content;
}
.catalog-product-view .product-info-price .product-options-wrapper .swatch-option,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-option {
    border-radius: 999px;
    border: 1px solid var(--pm-neutral-200);
    background: #ffffff;
    color: var(--pm-neutral-700);
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    height: auto;
    min-width: 0;
    box-shadow: none;
    width: auto;
    white-space: nowrap;
}
.catalog-product-view .product-info-price .product-options-wrapper .swatch-option.selected,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-option.selected {
    background: var(--pm-brand-yellow);
    border-color: var(--pm-brand-yellow);
    color: var(--pm-ink);
}
.catalog-product-view .product-info-price .product-options-wrapper .swatch-option:not(.disabled):hover,
.catalog-product-view .product-info-price .pm-pdp-swatch-wrap .swatch-option:not(.disabled):hover {
    border-color: var(--pm-brand-yellow-600);
    color: var(--pm-ink);
}
.catalog-product-view .product-info-price .box-tocart {
    grid-area: add;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid var(--pm-neutral-100);
}
.catalog-product-view .product-info-main .product.attribute.overview {
    margin: 16px 0;
}
.catalog-product-view .product-info-main .product-social-links,
.catalog-product-view .product-info-main .product-info-stock-sku {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}
.catalog-product-view .product-info-main .product-social-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    text-align: center;
}
.catalog-product-view .product-info-main .product-social-links .product-addto-links {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.catalog-product-view .product-info-main .product.attribute.sku {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-align: left;
    padding-right: 12px;
    margin-right: 4px;
    border-right: 1px solid var(--pm-neutral-200);
}
.catalog-product-view .product-info-main .product.attribute.sku .type {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--pm-neutral-600);
    opacity: 0.7;
}
.catalog-product-view .product-info-main .product.attribute.sku .value {
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    color: var(--pm-neutral-600);
}
.catalog-product-view .product-info-main .product-info-stock-sku {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 8px 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--pm-neutral-100);
    font-size: 12px;
    color: var(--pm-neutral-600);
    text-align: center;
    white-space: nowrap;
}
.catalog-product-view .product-info-main .product-info-stock-sku > * {
    white-space: nowrap;
}
.catalog-product-view .product-info-main .product-info-stock-sku .product.attribute.sku {
    order: 1;
}
.catalog-product-view .product-info-main .product-info-stock-sku .stock {
    order: 2;
}
.catalog-product-view .product-info-main .product-info-stock-sku .product-info-shipping {
    order: 3;
}
.catalog-product-view .product-add-form {
    margin-top: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.catalog-product-view .product-info-main .product-info-stock-sku .stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: none;
}
.catalog-product-view .product-info-main .product-info-stock-sku .stock::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: currentColor;
    display: inline-block;
}
.catalog-product-view .product-info-main .product-info-stock-sku .stock.available {
    color: #15803d;
    background: #f0fdf4;
    border-color: #dcfce7;
}
.catalog-product-view .product-info-main .product-info-stock-sku .stock.unavailable {
    color: #b91c1c;
    background: #fef2f2;
    border-color: #fee2e2;
}
.catalog-product-view .product-info-main .product-info-shipping {
    display: inline-flex;
    align-items: center;
}
.catalog-product-view .product-info-main .product-info-shipping__label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--pm-neutral-600);
    opacity: 0.8;
}

.catalog-product-view .box-tocart .fieldset {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    width: 100%;
    min-height: var(--pm-btn-height);
    height: auto;
}
.catalog-product-view .box-tocart .fieldset > * {
    align-self: center;
}
.catalog-product-view .box-tocart .field.qty {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    height: var(--pm-btn-height);
    min-height: var(--pm-btn-height);
    align-self: center;
}
.catalog-product-view .box-tocart .field.qty .label {
    margin: 0;
    display: inline-flex;
    align-items: center;
    height: var(--pm-btn-height);
    padding: 0;
    font-size: 12px;
    line-height: var(--pm-btn-height);
    white-space: nowrap;
}
.catalog-product-view .box-tocart .field.qty .label span,
.catalog-product-view .box-tocart .actions .action.tocart span {
    display: inline-flex;
    align-items: center;
    line-height: var(--pm-btn-height);
}
.catalog-product-view .box-tocart .field.qty .control {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
}
.catalog-product-view .box-tocart .actions {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    /*gap: 8px;*/
    height: var(--pm-btn-height);
    min-height: var(--pm-btn-height);
    align-self: center;
}
.catalog-product-view .box-tocart .actions .action.tocart {
    white-space: nowrap;
    height: var(--pm-btn-height);
    min-height: var(--pm-btn-height);
    padding: 0 14px;
    line-height: 1;
    margin-bottom: 0;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
}
.catalog-product-view #product-addtocart-button {
    margin-bottom: 0;
}
.catalog-product-view .pm-qty-control {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 0;
    overflow: hidden;
    font-size: 12px;
    height: var(--pm-btn-height);
    min-height: var(--pm-btn-height);
    box-sizing: border-box;
    box-shadow: inset 0 0 0 1px var(--pm-neutral-200);
    background: #ffffff;
}
.catalog-product-view .pm-qty-control .qty {
    width: 48px;
    height: var(--pm-btn-height);
    box-sizing: border-box;
    border: 0;
    text-align: center;
    background: #ffffff;
    color: var(--pm-ink);
    font-size: 12px;
    padding: 0;
    line-height: var(--pm-btn-height);
}
.catalog-product-view .pm-qty-btn {
    background: var(--pm-neutral-50);
    border: 0;
    width: 36px;
    height: var(--pm-btn-height);
    box-sizing: border-box;
    cursor: pointer;
    font-weight: 700;
    color: var(--pm-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 16px;
    padding: 0;
}
.catalog-product-view .pm-qty-btn:focus {
    outline: 2px solid rgba(252, 185, 0, 0.3);
    outline-offset: 2px;
}
@media (max-width: 620px) {
    .catalog-product-view .product-info-main .product-info-stock-sku {
        gap: 6px;
        font-size: 11px;
    }

    .catalog-product-view .product-info-main .product-info-stock-sku .product.attribute.sku {
        padding-right: 8px;
        margin-right: 0;
    }
}
@media (max-width: 380px) {
    .pm-products-grid .pm-product-card-swatches .swatch-attribute-options {
        gap: 2px 4px;
    }

    .pm-products-grid .pm-product-card-swatches .swatch-option,
    .pm-products-grid .pm-product-card-swatches .swatch-option.text {
        padding: 3px 6px;
        font-size: 11px;
    }
}
.pm-header-primary__col.pm-header-primary__col--right {
    margin-left: auto;
}
@media (min-width: 769px) {
    .pm-header-primary {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}
.minicart-wrapper {
    display: block !important;
}
@media only screen and (max-width: 768px) {
    .minicart-wrapper {
         margin-top: 0 !important;
    }
}

[role="menu"].ui-menu {
    padding-left: 0;
}
.price-options-container {
    float: left;
    width: 100%;
}
.price-options-container .product-options-wrapper {
    width: 60%;
    float: left;
}
.price-options-container .price-box {
    width: 40% !important;
    float: right;
}
.price-options-container .product-options-bottom {
    width: 100%;
    float: right;
}
.catalog-product-view .product-add-form > form {
    width: 100%;
}
.swatch-option-tooltip,
.swatch-attribute-selected-option {
    display: none !important;
}
.catalog-product-view .product-info-price .box-tocart {
    width: 100%;
    float: left;
}
.catalog-product-view .swatch-attribute {
    /*display: block !important;*/
    /*width: 100%;*/
}
.catalog-product-view .swatch-attribute-options {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
}
.catalog-product-view .box-tocart .action.tocart {
    margin-right: 0;
}
@media (min-width: 769px) and (max-width: 944px) {
    .catalog-product-view .pm-qty-control .qty {
        width: 20px!important;
    }
}
/*#maincontent {*/
/*    border: 1px solid blue;*/
/*}*/
/*.header.content {*/
/*    border: 1px solid red;*/
/*}*/
/*.pm-header-primary {*/
/*    border: 1px solid yellow;*/
/*}*/
/*.pm-header-primary__col.pm-header-primary__col--right {*/
/*    border: 1px solid green;*/
/*}*/
/*.minicart-wrapper {*/
/*    border: 1px solid red;*/
/*}*/
/* ===== Related/Upsell/Cross-sell Swiper ===== */
.pm-products-carousel {
    position: relative;
}
.pm-products-carousel .swiper-container {
    overflow: hidden;
}
.pm-products-carousel .swiper-wrapper {
    display: flex;
}
.pm-products-carousel .swiper-slide {
    height: auto;
}
.pm-products-carousel .product-items {
    list-style: none;
    margin: 0;
    padding: 0;
}
.pm-products-carousel .product-item {
    margin: 0;
}
.pm-products-carousel__controls {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 8px;
}
.pm-products-carousel .swiper-button-prev,
.pm-products-carousel .swiper-button-next {
    position: static;
    width: 32px;
    height: 32px;
    margin: 0;
    border: 1px solid var(--pm-neutral-200);
    border-radius: 50%;
    background: #fff;
    color: var(--pm-ink);
}
.pm-products-carousel .swiper-button-prev::after,
.pm-products-carousel .swiper-button-next::after {
    font-size: 14px;
}
.pm-products-carousel .swiper-pagination {
    position: static;
    margin-top: 10px;
}

@media (max-width: 768px) {
    .minisearch .control {
        border-top: none;
    }
    .minisearch input {
        position: initial;
        left: auto;
    }
    .block.block-search {
        position: relative;
    }
    .block.block-search button.action.search {
        position: absolute;
        top: 16px;
        right: 8px;
        border: none
    }
    .minisearch label {
        position: absolute;
        right: 8px;
        top: 23px;
    }
}

/* Fix for Safari iPhone: .pm-store-card height increases on scroll */
.pm-store-card {
    min-height: 0 !important;
    height: auto !important;
    align-self: stretch;
}

/* Fix for Safari iPhone mobile menu on product view */
@media (max-width: 768px) {
    .nav-open .page-wrapper {
        left: 0 !important;
    }
}
@media only screen and (max-width: 768px) {
    .nav-open .nav-toggle:after {
        background: none !important;
    }
}
@media (max-width: 768px) {
    .page-wrapper .header.content {
        z-index: 1;
    }

    /* Mobile menu close button style */
    .nav-sections .action.close {
        position: absolute;
        top: 15px;
        right: 15px;
        z-index: 100;
        background: none;
        border: none;
        padding: 0;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
    .nav-sections .action.close::before,
    .nav-sections .action.close::after {
        content: '';
        position: absolute;
        width: 20px;
        height: 2px;
        background-color: var(--pm-ink);
        border-radius: 2px;
    }
    .nav-sections .action.close::before {
        transform: rotate(45deg);
    }
    .nav-sections .action.close::after {
        transform: rotate(-45deg);
    }
    .nav-sections .action.close span {
        display: none;
    }
    .nav-sections {
        top: 58px
    }
}
@media (max-width: 768px) {
    .nav-sections .block-search {
        margin: 12px 16px 8px;
    }
    .nav-sections .block-search .label,
    .nav-sections .minisearch label {
        display: none;
    }
    .nav-sections .block-search .control {
        border-top: 0;
        margin: 0;
        padding: 0;
    }
    .nav-sections .block-search input {
        position: static;
        left: auto;
        margin: 0;
        width: 100%;
        border: 1px solid var(--pm-gray-200);
        border-radius: 999px;
        padding: 10px 44px 10px 14px;
        box-sizing: border-box;
    }
    .nav-sections .block-search button.action.search {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        right: 24px;
        transform: translateY(-50%);
        border: 0;
        background: transparent;
    }
}
@media (max-width: 768px) {
    .sidebar-main #layered-filter-block .filter-title {
        background: #fff;
    }
}
@media (min-width: 769px) {
    .nav-sections .action.close {
        display: none;
    }
}

/* PET-251: Brand carousel (CMS block styles) */
.pm-brands-section[data-pm-brands] { margin: 64px 0 0; }
.pm-brands-section[data-pm-brands] .pm-container { max-width: 1240px; margin: 0 auto; padding: 0 16px; }
.pm-brands-section[data-pm-brands] .pm-fullwidth { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

.pm-brands-section[data-pm-brands] .pm-brands-head { margin-bottom: 18px; }
.pm-brands-section[data-pm-brands] .pm-h2 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.25; color: #1b1f23; }
.pm-brands-section[data-pm-brands] .pm-muted { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: #6b7280; max-width: 640px; }

.pm-brands-section[data-pm-brands] .pm-brands-carousel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 16px;
    overflow: hidden;
}

.pm-brands-section[data-pm-brands] .pm-brand-row { overflow: hidden; width: 100%; }
.pm-brands-section[data-pm-brands] .pm-brand-track {
    display: flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-play-state: paused;
    will-change: transform;
}

.pm-brands-section[data-pm-brands].pm-brands-ready .pm-brand-track { animation-play-state: running; }

.pm-brands-section[data-pm-brands] .pm-row-right .pm-brand-track { animation: pm-marquee-right 180s linear infinite; }
.pm-brands-section[data-pm-brands] .pm-row-left  .pm-brand-track { animation: pm-marquee-left 170s linear infinite; }

/* Smaller cards (desktop) */
.pm-brands-section[data-pm-brands] .pm-brand-card {
    flex: 0 0 auto;
    width: 220px;
    height: 120px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 14px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
    transition: transform .18s ease, box-shadow .18s ease;
    text-decoration: none;
}

.pm-brands-section[data-pm-brands] .pm-brand-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(17, 24, 39, 0.08);
}

.pm-brands-section[data-pm-brands] .pm-brand-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.86;
    transition: filter .18s ease, opacity .18s ease;
}

.pm-brands-section[data-pm-brands] .pm-brand-card:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

.pm-brands-section[data-pm-brands] .pm-brands-carousel:hover .pm-brand-track,
.pm-brands-section[data-pm-brands] .pm-brands-carousel:focus-within .pm-brand-track {
    animation-play-state: paused;
}

@media (max-width: 640px) {
    .pm-brands-section[data-pm-brands] { margin-top: 44px; }
    .pm-brands-section[data-pm-brands] .pm-h2 { font-size: 18px; }
    .pm-brands-section[data-pm-brands] .pm-brands-carousel { gap: 10px; padding: 0 12px; }
    .pm-brands-section[data-pm-brands] .pm-brand-track { gap: 10px; }

    /* Smaller cards (mobile) */
    .pm-brands-section[data-pm-brands] .pm-brand-card {
        width: 150px;
        height: 86px;
        padding: 8px;
        border-radius: 12px;
    }
}

@keyframes pm-marquee-left {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes pm-marquee-right {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

/* PET-251: IconNav + Animated animal pictures. */
.pm-hover-icons { margin: 24px 0 12px; }

/* Desktop: 6 in a centered row */
.pm-hover-icons__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    justify-content: center;
    justify-items: center;
    gap: 16px;
    max-width: 960px;
    margin: 0 auto;
}

.pm-hover-icon {
    position: relative;
    /* +30% vs previous clamp(88px, 12vw, 150px) */
    width: clamp(114px, 15.6vw, 195px);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 999px;
    transition: transform .18s ease;
}

.pm-hover-icon:hover { transform: translateY(-2px); }

.pm-hover-icon .pm-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 999px;
    display: block;
}

.pm-img--animated {
    opacity: 0;
    transform: scale(1);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
}

.pm-hover-icon:hover .pm-img--animated,
.pm-hover-icon:focus-visible .pm-img--animated {
    opacity: 1;
    transform: scale(1.1); /* +10% */
}

/* Tablet: 3 per row */
@media (max-width: 900px) {
    .pm-hover-icons__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 520px;
    }
}

/* Mobile: 3 per row (your current layout) */
@media (max-width: 520px) {
    .pm-hover-icons__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 420px; /* a bit more breathing room after scaling */
        gap: 12px;
    }

    .pm-hover-icon {
        /* +50% vs original clamp; overrides desktop clamp above */
        width: clamp(132px, 18vw, 240px);
    }
}
