/* ===============================
   RESET /GLOBAL
   =============================== */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Ubuntu', sans-serif;
  color: #2b2b2b;

  background-image: url("siteassets/newbackground.png");
  background-repeat: no-repeat;
  background-size: 100% 32%;
  background-position: center 33.5px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}
a {
  color: #2b2b2b;           /* black */
  text-decoration: none;    /* remove underline */
  transition: color 0.2s ease;
}

a:hover {
  text-decoration: none;
}

/* =========================
   HEADER/TOP BAR/ NAV
========================= */

.site-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 1rem;
  padding-top: 1rem;
  margin-bottom: 0;
}

.site-banner img {
  max-width: 400px;
  width: 100%;
  height: auto;
}

.free-shipping-bar {
  position: sticky;
  top: 0;
  z-index: 4000;

  text-align: center;
  padding: 0.5rem;
  font-size: 0.85rem;
  background: #E6DDD2;
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}
.tab-bar {
  position: sticky;
  top:44px;
  z-index: 3000;
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  justify-content: center;
  margin-bottom: 0;
}

.tab-group a {
  margin-right: 0.9rem;
  text-decoration: none;
  color: inherit;
  display: inline-block;
  padding: 0.3rem 0.9rem;
  position: relative;
  border-radius: 4px;
  transition: color 0.2s ease, transform 0.15s ease;

  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);

  border: none;
  box-shadow: none;
}

.tab-group a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 0%;
  height: 1px;
  background-color: #2b2b2b;
  transition: width 0.25s ease;
}

.tab-group a:hover {
  color: #000;
}

.tab-group a:hover::after {
  width: 100%;
}
.tab-group a.active::after {
  width: 100%;
}
.icon-group {
  z-index: 1;
  position: absolute;
  right: 16px; /* was 0 */
  display: flex;
  align-items: center;
  gap: 0.6rem;
  pointer-events: none;
}

.icon-group a {
  pointer-events: auto;
}

.icon-group a[href="wishlist.html"] {
  order: 1;
}

.wishlist-icon-nav {
  position: relative;
  top: -5px;
}

.wishlist-icon-nav,
.cart-icon-nav {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.wishlist-image-box a {
  display: block;
}

.wishlist-title a {
  color: inherit;
  text-decoration: none;
}

.wishlist-title a:hover {
  text-decoration: underline;
}

.cart-tab {
  order: 2;
  position: relative;
  display: inline-block;
}
.cart-count {
  position: absolute;
  top: -4px;
  left: auto;
  right: -1px;

  min-width: auto;
  height: auto;
  padding: 0;

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

  font-size: 0.85rem;
  font-weight: 700;

  background: transparent;
  color: #1f4a36;

  border-radius: 0;
  line-height: 1;

  display: none; /* hidden by default */
}

/* ===============================
            SEARCH
   =============================== */

.search-clear{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:none;
  font-size:1rem;
  font-family:Ubuntu, sans-serif;
  cursor:pointer;
  display:none;
  color:#444;
  line-height:1;
}

.search-clear:active{
  transform:translateY(-50%) scale(0.9);
}

.mobile-header-search-bar.active .search-clear{
  display:block;
}

.desktop-search.active .search-clear{
  display:block;
}
.desktop-search .search-clear{
  right:40px;
}
.desktop-search {
  display: flex;
  align-items: center;
  position: relative;
  pointer-events: auto;
}

.desktop-search input {
  width: 0;
  opacity: 0;
  padding: 0.55rem 2rem 0.55rem 1.1rem;
  border: none;
  border-radius: 999px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.9rem;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  transition:
    width 0.28s cubic-bezier(.4,0,.2,1),
    opacity 0.2s ease,
    padding 0.25s ease,
    margin-right 0.28s ease;
  margin-right: 0;
  outline: none;
}

/* Expanded state */
.desktop-search.active input {
  width: 210px;
  opacity: 1;
  padding: 0.55rem 1.1rem;
  margin-right: 0.6rem;
}

/* Focus ring */
.desktop-search input:focus {
  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.08),
    0 0 0 2px rgba(47, 79, 63, 0.18);
}

.cart-icon-nav,
.wishlist-icon-nav,
.desktop-search-icon {
  transition: transform 0.15s ease;
}

/* Hover */
.cart-icon-nav:hover,
.wishlist-icon-nav:hover {
  transform: scale(1.05);
}

/* Active (click press) */
.cart-icon-nav:active,
.wishlist-icon-nav:active {
  transform: scale(0.95);
}
.desktop-search-icon {
  width: 25px;              /* slightly larger */
  height: auto;
  cursor: pointer;
  transform: translateX(4px) rotate(-18deg);
  transition: transform 0.15s ease;
}
.desktop-search-icon:hover {
  transform: translateX(4px) rotate(-18deg) scale(1.05);
}

.desktop-search-icon:active {
  transform: translateX(4px) rotate(-18deg) scale(0.95);
}
.mobile-header-search {
  display: none;
}
.mobile-header-search-bar {
  display: none;
}

.products-section {
  position: relative;
}

.search-close-btn {
  position: absolute;
  right: 30px;
  top: 10px;
  font-size: 1.6rem;
  background: none;
  border: none;
  cursor: pointer;
  display: none;
  transition: transform 0.15s ease;
}

.search-close-btn:hover {
  transform: scale(1.1);
}

  .size-button,
  .button-primary,
  .add-to-wishlist,
  .size-guide-link,
  .quantity-selector {
    transition: transform 0.12s ease, box-shadow 0.12s ease;
  }

  /* hover lift */
  .size-button:hover,
  .button-primary:hover,
  .add-to-wishlist:hover,
  .size-guide-link:hover,
  .quantity-selector:hover {
    transform: scale(1.04);
  }

  /* click press */
  .size-button:active,
  .button-primary:active,
  .add-to-wishlist:active,
  .size-guide-link:active,
  .quantity-selector:active {
    transform: scale(0.96);
  }

.wishlist-bag-icon{
  position:absolute;
  right:-5px;
  top:0;
  width:32px;
  height:32px;
  cursor:pointer;
  opacity:.9;
}
/*==============================
       THUMBNAIL
 ===============================*/
.thumbnail-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.85rem;
  padding: 0.45rem 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}

.thumbnail-row::-webkit-scrollbar {
  display: none;
}

.labeled-thumb {
  flex: 0 0 auto;
}

.thumbnail {
  width: 52px;
  height: 68px;
  display: block;
  border-radius: 10px;
  border: 1.5px solid rgba(38, 79, 66, 0.12);
  cursor: pointer;
  object-fit: cover;
  background: rgba(255, 253, 248, 0.75);
  transition: transform 0.18s ease, border-color 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
}

.thumbnail:hover {
  transform: translateY(-1px);
  border-color: rgba(38, 79, 66, 0.35);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.thumbnail.active-thumb {
  border-color: rgba(38, 79, 66, 0.65);
  box-shadow: 0 0 0 1px rgba(38, 79, 66, 0.10), 0 6px 14px rgba(0, 0, 0, 0.08);
}

.thumbnail:focus-visible {
  outline: 2px solid rgba(38, 79, 66, 0.5);
  outline-offset: 2px;
  transform: none;
}

/*===============================
        CAROUSEL
================================*/
.carousel-container {
  position: relative;
}

.carousel-arrow {
  opacity: 0;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.carousel-container:hover .carousel-arrow,
.carousel-container:focus-within .carousel-arrow {
  opacity: 1;
}

.carousel-arrow.left {
  transform: translateX(-4px);
}

.carousel-arrow.right {
  transform: translateX(4px);
}

.carousel-container:hover .carousel-arrow.left,
.carousel-container:focus-within .carousel-arrow.left,
.carousel-container:hover .carousel-arrow.right,
.carousel-container:focus-within .carousel-arrow.right {
  transform: translateX(0);
}

/* ===============================
   PRODUCT GALLERY: EDITORIAL CONTROLS
   =============================== */

.carousel-arrow.text-chevron {
  width: auto;
  height: auto;
  min-width: 44px;
  padding: 0.35rem 0.45rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: none;
  border: none;
  color: rgba(118, 122, 128, 0.72);
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.35);
  font-family: 'Ubuntu', sans-serif;
  line-height: 1;
  opacity: 0;
  z-index: 6;
}

.carousel-arrow.text-chevron .chevron {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
}

.carousel-arrow.text-chevron .arrow-text {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.carousel-arrow.left.text-chevron {
  left: 0.45rem;
}

.carousel-arrow.right.text-chevron {
  right: 0.45rem;
}

.carousel-container:hover .carousel-arrow.text-chevron,
.carousel-container:focus-within .carousel-arrow.text-chevron {
  opacity: 1;
}

.carousel-arrow.text-chevron:hover {
  color: rgba(98, 102, 108, 0.92);
}

.carousel-arrow.text-chevron:focus-visible {
  outline: 2px solid rgba(38, 79, 66, 0.45);
  outline-offset: 3px;
  border-radius: 6px;
}

/* drag / peek cue */
.zoom-container {
  cursor: grab;
}

.zoom-container:active {
  cursor: grabbing;
}

/* mobile: simpler controls */
@media (max-width: 768px) {
  .carousel-arrow.text-chevron .arrow-text {
    display: none;
  }

  .carousel-arrow.text-chevron .chevron {
    font-size: 1.8rem;
  }
}
/* ===============================
   DESKTOP PRODUCT GALLERY LAYOUT
   Main image + vertical thumb rail
   =============================== */
@media (min-width: 769px) {
  .product-media {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
  }

  .carousel-container {
    flex: 1 1 auto;
    min-width: 0;
  }

  .thumbnail-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 0;
    padding: 0;
    flex: 0 0 auto;
    width: auto;
    overflow: visible;
  }

  .labeled-thumb {
    width: auto;
    display: block;
  }

  .thumbnail {
    width: 52px;
    height: 68px;
  }
}

/*==============================
        COLOR OPTIONS
  ==============================*/
  .color-options {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
  margin-top: 0.82rem;
}

.color-pill {
  width: 30px;
  height: 30px;
  min-width: 30px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid rgba(38, 79, 66, 0.14);
  cursor: pointer;
  display: inline-block;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.color-pill:hover {
  transform: scale(1.06);
  border-color: rgba(38, 79, 66, 0.38);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.color-pill.selected {
  transform: scale(1.08);
  border-color: rgba(38, 79, 66, 0.7);
  box-shadow: 0 0 0 3px rgba(38, 79, 66, 0.10);
}

/* keep black swatch visible */
.color-pill[data-color="Black"] {
  border-color: rgba(255, 255, 255, 0.45);
}

.color-pill[data-color="Black"]:hover,
.color-pill[data-color="Black"].selected {
  border-color: rgba(38, 79, 66, 0.7);
}

.color-label {
  font-weight: 700;
}

#selected-color {
  font-weight: 400;
}
/* ===============================
   PURCHASE MODULE
   =============================== */

.purchase-module {
  margin-top: 1.2rem;
}

.size-row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.size-heading {
  font-family: 'Ubuntu', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--bottle-green);
}

.size-guide-link {
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.95rem;
  color: var(--bottle-green);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.size-guide-modal {
  position: absolute;
  top: 12rem;
  right: 14rem;
  width: 525px;
  max-width: calc(100vw - 3rem);
  display: none;
  z-index: 999;
  background: transparent;
  padding: 0;

  transform: scale(0.78);
  transform-origin: top right;
}

.size-guide-modal.open {
  display: block;
}

.size-guide-unit-label {
  margin-top: 1rem;
  margin-bottom: 0.65rem;
  padding: 0 18px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: #000000;
}

.size-guide-panel {
  width: 100%;
  background: #f7f6f3;
  border: 1px solid rgba(38, 79, 66, 0.12);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  font-family: 'Ubuntu', sans-serif;
}

.size-guide-topbar {
  height: 54px;
  background: #e6ddd2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #111;
}

.size-guide-close {
  border: none;
  background: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #111;
}

.size-guide-table-wrap {
  padding: 14px 18px 18px;
  overflow-x: auto;
}

.size-guide-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fafafa;
}

.size-guide-table th,
.size-guide-table td {
  border: 1px solid #d7d7d7;
  padding: 14px 8px;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 400;
  color: #111;
  background: #fbfbfb;
}

.size-guide-table thead th,
.size-guide-table tbody th {
  background: #f3f3f3;
  font-weight: 500;
}

.size-guide-measurement-note {
  padding: 0 18px 0.6rem 18px;
}

.size-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.size-button {
  min-width: 50px;
  height: 35px;
  padding: 0 0.75rem;
  border-radius: 10px;
  border: 1.5px solid rgba(135, 169, 142, 0.38);
  background: #ffffff;
  color: #264f42;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.96rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.18s ease;
}

.size-button:hover {
  background: rgba(135, 169, 142, 0.24);
  border-color: rgba(135, 169, 142, 0.52);
}

.size-button.selected,
.size-button[aria-pressed="true"] {
  background: #ffffff;
  border-color: rgba(135, 169, 142, 0.62);
  box-shadow: 0 0 0 2px rgba(135, 169, 142, 0.12);
}

.purchase-row {
  display: grid;
  grid-template-columns: 64px auto;
  gap: 0;
  align-items: stretch;
  margin-bottom: 0.75rem;
}

.quantity-input {
  width: 100%;
  height: 44px;
  border-radius: 10px 0 0 10px;
  border: 1.5px solid rgba(135, 169, 142, 0.38);
  border-right: none;
  background: rgba(135, 169, 142, 0.16);
  color: #264f42;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  text-align: center;
  padding: 0 1.6rem 0 0.5rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

.quantity-box {
  position: relative;
}

.quantity-box::after {
  content: "⌄";
  position: absolute;
  right: 0.7rem;
  top: 50%;
  transform: translateY(-50%) scaleX(1.35);
  font-size: 1rem;
  color: #264f42;
  pointer-events: none;
}

.add-to-bag-button {
  height: 44px;
  border-radius: 0 12px 12px 0;
  border: 1.5px solid rgba(135, 169, 142, 0.38);
  background: #ffffff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #264f42;
  font-family: 'Ubuntu', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 50%;
  max-width: none;
}

.add-to-bag-button .button-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.add-to-bag-button:hover {
  background: rgba(135, 169, 142, 0.24);
  border-color: rgba(135, 169, 142, 0.52);
}

.add-to-wishlist {
  width: 50%;
  max-width: none;
  height: 44px;
  border-radius: 12px;
  justify-content: center;
  background:#ffffff;
  border: 1.5px solid rgba(135, 169, 142, 0.38);
  color: #264f42;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}

.add-to-wishlist:hover {
  background: rgba(135, 169, 142, 0.24);
  border-color: rgba(135, 169, 142, 0.52);
}

.add-to-wishlist .button-icon {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain;
  display: block;
  transform: translateX(-12px);
}

.secure-checkout-row {
  margin-top: 0.7rem;
}

.secure-checkout {
  display: inline-block;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.94rem;
  color: rgba(38, 79, 66, 0.72);
}

.site-toast {
  top:6.5rem;
  position: fixed;
  right: 1.25rem;
  bottom: auto;
  z-index: 9999;
  min-width: 240px;
  max-width: 360px;
  padding: 0.95rem 1.1rem;
  border-radius: 14px;
  background: rgba(205, 218, 186, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--hover);
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.98rem;
  line-height: 1.4;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.45);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  pointer-events: none;
}

.site-toast.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-toast.toast-success {
  background: rgba(205, 218, 186, 0.94);
}

.site-toast.toast-warning {
  background: rgba(241, 216, 210, 0.96);
}

.site-toast.toast-info {
  background: rgba(232, 236, 224, 0.95);
}

@media (max-width: 768px) {
      .site-toast {
    top: 5.75rem;
    left: 50%;
    right: auto;
    bottom: auto;
    width: min(320px, calc(100vw - 2.5rem));
    max-width: none;
    min-width: 0;
    font-size: 0.95rem;
    transform: translateX(-50%) translateY(14px);
    margin: 0;
  }

  .site-toast.show {
    transform: translateX(-50%) translateY(0);
  }
}

@media (max-width: 768px) {
  .purchase-row {
    grid-template-columns: 55px 1fr;
  }

  .quantity-input,
  .add-to-bag-button {
    height: 48px;
  }

  .size-button {
    min-width: 46px;
    height: 44px;
  }

  .add-to-wishlist {
    height: 42px;
    width:60%
  }
}

/* ===============================
   PRODUCT ACCORDION
   =============================== */

.product-accordion {
  margin-top: 1.5rem;
  border-top: 1px solid rgba(43, 43, 43, 0.12);
}

.accordion-item {
  border-bottom: 1px solid rgba(43, 43, 43, 0.12);
}

.accordion-item summary {
  list-style: none;
  position: relative;
  cursor: pointer;
  padding: 1rem 2rem 1rem 0;
  font-family: 'Ubuntu', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #111111;
}

.accordion-item summary::-webkit-details-marker {
  display: none;
}

.accordion-item summary::after {
  content: "⌄";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scaleX(1.35);
  font-size: 1rem;
  color: #111111;
  transition: transform 0.2s ease;
}

.accordion-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg) scaleX(1.35);
}

.accordion-content {
  padding: 0 0 1rem 0;
}

.accordion-list {
  margin: 0;
  padding-left: 1.2rem;
}

.accordion-list li {
  color: #5f5a57;
  font-size: 0.98rem;
  line-height: 1.65;
  margin-bottom: 0.55rem;
}

.accordion-list li:last-child {
  margin-bottom: 0;
}

/* ===============================
              HERO
   =============================== */

.hero-2026 {
  min-height: 520px;
  position: relative;
  z-index: 1;
}

.hero-inner {
  max-width: 100%;
  margin: 0 auto;
  padding-left: 6%;
  padding-right: 6%;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.hero-visual {
  display: flex;
  justify-content: flex-start;
  margin-left: -29rem;
  margin-top: -9rem;
}

.hero-visual img {
  transition: transform 0.4s cubic-bezier(.4,0,.2,1);
}

.logo-glass {
  position: relative;
  display: inline-block;
  border-radius: 50%;
  overflow:hidden;
}

.logo-glass::before {
  content: "";
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  z-index: 1;

  background-image: url("siteassets/newbackgroundzoomed.png");
  background-repeat: no-repeat;
  background-size: 271%;
  background-position: center -173px;
}

.logo-glass img {
  width: 100%;
  max-width: 1080px;
  height: auto;
  display: block;
  margin-top: -40px;
  position: relative;
  z-index: 3;
}

.hero-content {
  max-width: 520px;
  margin-top: 10rem;
  margin-bottom: -9rem;
}

.hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  font-weight: 400;
  letter-spacing: 0.5px;
  line-height: 1.15;
  color: #2a2a2a;
  margin-left: 5.25rem;
}

.hero-subtitle {
  font-size: 1rem;
  color: #6e6e6e;
  margin-bottom: 1.2rem;
  margin-left: 6rem;
}

.hero-cta {
  display: inline-block;
  padding: 0.6rem 1.6rem;
  border: 1px solid #bfbfbf;
  border-radius: 999px;
  text-decoration: none;
  color: #2b2b2b;
  font-size: 0.95rem;
  background: transparent;
  transition: all 0.25s ease;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.05);
  margin-left: 6rem;
}

.hero-cta:hover {
  background: #2b2b2b;
  color: white;
  border-color: #2b2b2b;
}

@media (min-width: 769px) {
  .hero-visual img:hover {
    transform: translateY(-6px);
  }
}

@media (max-width: 900px) {
  .hero-2026 {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-visual img {
    margin: 0 auto;
    max-width: 420px;
  }
}

/* ===============================
      HOMEPAGE PRODUCTS
   =============================== */

.section-title {
  text-align: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 400;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  padding: 0 6% 4rem 6%;
  max-width: 1200px;
  margin: 0 auto;
}

.product-grid img {
  width: 100%;
  height: auto;
}

.product-image-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.product-image {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.28s ease;
}

.hover-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

@media (min-width: 769px) {
  .product-card:hover .hover-image {
    opacity: 1;
  }

  .product-card:hover .main-image {
    opacity: 0;
  }
}

.product-image-track {
  width: 100%;
}

.product-dots {
  display: none;
}

.product-dots .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

/* desktop only: keep current hover behavior */
@media (min-width: 769px) {
  .product-image-track {
    position: relative;
  }
}

.product-card {
  border-radius: 18px;
  padding: .85rem;
  background: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.product-card:active {
  transform: scale(0.98);
}

.product-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}

.product-card h3 {
  font-family: 'Ubuntu', serif;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 1rem;
  margin-bottom: 0.3rem;
  color: #2b2b2b;
}
.product-card .price {
  font-size: 0.95rem;
  font-weight: 500;
  color: #2b2b2b;
}
.product-details .price {
  font-size: 1.35rem;
  font-weight: 500;
  color: #2b2b2b;
  margin: 0 0 1rem 0;
}
.products-wrapper {
  position: relative;
  padding-top: 0.5rem;
  padding-bottom: 4rem;
  overflow: visible;
  min-height: 100vh;
  z-index: 1;
}

.mobile-menu {
  display: none;
}


/* ===============================
   PRODUCT PAGE GALLERY FOUNDATION
   =============================== */

.product-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1rem 0 3rem 0;
}

.layout-split {
  display: grid;
  grid-template-columns: minmax(0, 680px) minmax(320px, 420px);
  gap: 1.5rem;
  align-items: start;
  justify-content: center;
}

.product-media {
  width: 100%;
  max-width: 680px;
}

.carousel-container {
  position: relative;
  width: 100%;
  max-width: 550px;
}

.zoom-container {
  position: relative;
  width: 100%;
  max-width: 760px;
  overflow: hidden;
  border: 1.5px solid rgba(214, 191, 167, 0.8);
  border-radius: 18px;
  background: rgba(255, 253, 248, 0.82);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.product-details.frosted-panel {
  width: 100%;
  max-width: 420px;
}

.zoom-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  vertical-align: bottom;
  transition: transform 0.3s ease;
  cursor: zoom-in;
  touch-action: manipulation;
}

.zoom-img.zoomed {
  transform: scale(2);
  transform-origin: center;
  cursor: zoom-out;
}

.main-image-label {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.45rem 1rem;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--bottle-green);
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.9rem;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  z-index: 3;
}

/* Arrow button box */
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 5;
  width: 34px;
  height: 52px;
}

/* Make arrows subtle until hover */
.carousel-arrow {
  opacity: 0;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.carousel-container:hover .carousel-arrow,
.carousel-container:focus-within .carousel-arrow {
  opacity: 1;
}

.carousel-arrow.left {
  transform: translateY(-50%) translateX(-3px);
}

.carousel-arrow.right {
  transform: translateY(-50%) translateX(3px);
}

.carousel-container:hover .carousel-arrow.left,
.carousel-container:focus-within .carousel-arrow.left,
.carousel-container:hover .carousel-arrow.right,
.carousel-container:focus-within .carousel-arrow.right {
  transform: translateY(-50%) translateX(0);
}
.add-to-wishlist .button-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
/* Product info panel width balance */
.product-details.frosted-panel {
  width: 100%;
  max-width: 520px;
}

@media (max-width: 1100px) {
  .layout-split {
    grid-template-columns: 1fr;
  }

  .product-media,
  .carousel-container,
  .zoom-container,
  .product-details.frosted-panel {
    max-width: 100%;
  }
}

/* ===============================
   FOOTER
   =============================== */

.footer {
  background: #1f4a36; /* deep bottle green */
  color: #ffffff;
  padding: 2.25rem 6%;
  text-align: center;
  font-weight: 500;

  margin-top: 0;
  border-top: 5px solid #87A98E; /* sage divider line */
}
.footer p {
  margin-top: 1rem;
  font-size: 0.9rem;
  opacity: 0.9;
}

.footer a {
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer a:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.footer-social {
  margin-bottom: 0.5rem;
}

.footer-social svg {
  transition: transform 0.2s ease;
}

.footer-social svg:hover {
  transform: translateY(-2px);
}


/*==================================
  ONREPEAT DESKTOP
===================================*/

.onrepeat-hero-2026 {
  text-align: center;
  padding: 5rem 1rem 3rem;
}

.onrepeat-title-2026 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  margin: 0;
}

.onrepeat-subtitle-2026 {
  font-family: 'Ubuntu', sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 0.75rem;
  opacity: 0.7;
}

.onrepeat-page {
  background:
    linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)),
    url("/siteassets/newbackground.png") center / cover no-repeat fixed;

  background-color: #ffffff;
}

.onrepeat-page .hero-wrapper {
  height: auto;
  background-image: none;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}

.onrepeat-page .hero-wrapper::before {
  display: none;
}
.onrepeat-page .products-wrapper::before {
  display: none;
}

@media (min-width: 769px) {
  .onrepeat-page .site-banner {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 769px) {
  .onrepeat-page .products-wrapper {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }
}
@media (min-width: 769px) {
  .onrepeat-page .tab-bar {
    margin-bottom: 3rem;
  }
  @media (min-width: 769px) {
  .onrepeat-page .tab-bar {
    position: sticky;
    top: 44px;
  }
}
}

.mobile-logo {
  display: none;
}

.mobile-product-title {
  display: none;
}

.mobile-swipe-gallery {
  display: none;
}
.mobile-swipe-dots {
  display: none;
}

/*======================================
  CUTE STUFF
  ====================================*/
  /* ===============================
   CUTE STUFF PRODUCT PAGE
   =============================== */

body.cutestuff-page {
  background:
    url("/siteassets/clouds.png") center top / cover no-repeat fixed,
    #ffffff;
}

/* Keep product layout readable (don’t fully transparent everything) */
body.cutestuff-page .product-page {
  background: transparent;
}

/* This is the key part 👇 */
body.cutestuff-page .product-details.frosted-panel {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

/* Optional: soften gallery container slightly */
body.cutestuff-page .zoom-container {
  background: rgba(255, 255, 255, 0.6);
}

@media (min-width: 769px) {
  .cutestuff-page .products-wrapper {
    padding-top: 6rem;
  }
}

/* ===============================
   SHOPPING BAG PAGE
   =============================== */
.shoppingbag-page {
  background-image: none;
  background-color: #ffffff;
}

.bag-page{
  max-width:1100px;
  margin:0 auto;
  padding:1.5rem 6% 3rem;
  position: relative;
  left: -275px;
}

.bag-title{
  font-family:'Playfair Display', serif;
  font-size:1.8rem;
  font-weight:400;
  margin-bottom:1.5rem;
}

.bag-grid{
  display:flex;
  flex-direction:column;
  gap:1.4rem;
}

/* quantity selector */
.bag-quantity{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-top:.4rem;
}

.bag-quantity button{
  width:26px;
  height:26px;
  border-radius:6px;
  border:1px solid rgba(0,0,0,0.15);
  background:#fff;
  cursor:pointer;
  font-family:'Ubuntu', sans-serif;
  font-size:1rem;
}

.bag-quantity span{
  min-width:18px;
  text-align:center;
  font-weight:500;
}

/* subtotal block */

#bag-summary{
  margin-top:1.5rem;
  font-size:1.1rem;
  font-weight:500;
}

/* checkout row */

.bag-checkout{
  margin-top:1rem;
}

.shoppingbag-page .wishlist-image-box {
  width: 200px;
}

.shoppingbag-page .wishlist-image {
  width: 100%;
  height: auto;
}

.shoppingbag-page .wishlist-right{
  margin-top:-20px;
}

.bag-meta {
  font-size: 0.9rem;
  opacity: 0.8;
  line-height: 1.2;
}

.bag-subtotal {
  margin-top: 0.4rem;
  font-size: 0.95rem;
}

/* individual bag item layout */

.wishlist-card-inner{
  display:flex;
  align-items:flex-start;
  gap:1.4rem;
}

/* image column */

.shoppingbag-page .wishlist-image-box{
  flex:0 0 300px;
}

/* info column */

.wishlist-right{
  flex:1;
}

.bag-remove{
  background:none;
  border:none;
  padding:0;
  margin-top:.4rem;

  font-family:'Ubuntu', sans-serif;
  font-size:.95rem;

  color:var(--hover);
  cursor:pointer;

  text-decoration:underline;
}
/* BAG ITEM DIVIDER */
.shoppingbag-page .wishlist-card{
  border-bottom:2px solid #A2C3A4;
  padding-bottom: 20px;
  margin-bottom:20px;
  width:600px;
}
/* BAG WISHLIST ICON */

.shoppingbag-page .wishlist-right{
  position:relative;
}

.bag-wishlist-icon{
  position:absolute;
  right:-5px;
  top:0;
  width:32px;
  height:32px;
  cursor:pointer;
  opacity:.9;
}

/* ORDER SUMMARY PANEL */

.bag-summary-box{
  background: #eef0e7;
  border: 1px solid rgba(135, 169, 142, 0.28);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
  width: 325px;
  padding: 1.6rem 1.6rem 1.4rem;
}

.shoppingbag-page .bag-summary-box{
  padding:24px 28px 16px 28px;
}

.bag-summary-title{
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
  color: #2f2f2f;
  letter-spacing: 0.01em;
}

.bag-summary-row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 0.98rem;
  margin-bottom: 0.95rem;
  color: #383838;
}

.bag-summary-total{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c2c2c;
  margin-top: 0.2rem;
}

.bag-summary-divider{
  border: 0;
  border-top: 1.5px solid rgba(58, 58, 58, 0.55);
  margin: 1rem 0 0.95rem;
}
/* Checkout button style for bag page */

.shoppingbag-page #checkout-button{
  width: 325px;
  height: 52px;
  border-radius: 14px;
  border: 2px solid #87A98E;
  background: #ffffff;
  color: #6f9278;
  font-family: 'Ubuntu', sans-serif;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 12px rgba(135, 169, 142, 0.10);
  transition: all 0.2s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0;
  margin-left: 3px;
}

.shoppingbag-page #checkout-button:hover{
  background: #f8fbf7;
  border-color: #789a81;
  color: #5f8268;
}
.shoppingbag-page .bag-sidebar{
  width: 325px;
}
/* SHOPPING BAG PAGE LAYOUT FIX */

.shoppingbag-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.shoppingbag-page main {
  flex: 1;
}
/* Shopping bag footer spacing */

.shoppingbag-page footer {
  margin-top: 200px;
}

.shoppingbag-page .bag-grid{
  position: relative;
  z-index: 2;
}

.shoppingbag-page .bag-page{
    max-width: 1180px;
    margin: 0 auto;
    padding: 1.5rem 6% 3rem;
    display: grid;
    grid-template-columns: minmax(0, 600px) 325px;
    column-gap: 4.5rem;
    align-items: start;
    position: relative;
    left: 0;
  }

  .shoppingbag-page .bag-title{
    grid-column: 1 / -1;
    margin-bottom: 1.5rem;
  }

  .shoppingbag-page .bag-grid{
    grid-column: 1;
    position: relative;
    z-index: 2;
  }

  .shoppingbag-page .bag-sidebar{
    grid-column: 2;
    position: static;
    width: 325px;
    margin: -30px 0 0 0;
    z-index: auto;
  }

  .shoppingbag-page footer{
    margin-top: 0;
  }

  .shoppingbag-page .wishlist-title{
  font-weight: 400;
}
/* WISHLIST PAGE */

.wishlist-page {
  background-image: none;
  background-color: #ffffff;
}

.wishlist-page .wishlist-page-main{
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem 6% 3rem;
  position: relative;
  left: -25px;
}

.wishlist-page .wishlist-page-title{
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}

.wishlist-page .wishlist-grid{
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.wishlist-page .wishlist-card{
  border-bottom: 2px solid #A2C3A4;
  padding-bottom: 20px;
  margin-bottom: 20px;
  width: 600px;
}

.wishlist-page .wishlist-image-box{
  flex: 0 0 300px;
  width: 200px;
  background: rgba(205,218,186,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.wishlist-page .wishlist-image{
  width: 100%;
  height: auto;
}
.wishlist-page .wishlist-right{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  position: relative;
  margin-top: -20px;
}

.wishlist-page .wishlist-right h2{
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  font-weight: 400;
  margin: 0;
}

.wishlist-page .wishlist-meta{
  font-size: 0.9rem;
  opacity: 0.8;
  line-height: 1.2;
  margin-top: -1rem;
}

.wishlist-page .wishlist-quantity{
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0;
}

.wishlist-page .wishlist-quantity button{
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.15);
  background: #fff;
  cursor: pointer;
  font-family: 'Ubuntu', sans-serif;
  font-size: 1rem;
}

.wishlist-page .wishlist-quantity span{
  min-width: 18px;
  text-align: center;
  font-weight: 500;
}

.wishlist-page .wishlist-remove{
  background: none;
  border: none;
  padding: 0;
  margin-top: 0.2rem;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.95rem;
  color: var(--hover);
  cursor: pointer;
  text-decoration: underline;

  align-self: flex-start;
  text-align: left;
}

.wishlist-page .wishlist-bag-icon{
  position: absolute;
  right: -5px;
  top: 0;
  width: 32px;
  height: 32px;
  cursor: pointer;
  opacity: .9;
}
.wishlist-page .wishlist-price{
  margin-top: -0.35rem;
  margin-bottom: 0.15rem;
}
.wishlist-page footer{
  margin-top: 0;
}
.wishlist-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wishlist-page main {
  flex: 1;
}
.wishlist-page .wishlist-card-inner{
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
}
.wishlist-page .wishlist-title{
  font-weight: 400;
  margin-bottom: 0.45rem;
}

/*=====================================================================================
                               COMING SOON OVERLAY
  =====================================================================================*/
body.cutestuff-page .coming-soon-overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48vh;
  padding: 3.5rem 1.25rem 4rem;
}

body.cutestuff-page .coming-soon-box {
  max-width: 620px;
  width: 100%;
  text-align: center;
  padding: 2.2rem 1.5rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.52);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}

body.cutestuff-page .coming-soon-box h2 {
  margin: 0 0 0.85rem 0;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.1;
  color: #c97c8e;
  font-weight: 500;
}

body.cutestuff-page .coming-soon-box p {
  margin: 0 0 1.5rem 0;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6c84;
  max-width: 46ch;
  margin-inline: auto;
}

body.nightmareline-page .coming-soon-overlay {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 48vh;
  padding: -.25rem 1.25rem 4rem;
}

body.nightmareline-page .nightmare-overlay-box {
  max-width: 975px;
  width: 100%;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  margin-left: -.25rem;
}

body.nightmareline-page .nightmare-overlay-image {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 769px) {
  .desktop-search {
    display: flex !important;
    align-items: center;
    position: relative;
    pointer-events: auto;
  }

  .desktop-search-icon,
  .desktop-search input,
  .desktop-search .search-clear {
    pointer-events: auto;
  }
}
/* ===============================
   DESKTOP NAV SPACING FIX (Dessert Dream)
   =============================== */

@media (min-width: 769px) {
  body.cutestuff-page .tab-bar {
    padding-bottom: 3rem;
  }
}

/* ===============================
   CATEGORY PAGES - DESKTOP PRODUCT CARD IMAGE BOOST
   =============================== */
@media (min-width: 769px) {
  .onrepeat-page .product-card img,
  .cutestuff-page .product-card img,
  .nightmareline-page .product-card img {
    transform: scale(1.10);
    transform-origin: center center;
  }

  .onrepeat-page .product-card,
  .cutestuff-page .product-card,
  .nightmareline-page .product-card {
    overflow: hidden;
  }
}
/* ==============================================================================================
                                                   MOBILE
   ============================================================================================= */

/*===============================================PAGE======================================*/

@media (max-width: 768px) {
body {
   background-image: url("siteassets/newbackground.png");
   background-repeat: no-repeat;
   background-size: 100% 19%;
   background-position: center 35px;
}
body.menu-open {
  overflow: hidden;
  height: 100vh;
}

body.menu-open .free-shipping-bar {
  display: none;
}
body.menu-open .tab-bar {
  visibility: hidden;
}
main{
  margin-bottom: 0;
}

/*===========================================STICKY TOP===========================================*/

 .free-shipping-bar {
   position: sticky !important;
   top: 0 !important;
   z-index: 99999 !important;
   width: 100%;
   white-space: nowrap;

   height: 35px !important;
   padding: 0 12px !important;

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

   font-size: 0.78rem;
   letter-spacing: 0.03em;
}
.site-banner {
  padding-bottom: 0.75rem; 
  padding-top: 1.5rem;
}
.site-banner img {
  max-width: 300px;
}
  .tab-bar {
    position: sticky !important;
    top: 44px !important;
    z-index: 5900 !important;
    padding-top: 0 !important;          
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    justify-content: flex-start; 
  }

/*===============================================HEADER/NAV PARTS========================================*/

.tab-group {
  display: none;
}
.hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
  margin-left: 8px;
}

.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background-color: #2f4f3f;
  margin: 3px 0;
  padding: 0;
  border: none;
  box-sizing: border-box;
}
  .icon-group {
    position: static;     
    margin-left: auto;   
    pointer-events: auto; 
    margin-right: 5px;
  }
 
.mobile-header {
  overflow: visible !important;
  position: static !important;
}

.mobile-header-search {
  width: 24px;
  display: block;
  height: 26px;
  object-fit: contain;
  cursor: pointer;
  transform: translateX(4px) rotate(-18deg);
  pointer-events: auto;
  transition: transform 0.12s ease;
}

.mobile-header-search:active {
  transform: translateX(4px) rotate(-18deg) scale(0.94);
}

.mobile-header-search-bar {
  display:none;
  position:absolute;
  right: 28px;
  top:50%;
  transform:translateY(-50%);
}

.mobile-header-search-bar.active {
  display:flex;
  scale: 0.9;
}

.mobile-header-search-bar input{
  width:240px;
  padding:0.55rem 2rem 0.55rem 1rem;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(6px);
  font-family:'Ubuntu', sans-serif;
  font-size:0.9rem;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
  outline:none;
}

.mobile-header-search.hidden {
  display: none;
}

.add-to-wishlist .button-icon {
  transform: translateX(7px, -9px);
}
 
 .size-guide-modal {
    position: absolute;
    top: 30rem;
    left: 50%;
    right: auto;

    transform: translateX(-50%);

    width: 92%;
    max-width: 420px;

    margin-top: 1rem;
  }

  .size-guide-table tbody tr:first-child th {
    font-size: 0;
  }

  .size-guide-table tbody tr:first-child th::after {
    content: "W";
    font-size: 0.95rem;
  }

  .size-guide-table tbody tr:nth-child(2) th {
    font-size: 0;
  }

  .size-guide-table tbody tr:nth-child(2) th::after {
    content: "L";
    font-size: 0.95rem;
  }
  .size-guide-measurement-note {
  padding: 0 18px 0.6rem 18px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.75rem;
  color: #5f5a57;
  line-height: 1.4;
}
  

/*=====================================================HEADER INTERACTIONS=================================*/

.hamburger,
.cart-tab,
.wishlist-icon-nav,
.cart-icon-nav {
  transition: transform 0.12s ease;
}

.hamburger:active,
.cart-tab:active,
.wishlist-icon-nav:active,
.cart-icon-nav:active {
  transform: scale(0.94);
}

/*=========================================HERO STRUCTURE=============================================*/

.hero-2026 {
  padding: 2rem 6% .5rem 6%;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: auto;
  position: relative;
  z-index: 5;
}

.hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
.hero-wrapper {
  background-size: 100% auto;
  height: auto;
  padding-bottom: 0.25rem;
}

.hero-visual {
  display: flex;
  justify-content: center;
  width: 100%;
  order: 1;
  margin: 0;
  overflow: visible;
}
.hero-visual img {
  max-width: none;
}
  
.logo-glass {
  position: relative;
  overflow: visible;
  display: none;
}

.logo-glass img {
  position: relative;
  z-index: 6;
}

.mobile-logo {
  display: block;
  width: 200px;
  height: auto;
  max-width: none;
  margin: 1.25rem auto -1.25rem auto;
  position: relative;
  left: auto;
  top: auto;
  z-index: 1;
  transform: translateY(-70px);
}

/*==============================================HERO CONTENT=========================================*/

.hero-content {
  order: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0;
  transform: translateY(-2.5rem);
  padding: 0.4rem 1rem 0.9rem 1rem;
  text-align: center;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;

  background: radial-gradient(
    ellipse at 50% 75%,
    rgba(255, 255, 255, 0.12) 0%,
    rgba(255, 255, 255, 0.10) 40%,
    rgba(255, 255, 255, 0.04) 65%,
    rgba(255, 255, 255, 0) 85%
  );

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  border-radius: 28px;
}

.hero-title {
  margin-left: 0;
  font-size: 1.65rem;
  line-height: 1.1;
  white-space: nowrap;
  margin-bottom: .2rem;
}

.hero-subtitle {
  margin-left: 0;
  font-size: 0.95rem;
  white-space: nowrap;
}

.hero-content p {
  font-size: 1.05rem;
}

.hero-cta {
  padding: 0.6rem 1.25rem;
  font-size: 0.95rem;
  border-radius: 999px;
  display: inline-block;
  background: #E8F0EA;
  color: #000000;
  border: none;
  box-shadow: 0 6px 18px rgba(47,79,63,0.25);
  margin-left: 0;
  transition:
    transform 0.12s cubic-bezier(.34,1.56,.64,1),
    background 0.25s ease,
    color 0.25s ease;
}
.hero-cta:hover {
  background: #87A98E; /* your sage */
  color: #ffffff;
  transform: translateY(-2px);
}
.hero-cta:active {
  transform: scale(0.94);
}
.hero-2026 .button-primary {
  padding: 0.25rem .50rem;
  font-size: 0.95rem;
  border-radius: 999px;
  width: auto;
  display: inline-flex;
}

/*HOMEPAGE CONTENT*/

.products-wrapper {
  min-height: auto;
  padding-bottom: 0;
  padding-top: 13rem;
  position: relative;
  z-index: 1;
}

.hero-2026 + .products-wrapper {
  padding-bottom: 4rem;

}
.section-title {
  font-size: 1.5rem;
  margin-top: .25rem;
  letter-spacing: 0.5px;
}

.product-grid {
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 0 6% 3rem 6%;
}

.product-card {
  padding: 1.1rem;
}

.product-card h3 {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.3px;
  line-height: 1.3;
}

.product-card p {
  font-weight: 500;
  margin-top: 0.25rem;
  font-size: 0.95rem;
  opacity: 0.85;
}

  .mobile-product-title {
    display: block;
    font-family: 'Ubuntu', serif;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.15;
    text-align: center;
    margin: 2rem 0 1rem 0;
    color: #2b2b2b;
  }

  .desktop-product-title {
    display: none;
  }

  .product-image-wrap.has-carousel .product-image-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .product-image-wrap.has-carousel .product-image-track::-webkit-scrollbar {
    display: none;
  }

  .product-image-wrap.has-carousel .product-image {
    flex: 0 0 100%;
    scroll-snap-align: start;
  }

  .product-image-wrap.has-carousel .hover-image {
    position: static;
    opacity: 1;
    pointer-events: auto;
  }

  .product-image-wrap.has-carousel .main-image {
    opacity: 1;
  }

  .product-image-wrap.has-carousel .product-dots {
    display: flex;
    position: absolute;
    left: 50%;
    bottom: 0.7rem;
    transform: translateX(-50%);
    gap: 0.4rem;
    z-index: 2;
  }

  .product-image-wrap.has-carousel .product-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(214, 214, 214, 1);
  cursor: pointer;
}

.product-image-wrap.has-carousel .product-dots .dot.active {
  background: rgba(150, 150, 150, 0.8);
}

.product-details,
.panel-inner {
  padding-left: .5rem;
  padding-right: .75rem;
}
/* ===================================MOBILE MENU =======================================*/

.mobile-menu {
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(6px);
  display: none;
  flex-direction: column;
  padding: 1.4rem 1.5rem 2rem 1.5rem;
  z-index: 100000;
  overflow-y: auto;
  height: 100vh;
}

.mobile-menu.active {
  display: flex;
}

.mobile-menu-top {
  display: flex;
  align-items: center;
  width: 100%;
}

.close-menu {
  font-size: 1.5rem;
  cursor: pointer;
  transition: transform 0.12s ease;
}

.close-menu:active {
  transform: scale(0.86);
}

.mobile-search-results {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.mobile-links {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.mobile-links a {
  text-decoration: none;
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  color: #2b2b2b;
  letter-spacing: 0.3px;
  padding: 0.45rem 0;
  display: block;
  width: 100%;
  transition: transform 0.12s ease;
}

.mobile-links a.active {
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.mobile-links a:active {
  transform: scale(0.94);
}

 

/* MOBILE PRODUCT IMAGE CAROUSEL */
.mobile-gallery-ready .mobile-swipe-gallery {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  border-radius: 18px;
  touch-action: pan-x;
  width: 98%;
  margin: 0 auto;
}

.mobile-gallery-ready .mobile-swipe-gallery::-webkit-scrollbar {
  display: none;
}

.mobile-gallery-ready .mobile-swipe-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}

.mobile-gallery-ready .mobile-swipe-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.mobile-gallery-ready .mobile-swipe-slide img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}

/* hide old gallery only after JS builds the mobile one */
.mobile-gallery-ready .carousel-container,
.mobile-gallery-ready .thumbnail-row {
  display: none !important;
}

.mobile-gallery-ready .mobile-swipe-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0;
  position: relative;
  margin-top: -1rem;
  z-index: 3;
}

.mobile-swipe-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background:rgba(214, 214, 214, 1);
  cursor: pointer;
}

.mobile-swipe-dot.active {
  background:rgba(150,150,150,.8);
}
/* hide arrows on mobile */
.carousel-arrow {
  display: none !important;
}
  .size-button:active,
  .size-guide-link:active,
  .button-primary:active,
  .add-to-wishlist:active {
    transform: scale(0.96);
    transition: transform 0.08s ease;
  }

 
  /* SHOPPING BAG MOBILE LAYOUT */
.shoppingbag-page .bag-page{
  left: 0;
  max-width: 100%;
  padding: 1rem 1rem 2rem;
}

.shoppingbag-page .bag-grid{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.shoppingbag-page .wishlist-card{
  width: 100%;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.shoppingbag-page .wishlist-card-inner{
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.shoppingbag-page .wishlist-image-box{
  flex: none;
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
}

.shoppingbag-page .wishlist-right{
  width: 100%;
  margin-top: 0;
  padding-top: 0;
}

.shoppingbag-page .wishlist-right p{
  margin: 0 0 0.2rem 0;
  line-height: 1.15;
}

.shoppingbag-page .bag-wishlist-icon{
  right: 0;
  top: 0.1rem;
  width: 28px;
  height: 28px;
}

.shoppingbag-page .bag-sidebar{
  position: static;
  top: auto;
  right: auto;
  width: 100%;
  margin-top: 0.5rem;
  z-index: auto;
}

.shoppingbag-page .bag-summary-box{
  width: 100%;
  max-width: 100%;
}

.shoppingbag-page .bag-checkout{
  width: 100%;
  margin-top: 0.75rem;
  margin-left: 0;
}

.shoppingbag-page #checkout-button{
  width: 100%;
  max-width: 100%;
  margin-left: 0;
}

.shoppingbag-page footer{
  margin-top: 3rem;
}

.shoppingbag-page .wishlist-right h3,
.shoppingbag-page .wishlist-right .product-title{
  margin: 0 0 0.35rem 0;
}

.shoppingbag-page .bag-meta{
  line-height: 1.15;
  margin-bottom: 0.25rem;
}

.shoppingbag-page .bag-subtotal{
  margin: 0.2rem 0 0.25rem 0;
}

.shoppingbag-page .bag-remove{
  margin-top: 0.2rem;
}
/* MOBILE SEARCH/DESKTOP OVERRIDE*/

.shoppingbag-page .wishlist-bag-icon{
  right: 0;
  top: 0.1rem;
  width: 28px;
  height: 28px;
}

.desktop-search {
  display: none;
}

  .shoppingbag-page .bag-page{
    display: flex;
    flex-direction: column;
  }

  .shoppingbag-page.bag-empty .bag-sidebar{
    order: 1;
  }

  .shoppingbag-page.bag-empty .bag-grid{
    order: 2;
  }

  .shoppingbag-page:not(.bag-empty) .bag-grid{
    order: 1;
  }

  .shoppingbag-page:not(.bag-empty) .bag-sidebar{
    order: 2;
  }


/*PAGE-SPECIFIC OVERRIDES*/
.onrepeat-page .products-wrapper{
  transform: translateY(-10rem);
}

.wishlist-page .wishlist-image-box{
  flex: none;
  width: 146px;
  max-width: 146px;
  margin: 0;
}

.wishlist-page .wishlist-image{
  width: 100%;
  height: auto;
  display: block;
}

  /* WISHLIST MOBILE LAYOUT */
  .wishlist-page .wishlist-page-main{
    left: 0;
    max-width: 100%;
    padding: 1rem 1rem 2rem;
  }
.wishlist-page .wishlist-left{
  flex: 0 0 146px;
  width: 146px;
}
  .wishlist-page .wishlist-grid{
    width: 100%;
  }

  .wishlist-page .wishlist-card{
    width: 100%;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }

  .wishlist-page .wishlist-card-inner{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.9rem;
    width: 100%;
  }

  .wishlist-page .wishlist-bag-icon{
    right: 0;
    top: 0;
    width: 28px;
    height: 28px;
  }

  .wishlist-page .wishlist-title{
    margin-right: 2.2rem;
  }

body.nightmareline-page .nightmare-overlay-image {
  width: 180%;
  max-width: none;
  height: auto;
  margin-left: -37%;
  margin-top: 2rem;
}

@media (max-width: 768px) {
  .cutestuff-page .products-wrapper {
    padding-top: 2rem;
  }
}

@media (max-width: 768px) {
  body:not(.cutestuff-page):not(.onrepeat-page):not(.nightmareline-page):not(.shoppingbag-page):not(.wishlist-page) .products-wrapper {
    padding-top: 17rem;
  }
}

@media (max-width: 768px) {
  .onrepeat-page {
    background:
      linear-gradient(rgba(255,255,255,0.75), rgba(255,255,255,0.55)),
      url("/siteassets/newbackground.png")  center / 100% 190% no-repeat fixed;
  }
}
/*FOOTER*/

.footer-social a,
.footer p a {
  display: inline-block;
  transition: transform 0.12s ease, opacity 0.2s ease;
}

.footer-social a:active,
.footer p a:active {
  transform: scale(1.12);
}

}


/******************************************************TESTING***********************************