/* Public pages share the landing palette and the existing commerce components. */
:root { --rd-header-height: 160px; --rd-sticky-offset: calc(var(--rd-header-height) + 20px); }
html { scroll-padding-top: var(--rd-sticky-offset); }
.rd-inner-page { background: #f5f7fc; }
.rd-inner-page :where(h1,h2,h3) { text-wrap: balance; }
.rd-inner-page :where(input,select,textarea) { font: inherit; }
.rd-inner-page #main-content > .rd-section { padding-block: clamp(1.75rem,3.5vw,3.25rem); }
.rd-inner-page .rd-page-heading, .rd-inner-page .rd-catalog-heading { position: relative; overflow: hidden; padding: clamp(1.4rem,3vw,2.25rem); background: linear-gradient(115deg,#fff,#edf3ff); border: 1px solid #dce6f6; border-radius: 24px; box-shadow: 0 6px 24px rgb(20 47 91 / 3%); margin-bottom: 1.75rem; }
.rd-inner-page .rd-page-heading::before, .rd-inner-page .rd-catalog-heading::before { content: ''; position: absolute; pointer-events: none; width: 220px; height: 220px; border: 34px solid rgb(37 99 235 / 3%); border-radius: 50%; top: -135px; inset-inline-end: -65px; }
.rd-inner-page .rd-page-heading-copy { position: relative; min-width: 0; }
.rd-inner-page .rd-page-heading h1, .rd-inner-page .rd-catalog-heading h1 { font-size: clamp(1.35rem,2.5vw,2rem); font-weight: 800; color: var(--rd-primary); line-height: 1.8; }
.rd-inner-page .rd-eyebrow { font-size: .6875rem; letter-spacing: 0; }
.rd-inner-page .rd-eyebrow > span { box-sizing: content-box; padding: .45rem; border-radius: 10px; background: #e3edff; }
.rd-inner-page .rd-page-heading p { max-width: 39rem; font-size: .8125rem; line-height: 2; }
.rd-inner-page .rd-panel, .rd-inner-page .rd-card { border-radius: 20px; border-color: #dfe6f1; box-shadow: 0 5px 20px rgb(17 43 82 / 3%); }
.rd-inner-page .rd-panel-heading h2 { font-size: .9375rem; font-weight: 700; color: var(--rd-primary); }
.rd-inner-page .rd-input { min-height: 48px; border-radius: 12px; background: #fbfcff; }
.rd-inner-page textarea.rd-input { min-height: 150px; }
.rd-inner-page .rd-label { font-weight: 600; }
.rd-inner-page .rd-fields { gap: 1.25rem 1.5rem; }
.rd-inner-page .rd-info-strip { border: 1px solid #dce7fa; padding: 1rem 1.15rem; border-radius: 14px; }
.rd-inner-page .rd-summary { top: var(--rd-sticky-offset); border-top: 3px solid var(--rd-accent); padding: 1.5rem; }
.rd-inner-page .rd-summary-total { border-radius: 12px; padding: 1rem; background: #edf3ff; border: 1px solid #dce7f9; }
.rd-inner-page .rd-summary-total dd { font-size: 1rem; }
.rd-inner-page .rd-summary .rd-btn-primary { min-height: 50px; }
.rd-inner-page .rd-cart-item { padding: 1.4rem; }
.rd-inner-page .rd-cart-image { background: #edf2fa; border: 1px solid #e1e8f2; border-radius: 16px; }
.rd-inner-page .rd-checkout-title { padding-bottom: 1rem; border-bottom: 1px solid #e7edf5; }
.rd-inner-page .rd-checkout-title h2 { font-weight: 700; color: var(--rd-primary); }
.rd-inner-page .rd-choice { border-radius: 15px; background: #fafcff; }
.rd-inner-page .rd-choice:has(input:checked) { background: #edf4ff; border-color: var(--rd-accent); }
.rd-inner-page .rd-purchase-steps { background: #fff; border: 1px solid #e0e7f2; border-radius: 18px; padding: 1rem; margin-bottom: 1.5rem; }
.rd-product-card { border-radius: 20px; border-color: #dfe6f1; box-shadow: 0 4px 18px rgb(17 43 82 / 3%); }
.rd-product-media { background: radial-gradient(ellipse at 50% 30%,#fff,#edf2fa); border-bottom: 1px solid #edf1f6; }
.rd-product-media > img { transition: transform .45s ease; }
.rd-product-card:hover .rd-product-media > img { transform: scale(1.045); }
.rd-product-card .rd-btn-icon { width: 44px; height: 44px; flex-shrink: 0; background: #f4f7fc; border: 1px solid #e8edf6; border-radius: 12px; }
.rd-product-card h3 { font-size: .875rem; line-height: 1.85; min-height: 3.2rem; }
.rd-card-image-fallback { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; width: 100%; height: 100%; color: #8b9db8; background: radial-gradient(ellipse at 50% 35%,#fbfdff,#eaf0fa); }
.rd-card-image-fallback small { color: var(--rd-muted-strong); font-size: .625rem; }
.rd-catalog-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.rd-catalog-shortcuts a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem 1rem; font-size: .75rem; color: var(--rd-primary); background: #fff; border: 1px solid #dae4f3; border-radius: 12px; }
.rd-catalog-shortcuts a[aria-current=page] { background: var(--rd-primary); color: #fff; border-color: var(--rd-primary); }
.rd-catalog-sidebar { position: sticky; top: var(--rd-sticky-offset); max-height: calc(100dvh - var(--rd-header-height) - 40px); display: flex; flex-direction: column; }
.rd-catalog-sidebar > form { min-height: 0; overflow-y: auto; padding-bottom: .5rem; scrollbar-width: thin; }
.rd-catalog-sidebar section { background: #fbfcff; }
.rd-catalog-filter-bar { bottom: var(--rd-mobile-nav-height); box-shadow: 0 -6px 22px rgb(15 39 72 / 5%); }
.rd-catalog-page .rd-filter-sheet-panel { max-height: 88dvh; border-radius: 24px 24px 0 0; }
.rd-inner-page .rd-empty, .rd-inner-page .cmp-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 320px; padding: clamp(2rem,5vw,4rem) 1.5rem; border: 1px dashed #c8d8ef; background: linear-gradient(145deg,#fff,#f6f9ff); border-radius: 24px; }
.rd-inner-page .rd-empty-title { color: var(--rd-primary); font-size: 1.1rem; font-weight: 700; margin-top: 1.25rem; }
.rd-inner-page .rd-empty-text { max-width: 30rem; margin-top: .75rem; color: var(--rd-muted-strong); font-size: .8125rem; }
.rd-search-panel { padding: 1.25rem; border-radius: 18px; background: #fff; border: 1px solid #dce5f3; margin-bottom: 1.5rem; }
.rd-search-panel > div { display: flex; gap: .5rem; }
.rd-search-panel input { flex: 1; min-width: 0; }
.rd-search-panel .rd-btn-primary { flex-shrink: 0; }
.rd-category-tile { transition: transform .3s,border-color .3s,box-shadow .3s; }
.rd-category-tile:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgb(17 43 82 / 8%); }
.rd-inner-page .rd-category-tile > div:first-child { background: linear-gradient(145deg,#f6f9ff,#e9f0fb); }
.rd-inner-page .rd-account-aside { top: var(--rd-sticky-offset); border-radius: 22px; box-shadow: 0 5px 20px rgb(17 43 82 / 3%); }
.rd-inner-page .rd-account-identity { background: linear-gradient(140deg,#0b2748,#174d9d); padding-block: 1.75rem; }
.rd-inner-page .rd-account-welcome { background: linear-gradient(115deg,#fff,#edf3ff); border-radius: 22px; border: 1px solid #dce6f6; padding: 1.75rem; }
.rd-inner-page .rd-account-welcome h1 { color: var(--rd-primary); font-size: clamp(1.25rem,2vw,1.75rem); line-height: 1.8; }
.rd-inner-page .rd-account-stat { border-radius: 18px; box-shadow: 0 4px 18px rgb(17 43 82 / 3%); transition: border-color .2s,transform .2s; }
.rd-inner-page .rd-account-stat:hover { border-color: #9dbdec; transform: translateY(-3px); }
.rd-inner-page .rd-account-stat strong { color: var(--rd-primary); }
.rd-inner-page .rd-order-card { padding: 1.25rem; border-radius: 18px; }
.rd-inner-page .rd-order-filters { background: #fff; border: 1px solid #dce5f2; padding: .5rem; border-radius: 16px; gap: .4rem; }
.rd-inner-page .rd-order-filters button { border-color: transparent; }
.rd-inner-page .rd-content-page .rd-panel { padding: clamp(1.5rem,3vw,2.5rem); }
.rd-inner-page .rd-content-page :where(p,li), .rd-article-content { color: #52627a; font-size: .9375rem; line-height: 2.3; }
.rd-help-strip { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1.5rem; border: 1px solid #dce7f7; border-radius: 20px; background: #edf3ff; margin-top: 1.5rem; }
.rd-help-strip h2 { font-size: 1rem; font-weight: 700; line-height: 1.9; color: var(--rd-primary); }
.rd-help-strip p { margin-top: .4rem; font-size: .75rem; color: var(--rd-muted-strong); line-height: 2; }
.rd-help-strip .rd-btn-secondary { flex-shrink: 0; background: #fff; font-size: .75rem; }
.rd-contact-info { background: linear-gradient(145deg,#0b2748,#123f83); border: 0; color: #fff; }
.rd-contact-info :is(h2,a) { color: #fff; }
.rd-contact-info :is(li,li span:not([class*='icon-'])) { color: #d6e5fc; }
.rd-contact-info li > [class*='icon-'] { color: #9bc5ff; }
.rd-contact-info a { display: inline-flex; align-items: center; min-height: 36px; }
.rd-faq-search { max-width: 48rem; margin: 0 auto 1.75rem; }
.rd-faq-search .rd-input { background: #fff; }
.rd-faq-search > p { min-height: 24px; margin-top: .5rem; color: var(--rd-muted-strong); font-size: .75rem; }
.rd-inner-page .rd-faq { border-radius: 16px; }
.rd-inner-page .rd-faq[open] { border-color: #a6c3ef; box-shadow: 0 6px 20px rgb(17 43 82 / 4%); }
.rd-inner-page .rd-faq summary { min-height: 64px; font-weight: 600; font-size: .875rem; line-height: 1.9; }
.rd-journal-card { display: flex; flex-direction: column; transition: transform .3s,border-color .3s,box-shadow .3s; }
.rd-journal-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgb(17 43 82 / 7%); border-color: #aac5ee; }
.rd-journal-card > div { flex: 1; display: flex; flex-direction: column; padding: 1.5rem; }
.rd-journal-card h2 { color: var(--rd-primary); line-height: 1.9; }
.rd-journal-card p { line-height: 2; font-size: .8125rem; }
.rd-journal-label { font-size: .625rem; color: var(--rd-accent); margin-bottom: .5rem; }
.rd-journal-read { display: flex; align-items: center; gap: .5rem; margin-top: auto; padding-top: 1rem; min-height: 44px; color: var(--rd-primary); font-size: .75rem; font-weight: 600; }
.rd-journal-image-empty { display: grid; place-items: center; aspect-ratio: 16/10; background: linear-gradient(135deg,#dfeaff,#f4f7ff); color: #7092c4; }
.rd-journal-sidebar { position: sticky; top: var(--rd-sticky-offset); }
.rd-journal-sidebar a { min-height: 44px; display: flex; align-items: center; }
.rd-article-panel { max-width: 880px; padding: clamp(1.5rem,4vw,3rem); }
.rd-article-panel h1 { line-height: 1.8; font-size: clamp(1.4rem,2.7vw,2rem); color: var(--rd-primary); }
.rd-article-panel > img { max-height: 500px; width: 100%; object-fit: cover; }
.rd-article-content { overflow-wrap: anywhere; }
.rd-article-content > p + p { margin-top: 1.25rem; }
.rd-inner-page .pdp-hero, .rd-inner-page .pdp-content-panel { border-radius: 24px; border-color: #dce5f3; box-shadow: 0 6px 25px rgb(17 43 82 / 3%); }
.rd-inner-page .pdp-purchase { background: linear-gradient(170deg,#f8fbff,#edf3fd); border-color: #dce6f6; }
.rd-installment-help { display: flex; align-items: center; gap: .65rem; padding: 1rem; margin-top: 1rem; border: 1px solid #cfdef6; border-radius: 14px; background: #fff; color: var(--rd-primary); }
.rd-installment-help > span:first-child { flex-shrink: 0; }
.rd-installment-help strong { display: block; font-size: .75rem; line-height: 1.8; }
.rd-installment-help small { display: block; font-size: .625rem; color: var(--rd-muted-strong); line-height: 1.9; margin-top: .3rem; }
.rd-installment-help > span:last-child { margin-inline-start: auto; flex-shrink: 0; }
.rd-inner-page .pdp-section-nav { scroll-margin-top: var(--rd-sticky-offset); }
.rd-inner-page .pdp-content-panel { scroll-margin-top: var(--rd-sticky-offset); }
.rd-pagination { padding: .75rem; border: 1px solid #e0e7f2; border-radius: 16px; background: #fff; width: fit-content; margin-inline: auto; flex-wrap: wrap; }
.rd-inner-page .auth-layout { border-color: #dce5f3; box-shadow: 0 16px 55px rgb(17 43 82 / 7%); }
.rd-inner-page .auth-story { background: linear-gradient(145deg,#0b2748,#164a9e); }
.rd-partner-page { background: #f5f7fc; }
.rd-partner-page > aside { background: linear-gradient(160deg,#0b2748,#164a9e); overflow-y: auto; }
.rd-partner-page .text-teal-200 { color: #c4dafb; }
.rd-partner-page main > .bg-white { border-radius: 20px; border: 1px solid #e0e7f2; }
@media (min-width: 1024px) {
  .rd-contact-form { order: -1; }
}
@media (max-width: 1023px) {
  .rd-inner-page .rd-summary, .rd-inner-page .rd-account-aside, .rd-journal-sidebar { position: static; }
  .rd-inner-page .rd-account-identity { padding: 1rem; }
  .rd-inner-page .rd-account-welcome { padding: 1.25rem; }
}
@media (max-width: 639px) {
  .rd-inner-page .rd-page-heading, .rd-inner-page .rd-catalog-heading { border-radius: 18px; padding: 1.25rem; margin-bottom: 1.25rem; }
  .rd-inner-page .rd-page-heading h1, .rd-inner-page .rd-catalog-heading h1 { font-size: 1.35rem; }
  .rd-inner-page .rd-page-heading > a { font-size: .6875rem; min-height: 44px; }
  .rd-inner-page .rd-page-heading p { font-size: .75rem; }
  .rd-inner-page .rd-cart-item { padding: 1rem; }
  .rd-inner-page .rd-purchase-steps { padding: .75rem .5rem; }
  .rd-inner-page .rd-purchase-steps li { font-size: .625rem; }
  .rd-inner-page .rd-choice-grid { gap: .6rem; }
  .rd-product-card h3 { font-size: .75rem; min-height: 2.8rem; }
  .rd-product-card .rd-btn-icon { width: 44px; height: 44px; }
  .rd-help-strip { flex-direction: column; align-items: flex-start; padding: 1.25rem; }
  .rd-help-strip > a { width: 100%; }
  .rd-journal-card > div { padding: 1.25rem; }
  .rd-inner-page .rd-content-page :where(p,li), .rd-article-content { font-size: .8125rem; line-height: 2.2; }
  .rd-inner-page .rd-empty { min-height: 280px; padding: 2rem 1.25rem; }
  .rd-card-image-fallback small { font-size: .5625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rd-category-tile:hover, .rd-journal-card:hover, .rd-inner-page .rd-account-stat:hover { transform: none; }
}
.rd-buying-guide { counter-reset: buying; display: grid; gap: 1rem; }
.rd-buying-guide > li { position: relative; list-style: none; counter-increment: buying; padding: 1.1rem 4.4rem 1.1rem 1rem; border: 1px solid #e0e8f5; border-radius: 15px; background: #fafcff; min-height: 76px; }
.rd-buying-guide > li::before { content: counter(buying, persian); position: absolute; inset-inline-start: 1rem; top: 1.1rem; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: var(--rd-accent); background: #e8f0ff; font-weight: 700; }
.rd-catalog-sidebar label:has(input:focus-visible), [data-ui-sheet] label:has(input:focus-visible) { outline: 3px solid var(--rd-ring); outline-offset: 2px; border-radius: 10px; }
.rd-partner-page > aside { display: flex; flex-direction: column; }
.rd-partner-page > aside > div:first-child { min-height: 0; flex: 1; overflow-y: auto; }
.rd-partner-page > aside > div:last-child { position: static; flex-shrink: 0; padding: 1rem; border-color: #3e679d; }
