:root { --gr-ink: #24182a; --gr-gold-accessible: #8a6724; --gr-ivory: #fffaf8; }

/* Retired embedded cards must stay hidden until the manager supplies the live catalog. */
.product-card:not([data-managed-product-id]) { display: none !important; }

.skip-link { position: fixed; z-index: 10000; top: 8px; left: 8px; padding: 11px 15px; border-radius: 999px; color: #fff; background: var(--gr-ink); transform: translateY(-160%); transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #a87925 !important; outline-offset: 3px !important; }
.eyebrow, .cat, .product-type, .brand-sub, .brand small { color: var(--gr-gold-accessible) !important; }
.mobile-menu-toggle { display: none; }

/* Keep every storefront product image frame portrait and show the complete item. */
.product-card > figure,
.product-card > img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  background: #f7f2fa !important;
}
.product-card > figure { margin: 0 !important; overflow: hidden; }
.product-card > figure img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  box-sizing: border-box;
  padding: clamp(8px, 1vw, 14px);
  object-fit: contain !important;
}
.product-card > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  box-sizing: border-box;
  padding: clamp(8px, 1vw, 14px);
  object-fit: contain !important;
}

.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: clamp(18px, 3vw, 30px); }
.hero-actions a { min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.82); border-radius: 999px; color: #fff; background: rgba(36,24,42,.28); backdrop-filter: blur(12px); font: 700 14px/1.15 Arial,sans-serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; box-shadow: 0 12px 28px rgba(36,24,42,.13); }
.hero-actions a:first-child { border-color: #cfa957; color: #24182a; background: #fffaf0; }

.about-main { background: #fffaf8; padding: clamp(64px, 8vw, 112px) 24px; }
.about-copy { max-width: 62rem; margin-inline: auto; }
.about-copy h1 { margin: 0 0 32px; color: #302435; font: 500 clamp(32px, 4vw, 48px)/1.2 Georgia,serif; }
.about-prose { display: block !important; max-width: none; margin: 0; color: #66586d; font: 400 19px/2 Arial,sans-serif; letter-spacing: normal; white-space: pre-line; }
[data-events-nav="true"][hidden] { display: none !important; }
html:not(.gr-site-content-ready) [data-events-nav="true"] { visibility: hidden !important; }
.customer-care-main { max-width: 920px; margin-inline: auto; padding: clamp(44px, 7vw, 88px) 24px 80px; color: #302435; }
.customer-care-main h1 { margin: 0 0 20px; font: 500 clamp(32px, 4vw, 48px)/1.2 Georgia,serif; }
.customer-care-main p { font-size: 17px; line-height: 1.85; color: #66586d; }
.care-index { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 30px 0 44px; }
.care-index a, .care-contact, .care-source a { color: #785783; text-underline-offset: 4px; line-height: 1.6; padding-block: 9px; }
.care-section { padding-block: 24px; border-top: 1px solid #e2d8e5; scroll-margin-top: 150px; }
.care-section h2 { margin: 0 0 16px; font-size: 25px; font-weight: 500; line-height: 1.4; }
.care-section p { margin: 0 0 16px; }
.care-source { font-size: 14px !important; }
html[lang="fa"] .customer-care-main h1 { font-family: inherit; }
html[lang="fa"] .about-copy h1 { font-family: inherit; letter-spacing: 0; }
@media(max-width:1100px) { .about-line-break { display: none; } .about-prose { font-size: 18px; line-height: 1.95; } }
.about-main .page-hero { min-height: 58vh; display: grid; align-content: center; padding: clamp(80px, 11vw, 160px) clamp(24px, 8vw, 128px); }
.about-main .page-hero > p:not(.eyebrow) { display: block !important; max-width: 760px; color: #65576a; font-size: clamp(17px, 2vw, 23px); line-height: 1.7; }
.about-story { padding: 0 clamp(20px, 7vw, 110px) clamp(80px, 10vw, 150px); }
.about-story-intro { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(30px, 7vw, 100px); padding: clamp(40px, 7vw, 95px); border: 1px solid rgba(92,69,101,.13); border-radius: 34px; background: rgba(255,255,255,.72); box-shadow: 0 30px 80px rgba(74,52,83,.09); }
.about-story-intro h2 { margin: 0; color: var(--gr-ink); font: 500 clamp(38px, 5.6vw, 76px)/1 Georgia,serif; letter-spacing: -.04em; }
.about-story-intro p { margin: 0; color: #695d6d; font-size: 18px; line-height: 1.8; }
.about-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.about-values article { min-height: 210px; padding: clamp(26px,4vw,42px); border: 1px solid rgba(92,69,101,.13); border-radius: 26px; background: linear-gradient(145deg,#fff,#f7eff8); }
.about-values span { color: var(--gr-gold-accessible); font: 700 10px/1 Arial,sans-serif; letter-spacing: .18em; }
.about-values h3 { margin: 18px 0 10px; color: var(--gr-ink); font: 500 28px/1.15 Georgia,serif; }
.about-values p { margin: 0; color: #726576; line-height: 1.65; }

.product-share-button { min-height: 46px; padding: 0 20px; border: 1px solid rgba(92,69,101,.18); border-radius: 999px; color: var(--gr-ink); background: #fff; cursor: pointer; font-weight: 700; }
.details-list li::before { content: "✦" !important; color: #a87925 !important; }
.product-main-image {
  background-color: #d7c5d7 !important;
  background-image:
    radial-gradient(circle at 18% 14%, rgba(215,190,220,.62), transparent 36%),
    radial-gradient(circle at 82% 86%, rgba(105,76,116,.2), transparent 42%),
    linear-gradient(135deg,#e9dfe9,#ceb8d1 55%,#dfcfdb) !important;
}
.product-main-image[role="button"] { cursor: zoom-in; }
.zoom-modal[role="dialog"], .zoom-view[role="dialog"] { isolation: isolate; }
.zoom-stage img, .zoom-view img { cursor: grab; touch-action: none; user-select: none; -webkit-user-drag: none; }
.zoom-stage img.is-dragging, .zoom-view img.is-dragging { cursor: grabbing; }

.footer-location-link, .footer-meta a { color: inherit; }
.footer-meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.72); font-size: 12px; }
.footer-meta-links { display: flex; gap: 18px; flex-wrap: wrap; }
.socials > span { display: none !important; }
.site-footer.compact-footer { display: grid; grid-template-columns: 1fr auto; gap: 28px; padding: clamp(46px,7vw,88px) clamp(24px,7vw,110px); background: #24182a; color: #fff; }
.compact-footer h2 { margin: 8px 0 12px; font: 500 clamp(32px,4vw,52px)/1 Georgia,serif; }
.compact-footer p { line-height: 1.65; }
.compact-footer .footer-actions { align-self: center; }

@media (max-width: 900px) {
  .about-story-intro { grid-template-columns: 1fr; }
  .site-footer, .contact-footer { grid-template-columns: 1fr !important; }
}

@media (max-width: 860px), (max-height: 500px) and (max-width: 1100px) {
  html { scroll-padding-top: 68px; }
  .site-header { position: sticky !important; top: 0; z-index: 500 !important; width: 100%; height: 68px !important; min-height: 68px !important; display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: center !important; gap: 8px !important; padding: 8px 10px !important; background: rgba(255,252,250,.96) !important; backdrop-filter: blur(18px); }
  .site-header .brand { min-width: 0; max-width: none !important; gap: 7px !important; }
  .site-header .brand-logo { flex: 0 0 38px !important; width: 38px !important; height: 38px !important; }
  .site-header .brand > span:last-child { min-width: 0; max-width: calc(100vw - 185px) !important; }
  .site-header .brand-title, .site-header .brand strong { max-width: 100% !important; font-size: 13px !important; letter-spacing: .12em !important; }
  .site-header .brand-sub, .site-header .brand small, .site-header .brand em { max-width: 100% !important; font-size: 7px !important; letter-spacing: .19em !important; }
  .site-header .header-tools { position: static !important; z-index: 530; grid-column: 2 !important; grid-row: 1 !important; display: flex; align-items: center; gap: 5px !important; }
  .site-header .header-search-toggle { width: 34px !important; height: 34px !important; }
  .mobile-menu-toggle { position: relative; width: 34px; height: 34px; display: block; padding: 0; border: 1px solid rgba(86,57,95,.18); border-radius: 50%; color: var(--gr-ink); background: rgba(255,255,255,.9); cursor: pointer; }
  .mobile-menu-toggle span, .mobile-menu-toggle::before, .mobile-menu-toggle::after { content: ""; position: absolute; left: 50%; top: 50%; display: block; width: 16px; height: 1.5px; margin: 0; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%); transition: transform .18s ease, opacity .18s ease; }
  .mobile-menu-toggle::before { transform: translate(-50%, calc(-50% - 4.5px)); }
  .mobile-menu-toggle::after { transform: translate(-50%, calc(-50% + 4.5px)); }
  .site-header.is-mobile-menu-open .mobile-menu-toggle span { opacity: 0; }
  .site-header.is-mobile-menu-open .mobile-menu-toggle::before { transform: translate(-50%, -50%) rotate(45deg); }
  .site-header.is-mobile-menu-open .mobile-menu-toggle::after { transform: translate(-50%, -50%) rotate(-45deg); }
  .site-header .lang-switch, .site-header .lang { position: relative; width: 34px !important; height: 34px; display: grid !important; place-items: center; overflow: visible; padding: 0 !important; border: 1px solid rgba(86,57,95,.16) !important; border-radius: 50% !important; background: #fff; }
  .site-header .lang-switch button, .site-header .lang button { display: none !important; width: 32px !important; height: 32px !important; padding: 0 !important; border-radius: 50% !important; }
  .site-header .lang-switch button.active, .site-header .lang button.active { display: grid !important; place-items: center; }
  .site-header .lang-switch.is-language-open, .site-header .lang.is-language-open { position: absolute !important; top: 46px; inset-inline-end: 38px; width: auto !important; height: 42px; display: flex !important; gap: 3px; padding: 4px !important; border-radius: 999px !important; box-shadow: 0 16px 38px rgba(45,30,51,.18); }
  .site-header .lang-switch.is-language-open button, .site-header .lang.is-language-open button { display: grid !important; place-items: center; width: 32px !important; height: 32px !important; }
  .site-header .nav, .site-header .main-nav { position: absolute !important; z-index: 510; top: calc(100% + 6px) !important; left: 8px !important; right: 8px !important; margin: 0 !important; width: auto !important; height: auto !important; max-height: calc(100dvh - 86px); display: grid !important; grid-template-columns: 1fr !important; grid-auto-rows: auto !important; align-content: start; justify-items: stretch !important; gap: 4px !important; padding: 12px !important; overflow-y: auto !important; overscroll-behavior: contain; border: 1px solid rgba(86,57,95,.14); border-radius: 18px; background: #fffdfa; box-shadow: 0 24px 65px rgba(45,30,51,.22); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px) !important; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
  .site-header.is-mobile-menu-open .nav, .site-header.is-mobile-menu-open .main-nav { opacity: 1; visibility: visible; pointer-events: auto; transform: none !important; }
  .site-header .nav > *, .site-header .main-nav > *, .site-header .nav > :nth-child(n), .site-header .main-nav > :nth-child(n) { grid-column: 1 / -1 !important; grid-row: auto !important; }
  .site-header .nav > a, .site-header .main-nav > a, .site-header .collections-trigger { width: 100%; min-height: 44px; display: flex !important; align-items: center; justify-content: flex-start !important; padding: 0 13px !important; border-radius: 10px; font-size: 12px !important; }
  .site-header .collections-menu { display: block !important; width: 100%; height: auto !important; min-height: 44px !important; overflow: visible !important; }
  .site-header .collections-dropdown { position: static !important; width: 100% !important; max-height: 0; padding: 0 8px !important; overflow: hidden; border: 0 !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; pointer-events: none !important; transform: none !important; transition: max-height .22s ease, padding .22s ease !important; }
  .site-header .collections-menu.is-open .collections-dropdown { max-height: 310px; padding: 4px 8px 8px !important; pointer-events: auto !important; transform: none !important; }
  .site-header .collections-menu .collections-dropdown { visibility: hidden !important; }
  .site-header.is-mobile-menu-open .collections-menu.is-open .collections-dropdown { visibility: visible !important; }
  .site-header .collections-dropdown a { min-height: 44px !important; }
  .site-header .header-search-panel { position: fixed !important; top: 72px !important; left: 12px !important; right: 12px !important; width: auto !important; max-height: calc(100dvh - 88px); overflow-y: auto; z-index: 540 !important; }
  html[dir="rtl"] .site-header .nav { text-align: right; }
  html[dir="rtl"] .site-header .nav a { letter-spacing: 0 !important; font-size: 14px !important; }
}

@media (max-width: 700px) {
  .home-hero { min-height: calc(100svh - 68px) !important; }
  .hero-copy { left: 20px !important; right: 20px !important; top: 18% !important; width: auto !important; }
  [dir="rtl"] .hero-copy { text-align: right; }
  .hero-copy h1 { max-width: 620px; font-size: clamp(38px,11vw,58px) !important; }
  .hero-actions { gap: 8px; }
  .hero-actions a { min-height: 48px; padding: 0 14px; font-size: 14px; }
  .home-hero .hero-arrow { top: 72% !important; }
  .scroll-star { width: 42px !important; height: 42px !important; }

  .product-grid, .products-grid, .catalog-grid, .related-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .product-card { min-width: 0; border-radius: 16px !important; }
  .product-card figure, .product-card > img { aspect-ratio: 3 / 4 !important; height: auto !important; }
  .product-card img { width: 100%; object-fit: contain !important; }
  .product-card-body { min-height: 116px !important; padding: 14px 12px !important; }
  .product-card-body h3 { margin: 9px 0 14px !important; font-size: clamp(16px,4.6vw,20px) !important; line-height: 1.3 !important; }
  .product-card-body .cat, .product-card-body .product-type { font-size: 8px !important; }
  .product-card-body .price, .product-card-body b { font-size: 16px !important; }

  .product-detail-page { display: flex !important; flex-direction: column !important; padding: 0 14px 36px !important; }
  .product-media { order: 2; width: 100% !important; min-height: 0 !important; height: auto !important; margin-top: 24px; border-radius: 24px !important; }
  .product-main-image { width: 100% !important; height: min(46svh,460px) !important; object-fit: contain !important; }
  .product-info { order: 1; display: flex !important; flex-direction: column !important; padding: 30px 6px 0 !important; }
  .product-info > .eyebrow:first-child { order: 1; }
  .product-info > h1 { order: 2; margin: 12px 0 20px !important; font-size: clamp(24px,7vw,32px) !important; line-height: 1.3 !important; white-space: normal !important; overflow-wrap: anywhere; }
  .product-info > .summary { order: 3; font-size: 16px !important; line-height: 1.65 !important; }
  .product-info > .price-row { order: 4; margin: 18px 0 14px !important; }
  .product-info > .action-row { order: 5; display: grid !important; grid-template-columns: 1fr !important; margin: 0 0 20px !important; }
  .product-info > .spec-grid { order: 6; grid-template-columns: 1fr 1fr !important; }
  .product-info > [data-details-title] { order: 7; }
  .product-info > .details-list { order: 8; }
  .product-info > .managed-stock-state { order: 5; }
  .action-row .btn, .action-row .product-share-button { width: 100%; min-height: 48px; }
  .related-section { padding: 36px 14px 48px !important; }
  .related-section .section-title { margin: 0 0 24px !important; font-size: clamp(26px,7vw,34px) !important; line-height: 1.4 !important; }
  html[dir="rtl"] .product-card-body h3 { line-height: 1.65 !important; letter-spacing: 0 !important; }
  html[dir="rtl"] .product-card-body .cat { letter-spacing: 0 !important; font-size: 10px !important; }
  .section-head { margin-bottom: 24px !important; }
  .zoom-hint { font-size: 10px !important; }

  .about-main .page-hero { min-height: 50vh; padding: 72px 22px 44px; }
  .about-story { padding-inline: 12px; }
  .about-story-intro { padding: 30px 24px; border-radius: 24px; }
  .about-values { grid-template-columns: 1fr; }
  .site-footer.compact-footer { grid-template-columns: 1fr; }
  .footer-meta { align-items: flex-start; flex-direction: column; }
}

@media (max-height: 500px) and (max-width: 1100px) {
  .site-header { height: 56px !important; min-height: 56px !important; padding-block: 6px !important; }
  .site-header .brand-sub, .site-header .brand small { display: none !important; }
  .site-header .brand-logo { width: 34px !important; height: 34px !important; flex-basis: 34px !important; }
  .site-header .nav, .site-header .main-nav { max-height: calc(100dvh - 74px); }
  .site-header .header-search-panel { top: 60px !important; max-height: calc(100dvh - 74px); }
  .home-hero { min-height: 460px !important; }
  .product-grid, .products-grid, .catalog-grid, .related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .product-card figure, .product-card > img {
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    background: #f7f2fa !important;
  }
  .product-card img { object-fit: contain !important; }
  .product-card-body { min-height: 88px !important; padding: 9px 10px !important; }
  .product-card-body h2, .product-card-body h3 {
    margin: 6px 0 8px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
  .product-card-body .price, .product-card-body b { font-size: 14px !important; }
}

@media (max-width: 360px) {
  .site-header .brand-sub, .site-header .brand small, .site-header .brand em { display: none !important; }
  .site-header .brand > span:last-child { max-width: calc(100vw - 166px) !important; }
  .site-header .brand-title, .site-header .brand strong { font-size: 11px !important; }
  .product-card-body { min-height: 106px !important; padding: 11px 9px !important; }
  .product-card-body h3 { font-size: 15px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
