/*
 * BERTA — Prada-inspired rhythm pass (v1.4.6)
 * Scope: sizing, spacing, paddings, margins, typography scale and UI density only.
 * No changes to content architecture, hero side placement, bilingual direction,
 * imagery, mineral treatment, or interaction logic.
 */

:root {
  --berta-ui-edge: clamp(20px, 2.15vw, 36px);
  --berta-section-y: clamp(76px, 6.4vw, 104px);
  --berta-section-y-compact: clamp(64px, 5.2vw, 88px);
  --berta-gap-xs: 8px;
  --berta-gap-sm: 12px;
  --berta-gap-md: 18px;
  --berta-gap-lg: 28px;
  --berta-copy-width: 46ch;
  --header-h: 64px;
}

/* ---------- Global rhythm ---------- */
body {
  font-size: 14.5px;
  line-height: 1.62;
}

.container {
  width: min(calc(100% - (var(--berta-ui-edge) * 2)), var(--container));
}

.section {
  padding-block: var(--berta-section-y);
}

.eyebrow,
.hero__eyebrow {
  font-size: 10.5px;
  line-height: 1.45;
  letter-spacing: .16em;
  margin-bottom: 10px;
}

/* ---------- Header ---------- */
.site-header__inner {
  height: var(--header-h);
  padding-inline: var(--berta-ui-edge);
}

@media (min-width: 769px) {
  .site-header__left {
    right: var(--berta-ui-edge);
  }

  .site-header__right {
    left: var(--berta-ui-edge);
    gap: 2px;
  }

  .desktop-nav ul {
    gap: clamp(16px, 1.45vw, 24px);
  }

  .desktop-nav a {
    font-size: 11.5px;
    line-height: 1;
    font-weight: 500;
  }

  .site-header__right .icon-button {
    width: 42px;
    height: 42px;
  }

  .site-header__right .icon-button svg {
    width: 18px;
    height: 18px;
  }

  .site-brand__text {
    font-size: clamp(24px, 1.75vw, 29px);
    letter-spacing: .28em;
    padding-left: .28em;
  }
}

.language-switcher {
  font-size: 9px;
  gap: 5px;
  letter-spacing: .08em;
}

.site-header__right > .language-switcher {
  margin-right: 6px;
}

/* ---------- Buttons / controls ---------- */
.button,
.berta-button {
  min-height: 42px;
  padding: 11px 22px;
  font-size: 10.5px;
  line-height: 1;
  letter-spacing: .09em;
}

.icon-button {
  width: 42px;
  height: 42px;
}

/* ---------- Hero ---------- */
.hero__content {
  bottom: 72px;
  max-width: min(680px, 76vw);
}

.hero__eyebrow {
  margin-bottom: 12px !important;
}

.hero__title {
  margin-bottom: 22px !important;
  font-size: clamp(2.45rem, 4.55vw, 4.25rem);
  line-height: 1.01;
  letter-spacing: 0;
}

.hero__content .button {
  min-height: 42px;
  padding: 11px 22px;
}

.hero__controls {
  bottom: 22px;
  gap: 10px;
}

.hero__arrow {
  padding: 6px;
  font-size: 16px;
}

.hero__dots {
  gap: 6px;
}

.hero__dot {
  width: 22px;
}

.hero__dot.is-active {
  width: 34px;
}

/* Keep the bilingual side-placement logic from language.css intact. */
html[lang^="en"] .hero__content,
html[lang^="fa"] .hero__content {
  max-width: min(680px, calc(100vw - (var(--berta-ui-edge) * 2)));
}

html[lang^="en"] .hero__eyebrow,
html[lang^="fa"] .hero__eyebrow {
  margin-bottom: 12px !important;
}

html[lang^="en"] .hero__title,
html[lang^="fa"] .hero__title {
  margin-bottom: 22px !important;
}

/* ---------- Section headings ---------- */
.section-heading,
.products-section__heading,
.collections-section__heading {
  margin-bottom: 26px;
  gap: 24px;
}

.section-heading h2,
.products-section__heading h2,
.collections-section__heading h2 {
  font-size: clamp(1.75rem, 2.45vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: .035em;
}

/* ---------- Collections ---------- */
.collections-grid {
  gap: 12px;
}

.collection-card__title {
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .08em;
}

.collection-card__overlay span {
  font-size: 10px;
  letter-spacing: .11em;
}

/* ---------- Editorial ---------- */
.editorial-section {
  min-height: 700px;
}

.editorial-section__media {
  min-height: 660px;
}

.editorial-section__content {
  padding: clamp(44px, 4vw, 64px);
}

.editorial-section__inner {
  max-width: 500px;
}

.editorial-section h2 {
  font-size: clamp(2.05rem, 3.25vw, 3.35rem);
  line-height: 1.06;
  margin-bottom: 20px;
}

.editorial-section p:not(.eyebrow) {
  max-width: var(--berta-copy-width);
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.75;
}

.text-link {
  font-size: 10.5px;
  letter-spacing: .08em;
  padding-bottom: 2px;
}

/* ---------- Products ---------- */
.products-rail {
  gap: 12px;
}

.product-card {
  flex-basis: 286px;
}

.product-card h3 {
  margin-top: 11px;
  font-size: 10.5px;
  line-height: 1.4;
  letter-spacing: .08em;
}

.product-card p {
  font-size: 13px;
  line-height: 1.45;
}

.product-arrows {
  gap: 4px;
}

.product-arrows button {
  width: 40px;
  height: 40px;
  font-size: 15px;
}

.berta-state {
  padding: clamp(40px, 5vw, 64px);
}

/* ---------- Newsletter ---------- */
.newsletter-section {
  padding-block: clamp(84px, 6vw, 104px);
}

.newsletter-section__inner {
  max-width: 700px;
}

.newsletter-section h2 {
  margin-bottom: 14px;
  font-size: clamp(1.9rem, 3.1vw, 3rem);
  line-height: 1.08;
  letter-spacing: .04em;
}

.newsletter-section p:not(.eyebrow) {
  max-width: 520px;
  margin-bottom: 28px;
  font-size: 14.5px;
  line-height: 1.7;
}

.newsletter-form {
  gap: 16px;
  max-width: 620px;
}

.newsletter-form input {
  padding-block: 12px;
  font-size: 10.5px;
  letter-spacing: .08em;
}

/* ---------- Footer ---------- */
.site-footer {
  padding: 54px 0 24px;
}

.site-footer__grid {
  gap: 32px;
  padding-bottom: 48px;
}

.site-footer__column {
  gap: 7px;
}

.site-footer__column h2 {
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: .11em;
}

.site-footer__column a {
  font-size: 10.5px;
  line-height: 1.45;
  letter-spacing: .07em;
}

.site-footer__bottom {
  padding-top: 18px;
  font-size: 9.5px;
  letter-spacing: .08em;
}

/* ---------- Generic content ---------- */
.generic-content {
  padding-top: calc(var(--header-h) + 52px);
  padding-bottom: 72px;
}

.generic-entry__content {
  max-width: 720px;
}

/* ---------- Motion density ---------- */
.fade-up {
  transform: translateY(18px);
  transition-duration: .72s;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  :root {
    --header-h: 62px;
    --berta-ui-edge: 20px;
    --berta-section-y: 76px;
  }

  .site-header__inner {
    padding-inline: 16px;
  }

  .section {
    padding-block: 76px;
  }

  .editorial-section__media {
    min-height: 580px;
  }

  .editorial-section__content {
    padding: 44px;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
  :root {
    --header-h: 60px;
    --berta-ui-edge: 14px;
    --berta-section-y: 62px;
  }

  body {
    font-size: 14px;
  }

  .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .site-header__inner {
    height: var(--header-h);
    padding-inline: 8px;
  }

  .site-brand__text {
    font-size: 18px;
  }

  .site-header__right .icon-button {
    width: 36px;
    height: 36px;
  }

  .hero__content {
    bottom: 78px;
  }

  .hero__eyebrow,
  html[lang^="en"] .hero__eyebrow,
  html[lang^="fa"] .hero__eyebrow {
    margin-bottom: 10px !important;
    font-size: 10px;
  }

  .hero__title,
  html[lang^="en"] .hero__title,
  html[lang^="fa"] .hero__title {
    margin-bottom: 18px !important;
    font-size: clamp(2.05rem, 9vw, 3.15rem);
    line-height: 1.06;
  }

  .hero__content .button {
    min-height: 40px;
    padding: 10px 18px;
    font-size: 10px;
  }

  .hero__controls {
    bottom: 18px;
  }

  .section,
  .newsletter-section {
    padding-block: 62px;
  }

  .section-heading,
  .products-section__heading,
  .collections-section__heading {
    margin-bottom: 22px;
  }

  .section-heading h2,
  .products-section__heading h2,
  .collections-section__heading h2 {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }

  .collections-grid {
    gap: 28px;
  }

  .collection-card__title {
    margin-top: 9px;
  }

  .editorial-section__content {
    padding: 52px 22px;
  }

  .editorial-section h2 {
    font-size: clamp(1.9rem, 8vw, 2.7rem);
    margin-bottom: 18px;
  }

  .editorial-section p:not(.eyebrow) {
    font-size: 14.5px;
    margin-bottom: 22px;
  }

  .products-section__heading {
    align-items: center;
  }

  .product-card {
    flex-basis: 70vw;
  }

  .newsletter-section h2 {
    font-size: clamp(1.8rem, 8vw, 2.5rem);
  }

  .newsletter-section p:not(.eyebrow) {
    margin-bottom: 24px;
  }

  .site-footer {
    padding-top: 48px;
  }

  .site-footer__grid {
    gap: 30px 22px;
    padding-bottom: 42px;
  }
}

@media (max-width: 480px) {
  .hero__title,
  html[lang^="en"] .hero__title,
  html[lang^="fa"] .hero__title {
    font-size: clamp(1.85rem, 8.8vw, 2.45rem);
  }

  .section-heading h2,
  .products-section__heading h2,
  .collections-section__heading h2 {
    font-size: 1.55rem;
  }

  .site-footer__grid {
    gap: 26px;
  }
}

/* v1.4.7 — Prada-style centered Collections intro, adapted to BERTA. */
.collections-section {
  padding-top: 0;
  padding-bottom: clamp(64px, 6vw, 92px);
}

.collections-intro {
  width: min(100%, 720px);
  margin-inline: auto;
  padding: clamp(68px, 6vw, 92px) 20px clamp(52px, 4.8vw, 70px);
  text-align: center;
}

.collections-intro h2 {
  margin: 0;
  color: var(--berta-cream);
  font-family: var(--berta-font-display);
  font-size: clamp(1.9rem, 2.5vw, 2.75rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: none;
}

.collections-intro__copy {
  width: min(100%, 620px);
  margin: 16px auto 0;
  color: var(--berta-cream-soft);
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: 0;
}

.collections-intro__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 30px;
}

.collections-intro__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 2px 0 8px;
  color: var(--berta-cream);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .01em;
  opacity: .72;
  transition: opacity .25s ease;
}

.collections-intro__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transition: right .35s var(--ease);
}

.collections-intro__link:hover,
.collections-intro__link.is-active {
  opacity: 1;
}

.collections-intro__link:hover::after,
.collections-intro__link.is-active::after {
  right: 0;
}

html[lang^="fa"] .collections-intro h2,
html[lang^="fa"] .collections-intro__copy,
html[lang^="fa"] .collections-intro__link {
  font-family: var(--berta-font-body);
  letter-spacing: 0;
}

html[lang^="fa"] .collections-intro h2 {
  font-weight: 700;
}

html[lang^="fa"] .collections-intro__copy {
  line-height: 1.9;
}

.collections-grid {
  scroll-margin-top: calc(var(--header-h) + 24px);
}

.collection-card {
  scroll-margin-top: calc(var(--header-h) + 24px);
}

@media (max-width: 768px) {
  .collections-section {
    padding-bottom: 64px;
  }

  .collections-intro {
    width: min(100%, 560px);
    padding: 56px 10px 44px;
  }

  .collections-intro h2 {
    font-size: clamp(1.7rem, 7.5vw, 2.15rem);
  }

  .collections-intro__copy {
    margin-top: 13px;
    font-size: 13px;
    line-height: 1.6;
  }

  html[lang^="fa"] .collections-intro__copy {
    line-height: 1.85;
  }

  .collections-intro__nav {
    gap: 18px;
    margin-top: 24px;
  }

  .collections-intro__link {
    font-size: 11px;
  }
}


/* v1.4.8 — centered intro blocks for Collections and New Arrivals, without extra nav. */
.collections-section {
  padding-top: clamp(56px, 5.5vw, 86px);
  padding-bottom: clamp(64px, 6vw, 92px);
}

.collections-intro,
.products-intro {
  width: min(100%, 760px);
  margin-inline: auto;
  padding: 0 20px;
  text-align: center;
}

.collections-intro {
  margin-bottom: clamp(40px, 4.5vw, 56px);
}

.products-intro {
  margin-bottom: clamp(34px, 4vw, 48px);
}

.collections-intro h2,
.products-intro h2 {
  margin: 0;
  color: var(--berta-cream);
  font-family: var(--berta-font-display);
  font-size: clamp(1.95rem, 2.7vw, 2.95rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: none;
}

.collections-intro__copy,
.products-intro__copy {
  width: min(100%, 650px);
  margin: 16px auto 0;
  color: var(--berta-cream-soft);
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: 0;
}

.collections-intro__nav,
.collections-intro__link,
.collections-intro__link::after,
.product-arrows {
  display: none !important;
}

.products-section {
  padding-top: clamp(72px, 6vw, 96px);
}

.products-section__heading {
  display: none !important;
}

html[lang^="fa"] .collections-intro h2,
html[lang^="fa"] .collections-intro__copy,
html[lang^="fa"] .products-intro h2,
html[lang^="fa"] .products-intro__copy {
  font-family: var(--berta-font-body);
  letter-spacing: 0;
}

html[lang^="fa"] .collections-intro h2,
html[lang^="fa"] .products-intro h2 {
  font-weight: 700;
}

html[lang^="fa"] .collections-intro__copy,
html[lang^="fa"] .products-intro__copy {
  line-height: 1.95;
}

@media (max-width: 768px) {
  .collections-section {
    padding-top: 42px;
    padding-bottom: 60px;
  }

  .products-section {
    padding-top: 58px;
  }

  .collections-intro,
  .products-intro {
    width: min(100%, 560px);
    padding: 0 10px;
  }

  .collections-intro {
    margin-bottom: 32px;
  }

  .products-intro {
    margin-bottom: 28px;
  }

  .collections-intro h2,
  .products-intro h2 {
    font-size: clamp(1.75rem, 7vw, 2.2rem);
  }

  .collections-intro__copy,
  .products-intro__copy {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.7;
  }

  html[lang^="fa"] .collections-intro__copy,
  html[lang^="fa"] .products-intro__copy {
    line-height: 1.9;
  }
}


/* v1.5.1 — product centering and consultation/contact polish. */
.products-rail.is-centered {
  justify-content: center;
}

.contact-section {
  position: relative;
  padding: clamp(84px, 8vw, 132px) 0;
  overflow: hidden;
  background: var(--berta-ink);
  border-top: 1px solid rgba(239, 227, 202, .08);
}

.contact-section__inner {
  width: min(calc(100% - 40px), 780px);
  margin-inline: auto;
  text-align: center;
}

.contact-section h2 {
  margin: 0;
  color: var(--berta-cream);
  font-family: var(--berta-font-display);
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: none;
}

.contact-section__copy {
  width: min(100%, 620px);
  margin: 18px auto 0;
  color: var(--berta-cream-soft);
  font-size: 14px;
  line-height: 1.75;
}

.contact-section__details {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 26px;
  margin-top: 26px;
}

.contact-section__phone,
.contact-section__email {
  color: var(--berta-cream);
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: .06em;
}

.contact-section__cta {
  margin-top: 30px;
}

.site-footer__pending-link {
  color: var(--berta-muted);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .55;
}

html[lang^="fa"] .contact-section h2,
html[lang^="fa"] .contact-section__copy {
  font-family: var(--berta-font-body);
  letter-spacing: 0;
}

html[lang^="fa"] .contact-section h2 {
  font-weight: 700;
}

html[lang^="fa"] .contact-section__copy {
  line-height: 1.95;
}

@media (max-width: 768px) {
  .products-rail.is-centered {
    justify-content: flex-start;
  }

  .contact-section {
    padding-block: 70px;
  }

  .contact-section__inner {
    width: min(calc(100% - 28px), 600px);
  }

  .contact-section__details {
    flex-direction: column;
    gap: 9px;
  }
}
