/* Mainstream fragrance page: mineral surfaces, a photographic stage and a quiet purchase panel. */
.mainstream-theme .ms-product-page {
  --ms-stage: #e7e5df;
  --ms-glass: #ffffffb8;
  --ms-rose: #ed6384;
  position: relative;
  padding: 0 0 72px;
  background:
    radial-gradient(ellipse at 12% 20%, #e3e5dc 0, transparent 48%),
    linear-gradient(135deg, #f1f0ea, var(--ms-paper) 65%);
}
.mainstream-theme .ms-product-shell { width: min(1440px, 100%); margin: 0 auto; padding: 0 48px; }
.mainstream-theme .ms-product-path { padding: 12px 0 16px; }
.mainstream-theme .ms-product-path .breadcrumbs { margin: 0; font-size: 11px; line-height: 1.7; color: var(--ms-muted); }
.mainstream-theme .ms-product-path .crumb { color: inherit; }
.mainstream-theme .ms-product-path .separator { margin: 0 8px; opacity: .45; }
.mainstream-theme .ms-product-path .active { color: var(--ms-ink); }
.mainstream-theme .ms-product-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; gap: 40px; }
.mainstream-theme .ms-product-gallery { min-width: 0; position: sticky; top: 170px; }
.mainstream-theme .ms-product-gallery > .row { margin: 0; flex-wrap: nowrap; gap: 14px; }
.mainstream-theme .ms-product-gallery > .row > .col { padding: 0 !important; min-width: 0; }
.mainstream-theme .ms-product-gallery > .row > .col-md-auto { padding: 18px 0 0; }
.mainstream-theme .ms-product-gallery .product-thumbs-container { width: 58px; }
.mainstream-theme .ms-product-gallery .swiper-product-thumb { height: 320px; }
.mainstream-theme .ms-product-gallery .swiper-product-thumb .swiper-slide { width: 100% !important; }
.mainstream-theme .ms-product-gallery .product-thumb { border: 1px solid transparent; border-radius: 10px; overflow: hidden; opacity: .6; transition: opacity .2s, border-color .2s; }
.mainstream-theme .ms-product-gallery .product-thumb.selected { opacity: 1; border-color: var(--ms-green); box-shadow: 0 3px 10px #2c302b12; }
.mainstream-theme .ms-product-gallery .product-thumb:hover { opacity: 1; }
.mainstream-theme .ms-product-gallery .product-thumb img { border-radius: 0; object-fit: contain; background: var(--ms-stage); }
.mainstream-theme .ms-product-gallery .product-detail-slider {
  height: auto !important;
  border-radius: 28px;
  background: var(--ms-stage);
  border: 1px solid #ffffffb3;
  box-shadow: 0 18px 36px -26px #343a2e55;
  isolation: isolate;
  overflow: hidden;
}
.mainstream-theme .ms-product-gallery .product-slide,
.mainstream-theme .ms-product-gallery .js-product-slide-link { height: auto; }
/* Preserve the image's native ratio; Swiper fits the frame to the active slide. */
.mainstream-theme .ms-product-gallery .product-detail-slider > .swiper-wrapper { align-items: flex-start; }
.mainstream-theme .ms-product-gallery .product-slider-image { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.mainstream-theme .ms-gallery-caption { display: flex; justify-content: space-between; gap: 16px; margin: 18px 0 0 72px; color: var(--ms-muted); font-size: 10px; line-height: 1.5; }
.mainstream-theme .ms-gallery-caption > span:first-child { color: var(--ms-green); }
.mainstream-theme .ms-gallery-caption span[aria-hidden] { font-size: 15px; margin-left: 5px; }
.mainstream-theme .ms-product-buybox {
  min-width: 0;
  padding: 32px;
  border: 1px solid #ffffff;
  border-radius: 26px;
  background: linear-gradient(145deg, #ffffffd9, #ffffff82);
  box-shadow: inset 0 1px 0 #ffffff, 0 18px 55px -38px #34443866;
}
.mainstream-theme .ms-product-heading { margin-bottom: 14px; }
.mainstream-theme .ms-product-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 14px; }
.mainstream-theme .ms-product-brand { font-size: 10px; line-height: 1.5; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--ms-green); }
.mainstream-theme .ms-product-kind { padding: 4px 9px; border: 1px solid #c4cbbd; border-radius: 30px; font-size: 10px; line-height: 1.3; color: var(--ms-green); white-space: nowrap; }
.mainstream-theme .ms-product-page .ms-product-title { font-family: 'DM Sans', sans-serif; font-size: clamp(36px, 3.7vw, 60px); font-weight: 500; line-height: 1.04; letter-spacing: -.06em; margin: 0; text-align: left; overflow-wrap: anywhere; }
.mainstream-theme .ms-product-scent { margin-top: 14px; }
.mainstream-theme .ms-product-scent[hidden] { display: none; }
.mainstream-theme .ms-scent-family { margin: 0; font-size: 12px; line-height: 1.6; color: var(--ms-muted); }
.mainstream-theme .ms-scent-reference { margin: 10px 0 0; display: flex; align-items: baseline; gap: 4px 10px; flex-wrap: wrap; font-size: 12px; color: var(--ms-green); }
.mainstream-theme .ms-scent-reference small { font-size: 10px; color: var(--ms-muted); }
.mainstream-theme .ms-product-page .price-container { text-align: left !important; }
.mainstream-theme .ms-product-page .js-price-container { margin-bottom: 8px !important; }
.mainstream-theme .ms-product-page .ms-payment-active .js-price-container > .d-inline-flex { display: contents !important; }
.mainstream-theme .ms-product-page .ms-payment-before { gap: 10px; margin-bottom: 5px; }
.mainstream-theme .ms-product-page .ms-payment-before s { font-size: 13px; }
.mainstream-theme .ms-product-page .ms-payment-badge { font-size: 10px; border-radius: 20px; padding: 4px 9px; }
.mainstream-theme .ms-product-page .ms-payment-value { font-size: clamp(32px, 3vw, 42px); line-height: 1.15; font-weight: 500; letter-spacing: -.05em; }
.mainstream-theme .ms-product-page .ms-payment-method { font-size: 13px; }
.mainstream-theme .ms-product-page .ms-payment-benefit { margin-bottom: 0; }
.mainstream-theme .ms-product-page .js-product-payments-container { margin: 0 !important; }
.mainstream-theme .ms-product-page .js-product-discount-container { margin-bottom: 0 !important; }
.mainstream-theme .ms-product-page #btn-installments { font-size: 11px; color: var(--ms-muted); text-decoration: underline !important; text-underline-offset: 4px; }
.mainstream-theme .ms-product-page #product_form { margin-top: 14px !important; }
.mainstream-theme .ms-product-offer [hidden] { display: none !important; }
.mainstream-theme .ms-product-offer-card {
  margin-top: 20px;
  padding: 20px 20px 4px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffffbd, #e7ece466);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  backdrop-filter: blur(14px) saturate(1.1);
  box-shadow: inset 0 1px 1px #ffffffd1, 0 12px 26px -20px #3444386b;
  color: var(--ms-green);
  text-align: left;
}
.mainstream-theme .ms-product-offer-title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 .24em;
  margin: 0 0 9px;
  font-family: 'DM Sans', sans-serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.mainstream-theme .ms-product-offer-term { white-space: nowrap; }
.mainstream-theme .ms-product-offer-title strong {
  font-size: 1.6em;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.055em;
}
.mainstream-theme .ms-product-offer-message {
  max-width: 34em;
  margin: 0;
  color: var(--ms-ink);
  font-size: 13px;
  line-height: 1.6;
}
.mainstream-theme .ms-product-offer-details { margin-top: 3px; }
.mainstream-theme .ms-product-offer-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  padding: 8px 0;
  color: var(--ms-green);
  font-size: 11px;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}
.mainstream-theme .ms-product-offer-details summary::-webkit-details-marker { display: none; }
.mainstream-theme .ms-product-offer-details summary svg { width: 16px; height: 16px; flex: 0 0 16px; }
.mainstream-theme .ms-product-offer-details[open] summary svg { transform: rotate(180deg); }
.mainstream-theme .ms-product-offer-conditions { padding: 0 0 10px; }
.mainstream-theme .ms-product-offer-conditions p { margin: 0 0 8px; font-size: 11px; line-height: 1.6; color: var(--ms-muted); }
.mainstream-theme .ms-product-offer-conditions a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 12px; color: var(--ms-green); text-decoration: underline; text-underline-offset: 4px; }
.mainstream-theme .ms-product-offer-details summary:focus-visible,
.mainstream-theme .ms-product-offer-conditions a:focus-visible { outline: 2px solid var(--ms-green); outline-offset: 3px; border-radius: 4px; }
@media (max-width: 767px) {
  .mainstream-theme .ms-product-offer-card { padding: 18px 16px 3px; border-radius: 14px; }
  .mainstream-theme .ms-product-offer-title { font-size: 24px; }
}
.mainstream-theme .ms-product-page .ms-format-group { gap: 6px 8px; margin-bottom: 16px !important; padding-top: 16px; border-top: 1px solid var(--ms-line); }
.mainstream-theme .ms-product-page .ms-format-label { display: none; }
.mainstream-theme .ms-product-page .ms-format-heading { margin-bottom: 3px; }
.mainstream-theme .ms-product-page .ms-format-heading strong { font-size: 14px; font-weight: 500; }
.mainstream-theme .ms-product-page .ms-format-heading p { font-size: 11px; margin-top: 2px; }
.mainstream-theme .ms-product-page .ms-format-choice.btn-variant {
  flex: 1 1 40%;
  min-height: 62px;
  max-width: calc(50% - 4px);
  padding: 10px 16px;
  border: 1px solid #c5ccbf;
  border-radius: 14px;
  background: #ffffff80;
  color: var(--ms-ink);
  text-align: left;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  transition: background-color .18s, border-color .18s, box-shadow .18s;
}
.mainstream-theme .ms-product-page .ms-format-intent { display: block; margin-top: 4px; font-size: 10px; line-height: 1.3; font-weight: 400; opacity: .75; }
.mainstream-theme .ms-product-page .ms-format-choice.btn-variant.selected { background: var(--ms-green); color: #fffefb; border-color: var(--ms-green); box-shadow: inset 0 1px 0 #ffffff30, 0 5px 12px #40524718; }
.mainstream-theme .ms-product-page .ms-format-choice:not(.selected):hover { border-color: var(--ms-green); background: #eef1e8; }
.mainstream-theme .ms-product-page .ms-format-selection { font-size: 10px; line-height: 1.6; margin-top: 4px; }
.mainstream-theme .ms-product-page .ms-format-heading[data-ms-format-kind="bottle"] { padding-top: 13px; margin-top: 8px; }
.mainstream-theme .ms-product-page .ms-format-unavailable { width: 100%; border-radius: 12px; min-height: 54px; }
.mainstream-theme .ms-product-page .js-product-quantity-container { flex: 0 0 110px; max-width: 110px; padding-right: 10px; }
.mainstream-theme .ms-product-page .js-product-quantity-container .form-group { margin: 0; }
.mainstream-theme .ms-product-page .form-quantity { height: 54px; border: 1px solid var(--ms-line); border-radius: 12px; background: #ffffff70; flex-wrap: nowrap; }
.mainstream-theme .ms-product-page .form-quantity .form-control { min-height: 0; height: 50px; padding: 0; border: 0; font-size: 13px; box-shadow: none; }
.mainstream-theme .ms-product-page .form-quantity-icon { padding: 10px 6px; width: 28px; flex: 0 0 28px; }
.mainstream-theme .ms-product-page .js-buy-button-container.col-8 { flex: 1; max-width: none; padding-left: 0; }
.mainstream-theme .ms-product-page .btn-add-to-cart,
.mainstream-theme .ms-product-page .js-buy-button-container .js-addtocart-placeholder { min-height: 54px; border-radius: 12px; font-size: 14px; font-weight: 500; box-shadow: inset 0 1px 0 #ffffff20, 0 6px 14px #4052471a; }
.mainstream-theme .ms-product-page .btn-add-to-cart:disabled { box-shadow: none; }
.mainstream-theme .ms-product-page .product-shipping-calculator { padding-top: 18px; border-top: 1px solid var(--ms-line); font-size: 12px; }
.mainstream-theme .ms-product-page .product-shipping-calculator .form-control { border-radius: 10px; background: #ffffff80; }
.mainstream-theme .ms-product-page .product-shipping-calculator .btn-link { font-size: 11px; }
.mainstream-theme .ms-product-conversation { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--ms-line); color: var(--ms-muted); font-size: 11px; }
.mainstream-theme .ms-product-conversation .ms-product-contacts { margin: 0; gap: 4px; }
.mainstream-theme .ms-product-conversation .ms-product-contact { width: 38px; height: 38px; border: 1px solid var(--ms-line); background: #ffffff80; }
.mainstream-theme .ms-product-conversation .ms-product-contact svg { width: 17px; height: 17px; }
.mainstream-theme .ms-product-story { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 80px; margin-top: 86px; padding: 48px 0 0; border-top: 1px solid #cbd1c4; }
.mainstream-theme .ms-product-eyebrow { font-size: 10px; color: var(--ms-muted); }
.mainstream-theme .ms-story-intro h2 { margin: 20px 0 0; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.12; }
.mainstream-theme .ms-story-intro h2 em { color: var(--ms-green); font-weight: 400; }
.mainstream-theme .ms-story-content { min-width: 0; }
.mainstream-theme .ms-story-content [data-store^="product-description-"] { margin: 0 !important; padding: 0 !important; text-align: left !important; }
.mainstream-theme .ms-story-content .user-content { font-size: 13px; line-height: 1.85; color: var(--ms-muted); margin: 0 !important; }
.mainstream-theme .ms-story-content .user-content > p { margin: 0 0 18px; }
.mainstream-theme .ms-story-content .user-content strong { color: var(--ms-ink); font-weight: 500; }
.mainstream-theme .ms-story-content .ms-story-fact { padding: 17px 0; margin-bottom: 0 !important; border-top: 1px solid var(--ms-line); }
.mainstream-theme .ms-story-content .ms-story-fact strong { display: inline-block; margin-right: 4px; }
.mainstream-theme .ms-story-content .ms-story-notes { font-size: 16px; line-height: 1.8; color: var(--ms-green); }
.mainstream-theme .ms-story-content .ms-story-notes strong { display: block; font-family: 'DM Sans', sans-serif; font-size: 10px; color: var(--ms-muted); margin-bottom: 8px; }
.mainstream-theme #related-products { padding: 44px 0 60px; background: #eeefe9; }
.mainstream-theme #related-products .section-title { text-align: left !important; font-family: 'DM Sans', sans-serif; font-size: 28px; font-weight: 500; letter-spacing: -.04em; }
.mainstream-theme #related-products .item-image { border-radius: 16px; overflow: hidden; }
@media (min-width: 1100px) {
  .mainstream-theme .ms-product-buybox { padding: 28px 32px; }
}
@media (min-width: 768px) and (max-width: 1050px) {
  .mainstream-theme .ms-product-shell { padding: 0 28px; }
  .mainstream-theme .ms-product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
  .mainstream-theme .ms-product-buybox { padding: 24px; }
  .mainstream-theme .ms-product-gallery .product-thumbs-container { width: 44px; }
  .mainstream-theme .ms-gallery-caption { margin-left: 58px; }
  .mainstream-theme .ms-product-gallery > .row { gap: 10px; }
}
@media (max-width: 767px) {
  .mainstream-theme .ms-product-page { padding-bottom: 42px; }
  .mainstream-theme .ms-product-shell { padding: 0 16px; }
  .mainstream-theme .ms-product-path { padding: 16px 2px; }
  .mainstream-theme .ms-product-path .breadcrumbs { font-size: 10px; }
  .mainstream-theme .ms-product-path .separator { margin: 0 5px; }
  .mainstream-theme .ms-product-layout { display: block; }
  .mainstream-theme .ms-product-gallery { position: static; }
  .mainstream-theme .ms-product-gallery .product-detail-slider { border-radius: 22px; }
  .mainstream-theme .ms-product-gallery .js-swiper-product-pagination { font-size: 10px; color: var(--ms-muted); }
  .mainstream-theme .ms-product-gallery .row.no-gutters { margin: 8px 10px 0 !important; }
  .mainstream-theme .ms-gallery-caption { margin: 6px 4px 0; font-size: 9px; }
  .mainstream-theme .ms-product-buybox { margin-top: 22px; padding: 26px 22px 20px; border-radius: 24px; }
  .mainstream-theme .ms-product-heading { margin-bottom: 22px; }
  .mainstream-theme .ms-product-identity { margin-bottom: 12px; gap: 8px; }
  .mainstream-theme .ms-product-page .ms-product-title { font-size: clamp(34px, 9vw, 46px); }
  .mainstream-theme .ms-product-page .ms-payment-value { font-size: 36px; }
  .mainstream-theme .ms-product-page .ms-format-choice.btn-variant { min-height: 66px; }
  .mainstream-theme .ms-product-story { display: block; margin-top: 44px; padding-top: 30px; }
  .mainstream-theme .ms-story-intro { margin-bottom: 26px; }
  .mainstream-theme .ms-story-intro h2 { margin-top: 12px; font-size: 32px; }
  .mainstream-theme .ms-story-intro h2 br { display: none; }
  .mainstream-theme .ms-story-intro h2 em::before { content: ' '; }
  .mainstream-theme .ms-story-content .user-content { font-size: 12px; }
  .mainstream-theme .ms-story-content .ms-story-notes { font-size: 15px; }
  .mainstream-theme #related-products { padding: 30px 0 40px; }
  .mainstream-theme #related-products .section-title { margin-left: 16px; font-size: 24px; }
}
@media (prefers-reduced-motion: no-preference) {
  .mainstream-theme .ms-product-buybox { animation: ms-product-arrive .55s ease-out both; }
  @keyframes ms-product-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}
