/* ==========================================================================
   BASE MOBILE OVERRIDES (Max-width: 320px)
   ========================================================================== */
@media only screen and (max-width: 320px) {
  /* --- Standard Typography --- */
  .mob64 {
    font-size: 62px;
    line-height: 64px;
  }
  .mob46 {
    font-size: 44px;
    line-height: 46px;
  }
  .mob36 {
    font-size: 34px;
    line-height: 38px;
  }
  .mob30 {
    font-size: 28px;
    line-height: 32px;
  }
  .mob28 {
    font-size: 26px;
    line-height: 30px;
  }
  .mob26 {
    font-size: 24px;
    line-height: 28px;
  }
  .mob24 {
    font-size: 22px;
    line-height: 26px;
  }
  .mob21 {
    font-size: 19px;
    line-height: 23px;
  }
  .mob20 {
    font-size: 18px;
    line-height: 22px;
  }
  .mob18 {
    font-size: 16px;
    line-height: 20px;
  }
  .mob15 {
    font-size: 13px;
    line-height: 17px;
  }
  .mob14,
  .mob13 {
    font-size: 12px;
    line-height: 16px;
  }
  .mobcta {
    font-size: 13px;
    line-height: 17px;
  }

  /* --- Responsive Typography --- */
  .mob80-responsive {
    font-size: 74px;
  }
  .mob72-responsive {
    font-size: 68px;
  }
  .mob64-responsive {
    font-size: 62px;
    line-height: 64px;
  }
  .mob46-responsive {
    font-size: 44px;
    line-height: 46px;
  }
  .mob36-responsive {
    font-size: 34px;
    line-height: 38px;
  }
  .mob31-responsive {
    font-size: 29px;
    line-height: 34px;
  }
  .mob30-responsive {
    font-size: 28px;
    line-height: 32px;
  }
  .mob28-responsive {
    font-size: 26px;
    line-height: 30px;
  }
  .mob26-responsive {
    font-size: 24px;
    line-height: 28px;
  }
  .mob24-responsive {
    font-size: 22px;
    line-height: 26px;
  }
  .mob21-responsive {
    font-size: 19px;
    line-height: 23px;
  }
  .mob20-responsive {
    font-size: 18px;
    line-height: 22px;
  }
  .mob18-responsive {
    font-size: 16px;
    line-height: 20px;
  }
  .mob16-responsive {
    font-size: 14px;
    line-height: 18px;
  }
  .mob15-responsive {
    font-size: 13px;
    line-height: 17px;
  }
  .mob14-responsive,
  .mob13-responsive {
    font-size: 12px;
    line-height: 16px;
  }
  .mobcta-responsive {
    font-size: 13px;
    line-height: 17px;
  }
}

/* ==========================================================================
     MOBILE & TABLET DEVICES (Max-width: 767px)
     ========================================================================== */
@media only screen and (max-width: 767px) {
  /* --- Utilities --- */
  
  .desktop-br,
  .text-desktop-only {
    display: none;
  }
  .txt-black {
    color: #222;
  }
  .txt-white {
    color: #fff;
  }
  .hcWhite {
    background-color: rgba(255, 255, 255, 0.01);
  }
  .hcBlack {
    background-color: rgba(0, 0, 0, 0.01);
  }
  .icon-angle-right {
    color: #d1d1d1;
    position: absolute;
    right: -0.3em;
    top: 0.4em;
    font-size: 1.6em;
  }

  /* --- Layout & Containers --- */
  .plp-layout {
    padding: 0 18px;
  }
  .m-fullDiv,
  .m-insetDiv {
    position: relative;
    display: block;
  }
  .m-fullDiv {
    width: 100%;
    overflow: hidden;
  }
  .m-fullDiv h2,
  .m-fullDiv h3,
  .m-fullDiv p,
  .m-insetDiv h2,
  .m-insetDiv h3,
  .m-insetDiv p {
    margin: 0;
    padding: 0;
  }
  .m-insetDiv {
    width: 90%;
    overflow: hidden;
    margin: 0 auto;
  }
  .m-fullDiv[id*="theme"] img {
    display: block;
  }
  .textDiv {
    position: absolute;
  }
  .m-item {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
    padding: 7% 0;
    border-bottom: 1px solid #d1d1d1;
  }
  .m-item:last-of-type {
    border-bottom: none;
  }

  /* --- Focus States --- */
  .m-fullDiv a:focus::after,
  .m-fullDiv a:focus::before,
  .m-insetDiv a:focus::after,
  .m-insetDiv a:focus::before,
  .m-item a:focus::after,
  .m-item a:focus::before {
    display: inline-block;
    border-width: 0.1em;
    border-radius: 0.1em;
    border-style: dotted;
    position: absolute;
    z-index: 999;
    content: "";
  }
  .m-fullDiv a:focus::before,
  .m-insetDiv a:focus::before,
  .m-item a:focus::before {
    border-color: #000;
    top: 0.1em;
    right: 0.1em;
    bottom: 0.1em;
    left: 0.1em;
  }
  .m-fullDiv a:focus::after,
  .m-insetDiv a:focus::after,
  .m-item a:focus::after {
    border-color: #fff;
    top: 0.3em;
    right: 0.3em;
    bottom: 0.3em;
    left: 0.3em;
  }
 .bannerDiv {
        width: 100%;
        max-width: 768px;
        overflow: hidden;
        display: block;
        margin: -1px auto 0;
        position: relative;
    }

    .bannerDiv p {
        margin: 0px;
    }

    .m-banner-black {
        background-color: #222;
    }

    .m-banner-white {
        background-color: #efefef;
    }

    .padT0 {
        padding-top: 0;
    }

    .padT1 {
        padding-top: 1%;
    }

    .padT2 {
        padding-top: 2%;
    }

    .padT3 {
        padding-top: 3%;
    }

    .padT4 {
        padding-top: 4%;
    }

    .padT5 {
        padding-top: 5%;
    }

    .padB0 {
        padding-bottom: 0;
    }

    .padB1 {
        padding-bottom: 1%;
    }

    .padB2 {
        padding-bottom: 2%;
    }

    .padB3 {
        padding-bottom: 3%;
    }

    .padB4 {
        padding-bottom: 4%;
    }

    .padB5 {
        padding-bottom: 5%;
    }

    .txt-center {
        text-align: center;
    }

    .txt-left {
        text-align: left;
    }

    .txt-underline {
        text-decoration: underline;
    }

    .txt-noDecoration {
        text-decoration: none;
    }

    .wid100 {
        width: 100%;
    }

  /* --- Components & Sliders --- */
  .spategory-layout .subway-carousel-container {
    width: calc(100% + 36px);
    margin-left: -18px;
  }
  #spategory-subway-carousel [class*="dsEachItem_"]:has([href*="/bed-and-bath/view-all-bedding-by-color/1"]),
  .subway-carousel-container.undefined .subway-carousel-item:has([href*="/bed-and-bath/view-all-bedding-by-color/1"]) {
    display: none;
  }
  .subway-carousel-container:has([href*="/bed-and-bath/view-all-bedding-by-color/1"]) .subway-carousel-item:nth-child(2) {
    padding-left: 1.5em;
  }

  .subway-carousel-container.plp-subway-carousel #plp-subway-carousel .dsEachItem_1a0hF:has(a[href="/furniture/sectional-individual-pieces/1"]),
  .subway-carousel-container.plp-subway-carousel .subway-carousel-item:has(a[href="/furniture/sectional-individual-pieces/1"]),
  .subway-carousel-container.plp-subway-carousel .subway-carousel-item:has(img[src*="ViewAll"]) {
    display: none;
  }
  .subway-carousel-container.plp-subway-carousel:has(img[src*="ViewAll"]) .subway-carousel-item:nth-child(2) {
    padding-left: 1.1428571429em;
  }

  .spategory-layout [data-is-mobile].recently-viewed-products_3F7mO [class*="SliderWrap"],
  .plp-layout [data-is-mobile].recently-viewed-products_3F7mO [class*="SliderWrap"] {
    width: calc(100% + 36px);
    margin: 0 -18px;
  }

  .m-slider {
    width: 100%;
    height: auto;
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 13%;
  }
  .m-slider a {
    display: inline-block;
    vertical-align: text-top;
    width: 55%;
    padding-right: 5%;
    position: relative;
    white-space: normal;
  }
  .m-slider a:nth-child(1) {
    margin-left: 5%;
  }

  .slider-container {
    overflow: hidden;
    position: relative;
    width: 100%;
  }
  .banner-caro-container {
    position: relative;
  }
  .banner-caro-item {
    background: #000;
    padding: 1.3rem 0 0.7rem;
    position: relative;
  }
  .banner-caro-card {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    color: #fff;
    overflow: hidden;
    position: relative;
    padding-bottom: 7%;
  }

  .tns-nav {
    text-align: center;
    position: absolute;
    bottom: 11%;
    left: 0;
    right: 0;
    z-index: 1;
  }
  .tns-nav > [aria-controls] {
    width: 7px;
    height: 7px;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: 0 0;
    border: 1px solid #fff;
  }
  .tns-nav > .tns-nav-active {
    background: #fff;
  }

  .about-the-designer-container .content-half-column .designer-image-container {
    z-index: 1;
  }
  .copy-html-button {
    background: linear-gradient(#2dabf9 5%, #0688fa 100%) #2dabf9;
    border-radius: 3px;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-family: Arial;
    font-size: 15px;
    padding: 9px 23px;
    text-decoration: none;
    position: absolute;
    right: 20px;
    margin: 20px 0;
  }

  /* --- Typography Base Properties --- */
  .cb2-sectra-regular {
    letter-spacing: 0 !important;
  }
  a.cb2-brown-regular,
  a.cb2-brown-light,
  button .cb2-brown-regular,
  button .cb2-brown-light {
    letter-spacing: 0.04em !important;
  }

  .mob28,
  .mob30,
  .mob36,
  .mob28-responsive,
  .mob30-responsive,
  .mob31-responsive,
  .mob36-responsive {
    text-transform: uppercase;
  }
  .mob26,
  .mob28,
  .mob30,
  .mob26-responsive,
  .mob28-responsive,
  .mob30-responsive,
  .mob31-responsive {
    letter-spacing: 0.04em;
  }
  .mob18,
  .mob21,
  .mob24,
  .mob18-responsive,
  .mob21-responsive,
  .mob24-responsive {
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  /* --- Standard Typography --- */
  .mob64 {
    font-size: 64px;
    line-height: 66px;
    letter-spacing: 0;
  }
  .mob46 {
    font-size: 46px;
    line-height: 48px;
  }
  .mob36 {
    font-size: 36px;
    line-height: 40px;
  }
  .mob30 {
    font-size: 30px;
    line-height: 34px;
  }
  .mob28 {
    font-size: 28px;
    line-height: 32px;
  }
  .mob26 {
    font-size: 26px;
    line-height: 30px;
    text-transform: uppercase;
  }
  .mob24 {
    font-size: 24px;
    line-height: 28px;
  }
  .mob21 {
    font-size: 21px;
    line-height: 25px;
  }
  .mob20 {
    font-size: 20px;
    line-height: 24px;
  }
  .mob18 {
    font-size: 18px;
    line-height: 22px;
  }
  .mob15 {
    font-size: 15px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .mob14 {
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .mob13 {
    font-size: 13px;
    line-height: 17px;
    letter-spacing: 0;
  }
  .mob12 {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .mobcta {
    font-size: 13px;
    line-height: 17px;
    text-decoration: underline;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  /* --- Responsive Typography Definitions --- */
  .mob80-responsive {
    font-size: 80px;
  }
  .mob72-responsive {
    font-size: 72px;
  }
  .mob64-responsive {
    font-size: 64px;
    line-height: 66px;
    letter-spacing: 0.04em;
  }
  .mob46-responsive {
    font-size: 46px;
    line-height: 48px;
  }
  .mob36-responsive {
    font-size: 36px;
    line-height: 40px;
  }
  .mob31-responsive {
    font-size: 31px;
    line-height: 36px;
  }
  .mob30-responsive {
    font-size: 30px;
    line-height: 34px;
  }
  .mob28-responsive {
    font-size: 28px;
    line-height: 32px;
  }
  .mob26-responsive {
    font-size: 26px;
    line-height: 30px;
    text-transform: uppercase;
  }
  .mob24-responsive {
    font-size: 24px;
    line-height: 28px;
  }
  .mob21-responsive {
    font-size: 21px;
    line-height: 25px;
  }
  .mob20-responsive {
    font-size: 20px;
    line-height: 24px;
  }
  .mob18-responsive {
    font-size: 18px;
    line-height: 22px;
  }
  .mob16-responsive {
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .mob15-responsive {
    font-size: 15px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .mob14-responsive {
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .mob13-responsive {
    font-size: 13px;
    line-height: 17px;
    letter-spacing: 0em;
  }
  .mob12-responsive {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .mobcta-responsive {
    font-size: 13px;
    line-height: 17px;
    text-decoration: underline;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
}

/* ==========================================================================
     DESKTOP BASE & FLUID STYLES (Min-width: 768px)
     ========================================================================== */
@media only screen and (min-width: 768px) {
  /* --- Utilities --- */
  .mobile-br,
  .text-mobile-only {
    display: none;
  }
  .hcWhite {
    background-color: rgba(255, 255, 255, 0.01);
  }
  .hcBlack {
    background-color: rgba(0, 0, 0, 0.01);
  }
  .txt-black {
    color: #222;
  }
  .txt-white {
    color: #fff;
  }

  /* --- Typography Groupings --- */
  .copyL,
  .copyXL,
  .copyXS,
  .headline32,
  .headlineL,
  .headlineM,
  .headlineS,
  .headlineXL,
  .headlineXS,
  .headlineXXL,
  .headlineXXS,
  .headlineXXXL,
  .copyL-responsive,
  .copyXL-responsive,
  .copyXS-responsive,
  .headline32-responsive,
  .headlineL-responsive,
  .headlineM-responsive,
  .headlineS-responsive,
  .headlineXL-responsive,
  .headlineXS-responsive,
  .headlineXXL-responsive,
  .headlineXXS-responsive,
  .headlineXXXL-responsive {
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .copyM,
  .copyS,
  .copyM-responsive,
  .copyS-responsive {
    letter-spacing: 0;
    text-transform: none;
  }
  .ctaL,
  .ctaS,
  .ctaL-responsive,
  .ctaS-responsive {
    letter-spacing: 0.04em;
  }

  .copyXS,
  .ctaL,
  .copyXS-responsive,
  .ctaL-responsive {
    font-size: calc(12px + (16 - 12) * (100vw - 1024px) / (1920 - 1024));
  }

  /* --- Fluid Typography (Headlines) --- */
  .headlineXXXL,
  .headlineXXXL-responsive {
    font-size: calc(80px + (100 - 80) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(82px + (100 - 82) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineXXL,
  .headlineXXL-responsive {
    font-size: calc(56px + (80 - 56) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(64px + (86 - 64) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineXL,
  .headlineXL-responsive {
    font-size: calc(35px + (62 - 35) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(40px + (68 - 40) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineL,
  .headlineL-responsive {
    font-size: calc(30px + (56 - 30) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(34px + (62 - 34) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineM,
  .headlineM-responsive {
    font-size: calc(24px + (50 - 24) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(30px + (54 - 30) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineS,
  .headlineS-responsive {
    font-size: calc(20px + (44 - 20) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(28px + (48 - 28) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineXS,
  .headlineXS-responsive {
    font-size: calc(20px + (40 - 20) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(24px + (46 - 24) * (100vw - 1024px) / (1920 - 1024));
  }
  .headlineXXS,
  .headlineXXS-responsive {
    font-size: calc(18px + (35 - 18) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(22px + (40 - 22) * (100vw - 1024px) / (1920 - 1024));
  }
  .headline32,
  .headline32-responsive {
    font-size: calc(15px + (32 - 15) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(19px + (37 - 19) * (100vw - 1024px) / (1920 - 1024));
  }

  /* --- Fluid Typography (Viewports) --- */
  .headline8vw,
  .headline8vw-responsive {
    font-size: 8vw;
    line-height: 1;
  }
  .headline75vw,
  .headline75vw-responsive {
    font-size: 7.5vw;
    line-height: 1;
  }
  .headline7vw,
  .headline7vw-responsive {
    font-size: 7vw;
    line-height: 1;
  }
  .headline65vw,
  .headline65vw-responsive {
    font-size: 6.5vw;
    line-height: 1;
  }
  .headline6vw,
  .headline6vw-responsive {
    font-size: 6vw;
    line-height: 1;
  }

  /* --- Fluid Typography (Copy & CTA) --- */
  .copyXL,
  .copyXL-responsive {
    font-size: calc(18px + (28 - 18) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(24px + (34 - 24) * (100vw - 1024px) / (1920 - 1024));
  }
  .copyL,
  .copyL-responsive {
    font-size: calc(14px + (24 - 14) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(20px + (30 - 20) * (100vw - 1024px) / (1920 - 1024));
    text-transform: uppercase;
  }
  .copyM,
  .copyM-responsive {
    font-size: calc(14px + (20 - 14) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(20px + (26 - 20) * (100vw - 1024px) / (1920 - 1024));
  }
  .copyS,
  .copyS-responsive {
    font-size: calc(12px + (18 - 12) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(16px + (24 - 16) * (100vw - 1024px) / (1920 - 1024));
  }
  .copyXS,
  .copyXS-responsive {
    line-height: calc(16px + (20 - 16) * (100vw - 1024px) / (1920 - 1024));
  }

  .ctaL,
  .ctaL-responsive {
    line-height: calc(16px + (22 - 16) * (100vw - 1024px) / (1920 - 1024));
  }
  .ctaS,
  .ctaS-responsive {
    font-size: calc(12px + (14 - 12) * (100vw - 1024px) / (1920 - 1024));
    line-height: calc(16px + (20 - 16) * (100vw - 1024px) / (1920 - 1024));
  }

  .ctaL.txt-black,
  .ctaS.txt-black {
    color: #222;
    border-bottom: 1px solid #222;
    display: inline-block;
    text-transform: uppercase;
  }
  .ctaL.txt-white,
  .ctaS.txt-white {
    color: #fdfdfd;
    border-bottom: 1px solid #fdfdfd;
    -webkit-font-smoothing: inherit;
    display: inline-block;
    text-transform: uppercase;
  }

  .cb2-sectra-regular {
    letter-spacing: 0 !important;
  }
  a.cb2-brown-regular,
  a.cb2-brown-light,
  button .cb2-brown-regular,
  button .cb2-brown-light {
    letter-spacing: 0.04em !important;
  }

  /* --- Layout & Grid --- */
  .textDiv {
    position: absolute;
  }
  .brandSplit a,
  .grid1x_left_2,
  .grid1x_left_3,
  .grid1x_right_2,
  .grid1x_right_2 > a,
  .grid1x_right_3,
  .grid3_container > a,
  .grid3_super > a,
  .grid4_container > a,
  .grid4_headline h2,
  .nextContainer {
    position: relative;
  }

  .nextContainer {
    width: 100%;
    min-width: 744px;
    overflow: hidden;
  }
  .nextContainer a {
    text-decoration: none;
  }
  .nextContainer h2,
  .nextContainer h3,
  .nextContainer p {
    margin: 0;
    padding: 0;
  }
  .nextImg,
  .grid4_container img {
    width: 100%;
  }

  .grid1x_container {
    display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 0 50px 0 0;
  }
  .grid1x_left_2 {
    width: 77.35%;
  }
  .grid1x_left_3 {
    width: 66.35%;
  }
  .grid1x_right_2 {
    flex-direction: column;
    width: 20.45%;
  }
  .grid1x_right_2 > a {
    display: inline-block;
  }
  .grid1x_right_3 {
    flex-direction: column;
    width: 29.9%;
  }

  .grid3_container,
  .grid4_container {
    display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0 50px 0 0;
  }
  .grid4_container > a {
    width: 23.65%;
  }
  .grid3_container > a {
    width: 31.45%;
  }

  .grid3_super {
    display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0 50px 0 0;
  }
  .grid3_super > a {
    width: 31.65%;
    margin-bottom: 5%;
  }
  .grid3_super a:nth-child(3n-1) {
    margin-left: 2.5%;
    margin-right: 2.5%;
  }
  .grid3_super .grid4_item h2 {
    padding: 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .grid3_super .grid4_item_wide {
    width: 65.8%;
    margin-right: 0 !important;
  }

  .grid4_headline {
    padding: 0 50px 2% 0;
  }
  .grid4_headline h2:before {
    border-top: 1px solid #ccc;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    width: 100%;
  }
  .grid4_headline h2 span {
    background: #fff;
    padding-right: 25px;
    position: relative;
    z-index: 1;
  }

  .brandSplit {
    display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .brandSplit a {
    flex-direction: column;
    width: 48.8%;
  }

  .grid3_super a:focus::after,
  .grid3_super a:focus::before,
  .nextContainer a:focus::after,
  .nextContainer a:focus::before {
    display: inline-block;
    border-width: 1px;
    border-radius: 0.1em;
    border-style: dotted;
    position: absolute;
    z-index: 999;
    content: "";
  }
  .nextContainer a:focus::before {
    border-color: #000;
    top: 0.1em;
    right: 0.1em;
    bottom: 0.1em;
    left: 0.1em;
  }
  .grid3_super a:focus::after,
  .nextContainer a:focus::after {
    border-color: #fff;
    top: 0.15em;
    right: 0.15em;
    bottom: 0.15em;
    left: 0.15em;
  }
  .grid3_super a:focus::before {
    border-color: #000;
    top: 0.1em;
    bottom: 0.1em;
    left: 0.1em;
  }

  /* --- Components --- */
  .copy-html-button {
    background: linear-gradient(#2dabf9 5%, #0688fa 100%) #2dabf9;
    border-radius: 3px;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-family: Arial;
    font-size: 15px;
    padding: 9px 23px;
    position: absolute;
    right: 20px;
    margin: 20px 0;
  }

  .primary-nav-list .primary-nav-item:has(#Flyout-Black-Friday-Sale),
  .primary-nav-list .primary-nav-item:has(#Flyout-Cyber-Monday-Sale),
  .en-CA .primary-nav-list .primary-nav-item:has(#Flyout-Sale) {
    order: 1;
  }

  .subway-carousel-container.plp-subway-carousel #plp-subway-carousel .dsEachItem_1a0hF:has(a[href="/furniture/sectional-individual-pieces/1"]),
  .subway-carousel-container.plp-subway-carousel .subway-carousel-item:has(a[href="/furniture/sectional-individual-pieces/1"]) {
    display: none;
  }
  #spategory-subway-carousel [class*="dsEachItem_"]:has([href*="/bed-and-bath/view-all-bedding-by-color/1"]),
  .subway-carousel-container.undefined .subway-carousel-item:has([href*="/bed-and-bath/view-all-bedding-by-color/1"]) {
    display: none;
  }
  .subway-carousel-container:has([href*="/bed-and-bath/view-all-bedding-by-color/1"]) .subway-carousel-item:nth-child(2) {
    padding-left: 1.5em;
  }
  #plp-subway-carousel-track #plp-subway-carousel-slide-1:has(img[src*="ViewAll"]) {
    display: none;
  }
}

/* ==========================================================================
     DESKTOP CONSTRAINTS (Max-width: 1024px)
     ========================================================================== */
@media only screen and (max-width: 1024px) {
  /* --- Typography --- */
  .headlineXXXL {
    font-size: 80px;
    line-height: 86px;
  }
  .headlineXXL {
    font-size: 56px;
    line-height: 64px;
  }
  .headlineXL {
    font-size: 35px;
    line-height: 40px;
  }
  .headlineL {
    font-size: 30px;
    line-height: 34px;
  }
  .headlineM {
    font-size: 24px;
    line-height: 30px;
  }
  .headlineS,
  .headlineXS {
    font-size: 20px;
    line-height: 24px;
  }
  .headlineXXS {
    font-size: 18px;
    line-height: 22px;
  }
  .headline32 {
    font-size: 15px;
    line-height: 19px;
  }

  .copyXL {
    font-size: 18px;
    line-height: 24px;
  }
  .copyL,
  .copyM {
    font-size: 14px;
    line-height: 20px;
  }
  .copyS,
  .copyXS,
  .ctaL,
  .ctaS {
    font-size: 12px;
  }
  .copyS,
  .copyXS {
    line-height: 16px;
  }
}

/* ==========================================================================
     LARGE DESKTOP CONSTRAINTS (Min-width: 1920px)
     ========================================================================== */
@media only screen and (min-width: 1920px) {
  /* --- Typography --- */
  .headlineXXXL,
  .headlineXXXL-responsive {
    font-size: 100px;
    line-height: 108px;
  }
  .headlineXXL,
  .headlineXXL-responsive {
    font-size: 80px;
    line-height: 86px;
  }
  .headlineXL,
  .headlineXL-responsive {
    font-size: 62px;
    line-height: 68px;
  }
  .headlineL,
  .headlineL-responsive {
    font-size: 56px;
    line-height: 62px;
  }
  .headlineM,
  .headlineM-responsive {
    font-size: 50px;
    line-height: 54px;
  }
  .headlineS,
  .headlineS-responsive {
    font-size: 44px;
    line-height: 48px;
  }
  .headlineXS,
  .headlineXS-responsive {
    font-size: 40px;
    line-height: 46px;
  }
  .headlineXXS,
  .headlineXXS-responsive {
    font-size: 35px;
    line-height: 40px;
  }
  .headline32,
  .headline32-responsive {
    font-size: 32px;
    line-height: 37px;
  }

  .copyXL,
  .copyXL-responsive {
    font-size: 28px;
    line-height: 34px;
  }
  .copyL,
  .copyL-responsive {
    font-size: 24px;
    line-height: 30px;
  }
  .copyM,
  .copyM-responsive {
    font-size: 20px;
    line-height: 26px;
  }
  .copyS,
  .copyS-responsive {
    font-size: 18px;
    line-height: 24px;
  }
  .copyXS,
  .ctaL,
  .copyXS-responsive,
  .ctaL-responsive {
    font-size: 16px;
  }
  .copyXS,
  .copyXS-responsive {
    line-height: 20px;
  }
  .ctaS,
  .ctaS-responsive {
    font-size: 14px;
  }
}
