/* Orsi storefront only. Never loaded by an admin template;
   all rules are scoped. */
.orsi-store {
  --orsi-ink: #35291F;
  --orsi-wine: #6B2D4A;
  --orsi-paper: #FAF6F1;
  --orsi-line: #EADDD1;
  background: var(--orsi-paper);
  color: var(--orsi-ink);
  line-height: 1.85
}

.orsi-store *,
.orsi-store *::before,
.orsi-store *::after {
  box-sizing: border-box
}

.orsi-store .orsi-main {
  padding-top: 36px;
  min-height: 55vh
}

.orsi-store h1,
.orsi-store h2,
.orsi-store h3 {
  letter-spacing: -.035em;
  line-height: 1.6
}

.orsi-store h1 {
  font-weight: 600
}

.orsi-store .eyebrow {
  letter-spacing: .05em;
  color: #6B2D4A
}

.orsi-store .orsi-skip {
  position: fixed;
  top: -100px;
  right: 24px;
  z-index: 2000;
  background: #6B2D4A;
  color: white;
  padding: 12px 24px
}

.orsi-store .orsi-skip:focus {
  top: 10px
}

.orsi-store :focus-visible {
  outline: 2px solid #6B2D4A;
  outline-offset: 4px
}

.orsi-store .orsi-announcement {
  background: #6B2D4A;
  color: #FAF6F1;
  text-align: center;
  font-size: 11px;
  padding: 8px 20px;
  letter-spacing: .02em
}

.orsi-store .orsi-announcement span {
  margin-right: 28px;
  font-size: 10px;
  letter-spacing: .18em;
  opacity: .85
}

.orsi-store .orsi-header>div:nth-child(2) {
  box-shadow: none;
  background: #FAF6F1
}

.orsi-store .orsi-header nav>ul {
  gap: 14px
}

.orsi-store .orsi-header nav>ul a {
  font-weight: 500
}

.orsi-store .orsi-header a:has(.orsi-monogram)>span:first-child {
  background: transparent;
  color: #6B2D4A;
  border: 1px solid #C3A15F;
  border-radius: 50% 50% 3px 3px;
  box-shadow: none;
  width: 39px;
  height: 47px
}

.orsi-store .orsi-monogram {
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1
}

.orsi-store .orsi-header .search-input {
  border-radius: 4px;
  background: #FAF6F1
}

.orsi-store .orsi-header a.rounded-full {
  border-radius: 4px;
  box-shadow: none
}

.orsi-store .orsi-kicker {
  color: #6B2D4A;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 25px
}

.orsi-store .orsi-kicker:before {
  content: "";
  height: 1px;
  width: 28px;
  background: #C3A15F
}

.orsi-store .orsi-kicker span {
  color: rgba(53, 41, 31, .78);
  margin-right: auto;
  font-size: 10px
}

.orsi-store .orsi-hero {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  min-height: 580px;
  margin-bottom: 0;
  border: 1px solid #EADDD1
}

.orsi-hero-copy {
  padding: 56px 48px 30px;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center
}

.orsi-hero-copy .orsi-kicker {
  width: 100%
}

.orsi-store .orsi-hero h1 {
  font-size: clamp(30px, 3.3vw, 54px);
  line-height: 1.65;
  letter-spacing: -.055em;
  width: 100%;
  margin: 0 0 22px
}

.orsi-store .orsi-hero h1 em {
  font-style: normal;
  color: #6B2D4A
}

.orsi-hero-description {
  font-size: 14px;
  color: rgba(53, 41, 31, .78);
  line-height: 2.2;
  width: 100%;
  margin-bottom: 30px
}

.orsi-store .orsi-button {
  display: inline-flex;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
  background: #6B2D4A;
  color: white;
  padding: 13px 24px;
  font-size: 13px;
  border: 1px solid #6B2D4A;
  transition: background .2s
}

.orsi-store .orsi-button:hover {
  background: #521F38
}

.orsi-store .orsi-text-link {
  font-size: 12px;
  border-bottom: 1px solid #A8968A;
  margin-right: 24px;
  padding: 5px 0;
  color: #35291F
}

.orsi-hero-note {
  display: flex;
  align-items: center;
  gap: 18px;
  border-top: 1px solid #EADDD1;
  margin-top: 44px;
  padding-top: 20px;
  width: 100%
}

.orsi-hero-note>span {
  font-family: Georgia, serif;
  letter-spacing: 6px;
  color: #6B2D4A;
  font-size: 24px
}

.orsi-hero-note p {
  font-size: 11px;
  line-height: 1.9;
  border-right: 1px solid #EADDD1;
  padding-right: 18px
}

.orsi-hero-note small {
  color: rgba(53, 41, 31, .78)
}

.orsi-hero-art {
  position: relative;
  min-width: 0;
  background: #F3EAE0;
  overflow: hidden
}

.orsi-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.orsi-store .orsi-art-caption {
  position: absolute;
  bottom: 16px;
  right: 25px;
  font-size: 10px;
  color: #6B2D4A
}

.orsi-store .orsi-service-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid #EADDD1;
  margin-bottom: 72px
}

.orsi-store .orsi-service-strip>a {
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 24px 28px;
  font-size: 14px
}

.orsi-store .orsi-service-strip>a+a {
  border-right: 1px solid #EADDD1
}

.orsi-store .orsi-service-strip>a>span {
  color: #C3A15F;
  font-family: Georgia, serif;
  font-size: 21px
}

.orsi-store .orsi-service-strip a div {
  flex: 1;
  font-size: 13px
}

.orsi-store .orsi-service-strip small {
  display: block;
  color: rgba(53, 41, 31, .78);
  font-size: 10px;
  margin-top: 2px
}

.orsi-store section>div:first-child h2 {
  font-size: 25px;
  font-weight: 600
}

.orsi-store section>div:first-child .eyebrow {
  font-size: 10px
}

.orsi-store .orsi-product-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0 0 20px;
  transition: transform .25s
}

.orsi-store .orsi-product-card:hover {
  box-shadow: none;
  transform: translateY(-4px)
}

.orsi-store .orsi-product-card>div:first-of-type {
  border-radius: 2px;
  background: #F3EAE0
}

.orsi-store .orsi-product-card img {
  object-fit: contain;
  mix-blend-mode: multiply
}

.orsi-store .orsi-product-card>div:not(:first-of-type),
.orsi-store .orsi-product-card>h3 {
  padding-right: 4px;
  padding-left: 4px
}

.orsi-store .orsi-product-card .font-extrabold {
  font-weight: 600
}

.orsi-store .orsi-product-card>span {
  border-radius: 0;
  box-shadow: none
}

.orsi-store .orsi-product-card .text-primary {
  font-size: 14px
}

.orsi-store .orsi-page>div:first-child:has(>h1) {
  padding: 12px 0 27px;
  border-bottom: 1px solid #EADDD1;
  margin-bottom: 30px
}

.orsi-store .orsi-page h1 {
  font-size: 28px
}

.orsi-store .orsi-page .shadow-sm,
.orsi-store .orsi-page .shadow-soft {
  box-shadow: none
}

.orsi-store .orsi-page .rounded-2xl {
  border-radius: 6px
}

.orsi-store .orsi-page .rounded-3xl {
  border-radius: 8px
}

.orsi-store .orsi-page input:not([type=checkbox]):not([type=radio]),
.orsi-store .orsi-page select,
.orsi-store .orsi-page textarea {
  border-radius: 3px;
  min-height: 46px
}

.orsi-store input[type=checkbox],
.orsi-store input[type=radio] {
  accent-color: #6B2D4A
}

.orsi-store .orsi-page button.bg-primary,
.orsi-store .orsi-page a.bg-primary {
  border-radius: 3px;
  min-height: 44px
}

.orsi-store .orsi-catalog #filter-sidebar {
  border-radius: 0;
  border-top: 2px solid #6B2D4A;
  box-shadow: none;
  background:#faf5f0;
}

.orsi-store .orsi-catalog #filter-sidebar h3 {
  font-size: 14px
}

.orsi-store .orsi-product #main-product-img {
  object-fit: contain;
  mix-blend-mode: multiply
}

.orsi-store .orsi-product .lg\:col-span-5>div:first-child {
  border-radius: 0;
  border: 0
}

.orsi-store .orsi-product .container {
  padding: 0
}

.lg\:pb-8 {
  padding-bottom: 2rem;
}

.pb-24 {
  padding-bottom: 6rem;
}

.orsi-store .orsi-account-nav>div {
  border-radius: 0;
  box-shadow: none;
  border: 0;
  border-left: 1px solid #EADDD1;
  background: transparent;
  padding-right: 0;
  padding-left: 24px
}

.orsi-store .orsi-account-nav nav a {
  border-radius: 3px;
  font-size: 13px;
  font-weight: 500
}

.orsi-store .orsi-account-nav nav a.bg-primary {
  box-shadow: none;
  border-right: 3px solid #C3A15F
}

.orsi-store .orsi-account-nav>div>div {
  align-items: flex-start;
  text-align: right
}

.orsi-store .orsi-account-nav>div>div>div {
  width: 52px;
  height: 52px;
  font-size: 22px;
  border-radius: 50% 50% 2px 2px
}

.orsi-account .orsi-main {
  padding-top: 0
}

.orsi-store table {
  border-collapse: collapse
}

.orsi-store th {
  font-size: 11px;
  white-space: nowrap;
  background: #F3EAE0;
  font-weight: 500
}

.orsi-store td {
  font-size: 12px
}

.orsi-store tbody tr:hover {
  background: #FAF6F1
}

.orsi-store .orsi-page form>.bg-white {
  border-radius: 4px
}

.orsi-store .orsi-footer {
  background: #35291F;
  border-top: 1px solid #C3A15F;
  margin-top: 64px
}

.orsi-store .orsi-footer h4 {
  font-size: 14px;
  font-weight: 500
}

.orsi-store .orsi-footer .rounded-full {
  border-radius: 3px
}

.orsi-store.orsi-auth {
  background: #F3EAE0;
  overflow-y: auto !important;
  padding: 35px !important
}

.orsi-store.orsi-auth>div.absolute {
  display: none
}

.orsi-store.orsi-auth>div.relative {
  max-width: 520px;
  border-radius: 0;
  box-shadow: 0 20px 80px -60px #6B2D4A;
  padding: 55px 48px;
  border-top: 3px solid #6B2D4A;
  min-height: auto
}

.orsi-store.orsi-auth>div.relative>div:first-of-type>span:first-child {
  display: none
}

.orsi-store.orsi-auth .orsi-latin {
  font-family: Georgia, serif;
  display: block;
  font-size: 14px;
  letter-spacing: 6px;
  font-weight: 400;
  text-align: center
}

.orsi-store.orsi-auth input,
.orsi-store.orsi-auth button {
  border-radius: 3px
}

.orsi-store.orsi-auth form h1 {
  font-weight: 500
}

.orsi-store.orsi-auth form button[type=submit] {
  min-height: 50px;
  background: #6B2D4A
}

@media(min-width:1024px) {
  .orsi-account>div.container {
    gap: 44px;
    padding-top: 44px
  }

  .orsi-store .orsi-product .lg\:col-span-5 {
    grid-column: span 6/span 6
  }

  .orsi-store .orsi-product .lg\:col-span-7 {
    grid-column: span 6/span 6
  }
}

@media(max-width:1023px) {
  .orsi-hero {
    min-height: 470px
  }

  .orsi-hero-copy {
    padding: 30px 25px
  }

  .orsi-store .orsi-hero h1 {
    font-size: 33px
  }

  .orsi-hero-note {
    margin-top: 26px
  }

  .orsi-store .orsi-service-strip>a {
    padding: 20px 13px;
    gap: 10px
  }

  .orsi-store .orsi-account-nav>div {
    border-left: 0;
    border-bottom: 1px solid #EADDD1;
    padding: 0 0 18px
  }

  .orsi-store .orsi-account-nav>div>div {
    display: none
  }

  .orsi-store .orsi-account-nav .orsi-kicker {
    margin-bottom: 10px
  }

  .orsi-store .orsi-account-nav nav {
    padding-bottom: 4px
  }
}

@media(max-width:767px) {
  .orsi-announcement {
    font-size: 10px;
    padding: 6px
  }

  .orsi-store .orsi-announcement span {
    display: none
  }

  .orsi-store .orsi-main {
    padding-top: 20px;
    padding-left: 18px;
    padding-right: 18px
  }

  .orsi-store .orsi-hero {
    grid-template-columns: 1fr
  }

  .orsi-hero-copy {
    padding: 28px 24px
  }

  .orsi-store .orsi-hero h1 {
    font-size: 34px;
    margin-bottom: 14px
  }

  .orsi-hero-description {
    font-size: 12px;
    margin-bottom: 22px
  }

  .orsi-hero-copy .orsi-kicker {
    margin-bottom: 18px
  }

  .orsi-hero-note {
    display: none
  }

  .orsi-hero-art {
    height: auto;
    aspect-ratio: 1.25
  }

  .orsi-hero-art img {
    object-fit: cover;
    object-position: center 60%
  }

  .orsi-store .orsi-service-strip {
    grid-template-columns: 1fr;
    margin-bottom: 44px
  }

  .orsi-store .orsi-service-strip>a {
    padding: 15px 8px
  }

  .orsi-store .orsi-service-strip>a+a {
    border-right: 0;
    border-top: 1px solid #EADDD1
  }

  .orsi-store .orsi-service-strip small {
    display: inline;
    margin-right: 12px
  }

  .orsi-store .orsi-page h1 {
    font-size: 23px
  }

  .orsi-store section>div:first-child h2 {
    font-size: 22px
  }

  .orsi-store .orsi-product-card .text-primary {
    font-size: 12px
  }

  .orsi-store .orsi-page .p-8 {
    padding: 20px
  }

  .orsi-store.orsi-auth {
    padding: 20px !important
  }

  .orsi-store.orsi-auth>div.relative {
    padding: 55px 25px 30px
  }

  .orsi-store.orsi-auth .min-h-\[100dvh\] {
    min-height: auto
  }

  .orsi-store .orsi-footer {
    padding-bottom: 90px
  }

  .orsi-store table {
    min-width: 560px
  }

  .orsi-store .orsi-account-nav nav a {
    padding: 10px 14px
  }

  .orsi-store .orsi-account-nav nav a .site-icon {
    display: none
  }
}

@media(prefers-reduced-motion:reduce) {
  .orsi-store * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important
  }
}

.orsi-store .orsi-purchase-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 0 auto 35px;
  max-width: 680px;
  font-size: 12px;
  color: rgba(53, 41, 31, .78)
}

.orsi-store .orsi-purchase-steps>a,
.orsi-store .orsi-purchase-steps>span:not(.orsi-step-line) {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap
}

.orsi-store .orsi-purchase-steps [aria-current=step] {
  color: #6B2D4A;
  font-weight: 700
}

.orsi-store .orsi-purchase-steps [aria-current=step]>span {
  background: #6B2D4A;
  color: #FAF6F1
}

.orsi-store .orsi-purchase-steps a>span,
.orsi-store .orsi-purchase-steps>span>span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #EADDD1;
  border-radius: 50%
}

.orsi-store .orsi-step-line {
  height: 1px;
  background: #EADDD1;
  flex: 1
}

@media(max-width:640px) {
  .orsi-store .orsi-purchase-steps {
    font-size: 10px;
    gap: 8px
  }

  .orsi-store .orsi-purchase-steps a>span,
  .orsi-store .orsi-purchase-steps>span>span {
    width: 23px;
    height: 23px
  }

  .orsi-store .orsi-purchase-steps>a,
  .orsi-store .orsi-purchase-steps>span:not(.orsi-step-line) {
    gap: 5px
  }
}

/* Editorial collection and personal account compositions. */
.orsi-store .orsi-collection-heading {
  min-width: 0;
  padding: 4px 0 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--orsi-line)
}

.orsi-store .orsi-collection-heading h1 {
  margin: 0;
  color: var(--orsi-wine);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700;
  overflow-wrap: anywhere
}

.orsi-store .orsi-collection-subcategories {
  margin-top: 16px;
  max-width: 100%
}

.orsi-store .orsi-collection-subcategories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 4px
}

.orsi-store .orsi-collection-subcategories li {
  flex-shrink: 0
}

.orsi-store .orsi-collection-subcategories a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 18px;
  border: 1px solid var(--orsi-line);
  border-radius: 999px;
  background: #fff;
  color: var(--orsi-ink);
  font-size: 15px;
  text-decoration: none;
  transition: color .18s, border-color .18s, background-color .18s
}

.orsi-store .orsi-collection-subcategories a:hover,
.orsi-store .orsi-collection-subcategories a:focus-visible {
  color: var(--orsi-wine);
  border-color: var(--orsi-wine);
  background: #F3EAE0
}

.orsi-store .orsi-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: #F3EAE0;
  padding: 35px;
  margin-bottom: 24px;
  border-top: 2px solid #6B2D4A
}

.orsi-store .orsi-welcome h1 {
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 14px
}

.orsi-store .orsi-welcome .orsi-kicker {
  margin-bottom: 16px
}

.orsi-store .orsi-welcome div>p:last-child {
  font-size: 12px;
  color: rgba(53, 41, 31, .78)
}

.orsi-store .orsi-welcome .orsi-button {
  white-space: nowrap
}

.orsi-store .orsi-account-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #EADDD1;
  margin-bottom: 24px;
  background: #FAF6F1
}

.orsi-store .orsi-account-stats>a {
  padding: 20px 24px
}

.orsi-store .orsi-account-stats>a+a {
  border-right: 1px solid #EADDD1
}

.orsi-store .orsi-account-stats a>span {
  font-size: 32px;
  color: #6B2D4A;
  line-height: 1.5
}

.orsi-store .orsi-account-stats p {
  font-size: 12px
}

.orsi-store .orsi-account-stats small {
  font-size: 10px;
  color: rgba(53, 41, 31, .78)
}

.orsi-store .orsi-account-stats a:hover {
  background: #F3EAE0
}

.orsi-store .orsi-account-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px
}

.orsi-store .orsi-account-actions>a {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  border-bottom: 1px solid #EADDD1
}

.orsi-store .orsi-account-actions h2 {
  font-size: 14px;
  font-weight: 600
}

.orsi-store .orsi-account-actions p {
  font-size: 11px;
  color: rgba(53, 41, 31, .78)
}

.orsi-store .orsi-account-actions>a>span:last-child {
  margin-right: auto;
  color: #6B2D4A
}

.orsi-store .orsi-account-actions .site-icon {
  color: #6B2D4A;
  font-size: 22px
}

.orsi-store .orsi-account-exit {
  margin-top: 24px;
  padding: 12px 16px;
  color: #6B2D4A;
  border-top: 1px solid #EADDD1;
  width: 100%;
  text-align: right;
  font-size: 12px
}

.orsi-store .orsi-addresses .address-card {
  border-radius: 0;
  border-top: 2px solid #EADDD1;
  background: transparent;
  box-shadow: none
}

.orsi-store .orsi-profile form>div:first-of-type {
  border-radius: 0;
  border: 0;
  border-top: 2px solid #6B2D4A
}

.orsi-store .orsi-orders>div:nth-child(2) a {
  border-radius: 2px
}

.orsi-store .orsi-order>div.grid>div {
  border-radius: 3px
}

.orsi-store .orsi-journal h1,
.orsi-store .orsi-story h1 {
  font-weight: 500
}

.orsi-store .orsi-contact>div.container {
  padding: 0
}

.orsi-store .orsi-contact section:first-child {
  background: #F3EAE0;
  border: 0;
  text-align: right;
  border-radius: 0
}

.orsi-store .orsi-contact section:first-child>div.absolute {
  display: none
}

@media(max-width:767px) {
  .orsi-store .orsi-collection-heading {
    padding-bottom: 22px;
    margin-bottom: 22px
  }

  .orsi-store .orsi-collection-subcategories {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #C3A15F transparent
  }

  .orsi-store .orsi-collection-subcategories ul {
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
    padding-bottom: 8px
  }

  .orsi-store .orsi-collection-subcategories a {
    padding-inline: 16px;
    white-space: nowrap
  }

  .orsi-store .orsi-welcome {
    display: block;
    padding: 24px
  }

  .orsi-store .orsi-welcome h1 {
    font-size: 25px
  }

  .orsi-store .orsi-welcome .orsi-button {
    margin-top: 20px;
    font-size: 11px;
    padding: 10px 18px
  }

  .orsi-store .orsi-account-stats {
    grid-template-columns: 1fr 1fr
  }

  .orsi-store .orsi-account-stats>a {
    padding: 16px 20px
  }

  .orsi-store .orsi-account-stats>a:nth-child(3) {
    border-right: 0
  }

  .orsi-store .orsi-account-stats>a:nth-child(n+3) {
    border-top: 1px solid #EADDD1
  }

  .orsi-store .orsi-account-actions {
    gap: 12px
  }

  .orsi-store .orsi-account-actions>a {
    padding: 12px 0;
    gap: 10px
  }

  .orsi-store .orsi-account-actions .site-icon {
    font-size: 16px
  }

  .orsi-store .orsi-account-actions h2 {
    font-size: 12px
  }

  .orsi-store .orsi-account-actions p {
    font-size: 10px
  }

  .orsi-store .orsi-overview table,
  .orsi-store .orsi-orders table {
    min-width: 0;
    display: block
  }

  .orsi-store .orsi-overview thead,
  .orsi-store .orsi-orders thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%)
  }

  .orsi-store .orsi-overview tbody,
  .orsi-store .orsi-orders tbody {
    display: block
  }

  .orsi-store .orsi-overview tbody tr,
  .orsi-store .orsi-orders tbody tr {
    display: flex;
    flex-wrap: wrap;
    padding: 16px 10px;
    border-bottom: 1px solid #EADDD1
  }

  .orsi-store td[data-label] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px;
    width: 50%;
    font-size: 11px;
    text-align: right
  }

  .orsi-store td[data-label]:before {
    content: attr(data-label);
    color: rgba(53, 41, 31, .78);
    font-size: 10px;
    font-weight: 400
  }

  .orsi-store td[colspan] {
    width: 100%;
    display: block
  }

  .orsi-store .orsi-account-exit {
    width: auto;
    margin-top: 12px;
    padding: 8px 0;
    font-size: 11px
  }
}

.orsi-store .orsi-filter-error {
  padding: 14px 18px;
  margin-bottom: 20px;
  border: 1px solid #C98A96;
  background: #EFD5D8;
  color: #521F38;
  font-size: 12px
}

.orsi-store .orsi-filter-error button {
  margin-right: 12px;
  text-decoration: underline;
  font-weight: 600
}

.orsi-store .orsi-cart>div:first-of-type,
.orsi-store .orsi-checkout>div:first-of-type {
  border-bottom: 1px solid #EADDD1;
  padding-bottom: 24px
}

.orsi-store .orsi-cart,
.orsi-store .orsi-checkout {
  max-width: 1240px;
  margin: auto
}

/* Native-ratio homepage slider: only the active image sizes the track. */
.orsi-store .orsi-campaign-slider {
  width: 100vw;
  max-width: none;
  margin-inline-start: calc(50% - 50vw);
  aspect-ratio: auto;
  height: auto;
  border-radius: 0;
  box-shadow: none
}

.orsi-store .orsi-campaign-slider #home-slider {
  height: auto
}

.orsi-store .orsi-campaign-slider .slider-item {
  height: auto
}

.orsi-store .orsi-campaign-slider .slider-item[aria-hidden="false"] {
  position: relative;
  inset: auto
}

.orsi-store .orsi-campaign-slider .slider-item[aria-hidden="true"] {
  position: absolute;
  inset: 0
}

.orsi-store .orsi-campaign-slider img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 1;
  object-fit: contain;
  background: transparent
}

.orsi-store .orsi-categories a {
  border-radius: 0;
  min-height: 240px;
  height: auto;
  aspect-ratio: 4/5
}

.orsi-store .orsi-category-index {
  position: absolute;
  top: 24px;
  right: 24px;
  font-size: 12px;
  z-index: 20;
  color: #EFD5D8;
  font-family: Georgia, serif
}

.orsi-store .orsi-category-arrow {
  position: absolute;
  left: 24px;
  bottom: 24px;
  color: #C3A15F;
  font-size: 24px;
  z-index: 20
}

.orsi-store #startup-popup {
  border-radius: 4px
}

.orsi-store #startup-popup [data-popup-cta] {
  border-radius: 2px
}

.orsi-store .orsi-footer .grid>div:first-child>div:first-child>span:first-child {
  display: none
}

@media(max-width:767px) {
  .orsi-store .orsi-categories a {
    min-height: 180px
  }

  .orsi-store .orsi-category-index {
    top: 16px;
    right: 16px
  }

  .orsi-store .orsi-category-arrow {
    left: 16px;
    bottom: 16px
  }
}

.orsi-store .orsi-header nav>ul a,
.orsi-store .orsi-header nav>ul button {
  white-space: nowrap
}

@media(min-width:768px) and (max-width:1100px) {
  .orsi-store .orsi-header nav>ul {
    gap: 0
  }

  .orsi-store .orsi-header nav>ul a,
  .orsi-store .orsi-header nav>ul button {
    font-size: 11px;
    padding: 14px 10px
  }

  .orsi-store .orsi-header nav>.search-container {
    width: 190px;
    flex-shrink: 0
  }

  .orsi-store .orsi-header .search-dropdown {
    width: 300px;
    left: 0
  }

  .orsi-store .orsi-header #cat-mega-menu {
    width: 690px
  }
}

/* Keep the existing dark ink for readable secondary copy and gold badges. */
.orsi-store .text-gray,
.orsi-store .text-taupe {
  color: rgba(53, 41, 31, .78)
}

.orsi-store .bg-gold.text-white {
  color: #35291F
}

@media(max-width:767px) {
  .orsi-store .orsi-art-caption {
    bottom: 8px;
    right: 12px;
    padding: 3px 8px;
    background: #FAF6F1;
    font-size: 9px
  }
}

.orsi-store .orsi-product-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 20px;
  align-items: center;
  margin-bottom: 12px
}

.orsi-store .orsi-color-dot {
  display: inline-block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border-radius: 50%;
  border: 1px solid rgba(53, 41, 31, .22)
}

/* Product controls stay above the full-card link. */
.orsi-store .orsi-product-card {
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
}

.orsi-store .orsi-product-card:focus-within {
  outline: 2px solid #6b2d4a;
  outline-offset: 3px;
}

.orsi-store .orsi-pin {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  padding: 6px 9px;
  border-radius: 12px;
  color: #6b2d4a;
  box-shadow: 0 2px 10px #38232a15;
  pointer-events: none;
}

.orsi-store .orsi-sale-timer {
  position: absolute;
  width: fit-content;
  bottom: 3px;
  left: 3px;
  padding: 2px 4px;
  border-radius: 4px;
  color: #6b2d4a;
  background: #f7edf1;
  font-size: 11px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.orsi-store .orsi-sale-timer [data-sale-clock] {
  display: inline-block;
  direction: rtl;
}

.orsi-store .orsi-account-stats {
  gap: 14px;
  background: transparent;
  border: 0;
}

.orsi-store .orsi-account-stats>a {
  padding: 24px;
  border: 1px solid #e8e0e4;
  border-radius: 20px;
  background: white;
  box-shadow: 0 6px 24px #3c213605;
}

.orsi-store .orsi-account-stats>a+a {
  border-inline-start: 1px solid #e8e0e4;
}

.orsi-store .orsi-account-stats a>span {
  font-variant-numeric: tabular-nums;
}

.orsi-account .overflow-x-auto {
  overscroll-behavior-inline: contain;
}

@media(max-width:640px) {
  .orsi-store .orsi-welcome {
    padding: 24px 20px;
    border-radius: 22px;
    gap: 22px;
  }

  .orsi-store .orsi-welcome h1 {
    font-size: 24px;
    line-height: 1.7;
  }

  .orsi-store .orsi-account-stats {
    gap: 10px;
  }

  .orsi-store .orsi-account-stats>a {
    padding: 18px 14px;
    border: 1px solid #e8e0e4;
  }

  .orsi-store .orsi-product-card .font-extrabold {
    font-size: 13px;
    overflow-wrap: anywhere;
  }
}

@media(prefers-reduced-motion:reduce) {

  .orsi-store .orsi-product-card,
  .orsi-store .orsi-product-card img {
    transition: none;
    transform: none;
  }
}

.orsi-store .orsi-product-card.orsi-product-card {
  border: 1px solid #e8e0e4;
  background: #fff;
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 4px 20px #38232a06;
}

.orsi-store .orsi-product-card.orsi-product-card>div:first-of-type {
  border-radius: 12px;
}

.orsi-store .orsi-product-card.orsi-product-card>.orsi-pin {
  border-radius: 12px;
  
}

.orsi-store .orsi-product-card.orsi-product-card>.orsi-pin svg{
  width: 24px;
}
/* Header navigation and readable storefront content. */
.orsi-store { font-size: 16px; }
.orsi-store .orsi-announcement { font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.orsi-store .orsi-announcement-image { padding: 0; }
.orsi-store .orsi-announcement-image img { display: block; width: 100%; height: auto; }
.orsi-store .orsi-mobile-menu {
  position: fixed; top: 0; right: 0; bottom: auto; left: auto;
  width: min(88vw, 380px); height: 100dvh; z-index: 1200;
  background: #fff; overflow-y: auto; overscroll-behavior: contain;
  padding-bottom: env(safe-area-inset-bottom);
  transform: translateX(100%); visibility: hidden;
  transition: transform .25s ease, visibility .25s;
}
.orsi-store .orsi-mobile-menu.is-open { transform: translateX(0); visibility: visible; }
.orsi-store .orsi-menu-backdrop {
  position: fixed; inset: 0; z-index: 1190; background: rgb(0 0 0 / 45%);
  opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
}
.orsi-store .orsi-menu-backdrop.is-open { opacity: 1; visibility: visible; }
.orsi-store .orsi-menu-heading { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--orsi-line); }
.orsi-store .orsi-menu-heading button { width: 44px; height: 44px; background: transparent; border: 0; cursor: pointer; }
.orsi-store .orsi-mobile-categories summary { padding: 12px 8px; cursor: pointer; font-weight: 600; }
.orsi-store .orsi-mobile-categories details { border-bottom: 1px solid var(--orsi-line); }
.orsi-store .orsi-mobile-categories details details { margin-right: 12px; }
.orsi-store .orsi-mobile-categories a { display: block; padding: 10px 14px; color: var(--orsi-wine); font-size: 15px; }
.orsi-store .search-results-list a > div { min-width: 0; flex: 1; }
.orsi-store .search-results-list .truncate { width: auto; max-width: 100%; }
.orsi-store .search-results-list img { flex-shrink: 0; }
.orsi-store .prose { line-height: 2; overflow-wrap: anywhere; }
.orsi-store .prose img { max-width: 100%; height: auto; }
.orsi-store .prose table { display: block; max-width: 100%; overflow-x: auto; }
.orsi-store .prose ul { list-style: disc; padding-inline-start: 24px; }
.orsi-store .prose ol { list-style: decimal; padding-inline-start: 24px; }
.orsi-store .prose p + p { margin-top: 1em; }
@media (min-width: 768px) {
  .orsi-store .orsi-mobile-menu, .orsi-store .orsi-menu-backdrop { display: none; }
  .orsi-store .orsi-header nav > ul { gap: 0; }
  .orsi-store .orsi-header nav > ul a, .orsi-store #cat-toggle, .orsi-store .cat-l1-item { font-size: 15px; }
  .orsi-store #cat-mega-menu { width: min(750px, calc(100vw - 40px)); }
  .orsi-store .orsi-main .text-xs, .orsi-store footer .text-xs { font-size: 14px; }
  .orsi-store .orsi-main .text-sm, .orsi-store footer .text-sm { font-size: 16px; }
}
@media (max-width: 767px) {
  .orsi-store .orsi-header .search-container { width: 100%; min-width: 0; }
  .orsi-store .orsi-header .search-dropdown { width: 100%; left: 0; right: 0; }
  .orsi-store .orsi-header .search-input { font-size: 16px; }
  .orsi-store .orsi-header .search-results-list { max-height: 45dvh; }
  .orsi-store .orsi-header > div:nth-child(2) > .container { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .orsi-store .orsi-mobile-menu, .orsi-store .orsi-menu-backdrop { transition: none; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .orsi-store .orsi-header nav { flex-wrap: wrap; }
  .orsi-store .orsi-header nav > .search-container { width: 100%; }
  .orsi-store .orsi-header nav > ul { justify-content: space-between; width: 100%; }
  .orsi-store .orsi-header nav .search-dropdown { width: 100%; }
}
@media (min-width: 768px) {
  .orsi-store .orsi-service-strip small, .orsi-store section > div:first-child .eyebrow { font-size: 13px; }
  .orsi-store th, .orsi-store td { font-size: 15px; padding: 12px; }
  .orsi-store .orsi-product-card .text-primary { font-size: 16px; }
  .orsi-store .orsi-account-actions h2 { font-size: 16px; }
  .orsi-store .orsi-account-actions p { font-size: 14px; }
}
