/*
  Silk House Collection — Zoho Commerce native-only visual layer
  Target: current Zoho "Fashion / Glamour Galleria" theme export
  Scope: CSS only. No custom JavaScript, API calls, cart code, auth code, or checkout code.

  Brand source: previous React storefront
    Burgundy: #800020
    Black:    #080808
    Ivory:    #FAF8F6
    Muted:    #6B6868

  Recommended Zoho-native fonts:
    Headings: Cormorant Garamond
    Body:     Manrope
*/

:root {
  --sh-burgundy: #800020;
  --sh-burgundy-dark: #600018;
  --sh-black: #080808;
  --sh-charcoal: #171717;
  --sh-ivory: #faf8f6;
  --sh-soft: #f5f2f2;
  --sh-border: #e9e3e4;
  --sh-muted: #6b6868;
  --sh-white: #ffffff;
  --sh-radius: 14px;
  --sh-radius-sm: 9px;
  --sh-shadow: 0 16px 40px rgba(32, 6, 13, 0.09);
}

/* ---------- Base ---------- */
html {
  scroll-behavior: smooth;
}

body,
button,
input,
select,
textarea,
.zptext,
.zpbutton,
.theme-product-name,
.theme-product-price,
.theme-menu-name {
  font-family: "Manrope", Arial, sans-serif !important;
}

body {
  color: var(--sh-black) !important;
  background: var(--sh-white) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.zpheading,
.theme-section-heading,
.zpfilmstrip-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: -0.025em;
}

a {
  transition: color .2s ease, background-color .2s ease, opacity .2s ease, border-color .2s ease, transform .2s ease;
}

::selection {
  background: var(--sh-burgundy);
  color: var(--sh-white);
}

/* Keep editable Zoho content within the wide React-like container. */
.zpcontainer,
.zpcontent-container:not(.hero-container) {
  /*max-width: 1400px !important;*/
  width: auto !important;
}

/* ---------- Header: preserve Zoho native search, portal, wishlist, cart ---------- */
.zpheader-style-02 {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}

.zpheader-style-02 .theme-header-topbar {
  min-height: 4px !important;
  padding: 0 !important;
  background: var(--sh-burgundy) !important;
}

/* React storefront did not expose email/phone in the primary navigation. */
.zpheader-style-02 > .theme-header:not(.theme-header-navigation-style) .theme-additional-info-container {
  display: none !important;
}

.zpheader-style-02 > .theme-header:not(.theme-header-navigation-style),
.zpheader-style-02 .theme-header-navigation-style {
  background: var(--sh-black) !important;
  color: var(--sh-white) !important;
}

.zpheader-style-02 > .theme-header:not(.theme-header-navigation-style) {
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.zpheader-style-02 > .theme-header:not(.theme-header-navigation-style) > .zpcontainer {
  min-height: 68px;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.theme-branding-info .theme-logo-parent img {
  max-height: 50px !important;
  max-width: 185px !important;
  object-fit: contain !important;
}

.theme-header-navigation-style > .zpcontainer {
  min-height: 44px;
}

.theme-header-navigation-style .theme-menu > ul {
  justify-content: center !important;
}

.theme-header-navigation-style .theme-menu > ul > li > a {
  color: rgba(255,255,255,.86) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}

.theme-header-navigation-style .theme-menu > ul > li > a:hover,
.theme-header-navigation-style .theme-menu > ul > li.theme-menu-selected > a {
  color: var(--sh-white) !important;
}

.theme-header-navigation-style .theme-menu > ul > li.theme-menu-selected > a::after {
  background: var(--sh-burgundy) !important;
}

/* Header icons: inline SVGs in this theme use fill="black". */
.zpheader-style-02 .theme-search-and-mini-cart-group svg path,
.zpheader-style-02 .theme-portal-login > svg path,
.zpheader-style-02 .theme-wishlist-icon svg path,
.zpheader-style-02 .theme-minicart-icon svg path {
  fill: var(--sh-white) !important;
}

.zpheader-style-02 .theme-search-go-icon,
.zpheader-style-02 .theme-portal-login,
.zpheader-style-02 .theme-search,
.zpheader-style-02 .theme-mini-cart {
  border-radius: 999px !important;
}

.zpheader-style-02 .theme-search-go-icon:hover,
.zpheader-style-02 .theme-portal-login:hover,
.zpheader-style-02 .theme-search:hover,
.zpheader-style-02 .theme-mini-cart:hover {
  background: rgba(255,255,255,.10) !important;
}

.zpheader-style-02 .theme-mini-cart-count {
  background: var(--sh-burgundy) !important;
  color: var(--sh-white) !important;
  border: 2px solid var(--sh-black) !important;
}

.zpheader-style-02 .fashion-theme-search-field-container input {
  color: var(--sh-white) !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.25) !important;
}

.zpheader-style-02 .fashion-theme-search-field-container input::placeholder {
  color: rgba(255,255,255,.55) !important;
}

/* Native account dropdown remains Zoho-controlled. */
.theme-portal-container-dropdown {
  border-radius: var(--sh-radius-sm) !important;
  overflow: hidden !important;
  box-shadow: var(--sh-shadow) !important;
}

/* ---------- Mobile header ---------- */
.theme-mobile-header-style-05,
.theme-mobile-header-style-05 .theme-mobile-header-top,
.theme-mobile-header-style-05 .theme-mobile-header-bottom,
.theme-mobile-header-style-05 .theme-mobile-header-slidewrapper,
.theme-mobile-header-style-05 .theme-mobile-header-slide-box {
  background: var(--sh-black) !important;
  color: var(--sh-white) !important;
}

.theme-mobile-header-style-05 svg path {
  fill: var(--sh-white) !important;
}

.theme-mobile-header-style-05 .theme-mini-cart-count {
  background: var(--sh-burgundy) !important;
}

/* ---------- Hero slider: native Zoho hero ---------- */
.theme-banner {
  background: var(--sh-black) !important;
}

.theme-banner .zphero-slide,
.theme-banner .zpslider-img,
.theme-banner .zphero-slider-container {
  min-height: clamp(560px, 76vh, 880px) !important;
}

.theme-banner .zpslider-img {
  background-position: center center !important;
  background-size: cover !important;
}

.theme-banner .zphero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,8,8,.62) 0%, rgba(8,8,8,.24) 47%, rgba(8,8,8,.04) 100%);
  pointer-events: none;
  z-index: 0;
}

.theme-banner .zphero-slide .zpcontainer {
  position: relative;
  z-index: 1;
}

.theme-banner .zpheading {
  color: var(--sh-white) !important;
  font-size: clamp(48px, 6vw, 86px) !important;
  font-weight: 600 !important;
  line-height: .98 !important;
  max-width: 690px;
}

.theme-banner .zptext,
.theme-banner .zptext p {
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  line-height: 1.7 !important;
  max-width: 610px;
}

.theme-banner .zpbutton,
.theme-banner .zcs_explore_btn .zpbutton {
  border-radius: 999px !important;
  background: var(--sh-white) !important;
  color: var(--sh-black) !important;
  border: 1px solid var(--sh-white) !important;
  min-height: 50px !important;
  padding: 0 30px !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
}

.theme-banner .zpbutton:hover,
.theme-banner .zcs_explore_btn .zpbutton:hover {
  background: var(--sh-black) !important;
  color: var(--sh-white) !important;
  border-color: var(--sh-white) !important;
}

.theme-banner .zsslider-arrow-left,
.theme-banner .zsslider-arrow-right {
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  backdrop-filter: blur(8px);
}

.theme-banner .zsslider-controller [class*="active"],
.theme-banner .zsslider-controller-active {
  background-color: var(--sh-white) !important;
}

/* ---------- General sections ---------- */
.page-container > .zpsection {
  border: 0 !important;
}

.page-container > .zpsection > .zpcontainer,
.page-container > .zpsection > .zpcontainer-fluid {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.page-container .zpheading {
  color: var(--sh-black) !important;
}

.page-container .zpelem-heading .zpheading {
  font-weight: 600 !important;
}

.page-container .zptext {
  color: var(--sh-muted) !important;
}

/* Native buttons */
.page-container .zpbutton,
.theme-footer-area .zpbutton {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  min-height: 46px;
}

.page-container .zpbutton-type-primary,
.theme-footer-area .zpbutton-type-primary {
  background: var(--sh-burgundy) !important;
  border-color: var(--sh-burgundy) !important;
  color: var(--sh-white) !important;
}

.page-container .zpbutton-type-primary:hover,
.theme-footer-area .zpbutton-type-primary:hover {
  background: var(--sh-burgundy-dark) !important;
  border-color: var(--sh-burgundy-dark) !important;
}

/* ---------- Category / image-link section ---------- */
.zscustom-section-183 {
  background: var(--sh-ivory) !important;
}

.zscustom-section-183 .zcs_mobile_heading .zpheading {
  text-align: center !important;
  font-size: clamp(36px, 4vw, 54px) !important;
  margin-bottom: 34px !important;
}

.zscustom-section-183 .zcs_custom_images {
  gap: 14px 0;
}

.zscustom-section-183 .zpelem-image figure {
  position: relative;
  overflow: hidden;
  border-radius: var(--sh-radius) !important;
  background: #eee9e9;
  transform: translateZ(0);
}

.zscustom-section-183 .zpelem-image figure img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  transition: transform .45s ease !important;
}

.zscustom-section-183 .zpelem-image figure:hover img {
  transform: scale(1.045);
}

.zscustom-section-183 .zpelem-image figure::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 44%;
  background: linear-gradient(transparent, rgba(0,0,0,.66));
  pointer-events: none;
}

.zscustom-section-183 .zpimage-caption {
  z-index: 2 !important;
  background: transparent !important;
  padding: 18px !important;
}

.zscustom-section-183 .zpimage-caption-content {
  color: var(--sh-white) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.3);
}

/* ---------- Native Store Collection / product cards ---------- */
.zpelem-storecollection {
  --product-gap: 26px;
}

.zpelem-storecollection .zpfilmstrip-title-container,
.zpelem-storecollection .theme-section-heading {
  margin-bottom: 34px !important;
}

.zpelem-storecollection .zpfilmstrip-title,
.zpelem-storecollection .theme-section-heading {
  font-size: clamp(36px, 4vw, 52px) !important;
  font-weight: 600 !important;
  color: var(--sh-black) !important;
}

.zpelem-storecollection .theme-collection-viewall,
.zpelem-storecollection .theme-viewall-text {
  color: var(--sh-burgundy) !important;
  font-weight: 700 !important;
}

.theme-prod-box {
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--sh-radius) !important;
  overflow: visible !important;
  transition: transform .25s ease !important;
}

.theme-prod-box:hover {
  transform: translateY(-4px);
}

.theme-product-box-content {
  background: var(--sh-white) !important;
  border: 1px solid var(--sh-border) !important;
  border-radius: var(--sh-radius) !important;
  overflow: hidden !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.015);
  transition: box-shadow .25s ease, border-color .25s ease !important;
}

.theme-prod-box:hover .theme-product-box-content {
  border-color: rgba(128,0,32,.18) !important;
  box-shadow: var(--sh-shadow) !important;
}

.theme-product-image-area {
  aspect-ratio: 3 / 4 !important;
  background: var(--sh-soft) !important;
  overflow: hidden !important;
  position: relative;
}

.theme-product-image-area picture,
.theme-product-image-area a,
.theme-product-image-area img {
  width: 100% !important;
  height: 100% !important;
}

.theme-product-image-area img {
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .45s ease !important;
}

.theme-prod-box:hover .theme-product-image-area img {
  transform: scale(1.035);
}

.theme-product-details-area {
  padding: 16px 16px 18px !important;
}

.theme-product-name a {
  color: var(--sh-black) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

.theme-product-name a:hover {
  color: var(--sh-burgundy) !important;
}

.theme-product-price {
  margin-top: 9px !important;
}

.theme-product-total-price-label {
  color: var(--sh-burgundy) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.theme-product-total-old-price {
  color: #959090 !important;
  font-size: 13px !important;
}

.theme-additional-variants {
  color: var(--sh-muted) !important;
  font-size: 12px !important;
  margin-top: 7px !important;
}

.theme-product-sale-ribbon,
.theme-sale-message {
  background: var(--sh-burgundy) !important;
  color: var(--sh-white) !important;
}

.theme-product-size-varient select {
  border: 1px solid var(--sh-border) !important;
  border-radius: var(--sh-radius-sm) !important;
  min-height: 40px !important;
  color: var(--sh-black) !important;
  background: var(--sh-white) !important;
}

.theme-quick-view-icon {
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--sh-black) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.10) !important;
}

.theme-quick-view-icon:hover {
  background: var(--sh-burgundy) !important;
  color: var(--sh-white) !important;
}

.zpcarousel-arrow-left,
.zpcarousel-arrow-right {
  border-radius: 999px !important;
  background: var(--sh-white) !important;
  border: 1px solid var(--sh-border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}

/* ---------- Promo boxes: native Zoho boxes/buttons, no popup/wheel ---------- */
.page-container > .zpsection:nth-of-type(4) {
  background: var(--sh-white) !important;
}

.page-container > .zpsection:nth-of-type(4) .zpbox {
  border-radius: 18px !important;
  overflow: hidden !important;
}

.page-container > .zpsection:nth-of-type(4) .zpheading {
  font-family: "Manrope", Arial, sans-serif !important;
  letter-spacing: .02em;
}

/* ---------- Editorial / occasion image section ---------- */
.zcs_occasions_mobile .zpelem-image figure {
  overflow: hidden;
  border-radius: var(--sh-radius) !important;
}

.zcs_occasions_mobile .zpelem-image img {
  transition: transform .45s ease !important;
}

.zcs_occasions_mobile .zpelem-image figure:hover img {
  transform: scale(1.035);
}

/* ---------- Service benefits strip ---------- */
.zcs_mobile_responsive {
  background: var(--sh-ivory) !important;
  border-top: 1px solid var(--sh-border) !important;
  border-bottom: 1px solid var(--sh-border) !important;
}

.zcs_mobile_responsive .zpbox {
  background: transparent !important;
  border: 0 !important;
}

.zcs_mobile_responsive .zptext,
.zcs_mobile_responsive .zptext p {
  color: var(--sh-black) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

/* ---------- Product/detail pages ---------- */
.theme-product-page-breadcrumb,
.theme-product-page-breadcrumb a {
  color: var(--sh-muted) !important;
  font-size: 12px !important;
}

.theme-product-detail-container .theme-product-name,
.theme-product-detail-container h1,
[data-zs-product-details] .theme-product-name {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: var(--sh-burgundy) !important;
  font-weight: 600 !important;
}

.theme-product-detail-container .theme-product-price,
[data-zs-product-details] .theme-product-total-price-label {
  color: var(--sh-burgundy) !important;
}

.theme-product-detail-container img {
  border-radius: var(--sh-radius) !important;
}

/* Native add-to-cart / buy controls. */
[data-zs-add-to-cart],
[data-zs-buy-now],
.theme-cart-button,
.theme-product-detail-container .zpbutton-type-primary {
  border-radius: 999px !important;
  background: var(--sh-burgundy) !important;
  border-color: var(--sh-burgundy) !important;
  color: var(--sh-white) !important;
  font-weight: 800 !important;
}

/* ---------- Native forms ---------- */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border-radius: var(--sh-radius-sm) !important;
}

/* ---------- Cart / checkout: visual only; Zoho owns all behavior ---------- */
.theme-cart-area,
.theme-cart-container,
.theme-checkout-container {
  font-family: "Manrope", Arial, sans-serif !important;
}

.theme-cart-area .zpbutton-type-primary,
.theme-cart-container .zpbutton-type-primary,
.theme-checkout-container .zpbutton-type-primary {
  background: var(--sh-burgundy) !important;
  border-color: var(--sh-burgundy) !important;
  border-radius: 999px !important;
}

/* ---------- Footer ---------- */
.theme-footer-area,
.theme-footer-area.zpdark-section,
.theme-footer-area .zpdark-section,
.theme-footer-area .zpdefault-section {
  background: var(--sh-black) !important;
}

.theme-footer-area {
  border-top: 4px solid var(--sh-burgundy) !important;
}

.theme-footer-area .zpheading,
.theme-footer-area .zptext,
.theme-footer-area .zptext p,
.theme-footer-area a {
  color: rgba(255,255,255,.80) !important;
}

.theme-footer-area .zpheading {
  color: var(--sh-white) !important;
}

.theme-footer-area a:hover {
  color: var(--sh-white) !important;
}

.theme-footer-area input {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: var(--sh-white) !important;
}

.theme-footer-area input::placeholder {
  color: rgba(255,255,255,.48) !important;
}

/* ---------- Accessibility ---------- */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(128,0,32,.35) !important;
  outline-offset: 3px !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  .theme-banner .zphero-slide,
  .theme-banner .zpslider-img,
  .theme-banner .zphero-slider-container {
    min-height: 680px !important;
  }

  .theme-banner .zphero-slide::after {
    background: linear-gradient(0deg, rgba(8,8,8,.68) 0%, rgba(8,8,8,.18) 70%);
  }

  .page-container > .zpsection > .zpcontainer,
  .page-container > .zpsection > .zpcontainer-fluid {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .theme-product-details-area {
    padding: 13px 12px 15px !important;
  }
}

@media (max-width: 767px) {
  .theme-banner .zphero-slide,
  .theme-banner .zpslider-img,
  .theme-banner .zphero-slider-container {
    min-height: 620px !important;
  }

  .theme-banner .zpheading {
    font-size: clamp(42px, 13vw, 62px) !important;
  }

  .theme-banner .zptext,
  .theme-banner .zptext p {
    font-size: 15px !important;
  }

  .page-container > .zpsection > .zpcontainer,
  .page-container > .zpsection > .zpcontainer-fluid {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .zscustom-section-183 .zpelem-image figure img {
    aspect-ratio: 4 / 5;
  }

  .theme-product-name a {
    font-size: 14px !important;
  }

  .theme-product-total-price-label {
    font-size: 15px !important;
  }
}

/* Reduce movement for users who request it. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
