/* ==========================================================
   SS LUXURY STUDIO
   SHOP PAGE
   ========================================================== */


/* ==========================================================
   SHOP PAGE
   ========================================================== */

.shop-page {
   background: #fffdfb;
   color: #4f4543;
}


/* ==========================================================
   INTRO / PAGE HERO
   ========================================================== */

.shop-intro {
   background:
      linear-gradient(135deg,
         #fbf4f1 0%,
         #fffaf7 55%,
         #f7ece8 100%);

   padding: 82px 25px 75px;

   text-align: center;

   border-bottom:
      1px solid #eee3de;
}


.shop-intro-inner {
   width: 100%;
   max-width: 780px;

   margin: 0 auto;
}


.shop-eyebrow {
   display: block;

   margin-bottom: 13px;

   color: #ad8176;

   font-size: 10px;
   font-weight: 600;

   letter-spacing: 3.3px;
}


.shop-intro h1 {
   margin: 0;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   font-size:
      clamp(40px, 5vw, 62px);

   line-height: 1.1;

   font-weight: normal;

   color: #55494a;
}


.shop-intro h1 em {
   color: #b8867a;

   font-weight: normal;
}


.shop-heading-line {
   display: block;

   width: 48px;
   height: 1px;

   margin:
      22px auto 20px;

   background: #bd8f82;
}


.shop-intro p {
   max-width: 640px;

   margin: 0 auto;

   color: #7a6d69;

   font-size: 14px;

   line-height: 1.8;
}


/* ==========================================================
   CATEGORY NAVIGATION
   ========================================================== */

.shop-category-nav {
   position: sticky;

   top: 82px;

   z-index: 100;

   background:
      rgba(255, 253, 251, 0.96);

   border-bottom:
      1px solid #eee5e1;

   backdrop-filter:
      blur(8px);
}


.shop-category-scroll {
   width: 100%;
   max-width: 1250px;

   margin: 0 auto;

   padding:
      0 25px;

   display: flex;

   justify-content: center;

   overflow-x: auto;

   scrollbar-width: none;
}


.shop-category-scroll::-webkit-scrollbar {
   display: none;
}


.shop-category-tab {
   position: relative;

   flex: 0 0 auto;

   padding:
      20px 19px 18px;

   border: 0;

   background: transparent;

   color: #776965;

   font-size: 11px;

   letter-spacing: 1.2px;

   text-transform: uppercase;

   cursor: pointer;

   transition:
      color 0.25s ease;
}


.shop-category-tab::after {
   content: "";

   position: absolute;

   left: 50%;
   bottom: 0;

   width: 0;
   height: 2px;

   background: #b88c82;

   transform:
      translateX(-50%);

   transition:
      width 0.25s ease;
}


.shop-category-tab:hover,
.shop-category-tab.active {
   color: #9b6e64;
}


.shop-category-tab.active::after {
   width: calc(100% - 34px);
}


/* ==========================================================
   CATALOGUE
   ========================================================== */

.shop-catalogue {
   width: 100%;
   max-width: 1450px;

   margin: 0 auto;

   padding:
      65px 38px 100px;
}


.shop-layout {
   display: grid;

   grid-template-columns:
      220px minmax(0, 1fr);

   gap: 58px;

   align-items: start;
}


/* ==========================================================
   FILTER SIDEBAR
   ========================================================== */

.shop-filters {
   position: sticky;

   top: 155px;

   min-width: 0;
}


.shop-filter-mobile-head {
   display: none;
}


.shop-filter-group {
   padding:
      0 0 27px;

   margin-bottom: 25px;

   border-bottom:
      1px solid #eee5e1;
}


.shop-filter-group h2 {
   margin:
      0 0 16px;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   color: #574947;

   font-size: 16px;

   font-weight: normal;
}


.shop-filter-group label {
   display: flex;

   align-items: center;

   gap: 9px;

   margin: 11px 0;

   color: #756864;

   font-size: 12px;

   line-height: 1.4;

   cursor: pointer;
}


.shop-filter-group input {
   width: 15px;
   height: 15px;

   flex: 0 0 15px;

   accent-color: #ad7e73;

   cursor: pointer;
}


.shop-filter-group label:hover span {
   color: #9b6c62;
}


.shop-clear-filters {
   padding: 0;

   border: 0;

   border-bottom:
      1px solid #b58a80;

   background: none;

   color: #9d7268;

   font-size: 10px;

   letter-spacing: 1.2px;

   text-transform: uppercase;

   cursor: pointer;
}


/* ==========================================================
   RESULTS
   ========================================================== */

.shop-results {
   min-width: 0;
}


.shop-results-head {
   min-height: 40px;

   margin-bottom: 30px;

   display: flex;

   align-items: center;
   justify-content: space-between;

   gap: 20px;

   border-bottom:
      1px solid #eee5e1;

   padding-bottom: 17px;
}


.shop-results-head p {
   margin: 0;

   color: #897a75;

   font-size: 12px;
}


.shop-results-head p strong {
   color: #584b48;

   font-weight: normal;
}


.shop-results-head label {
   color: #8a7b76;

   font-size: 11px;
}


.shop-results-head select {
   margin-left: 7px;

   padding:
      8px 30px 8px 9px;

   border: 0;

   background: transparent;

   color: #5f504d;

   font-family: inherit;

   font-size: 11px;

   cursor: pointer;

   outline: none;
}


/* ==========================================================
   PRODUCT GRID
   ========================================================== */

.shop-product-grid {
   display: grid;

   grid-template-columns:
      repeat(3, minmax(0, 1fr));

   gap:
      45px 26px;
}


/* ==========================================================
   PRODUCT CARD
   ========================================================== */

.shop-product-card {
   min-width: 0;
}


.shop-product-card[hidden] {
   display: none;
}


.shop-product-image {
   position: relative;

   display: block;

   aspect-ratio:
      4 / 5;

   overflow: hidden;

   background: #f6efeb;
}


.shop-product-image img {
   width: 100%;
   height: 100%;

   object-fit: contain;

   transition:
      transform 0.6s ease;
}


.shop-product-card:hover .shop-product-image img {
   transform:
      scale(1.045);
}


/* ==========================================================
   PRODUCT BADGE
   ========================================================== */

.shop-product-badge {
   position: absolute;

   top: 14px;
   left: 14px;

   z-index: 3;

   max-width:
      calc(100% - 70px);

   padding:
      7px 10px;

   background:
      rgba(255, 253, 251, 0.92);

   color: #8e655c;

   font-size: 8px;

   letter-spacing: 1.3px;

   line-height: 1.2;

   text-transform: uppercase;

   backdrop-filter:
      blur(5px);
}


/* ==========================================================
   WISHLIST
   ========================================================== */

.shop-wishlist {
   position: absolute;

   top: 13px;
   right: 13px;

   z-index: 5;

   width: 36px;
   height: 36px;

   border:
      1px solid rgba(130,
         100,
         90,
         0.16);

   border-radius: 50%;

   background:
      rgba(255, 253, 251, 0.91);

   color: #806b66;

   font-size: 19px;

   line-height: 1;

   cursor: pointer;

   display: flex;

   align-items: center;
   justify-content: center;

   transition:
      transform 0.25s ease,
      color 0.25s ease,
      background 0.25s ease;
}


.shop-wishlist:hover {
   transform:
      scale(1.06);

   color: #a76f65;

   background: white;
}


.shop-wishlist.active {
   color: #a86f65;

   background: white;
}


/* ==========================================================
   QUICK VIEW
   ========================================================== */

.shop-quick-view {
   position: absolute;

   left: 18px;
   right: 18px;
   bottom: 16px;

   z-index: 3;

   padding:
      12px 10px;

   background:
      rgba(255, 253, 251, 0.94);

   color: #795b54;

   text-align: center;

   font-size: 9px;

   letter-spacing: 1.7px;

   text-transform: uppercase;

   opacity: 0;

   transform:
      translateY(10px);

   transition:
      opacity 0.3s ease,
      transform 0.3s ease;
}


.shop-product-card:hover .shop-quick-view {
   opacity: 1;

   transform:
      translateY(0);
}


/* ==========================================================
   PRODUCT INFORMATION
   ========================================================== */

.shop-product-info {
   padding:
      17px 2px 0;
}


.shop-product-category {
   display: block;

   margin-bottom: 6px;

   color: #ad8176;

   font-size: 8px;

   letter-spacing: 1.8px;
}


.shop-product-info h3 {
   margin:
      0 0 7px;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   color: #514441;

   font-size: 18px;

   line-height: 1.3;

   font-weight: normal;
}


.shop-product-info h3 a {
   transition:
      color 0.25s ease;
}


.shop-product-info h3 a:hover {
   color: #a47469;
}


.shop-product-price {
   margin: 0;

   color: #625551;

   font-size: 12px;
}


.shop-personalise-label {
   display: inline-block;

   margin-top: 8px;

   color: #a0786e;

   font-size: 9px;

   letter-spacing: 1px;

   text-transform: uppercase;
}


/* ==========================================================
   EMPTY STATE
   ========================================================== */

.shop-empty {
   padding:
      80px 20px;

   text-align: center;
}


.shop-empty[hidden] {
   display: none;
}


.shop-empty h3 {
   margin-bottom: 12px;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   color: #554946;

   font-size: 29px;

   font-weight: normal;
}


.shop-empty p {
   margin:
      0 auto 25px;

   color: #82736e;

   font-size: 13px;
}


/* ==========================================================
   MOBILE TOOLBAR
   ========================================================== */

.shop-toolbar-mobile {
   display: none;
}


.shop-filter-overlay {
   display: none;
}


/* ==========================================================
   CUSTOM ORDER BANNER
   ========================================================== */

.shop-custom-banner {
   margin-top: 5px;

   padding:
      95px 30px;

   background:
      linear-gradient(135deg,
         #f7e9e4,
         #fbf3f0);

   text-align: center;
}


.shop-custom-inner {
   max-width: 680px;

   margin: 0 auto;
}


.shop-custom-inner>span {
   display: block;

   margin-bottom: 13px;

   color: #a97569;

   font-size: 9px;

   letter-spacing: 3px;
}


.shop-custom-inner h2 {
   margin: 0;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   color: #574947;

   font-size:
      clamp(34px, 4vw, 48px);

   line-height: 1.15;

   font-weight: normal;
}


.shop-custom-inner h2 em {
   display: block;

   color: #b47d71;

   font-weight: normal;
}


.shop-custom-inner p {
   max-width: 590px;

   margin:
      20px auto 28px;

   color: #756763;

   font-size: 13px;

   line-height: 1.8;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

   .shop-layout {
      grid-template-columns:
         190px minmax(0, 1fr);

      gap: 35px;
   }


   .shop-product-grid {
      grid-template-columns:
         repeat(2,
            minmax(0, 1fr));
   }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

   .shop-intro {
      padding:
         58px 18px 52px;
   }


   .shop-intro h1 {
      font-size: 38px;
   }


   .shop-intro p {
      font-size: 12px;
   }


   .shop-category-nav {
      top: 70px;
   }


   .shop-category-scroll {
      justify-content:
         flex-start;

      padding:
         0 9px;
   }


   .shop-category-tab {
      padding:
         17px 14px 15px;

      font-size: 9px;
   }


   .shop-catalogue {
      padding:
         28px 15px 70px;
   }


   /* MOBILE FILTER BUTTON */

   .shop-toolbar-mobile {
      display: block;

      margin-bottom: 20px;
   }


   .shop-toolbar-mobile button {
      width: 100%;

      padding:
         14px 16px;

      border:
         1px solid #dfcec7;

      background: white;

      color: #645451;

      font-size: 10px;

      letter-spacing: 1.4px;

      text-transform: uppercase;

      display: flex;

      justify-content:
         space-between;

      cursor: pointer;
   }


   .shop-layout {
      display: block;
   }


   /* FILTER DRAWER */

   .shop-filters {
      position: fixed;

      top: 0;
      left: -100%;

      z-index: 2200;

      width: min(340px,
            88vw);

      height: 100vh;

      padding:
         23px 23px 50px;

      overflow-y: auto;

      background: #fffdfb;

      box-shadow:
         10px 0 35px rgba(55,
            40,
            35,
            0.16);

      transition:
         left 0.35s ease;
   }


   .shop-filters.open {
      left: 0;
   }


   .shop-filter-mobile-head {
      display: flex;

      align-items: center;
      justify-content: space-between;

      margin-bottom: 27px;

      padding-bottom: 17px;

      border-bottom:
         1px solid #eee5e1;
   }


   .shop-filter-mobile-head strong {
      font-family:
         Georgia,
         "Times New Roman",
         serif;

      color: #594b48;

      font-size: 21px;

      font-weight: normal;
   }


   .shop-filter-mobile-head button {
      border: 0;

      background: transparent;

      color: #786864;

      font-size: 27px;

      cursor: pointer;
   }


   .shop-filter-overlay {
      position: fixed;

      inset: 0;

      z-index: 2100;

      display: block;

      background:
         rgba(42,
            32,
            29,
            0.42);

      opacity: 0;

      visibility: hidden;

      transition:
         opacity 0.3s ease,
         visibility 0.3s ease;
   }


   .shop-filter-overlay.open {
      opacity: 1;

      visibility: visible;
   }


   body.shop-filter-open {
      overflow: hidden;
   }


   .shop-results-head {
      margin-bottom: 22px;
   }


   .shop-results-head select {
      max-width: 150px;
   }


   .shop-product-grid {
      grid-template-columns:
         repeat(2,
            minmax(0, 1fr));

      gap:
         32px 12px;
   }


   .shop-product-badge {
      top: 9px;
      left: 9px;

      padding:
         5px 7px;

      font-size: 6px;
   }


   .shop-wishlist {
      top: 8px;
      right: 8px;

      width: 31px;
      height: 31px;

      font-size: 16px;
   }


   /*
       Hover is not meaningful on most
       touch screens, so always keep the
       quick-view treatment subtle.
    */

   .shop-quick-view {
      display: none;
   }


   .shop-product-info {
      padding-top: 12px;
   }


   .shop-product-info h3 {
      font-size: 15px;
   }


   .shop-product-category {
      font-size: 7px;
   }


   .shop-product-price {
      font-size: 11px;
   }


   .shop-personalise-label {
      font-size: 7px;
   }


   .shop-custom-banner {
      padding:
         68px 19px;
   }


   .shop-custom-inner h2 {
      font-size: 33px;
   }

}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 420px) {

   .shop-results-head {
      align-items:
         flex-start;
   }


   .shop-results-head p {
      padding-top: 7px;
   }


   .shop-results-head label {
      text-align: right;
   }


   .shop-results-head select {
      display: block;

      margin:
         3px 0 0 auto;

      padding-right: 5px;
   }


   .shop-product-grid {
      gap:
         29px 10px;
   }


   .shop-product-info h3 {
      font-size: 14px;
   }

}


/* ==========================================================
   QUICK VIEW MODAL
   ========================================================== */

body.shop-qv-open {
   overflow: hidden;
}

.shop-product-image[role="button"] {
   cursor: zoom-in;
}

.shop-qv {
   position: fixed;
   inset: 0;
   z-index: 5000;

   display: flex;
   align-items: center;
   justify-content: center;

   padding: 28px;

   opacity: 0;
   visibility: hidden;

   transition:
      opacity 0.28s ease,
      visibility 0.28s ease;
}

.shop-qv.open {
   opacity: 1;
   visibility: visible;
}

.shop-qv-backdrop {
   position: absolute;
   inset: 0;

   background:
      rgba(43, 33, 30, 0.58);

   backdrop-filter: blur(5px);
}

.shop-qv-dialog {
   position: relative;
   z-index: 1;

   width: min(1080px, 96vw);
   max-height: min(820px, 92vh);

   display: grid;
   grid-template-columns:
      minmax(0, 1.08fr)
      minmax(330px, 0.82fr);

   overflow: hidden;

   background: #fffdfb;

   border:
      1px solid rgba(202, 179, 171, 0.65);

   box-shadow:
      0 28px 85px
      rgba(45, 32, 28, 0.24);

   transform: translateY(14px) scale(0.985);

   transition:
      transform 0.3s ease;
}

.shop-qv.open .shop-qv-dialog {
   transform: translateY(0) scale(1);
}

.shop-qv-close {
   position: absolute;
   top: 15px;
   right: 16px;
   z-index: 20;

   width: 39px;
   height: 39px;

   padding: 0;

   display: flex;
   align-items: center;
   justify-content: center;

   border:
      1px solid rgba(129, 102, 94, 0.16);

   border-radius: 50%;

   background:
      rgba(255, 253, 251, 0.94);

   color: #75625d;

   font-family: Arial, sans-serif;
   font-size: 26px;
   font-weight: 300;
   line-height: 1;

   cursor: pointer;

   transition:
      transform 0.2s ease,
      color 0.2s ease,
      background 0.2s ease;
}

.shop-qv-close:hover {
   transform: rotate(5deg);
   color: #a66f65;
   background: #ffffff;
}


/* Gallery */

.shop-qv-gallery {
   min-width: 0;

   padding: 28px 24px 24px;

   background:
      linear-gradient(
         145deg,
         #f8efeb,
         #fbf6f3
      );
}

.shop-qv-main-image {
   position: relative;

   width: 100%;
   height: min(590px, 66vh);

   overflow: hidden;

   background: #f2e9e5;
}

.shop-qv-main-image img {
   display: block;

   width: 100%;
   height: 100%;

   object-fit: cover;
}

.shop-qv-arrow {
   position: absolute;
   top: 50%;
   z-index: 5;

   width: 42px;
   height: 42px;

   padding: 0;

   display: flex;
   align-items: center;
   justify-content: center;

   transform: translateY(-50%);

   border:
      1px solid rgba(125, 97, 89, 0.14);

   border-radius: 50%;

   background:
      rgba(255, 253, 251, 0.9);

   color: #755f59;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   font-size: 29px;
   line-height: 1;

   cursor: pointer;

   box-shadow:
      0 4px 18px
      rgba(70, 50, 45, 0.08);

   transition:
      background 0.2s ease,
      transform 0.2s ease;
}

.shop-qv-arrow:hover {
   background: #ffffff;
   transform:
      translateY(-50%)
      scale(1.05);
}

.shop-qv-arrow[hidden] {
   display: none;
}

.shop-qv-prev {
   left: 14px;
}

.shop-qv-next {
   right: 14px;
}

.shop-qv-thumbnails {
   margin-top: 13px;

   display: flex;
   gap: 9px;

   overflow-x: auto;
   scrollbar-width: thin;

   padding-bottom: 3px;
}

.shop-qv-thumbnail {
   position: relative;

   flex: 0 0 72px;

   width: 72px;
   height: 88px;

   padding: 0;

   overflow: hidden;

   border: 1px solid transparent;

   background: #f3e9e5;

   opacity: 0.68;

   cursor: pointer;

   transition:
      opacity 0.2s ease,
      border-color 0.2s ease;
}

.shop-qv-thumbnail:hover,
.shop-qv-thumbnail.active {
   opacity: 1;
   border-color: #b9877b;
}

.shop-qv-thumbnail img {
   display: block;

   width: 100%;
   height: 100%;

   object-fit: cover;
}

.shop-qv-thumbnail span {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;

   padding: 5px 3px;

   overflow: hidden;

   background:
      rgba(255, 253, 251, 0.91);

   color: #6e5c57;

   font-size: 6px;
   font-weight: 600;
   letter-spacing: 0.55px;
   line-height: 1.15;

   text-align: center;
   text-overflow: ellipsis;
   text-transform: uppercase;
   white-space: nowrap;
}


/* Product information */

.shop-qv-details {
   min-width: 0;

   padding:
      76px 48px 44px;

   overflow-y: auto;
}

.shop-qv-category {
   display: block;

   margin-bottom: 12px;

   color: #ad7f74;

   font-size: 9px;
   font-weight: 600;

   letter-spacing: 2.7px;
}

.shop-qv-details h2 {
   margin: 0;

   color: #514442;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   font-size:
      clamp(31px, 3vw, 43px);

   font-weight: normal;
   line-height: 1.13;
}

.shop-qv-title-line {
   display: block;

   width: 43px;
   height: 1px;

   margin: 20px 0 18px;

   background: #b98579;
}

.shop-qv-price {
   margin: 0 0 20px;

   color: #695956;

   font-family:
      Georgia,
      "Times New Roman",
      serif;

   font-size: 22px;
}

.shop-qv-note {
   margin: 0 0 27px;

   color: #7d6e69;

   font-size: 11px;
   line-height: 1.75;
}

.shop-qv-purchase {
   padding-top: 24px;

   border-top:
      1px solid #ece2de;
}

.shop-qv-purchase[hidden] {
   display: none;
}

.shop-qv-quantity {
   display: flex;
   align-items: center;
   justify-content: space-between;

   gap: 18px;

   margin-bottom: 18px;
}

.shop-qv-quantity > span {
   color: #695a56;

   font-size: 9px;
   font-weight: 600;

   letter-spacing: 1.2px;

   text-transform: uppercase;
}

.shop-qv-quantity-control {
   height: 42px;

   display: flex;
   align-items: stretch;

   border:
      1px solid #dfd2cd;

   background: #ffffff;
}

.shop-qv-quantity-control button {
   width: 39px;

   padding: 0;

   border: 0;

   background: transparent;

   color: #695955;

   font-size: 17px;

   cursor: pointer;
}

.shop-qv-quantity-control button:hover {
   background: #f8efec;
   color: #a87368;
}

.shop-qv-quantity-control input {
   width: 43px;

   padding: 0;

   border: 0;
   border-left:
      1px solid #eee3df;
   border-right:
      1px solid #eee3df;

   outline: none;

   background: #ffffff;

   color: #554845;

   font-family: inherit;
   font-size: 11px;

   text-align: center;

   appearance: textfield;
}

.shop-qv-quantity-control input::-webkit-inner-spin-button,
.shop-qv-quantity-control input::-webkit-outer-spin-button {
   appearance: none;
   margin: 0;
}

.shop-qv-add {
   width: 100%;
   min-height: 50px;

   padding: 14px 22px;

   border:
      1px solid #b9877c;

   background: #b9877c;

   color: #ffffff;

   font-family: inherit;

   font-size: 9px;
   font-weight: 600;

   letter-spacing: 1.9px;

   text-transform: uppercase;

   cursor: pointer;

   transition:
      background 0.25s ease,
      border-color 0.25s ease;
}

.shop-qv-add:hover {
   background: #a8766b;
   border-color: #a8766b;
}

.shop-qv-add.added {
   background: #74645f;
   border-color: #74645f;
}

.shop-qv-message {
   min-height: 17px;

   margin: 10px 0 5px;

   color: #8e6b63;

   font-size: 9px;
   line-height: 1.5;

   text-align: center;
}

.shop-qv-message.success {
   color: #78635d;
}

.shop-qv-message.error {
   color: #a55f55;
}

.shop-qv-product-link {
   margin-top: 16px;

   display: inline-block;

   color: #8e655d;

   font-size: 9px;
   font-weight: 600;

   letter-spacing: 1.15px;

   text-decoration: none;
   text-transform: uppercase;

   border-bottom:
      1px solid #caa49b;

   padding-bottom: 4px;
}

.shop-qv-product-link:hover {
   color: #a66f65;
}


/* ==========================================================
   QUICK VIEW - TABLET / MOBILE
   ========================================================== */

@media (max-width: 900px) {

   .shop-qv {
      padding: 18px;
   }

   .shop-qv-dialog {
      grid-template-columns:
         minmax(0, 1fr)
         minmax(300px, 0.8fr);
   }

   .shop-qv-gallery {
      padding: 20px 17px;
   }

   .shop-qv-details {
      padding:
         70px 30px 35px;
   }

   .shop-qv-main-image {
      height: min(520px, 61vh);
   }

}


@media (max-width: 700px) {

   .shop-qv {
      padding: 0;

      align-items: flex-end;
   }

   .shop-qv-dialog {
      width: 100%;
      max-height: 94vh;

      display: block;

      overflow-y: auto;

      border: 0;
   }

   .shop-qv-close {
      position: fixed;
      top: auto;
      right: 13px;

      margin-top: 12px;
   }

   .shop-qv-gallery {
      padding:
         14px 14px 16px;
   }

   .shop-qv-main-image {
      height: min(470px, 58vh);
   }

   .shop-qv-arrow {
      width: 38px;
      height: 38px;

      font-size: 26px;
   }

   .shop-qv-thumbnail {
      flex-basis: 64px;

      width: 64px;
      height: 78px;
   }

   .shop-qv-details {
      padding:
         30px 22px 35px;
   }

   .shop-qv-details h2 {
      font-size: 31px;
   }

   .shop-qv-price {
      font-size: 20px;
   }

}


.shop-qv-add:focus-visible { outline: 2px solid #74645f; outline-offset: 4px; }
.shop-qv-add:disabled { cursor: wait; opacity: .8; }
.shop-qv-purchase [hidden], #shopQvCartLink[hidden] { display: none !important; }
